.table {
  width: 100%;
  margin-bottom: 1rem;
  color: #201d1d;
}
.table th,
.table td {
  padding: 0.75rem;
  vertical-align: top;
  border-top: 1px solid #dee2e6;
}
.table thead th {
  vertical-align: bottom;
  border-bottom: 2px solid #dee2e6;
}
.table tbody + tbody {
  border-top: 2px solid #dee2e6;
}

.table-sm th,
.table-sm td {
  padding: 0.3rem;
}

.table-bordered {
  border: 1px solid #dee2e6;
}
.table-bordered th,
.table-bordered td {
  border: 1px solid #dee2e6;
}
.table-bordered thead th,
.table-bordered thead td {
  border-bottom-width: 2px;
}

.table-borderless th,
.table-borderless td,
.table-borderless thead th,
.table-borderless tbody + tbody {
  border: 0;
}

.table-striped tbody tr:nth-of-type(odd) {
  background-color: rgba(0, 0, 0, 0.05);
}

.table-hover tbody tr:hover {
  color: #201d1d;
  background-color: rgba(0, 0, 0, 0.075);
}

.table-primary,
.table-primary > th,
.table-primary > td {
  background-color: #b8e8fb;
}
.table-primary th,
.table-primary td,
.table-primary thead th,
.table-primary tbody + tbody {
  border-color: #7ad5f7;
}

.table-hover .table-primary:hover {
  background-color: #a0e0fa;
}
.table-hover .table-primary:hover > td,
.table-hover .table-primary:hover > th {
  background-color: #a0e0fa;
}

.table-secondary,
.table-secondary > th,
.table-secondary > td {
  background-color: #d6d8db;
}
.table-secondary th,
.table-secondary td,
.table-secondary thead th,
.table-secondary tbody + tbody {
  border-color: #b3b7bb;
}

.table-hover .table-secondary:hover {
  background-color: #c8cbcf;
}
.table-hover .table-secondary:hover > td,
.table-hover .table-secondary:hover > th {
  background-color: #c8cbcf;
}

.table-success,
.table-success > th,
.table-success > td {
  background-color: #c3e6cb;
}
.table-success th,
.table-success td,
.table-success thead th,
.table-success tbody + tbody {
  border-color: #8fd19e;
}

.table-hover .table-success:hover {
  background-color: #b1dfbb;
}
.table-hover .table-success:hover > td,
.table-hover .table-success:hover > th {
  background-color: #b1dfbb;
}

.table-info,
.table-info > th,
.table-info > td {
  background-color: #bee5eb;
}
.table-info th,
.table-info td,
.table-info thead th,
.table-info tbody + tbody {
  border-color: #86cfda;
}

.table-hover .table-info:hover {
  background-color: #abdde5;
}
.table-hover .table-info:hover > td,
.table-hover .table-info:hover > th {
  background-color: #abdde5;
}

.table-warning,
.table-warning > th,
.table-warning > td {
  background-color: #ffeeba;
}
.table-warning th,
.table-warning td,
.table-warning thead th,
.table-warning tbody + tbody {
  border-color: #ffdf7e;
}

.table-hover .table-warning:hover {
  background-color: #ffe8a1;
}
.table-hover .table-warning:hover > td,
.table-hover .table-warning:hover > th {
  background-color: #ffe8a1;
}

.table-danger,
.table-danger > th,
.table-danger > td {
  background-color: #f5c6cb;
}
.table-danger th,
.table-danger td,
.table-danger thead th,
.table-danger tbody + tbody {
  border-color: #ed969e;
}

.table-hover .table-danger:hover {
  background-color: #f1b0b7;
}
.table-hover .table-danger:hover > td,
.table-hover .table-danger:hover > th {
  background-color: #f1b0b7;
}

.table-light,
.table-light > th,
.table-light > td {
  background-color: #fdfdfe;
}
.table-light th,
.table-light td,
.table-light thead th,
.table-light tbody + tbody {
  border-color: #fbfcfc;
}

.table-hover .table-light:hover {
  background-color: #ececf6;
}
.table-hover .table-light:hover > td,
.table-hover .table-light:hover > th {
  background-color: #ececf6;
}

.table-dark,
.table-dark > th,
.table-dark > td {
  background-color: #c6c8ca;
}
.table-dark th,
.table-dark td,
.table-dark thead th,
.table-dark tbody + tbody {
  border-color: #95999c;
}

.table-hover .table-dark:hover {
  background-color: #b9bbbe;
}
.table-hover .table-dark:hover > td,
.table-hover .table-dark:hover > th {
  background-color: #b9bbbe;
}

.table-active,
.table-active > th,
.table-active > td {
  background-color: rgba(0, 0, 0, 0.075);
}

.table-hover .table-active:hover {
  background-color: rgba(0, 0, 0, 0.075);
}
.table-hover .table-active:hover > td,
.table-hover .table-active:hover > th {
  background-color: rgba(0, 0, 0, 0.075);
}

.table .thead-dark th {
  color: #fff;
  background-color: #343a40;
  border-color: #454d55;
}
.table .thead-light th {
  color: #495057;
  background-color: #e9ecef;
  border-color: #dee2e6;
}

.table-dark {
  color: #fff;
  background-color: #343a40;
}
.table-dark th,
.table-dark td,
.table-dark thead th {
  border-color: #454d55;
}
.table-dark.table-bordered {
  border: 0;
}
.table-dark.table-striped tbody tr:nth-of-type(odd) {
  background-color: rgba(255, 255, 255, 0.05);
}
.table-dark.table-hover tbody tr:hover {
  color: #fff;
  background-color: rgba(255, 255, 255, 0.075);
}

@media (max-width: 479.98px) {
  .table-responsive-sm {
    display: block;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .table-responsive-sm > .table-bordered {
    border: 0;
  }
}
@media (max-width: 767.98px) {
  .table-responsive-md {
    display: block;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .table-responsive-md > .table-bordered {
    border: 0;
  }
}
@media (max-width: 991.98px) {
  .table-responsive-lg {
    display: block;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .table-responsive-lg > .table-bordered {
    border: 0;
  }
}
@media (max-width: 1199.98px) {
  .table-responsive-xl {
    display: block;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .table-responsive-xl > .table-bordered {
    border: 0;
  }
}
@media (max-width: 1419.98px) {
  .table-responsive-hg {
    display: block;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .table-responsive-hg > .table-bordered {
    border: 0;
  }
}
.table-responsive {
  display: block;
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.table-responsive > .table-bordered {
  border: 0;
}

.close {
  float: right;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1;
  color: #000;
  text-shadow: 0 1px 0 #fff;
  opacity: 0.5;
}
@media (max-width: 1200px) {
  .close {
    font-size: calc(1.275rem + 0.3vw);
  }
}
.close:hover {
  color: #000;
  text-decoration: none;
}
.close:not(:disabled):not(.disabled):hover, .close:not(:disabled):not(.disabled):focus {
  opacity: 0.75;
}

button.close {
  padding: 0;
  background-color: transparent;
  border: 0;
}

a.close.disabled {
  pointer-events: none;
}

.toast {
  flex-basis: 350px;
  max-width: 350px;
  font-size: 0.875rem;
  background-color: rgba(255, 255, 255, 0.85);
  background-clip: padding-box;
  border: 1px solid rgba(0, 0, 0, 0.1);
  box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.1);
  opacity: 0;
  border-radius: 0.25rem;
}
.toast:not(:last-child) {
  margin-bottom: 0.75rem;
}
.toast.showing {
  opacity: 1;
}
.toast.show {
  display: block;
  opacity: 1;
}
.toast.hide {
  display: none;
}

.toast-header {
  display: flex;
  align-items: center;
  padding: 0.25rem 0.75rem;
  color: #6c757d;
  background-color: rgba(255, 255, 255, 0.85);
  background-clip: padding-box;
  border-bottom: 1px solid rgba(0, 0, 0, 0.05);
  border-top-left-radius: calc(0.25rem - 1px);
  border-top-right-radius: calc(0.25rem - 1px);
}

.toast-body {
  padding: 0.75rem;
}

.mdc-touch-target-wrapper {
  display: inline;
}

@keyframes mdc-checkbox-unchecked-checked-checkmark-path {
  0%, 50% {
    stroke-dashoffset: 29.7833385;
  }
  50% {
    animation-timing-function: cubic-bezier(0, 0, 0.2, 1);
  }
  100% {
    stroke-dashoffset: 0;
  }
}
@keyframes mdc-checkbox-unchecked-indeterminate-mixedmark {
  0%, 68.2% {
    transform: scaleX(0);
  }
  68.2% {
    animation-timing-function: cubic-bezier(0, 0, 0, 1);
  }
  100% {
    transform: scaleX(1);
  }
}
@keyframes mdc-checkbox-checked-unchecked-checkmark-path {
  from {
    animation-timing-function: cubic-bezier(0.4, 0, 1, 1);
    opacity: 1;
    stroke-dashoffset: 0;
  }
  to {
    opacity: 0;
    stroke-dashoffset: -29.7833385;
  }
}
@keyframes mdc-checkbox-checked-indeterminate-checkmark {
  from {
    animation-timing-function: cubic-bezier(0, 0, 0.2, 1);
    transform: rotate(0deg);
    opacity: 1;
  }
  to {
    transform: rotate(45deg);
    opacity: 0;
  }
}
@keyframes mdc-checkbox-indeterminate-checked-checkmark {
  from {
    animation-timing-function: cubic-bezier(0.14, 0, 0, 1);
    transform: rotate(45deg);
    opacity: 0;
  }
  to {
    transform: rotate(360deg);
    opacity: 1;
  }
}
@keyframes mdc-checkbox-checked-indeterminate-mixedmark {
  from {
    animation-timing-function: mdc-animation-deceleration-curve-timing-function;
    transform: rotate(-45deg);
    opacity: 0;
  }
  to {
    transform: rotate(0deg);
    opacity: 1;
  }
}
@keyframes mdc-checkbox-indeterminate-checked-mixedmark {
  from {
    animation-timing-function: cubic-bezier(0.14, 0, 0, 1);
    transform: rotate(0deg);
    opacity: 1;
  }
  to {
    transform: rotate(315deg);
    opacity: 0;
  }
}
@keyframes mdc-checkbox-indeterminate-unchecked-mixedmark {
  0% {
    animation-timing-function: linear;
    transform: scaleX(1);
    opacity: 1;
  }
  32.8%, 100% {
    transform: scaleX(0);
    opacity: 0;
  }
}
.mdc-checkbox {
  display: inline-block;
  position: relative;
  flex: 0 0 18px;
  box-sizing: content-box;
  width: 18px;
  height: 18px;
  line-height: 0;
  white-space: nowrap;
  cursor: pointer;
  vertical-align: bottom;
  padding: 11px;
}

.mdc-checkbox .mdc-checkbox__native-control:checked ~ .mdc-checkbox__background::before,
.mdc-checkbox .mdc-checkbox__native-control:indeterminate ~ .mdc-checkbox__background::before,
.mdc-checkbox .mdc-checkbox__native-control[data-indeterminate=true] ~ .mdc-checkbox__background::before {
  background-color: #018786;
  /* @alternate */
  background-color: var(--mdc-theme-secondary, #018786);
}

.mdc-checkbox.mdc-checkbox--selected .mdc-checkbox__ripple::before, .mdc-checkbox.mdc-checkbox--selected .mdc-checkbox__ripple::after {
  background-color: #018786;
  /* @alternate */
  background-color: var(--mdc-theme-secondary, #018786);
}

.mdc-checkbox.mdc-checkbox--selected:hover .mdc-checkbox__ripple::before {
  opacity: 0.04;
}

.mdc-checkbox.mdc-checkbox--selected.mdc-ripple-upgraded--background-focused .mdc-checkbox__ripple::before, .mdc-checkbox.mdc-checkbox--selected:not(.mdc-ripple-upgraded):focus .mdc-checkbox__ripple::before {
  transition-duration: 75ms;
  opacity: 0.12;
}

.mdc-checkbox.mdc-checkbox--selected:not(.mdc-ripple-upgraded) .mdc-checkbox__ripple::after {
  transition: opacity 150ms linear;
}

.mdc-checkbox.mdc-checkbox--selected:not(.mdc-ripple-upgraded):active .mdc-checkbox__ripple::after {
  transition-duration: 75ms;
  opacity: 0.12;
}

.mdc-checkbox.mdc-checkbox--selected.mdc-ripple-upgraded {
  --mdc-ripple-fg-opacity: 0.12;
}

.mdc-checkbox.mdc-ripple-upgraded--background-focused.mdc-checkbox--selected .mdc-checkbox__ripple::before,
.mdc-checkbox.mdc-ripple-upgraded--background-focused.mdc-checkbox--selected .mdc-checkbox__ripple::after {
  background-color: #018786;
  /* @alternate */
  background-color: var(--mdc-theme-secondary, #018786);
}

.mdc-checkbox .mdc-checkbox__background {
  top: 11px;
  left: 11px;
}

.mdc-checkbox .mdc-checkbox__background::before {
  top: -13px;
  left: -13px;
  width: 40px;
  height: 40px;
}

.mdc-checkbox .mdc-checkbox__native-control {
  top: 0px;
  right: 0px;
  left: 0px;
  width: 40px;
  height: 40px;
}

.mdc-checkbox__native-control:enabled:not(:checked):not(:indeterminate):not([data-indeterminate=true]) ~ .mdc-checkbox__background {
  border-color: rgba(0, 0, 0, 0.54);
  background-color: transparent;
}

.mdc-checkbox__native-control:enabled:checked ~ .mdc-checkbox__background,
.mdc-checkbox__native-control:enabled:indeterminate ~ .mdc-checkbox__background,
.mdc-checkbox__native-control[data-indeterminate=true]:enabled ~ .mdc-checkbox__background {
  border-color: #018786;
  /* @alternate */
  border-color: var(--mdc-theme-secondary, #018786);
  background-color: #018786;
  /* @alternate */
  background-color: var(--mdc-theme-secondary, #018786);
}

@keyframes mdc-checkbox-fade-in-background-8A000000secondary00000000secondary {
  0% {
    border-color: rgba(0, 0, 0, 0.54);
    background-color: transparent;
  }
  50% {
    border-color: #018786;
    /* @alternate */
    border-color: var(--mdc-theme-secondary, #018786);
    background-color: #018786;
    /* @alternate */
    background-color: var(--mdc-theme-secondary, #018786);
  }
}
@keyframes mdc-checkbox-fade-out-background-8A000000secondary00000000secondary {
  0%, 80% {
    border-color: #018786;
    /* @alternate */
    border-color: var(--mdc-theme-secondary, #018786);
    background-color: #018786;
    /* @alternate */
    background-color: var(--mdc-theme-secondary, #018786);
  }
  100% {
    border-color: rgba(0, 0, 0, 0.54);
    background-color: transparent;
  }
}
.mdc-checkbox--anim-unchecked-checked .mdc-checkbox__native-control:enabled ~ .mdc-checkbox__background, .mdc-checkbox--anim-unchecked-indeterminate .mdc-checkbox__native-control:enabled ~ .mdc-checkbox__background {
  animation-name: mdc-checkbox-fade-in-background-8A000000secondary00000000secondary;
}

.mdc-checkbox--anim-checked-unchecked .mdc-checkbox__native-control:enabled ~ .mdc-checkbox__background, .mdc-checkbox--anim-indeterminate-unchecked .mdc-checkbox__native-control:enabled ~ .mdc-checkbox__background {
  animation-name: mdc-checkbox-fade-out-background-8A000000secondary00000000secondary;
}

.mdc-checkbox__native-control[disabled]:not(:checked):not(:indeterminate):not([data-indeterminate=true]) ~ .mdc-checkbox__background {
  border-color: rgba(0, 0, 0, 0.38);
  background-color: transparent;
}

.mdc-checkbox__native-control[disabled]:checked ~ .mdc-checkbox__background,
.mdc-checkbox__native-control[disabled]:indeterminate ~ .mdc-checkbox__background,
.mdc-checkbox__native-control[data-indeterminate=true][disabled] ~ .mdc-checkbox__background {
  border-color: transparent;
  background-color: rgba(0, 0, 0, 0.38);
}

.mdc-checkbox__native-control:enabled ~ .mdc-checkbox__background .mdc-checkbox__checkmark {
  color: #fff;
}

.mdc-checkbox__native-control:enabled ~ .mdc-checkbox__background .mdc-checkbox__mixedmark {
  border-color: #fff;
}

.mdc-checkbox__native-control:disabled ~ .mdc-checkbox__background .mdc-checkbox__checkmark {
  color: #fff;
}

.mdc-checkbox__native-control:disabled ~ .mdc-checkbox__background .mdc-checkbox__mixedmark {
  border-color: #fff;
}

@media screen and (-ms-high-contrast: active) {
  .mdc-checkbox__native-control[disabled]:not(:checked):not(:indeterminate):not([data-indeterminate=true]) ~ .mdc-checkbox__background {
    border-color: GrayText;
    background-color: transparent;
  }
  .mdc-checkbox__native-control[disabled]:checked ~ .mdc-checkbox__background,
  .mdc-checkbox__native-control[disabled]:indeterminate ~ .mdc-checkbox__background,
  .mdc-checkbox__native-control[data-indeterminate=true][disabled] ~ .mdc-checkbox__background {
    border-color: GrayText;
    background-color: transparent;
  }
  .mdc-checkbox__native-control:disabled ~ .mdc-checkbox__background .mdc-checkbox__checkmark {
    color: GrayText;
  }
  .mdc-checkbox__native-control:disabled ~ .mdc-checkbox__background .mdc-checkbox__mixedmark {
    border-color: GrayText;
  }
  .mdc-checkbox__mixedmark {
    margin: 0 1px;
  }
}
.mdc-checkbox--disabled {
  cursor: default;
  pointer-events: none;
}

.mdc-checkbox__background {
  display: inline-flex;
  position: absolute;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: 18px;
  height: 18px;
  border: 2px solid currentColor;
  border-radius: 2px;
  background-color: transparent;
  pointer-events: none;
  will-change: background-color, border-color;
  transition: background-color 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1), border-color 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1);
}

.mdc-checkbox__background .mdc-checkbox__background::before {
  background-color: #000;
  /* @alternate */
  background-color: var(--mdc-theme-on-surface, #000);
}

.mdc-checkbox__checkmark {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  opacity: 0;
  transition: opacity 180ms 0ms cubic-bezier(0.4, 0, 0.6, 1);
}

.mdc-checkbox--upgraded .mdc-checkbox__checkmark {
  opacity: 1;
}

.mdc-checkbox__checkmark-path {
  transition: stroke-dashoffset 180ms 0ms cubic-bezier(0.4, 0, 0.6, 1);
  stroke: currentColor;
  stroke-width: 3.12px;
  stroke-dashoffset: 29.7833385;
  stroke-dasharray: 29.7833385;
}

.mdc-checkbox__mixedmark {
  width: 100%;
  height: 0;
  transform: scaleX(0) rotate(0deg);
  border-width: 1px;
  border-style: solid;
  opacity: 0;
  transition: opacity 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1), transform 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1);
}

.mdc-checkbox--upgraded .mdc-checkbox__background,
.mdc-checkbox--upgraded .mdc-checkbox__checkmark,
.mdc-checkbox--upgraded .mdc-checkbox__checkmark-path,
.mdc-checkbox--upgraded .mdc-checkbox__mixedmark {
  transition: none !important;
}

.mdc-checkbox--anim-unchecked-checked .mdc-checkbox__background, .mdc-checkbox--anim-unchecked-indeterminate .mdc-checkbox__background, .mdc-checkbox--anim-checked-unchecked .mdc-checkbox__background, .mdc-checkbox--anim-indeterminate-unchecked .mdc-checkbox__background {
  animation-duration: 180ms;
  animation-timing-function: linear;
}

.mdc-checkbox--anim-unchecked-checked .mdc-checkbox__checkmark-path {
  animation: mdc-checkbox-unchecked-checked-checkmark-path 180ms linear 0s;
  transition: none;
}

.mdc-checkbox--anim-unchecked-indeterminate .mdc-checkbox__mixedmark {
  animation: mdc-checkbox-unchecked-indeterminate-mixedmark 90ms linear 0s;
  transition: none;
}

.mdc-checkbox--anim-checked-unchecked .mdc-checkbox__checkmark-path {
  animation: mdc-checkbox-checked-unchecked-checkmark-path 90ms linear 0s;
  transition: none;
}

.mdc-checkbox--anim-checked-indeterminate .mdc-checkbox__checkmark {
  animation: mdc-checkbox-checked-indeterminate-checkmark 90ms linear 0s;
  transition: none;
}

.mdc-checkbox--anim-checked-indeterminate .mdc-checkbox__mixedmark {
  animation: mdc-checkbox-checked-indeterminate-mixedmark 90ms linear 0s;
  transition: none;
}

.mdc-checkbox--anim-indeterminate-checked .mdc-checkbox__checkmark {
  animation: mdc-checkbox-indeterminate-checked-checkmark 500ms linear 0s;
  transition: none;
}

.mdc-checkbox--anim-indeterminate-checked .mdc-checkbox__mixedmark {
  animation: mdc-checkbox-indeterminate-checked-mixedmark 500ms linear 0s;
  transition: none;
}

.mdc-checkbox--anim-indeterminate-unchecked .mdc-checkbox__mixedmark {
  animation: mdc-checkbox-indeterminate-unchecked-mixedmark 300ms linear 0s;
  transition: none;
}

.mdc-checkbox__native-control:checked ~ .mdc-checkbox__background,
.mdc-checkbox__native-control:indeterminate ~ .mdc-checkbox__background,
.mdc-checkbox__native-control[data-indeterminate=true] ~ .mdc-checkbox__background {
  transition: border-color 90ms 0ms cubic-bezier(0, 0, 0.2, 1), background-color 90ms 0ms cubic-bezier(0, 0, 0.2, 1);
}

.mdc-checkbox__native-control:checked ~ .mdc-checkbox__background .mdc-checkbox__checkmark-path,
.mdc-checkbox__native-control:indeterminate ~ .mdc-checkbox__background .mdc-checkbox__checkmark-path,
.mdc-checkbox__native-control[data-indeterminate=true] ~ .mdc-checkbox__background .mdc-checkbox__checkmark-path {
  stroke-dashoffset: 0;
}

.mdc-checkbox__background::before {
  position: absolute;
  transform: scale(0, 0);
  border-radius: 50%;
  opacity: 0;
  pointer-events: none;
  content: "";
  will-change: opacity, transform;
  transition: opacity 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1), transform 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1);
}

.mdc-checkbox__native-control:focus ~ .mdc-checkbox__background::before {
  transform: scale(1);
  opacity: 0.12;
  transition: opacity 80ms 0ms cubic-bezier(0, 0, 0.2, 1), transform 80ms 0ms cubic-bezier(0, 0, 0.2, 1);
}

.mdc-checkbox__native-control {
  position: absolute;
  margin: 0;
  padding: 0;
  opacity: 0;
  cursor: inherit;
}

.mdc-checkbox__native-control:disabled {
  cursor: default;
  pointer-events: none;
}

.mdc-checkbox--touch {
  margin-top: 4px;
  margin-bottom: 4px;
  margin-right: 4px;
  margin-left: 4px;
}

.mdc-checkbox--touch .mdc-checkbox__native-control {
  top: -4px;
  right: -4px;
  left: -4px;
  width: 48px;
  height: 48px;
}

.mdc-checkbox__native-control:checked ~ .mdc-checkbox__background .mdc-checkbox__checkmark {
  transition: opacity 180ms 0ms cubic-bezier(0, 0, 0.2, 1), transform 180ms 0ms cubic-bezier(0, 0, 0.2, 1);
  opacity: 1;
}

.mdc-checkbox__native-control:checked ~ .mdc-checkbox__background .mdc-checkbox__mixedmark {
  transform: scaleX(1) rotate(-45deg);
}

.mdc-checkbox__native-control:indeterminate ~ .mdc-checkbox__background .mdc-checkbox__checkmark,
.mdc-checkbox__native-control[data-indeterminate=true] ~ .mdc-checkbox__background .mdc-checkbox__checkmark {
  transform: rotate(45deg);
  opacity: 0;
  transition: opacity 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1), transform 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1);
}

.mdc-checkbox__native-control:indeterminate ~ .mdc-checkbox__background .mdc-checkbox__mixedmark,
.mdc-checkbox__native-control[data-indeterminate=true] ~ .mdc-checkbox__background .mdc-checkbox__mixedmark {
  transform: scaleX(1) rotate(0deg);
  opacity: 1;
}

@keyframes mdc-ripple-fg-radius-in {
  from {
    animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transform: translate(var(--mdc-ripple-fg-translate-start, 0)) scale(1);
  }
  to {
    transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1));
  }
}
@keyframes mdc-ripple-fg-opacity-in {
  from {
    animation-timing-function: linear;
    opacity: 0;
  }
  to {
    opacity: var(--mdc-ripple-fg-opacity, 0);
  }
}
@keyframes mdc-ripple-fg-opacity-out {
  from {
    animation-timing-function: linear;
    opacity: var(--mdc-ripple-fg-opacity, 0);
  }
  to {
    opacity: 0;
  }
}
.mdc-checkbox {
  --mdc-ripple-fg-size: 0;
  --mdc-ripple-left: 0;
  --mdc-ripple-top: 0;
  --mdc-ripple-fg-scale: 1;
  --mdc-ripple-fg-translate-end: 0;
  --mdc-ripple-fg-translate-start: 0;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

.mdc-checkbox .mdc-checkbox__ripple::before,
.mdc-checkbox .mdc-checkbox__ripple::after {
  position: absolute;
  border-radius: 50%;
  opacity: 0;
  pointer-events: none;
  content: "";
}

.mdc-checkbox .mdc-checkbox__ripple::before {
  transition: opacity 15ms linear, background-color 15ms linear;
  z-index: 1;
}

.mdc-checkbox.mdc-ripple-upgraded .mdc-checkbox__ripple::before {
  transform: scale(var(--mdc-ripple-fg-scale, 1));
}

.mdc-checkbox.mdc-ripple-upgraded .mdc-checkbox__ripple::after {
  top: 0;
  /* @noflip */
  left: 0;
  transform: scale(0);
  transform-origin: center center;
}

.mdc-checkbox.mdc-ripple-upgraded--unbounded .mdc-checkbox__ripple::after {
  top: var(--mdc-ripple-top, 0);
  /* @noflip */
  left: var(--mdc-ripple-left, 0);
}

.mdc-checkbox.mdc-ripple-upgraded--foreground-activation .mdc-checkbox__ripple::after {
  animation: mdc-ripple-fg-radius-in 225ms forwards, mdc-ripple-fg-opacity-in 75ms forwards;
}

.mdc-checkbox.mdc-ripple-upgraded--foreground-deactivation .mdc-checkbox__ripple::after {
  animation: mdc-ripple-fg-opacity-out 150ms;
  transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1));
}

.mdc-checkbox .mdc-checkbox__ripple::before, .mdc-checkbox .mdc-checkbox__ripple::after {
  background-color: #000;
  /* @alternate */
  background-color: var(--mdc-theme-on-surface, #000);
}

.mdc-checkbox:hover .mdc-checkbox__ripple::before {
  opacity: 0.04;
}

.mdc-checkbox.mdc-ripple-upgraded--background-focused .mdc-checkbox__ripple::before, .mdc-checkbox:not(.mdc-ripple-upgraded):focus .mdc-checkbox__ripple::before {
  transition-duration: 75ms;
  opacity: 0.12;
}

.mdc-checkbox:not(.mdc-ripple-upgraded) .mdc-checkbox__ripple::after {
  transition: opacity 150ms linear;
}

.mdc-checkbox:not(.mdc-ripple-upgraded):active .mdc-checkbox__ripple::after {
  transition-duration: 75ms;
  opacity: 0.12;
}

.mdc-checkbox.mdc-ripple-upgraded {
  --mdc-ripple-fg-opacity: 0.12;
}

.mdc-checkbox .mdc-checkbox__ripple::before,
.mdc-checkbox .mdc-checkbox__ripple::after {
  top: calc(50% - 50%);
  /* @noflip */
  left: calc(50% - 50%);
  width: 100%;
  height: 100%;
}

.mdc-checkbox.mdc-ripple-upgraded .mdc-checkbox__ripple::before,
.mdc-checkbox.mdc-ripple-upgraded .mdc-checkbox__ripple::after {
  top: var(--mdc-ripple-top, calc(50% - 50%));
  /* @noflip */
  left: var(--mdc-ripple-left, calc(50% - 50%));
  width: var(--mdc-ripple-fg-size, 100%);
  height: var(--mdc-ripple-fg-size, 100%);
}

.mdc-checkbox.mdc-ripple-upgraded .mdc-checkbox__ripple::after {
  width: var(--mdc-ripple-fg-size, 100%);
  height: var(--mdc-ripple-fg-size, 100%);
}

.mdc-checkbox__ripple {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

.mdc-ripple-upgraded--background-focused .mdc-checkbox__background::before {
  content: none;
}

.mdc-elevation-overlay {
  position: absolute;
  border-radius: inherit;
  opacity: 0;
  pointer-events: none;
  transition: opacity 280ms cubic-bezier(0.4, 0, 0.2, 1);
  background-color: #fff;
}

.mdc-dialog,
.mdc-dialog__scrim {
  position: fixed;
  top: 0;
  left: 0;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: 100%;
  height: 100%;
}

.mdc-dialog {
  display: none;
  z-index: 7;
}

.mdc-dialog .mdc-dialog__surface {
  background-color: #fff;
  /* @alternate */
  background-color: var(--mdc-theme-surface, #fff);
}

.mdc-dialog .mdc-dialog__scrim {
  background-color: rgba(0, 0, 0, 0.32);
}

.mdc-dialog .mdc-dialog__title {
  color: rgba(0, 0, 0, 0.87);
}

.mdc-dialog .mdc-dialog__content {
  color: rgba(0, 0, 0, 0.6);
}

.mdc-dialog.mdc-dialog--scrollable .mdc-dialog__title, .mdc-dialog.mdc-dialog--scrollable .mdc-dialog__actions {
  border-color: rgba(0, 0, 0, 0.12);
}

.mdc-dialog .mdc-dialog__surface {
  min-width: 280px;
}

@media (max-width: 592px) {
  .mdc-dialog .mdc-dialog__surface {
    max-width: calc(100vw - 32px);
  }
}
@media (min-width: 592px) {
  .mdc-dialog .mdc-dialog__surface {
    max-width: 560px;
  }
}
.mdc-dialog .mdc-dialog__surface {
  max-height: calc(100% - 32px);
}

@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .mdc-dialog .mdc-dialog__container {
    /* stylelint-disable */
    /* stylelint-enable*/
  }
}
.mdc-dialog .mdc-dialog__surface {
  border-radius: 4px;
}

.mdc-dialog__scrim {
  opacity: 0;
  z-index: -1;
}

.mdc-dialog__container {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-around;
  box-sizing: border-box;
  height: 100%;
  transform: scale(0.8);
  opacity: 0;
  pointer-events: none;
}

.mdc-dialog__surface {
  /* @alternate */
  position: relative;
  /* @alternate */
  box-shadow: 0px 11px 15px -7px rgba(0, 0, 0, 0.2), 0px 24px 38px 3px rgba(0, 0, 0, 0.14), 0px 9px 46px 8px rgba(0, 0, 0, 0.12);
  display: flex;
  flex-direction: column;
  flex-grow: 0;
  flex-shrink: 0;
  box-sizing: border-box;
  max-width: 100%;
  max-height: 100%;
  pointer-events: auto;
  overflow-y: auto;
}

.mdc-dialog__surface .mdc-elevation-overlay {
  width: 100%;
  height: 100%;
  top: 0;
  /* @noflip */
  left: 0;
}

.mdc-dialog[dir=rtl] .mdc-dialog__surface, [dir=rtl] .mdc-dialog .mdc-dialog__surface {
  /* @noflip */
  text-align: right;
}

.mdc-dialog__title {
  display: block;
  margin-top: 0;
  /* @alternate */
  line-height: normal;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-family: Roboto, sans-serif;
  /* @alternate */
  font-family: var(--mdc-typography-headline6-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));
  font-size: 1.25rem;
  /* @alternate */
  font-size: var(--mdc-typography-headline6-font-size, 1.25rem);
  line-height: 2rem;
  /* @alternate */
  line-height: var(--mdc-typography-headline6-line-height, 2rem);
  font-weight: 500;
  /* @alternate */
  font-weight: var(--mdc-typography-headline6-font-weight, 500);
  letter-spacing: 0.0125em;
  /* @alternate */
  letter-spacing: var(--mdc-typography-headline6-letter-spacing, 0.0125em);
  text-decoration: inherit;
  /* @alternate */
  text-decoration: var(--mdc-typography-headline6-text-decoration, inherit);
  text-transform: inherit;
  /* @alternate */
  text-transform: var(--mdc-typography-headline6-text-transform, inherit);
  position: relative;
  flex-shrink: 0;
  box-sizing: border-box;
  margin: 0;
  padding: 0 24px 9px;
  border-bottom: 1px solid transparent;
}

.mdc-dialog__title::before {
  display: inline-block;
  width: 0;
  height: 40px;
  content: "";
  vertical-align: 0;
}

.mdc-dialog[dir=rtl] .mdc-dialog__title, [dir=rtl] .mdc-dialog .mdc-dialog__title {
  /* @noflip */
  text-align: right;
}

.mdc-dialog--scrollable .mdc-dialog__title {
  padding-bottom: 15px;
}

.mdc-dialog__content {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-family: Roboto, sans-serif;
  /* @alternate */
  font-family: var(--mdc-typography-body1-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));
  font-size: 1rem;
  /* @alternate */
  font-size: var(--mdc-typography-body1-font-size, 1rem);
  line-height: 1.5rem;
  /* @alternate */
  line-height: var(--mdc-typography-body1-line-height, 1.5rem);
  font-weight: 400;
  /* @alternate */
  font-weight: var(--mdc-typography-body1-font-weight, 400);
  letter-spacing: 0.03125em;
  /* @alternate */
  letter-spacing: var(--mdc-typography-body1-letter-spacing, 0.03125em);
  text-decoration: inherit;
  /* @alternate */
  text-decoration: var(--mdc-typography-body1-text-decoration, inherit);
  text-transform: inherit;
  /* @alternate */
  text-transform: var(--mdc-typography-body1-text-transform, inherit);
  flex-grow: 1;
  box-sizing: border-box;
  margin: 0;
  padding: 20px 24px;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}

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

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

.mdc-dialog__title + .mdc-dialog__content {
  padding-top: 0;
}

.mdc-dialog--scrollable .mdc-dialog__content {
  padding-top: 8px;
  padding-bottom: 8px;
}

.mdc-dialog__content .mdc-list:first-child:last-child {
  padding: 6px 0 0;
}

.mdc-dialog--scrollable .mdc-dialog__content .mdc-list:first-child:last-child {
  padding: 0;
}

.mdc-dialog__actions {
  display: flex;
  position: relative;
  flex-shrink: 0;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  box-sizing: border-box;
  min-height: 52px;
  margin: 0;
  padding: 8px;
  border-top: 1px solid transparent;
}

.mdc-dialog--stacked .mdc-dialog__actions {
  flex-direction: column;
  align-items: flex-end;
}

.mdc-dialog__button {
  /* @noflip */
  margin-left: 8px;
  /* @noflip */
  margin-right: 0;
  max-width: 100%;
  /* @noflip */
  text-align: right;
}

[dir=rtl] .mdc-dialog__button, .mdc-dialog__button[dir=rtl] {
  /* @noflip */
  margin-left: 0;
  /* @noflip */
  margin-right: 8px;
}

.mdc-dialog__button:first-child {
  /* @noflip */
  margin-left: 0;
  /* @noflip */
  margin-right: 0;
}

[dir=rtl] .mdc-dialog__button:first-child, .mdc-dialog__button:first-child[dir=rtl] {
  /* @noflip */
  margin-left: 0;
  /* @noflip */
  margin-right: 0;
}

.mdc-dialog[dir=rtl] .mdc-dialog__button, [dir=rtl] .mdc-dialog .mdc-dialog__button {
  /* @noflip */
  text-align: left;
}

.mdc-dialog--stacked .mdc-dialog__button:not(:first-child) {
  margin-top: 12px;
}

.mdc-dialog--open,
.mdc-dialog--opening,
.mdc-dialog--closing {
  display: flex;
}

.mdc-dialog--opening .mdc-dialog__scrim {
  transition: opacity 150ms linear;
}

.mdc-dialog--opening .mdc-dialog__container {
  transition: opacity 75ms linear, transform 150ms 0ms cubic-bezier(0, 0, 0.2, 1);
}

.mdc-dialog--closing .mdc-dialog__scrim,
.mdc-dialog--closing .mdc-dialog__container {
  transition: opacity 75ms linear;
}

.mdc-dialog--closing .mdc-dialog__container {
  transform: scale(1);
}

.mdc-dialog--open .mdc-dialog__scrim {
  opacity: 1;
}

.mdc-dialog--open .mdc-dialog__container {
  transform: scale(1);
  opacity: 1;
}

.mdc-dialog-scroll-lock {
  overflow: hidden;
}

.mdc-floating-label {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-family: Roboto, sans-serif;
  /* @alternate */
  font-family: var(--mdc-typography-subtitle1-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));
  font-size: 1rem;
  /* @alternate */
  font-size: var(--mdc-typography-subtitle1-font-size, 1rem);
  font-weight: 400;
  /* @alternate */
  font-weight: var(--mdc-typography-subtitle1-font-weight, 400);
  letter-spacing: 0.009375em;
  /* @alternate */
  letter-spacing: var(--mdc-typography-subtitle1-letter-spacing, 0.009375em);
  text-decoration: inherit;
  /* @alternate */
  text-decoration: var(--mdc-typography-subtitle1-text-decoration, inherit);
  text-transform: inherit;
  /* @alternate */
  text-transform: var(--mdc-typography-subtitle1-text-transform, inherit);
  position: absolute;
  /* @noflip */
  left: 0;
  /* @noflip */
  transform-origin: left top;
  line-height: 1.15rem;
  text-align: left;
  text-overflow: ellipsis;
  white-space: nowrap;
  cursor: text;
  overflow: hidden;
  /* @alternate */
  will-change: transform;
  transition: transform 150ms cubic-bezier(0.4, 0, 0.2, 1), color 150ms cubic-bezier(0.4, 0, 0.2, 1);
}

[dir=rtl] .mdc-floating-label, .mdc-floating-label[dir=rtl] {
  /* @noflip */
  right: 0;
  /* @noflip */
  left: auto;
  /* @noflip */
  transform-origin: right top;
  /* @noflip */
  text-align: right;
}

.mdc-floating-label--float-above {
  cursor: auto;
}

.mdc-floating-label--float-above {
  transform: translateY(-106%) scale(0.75);
}

.mdc-floating-label--shake {
  animation: mdc-floating-label-shake-float-above-standard 250ms 1;
}

@keyframes mdc-floating-label-shake-float-above-standard {
  0% {
    transform: translateX(calc(0 - 0%)) translateY(-106%) scale(0.75);
  }
  33% {
    animation-timing-function: cubic-bezier(0.5, 0, 0.701732, 0.495819);
    transform: translateX(calc(4% - 0%)) translateY(-106%) scale(0.75);
  }
  66% {
    animation-timing-function: cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);
    transform: translateX(calc(-4% - 0%)) translateY(-106%) scale(0.75);
  }
  100% {
    transform: translateX(calc(0 - 0%)) translateY(-106%) scale(0.75);
  }
}
.mdc-form-field {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-family: Roboto, sans-serif;
  /* @alternate */
  font-family: var(--mdc-typography-body2-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));
  font-size: 0.875rem;
  /* @alternate */
  font-size: var(--mdc-typography-body2-font-size, 0.875rem);
  line-height: 1.25rem;
  /* @alternate */
  line-height: var(--mdc-typography-body2-line-height, 1.25rem);
  font-weight: 400;
  /* @alternate */
  font-weight: var(--mdc-typography-body2-font-weight, 400);
  letter-spacing: 0.0178571429em;
  /* @alternate */
  letter-spacing: var(--mdc-typography-body2-letter-spacing, 0.0178571429em);
  text-decoration: inherit;
  /* @alternate */
  text-decoration: var(--mdc-typography-body2-text-decoration, inherit);
  text-transform: inherit;
  /* @alternate */
  text-transform: var(--mdc-typography-body2-text-transform, inherit);
  color: rgba(0, 0, 0, 0.87);
  /* @alternate */
  color: var(--mdc-theme-text-primary-on-background, rgba(0, 0, 0, 0.87));
  display: inline-flex;
  align-items: center;
  vertical-align: middle;
}

.mdc-form-field > label {
  /* @noflip */
  margin-left: 0;
  /* @noflip */
  margin-right: auto;
  /* @noflip */
  padding-left: 4px;
  /* @noflip */
  padding-right: 0;
  order: 0;
}

[dir=rtl] .mdc-form-field > label, .mdc-form-field > label[dir=rtl] {
  /* @noflip */
  margin-left: auto;
  /* @noflip */
  margin-right: 0;
}

[dir=rtl] .mdc-form-field > label, .mdc-form-field > label[dir=rtl] {
  /* @noflip */
  padding-left: 0;
  /* @noflip */
  padding-right: 4px;
}

.mdc-form-field--nowrap > label {
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
}

.mdc-form-field--align-end > label {
  /* @noflip */
  margin-left: auto;
  /* @noflip */
  margin-right: 0;
  /* @noflip */
  padding-left: 0;
  /* @noflip */
  padding-right: 4px;
  order: -1;
}

[dir=rtl] .mdc-form-field--align-end > label, .mdc-form-field--align-end > label[dir=rtl] {
  /* @noflip */
  margin-left: 0;
  /* @noflip */
  margin-right: auto;
}

[dir=rtl] .mdc-form-field--align-end > label, .mdc-form-field--align-end > label[dir=rtl] {
  /* @noflip */
  padding-left: 4px;
  /* @noflip */
  padding-right: 0;
}

.mdc-form-field--space-between {
  justify-content: space-between;
}

.mdc-form-field--space-between > label {
  margin: 0;
}

[dir=rtl] .mdc-form-field--space-between > label, .mdc-form-field--space-between > label[dir=rtl] {
  margin: 0;
}

.mdc-list {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-family: Roboto, sans-serif;
  /* @alternate */
  font-family: var(--mdc-typography-subtitle1-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));
  font-size: 1rem;
  /* @alternate */
  font-size: var(--mdc-typography-subtitle1-font-size, 1rem);
  line-height: 1.75rem;
  /* @alternate */
  line-height: var(--mdc-typography-subtitle1-line-height, 1.75rem);
  font-weight: 400;
  /* @alternate */
  font-weight: var(--mdc-typography-subtitle1-font-weight, 400);
  letter-spacing: 0.009375em;
  /* @alternate */
  letter-spacing: var(--mdc-typography-subtitle1-letter-spacing, 0.009375em);
  text-decoration: inherit;
  /* @alternate */
  text-decoration: var(--mdc-typography-subtitle1-text-decoration, inherit);
  text-transform: inherit;
  /* @alternate */
  text-transform: var(--mdc-typography-subtitle1-text-transform, inherit);
  /* @alternate */
  line-height: 1.5rem;
  margin: 0;
  padding: 8px 0;
  list-style-type: none;
  color: rgba(0, 0, 0, 0.87);
  /* @alternate */
  color: var(--mdc-theme-text-primary-on-background, rgba(0, 0, 0, 0.87));
}

.mdc-list:focus {
  outline: none;
}

.mdc-list-item {
  height: 48px;
}

.mdc-list-item__secondary-text {
  color: rgba(0, 0, 0, 0.54);
  /* @alternate */
  color: var(--mdc-theme-text-secondary-on-background, rgba(0, 0, 0, 0.54));
}

.mdc-list-item__graphic {
  background-color: transparent;
}

.mdc-list-item__graphic {
  color: rgba(0, 0, 0, 0.38);
  /* @alternate */
  color: var(--mdc-theme-text-icon-on-background, rgba(0, 0, 0, 0.38));
}

.mdc-list-item__meta {
  color: rgba(0, 0, 0, 0.38);
  /* @alternate */
  color: var(--mdc-theme-text-hint-on-background, rgba(0, 0, 0, 0.38));
}

.mdc-list-group__subheader {
  color: rgba(0, 0, 0, 0.87);
  /* @alternate */
  color: var(--mdc-theme-text-primary-on-background, rgba(0, 0, 0, 0.87));
}

.mdc-list-item--disabled .mdc-list-item__text {
  opacity: 0.38;
}

.mdc-list-item--disabled .mdc-list-item__text,
.mdc-list-item--disabled .mdc-list-item__primary-text,
.mdc-list-item--disabled .mdc-list-item__secondary-text {
  color: #000;
  /* @alternate */
  color: var(--mdc-theme-on-surface, #000);
}

.mdc-list--dense {
  padding-top: 4px;
  padding-bottom: 4px;
  font-size: 0.812rem;
}

.mdc-list-item {
  display: flex;
  position: relative;
  align-items: center;
  justify-content: flex-start;
  padding: 0 16px;
  overflow: hidden;
}

.mdc-list-item:focus {
  outline: none;
}

.mdc-list-item--selected,
.mdc-list-item--activated {
  color: #00AEEF;
  /* @alternate */
  color: var(--mdc-theme-primary, #00AEEF);
}

.mdc-list-item--selected .mdc-list-item__graphic,
.mdc-list-item--activated .mdc-list-item__graphic {
  color: #00AEEF;
  /* @alternate */
  color: var(--mdc-theme-primary, #00AEEF);
}

.mdc-list-item__graphic {
  /* @noflip */
  margin-left: 0;
  /* @noflip */
  margin-right: 32px;
  width: 24px;
  height: 24px;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  fill: currentColor;
}

.mdc-list-item[dir=rtl] .mdc-list-item__graphic, [dir=rtl] .mdc-list-item .mdc-list-item__graphic {
  /* @noflip */
  margin-left: 32px;
  /* @noflip */
  margin-right: 0;
}

.mdc-list .mdc-list-item__graphic {
  display: inline-flex;
}

.mdc-list-item__meta {
  /* @noflip */
  margin-left: auto;
  /* @noflip */
  margin-right: 0;
}

.mdc-list-item__meta:not(.material-icons) {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-family: Roboto, sans-serif;
  /* @alternate */
  font-family: var(--mdc-typography-caption-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));
  font-size: 0.75rem;
  /* @alternate */
  font-size: var(--mdc-typography-caption-font-size, 0.75rem);
  line-height: 1.25rem;
  /* @alternate */
  line-height: var(--mdc-typography-caption-line-height, 1.25rem);
  font-weight: 400;
  /* @alternate */
  font-weight: var(--mdc-typography-caption-font-weight, 400);
  letter-spacing: 0.0333333333em;
  /* @alternate */
  letter-spacing: var(--mdc-typography-caption-letter-spacing, 0.0333333333em);
  text-decoration: inherit;
  /* @alternate */
  text-decoration: var(--mdc-typography-caption-text-decoration, inherit);
  text-transform: inherit;
  /* @alternate */
  text-transform: var(--mdc-typography-caption-text-transform, inherit);
}

.mdc-list-item[dir=rtl] .mdc-list-item__meta, [dir=rtl] .mdc-list-item .mdc-list-item__meta {
  /* @noflip */
  margin-left: 0;
  /* @noflip */
  margin-right: auto;
}

.mdc-list-item__text {
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}

.mdc-list-item__text[for] {
  pointer-events: none;
}

.mdc-list-item__primary-text {
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
  display: block;
  margin-top: 0;
  /* @alternate */
  line-height: normal;
  margin-bottom: -20px;
}

.mdc-list-item__primary-text::before {
  display: inline-block;
  width: 0;
  height: 32px;
  content: "";
  vertical-align: 0;
}

.mdc-list-item__primary-text::after {
  display: inline-block;
  width: 0;
  height: 20px;
  content: "";
  vertical-align: -20px;
}

.mdc-list--dense .mdc-list-item__primary-text {
  display: block;
  margin-top: 0;
  /* @alternate */
  line-height: normal;
  margin-bottom: -20px;
}

.mdc-list--dense .mdc-list-item__primary-text::before {
  display: inline-block;
  width: 0;
  height: 24px;
  content: "";
  vertical-align: 0;
}

.mdc-list--dense .mdc-list-item__primary-text::after {
  display: inline-block;
  width: 0;
  height: 20px;
  content: "";
  vertical-align: -20px;
}

.mdc-list-item__secondary-text {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-family: Roboto, sans-serif;
  /* @alternate */
  font-family: var(--mdc-typography-body2-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));
  font-size: 0.875rem;
  /* @alternate */
  font-size: var(--mdc-typography-body2-font-size, 0.875rem);
  line-height: 1.25rem;
  /* @alternate */
  line-height: var(--mdc-typography-body2-line-height, 1.25rem);
  font-weight: 400;
  /* @alternate */
  font-weight: var(--mdc-typography-body2-font-weight, 400);
  letter-spacing: 0.0178571429em;
  /* @alternate */
  letter-spacing: var(--mdc-typography-body2-letter-spacing, 0.0178571429em);
  text-decoration: inherit;
  /* @alternate */
  text-decoration: var(--mdc-typography-body2-text-decoration, inherit);
  text-transform: inherit;
  /* @alternate */
  text-transform: var(--mdc-typography-body2-text-transform, inherit);
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
  display: block;
  margin-top: 0;
  /* @alternate */
  line-height: normal;
}

.mdc-list-item__secondary-text::before {
  display: inline-block;
  width: 0;
  height: 20px;
  content: "";
  vertical-align: 0;
}

.mdc-list--dense .mdc-list-item__secondary-text {
  font-size: inherit;
}

.mdc-list--dense .mdc-list-item {
  height: 40px;
}

.mdc-list--dense .mdc-list-item__graphic {
  /* @noflip */
  margin-left: 0;
  /* @noflip */
  margin-right: 36px;
  width: 20px;
  height: 20px;
}

.mdc-list-item[dir=rtl] .mdc-list--dense .mdc-list-item__graphic, [dir=rtl] .mdc-list-item .mdc-list--dense .mdc-list-item__graphic {
  /* @noflip */
  margin-left: 36px;
  /* @noflip */
  margin-right: 0;
}

.mdc-list--avatar-list .mdc-list-item {
  height: 56px;
}

.mdc-list--avatar-list .mdc-list-item__graphic {
  /* @noflip */
  margin-left: 0;
  /* @noflip */
  margin-right: 16px;
  width: 40px;
  height: 40px;
  border-radius: 50%;
}

.mdc-list-item[dir=rtl] .mdc-list--avatar-list .mdc-list-item__graphic, [dir=rtl] .mdc-list-item .mdc-list--avatar-list .mdc-list-item__graphic {
  /* @noflip */
  margin-left: 16px;
  /* @noflip */
  margin-right: 0;
}

.mdc-list--two-line .mdc-list-item__text {
  align-self: flex-start;
}

.mdc-list--two-line .mdc-list-item {
  height: 72px;
}

.mdc-list--two-line.mdc-list--dense .mdc-list-item,
.mdc-list--avatar-list.mdc-list--dense .mdc-list-item {
  height: 60px;
}

.mdc-list--avatar-list.mdc-list--dense .mdc-list-item__graphic {
  /* @noflip */
  margin-left: 0;
  /* @noflip */
  margin-right: 20px;
  width: 36px;
  height: 36px;
}

.mdc-list-item[dir=rtl] .mdc-list--avatar-list.mdc-list--dense .mdc-list-item__graphic, [dir=rtl] .mdc-list-item .mdc-list--avatar-list.mdc-list--dense .mdc-list-item__graphic {
  /* @noflip */
  margin-left: 20px;
  /* @noflip */
  margin-right: 0;
}

:not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item {
  cursor: pointer;
}

a.mdc-list-item {
  color: inherit;
  text-decoration: none;
}

.mdc-list-divider {
  height: 0;
  margin: 0;
  border: none;
  border-bottom-width: 1px;
  border-bottom-style: solid;
}

.mdc-list-divider {
  border-bottom-color: rgba(0, 0, 0, 0.12);
}

.mdc-list-divider--padded {
  margin: 0 16px;
}

.mdc-list-divider--inset {
  /* @noflip */
  margin-left: 72px;
  /* @noflip */
  margin-right: 0;
  width: calc(100% - 72px);
}

.mdc-list-group[dir=rtl] .mdc-list-divider--inset, [dir=rtl] .mdc-list-group .mdc-list-divider--inset {
  /* @noflip */
  margin-left: 0;
  /* @noflip */
  margin-right: 72px;
}

.mdc-list-divider--inset.mdc-list-divider--padded {
  width: calc(100% - 72px - 16px);
}

.mdc-list-group .mdc-list {
  padding: 0;
}

.mdc-list-group__subheader {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-family: Roboto, sans-serif;
  /* @alternate */
  font-family: var(--mdc-typography-subtitle1-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));
  font-size: 1rem;
  /* @alternate */
  font-size: var(--mdc-typography-subtitle1-font-size, 1rem);
  line-height: 1.75rem;
  /* @alternate */
  line-height: var(--mdc-typography-subtitle1-line-height, 1.75rem);
  font-weight: 400;
  /* @alternate */
  font-weight: var(--mdc-typography-subtitle1-font-weight, 400);
  letter-spacing: 0.009375em;
  /* @alternate */
  letter-spacing: var(--mdc-typography-subtitle1-letter-spacing, 0.009375em);
  text-decoration: inherit;
  /* @alternate */
  text-decoration: var(--mdc-typography-subtitle1-text-decoration, inherit);
  text-transform: inherit;
  /* @alternate */
  text-transform: var(--mdc-typography-subtitle1-text-transform, inherit);
  margin: calc((3rem - 1.5rem) / 2) 16px;
}

:not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item {
  --mdc-ripple-fg-size: 0;
  --mdc-ripple-left: 0;
  --mdc-ripple-top: 0;
  --mdc-ripple-fg-scale: 1;
  --mdc-ripple-fg-translate-end: 0;
  --mdc-ripple-fg-translate-start: 0;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

:not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item::before, :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item::after {
  position: absolute;
  border-radius: 50%;
  opacity: 0;
  pointer-events: none;
  content: "";
}

:not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item::before {
  transition: opacity 15ms linear, background-color 15ms linear;
  z-index: 1;
}

:not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item.mdc-ripple-upgraded::before {
  transform: scale(var(--mdc-ripple-fg-scale, 1));
}

:not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item.mdc-ripple-upgraded::after {
  top: 0;
  /* @noflip */
  left: 0;
  transform: scale(0);
  transform-origin: center center;
}

:not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item.mdc-ripple-upgraded--unbounded::after {
  top: var(--mdc-ripple-top, 0);
  /* @noflip */
  left: var(--mdc-ripple-left, 0);
}

:not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item.mdc-ripple-upgraded--foreground-activation::after {
  animation: mdc-ripple-fg-radius-in 225ms forwards, mdc-ripple-fg-opacity-in 75ms forwards;
}

:not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item.mdc-ripple-upgraded--foreground-deactivation::after {
  animation: mdc-ripple-fg-opacity-out 150ms;
  transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1));
}

:not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item::before, :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item::after {
  top: calc(50% - 100%);
  /* @noflip */
  left: calc(50% - 100%);
  width: 200%;
  height: 200%;
}

:not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item.mdc-ripple-upgraded::after {
  width: var(--mdc-ripple-fg-size, 100%);
  height: var(--mdc-ripple-fg-size, 100%);
}

:not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item::before, :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item::after {
  background-color: #000;
}

:not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item:hover::before {
  opacity: 0.04;
}

:not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item.mdc-ripple-upgraded--background-focused::before, :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item:not(.mdc-ripple-upgraded):focus::before {
  transition-duration: 75ms;
  opacity: 0.12;
}

:not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item:not(.mdc-ripple-upgraded)::after {
  transition: opacity 150ms linear;
}

:not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item:not(.mdc-ripple-upgraded):active::after {
  transition-duration: 75ms;
  opacity: 0.12;
}

:not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item.mdc-ripple-upgraded {
  --mdc-ripple-fg-opacity: 0.12;
}

:not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--activated::before {
  opacity: 0.24;
}

:not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--activated::before, :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--activated::after {
  background-color: #00AEEF;
  /* @alternate */
  background-color: var(--mdc-theme-primary, #00AEEF);
}

:not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--activated:hover::before {
  opacity: 0.32;
}

:not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--activated.mdc-ripple-upgraded--background-focused::before, :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--activated:not(.mdc-ripple-upgraded):focus::before {
  transition-duration: 75ms;
  opacity: 0.48;
}

:not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--activated:not(.mdc-ripple-upgraded)::after {
  transition: opacity 150ms linear;
}

:not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--activated:not(.mdc-ripple-upgraded):active::after {
  transition-duration: 75ms;
  opacity: 0.48;
}

:not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--activated.mdc-ripple-upgraded {
  --mdc-ripple-fg-opacity: 0.48;
}

:not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--selected::before {
  opacity: 0.16;
}

:not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--selected::before, :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--selected::after {
  background-color: #00AEEF;
  /* @alternate */
  background-color: var(--mdc-theme-primary, #00AEEF);
}

:not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--selected:hover::before {
  opacity: 0.24;
}

:not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--selected.mdc-ripple-upgraded--background-focused::before, :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--selected:not(.mdc-ripple-upgraded):focus::before {
  transition-duration: 75ms;
  opacity: 0.4;
}

:not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--selected:not(.mdc-ripple-upgraded)::after {
  transition: opacity 150ms linear;
}

:not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--selected:not(.mdc-ripple-upgraded):active::after {
  transition-duration: 75ms;
  opacity: 0.4;
}

:not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--selected.mdc-ripple-upgraded {
  --mdc-ripple-fg-opacity: 0.4;
}

:not(.mdc-list--non-interactive) > .mdc-list-item--disabled {
  --mdc-ripple-fg-size: 0;
  --mdc-ripple-left: 0;
  --mdc-ripple-top: 0;
  --mdc-ripple-fg-scale: 1;
  --mdc-ripple-fg-translate-end: 0;
  --mdc-ripple-fg-translate-start: 0;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

:not(.mdc-list--non-interactive) > .mdc-list-item--disabled::before, :not(.mdc-list--non-interactive) > .mdc-list-item--disabled::after {
  position: absolute;
  border-radius: 50%;
  opacity: 0;
  pointer-events: none;
  content: "";
}

:not(.mdc-list--non-interactive) > .mdc-list-item--disabled::before {
  transition: opacity 15ms linear, background-color 15ms linear;
  z-index: 1;
}

:not(.mdc-list--non-interactive) > .mdc-list-item--disabled.mdc-ripple-upgraded::before {
  transform: scale(var(--mdc-ripple-fg-scale, 1));
}

:not(.mdc-list--non-interactive) > .mdc-list-item--disabled.mdc-ripple-upgraded::after {
  top: 0;
  /* @noflip */
  left: 0;
  transform: scale(0);
  transform-origin: center center;
}

:not(.mdc-list--non-interactive) > .mdc-list-item--disabled.mdc-ripple-upgraded--unbounded::after {
  top: var(--mdc-ripple-top, 0);
  /* @noflip */
  left: var(--mdc-ripple-left, 0);
}

:not(.mdc-list--non-interactive) > .mdc-list-item--disabled.mdc-ripple-upgraded--foreground-activation::after {
  animation: mdc-ripple-fg-radius-in 225ms forwards, mdc-ripple-fg-opacity-in 75ms forwards;
}

:not(.mdc-list--non-interactive) > .mdc-list-item--disabled.mdc-ripple-upgraded--foreground-deactivation::after {
  animation: mdc-ripple-fg-opacity-out 150ms;
  transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1));
}

:not(.mdc-list--non-interactive) > .mdc-list-item--disabled::before, :not(.mdc-list--non-interactive) > .mdc-list-item--disabled::after {
  top: calc(50% - 100%);
  /* @noflip */
  left: calc(50% - 100%);
  width: 200%;
  height: 200%;
}

:not(.mdc-list--non-interactive) > .mdc-list-item--disabled.mdc-ripple-upgraded::after {
  width: var(--mdc-ripple-fg-size, 100%);
  height: var(--mdc-ripple-fg-size, 100%);
}

:not(.mdc-list--non-interactive) > .mdc-list-item--disabled::before, :not(.mdc-list--non-interactive) > .mdc-list-item--disabled::after {
  background-color: #000;
}

:not(.mdc-list--non-interactive) > .mdc-list-item--disabled.mdc-ripple-upgraded--background-focused::before, :not(.mdc-list--non-interactive) > .mdc-list-item--disabled:not(.mdc-ripple-upgraded):focus::before {
  transition-duration: 75ms;
  opacity: 0.24;
}

.mdc-menu {
  min-width: 112px;
}

.mdc-menu .mdc-list-item__meta {
  color: rgba(0, 0, 0, 0.87);
}

.mdc-menu .mdc-list-item__graphic {
  color: rgba(0, 0, 0, 0.87);
}

.mdc-menu .mdc-list {
  color: rgba(0, 0, 0, 0.87);
  /* @alternate */
  position: relative;
}

.mdc-menu .mdc-list .mdc-elevation-overlay {
  width: 100%;
  height: 100%;
  top: 0;
  /* @noflip */
  left: 0;
}

.mdc-menu .mdc-list-divider {
  margin: 8px 0;
}

.mdc-menu .mdc-list-item {
  user-select: none;
}

.mdc-menu .mdc-list-item--disabled {
  cursor: auto;
}

.mdc-menu a.mdc-list-item .mdc-list-item__text,
.mdc-menu a.mdc-list-item .mdc-list-item__graphic {
  pointer-events: none;
}

.mdc-menu__selection-group {
  padding: 0;
  fill: currentColor;
}

.mdc-menu__selection-group .mdc-list-item {
  /* @noflip */
  padding-left: 56px;
  /* @noflip */
  padding-right: 16px;
}

[dir=rtl] .mdc-menu__selection-group .mdc-list-item, .mdc-menu__selection-group .mdc-list-item[dir=rtl] {
  /* @noflip */
  padding-left: 16px;
  /* @noflip */
  padding-right: 56px;
}

.mdc-menu__selection-group .mdc-menu__selection-group-icon {
  /* @noflip */
  left: 16px;
  /* @noflip */
  right: initial;
  display: none;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

[dir=rtl] .mdc-menu__selection-group .mdc-menu__selection-group-icon, .mdc-menu__selection-group .mdc-menu__selection-group-icon[dir=rtl] {
  /* @noflip */
  left: initial;
  /* @noflip */
  right: 16px;
}

.mdc-menu-item--selected .mdc-menu__selection-group-icon {
  display: inline;
}

.mdc-menu-surface {
  display: none;
  position: absolute;
  box-sizing: border-box;
  max-width: calc(100vw - 32px);
  max-height: calc(100vh - 32px);
  margin: 0;
  padding: 0;
  transform: scale(1);
  transform-origin: top left;
  opacity: 0;
  overflow: auto;
  will-change: transform, opacity;
  z-index: 8;
  transition: opacity 0.03s linear, transform 0.12s cubic-bezier(0, 0, 0.2, 1);
  /* @alternate */
  box-shadow: 0px 5px 5px -3px rgba(0, 0, 0, 0.2), 0px 8px 10px 1px rgba(0, 0, 0, 0.14), 0px 3px 14px 2px rgba(0, 0, 0, 0.12);
  background-color: #fff;
  /* @alternate */
  background-color: var(--mdc-theme-surface, #fff);
  color: #000;
  /* @alternate */
  color: var(--mdc-theme-on-surface, #000);
  border-radius: 4px;
  /* @noflip */
  transform-origin-left: top left;
  /* @noflip */
  transform-origin-right: top right;
}

.mdc-menu-surface:focus {
  outline: none;
}

.mdc-menu-surface--open {
  display: inline-block;
  transform: scale(1);
  opacity: 1;
}

.mdc-menu-surface--animating-open {
  display: inline-block;
  transform: scale(0.8);
  opacity: 0;
}

.mdc-menu-surface--animating-closed {
  display: inline-block;
  opacity: 0;
  transition: opacity 0.075s linear;
}

[dir=rtl] .mdc-menu-surface, .mdc-menu-surface[dir=rtl] {
  /* @noflip */
  transform-origin-left: top right;
  /* @noflip */
  transform-origin-right: top left;
}

.mdc-menu-surface--anchor {
  position: relative;
  overflow: visible;
}

.mdc-menu-surface--fixed {
  position: fixed;
}

.mdc-radio {
  padding: 10px;
  display: inline-block;
  position: relative;
  flex: 0 0 auto;
  box-sizing: content-box;
  width: 20px;
  height: 20px;
  cursor: pointer;
  /* @alternate */
  will-change: opacity, transform, border-color, color;
}

.mdc-radio .mdc-radio__native-control:enabled:not(:checked) + .mdc-radio__background .mdc-radio__outer-circle {
  border-color: rgba(0, 0, 0, 0.54);
}

.mdc-radio .mdc-radio__native-control:enabled:checked + .mdc-radio__background .mdc-radio__outer-circle {
  border-color: #018786;
  /* @alternate */
  border-color: var(--mdc-theme-secondary, #018786);
}

.mdc-radio .mdc-radio__native-control:enabled + .mdc-radio__background .mdc-radio__inner-circle {
  border-color: #018786;
  /* @alternate */
  border-color: var(--mdc-theme-secondary, #018786);
}

.mdc-radio [aria-disabled=true] .mdc-radio__native-control:not(:checked) + .mdc-radio__background .mdc-radio__outer-circle,
.mdc-radio .mdc-radio__native-control:disabled:not(:checked) + .mdc-radio__background .mdc-radio__outer-circle {
  border-color: rgba(0, 0, 0, 0.38);
}

.mdc-radio [aria-disabled=true] .mdc-radio__native-control:checked + .mdc-radio__background .mdc-radio__outer-circle,
.mdc-radio .mdc-radio__native-control:disabled:checked + .mdc-radio__background .mdc-radio__outer-circle {
  border-color: rgba(0, 0, 0, 0.38);
}

.mdc-radio [aria-disabled=true] .mdc-radio__native-control + .mdc-radio__background .mdc-radio__inner-circle,
.mdc-radio .mdc-radio__native-control:disabled + .mdc-radio__background .mdc-radio__inner-circle {
  border-color: rgba(0, 0, 0, 0.38);
}

.mdc-radio .mdc-radio__background::before {
  background-color: #018786;
  /* @alternate */
  background-color: var(--mdc-theme-secondary, #018786);
}

.mdc-radio .mdc-radio__background::before {
  top: -10px;
  left: -10px;
  width: 40px;
  height: 40px;
}

.mdc-radio .mdc-radio__native-control {
  top: 0px;
  right: 0px;
  left: 0px;
  width: 40px;
  height: 40px;
}

.mdc-radio__background {
  display: inline-block;
  position: relative;
  box-sizing: border-box;
  width: 20px;
  height: 20px;
}

.mdc-radio__background::before {
  position: absolute;
  transform: scale(0, 0);
  border-radius: 50%;
  opacity: 0;
  pointer-events: none;
  content: "";
  transition: opacity 120ms 0ms cubic-bezier(0.4, 0, 0.6, 1), transform 120ms 0ms cubic-bezier(0.4, 0, 0.6, 1);
}

.mdc-radio__outer-circle {
  position: absolute;
  top: 0;
  left: 0;
  box-sizing: border-box;
  width: 100%;
  height: 100%;
  border-width: 2px;
  border-style: solid;
  border-radius: 50%;
  transition: border-color 120ms 0ms cubic-bezier(0.4, 0, 0.6, 1);
}

.mdc-radio__inner-circle {
  position: absolute;
  top: 0;
  left: 0;
  box-sizing: border-box;
  width: 100%;
  height: 100%;
  transform: scale(0, 0);
  border-width: 10px;
  border-style: solid;
  border-radius: 50%;
  transition: transform 120ms 0ms cubic-bezier(0.4, 0, 0.6, 1), border-color 120ms 0ms cubic-bezier(0.4, 0, 0.6, 1);
}

.mdc-radio__native-control {
  position: absolute;
  margin: 0;
  padding: 0;
  opacity: 0;
  cursor: inherit;
  z-index: 1;
}

.mdc-radio--touch {
  margin-top: 4px;
  margin-bottom: 4px;
  margin-right: 4px;
  margin-left: 4px;
}

.mdc-radio--touch .mdc-radio__native-control {
  top: -4px;
  right: -4px;
  left: -4px;
  width: 48px;
  height: 48px;
}

.mdc-radio__native-control:checked + .mdc-radio__background,
.mdc-radio__native-control:disabled + .mdc-radio__background {
  transition: opacity 120ms 0ms cubic-bezier(0, 0, 0.2, 1), transform 120ms 0ms cubic-bezier(0, 0, 0.2, 1);
}

.mdc-radio__native-control:checked + .mdc-radio__background .mdc-radio__outer-circle,
.mdc-radio__native-control:disabled + .mdc-radio__background .mdc-radio__outer-circle {
  transition: border-color 120ms 0ms cubic-bezier(0, 0, 0.2, 1);
}

.mdc-radio__native-control:checked + .mdc-radio__background .mdc-radio__inner-circle,
.mdc-radio__native-control:disabled + .mdc-radio__background .mdc-radio__inner-circle {
  transition: transform 120ms 0ms cubic-bezier(0, 0, 0.2, 1), border-color 120ms 0ms cubic-bezier(0, 0, 0.2, 1);
}

.mdc-radio--disabled {
  cursor: default;
  pointer-events: none;
}

.mdc-radio__native-control:checked + .mdc-radio__background .mdc-radio__inner-circle {
  transform: scale(0.5);
  transition: transform 120ms 0ms cubic-bezier(0, 0, 0.2, 1), border-color 120ms 0ms cubic-bezier(0, 0, 0.2, 1);
}

.mdc-radio__native-control:disabled + .mdc-radio__background,
[aria-disabled=true] .mdc-radio__native-control + .mdc-radio__background {
  cursor: default;
}

.mdc-radio__native-control:focus + .mdc-radio__background::before {
  transform: scale(1);
  opacity: 0.12;
  transition: opacity 120ms 0ms cubic-bezier(0, 0, 0.2, 1), transform 120ms 0ms cubic-bezier(0, 0, 0.2, 1);
}

.mdc-radio {
  --mdc-ripple-fg-size: 0;
  --mdc-ripple-left: 0;
  --mdc-ripple-top: 0;
  --mdc-ripple-fg-scale: 1;
  --mdc-ripple-fg-translate-end: 0;
  --mdc-ripple-fg-translate-start: 0;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

.mdc-radio .mdc-radio__ripple::before,
.mdc-radio .mdc-radio__ripple::after {
  position: absolute;
  border-radius: 50%;
  opacity: 0;
  pointer-events: none;
  content: "";
}

.mdc-radio .mdc-radio__ripple::before {
  transition: opacity 15ms linear, background-color 15ms linear;
  z-index: 1;
}

.mdc-radio.mdc-ripple-upgraded .mdc-radio__ripple::before {
  transform: scale(var(--mdc-ripple-fg-scale, 1));
}

.mdc-radio.mdc-ripple-upgraded .mdc-radio__ripple::after {
  top: 0;
  /* @noflip */
  left: 0;
  transform: scale(0);
  transform-origin: center center;
}

.mdc-radio.mdc-ripple-upgraded--unbounded .mdc-radio__ripple::after {
  top: var(--mdc-ripple-top, 0);
  /* @noflip */
  left: var(--mdc-ripple-left, 0);
}

.mdc-radio.mdc-ripple-upgraded--foreground-activation .mdc-radio__ripple::after {
  animation: mdc-ripple-fg-radius-in 225ms forwards, mdc-ripple-fg-opacity-in 75ms forwards;
}

.mdc-radio.mdc-ripple-upgraded--foreground-deactivation .mdc-radio__ripple::after {
  animation: mdc-ripple-fg-opacity-out 150ms;
  transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1));
}

.mdc-radio .mdc-radio__ripple::before,
.mdc-radio .mdc-radio__ripple::after {
  top: calc(50% - 50%);
  /* @noflip */
  left: calc(50% - 50%);
  width: 100%;
  height: 100%;
}

.mdc-radio.mdc-ripple-upgraded .mdc-radio__ripple::before,
.mdc-radio.mdc-ripple-upgraded .mdc-radio__ripple::after {
  top: var(--mdc-ripple-top, calc(50% - 50%));
  /* @noflip */
  left: var(--mdc-ripple-left, calc(50% - 50%));
  width: var(--mdc-ripple-fg-size, 100%);
  height: var(--mdc-ripple-fg-size, 100%);
}

.mdc-radio.mdc-ripple-upgraded .mdc-radio__ripple::after {
  width: var(--mdc-ripple-fg-size, 100%);
  height: var(--mdc-ripple-fg-size, 100%);
}

.mdc-radio .mdc-radio__ripple::before, .mdc-radio .mdc-radio__ripple::after {
  background-color: #018786;
  /* @alternate */
  background-color: var(--mdc-theme-secondary, #018786);
}

.mdc-radio:hover .mdc-radio__ripple::before {
  opacity: 0.04;
}

.mdc-radio.mdc-ripple-upgraded--background-focused .mdc-radio__ripple::before, .mdc-radio:not(.mdc-ripple-upgraded):focus .mdc-radio__ripple::before {
  transition-duration: 75ms;
  opacity: 0.12;
}

.mdc-radio:not(.mdc-ripple-upgraded) .mdc-radio__ripple::after {
  transition: opacity 150ms linear;
}

.mdc-radio:not(.mdc-ripple-upgraded):active .mdc-radio__ripple::after {
  transition-duration: 75ms;
  opacity: 0.12;
}

.mdc-radio.mdc-ripple-upgraded {
  --mdc-ripple-fg-opacity: 0.12;
}

.mdc-radio.mdc-ripple-upgraded--background-focused .mdc-radio__background::before {
  content: none;
}

.mdc-radio__ripple {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

.mdc-select-helper-text {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-family: Roboto, sans-serif;
  /* @alternate */
  font-family: var(--mdc-typography-caption-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));
  font-size: 0.75rem;
  /* @alternate */
  font-size: var(--mdc-typography-caption-font-size, 0.75rem);
  line-height: 1.25rem;
  /* @alternate */
  line-height: var(--mdc-typography-caption-line-height, 1.25rem);
  font-weight: 400;
  /* @alternate */
  font-weight: var(--mdc-typography-caption-font-weight, 400);
  letter-spacing: 0.0333333333em;
  /* @alternate */
  letter-spacing: var(--mdc-typography-caption-letter-spacing, 0.0333333333em);
  text-decoration: inherit;
  /* @alternate */
  text-decoration: var(--mdc-typography-caption-text-decoration, inherit);
  text-transform: inherit;
  /* @alternate */
  text-transform: var(--mdc-typography-caption-text-transform, inherit);
  display: block;
  margin-top: 0;
  /* @alternate */
  line-height: normal;
  margin: 0;
  opacity: 0;
  will-change: opacity;
  transition: opacity 180ms cubic-bezier(0.4, 0, 0.2, 1);
}

.mdc-select-helper-text::before {
  display: inline-block;
  width: 0;
  height: 16px;
  content: "";
  vertical-align: 0;
}

.mdc-select-helper-text--persistent {
  transition: none;
  opacity: 1;
  will-change: initial;
}

.mdc-select--with-leading-icon .mdc-select__icon {
  display: inline-block;
  box-sizing: border-box;
  width: 24px;
  height: 24px;
  border: none;
  opacity: 0.54;
  text-decoration: none;
  cursor: pointer;
  user-select: none;
  flex-shrink: 0;
  align-self: center;
  background-color: transparent;
  fill: currentColor;
}

.mdc-select--with-leading-icon .mdc-select__icon {
  /* @noflip */
  margin-left: 12px;
  /* @noflip */
  margin-right: 12px;
}

[dir=rtl] .mdc-select--with-leading-icon .mdc-select__icon, .mdc-select--with-leading-icon .mdc-select__icon[dir=rtl] {
  /* @noflip */
  margin-left: 12px;
  /* @noflip */
  margin-right: 12px;
}

.mdc-select--with-leading-icon:not(.mdc-select--disabled) .mdc-select__icon {
  color: #000;
  /* @alternate */
  color: var(--mdc-theme-on-surface, #000);
}

.mdc-select__icon:not([tabindex]),
.mdc-select__icon[tabindex="-1"] {
  cursor: default;
  pointer-events: none;
}

.mdc-floating-label {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-family: Roboto, sans-serif;
  /* @alternate */
  font-family: var(--mdc-typography-subtitle1-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));
  font-size: 1rem;
  /* @alternate */
  font-size: var(--mdc-typography-subtitle1-font-size, 1rem);
  font-weight: 400;
  /* @alternate */
  font-weight: var(--mdc-typography-subtitle1-font-weight, 400);
  letter-spacing: 0.009375em;
  /* @alternate */
  letter-spacing: var(--mdc-typography-subtitle1-letter-spacing, 0.009375em);
  text-decoration: inherit;
  /* @alternate */
  text-decoration: var(--mdc-typography-subtitle1-text-decoration, inherit);
  text-transform: inherit;
  /* @alternate */
  text-transform: var(--mdc-typography-subtitle1-text-transform, inherit);
  position: absolute;
  /* @noflip */
  left: 0;
  /* @noflip */
  transform-origin: left top;
  line-height: 1.15rem;
  text-align: left;
  text-overflow: ellipsis;
  white-space: nowrap;
  cursor: text;
  overflow: hidden;
  /* @alternate */
  will-change: transform;
  transition: transform 150ms cubic-bezier(0.4, 0, 0.2, 1), color 150ms cubic-bezier(0.4, 0, 0.2, 1);
}

[dir=rtl] .mdc-floating-label, .mdc-floating-label[dir=rtl] {
  /* @noflip */
  right: 0;
  /* @noflip */
  left: auto;
  /* @noflip */
  transform-origin: right top;
  /* @noflip */
  text-align: right;
}

.mdc-floating-label--float-above {
  cursor: auto;
}

.mdc-floating-label--float-above {
  transform: translateY(-106%) scale(0.75);
}

.mdc-floating-label--shake {
  animation: mdc-floating-label-shake-float-above-standard 250ms 1;
}

@keyframes mdc-floating-label-shake-float-above-standard {
  0% {
    transform: translateX(calc(0 - 0%)) translateY(-106%) scale(0.75);
  }
  33% {
    animation-timing-function: cubic-bezier(0.5, 0, 0.701732, 0.495819);
    transform: translateX(calc(4% - 0%)) translateY(-106%) scale(0.75);
  }
  66% {
    animation-timing-function: cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);
    transform: translateX(calc(-4% - 0%)) translateY(-106%) scale(0.75);
  }
  100% {
    transform: translateX(calc(0 - 0%)) translateY(-106%) scale(0.75);
  }
}
.mdc-line-ripple::before, .mdc-line-ripple::after {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  border-bottom-style: solid;
  content: "";
}

.mdc-line-ripple::before {
  border-bottom-width: 1px;
  z-index: 1;
}

.mdc-line-ripple::after {
  transform: scaleX(0);
  border-bottom-width: 2px;
  opacity: 0;
  z-index: 2;
}

.mdc-line-ripple::after {
  transition: transform 180ms cubic-bezier(0.4, 0, 0.2, 1), opacity 180ms cubic-bezier(0.4, 0, 0.2, 1);
}

.mdc-line-ripple--active::after {
  transform: scaleX(1);
  opacity: 1;
}

.mdc-line-ripple--deactivating::after {
  opacity: 0;
}

.mdc-notched-outline {
  display: flex;
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  height: 100%;
  /* @noflip */
  text-align: left;
  pointer-events: none;
}

[dir=rtl] .mdc-notched-outline, .mdc-notched-outline[dir=rtl] {
  /* @noflip */
  text-align: right;
}

.mdc-notched-outline__leading, .mdc-notched-outline__notch, .mdc-notched-outline__trailing {
  box-sizing: border-box;
  height: 100%;
  border-top: 1px solid;
  border-bottom: 1px solid;
  pointer-events: none;
}

.mdc-notched-outline__leading {
  /* @noflip */
  border-left: 1px solid;
  /* @noflip */
  border-right: none;
  width: 12px;
}

[dir=rtl] .mdc-notched-outline__leading, .mdc-notched-outline__leading[dir=rtl] {
  /* @noflip */
  border-left: none;
  /* @noflip */
  border-right: 1px solid;
}

.mdc-notched-outline__trailing {
  /* @noflip */
  border-left: none;
  /* @noflip */
  border-right: 1px solid;
  flex-grow: 1;
}

[dir=rtl] .mdc-notched-outline__trailing, .mdc-notched-outline__trailing[dir=rtl] {
  /* @noflip */
  border-left: 1px solid;
  /* @noflip */
  border-right: none;
}

.mdc-notched-outline__notch {
  flex: 0 0 auto;
  width: auto;
  max-width: calc(100% - 12px * 2);
}

.mdc-notched-outline .mdc-floating-label {
  display: inline-block;
  position: relative;
  max-width: 100%;
}

.mdc-notched-outline .mdc-floating-label--float-above {
  text-overflow: clip;
}

.mdc-notched-outline--upgraded .mdc-floating-label--float-above {
  max-width: 133.3333333333%;
}

.mdc-notched-outline--notched .mdc-notched-outline__notch {
  /* @noflip */
  padding-left: 0;
  /* @noflip */
  padding-right: 8px;
  border-top: none;
}

[dir=rtl] .mdc-notched-outline--notched .mdc-notched-outline__notch, .mdc-notched-outline--notched .mdc-notched-outline__notch[dir=rtl] {
  /* @noflip */
  padding-left: 8px;
  /* @noflip */
  padding-right: 0;
}

.mdc-notched-outline--no-label .mdc-notched-outline__notch {
  padding: 0;
}

.mdc-select__anchor {
  --mdc-ripple-fg-size: 0;
  --mdc-ripple-left: 0;
  --mdc-ripple-top: 0;
  --mdc-ripple-fg-scale: 1;
  --mdc-ripple-fg-translate-end: 0;
  --mdc-ripple-fg-translate-start: 0;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

.mdc-select__anchor .mdc-select__ripple::before,
.mdc-select__anchor .mdc-select__ripple::after {
  position: absolute;
  border-radius: 50%;
  opacity: 0;
  pointer-events: none;
  content: "";
}

.mdc-select__anchor .mdc-select__ripple::before {
  transition: opacity 15ms linear, background-color 15ms linear;
  z-index: 1;
}

.mdc-select__anchor.mdc-ripple-upgraded .mdc-select__ripple::before {
  transform: scale(var(--mdc-ripple-fg-scale, 1));
}

.mdc-select__anchor.mdc-ripple-upgraded .mdc-select__ripple::after {
  top: 0;
  /* @noflip */
  left: 0;
  transform: scale(0);
  transform-origin: center center;
}

.mdc-select__anchor.mdc-ripple-upgraded--unbounded .mdc-select__ripple::after {
  top: var(--mdc-ripple-top, 0);
  /* @noflip */
  left: var(--mdc-ripple-left, 0);
}

.mdc-select__anchor.mdc-ripple-upgraded--foreground-activation .mdc-select__ripple::after {
  animation: mdc-ripple-fg-radius-in 225ms forwards, mdc-ripple-fg-opacity-in 75ms forwards;
}

.mdc-select__anchor.mdc-ripple-upgraded--foreground-deactivation .mdc-select__ripple::after {
  animation: mdc-ripple-fg-opacity-out 150ms;
  transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1));
}

.mdc-select__anchor .mdc-select__ripple::before,
.mdc-select__anchor .mdc-select__ripple::after {
  top: calc(50% - 100%);
  /* @noflip */
  left: calc(50% - 100%);
  width: 200%;
  height: 200%;
}

.mdc-select__anchor.mdc-ripple-upgraded .mdc-select__ripple::after {
  width: var(--mdc-ripple-fg-size, 100%);
  height: var(--mdc-ripple-fg-size, 100%);
}

.mdc-select__anchor .mdc-select__ripple::before,
.mdc-select__anchor .mdc-select__ripple::after {
  background-color: rgba(0, 0, 0, 0.87);
}

.mdc-select__anchor:hover .mdc-select__ripple::before {
  opacity: 0.04;
}

.mdc-select__anchor.mdc-ripple-upgraded--background-focused .mdc-select__ripple::before, .mdc-select__anchor:not(.mdc-ripple-upgraded):focus .mdc-select__ripple::before {
  transition-duration: 75ms;
  opacity: 0.12;
}

.mdc-select__anchor .mdc-select__ripple {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

.mdc-select__menu .mdc-list .mdc-list-item--selected::before, .mdc-select__menu .mdc-list .mdc-list-item--selected::after {
  background-color: #000;
  /* @alternate */
  background-color: var(--mdc-theme-on-surface, #000);
}

.mdc-select__menu .mdc-list .mdc-list-item--selected:hover::before {
  opacity: 0.04;
}

.mdc-select__menu .mdc-list .mdc-list-item--selected.mdc-ripple-upgraded--background-focused::before, .mdc-select__menu .mdc-list .mdc-list-item--selected:not(.mdc-ripple-upgraded):focus::before {
  transition-duration: 75ms;
  opacity: 0.12;
}

.mdc-select__menu .mdc-list .mdc-list-item--selected:not(.mdc-ripple-upgraded)::after {
  transition: opacity 150ms linear;
}

.mdc-select__menu .mdc-list .mdc-list-item--selected:not(.mdc-ripple-upgraded):active::after {
  transition-duration: 75ms;
  opacity: 0.12;
}

.mdc-select__menu .mdc-list .mdc-list-item--selected.mdc-ripple-upgraded {
  --mdc-ripple-fg-opacity: 0.12;
}

.mdc-select {
  position: relative;
}

.mdc-select:not(.mdc-select--disabled) .mdc-select__anchor {
  background-color: whitesmoke;
}

.mdc-select:not(.mdc-select--disabled) .mdc-select__selected-text {
  color: rgba(0, 0, 0, 0.87);
}

.mdc-select:not(.mdc-select--disabled) .mdc-floating-label {
  color: rgba(0, 0, 0, 0.6);
}

.mdc-select:not(.mdc-select--disabled) .mdc-line-ripple::before {
  border-bottom-color: rgba(0, 0, 0, 0.42);
}

.mdc-select:not(.mdc-select--disabled) .mdc-select__anchor + .mdc-select-helper-text {
  color: rgba(0, 0, 0, 0.6);
}

.mdc-select:not(.mdc-select--disabled).mdc-select--focused .mdc-line-ripple::after {
  border-bottom-color: #00AEEF;
  /* @alternate */
  border-bottom-color: var(--mdc-theme-primary, #00AEEF);
}

.mdc-select:not(.mdc-select--disabled).mdc-select--focused .mdc-floating-label {
  color: rgba(0, 174, 239, 0.87);
}

.mdc-select:not(.mdc-select--disabled):hover .mdc-line-ripple::before {
  border-bottom-color: rgba(0, 0, 0, 0.87);
}

.mdc-select .mdc-floating-label {
  /* @noflip */
  left: 16px;
  /* @noflip */
  right: initial;
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none;
}

[dir=rtl] .mdc-select .mdc-floating-label, .mdc-select .mdc-floating-label[dir=rtl] {
  /* @noflip */
  left: initial;
  /* @noflip */
  right: 16px;
}

.mdc-select.mdc-select--outlined .mdc-floating-label {
  /* @noflip */
  left: 4px;
  /* @noflip */
  right: initial;
}

[dir=rtl] .mdc-select.mdc-select--outlined .mdc-floating-label, .mdc-select.mdc-select--outlined .mdc-floating-label[dir=rtl] {
  /* @noflip */
  left: initial;
  /* @noflip */
  right: 4px;
}

.mdc-select .mdc-select__anchor {
  border-radius: 4px 4px 0 0;
}

.mdc-select .mdc-select__anchor {
  /* @noflip */
  padding-left: 16px;
  /* @noflip */
  padding-right: 0;
}

[dir=rtl] .mdc-select .mdc-select__anchor, .mdc-select .mdc-select__anchor[dir=rtl] {
  /* @noflip */
  padding-left: 0;
  /* @noflip */
  padding-right: 16px;
}

.mdc-select.mdc-select--with-leading-icon .mdc-select__anchor {
  /* @noflip */
  padding-left: 0;
  /* @noflip */
  padding-right: 0;
}

[dir=rtl] .mdc-select.mdc-select--with-leading-icon .mdc-select__anchor, .mdc-select.mdc-select--with-leading-icon .mdc-select__anchor[dir=rtl] {
  /* @noflip */
  padding-left: 0;
  /* @noflip */
  padding-right: 0;
}

.mdc-select__dropdown-icon {
  background: url("data:image/svg+xml,%3Csvg%20width%3D%2210px%22%20height%3D%225px%22%20viewBox%3D%227%2010%2010%205%22%20version%3D%221.1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%3E%0A%20%20%20%20%3Cpolygon%20id%3D%22Shape%22%20stroke%3D%22none%22%20fill%3D%22%23000%22%20fill-rule%3D%22evenodd%22%20opacity%3D%220.54%22%20points%3D%227%2010%2012%2015%2017%2010%22%3E%3C%2Fpolygon%3E%0A%3C%2Fsvg%3E") no-repeat center;
  /* @noflip */
  margin-left: 12px;
  /* @noflip */
  margin-right: 12px;
  width: 24px;
  height: 24px;
  align-self: center;
  flex-shrink: 0;
  pointer-events: none;
  transition: transform 150ms cubic-bezier(0.4, 0, 0.2, 1);
}

[dir=rtl] .mdc-select__dropdown-icon, .mdc-select__dropdown-icon[dir=rtl] {
  /* @noflip */
  margin-left: 12px;
  /* @noflip */
  margin-right: 12px;
}

.mdc-select--focused .mdc-select__dropdown-icon {
  background: url("data:image/svg+xml,%3Csvg%20width%3D%2210px%22%20height%3D%225px%22%20viewBox%3D%227%2010%2010%205%22%20version%3D%221.1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%3E%0A%20%20%20%20%3Cpolygon%20id%3D%22Shape%22%20stroke%3D%22none%22%20fill%3D%22%2300AEEF%22%20fill-rule%3D%22evenodd%22%20opacity%3D%221%22%20points%3D%227%2010%2012%2015%2017%2010%22%3E%3C%2Fpolygon%3E%0A%3C%2Fsvg%3E") no-repeat center;
}

.mdc-select--activated .mdc-select__dropdown-icon {
  transform: rotate(180deg) translateY(-5px);
  transition: transform 150ms cubic-bezier(0.4, 0, 0.2, 1);
}

.mdc-select__anchor {
  height: 56px;
  display: inline-flex;
  align-items: baseline;
  display: inline-flex;
  position: relative;
  box-sizing: border-box;
  overflow: hidden;
  outline: none;
  cursor: pointer;
  min-width: 200px;
}

.mdc-select__anchor::before {
  display: inline-block;
  width: 0;
  height: 40px;
  content: "";
  vertical-align: 0;
}

.mdc-select--outlined .mdc-select__anchor .mdc-select__selected-text, .mdc-select--no-label .mdc-select__anchor .mdc-select__selected-text {
  height: 100%;
}

.mdc-select--outlined .mdc-select__anchor::before, .mdc-select--no-label .mdc-select__anchor::before {
  display: none;
}

.mdc-select__anchor .mdc-floating-label--float-above {
  transform: translateY(-106%) scale(0.75);
}

.mdc-select__anchor.mdc-select--focused .mdc-line-ripple::after {
  transform: scale(1, 2);
  opacity: 1;
}

.mdc-select__anchor + .mdc-select-helper-text {
  margin-right: 16px;
  margin-left: 16px;
}

.mdc-select--focused .mdc-select__anchor + .mdc-select-helper-text:not(.mdc-select-helper-text--validation-msg) {
  opacity: 1;
}

.mdc-select__selected-text {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-family: Roboto, sans-serif;
  /* @alternate */
  font-family: var(--mdc-typography-subtitle1-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));
  font-size: 1rem;
  /* @alternate */
  font-size: var(--mdc-typography-subtitle1-font-size, 1rem);
  line-height: 1.75rem;
  /* @alternate */
  line-height: var(--mdc-typography-subtitle1-line-height, 1.75rem);
  font-weight: 400;
  /* @alternate */
  font-weight: var(--mdc-typography-subtitle1-font-weight, 400);
  letter-spacing: 0.009375em;
  /* @alternate */
  letter-spacing: var(--mdc-typography-subtitle1-letter-spacing, 0.009375em);
  text-decoration: inherit;
  /* @alternate */
  text-decoration: var(--mdc-typography-subtitle1-text-decoration, inherit);
  text-transform: inherit;
  /* @alternate */
  text-transform: var(--mdc-typography-subtitle1-text-transform, inherit);
  box-sizing: border-box;
  width: 0;
  flex-grow: 1;
  height: 28px;
  border: none;
  outline: none;
  padding: 0;
  white-space: nowrap;
  appearance: none;
  pointer-events: none;
  text-overflow: ellipsis;
  background-color: transparent;
  color: inherit;
}

.mdc-select__selected-text::-ms-expand {
  display: none;
}

.mdc-select__selected-text::-ms-value {
  background-color: transparent;
  color: inherit;
}

.mdc-select--outlined {
  border: none;
}

.mdc-select--outlined:not(.mdc-select--disabled) .mdc-select__anchor {
  background-color: transparent;
}

.mdc-select--outlined:not(.mdc-select--disabled) .mdc-notched-outline__leading,
.mdc-select--outlined:not(.mdc-select--disabled) .mdc-notched-outline__notch,
.mdc-select--outlined:not(.mdc-select--disabled) .mdc-notched-outline__trailing {
  border-color: rgba(0, 0, 0, 0.38);
}

.mdc-select--outlined:not(.mdc-select--disabled):not(.mdc-select--focused) .mdc-select__anchor:hover .mdc-notched-outline .mdc-notched-outline__leading,
.mdc-select--outlined:not(.mdc-select--disabled):not(.mdc-select--focused) .mdc-select__anchor:hover .mdc-notched-outline .mdc-notched-outline__notch,
.mdc-select--outlined:not(.mdc-select--disabled):not(.mdc-select--focused) .mdc-select__anchor:hover .mdc-notched-outline .mdc-notched-outline__trailing {
  border-color: rgba(0, 0, 0, 0.87);
}

.mdc-select--outlined:not(.mdc-select--disabled).mdc-select--focused .mdc-notched-outline .mdc-notched-outline__leading,
.mdc-select--outlined:not(.mdc-select--disabled).mdc-select--focused .mdc-notched-outline .mdc-notched-outline__notch,
.mdc-select--outlined:not(.mdc-select--disabled).mdc-select--focused .mdc-notched-outline .mdc-notched-outline__trailing {
  border-width: 2px;
}

.mdc-select--outlined:not(.mdc-select--disabled).mdc-select--focused .mdc-notched-outline .mdc-notched-outline__leading,
.mdc-select--outlined:not(.mdc-select--disabled).mdc-select--focused .mdc-notched-outline .mdc-notched-outline__notch,
.mdc-select--outlined:not(.mdc-select--disabled).mdc-select--focused .mdc-notched-outline .mdc-notched-outline__trailing {
  border-color: #00AEEF;
  /* @alternate */
  border-color: var(--mdc-theme-primary, #00AEEF);
}

.mdc-select--outlined .mdc-notched-outline .mdc-notched-outline__leading {
  /* @noflip */
  border-radius: 4px 0 0 4px;
}

[dir=rtl] .mdc-select--outlined .mdc-notched-outline .mdc-notched-outline__leading, .mdc-select--outlined .mdc-notched-outline .mdc-notched-outline__leading[dir=rtl] {
  /* @noflip */
  border-radius: 0 4px 4px 0;
}

.mdc-select--outlined .mdc-notched-outline .mdc-notched-outline__trailing {
  /* @noflip */
  border-radius: 0 4px 4px 0;
}

[dir=rtl] .mdc-select--outlined .mdc-notched-outline .mdc-notched-outline__trailing, .mdc-select--outlined .mdc-notched-outline .mdc-notched-outline__trailing[dir=rtl] {
  /* @noflip */
  border-radius: 4px 0 0 4px;
}

.mdc-select--outlined .mdc-select__selected-text {
  border-radius: 4px;
}

.mdc-select--outlined:not(.mdc-select--disabled) .mdc-select__anchor {
  background-color: transparent;
}

.mdc-select--outlined .mdc-select__anchor {
  overflow: visible;
}

.mdc-select--outlined .mdc-select__anchor .mdc-floating-label--shake {
  animation: mdc-floating-label-shake-float-above-select-outlined 250ms 1;
}

.mdc-select--outlined .mdc-select__anchor .mdc-floating-label--float-above {
  transform: translateY(-37.25px) scale(1);
}

.mdc-select--outlined .mdc-select__anchor .mdc-floating-label--float-above {
  font-size: 0.75rem;
}

.mdc-select--outlined .mdc-select__anchor.mdc-notched-outline--upgraded .mdc-floating-label--float-above,
.mdc-select--outlined .mdc-select__anchor .mdc-notched-outline--upgraded .mdc-floating-label--float-above {
  transform: translateY(-34.75px) scale(0.75);
}

.mdc-select--outlined .mdc-select__anchor.mdc-notched-outline--upgraded .mdc-floating-label--float-above,
.mdc-select--outlined .mdc-select__anchor .mdc-notched-outline--upgraded .mdc-floating-label--float-above {
  font-size: 1rem;
}

.mdc-select--outlined .mdc-select__anchor .mdc-notched-outline--notched .mdc-notched-outline__notch {
  padding-top: 1px;
}

.mdc-select--outlined .mdc-select__selected-text {
  display: flex;
  border: none;
  z-index: 1;
  background-color: transparent;
}

.mdc-select--outlined .mdc-select__icon {
  z-index: 2;
}

.mdc-select--outlined .mdc-floating-label {
  line-height: 1.15rem;
  pointer-events: auto;
}

.mdc-select--outlined.mdc-select--focused .mdc-notched-outline--notched .mdc-notched-outline__notch {
  padding-top: 2px;
}

.mdc-select--invalid:not(.mdc-select--disabled) .mdc-floating-label {
  color: #b00020;
  /* @alternate */
  color: var(--mdc-theme-error, #b00020);
}

.mdc-select--invalid:not(.mdc-select--disabled) .mdc-line-ripple::before {
  border-bottom-color: #b00020;
  /* @alternate */
  border-bottom-color: var(--mdc-theme-error, #b00020);
}

.mdc-select--invalid:not(.mdc-select--disabled).mdc-select--focused .mdc-line-ripple::after {
  border-bottom-color: #b00020;
  /* @alternate */
  border-bottom-color: var(--mdc-theme-error, #b00020);
}

.mdc-select--invalid:not(.mdc-select--disabled).mdc-select--focused .mdc-floating-label {
  color: #b00020;
}

.mdc-select--invalid:not(.mdc-select--disabled).mdc-select--invalid .mdc-select__anchor + .mdc-select-helper-text--validation-msg {
  color: #b00020;
  /* @alternate */
  color: var(--mdc-theme-error, #b00020);
}

.mdc-select--invalid:not(.mdc-select--disabled):hover .mdc-line-ripple::before {
  border-bottom-color: #b00020;
  /* @alternate */
  border-bottom-color: var(--mdc-theme-error, #b00020);
}

.mdc-select--invalid.mdc-select--outlined:not(.mdc-select--disabled) .mdc-notched-outline__leading,
.mdc-select--invalid.mdc-select--outlined:not(.mdc-select--disabled) .mdc-notched-outline__notch,
.mdc-select--invalid.mdc-select--outlined:not(.mdc-select--disabled) .mdc-notched-outline__trailing {
  border-color: #b00020;
  /* @alternate */
  border-color: var(--mdc-theme-error, #b00020);
}

.mdc-select--invalid.mdc-select--outlined:not(.mdc-select--disabled):not(.mdc-select--focused) .mdc-select__anchor:hover .mdc-notched-outline .mdc-notched-outline__leading,
.mdc-select--invalid.mdc-select--outlined:not(.mdc-select--disabled):not(.mdc-select--focused) .mdc-select__anchor:hover .mdc-notched-outline .mdc-notched-outline__notch,
.mdc-select--invalid.mdc-select--outlined:not(.mdc-select--disabled):not(.mdc-select--focused) .mdc-select__anchor:hover .mdc-notched-outline .mdc-notched-outline__trailing {
  border-color: #b00020;
  /* @alternate */
  border-color: var(--mdc-theme-error, #b00020);
}

.mdc-select--invalid.mdc-select--outlined:not(.mdc-select--disabled).mdc-select--focused .mdc-notched-outline .mdc-notched-outline__leading,
.mdc-select--invalid.mdc-select--outlined:not(.mdc-select--disabled).mdc-select--focused .mdc-notched-outline .mdc-notched-outline__notch,
.mdc-select--invalid.mdc-select--outlined:not(.mdc-select--disabled).mdc-select--focused .mdc-notched-outline .mdc-notched-outline__trailing {
  border-width: 2px;
}

.mdc-select--invalid.mdc-select--outlined:not(.mdc-select--disabled).mdc-select--focused .mdc-notched-outline .mdc-notched-outline__leading,
.mdc-select--invalid.mdc-select--outlined:not(.mdc-select--disabled).mdc-select--focused .mdc-notched-outline .mdc-notched-outline__notch,
.mdc-select--invalid.mdc-select--outlined:not(.mdc-select--disabled).mdc-select--focused .mdc-notched-outline .mdc-notched-outline__trailing {
  border-color: #b00020;
  /* @alternate */
  border-color: var(--mdc-theme-error, #b00020);
}

.mdc-select--invalid .mdc-select__dropdown-icon {
  background: url("data:image/svg+xml,%3Csvg%20width%3D%2210px%22%20height%3D%225px%22%20viewBox%3D%227%2010%2010%205%22%20version%3D%221.1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%3E%0A%20%20%20%20%3Cpolygon%20id%3D%22Shape%22%20stroke%3D%22none%22%20fill%3D%22%23b00020%22%20fill-rule%3D%22evenodd%22%20opacity%3D%221%22%20points%3D%227%2010%2012%2015%2017%2010%22%3E%3C%2Fpolygon%3E%0A%3C%2Fsvg%3E") no-repeat center;
}

.mdc-select--invalid + .mdc-select-helper-text--validation-msg {
  opacity: 1;
}

.mdc-select--required .mdc-floating-label::after {
  content: "*";
}

.mdc-select--disabled {
  cursor: default;
  pointer-events: none;
}

.mdc-select--disabled .mdc-select__anchor {
  background-color: #fafafa;
}

.mdc-select--disabled .mdc-floating-label {
  color: rgba(0, 0, 0, 0.38);
}

.mdc-select--disabled .mdc-select__dropdown-icon {
  background: url("data:image/svg+xml,%3Csvg%20width%3D%2210px%22%20height%3D%225px%22%20viewBox%3D%227%2010%2010%205%22%20version%3D%221.1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%3E%0A%20%20%20%20%3Cpolygon%20id%3D%22Shape%22%20stroke%3D%22none%22%20fill%3D%22%23000%22%20fill-rule%3D%22evenodd%22%20opacity%3D%220.38%22%20points%3D%227%2010%2012%2015%2017%2010%22%3E%3C%2Fpolygon%3E%0A%3C%2Fsvg%3E") no-repeat center;
}

.mdc-select--disabled .mdc-line-ripple::before {
  border-bottom-color: rgba(0, 0, 0, 0.38);
}

.mdc-select--disabled .mdc-line-ripple::before {
  border-bottom-style: dotted;
}

.mdc-select--disabled .mdc-select__icon {
  color: rgba(0, 0, 0, 0.38);
}

.mdc-select--disabled .mdc-select__selected-text {
  color: rgba(0, 0, 0, 0.38);
  pointer-events: none;
}

.mdc-select--disabled.mdc-select--outlined .mdc-select__anchor {
  background-color: transparent;
}

.mdc-select--disabled.mdc-select--outlined .mdc-notched-outline__leading,
.mdc-select--disabled.mdc-select--outlined .mdc-notched-outline__notch,
.mdc-select--disabled.mdc-select--outlined .mdc-notched-outline__trailing {
  border-color: rgba(0, 0, 0, 0.16);
}

.mdc-select--with-leading-icon .mdc-floating-label {
  /* @noflip */
  left: 48px;
  /* @noflip */
  right: initial;
}

[dir=rtl] .mdc-select--with-leading-icon .mdc-floating-label, .mdc-select--with-leading-icon .mdc-floating-label[dir=rtl] {
  /* @noflip */
  left: initial;
  /* @noflip */
  right: 48px;
}

.mdc-select--with-leading-icon.mdc-select--outlined .mdc-floating-label {
  /* @noflip */
  left: 36px;
  /* @noflip */
  right: initial;
}

[dir=rtl] .mdc-select--with-leading-icon.mdc-select--outlined .mdc-floating-label, .mdc-select--with-leading-icon.mdc-select--outlined .mdc-floating-label[dir=rtl] {
  /* @noflip */
  left: initial;
  /* @noflip */
  right: 36px;
}

.mdc-select--with-leading-icon.mdc-select--outlined .mdc-floating-label--float-above {
  /* @noflip */
  left: 36px;
  /* @noflip */
  right: initial;
}

[dir=rtl] .mdc-select--with-leading-icon.mdc-select--outlined .mdc-floating-label--float-above, .mdc-select--with-leading-icon.mdc-select--outlined .mdc-floating-label--float-above[dir=rtl] {
  /* @noflip */
  left: initial;
  /* @noflip */
  right: 36px;
}

.mdc-select--with-leading-icon.mdc-select--outlined .mdc-floating-label--float-above {
  transform: translateY(-37.25px) translateX(-32px) scale(1);
}

[dir=rtl] .mdc-select--with-leading-icon.mdc-select--outlined .mdc-floating-label--float-above, .mdc-select--with-leading-icon.mdc-select--outlined .mdc-floating-label--float-above[dir=rtl] {
  transform: translateY(-37.25px) translateX(32px) scale(1);
}

.mdc-select--with-leading-icon.mdc-select--outlined .mdc-floating-label--float-above {
  font-size: 0.75rem;
}

.mdc-select--with-leading-icon.mdc-select--outlined.mdc-notched-outline--upgraded .mdc-floating-label--float-above,
.mdc-select--with-leading-icon.mdc-select--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above {
  transform: translateY(-34.75px) translateX(-32px) scale(0.75);
}

[dir=rtl] .mdc-select--with-leading-icon.mdc-select--outlined.mdc-notched-outline--upgraded .mdc-floating-label--float-above, .mdc-select--with-leading-icon.mdc-select--outlined.mdc-notched-outline--upgraded .mdc-floating-label--float-above[dir=rtl],
[dir=rtl] .mdc-select--with-leading-icon.mdc-select--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above,
.mdc-select--with-leading-icon.mdc-select--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above[dir=rtl] {
  transform: translateY(-34.75px) translateX(32px) scale(0.75);
}

.mdc-select--with-leading-icon.mdc-select--outlined.mdc-notched-outline--upgraded .mdc-floating-label--float-above,
.mdc-select--with-leading-icon.mdc-select--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above {
  font-size: 1rem;
}

.mdc-select--with-leading-icon.mdc-select--outlined .mdc-floating-label--shake {
  animation: mdc-floating-label-shake-float-above-select-outlined-leading-icon 250ms 1;
}

[dir=rtl] .mdc-select--with-leading-icon.mdc-select--outlined .mdc-floating-label--shake, .mdc-select--with-leading-icon.mdc-select--outlined[dir=rtl] .mdc-floating-label--shake {
  animation: mdc-floating-label-shake-float-above-select-outlined-leading-icon-rtl 250ms 1;
}

.mdc-select--with-leading-icon.mdc-select__menu .mdc-list-item__text {
  /* @noflip */
  padding-left: 32px;
  /* @noflip */
  padding-right: 32px;
}

[dir=rtl] .mdc-select--with-leading-icon.mdc-select__menu .mdc-list-item__text, .mdc-select--with-leading-icon.mdc-select__menu .mdc-list-item__text[dir=rtl] {
  /* @noflip */
  padding-left: 32px;
  /* @noflip */
  padding-right: 32px;
}

.mdc-select__menu .mdc-list .mdc-list-item--selected {
  color: #000;
  /* @alternate */
  color: var(--mdc-theme-on-surface, #000);
}

@keyframes mdc-floating-label-shake-float-above-select-outlined-leading-icon {
  0% {
    transform: translateX(calc(0 - 32px)) translateY(-34.75px) scale(0.75);
  }
  33% {
    animation-timing-function: cubic-bezier(0.5, 0, 0.701732, 0.495819);
    transform: translateX(calc(4% - 32px)) translateY(-34.75px) scale(0.75);
  }
  66% {
    animation-timing-function: cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);
    transform: translateX(calc(-4% - 32px)) translateY(-34.75px) scale(0.75);
  }
  100% {
    transform: translateX(calc(0 - 32px)) translateY(-34.75px) scale(0.75);
  }
}
@keyframes mdc-floating-label-shake-float-above-select-outlined-leading-icon-rtl {
  0% {
    transform: translateX(calc(0 - -32px)) translateY(-34.75px) scale(0.75);
  }
  33% {
    animation-timing-function: cubic-bezier(0.5, 0, 0.701732, 0.495819);
    transform: translateX(calc(4% - -32px)) translateY(-34.75px) scale(0.75);
  }
  66% {
    animation-timing-function: cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);
    transform: translateX(calc(-4% - -32px)) translateY(-34.75px) scale(0.75);
  }
  100% {
    transform: translateX(calc(0 - -32px)) translateY(-34.75px) scale(0.75);
  }
}
.fileinput-container {
  margin: 0 0 28px 0;
}

.btn-file {
  overflow: hidden;
  position: relative;
  vertical-align: middle;
  border-radius: 4px;
  line-height: 30px;
  user-select: none;
  --mdc-ripple-fg-size: 0;
  --mdc-ripple-left: 0;
  --mdc-ripple-top: 0;
  --mdc-ripple-fg-scale: 1;
  --mdc-ripple-fg-translate-end: 0;
  --mdc-ripple-fg-translate-start: 0;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
.btn-file::before, .btn-file::after {
  position: absolute;
  border-radius: 50%;
  opacity: 0;
  pointer-events: none;
  content: "";
}
.btn-file::before {
  transition: opacity 15ms linear, background-color 15ms linear;
  z-index: 1;
}
.btn-file.mdc-ripple-upgraded::before {
  transform: scale(var(--mdc-ripple-fg-scale, 1));
}
.btn-file.mdc-ripple-upgraded::after {
  top: 0;
  /* @noflip */
  left: 0;
  transform: scale(0);
  transform-origin: center center;
}
.btn-file.mdc-ripple-upgraded--unbounded::after {
  top: var(--mdc-ripple-top, 0);
  /* @noflip */
  left: var(--mdc-ripple-left, 0);
}
.btn-file.mdc-ripple-upgraded--foreground-activation::after {
  animation: mdc-ripple-fg-radius-in 225ms forwards, mdc-ripple-fg-opacity-in 75ms forwards;
}
.btn-file.mdc-ripple-upgraded--foreground-deactivation::after {
  animation: mdc-ripple-fg-opacity-out 150ms;
  transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1));
}
.btn-file::before, .btn-file::after {
  top: calc(50% - 100%);
  /* @noflip */
  left: calc(50% - 100%);
  width: 200%;
  height: 200%;
}
.btn-file.mdc-ripple-upgraded::after {
  width: var(--mdc-ripple-fg-size, 100%);
  height: var(--mdc-ripple-fg-size, 100%);
}
.btn-file::before, .btn-file::after {
  background-color: #00AEEF;
}
.btn-file:hover::before {
  opacity: 0;
}
.btn-file.mdc-ripple-upgraded--background-focused::before, .btn-file:not(.mdc-ripple-upgraded):focus::before {
  transition-duration: 75ms;
  opacity: 0;
}
.btn-file:not(.mdc-ripple-upgraded)::after {
  transition: opacity 150ms linear;
}
.btn-file:not(.mdc-ripple-upgraded):active::after {
  transition-duration: 75ms;
  opacity: 0.08;
}
.btn-file.mdc-ripple-upgraded {
  --mdc-ripple-fg-opacity: 0.08;
}
.btn-file > input {
  position: absolute;
  top: 0;
  right: 0;
  margin: 0;
  opacity: 0;
  filter: alpha(opacity=0);
  font-size: 23px;
  height: 100%;
  width: 100%;
  direction: ltr;
  cursor: pointer;
}
.btn-file > input::-webkit-file-upload-button {
  cursor: pointer;
}
.tab-navigation .btn-file:focus-within {
  background-color: rgba(0, 174, 239, 0.08);
}

.fileinput {
  max-width: 100vw;
  display: flex;
  align-items: center;
  min-height: 48px;
}
.fileinput .form-control {
  padding-top: 7px;
  padding-bottom: 5px;
  display: inline-block;
  margin-bottom: 0;
  vertical-align: middle;
  cursor: text;
}
.fileinput .thumbnail {
  overflow: hidden;
  display: inline-block;
  margin-bottom: 5px;
  vertical-align: middle;
  text-align: center;
}
.fileinput .thumbnail > img {
  max-height: 100%;
}
.fileinput .btn {
  vertical-align: middle;
}
.fileinput .form-group {
  overflow: hidden;
}
.fileinput .form-group .fileinput-filename {
  width: calc(100% - 20px);
}

.fileinput-exists .fileinput-new,
.fileinput-new .fileinput-exists {
  display: none;
}

.fileinput-exists.close {
  float: none;
}

.fileinput-inline .fileinput-controls {
  display: inline;
}

.fileinput-filename {
  display: inline-block;
  overflow: hidden;
  vertical-align: middle;
  white-space: nowrap;
  text-overflow: ellipsis;
  max-width: 150px;
  margin-left: 15px;
}

.form-control .fileinput-filename {
  vertical-align: bottom;
  white-space: nowrap;
  width: 100%;
  max-width: 100%;
  position: absolute;
  left: 0;
  padding-left: 30px;
}

.fileinput.input-group {
  display: table;
}
.fileinput.input-group > * {
  position: relative;
  z-index: 2;
}
.fileinput.input-group > .btn-file {
  z-index: 1;
}

.fileinput-new.input-group .btn-file,
.fileinput-new .input-group .btn-file {
  border-radius: 0 0 0 0;
}
.fileinput-new.input-group .btn-file.btn-xs, .fileinput-new.input-group .btn-file.btn-sm,
.fileinput-new .input-group .btn-file.btn-xs,
.fileinput-new .input-group .btn-file.btn-sm {
  border-radius: 0 0 0 0;
}
.fileinput-new.input-group .btn-file.btn-lg,
.fileinput-new .input-group .btn-file.btn-lg {
  border-radius: 0 0 0 0;
}

.form-group.has-warning .fileinput .fileinput-preview {
  color: #FFFF00;
}
.form-group.has-warning .fileinput .thumbnail {
  border-color: #FFFF00;
}

.form-group.has-error .fileinput .fileinput-preview {
  color: #FFFF00;
}
.form-group.has-error .fileinput .thumbnail {
  border-color: #FFFF00;
}

.form-group.has-success .fileinput .fileinput-preview {
  color: #00AEEF;
}
.form-group.has-success .fileinput .thumbnail {
  border-color: #00AEEF;
}

.input-group-addon:not(:first-child) {
  border-left: 0;
}

.accordion5 {
  display: flex;
  flex-direction: column;
  margin-bottom: 15px;
}
@media (min-width: 1400px) {
  .accordion5 {
    margin-bottom: 30px;
  }
}
.accordion5__toggle {
  border: none;
  position: relative;
  overflow: hidden;
  background-color: transparent;
  display: block;
  font-family: inherit;
  user-select: text;
  outline: none;
  text-align: left;
  margin: 0;
  width: 100%;
  line-height: 1.25;
  font-weight: 500;
  text-decoration: underline;
  padding: 0 0 10px;
}
@media (min-width: 992px) {
  .accordion5__toggle {
    line-height: inherit;
  }
}
.accordion5__toggle:focus {
  outline: none;
}
.accordion5__panel {
  position: relative;
  background-color: #bcedff;
}
.accordion5__panel-content {
  padding: 40px 30px 0;
}
.accordion5__panel-border {
  position: absolute;
  z-index: 0;
  top: 18px;
  left: 0;
  width: 100%;
  height: 6px;
  background-color: #3dcaff;
}
.accordion5__panel-border:before, .accordion5__panel-border:after {
  content: "";
  position: absolute;
  bottom: 100%;
  border-bottom: 18px solid #3dcaff;
  box-sizing: border-box;
  background-color: #fff;
}
.accordion5__panel-border:before {
  left: 0;
  border-right: 18px solid transparent;
  width: 45px;
}
.accordion5__panel-border:after {
  right: 0;
  border-left: 18px solid transparent;
  width: calc(100% - 45px);
}
.accordion5__panel:before, .accordion5__panel:after {
  content: "";
  position: absolute;
  z-index: 1;
  top: 4px;
  height: 0;
  border-bottom: 20px solid #bcedff;
  box-sizing: border-box;
}
.accordion5__panel:before {
  left: 0;
  border-right: 20px solid transparent;
  width: 45px;
}
.accordion5__panel:after {
  right: 0;
  border-left: 20px solid transparent;
  width: calc(100% - 45px);
}

.accordion6 {
  border-bottom: 1px solid rgba(255, 255, 255, 0.4);
}
.accordion6__panel {
  padding: 0 15px;
}
@media (min-width: 1200px) {
  .accordion6__panel {
    padding: 0;
  }
}
.accordion6__panel-space {
  padding: 25px 0;
}
.accordion6__toggle {
  width: 100%;
  border-radius: 0;
  color: #2D2926 !important;
  text-transform: none;
  font-weight: 400;
  background-repeat: no-repeat;
  background-size: 24px 24px;
  background-position: right 16px top 15px;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http://www.w3.org/2000/svg%22%20fill%3D%22%232D2926%22%20viewBox%3D%220%200%2036%2036%22%3E%3Cpath%20d%3D%22M33.87,27a1.13,1.13,0,0,1-.8-.33L18,11.72l-15.07,15a1.13,1.13,0,0,1-1.6,0,1.12,1.12,0,0,1,0-1.59L17.2,9.33a1.13,1.13,0,0,1,1.6,0L34.67,25.08a1.13,1.13,0,0,1-.8,1.92Z%22/%3E%3Cpath%20d%3D%22M36,36H0V0H36Z%22%20fill%3D%22none%22/%3E%3C/svg%3E");
  letter-spacing: 1px;
  text-align: left;
  background-color: transparent;
  border: none;
  font-size: 22px;
  padding: 9px 55px 9px 0;
}
.accordion6__toggle:focus, .accordion6__toggle:active {
  outline: none;
}
.accordion6__toggle.collapsed {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http://www.w3.org/2000/svg%22%20fill%3D%22%232D2926%22%20viewBox%3D%220%200%2036%2036%22%3E%3Cpath%20d%3D%22M2.13,9a1.13,1.13,0,0,1,.8.33L18,24.28,33.07,9.33a1.13,1.13,0,0,1,1.6,0,1.12,1.12,0,0,1,0,1.59L18.8,26.67a1.13,1.13,0,0,1-1.6,0L1.33,10.92A1.13,1.13,0,0,1,2.13,9Z%22/%3E%3Cpath%20d%3D%22M36,36H0V0H36Z%22%20fill%3D%22none%22/%3E%3C/svg%3E");
}

.mdc-list-item--disabled {
  pointer-events: none;
  color: rgba(32, 29, 29, 0.3);
}

.mdc-menu-surface {
  scrollbar-width: thin;
  scrollbar-color: #d6d8da #fff;
  z-index: 20;
}
.mdc-menu-surface::-webkit-scrollbar {
  width: 8px;
  background-color: #fff;
}
.mdc-menu-surface::-webkit-scrollbar-thumb {
  outline: none;
  width: 7px;
  border-radius: 7px;
  background-color: #d6d8da;
  border: 1px solid #fff;
}
.mdc-menu-surface--anchor > button {
  display: block;
  text-align: left;
  text-overflow: ellipsis;
}

.mdc-icon-button.material-icons {
  width: 48px;
  font-family: materialIconsRoundWeb, sans-serif;
}

.mdc-radio {
  overflow: hidden;
}

.mdc-radio__ripple {
  overflow: hidden;
  border-radius: 100px;
}

.mdc-menu .mdc-list-item {
  height: auto;
  display: block;
  text-align: left;
  padding-top: 6px;
  padding-bottom: 6px;
  line-height: 1.2;
}
@media (min-width: 992px) {
  .mdc-menu .mdc-list-item {
    padding-top: 10px;
    padding-bottom: 10px;
  }
}

.breadcrumb {
  display: none;
}
@media (min-width: 992px) {
  .breadcrumb {
    display: block;
    list-style: none;
    margin: 30px auto 15px auto;
    font-size: 0;
    font-weight: 300;
    width: 100%;
    padding: 0 15px;
    max-width: 1284px;
    letter-spacing: 0.4px;
  }
}
@media (min-width: 1200px) {
  .breadcrumb {
    margin: 35px auto 20px auto;
  }
}
@media (min-width: 1400px) {
  .breadcrumb {
    margin: 75px auto 20px auto;
  }
}
@media (min-width: 992px) {
  .hero-365 + .breadcrumb {
    margin: 15px auto 16px auto;
  }
}
@media (min-width: 1200px) {
  .hero-365 + .breadcrumb {
    margin: 25px auto 26px auto;
  }
}
@media (min-width: 1400px) {
  .hero-365 + .breadcrumb {
    margin: 36px auto 35px auto;
  }
}
@media (min-width: 992px) {
  .hero-page + .breadcrumb {
    margin: 15px auto;
  }
}
@media (min-width: 1200px) {
  .hero-page + .breadcrumb {
    margin: 25px auto 20px auto;
  }
}
@media (min-width: 1400px) {
  .hero-page + .breadcrumb {
    margin: 36px auto 20px auto;
  }
}
@media (min-width: 992px) {
  .hero-section + .breadcrumb {
    margin: 30px auto 15px auto;
  }
}
@media (min-width: 1200px) {
  .hero-section + .breadcrumb {
    margin: 25px auto 45px auto;
  }
}
@media (min-width: 1400px) {
  .hero-section + .breadcrumb {
    margin: 36px auto 95px auto;
  }
}
@media (min-width: 992px) {
  .landingpage-view .breadcrumb {
    margin: 15px auto;
  }
}
@media (min-width: 1200px) {
  .landingpage-view .breadcrumb {
    max-width: 1080px;
    margin: 25px auto 23px auto;
  }
}
@media (min-width: 1400px) {
  .landingpage-view .breadcrumb {
    margin: 36px auto 34px auto;
    max-width: 1284px;
  }
}
.breadcrumb__list {
  padding: 0;
  margin: 0;
}
.breadcrumb__item {
  font-size: 14px;
  display: inline-block;
  vertical-align: top;
  position: relative;
}
.breadcrumb__item:after {
  content: ">";
  margin: 0 5px 0 4px;
}
.breadcrumb__item:last-of-type {
  font-weight: 500;
}
.breadcrumb__item:last-of-type a {
  color: #00AEEF;
}
.breadcrumb__item:last-of-type:after {
  display: none;
}
.breadcrumb__link {
  color: #201d1d;
}
.breadcrumb__link:hover, .breadcrumb__link:focus {
  text-decoration: underline;
}

.aside-section {
  padding-bottom: 10px;
  margin-bottom: 24px;
}
@media (min-width: 992px) {
  .aside-section {
    margin-bottom: 80px;
  }
}
.aside-section__title {
  font-size: 16.5px;
  line-height: 1.3;
  font-weight: 500;
  padding-bottom: 15px;
  border-bottom: 1px solid #d6d8da;
  letter-spacing: 0.8px;
  margin-bottom: 2px;
}
@media (min-width: 768px) {
  .aside-section__title {
    font-size: 21px;
    padding-bottom: 18px;
    margin-bottom: 8px;
  }
}

.file-download {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
}

.aside-header-button {
  text-align: center;
  padding: 24px 42px;
  margin-bottom: 30px;
}
@media (min-width: 992px) {
  .aside-header-button {
    padding: 36px 42px;
  }
}
.aside-header-button__title {
  font-size: 22px;
  line-height: 1.4;
  font-weight: 400;
  margin-bottom: 38px;
}
@media (min-width: 992px) {
  .aside-header-button__title {
    font-size: 28px;
  }
}
.aside-header-button__action {
  text-transform: none;
}
@media (min-width: 992px) {
  .aside-header-button__action {
    width: 100%;
  }
}

.article {
  padding: 0 23px;
  margin-bottom: 20px;
}
@media (min-width: 992px) {
  .article {
    padding: 0 15px;
    margin-bottom: 30px;
  }
}
@media (min-width: 992px) {
  .article {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-bottom: 50px;
  }
}
@media (min-width: 1656px) {
  .article {
    margin-bottom: 80px;
  }
}
@media (min-width: 992px) {
  .article:first-child {
    margin-top: 30px;
  }
}
@media (min-width: 1200px) {
  .article:first-child {
    margin-top: 35px;
  }
}
@media (min-width: 1400px) {
  .article:first-child {
    margin-top: 55px;
  }
}
.breadcrumb + .article {
  margin-top: 0;
}
.article__header {
  position: relative;
  padding-bottom: 60px;
}
@media (min-width: 992px) {
  .article__header {
    padding-bottom: 78px;
    flex: 0 0 100%;
    max-width: 100%;
  }
}
.article__header:before {
  content: "";
  display: block;
  width: 75px;
  height: 1px;
  background-color: #d6d8da;
  position: absolute;
  bottom: 30px;
}
@media (min-width: 992px) {
  .article__header:before {
    width: 283px;
    bottom: 45px;
  }
}
@media (min-width: 992px) {
  .article--one-column .article__header {
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
  }
}
.article__header--no-info .article__headline {
  margin-bottom: 0;
}
.article__content {
  margin: 0 auto;
  flex: 0 0 100%;
  max-width: 800px;
  position: relative;
}
@media (min-width: 992px) {
  .article__content {
    flex: 0 0 calc(100% - 414px);
    max-width: calc(100% - 414px);
    margin: 0;
  }
}
@media (min-width: 1400px) {
  .article__content {
    flex: 0 0 800px;
    max-width: 800px;
  }
}
@media (min-width: 992px) {
  .article__content:last-child {
    margin: 0 auto;
  }
}
.article__aside {
  flex: 0 0 100%;
  margin-top: 40px;
}
@media (min-width: 992px) {
  .article__aside {
    margin-top: 0;
    flex: 0 0 364px;
    max-width: 364px;
  }
}
@media (min-width: 1400px) {
  .article__aside {
    flex: 0 0 384px;
    max-width: 384px;
  }
}
.article__aside .newsletter__header {
  min-height: 60px;
}
@media (min-width: 1400px) {
  .article__aside .newsletter__header {
    height: 100px;
  }
}
.article__aside .teaser {
  margin: 0 auto 45px;
  max-width: 400px;
}
.article__aside .teaser.newsletter {
  margin: 0 -23px 45px;
  max-width: none;
  display: none;
}
@media (min-width: 992px) {
  .article__aside .teaser.newsletter {
    margin: 0 -15px 45px;
    display: flex;
  }
}
@media (min-width: 992px) {
  .article__aside .teaser.newsletter {
    margin: 0 0 45px 0;
  }
}
.article__aside .teaser-365 {
  display: none;
}
@media (min-width: 992px) {
  .article__aside .teaser-365 {
    display: block;
    border: 1px solid #d6d8da;
    margin: 0 0 54px 0;
  }
}
.article__aside .read-too {
  margin: 0 -23px 25px;
}
@media (min-width: 992px) {
  .article__aside .read-too {
    margin: 0 -15px 25px;
  }
}
@media (min-width: 992px) {
  .article__aside .read-too {
    margin: 0 0 40px 0;
  }
}
.article__aside .read-too__title {
  padding: 0 23px;
  text-align: center;
}
@media (min-width: 992px) {
  .article__aside .read-too__title {
    text-align: left;
    padding: 0;
  }
}
.article__aside .teaser-short {
  padding-left: 23px;
  padding-right: 23px;
}
@media (min-width: 992px) {
  .article__aside .teaser-short {
    padding-left: 15px;
    padding-right: 15px;
  }
}
@media (min-width: 992px) {
  .article__aside-content--sticky {
    position: sticky;
    top: 100px;
  }
}
.article__headline {
  font-size: 29px;
  margin-top: 40px;
  line-height: 1.3;
  margin-bottom: 55px;
}
@media (min-width: 992px) {
  .article__headline {
    font-size: 56px;
    line-height: 1.2;
    margin-top: 5px;
    margin-bottom: 75px;
  }
}
.article__headline + .article__info {
  margin-top: -43px;
}
@media (min-width: 992px) {
  .article__headline + .article__info {
    margin-top: -63px;
  }
}
.article__info {
  display: flex;
  flex-wrap: wrap;
}
.article__label {
  display: inline-block;
  vertical-align: top;
  color: #fff;
  background-color: #00AEEF;
  font-size: 10.5px;
  line-height: 17px;
  height: 17px;
  padding: 0 6px;
  transition: background-color 0.2s;
  margin: 0 20px 0 0;
}
@media (min-width: 992px) {
  .article__label {
    font-size: 17px;
    line-height: 33px;
    height: 33px;
    padding: 0 8px;
    margin-right: 52px;
  }
}
.article__label[href]:hover {
  color: #fff;
  background-color: #009ae0;
}
.tab-navigation .article__label[href]:focus {
  color: #fff;
  background-color: #009ae0;
}
.article__time {
  display: inline-block;
  vertical-align: top;
  color: #201d1d;
  padding: 0;
  font-weight: 300;
  font-size: 10.5px;
  line-height: 17px;
  height: 17px;
  letter-spacing: 0;
  margin-right: 20px;
  margin-bottom: 10px;
}
@media (min-width: 992px) {
  .article__time {
    font-size: 17px;
    line-height: 33px;
    height: 33px;
    margin-right: 52px;
    margin-bottom: 0;
  }
}
.article__main {
  padding: 0 8px;
}
@media (min-width: 992px) {
  .article__main {
    padding: 0;
  }
}
.article__hero-img {
  max-width: 100%;
}
.article__navtitle {
  display: none;
}
@media (min-width: 992px) {
  .article__navtitle {
    display: block;
    line-height: 1.2;
    margin-bottom: 35px;
    font-weight: 500;
    font-size: 24px;
    letter-spacing: 0.2px;
  }
}
.article__nav {
  display: none;
  border-top: 1px solid #d0d2d3;
  margin-bottom: 50px;
}
@media (min-width: 992px) {
  .article__nav {
    display: block;
    border-top: none;
    flex-direction: column;
  }
}
.article__nav-link {
  height: auto;
  text-transform: none;
  overflow: hidden;
  position: relative;
  font-weight: 400;
  transition: background-color 0.2s;
  display: flex;
  font-size: 16px;
  line-height: 1.5;
  justify-content: flex-start;
  text-align: left;
  letter-spacing: 0.2px;
  min-height: 48px;
}
.article__nav-link:not(:disabled) {
  background-color: #fff;
}
.article__nav-link:not(:disabled) {
  color: #201d1d;
}
@media (min-width: 992px) {
  .article__nav-link {
    font-size: 19px;
    margin-bottom: 14px;
  }
}
@media (min-width: 992px) {
  .article__nav-link--hidden {
    visibility: hidden;
    position: absolute;
    height: 0;
  }
}
@media (min-width: 992px) {
  .article__nav-link:hover {
    background-color: rgba(32, 29, 29, 0.04);
  }
}
.article__nav-link:hover .mdc-button__ripple:before,
.article__nav-link:hover .mdc-button__ripple:after {
  opacity: 0;
}
.article__nav-link.mdc-ripple-upgraded {
  --mdc-ripple-fg-opacity: 0.04;
}
.article__nav-link .mdc-button__ripple:before, .article__nav-link .mdc-button__ripple:after {
  background-color: #201d1d;
}
.article__nav-link .mdc-button__label {
  white-space: normal;
}
.article__nav-link:focus .mdc-button__ripple:before,
.article__nav-link:focus .mdc-button__ripple:after {
  opacity: 0;
}
.tab-navigation .article__nav-link:focus .mdc-button__ripple:before,
.tab-navigation .article__nav-link:focus .mdc-button__ripple:after {
  opacity: 0.04;
}
.article__nav-link.active .mdc-button__ripple:before {
  opacity: 0;
}
.nav-pills .article__nav-link.active {
  color: #201d1d;
  background-color: rgba(32, 29, 29, 0.08);
  border-radius: 0;
}
@media (min-width: 992px) {
  .nav-pills .article__nav-link.active {
    background-color: rgba(32, 29, 29, 0.04);
  }
}
@media (min-width: 992px) {
  .article__nav-link.active:after {
    height: 30px;
  }
}
@media (min-width: 992px) {
  .article__nav-link:after {
    content: "";
    display: block;
    width: 3px;
    height: 0;
    position: absolute;
    margin: auto;
    right: 5px;
    top: -100%;
    bottom: -100%;
    background-color: #00AEEF;
    transition: height 0.2s;
  }
}
.article__nav-select-toggle {
  font-size: 18px;
  height: 48px;
  width: 100%;
  border-radius: 0;
  text-transform: none;
  font-weight: 400;
  letter-spacing: 0.2px;
  text-align: left;
  padding: 0 40px 0 20px;
  background-position: right 12px center;
  background-size: 12px 25px;
  justify-content: flex-start;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http://www.w3.org/2000/svg%22%20fill%3D%22%23fff%22%20viewBox%3D%220%200%2016%2032%22%3E%3Cpath%20d%3D%22M14,11.1H3L8.5,2ZM3,21H14L8.5,30.1Z%22/%3E%3Cpath%20d%3D%22M16,32H0V0H16Z%22%20fill%3D%22none%22/%3E%3C/svg%3E");
  background-repeat: no-repeat;
}
.article__nav-select-toggle:not(:disabled) {
  border-color: #00a3e0;
  background-color: #00a3e0;
  color: #fff;
}
.article__nav-select {
  width: 100%;
  border-radius: 0;
}
.article__nav-select button {
  background-color: transparent;
  border: none;
  width: 100%;
}
.article__tabs-nav {
  position: fixed;
  bottom: 0;
  width: 100%;
  background-color: #fff;
  left: 0;
  z-index: 2;
}
@media (min-width: 992px) {
  .article__tabs-nav {
    position: static;
    z-index: auto;
    bottom: auto;
    background-color: transparent;
    padding: 14px 15px;
    margin: 0 auto;
    flex: 0 0 260px;
    max-width: 260px;
  }
}
.article__mobile-nav {
  flex: 0 0 100%;
  max-width: 100%;
  padding-bottom: 20px;
}
@media (min-width: 992px) {
  .article__mobile-nav {
    display: none;
  }
}
.article__mobile-nav .mdc-menu {
  background-color: #00AEEF;
  border: 1px solid #00AEEF;
  box-shadow: none;
  top: 48px !important;
}
.article__mobile-nav .mdc-list-item {
  color: #fff;
  text-align: left;
}
.article__mobile-nav .mdc-list-item.selected {
  background-color: #00a3e0;
}
.article__mobile-nav .mdc-menu-surface--anchor {
  width: 100%;
}
.article__read-time {
  width: 100%;
  color: #201d1d;
  font-weight: 300;
  font-size: 10.5px;
  line-height: 17px;
  position: relative;
  top: -20px;
}
@media (min-width: 992px) {
  .article__read-time {
    font-size: 14px;
    line-height: 14px;
    top: -30px;
  }
}
.article__read-time span {
  font-weight: 500;
}

.share {
  display: flex;
  color: #201d1d;
  font-weight: 300;
  font-size: 10.5px;
  line-height: 17px;
}
@media (min-width: 992px) {
  .share {
    font-size: 17px;
    line-height: 33px;
  }
}
.share__links {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
}
.share__label {
  margin-right: 25px;
}
.share__link + .share__link {
  margin-left: 15px;
}
.share__icon {
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  border-radius: 20px;
  width: 20px;
  height: 20px;
  background-size: 20px 20px;
  transition: all 0.2s;
}
@media (min-width: 992px) {
  .share__icon {
    width: 35px;
    height: 35px;
    background-size: 35px 35px;
  }
}
.share__icon--facebook {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http://www.w3.org/2000/svg%22%20viewBox%3D%220%200%20100%20100%22%3E%3Ccircle%20fill%3D%22%23FFFFFF%22%20cx%3D%2250%22%20cy%3D%2250%22%20r%3D%2248%22/%3E%3Cpath%20fill%3D%22%234369b2%22%20d%3D%22M99,50C99,22.9,77.1,1,50,1C22.9,1,1,22.9,1,50c0,24.5,17.9,44.7,41.3,48.4V64.2H29.9V50h12.4V39.2c0-12.3,7.3-19.1,18.5-19.1c5.4,0,11,1,11,1v12.1h-6.2c-6.1,0-8,3.8-8,7.7V50h13.6l-2.2,14.2H57.7v34.2C81.1,94.7,99,74.5,99,50%22/%3E%3C/svg%3E");
}
.share__icon--facebook:hover {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http://www.w3.org/2000/svg%22%20viewBox%3D%220%200%20100%20100%22%3E%3Ccircle%20fill%3D%22%23FFFFFF%22%20cx%3D%2250%22%20cy%3D%2250%22%20r%3D%2248%22/%3E%3Cpath%20fill%3D%22%233b5c9c%22%20d%3D%22M99,50C99,22.9,77.1,1,50,1C22.9,1,1,22.9,1,50c0,24.5,17.9,44.7,41.3,48.4V64.2H29.9V50h12.4V39.2c0-12.3,7.3-19.1,18.5-19.1c5.4,0,11,1,11,1v12.1h-6.2c-6.1,0-8,3.8-8,7.7V50h13.6l-2.2,14.2H57.7v34.2C81.1,94.7,99,74.5,99,50%22/%3E%3C/svg%3E");
}
.share__icon--linkedin {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http://www.w3.org/2000/svg%22%20fill%3D%22%23007bb5%22%20viewBox%3D%220%200%2032%2032%22%3E%3Cpath%20class%3D%22st1%22%20d%3D%22M16,1C7.72,1,1,7.72,1,16c0,8.28,6.72,15,15,15c8.28,0,15-6.72,15-15C31,7.72,24.28,1,16,1z%20M12.18,21.37H9.31v-9.22h2.87V21.37z%20M10.75,10.89c-0.92,0-1.66-0.75-1.66-1.66c0-0.92,0.74-1.66,1.66-1.66c0.92,0,1.66,0.74,1.66,1.66C12.41,10.15,11.67,10.89,10.75,10.89z%20M22.91,21.37h-2.86v-4.48c0-1.07-0.02-2.44-1.49-2.44c-1.49,0-1.72,1.16-1.72,2.37v4.56h-2.86v-9.22h2.75v1.26h0.04c0.38-0.73,1.32-1.49,2.71-1.49c2.9,0,3.44,1.91,3.44,4.39V21.37z%22/%3E%3C/svg%3E");
}
.share__icon--linkedin:hover {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http://www.w3.org/2000/svg%22%20fill%3D%22%23006696%22%20viewBox%3D%220%200%2032%2032%22%3E%3Cpath%20class%3D%22st1%22%20d%3D%22M16,1C7.72,1,1,7.72,1,16c0,8.28,6.72,15,15,15c8.28,0,15-6.72,15-15C31,7.72,24.28,1,16,1z%20M12.18,21.37H9.31v-9.22h2.87V21.37z%20M10.75,10.89c-0.92,0-1.66-0.75-1.66-1.66c0-0.92,0.74-1.66,1.66-1.66c0.92,0,1.66,0.74,1.66,1.66C12.41,10.15,11.67,10.89,10.75,10.89z%20M22.91,21.37h-2.86v-4.48c0-1.07-0.02-2.44-1.49-2.44c-1.49,0-1.72,1.16-1.72,2.37v4.56h-2.86v-9.22h2.75v1.26h0.04c0.38-0.73,1.32-1.49,2.71-1.49c2.9,0,3.44,1.91,3.44,4.39V21.37z%22/%3E%3C/svg%3E");
}
.share__icon--twitter {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http://www.w3.org/2000/svg%22%20viewBox%3D%220%200%2032%2032%22%3E%3Cg%3E%3Cpath%20fill%3D%22%231da1f3%22%20stroke-width%3D%220%22%20d%3D%22M16,1C7.7,1,1,7.7,1,16s6.7,15,15,15,15-6.7,15-15S24.3,1,16,1ZM19.2,23.5l-4.1-5.4-4.6,5.4h-2.5l5.9-7-6.2-8.1h5.1l3.7,4.9,4.2-4.9h2.5l-5.5,6.5,6.5,8.6h-5.1Z%22/%3E%3Cpolygon%20fill%3D%22%231da1f3%22%20stroke-width%3D%220%22%20points%3D%2216.7%2015.7%2012.3%209.8%2010.5%209.8%2014.8%2015.5%2016%2017.1%2019.9%2022.1%2021.4%2022.1%2016.9%2016%2016.7%2015.7%22/%3E%3C/g%3E%3C/svg%3E");
}
.share__icon--twitter:hover {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http://www.w3.org/2000/svg%22%20viewBox%3D%220%200%2032%2032%22%3E%3Cg%3E%3Cpath%20fill%3D%22%230c92e5%22%20stroke-width%3D%220%22%20d%3D%22M16,1C7.7,1,1,7.7,1,16s6.7,15,15,15,15-6.7,15-15S24.3,1,16,1ZM19.2,23.5l-4.1-5.4-4.6,5.4h-2.5l5.9-7-6.2-8.1h5.1l3.7,4.9,4.2-4.9h2.5l-5.5,6.5,6.5,8.6h-5.1Z%22/%3E%3Cpolygon%20fill%3D%22%230c92e5%22%20stroke-width%3D%220%22%20points%3D%2216.7%2015.7%2012.3%209.8%2010.5%209.8%2014.8%2015.5%2016%2017.1%2019.9%2022.1%2021.4%2022.1%2016.9%2016%2016.7%2015.7%22/%3E%3C/g%3E%3C/svg%3E");
}
.share__icon--email {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http://www.w3.org/2000/svg%22%20viewBox%3D%220%200%2040%2040%22%3E%3Ccircle%20cx%3D%2220%22%20cy%3D%2220%22%20r%3D%2220%22%20fill%3D%22%23777779%22/%3E%3Cg%20transform%3D%22translate(9.418%20-56.874)%22%3E%3Cg%20transform%3D%22translate(0.779%2068.267)%22%3E%3Cg%20transform%3D%22translate(0%200)%22%3E%3Cpath%20d%3D%22M37.329,68.267H17.067L27.2,77.722l10.246-9.429A.633.633,0,0,0,37.329,68.267Z%22%20transform%3D%22translate(-17.067%20-68.267)%22%20fill%3D%22%23fff%22/%3E%3C/g%3E%3C/g%3E%3Cg%20transform%3D%22translate(0%2069.826)%22%3E%3Cg%20transform%3D%22translate(0%200)%22%3E%3Cpath%20%20d%3D%22M11.4,108.128a.71.71,0,0,1-.987,0L0,98.406v15.218a.836.836,0,0,0,.779.883H21.042a.836.836,0,0,0,.779-.883V98.537Z%22%20transform%3D%22translate(0%20-98.406)%22%20fill%3D%22%23fff%22/%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
}
.share__icon--email:hover {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http://www.w3.org/2000/svg%22%20viewBox%3D%220%200%2040%2040%22%3E%3Ccircle%20cx%3D%2220%22%20cy%3D%2220%22%20r%3D%2220%22%20fill%3D%22%2368686a%22/%3E%3Cg%20transform%3D%22translate(9.418%20-56.874)%22%3E%3Cg%20transform%3D%22translate(0.779%2068.267)%22%3E%3Cg%20transform%3D%22translate(0%200)%22%3E%3Cpath%20d%3D%22M37.329,68.267H17.067L27.2,77.722l10.246-9.429A.633.633,0,0,0,37.329,68.267Z%22%20transform%3D%22translate(-17.067%20-68.267)%22%20fill%3D%22%23fff%22/%3E%3C/g%3E%3C/g%3E%3Cg%20transform%3D%22translate(0%2069.826)%22%3E%3Cg%20transform%3D%22translate(0%200)%22%3E%3Cpath%20%20d%3D%22M11.4,108.128a.71.71,0,0,1-.987,0L0,98.406v15.218a.836.836,0,0,0,.779.883H21.042a.836.836,0,0,0,.779-.883V98.537Z%22%20transform%3D%22translate(0%20-98.406)%22%20fill%3D%22%23fff%22/%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
}
.payment-section-teaser .share {
  margin-bottom: 20px;
  font-size: 14.5px;
  line-height: 20px;
}
@media (min-width: 992px) {
  .payment-section-teaser .share {
    font-size: 17px;
    line-height: 33px;
  }
}

.share-block {
  margin-bottom: 15px;
}
@media (min-width: 992px) {
  .share-block {
    margin-bottom: 30px;
  }
}

.site-form .mdc-text-field--outlined:not(.mdc-text-field--invalid):not(.mdc-text-field--disabled) input:-webkit-autofill {
  -webkit-text-fill-color: #00AEEF !important;
  -webkit-box-shadow: 0 0 0 60px #f5fcfe inset !important;
}
.site-form__checkbox--readonly {
  pointer-events: none;
  user-select: none;
  opacity: 0.3;
}
.site-form__checkbox--readonly ~ label {
  pointer-events: none;
  user-select: none;
}
.site-form__checkbox--readonly ~ label a {
  pointer-events: auto;
}
.site-form .mdc-floating-label {
  user-select: none;
  margin-bottom: 0;
  font-weight: 300;
  letter-spacing: -0.2px;
  line-height: 1.15;
  display: block;
}
@media (min-width: 768px) {
  .site-form .mdc-floating-label {
    letter-spacing: 0;
  }
}
@media (min-width: 1656px) {
  .site-form .mdc-floating-label {
    font-size: 19px;
  }
}
.site-form .mdc-floating-label.mdc-floating-label--float-above {
  text-overflow: clip;
  display: inline-block;
  vertical-align: top;
}
.site-form input[readonly] + .mdc-notched-outline--notched .mdc-notched-outline__leading,
.site-form input[readonly] + .mdc-notched-outline--notched .mdc-notched-outline__notch,
.site-form input[readonly] + .mdc-notched-outline--notched .mdc-notched-outline__trailing {
  border-width: 1px;
}
.site-form input[readonly] + .mdc-notched-outline--notched .mdc-floating-label {
  user-select: none;
}
.site-form .mdc-select--outlined .mdc-floating-label.mdc-floating-label--float-above {
  min-width: 0;
  max-width: none;
}
.site-form .mdc-checkbox {
  margin-left: -11px;
  margin-bottom: -8px;
  overflow: hidden;
}
.site-form .mdc-checkbox .mdc-checkbox__native-control:enabled:not(:checked):not(:indeterminate):not([data-indeterminate=true]) ~ .mdc-checkbox__background {
  border-color: #00a5e3;
  background-color: rgba(0, 0, 0, 0);
}
.site-form .mdc-checkbox .mdc-checkbox__native-control:enabled:checked ~ .mdc-checkbox__background,
.site-form .mdc-checkbox .mdc-checkbox__native-control:enabled:indeterminate ~ .mdc-checkbox__background,
.site-form .mdc-checkbox .mdc-checkbox__native-control[data-indeterminate=true]:enabled ~ .mdc-checkbox__background {
  border-color: #00a5e3;
  background-color: #00a5e3;
}
@keyframes mdc-checkbox-fade-in-background-FF00A5E3FF00A5E300000000FF00A5E3 {
  0% {
    border-color: #00a5e3;
    background-color: rgba(0, 0, 0, 0);
  }
  50% {
    border-color: #00a5e3;
    background-color: #00a5e3;
  }
}
@keyframes mdc-checkbox-fade-out-background-FF00A5E3FF00A5E300000000FF00A5E3 {
  0%, 80% {
    border-color: #00a5e3;
    background-color: #00a5e3;
  }
  100% {
    border-color: #00a5e3;
    background-color: rgba(0, 0, 0, 0);
  }
}
.site-form .mdc-checkbox.mdc-checkbox--anim-unchecked-checked .mdc-checkbox__native-control:enabled ~ .mdc-checkbox__background, .site-form .mdc-checkbox.mdc-checkbox--anim-unchecked-indeterminate .mdc-checkbox__native-control:enabled ~ .mdc-checkbox__background {
  animation-name: mdc-checkbox-fade-in-background-FF00A5E3FF00A5E300000000FF00A5E3;
}
.site-form .mdc-checkbox.mdc-checkbox--anim-checked-unchecked .mdc-checkbox__native-control:enabled ~ .mdc-checkbox__background, .site-form .mdc-checkbox.mdc-checkbox--anim-indeterminate-unchecked .mdc-checkbox__native-control:enabled ~ .mdc-checkbox__background {
  animation-name: mdc-checkbox-fade-out-background-FF00A5E3FF00A5E300000000FF00A5E3;
}
.site-form .mdc-checkbox .mdc-checkbox__native-control:enabled ~ .mdc-checkbox__background .mdc-checkbox__checkmark {
  color: #fff;
}
.site-form .mdc-checkbox .mdc-checkbox__native-control:enabled ~ .mdc-checkbox__background .mdc-checkbox__mixedmark {
  border-color: #fff;
}
.site-form .mdc-checkbox .mdc-checkbox__native-control:checked ~ .mdc-checkbox__background::before,
.site-form .mdc-checkbox .mdc-checkbox__native-control:indeterminate ~ .mdc-checkbox__background::before,
.site-form .mdc-checkbox .mdc-checkbox__native-control[data-indeterminate=true] ~ .mdc-checkbox__background::before {
  background-color: #00a5e3;
}
.site-form .mdc-checkbox.mdc-checkbox--selected .mdc-checkbox__ripple::before, .site-form .mdc-checkbox.mdc-checkbox--selected .mdc-checkbox__ripple::after {
  background-color: #00a5e3;
}
.site-form .mdc-checkbox.mdc-checkbox--selected:hover .mdc-checkbox__ripple::before {
  opacity: 0.08;
}
.site-form .mdc-checkbox.mdc-checkbox--selected.mdc-ripple-upgraded--background-focused .mdc-checkbox__ripple::before, .site-form .mdc-checkbox.mdc-checkbox--selected:not(.mdc-ripple-upgraded):focus .mdc-checkbox__ripple::before {
  transition-duration: 75ms;
  opacity: 0.24;
}
.site-form .mdc-checkbox.mdc-checkbox--selected:not(.mdc-ripple-upgraded) .mdc-checkbox__ripple::after {
  transition: opacity 150ms linear;
}
.site-form .mdc-checkbox.mdc-checkbox--selected:not(.mdc-ripple-upgraded):active .mdc-checkbox__ripple::after {
  transition-duration: 75ms;
  opacity: 0.24;
}
.site-form .mdc-checkbox.mdc-checkbox--selected.mdc-ripple-upgraded {
  --mdc-ripple-fg-opacity: 0.24;
}
.site-form .mdc-checkbox.mdc-ripple-upgraded--background-focused.mdc-checkbox--selected .mdc-checkbox__ripple::before,
.site-form .mdc-checkbox.mdc-ripple-upgraded--background-focused.mdc-checkbox--selected .mdc-checkbox__ripple::after {
  background-color: #00a5e3;
}
.site-form .mdc-checkbox .mdc-checkbox__ripple {
  border-radius: 100px;
  overflow: hidden;
  transform: translateZ(0);
}
.site-form .mdc-checkbox .mdc-checkbox__ripple:before {
  background-color: #00AEEF;
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
}
.site-form .mdc-checkbox .mdc-checkbox__ripple:after {
  background-color: #00AEEF;
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
}
.site-form .mdc-checkbox:hover .mdc-checkbox__ripple:before {
  opacity: 0.08;
  background-color: #00AEEF;
}
.site-form .mdc-checkbox:hover .mdc-checkbox__ripple:after {
  background-color: #00AEEF;
}
.site-form .mdc-radio {
  margin-left: -11px;
  overflow: hidden;
}
.site-form .mdc-radio .mdc-radio__native-control:enabled:not(:checked) + .mdc-radio__background .mdc-radio__outer-circle {
  border-color: #00a5e3;
}
.site-form .mdc-radio .mdc-radio__native-control:enabled:checked + .mdc-radio__background .mdc-radio__outer-circle {
  border-color: #00a5e3;
}
.site-form .mdc-radio .mdc-radio__native-control:enabled + .mdc-radio__background .mdc-radio__inner-circle {
  border-color: #00a5e3;
}
.site-form .mdc-radio .mdc-radio__background::before {
  background-color: #00AEEF;
}
.site-form .mdc-radio + label {
  font-size: 12.5px;
  cursor: pointer;
  font-weight: 300;
  line-height: 1.5;
}
@media (min-width: 768px) {
  .site-form .mdc-radio + label {
    font-size: 16px;
  }
}
@media (min-width: 1656px) {
  .site-form .mdc-radio + label {
    font-size: 19px;
  }
}
.site-form .mdc-radio .mdc-radio__ripple {
  border-radius: 100px;
  overflow: hidden;
  transform: translateZ(0);
}
.site-form .mdc-radio .mdc-radio__ripple:before {
  background-color: #00AEEF;
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
}
.site-form .mdc-radio .mdc-radio__ripple:after {
  background-color: #00AEEF;
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
}
.site-form .mdc-radio:hover .mdc-radio__ripple:before {
  background-color: #00AEEF;
  opacity: 0.08;
}
.site-form .mdc-radio-field {
  position: relative;
  padding-bottom: 15px;
}
.site-form .mdc-form-field .mdc-radio + label {
  margin-top: 11.5px;
}
@media (min-width: 768px) {
  .site-form .mdc-form-field .mdc-radio + label {
    margin-top: 8px;
  }
}
@media (min-width: 1656px) {
  .site-form .mdc-form-field .mdc-radio + label {
    margin-top: 6px;
    padding-left: 5px;
  }
}
.site-form .mdc-text-field .mdc-text-field__input {
  caret-color: #201d1d !important;
}
.site-form .mdc-text-field:not(.mdc-text-field--disabled) .mdc-floating-label.mdc-floating-label--float-above {
  color: #00a5e3;
}
.site-form .mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-floating-label {
  color: rgba(0, 0, 0, 0.6);
}
.site-form .mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-floating-label:after {
  color: rgba(0, 0, 0, 0.6);
}
.site-form .mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-text-field__input:required ~ .mdc-notched-outline .mdc-floating-label:after {
  color: rgba(0, 0, 0, 0.6);
}
.site-form .mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-text-field__input:required ~ .mdc-notched-outline .mdc-floating-label.mdc-floating-label--float-above:after {
  color: #00a5e3;
}
.was-validated .site-form .mdc-text-field--invalid, .site-form.was-validated .mdc-text-field--invalid {
  margin-bottom: 6px;
}
@media (min-width: 1656px) {
  .was-validated .site-form .mdc-text-field--invalid, .site-form.was-validated .mdc-text-field--invalid {
    margin-bottom: 0;
  }
}
.was-validated .site-form .mdc-checkbox .mdc-checkbox__native-control:invalid ~ .mdc-checkbox__background, .site-form.was-validated .mdc-checkbox .mdc-checkbox__native-control:invalid ~ .mdc-checkbox__background {
  border-color: #ff0000 !important;
}
.was-validated .site-form .mdc-checkbox .mdc-checkbox__native-control:invalid ~ label, .site-form.was-validated .mdc-checkbox .mdc-checkbox__native-control:invalid ~ label {
  color: #ff0000;
}
.was-validated .site-form .mdc-radio .mdc-radio__native-control:invalid ~ .mdc-radio__background .mdc-radio__outer-circle, .was-validated .site-form .mdc-radio .mdc-radio__native-control:invalid ~ .mdc-radio__background .mdc-radio__inner-circle, .site-form.was-validated .mdc-radio .mdc-radio__native-control:invalid ~ .mdc-radio__background .mdc-radio__outer-circle, .site-form.was-validated .mdc-radio .mdc-radio__native-control:invalid ~ .mdc-radio__background .mdc-radio__inner-circle {
  border-color: #ff0000 !important;
}
.was-validated .site-form .mdc-radio .mdc-radio__native-control:invalid ~ label, .site-form.was-validated .mdc-radio .mdc-radio__native-control:invalid ~ label {
  color: #ff0000;
}
.was-validated .site-form .mdc-text-field__input:invalid ~ .mdc-notched-outline .mdc-notched-outline__leading,
.was-validated .site-form .mdc-text-field__input:invalid ~ .mdc-notched-outline .mdc-notched-outline__notch,
.was-validated .site-form .mdc-text-field__input:invalid ~ .mdc-notched-outline .mdc-notched-outline__trailing, .site-form.was-validated .mdc-text-field__input:invalid ~ .mdc-notched-outline .mdc-notched-outline__leading,
.site-form.was-validated .mdc-text-field__input:invalid ~ .mdc-notched-outline .mdc-notched-outline__notch,
.site-form.was-validated .mdc-text-field__input:invalid ~ .mdc-notched-outline .mdc-notched-outline__trailing {
  border-color: #ff0000 !important;
}
.was-validated .site-form .mdc-text-field__input:invalid ~ .mdc-notched-outline .mdc-floating-label, .site-form.was-validated .mdc-text-field__input:invalid ~ .mdc-notched-outline .mdc-floating-label {
  color: #ff0000 !important;
}
.was-validated .site-form .mdc-text-field__input:invalid ~ .mdc-notched-outline .mdc-floating-label:after, .site-form.was-validated .mdc-text-field__input:invalid ~ .mdc-notched-outline .mdc-floating-label:after {
  color: #ff0000 !important;
}
.was-validated .site-form .site-form__checkbox--required.site-form__checkbox--unchecked ~ label, .site-form.was-validated .site-form__checkbox--required.site-form__checkbox--unchecked ~ label {
  color: #ff0000;
}
.was-validated .site-form .site-form__checkbox--required.site-form__checkbox--unchecked ~ label:after, .site-form.was-validated .site-form__checkbox--required.site-form__checkbox--unchecked ~ label:after {
  color: #ff0000;
}
.was-validated .site-form .site-form__checkbox--required.site-form__checkbox--unchecked ~ label a, .site-form.was-validated .site-form__checkbox--required.site-form__checkbox--unchecked ~ label a {
  color: #ff0000;
  text-decoration: underline;
}
.was-validated .site-form .site-form__radio--required.site-form__radio--unchecked ~ label, .site-form.was-validated .site-form__radio--required.site-form__radio--unchecked ~ label {
  color: #ff0000;
}
.was-validated .site-form .site-form__radio--required.site-form__radio--unchecked ~ label:after, .site-form.was-validated .site-form__radio--required.site-form__radio--unchecked ~ label:after {
  color: #ff0000;
}
.was-validated .site-form .site-form__radio--required.site-form__radio--unchecked ~ label a, .site-form.was-validated .site-form__radio--required.site-form__radio--unchecked ~ label a {
  color: #ff0000;
  text-decoration: underline;
}
.was-validated .site-form .mdc-select--outlined.mdc-select--invalid .mdc-select__anchor, .site-form.was-validated .mdc-select--outlined.mdc-select--invalid .mdc-select__anchor {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http://www.w3.org/2000/svg%22%20fill%3D%22%23ff0000%22%20viewBox%3D%220%200%2016%2032%22%3E%3Cpath%20d%3D%22M14,11.1H3L8.5,2ZM3,21H14L8.5,30.1Z%22/%3E%3Cpath%20d%3D%22M16,32H0V0H16Z%22%20fill%3D%22none%22/%3E%3C/svg%3E");
  background-color: rgba(255, 0, 0, 0);
}
.was-validated .site-form .mdc-select--outlined.mdc-select--invalid:hover .mdc-select__anchor, .was-validated .site-form .mdc-select--outlined.mdc-select--invalid:focus .mdc-select__anchor, .site-form.was-validated .mdc-select--outlined.mdc-select--invalid:hover .mdc-select__anchor, .site-form.was-validated .mdc-select--outlined.mdc-select--invalid:focus .mdc-select__anchor {
  background-color: rgba(255, 0, 0, 0);
}
.was-validated .site-form .mdc-select--outlined.mdc-select--invalid .mdc-notched-outline__leading,
.was-validated .site-form .mdc-select--outlined.mdc-select--invalid .mdc-notched-outline__notch,
.was-validated .site-form .mdc-select--outlined.mdc-select--invalid .mdc-notched-outline__trailing, .site-form.was-validated .mdc-select--outlined.mdc-select--invalid .mdc-notched-outline__leading,
.site-form.was-validated .mdc-select--outlined.mdc-select--invalid .mdc-notched-outline__notch,
.site-form.was-validated .mdc-select--outlined.mdc-select--invalid .mdc-notched-outline__trailing {
  border-color: #ff0000 !important;
}
.was-validated .site-form .mdc-select--outlined.mdc-select--invalid .mdc-floating-label, .site-form.was-validated .mdc-select--outlined.mdc-select--invalid .mdc-floating-label {
  color: #ff0000 !important;
}
.was-validated .site-form .mdc-select--outlined.mdc-select--invalid .site-form__validation-text, .site-form.was-validated .mdc-select--outlined.mdc-select--invalid .site-form__validation-text {
  display: table;
}
.was-validated .site-form .mdc-radio-field .site-form__validation-text, .site-form.was-validated .mdc-radio-field .site-form__validation-text {
  left: 35px;
  bottom: 10px;
}
.was-validated .site-form .mdc-radio-field--invalid .site-form__validation-text, .site-form.was-validated .mdc-radio-field--invalid .site-form__validation-text {
  display: table;
}
.was-validated .site-form .mdc-form-field--invalid label, .site-form.was-validated .mdc-form-field--invalid label {
  color: #ff0000;
}
.was-validated .site-form .mdc-form-field--invalid label:after, .site-form.was-validated .mdc-form-field--invalid label:after {
  color: #ff0000;
}
.was-validated .site-form .mdc-form-field--invalid label a, .site-form.was-validated .mdc-form-field--invalid label a {
  color: #ff0000;
  text-decoration: underline;
}
.was-validated .site-form .mdc-form-field--invalid ~ .site-form__validation-text, .site-form.was-validated .mdc-form-field--invalid ~ .site-form__validation-text {
  display: block;
  position: static;
  padding-left: 0;
  padding-right: 0;
  background-color: transparent;
  margin: 6px 0 0 0;
  width: 100%;
  max-width: none;
  transform: none;
}
@media (min-width: 1656px) {
  .was-validated .site-form .mdc-form-field--invalid ~ .site-form__validation-text, .site-form.was-validated .mdc-form-field--invalid ~ .site-form__validation-text {
    padding-left: 44px;
  }
}
.was-validated .site-form .mdc-form-field--invalid ~ .newsletter-agreements__info ~ .site-form__validation-text, .site-form.was-validated .mdc-form-field--invalid ~ .newsletter-agreements__info ~ .site-form__validation-text {
  margin-top: -10px;
  margin-bottom: 18px;
}
.site-form.server-side-validated .server-side--invalid ~ .mdc-notched-outline .mdc-notched-outline__leading,
.site-form.server-side-validated .server-side--invalid ~ .mdc-notched-outline .mdc-notched-outline__notch,
.site-form.server-side-validated .server-side--invalid ~ .mdc-notched-outline .mdc-notched-outline__trailing {
  border-color: #ff0000 !important;
  color: #ff0000 !important;
}
.site-form.server-side-validated .server-side--invalid ~ .mdc-notched-outline .mdc-notched-outline__leading:after,
.site-form.server-side-validated .server-side--invalid ~ .mdc-notched-outline .mdc-notched-outline__notch:after,
.site-form.server-side-validated .server-side--invalid ~ .mdc-notched-outline .mdc-notched-outline__trailing:after {
  color: #ff0000 !important;
}
.site-form.server-side-validated .server-side--invalid ~ .mdc-notched-outline .mdc-floating-label {
  color: #ff0000 !important;
}
.site-form.server-side-validated .server-side--invalid ~ .mdc-notched-outline .mdc-floating-label:after {
  color: #ff0000 !important;
}
.site-form.server-side-validated .mdc-select--outlined.server-side--invalid .mdc-select__anchor {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http://www.w3.org/2000/svg%22%20fill%3D%22%23ff0000%22%20viewBox%3D%220%200%2016%2032%22%3E%3Cpath%20d%3D%22M14,11.1H3L8.5,2ZM3,21H14L8.5,30.1Z%22/%3E%3Cpath%20d%3D%22M16,32H0V0H16Z%22%20fill%3D%22none%22/%3E%3C/svg%3E");
  background-color: rgba(255, 0, 0, 0);
}
.site-form.server-side-validated .mdc-select--outlined.server-side--invalid:hover .mdc-select__anchor, .site-form.server-side-validated .mdc-select--outlined.server-side--invalid:focus .mdc-select__anchor {
  background-color: rgba(255, 0, 0, 0);
}
.site-form.server-side-validated .mdc-select--outlined.server-side--invalid .mdc-notched-outline__leading,
.site-form.server-side-validated .mdc-select--outlined.server-side--invalid .mdc-notched-outline__notch,
.site-form.server-side-validated .mdc-select--outlined.server-side--invalid .mdc-notched-outline__trailing {
  border-color: #ff0000 !important;
}
.site-form.server-side-validated .mdc-select--outlined.server-side--invalid .mdc-floating-label {
  color: #ff0000 !important;
}
.site-form.server-side-validated .mdc-select--outlined.server-side--invalid .site-form__validation-text {
  display: table;
}
.site-form.server-side-validated .fileinput-container.fileinput-container--invalid .fileinput:not(.fileinput-exists) ~ .site-form__server-validation-text {
  display: block;
  bottom: -5px;
}
.site-form.js-side-validated .js-side--invalid ~ .mdc-notched-outline .mdc-notched-outline__leading,
.site-form.js-side-validated .js-side--invalid ~ .mdc-notched-outline .mdc-notched-outline__notch,
.site-form.js-side-validated .js-side--invalid ~ .mdc-notched-outline .mdc-notched-outline__trailing {
  border-color: #ff0000 !important;
  color: #ff0000 !important;
}
.site-form.js-side-validated .js-side--invalid ~ .mdc-notched-outline .mdc-notched-outline__leading:after,
.site-form.js-side-validated .js-side--invalid ~ .mdc-notched-outline .mdc-notched-outline__notch:after,
.site-form.js-side-validated .js-side--invalid ~ .mdc-notched-outline .mdc-notched-outline__trailing:after {
  color: #ff0000 !important;
}
.site-form.js-side-validated .js-side--invalid ~ .mdc-notched-outline .mdc-floating-label {
  color: #ff0000 !important;
}
.site-form.js-side-validated .js-side--invalid ~ .mdc-notched-outline .mdc-floating-label:after {
  color: #ff0000 !important;
}
.site-form.js-side-validated .mdc-select--outlined.js-side--invalid .mdc-select__anchor {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http://www.w3.org/2000/svg%22%20fill%3D%22%23ff0000%22%20viewBox%3D%220%200%2016%2032%22%3E%3Cpath%20d%3D%22M14,11.1H3L8.5,2ZM3,21H14L8.5,30.1Z%22/%3E%3Cpath%20d%3D%22M16,32H0V0H16Z%22%20fill%3D%22none%22/%3E%3C/svg%3E");
  background-color: rgba(255, 0, 0, 0);
}
.site-form.js-side-validated .mdc-select--outlined.js-side--invalid:hover .mdc-select__anchor, .site-form.js-side-validated .mdc-select--outlined.js-side--invalid:focus .mdc-select__anchor {
  background-color: rgba(255, 0, 0, 0);
}
.site-form.js-side-validated .mdc-select--outlined.js-side--invalid .mdc-notched-outline__leading,
.site-form.js-side-validated .mdc-select--outlined.js-side--invalid .mdc-notched-outline__notch,
.site-form.js-side-validated .mdc-select--outlined.js-side--invalid .mdc-notched-outline__trailing {
  border-color: #ff0000 !important;
}
.site-form.js-side-validated .mdc-select--outlined.js-side--invalid .mdc-floating-label {
  color: #ff0000 !important;
}
.site-form.js-side-validated .mdc-select--outlined.js-side--invalid .site-form__validation-text {
  display: table;
}
.site-form .mdc-form-field {
  display: flex;
  align-items: flex-start;
}
.site-form .mdc-form-field--checkbox {
  font-weight: 300;
  color: #414042;
  font-size: 15px;
  margin-bottom: 10px;
  position: relative;
  flex-wrap: wrap;
}
@media (min-width: 375px) {
  .site-form .mdc-form-field--checkbox {
    font-size: 17px;
  }
}
@media (min-width: 1656px) {
  .site-form .mdc-form-field--checkbox {
    font-size: 19px;
    margin-bottom: 14px;
  }
}
.site-form .mdc-form-field--checkbox label {
  cursor: pointer;
  max-width: calc(100% - 40px);
  margin-top: 6px !important;
  line-height: 1.52;
}
@media (min-width: 1400px) {
  .site-form .mdc-form-field--checkbox label {
    line-height: 1.578;
  }
}
.site-form .mdc-form-field--checkbox label .ezrichtext-field {
  display: inline;
}
.site-form .mdc-form-field--checkbox label .ezrichtext-field p:last-of-type {
  display: inline;
}
.site-form .mdc-form-field--checkbox label .ezrichtext-field:after {
  content: none;
  display: none;
}
.site-form .mdc-form-field label {
  margin: 9px 0 0 0;
  padding-left: 2px;
}
@media (min-width: 375px) {
  .site-form .mdc-form-field label {
    padding-left: 5px;
    margin: 8px 0 0 0;
  }
}
@media (min-width: 1656px) {
  .site-form .mdc-form-field label {
    margin: 6px 0 0 0;
    padding-left: 14px;
  }
}
.site-form .mdc-form-field label a:hover, .site-form .mdc-form-field label a:focus {
  text-decoration: underline;
  color: #2653B9;
}
.site-form .mdc-text-field {
  border-radius: 0;
  letter-spacing: 0;
  line-height: 1.15;
  height: 48px;
}
@media (min-width: 1656px) {
  .site-form .mdc-text-field {
    line-height: 1.55;
    height: 64px;
    font-size: 19px;
  }
}
@media (min-width: 1656px) {
  .site-form .mdc-text-field__input {
    font-size: 19px;
  }
}
.site-form .text-field-row {
  display: flex;
  align-items: stretch;
  justify-content: flex-start;
  flex-wrap: wrap;
}
.site-form .text-field-helper {
  font-size: 0.9rem;
  margin-bottom: 1rem;
}
.site-form .text-field-description {
  display: block;
  margin-top: 10px;
  font-size: 12px;
}
.site-form .text-field-container {
  margin-bottom: 13px;
  width: 100%;
  position: relative;
}
@media (min-width: 1656px) {
  .site-form .text-field-container {
    margin-bottom: 28px;
  }
}
.site-form .text-field-container .mdc-text-field {
  width: 100%;
}
.site-form .text-field-container .text-field-container {
  margin-bottom: 0;
}
.site-form .text-field-container--full {
  width: 100%;
}
.site-form .text-field-container--half {
  width: calc(50% - 6px);
  margin-right: 12px;
}
@media (min-width: 768px) {
  .site-form .text-field-container--half {
    width: calc(50% - 10px);
    margin-right: 20px;
  }
}
.site-form .text-field-container--half + .text-field-container--half {
  margin-right: 0;
}
.site-form .text-field-container--half-slash {
  width: calc(50% - 16px);
  margin-right: 0;
}
@media (min-width: 768px) {
  .site-form .text-field-container--desktop-half {
    width: calc(50% - 10px);
    margin-right: 20px;
  }
}
@media (min-width: 768px) {
  .site-form .text-field-container--desktop-half + .text-field-container--desktop-half {
    margin-right: 0;
  }
}
@media (max-width: 767.9px) {
  .site-form .text-field-container--mobile-full {
    width: 100%;
    margin-right: 0;
  }
}
.site-form .text-field-container--row-slash {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  flex-wrap: nowrap;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http://www.w3.org/2000/svg%22%20fill%3D%22%237a7a7a%22%20viewBox%3D%220%200%2019%2033%22%3E%3Cpath%20d%3D%22M17.55,1.54,3.89,31.78a.38.38,0,0,1-.34.22H1.38A.38.38,0,0,1,1,31.46L14.69,1.22A.39.39,0,0,1,15,1H17.2A.38.38,0,0,1,17.55,1.54Z%22/%3E%3Cpath%20d%3D%22M19,33H0V0H19Z%22%20fill%3D%22none%22/%3E%3C/svg%3E");
  background-position: top 16px center;
  background-repeat: no-repeat;
  background-size: 9px 18px;
}
@media (min-width: 1656px) {
  .site-form .text-field-container--row-slash {
    background-position: top 21px center;
    background-size: 10px 20px;
  }
}
.site-form .mdc-button {
  min-height: 48px;
  font-size: 16px;
}
@media (min-width: 1656px) {
  .site-form .mdc-button {
    min-height: 64px;
    font-size: 24px;
  }
}
.site-form .mdc-text-field--outlined .mdc-floating-label,
.site-form .mdc-text-field--textarea .mdc-floating-label {
  top: 14px;
  transform: none;
}
.firefox .site-form .mdc-text-field--outlined .mdc-floating-label,
.firefox .site-form .mdc-text-field--textarea .mdc-floating-label {
  top: 13px;
}
@media (min-width: 1656px) {
  .site-form .mdc-text-field--outlined .mdc-floating-label,
  .site-form .mdc-text-field--textarea .mdc-floating-label {
    top: 19px;
  }
  .firefox .site-form .mdc-text-field--outlined .mdc-floating-label,
  .firefox .site-form .mdc-text-field--textarea .mdc-floating-label {
    top: 18px;
  }
}
.site-form .mdc-text-field--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above,
.site-form .mdc-text-field--outlined.mdc-notched-outline--upgraded .mdc-floating-label--float-above {
  transform: translateY(-150%) scale(0.75);
  top: 21px;
}
.firefox .site-form .mdc-text-field--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above,
.firefox .site-form .mdc-text-field--outlined.mdc-notched-outline--upgraded .mdc-floating-label--float-above {
  top: 20px;
}
@media (min-width: 1656px) {
  .site-form .mdc-text-field--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above,
  .site-form .mdc-text-field--outlined.mdc-notched-outline--upgraded .mdc-floating-label--float-above {
    font-size: 19px;
    top: 24px;
  }
  .firefox .site-form .mdc-text-field--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above,
  .firefox .site-form .mdc-text-field--outlined.mdc-notched-outline--upgraded .mdc-floating-label--float-above {
    top: 20px;
  }
}
.site-form .mdc-text-field--textarea .mdc-notched-outline--upgraded .mdc-floating-label--float-above {
  transform: translateY(-150%) scale(0.75);
  top: 23px;
}
.firefox .site-form .mdc-text-field--textarea .mdc-notched-outline--upgraded .mdc-floating-label--float-above {
  top: 22px;
}
@media (min-width: 1656px) {
  .site-form .mdc-text-field--textarea .mdc-notched-outline--upgraded .mdc-floating-label--float-above {
    font-size: 19px;
    top: 25px;
  }
  .firefox .site-form .mdc-text-field--textarea .mdc-notched-outline--upgraded .mdc-floating-label--float-above {
    top: 21px;
  }
}
.site-form .mdc-text-field--outlined.mdc-text-field--focused .mdc-notched-outline--upgraded .mdc-floating-label--float-above,
.site-form .mdc-text-field--outlined.mdc-text-field--focused.mdc-notched-outline--upgraded .mdc-floating-label--float-above {
  top: 20px;
}
.firefox .site-form .mdc-text-field--outlined.mdc-text-field--focused .mdc-notched-outline--upgraded .mdc-floating-label--float-above,
.firefox .site-form .mdc-text-field--outlined.mdc-text-field--focused.mdc-notched-outline--upgraded .mdc-floating-label--float-above {
  top: 19px;
}
@media (min-width: 1656px) {
  .site-form .mdc-text-field--outlined.mdc-text-field--focused .mdc-notched-outline--upgraded .mdc-floating-label--float-above,
  .site-form .mdc-text-field--outlined.mdc-text-field--focused.mdc-notched-outline--upgraded .mdc-floating-label--float-above {
    top: 23px;
  }
  .firefox .site-form .mdc-text-field--outlined.mdc-text-field--focused .mdc-notched-outline--upgraded .mdc-floating-label--float-above,
  .firefox .site-form .mdc-text-field--outlined.mdc-text-field--focused.mdc-notched-outline--upgraded .mdc-floating-label--float-above {
    top: 19px;
  }
}
.site-form .mdc-text-field--textarea.mdc-text-field--focused .mdc-notched-outline--upgraded .mdc-floating-label--float-above {
  top: 23px;
}
.firefox .site-form .mdc-text-field--textarea.mdc-text-field--focused .mdc-notched-outline--upgraded .mdc-floating-label--float-above {
  top: 22px;
}
@media (min-width: 1656px) {
  .site-form .mdc-text-field--textarea.mdc-text-field--focused .mdc-notched-outline--upgraded .mdc-floating-label--float-above {
    top: 25px;
  }
  .firefox .site-form .mdc-text-field--textarea.mdc-text-field--focused .mdc-notched-outline--upgraded .mdc-floating-label--float-above {
    top: 21px;
  }
}
.site-form .mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__leading,
.site-form .mdc-text-field--textarea .mdc-notched-outline .mdc-notched-outline__leading,
.site-form .mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__trailing,
.site-form .mdc-text-field--textarea .mdc-notched-outline .mdc-notched-outline__trailing {
  border-radius: 0;
}
.site-form .mdc-text-field--outlined:not(.mdc-text-field--disabled):not(.mdc-text-field--invalid) .mdc-notched-outline__leading,
.site-form .mdc-text-field--outlined:not(.mdc-text-field--disabled):not(.mdc-text-field--invalid) .mdc-notched-outline__notch,
.site-form .mdc-text-field--outlined:not(.mdc-text-field--disabled):not(.mdc-text-field--invalid) .mdc-notched-outline__trailing {
  border-color: #00a5e3;
}
.site-form .mdc-text-field--textarea:not(.mdc-text-field--disabled):not(.mdc-text-field--invalid) .mdc-notched-outline__leading,
.site-form .mdc-text-field--textarea:not(.mdc-text-field--disabled):not(.mdc-text-field--invalid) .mdc-notched-outline__notch,
.site-form .mdc-text-field--textarea:not(.mdc-text-field--disabled):not(.mdc-text-field--invalid) .mdc-notched-outline__trailing {
  border-color: #00a5e3;
}
.site-form .mdc-text-field--outlined:not(.mdc-text-field--disabled).mdc-text-field--invalid .mdc-notched-outline__leading,
.site-form .mdc-text-field--outlined:not(.mdc-text-field--disabled).mdc-text-field--invalid .mdc-notched-outline__notch,
.site-form .mdc-text-field--outlined:not(.mdc-text-field--disabled).mdc-text-field--invalid .mdc-notched-outline__trailing {
  border-color: #00a5e3;
}
.site-form .mdc-text-field--textarea:not(.mdc-text-field--disabled).mdc-text-field--invalid .mdc-notched-outline__leading,
.site-form .mdc-text-field--textarea:not(.mdc-text-field--disabled).mdc-text-field--invalid .mdc-notched-outline__notch,
.site-form .mdc-text-field--textarea:not(.mdc-text-field--disabled).mdc-text-field--invalid .mdc-notched-outline__trailing {
  border-color: #00a5e3;
}
.site-form .mdc-text-field:not(.mdc-text-field--focused):not(.mdc-text-field--invalid) .mdc-text-field__input:hover ~ .mdc-notched-outline .mdc-notched-outline__leading,
.site-form .mdc-text-field:not(.mdc-text-field--focused):not(.mdc-text-field--invalid) .mdc-text-field__input:hover ~ .mdc-notched-outline .mdc-notched-outline__notch,
.site-form .mdc-text-field:not(.mdc-text-field--focused):not(.mdc-text-field--invalid) .mdc-text-field__input:hover ~ .mdc-notched-outline .mdc-notched-outline__trailing {
  border-color: #00a5e3;
}
.site-form .mdc-text-field:not(.mdc-text-field--focused).mdc-text-field--invalid .mdc-text-field__input:hover ~ .mdc-notched-outline .mdc-notched-outline__leading,
.site-form .mdc-text-field:not(.mdc-text-field--focused).mdc-text-field--invalid .mdc-text-field__input:hover ~ .mdc-notched-outline .mdc-notched-outline__notch,
.site-form .mdc-text-field:not(.mdc-text-field--focused).mdc-text-field--invalid .mdc-text-field__input:hover ~ .mdc-notched-outline .mdc-notched-outline__trailing {
  border-color: #00a5e3;
}
.site-form__validation-text {
  position: absolute;
  margin: auto;
  max-width: calc(100% - 26px);
  bottom: 0;
  transform: translateY(50%);
  left: 13px;
  color: #ff0000;
  font-size: 10.5px;
  line-height: 1;
  display: none;
  padding-left: 2px;
  padding-right: 2px;
  background-color: #fff;
  font-weight: 300;
  user-select: none;
}
@media (min-width: 375px) {
  .site-form__validation-text {
    font-size: 12px;
  }
}
@media (min-width: 1656px) {
  .site-form__validation-text {
    font-size: 13px;
  }
}
input:valid ~ .site-form__validation-text {
  display: none !important;
}
.was-validated input:invalid ~ .site-form__validation-text {
  display: block !important;
}
.was-validated .mdc-text-field--invalid .site-form__validation-text {
  display: block;
}
.was-validated .site-form__checkbox--required.site-form__checkbox--unchecked ~ .site-form__validation-text {
  display: block;
  position: static;
  padding-left: 0;
  padding-right: 0;
  background-color: transparent;
  margin: 6px 0 0 0;
  width: 100%;
  max-width: none;
  transform: none;
}
@media (min-width: 1656px) {
  .was-validated .site-form__checkbox--required.site-form__checkbox--unchecked ~ .site-form__validation-text {
    padding-left: 44px;
  }
}
.site-form__server-error {
  color: #ff0000;
  font-weight: 300;
  margin-bottom: 20px;
}
.site-form__server-validation-text {
  position: absolute;
  margin: auto;
  max-width: calc(100% - 26px);
  bottom: 0;
  transform: translateY(50%);
  left: 13px;
  color: #ff0000;
  font-size: 10.5px;
  line-height: 1;
  display: none;
  padding-left: 2px;
  padding-right: 2px;
  background-color: #fff;
  font-weight: 300;
  user-select: none;
}
@media (min-width: 375px) {
  .site-form__server-validation-text {
    font-size: 12px;
  }
}
@media (min-width: 1656px) {
  .site-form__server-validation-text {
    font-size: 13px;
  }
}
.server-side-validated .server-side--invalid ~ .site-form__server-validation-text {
  display: block;
}
.site-form__js-validation-text {
  position: absolute;
  margin: auto;
  max-width: calc(100% - 26px);
  bottom: 0;
  transform: translateY(50%);
  left: 13px;
  color: #ff0000;
  font-size: 10.5px;
  line-height: 1;
  display: none;
  padding-left: 2px;
  padding-right: 2px;
  background-color: #fff;
  font-weight: 300;
  user-select: none;
}
@media (min-width: 375px) {
  .site-form__js-validation-text {
    font-size: 12px;
  }
}
@media (min-width: 1656px) {
  .site-form__js-validation-text {
    font-size: 13px;
  }
}
.js-side-validated .js-side--invalid ~ .site-form__js-validation-text {
  display: block;
}
.site-form .mdc-menu {
  z-index: 2000;
}
@media (min-width: 992px) {
  .site-form .mdc-menu {
    z-index: 10;
  }
}
.site-form .mdc-list-item {
  height: auto;
  min-height: 48px;
  padding-top: 10px;
  padding-bottom: 10px;
  display: block;
  text-overflow: ellipsis;
  width: 100%;
}
.site-form .mdc-select--outlined {
  border-radius: 0;
  letter-spacing: 0;
  line-height: 1.15;
  height: 48px;
}
.site-form .mdc-select--outlined .mdc-notched-outline .mdc-notched-outline__leading {
  /* @noflip */
  border-radius: 0 0 0 0;
}
[dir=rtl] .site-form .mdc-select--outlined .mdc-notched-outline .mdc-notched-outline__leading, .site-form .mdc-select--outlined .mdc-notched-outline .mdc-notched-outline__leading[dir=rtl] {
  /* @noflip */
  border-radius: 0 0 0 0;
}
.site-form .mdc-select--outlined .mdc-notched-outline .mdc-notched-outline__trailing {
  /* @noflip */
  border-radius: 0 0 0 0;
}
[dir=rtl] .site-form .mdc-select--outlined .mdc-notched-outline .mdc-notched-outline__trailing, .site-form .mdc-select--outlined .mdc-notched-outline .mdc-notched-outline__trailing[dir=rtl] {
  /* @noflip */
  border-radius: 0 0 0 0;
}
.site-form .mdc-select--outlined .mdc-select__selected-text {
  border-radius: 0;
}
.site-form .mdc-select--outlined:not(.mdc-select--disabled) .mdc-notched-outline__leading,
.site-form .mdc-select--outlined:not(.mdc-select--disabled) .mdc-notched-outline__notch,
.site-form .mdc-select--outlined:not(.mdc-select--disabled) .mdc-notched-outline__trailing {
  border-color: #00a5e3;
}
.site-form .mdc-select--outlined:not(.mdc-select--disabled).mdc-select--focused .mdc-notched-outline .mdc-notched-outline__leading,
.site-form .mdc-select--outlined:not(.mdc-select--disabled).mdc-select--focused .mdc-notched-outline .mdc-notched-outline__notch,
.site-form .mdc-select--outlined:not(.mdc-select--disabled).mdc-select--focused .mdc-notched-outline .mdc-notched-outline__trailing {
  border-width: 2px;
}
.site-form .mdc-select--outlined:not(.mdc-select--disabled).mdc-select--focused .mdc-notched-outline .mdc-notched-outline__leading,
.site-form .mdc-select--outlined:not(.mdc-select--disabled).mdc-select--focused .mdc-notched-outline .mdc-notched-outline__notch,
.site-form .mdc-select--outlined:not(.mdc-select--disabled).mdc-select--focused .mdc-notched-outline .mdc-notched-outline__trailing {
  border-color: #00a5e3;
}
.site-form .mdc-select--outlined:not(.mdc-select--disabled):not(.mdc-select--focused) .mdc-select__anchor:hover .mdc-notched-outline .mdc-notched-outline__leading,
.site-form .mdc-select--outlined:not(.mdc-select--disabled):not(.mdc-select--focused) .mdc-select__anchor:hover .mdc-notched-outline .mdc-notched-outline__notch,
.site-form .mdc-select--outlined:not(.mdc-select--disabled):not(.mdc-select--focused) .mdc-select__anchor:hover .mdc-notched-outline .mdc-notched-outline__trailing {
  border-color: #00a5e3;
}
.site-form .mdc-select--outlined:not(.mdc-select--disabled).mdc-select--focused .mdc-floating-label {
  color: #00a5e3;
}
@media (min-width: 1656px) {
  .site-form .mdc-select--outlined {
    background-size: 15px 31px;
    background-position: right 14px center;
    line-height: 1.4;
    height: 64px;
    font-size: 19px;
  }
}
.site-form .mdc-select--outlined .mdc-menu {
  width: 100%;
}
.site-form .mdc-select--outlined .mdc-select__anchor {
  width: 100%;
  height: 48px;
  background-position: right 12px center;
  background-size: 12px 25px;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http://www.w3.org/2000/svg%22%20fill%3D%22%2300AEEF%22%20viewBox%3D%220%200%2016%2032%22%3E%3Cpath%20d%3D%22M14,11.1H3L8.5,2ZM3,21H14L8.5,30.1Z%22/%3E%3Cpath%20d%3D%22M16,32H0V0H16Z%22%20fill%3D%22none%22/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-color: #fff;
  transition: background-color 0.2s;
}
@media (min-width: 1656px) {
  .site-form .mdc-select--outlined .mdc-select__anchor {
    height: 64px;
  }
}
.site-form .mdc-select--outlined .mdc-select__selected-text {
  line-height: 47px;
  padding-top: 0;
  padding-bottom: 0;
  height: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  width: 100%;
  white-space: nowrap;
  display: block;
  padding-right: 28px;
  min-width: 0;
  user-select: none;
}
@media (min-width: 1656px) {
  .site-form .mdc-select--outlined .mdc-select__selected-text {
    line-height: 62px;
    font-size: 19px;
    padding-right: 52px;
  }
}
.site-form .mdc-select--outlined .mdc-floating-label {
  top: 22px;
  cursor: pointer;
}
@media (min-width: 1656px) {
  .site-form .mdc-select--outlined .mdc-floating-label {
    top: 30px;
  }
}
.site-form .mdc-select--outlined .mdc-floating-label.mdc-floating-label--float-above {
  top: 13px;
}
@media (min-width: 1656px) {
  .site-form .mdc-select--outlined .mdc-floating-label.mdc-floating-label--float-above {
    top: 24px;
  }
}
.firefox .site-form .mdc-select--outlined .mdc-floating-label.mdc-floating-label--float-above {
  top: 12px;
}
@media (min-width: 1656px) {
  .firefox .site-form .mdc-select--outlined .mdc-floating-label.mdc-floating-label--float-above {
    top: 22px;
  }
}
.site-form .mdc-select--outlined .mdc-select__anchor .mdc-notched-outline--upgraded .mdc-floating-label--float-above,
.site-form .mdc-select--outlined .mdc-select__anchor.mdc-notched-outline--upgraded .mdc-floating-label--float-above {
  transform: translateY(-106%) scale(0.75);
  color: #00a5e3;
}
@media (min-width: 1656px) {
  .site-form .mdc-select--outlined .mdc-select__anchor .mdc-notched-outline--upgraded .mdc-floating-label--float-above,
  .site-form .mdc-select--outlined .mdc-select__anchor.mdc-notched-outline--upgraded .mdc-floating-label--float-above {
    transform: translateY(-147%) scale(0.75);
    font-size: 19px;
  }
}
.site-form .mdc-select--outlined:hover .mdc-select__anchor, .site-form .mdc-select--outlined:focus .mdc-select__anchor {
  background-color: rgba(0, 174, 239, 0.06);
}
.site-form .mdc-select--outlined:not(.mdc-select--disabled) .mdc-floating-label {
  color: #00a5e3;
}
.site-form .mdc-select--outlined .mdc-select-input-hidden {
  position: absolute;
  top: -100px;
  left: 0;
  z-index: -1;
  user-select: none;
  width: 100%;
  height: 100%;
  opacity: 0;
}
@media (min-width: 1656px) {
  .site-form .mdc-select--compact {
    background-size: 15px 31px;
    background-position: right 14px center;
    line-height: 1.4;
    height: 54px;
    font-size: 16px;
  }
}
.site-form .mdc-select--compact .mdc-select__anchor {
  width: 100%;
  height: 48px;
  background-position: right 12px center;
  background-size: 12px 25px;
}
@media (min-width: 1656px) {
  .site-form .mdc-select--compact .mdc-select__anchor {
    height: 54px;
  }
}
@media (min-width: 1656px) {
  .site-form .mdc-select--compact .mdc-select__selected-text {
    line-height: 53px;
    font-size: 16px;
  }
}
.site-form .mdc-select--compact .mdc-floating-label.mdc-floating-label--float-above {
  top: 13px;
}
@media (min-width: 1656px) {
  .site-form .mdc-select--compact .mdc-floating-label.mdc-floating-label--float-above {
    top: 19px;
  }
}
.site-form .mdc-select--compact .mdc-select__anchor .mdc-notched-outline--upgraded .mdc-floating-label--float-above,
.site-form .mdc-select--compact .mdc-select__anchor.mdc-notched-outline--upgraded .mdc-floating-label--float-above {
  transform: translateY(-104%) scale(0.75);
}
@media (min-width: 1656px) {
  .site-form .mdc-select--compact .mdc-select__anchor .mdc-notched-outline--upgraded .mdc-floating-label--float-above,
  .site-form .mdc-select--compact .mdc-select__anchor.mdc-notched-outline--upgraded .mdc-floating-label--float-above {
    transform: translateY(-147%) scale(0.75);
    font-size: 16px;
  }
}
@media (min-width: 1656px) {
  .site-form .mdc-text-field--compact {
    line-height: 1.55;
    height: 54px;
    font-size: 16px;
  }
}
@media (min-width: 1656px) {
  .site-form .mdc-text-field--compact .mdc-floating-label {
    top: 17px;
    font-size: 16px;
  }
}
@media (min-width: 1656px) {
  .firefox .site-form .mdc-text-field--compact .mdc-floating-label {
    top: 16px;
  }
}
@media (min-width: 1656px) {
  .site-form .mdc-text-field--compact .mdc-notched-outline--upgraded .mdc-floating-label--float-above {
    top: 20px;
    font-size: 16px;
  }
}
@media (min-width: 1656px) {
  .firefox .site-form .mdc-text-field--compact .mdc-notched-outline--upgraded .mdc-floating-label--float-above {
    top: 19px;
  }
}
@media (min-width: 1656px) {
  .site-form .mdc-text-field--compact.mdc-text-field--focused .mdc-notched-outline--upgraded .mdc-floating-label--float-above {
    top: 19px;
  }
}
@media (min-width: 1656px) {
  .firefox .site-form .mdc-text-field--compact.mdc-text-field--focused .mdc-notched-outline--upgraded .mdc-floating-label--float-above {
    top: 18px;
  }
}
@media (min-width: 1656px) {
  .site-form .mdc-text-field--compact .mdc-text-field__input {
    font-size: 16px;
  }
}
.site-form .mdc-text-field--textarea {
  height: auto;
  width: 100%;
}
.site-form .mdc-text-field--textarea .mdc-text-field__input {
  resize: none;
  margin-top: 10px;
}
@media (min-width: 1656px) {
  .site-form .mdc-text-field--textarea .mdc-text-field__input {
    margin-top: 17px;
  }
}
.site-form__help-text {
  margin-top: 10px;
}
.mdc-form-field--checkbox > .site-form__help-text {
  padding-left: 45px;
}
.site-form__help-text--small {
  font-size: 10.5px;
  font-weight: 300;
}
@media (min-width: 375px) {
  .site-form__help-text--small {
    font-size: 12px;
  }
}
@media (min-width: 1656px) {
  .site-form__help-text--small {
    font-size: 13px;
  }
}
.site-form__info {
  text-align: left;
  font-weight: 300;
  font-size: 12.5px;
  margin-top: 15px;
  margin-bottom: 5px;
  padding: 0;
  line-height: 1.43;
}
.site-form__info--center {
  text-align: center;
}
.site-form__info--spaced {
  margin-top: 32px;
}
@media (min-width: 1656px) {
  .site-form__info {
    margin-top: 20px;
    margin-bottom: 10px;
    line-height: 1.7;
    font-size: 14px;
  }
}
.site-form__info a:hover, .site-form__info a:focus {
  text-decoration: underline;
}
.site-form .mdc-text-field__input:required ~ .mdc-floating-label:not(.required)::after, .site-form .mdc-text-field__input:required ~ .mdc-notched-outline .mdc-floating-label:not(.required)::after {
  display: none;
}

.kaliopcustomforms-form--default {
  max-width: 620px;
  margin: 0 auto;
}
.kaliopcustomforms-form--default button[type=submit] {
  margin: 0 auto;
  display: block;
}
.kaliopcustomforms-form--default .btn--blue:disabled {
  background-color: #2653B9;
}
.kaliopcustomforms-form__message-container {
  padding-bottom: 10px;
  font-size: 16px;
}
.kaliopcustomforms-form__message-container--error {
  color: #ff0000;
}
.kaliopcustomforms-form__message-container--warning {
  color: #F26A21;
}
.kaliopcustomforms-form__message-container--success {
  color: #6ec01e;
}

.custom-field--indented {
  margin-left: 35px;
}

.static_text-field {
  display: inline-block;
}
.static_text-field--small {
  font-size: 12px;
}
.static_text-field--normal {
  font-size: 14px;
}
.static_text-field--large {
  font-size: 19px;
  font-weight: 400;
}

.timeless-form {
  max-width: 682px;
  margin: 0 auto;
}
.timeless-form__actions {
  text-align: center;
}

.annual-form {
  max-width: 400px;
}

.newsletter-agreements .ezrichtext-field, .newsletter-agreements .ngl-rich_text {
  font-size: 15px;
}
@media (min-width: 375px) {
  .newsletter-agreements .ezrichtext-field, .newsletter-agreements .ngl-rich_text {
    font-size: 17px;
  }
}
@media (min-width: 1656px) {
  .newsletter-agreements .ezrichtext-field, .newsletter-agreements .ngl-rich_text {
    font-size: 19px;
  }
}
.newsletter-agreements .ezrichtext-field p:not([class]), .newsletter-agreements .ngl-rich_text p:not([class]) {
  margin-bottom: 0;
}
.newsletter-agreements__title {
  font-weight: 300;
  padding-top: 8px;
  margin-bottom: 0.8rem;
  text-align: left;
}
.newsletter-agreements__title .ezrichtext-field, .newsletter-agreements__title .ngl-rich_text, .newsletter-agreements__title {
  font-size: 15px;
}
@media (min-width: 375px) {
  .newsletter-agreements__title .ezrichtext-field, .newsletter-agreements__title .ngl-rich_text, .newsletter-agreements__title {
    font-size: 17px;
  }
}
@media (min-width: 1656px) {
  .newsletter-agreements__title .ezrichtext-field, .newsletter-agreements__title .ngl-rich_text, .newsletter-agreements__title {
    font-size: 19px;
    letter-spacing: 0.4px;
  }
}
.newsletter-agreements__title--bold {
  font-weight: 500;
}
.newsletter-agreements__choices {
  /*padding-left: 48px;
  .newsletter-agreements--collapsable & {
      padding-left: 0;
  }*/
}
.client-settings .newsletter-agreements__choices {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.client-settings .newsletter-agreements__choices .newsletter-agreements__choice {
  width: 100%;
}
@media (min-width: 1200px) {
  .client-settings .newsletter-agreements__choices .newsletter-agreements__choice {
    width: 47%;
  }
}
.newsletter-agreements__choice {
  position: relative;
}
.newsletter-agreements__toggle {
  border: none;
  overflow: hidden;
  font-family: inherit;
  outline: none;
  margin: 0;
  background-repeat: no-repeat;
  background-size: 18px 18px;
  background-position: right 0 center;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http://www.w3.org/2000/svg%22%20fill%3D%22%23201d1d%22%20viewBox%3D%220%200%2036%2036%22%3E%3Cpath%20d%3D%22M33.87,27a1.13,1.13,0,0,1-.8-.33L18,11.72l-15.07,15a1.13,1.13,0,0,1-1.6,0,1.12,1.12,0,0,1,0-1.59L17.2,9.33a1.13,1.13,0,0,1,1.6,0L34.67,25.08a1.13,1.13,0,0,1-.8,1.92Z%22/%3E%3Cpath%20d%3D%22M36,36H0V0H36Z%22%20fill%3D%22none%22/%3E%3C/svg%3E");
  background-color: transparent;
  font-weight: 300;
  line-height: 1.25;
  user-select: none;
  position: absolute;
  top: 7px;
  right: 0;
  padding-right: 30px;
  color: #00AEEF;
  font-size: 15px;
}
@media (min-width: 375px) {
  .newsletter-agreements__toggle {
    font-size: 17px;
  }
}
@media (min-width: 1656px) {
  .newsletter-agreements__toggle {
    font-size: 19px;
  }
}
.newsletter-agreements__toggle:focus {
  outline: none;
}
.newsletter-agreements__toggle .newsletter-agreements__toggle--collapsed {
  display: none;
}
.newsletter-agreements__toggle .newsletter-agreements__toggle--shown {
  display: inline;
}
.newsletter-agreements__toggle.collapsed {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http://www.w3.org/2000/svg%22%20fill%3D%22%23201d1d%22%20viewBox%3D%220%200%2036%2036%22%3E%3Cpath%20d%3D%22M2.13,9a1.13,1.13,0,0,1,.8.33L18,24.28,33.07,9.33a1.13,1.13,0,0,1,1.6,0,1.12,1.12,0,0,1,0,1.59L18.8,26.67a1.13,1.13,0,0,1-1.6,0L1.33,10.92A1.13,1.13,0,0,1,2.13,9Z%22/%3E%3Cpath%20d%3D%22M36,36H0V0H36Z%22%20fill%3D%22none%22/%3E%3C/svg%3E");
}
.newsletter-agreements__toggle.collapsed .newsletter-agreements__toggle--collapsed {
  display: inline;
}
.newsletter-agreements__toggle.collapsed .newsletter-agreements__toggle--shown {
  display: none;
}
.newsletter-agreements__panel .newsletter-agreements__info {
  margin: 0;
  padding-bottom: 28px;
}
@media (min-width: 1656px) {
  .newsletter-agreements__panel .newsletter-agreements__info {
    padding-bottom: 16px;
  }
}
.newsletter-agreements__info {
  text-align: left;
  font-weight: 300;
  margin-top: 22px;
  margin-bottom: 28px;
  padding: 0;
  line-height: 1.43;
}
.newsletter-agreements__info--spaced {
  margin-top: 32px;
}
@media (min-width: 1656px) {
  .newsletter-agreements__info--spaced {
    margin-top: 22px;
  }
}
.newsletter-agreements__info--indented, .newsletter-agreements__choice .newsletter-agreements__info {
  padding-left: 35px;
}
@media (min-width: 1656px) {
  .newsletter-agreements__info--indented, .newsletter-agreements__choice .newsletter-agreements__info {
    padding-left: 45px;
  }
}
.newsletter-agreements__info .ezrichtext-field, .newsletter-agreements__info .ngl-rich_text, .newsletter-agreements__info {
  font-size: 12.5px;
}
@media (min-width: 1656px) {
  .newsletter-agreements__info .ezrichtext-field, .newsletter-agreements__info .ngl-rich_text, .newsletter-agreements__info {
    line-height: 1.7;
    font-size: 14px;
  }
}
@media (min-width: 1656px) {
  .newsletter-agreements__info {
    margin-bottom: 16px;
  }
}
.newsletter-agreements__info a:hover, .newsletter-agreements__info a:focus {
  text-decoration: underline;
}

.mdc-checkbox-multiple .site-form__validation-text {
  left: 0;
  bottom: 0;
  position: relative;
  margin-bottom: 14px;
  max-width: unset;
}

.server-side--invalid .site-form__validation-text {
  display: block;
}

.was-validated .newsletter-agreements .site-form__checkbox--required.site-form__checkbox--unchecked ~ .site-form__validation-text {
  padding-left: 35px;
}
@media (min-width: 1656px) {
  .was-validated .newsletter-agreements .site-form__checkbox--required.site-form__checkbox--unchecked ~ .site-form__validation-text {
    padding-left: 44px;
  }
}

.social-content {
  display: none;
}
@media (min-width: 992px) {
  .social-content {
    display: flex;
    justify-content: flex-end;
    margin-top: 40px;
    padding-right: 12px;
  }
}
@media (min-width: 992px) {
  .social-content > * {
    margin-left: 25px;
  }
}

.see-also {
  margin-bottom: -30px;
}
@media (min-width: 992px) {
  .see-also {
    margin-bottom: -40px;
  }
}
@media (min-width: 1200px) {
  .see-also {
    margin-bottom: -50px;
  }
}
@media (min-width: 1400px) {
  .see-also {
    margin-bottom: -100px;
  }
}
.see-also__title {
  font-size: 28px;
  font-weight: 700;
  text-transform: uppercase;
  color: #00AEEF;
  margin-bottom: 35px;
  text-align: center;
  margin-top: 35px;
  letter-spacing: 0.2px;
}
@media (min-width: 992px) {
  .see-also__title {
    letter-spacing: 0.5px;
    text-align: left;
    font-size: 48px;
    margin-top: 20px;
    margin-bottom: 25px;
    margin-left: 40px;
  }
}
@media (min-width: 1200px) {
  .see-also__title {
    margin-bottom: 28px;
  }
}
@media (min-width: 1656px) {
  .see-also__title {
    margin-top: 35px;
    margin-bottom: 58px;
  }
}
.accordion3__section .see-also__title {
  margin-top: 0;
}
@media (min-width: 992px) {
  .accordion3__section .see-also__title {
    margin-top: 0;
    margin-left: 28px;
  }
}
.see-also__row {
  margin: 0 -23px;
  border-bottom: 1px solid rgba(0, 174, 239, 0.3);
}
@media (min-width: 992px) {
  .see-also__row {
    margin: auto;
    display: flex;
    flex-wrap: wrap;
    border-bottom: none;
  }
}
@media (min-width: 992px) {
  .see-also__item {
    width: calc(33% - 17px);
    margin-right: 30px;
    margin-bottom: 40px;
  }
}
@media (min-width: 1200px) {
  .see-also__item {
    width: calc(33% - 17px);
    margin-bottom: 50px;
  }
}
@media (min-width: 1400px) {
  .see-also__item {
    width: calc(33% - 15.666px);
    margin-bottom: 100px;
  }
}
@media (min-width: 992px) {
  .see-also__item:nth-of-type(3n) {
    margin-right: 0;
  }
}

.card-2 {
  position: relative;
  overflow: hidden;
  display: flex;
  border-top: 1px solid rgba(0, 174, 239, 0.3);
}
@media (min-width: 992px) {
  .card-2 {
    border: none;
    display: block;
    overflow: visible;
  }
}
.card-2__header {
  width: calc(100% - 112px);
  display: flex;
  flex-direction: column;
  padding: 17px 33px 17px 22px;
}
@media (min-width: 992px) {
  .card-2__header {
    padding: 0;
    width: 100%;
    position: relative;
    margin-bottom: 20px;
  }
}
@media (min-width: 1200px) {
  .card-2__header {
    margin-bottom: 30px;
  }
}
@media (min-width: 1400px) {
  .card-2__header {
    margin-bottom: 40px;
  }
}
@media (min-width: 1656px) {
  .card-2__header {
    margin-bottom: 50px;
  }
}
@media (min-width: 992px) {
  .card-2__header:after {
    content: "";
    display: block;
    width: 73px;
    height: 0;
    border-bottom: 2px solid #d6d8da;
    position: absolute;
    bottom: -10px;
    left: 0;
  }
}
@media (min-width: 1200px) {
  .card-2__header:after {
    bottom: -15px;
  }
}
@media (min-width: 1400px) {
  .card-2__header:after {
    bottom: -20px;
  }
}
@media (min-width: 1656px) {
  .card-2__header:after {
    bottom: -25px;
  }
}
.card-2__headline {
  color: #201d1d;
  margin: 0;
  overflow: hidden;
  font-size: 15px;
  font-weight: 400;
  line-height: 1.7;
  width: 100%;
  letter-spacing: 0.4px;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  text-overflow: ellipsis;
  order: 2;
  height: 76px;
}
.show .card-2__headline {
  height: 75px;
}
@media (min-width: 992px) {
  .card-2__headline {
    margin: 0 0 8px 0;
    order: 1;
    font-size: 18px;
    line-height: 26px;
    height: 52px;
    font-weight: 400;
    letter-spacing: 0.6px;
    padding: 0;
    position: static;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    text-overflow: ellipsis;
  }
}
@media (min-width: 1200px) {
  .card-2__headline {
    font-size: 20px;
    line-height: 28px;
    height: 56px;
  }
}
@media (min-width: 1400px) {
  .card-2__headline {
    font-size: 22px;
    line-height: 30px;
    height: 60px;
  }
}
@media (min-width: 1656px) {
  .card-2__headline {
    font-size: 24px;
    line-height: 1.25;
    height: 60px;
  }
}
.card-2__info {
  order: 0;
  display: flex;
  justify-content: space-between;
  margin-bottom: 18px;
}
@media (min-width: 992px) {
  .card-2__info {
    margin-bottom: 16px;
  }
}
.card-2__label {
  display: inline-block;
  vertical-align: top;
  color: #fff;
  background-color: #00AEEF;
  font-size: 10.5px;
  line-height: 17px;
  height: 17px;
  padding: 0 6px;
  margin: 0;
}
@media (min-width: 992px) {
  .card-2__label {
    font-size: 12px;
    line-height: 27px;
    height: 27px;
  }
}
.card-2__time {
  display: inline-block;
  vertical-align: top;
  color: #201d1d;
  padding: 0;
  font-weight: 500;
  font-size: 10.5px;
  line-height: 17px;
  height: 17px;
}
@media (min-width: 992px) {
  .card-2__time {
    font-size: 12px;
    line-height: 27px;
    height: 27px;
  }
}
.card-2__description {
  display: none;
}
@media (min-width: 992px) {
  .card-2__description {
    overflow: hidden;
    font-size: 15px;
    line-height: 20px;
    font-weight: 300;
    letter-spacing: 0.3px;
    hyphens: auto;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    text-overflow: ellipsis;
  }
}
@media (min-width: 1200px) {
  .card-2__description {
    font-size: 16px;
    line-height: 22px;
  }
}
@media (min-width: 1400px) {
  .card-2__description {
    line-height: 26px;
  }
}
@media (min-width: 1656px) {
  .card-2__description {
    line-height: 1.476;
  }
}
.card-2__figure {
  margin: 0;
  position: relative;
  display: block;
  order: 0;
  width: 112px;
}
@media (min-width: 992px) {
  .card-2__figure {
    order: unset;
    width: auto;
    margin-bottom: 20px;
  }
}
.card-2__canvas--desktop, .card-2__canvas--mobile {
  background-color: #D8D1C9;
  margin: 0;
  width: 100%;
  max-width: 100%;
  user-select: none;
}
.card-2__canvas--desktop {
  display: none;
}
@media (min-width: 992px) {
  .card-2__canvas--desktop {
    display: block;
  }
}
.card-2__canvas--mobile {
  display: block;
}
@media (min-width: 992px) {
  .card-2__canvas--mobile {
    display: none;
  }
}
.card-2__img {
  width: 100%;
  display: block;
  user-select: none;
}
canvas + picture .card-2__img {
  position: absolute;
  left: 0;
  top: 0;
}
.card-2__overlink {
  position: absolute;
  overflow: hidden;
  z-index: 2;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  --mdc-ripple-fg-size: 0;
  --mdc-ripple-left: 0;
  --mdc-ripple-top: 0;
  --mdc-ripple-fg-scale: 1;
  --mdc-ripple-fg-translate-end: 0;
  --mdc-ripple-fg-translate-start: 0;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  transition: background-color 0.2s, border-color 0.2s;
  border-top: none;
  border-bottom: none;
}
.card-2__overlink::before, .card-2__overlink::after {
  position: absolute;
  border-radius: 50%;
  opacity: 0;
  pointer-events: none;
  content: "";
}
.card-2__overlink::before {
  transition: opacity 15ms linear, background-color 15ms linear;
  z-index: 1;
}
.card-2__overlink.mdc-ripple-upgraded::before {
  transform: scale(var(--mdc-ripple-fg-scale, 1));
}
.card-2__overlink.mdc-ripple-upgraded::after {
  top: 0;
  /* @noflip */
  left: 0;
  transform: scale(0);
  transform-origin: center center;
}
.card-2__overlink.mdc-ripple-upgraded--unbounded::after {
  top: var(--mdc-ripple-top, 0);
  /* @noflip */
  left: var(--mdc-ripple-left, 0);
}
.card-2__overlink.mdc-ripple-upgraded--foreground-activation::after {
  animation: mdc-ripple-fg-radius-in 225ms forwards, mdc-ripple-fg-opacity-in 75ms forwards;
}
.card-2__overlink.mdc-ripple-upgraded--foreground-deactivation::after {
  animation: mdc-ripple-fg-opacity-out 150ms;
  transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1));
}
.card-2__overlink::before, .card-2__overlink::after {
  top: calc(50% - 100%);
  /* @noflip */
  left: calc(50% - 100%);
  width: 200%;
  height: 200%;
}
.card-2__overlink.mdc-ripple-upgraded::after {
  width: var(--mdc-ripple-fg-size, 100%);
  height: var(--mdc-ripple-fg-size, 100%);
}
.card-2__overlink:hover::before {
  opacity: 0;
}
.card-2__overlink.mdc-ripple-upgraded--background-focused::before, .card-2__overlink:not(.mdc-ripple-upgraded):focus::before {
  transition-duration: 75ms;
  opacity: 0;
}
.card-2__overlink::before, .card-2__overlink::after {
  background-color: #201d1d;
}
.card-2__overlink:not(.mdc-ripple-upgraded)::after {
  transition: opacity 150ms linear;
}
.card-2__overlink:not(.mdc-ripple-upgraded):active::after {
  transition-duration: 75ms;
  opacity: 0.04;
}
.card-2__overlink.mdc-ripple-upgraded {
  --mdc-ripple-fg-opacity: 0.04;
}
.tab-navigation .card-2__overlink:focus {
  outline: none;
}
.tab-navigation .card-2__overlink:focus.mdc-ripple-upgraded--background-focused::before, .tab-navigation .card-2__overlink:focus:not(.mdc-ripple-upgraded):focus::before {
  transition-duration: 75ms;
  opacity: 0.2;
}
@media (min-width: 992px) {
  .card-2__overlink {
    border-top: 4px solid rgba(0, 174, 239, 0);
    border-bottom: 4px solid rgba(0, 174, 239, 0);
    top: -15px;
    left: -15px;
    width: calc(100% + 30px);
    height: calc(100% + 30px);
  }
}
.card-2__overlink:hover {
  background-color: rgba(32, 29, 29, 0.03);
}
@media (min-width: 992px) {
  .card-2:hover .card-2__overlink {
    border-top: 4px solid #00AEEF;
    border-bottom: 4px solid #00AEEF;
  }
}
.card-2--vertical {
  border-top: 0;
  flex-direction: column;
}
.card-2--vertical .card-2__header {
  padding: 0;
  width: 100%;
  position: relative;
  margin-bottom: 20px;
}
.card-2--vertical .card-2__figure {
  width: 100%;
}
.card-2--vertical .card-2__description {
  display: block;
}

.slider__item .card-2 {
  position: relative;
  overflow: hidden;
  display: flex;
  border-top: 1px solid rgba(0, 174, 239, 0.3);
}
@media (min-width: 768px) {
  .slider__item .card-2 {
    border: none;
    display: block;
    overflow: visible;
  }
}
.slider__item .card-2__header {
  width: calc(100% - 112px);
  display: flex;
  flex-direction: column;
  padding: 17px 33px 17px 22px;
}
@media (min-width: 768px) {
  .slider__item .card-2__header {
    padding: 0;
    width: 100%;
    position: relative;
    margin-bottom: 20px;
  }
}
@media (min-width: 1200px) {
  .slider__item .card-2__header {
    margin-bottom: 30px;
  }
}
@media (min-width: 1400px) {
  .slider__item .card-2__header {
    margin-bottom: 40px;
  }
}
@media (min-width: 1656px) {
  .slider__item .card-2__header {
    margin-bottom: 50px;
  }
}
@media (min-width: 768px) {
  .slider__item .card-2__header:after {
    content: "";
    display: block;
    width: 73px;
    height: 0;
    border-bottom: 2px solid #d6d8da;
    position: absolute;
    bottom: -10px;
    left: 0;
  }
}
@media (min-width: 1200px) {
  .slider__item .card-2__header:after {
    bottom: -15px;
  }
}
@media (min-width: 1400px) {
  .slider__item .card-2__header:after {
    bottom: -20px;
  }
}
@media (min-width: 1656px) {
  .slider__item .card-2__header:after {
    bottom: -25px;
  }
}
.slider__item .card-2__headline {
  color: #201d1d;
  margin: 0;
  overflow: hidden;
  font-size: 15px;
  font-weight: 400;
  line-height: 1.7;
  width: 100%;
  letter-spacing: 0.4px;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  text-overflow: ellipsis;
  order: 2;
  height: 76px;
}
.show .slider__item .card-2__headline {
  height: 75px;
}
@media (min-width: 768px) {
  .slider__item .card-2__headline {
    margin: 0 0 8px 0;
    order: 1;
    font-size: 18px;
    line-height: 26px;
    height: 52px;
    font-weight: 400;
    letter-spacing: 0.6px;
    padding: 0;
    position: static;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    text-overflow: ellipsis;
  }
}
@media (min-width: 1200px) {
  .slider__item .card-2__headline {
    font-size: 20px;
    line-height: 28px;
    height: 56px;
  }
}
@media (min-width: 1400px) {
  .slider__item .card-2__headline {
    font-size: 22px;
    line-height: 30px;
    height: 60px;
  }
}
@media (min-width: 1656px) {
  .slider__item .card-2__headline {
    font-size: 24px;
    line-height: 1.25;
    height: 60px;
  }
}
.slider__item .card-2__info {
  order: 0;
  display: flex;
  justify-content: space-between;
  margin-bottom: 18px;
}
@media (min-width: 768px) {
  .slider__item .card-2__info {
    margin-bottom: 16px;
  }
}
.slider__item .card-2__label {
  display: inline-block;
  vertical-align: top;
  color: #fff;
  background-color: #00AEEF;
  font-size: 10.5px;
  line-height: 17px;
  height: 17px;
  padding: 0 6px;
  margin: 0;
}
@media (min-width: 768px) {
  .slider__item .card-2__label {
    font-size: 12px;
    line-height: 27px;
    height: 27px;
  }
}
.slider__item .card-2__time {
  display: inline-block;
  vertical-align: top;
  color: #201d1d;
  padding: 0;
  font-weight: 500;
  font-size: 10.5px;
  line-height: 17px;
  height: 17px;
}
@media (min-width: 768px) {
  .slider__item .card-2__time {
    font-size: 12px;
    line-height: 27px;
    height: 27px;
  }
}
.slider__item .card-2__description {
  display: none;
}
@media (min-width: 768px) {
  .slider__item .card-2__description {
    overflow: hidden;
    font-size: 15px;
    line-height: 20px;
    font-weight: 300;
    letter-spacing: 0.3px;
    hyphens: auto;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    text-overflow: ellipsis;
  }
}
@media (min-width: 1200px) {
  .slider__item .card-2__description {
    font-size: 16px;
    line-height: 22px;
  }
}
@media (min-width: 1400px) {
  .slider__item .card-2__description {
    line-height: 26px;
  }
}
@media (min-width: 1656px) {
  .slider__item .card-2__description {
    line-height: 1.476;
  }
}
.slider__item .card-2__figure {
  margin: 0;
  position: relative;
  display: block;
  order: 0;
  width: 112px;
}
@media (min-width: 768px) {
  .slider__item .card-2__figure {
    order: unset;
    width: auto;
    margin-bottom: 20px;
  }
}
.slider__item .card-2__canvas--desktop, .slider__item .card-2__canvas--mobile {
  background-color: #D8D1C9;
  margin: 0;
  width: 100%;
  max-width: 100%;
  user-select: none;
}
.slider__item .card-2__canvas--desktop {
  display: none;
}
@media (min-width: 768px) {
  .slider__item .card-2__canvas--desktop {
    display: block;
  }
}
.slider__item .card-2__canvas--mobile {
  display: block;
}
@media (min-width: 768px) {
  .slider__item .card-2__canvas--mobile {
    display: none;
  }
}
.slider__item .card-2__img {
  width: 100%;
  display: block;
  user-select: none;
}
canvas + picture .slider__item .card-2__img {
  position: absolute;
  left: 0;
  top: 0;
}
.slider__item .card-2__overlink {
  position: absolute;
  overflow: hidden;
  z-index: 2;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  --mdc-ripple-fg-size: 0;
  --mdc-ripple-left: 0;
  --mdc-ripple-top: 0;
  --mdc-ripple-fg-scale: 1;
  --mdc-ripple-fg-translate-end: 0;
  --mdc-ripple-fg-translate-start: 0;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  transition: background-color 0.2s, border-color 0.2s;
  border-top: none;
  border-bottom: none;
}
.slider__item .card-2__overlink::before, .slider__item .card-2__overlink::after {
  position: absolute;
  border-radius: 50%;
  opacity: 0;
  pointer-events: none;
  content: "";
}
.slider__item .card-2__overlink::before {
  transition: opacity 15ms linear, background-color 15ms linear;
  z-index: 1;
}
.slider__item .card-2__overlink.mdc-ripple-upgraded::before {
  transform: scale(var(--mdc-ripple-fg-scale, 1));
}
.slider__item .card-2__overlink.mdc-ripple-upgraded::after {
  top: 0;
  /* @noflip */
  left: 0;
  transform: scale(0);
  transform-origin: center center;
}
.slider__item .card-2__overlink.mdc-ripple-upgraded--unbounded::after {
  top: var(--mdc-ripple-top, 0);
  /* @noflip */
  left: var(--mdc-ripple-left, 0);
}
.slider__item .card-2__overlink.mdc-ripple-upgraded--foreground-activation::after {
  animation: mdc-ripple-fg-radius-in 225ms forwards, mdc-ripple-fg-opacity-in 75ms forwards;
}
.slider__item .card-2__overlink.mdc-ripple-upgraded--foreground-deactivation::after {
  animation: mdc-ripple-fg-opacity-out 150ms;
  transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1));
}
.slider__item .card-2__overlink::before, .slider__item .card-2__overlink::after {
  top: calc(50% - 100%);
  /* @noflip */
  left: calc(50% - 100%);
  width: 200%;
  height: 200%;
}
.slider__item .card-2__overlink.mdc-ripple-upgraded::after {
  width: var(--mdc-ripple-fg-size, 100%);
  height: var(--mdc-ripple-fg-size, 100%);
}
.slider__item .card-2__overlink:hover::before {
  opacity: 0;
}
.slider__item .card-2__overlink.mdc-ripple-upgraded--background-focused::before, .slider__item .card-2__overlink:not(.mdc-ripple-upgraded):focus::before {
  transition-duration: 75ms;
  opacity: 0;
}
.slider__item .card-2__overlink::before, .slider__item .card-2__overlink::after {
  background-color: #201d1d;
}
.slider__item .card-2__overlink:not(.mdc-ripple-upgraded)::after {
  transition: opacity 150ms linear;
}
.slider__item .card-2__overlink:not(.mdc-ripple-upgraded):active::after {
  transition-duration: 75ms;
  opacity: 0.04;
}
.slider__item .card-2__overlink.mdc-ripple-upgraded {
  --mdc-ripple-fg-opacity: 0.04;
}
.tab-navigation .slider__item .card-2__overlink:focus {
  outline: none;
}
.tab-navigation .slider__item .card-2__overlink:focus.mdc-ripple-upgraded--background-focused::before, .tab-navigation .slider__item .card-2__overlink:focus:not(.mdc-ripple-upgraded):focus::before {
  transition-duration: 75ms;
  opacity: 0.2;
}
@media (min-width: 768px) {
  .slider__item .card-2__overlink {
    border-top: 4px solid rgba(0, 174, 239, 0);
    border-bottom: 4px solid rgba(0, 174, 239, 0);
    top: -15px;
    left: -15px;
    width: calc(100% + 30px);
    height: calc(100% + 30px);
  }
}
.slider__item .card-2__overlink:hover {
  background-color: rgba(32, 29, 29, 0.03);
}
@media (min-width: 768px) {
  .card-2:hover .slider__item .card-2__overlink {
    border-top: 4px solid #00AEEF;
    border-bottom: 4px solid #00AEEF;
  }
}
.slider__item .card-2--vertical {
  border-top: 0;
  flex-direction: column;
}
.slider__item .card-2--vertical .card-2__header {
  padding: 0;
  width: 100%;
  position: relative;
  margin-bottom: 20px;
}
.slider__item .card-2--vertical .card-2__figure {
  width: 100%;
}
.slider__item .card-2--vertical .card-2__description {
  display: block;
  padding-top: 0px;
}
@media (max-width: 768px) {
  .slider__item .card-2--vertical .card-2__description {
    padding-top: 16px;
  }
}

.programs {
  margin-top: 27px;
  margin-bottom: 30px;
  padding: 0;
}
@media (min-width: 768px) {
  .programs {
    padding: 0 15px;
  }
}
@media (min-width: 1656px) {
  .programs {
    margin-top: 85px;
    margin-bottom: 50px;
  }
}
.programs__title {
  font-size: 28px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: #00AEEF;
  margin-bottom: 35px;
  text-align: center;
}
@media (min-width: 1200px) {
  .programs__title {
    text-align: left;
    font-size: 48px;
    margin-bottom: 50px;
    margin-left: 35px;
  }
}
.programs__row--more {
  display: none;
}
@media (min-width: 1200px) {
  .programs__row--more {
    display: block;
    text-align: center;
    order: 1;
    margin-top: 60px;
    margin-bottom: 70px;
  }
}
.programs__item {
  position: relative;
  min-height: 290px;
}
.programs__item .program {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}
.programs__slider {
  width: calc(100% - 100px);
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 1656px) {
  .programs__slider {
    width: 100%;
  }
}
.programs .splide__slide:first-of-type:after {
  content: "";
  display: block;
  position: absolute;
  width: 0;
  height: 100%;
  top: 0;
  left: -5px;
  border-right: 1px solid rgba(0, 174, 239, 0.3);
}
@media (min-width: 480px) {
  .programs .splide__slide:first-of-type:after {
    left: -10px;
  }
}
@media (min-width: 768px) {
  .programs .splide__slide:first-of-type:after {
    left: -15px;
  }
}
.programs .splide__slide:before {
  content: "";
  display: block;
  position: absolute;
  width: 0;
  height: 100%;
  top: 0;
  right: -5px;
  border-right: 1px solid rgba(0, 174, 239, 0.3);
}
@media (min-width: 480px) {
  .programs .splide__slide:before {
    right: -10px;
  }
}
@media (min-width: 768px) {
  .programs .splide__slide:before {
    right: -15px;
  }
}

.program {
  position: relative;
  text-align: center;
  overflow: hidden;
  border-radius: 4px;
}
.program__canvas {
  background-color: #fff;
  margin: 0;
  display: block;
  width: 100%;
  max-width: 100%;
  user-select: none;
}
.program__logo {
  position: absolute;
  margin: auto;
  top: -100%;
  bottom: -100%;
  left: -100%;
  right: -100%;
  max-width: 100%;
  max-height: 100%;
}
.program__overlink {
  position: absolute;
  z-index: 2;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  --mdc-ripple-fg-size: 0;
  --mdc-ripple-left: 0;
  --mdc-ripple-top: 0;
  --mdc-ripple-fg-scale: 1;
  --mdc-ripple-fg-translate-end: 0;
  --mdc-ripple-fg-translate-start: 0;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  transition: background-color 0.2s;
}
.program__overlink::before, .program__overlink::after {
  position: absolute;
  border-radius: 50%;
  opacity: 0;
  pointer-events: none;
  content: "";
}
.program__overlink::before {
  transition: opacity 15ms linear, background-color 15ms linear;
  z-index: 1;
}
.program__overlink.mdc-ripple-upgraded::before {
  transform: scale(var(--mdc-ripple-fg-scale, 1));
}
.program__overlink.mdc-ripple-upgraded::after {
  top: 0;
  /* @noflip */
  left: 0;
  transform: scale(0);
  transform-origin: center center;
}
.program__overlink.mdc-ripple-upgraded--unbounded::after {
  top: var(--mdc-ripple-top, 0);
  /* @noflip */
  left: var(--mdc-ripple-left, 0);
}
.program__overlink.mdc-ripple-upgraded--foreground-activation::after {
  animation: mdc-ripple-fg-radius-in 225ms forwards, mdc-ripple-fg-opacity-in 75ms forwards;
}
.program__overlink.mdc-ripple-upgraded--foreground-deactivation::after {
  animation: mdc-ripple-fg-opacity-out 150ms;
  transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1));
}
.program__overlink::before, .program__overlink::after {
  top: calc(50% - 100%);
  /* @noflip */
  left: calc(50% - 100%);
  width: 200%;
  height: 200%;
}
.program__overlink.mdc-ripple-upgraded::after {
  width: var(--mdc-ripple-fg-size, 100%);
  height: var(--mdc-ripple-fg-size, 100%);
}
.program__overlink:hover::before {
  opacity: 0;
}
.program__overlink.mdc-ripple-upgraded--background-focused::before, .program__overlink:not(.mdc-ripple-upgraded):focus::before {
  transition-duration: 75ms;
  opacity: 0;
}
.program__overlink::before, .program__overlink::after {
  background-color: #201d1d;
}
.program__overlink:not(.mdc-ripple-upgraded)::after {
  transition: opacity 150ms linear;
}
.program__overlink:not(.mdc-ripple-upgraded):active::after {
  transition-duration: 75ms;
  opacity: 0.04;
}
.program__overlink.mdc-ripple-upgraded {
  --mdc-ripple-fg-opacity: 0.04;
}
.tab-navigation .program__overlink:focus {
  outline: none;
}
.tab-navigation .program__overlink:focus.mdc-ripple-upgraded--background-focused::before, .tab-navigation .program__overlink:focus:not(.mdc-ripple-upgraded):focus::before {
  transition-duration: 75ms;
  opacity: 0.2;
}
.program__overlink:hover {
  background-color: rgba(32, 29, 29, 0.03);
}

.petition {
  display: none;
  background-color: #FFC20E;
  padding: 30px;
  font-weight: 300;
  margin: 0 0 45px;
}
@media (min-width: 992px) {
  .petition {
    display: block;
  }
}
.petition--mobile {
  display: block;
}
@media (min-width: 992px) {
  .petition--mobile {
    display: none;
  }
}
.petition__title {
  font-size: 27px;
  margin: 0 0 20px;
  padding-left: 15px;
  padding-right: 40px;
  position: relative;
}
@media (min-width: 992px) {
  .petition__title {
    font-size: 32px;
  }
}
.petition__title:after {
  content: "";
  position: absolute;
  display: inline-block;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http://www.w3.org/2000/svg%22%20fill%3D%22%23201d1d%22%20viewBox%3D%220%200%2036%2036%22%3E%3Cpath%20d%3D%22M2.13,9a1.13,1.13,0,0,1,.8.33L18,24.28,33.07,9.33a1.13,1.13,0,0,1,1.6,0,1.12,1.12,0,0,1,0,1.59L18.8,26.67a1.13,1.13,0,0,1-1.6,0L1.33,10.92A1.13,1.13,0,0,1,2.13,9Z%22/%3E%3Cpath%20d%3D%22M36,36H0V0H36Z%22%20fill%3D%22none%22/%3E%3C/svg%3E");
  width: 40px;
  height: 40px;
  top: 5px;
  right: 0;
}
.petition__description {
  margin-bottom: 20px;
  padding-left: 15px;
}
.petition__progress {
  height: 55px;
  background-color: #fff;
  border: 2px solid #fff;
  border-radius: 5px;
  overflow: hidden;
  margin: 30px 0;
}
.petition__progress .petition__progress-bar {
  display: inline-block;
  width: auto;
  min-width: 0%;
  height: 51px;
  line-height: 51px;
  background-color: #00AEEF;
  color: #fff;
  font-size: 24px;
  text-align: right;
  padding: 0 5px;
  transition: min-width 3s ease-in, width 3s ease-in;
}
.petition__consent {
  font-size: 16px;
  margin-bottom: 20px;
}
.petition__consent-details {
  font-size: 13px;
}
.petition__newsleter-details {
  display: none;
  padding-bottom: 30px;
  font-weight: bold;
}
.petition__form .mdc-button {
  width: 100%;
}
.petition a {
  color: inherit;
  text-decoration: underline;
}
.petition a:hover, .petition a:focus {
  text-decoration: underline;
  color: #fff;
}
.petition .was-validated .mdc-checkbox__native-control[required]:invalid ~ .mdc-checkbox__background {
  border-color: #F26A21 !important;
}
.petition .mdc-text-field--focused .mdc-text-field__input:required ~ .mdc-floating-label:after {
  color: #7a7a7a;
}
.petition .mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-text-field__input:required ~ .mdc-floating-label,
.petition .mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-text-field__input:required ~ .mdc-notched-outline .mdc-floating-label {
  color: #7a7a7a;
}
.petition .mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-text-field__input:required ~ .mdc-floating-label:after,
.petition .mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-text-field__input:required ~ .mdc-notched-outline .mdc-floating-label:after {
  color: #7a7a7a;
}
.petition .mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-line-ripple {
  background-color: #00AEEF;
}
.petition .was-validated .mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-line-ripple {
  background-color: #F26A21;
}
.petition .was-validated .mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-text-field__input:required ~ .mdc-floating-label,
.petition .was-validated .mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-text-field__input:required ~ .mdc-notched-outline .mdc-floating-label,
.petition .was-validated .mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-text-field__input[data-validation] ~ .mdc-floating-label,
.petition .was-validated .mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-text-field__input[data-validation] ~ .mdc-notched-outline .mdc-floating-label {
  color: #F26A21;
}
.petition .was-validated .mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-text-field__input:required ~ .mdc-floating-label:after,
.petition .was-validated .mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-text-field__input:required ~ .mdc-notched-outline .mdc-floating-label:after,
.petition .was-validated .mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-text-field__input[data-validation] ~ .mdc-floating-label:after,
.petition .was-validated .mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-text-field__input[data-validation] ~ .mdc-notched-outline .mdc-floating-label:after {
  color: #F26A21;
}
.petition .mdc-form-field {
  color: #a3adec;
  align-items: flex-start;
  margin-bottom: 2px;
  font-weight: 300;
  position: relative;
}
.petition .mdc-form-field label {
  margin-top: 11px;
  color: #201d1d;
}
.petition .mdc-text-field {
  border-radius: 0;
  width: 100%;
  margin-bottom: 30px !important;
}
.petition .mdc-text-field:not(.mdc-text-field--disabled) .mdc-text-field__input {
  color: #201d1d;
}
.petition .mdc-text-field:not(.mdc-text-field--disabled) .mdc-floating-label {
  color: #7a7a7a;
}
.petition .mdc-text-field:not(.mdc-text-field--disabled) {
  background-color: #fff;
}
@media (max-width: 1199px) {
  .petition .mdc-text-field {
    height: 48px;
  }
}
.petition .mdc-text-field:before {
  display: none;
}
.petition .mdc-text-field:not(.mdc-text-field--disabled):not(.mdc-text-field--outlined):not(.mdc-text-field--textarea) .mdc-text-field__input {
  border-bottom-color: rgba(0, 0, 0, 0) !important;
}
.petition .mdc-line-ripple {
  height: 3px;
}
.petition .mdc-form-field > label a:hover, .petition .mdc-form-field > label a:focus {
  text-decoration: underline;
  color: #fff;
}
.petition .mdc-checkbox:before {
  background-color: transparent !important;
}
.petition .mdc-floating-label {
  font-weight: 300;
  font-size: 18px;
  overflow: visible;
}
.petition .mdc-floating-label--float-above {
  transform: translateY(-110%) scale(0.7);
}
.petition .mdc-text-field-helper-text {
  font-size: 13px;
}
.petition .mdc-text-field--invalid {
  overflow: visible;
}
.petition .site-form__validation-text {
  position: absolute;
  margin: auto;
  max-width: calc(100% - 26px);
  bottom: -13px;
  transform: translateY(50%);
  left: 0;
  color: #fff;
  background-color: #F26A21;
  padding: 3px 5px;
  font-size: 10.5px;
  line-height: 1;
  display: none;
  font-weight: 400;
  user-select: none;
}
@media (min-width: 375px) {
  .petition .site-form__validation-text {
    font-size: 12px;
  }
}
input:valid ~ .petition .site-form__validation-text {
  display: none !important;
}
.petition .was-validated input:invalid ~ .site-form__validation-text {
  display: block !important;
}
.petition .was-validated .mdc-text-field--invalid .site-form__validation-text {
  display: block;
}
.petition .was-validated .site-form__checkbox--required.site-form__checkbox--unchecked ~ .site-form__validation-text {
  position: static;
  margin: 6px 0 0 0;
  max-width: none;
  transform: none;
  background-color: #F26A21;
  display: inline-block;
  width: auto;
  padding: 3px 5px;
  font-weight: 500;
}
@media (min-width: 1656px) {
  .petition .was-validated .site-form__checkbox--required.site-form__checkbox--unchecked ~ .site-form__validation-text {
    margin-left: 30px;
  }
}
.petition .site-form__server-validation-text {
  position: absolute;
  margin: auto;
  max-width: calc(100% - 26px);
  bottom: -10px;
  transform: translateY(50%);
  left: -2px;
  color: #F26A21;
  font-size: 10.5px;
  line-height: 1;
  display: none;
  padding-left: 2px;
  padding-right: 2px;
  font-weight: 400;
  user-select: none;
}
@media (min-width: 375px) {
  .petition .site-form__server-validation-text {
    font-size: 12px;
  }
}
.petition .server-side-validated .server-side--invalid ~ .site-form__server-validation-text {
  display: block;
}
.petition .was-validated .mdc-checkbox--invalid {
  padding-bottom: 25px;
}
.petition .was-validated .mdc-checkbox--invalid ~ .site-form__validation-text {
  display: block;
  bottom: 5px;
  left: 26px;
}
.petition .mdc-checkbox__ripple:before, .petition .mdc-radio__ripple:before {
  background-color: #fff !important;
}
.petition .mdc-checkbox__ripple:after, .petition .mdc-radio__ripple:after {
  background-color: rgba(255, 255, 255, 0.3) !important;
}
.petition .mdc-text-field:not(.mdc-text-field--disabled) .mdc-floating-label.mdc-floating-label--float-above {
  color: #201d1d;
}
.petition__checkbox {
  margin-bottom: 30px;
}
.petition__checkbox .mdc-checkbox .mdc-checkbox__native-control:enabled:not(:checked):not(:indeterminate):not([data-indeterminate=true]) ~ .mdc-checkbox__background {
  border-color: #201d1d;
  background-color: rgba(0, 0, 0, 0);
}
.petition__checkbox .mdc-checkbox .mdc-checkbox__native-control:enabled:checked ~ .mdc-checkbox__background,
.petition__checkbox .mdc-checkbox .mdc-checkbox__native-control:enabled:indeterminate ~ .mdc-checkbox__background,
.petition__checkbox .mdc-checkbox .mdc-checkbox__native-control[data-indeterminate=true]:enabled ~ .mdc-checkbox__background {
  border-color: #201d1d;
  background-color: rgba(0, 0, 0, 0);
}
@keyframes mdc-checkbox-fade-in-background-FF201D1DFF201D1D0000000000000000 {
  0% {
    border-color: #201d1d;
    background-color: rgba(0, 0, 0, 0);
  }
  50% {
    border-color: #201d1d;
    background-color: rgba(0, 0, 0, 0);
  }
}
@keyframes mdc-checkbox-fade-out-background-FF201D1DFF201D1D0000000000000000 {
  0%, 80% {
    border-color: #201d1d;
    background-color: rgba(0, 0, 0, 0);
  }
  100% {
    border-color: #201d1d;
    background-color: rgba(0, 0, 0, 0);
  }
}
.petition__checkbox .mdc-checkbox.mdc-checkbox--anim-unchecked-checked .mdc-checkbox__native-control:enabled ~ .mdc-checkbox__background, .petition__checkbox .mdc-checkbox.mdc-checkbox--anim-unchecked-indeterminate .mdc-checkbox__native-control:enabled ~ .mdc-checkbox__background {
  animation-name: mdc-checkbox-fade-in-background-FF201D1DFF201D1D0000000000000000;
}
.petition__checkbox .mdc-checkbox.mdc-checkbox--anim-checked-unchecked .mdc-checkbox__native-control:enabled ~ .mdc-checkbox__background, .petition__checkbox .mdc-checkbox.mdc-checkbox--anim-indeterminate-unchecked .mdc-checkbox__native-control:enabled ~ .mdc-checkbox__background {
  animation-name: mdc-checkbox-fade-out-background-FF201D1DFF201D1D0000000000000000;
}
.petition__checkbox .mdc-checkbox .mdc-checkbox__native-control:enabled ~ .mdc-checkbox__background .mdc-checkbox__checkmark {
  color: #201d1d;
}
.petition__checkbox .mdc-checkbox .mdc-checkbox__native-control:enabled ~ .mdc-checkbox__background .mdc-checkbox__mixedmark {
  border-color: #201d1d;
}
.petition__checkbox .mdc-checkbox .mdc-checkbox__native-control:checked ~ .mdc-checkbox__background::before,
.petition__checkbox .mdc-checkbox .mdc-checkbox__native-control:indeterminate ~ .mdc-checkbox__background::before,
.petition__checkbox .mdc-checkbox .mdc-checkbox__native-control[data-indeterminate=true] ~ .mdc-checkbox__background::before {
  background-color: #fff;
}
.petition__checkbox .mdc-checkbox.mdc-checkbox--selected .mdc-checkbox__ripple::before, .petition__checkbox .mdc-checkbox.mdc-checkbox--selected .mdc-checkbox__ripple::after {
  background-color: #fff;
}
.petition__checkbox .mdc-checkbox.mdc-checkbox--selected:hover .mdc-checkbox__ripple::before {
  opacity: 0.08;
}
.petition__checkbox .mdc-checkbox.mdc-checkbox--selected.mdc-ripple-upgraded--background-focused .mdc-checkbox__ripple::before, .petition__checkbox .mdc-checkbox.mdc-checkbox--selected:not(.mdc-ripple-upgraded):focus .mdc-checkbox__ripple::before {
  transition-duration: 75ms;
  opacity: 0.24;
}
.petition__checkbox .mdc-checkbox.mdc-checkbox--selected:not(.mdc-ripple-upgraded) .mdc-checkbox__ripple::after {
  transition: opacity 150ms linear;
}
.petition__checkbox .mdc-checkbox.mdc-checkbox--selected:not(.mdc-ripple-upgraded):active .mdc-checkbox__ripple::after {
  transition-duration: 75ms;
  opacity: 0.24;
}
.petition__checkbox .mdc-checkbox.mdc-checkbox--selected.mdc-ripple-upgraded {
  --mdc-ripple-fg-opacity: 0.24;
}
.petition__checkbox .mdc-checkbox.mdc-ripple-upgraded--background-focused.mdc-checkbox--selected .mdc-checkbox__ripple::before,
.petition__checkbox .mdc-checkbox.mdc-ripple-upgraded--background-focused.mdc-checkbox--selected .mdc-checkbox__ripple::after {
  background-color: #fff;
}
.petition__checkbox .mdc-form-field label {
  font-size: 16px;
  padding-left: 0;
}
.petition__radio {
  margin-bottom: 10px;
}
.petition__radio .mdc-radio .mdc-radio__native-control:enabled:not(:checked) + .mdc-radio__background .mdc-radio__outer-circle {
  border-color: #201d1d;
}
.petition__radio .mdc-radio .mdc-radio__native-control:enabled:checked + .mdc-radio__background .mdc-radio__outer-circle {
  border-color: #201d1d;
}
.petition__radio .mdc-radio .mdc-radio__native-control:enabled + .mdc-radio__background .mdc-radio__inner-circle {
  border-color: #201d1d;
}
.petition__radio .mdc-radio .mdc-radio__background::before {
  background-color: #201d1d;
}
.petition__radio .mdc-radio + label {
  margin-top: 11.5px;
}
@media (min-width: 768px) {
  .petition__radio .mdc-radio + label {
    margin-top: 8px;
  }
}
@media (min-width: 1656px) {
  .petition__radio .mdc-radio + label {
    margin-top: 10px !important;
    padding-left: 0 !important;
  }
}
.petition__radio .mdc-form-field label {
  font-size: 16px;
  padding-left: 0;
}
.petition__radio .site-form__validation-text {
  bottom: 5px !important;
  left: 26px !important;
}
.petition .was-validated .mdc-form-field--invalid {
  margin-bottom: 15px;
}
.petition .was-validated .mdc-form-field--invalid ~ .site-form__validation-text {
  position: absolute;
  margin: auto;
  max-width: calc(100% - 26px);
  bottom: -10px;
  transform: translateY(50%);
  left: 26px;
  color: #fff;
  background-color: #F26A21;
  padding: 3px 5px;
  font-size: 10.5px;
  line-height: 1;
  display: inline-block;
  font-weight: 400;
  user-select: none;
  width: auto;
}
@media (min-width: 375px) {
  .petition .was-validated .mdc-form-field--invalid ~ .site-form__validation-text {
    font-size: 12px;
  }
}
.petition .newsletter-agreements .ezrichtext-field p:not([class]), .petition .newsletter-agreements .ngl-rich_text p:not([class]) {
  margin-bottom: 0;
}
.petition .newsletter-agreements__title {
  margin-bottom: 0.5rem;
}
.petition .newsletter-agreements__title .ezrichtext-field, .petition .newsletter-agreements__title .ngl-rich_text, .petition .newsletter-agreements__title {
  font-size: 16px;
  letter-spacing: 0.2px;
}
.petition .newsletter-agreements__info .ezrichtext-field, .petition .newsletter-agreements__info .ngl-rich_text, .petition .newsletter-agreements__info {
  font-size: 12px;
}
.petition .newsletter-agreements__info--spaced {
  margin-top: 30px;
}
.petition .newsletter-agreements__info--indented {
  padding-left: 0;
}
.petition .newsletter-agreements__choices {
  padding-left: 0;
}
.petition .newsletter-agreements__choice label {
  margin: 7px 0 0 !important;
}
.petition .newsletter-agreements__choice .ezrichtext-field, .petition .newsletter-agreements__choice .ngl-rich_text {
  font-size: 12px;
}
.petition .site-form__info {
  margin-bottom: 20px;
}

.newsletter {
  background-color: #2653B9;
  color: #fff;
  padding: 0 20px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
@media (min-width: 1200px) {
  .newsletter {
    padding: 0 35px;
  }
}
.newsletter__figure {
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
  margin: 0;
}
.newsletter__canvas {
  margin: 0;
  width: 100%;
  max-width: 100%;
  user-select: none;
  display: block;
}
.newsletter__img {
  width: 100%;
  display: block;
  user-select: none;
}
canvas + picture .newsletter__img {
  position: absolute;
  left: 0;
  top: 0;
}
.newsletter__content {
  height: 100%;
  max-width: 400px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  position: relative;
  z-index: 2;
}
@media (min-width: 992px) {
  .newsletter__content {
    max-width: none;
  }
}
.newsletter__spacer {
  flex-grow: 1;
}
.newsletter__button {
  text-transform: none;
}
@media (max-width: 1199px) {
  .newsletter__button {
    position: absolute;
    top: 0;
    right: -0.2px;
    width: 48.2px;
    height: 48.2px;
    border-radius: 0;
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http://www.w3.org/2000/svg%22%20fill%3D%22%23fff%22%20viewBox%3D%220%200%2036%2036%22%3E%3Cpath%20d%3D%22M9,33.87a1.13,1.13,0,0,1,.33-.8L24.28,18,9.33,2.93a1.13,1.13,0,0,1,0-1.6,1.12,1.12,0,0,1,1.59,0L26.67,17.2a1.13,1.13,0,0,1,0,1.6L10.92,34.67A1.13,1.13,0,0,1,9,33.87Z%22/%3E%3Cpath%20d%3D%22M36,36H0V0H36Z%22%20fill%3D%22none%22/%3E%3C/svg%3E");
    background-position: center;
    background-repeat: no-repeat;
    background-size: 24px 24px;
    min-width: 0;
    min-height: 0;
    padding: 0;
  }
}
@media (min-width: 1200px) {
  .newsletter__button {
    position: relative;
    width: 100%;
    margin-bottom: 14px;
  }
}
@media (max-width: 1199px) {
  .newsletter__button .mdc-button__label {
    width: 1px;
    height: 1px;
    padding: 0;
    border: 0;
    position: absolute;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
  }
}
.newsletter__header {
  color: #fff;
  margin: 0;
  height: 52px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 5px 0;
}
@media (min-width: 1200px) {
  .newsletter__header {
    height: 68px;
  }
}
@media (min-width: 1400px) {
  .newsletter__header {
    height: 110px;
  }
}
.newsletter__title {
  font-size: 19px;
  font-weight: 500;
  line-height: 1.4;
  margin: 0;
}
@media (min-width: 1200px) {
  .newsletter__title {
    font-size: 21px;
  }
}
.newsletter__description {
  font-size: 13px;
  color: #fff;
  margin: 0;
}
@media (min-width: 1200px) {
  .newsletter__description {
    display: none;
  }
}
.newsletter__checkbox .mdc-checkbox__native-control:enabled:not(:checked):not(:indeterminate):not([data-indeterminate=true]) ~ .mdc-checkbox__background {
  border-color: #a3adec;
  background-color: rgba(0, 0, 0, 0);
}
.newsletter__checkbox .mdc-checkbox__native-control:enabled:checked ~ .mdc-checkbox__background,
.newsletter__checkbox .mdc-checkbox__native-control:enabled:indeterminate ~ .mdc-checkbox__background,
.newsletter__checkbox .mdc-checkbox__native-control[data-indeterminate=true]:enabled ~ .mdc-checkbox__background {
  border-color: #a3adec;
  background-color: rgba(0, 0, 0, 0);
}
@keyframes mdc-checkbox-fade-in-background-FFA3ADECFFA3ADEC0000000000000000 {
  0% {
    border-color: #a3adec;
    background-color: rgba(0, 0, 0, 0);
  }
  50% {
    border-color: #a3adec;
    background-color: rgba(0, 0, 0, 0);
  }
}
@keyframes mdc-checkbox-fade-out-background-FFA3ADECFFA3ADEC0000000000000000 {
  0%, 80% {
    border-color: #a3adec;
    background-color: rgba(0, 0, 0, 0);
  }
  100% {
    border-color: #a3adec;
    background-color: rgba(0, 0, 0, 0);
  }
}
.newsletter__checkbox.mdc-checkbox--anim-unchecked-checked .mdc-checkbox__native-control:enabled ~ .mdc-checkbox__background, .newsletter__checkbox.mdc-checkbox--anim-unchecked-indeterminate .mdc-checkbox__native-control:enabled ~ .mdc-checkbox__background {
  animation-name: mdc-checkbox-fade-in-background-FFA3ADECFFA3ADEC0000000000000000;
}
.newsletter__checkbox.mdc-checkbox--anim-checked-unchecked .mdc-checkbox__native-control:enabled ~ .mdc-checkbox__background, .newsletter__checkbox.mdc-checkbox--anim-indeterminate-unchecked .mdc-checkbox__native-control:enabled ~ .mdc-checkbox__background {
  animation-name: mdc-checkbox-fade-out-background-FFA3ADECFFA3ADEC0000000000000000;
}
.newsletter__checkbox .mdc-checkbox__native-control:enabled ~ .mdc-checkbox__background .mdc-checkbox__checkmark {
  color: #a3adec;
}
.newsletter__checkbox .mdc-checkbox__native-control:enabled ~ .mdc-checkbox__background .mdc-checkbox__mixedmark {
  border-color: #a3adec;
}
.newsletter__checkbox .mdc-checkbox__native-control:checked ~ .mdc-checkbox__background::before,
.newsletter__checkbox .mdc-checkbox__native-control:indeterminate ~ .mdc-checkbox__background::before,
.newsletter__checkbox .mdc-checkbox__native-control[data-indeterminate=true] ~ .mdc-checkbox__background::before {
  background-color: #fff;
}
.newsletter__checkbox.mdc-checkbox--selected .mdc-checkbox__ripple::before, .newsletter__checkbox.mdc-checkbox--selected .mdc-checkbox__ripple::after {
  background-color: #fff;
}
.newsletter__checkbox.mdc-checkbox--selected:hover .mdc-checkbox__ripple::before {
  opacity: 0.08;
}
.newsletter__checkbox.mdc-checkbox--selected.mdc-ripple-upgraded--background-focused .mdc-checkbox__ripple::before, .newsletter__checkbox.mdc-checkbox--selected:not(.mdc-ripple-upgraded):focus .mdc-checkbox__ripple::before {
  transition-duration: 75ms;
  opacity: 0.24;
}
.newsletter__checkbox.mdc-checkbox--selected:not(.mdc-ripple-upgraded) .mdc-checkbox__ripple::after {
  transition: opacity 150ms linear;
}
.newsletter__checkbox.mdc-checkbox--selected:not(.mdc-ripple-upgraded):active .mdc-checkbox__ripple::after {
  transition-duration: 75ms;
  opacity: 0.24;
}
.newsletter__checkbox.mdc-checkbox--selected.mdc-ripple-upgraded {
  --mdc-ripple-fg-opacity: 0.24;
}
.newsletter__checkbox.mdc-ripple-upgraded--background-focused.mdc-checkbox--selected .mdc-checkbox__ripple::before,
.newsletter__checkbox.mdc-ripple-upgraded--background-focused.mdc-checkbox--selected .mdc-checkbox__ripple::after {
  background-color: #fff;
}
.newsletter .was-validated .mdc-checkbox__native-control[required]:invalid ~ .mdc-checkbox__background {
  border-color: #F26A21 !important;
}
.newsletter .mdc-text-field--focused .mdc-text-field__input:required ~ .mdc-floating-label:after {
  color: #7a7a7a;
}
.newsletter .mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-text-field__input:required ~ .mdc-floating-label,
.newsletter .mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-text-field__input:required ~ .mdc-notched-outline .mdc-floating-label {
  color: #7a7a7a;
}
.newsletter .mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-text-field__input:required ~ .mdc-floating-label:after,
.newsletter .mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-text-field__input:required ~ .mdc-notched-outline .mdc-floating-label:after {
  color: #7a7a7a;
}
.newsletter .mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-line-ripple {
  background-color: #00AEEF;
}
.newsletter .was-validated .mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-line-ripple {
  background-color: #F26A21;
}
.newsletter .was-validated .mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-text-field__input:required ~ .mdc-floating-label,
.newsletter .was-validated .mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-text-field__input:required ~ .mdc-notched-outline .mdc-floating-label {
  color: #F26A21;
}
.newsletter .was-validated .mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-text-field__input:required ~ .mdc-floating-label:after,
.newsletter .was-validated .mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-text-field__input:required ~ .mdc-notched-outline .mdc-floating-label:after {
  color: #F26A21;
}
.newsletter .mdc-form-field {
  color: #a3adec;
  align-items: flex-start;
  margin-bottom: 2px;
  font-weight: 300;
  position: relative;
}
.newsletter .mdc-form-field label {
  margin-top: 11px;
}
.newsletter .mdc-text-field {
  border-radius: 0;
  width: 100%;
  margin-bottom: 23px;
}
.newsletter .mdc-text-field:not(.mdc-text-field--disabled) .mdc-text-field__input {
  color: #201d1d;
}
.newsletter .mdc-text-field:not(.mdc-text-field--disabled) .mdc-floating-label {
  color: #7a7a7a;
}
.newsletter .mdc-text-field:not(.mdc-text-field--disabled) {
  background-color: #fff;
}
@media (max-width: 1199px) {
  .newsletter .mdc-text-field {
    margin-bottom: 10px;
    height: 48px;
  }
}
.newsletter .mdc-text-field:before {
  display: none;
}
.newsletter .mdc-text-field:not(.mdc-text-field--disabled):not(.mdc-text-field--outlined):not(.mdc-text-field--textarea) .mdc-text-field__input {
  border-bottom-color: rgba(0, 0, 0, 0) !important;
}
.newsletter .mdc-line-ripple {
  height: 3px;
}
.newsletter .mdc-form-field > label a:hover, .newsletter .mdc-form-field > label a:focus {
  text-decoration: underline;
  color: #fff;
}
.newsletter .mdc-checkbox:before {
  background-color: transparent !important;
}
.newsletter .mdc-floating-label {
  font-weight: 300;
  font-size: 18px;
  overflow: visible;
}
.newsletter .mdc-floating-label--float-above {
  transform: translateY(-110%) scale(0.7);
}
.newsletter .mdc-text-field-helper-text {
  font-size: 13px;
}
.newsletter__more {
  margin: 16px 0 0 0;
  border-top: 1px solid #00AEEF;
  padding: 14px 0;
  font-size: 16px;
  line-height: 1.4;
  color: #00AEEF;
  font-weight: 300;
}
@media (min-width: 1200px) {
  .newsletter__more {
    font-size: 19px;
    margin: 24px 0 0 0;
    padding: 15px 0;
  }
}
.newsletter__more a {
  color: #fff;
  font-weight: 500;
}
.newsletter__more a:hover, .newsletter__more a:focus {
  text-decoration: underline;
}
@media (min-width: 1200px) {
  .article-view .newsletter__more {
    padding: 18px 0;
  }
}
.newsletter__group {
  position: relative;
  max-width: 400px;
  margin-bottom: 2rem;
}
.newsletter .mdc-text-field--invalid {
  overflow: visible;
}
.newsletter .site-form__validation-text {
  position: absolute;
  margin: auto;
  max-width: calc(100% - 26px);
  bottom: -10px;
  transform: translateY(50%);
  left: -2px;
  color: #F26A21;
  background-color: transparent;
  font-size: 10.5px;
  line-height: 1;
  display: none;
  padding-left: 2px;
  padding-right: 2px;
  font-weight: 400;
  user-select: none;
}
@media (min-width: 375px) {
  .newsletter .site-form__validation-text {
    font-size: 12px;
  }
}
input:valid ~ .newsletter .site-form__validation-text {
  display: none !important;
}
.newsletter .was-validated input:invalid ~ .site-form__validation-text {
  display: block !important;
}
.newsletter .was-validated .mdc-text-field--invalid .site-form__validation-text {
  display: block;
}
.newsletter .was-validated .site-form__checkbox--required.site-form__checkbox--unchecked ~ .site-form__validation-text {
  display: block;
  position: static;
  padding-left: 0;
  padding-right: 0;
  background-color: transparent;
  margin: 6px 0 0 0;
  width: 100%;
  max-width: none;
  transform: none;
}
@media (min-width: 1656px) {
  .newsletter .was-validated .site-form__checkbox--required.site-form__checkbox--unchecked ~ .site-form__validation-text {
    padding-left: 44px;
  }
}
.newsletter .site-form__server-validation-text {
  position: absolute;
  margin: auto;
  max-width: calc(100% - 26px);
  bottom: -10px;
  transform: translateY(50%);
  left: -2px;
  color: #F26A21;
  font-size: 10.5px;
  line-height: 1;
  display: none;
  padding-left: 2px;
  padding-right: 2px;
  font-weight: 400;
  user-select: none;
}
@media (min-width: 375px) {
  .newsletter .site-form__server-validation-text {
    font-size: 12px;
  }
}
.newsletter .server-side-validated .server-side--invalid ~ .site-form__server-validation-text {
  display: block;
}
.newsletter .was-validated .mdc-checkbox--invalid ~ .site-form__validation-text {
  display: block;
  bottom: 0;
  left: 41px;
}
.newsletter .mdc-checkbox__ripple:before {
  background-color: #fff !important;
}
.newsletter .mdc-checkbox__ripple:after {
  background-color: rgba(255, 255, 255, 0.3) !important;
}

.teaser {
  flex: 1 0 100%;
  position: relative;
  overflow: hidden;
}
@media (min-width: 480px) {
  .teaser {
    margin-right: 24px;
    flex: 1 0 calc(50% - 12px);
  }
}
@media (min-width: 992px) {
  .teaser {
    margin-right: 30px;
    flex: 1 0 calc(33.333% - 30px);
  }
  .teaser .glide--swipeable {
    cursor: auto !important;
  }
}
.teaser:last-child {
  margin-right: 0;
}
.teaser--mobile {
  margin: 0 20px 50px;
  flex: 1 0 auto;
}
.teaser--mobile:last-child {
  margin-right: 20px;
}
@media (min-width: 992px) {
  .teaser--mobile {
    margin: 0 30px 0 0;
    flex: 1 0 calc(33.333% - 30px);
  }
  .teaser--mobile:last-child {
    margin-right: 0;
  }
}
.teaser__canvas {
  background-color: #D8D1C9;
  margin: 0;
  display: block;
  width: 100%;
  max-width: 100%;
  user-select: none;
}
.ie .teaser__canvas {
  display: none;
}
.teaser__headline {
  background-color: #00AEEF;
  color: #fff;
  margin: 0;
  display: flex;
  align-items: center;
  font-size: 18px;
  font-weight: 500;
  line-height: 1.2;
  padding: 12px 20px;
  letter-spacing: 0.6px;
  height: 89px;
}
@media (min-width: 992px) {
  .teaser__headline {
    height: 110px;
    padding: 5px 40px;
    font-size: 21px;
  }
}
.teaser__headline-text {
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  text-overflow: ellipsis;
}
.teaser__figure {
  margin: 0;
  position: relative;
  display: block;
}
.teaser__figure--gradient:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
  background: linear-gradient(90deg, rgba(0, 0, 0, 0) 20%, #2653B9 100%);
}
.teaser__figure figure {
  margin: 0;
}
.teaser__content {
  position: absolute;
  right: 20px;
  text-align: right;
  z-index: 2;
  color: #fff;
  line-height: 1.2;
  font-weight: 500;
  font-size: 20px;
  bottom: 80px;
}
@media (min-width: 768px) {
  .teaser__content {
    font-size: 25px;
    bottom: 100px;
  }
}
.teaser__button {
  position: absolute;
  right: 20px;
  bottom: 20px;
  z-index: 2;
  border: none;
  background-color: #FFFF00 !important;
  color: #201d1d !important;
  font-size: 16px;
  padding: 20px 26px;
}
@media (min-width: 768px) {
  .teaser__button {
    font-size: 19px;
    padding: 30px 36px;
  }
}
.teaser__button--yellow {
  background-color: #f9c412 !important;
  color: #201d1d !important;
  bottom: 28px;
  font-size: 16px;
  padding: 20px 26px;
}
@media (min-width: 768px) {
  .teaser__button--yellow {
    font-size: 19px;
    padding: 24px 24px;
  }
}
.teaser__img {
  width: 100%;
  display: block;
  user-select: none;
}
canvas + picture .teaser__img {
  position: absolute;
  left: 0;
  top: 0;
}
.teaser__overlink {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  --mdc-ripple-fg-size: 0;
  --mdc-ripple-left: 0;
  --mdc-ripple-top: 0;
  --mdc-ripple-fg-scale: 1;
  --mdc-ripple-fg-translate-end: 0;
  --mdc-ripple-fg-translate-start: 0;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  transition: background-color 0.2s;
}
.teaser__overlink::before, .teaser__overlink::after {
  position: absolute;
  border-radius: 50%;
  opacity: 0;
  pointer-events: none;
  content: "";
}
.teaser__overlink::before {
  transition: opacity 15ms linear, background-color 15ms linear;
  z-index: 1;
}
.teaser__overlink.mdc-ripple-upgraded::before {
  transform: scale(var(--mdc-ripple-fg-scale, 1));
}
.teaser__overlink.mdc-ripple-upgraded::after {
  top: 0;
  /* @noflip */
  left: 0;
  transform: scale(0);
  transform-origin: center center;
}
.teaser__overlink.mdc-ripple-upgraded--unbounded::after {
  top: var(--mdc-ripple-top, 0);
  /* @noflip */
  left: var(--mdc-ripple-left, 0);
}
.teaser__overlink.mdc-ripple-upgraded--foreground-activation::after {
  animation: mdc-ripple-fg-radius-in 225ms forwards, mdc-ripple-fg-opacity-in 75ms forwards;
}
.teaser__overlink.mdc-ripple-upgraded--foreground-deactivation::after {
  animation: mdc-ripple-fg-opacity-out 150ms;
  transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1));
}
.teaser__overlink::before, .teaser__overlink::after {
  top: calc(50% - 100%);
  /* @noflip */
  left: calc(50% - 100%);
  width: 200%;
  height: 200%;
}
.teaser__overlink.mdc-ripple-upgraded::after {
  width: var(--mdc-ripple-fg-size, 100%);
  height: var(--mdc-ripple-fg-size, 100%);
}
.teaser__overlink::before, .teaser__overlink::after {
  background-color: #fff;
}
.teaser__overlink:hover::before {
  opacity: 0;
}
.teaser__overlink.mdc-ripple-upgraded--background-focused::before, .teaser__overlink:not(.mdc-ripple-upgraded):focus::before {
  transition-duration: 75ms;
  opacity: 0;
}
.teaser__overlink:not(.mdc-ripple-upgraded)::after {
  transition: opacity 150ms linear;
}
.teaser__overlink:not(.mdc-ripple-upgraded):active::after {
  transition-duration: 75ms;
  opacity: 0.15;
}
.teaser__overlink.mdc-ripple-upgraded {
  --mdc-ripple-fg-opacity: 0.15;
}
.tab-navigation .teaser__overlink:focus {
  outline: none;
}
.tab-navigation .teaser__overlink:focus.mdc-ripple-upgraded--background-focused::before, .tab-navigation .teaser__overlink:focus:not(.mdc-ripple-upgraded):focus::before {
  transition-duration: 75ms;
  opacity: 0.2;
}
.teaser__overlink:hover {
  background-color: rgba(255, 255, 255, 0.08);
}

.deco-365 {
  width: 100px;
  margin: 0 auto;
  height: auto;
  padding: 0;
  overflow: hidden;
  display: block;
  background-repeat: no-repeat;
  background-size: 100%;
  background-position: center;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http://www.w3.org/2000/svg%22%20   xmlns:xlink%3D%22http://www.w3.org/1999/xlink%22%20fill%3D%22%23fff%22%20viewBox%3D%220%200%20231%20248%22%3E%3Cdefs%3E%3ClinearGradient%20id%3D%22e62ac7d4-1afd-466e-be04-cef89021af9a%22%20x1%3D%22115.5%22%20y1%3D%221%22%20x2%3D%22115.5%22%20y2%3D%22247%22%20gradientUnits%3D%22userSpaceOnUse%22%3E%3Cstop%20offset%3D%220%22%20stop-color%3D%22%23009fe3%22/%3E%3Cstop%20offset%3D%220.45%22%20stop-color%3D%22%23008dca%22/%3E%3Cstop%20offset%3D%220.64%22%20stop-color%3D%22%23009fe3%22/%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23008eca%22/%3E%3C/linearGradient%3E%3ClinearGradient%20id%3D%22af33fb87-471e-41da-a6b7-ed3bbdddb214%22%20x1%3D%22115.5%22%20y1%3D%2291%22%20x2%3D%22115.5%22%20y2%3D%22143%22%20gradientUnits%3D%22userSpaceOnUse%22%3E%3Cstop%20offset%3D%220.23%22%20stop-color%3D%22%23fff%22/%3E%3Cstop%20offset%3D%220.79%22%20stop-color%3D%22%23cccbcb%22/%3E%3C/linearGradient%3E%3ClinearGradient%20id%3D%22ea2772c5-5f80-4cb9-9196-ef7b1f049876%22%20x1%3D%22115.5%22%20y1%3D%22145%22%20x2%3D%22115.5%22%20y2%3D%22197%22%20xlink:href%3D%22%23af33fb87-471e-41da-a6b7-ed3bbdddb214%22/%3E%3ClinearGradient%20id%3D%22b804de10-04a7-49d6-8293-b61a3162ae7b%22%20x1%3D%22114.99%22%20y1%3D%22101.94%22%20x2%3D%22114.99%22%20y2%3D%22143%22%20gradientUnits%3D%22userSpaceOnUse%22%3E%3Cstop%20offset%3D%220.23%22%20stop-color%3D%22%2318a8e1%22/%3E%3Cstop%20offset%3D%220.79%22%20stop-color%3D%22%23008dca%22/%3E%3C/linearGradient%3E%3ClinearGradient%20id%3D%22fb46bc1a-c6d2-4bad-9800-737f4de55d26%22%20x1%3D%22115.74%22%20y1%3D%22145%22%20x2%3D%22115.74%22%20y2%3D%22186.66%22%20gradientUnits%3D%22userSpaceOnUse%22%3E%3Cstop%20offset%3D%220.23%22%20stop-color%3D%22%231a9dd9%22/%3E%3Cstop%20offset%3D%220.79%22%20stop-color%3D%22%23008fcc%22/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath%20id%3D%22fcd517f9-c52b-44c2-970c-05b23dbcd5c1%22%20data-name%3D%22365body%22%20d%3D%22M201,247H30A29,29,0,0,1,1,218V30A29,29,0,0,1,30,1H201a29,29,0,0,1,29,29V218A29,29,0,0,1,201,247Z%22%20fill%3D%22url(%23e62ac7d4-1afd-466e-be04-cef89021af9a)%22/%3E%3Cpath%20id%3D%22af27a7fd-3961-48ef-9128-9d8a635ee970%22%20data-name%3D%22365ct%22%20d%3D%22M14,143V96.51A5.51,5.51,0,0,1,19.51,91h54A5.51,5.51,0,0,1,79,96.51V143Zm134,0V96.51A5.51,5.51,0,0,0,142.49,91h-54A5.51,5.51,0,0,0,83,96.51V143Zm69,0V96.51A5.51,5.51,0,0,0,211.49,91h-54A5.51,5.51,0,0,0,152,96.51V143Z%22%20fill%3D%22url(%23af33fb87-471e-41da-a6b7-ed3bbdddb214)%22/%3E%3Cpath%20id%3D%22adef16bf-22ce-433b-9cc7-61532705090b%22%20data-name%3D%22365cb%22%20d%3D%22M79,145v46.49A5.51,5.51,0,0,1,73.49,197h-54A5.51,5.51,0,0,1,14,191.49V145Zm4,0v46.49A5.51,5.51,0,0,0,88.51,197h54a5.51,5.51,0,0,0,5.51-5.51V145Zm69,0v46.49a5.51,5.51,0,0,0,5.51,5.51h54a5.51,5.51,0,0,0,5.51-5.51V145Z%22%20fill%3D%22url(%23ea2772c5-5f80-4cb9-9196-ef7b1f049876)%22/%3E%3Cpath%20id%3D%22ae60a111-9801-4773-bacb-1335e60cc7dc%22%20data-name%3D%22365texts%22%20d%3D%22M217.5,89H14V87H217.5Zm0,110H14v2H217.5ZM41,82V76h-.16a17.1,17.1,0,0,1-5.15,5.41,13.4,13.4,0,0,1-7.34,1.86q-6.83,0-10.59-4.08T14,68.08V38H24V66a8.38,8.38,0,0,0,2,6,7.58,7.58,0,0,0,5.77,2.13,8.27,8.27,0,0,0,6.7-3A11.36,11.36,0,0,0,41,63.58V38H51V82ZM66,45h.24a14.48,14.48,0,0,1,5.35-5.56,15.34,15.34,0,0,1,7.81-1.9q6.91,0,10.75,4T94,52.63V82H83V54.13A8.72,8.72,0,0,0,81,48a7.43,7.43,0,0,0-5.76-2.21,8.74,8.74,0,0,0-3.73.78,8.34,8.34,0,0,0-2.9,2.21,10.36,10.36,0,0,0-1.9,3.39A12.71,12.71,0,0,0,66,56.42V82H56V38H66ZM99,21h10V31H99Zm0,17h10V82H99Zm33.86,44.85a18.46,18.46,0,0,1-14.47-6.58,21.37,21.37,0,0,1-4-7.18,29.25,29.25,0,0,1,0-17.82,22,22,0,0,1,4-7.18,18.32,18.32,0,0,1,6.19-4.77,18.84,18.84,0,0,1,8.18-1.73,19.44,19.44,0,0,1,6.78,1.13,16.24,16.24,0,0,1,5.27,3.13,16.06,16.06,0,0,1,3.67,4.85,20.79,20.79,0,0,1,1.94,6.3h-9.09a10,10,0,0,0-2.82-5.58,7.93,7.93,0,0,0-5.68-2,9.15,9.15,0,0,0-4.51,1.08,9,9,0,0,0-3.22,3.09,15.2,15.2,0,0,0-1.94,4.73,25.25,25.25,0,0,0-.66,5.94,24.34,24.34,0,0,0,.66,5.82,14.63,14.63,0,0,0,1.94,4.65,9.31,9.31,0,0,0,3.22,3.09,8.86,8.86,0,0,0,4.51,1.13,8.09,8.09,0,0,0,6.12-2.33,10.44,10.44,0,0,0,2.6-6.58h9.09a20.46,20.46,0,0,1-1.54,6.86,15.83,15.83,0,0,1-3.63,5.3A16.7,16.7,0,0,1,140,81.61,19.21,19.21,0,0,1,132.86,82.85Zm40.26,1.07a20.78,20.78,0,0,1-8.89-1.84,19.44,19.44,0,0,1-6.64-5,21.87,21.87,0,0,1-4.15-7.46,28.7,28.7,0,0,1-1.44-9.2,28.19,28.19,0,0,1,1.48-9.29,22.46,22.46,0,0,1,4.19-7.46,19.27,19.27,0,0,1,6.52-5,19.51,19.51,0,0,1,8.39-1.79,19.28,19.28,0,0,1,8.11,1.62,18.43,18.43,0,0,1,6.17,4.63,22.58,22.58,0,0,1,4.51,8.54A38.59,38.59,0,0,1,192.77,63h-31a17.16,17.16,0,0,0,3.38,9.29,9.71,9.71,0,0,0,8,3.54,10.28,10.28,0,0,0,5.86-1.54,8.57,8.57,0,0,0,3.3-4.29H192a19.69,19.69,0,0,1-2.37,5.54,16.82,16.82,0,0,1-4,4.42,18.11,18.11,0,0,1-5.55,2.91A21.85,21.85,0,0,1,173.12,83.92Zm-.55-38.44a8.76,8.76,0,0,0-7.31,3.18A16.4,16.4,0,0,0,162.14,57H182.4q-.32-5.4-2.86-8.46A8.59,8.59,0,0,0,172.57,45.48ZM192,38h6V33q0-6.63,3.27-9.74a11,11,0,0,1,4.67-2.43,23.26,23.26,0,0,1,6.51-.68,43.11,43.11,0,0,1,4.55.26v7.76a39.26,39.26,0,0,0-4.3,0,7,7,0,0,0-2.75.68,3.09,3.09,0,0,0-1.5,1.66,8,8,0,0,0-.45,3V38h9v7h-9V82H198V45h-6ZM14.13,205.33h7.08a6.73,6.73,0,0,1,2.43.4,4.36,4.36,0,0,1,1.73,1.14,5.15,5.15,0,0,1,1,1.59,5.32,5.32,0,0,1,.36,2,5.86,5.86,0,0,1-.36,2.1,4.33,4.33,0,0,1-1.05,1.59,4.82,4.82,0,0,1-1.7,1,6.53,6.53,0,0,1-2.3.37H17.21v6.16H14.13Zm3.08,7.77h3.65a2.9,2.9,0,0,0,2.12-.71,2.52,2.52,0,0,0,.72-1.89,2.42,2.42,0,0,0-.73-1.9A3,3,0,0,0,20.9,208H17.21Zm16.21,9a6.15,6.15,0,0,1-2.47-.48,5.78,5.78,0,0,1-1.9-1.32,6.09,6.09,0,0,1-1.21-2,7,7,0,0,1-.43-2.43,7.06,7.06,0,0,1,.43-2.46,6.09,6.09,0,0,1,1.21-2,5.45,5.45,0,0,1,1.9-1.3,6.15,6.15,0,0,1,2.47-.48,6.07,6.07,0,0,1,2.46.48,5.6,5.6,0,0,1,1.89,1.3,5.71,5.71,0,0,1,1.19,2,7.06,7.06,0,0,1,.42,2.46,7,7,0,0,1-.42,2.43,5.71,5.71,0,0,1-1.19,2,6,6,0,0,1-1.89,1.32A6.07,6.07,0,0,1,33.42,222.05Zm0-2.11a2.75,2.75,0,0,0,2.33-1.17,4.11,4.11,0,0,0,.61-1.3,6.36,6.36,0,0,0,.2-1.62,6.52,6.52,0,0,0-.2-1.64,4.23,4.23,0,0,0-.61-1.32,2.63,2.63,0,0,0-1-.87,2.8,2.8,0,0,0-1.35-.31A2.88,2.88,0,0,0,32,212a2.74,2.74,0,0,0-1,.87,4,4,0,0,0-.59,1.32,6.52,6.52,0,0,0-.2,1.64,6.36,6.36,0,0,0,.2,1.62,3.88,3.88,0,0,0,.59,1.3,2.78,2.78,0,0,0,2.36,1.17Zm7.83-10h2.71v1.78H44a4.37,4.37,0,0,1,1.44-1.54,3.89,3.89,0,0,1,2.08-.55,3.4,3.4,0,0,1,1.93.55,3.36,3.36,0,0,1,1.2,1.65h0a4.63,4.63,0,0,1,1.65-1.67,4.15,4.15,0,0,1,2-.53,3.6,3.6,0,0,1,2.8,1.09,4.27,4.27,0,0,1,1,3v8H55.4v-7.59a2.28,2.28,0,0,0-.53-1.59,1.79,1.79,0,0,0-1.39-.57,2.17,2.17,0,0,0-1.7.77,3,3,0,0,0-.67,2v6.95h-2.8v-7.59a2.41,2.41,0,0,0-.48-1.59,1.69,1.69,0,0,0-1.36-.57,2.14,2.14,0,0,0-.93.21,2.58,2.58,0,0,0-1.32,1.45,3.25,3.25,0,0,0-.2,1.14v6.95H41.23ZM68.16,221.7a1.54,1.54,0,0,1-.25-.56,4.85,4.85,0,0,1-.15-1h0a5.07,5.07,0,0,1-1.43,1.29A4.41,4.41,0,0,1,64,222a5.41,5.41,0,0,1-1.59-.22,3.34,3.34,0,0,1-1.27-.66,3.07,3.07,0,0,1-.83-1.08,3.45,3.45,0,0,1-.31-1.51,3.35,3.35,0,0,1,.36-1.64,3,3,0,0,1,1-1.05,5.24,5.24,0,0,1,1.52-.6,18.46,18.46,0,0,1,1.94-.34,7.91,7.91,0,0,0,2.17-.5,1.12,1.12,0,0,0,.73-1.11,1.57,1.57,0,0,0-.53-1.23,2.33,2.33,0,0,0-1.58-.46,2.69,2.69,0,0,0-1.77.5,1.88,1.88,0,0,0-.63,1.39H60.59a3.62,3.62,0,0,1,.34-1.44,3.46,3.46,0,0,1,1-1.22,4.79,4.79,0,0,1,1.55-.85,6.73,6.73,0,0,1,2.18-.32,8.75,8.75,0,0,1,1.79.16,3.88,3.88,0,0,1,1.35.52,3.6,3.6,0,0,1,1.67,3.35v6.18a3.64,3.64,0,0,0,.13,1.12.94.94,0,0,0,.31.53v.2Zm-3.32-1.63a3.31,3.31,0,0,0,1.27-.23,2.9,2.9,0,0,0,.93-.59,2.61,2.61,0,0,0,.57-.84,2.56,2.56,0,0,0,.2-1v-1.74a4,4,0,0,1-1,.45c-.41.13-.83.23-1.25.32a6.73,6.73,0,0,0-2,.63,1.42,1.42,0,0,0-.71,1.35,1.67,1.67,0,0,0,.17.78,1.29,1.29,0,0,0,.44.51,1.81,1.81,0,0,0,.65.26A3.87,3.87,0,0,0,64.84,220.07Zm13.26,5.72a6.75,6.75,0,0,1-3.76-.91,3.53,3.53,0,0,1-1.61-2.59h2.69c.19,1,1.07,1.45,2.64,1.45,1.89,0,2.84-.85,2.84-2.57v-.29c0-.32,0-.62,0-.9s0-.52,0-.72h-.07a3.57,3.57,0,0,1-3.32,1.8,5,5,0,0,1-2-.4,4.71,4.71,0,0,1-1.63-1.12,5.24,5.24,0,0,1-1.09-1.77,6.67,6.67,0,0,1-.39-2.36,6.93,6.93,0,0,1,.38-2.39,5.68,5.68,0,0,1,1-1.82,4.59,4.59,0,0,1,1.57-1.15,4.79,4.79,0,0,1,2-.41,3.66,3.66,0,0,1,3.47,1.83h0V210h2.7v11a5.4,5.4,0,0,1-.38,2.15,4.11,4.11,0,0,1-1.09,1.52,4.52,4.52,0,0,1-1.76.9A8.59,8.59,0,0,1,78.1,225.79Zm0-6.89a3.07,3.07,0,0,0,1.35-.27,2.32,2.32,0,0,0,.91-.75,3,3,0,0,0,.52-1.13,5.9,5.9,0,0,0,.17-1.43,4.12,4.12,0,0,0-.73-2.54,2.62,2.62,0,0,0-2.24-1,2.5,2.5,0,0,0-2.12,1,4.2,4.2,0,0,0-.72,2.58,4.09,4.09,0,0,0,.74,2.59A2.52,2.52,0,0,0,78.06,218.9Zm15.64,2.8a1.54,1.54,0,0,1-.25-.56,4.85,4.85,0,0,1-.15-1h0a5.07,5.07,0,0,1-1.43,1.29,4.41,4.41,0,0,1-2.27.51,5.41,5.41,0,0,1-1.59-.22,3.42,3.42,0,0,1-1.27-.66,3.07,3.07,0,0,1-.83-1.08,3.45,3.45,0,0,1-.31-1.51,3.35,3.35,0,0,1,.36-1.64,3,3,0,0,1,1-1.05,5.36,5.36,0,0,1,1.52-.6,18.46,18.46,0,0,1,1.94-.34,8,8,0,0,0,2.18-.5,1.12,1.12,0,0,0,.72-1.11,1.54,1.54,0,0,0-.53-1.23,2.33,2.33,0,0,0-1.58-.46,2.69,2.69,0,0,0-1.77.5,1.88,1.88,0,0,0-.63,1.39H86.13a3.8,3.8,0,0,1,.34-1.44,3.58,3.58,0,0,1,1-1.22A4.79,4.79,0,0,1,89,210a6.77,6.77,0,0,1,2.18-.32,8.75,8.75,0,0,1,1.79.16,3.88,3.88,0,0,1,1.35.52A3.61,3.61,0,0,1,96,213.67v6.18a4,4,0,0,0,.12,1.12.89.89,0,0,0,.32.53v.2Zm-3.32-1.63a3.31,3.31,0,0,0,1.27-.23,2.9,2.9,0,0,0,.93-.59,2.61,2.61,0,0,0,.57-.84,2.56,2.56,0,0,0,.2-1v-1.74a4,4,0,0,1-1,.45,12.7,12.7,0,0,1-1.25.32,6.73,6.73,0,0,0-2,.63,1.42,1.42,0,0,0-.71,1.35,1.67,1.67,0,0,0,.17.78,1.37,1.37,0,0,0,.44.51,1.81,1.81,0,0,0,.65.26A3.87,3.87,0,0,0,90.38,220.07ZM98.43,210h2.71v1.78h.06a4.37,4.37,0,0,1,1.44-1.54,3.89,3.89,0,0,1,2.08-.55,3.4,3.4,0,0,1,1.93.55,3.36,3.36,0,0,1,1.2,1.65h0a4.63,4.63,0,0,1,1.65-1.67,4.15,4.15,0,0,1,2-.53,3.6,3.6,0,0,1,2.8,1.09,4.27,4.27,0,0,1,1,3v8H112.6v-7.59a2.28,2.28,0,0,0-.53-1.59,1.79,1.79,0,0,0-1.39-.57,2.17,2.17,0,0,0-1.7.77,3,3,0,0,0-.67,2v6.95h-2.8v-7.59a2.41,2.41,0,0,0-.48-1.59,1.69,1.69,0,0,0-1.36-.57,2.14,2.14,0,0,0-.93.21,2.58,2.58,0,0,0-1.32,1.45,3.25,3.25,0,0,0-.2,1.14v6.95H98.43Zm30.14,12.1a6.07,6.07,0,0,1-2.46-.48,6,6,0,0,1-1.89-1.32,5.71,5.71,0,0,1-1.19-2,7,7,0,0,1-.42-2.43,7.06,7.06,0,0,1,.42-2.46,5.85,5.85,0,0,1,1.18-2,5.57,5.57,0,0,1,1.86-1.3,6.07,6.07,0,0,1,2.46-.48,6.5,6.5,0,0,1,2,.31,4.9,4.9,0,0,1,1.58.86,4.48,4.48,0,0,1,1.11,1.33,5.69,5.69,0,0,1,.58,1.73H131.1a2.58,2.58,0,0,0-.85-1.53,2.47,2.47,0,0,0-1.7-.56,3.06,3.06,0,0,0-1.36.29,2.61,2.61,0,0,0-1,.85,4.19,4.19,0,0,0-.59,1.3,6.45,6.45,0,0,0-.19,1.63,6.19,6.19,0,0,0,.19,1.59,4.08,4.08,0,0,0,.59,1.28,2.67,2.67,0,0,0,1,.84,2.81,2.81,0,0,0,1.36.31,2.5,2.5,0,0,0,1.83-.64,2.74,2.74,0,0,0,.79-1.8h2.72a5,5,0,0,1-.46,1.88,4.24,4.24,0,0,1-1.09,1.45,5,5,0,0,1-1.64,1A6.18,6.18,0,0,1,128.57,222.05Zm14.87-.35a1.54,1.54,0,0,1-.25-.56,4.85,4.85,0,0,1-.15-1h0a5.07,5.07,0,0,1-1.43,1.29,4.41,4.41,0,0,1-2.27.51,5.41,5.41,0,0,1-1.59-.22,3.42,3.42,0,0,1-1.27-.66,3.07,3.07,0,0,1-.83-1.08,3.45,3.45,0,0,1-.31-1.51,3.35,3.35,0,0,1,.36-1.64,3,3,0,0,1,1-1.05,5.18,5.18,0,0,1,1.51-.6,18.93,18.93,0,0,1,1.94-.34,8,8,0,0,0,2.18-.5,1.12,1.12,0,0,0,.72-1.11,1.56,1.56,0,0,0-.52-1.23,2.38,2.38,0,0,0-1.59-.46,2.69,2.69,0,0,0-1.77.5,1.88,1.88,0,0,0-.63,1.39h-2.64a3.8,3.8,0,0,1,.34-1.44,3.58,3.58,0,0,1,.95-1.22,4.79,4.79,0,0,1,1.55-.85,6.77,6.77,0,0,1,2.18-.32,8.75,8.75,0,0,1,1.79.16,4,4,0,0,1,1.36.52,3.62,3.62,0,0,1,1.67,3.35v6.18a4,4,0,0,0,.12,1.12.89.89,0,0,0,.32.53v.2Zm-3.32-1.63a3.31,3.31,0,0,0,1.27-.23,2.9,2.9,0,0,0,.93-.59,2.61,2.61,0,0,0,.57-.84,2.56,2.56,0,0,0,.2-1v-1.74a4,4,0,0,1-1,.45,12.7,12.7,0,0,1-1.25.32,6.83,6.83,0,0,0-2,.63,1.42,1.42,0,0,0-.71,1.35,1.67,1.67,0,0,0,.17.78,1.37,1.37,0,0,0,.44.51,1.81,1.81,0,0,0,.65.26A3.87,3.87,0,0,0,140.12,220.07Zm7-5.41,1.61-1.21v-8.12h2.82v6l1.8-1.36v2.22l-1.8,1.37v8.16H148.7v-6l-1.61,1.21Zm9.44,11h-.44l-.64,0-.61,0a2.19,2.19,0,0,1-.35,0V223.3h.15a.68.68,0,0,0,.19,0l.33,0,.36,0h.29a1.9,1.9,0,0,0,1.12-.29,1.67,1.67,0,0,0,.59-1c0-.06,0-.16,0-.31s0-.32,0-.51,0-.39,0-.59a2.13,2.13,0,0,0-.12-.55l-4-10.21h3l1.94,5.46c.11.36.24.76.36,1.18s.23.83.32,1.19.2.85.31,1.28h0c.1-.44.21-.87.33-1.3s.21-.76.33-1.18l.35-1.17,1.87-5.46H165l-4.55,12.41a12.59,12.59,0,0,1-.75,1.62,3.84,3.84,0,0,1-.84,1,2.65,2.65,0,0,1-1,.54A5,5,0,0,1,156.53,225.7Zm20.55-3.65a6.15,6.15,0,0,1-2.47-.48,5.63,5.63,0,0,1-3.08-3.29,7.21,7.21,0,0,1-.41-2.43,7.3,7.3,0,0,1,.41-2.46,6,6,0,0,1,1.19-2,5.57,5.57,0,0,1,1.86-1.3,6.05,6.05,0,0,1,2.45-.48,6.52,6.52,0,0,1,2,.31,4.9,4.9,0,0,1,1.58.86,4.31,4.31,0,0,1,1.1,1.33,5.45,5.45,0,0,1,.59,1.73h-2.73a2.63,2.63,0,0,0-.85-1.53,2.47,2.47,0,0,0-1.7-.56,3.06,3.06,0,0,0-1.36.29,2.53,2.53,0,0,0-1,.85,4,4,0,0,0-.59,1.3,6.44,6.44,0,0,0-.2,1.63,6.18,6.18,0,0,0,.2,1.59,3.87,3.87,0,0,0,.59,1.28,2.59,2.59,0,0,0,1,.84,2.81,2.81,0,0,0,1.36.31,2.52,2.52,0,0,0,1.83-.64,2.69,2.69,0,0,0,.78-1.8h2.73a5.15,5.15,0,0,1-.46,1.88,4.24,4.24,0,0,1-1.09,1.45,5,5,0,0,1-1.64,1A6.18,6.18,0,0,1,177.08,222.05Zm6.64-2.46,4.69-5.75.51-.55.57-.57.61-.59v-.07l-.86.07a6.53,6.53,0,0,1-.78.05h-4.3V210h9.22v1.91l-4.66,5.72a8,8,0,0,1-.58.61l-.61.6c-.24.22-.46.44-.68.66v.07l.9,0,.82,0,.83,0h4.27v2.29h-9.95Zm19.47,2.11a1.54,1.54,0,0,1-.25-.56,5,5,0,0,1-.14-1h-.05a5.07,5.07,0,0,1-1.43,1.29,4.4,4.4,0,0,1-2.26.51,5.43,5.43,0,0,1-1.6-.22,3.3,3.3,0,0,1-1.26-.66,3,3,0,0,1-.84-1.08,3.45,3.45,0,0,1-.31-1.51,3.24,3.24,0,0,1,.37-1.64,2.87,2.87,0,0,1,1-1.05,5.18,5.18,0,0,1,1.51-.6,18.93,18.93,0,0,1,1.94-.34,8,8,0,0,0,2.18-.5,1.12,1.12,0,0,0,.72-1.11,1.56,1.56,0,0,0-.52-1.23,2.36,2.36,0,0,0-1.59-.46,2.69,2.69,0,0,0-1.77.5,1.88,1.88,0,0,0-.63,1.39h-2.64A3.8,3.8,0,0,1,196,212a3.58,3.58,0,0,1,.95-1.22,4.9,4.9,0,0,1,1.55-.85,6.77,6.77,0,0,1,2.18-.32,8.75,8.75,0,0,1,1.79.16,4,4,0,0,1,1.36.52,3.62,3.62,0,0,1,1.67,3.35v6.18a4,4,0,0,0,.12,1.12.94.94,0,0,0,.32.53v.2Zm-3.32-1.63a3.4,3.4,0,0,0,1.28-.23,3,3,0,0,0,.92-.59,2.61,2.61,0,0,0,.57-.84,2.56,2.56,0,0,0,.2-1v-1.74a3.94,3.94,0,0,1-1,.45c-.42.13-.83.23-1.26.32a6.83,6.83,0,0,0-2,.63,1.41,1.41,0,0,0-.7,1.35,1.67,1.67,0,0,0,.16.78,1.37,1.37,0,0,0,.44.51,1.81,1.81,0,0,0,.65.26A3.94,3.94,0,0,0,199.87,220.07Zm12.76,2a6.17,6.17,0,0,1-3.93-1.1,3.88,3.88,0,0,1-1.53-2.88h2.69a2.1,2.1,0,0,0,.92,1.53,3.48,3.48,0,0,0,1.87.47,2.7,2.7,0,0,0,1.72-.45,1.44,1.44,0,0,0,.55-1.15,1.16,1.16,0,0,0-.22-.72,1.68,1.68,0,0,0-.62-.46,4,4,0,0,0-1-.31l-1.24-.25a15,15,0,0,1-1.6-.38,4.74,4.74,0,0,1-1.37-.6,3.2,3.2,0,0,1-1-1,3.24,3.24,0,0,1-.36-1.62,3.2,3.2,0,0,1,.34-1.48,3.13,3.13,0,0,1,.95-1.1,4.21,4.21,0,0,1,1.46-.69,7.41,7.41,0,0,1,1.89-.23,5.62,5.62,0,0,1,3.56,1,3.78,3.78,0,0,1,1.42,2.5h-2.67c-.2-1-1-1.57-2.33-1.57a2.35,2.35,0,0,0-1.48.4,1.24,1.24,0,0,0-.5,1,.89.89,0,0,0,.22.64,1.72,1.72,0,0,0,.62.41,4.82,4.82,0,0,0,.94.27l1.21.24c.56.11,1.1.23,1.63.37a4.92,4.92,0,0,1,1.42.61,3,3,0,0,1,1,1.08,3.57,3.57,0,0,1,.38,1.75,3.41,3.41,0,0,1-.38,1.63,3.46,3.46,0,0,1-1,1.18,5,5,0,0,1-1.6.71A7.89,7.89,0,0,1,212.63,222.07Z%22%20fill%3D%22%23fff%22/%3E%3Cpath%20id%3D%22ae5dd1ce-a641-412a-9e57-45f658cab4d5%22%20data-name%3D%22365t%22%20d%3D%22M159.2,143l6.55-39H210v15H177.34L174,137h.25a18.58,18.58,0,0,1,6-4.79,19.89,19.89,0,0,1,8.88-1.74,23.72,23.72,0,0,1,17.31,7.37,24.1,24.1,0,0,1,3.72,5.16Zm-17.8,0a26.11,26.11,0,0,0-3.7-5.1,24.89,24.89,0,0,0-8-5.68,23.44,23.44,0,0,0-9.65-2,18.88,18.88,0,0,0-10.15,2.59,23,23,0,0,0-7.16,7.23h-.2q1.2-23.39,15.32-23.39c3,0,5.22.77,6.72,2.31a12.16,12.16,0,0,1,3,5.08h15.52a26.39,26.39,0,0,0-2.84-8,23.63,23.63,0,0,0-5.22-6.46,23.24,23.24,0,0,0-7.61-4.3,29.9,29.9,0,0,0-9.9-1.54,29.49,29.49,0,0,0-12.93,2.59,25.16,25.16,0,0,0-9.15,7.56,35.49,35.49,0,0,0-6.42,13.68A69,69,0,0,0,87.22,143ZM36.18,124.24a13.06,13.06,0,0,1,2.3-4.06,11,11,0,0,1,3.78-2.88,12,12,0,0,1,5.35-1.12A9.7,9.7,0,0,1,58,126.53q0,5.17-3.21,7.82T46,137H42v6H65.72A27.22,27.22,0,0,0,63,141.88,21.21,21.21,0,0,0,71,136.06q3.31-4,3.32-10.59a24.52,24.52,0,0,0-1.94-9.94A20.28,20.28,0,0,0,67,108.12a24.57,24.57,0,0,0-8.37-4.59,34,34,0,0,0-10.66-1.59A31.11,31.11,0,0,0,36,104.06a26.3,26.3,0,0,0-8.78,5.77,24.46,24.46,0,0,0-5.51,8.58,31.07,31.07,0,0,0-2,10.59H35.27A15.94,15.94,0,0,1,36.18,124.24Z%22%20fill%3D%22url(%23b804de10-04a7-49d6-8293-b61a3162ae7b)%22/%3E%3Cpath%20id%3D%22f69ea227-0803-4aab-a586-efb026778fc8%22%20data-name%3D%22365b%22%20d%3D%22M173.23,149h-15l.67-4h19.31l-.33.15A12.93,12.93,0,0,0,173.23,149Zm38-4H190.7a12.72,12.72,0,0,1,3.11,2.33q3.69,3.75,3.69,10.41,0,6.45-3.63,10.41a12.21,12.21,0,0,1-9.44,4,13.2,13.2,0,0,1-8.66-2.76,11.86,11.86,0,0,1-4.2-7.36H155.5a25.89,25.89,0,0,0,2.79,10.3,24.9,24.9,0,0,0,6.29,7.77,27.5,27.5,0,0,0,9.14,4.9A36.54,36.54,0,0,0,185,186.66a32.51,32.51,0,0,0,11.63-2,26,26,0,0,0,9.13-5.81,26.43,26.43,0,0,0,5.94-9.06,33.92,33.92,0,0,0,.15-23.25C211.69,146,211.46,145.5,211.23,145Zm-68.79,0h-19.9a12.74,12.74,0,0,1,6.47,7.45,17.67,17.67,0,0,1,1,5.87,16,16,0,0,1-1,5.76,15,15,0,0,1-2.72,4.58,11.78,11.78,0,0,1-4.08,3,12.28,12.28,0,0,1-5.09,1.06,13.51,13.51,0,0,1-5.4-1.06,12.53,12.53,0,0,1-4.28-3,14,14,0,0,1-2.82-4.58,16.32,16.32,0,0,1-1-5.87,14.87,14.87,0,0,1,3.73-10.45A12.23,12.23,0,0,1,111,145H87.21v.08A68.26,68.26,0,0,0,89.15,162a35.11,35.11,0,0,0,6.12,13,26.93,26.93,0,0,0,9.35,8,28.12,28.12,0,0,0,13,2.86,29,29,0,0,0,11-2,26,26,0,0,0,8.7-5.73,26.62,26.62,0,0,0,5.77-8.83,31.87,31.87,0,0,0,0-22.57C142.94,146.06,142.69,145.53,142.44,145Zm-73.35,0H42v4h4.39q6.42,0,9.9,2.78t3.47,8.33c0,3.71-1.08,6.59-3.22,8.67s-5.15,3.11-9,3.11a16,16,0,0,1-6.28-1.11,11.87,11.87,0,0,1-4.28-3,12.89,12.89,0,0,1-2.55-4.39A20.54,20.54,0,0,1,33.33,158H17.61a33.4,33.4,0,0,0,2.25,11.78A23.16,23.16,0,0,0,26.39,179a28.25,28.25,0,0,0,9.28,5.11,39.14,39.14,0,0,0,12.45,1.78A38.73,38.73,0,0,0,59,184.39a27.49,27.49,0,0,0,9.08-4.5,21.48,21.48,0,0,0,6.23-7.61,24.3,24.3,0,0,0,2.29-10.95q0-8-3.82-12.83A18.83,18.83,0,0,0,69.09,145Z%22%20fill%3D%22url(%23fb46bc1a-c6d2-4bad-9800-737f4de55d26)%22/%3E%3Cpath%20d%3D%22M231,248H0V0H231Z%22%20fill%3D%22none%22/%3E%3C/svg%3E");
}
.deco-365:before {
  display: block;
  content: "";
  padding-top: 107.36%;
}

.teaser-365 {
  border: 1px solid #d6d8da;
  text-align: center;
  padding: 38px 25px 47px 25px;
  margin-bottom: 54px;
}
.teaser-365__title {
  font-size: 21px;
  font-weight: 500;
  letter-spacing: 0.6px;
  line-height: 1.35;
  color: #414042;
  margin-bottom: 30px;
}
.teaser-365__deco {
  width: 159px;
  margin-bottom: 38px;
}

.teaser-short {
  border-top: 1px solid #d6d8da;
  position: relative;
  overflow: hidden;
  padding: 15px 15px 28px 15px;
}
@media (min-width: 992px) {
  .teaser-short {
    padding: 15px 15px 34px 15px;
  }
}
.teaser-short:last-of-type {
  border-bottom: 1px solid #d6d8da;
}
.teaser-short__headline {
  font-size: 16.5px;
  line-height: 1.3;
  font-weight: 300;
  margin: 0;
}
@media (min-width: 992px) {
  .teaser-short__headline {
    font-size: 21px;
  }
}
.teaser-short__info {
  order: 0;
  display: flex;
  justify-content: space-between;
  margin-bottom: 18px;
}
@media (min-width: 992px) {
  .teaser-short__info {
    margin-bottom: 26px;
  }
}
.teaser-short__label {
  display: inline-block;
  vertical-align: top;
  color: #fff;
  background-color: #00AEEF;
  font-size: 10.5px;
  line-height: 17px;
  height: 17px;
  padding: 0 6px;
  margin: 0;
}
@media (min-width: 992px) {
  .teaser-short__label {
    font-size: 12px;
    line-height: 27px;
    height: 27px;
  }
}
.teaser-short__time {
  display: inline-block;
  vertical-align: top;
  color: #201d1d;
  padding: 0;
  font-weight: 500;
  font-size: 10.5px;
  line-height: 17px;
  height: 17px;
}
@media (min-width: 992px) {
  .teaser-short__time {
    font-size: 12px;
    line-height: 27px;
    height: 27px;
  }
}
.teaser-short__overlink {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transition: background-color 0.2s;
  --mdc-ripple-fg-size: 0;
  --mdc-ripple-left: 0;
  --mdc-ripple-top: 0;
  --mdc-ripple-fg-scale: 1;
  --mdc-ripple-fg-translate-end: 0;
  --mdc-ripple-fg-translate-start: 0;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
.teaser-short__overlink::before, .teaser-short__overlink::after {
  position: absolute;
  border-radius: 50%;
  opacity: 0;
  pointer-events: none;
  content: "";
}
.teaser-short__overlink::before {
  transition: opacity 15ms linear, background-color 15ms linear;
  z-index: 1;
}
.teaser-short__overlink.mdc-ripple-upgraded::before {
  transform: scale(var(--mdc-ripple-fg-scale, 1));
}
.teaser-short__overlink.mdc-ripple-upgraded::after {
  top: 0;
  /* @noflip */
  left: 0;
  transform: scale(0);
  transform-origin: center center;
}
.teaser-short__overlink.mdc-ripple-upgraded--unbounded::after {
  top: var(--mdc-ripple-top, 0);
  /* @noflip */
  left: var(--mdc-ripple-left, 0);
}
.teaser-short__overlink.mdc-ripple-upgraded--foreground-activation::after {
  animation: mdc-ripple-fg-radius-in 225ms forwards, mdc-ripple-fg-opacity-in 75ms forwards;
}
.teaser-short__overlink.mdc-ripple-upgraded--foreground-deactivation::after {
  animation: mdc-ripple-fg-opacity-out 150ms;
  transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1));
}
.teaser-short__overlink::before, .teaser-short__overlink::after {
  top: calc(50% - 100%);
  /* @noflip */
  left: calc(50% - 100%);
  width: 200%;
  height: 200%;
}
.teaser-short__overlink.mdc-ripple-upgraded::after {
  width: var(--mdc-ripple-fg-size, 100%);
  height: var(--mdc-ripple-fg-size, 100%);
}
.teaser-short__overlink::before, .teaser-short__overlink::after {
  background-color: #201d1d;
}
.teaser-short__overlink:hover::before {
  opacity: 0;
}
.teaser-short__overlink.mdc-ripple-upgraded--background-focused::before, .teaser-short__overlink:not(.mdc-ripple-upgraded):focus::before {
  transition-duration: 75ms;
  opacity: 0;
}
.teaser-short__overlink:not(.mdc-ripple-upgraded)::after {
  transition: opacity 150ms linear;
}
.teaser-short__overlink:not(.mdc-ripple-upgraded):active::after {
  transition-duration: 75ms;
  opacity: 0.04;
}
.teaser-short__overlink.mdc-ripple-upgraded {
  --mdc-ripple-fg-opacity: 0.04;
}
.tab-navigation .teaser-short__overlink:focus {
  outline: none;
}
.tab-navigation .teaser-short__overlink:focus.mdc-ripple-upgraded--background-focused::before, .tab-navigation .teaser-short__overlink:focus:not(.mdc-ripple-upgraded):focus::before {
  transition-duration: 75ms;
  opacity: 0.2;
}
.teaser-short__overlink:hover {
  background-color: rgba(0, 0, 0, 0.02);
}

.read-too {
  margin-bottom: 40px;
}
.read-too__title {
  font-size: 28px;
  font-weight: 700;
  text-transform: uppercase;
  color: #00AEEF;
  margin-bottom: 35px;
  letter-spacing: 0.6px;
}
@media (min-width: 768px) {
  .read-too__title {
    font-size: 21px;
    margin-bottom: 15px;
  }
}
@media (min-width: 992px) {
  .read-too__title {
    font-weight: 500;
    text-transform: none;
    margin-bottom: 10px;
    color: inherit;
  }
}

.gallery-set {
  position: relative;
  margin-left: -23px;
  margin-right: -23px;
  margin-bottom: 0;
}
@media (min-width: 768px) {
  .gallery-set {
    margin-left: 0;
    margin-right: 0;
    margin-bottom: 10px;
  }
}
.gallery-set figure {
  margin-bottom: 0;
}
.gallery-set__count {
  color: #fff;
  background-color: #00a5e3;
  font-size: 18px;
  font-weight: 500;
  line-height: 34px;
  width: 35px;
  height: 34px;
  text-align: center;
  padding: 0 3px;
  position: absolute;
  top: 20px;
  right: 14px;
  pointer-events: none;
  user-select: none;
}
@media (min-width: 768px) {
  .gallery-set__count {
    top: 33px;
    right: 33px;
    width: 45px;
    height: 44px;
    font-size: 22px;
    line-height: 44px;
  }
}
.gallery-set__count:after {
  content: "";
  display: block;
  width: 34px;
  height: 34px;
  border-top: 4px solid #00a5e3;
  border-left: 4px solid #00a5e3;
  position: absolute;
  left: -6px;
  top: -6px;
}
@media (min-width: 768px) {
  .gallery-set__count:after {
    width: 44px;
    height: 44px;
  }
}
.gallery-set__figcaption {
  pointer-events: none;
  padding-left: 23px;
  padding-right: 23px;
}
@media (min-width: 768px) {
  .gallery-set__figcaption {
    padding-left: 0;
    padding-right: 0;
  }
}

/*! PhotoSwipe main CSS by Dmitry Semenov | photoswipe.com | MIT license */
/*
	Styles for basic PhotoSwipe functionality (sliding area, open/close transitions)
*/
/* pswp = photoswipe */
.pswp {
  display: none;
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  overflow: hidden;
  -ms-touch-action: none;
  touch-action: none;
  z-index: 1500;
  -webkit-text-size-adjust: 100%;
  /* create separate layer, to avoid paint on window.onscroll in webkit/blink */
  -webkit-backface-visibility: hidden;
  outline: none;
}

.pswp * {
  box-sizing: border-box;
}

.pswp img {
  max-width: none;
}

/* style is added when JS option showHideOpacity is set to true */
.pswp--animate_opacity {
  /* 0.001, because opacity:0 doesn't trigger Paint action, which causes lag at start of transition */
  opacity: 0.001;
  will-change: opacity;
  /* for open/close transition */
  transition: opacity 333ms cubic-bezier(0.4, 0, 0.22, 1);
}

.pswp--open {
  display: block;
}

.pswp--zoom-allowed .pswp__img {
  /* autoprefixer: off */
  cursor: -webkit-zoom-in;
  cursor: -moz-zoom-in;
  cursor: zoom-in;
}

.pswp--zoomed-in .pswp__img {
  /* autoprefixer: off */
  cursor: -webkit-grab;
  cursor: -moz-grab;
  cursor: grab;
}

.pswp--dragging .pswp__img {
  /* autoprefixer: off */
  cursor: -webkit-grabbing;
  cursor: -moz-grabbing;
  cursor: grabbing;
}

/*
	Background is added as a separate element.
	As animating opacity is much faster than animating rgba() background-color.
*/
.pswp__bg {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: #201d1d;
  opacity: 0;
  transform: translateZ(0);
  -webkit-backface-visibility: hidden;
  will-change: opacity;
}

.pswp__scroll-wrap {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.pswp__container,
.pswp__zoom-wrap {
  -ms-touch-action: none;
  touch-action: none;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
}

/* Prevent selection and tap highlights */
.pswp__container,
.pswp__img {
  user-select: none;
  -webkit-tap-highlight-color: transparent;
  -webkit-touch-callout: none;
}

.pswp__zoom-wrap {
  position: absolute;
  width: 100%;
  transform-origin: left top;
  /* for open/close transition */
  transition: transform 333ms cubic-bezier(0.4, 0, 0.22, 1);
}

.pswp__bg {
  will-change: opacity;
  /* for open/close transition */
  transition: opacity 333ms cubic-bezier(0.4, 0, 0.22, 1);
}

.pswp--animated-in .pswp__bg,
.pswp--animated-in .pswp__zoom-wrap {
  transition: none;
}

.pswp__container,
.pswp__zoom-wrap {
  -webkit-backface-visibility: hidden;
}

.pswp__item {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  overflow: hidden;
}

.pswp__img {
  position: absolute;
  width: auto;
  height: auto;
  top: 0;
  left: 0;
}

/*
	stretched thumbnail or div placeholder element (see below)
	style is added to avoid flickering in webkit/blink when layers overlap
*/
.pswp__img--placeholder {
  -webkit-backface-visibility: hidden;
}

/*
	div element that matches size of large image
	large image loads on top of it
*/
.pswp__img--placeholder--blank {
  background: #222;
}

.pswp--ie .pswp__img {
  width: 100% !important;
  height: auto !important;
  left: 0;
  top: 0;
}

/*
	Error message appears when image is not loaded
	(JS option errorMsg controls markup)
*/
.pswp__error-msg {
  position: absolute;
  left: 0;
  top: 50%;
  width: 100%;
  text-align: center;
  font-size: 14px;
  line-height: 16px;
  margin-top: -8px;
  color: #ccc;
}

.pswp__error-msg a {
  color: #ccc;
  text-decoration: underline;
}

/*! PhotoSwipe Default UI CSS by Dmitry Semenov | photoswipe.com | MIT license */
/*

	Contents:

	1. Buttons
	2. Share modal and links
	3. Index indicator ("1 of X" counter)
	4. Caption
	5. Loading indicator
	6. Additional styles (root element, top bar, idle state, hidden state, etc.)

*/
/*

	1. Buttons

 */
/* <button> css reset */
.pswp__button {
  width: 44px;
  height: 44px;
  position: relative;
  background: none;
  cursor: pointer;
  overflow: visible;
  -webkit-appearance: none;
  display: block;
  border: 0;
  padding: 0;
  margin: 0;
  float: right;
  opacity: 0.75;
  transition: opacity 0.2s;
  box-shadow: none;
}

.pswp__button:focus, .pswp__button:hover {
  opacity: 1;
}

.pswp__button:active {
  outline: none;
  opacity: 0.9;
}

.pswp__button::-moz-focus-inner {
  padding: 0;
  border: 0;
}

/* pswp__ui--over-close class it added when mouse is over element that should close gallery */
.pswp__ui--over-close .pswp__button--close {
  opacity: 1;
}

.pswp__button,
.pswp__button--arrow--left:before,
.pswp__button--arrow--right:before {
  background: url(/assets/unicef/build/images/default-skin.0ff4d621.png) 0 0 no-repeat;
  background-size: 264px 88px;
  width: 44px;
  height: 44px;
}

@media (-webkit-min-device-pixel-ratio: 1.1), (-webkit-min-device-pixel-ratio: 1.09375), (min-resolution: 105dpi), (min-resolution: 1.1dppx) {
  /* Serve SVG sprite if browser supports SVG and resolution is more than 105dpi */
  .pswp--svg .pswp__button,
  .pswp--svg .pswp__button--arrow--left:before,
  .pswp--svg .pswp__button--arrow--right:before {
    background-image: url(/assets/unicef/build/images/photoswipe-default-skin.f64c3af3.svg);
  }
  .pswp--svg .pswp__button--arrow--left,
  .pswp--svg .pswp__button--arrow--right {
    background: none;
  }
}
.pswp__button--close {
  background-position: 0 -44px;
}

.pswp__button--share {
  background-position: -44px -44px;
}

.pswp__button--fs {
  display: none;
}

.pswp--supports-fs .pswp__button--fs {
  display: block;
}

.pswp--fs .pswp__button--fs {
  background-position: -44px 0;
}

.pswp__button--zoom {
  display: none;
  background-position: -88px 0;
}

.pswp--zoom-allowed .pswp__button--zoom {
  display: block;
}

.pswp--zoomed-in .pswp__button--zoom {
  background-position: -132px 0;
}

/* no arrows on touch screens */
.pswp--touch .pswp__button--arrow--left,
.pswp--touch .pswp__button--arrow--right {
  visibility: hidden;
}

/*
	Arrow buttons hit area
	(icon is added to :before pseudo-element)
*/
.pswp__button--arrow--left,
.pswp__button--arrow--right {
  background: none;
  top: 50%;
  margin-top: -50px;
  width: 70px;
  height: 100px;
  position: absolute;
}

.pswp__button--arrow--left {
  left: 0;
}

.pswp__button--arrow--right {
  right: 0;
}

.pswp__button--arrow--left:before,
.pswp__button--arrow--right:before {
  content: "";
  top: 35px;
  background-color: rgba(0, 0, 0, 0.3);
  height: 30px;
  width: 32px;
  position: absolute;
}

.pswp__button--arrow--left:before {
  left: 6px;
  background-position: -138px -44px;
}

.pswp__button--arrow--right:before {
  right: 6px;
  background-position: -94px -44px;
}

/*

	2. Share modal/popup and links

 */
.pswp__counter,
.pswp__share-modal {
  user-select: none;
}

.pswp__share-modal {
  display: block;
  background: rgba(0, 0, 0, 0.5);
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  padding: 10px;
  position: absolute;
  z-index: 1600;
  opacity: 0;
  transition: opacity 0.25s ease-out;
  -webkit-backface-visibility: hidden;
  will-change: opacity;
}

.pswp__share-modal--hidden {
  display: none;
}

.pswp__share-tooltip {
  z-index: 1620;
  position: absolute;
  background: #fff;
  top: 56px;
  border-radius: 2px;
  display: block;
  width: auto;
  right: 44px;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.25);
  transform: translateY(6px);
  transition: transform 0.25s;
  -webkit-backface-visibility: hidden;
  will-change: transform;
}

.pswp__share-tooltip a {
  display: block;
  padding: 8px 12px;
  color: #000;
  text-decoration: none;
  font-size: 14px;
  line-height: 18px;
}

.pswp__share-tooltip a:hover {
  text-decoration: none;
  color: #000;
}

.pswp__share-tooltip a:first-child {
  /* round corners on the first/last list item */
  border-radius: 2px 2px 0 0;
}

.pswp__share-tooltip a:last-child {
  border-radius: 0 0 2px 2px;
}

.pswp__share-modal--fade-in {
  opacity: 1;
}

.pswp__share-modal--fade-in .pswp__share-tooltip {
  transform: translateY(0);
}

/* increase size of share links on touch devices */
.pswp--touch .pswp__share-tooltip a {
  padding: 16px 12px;
}

a.pswp__share--facebook:before {
  content: "";
  display: block;
  width: 0;
  height: 0;
  position: absolute;
  top: -12px;
  right: 15px;
  border: 6px solid transparent;
  border-bottom-color: #fff;
  pointer-events: none;
}

a.pswp__share--facebook:hover {
  background: #3e5c9a;
  color: #fff;
}

a.pswp__share--facebook:hover:before {
  border-bottom-color: #3e5c9a;
}

a.pswp__share--twitter:hover {
  background: #55acee;
  color: #fff;
}

a.pswp__share--pinterest:hover {
  background: #ccc;
  color: #ce272d;
}

a.pswp__share--download:hover {
  background: #ddd;
}

/*

	3. Index indicator ("1 of X" counter)

 */
.pswp__counter {
  position: absolute;
  left: 0;
  top: 0;
  height: 44px;
  font-size: 13px;
  line-height: 44px;
  color: #fff;
  opacity: 0.75;
  padding: 0 10px;
}

/*

	4. Caption

 */
.pswp__caption {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  min-height: 44px;
}

.pswp__caption small {
  font-size: 11px;
  color: #bbb;
}

.pswp__caption__center {
  text-align: center;
  max-width: 420px;
  margin: 0 auto;
  font-size: 13px;
  padding: 10px;
  line-height: 20px;
  color: #ccc;
}

.pswp__caption--empty {
  display: none;
}

/* Fake caption element, used to calculate height of next/prev image */
.pswp__caption--fake {
  visibility: hidden;
}

/*

	5. Loading indicator (preloader)

	You can play with it here - http://codepen.io/dimsemenov/pen/yyBWoR

 */
.pswp__preloader {
  width: 44px;
  height: 44px;
  position: absolute;
  top: 0;
  left: 50%;
  margin-left: -22px;
  opacity: 0;
  transition: opacity 0.25s ease-out;
  will-change: opacity;
  direction: ltr;
}

.pswp__preloader__icn {
  width: 20px;
  height: 20px;
  margin: 12px;
}

.pswp__preloader--active {
  opacity: 1;
}

.pswp__preloader--active .pswp__preloader__icn {
  /* We use .gif in browsers that don't support CSS animation */
  background: url(/assets/unicef/build/images/preloader.14d740b6.gif) 0 0 no-repeat;
}

.pswp--css_animation .pswp__preloader--active {
  opacity: 1;
}

.pswp--css_animation .pswp__preloader--active .pswp__preloader__icn {
  -webkit-animation: clockwise 500ms linear infinite;
  animation: clockwise 500ms linear infinite;
}

.pswp--css_animation .pswp__preloader--active .pswp__preloader__donut {
  -webkit-animation: donut-rotate 1000ms cubic-bezier(0.4, 0, 0.22, 1) infinite;
  animation: donut-rotate 1000ms cubic-bezier(0.4, 0, 0.22, 1) infinite;
}

.pswp--css_animation .pswp__preloader__icn {
  background: none;
  opacity: 0.75;
  width: 14px;
  height: 14px;
  position: absolute;
  left: 15px;
  top: 15px;
  margin: 0;
}

.pswp--css_animation .pswp__preloader__cut {
  /*
            The idea of animating inner circle is based on Polymer ("material") loading indicator
             by Keanu Lee https://blog.keanulee.com/2014/10/20/the-tale-of-three-spinners.html
        */
  position: relative;
  width: 7px;
  height: 14px;
  overflow: hidden;
}

.pswp--css_animation .pswp__preloader__donut {
  box-sizing: border-box;
  width: 14px;
  height: 14px;
  border: 2px solid #fff;
  border-radius: 50%;
  border-left-color: transparent;
  border-bottom-color: transparent;
  position: absolute;
  top: 0;
  left: 0;
  background: none;
  margin: 0;
}

@media screen and (max-width: 1024px) {
  .pswp__preloader {
    position: relative;
    left: auto;
    top: auto;
    margin: 0;
    float: right;
  }
}
@-webkit-keyframes clockwise {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@keyframes clockwise {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@-webkit-keyframes donut-rotate {
  0% {
    -webkit-transform: rotate(0);
    transform: rotate(0);
  }
  50% {
    -webkit-transform: rotate(-140deg);
    transform: rotate(-140deg);
  }
  100% {
    -webkit-transform: rotate(0);
    transform: rotate(0);
  }
}
@keyframes donut-rotate {
  0% {
    -webkit-transform: rotate(0);
    transform: rotate(0);
  }
  50% {
    -webkit-transform: rotate(-140deg);
    transform: rotate(-140deg);
  }
  100% {
    -webkit-transform: rotate(0);
    transform: rotate(0);
  }
}
/*

	6. Additional styles

 */
/* root element of UI */
.pswp__ui {
  -webkit-font-smoothing: auto;
  visibility: visible;
  opacity: 1;
  z-index: 1550;
}

/* top black bar with buttons and "1 of X" indicator */
.pswp__top-bar {
  position: absolute;
  left: 0;
  top: 0;
  height: 44px;
  width: 100%;
}

.pswp__caption,
.pswp__top-bar,
.pswp--has_mouse .pswp__button--arrow--left,
.pswp--has_mouse .pswp__button--arrow--right {
  -webkit-backface-visibility: hidden;
  will-change: opacity;
  transition: opacity 333ms cubic-bezier(0.4, 0, 0.22, 1);
}

/* pswp--has_mouse class is added only when two subsequent mousemove events occur */
.pswp--has_mouse .pswp__button--arrow--left,
.pswp--has_mouse .pswp__button--arrow--right {
  visibility: visible;
}

.pswp__top-bar,
.pswp__caption {
  background-color: rgba(0, 0, 0, 0.5);
}

/* pswp__ui--fit class is added when main image "fits" between top bar and bottom bar (caption) */
.pswp__ui--fit .pswp__top-bar {
  background-color: rgba(0, 0, 0, 0);
}

.pswp__ui--fit .pswp__caption {
  background-color: rgba(0, 0, 0, 0);
}

/* pswp__ui--idle class is added when mouse isn't moving for several seconds (JS option timeToIdle) */
.pswp__ui--idle .pswp__top-bar {
  opacity: 0;
}

.pswp__ui--idle .pswp__button--arrow--left,
.pswp__ui--idle .pswp__button--arrow--right {
  opacity: 0;
}

/*
	pswp__ui--hidden class is added when controls are hidden
	e.g. when user taps to toggle visibility of controls
*/
.pswp__ui--hidden .pswp__top-bar,
.pswp__ui--hidden .pswp__caption,
.pswp__ui--hidden .pswp__button--arrow--left,
.pswp__ui--hidden .pswp__button--arrow--right {
  /* Force paint & create composition layer for controls. */
  opacity: 0.001;
}

/* pswp__ui--one-slide class is added when there is just one item in gallery */
.pswp__ui--one-slide .pswp__button--arrow--left,
.pswp__ui--one-slide .pswp__button--arrow--right,
.pswp__ui--one-slide .pswp__counter {
  display: none;
}

.pswp__element--disabled {
  display: none !important;
}

.pswp--minimal--dark .pswp__top-bar {
  background: none;
}

.pswp {
  z-index: 1900;
}

.photoswipe-image {
  cursor: pointer;
}

.ps-gallery > .photoswipe-image.no-thumbnail {
  visibility: hidden;
  opacity: 0;
  position: absolute;
  overflow: hidden;
  width: 1px;
  height: 1px;
  user-select: none;
  top: 50%;
  left: 50%;
  z-index: -1;
}
.pswp--visible ~ .ps-gallery > .photoswipe-image.no-thumbnail {
  display: block;
  opacity: 0;
  z-index: -1;
  position: absolute;
  overflow: visible;
  width: 100%;
  height: 100%;
  pointer-events: none;
  user-select: none;
}
.ps-gallery > .photoswipe-image.no-thumbnail img {
  opacity: 0;
  position: absolute;
  z-index: -1;
  width: 100%;
  height: 100%;
}

.pswp__ui--fit .pswp__caption,
.pswp__ui--fit .pswp__top-bar {
  background-color: rgba(32, 29, 29, 0.5);
}

.pswp__caption h1, .pswp__caption h2, .pswp__caption h3, .pswp__caption h4, .pswp__caption h5, .pswp__caption h6, .pswp__caption p {
  color: #eee;
  font-size: 16px;
  margin: 0;
}
.pswp__caption .gallery-set__count {
  display: none;
}

.pswp__caption__center {
  max-width: 100%;
}
@media (min-width: 1200px) {
  .pswp__caption__center {
    padding: 15px 10px 28px 10px;
    max-width: 66%;
  }
}
@media (min-width: 1900px) {
  .pswp__caption__center {
    max-width: 63%;
  }
}
@media (min-width: 2000px) {
  .pswp__caption__center {
    max-width: 64%;
  }
}

@font-face {
  font-family: "file-types";
  src: url(/assets/unicef/build/fonts/file-types.197fb674.woff) format("woff");
  font-weight: 400;
  font-style: normal;
}
[class^=icon-file], [class*=" icon-file"] {
  font-family: "file-types", sans-serif;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-file-spreadsheet:before {
  content: "\e600";
}

.icon-file-empty:before {
  content: "\e924";
}

.icon-file-text:before {
  content: "\e926";
}

.icon-file-picture:before {
  content: "\e927";
}

.icon-file-music:before {
  content: "\e928";
}

.icon-file-video:before {
  content: "\e92a";
}

.icon-file-archive:before {
  content: "\e92b";
}

.icon-file-pdf:before {
  content: "\eada";
}

.ico-link {
  vertical-align: middle;
}
.ico-link:before {
  content: "\e924";
  font-family: "file-types", sans-serif;
  position: relative;
  display: inline-block;
  vertical-align: middle;
  padding-bottom: 10px;
  margin-right: 7px;
  margin-left: 7px;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 28px;
  user-select: none;
}

[href*=".pdf"] .ico-link:before,
[href*=".PDF"] .ico-link:before {
  content: "\eada";
}

[href*=".doc"] .ico-link:before, [href*=".DOC"] .ico-link:before, [href*=".txt"] .ico-link:before, [href*=".TXT"] .ico-link:before, [href*=".rtf"] .ico-link:before, [href*=".RTF"] .ico-link:before, [href*=".docx"] .ico-link:before, [href*=".DOCX"] .ico-link:before, [href*=".odt"] .ico-link:before, [href*=".ODT"] .ico-link:before {
  content: "\e926";
}

[href*=".mp3"] .ico-link:before, [href*=".wav"] .ico-link:before, [href*=".aac"] .ico-link:before,
[href*=".MP3"] .ico-link:before, [href*=".WAV"] .ico-link:before, [href*=".AAC"] .ico-link:before {
  content: "\e928";
}

[href*=".avi"] .ico-link:before, [href*=".mp4"] .ico-link:before, [href*=".mpg"] .ico-link:before, [href*=".mov"] .ico-link:before, [href*=".mpeg"] .ico-link:before, [href*=".ppt"] .ico-link:before, [href*=".pptx"] .ico-link:before, [href*=".ogg"] .ico-link:before,
[href*=".AVI"] .ico-link:before, [href*=".MP4"] .ico-link:before, [href*=".MPG"] .ico-link:before, [href*=".MOV"] .ico-link:before, [href*=".MPEG"] .ico-link:before, [href*=".PPT"] .ico-link:before, [href*=".PPTX"] .ico-link:before, [href*=".OGG"] .ico-link:before {
  content: "\e92a";
}

[href*=".zip"] .ico-link:before, [href*=".rar"] .ico-link:before, [href*=".7z"] .ico-link:before, [href*=".tar"] .ico-link:before, [href*=".gz"] .ico-link:before,
[href*=".ZIP"] .ico-link:before, [href*=".RAR"] .ico-link:before, [href*=".7Z"] .ico-link:before, [href*=".TAR"] .ico-link:before, [href*=".GZ"] .ico-link:before {
  content: "\e92b";
}

[href*=".csv"] .ico-link:before, [href*=".xls"] .ico-link:before, [href*=".xlsx"] .ico-link:before, [href*=".sxc"] .ico-link:before,
[href*=".CSV"] .ico-link:before, [href*=".XLS"] .ico-link:before, [href*=".XLSX"] .ico-link:before, [href*=".SXC"] .ico-link:before, [href*=".ods"] .ico-link:before, [href*=".ODS"] .ico-link:before {
  content: "\e600";
}

.content_type_pdf:before {
  content: "\eada";
}

.content_type_vnd_ms-excel:before {
  content: "\e600";
}

.content_type_zip:before,
.content_type_rar:before,
.content_type_x-gzip:before {
  content: "\e92b";
}

.content_type_video:before {
  content: "\e92a";
}

.content_type_image:before {
  content: "\e927";
}

.content_type_vnd_oasis_opendocument_spreadsheet:before {
  content: "\e600";
}

.content_type_pdf2:before {
  content: "\eada";
}

.content_type_vnd_ms-powerpoint:before {
  content: "\e92a";
}

.content_type_plain:before {
  content: "\e924";
}

.content_type_audio:before {
  content: "\e928";
}

.content_type_msword:before,
.content_type_rtf:before {
  content: "\e926";
}

.arrangement {
  margin-left: auto;
  margin-right: auto;
  margin-top: 0;
  margin-bottom: 30px;
  clear: both;
}
@media (min-width: 768px) {
  .arrangement {
    margin-top: 0;
    margin-bottom: 30px;
  }
}
@media (min-width: 1400px) {
  .arrangement {
    margin-top: 0;
    margin-bottom: 30px;
  }
}
.arrangement__content {
  display: flex;
  flex-flow: row wrap;
  padding: 0 11.5px 11.5px 11.5px;
  margin: -23px;
}
@media (min-width: 768px) {
  .arrangement__content {
    padding: 0 7.5px 7.5px 7.5px;
    margin: -15px;
  }
}
@media (min-width: 1400px) {
  .arrangement__content {
    padding: 0 8px 8px 8px;
    margin: -16px;
  }
}
.arrangement__content > div,
.arrangement__content > figure {
  margin: 11.5px;
}
@media (min-width: 768px) {
  .arrangement__content > div,
  .arrangement__content > figure {
    margin: 7.5px;
  }
}
@media (min-width: 1400px) {
  .arrangement__content > div,
  .arrangement__content > figure {
    margin: 8px;
  }
}
.arrangement__content > div .figure__image,
.arrangement__content > figure .figure__image {
  max-width: none;
  width: 100% !important;
  height: auto;
}
.arrangement__content > div .figure__figcaption,
.arrangement__content > figure .figure__figcaption {
  display: none;
}
@media (min-width: 480px) {
  .arrangement__content > div .figure__figcaption,
  .arrangement__content > figure .figure__figcaption {
    display: none;
  }
}
@media (min-width: 1400px) {
  .arrangement__content > div .figure__figcaption,
  .arrangement__content > figure .figure__figcaption {
    display: none;
  }
}
.arrangement__content figure {
  width: 100%;
}
.arrangement--1x .arrangement__content > div,
.arrangement--1x .arrangement__content > figure {
  width: calc(100% - 23px);
}
@media (min-width: 480px) {
  .arrangement--1x .arrangement__content > div,
  .arrangement--1x .arrangement__content > figure {
    width: calc(100% - 23px);
  }
}
@media (min-width: 768px) {
  .arrangement--1x .arrangement__content > div,
  .arrangement--1x .arrangement__content > figure {
    width: calc(100% - 15px);
  }
}
@media (min-width: 1400px) {
  .arrangement--1x .arrangement__content > div,
  .arrangement--1x .arrangement__content > figure {
    width: calc(100% - 16px);
  }
}
.arrangement--2x .arrangement__content > div,
.arrangement--2x .arrangement__content > figure {
  width: calc(50% - 23px);
}
@media (min-width: 480px) {
  .arrangement--2x .arrangement__content > div,
  .arrangement--2x .arrangement__content > figure {
    width: calc(50% - 23px);
  }
}
@media (min-width: 768px) {
  .arrangement--2x .arrangement__content > div,
  .arrangement--2x .arrangement__content > figure {
    width: calc(50% - 15px);
  }
}
@media (min-width: 1400px) {
  .arrangement--2x .arrangement__content > div,
  .arrangement--2x .arrangement__content > figure {
    width: calc(50% - 16px);
  }
}
.arrangement--3x .arrangement__content > div,
.arrangement--3x .arrangement__content > figure {
  width: calc(33.333% - 23px);
}
@media (min-width: 480px) {
  .arrangement--3x .arrangement__content > div,
  .arrangement--3x .arrangement__content > figure {
    width: calc(33.333% - 23px);
  }
}
@media (min-width: 768px) {
  .arrangement--3x .arrangement__content > div,
  .arrangement--3x .arrangement__content > figure {
    width: calc(33.333% - 15px);
  }
}
@media (min-width: 1400px) {
  .arrangement--3x .arrangement__content > div,
  .arrangement--3x .arrangement__content > figure {
    width: calc(33.333% - 16px);
  }
}
.arrangement--4x .arrangement__content > div,
.arrangement--4x .arrangement__content > figure {
  width: calc(50% - 23px);
}
@media (min-width: 480px) {
  .arrangement--4x .arrangement__content > div,
  .arrangement--4x .arrangement__content > figure {
    width: calc(50% - 23px);
  }
}
@media (min-width: 768px) {
  .arrangement--4x .arrangement__content > div,
  .arrangement--4x .arrangement__content > figure {
    width: calc(25% - 15px);
  }
}
@media (min-width: 1400px) {
  .arrangement--4x .arrangement__content > div,
  .arrangement--4x .arrangement__content > figure {
    width: calc(25% - 16px);
  }
}
.arrangement--5x .arrangement__content > div,
.arrangement--5x .arrangement__content > figure {
  width: calc(25% - 23px);
}
@media (min-width: 480px) {
  .arrangement--5x .arrangement__content > div,
  .arrangement--5x .arrangement__content > figure {
    width: calc(20% - 23px);
  }
}
@media (min-width: 768px) {
  .arrangement--5x .arrangement__content > div,
  .arrangement--5x .arrangement__content > figure {
    width: calc(20% - 15px);
  }
}
@media (min-width: 1400px) {
  .arrangement--5x .arrangement__content > div,
  .arrangement--5x .arrangement__content > figure {
    width: calc(20% - 16px);
  }
}
.arrangement--6x .arrangement__content > div,
.arrangement--6x .arrangement__content > figure {
  width: calc(25% - 23px);
}
@media (min-width: 480px) {
  .arrangement--6x .arrangement__content > div,
  .arrangement--6x .arrangement__content > figure {
    width: calc(16.666% - 23px);
  }
}
@media (min-width: 768px) {
  .arrangement--6x .arrangement__content > div,
  .arrangement--6x .arrangement__content > figure {
    width: calc(16.666% - 15px);
  }
}
@media (min-width: 1400px) {
  .arrangement--6x .arrangement__content > div,
  .arrangement--6x .arrangement__content > figure {
    width: calc(16.666% - 16px);
  }
}
.arrangement--7x .arrangement__content > div,
.arrangement--7x .arrangement__content > figure {
  width: calc(25% - 23px);
}
@media (min-width: 480px) {
  .arrangement--7x .arrangement__content > div,
  .arrangement--7x .arrangement__content > figure {
    width: calc(16.666% - 23px);
  }
}
@media (min-width: 768px) {
  .arrangement--7x .arrangement__content > div,
  .arrangement--7x .arrangement__content > figure {
    width: calc(14.285% - 15px);
  }
}
@media (min-width: 1400px) {
  .arrangement--7x .arrangement__content > div,
  .arrangement--7x .arrangement__content > figure {
    width: calc(14.285% - 16px);
  }
}
.arrangement--8x .arrangement__content > div,
.arrangement--8x .arrangement__content > figure {
  width: calc(25% - 23px);
}
@media (min-width: 480px) {
  .arrangement--8x .arrangement__content > div,
  .arrangement--8x .arrangement__content > figure {
    width: calc(16.666% - 23px);
  }
}
@media (min-width: 768px) {
  .arrangement--8x .arrangement__content > div,
  .arrangement--8x .arrangement__content > figure {
    width: calc(12.5% - 15px);
  }
}
@media (min-width: 1400px) {
  .arrangement--8x .arrangement__content > div,
  .arrangement--8x .arrangement__content > figure {
    width: calc(12.5% - 16px);
  }
}
.arrangement--9x .arrangement__content > div,
.arrangement--9x .arrangement__content > figure {
  width: calc(25% - 23px);
}
@media (min-width: 480px) {
  .arrangement--9x .arrangement__content > div,
  .arrangement--9x .arrangement__content > figure {
    width: calc(16.666% - 23px);
  }
}
@media (min-width: 768px) {
  .arrangement--9x .arrangement__content > div,
  .arrangement--9x .arrangement__content > figure {
    width: calc(11.111% - 15px);
  }
}
@media (min-width: 1400px) {
  .arrangement--9x .arrangement__content > div,
  .arrangement--9x .arrangement__content > figure {
    width: calc(11.111% - 16px);
  }
}
.arrangement--10x .arrangement__content > div,
.arrangement--10x .arrangement__content > figure {
  width: calc(25% - 23px);
}
@media (min-width: 480px) {
  .arrangement--10x .arrangement__content > div,
  .arrangement--10x .arrangement__content > figure {
    width: calc(16.666% - 23px);
  }
}
@media (min-width: 768px) {
  .arrangement--10x .arrangement__content > div,
  .arrangement--10x .arrangement__content > figure {
    width: calc(10% - 15px);
  }
}
@media (min-width: 1400px) {
  .arrangement--10x .arrangement__content > div,
  .arrangement--10x .arrangement__content > figure {
    width: calc(10% - 16px);
  }
}

.toasts {
  position: fixed;
  top: 0;
  left: 0;
  margin: auto;
  z-index: 1912;
  width: 100%;
  pointer-events: none;
  user-select: none;
}
@media (min-width: 992px) {
  .toasts {
    z-index: 1912;
    width: 0;
    left: auto;
    right: 0;
    top: 0;
    height: 100vh;
    display: flex;
    justify-content: flex-start;
    align-items: flex-end;
    flex-direction: column;
  }
}

.toast {
  color: #fff;
  font-weight: 300;
  box-shadow: none;
  border: none;
  width: 100%;
  margin: 0;
  pointer-events: none;
  user-select: none;
  background-color: transparent;
  border-radius: 0;
  max-width: none;
  line-height: 1.4;
  border-bottom: 1px solid rgba(255, 255, 255, 0.5);
  flex-basis: auto;
}
@media (min-width: 992px) {
  .toast {
    width: 240px;
    margin: 20px 20px 10px 0;
    background-color: #6ec01e;
    border-radius: 5px;
    box-shadow: -3px 3px 6px rgba(0, 0, 0, 0.12);
    border-bottom: none;
  }
}
@media (min-width: 992px) {
  .toast.toast--warning {
    background-color: #F26A21;
  }
}
@media (min-width: 992px) {
  .toast.toast--alert {
    background-color: #ff0000;
  }
}
.toast a {
  color: #fff;
}
.toast-header {
  justify-content: center;
  background-color: #00AEEF;
  color: #fff;
  font-weight: 300;
  font-size: 16.5px;
  border: none;
  pointer-events: auto;
  width: 100%;
  height: 58px;
  line-height: 58px;
  padding: 0 55px 0 50px;
  text-align: center;
  margin-bottom: -3px;
}
@media (min-width: 992px) {
  .toast-header {
    padding: 15px 25px 0 15px;
    font-size: 19px;
    height: auto;
    line-height: inherit;
    background-color: transparent;
  }
}
.toast--warning .toast-header {
  background-color: #F26A21;
}
@media (min-width: 992px) {
  .toast--warning .toast-header {
    background-color: transparent;
  }
}
.toast--alert .toast-header {
  background-color: #ff0000;
}
@media (min-width: 992px) {
  .toast--alert .toast-header {
    background-color: transparent;
  }
}
.toast-header:before {
  content: "";
  display: inline-block;
  vertical-align: middle;
  width: 18px;
  height: 18px;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http://www.w3.org/2000/svg%22%20fill%3D%22%2300AEEF%22%20viewBox%3D%220%200%2026%2026%22%3E%3Cpath%20d%3D%22M25,13A12,12,0,1,1,13,1,12,12,0,0,1,25,13Z%22%20fill%3D%22%23fff%22/%3E%3Cpath%20d%3D%22M11.3,18.66,5.65,13l2.26-2.26,3.39,3.39,6.79-6.79,2.26,2.27Z%22%20fill%3D%22%2300AEEF%22/%3E%3Cpath%20d%3D%22M26,26H0V0H26Z%22%20fill%3D%22none%22/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: 100%;
  background-position: center;
  margin-right: 5px;
}
@media (min-width: 992px) {
  .toast-header:before {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http://www.w3.org/2000/svg%22%20fill%3D%22%236ec01e%22%20viewBox%3D%220%200%2026%2026%22%3E%3Cpath%20d%3D%22M25,13A12,12,0,1,1,13,1,12,12,0,0,1,25,13Z%22%20fill%3D%22%23fff%22/%3E%3Cpath%20d%3D%22M11.3,18.66,5.65,13l2.26-2.26,3.39,3.39,6.79-6.79,2.26,2.27Z%22%20fill%3D%22%236ec01e%22/%3E%3Cpath%20d%3D%22M26,26H0V0H26Z%22%20fill%3D%22none%22/%3E%3C/svg%3E");
  }
}
.toast--warning .toast-header:before {
  width: 20px;
  height: 20px;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http://www.w3.org/2000/svg%22%20fill%3D%22%23fff%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22M1%2021h22L12%202%201%2021zm12-3h-2v-2h2v2zm0-4h-2v-4h2v4z%22/%3E%3C/svg%3E");
}
@media (min-width: 992px) {
  .toast--warning .toast-header:before {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http://www.w3.org/2000/svg%22%20fill%3D%22%23fff%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22M1%2021h22L12%202%201%2021zm12-3h-2v-2h2v2zm0-4h-2v-4h2v4z%22/%3E%3C/svg%3E");
  }
}
.toast--alert .toast-header:before {
  width: 20px;
  height: 20px;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http://www.w3.org/2000/svg%22%20fill%3D%22%23fff%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22M12%202C6.48%202%202%206.48%202%2012s4.48%2010%2010%2010%2010-4.48%2010-10S17.52%202%2012%202zm1%2015h-2v-2h2v2zm0-4h-2V7h2v6z%22/%3E%3C/svg%3E");
}
@media (min-width: 992px) {
  .toast--alert .toast-header:before {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http://www.w3.org/2000/svg%22%20fill%3D%22%23fff%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22M12%202C6.48%202%202%206.48%202%2012s4.48%2010%2010%2010%2010-4.48%2010-10S17.52%202%2012%202zm1%2015h-2v-2h2v2zm0-4h-2V7h2v6z%22/%3E%3C/svg%3E");
  }
}
.toast-body {
  background-color: #00AEEF;
  pointer-events: auto;
  font-size: 16.5px;
  text-align: center;
  padding: 5px 23px 23px 23px;
}
.toast--warning .toast-body {
  background-color: #F26A21;
}
.toast--alert .toast-body {
  background-color: #ff0000;
}
@media (min-width: 992px) {
  .toast-body {
    padding: 15px;
    font-size: 19px;
    background-color: transparent;
  }
}
@media (min-width: 992px) {
  .toast--warning .toast-body {
    background-color: transparent;
  }
}
@media (min-width: 992px) {
  .toast--alert .toast-body {
    background-color: transparent;
  }
}
.toast .close {
  color: #fff;
  opacity: 1;
}

.modal-full .mdc-dialog__scrim {
  background-color: rgba(38, 83, 185, 0.5);
}
.modal-full .mdc-dialog__surface {
  max-width: calc(100% - 40px);
  position: relative;
}
@media (min-width: 768px) {
  .modal-full .mdc-dialog__surface {
    max-width: 720px;
  }
}
@media (min-width: 992px) {
  .modal-full .mdc-dialog__surface {
    max-width: 880px;
  }
}
@media (min-width: 1200px) {
  .modal-full .mdc-dialog__surface {
    max-width: 1080px;
  }
}
@media (min-width: 1400px) {
  .modal-full .mdc-dialog__surface {
    max-width: 1280px;
  }
}
@media (min-width: 1656px) {
  .modal-full .mdc-dialog__surface {
    max-width: 1500px;
  }
}
.mdc-dialog .modal-full__content {
  letter-spacing: 0.2px;
  padding: 5px;
}
@media (min-width: 768px) {
  .mdc-dialog .modal-full__content {
    padding: 10px;
  }
}
@media (min-width: 1200px) {
  .mdc-dialog .modal-full__content {
    padding: 20px;
  }
}
.modal-full__close {
  border: 0;
  margin: 0;
  padding: 0;
  background-color: transparent;
  position: absolute;
  z-index: 50;
  top: 2px;
  right: 2px;
  width: 48px;
  height: 48px;
  outline: none;
  user-select: none;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http://www.w3.org/2000/svg%22%20fill%3D%22%23201d1d%22%20viewBox%3D%220%200%2036%2036%22%3E%3Cpath%20d%3D%22M2.54,1.17h0a1.08,1.08,0,0,1,.86.39L18,16.12,32.52,1.56a1.13,1.13,0,0,1,.92-.39,1.24,1.24,0,0,1,1,.39,1.32,1.32,0,0,1,.36.92,1.28,1.28,0,0,1-.39.92L19.79,18,34.36,32.52a1.26,1.26,0,0,1,.39.92,1.33,1.33,0,0,1-.36.92,1.2,1.2,0,0,1-.92.39,1.3,1.3,0,0,1-.95-.39L18,19.79,3.4,34.36a1.28,1.28,0,0,1-.92.39,1.26,1.26,0,0,1-.92-.39,1.28,1.28,0,0,1-.39-.92,1.26,1.26,0,0,1,.39-.92L16.12,18,1.56,3.4a1.28,1.28,0,0,1-.39-.92,1.26,1.26,0,0,1,.39-.92,1.26,1.26,0,0,1,.92-.39Z%22/%3E%3Cpath%20d%3D%22M36,36H0V0H36Z%22%20fill%3D%22none%22/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: 18px 18px;
  background-position: center;
}
@media (min-width: 768px) {
  .modal-full__close {
    top: 24px;
    right: 24px;
    background-size: 22px 22px;
  }
}
.modal-full__close:hover, .modal-full__close:focus {
  cursor: pointer;
  outline: none;
}

body:before {
  display: none;
}

.main {
  opacity: 1;
}

.slick-slider {
  display: block;
}
.slick-slider.product-card__control {
  display: none;
}
@media (min-width: 992px) {
  .slick-slider.product-card__control {
    display: block;
  }
}

.modal-full--newsletter .modal-full__content {
  padding: 0;
}
.modal-full--newsletter .modal-full__close {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http://www.w3.org/2000/svg%22%20fill%3D%22%23fff%22%20viewBox%3D%220%200%2036%2036%22%3E%3Cpath%20d%3D%22M2.54,1.17h0a1.08,1.08,0,0,1,.86.39L18,16.12,32.52,1.56a1.13,1.13,0,0,1,.92-.39,1.24,1.24,0,0,1,1,.39,1.32,1.32,0,0,1,.36.92,1.28,1.28,0,0,1-.39.92L19.79,18,34.36,32.52a1.26,1.26,0,0,1,.39.92,1.33,1.33,0,0,1-.36.92,1.2,1.2,0,0,1-.92.39,1.3,1.3,0,0,1-.95-.39L18,19.79,3.4,34.36a1.28,1.28,0,0,1-.92.39,1.26,1.26,0,0,1-.92-.39,1.28,1.28,0,0,1-.39-.92,1.26,1.26,0,0,1,.39-.92L16.12,18,1.56,3.4a1.28,1.28,0,0,1-.39-.92,1.26,1.26,0,0,1,.39-.92,1.26,1.26,0,0,1,.92-.39Z%22/%3E%3Cpath%20d%3D%22M36,36H0V0H36Z%22%20fill%3D%22none%22/%3E%3C/svg%3E");
}
@media (min-width: 992px) {
  .modal-full--newsletter .mdc-dialog__surface {
    max-width: 750px;
  }
}

.modal-newsletter__row {
  margin-bottom: 20px;
  position: relative;
}
.modal-newsletter__row--center {
  align-items: center;
  display: flex;
}
.modal-newsletter__form {
  padding: 0 50px;
  margin-top: -45px;
}
.modal-newsletter__form .mdc-text-field {
  border: 1px solid #00AEEF;
  border-radius: 0;
  background-color: #fff;
  width: 100%;
}
.modal-newsletter__form .custom-validation-text {
  position: absolute;
  margin: auto;
  max-width: calc(100% - 26px);
  bottom: -14px;
  -webkit-transform: translateY(50%);
  transform: translateY(50%);
  left: 0;
  font-size: 10.5px;
  line-height: 1;
  display: none;
  padding-left: 2px;
  padding-right: 2px;
  font-weight: 500;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  color: #ff0000 !important;
}
.modal-newsletter__form .mdc-text-field--invalid {
  border-color: #ff0000 !important;
}
.modal-newsletter__form .mdc-text-field--invalid label {
  color: #ff0000 !important;
}
.modal-newsletter__form .mdc-checkbox--invalid ~ label {
  color: #ff0000 !important;
}
.modal-newsletter__form .mdc-text-field--invalid ~ .custom-validation-text,
.modal-newsletter__form .mdc-checkbox--invalid ~ .custom-validation-text {
  display: block;
}
.modal-newsletter__send {
  width: 60%;
  margin-left: auto;
  margin-right: auto;
}
.modal-newsletter__info {
  font-weight: 300;
  font-size: 12px;
  line-height: 16px;
  margin-top: 10px;
}
.modal-newsletter .site-form .mdc-form-field--checkbox label {
  font-size: 14px !important;
}
.modal-newsletter__figure {
  position: relative;
  display: block;
}
.modal-newsletter__canvas {
  margin: 0;
  width: 100%;
  max-width: 100%;
  user-select: none;
  display: block;
}
.modal-newsletter__img {
  width: 100%;
  display: block;
  user-select: none;
}
canvas + picture .modal-newsletter__img {
  position: absolute;
  left: 0;
  top: 0;
}

.modal-newsletter-thanks__figure {
  position: relative;
  display: block;
}
.modal-newsletter-thanks__canvas {
  margin: 0;
  width: 100%;
  max-width: 100%;
  user-select: none;
  display: block;
}
.modal-newsletter-thanks__img {
  width: 100%;
  display: block;
  user-select: none;
}
canvas + picture .modal-newsletter-thanks__img {
  position: absolute;
  left: 0;
  top: 0;
}

.materials-list {
  position: relative;
}
@media (max-width: 991.9px) {
  .materials-list {
    padding: 0 23px;
  }
}
.materials-list--bordered {
  border-bottom: 2px dotted #00AEEF;
  margin-bottom: 40px;
}
.materials-list__title {
  font-size: 28px;
  font-weight: 400;
  margin-bottom: 25px;
}
@media (min-width: 1200px) {
  .materials-list__title {
    margin-bottom: 28px;
  }
}
.materials-list__button {
  margin-bottom: 30px !important;
}
.materials-list__button-icon {
  width: 27px;
  height: 16px;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http://www.w3.org/2000/svg%22%20fill%3D%22%23d0d2d3%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cpath%20id%3D%22ic_arrow_forward_24px%22%20d%3D%22M12,4,10.59,5.41,16.17,11H4v2H16.17l-5.58,5.59L12,20l8-8Z%22%20transform%3D%22translate(-4%20-4)%22%20fill%3D%22%231cabe3%22/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: 24px 24px;
  background-position: center;
  opacity: 1;
  transition: opacity 0.2s;
  margin-left: 5px;
}

.material {
  position: relative;
  overflow: hidden;
  margin-bottom: 30px !important;
}
.material:after {
  content: "";
  display: block;
  position: absolute;
  bottom: 80px;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 80%, rgba(38, 83, 185, 0.8) 100%);
  z-index: 1;
  transition: bottom 300ms ease 0s;
}
@media (min-width: 1200px) {
  .material:after {
    bottom: 95px;
  }
}
.material__canvas {
  background-color: #D8D1C9;
  margin: 0;
  display: block;
  width: 100%;
  max-width: 100%;
  user-select: none;
}
.material__overlay {
  transition: top 300ms ease 0s;
  position: absolute;
  top: calc(100% - 80px);
  z-index: 2;
  padding: 15px;
  background-color: rgba(38, 83, 185, 0.8);
  display: flex;
  flex-direction: column;
  height: 100%;
  width: 100%;
}
@media (min-width: 1200px) {
  .material__overlay {
    top: calc(100% - 95px);
  }
}
.material:hover .material__overlay {
  top: 0;
}
.material:hover:after {
  bottom: 100%;
}
.material__title {
  color: #fff;
  margin: 0 0 10px;
  overflow: hidden;
  display: flex;
  align-items: center;
  font-size: 18px;
  font-weight: 400;
  line-height: 1.3;
  height: auto;
  min-height: 55px;
}
@media (min-width: 992px) {
  .material__title {
    font-size: 14px;
  }
}
@media (min-width: 1200px) {
  .material__title {
    min-height: 70px;
    font-size: 18px;
  }
}
.material__figure {
  margin: 0;
  position: relative;
  display: block;
  width: auto;
}
.material__img {
  width: 100%;
  display: block;
  user-select: none;
}
canvas + picture .material__img {
  position: absolute;
  left: 0;
  top: 0;
}
.material__description {
  color: #fff;
  font-weight: 100;
  line-height: 1.3;
  align-items: center;
  flex-grow: 2;
  font-size: 15px;
  display: none;
}
@media (min-width: 375px) {
  .material__description {
    display: flex;
  }
}
@media (min-width: 992px) {
  .material__description {
    font-size: 13px;
  }
}
@media (min-width: 1200px) {
  .material__description {
    font-size: 14px;
  }
}
.material__description-text {
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
  -webkit-line-clamp: 3;
}
@media (min-width: 480px) {
  .material__description-text {
    -webkit-line-clamp: 5;
  }
}
.material__more {
  width: 100%;
  height: 45px;
  border-color: rgba(255, 255, 255, 0.5) !important;
  color: #fff !important;
  margin-top: 20px;
}
.material__more:hover {
  color: #2653B9 !important;
  background-color: #fff;
}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJ0aWNsZS5jc3MiLCJtYXBwaW5ncyI6IkFBSUE7RUFDRTtFQUNBLG1CQ2tJTztFRGpJUCxjQ1NTO0FDWlg7QUZNRTs7RUFFRSxnQkN3VjBCO0VEdlYxQjtFQUNBO0FFSko7QUZPRTtFQUNFO0VBQ0E7QUVMSjtBRlFFO0VBQ0U7QUVOSjs7QUZnQkU7O0VBRUUsZUNrVTBCO0FDL1U5Qjs7QUZzQkE7RUFDRTtBRW5CRjtBRnFCRTs7RUFFRTtBRW5CSjtBRnVCSTs7RUFFRTtBRXJCTjs7QUYyQkU7Ozs7RUFJRTtBRXhCSjs7QUZpQ0U7RUFDRSxxQ0M4UjBCO0FDNVQ5Qjs7QUNqQ0U7RUgyRUksY0N2RUs7RUR3RUwsc0NDbVJ3QjtBQ3pUOUI7O0FFNUNJOzs7RUFHRSx5QkoyRitCO0FFNUNyQztBRTNDTTs7OztFQUlFLHFCSm1GeUU7QUV0Q2pGOztBQ2xERTtFQ2lCTSx5QkFKZTtBRnlDdkI7QUVuQ1E7O0VBRUUseUJBUmE7QUY2Q3ZCOztBRWhFSTs7O0VBR0UseUJKMkYrQjtBRXhCckM7QUUvRE07Ozs7RUFJRSxxQkptRnlFO0FFbEJqRjs7QUN0RUU7RUNpQk0seUJBSmU7QUY2RHZCO0FFdkRROztFQUVFLHlCQVJhO0FGaUV2Qjs7QUVwRkk7OztFQUdFLHlCSjJGK0I7QUVKckM7QUVuRk07Ozs7RUFJRSxxQkptRnlFO0FFRWpGOztBQzFGRTtFQ2lCTSx5QkFKZTtBRmlGdkI7QUUzRVE7O0VBRUUseUJBUmE7QUZxRnZCOztBRXhHSTs7O0VBR0UseUJKMkYrQjtBRWdCckM7QUV2R007Ozs7RUFJRSxxQkptRnlFO0FFc0JqRjs7QUM5R0U7RUNpQk0seUJBSmU7QUZxR3ZCO0FFL0ZROztFQUVFLHlCQVJhO0FGeUd2Qjs7QUU1SEk7OztFQUdFLHlCSjJGK0I7QUVvQ3JDO0FFM0hNOzs7O0VBSUUscUJKbUZ5RTtBRTBDakY7O0FDbElFO0VDaUJNLHlCQUplO0FGeUh2QjtBRW5IUTs7RUFFRSx5QkFSYTtBRjZIdkI7O0FFaEpJOzs7RUFHRSx5QkoyRitCO0FFd0RyQztBRS9JTTs7OztFQUlFLHFCSm1GeUU7QUU4RGpGOztBQ3RKRTtFQ2lCTSx5QkFKZTtBRjZJdkI7QUV2SVE7O0VBRUUseUJBUmE7QUZpSnZCOztBRXBLSTs7O0VBR0UseUJKMkYrQjtBRTRFckM7QUVuS007Ozs7RUFJRSxxQkptRnlFO0FFa0ZqRjs7QUMxS0U7RUNpQk0seUJBSmU7QUZpS3ZCO0FFM0pROztFQUVFLHlCQVJhO0FGcUt2Qjs7QUV4TEk7OztFQUdFLHlCSjJGK0I7QUVnR3JDO0FFdkxNOzs7O0VBSUUscUJKbUZ5RTtBRXNHakY7O0FDOUxFO0VDaUJNLHlCQUplO0FGcUx2QjtBRS9LUTs7RUFFRSx5QkFSYTtBRnlMdkI7O0FFNU1JOzs7RUFHRSxzQ0hrV3dCO0FDbko5Qjs7QUM1TUU7RUNpQk0sc0NBSmU7QUZtTXZCO0FFN0xROztFQUVFLHNDQVJhO0FGdU12Qjs7QUYvR0k7RUFDRSxXQzNHSztFRDRHTCx5QkNwR0s7RURxR0wscUJDcVF3QjtBQ25KOUI7QUY3R0k7RUFDRSxjQzVHSztFRDZHTCx5QkNsSEs7RURtSEwscUJDbEhLO0FDaU9YOztBRjFHQTtFQUNFLFdDM0hTO0VENEhULHlCQ3BIUztBQ2lPWDtBRjNHRTs7O0VBR0UscUJDaVAwQjtBQ3BJOUI7QUYxR0U7RUFDRTtBRTRHSjtBRnhHSTtFQUNFLDJDQ3FPd0I7QUMzSDlCO0FDL09FO0VINElNLFdDakpHO0VEa0pILDRDQytOc0I7QUN6SDlCOztBR3RMSTtFTGlHQTtJQUVJO0lBQ0E7SUFDQTtJQUNBO0VFd0ZOO0VGckZNO0lBQ0U7RUV1RlI7QUFDRjtBR2xNSTtFTGlHQTtJQUVJO0lBQ0E7SUFDQTtJQUNBO0VFbUdOO0VGaEdNO0lBQ0U7RUVrR1I7QUFDRjtBRzdNSTtFTGlHQTtJQUVJO0lBQ0E7SUFDQTtJQUNBO0VFOEdOO0VGM0dNO0lBQ0U7RUU2R1I7QUFDRjtBR3hOSTtFTGlHQTtJQUVJO0lBQ0E7SUFDQTtJQUNBO0VFeUhOO0VGdEhNO0lBQ0U7RUV3SFI7QUFDRjtBR25PSTtFTGlHQTtJQUVJO0lBQ0E7SUFDQTtJQUNBO0VFb0lOO0VGaklNO0lBQ0U7RUVtSVI7QUFDRjtBRjdJSTtFQUVJO0VBQ0E7RUFDQTtFQUNBO0FFOElSO0FGM0lRO0VBQ0U7QUU2SVY7O0FJaFVBO0VBQ0U7RUM0TU07RUQxTU4sZ0JMbVM0QjtFS2xTNUI7RUFDQSxXTFlTO0VLWFQseUJMc2xDa0M7RUtybENsQztBSm1VRjtBS3RMSTtFRHBKSjtJQ2tOVSxpQ0FYUTtFTHVJaEI7QUFDRjtBQ25VRTtFR0RFLFdMTU87RUtMUDtBSnVVSjtBQ25VRTtFR0NJO0FKcVVOOztBSTFUQTtFQUNFO0VBQ0E7RUFDQTtBSjZURjs7QUl2VEE7RUFDRTtBSjBURjs7QU1oV0E7RUFHRSxpQlB5NEJrQztFT3g0QmxDLGdCUHc0QmtDO0VNeHRCOUI7RUM3S0osMkNQMDRCa0M7RU96NEJsQztFQUNBO0VBQ0EsZ0RQMjRCa0M7RU8xNEJsQztFQ09FO0FQMFZKO0FNOVZFO0VBQ0Usc0JQODNCZ0M7QUM5aEJwQztBTTdWRTtFQUNFO0FOK1ZKO0FNNVZFO0VBQ0U7RUFDQTtBTjhWSjtBTTNWRTtFQUNFO0FONlZKOztBTXpWQTtFQUNFO0VBQ0E7RUFDQTtFQUNBLGNQdkJTO0VPd0JULDJDUG0zQmtDO0VPbDNCbEM7RUFDQTtFQ1pFO0VBQ0E7QVB5V0o7O0FNMVZBO0VBQ0UsZ0JQaTJCa0M7QUNwZ0JwQzs7QVExV0U7RUFPTTtBUnVXUjs7QVNsVkU7RUFDRTtJQUVFLDZCQ1ZjO0VWOFZsQjtFU2pWRTtJQUNFLHFERTVDK0I7RVgrWG5DO0VTaFZFO0lBQ0U7RVRrVko7QUFDRjtBUy9VRTtFQUNFO0lBRUU7RVRnVko7RVM3VUU7SUFDRTtFVCtVSjtFUzVVRTtJQUNFO0VUOFVKO0FBQ0Y7QVMzVUU7RUFDRTtJQUNFLHFERW5FK0I7SUZvRS9CO0lBQ0E7RVQ2VUo7RVMxVUU7SUFDRTtJQUNBO0VUNFVKO0FBQ0Y7QVN6VUU7RUFDRTtJQUNFLHFERWxGK0I7SUZtRi9CO0lBQ0E7RVQyVUo7RVN4VUU7SUFDRTtJQUNBO0VUMFVKO0FBQ0Y7QVN2VUU7RUFDRTtJQUNFLHNEQ2hFbUM7SURpRW5DO0lBQ0E7RVR5VUo7RVN0VUU7SUFDRTtJQUNBO0VUd1VKO0FBQ0Y7QVNyVUU7RUFDRTtJQUNFO0lBQ0E7SUFDQTtFVHVVSjtFU3BVRTtJQUNFO0lBQ0E7RVRzVUo7QUFDRjtBU25VRTtFQUNFO0lBQ0Usc0RDMUZtQztJRDJGbkM7SUFDQTtFVHFVSjtFU2xVRTtJQUNFO0lBQ0E7RVRvVUo7QUFDRjtBU2pVRTtFQUNFO0lBQ0U7SUFDQTtJQUNBO0VUbVVKO0VTaFVFO0lBRUU7SUFDQTtFVGlVSjtBQUNGO0FZcmFFO0VBNFhBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsV0ZoYVU7RUVpYVYsWUZqYVU7RUVrYVY7RUFDQTtFQUNBO0VBQ0E7RUF0TUUsYUFIaUI7QVpzUHJCOztBWXJHRTs7O0VDM1RFO0VBQ0E7RUFDQTtBYnNhSjs7QWNyVUU7RURuR0U7RUFDQTtFQUNBO0FiNGFKOztBY2xTSTtFQUdJLGFBckIwQjtBZHdUbEM7O0FjalFNO0VBZUY7RUFJQSxhQXRFOEI7QWR5VGxDOztBY3ZPSTtFQUVJO0FkeU9SOztBY3BPTTtFQUVJLHlCQ3RSUztFRDJSVCxhQTVGd0I7QWQ4VGxDOztBYzVORTtFQUVJO0FkOE5OOztBY2pXRTs7RURuR0U7RUFDQTtFQUNBO0FieWNKOztBWTNSRTtFQUVJLFNBUmU7RUFTZixVQVRlO0Fac1NyQjs7QVl6UkU7RUFFSTtFQUNBO0VBQ0EsV0FoQ0c7RUFpQ0gsWUFqQ0c7QVo0VFQ7O0FZNUhJO0VBQ0UsUUFKSztFQUtMLFVBTEs7RUFNTCxTQU5LO0VBT0wsV0FwTUc7RUFxTUgsWUFyTUc7QVpvVVQ7O0FZb0hFO0VDMWxCRTtFQUFBO0FiMmVKOztBWStHRTs7O0VDbmxCRTtFQUNBO0VBQ0E7RUFGQTtFQUNBO0VBQ0E7QWI2ZUo7O0FTbGlCRTtFQUNFO0lJMkNBO0lBQUE7RWI0ZkY7RVNsaUJFO0lJNkNBO0lBQ0E7SUFDQTtJQUZBO0lBQ0E7SUFDQTtFYjJmRjtBQUNGO0FTcmlCRTtFQUNFO0lJc0NBO0lBQ0E7SUFDQTtJQUZBO0lBQ0E7SUFDQTtFYnFnQkY7RVN2aUJFO0lJeUJBO0lBQUE7RWJraEJGO0FBQ0Y7QVl0UlE7RUFFSTtBWnVSWjs7QVloUlE7RUFFSTtBWmtSWjs7QVlnRUU7RUMxbEJFO0VBQUE7QWIraEJKOztBWTJERTs7O0VDMWxCRTtFQUFBO0Fic2lCSjs7QVlpTEk7RUN2dEJBO0FiMGlCSjs7QVltTEk7RUM3dEJBO0FiOGlCSjs7QVl5S0k7RUN2dEJBO0Fia2pCSjs7QVkyS0k7RUM3dEJBO0Fic2pCSjs7QVluakJFO0VBdWxCQTtJQzFsQkU7SUFBQTtFYjRqQkY7RVk4QkE7OztJQzFsQkU7SUFBQTtFYmtrQkY7RVlxSkU7SUN2dEJBO0VicWtCRjtFWXdKRTtJQzd0QkE7RWJ3a0JGO0VZM2pCRTtJQUVJO0VaNGpCTjtBQUNGO0FZdmpCRTtFQXlXQTtFQUNBO0FaaU5GOztBWXJqQkU7RUFvaEJFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxXRi9sQlE7RUVnbUJSLFlGaG1CUTtFRWttQlI7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQVVBLHNIQUNFO0FaMEJOOztBWWxDRTtFQ3ZqQkU7RUFDQTtFQUNBO0FiNmxCSjs7QVl2a0JFO0VBMm5CRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUlBO0FabkRKOztBWXNERTtFQUVJO0FacEROOztBWWxsQkU7RUF5c0JFO0VBSUE7RUFDQTtFQUNBLDZCRjF3QmdCO0VFMndCaEIsNEJGM3dCZ0I7QVZxcEJwQjs7QVl0bEJFO0VBMnRCRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFJQSwwR0FDRTtBWnJJTjs7QVkxbEJJOzs7O0VBMFZGO0FadVFGOztBWXpQSTtFQUNFO0VBQ0E7QVo0UE47O0FZdlBJO0VBSUU7RUFDQTtBWnVQTjs7QVlsUEk7RUFDRTtFQUNBO0FacVBOOztBWWhQSTtFQUNFO0VBQ0E7QVptUE47O0FZOU9JO0VBQ0U7RUFDQTtBWmlQTjs7QVk5T0k7RUFDRTtFQUNBO0FaaVBOOztBWTVPSTtFQUNFO0VBQ0E7QVorT047O0FZNU9JO0VBQ0U7RUFDQTtBWitPTjs7QVkxT0k7RUFFRSx5RUFDRTtFQUNGO0FaMk9OOztBWTluQkU7OztFQStnQkEsa0hBQ0U7QVpvSEo7O0FZN25CSTs7O0VBb3JCRjtBWmpERjs7QVkzbkJFO0VBNmhCRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUlBLDBHQUNFO0FaOEZOOztBWWxvQkU7RUE4aUJFO0VBQ0EsYUZycUJzQjtFRXlxQnRCLHNHQUNFO0Fab0ZOOztBWXBvQkU7RUF3akJBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVpnRkY7O0FZdm9CSTtFQXFTRjtFQUNBO0Fac1dGOztBWXJvQkU7RUoxRkUsZUFIc0I7RUFJdEIsa0JBSnNCO0VBV3BCLGlCQUh3QjtFQUl4QixnQkFKd0I7QVJpdUI5Qjs7QVkxWUk7RUFDRSxTQUpLO0VBS0wsV0FMSztFQU1MLFVBTks7RUFPTCxXSTVaRztFSjZaSCxZSTdaRztBaEIweUJUOztBWTNvQkk7RUEwa0JBLHdHQUNFO0VBS0Y7QVpnRUo7O0FZNW9CSTtFQXFxQkY7QVpyQkY7O0FZeG9CSTs7RUE2a0JBO0VBQ0E7RUFJQSwwR0FDRTtBWjRETjs7QVkzb0JJOztFQTZwQkY7RUFDQTtBWmJGOztBaUIxekJFO0VBQ0U7SUFDRSx1RE5QMkI7SU1ZM0I7RWpCeXpCSjtFaUJ0ekJFO0lBQ0U7RWpCd3pCSjtBQUNGO0FpQnJ6QkU7RUFDRTtJQUNFO0lBQ0E7RWpCdXpCSjtFaUJwekJFO0lBQ0U7RWpCc3pCSjtBQUNGO0FpQm56QkU7RUFDRTtJQUNFO0lBQ0E7RWpCcXpCSjtFaUJsekJFO0lBQ0U7RWpCb3pCSjtBQUNGO0FZNXBCRTtFRTdIRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtBZDJ4Qko7O0FjdnhCRTs7RUFHSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FkeXhCTjs7QWNyeEJFO0VBR0ksNkRBQ0U7RUFLRjtBZGl4Qk47O0FjMXdCSTtFQUVJO0FkNHdCUjs7QWN4d0JJO0VBRUk7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBZDB3QlI7O0FjcHdCSTtFQUVJO0VBQ0E7RUFDQTtBZHN3QlI7O0FjaHdCSTtFQUVJLHlGQUNFO0FkaXdCVjs7QWMxdkJJO0VBRUk7RUFLQTtBZHd2QlI7O0FjOXVCRTtFRG5HRTtFQUNBO0VBQ0E7QWJxMUJKOztBYzNzQkk7RUFHSSxhQXJCMEI7QWRpdUJsQzs7QWMxcUJNO0VBZUY7RUFJQSxhQXRFOEI7QWRrdUJsQzs7QWNocEJJO0VBRUk7QWRrcEJSOztBYzdvQk07RUFFSSx5QkN0UlM7RUQyUlQsYUE1RndCO0FkdXVCbEM7O0Fjcm9CRTtFQUVJO0FkdW9CTjs7QWNoaUJFOztFQUdJO0VBQ0E7RUFDQTtFQUNBLFdBVEs7RUFVTCxZQVZLO0FkNGlCWDs7QWM3aEJJOztFQUdJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWQraEJSOztBYzNoQkk7RUFFSTtFQUNBO0FkNmhCUjs7QVkzdkJFO0VFeVFFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFHQTtBZG9mSjs7QVlod0JFO0VBRUk7QVprd0JOOztBa0Ivd0JFO0VBckpNO0VBQ0E7RUFDQTtFQUNBO0VBTUE7RUxHSjtBYmk2Qko7O0FtQmo4QkU7O0VBR0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBbkJtOEJOOztBbUIvN0JFO0VBYUk7RUFDQSxVQ2xDSTtBcEJ3OUJWOztBbUJqckJFO0VOMVBFO0VBQ0E7RUFDQTtBYis2Qko7O0FtQjdxQkU7RUFFSTtBbkIrcUJOOztBbUJ2cUJFO0VBRUk7QW5CeXFCTjs7QW1CanFCRTtFQUVJO0FuQm1xQk47O0FtQnZwQkU7RUFHSTtBbkJ3cEJOOztBbUJ4b0JFO0VBRUksZ0JDOVdNO0FwQncvQlo7O0FtQjNuQlE7RUFOTjtJQU9RLDZCQVRhO0VuQndvQnJCO0FBQ0Y7QW1CNW5CUTtFQVhOO0lBWVEsZ0JDbFlFO0VwQmlnQ1Y7QUFDRjtBbUJubkJFO0VBZU0sNkJBakJlO0FuQnduQnZCOztBbUJqbUJFO0VBSUU7SUFFSTtJQVdBO0VuQnNsQk47QUFDRjtBbUJ6cUJFO0VFNVZFO0FyQndnQ0o7O0FtQnArQkU7RUFFSTtFQUNBO0FuQnMrQk47O0FtQmgrQkU7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBR0E7QW5CZytCTjs7QW1CNTlCRTtFREdFO0VBQ0E7RUFiQTtFQUNBLDhIQW9HVztFQ3RGVDtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7QW5CNjlCTjs7QWtCNTNCRTtFQTVGSSxXQ2xCMkM7RURtQjNDLFlDbkIyQztFRHNCekM7RUFDQTtFQUNBO0FsQjA5QlI7O0FzQjlnQ1E7RUg0Q0E7RUFDQTtBbkJzK0JSOztBbUJqK0JFO0VJS0UsY0pKK0Q7RUl3RDdEO0VBQ0E7RUFDQTtFQTdGRjtFQUNBO0VWcEJBO0VBQ0E7RUFDQTtFQUZBO0VBQ0E7RUFDQTtFQUZBO0VBQ0E7RUFDQTtFQUZBO0VBQ0E7RUFDQTtFQUZBO0VBQ0E7RUFDQTtFQUZBO0VBQ0E7RUFDQTtFQUZBO0VBQ0E7RUFDQTtFTXdERTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QW5CMi9CTjs7QXVCejdCRTtFQTJCQTtFQUNBO0VBQ0EsWUp4R2lEO0VJeUdqRDtFQTFCSTtBdkI2N0JOOztBc0IvakNRO0VIK0RBO0VBQ0E7QW5Cb2dDUjs7QW1COS9CRTtFQUlJO0FuQjgvQk47O0FtQjEvQkU7RUk5REU7RUFDQTtFVnBCQTtFQUNBO0VBQ0E7RUFGQTtFQUNBO0VBQ0E7RUFGQTtFQUNBO0VBQ0E7RUFGQTtFQUNBO0VBQ0E7RUFGQTtFQUNBO0VBQ0E7RUFGQTtFQUNBO0VBQ0E7RUFGQTtFQUNBO0VBQ0E7RU1tRkU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FuQmloQ047O0FtQjdnQ0k7RUFFSTtBbkIrZ0NSOztBbUIxZ0NJO0VBRUk7QW5CNGdDUjs7QW1CdGdDRTtFQUlJO0FuQnNnQ047O0FtQmpnQ0U7RUFJSTtFQUNBO0FuQmlnQ047O0FtQjUvQkU7RUFHSTtBbkI2L0JOOztBbUJ4L0JFO0VBR0k7QW5CeS9CTjs7QW1Cci9CRTtFQUVJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFlDOUxZO0VEK0xaO0FuQnUvQk47O0FtQnAvQkk7RUFFSTtFQUNBO0FuQnMvQlI7O0FtQmovQkU7RUcyQ0U7RUFHRjtFQUhFO0VBR0Y7RUhsQ0k7RUFDQTtFQUNBO0FuQjYrQk47O0FzQnhwQ007RUF3TUY7RUFHRjtFQUhFO0VBR0Y7QXRCbzlCRjs7QW1CNy9CSTtFR3NDQTtFQUdGO0VBSEU7RUFHRjtBdEIyOUJGOztBc0J0cUNNO0VBd01GO0VBR0Y7RUFIRTtFQUdGO0F0QmsrQkY7O0FzQm5yQ1E7RUhvTEE7RUFDQTtBbkJtZ0NSOztBbUIvL0JJO0VBRUk7QW5CaWdDUjs7QW1CNS9CRTs7O0VBSUk7QW5COC9CTjs7QW1Cei9CSTtFQUVJO0FuQjIvQlI7O0FtQnYvQkk7RUFFSTtBbkJ5L0JSOztBbUJuL0JJOztFQUdJO0FuQnEvQlI7O0FtQmovQkk7RUFHSTtBbkJrL0JSOztBbUI1K0JJO0VBRUk7QW5COCtCUjs7QW1CMStCSTtFQUVJO0VBQ0E7QW5CNCtCUjs7QW1CcCtCRTtFQUVJO0FuQnMrQk47O0F3QnZ3Q0U7RUR1REU7RUFDQTtFVnBCQTtFQUNBO0VBQ0E7RUFGQTtFQUNBO0VBQ0E7RUFGQTtFQUNBO0VBQ0E7RUFGQTtFQUNBO0VBQ0E7RUFGQTtFQUNBO0VBQ0E7RUFGQTtFQUNBO0VBQ0E7RVdsQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBR0E7RUFlQSxrR0FDRTtBeEJ5d0NSOztBc0IvdkNNO0VFdkJFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXhCMHhDUjs7QXdCL3dDRTtFQUVJO0F4Qml4Q047O0F3QnR0Q0U7RUFTTTtBeEJpdENSOztBd0J4c0NFO0VBRUk7QXhCMHNDTjs7QXdCdnZDSTtFQUNFO0lBQ0U7RXhCMHZDTjtFd0J2dkNJO0lBQ0U7SUFDQTtFeEJ5dkNOO0V3QnR2Q0k7SUFDRTtJQUNBO0V4Qnd2Q047RXdCcnZDSTtJQUNFO0V4QnV2Q047QUFDRjtBeUJ2MUNFO0VGMERFO0VBQ0E7RVZwQkE7RUFDQTtFQUNBO0VBRkE7RUFDQTtFQUNBO0VBRkE7RUFDQTtFQUNBO0VBRkE7RUFDQTtFQUNBO0VBRkE7RUFDQTtFQUNBO0VBRkE7RUFDQTtFQUNBO0VBRkE7RUFDQTtFQUNBO0VBU0E7RUFDQTtFQUNBO0VZNUNFO0VBQ0E7RUFDQTtBekI0MkNOOztBeUJ4MkNJO0VIME9BO0VBR0Y7RUFIRTtFQUdGO0VBSEU7RUFHRjtFQUhFO0VBR0Y7RUd4T007QXpCKzJDUjs7QXNCbDFDTTtFQXdNRjtFQUdGO0VBSEU7RUFHRjtBdEI4b0NGOztBc0J6MUNNO0VBd01GO0VBR0Y7RUFIRTtFQUdGO0F0QnFwQ0Y7O0F5QnYzQ0k7RUFFSTtFQUNBO0VBQ0E7QXpCeTNDUjs7QXlCbDNDSTtFSG9OQTtFQUdGO0VBSEU7RUFHRjtFQUhFO0VBR0Y7RUFIRTtFQUdGO0VHbE5NO0F6QnkzQ1I7O0FzQmwzQ007RUF3TUY7RUFHRjtFQUhFO0VBR0Y7QXRCOHFDRjs7QXNCejNDTTtFQXdNRjtFQUdGO0VBSEU7RUFHRjtBdEJxckNGOztBeUJsNENFO0VBRUk7QXpCbzRDTjs7QXlCaDRDSTtFQUVJO0F6Qms0Q1I7O0FzQng0Q007RUdVSTtBekJrNENWOztBMEJoNkNFO0VIOEJFO0VBQ0E7RVZwQkE7RUFDQTtFQUNBO0VBRkE7RUFDQTtFQUNBO0VBRkE7RUFDQTtFQUNBO0VBRkE7RUFDQTtFQUNBO0VBRkE7RUFDQTtFQUNBO0VBRkE7RUFDQTtFQUNBO0VBRkE7RUFDQTtFQUNBO0Vhc2FBO0VBQ0E7RUFJQTtFQUNBO0VBQ0E7RWJwYUE7RUFDQTtFQUNBO0FiMDZDSjs7QTBCdGdDSTtFQUNFO0ExQnlnQ047O0EwQnJqQ0U7RUFnQkUsWUF0Qk87QTFCK2pDWDs7QTBCdHJDRTtFYjlQRTtFQUNBO0VBQ0E7QWJ3N0NKOztBMEJsckNFO0ViL1FFO0FicThDSjs7QTBCNXFDRTtFYmxSRTtFQUNBO0VBQ0E7QWJrOENKOztBMEJ4cUNFO0ViNVJFO0VBQ0E7RUFDQTtBYnc4Q0o7O0EwQjVuQ0U7RWI5VUU7RUFDQTtFQUNBO0FiODhDSjs7QTBCeG5DRTtFQUVJLGFDbFprQjtBM0I0Z0R4Qjs7QTBCam5DSTs7O0VibldBO0VBQ0E7RUFDQTtBYjA5Q0o7O0EwQnIrQ0U7RUFFSTtFQUNBO0VBQ0E7QTFCdStDTjs7QTBCbitDRTtFQWdiQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTFCdWpDRjs7QTBCcmpDRTtFQUNFO0ExQndqQ0o7O0EwQngrQ0U7O0ViUEU7RUFDQTtFQUNBO0Fiby9DSjs7QTBCcHVDRTs7RWJsUkU7RUFDQTtFQUNBO0FiMi9DSjs7QTBCaC9DRTtFSnlMRTtFQUdGO0VBSEU7RUFHRjtFSXFRQSxXQS9iMkI7RUFnYzNCLFlBaGMyQjtFQUV2QjtFQUNBO0VBQ0E7RUFDQTtBMUJzL0NOOztBc0JsaERRO0VBOE1KO0VBR0Y7RUFIRTtFQUdGO0F0QncwQ0Y7O0EwQnQvQ0U7RUFFSTtBMUJ3L0NOOztBMEJuL0NFO0VKb0tFO0VBR0Y7RUFIRTtFQUdGO0F0Qm0xQ0Y7O0EwQngvQ0k7RUg1QkE7RUFDQTtFVnBCQTtFQUNBO0VBQ0E7RUFGQTtFQUNBO0VBQ0E7RUFGQTtFQUNBO0VBQ0E7RUFGQTtFQUNBO0VBQ0E7RUFGQTtFQUNBO0VBQ0E7RUFGQTtFQUNBO0VBQ0E7RUFGQTtFQUNBO0VBQ0E7QWIrakRKOztBc0I5akRRO0VBOE1KO0VBR0Y7RUFIRTtFQUdGO0F0Qm8zQ0Y7O0EwQi9nREU7RUg1QkU7RUFDQTtFQUNBO0F2QitpREo7O0EwQi9nREU7RUFFSTtBMUJpaEROOztBMEI3Z0RFO0VIeENFO0VBQ0E7RUFDQTtFQTJCQSxjR2dCWTtFSG9DVjtFQUNBO0VBQ0E7RUFJQTtBdkJ5K0NOOztBdUI1OUNFO0VBMkJBO0VBQ0E7RUFDQSxZR2xMb0M7RUhtTHBDO0VBMUJJO0F2QmcrQ047O0F1Qm45Q0U7RUFVQTtFQUNBO0VBQ0EsWUdqTHNDO0VIa0x0QztFQVRJO0F2QnU5Q047O0EwQjloREk7RUhyQkEsY0F3Q2dEO0VBWTlDO0VBQ0E7RUFDQTtFQUlBO0F2QmlnRE47O0F1QnAvQ0U7RUEyQkE7RUFDQTtFQUNBLFlHaEwwQztFSGlMMUM7RUExQkk7QXZCdy9DTjs7QXVCMytDRTtFQVVBO0VBQ0E7RUFDQSxZR2pMc0M7RUhrTHRDO0VBVEk7QXZCKytDTjs7QTBCNWlERTtFSHRFRTtFQUNBO0VWcEJBO0VBQ0E7RUFDQTtFQUZBO0VBQ0E7RUFDQTtFQUZBO0VBQ0E7RUFDQTtFQUZBO0VBQ0E7RUFDQTtFQUZBO0VBQ0E7RUFDQTtFQUZBO0VBQ0E7RUFDQTtFQUZBO0VBQ0E7RUFDQTtFVTJCQTtFQUNBO0VBQ0E7RUEyQkEsY0dvQ1k7RUhnQlY7RUFDQTtFQUNBO0F2QnNqRE47O0F1QnJpREU7RUEyQkE7RUFDQTtFQUNBLFlHakxzQztFSGtMdEM7RUExQkk7QXZCeWlETjs7QTBCM2tESTtFQUVJO0ExQjZrRFI7O0EwQnRrREU7RUFFSTtBMUJ3a0ROOztBMEJwa0RFO0VKK0ZFO0VBR0Y7RUFIRTtFQUdGO0VJcVFBLFdBclcyQjtFQXNXM0IsWUF0VzJCO0ExQjJrRDdCOztBc0I1ckRRO0VBOE1KO0VBR0Y7RUFIRTtFQUdGO0F0QmsvQ0Y7O0EwQjlrREU7RUFFSTtBMUJnbEROOztBMEI1a0RFO0VKbUZFO0VBR0Y7RUFIRTtFQUdGO0VJcVFBLFdBelYyQjtFQTBWM0IsWUExVjJCO0VBRXZCO0ExQmtsRE47O0FzQmp0RFE7RUE4TUo7RUFHRjtFQUhFO0VBR0Y7QXRCdWdERjs7QTBCcmxERTtFQUVJO0ExQnVsRE47O0EwQm5sREU7RUFFSTtBMUJxbEROOztBMEJqbERFOztFQUdJO0ExQm1sRE47O0EwQi9rREU7RUp3REU7RUFHRjtFQUhFO0VBR0Y7RUlxUUEsV0E5VDJCO0VBK1QzQixZQS9UMkI7QTFCc2xEN0I7O0FzQjl1RFE7RUE4TUo7RUFHRjtFQUhFO0VBR0Y7QXRCb2lERjs7QTBCeGxERTtFQUVJO0ExQjBsRE47O0EwQnBsREU7RUFFSTtFQUNBO0ExQnNsRE47O0EwQmpsREU7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0ExQm1sRE47O0EwQjE3Q0U7RWIzVUU7QWJ5d0RKOztBMEIva0RFO0VBR0k7QTFCZ2xETjs7QTBCNWtERTtFSllFO0VBR0Y7RUFIRTtFQUdGO0VJWEk7QTFCZ2xETjs7QXNCdHhEUTtFQThNSjtFQUdGO0VBSEU7RUFHRjtBdEI0a0RGOztBMEJubERFO0VBRUk7QTFCcWxETjs7QTBCOWtETTtFQUNFO0ExQmlsRFI7O0EwQjVrREU7RUh6TUU7RUFDQTtFVnBCQTtFQUNBO0VBQ0E7RUFGQTtFQUNBO0VBQ0E7RUFGQTtFQUNBO0VBQ0E7RUFGQTtFQUNBO0VBQ0E7RUFGQTtFQUNBO0VBQ0E7RUFGQTtFQUNBO0VBQ0E7RUFGQTtFQUNBO0VBQ0E7RWFrT0U7QTFCK2xETjs7QTBCbGxERTtFWmhPRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtBZHF6REo7O0FjanpERTtFQUdJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWRrekROOztBYzl5REU7RUFHSSw2REFDRTtFQUtGO0FkMHlETjs7QWNueURJO0VBRUk7QWRxeURSOztBY2p5REk7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FkbXlEUjs7QWM3eERJO0VBRUk7RUFDQTtFQUNBO0FkK3hEUjs7QWN6eERJO0VBRUkseUZBQ0U7QWQweERWOztBY254REk7RUFFSTtFQUtBO0FkaXhEUjs7QWN0akRFO0VBR0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBZHVqRE47O0FjbGpESTtFQUVJO0VBQ0E7QWRvakRSOztBY3B4REU7RUQxR0U7QWJrNERKOztBYy91REk7RUFHSSxhQXJCMEI7QWRxd0RsQzs7QWM5c0RNO0VBZUY7RUFJQSxhQXRFOEI7QWRzd0RsQzs7QWNwckRJO0VBRUk7QWRzckRSOztBY2pyRE07RUFFSSx5QkN0UlM7RUQyUlQsYUE1RndCO0FkMndEbEM7O0FjenFERTtFQUVJO0FkMnFETjs7QWM3b0RJO0VBR0ksYUFSYztBZHNwRHRCOztBY2x6REU7RURuR0U7RUFDQTtFQUNBO0FieTVESjs7QWMvd0RJO0VBR0ksYUFyQjBCO0FkcXlEbEM7O0FjOXVETTtFQWVGO0VBSUEsYUF0RThCO0Fkc3lEbEM7O0FjcHRESTtFQUVJO0Fkc3REUjs7QWNqdERNO0VBRUkseUJDdFJTO0VEMlJULGFBNUZ3QjtBZDJ5RGxDOztBY3pzREU7RUFFSTtBZDJzRE47O0FjanBESTtFQUdJLGFBUGE7QWR5cERyQjs7QWNsMURFO0VEbkdFO0VBQ0E7RUFDQTtBYnk3REo7O0FjL3lESTtFQUdJLGFBckIwQjtBZHEwRGxDOztBYzl3RE07RUFlRjtFQUlBLFlBdEU4QjtBZHMwRGxDOztBY3B2REk7RUFFSTtBZHN2RFI7O0FjanZETTtFQUVJLHlCQ3RSUztFRDJSVCxZQTVGd0I7QWQyMERsQzs7QWN6dURFO0VBRUk7QWQydUROOztBMEJ0dURFO0Vack9FO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0FkODhESjs7QWMxOERFO0VBR0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBZDI4RE47O0FjdjhERTtFQUdJLDZEQUNFO0VBS0Y7QWRtOEROOztBYzU3REk7RUFFSTtBZDg3RFI7O0FjMTdESTtFQUVJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWQ0N0RSOztBY3Q3REk7RUFFSTtFQUNBO0VBQ0E7QWR3N0RSOztBY2w3REk7RUFFSSx5RkFDRTtBZG03RFY7O0FjNTZESTtFQUVJO0VBS0E7QWQwNkRSOztBYy9zREU7RUFHSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FkZ3RETjs7QWMzc0RJO0VBRUk7RUFDQTtBZDZzRFI7O0FjNzZERTtFRDFHRTtBYjJoRUo7O0FjbjJETTtFQWVGO0VBSUEsYVkyQzRDO0ExQjB5RGhEOztBNEJwa0VFO0VBS0ksZ0JDakJNO0E3Qm9sRVo7O0EwQmp3REU7RWJuU0U7QWJ3aUVKOztBMEIvd0RFO0VielJFO0FiNGlFSjs7QTRCdmtFSTtFZjJCQTtFSzRCQTtFQUNBO0FsQnFoRUo7O0FrQno2REU7RUE1RkksV1VyRTZDO0VWc0U3QyxZVXRFNkM7RVZ5RTNDO0VBQ0E7RUFDQTtBbEJ1Z0VSOztBNEIva0VJO0VBRUk7QTVCaWxFUjs7QTRCN2tFSTtFQUVJO0E1QitrRVI7O0E0QjNrRUk7RUFFSTtBNUI2a0VSOztBNEJ4a0VJOztFQUdJO0E1QjBrRVI7O0E0Qm5rRUU7RUFFSTtFQUNBO0E1QnFrRU47O0E0QmxrRUk7RU4rTEE7RUFHRjtFQUhFO0VBR0Y7QXRCdTRERjs7QXNCbGxFTTtFQXdNRjtFQUdGO0VBSEU7RUFHRjtBdEI4NERGOztBNEJ6a0VJO0VOd0xBO0VBR0Y7RUFIRTtFQUdGO0VNdkxNO0VBQ0E7RUFFQTtFQUNBO0E1QjRrRVI7O0FzQnBtRU07RUF3TUY7RUFHRjtFQUhFO0VBR0Y7QXRCZzZERjs7QTRCNWtFRTtFQUVJO0E1QjhrRU47O0E4QnpwRUU7RUFpRUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsVUMxRk07RUQ4Rk4sNEVBQ0U7RVo3QkY7RUFDQSwySEFvR1c7RUw5R1g7RUFDQTtFQUNBO0VBRkE7RUFDQTtFQUNBO0VRN0NBO0VDaVBBO0VBR0Y7RUFIRTtFQUdGO0F0Qms4REY7O0E4QmptRUU7RUFFSTtBOUJtbUVOOztBOEI5bEVFO0VBRUk7RUFDQTtFQUNBO0E5QmdtRU47O0E4QjVsRUU7RUFFSTtFQUNBO0VBQ0E7QTlCOGxFTjs7QThCMWxFRTtFQUVJO0VBQ0E7RUFJQTtBOUJ5bEVOOztBc0JucUVNO0VBd01GO0VBR0Y7RUFIRTtFQUdGO0F0Qis5REY7O0E4QnhzRUU7RUFFSTtFQUNBO0E5QjBzRU47O0E4QnRzRUU7RUFFSTtBOUJ3c0VOOztBZ0Mzc0VFO0VBZ1ZFLGFBSFE7RUFsVU47RUFDQTtFQUNBO0VBQ0E7RUFDQSxXQzlDTTtFRCtDTixZQy9DTTtFRGdETjtFQUNBO0VBQ0E7QWhDcXNFTjs7QWdDM3dERTtFbkIxYkU7QWJ5c0VKOztBZ0Mvd0RFO0VuQm5iRTtFQUNBO0VBQ0E7QWJzc0VKOztBZ0NweURFO0VuQnBhRTtFQUNBO0VBQ0E7QWI0c0VKOztBZ0MzeERFOztFbkIxYkU7QWIwdEVKOztBZ0NoeURFOztFbkIxYkU7QWIrdEVKOztBZ0NwekRFOztFbkIzYUU7QWJvdUVKOztBZ0N2K0RFO0VuQnRQRTtFQUNBO0VBQ0E7QWJpdUVKOztBZ0MxNkRFO0VBRUk7RUFDQTtFQUNBLFdBaENHO0VBaUNILFlBakNHO0FoQzY4RFQ7O0FnQy85REU7RUFFSSxRQUpLO0VBS0wsVUFMSztFQU1MLFNBTks7RUFPTCxXQWFHO0VBWkgsWUFZRztBaENxOURUOztBZ0NydkVJO0VBRUk7RUFDQTtFQUNBO0VBQ0EsV0MzREk7RUQ0REosWUM1REk7QWpDbXpFWjs7QWdDcHZFTTtFQUVJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUlBO0FoQ212RVY7O0FnQzl1RUk7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFJQTtBaEM2dUVSOztBZ0N6dUVJO0VBRUk7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFJQSxpSEFDRTtBaEN1dUVWOztBZ0NsdUVJO0VBRUk7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FoQ291RVI7O0FnQ2h1RUk7RXhCekVBLGVBSHNCO0VBSXRCLGtCQUpzQjtFQVdwQixpQkFId0I7RUFJeEIsZ0JBSndCO0FSMnlFOUI7O0FnQ3BpRUU7RUFFSSxTQUpLO0VBS0wsV0FMSztFQU1MLFVBTks7RUFPTCxXaEI3VUc7RWdCOFVILFloQjlVRztBaEJvM0VUOztBZ0NwdUVJOztFQUVJLHdHQUNFO0FoQ3N1RVY7O0FnQ2x1RU07O0VBRUk7QWhDcXVFVjs7QWdDanVFTTs7RUFFSSw2R0FDRTtBaENtdUVaOztBZ0M1dEVFO0VBRUk7RUFDQTtBaEM4dEVOOztBZ0N4dEVNO0VBRUk7RUFJQSw2R0FDRTtBaENzdEVaOztBZ0M3c0VJOztFQUVJO0FoQ2d0RVI7O0FnQzFzRUk7RUFFSTtFQUNBO0VBSUEsd0dBQ0U7QWhDd3NFVjs7QWdDeHJFRTtFbEI3SkU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7QWR3MUVKOztBY3AxRUU7O0VBR0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBZHMxRU47O0FjbDFFRTtFQUdJLDZEQUNFO0VBS0Y7QWQ4MEVOOztBY3YwRUk7RUFFSTtBZHkwRVI7O0FjcjBFSTtFQUVJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWR1MEVSOztBY2owRUk7RUFFSTtFQUNBO0VBQ0E7QWRtMEVSOztBYzd6RUk7RUFFSSx5RkFDRTtBZDh6RVY7O0FjdnpFSTtFQUVJO0VBS0E7QWRxekVSOztBY2prRUU7O0VBR0k7RUFDQTtFQUNBO0VBQ0EsV0FUSztFQVVMLFlBVks7QWQ2a0VYOztBYzlqRUk7O0VBR0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBZGdrRVI7O0FjNWpFSTtFQUVJO0VBQ0E7QWQ4akVSOztBY2wwRUU7RURuR0U7RUFDQTtFQUNBO0FieTZFSjs7QWMveEVJO0VBR0ksYUFyQjBCO0FkcXpFbEM7O0FjOXZFTTtFQWVGO0VBSUEsYUF0RThCO0Fkc3pFbEM7O0FjcHVFSTtFQUVJO0Fkc3VFUjs7QWNqdUVNO0VBRUkseUJDdFJTO0VEMlJULGFBNUZ3QjtBZDJ6RWxDOztBY3p0RUU7RUFFSTtBZDJ0RU47O0FnQ3Z4RU07RUFFSTtBaEN5eEVWOztBZ0NueEVFO0VsQmdPRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBR0E7QWRxakVKOztBa0NoZ0ZFO0VYMERFO0VBQ0E7RVZwQkE7RUFDQTtFQUNBO0VBRkE7RUFDQTtFQUNBO0VBRkE7RUFDQTtFQUNBO0VBRkE7RUFDQTtFQUNBO0VBRkE7RUFDQTtFQUNBO0VBRkE7RUFDQTtFQUNBO0VBRkE7RUFDQTtFQUNBO0VVd0RBLGNBd0NnRDtFQVk5QztFQUNBO0VBQ0E7RVdsSkE7RUFDQTtFQUNBO0VBSUE7QWxDdWhGTjs7QXVCMTNFRTtFQTJCQTtFQUNBO0VBQ0EsWVduTTJDO0VYb00zQztFQTFCSTtBdkI4M0VOOztBa0MzaEZFO0VBRUk7RUFJQTtFQUNBO0FsQzBoRk47O0FtQ25oRkU7RUFFSTtFQUNBO0VBQ0EsV0M3Q007RUQ4Q04sWUM5Q007RUQrQ047RUFDQSxhQy9DUztFRGdEVDtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBSUE7RUFDQTtBbkNraEZOOztBbUNqZ0ZFO0VieUxFO0VBR0Y7RUFIRTtFQUdGO0F0QjQwRUY7O0FzQnZoRk07RUF3TUY7RUFHRjtFQUhFO0VBR0Y7QXRCbTFFRjs7QW1DeGhGRTtFdEJKRTtFQUNBO0VBQ0E7QWJnaUZKOztBbUM1a0ZFOztFQUdJO0VBQ0E7QW5DOGtGTjs7QXdCdmxGRTtFRHVERTtFQUNBO0VWcEJBO0VBQ0E7RUFDQTtFQUZBO0VBQ0E7RUFDQTtFQUZBO0VBQ0E7RUFDQTtFQUZBO0VBQ0E7RUFDQTtFQUZBO0VBQ0E7RUFDQTtFQUZBO0VBQ0E7RUFDQTtFV2xDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFHQTtFQWVBLGtHQUNFO0F4QnlsRlI7O0FzQi9rRk07RUV2QkU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBeEIwbUZSOztBd0IvbEZFO0VBRUk7QXhCaW1GTjs7QXdCdGlGRTtFQVNNO0F4QmlpRlI7O0F3QnhoRkU7RUFFSTtBeEIwaEZOOztBd0J2a0ZJO0VBQ0U7SUFDRTtFeEIwa0ZOO0V3QnZrRkk7SUFDRTtJQUNBO0V4QnlrRk47RXdCdGtGSTtJQUNFO0lBQ0E7RXhCd2tGTjtFd0Jya0ZJO0lBQ0U7RXhCdWtGTjtBQUNGO0FxQ3BxRk07RUFFRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXJDcXFGUjs7QXFDbHFGTTtFQUNFO0VBQ0E7QXJDcXFGUjs7QXFDbHFGTTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0FyQ3FxRlI7O0FxQ2hxRk07RUFDRTtBckNtcUZSOztBcUM5cEZFO0VBRUk7RUFDQTtBckNncUZOOztBcUM1cEZFO0VBRUk7QXJDOHBGTjs7QXNDdHNGRTtFQStPRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXRDMjlFSjs7QXNCdnFGTTtFZ0IrTUE7RUFDQTtBdEM0OUVOOztBc0N2dEZJO0VBSUk7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdEN1dEZSOztBc0NudEZJO0VoQnVPQTtFQUdGO0VBSEU7RUFHRjtFZ0J0T00sV0MxQlE7QXZDaXZGaEI7O0FzQjVyRk07RUF3TUY7RUFHRjtFQUhFO0VBR0Y7QXRCdy9FRjs7QXNDMXRGSTtFaEIrTkE7RUFHRjtFQUhFO0VBR0Y7RWdCOU5NO0F0Qzh0RlI7O0FzQjNzRk07RUF3TUY7RUFHRjtFQUhFO0VBR0Y7QXRCdWdGRjs7QXNDanVGSTtFQUVJO0VBQ0E7RUFDQTtBdENtdUZSOztBc0MvdEZJO0VBRUk7RUFDQTtFQUNBO0F0Q2l1RlI7O0FzQzd0Rkk7RUFFSTtBdEMrdEZSOztBc0MzdEZJO0VBRUk7QXRDNnRGUjs7QXNDdnRGSTtFaEJ5TEE7RUFHRjtFQUhFO0VBR0Y7RWdCeExNO0F0QzJ0RlI7O0FzQjl1Rk07RUF3TUY7RUFHRjtFQUhFO0VBR0Y7QXRCMGlGRjs7QXNDNXRGSTtFQUVJO0F0Qzh0RlI7O0F3Q3BuRkU7RTFCN0hFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0Fkb3ZGSjs7QWNodkZFOztFQUdJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWRrdkZOOztBYzl1RkU7RUFHSSw2REFDRTtFQUtGO0FkMHVGTjs7QWNudUZJO0VBRUk7QWRxdUZSOztBY2p1Rkk7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FkbXVGUjs7QWM3dEZJO0VBRUk7RUFDQTtFQUNBO0FkK3RGUjs7QWN6dEZJO0VBRUkseUZBQ0U7QWQwdEZWOztBY250Rkk7RUFFSTtFQUtBO0FkaXRGUjs7QWN0L0VFOztFQUdJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWR3L0VOOztBY24vRUk7RUFFSTtFQUNBO0FkcS9FUjs7QWNydEZFOztFRDFHRTtBYm8wRko7O0FjanJGSTtFQUdJLGFBckIwQjtBZHVzRmxDOztBY2hwRk07RUFlRjtFQUlBLGFBdEU4QjtBZHdzRmxDOztBd0N0ckZJO0UxQmtRQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBR0E7QWRzN0VKOztBYzV1RkU7RURuR0U7RUFDQTtFQUNBO0FibTFGSjs7QWN6c0ZJO0VBR0ksYUFyQjBCO0FkK3RGbEM7O0FjeHFGTTtFQWVGO0VBSUEsYUF0RThCO0FkZ3VGbEM7O0FjOW9GSTtFQUVJO0FkZ3BGUjs7QWMzb0ZNO0VBRUkseUJDdFJTO0VEMlJULGFBNUZ3QjtBZHF1RmxDOztBY25vRkU7RUFFSTtBZHFvRk47O0F3Q3o0RkU7RUEyQkk7QXhDazNGTjs7QXdDbGtGRTtFM0JwVEU7QWIwM0ZKOztBd0NobEZFO0UzQjFTRTtBYjgzRko7O0F3Q3RyRkU7RTNCeE1FO0FiazRGSjs7QXFDaDNGSTtFeEJsQkE7QWJzNEZKOztBa0NyNEZFO0VyQkRFO0FiMDRGSjs7QXFDbDRGSTtFeEJEQTtFQUNBO0VBQ0E7QWJ1NEZKOztBd0NqdUZJO0UzQi9LQTtBYm81Rko7O0FxQ2w0Rkk7RXhCbEJBO0FidzVGSjs7QXdDM2lGRTtFbEJoS0U7RUFHRjtFQUhFO0VBR0Y7RWtCaUtJO0VBQ0E7RUFDQTtBeEMraUZOOztBc0I3NUZNO0VBd01GO0VBR0Y7RUFIRTtFQUdGO0F0Qnl0RkY7O0F3Q2pqRkk7RWxCM0tBO0VBR0Y7RUFIRTtFQUdGO0F0Qmd1RkY7O0FzQjM2Rk07RUF3TUY7RUFHRjtFQUhFO0VBR0Y7QXRCdXVGRjs7QXdDanRGRTtFbkIxUUU7QXJCKzlGSjs7QXdDNzFFRTtFbEJqWkU7RUFHRjtFQUhFO0VBR0Y7QXRCa3ZGRjs7QXNCNzdGTTtFQXdNRjtFQUdGO0VBSEU7RUFHRjtBdEJ5dkZGOztBd0NqMkVFO0VsQjNaRTtFQUdGO0VBSEU7RUFHRjtBdEJnd0ZGOztBc0IzOEZNO0VBd01GO0VBR0Y7RUFIRTtFQUdGO0F0QnV3RkY7O0F3Q2g5Rkk7RUF5VUE7RWxCbklBO0VBR0Y7RUFIRTtFQUdGO0VrQmxNTTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBSUE7QXhDKzhGUjs7QXNCaCtGTTtFQXdNRjtFQUdGO0VBSEU7RUFHRjtBdEI0eEZGOztBd0NuOUZNO0VBdVRGO0F4Q2dxRko7O0F3Q245Rk07RUFFSTtFQUlBO0F4Q2s5RlY7O0F3QzU4RkU7RUE0bEJFLFlDanJCSztFbEJrR0wsb0JpQm1sQndFO0VqQmhsQnRFO0VpQlhBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F4Qzg4Rk47O0F1QnI0RkU7RUEyQkE7RUFDQTtFQUNBLFlrQnBNb0I7RWxCcU1wQjtFQTFCSTtBdkJ5NEZOOztBd0M5MEVJO0VBQ0U7QXhDaTFFTjs7QXdDOTBFSTtFQUNFO0F4Q2kxRU47O0F3QnI5RkU7RUFTTTtBeEJnOUZSOztBd0M5OUZNO0VBRUk7RUFDQTtBeENnK0ZWOztBd0MzOUVJO0VBRUk7RUFDQTtBeEM2OUVSOztBd0N4OUVFO0VBRUk7QXhDMDlFTjs7QXdDcm5GRTtFakJoYUU7RUFDQTtFVnBCQTtFQUNBO0VBQ0E7RUFGQTtFQUNBO0VBQ0E7RUFGQTtFQUNBO0VBQ0E7RUFGQTtFQUNBO0VBQ0E7RUFGQTtFQUNBO0VBQ0E7RUFGQTtFQUNBO0VBQ0E7RUFGQTtFQUNBO0VBQ0E7RTJCOGJFO0VBQ0E7RUFDQTtFQUNBLFlDeGVpQjtFRHllakI7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFJQTtFQUNBO0F4Q2dvRk47O0F3Q3hwRk07RUFDRTtBeEMycEZSOztBd0N4cEZNO0VBQ0U7RUFDQTtBeEMycEZSOztBd0NoaEdFO0VBNGNFO0F4Q3drRko7O0F3Q3B5RkU7RTNCcFRFO0FiNGxHSjs7QXNDbmpHRTs7O0V6QnpDRTtBYmttR0o7O0FzQ3pqR0U7OztFekJ6Q0U7QWJ3bUdKOztBc0NuakdFOzs7RUFJSSxpQkc5RmtCO0F6Q21wR3hCOztBc0Nya0dFOzs7RXpCbENFO0VBQ0E7RUFDQTtBYjZtR0o7O0FzQzloR0U7RWpCL0hJO0VBR0Y7QXJCK3BHSjs7QXNCdG5HTTtFRHJDRTtFQUNBO0FyQitwR1I7O0FzQ3RoR0U7RWpCakpJO0VBR0Y7QXJCeXFHSjs7QXNCaG9HTTtFRHJDRTtFQUNBO0FyQnlxR1I7O0F3Q2o1RkU7RW5CN1JFO0FyQmtyR0o7O0F3QzExRkU7RTNCcFRFO0Fia3BHSjs7QXdDL25GRTtFQU1JO0F4QzZuRk47O0F3QnZrR0U7RUFFSTtBeEJ5a0dOOztBd0I3bEdFO0VBU007QXhCd2xHUjs7QXNDbmdHRTtFQUVJO0F0Q3FnR047O0F3QnJtR0U7O0VBU007QXhCaW1HUjs7QXNDLy9GSTs7RUFFSTtBdENrZ0dSOztBc0N0bUdFO0VBRUksZ0JDekhTO0F2Q2l1R2Y7O0F3Q25wRkU7RUFFSTtFQUNBO0VBQ0E7RUFJQTtBeENrcEZOOztBd0M5b0ZFO0VBRUk7QXhDZ3BGTjs7QXdDNW9GRTtFQUVJO0VBQ0E7QXhDOG9GTjs7QXNDMW5HRTtFQUVJLGdCRzdHa0I7QXpDeXVHeEI7O0F3QzUvRkU7RTNCak1FO0VBQ0E7RUFDQTtBYmlzR0o7O0FxQ3hyR0k7RXhCWEE7RUFDQTtFQUNBO0FidXNHSjs7QXFDeHNHSTtFeEJEQTtFQUNBO0VBQ0E7QWI2c0dKOztBd0N2aUdJO0UzQi9LQTtBYjB0R0o7O0FrQy9zR0U7RXJCSkU7RUFDQTtFQUNBO0FidXRHSjs7QXFDOXNHSTtFeEJYQTtFQUNBO0VBQ0E7QWI2dEdKOztBc0M3ckdFOzs7RXpCbENFO0VBQ0E7RUFDQTtBYnF1R0o7O0FzQ3JzR0U7OztFekJsQ0U7RUFDQTtFQUNBO0FiNnVHSjs7QXNDanNHRTs7O0VBSUksaUJHOUZrQjtBekNpeUd4Qjs7QXNDbnRHRTs7O0V6QmxDRTtFQUNBO0VBQ0E7QWIydkdKOztBd0M1cUdJO0VBd1BBO0F4Q3c3Rko7O0F3QzNxR0k7RUFFSTtBeEM2cUdSOztBd0N0cUdJO0VBRUk7QXhDd3FHUjs7QXdDbnFHRTtFQWtaRTtFQUNBO0F4Q3F4Rko7O0F3Q2orRkU7RTNCcFRFO0FieXhHSjs7QXdDbjBGRTtFM0J0ZEU7QWI2eEdKOztBd0NuMEZFO0VBMUlFO0F4Q2k5Rko7O0FxQy93R0k7RXhCbEJBO0FicXlHSjs7QXdDcDBGSTtFQUdJO0F4Q3EwRlI7O0F3Q2gwRkU7RTNCemVFO0FiNnlHSjs7QXdDOXpGRTtFM0IvZUU7RTJCcWZFO0F4QzZ6Rk47O0F3QzkvRkU7RTNCcFRFO0Fic3pHSjs7QXNDN3dHRTs7O0V6QnpDRTtBYjR6R0o7O0F3Q3Y3RkU7RWxCeExFO0VBR0Y7RUFIRTtFQUdGO0F0Qm1uR0Y7O0FzQjl6R007RUF3TUY7RUFHRjtFQUhFO0VBR0Y7QXRCMG5HRjs7QXdDOTdGSTtFbEIvTEE7RUFHRjtFQUhFO0VBR0Y7QXRCaW9HRjs7QXNCNTBHTTtFQXdNRjtFQUdGO0VBSEU7RUFHRjtBdEJ3b0dGOztBd0N2OEZNO0VsQnBNRjtFQUdGO0VBSEU7RUFHRjtBdEIrb0dGOztBc0IxMUdNO0VBd01GO0VBR0Y7RUFIRTtFQUdGO0F0QnNwR0Y7O0F3Qnp5R0U7RUFHTTtBeEIweUdSOztBc0JyMkdNO0VFOERJO0F4QjJ5R1Y7O0FzQ250R0U7RUFFSTtBdENxdEdOOztBd0JyekdFOztFQUdNO0F4QnV6R1I7O0FzQmwzR007OztFRThESTtBeEIwekdWOztBc0NydEdJOztFQUVJO0F0Q3d0R1I7O0F3Qm56R0U7RUFFSTtBeEJxekdOOztBd0J2ekdFO0VBRUk7QXhCeXpHTjs7QXdDdCtGRTtFbEJ2TkU7RUFHRjtFQUhFO0VBR0Y7QXRCaXNHRjs7QXNCNTRHTTtFQXdNRjtFQUdGO0VBSEU7RUFHRjtBdEJ3c0dGOztBd0NueUdFO0UzQjlHRTtFQUNBO0VBQ0E7QWJxNUdKOztBd0IxM0dJO0VBQ0U7SUFDRTtFeEI2M0dOO0V3QjEzR0k7SUFDRTtJQUNBO0V4QjQzR047RXdCejNHSTtJQUNFO0lBQ0E7RXhCMjNHTjtFd0J4M0dJO0lBQ0U7RXhCMDNHTjtBQUNGO0F3QjM0R0k7RUFDRTtJQUNFO0V4QjY0R047RXdCMTRHSTtJQUNFO0lBQ0E7RXhCNDRHTjtFd0J6NEdJO0lBQ0U7SUFDQTtFeEIyNEdOO0V3Qng0R0k7SUFDRTtFeEIwNEdOO0FBQ0Y7QTBDOS9HQTtFQUNJO0ExQ2dnSEo7O0EwQzcvR0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RTVCa0VBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0FkODdHSjtBYzE3R0U7RUFHSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FkMDdHTjtBY3Q3R0U7RUFHSSw2REFDRTtFQUtGO0FkaTdHTjtBYzE2R0k7RUFFSTtBZDI2R1I7QWN2NkdJO0VBRUk7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBZHc2R1I7QWNsNkdJO0VBRUk7RUFDQTtFQUNBO0FkbTZHUjtBYzc1R0k7RUFFSSx5RkFDRTtBZDY1R1Y7QWN0NUdJO0VBRUk7RUFLQTtBZG01R1I7QWN4ckdFO0VBR0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBZHdyR047QWNuckdJO0VBRUk7RUFDQTtBZG9yR1I7QWNwNUdFO0VEMUdFO0FiaWdISjtBYzkyR0k7RUFHSSxVQXJCMEI7QWRtNEdsQztBYzUwR007RUFlRjtFQUlBLFVBdEU4QjtBZG00R2xDO0FjanpHSTtFQUVJO0Fka3pHUjtBYzd5R007RUFFSSx5QkN0UlM7RUQyUlQsYUE1RndCO0FkczRHbEM7QWNweUdFO0VBRUk7QWRxeUdOO0EwQ2hrSEk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0ExQ2trSFI7QTBDaGtIUTtFQUNJO0ExQ2trSFo7QTBDN2pIUTtFQUNJO0ExQytqSFo7O0EwQzFqSEE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBMUM2akhKO0EwQzNqSEk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTFDNmpIUjtBMEMzakhJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBMUM2akhSO0EwQzVqSFE7RUFDSTtBMUM4akhaO0EwQzNqSEk7RUFDSTtBMUM2akhSO0EwQzNqSEk7RUFDSTtBMUM2akhSO0EwQzVqSFE7RUFDSTtBMUM4akhaOztBMEMxakhBOztFQUVJO0ExQzZqSEo7O0EwQ3pqSEE7RUFDSTtBMUM0akhKOztBMEN6akhBO0VBQ0k7QTFDNGpISjs7QTBDempIQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0ExQzRqSEo7O0EwQ3pqSEE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBMUM0akhKOztBMEN6akhBO0VBQ0k7QTFDNGpISjtBMEMxakhJO0VBQ0k7RUFDQTtBMUM0akhSO0EwQzFqSEk7RUFDSTtBMUM0akhSOztBMEN2akhBOztFQUVJO0ExQzBqSEo7QTBDeGpISTs7O0VBRUk7QTFDMmpIUjtBMEN6akhJOztFQUNJO0ExQzRqSFI7O0EwQ3ZqSEk7RUFDSSxjQ3hHTTtBM0NrcUhkO0EwQ3hqSEk7RUFDSSxxQkMzR007QTNDcXFIZDs7QTBDdGpISTtFQUNJLGNDaEhNO0EzQ3lxSGQ7QTBDdmpISTtFQUNJLHFCQ25ITTtBM0M0cUhkOztBMENyakhJO0VBQ0ksY0NwS1M7QTNDNHRIakI7QTBDdGpISTtFQUNJLHFCQ3ZLUztBM0MrdEhqQjs7QTBDampIQTtFQUNJO0ExQ29qSEo7O0E0Q3R1SEE7RUFDSTtFQUNBO0VBQ0E7QTVDeXVISjtBNEN2dUhJO0VBTEo7SUFNUTtFNUMwdUhOO0FBQ0Y7QTRDeHVISTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBNUMwdUhSO0E0Q3h1SFE7RUFqQko7SUFrQlE7RTVDMnVIVjtBQUNGO0E0Q3p1SFE7RUFDSTtBNUMydUhaO0E0Q3Z1SEk7RUFDSTtFQUNBO0E1Q3l1SFI7QTRDdnVIUTtFQUNJO0E1Q3l1SFo7QTRDdHVIUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E1Q3d1SFo7QTRDdHVIWTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxzQkR6Q0E7QTNDaXhIaEI7QTRDcnVIWTtFQUNJO0VBQ0E7RUFDQTtBNUN1dUhoQjtBNENwdUhZO0VBQ0k7RUFDQTtFQUNBO0E1Q3N1SGhCO0E0Q2x1SFE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBNUNvdUhaO0E0Q2p1SFE7RUFDSTtFQUNBO0VBQ0E7QTVDbXVIWjtBNENodUhRO0VBQ0k7RUFDQTtFQUNBO0E1Q2t1SFo7O0E2Qy96SEE7RUFDSTtBN0NrMEhKO0E2Q2gwSEk7RUFDSTtBN0NrMEhSO0E2Q2gwSFE7RUFISjtJQUlRO0U3Q20wSFY7QUFDRjtBNkNoMEhJO0VBQ0k7QTdDazBIUjtBNkMvekhJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E3Q2kwSFI7QTZDL3pIUTtFQUNJO0E3Q2kwSFo7QTZDOXpIUTtFQUNJO0E3Q2cwSFo7O0E4Q3IySEE7RUFDSTtFQUNBO0E5Q3cySEo7O0E4Q3IySEE7RUFDSTtFQUNBO0VBQ0E7QTlDdzJISjtBOEN0MkhJO0VBQ0k7RUFDQSxzQkhLUTtBM0NtMkhoQjtBOENyMkhJO0VBQ0k7RUFDQTtFQUNBO0VBQ0EseUJIYVk7RUdaWjtBOUN1MkhSO0E4Q24ySFE7RUFDSTtFQUNBO0VBQ0E7QTlDcTJIWjs7QThDLzFISTtFQUNJO0VBQ0E7QTlDazJIUjs7QThDOTFIQTtFQUNJO0E5Q2kySEo7O0E4QzkxSEE7RUFDSTtFQUNBO0E5Q2kySEo7O0E4QzcxSEk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTlDZzJIUjtBOEM5MUhRO0VBUko7SUFTUTtJQUNBO0U5Q2kySFY7QUFDRjs7QStDNzVIQTtFQUNJO0EvQ2c2SEo7QStDOTVISTtFQUhKO0lBSVE7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQSxpQko2RGdCO0lJNURoQjtFL0NpNkhOO0FBQ0Y7QStDLzVISTtFQWZKO0lBZ0JRO0UvQ2s2SE47QUFDRjtBK0NoNkhJO0VBbkJKO0lBb0JRO0UvQ202SE47QUFDRjtBK0NoNkhRO0VBREo7SUFFUTtFL0NtNkhWO0FBQ0Y7QStDbDZIUTtFQUpKO0lBS1E7RS9DcTZIVjtBQUNGO0ErQ242SFE7RUFSSjtJQVNRO0UvQ3M2SFY7QUFDRjtBK0NsNkhRO0VBREo7SUFFUTtFL0NxNkhWO0FBQ0Y7QStDcDZIUTtFQUpKO0lBS1E7RS9DdTZIVjtBQUNGO0ErQ3I2SFE7RUFSSjtJQVNRO0UvQ3c2SFY7QUFDRjtBK0NwNkhRO0VBREo7SUFFUTtFL0N1NkhWO0FBQ0Y7QStDcjZIUTtFQUxKO0lBTVE7RS9DdzZIVjtBQUNGO0ErQ3Q2SFE7RUFUSjtJQVVRO0UvQ3k2SFY7QUFDRjtBK0NyNkhRO0VBREo7SUFFUTtFL0N3NkhWO0FBQ0Y7QStDdDZIUTtFQUxKO0lBTVE7SUFDQTtFL0N5NkhWO0FBQ0Y7QStDdjZIUTtFQVZKO0lBV1E7SUFDQSxpQkpIWTtFM0M2Nkh0QjtBQUNGO0ErQ3Y2SEk7RUFDSTtFQUNBO0EvQ3k2SFI7QStDdDZISTtFQUNJO0VBRUE7RUFDQTtFQUNBO0EvQ3U2SFI7QStDcjZIUTtFQUNJO0VBQ0E7QS9DdTZIWjtBK0NwNkhRO0VBQ0k7QS9DczZIWjtBK0NwNkhZO0VBQ0ksY0pqR0M7QTNDdWdJakI7QStDbjZIWTtFQUNJO0EvQ3E2SGhCO0ErQ2g2SEk7RUFDSSxjSmpGUTtBM0NtL0hoQjtBK0NoNkhRO0VBRUk7QS9DaTZIWjs7QWdEbmhJQTtFQUNJO0VBQ0E7QWhEc2hJSjtBZ0RuaElJO0VBTEo7SUFNUTtFaERzaElOO0FBQ0Y7QWdEcGhJSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FoRHNoSVI7QWdEcGhJUTtFQVRKO0lBVVE7SUFDQTtJQUNBO0VoRHVoSVY7QUFDRjs7QWlEN2lJQTtFQUNJO0VBQ0E7RUFDQTtBakRnaklKOztBa0RuaklBO0VBQ0k7RUFDQTtFQUNBO0FsRHNqSUo7QWtEcGpJSTtFQUxKO0lBTVE7RWxEdWpJTjtBQUNGO0FrRHJqSUk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBbER1aklSO0FrRHJqSVE7RUFOSjtJQU9RO0VsRHdqSVY7QUFDRjtBa0RyaklJO0VBQ0k7QWxEdWpJUjtBa0RyaklRO0VBSEo7SUFJUTtFbER3aklWO0FBQ0Y7O0FtRGpsSUE7RUFDSTtFQUNBO0FuRG9sSUo7QW1EbGxJSTtFQUpKO0lBS1E7SUFDQTtFbkRxbElOO0FBQ0Y7QW1EbmxJSTtFQVRKO0lBVVE7SUFDQTtJQUNBO0lBQ0E7RW5Ec2xJTjtBQUNGO0FtRHBsSUk7RUFoQko7SUFpQlE7RW5EdWxJTjtBQUNGO0FtRHBsSVE7RUFESjtJQUVRO0VuRHVsSVY7QUFDRjtBbURybElRO0VBTEo7SUFNUTtFbkR3bElWO0FBQ0Y7QW1EdGxJUTtFQVRKO0lBVVE7RW5EeWxJVjtBQUNGO0FtRHRsSUk7RUFDSTtBbkR3bElSO0FtRHJsSUk7RUFDSTtFQUNBO0FuRHVsSVI7QW1EcmxJUTtFQUpKO0lBS1E7SUFDQTtJQUNBO0VuRHdsSVY7QUFDRjtBbUR0bElRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQSx5QlJyQlE7RVFzQlI7RUFDQTtBbkR3bElaO0FtRHRsSVk7RUFUSjtJQVVRO0lBQ0E7RW5EeWxJZDtBQUNGO0FtRHJsSVk7RUFESjtJQUVRO0lBQ0E7SUFDQTtFbkR3bElkO0FBQ0Y7QW1EcmxJUTtFQUNJO0FuRHVsSVo7QW1EbmxJSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FuRHFsSVI7QW1EbmxJUTtFQU5KO0lBT1E7SUFDQTtJQUNBO0VuRHNsSVY7QUFDRjtBbURwbElRO0VBWko7SUFhUTtJQUNBO0VuRHVsSVY7QUFDRjtBbURwbElZO0VBREo7SUFFUTtFbkR1bElkO0FBQ0Y7QW1EbmxJSTtFQUNJO0VBQ0E7QW5EcWxJUjtBbURubElRO0VBSko7SUFLUTtJQUNBO0lBQ0E7RW5Ec2xJVjtBQUNGO0FtRHBsSVE7RUFWSjtJQVdRO0lBQ0E7RW5EdWxJVjtBQUNGO0FtRHJsSVE7RUFDSTtBbkR1bElaO0FtRHJsSVk7RUFISjtJQUlRO0VuRHdsSWQ7QUFDRjtBbURybElRO0VBQ0k7RUFDQTtBbkR1bElaO0FtRHJsSVk7RUFDSTtFQUNBO0VBQ0E7QW5EdWxJaEI7QW1EcmxJZ0I7RUFMSjtJQU1RO0lBQ0E7RW5Ed2xJbEI7QUFDRjtBbUR0bElnQjtFQVZKO0lBV1E7RW5EeWxJbEI7QUFDRjtBbURybElRO0VBQ0k7QW5EdWxJWjtBbURybElZO0VBSEo7SUFJUTtJQUNBO0lBQ0E7RW5Ed2xJZDtBQUNGO0FtRHJsSVE7RUFDSTtBbkR1bElaO0FtRHJsSVk7RUFISjtJQUlRO0VuRHdsSWQ7QUFDRjtBbUR0bElZO0VBUEo7SUFRUTtFbkR5bElkO0FBQ0Y7QW1EdmxJWTtFQUNJO0VBQ0E7QW5EeWxJaEI7QW1EdmxJZ0I7RUFKSjtJQUtRO0lBQ0E7RW5EMGxJbEI7QUFDRjtBbUR0bElRO0VBQ0k7RUFDQTtBbkR3bElaO0FtRHRsSVk7RUFKSjtJQUtRO0lBQ0E7RW5EeWxJZDtBQUNGO0FtRG5sSVk7RUFESjtJQUVRO0lBQ0E7RW5Ec2xJZDtBQUNGO0FtRGxsSUk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBbkRvbElSO0FtRGxsSVE7RUFOSjtJQU9RO0lBQ0E7SUFDQTtJQUNBO0VuRHFsSVY7QUFDRjtBbURubElRO0VBQ0k7QW5EcWxJWjtBbURubElZO0VBSEo7SUFJUTtFbkRzbElkO0FBQ0Y7QW1EbGxJSTtFQUNJO0VBQ0E7QW5Eb2xJUjtBbURqbElJO0VBQ0k7RUFDQTtFQUNBLFdSaE5RO0VRaU5SLHlCUi9OUztFUWdPVDtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QW5EbWxJUjtBbURqbElRO0VBWko7SUFhUTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0VuRG9sSVY7QUFDRjtBbURsbElRO0VBQ0ksV1JsT0k7RVFtT0oseUJSak9TO0EzQ3F6SXJCO0FtRGhsSVk7RUFDSSxXUnhPQTtFUXlPQSx5QlJ2T0s7QTNDeXpJckI7QW1EN2tJSTtFQUNJO0VBQ0E7RUFDQSxjUnJPUTtFUXNPUjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FuRCtrSVI7QW1EN2tJUTtFQWJKO0lBY1E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFbkRnbElWO0FBQ0Y7QW1EN2tJSTtFQUNJO0FuRCtrSVI7QW1EN2tJUTtFQUhKO0lBSVE7RW5EZ2xJVjtBQUNGO0FtRDdrSUk7RUFDSTtBbkQra0lSO0FtRDVrSUk7RUFDSTtBbkQ4a0lSO0FtRDVrSVE7RUFISjtJQUlRO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFbkQra0lWO0FBQ0Y7QW1ENWtJSTtFQUNJO0VBQ0E7RUFDQTtBbkQ4a0lSO0FtRDVrSVE7RUFMSjtJQU1RO0lBQ0E7SUFDQTtFbkQra0lWO0FBQ0Y7QW1ENWtJSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUdBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FuRDRrSVI7QW9EN3NJRTtFdkM1SEU7QWI0MElKO0FvRGxwSUU7RXZDMUxFO0FiKzBJSjtBbURobElRO0VBakJKO0lBa0JRO0lBQ0E7RW5EbWxJVjtBQUNGO0FtRGhsSVk7RUFESjtJQUVRO0lBQ0E7SUFDQTtFbkRtbElkO0FBQ0Y7QW1EL2tJWTtFQURKO0lBRVE7RW5Ea2xJZDtBQUNGO0FtRGhsSVk7O0VBRUk7QW5Ea2xJaEI7QW1EOWtJUTtFQUNJO0FuRGdsSVo7QW1ENWtJWTtFQUVJLHlCUjdVQTtBM0MwNUloQjtBbUR6a0lRO0VBQ0k7QW5EMmtJWjtBbUR2a0lZOztFQUVJO0FuRHlrSWhCO0FtRHZrSWdCOztFQUNJO0FuRDBrSXBCO0FtRHBrSVk7RUFDSTtBbkRza0loQjtBbURua0lZO0VBQ0ksY1J0V0E7RVF1V0E7RUFDQTtBbkRxa0loQjtBbURua0lnQjtFQUxKO0lBTVE7RW5Ec2tJbEI7QUFDRjtBbURsa0lnQjtFQURKO0lBRVE7RW5EcWtJbEI7QUFDRjtBbURoa0lZO0VBREo7SUFFUTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQSx5QlIzWkM7SVE0WkQ7RW5EbWtJZDtBQUNGO0FtRC9qSUk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FuRGlrSVI7QW1EL2pJUTtFQUNJLHFCUnZYVztFUXdYWCx5QlJ4WFc7RVF5WFgsV1J0YUk7QTNDdStJaEI7QW1EN2pJSTtFQUNJO0VBQ0E7QW5EK2pJUjtBbUQ3aklRO0VBQ0k7RUFDQTtFQUNBO0FuRCtqSVo7QW1EM2pJSTtFQUNJO0VBQ0E7RUFDQTtFQUNBLHNCUnpiUTtFUTBiUjtFQUNBO0FuRDZqSVI7QW1EM2pJUTtFQVJKO0lBU1E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFbkQ4aklWO0FBQ0Y7QW1EM2pJSTtFQUNJO0VBQ0E7RUFDQTtBbkQ2aklSO0FtRDNqSVE7RUFMSjtJQU1RO0VuRDhqSVY7QUFDRjtBbUQ1aklRO0VBQ0kseUJSamVLO0VRa2VMO0VBQ0E7RUFDQTtBbkQ4aklaO0FtRDNqSVE7RUFDSSxXUjFkSTtFUTJkSjtBbkQ2aklaO0FtRDNqSVk7RUFDSSx5QlJqYk87QTNDOCtJdkI7QW1EempJUTtFQUNJO0FuRDJqSVo7QW1EdmpJSTtFQUNJO0VBQ0EsY1I3ZFE7RVE4ZFI7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBbkR5aklSO0FtRHZqSVE7RUFUSjtJQVVRO0lBQ0E7SUFDQTtFbkQwaklWO0FBQ0Y7QW1EeGpJUTtFQUNJO0FuRDBqSVo7O0FxRGxrSkE7RUFDSTtFQUNBLGNWMkJZO0VVMUJaO0VBQ0E7RUFDQTtBckRxa0pKO0FxRG5rSkk7RUFQSjtJQVFRO0lBQ0E7RXJEc2tKTjtBQUNGO0FxRHBrSkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBckRza0pSO0FxRG5rSkk7RUFDSTtBckRxa0pSO0FxRGxrSkk7RUFDSTtBckRva0pSO0FxRGprSkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FyRG1rSlI7QXFEamtKUTtFQVZKO0lBV1E7SUFDQTtJQUNBO0VyRG9rSlY7QUFDRjtBcURsa0pRO0VBQ0k7QXJEb2tKWjtBcURsa0pZO0VBQ0k7QXJEb2tKaEI7QXFEaGtKUTtFQUNJO0FyRGtrSlo7QXFEaGtKWTtFQUNJO0FyRGtrSmhCO0FxRDlqSlE7RUFDSTtBckRna0paO0FxRDlqSlk7RUFDSTtBckRna0poQjtBcUQ1akpRO0VBQ0k7QXJEOGpKWjtBcUQ1akpZO0VBQ0k7QXJEOGpKaEI7QXFEempKSTtFQUNJO0VBQ0E7RUFDQTtBckQyakpSO0FxRHpqSlE7RUFMSjtJQU1RO0lBQ0E7RXJENGpKVjtBQUNGOztBcUR4akpBO0VBQ0k7QXJEMmpKSjtBcUR6akpJO0VBSEo7SUFJUTtFckQ0akpOO0FBQ0Y7O0FzRDNvSkk7RUFDSTtFQUNBO0F0RDhvSlI7QXNEMW9KUTtFQUNJO0VBQ0E7RUFDQTtBdEQ0b0paO0FzRDFvSlk7RUFDSTtFQUNBO0F0RDRvSmhCO0FzRDFvSmdCO0VBQ0k7QXRENG9KcEI7QXNEdG9KSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdER3b0pSO0FzRHRvSlE7RUFSSjtJQVNRO0V0RHlvSlY7QUFDRjtBc0R2b0pRO0VBWko7SUFhUTtFdEQwb0pWO0FBQ0Y7QXNEeG9KUTtFQUNJO0VBQ0E7RUFDQTtBdEQwb0paO0FzRHJvSlE7OztFQUdJO0F0RHVvSlo7QXNEcG9KUTtFQUNJO0F0RHNvSlo7QXNEaG9KWTtFQUNJO0VBQ0E7QXREa29KaEI7QXNEN25KSTtFQUNJO0VBQ0E7RUFDQTtBdEQrbkpSO0FZNWlJRTtFQzFsQkU7RUFBQTtBYjBvSko7QVloaklFOzs7RUMxbEJFO0VBQUE7QWJncEpKO0FTNXJKRTtFQUNFO0lJMkNBO0lBQUE7RWJxcEpGO0VTM3JKRTtJSXNDQTtJQUFBO0VieXBKRjtBQUNGO0FTMXJKRTtFQUNFO0lJK0JBO0lBQUE7RWIrcEpGO0VTeHJKRTtJSXlCQTtJQUFBO0VibXFKRjtBQUNGO0FZdjZJUTtFQUVJO0FadzZJWjtBWWo2SVE7RUFFSTtBWms2SVo7QVluOUhJO0VDdnRCQTtBYjZxSko7QVloOUhJO0VDN3RCQTtBYmdySko7QVk5MklFOzs7RUNsVUU7QWJxckpKO0FjM2tKRTtFRDFHRTtBYndySko7QWNyaUpJO0VBR0ksYUFyQjBCO0FkMGpKbEM7QWNuZ0pNO0VBZUY7RUFJQSxhQXRFOEI7QWQwakpsQztBY3grSUk7RUFFSTtBZHkrSVI7QWNwK0lNO0VBRUkseUJDdFJTO0VEMlJULGFBNUZ3QjtBZDZqSmxDO0FjMzlJRTtFQUVJO0FkNDlJTjtBYy9sSkU7O0VEMUdFO0FiNnNKSjtBc0Roc0pRO0VBQ0k7RUFDQTtFQUNBO0F0RGtzSlo7QXNEaHNKWTtFQUNJLHlCWDVGQztFVzZGRDtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F0RGtzSmhCO0FzRC9ySlk7RUFDSSx5QlhyR0M7RVdzR0Q7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdERpc0poQjtBc0QzckpnQjtFQUNJO0VBQ0EseUJYbEhIO0EzQyt5SmpCO0FzRDFySmdCO0VBQ0kseUJYdEhIO0EzQ2t6SmpCO0FzRHJySkk7RUFDSTtFQUNBO0F0RHVySlI7QWdDbnpJRTtFbkIxYkU7QWJndkpKO0FnQ3R6SUU7RW5CMWJFO0FibXZKSjtBZ0N4MElFO0VuQjNhRTtBYnN2Sko7QWdDei9JRTtFbkI3UEU7QWJ5dkpKO0FzRDFySlE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBdEQ0ckpaO0FzRDFySlk7RUFOSjtJQU9RO0V0RDZySmQ7QUFDRjtBc0QzckpZO0VBVko7SUFXUTtFdEQ4ckpkO0FBQ0Y7QXNEM3JKUTtFQUNJO0VBQ0E7RUFDQTtBdEQ2ckpaO0FzRDNySlk7RUFDSSx5Qlg3SkM7RVc4SkQ7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdEQ2ckpoQjtBc0QxckpZO0VBQ0kseUJYdEtDO0VXdUtEO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXRENHJKaEI7QXNEdHJKZ0I7RUFDSSx5QlhsTEg7RVdtTEc7QXREd3JKcEI7QXNEanJKSTtFQUNJO0VBQ0E7QXREbXJKUjtBc0Q5cUpZO0VBQ0k7QXREZ3JKaEI7QXNEOXFKZ0I7RUFISjtJQUlRO0V0RGlySmxCO0FBQ0Y7QXNEL3FKZ0I7RUFQSjtJQVFRO0lBQ0E7RXREa3JKbEI7QUFDRjtBc0Q3cUpJO0VBQ0k7QXREK3FKUjtBc0Q1cUpJO0VBQ0ksY1g3TFk7QTNDMjJKcEI7QXNEM3FKSTtFQUNJO0F0RDZxSlI7QXNEM3FKUTtFQUNJO0F0RDZxSlo7QXNEdHFKZ0I7RUFDSTtBdER3cUpwQjtBc0RwcUpvQjtFQUNJLGNYak5KO0EzQ3UzSnBCO0FzRDVwSlE7RUFDSTtBdEQ4cEpaO0FzRDVwSlk7RUFISjtJQUlRO0V0RCtwSmQ7QUFDRjtBc0QzcEpZO0VBQ0k7QXRENnBKaEI7QXNEMXBKWTtFQUNJLGNYak5FO0EzQzYySmxCO0FzRHRwSmdCO0VBQ0k7QXREd3BKcEI7QXNEcHBKWTtFQUNJLGNYN05FO0EzQ20zSmxCO0FzRGxwSlE7Ozs7O0VBR0k7QXREc3BKWjtBc0RscEpRO0VBQ0k7QXREb3BKWjtBc0RscEpZO0VBQ0k7QXREb3BKaEI7QXNEaHBKUTtFQUNJLGNYalBNO0EzQ200SmxCO0FzRGhwSlk7RUFDSSxjWHBQRTtBM0NzNEpsQjtBc0Qvb0pZO0VBQ0ksY1h4UEU7RVd5UEY7QXREaXBKaEI7QXNEN29KUTtFQUNJLGNYOVBNO0EzQzY0SmxCO0FzRDdvSlk7RUFDSSxjWGpRRTtBM0NnNUpsQjtBc0Q1b0pZO0VBQ0ksY1hyUUU7RVdzUUY7QXREOG9KaEI7QXNEem9KWTtFQUNJO0VBQ0E7QXREMm9KaEI7QXNEdG9KZ0I7RUFDSTtBdER3b0pwQjtBc0Rwb0pZOzs7OztFQUdJO0F0RHdvSmhCO0FzRHJvSlk7RUFDSTtBdER1b0poQjtBc0Rwb0pZO0VBQ0k7QXREc29KaEI7QXNEam9KWTtFQUNJO0VBQ0E7QXREbW9KaEI7QXNEL25KZ0I7RUFDSTtBdERpb0pwQjtBc0QzbkpZO0VBQ0ksY1hyVEU7QTNDazdKbEI7QXNEM25KZ0I7RUFDSSxjWHhURjtBM0NxN0psQjtBc0QxbkpnQjtFQUNJLGNYNVRGO0VXNlRFO0F0RDRuSnBCO0FzRHhuSlk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXREMG5KaEI7QXNEeG5KZ0I7RUFYSjtJQVlRO0V0RDJuSmxCO0FBQ0Y7QXNEeG5KWTtFQUNJO0VBQ0E7QXREMG5KaEI7QXNEcG5KUTs7O0VBR0k7RUFDQTtBdERzbkpaO0FzRHBuSlk7OztFQUNJO0F0RHduSmhCO0FzRHBuSlE7RUFDSTtBdERzbkpaO0FzRHBuSlk7RUFDSTtBdERzbkpoQjtBc0RqbkpZO0VBQ0k7RUFDQTtBdERtbkpoQjtBc0Q5bUpnQjtFQUNJO0F0RGduSnBCO0FzRDVtSlk7OztFQUdJO0F0RDhtSmhCO0FzRDNtSlk7RUFDSTtBdEQ2bUpoQjtBc0QxbUpZO0VBQ0k7QXRENG1KaEI7QXNEdm1KWTtFQUNJO0VBQ0E7QXREeW1KaEI7QXNEbm1KUTs7O0VBR0k7RUFDQTtBdERxbUpaO0FzRG5tSlk7OztFQUNJO0F0RHVtSmhCO0FzRG5tSlE7RUFDSTtBdERxbUpaO0FzRG5tSlk7RUFDSTtBdERxbUpoQjtBc0RobUpZO0VBQ0k7RUFDQTtBdERrbUpoQjtBc0Q3bEpnQjtFQUNJO0F0RCtsSnBCO0FzRDNsSlk7OztFQUdJO0F0RDZsSmhCO0FzRDFsSlk7RUFDSTtBdEQ0bEpoQjtBc0R6bEpZO0VBQ0k7QXREMmxKaEI7QXNEdGxKSTtFQUNJO0VBQ0E7QXREd2xKUjtBc0R0bEpRO0VBQ0k7RUFDQSxjWHRkUTtFV3VkUjtFQUNBO0VBQ0E7RUFDQTtBdER3bEpaO0FzRHRsSlk7RUFSSjtJQVNRO0V0RHlsSmQ7QUFDRjtBc0R2bEpZO0VBWko7SUFhUTtJQUNBO0V0RDBsSmQ7QUFDRjtBc0R4bEpZO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QXREMGxKaEI7QXNEeGxKZ0I7RUFOSjtJQU9RO0V0RDJsSmxCO0FBQ0Y7QXNEemxKZ0I7RUFDSTtBdEQybEpwQjtBc0R6bEpvQjtFQUNJO0F0RDJsSnhCO0FzRHhsSm9CO0VBQ0k7RUFDQTtBdEQwbEp4QjtBc0RwbEpRO0VBQ0k7RUFDQTtBdERzbEpaO0FzRHBsSlk7RUFKSjtJQUtRO0lBQ0E7RXREdWxKZDtBQUNGO0FzRHJsSlk7RUFUSjtJQVVRO0lBQ0E7RXREd2xKZDtBQUNGO0FzRHJsSmdCO0VBRUk7RUFDQSxjWDVnQkQ7QTNDa21LbkI7QXNEaGxKSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0F0RGtsSlI7QXNEaGxKUTtFQU5KO0lBT1E7SUFDQTtJQUNBO0V0RG1sSlY7QUFDRjtBc0Qva0pRO0VBREo7SUFFUTtFdERrbEpWO0FBQ0Y7QXNEL2tKSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0F0RGlsSlI7QXNEOWtKSTtFQUNJO0VBQ0E7QXREZ2xKUjtBc0Q3a0pJO0VBQ0k7RUFDQTtFQUNBO0F0RCtrSlI7QXNENWtKSTtFQUNJO0VBQ0E7RUFDQTtBdEQ4a0pSO0FzRDVrSlE7RUFMSjtJQU1RO0V0RCtrSlY7QUFDRjtBc0Q3a0pRO0VBQ0k7QXREK2tKWjtBc0Q1a0pRO0VBQ0k7QXREOGtKWjtBc0Qza0pRO0VBQ0k7QXRENmtKWjtBc0Qxa0pRO0VBQ0k7RUFDQTtBdEQ0a0paO0FzRDFrSlk7RUFKSjtJQUtRO0lBQ0E7RXRENmtKZDtBQUNGO0FzRDNrSlk7RUFDSTtBdEQ2a0poQjtBc0R6a0pRO0VBQ0k7RUFDQTtBdEQya0paO0FzRHZrSlk7RUFESjtJQUVRO0lBQ0E7RXREMGtKZDtBQUNGO0FzRHZrSmdCO0VBREo7SUFFUTtFdEQwa0psQjtBQUNGO0FzRHJrSlk7RUFESjtJQUVRO0lBQ0E7RXREd2tKZDtBQUNGO0FzRHJrSlE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F0RHVrSlo7QXNEcmtKWTtFQVZKO0lBV1E7SUFDQTtFdER3a0pkO0FBQ0Y7QXNEcGtKSTtFQUNJO0VBQ0E7QXREc2tKUjtBc0Rwa0pRO0VBSko7SUFLUTtJQUNBO0V0RHVrSlY7QUFDRjtBc0Rwa0pJOztFQUVJO0VBQ0E7QXREc2tKUjtBc0Rwa0pROztFQUNJO0F0RHVrSlo7QXNEcGtKUTtFQVRKOztJQVVRO0V0RHdrSlY7RXNEdGtKVTs7SUFDSTtFdER5a0pkO0FBQ0Y7QXNEcGtKSTs7RUFFSTtFQUNBO0F0RHNrSlI7QXNEcGtKUTs7RUFDSTtBdER1a0paO0FzRHBrSlE7RUFUSjs7SUFVUTtJQUNBO0V0RHdrSlY7RXNEdGtKVTs7SUFDSTtFdER5a0pkO0FBQ0Y7QXNEcmtKSTtFQUNJO0VBQ0E7QXREdWtKUjtBc0Rya0pRO0VBQ0k7QXREdWtKWjtBc0Rwa0pRO0VBUko7SUFTUTtJQUNBO0V0RHVrSlY7RXNEcmtKVTtJQUNJO0V0RHVrSmQ7QUFDRjtBc0Rqa0pJOztFQUVJO0F0RG1rSlI7QXNEamtKUTs7RUFDSTtBdERva0paO0FzRGprSlE7RUFSSjs7SUFTUTtFdERxa0pWO0VzRG5rSlU7O0lBQ0k7RXREc2tKZDtBQUNGO0FzRGxrSkk7RUFDSTtBdERva0pSO0FzRGxrSlE7RUFDSTtBdERva0paO0FzRGprSlE7RUFQSjtJQVFRO0V0RG9rSlY7RXNEbGtKVTtJQUNJO0V0RG9rSmQ7QUFDRjtBc0Q5akpJOzs7O0VBSUk7QXREZ2tKUjtBc0Q1akpROzs7RUFHSSxxQlhud0JRO0EzQ2kwS3BCO0FzRHpqSlE7OztFQUdJLHFCWDN3QlE7QTNDczBLcEI7QXNEdGpKUTs7O0VBR0kscUJYbnhCUTtBM0MyMEtwQjtBc0RuakpROzs7RUFHSSxxQlgzeEJRO0EzQ2cxS3BCO0FzRGhqSlE7OztFQUdJLHFCWG55QlE7QTNDcTFLcEI7QXNEN2lKUTs7O0VBR0kscUJYM3lCUTtBM0MwMUtwQjtBc0QzaUpJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsY1g5eEJVO0VXK3hCVjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0Esc0JYdDBCUTtFV3UwQlI7RUFDQTtBdEQ2aUpSO0FzRDNpSlE7RUFqQko7SUFrQlE7RXREOGlKVjtBQUNGO0FzRDVpSlE7RUFyQko7SUFzQlE7RXREK2lKVjtBQUNGO0FzRDdpSlE7RUFDSTtBdEQraUpaO0FzRDVpSlE7RUFDSTtBdEQ4aUpaO0FzRDNpSlE7RUFDSTtBdEQ2aUpaO0FzRDFpSlE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXRENGlKWjtBc0QxaUpZO0VBWEo7SUFZUTtFdEQ2aUpkO0FBQ0Y7QXNEemlKSTtFQUNJLGNYOTBCVTtFVyswQlY7RUFDQTtBdEQyaUpSO0FzRHhpSkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxjWDExQlU7RVcyMUJWO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxzQlhsNEJRO0VXbTRCUjtFQUNBO0F0RDBpSlI7QXNEeGlKUTtFQWpCSjtJQWtCUTtFdEQyaUpWO0FBQ0Y7QXNEemlKUTtFQXJCSjtJQXNCUTtFdEQ0aUpWO0FBQ0Y7QXNEMWlKUTtFQUNJO0F0RDRpSlo7QXNEeGlKSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLGNYeDNCVTtFV3kzQlY7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLHNCWGg2QlE7RVdpNkJSO0VBQ0E7QXREMGlKUjtBc0R4aUpRO0VBakJKO0lBa0JRO0V0RDJpSlY7QUFDRjtBc0R6aUpRO0VBckJKO0lBc0JRO0V0RDRpSlY7QUFDRjtBc0QxaUpRO0VBQ0k7QXRENGlKWjtBc0R4aUpJO0VBQ0k7QXREMGlKUjtBc0R4aUpRO0VBSEo7SUFJUTtFdEQyaUpWO0FBQ0Y7QXNEeGlKSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F0RDBpSlI7QXNEdmlKSTtFQUNJO0VBQ0E7RUFRQTtFQUNBO0F0RGtpSlI7QXNDNzFLRTtFakIvSEk7RUFHRjtBckI2OUtKO0FzQnA3S007RURyQ0U7RUFDQTtBckI0OUtSO0FzQ24xS0U7RWpCakpJO0VBR0Y7QXJCcStLSjtBc0I1N0tNO0VEckNFO0VBQ0E7QXJCbytLUjtBd0M1c0tFO0VuQjdSRTtBckI0K0tKO0FzQy81S0U7OztFekJ6Q0U7QWI2OEtKO0FzQ3g1S0U7OztFQUlJLGlCRzlGa0I7QXpDdS9LeEI7QXNDejZLRTs7O0V6QnpDRTtBYnU5S0o7QXNDOTZLRTs7O0V6QnpDRTtBYjQ5S0o7QXdDN3lLSTtFM0IvS0E7QWIrOUtKO0FzRDFrSlE7RUFiSjtJQWNRO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RXRENmtKVjtBQUNGO0FzRDNrSlE7RUFDSTtBdEQ2a0paO0FzRDFrSlE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxzQlhuK0JJO0VXbytCSjtBdEQ0a0paO0FzRDFrSlk7RUFWSjtJQVdRO0V0RDZrSmQ7QUFDRjtBc0Qxa0pRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F0RDRrSlo7QXNEMWtKWTtFQWRKO0lBZVE7SUFDQTtJQUNBO0V0RDZrSmQ7QUFDRjtBc0Qxa0pRO0VBQ0k7RUFDQTtBdEQ0a0paO0FzRDFrSlk7RUFKSjtJQUtRO0V0RDZrSmQ7QUFDRjtBc0Qza0pZO0VBQ0k7QXRENmtKaEI7QXNEM2tKZ0I7RUFISjtJQUlRO0V0RDhrSmxCO0FBQ0Y7QXNENWtKZ0I7RUFDSTtBdEQ4a0pwQjtBc0Q1a0pvQjtFQUhKO0lBSVE7RXREK2tKdEI7QUFDRjtBc0Qxa0pROztFQUVJO0VBQ0EsY1hsaENRO0EzQzhsTHBCO0FzRDFrSlk7RUFMSjs7SUFNUTtJQUNBO0V0RDhrSmQ7QUFDRjtBc0R6a0pZO0VBQ0k7QXREMmtKaEI7QXNEdmtKUTtFQUNJLGNYbGlDUTtBM0MybUxwQjtBc0R0a0pRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdER3a0paO0FzRG5rSlE7RUFESjtJQUVRO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RXREc2tKVjtBQUNGO0FzRHBrSlE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBdERza0paO0FzRHBrSlk7RUFOSjtJQU9RO0V0RHVrSmQ7QUFDRjtBc0Rua0pZO0VBREo7SUFFUTtJQUNBO0V0RHNrSmQ7QUFDRjtBc0Rsa0pZO0VBQ0k7QXREb2tKaEI7QXNEbGtKZ0I7RUFISjtJQUlRO0V0RHFrSmxCO0FBQ0Y7QXNEamtKUTs7RUFFSTtBdERta0paO0FzRGprSlk7RUFKSjs7SUFLUTtJQUNBO0V0RHFrSmQ7QUFDRjtBc0QvakpRO0VBREo7SUFFUTtJQUNBO0lBQ0E7RXREa2tKVjtBQUNGO0FzRC9qSlk7RUFESjtJQUVRO0lBQ0E7RXREa2tKZDtBQUNGO0FzRC9qSmdCO0VBREo7SUFFUTtFdERra0psQjtBQUNGO0FzRDNqSmdCO0VBREo7SUFFUTtJQUNBO0V0RDhqSmxCO0FBQ0Y7QXNEM2pKb0I7RUFESjtJQUVRO0V0RDhqSnRCO0FBQ0Y7QXNEcmpKb0I7RUFESjtJQUVRO0V0RHdqSnRCO0FBQ0Y7QXNEcmpKd0I7RUFESjtJQUVRO0V0RHdqSjFCO0FBQ0Y7QXNEampKWTtFQURKO0lBRVE7RXREb2pKZDtBQUNGO0FzRC9pSkk7RUFDSTtFQUNBO0F0RGlqSlI7QXNEL2lKUTtFQUNJO0VBQ0E7QXREaWpKWjtBc0Q5aUpZO0VBTEo7SUFNUTtFdERpakpkO0FBQ0Y7QXNEN2lKSTtFQUNJO0F0RCtpSlI7QXNEN2lKUTtFQUNJO0F0RCtpSlo7QXNENWlKUTtFQUNJO0VBQ0E7QXREOGlKWjtBc0Q1aUpZO0VBSko7SUFLUTtFdEQraUpkO0FBQ0Y7QXNEN2lKWTtFQVJKO0lBU1E7RXREZ2pKZDtBQUNGO0FzRDVpSkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdEQ4aUpSO0FzRDVpSlE7RUFDSTtBdEQ4aUpaO0FzRDNpSlE7RUFDSTtBdEQ2aUpaO0FzRDFpSlE7RUFqQko7SUFrQlE7SUFDQTtJQUNBO0lBQ0E7RXRENmlKVjtBQUNGO0FzRDFpSlk7RUFFSTtBdEQyaUpoQjtBc0R0aUpJO0VBQ0k7QXREd2lKUjs7QXNEbGlKSTtFQUNJO0VBQ0E7QXREcWlKUjtBc0RuaUpRO0VBQ0k7RUFDQTtBdERxaUpaO0FzRGxpSlE7RUFDSSx5Qlh2dUNPO0EzQzJ3TG5CO0FzRGhpSkk7RUFDSTtFQUNBO0F0RGtpSlI7QXNEaGlKUTtFQUNJLGNYcnVDTTtBM0N1d0xsQjtBc0QvaEpRO0VBQ0ksY1hyeENXO0EzQ3N6THZCO0FzRDloSlE7RUFDSSxjWDN1Q0k7QTNDMndMaEI7O0FzRDFoSkk7RUFDSTtBdEQ2aEpSOztBc0R6aEpBO0VBQ0k7QXRENGhKSjtBc0QxaEpJO0VBQ0k7QXRENGhKUjtBc0R6aEpJO0VBQ0k7QXREMmhKUjtBc0R4aEpJO0VBQ0k7RUFDQTtBdEQwaEpSOztBc0R0aEpBO0VBQ0k7RUFDQTtBdER5aEpKO0FzRHZoSkk7RUFDSTtBdER5aEpSOztBc0RyaEpBO0VBQ0k7QXREd2hKSjs7QXNEcGhKSTtFQUNJO0F0RHVoSlI7QXNEcmhKUTtFQUhKO0lBSVE7RXREd2hKVjtBQUNGO0FzRHRoSlE7RUFQSjtJQVFRO0V0RHloSlY7QUFDRjtBc0R2aEpRO0VBQ0k7QXREeWhKWjtBc0RyaEpJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QXREdWhKUjtBc0RyaEpRO0VBQ0k7QXREdWhKWjtBc0RyaEpZO0VBSEo7SUFJUTtFdER3aEpkO0FBQ0Y7QXNEdGhKWTtFQVBKO0lBUVE7SUFDQTtFdER5aEpkO0FBQ0Y7QXNEdGhKUTtFQUNJO0F0RHdoSlo7QXNEcGhKSTtFQUNJOzs7SUFBQTtBdER5aEpSO0FzRHBoSlE7RUFDSTtFQUNBO0VBQ0E7QXREc2hKWjtBc0RwaEpZO0VBQ0k7QXREc2hKaEI7QXNEcGhKZ0I7RUFISjtJQUlRO0V0RHVoSmxCO0FBQ0Y7QXNEbGhKSTtFQUNJO0F0RG9oSlI7QXNEamhKSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxjWDE1Q1M7RVcyNUNUO0F0RG1oSlI7QXNEamhKUTtFQXJCSjtJQXNCUTtFdERvaEpWO0FBQ0Y7QXNEbGhKUTtFQXpCSjtJQTBCUTtFdERxaEpWO0FBQ0Y7QXNEbmhKUTtFQUNJO0F0RHFoSlo7QXNEbGhKUTtFQUNJO0F0RG9oSlo7QXNEamhKUTtFQUNJO0F0RG1oSlo7QXNEaGhKUTtFQUNJO0F0RGtoSlo7QXNEaGhKWTtFQUNJO0F0RGtoSmhCO0FzRC9nSlk7RUFDSTtBdERpaEpoQjtBc0QzZ0pRO0VBQ0k7RUFDQTtBdEQ2Z0paO0FzRDNnSlk7RUFKSjtJQUtRO0V0RDhnSmQ7QUFDRjtBc0QxZ0pJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F0RDRnSlI7QXNEMWdKUTtFQUNJO0F0RDRnSlo7QXNEMWdKWTtFQUhKO0lBSVE7RXRENmdKZDtBQUNGO0FzRDFnSlE7RUFDSTtBdEQ0Z0paO0FzRDFnSlk7RUFISjtJQUlRO0V0RDZnSmQ7QUFDRjtBc0QxZ0pRO0VBQ0k7QXRENGdKWjtBc0QxZ0pZO0VBSEo7SUFJUTtJQUNBO0V0RDZnSmQ7QUFDRjtBc0QxZ0pRO0VBakNKO0lBa0NRO0V0RDZnSlY7QUFDRjtBc0QxZ0pZO0VBRUk7QXREMmdKaEI7O0FzRHBnSkM7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0F0RHVnSkY7O0FzRGxnSkM7RUFDQztBdERxZ0pGOztBc0RqZ0pBO0VBQ0k7QXREb2dKSjtBc0RsZ0pJO0VBSEo7SUFJUTtFdERxZ0pOO0FBQ0Y7O0F1RHBoTUE7RUFDSTtBdkR1aE1KO0F1RHJoTUk7RUFISjtJQUlRO0lBQ0E7SUFDQTtJQUNBO0V2RHdoTU47QUFDRjtBdURyaE1RO0VBREo7SUFFUTtFdkR3aE1WO0FBQ0Y7O0F3RHJpTUE7RUFDSTtBeER3aU1KO0F3RHRpTUk7RUFISjtJQUlRO0V4RHlpTU47QUFDRjtBd0R2aU1JO0VBUEo7SUFRUTtFeEQwaU1OO0FBQ0Y7QXdEeGlNSTtFQVhKO0lBWVE7RXhEMmlNTjtBQUNGO0F3RHppTUk7RUFDSTtFQUNBO0VBQ0E7RUFDQSxjYmhCUztFYWlCVDtFQUNBO0VBQ0E7RUFDQTtBeEQyaU1SO0F3RHppTVE7RUFWSjtJQVdRO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFeEQ0aU1WO0FBQ0Y7QXdEemlNUTtFQXBCSjtJQXFCUTtFeEQ0aU1WO0FBQ0Y7QXdEMWlNUTtFQXhCSjtJQXlCUTtJQUNBO0V4RDZpTVY7QUFDRjtBd0QzaU1RO0VBQ0k7QXhENmlNWjtBd0QzaU1ZO0VBSEo7SUFJUTtJQUNBO0V4RDhpTWQ7QUFDRjtBd0R6aU1JO0VBQ0k7RUFDQTtBeEQyaU1SO0F3RHppTVE7RUFKSjtJQUtRO0lBQ0E7SUFDQTtJQUNBO0V4RDRpTVY7QUFDRjtBd0R4aU1RO0VBREo7SUFFUTtJQUNBO0lBQ0E7RXhEMmlNVjtBQUNGO0F3RHppTVE7RUFQSjtJQVFRO0lBQ0E7RXhENGlNVjtBQUNGO0F3RDFpTVE7RUFaSjtJQWFRO0lBQ0E7RXhENmlNVjtBQUNGO0F3RDFpTVk7RUFESjtJQUVRO0V4RDZpTWQ7QUFDRjs7QXlEcG9NQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0F6RHVvTUo7QXlEcm9NSTtFQU5KO0lBT1E7SUFDQTtJQUNBO0V6RHdvTU47QUFDRjtBeUR0b01JO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QXpEd29NUjtBeUR0b01RO0VBTko7SUFPUTtJQUNBO0lBQ0E7SUFDQTtFekR5b01WO0FBQ0Y7QXlEdm9NUTtFQWJKO0lBY1E7RXpEMG9NVjtBQUNGO0F5RHhvTVE7RUFqQko7SUFrQlE7RXpEMm9NVjtBQUNGO0F5RHpvTVE7RUFyQko7SUFzQlE7RXpENG9NVjtBQUNGO0F5RHpvTVk7RUFESjtJQUVRO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RXpENG9NZDtBQUNGO0F5RDFvTVk7RUFaSjtJQWFRO0V6RDZvTWQ7QUFDRjtBeUQzb01ZO0VBaEJKO0lBaUJRO0V6RDhvTWQ7QUFDRjtBeUQ1b01ZO0VBcEJKO0lBcUJRO0V6RCtvTWQ7QUFDRjtBeUQzb01JO0VBQ0ksY2RuQ1E7RWNvQ1I7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXpENm9NUjtBeUQzb01RO0VBQ0k7QXpENm9NWjtBeUR6b01RO0VBckJKO0lBc0JRO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0V6RDRvTVY7QUFDRjtBeUQxb01RO0VBckNKO0lBc0NRO0lBQ0E7SUFDQTtFekQ2b01WO0FBQ0Y7QXlEM29NUTtFQTNDSjtJQTRDUTtJQUNBO0lBQ0E7RXpEOG9NVjtBQUNGO0F5RDVvTVE7RUFqREo7SUFrRFE7SUFDQTtJQUNBO0V6RCtvTVY7QUFDRjtBeUQ1b01JO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QXpEOG9NUjtBeUQ1b01RO0VBTko7SUFPUTtFekQrb01WO0FBQ0Y7QXlENW9NSTtFQUNJO0VBQ0E7RUFDQSxXZHBIUTtFY3FIUix5QmRuSVM7RWNvSVQ7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBekQ4b01SO0F5RDVvTVE7RUFYSjtJQVlRO0lBQ0E7SUFDQTtFekQrb01WO0FBQ0Y7QXlENW9NSTtFQUNJO0VBQ0E7RUFDQSxjZDFIUTtFYzJIUjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F6RDhvTVI7QXlENW9NUTtFQVZKO0lBV1E7SUFDQTtJQUNBO0V6RCtvTVY7QUFDRjtBeUQ1b01JO0VBQ0k7QXpEOG9NUjtBeUQ1b01RO0VBSEo7SUFJUTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFekQrb01WO0FBQ0Y7QXlEN29NUTtFQWhCSjtJQWlCUTtJQUNBO0V6RGdwTVY7QUFDRjtBeUQ5b01RO0VBckJKO0lBc0JRO0V6RGlwTVY7QUFDRjtBeUQvb01RO0VBekJKO0lBMEJRO0V6RGtwTVY7QUFDRjtBeUQvb01JO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBekRpcE1SO0F5RC9vTVE7RUFQSjtJQVFRO0lBQ0E7SUFDQTtFekRrcE1WO0FBQ0Y7QXlEOW9NUTtFQUVJLHlCZHpNa0I7RWMwTWxCO0VBQ0E7RUFDQTtFQUNBO0F6RCtvTVo7QXlENW9NUTtFQUNJO0F6RDhvTVo7QXlENW9NWTtFQUhKO0lBSVE7RXpEK29NZDtBQUNGO0F5RDVvTVE7RUFDSTtBekQ4b01aO0F5RDVvTVk7RUFISjtJQUlRO0V6RCtvTWQ7QUFDRjtBeUQzb01JO0VBQ0k7RUFDQTtFQUNBO0F6RDZvTVI7QXlEM29NUTtFQUNJO0VBQ0E7RUFDQTtBekQ2b01aO0F5RHpvTUk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFM0N0S0o7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RTJDc0tJO0VBRUE7RUFDQTtBekQyb01SO0FjaHpNRTtFQUdJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWRnek1OO0FjNXlNRTtFQUdJLDZEQUNFO0VBS0Y7QWR1eU1OO0FjaHlNSTtFQUVJO0FkaXlNUjtBYzd4TUk7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FkOHhNUjtBY3h4TUk7RUFFSTtFQUNBO0VBQ0E7QWR5eE1SO0FjbnhNSTtFQUVJLHlGQUNFO0FkbXhNVjtBYzV3TUk7RUFFSTtFQUtBO0FkeXdNUjtBYzlpTUU7RUFHSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FkOGlNTjtBY3ppTUk7RUFFSTtFQUNBO0FkMGlNUjtBY2p1TUk7RUFHSSxVMkNnQ2tDO0F6RGlzTTFDO0FjL3JNTTtFQWVGO0VBSUEsVTJDcEJzQztBekRvc00xQztBY2p4TUU7RUQxR0U7QWI4M01KO0FjdnFNSTtFQUVJO0Fkd3FNUjtBY25xTU07RUFFSSx5QkN0UlM7RUQyUlQsYTJDNUNnQztBekQ0c00xQztBYzFwTUU7RUFFSTtBZDJwTU47QTBEaGpNUTtFQUNJO0ExRGtqTVo7QWNudE1NO0VBZUY7RUFJQSxZNEMrSTBDO0ExRHFqTTlDO0F5RGh0TVE7RUFuQko7SUFvQlE7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0V6RG10TVY7QUFDRjtBeURqdE1RO0VBQ0k7QXpEbXRNWjtBeUQvc01ZO0VBREo7SUFFUTtJQUNBO0V6RGt0TWQ7QUFDRjtBeUQ5c01JO0VBQ0k7RUFDQTtBekRndE1SO0F5RDlzTVE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBekRndE1aO0F5RDdzTVE7RUFDSTtBekQrc01aO0F5RDVzTVE7RUFDSTtBekQ4c01aOztBeUR6c01BO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QXpENHNNSjtBeUQxc01JO0VBTko7SUFPUTtJQUNBO0lBQ0E7RXpENnNNTjtBQUNGO0F5RDNzTUk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBekQ2c01SO0F5RDNzTVE7RUFOSjtJQU9RO0lBQ0E7SUFDQTtJQUNBO0V6RDhzTVY7QUFDRjtBeUQ1c01RO0VBYko7SUFjUTtFekQrc01WO0FBQ0Y7QXlEN3NNUTtFQWpCSjtJQWtCUTtFekRndE1WO0FBQ0Y7QXlEOXNNUTtFQXJCSjtJQXNCUTtFekRpdE1WO0FBQ0Y7QXlEOXNNWTtFQURKO0lBRVE7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFekRpdE1kO0FBQ0Y7QXlEL3NNWTtFQVpKO0lBYVE7RXpEa3RNZDtBQUNGO0F5RGh0TVk7RUFoQko7SUFpQlE7RXpEbXRNZDtBQUNGO0F5RGp0TVk7RUFwQko7SUFxQlE7RXpEb3RNZDtBQUNGO0F5RGh0TUk7RUFDSSxjZHhWUTtFY3lWUjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBekRrdE1SO0F5RGh0TVE7RUFDSTtBekRrdE1aO0F5RDlzTVE7RUFyQko7SUFzQlE7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RXpEaXRNVjtBQUNGO0F5RC9zTVE7RUFyQ0o7SUFzQ1E7SUFDQTtJQUNBO0V6RGt0TVY7QUFDRjtBeURodE1RO0VBM0NKO0lBNENRO0lBQ0E7SUFDQTtFekRtdE1WO0FBQ0Y7QXlEanRNUTtFQWpESjtJQWtEUTtJQUNBO0lBQ0E7RXpEb3RNVjtBQUNGO0F5RGp0TUk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBekRtdE1SO0F5RGp0TVE7RUFOSjtJQU9RO0V6RG90TVY7QUFDRjtBeURqdE1JO0VBQ0k7RUFDQTtFQUNBLFdkemFRO0VjMGFSLHlCZHhiUztFY3liVDtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F6RG10TVI7QXlEanRNUTtFQVhKO0lBWVE7SUFDQTtJQUNBO0V6RG90TVY7QUFDRjtBeURqdE1JO0VBQ0k7RUFDQTtFQUNBLGNkL2FRO0VjZ2JSO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXpEbXRNUjtBeURqdE1RO0VBVko7SUFXUTtJQUNBO0lBQ0E7RXpEb3RNVjtBQUNGO0F5RGp0TUk7RUFDSTtBekRtdE1SO0F5RGp0TVE7RUFISjtJQUlRO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0V6RG90TVY7QUFDRjtBeURsdE1RO0VBaEJKO0lBaUJRO0lBQ0E7RXpEcXRNVjtBQUNGO0F5RG50TVE7RUFyQko7SUFzQlE7RXpEc3RNVjtBQUNGO0F5RHB0TVE7RUF6Qko7SUEwQlE7RXpEdXRNVjtBQUNGO0F5RHB0TUk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F6RHN0TVI7QXlEcHRNUTtFQVBKO0lBUVE7SUFDQTtJQUNBO0V6RHV0TVY7QUFDRjtBeURudE1RO0VBRUkseUJkOWZrQjtFYytmbEI7RUFDQTtFQUNBO0VBQ0E7QXpEb3RNWjtBeURqdE1RO0VBQ0k7QXpEbXRNWjtBeURqdE1ZO0VBSEo7SUFJUTtFekRvdE1kO0FBQ0Y7QXlEanRNUTtFQUNJO0F6RG10TVo7QXlEanRNWTtFQUhKO0lBSVE7RXpEb3RNZDtBQUNGO0F5RGh0TUk7RUFDSTtFQUNBO0VBQ0E7QXpEa3RNUjtBeURodE1RO0VBQ0k7RUFDQTtFQUNBO0F6RGt0TVo7QXlEOXNNSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0UzQzNkSjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFMkMyZEk7RUFFQTtFQUNBO0F6RGd0TVI7QWMxcU5FO0VBR0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBZDBxTk47QWN0cU5FO0VBR0ksNkRBQ0U7RUFLRjtBZGlxTk47QWMxcE5JO0VBRUk7QWQycE5SO0FjdnBOSTtFQUVJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWR3cE5SO0FjbHBOSTtFQUVJO0VBQ0E7RUFDQTtBZG1wTlI7QWM3b05JO0VBRUkseUZBQ0U7QWQ2b05WO0FjdG9OSTtFQUVJO0VBS0E7QWRtb05SO0FjeDZNRTtFQUdJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWR3Nk1OO0FjbjZNSTtFQUVJO0VBQ0E7QWRvNk1SO0FjM2xOSTtFQUdJLFUyQ3FWa0M7QXpEc3dNMUM7QWN6ak5NO0VBZUY7RUFJQSxVMkNpU3NDO0F6RHl3TTFDO0FjM29ORTtFRDFHRTtBYnd2Tko7QWNqaU5JO0VBRUk7QWRraU5SO0FjN2hOTTtFQUVJLHlCQ3RSUztFRDJSVCxhMkN5UWdDO0F6RGl4TTFDO0FjcGhORTtFQUVJO0FkcWhOTjtBMEQxNk1RO0VBQ0k7QTFENDZNWjtBYzdrTk07RUFlRjtFQUlBLFk0QytJMEM7QTFEKzZNOUM7QXlEcnhNUTtFQW5CSjtJQW9CUTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RXpEd3hNVjtBQUNGO0F5RHR4TVE7RUFDSTtBekR3eE1aO0F5RHB4TVk7RUFESjtJQUVRO0lBQ0E7RXpEdXhNZDtBQUNGO0F5RG54TUk7RUFDSTtFQUNBO0F6RHF4TVI7QXlEbnhNUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0F6RHF4TVo7QXlEbHhNUTtFQUNJO0F6RG94TVo7QXlEanhNUTtFQUNJO0VBQ0E7QXpEbXhNWjtBeURseE1ZO0VBSEo7SUFJUTtFekRxeE1kO0FBQ0Y7O0EyRDkzTkE7RUFDSTtFQUNBO0VBQ0E7QTNEaTROSjtBMkQvM05JO0VBTEo7SUFNUTtFM0RrNE5OO0FBQ0Y7QTJEaDROSTtFQVRKO0lBVVE7SUFDQTtFM0RtNE5OO0FBQ0Y7QTJEajROSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsY2hCaEJTO0VnQmlCVDtFQUNBO0EzRG00TlI7QTJEajROUTtFQVRKO0lBVVE7SUFDQTtJQUNBO0lBQ0E7RTNEbzROVjtBQUNGO0EyRGg0TlE7RUFDSTtBM0RrNE5aO0EyRGg0Tlk7RUFISjtJQUlRO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RTNEbTROZDtBQUNGO0EyRC8zTkk7RUFDSTtFQUNBO0EzRGk0TlI7QTJELzNOUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTNEaTROWjtBMkQ3M05JO0VBQ0k7RUFDQTtFQUNBO0EzRCszTlI7QTJENzNOUTtFQUxKO0lBTVE7RTNEZzROVjtBQUNGO0EyRDMzTlk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0EzRDYzTmhCO0EyRDMzTmdCO0VBVko7SUFXUTtFM0Q4M05sQjtBQUNGO0EyRDUzTmdCO0VBZEo7SUFlUTtFM0QrM05sQjtBQUNGO0EyRDMzTlE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0EzRDYzTlo7QTJEMzNOWTtFQVZKO0lBV1E7RTNEODNOZDtBQUNGO0EyRDUzTlk7RUFkSjtJQWVRO0UzRCszTmQ7QUFDRjs7QTREeitOQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0E1RDQrTko7QTREMStOSTtFQUNJLHNCakJVUTtFaUJUUjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E1RDQrTlI7QTREeitOSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTVEMitOUjtBNER4K05JO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0U5Q3lESjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFOEN6REk7QTVEMitOUjtBYzk2TkU7RUFHSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FkODZOTjtBYzE2TkU7RUFHSSw2REFDRTtFQUtGO0FkcTZOTjtBYzk1Tkk7RUFFSTtBZCs1TlI7QWMzNU5JO0VBRUk7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBZDQ1TlI7QWN0NU5JO0VBRUk7RUFDQTtFQUNBO0FkdTVOUjtBY2o1Tkk7RUFFSSx5RkFDRTtBZGk1TlY7QWMxNE5JO0VBRUk7RUFLQTtBZHU0TlI7QWM1cU5FO0VBR0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBZDRxTk47QWN2cU5JO0VBRUk7RUFDQTtBZHdxTlI7QWMvMU5JO0VBR0ksVThDL0xrQztBNUQ4aE8xQztBYzd6Tk07RUFlRjtFQUlBLFU4Q25Qc0M7QTVEaWlPMUM7QWMvNE5FO0VEMUdFO0FiNC9OSjtBY3J5Tkk7RUFFSTtBZHN5TlI7QWNqeU5NO0VBRUkseUJDdFJTO0VEMlJULGE4QzNRZ0M7QTVEeWlPMUM7QWN4eE5FO0VBRUk7QWR5eE5OO0EwRDlxTlE7RUFDSTtBMURnck5aO0FjajFOTTtFQWVGO0VBSUEsWTRDK0kwQztBMURtck45QztBNEQvaU9RO0VBQ0k7QTVEaWpPWjs7QTZENWxPQTtFQUNJO0VBQ0EseUJsQkltQjtFa0JIbkI7RUFDQTtFQUNBO0E3RCtsT0o7QTZEN2xPSTtFQVBKO0lBUVE7RTdEZ21PTjtBQUNGO0E2RDlsT0k7RUFDSTtBN0RnbU9SO0E2RDlsT1E7RUFISjtJQUlRO0U3RGltT1Y7QUFDRjtBNkQ5bE9JO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBN0RnbU9SO0E2RDlsT1E7RUFQSjtJQVFRO0U3RGltT1Y7QUFDRjtBNkQvbE9RO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBN0RpbU9aO0E2RDdsT0k7RUFDSTtFQUNBO0E3RCtsT1I7QTZENWxPSTtFQUNJO0VBQ0Esc0JsQmhDUTtFa0JpQ1I7RUFDQTtFQUNBO0VBQ0E7QTdEOGxPUjtBNkQ1bE9RO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLHlCbEIxREs7RWtCMkRMLFdsQjdDSTtFa0I4Q0o7RUFDQTtFQUNBO0VBQ0E7QTdEOGxPWjtBNkQxbE9JO0VBQ0k7RUFDQTtBN0Q0bE9SO0E2RDFsT1E7RUFDSTtBN0Q0bE9aO0E2RHhsT0k7RUFDSTtFQUNBO0VBQ0E7QTdEMGxPUjtBNkR0bE9RO0VBQ0k7QTdEd2xPWjtBNkRwbE9JO0VBQ0k7RUFDQTtBN0RzbE9SO0E2RHBsT1E7RUFDSTtFQUNBLFdsQmhGSTtBM0NzcU9oQjtBNkRobE9ZO0VBQ0k7QTdEa2xPaEI7QTZEN2tPSTtFQUNJLGNsQjNFWTtBM0MwcE9wQjtBNkQ1a09JOztFQUVJLGNsQmhGWTtBM0M4cE9wQjtBNkQ1a09ROztFQUNJLGNsQm5GUTtBM0NrcU9wQjtBNkQza09JO0VBQ0kseUJsQnhIUztBM0Nxc09qQjtBNkQxa09JO0VBQ0kseUJsQnhIZTtBM0Nvc092QjtBNkR6a09JOzs7O0VBSUksY2xCL0hlO0EzQzBzT3ZCO0E2RHprT1E7Ozs7RUFDSSxjbEJsSVc7QTNDZ3RPdkI7QTZEemtPSTtFQUNJLGNsQmxHZ0I7RWtCbUdoQjtFQUNBO0VBQ0E7RUFDQTtBN0Qya09SO0E2RHprT1E7RUFDSTtFQUNBLGNsQjFISTtBM0Nxc09oQjtBNkQ1ak9JO0VBS0k7RUFDQTtFQUNBO0E3RDBqT1I7QThEM3VMRTtFakRoN0NFO0FiOHBPSjtBOEQ3cUxFO0VqRGovQ0U7QWJpcU9KO0E4RDVtTEU7RWpEcmpERTtBYm9xT0o7QTZEamtPUTtFQVRKO0lBVVE7RTdEb2tPVjtBQUNGO0E2RDVqT1E7RUFDSTtBN0Q4ak9aO0E2RHhqT1k7RUFDSTtBN0Qwak9oQjtBNkRyak9JO0VBQ0k7QTdEdWpPUjtBNkRoak9ZO0VBRUk7RUFDQSxXbEJoTUE7QTNDaXZPaEI7QTZEM2lPUTtFQUNJO0E3RDZpT1o7QTZEemlPSTtFQUNJO0VBQ0E7RUFDQTtBN0QyaU9SO0E2RHhpT0k7RUFDSTtBN0QwaU9SO0E2RHZpT0k7RUFDSTtBN0R5aU9SO0E2RHRpT0k7RUFDSTtBN0R3aU9SO0E2RHJpT0k7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxXbEJwT1E7RWtCcU9SLHlCbEIvT2U7RWtCZ1BmO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBN0R1aU9SO0E2RHJpT1E7RUFoQko7SUFpQlE7RTdEd2lPVjtBQUNGO0E2RHRpT1E7RUFDSTtBN0R3aU9aO0E2RHBpT0k7RUFDSTtBN0RzaU9SO0E2RG5pT0k7RUFDSTtBN0RxaU9SO0E2RGxpT0k7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBLHlCbEI3UWU7RWtCOFFmO0VBQ0E7RUFDQTtFQUNBO0E3RG9pT1I7QTZEbGlPUTtFQVhKO0lBWVE7RTdEcWlPVjtBQUNGO0E2RGxpT0k7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxjbEIvUmU7RWtCZ1NmO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0E3RG1pT1I7QTZEamlPUTtFQWpCSjtJQWtCUTtFN0RvaU9WO0FBQ0Y7QTZEamlPSTtFQUNJO0E3RG1pT1I7QTZEL2hPUTtFQUNJO0E3RGlpT1o7QTZEL2hPWTtFQUNJO0VBQ0E7RUFDQTtBN0RpaU9oQjtBNkQzaE9RO0VBQ0k7QTdENmhPWjtBNkQxaE9RO0VBQ0k7QTdENGhPWjtBNkR4aE9JO0VBQ0ksY2xCblRRO0EzQzYwT2hCO0E2RHZoT0k7RUFDSTtBN0R5aE9SO0FZdnNORTtFQzFsQkU7RUFBQTtBYnF5T0o7QVkzc05FOzs7RUMxbEJFO0VBQUE7QWIyeU9KO0FTdjFPRTtFQUNFO0lJMkNBO0lBQUE7RWJnek9GO0VTdDFPRTtJSXNDQTtJQUFBO0Vib3pPRjtBQUNGO0FTcjFPRTtFQUNFO0lJK0JBO0lBQUE7RWIwek9GO0VTbjFPRTtJSXlCQTtJQUFBO0ViOHpPRjtBQUNGO0FZbGtPUTtFQUVJO0FabWtPWjtBWTVqT1E7RUFFSTtBWjZqT1o7QVk5bU5JO0VDdnRCQTtBYncwT0o7QVkzbU5JO0VDN3RCQTtBYjIwT0o7QVl6Z09FOzs7RUNsVUU7QWJnMU9KO0FjdHVPRTtFRDFHRTtBYm0xT0o7QWNoc09JO0VBR0ksYUFyQjBCO0FkcXRPbEM7QWM5cE9NO0VBZUY7RUFJQSxhQXRFOEI7QWRxdE9sQztBY25vT0k7RUFFSTtBZG9vT1I7QWMvbk9NO0VBRUkseUJDdFJTO0VEMlJULGFBNUZ3QjtBZHd0T2xDO0FjdG5PRTtFQUVJO0FkdW5PTjtBYzF2T0U7O0VEMUdFO0FidzJPSjtBNkR2bE9RO0VBQ0k7RUFDQTtBN0R5bE9aO0E2RHJsT0k7RUFDSTtBN0R1bE9SO0FnQ3I3TkU7RW5CMWJFO0FiazNPSjtBZ0N4N05FO0VuQjFiRTtBYnEzT0o7QWdDMThORTtFbkIzYUU7QWJ3M09KO0FnQzNuT0U7RW5CN1BFO0FiMjNPSjtBNkQzbE9ZO0VBQ0k7QTdENmxPaEI7QTZEM2xPZ0I7RUFISjtJQUlRO0U3RDhsT2xCO0FBQ0Y7QTZENWxPZ0I7RUFQSjtJQVFRO0lBQ0E7RTdEK2xPbEI7QUFDRjtBNkQzbE9RO0VBQ0k7RUFDQTtBN0Q2bE9aO0E2RDFsT1E7RUFDSTtFQUNBO0E3RDRsT1o7QTZEeGxPSTtFQUNJO0E3RDBsT1I7QTZEeGxPUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFdsQjlYSTtFa0IrWEoseUJsQnpZVztFa0IwWVg7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTdEMGxPWjtBNkR4bE9ZO0VBakJKO0lBa0JRO0U3RDJsT2Q7QUFDRjtBNkRybE9ZO0VBQ0k7QTdEdWxPaEI7QTZEbmxPUTtFQUNJO0E3RHFsT1o7QTZEbmxPWTtFQUNJO0VBQ0E7QTdEcWxPaEI7QTZEaGxPWTtFQUNJO0E3RGtsT2hCO0E2RDlrT1E7RUFDSTtBN0RnbE9aO0E2RDdrT1E7RUFDSTtBN0Qra09aO0E2RDVrT1E7RUFDSTtBN0Q4a09aO0E2RDFrT1k7RUFDSTtBN0Q0a09oQjtBNkR6a09ZO0VBQ0k7QTdEMmtPaEI7QTZEdGtPSTtFQUNJO0E3RHdrT1I7O0ErRHJoUEE7RUFDSSx5QnBCdUNlO0VvQnRDZixXcEJlWTtFb0JkWjtFQUNBO0VBQ0E7RUFDQTtBL0R3aFBKO0ErRHRoUEk7RUFSSjtJQVNRO0UvRHloUE47QUFDRjtBK0R2aFBJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBL0R5aFBSO0ErRHRoUEk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0EvRHdoUFI7QStEcmhQSTtFQUNJO0VBQ0E7RUFDQTtBL0R1aFBSO0ErRHJoUFE7RUFDSTtFQUNBO0VBQ0E7QS9EdWhQWjtBK0RuaFBJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QS9EcWhQUjtBK0RuaFBRO0VBVEo7SUFVUTtFL0RzaFBWO0FBQ0Y7QStEbmhQSTtFQUNJO0EvRHFoUFI7QStEbGhQSTtFQUNJO0EvRG9oUFI7QStEbGhQUTtFQUhKO0lBSVE7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RS9EcWhQVjtBQUNGO0ErRG5oUFE7RUFuQko7SUFvQlE7SUFDQTtJQUNBO0UvRHNoUFY7QUFDRjtBK0RuaFBZO0VBREo7SUFFUTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0UvRHNoUGQ7QUFDRjtBK0RsaFBJO0VBQ0ksV3BCcEZRO0VvQnFGUjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QS9Eb2hQUjtBK0RsaFBRO0VBVEo7SUFVUTtFL0RxaFBWO0FBQ0Y7QStEbmhQUTtFQWJKO0lBY1E7RS9Ec2hQVjtBQUNGO0ErRG5oUEk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBL0RxaFBSO0ErRG5oUFE7RUFOSjtJQU9RO0UvRHNoUFY7QUFDRjtBK0RuaFBJO0VBQ0k7RUFDQSxXcEJsSFE7RW9CbUhSO0EvRHFoUFI7QStEbmhQUTtFQUxKO0lBTVE7RS9Ec2hQVjtBQUNGO0FZeC9ORTtFQzFsQkU7RUFBQTtBYnNsUEo7QVk1L05FOzs7RUMxbEJFO0VBQUE7QWI0bFBKO0FTeG9QRTtFQUNFO0lJMkNBO0lBQUE7RWJpbVBGO0VTdm9QRTtJSXNDQTtJQUFBO0VicW1QRjtBQUNGO0FTdG9QRTtFQUNFO0lJK0JBO0lBQUE7RWIybVBGO0VTcG9QRTtJSXlCQTtJQUFBO0ViK21QRjtBQUNGO0FZbjNPUTtFQUVJO0FabzNPWjtBWTcyT1E7RUFFSTtBWjgyT1o7QVkvNU5JO0VDdnRCQTtBYnluUEo7QVk1NU5JO0VDN3RCQTtBYjRuUEo7QVkxek9FOzs7RUNsVUU7QWJpb1BKO0FjdmhQRTtFRDFHRTtBYm9vUEo7QWNqL09JO0VBR0ksYUFyQjBCO0Fkc2dQbEM7QWMvOE9NO0VBZUY7RUFJQSxhQXRFOEI7QWRzZ1BsQztBY3A3T0k7RUFFSTtBZHE3T1I7QWNoN09NO0VBRUkseUJDdFJTO0VEMlJULGFBNUZ3QjtBZHlnUGxDO0FjdjZPRTtFQUVJO0FkdzZPTjtBYzNpUEU7O0VEMUdFO0FieXBQSjtBK0RobFBZO0VBQ0k7QS9Ea2xQaEI7QStEN2tQSTtFQUNJLGNwQnpIWTtBM0N3c1BwQjtBK0Q1a1BJOztFQUVJLGNwQjlIWTtBM0M0c1BwQjtBK0Q1a1BROztFQUNJLGNwQmpJUTtBM0NndFBwQjtBK0Qza1BJO0VBQ0kseUJwQnRLUztBM0NtdlBqQjtBK0Qxa1BJO0VBQ0kseUJwQnRLZTtBM0NrdlB2QjtBK0R6a1BJOztFQUVJLGNwQjNLZTtBM0NzdlB2QjtBK0R6a1BROztFQUNJLGNwQjlLVztBM0MwdlB2QjtBK0R2a1BJO0VBQ0ksY3BCOUlnQjtFb0IrSWhCO0VBQ0E7RUFDQTtFQUNBO0EvRHlrUFI7QStEdmtQUTtFQUNJO0EvRHlrUFo7QStEMWpQSTtFQUtJO0VBQ0E7RUFDQTtBL0R3alBSO0E4RHB4TUU7RWpEaDdDRTtBYnVzUEo7QThEdHRNRTtFakRqL0NFO0FiMHNQSjtBOERycE1FO0VqRHJqREU7QWI2c1BKO0ErRC9qUFE7RUFUSjtJQVVRO0lBQ0E7RS9Ea2tQVjtBQUNGO0ErRDFqUFE7RUFDSTtBL0Q0alBaO0ErRHRqUFk7RUFDSTtBL0R3alBoQjtBK0RualBJO0VBQ0k7QS9EcWpQUjtBK0Q5aVBZO0VBRUk7RUFDQSxXcEI1T0E7QTNDMnhQaEI7QStEemlQUTtFQUNJO0EvRDJpUFo7QStEdmlQSTtFQUNJO0VBQ0E7RUFDQTtBL0R5aVBSO0ErRHRpUEk7RUFDSTtBL0R3aVBSO0ErRHJpUEk7RUFDSTtBL0R1aVBSO0ErRHBpUEk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsY3BCelJTO0VvQjBSVDtBL0RzaVBSO0ErRHBpUFE7RUFUSjtJQVVRO0lBQ0E7SUFDQTtFL0R1aVBWO0FBQ0Y7QStEcmlQUTtFQUNJLFdwQnJSSTtFb0JzUko7QS9EdWlQWjtBK0RyaVBZO0VBRUk7QS9Ec2lQaEI7QStEamlQWTtFQURKO0lBRVE7RS9Eb2lQZDtBQUNGO0ErRGhpUEk7RUFDSTtFQUNBO0VBQ0E7QS9Ea2lQUjtBK0QvaFBJO0VBQ0k7QS9EaWlQUjtBK0Q5aFBJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsY3BCaFVlO0VvQmlVZjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0EvRGdpUFI7QStEOWhQUTtFQWpCSjtJQWtCUTtFL0RpaVBWO0FBQ0Y7QStEL2hQUTtFQUNJO0EvRGlpUFo7QStEN2hQSTtFQUNJO0EvRCtoUFI7QStENWhQSTtFQUNJO0EvRDhoUFI7QStEM2hQSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBL0Q2aFBSO0ErRDNoUFE7RUFYSjtJQVlRO0UvRDhoUFY7QUFDRjtBK0QzaFBJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsY3BCbFhlO0VvQm1YZjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtBL0Q0aFBSO0ErRDFoUFE7RUFqQko7SUFrQlE7RS9ENmhQVjtBQUNGO0ErRDFoUEk7RUFDSTtBL0Q0aFBSO0ErRHpoUEk7RUFDSTtFQUNBO0VBQ0E7QS9EMmhQUjtBK0R2aFBRO0VBQ0k7QS9EeWhQWjtBK0R0aFBRO0VBQ0k7QS9Ed2hQWjs7QWdFaDdQQTtFQUNJO0VBQ0E7RUFDQTtBaEVtN1BKO0FnRWo3UEk7RUFMSjtJQU1RO0lBQ0E7RWhFbzdQTjtBQUNGO0FnRWw3UEk7RUFWSjtJQWVRO0lBQ0E7RWhFaTdQTjtFZ0V0N1BBO0lBQ0M7RWhFdzdQRDtBQUNGO0FnRWw3UEk7RUFDSTtBaEVvN1BSO0FnRWo3UEk7RUFDSTtFQUNBO0FoRW03UFI7QWdFajdQUTtFQUNJO0FoRW03UFo7QWdFaDdQUTtFQVJKO0lBU1E7SUFDQTtFaEVtN1BWO0VnRWo3UFU7SUFDSTtFaEVtN1BkO0FBQ0Y7QWdFLzZQSTtFQUNJLHlCckIvQnNCO0VxQmdDdEI7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaEVpN1BSO0FnRS82UFE7RUFDSTtBaEVpN1BaO0FnRTc2UEk7RUFDSSx5QnJCcERTO0VxQnFEVCxXckJ2Q1E7RXFCd0NSO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaEUrNlBSO0FnRTc2UFE7RUFiSjtJQWNRO0lBQ0E7SUFDQTtFaEVnN1BWO0FBQ0Y7QWdFNzZQSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhFKzZQUjtBZ0U1NlBJO0VBQ0k7RUFDQTtFQUNBO0FoRTg2UFI7QWdFNTZQUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhFODZQWjtBZ0UzNlBRO0VBQ0k7QWhFNjZQWjtBZ0V6NlBJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQSxXckIzRlE7RXFCNEZSO0VBQ0E7RUFDQTtFQUNBO0FoRTI2UFI7QWdFejZQUTtFQVhKO0lBWVE7SUFDQTtFaEU0NlBWO0FBQ0Y7QWdFejZQSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaEUyNlBSO0FnRXo2UFE7RUFYSjtJQVlRO0lBQ0E7RWhFNDZQVjtBQUNGO0FnRTE2UFE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FoRTQ2UFo7QWdFMTZQWTtFQVBKO0lBUVE7SUFDQTtFaEU2NlBkO0FBQ0Y7QWdFejZQSTtFQUNJO0VBQ0E7RUFDQTtBaEUyNlBSO0FnRXo2UFE7RUFDSTtFQUNBO0VBQ0E7QWhFMjZQWjtBZ0V2NlBJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFbEQ5RUo7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RWtEK0VJO0FoRXk2UFI7QWNwL1BFO0VBR0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBZG8vUE47QWNoL1BFO0VBR0ksNkRBQ0U7RUFLRjtBZDIrUE47QWNwK1BJO0VBRUk7QWRxK1BSO0FjaitQSTtFQUVJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWRrK1BSO0FjNTlQSTtFQUVJO0VBQ0E7RUFDQTtBZDY5UFI7QWN2OVBJO0VBRUkseUZBQ0U7QWR1OVBWO0FjaDlQSTtFQUVJO0VBS0E7QWQ2OFBSO0FjbHZQRTtFQUdJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWRrdlBOO0FjN3VQSTtFQUVJO0VBQ0E7QWQ4dVBSO0FjOThQRTtFRDFHRTtBYjJqUUo7QWN4NlBJO0VBR0ksVWtEdkRrQztBaEUrOVAxQztBY3Q0UE07RUFlRjtFQUlBLFVrRDNHc0M7QWhFaytQMUM7QWMzMlBJO0VBRUk7QWQ0MlBSO0FjdjJQTTtFQUVJLHlCQ3RSUztFRDJSVCxha0RwSWdDO0FoRXcrUDFDO0FjOTFQRTtFQUVJO0FkKzFQTjtBMERwdlBRO0VBQ0k7QTFEc3ZQWjtBY3Y1UE07RUFlRjtFQUlBLFk0QytJMEM7QTFEeXZQOUM7QWdFOStQUTtFQUNJO0FoRWcvUFo7O0FpRWxxUUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBakVxcVFKO0FpRW5xUUk7RUFDSTtFQUNBO0VBQ0E7QWpFcXFRUjs7QWtFcHJRQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FsRXVyUUo7QWtFcnJRSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsY3ZCeUJZO0V1QnhCWjtBbEV1clFSO0FrRXByUUk7RUFDSTtFQUNBO0FsRXNyUVI7O0FtRXZzUUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBbkUwc1FKO0FtRXhzUUk7RUFOSjtJQU9RO0VuRTJzUU47QUFDRjtBbUV6c1FJO0VBQ0k7QW5FMnNRUjtBbUV4c1FJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QW5FMHNRUjtBbUV4c1FRO0VBTko7SUFPUTtFbkUyc1FWO0FBQ0Y7QW1FeHNRSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FuRTBzUVI7QW1FeHNRUTtFQU5KO0lBT1E7RW5FMnNRVjtBQUNGO0FtRXhzUUk7RUFDSTtFQUNBO0VBQ0EsV3hCdEJRO0V3QnVCUix5QnhCckNTO0V3QnNDVDtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FuRTBzUVI7QW1FeHNRUTtFQVhKO0lBWVE7SUFDQTtJQUNBO0VuRTJzUVY7QUFDRjtBbUV2c1FJO0VBQ0k7RUFDQTtFQUNBLGN4QjdCUTtFd0I4QlI7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBbkV5c1FSO0FtRXZzUVE7RUFWSjtJQVdRO0lBQ0E7SUFDQTtFbkUwc1FWO0FBQ0Y7QW1FdnNRSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFckRXSjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtBZDhyUUo7QWMxclFFO0VBR0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBZDByUU47QWN0clFFO0VBR0ksNkRBQ0U7RUFLRjtBZGlyUU47QWMxcVFJO0VBRUk7QWQycVFSO0FjdnFRSTtFQUVJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWR3cVFSO0FjbHFRSTtFQUVJO0VBQ0E7RUFDQTtBZG1xUVI7QWM3cFFJO0VBRUkseUZBQ0U7QWQ2cFFWO0FjdHBRSTtFQUVJO0VBS0E7QWRtcFFSO0FjeDdQRTtFQUdJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWR3N1BOO0FjbjdQSTtFQUVJO0VBQ0E7QWRvN1BSO0FjcHBRRTtFRDFHRTtBYml3UUo7QWM5bVFJO0VBR0ksVXFEaEprQztBbkU4dlExQztBYzVrUU07RUFlRjtFQUlBLFVxRHBNc0M7QW5FaXdRMUM7QWNqalFJO0VBRUk7QWRralFSO0FjN2lRTTtFQUVJLHlCQ3RSUztFRDJSVCxhcUQ3TmdDO0FuRXV3UTFDO0FjcGlRRTtFQUVJO0FkcWlRTjtBMEQxN1BRO0VBQ0k7QTFENDdQWjtBYzdsUU07RUFlRjtFQUlBLFk0QytJMEM7QTFEKzdQOUM7QW1FN3dRUTtFQUNJO0FuRSt3UVo7O0FvRXgyUUE7RUFDSTtBcEUyMlFKO0FvRXoyUUk7RUFDSTtFQUNBO0VBQ0E7RUFDQSxjekJKUztFeUJLVDtFQUNBO0FwRTIyUVI7QW9FejJRUTtFQVJKO0lBU1E7SUFDQTtFcEU0MlFWO0FBQ0Y7QW9FMTJRUTtFQWJKO0lBY1E7SUFDQTtJQUNBO0lBQ0E7RXBFNjJRVjtBQUNGOztBcUVsNFFBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QXJFcTRRSjtBcUVuNFFJO0VBTko7SUFPUTtJQUNBO0lBQ0E7RXJFczRRTjtBQUNGO0FxRXA0UUk7RUFDSTtBckVzNFFSO0FxRW40UUk7RUFDSTtFQUNBLHlCMUJTWTtFMEJSWjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXJFcTRRUjtBcUVsNFFRO0VBakJKO0lBa0JRO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFckVxNFFWO0FBQ0Y7QXFFbjRRUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBckVxNFFaO0FxRW40UVk7RUFYSjtJQVlRO0lBQ0E7RXJFczRRZDtBQUNGO0FxRWw0UUk7RUFDSTtFQUNBO0VBQ0E7QXJFbzRRUjtBcUVsNFFRO0VBTEo7SUFNUTtJQUNBO0VyRXE0UVY7QUFDRjs7QXNFejhRQTtBQUNBOztDQUFBO0FBR0E7QUFDQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXRFNDhRSjs7QXNFejhRQTtFQUNJO0F0RTQ4UUo7O0FzRXo4UUE7RUFDSTtBdEU0OFFKOztBc0V6OFFBO0FBQ0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F0RTQ4UUo7O0FzRXo4UUE7RUFDSTtBdEU0OFFKOztBc0V6OFFBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QXRFNDhRSjs7QXNFejhRQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0F0RTQ4UUo7O0FzRXo4UUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBdEU0OFFKOztBc0V6OFFBOzs7Q0FBQTtBQUlBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLG1CM0I3Q1k7RTJCOENaO0VBQ0E7RUFDQTtFQUNBO0F0RTQ4UUo7O0FzRXo4UUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXRFNDhRSjs7QXNFejhRQTs7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdEU0OFFKOztBc0V6OFFBO0FBQ0E7O0VBRUk7RUFDQTtFQUNBO0F0RTQ4UUo7O0FzRXo4UUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F0RTQ4UUo7O0FzRXo4UUE7RUFDSTtFQUNBO0VBQ0E7QXRFNDhRSjs7QXNFejhRQTs7RUFFSTtBdEU0OFFKOztBc0V6OFFBOztFQUVJO0F0RTQ4UUo7O0FzRXo4UUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXRFNDhRSjs7QXNFejhRQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXRFNDhRSjs7QXNFejhRQTs7O0NBQUE7QUFJQTtFQUNJO0F0RTQ4UUo7O0FzRXo4UUE7OztDQUFBO0FBSUE7RUFDSTtBdEU0OFFKOztBc0V6OFFBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QXRFNDhRSjs7QXNFejhRQTs7O0NBQUE7QUFJQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdEU0OFFKOztBc0V6OFFBO0VBQ0k7RUFDQTtBdEU0OFFKOztBc0V2OFFBO0FBQ0E7Ozs7Ozs7Ozs7O0NBQUE7QUFZQTs7OztFQUFBO0FBS0E7QUFDQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdEUwOFFKOztBc0V2OFFBO0VBQ0k7QXRFMDhRSjs7QXNFdjhRQTtFQUNJO0VBQ0E7QXRFMDhRSjs7QXNFdjhRQTtFQUNJO0VBQ0E7QXRFMDhRSjs7QXNFdjhRQTtBQUNBO0VBQ0k7QXRFMDhRSjs7QXNFdjhRQTs7O0VBR0k7RUFDQTtFQUNBO0VBQ0E7QXRFMDhRSjs7QXNFdjhRQTtFQUNJO0VBQ0E7OztJQUdJO0V0RTA4UU47RXNFeDhRRTs7SUFFSTtFdEUwOFFOO0FBQ0Y7QXNFdjhRQTtFQUNJO0F0RXk4UUo7O0FzRXQ4UUE7RUFDSTtBdEV5OFFKOztBc0V0OFFBO0VBQ0k7QXRFeThRSjs7QXNFdDhRQTtFQUNJO0F0RXk4UUo7O0FzRXQ4UUE7RUFDSTtBdEV5OFFKOztBc0V0OFFBO0VBQ0k7RUFDQTtBdEV5OFFKOztBc0V0OFFBO0VBQ0k7QXRFeThRSjs7QXNFdDhRQTtFQUNJO0F0RXk4UUo7O0FzRXQ4UUE7QUFDQTs7RUFFSTtBdEV5OFFKOztBc0V0OFFBOzs7Q0FBQTtBQUlBOztFQUVJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdEV5OFFKOztBc0V0OFFBO0VBQ0k7QXRFeThRSjs7QXNFdDhRQTtFQUNJO0F0RXk4UUo7O0FzRXQ4UUE7O0VBRUk7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F0RXk4UUo7O0FzRXQ4UUE7RUFDSTtFQUNBO0F0RXk4UUo7O0FzRXQ4UUE7RUFDSTtFQUNBO0F0RXk4UUo7O0FzRXQ4UUE7Ozs7RUFBQTtBQUtBOztFQUVJO0F0RXk4UUo7O0FzRXQ4UUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdEV5OFFKOztBc0V0OFFBO0VBQ0k7QXRFeThRSjs7QXNFdDhRQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F0RXk4UUo7O0FzRXQ4UUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXRFeThRSjs7QXNFdDhRQTtFQUNJO0VBQ0E7QXRFeThRSjs7QXNFdDhRQTtFQUNJO0VBQ0E7QXRFeThRSjs7QXNFdDhRQTtFQUNJO0F0RXk4UUo7O0FzRXQ4UUE7RUFDSTtBdEV5OFFKOztBc0V0OFFBO0VBQ0k7QXRFeThRSjs7QXNFdDhRQTtBQUNBO0VBQ0k7QXRFeThRSjs7QXNFdDhRQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F0RXk4UUo7O0FzRXQ4UUE7RUFDSTtFQUNBO0F0RXk4UUo7O0FzRXQ4UUE7RUFDSTtBdEV5OFFKOztBc0V0OFFBO0VBQ0k7RUFDQTtBdEV5OFFKOztBc0V0OFFBO0VBQ0k7RUFDQTtBdEV5OFFKOztBc0V0OFFBO0VBQ0k7QXRFeThRSjs7QXNFdDhRQTs7OztFQUFBO0FBS0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXRFeThRSjs7QXNFdDhRQTs7OztFQUFBO0FBS0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F0RXk4UUo7O0FzRXQ4UUE7RUFDSTtFQUNBO0F0RXk4UUo7O0FzRXQ4UUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdEV5OFFKOztBc0V0OFFBO0VBQ0k7QXRFeThRSjs7QXNFdDhRQTtBQUNBO0VBQ0k7QXRFeThRSjs7QXNFdDhRQTs7Ozs7O0VBQUE7QUFPQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F0RXk4UUo7O0FzRXQ4UUE7RUFDSTtFQUNBO0VBQ0E7QXRFeThRSjs7QXNFdDhRQTtFQUNJO0F0RXk4UUo7O0FzRXQ4UUE7RUFDSTtFQUNBO0F0RXk4UUo7O0FzRXQ4UUE7RUFDSTtBdEV5OFFKOztBc0V0OFFBO0VBQ0k7RUFDQTtBdEV5OFFKOztBc0V0OFFBO0VBQ0k7RUFDQTtBdEV5OFFKOztBc0V0OFFBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdEV5OFFKOztBc0V0OFFBO0VBQ0k7OztTQUFBO0VBSUE7RUFDQTtFQUNBO0VBQ0E7QXRFeThRSjs7QXNFdDhRQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdEV5OFFKOztBc0V0OFFBO0VBQ0k7SUFDSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0V0RXk4UU47QUFDRjtBc0V0OFFBO0VBQ0k7SUFDSTtJQUNBO0V0RXc4UU47RXNFdDhRRTtJQUNJO0lBQ0E7RXRFdzhRTjtBQUNGO0FzRXI4UUE7RUFDSTtJQUNJO0lBQ0E7RXRFdThRTjtFc0VyOFFFO0lBQ0k7SUFDQTtFdEV1OFFOO0FBQ0Y7QXNFcDhRQTtFQUNJO0lBQ0k7SUFDQTtFdEVzOFFOO0VzRXA4UUU7SUFDSTtJQUNBO0V0RXM4UU47RXNFcDhRRTtJQUNJO0lBQ0E7RXRFczhRTjtBQUNGO0FzRW44UUE7RUFDSTtJQUNJO0lBQ0E7RXRFcThRTjtFc0VuOFFFO0lBQ0k7SUFDQTtFdEVxOFFOO0VzRW44UUU7SUFDSTtJQUNBO0V0RXE4UU47QUFDRjtBc0VsOFFBOzs7O0VBQUE7QUFLQTtBQUNBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QXRFbzhRSjs7QXNFajhRQTtBQUNBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdEVvOFFKOztBc0VqOFFBOzs7O0VBSUk7RUFDQTtFQUNBO0F0RW84UUo7O0FzRWo4UUE7QUFDQTs7RUFFSTtBdEVvOFFKOztBc0VqOFFBOztFQUVJO0F0RW84UUo7O0FzRWo4UUE7QUFDQTtFQUNJO0F0RW84UUo7O0FzRWo4UUE7RUFDSTtBdEVvOFFKOztBc0VqOFFBO0FBQ0E7RUFDSTtBdEVvOFFKOztBc0VqOFFBOztFQUVJO0F0RW84UUo7O0FzRWo4UUE7OztDQUFBO0FBSUE7Ozs7RUFJSTtFQUNBO0F0RW84UUo7O0FzRWo4UUE7QUFDQTs7O0VBR0k7QXRFbzhRSjs7QXNFajhRQTtFQUNJO0F0RW84UUo7O0FzRWo4UUE7RUFDSTtBdEVvOFFKOztBc0VoOFFBO0VBQ0k7QXRFbThRSjs7QXNFaDhRQTtFQUNJO0F0RW04UUo7O0FzRWg4UUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdEVtOFFKO0FzRWo4UUk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXRFbThRUjtBc0VoOFFJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdEVrOFFSOztBc0U5N1FBOztFQUVJO0F0RWk4UUo7O0FzRTc3UUk7RUFDSTtFQUNBO0VBQ0E7QXRFZzhRUjtBc0U3N1FJO0VBQ0k7QXRFKzdRUjs7QXNFMzdRQTtFQUNJO0F0RTg3UUo7QXNFNTdRSTtFQUhKO0lBSVE7SUFDQTtFdEUrN1FOO0FBQ0Y7QXNFNzdRSTtFQVJKO0lBU1E7RXRFZzhRTjtBQUNGO0FzRTk3UUk7RUFaSjtJQWFRO0V0RWk4UU47QUFDRjs7QXVFcndTQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0F2RXd3U0o7QXVFcndTQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdkV1d1NKOztBdUVwd1NBO0VBQ0k7QXZFdXdTSjs7QXVFcHdTQTtFQUNJO0F2RXV3U0o7O0F1RXB3U0E7RUFDSTtBdkV1d1NKOztBdUVwd1NBO0VBQ0k7QXZFdXdTSjs7QXVFcHdTQTtFQUNJO0F2RXV3U0o7O0F1RXB3U0E7RUFDSTtBdkV1d1NKOztBdUVwd1NBO0VBQ0k7QXZFdXdTSjs7QXVFcHdTQTtFQUNJO0F2RXV3U0o7O0F1RWx3U0E7RUFDSTtBdkVxd1NKO0F1RW53U0k7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXZFcXdTUjs7QXVFL3ZTSTs7RUFDSTtBdkVtd1NSOztBdUU5dlNJO0VBQ0k7QXZFaXdTUjs7QXVFM3ZTSTs7RUFDSTtBdkUrdlNSOztBdUV6dlNJOztFQUNJO0F2RTZ2U1I7O0F1RXZ2U0k7O0VBQ0k7QXZFMnZTUjs7QXVFcnZTSTs7RUFDSTtBdkV5dlNSOztBdUVudlNBO0VBQ0k7QXZFc3ZTSjs7QXVFbnZTQTtFQUNJO0F2RXN2U0o7O0F1RW52U0E7OztFQUdJO0F2RXN2U0o7O0F1RW52U0E7RUFDSTtBdkVzdlNKOztBdUVudlNBO0VBQ0k7QXZFc3ZTSjs7QXVFbnZTQTtFQUNJO0F2RXN2U0o7O0F1RW52U0E7RUFDSTtBdkVzdlNKOztBdUVudlNBO0VBQ0k7QXZFc3ZTSjs7QXVFbnZTQTtFQUNJO0F2RXN2U0o7O0F1RW52U0E7RUFDSTtBdkVzdlNKOztBdUVudlNBOztFQUVJO0F2RXN2U0o7O0F3RXQ0U0E7RUFDSTtFQUNBO0VBQ0EsYUFwQnNCO0VBcUJ0QixtQkFqQnlCO0VBa0J6QjtBeEV5NFNKO0F3RXY0U0k7RUFQSjtJQVFRLGFBeEJtQjtJQXlCbkIsbUJBckJzQjtFeEUrNVM1QjtBQUNGO0F3RXo0U0k7RUFYSjtJQVlRLGFBM0JvQjtJQTRCcEIsbUJBeEJ1QjtFeEVvNlM3QjtBQUNGO0F3RTE0U0k7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBeEU0NFNSO0F3RTE0U1E7RUFOSjtJQU9RO0lBQ0E7RXhFNjRTVjtBQUNGO0F3RTU0U1E7RUFWSjtJQVdRO0lBQ0E7RXhFKzRTVjtBQUNGO0F3RTc0U1E7O0VBRUksY0ExQ1c7QXhFeTdTdkI7QXdFNzRTWTtFQUpKOztJQUtRLGFBNUNRO0V4RTY3U3RCO0FBQ0Y7QXdFaDVTWTtFQVBKOztJQVFRLFdBOUNTO0V4RWs4U3ZCO0FBQ0Y7QXdFbDVTWTs7RUFDSTtFQUNBO0VBQ0E7QXhFcTVTaEI7QXdFbDVTWTs7RUFDSSxhQXJEbUI7QXhFMDhTbkM7QXdFbjVTZ0I7RUFISjs7SUFJUSxhQXZEZ0I7RXhFODhTbEM7QUFDRjtBd0V0NVNnQjtFQU5KOztJQU9RLGFBekRpQjtFeEVtOVNuQztBQUNGO0F3RXQ1U1E7RUFDSTtBeEV3NVNaO0F3RW41U1E7O0VBRUk7QXhFcTVTWjtBd0VuNVNZO0VBSko7O0lBS1E7RXhFdTVTZDtBQUNGO0F3RXQ1U1k7RUFQSjs7SUFRUTtFeEUwNVNkO0FBQ0Y7QXdFejVTWTtFQVZKOztJQVdRO0V4RTY1U2Q7QUFDRjtBd0V6NVNROztFQUVJO0F4RTI1U1o7QXdFejVTWTtFQUpKOztJQUtRO0V4RTY1U2Q7QUFDRjtBd0U1NVNZO0VBUEo7O0lBUVE7RXhFZzZTZDtBQUNGO0F3RS81U1k7RUFWSjs7SUFXUTtFeEVtNlNkO0FBQ0Y7QXdFLzVTUTs7RUFFSTtBeEVpNlNaO0F3RS81U1k7RUFKSjs7SUFLUTtFeEVtNlNkO0FBQ0Y7QXdFbDZTWTtFQVBKOztJQVFRO0V4RXM2U2Q7QUFDRjtBd0VyNlNZO0VBVko7O0lBV1E7RXhFeTZTZDtBQUNGO0F3RXI2U1E7O0VBRUk7QXhFdTZTWjtBd0VyNlNZO0VBSko7O0lBS1E7RXhFeTZTZDtBQUNGO0F3RXg2U1k7RUFQSjs7SUFRUTtFeEU0NlNkO0FBQ0Y7QXdFMzZTWTtFQVZKOztJQVdRO0V4RSs2U2Q7QUFDRjtBd0UzNlNROztFQUVJO0F4RTY2U1o7QXdFMzZTWTtFQUpKOztJQUtRO0V4RSs2U2Q7QUFDRjtBd0U5NlNZO0VBUEo7O0lBUVE7RXhFazdTZDtBQUNGO0F3RWo3U1k7RUFWSjs7SUFXUTtFeEVxN1NkO0FBQ0Y7QXdFajdTUTs7RUFFSTtBeEVtN1NaO0F3RWo3U1k7RUFKSjs7SUFLUTtFeEVxN1NkO0FBQ0Y7QXdFcDdTWTtFQVBKOztJQVFRO0V4RXc3U2Q7QUFDRjtBd0V2N1NZO0VBVko7O0lBV1E7RXhFMjdTZDtBQUNGO0F3RXY3U1E7O0VBRUk7QXhFeTdTWjtBd0V2N1NZO0VBSko7O0lBS1E7RXhFMjdTZDtBQUNGO0F3RTE3U1k7RUFQSjs7SUFRUTtFeEU4N1NkO0FBQ0Y7QXdFNzdTWTtFQVZKOztJQVdRO0V4RWk4U2Q7QUFDRjtBd0U3N1NROztFQUVJO0F4RSs3U1o7QXdFNzdTWTtFQUpKOztJQUtRO0V4RWk4U2Q7QUFDRjtBd0VoOFNZO0VBUEo7O0lBUVE7RXhFbzhTZDtBQUNGO0F3RW44U1k7RUFWSjs7SUFXUTtFeEV1OFNkO0FBQ0Y7QXdFbjhTUTs7RUFFSTtBeEVxOFNaO0F3RW44U1k7RUFKSjs7SUFLUTtFeEV1OFNkO0FBQ0Y7QXdFdDhTWTtFQVBKOztJQVFRO0V4RTA4U2Q7QUFDRjtBd0V6OFNZO0VBVko7O0lBV1E7RXhFNjhTZDtBQUNGO0F3RXo4U1E7O0VBRUk7QXhFMjhTWjtBd0V6OFNZO0VBSko7O0lBS1E7RXhFNjhTZDtBQUNGO0F3RTU4U1k7RUFQSjs7SUFRUTtFeEVnOVNkO0FBQ0Y7QXdFLzhTWTtFQVZKOztJQVdRO0V4RW05U2Q7QUFDRjs7QXlFdHNUQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7QXpFd3NUSjtBeUV0c1RJO0VBWEo7SUFhUTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFekV3c1ROO0FBQ0Y7O0F5RXJzVEE7RUFDSSxXOUJWWTtFOEJXWjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBekV3c1RKO0F5RXRzVEk7RUFoQko7SUFpQlE7SUFDQTtJQUNBLHlCOUJRUTtJOEJQUjtJQUNBO0lBQ0E7RXpFeXNUTjtBQUNGO0F5RXRzVFE7RUFESjtJQUVRLHlCOUI5Q1c7RTNDdXZUckI7QUFDRjtBeUVyc1RRO0VBREo7SUFFUSx5QjlCUk07RTNDZ3RUaEI7QUFDRjtBeUVyc1RJO0VBQ0ksVzlCL0NRO0EzQ3N2VGhCO0F5RXBzVEk7RUFDSTtFQUNBLHlCOUJsRVM7RThCbUVULFc5QnJEUTtFOEJzRFI7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXpFc3NUUjtBeUVwc1RRO0VBZko7SUFnQlE7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFekV1c1RWO0FBQ0Y7QXlFcnNUUTtFQUNJLHlCOUJwRlc7QTNDMnhUdkI7QXlFcnNUWTtFQUhKO0lBSVE7RXpFd3NUZDtBQUNGO0F5RXJzVFE7RUFDSSx5QjlCaERNO0EzQ3V2VGxCO0F5RXJzVFk7RUFISjtJQUlRO0V6RXdzVGQ7QUFDRjtBeUVyc1RRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXpFdXNUWjtBeUVyc1RZO0VBWko7SUFhUTtFekV3c1RkO0FBQ0Y7QXlFdHNUWTtFQUNJO0VBQ0E7RUFDQTtBekV3c1RoQjtBeUV0c1RnQjtFQUxKO0lBTVE7RXpFeXNUbEI7QUFDRjtBeUV0c1RZO0VBQ0k7RUFDQTtFQUNBO0F6RXdzVGhCO0F5RXRzVGdCO0VBTEo7SUFNUTtFekV5c1RsQjtBQUNGO0F5RXBzVEk7RUFDSSx5QjlCOUlTO0U4QitJVDtFQUNBO0VBQ0E7RUFDQTtBekVzc1RSO0F5RXBzVFE7RUFDSSx5QjlCakpXO0EzQ3UxVHZCO0F5RW5zVFE7RUFDSSx5QjlCekdNO0EzQzh5VGxCO0F5RWxzVFE7RUFmSjtJQWdCUTtJQUNBO0lBQ0E7RXpFcXNUVjtBQUNGO0F5RWxzVFk7RUFESjtJQUVRO0V6RXFzVGQ7QUFDRjtBeUVqc1RZO0VBREo7SUFFUTtFekVvc1RkO0FBQ0Y7QXlFaHNUSTtFQUNJLFc5QmxLUTtFOEJtS1I7QXpFa3NUUjs7QTBFcDNUSTtFQUNJO0ExRXUzVFI7QTBFcDNUSTtFQUNJO0VBQ0E7QTFFczNUUjtBMEVwM1RRO0VBSko7SUFLUTtFMUV1M1RWO0FBQ0Y7QTBFcjNUUTtFQVJKO0lBU1E7RTFFdzNUVjtBQUNGO0EwRXQzVFE7RUFaSjtJQWFRO0UxRXkzVFY7QUFDRjtBMEV2M1RRO0VBaEJKO0lBaUJRO0UxRTAzVFY7QUFDRjtBMEV4M1RRO0VBcEJKO0lBcUJRO0UxRTIzVFY7QUFDRjtBMEV2M1RRO0VBQ0k7RUFDQTtBMUV5M1RaO0EwRXYzVFk7RUFKSjtJQUtRO0UxRTAzVGQ7QUFDRjtBMEV4M1RZO0VBUko7SUFTUTtFMUUyM1RkO0FBQ0Y7QTBFdjNUSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0ExRXkzVFI7QTBFdjNUUTtFQWxCSjtJQW1CUTtJQUNBO0lBQ0E7RTFFMDNUVjtBQUNGO0EwRXgzVFE7RUFFSTtFQUNBO0ExRXkzVFo7O0EyRWo4VEk7RUFDSTtBM0VvOFRSOztBMkVoOFRBO0VBQ0k7QTNFbThUSjs7QTJFaDhUQTtFQUNJO0EzRW04VEo7QTJFajhUSTtFQUNJO0EzRW04VFI7QTJFajhUUTtFQUhKO0lBSVE7RTNFbzhUVjtBQUNGOztBNEVwOVRJO0VBQ0U7QTVFdTlUTjtBNEVwOVRJO0VBQ0U7QTVFczlUTjtBNEVsOVRFO0VBQ0U7SUFDRTtFNUVvOVRKO0FBQ0Y7O0E0RS84VEU7RUFDRTtFQUNBO0E1RWs5VEo7QTRFaDlUSTtFQUNFO0VBQ0E7QTVFazlUTjtBNEU5OFRFO0VBQ0U7RUFDQTtBNUVnOVRKO0E0RTk4VEk7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBNUVnOVROO0E0RTc4VEk7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTVFKzhUTjtBNEU1OFRJO0VBQ0U7QTVFODhUTjtBNEU1OFRNO0VBQ0U7QTVFODhUUjtBNEV6OFRNO0VBQ0U7QTVFMjhUUjtBNEV2OFRJOztFQUVFO0E1RXk4VE47QTRFcjhURTtFQUNFO0VBQ0E7RUFDQTtBNUV1OFRKO0E0RXA4VEU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBNUVzOFRKO0E0RW44VEU7RUFDRTtBNUVxOFRKO0E0RWw4VEU7RUFDRTtFQUNBO0E1RW84VEo7QTRFajhURTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTVFbThUSjtBNEVoOFRFO0VBQ0U7RUFDQTtFQUNBO0E1RWs4VEo7QTRFaDhUSTtFQUNFO0VBQ0E7RUFDQTtBNUVrOFROOztBNEU1N1RFO0VBQ0U7RUFDQTtBNUUrN1RKO0E0RTU3VEU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E1RTg3VEo7QTRFMzdURTtFQUNFO0VBQ0E7RUFDQTtBNUU2N1RKO0E0RTM3VEk7RUFDRTtFQUNBO0VBQ0E7QTVFNjdUTjs7QTZFL2tVQTtFQUNJO0E3RWtsVUo7QTZFaGxVSTtFQUhKO0lBSVE7RTdFbWxVTjtBQUNGO0E2RWpsVUk7RUFDSTtFQUNBO0E3RW1sVVI7QTZFaGxVSTtFQUNJO0VBQ0E7RUFDQTtBN0VrbFVSO0E2RWhsVVE7RUFMSjtJQU1RO0U3RW1sVVY7QUFDRjtBNkVobFVJO0VBQ0k7QTdFa2xVUjtBNkUva1VJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E3RWlsVVI7O0E4RXBuVUE7RUFDSTtFQUNBO0VBQ0E7QTlFdW5VSjtBOEVyblVJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTlFdW5VUjtBOEVyblVRO0VBWko7SUFhUTtFOUV3blVWO0FBQ0Y7QThFcm5VSTtFQUNJLHlCbkNac0I7RW1DYXRCO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTlFdW5VUjtBOEVwblVJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTlFc25VUjtBOEVwblVRO0VBWko7SUFhUTtFOUV1blVWO0FBQ0Y7QThFbm5VUTtFQUNJO0E5RXFuVVo7QThFbG5VUTtFQUNJO0E5RW9uVVo7QThFaG5VSTtFQUNJLFduQzFDUTtFbUMyQ1I7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E5RWtuVVI7QThFaG5VUTtFQVpKO0lBYVE7RTlFbW5VVjtBQUNGO0E4RWpuVVE7RUFoQko7SUFpQlE7SUFDQTtFOUVvblVWO0FBQ0Y7QThFam5VSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0E5RW1uVVI7QThFaG5VSTtFQUNJO0VBQ0E7RUFDQTtBOUVrblVSO0E4RWhuVVE7RUFDSTtFQUNBO0VBQ0E7QTlFa25VWjtBOEU5bVVJO0VBQ0ksV25DbkZRO0VtQ29GUjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTlFZ25VUjtBOEU5bVVRO0VBVEo7SUFVUTtFOUVpblVWO0FBQ0Y7QThFL21VUTtFQWJKO0lBY1E7RTlFa25VVjtBQUNGO0E4RWhuVVE7RUFqQko7SUFrQlE7RTlFbW5VVjtBQUNGO0E4RWhuVUk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E5RWtuVVI7QThFaG5VUTtFQVBKO0lBUVE7RTlFbW5VVjtBQUNGO0E4RWhuVUk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E5RWtuVVI7QThFaG5VUTtFQUNJO0VBQ0Esc0JuQzdISTtBM0MrdVVoQixDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL190YWJsZXMuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvdW5pY2VmL3Njc3MvbGliL19vdmVycmlkZS1ib290c3RyYXA0LXZhcmlhYmxlcy5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy91bmljZWYvc2Nzcy9wYWdlcy9hcnRpY2xlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9faG92ZXIuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL190YWJsZS1yb3cuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19icmVha3BvaW50cy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fY2xvc2Uuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdmVuZG9yL19yZnMuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3RvYXN0cy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2JvcmRlci1yYWRpdXMuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQG1hdGVyaWFsL3RvdWNoLXRhcmdldC9fbWl4aW5zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BtYXRlcmlhbC9jaGVja2JveC9fa2V5ZnJhbWVzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BtYXRlcmlhbC9jaGVja2JveC9fdmFyaWFibGVzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BtYXRlcmlhbC9hbmltYXRpb24vX3ZhcmlhYmxlcy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AbWF0ZXJpYWwvY2hlY2tib3gvX21peGlucy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AbWF0ZXJpYWwvdGhlbWUvX21peGlucy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AbWF0ZXJpYWwvcmlwcGxlL19taXhpbnMuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQG1hdGVyaWFsL3JpcHBsZS9fdmFyaWFibGVzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BtYXRlcmlhbC90b3VjaC10YXJnZXQvX3ZhcmlhYmxlcy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AbWF0ZXJpYWwvcmlwcGxlL19rZXlmcmFtZXMuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQG1hdGVyaWFsL2VsZXZhdGlvbi9fbWl4aW5zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BtYXRlcmlhbC9kaWFsb2cvX21peGlucy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AbWF0ZXJpYWwvZGlhbG9nL192YXJpYWJsZXMuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQG1hdGVyaWFsL3NoYXBlL19taXhpbnMuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQG1hdGVyaWFsL3J0bC9fbWl4aW5zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BtYXRlcmlhbC90eXBvZ3JhcGh5L19taXhpbnMuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQG1hdGVyaWFsL2Zsb2F0aW5nLWxhYmVsL19taXhpbnMuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQG1hdGVyaWFsL2Zvcm0tZmllbGQvX21peGlucy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AbWF0ZXJpYWwvbGlzdC9fbWl4aW5zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BtYXRlcmlhbC9saXN0L192YXJpYWJsZXMuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQG1hdGVyaWFsL21lbnUvX21peGlucy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AbWF0ZXJpYWwvbWVudS9fdmFyaWFibGVzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BtYXRlcmlhbC9tZW51LXN1cmZhY2UvX21peGlucy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AbWF0ZXJpYWwvbWVudS1zdXJmYWNlL192YXJpYWJsZXMuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQG1hdGVyaWFsL3JhZGlvL19taXhpbnMuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQG1hdGVyaWFsL3JhZGlvL192YXJpYWJsZXMuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQG1hdGVyaWFsL3NlbGVjdC9oZWxwZXItdGV4dC9fbWl4aW5zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BtYXRlcmlhbC9zZWxlY3QvaWNvbi9fbWl4aW5zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BtYXRlcmlhbC9zZWxlY3QvaWNvbi9fdmFyaWFibGVzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BtYXRlcmlhbC9saW5lLXJpcHBsZS9fbWl4aW5zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BtYXRlcmlhbC9ub3RjaGVkLW91dGxpbmUvX21peGlucy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AbWF0ZXJpYWwvbm90Y2hlZC1vdXRsaW5lL192YXJpYWJsZXMuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQG1hdGVyaWFsL3NlbGVjdC9fbWl4aW5zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BtYXRlcmlhbC9zZWxlY3QvX3ZhcmlhYmxlcy5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy91bmljZWYvc2Nzcy9jb21wb25lbnRzL19maWxlLWlucHV0LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3VuaWNlZi9zY3NzL2xpYi9fcHJvamVjdC12YXJpYWJsZXMuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvdW5pY2VmL3Njc3MvY29tcG9uZW50cy9fYWNjb3JkaW9uNS5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy91bmljZWYvc2Nzcy9jb21wb25lbnRzL19hY2NvcmRpb242LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3VuaWNlZi9zY3NzL2NvbXBvbmVudHMvX21hdGVyaWFsLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3VuaWNlZi9zY3NzL2NvbXBvbmVudHMvX2JyZWFkY3J1bWIuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvdW5pY2VmL3Njc3MvY29tcG9uZW50cy9fYXNpZGUtc2VjdGlvbi5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy91bmljZWYvc2Nzcy9jb21wb25lbnRzL19maWxlLWRvd25sb2FkLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3VuaWNlZi9zY3NzL2NvbXBvbmVudHMvX2FzaWRlLWhlYWRlci1idXR0b24uc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvdW5pY2VmL3Njc3MvY29tcG9uZW50cy9fYXJ0aWNsZS5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AbWF0ZXJpYWwvYnV0dG9uL19taXhpbnMuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvdW5pY2VmL3Njc3MvY29tcG9uZW50cy9fc2hhcmUuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvdW5pY2VmL3Njc3MvY29tcG9uZW50cy9fc2l0ZS1mb3JtLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3VuaWNlZi9zY3NzL2NvbXBvbmVudHMvX3NvY2lhbC1jb250ZW50LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3VuaWNlZi9zY3NzL2NvbXBvbmVudHMvX3NlZS1hbHNvLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3VuaWNlZi9zY3NzL2NvbXBvbmVudHMvX2NhcmQtMi5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy91bmljZWYvc2Nzcy9jb21wb25lbnRzL19idXR0b25zLW1peGlucy5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy91bmljZWYvc2Nzcy9jb21wb25lbnRzL19wcm9ncmFtcy5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy91bmljZWYvc2Nzcy9jb21wb25lbnRzL19wcm9ncmFtLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3VuaWNlZi9zY3NzL2NvbXBvbmVudHMvX3BldGl0aW9uLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BtYXRlcmlhbC90ZXh0ZmllbGQvX21peGlucy5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy91bmljZWYvc2Nzcy9jb21wb25lbnRzL19uZXdzbGV0dGVyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3VuaWNlZi9zY3NzL2NvbXBvbmVudHMvX3RlYXNlci5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy91bmljZWYvc2Nzcy9jb21wb25lbnRzL19kZWNvLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3VuaWNlZi9zY3NzL2NvbXBvbmVudHMvX3RlYXNlci0zNjUuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvdW5pY2VmL3Njc3MvY29tcG9uZW50cy9fdGVhc2VyLXNob3J0LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3VuaWNlZi9zY3NzL2NvbXBvbmVudHMvX3JlYWQtdG9vLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3VuaWNlZi9zY3NzL2NvbXBvbmVudHMvX2dhbGxlcnktc2V0LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3VuaWNlZi9zY3NzL2NvbXBvbmVudHMvX3Bob3Rvc3dpcGUuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvdW5pY2VmL3Njc3MvY29tcG9uZW50cy9fZmlsZS10eXBlcy1pY28uc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvdW5pY2VmL3Njc3MvY29tcG9uZW50cy9fYXJyYW5nZW1lbnQuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvdW5pY2VmL3Njc3MvY29tcG9uZW50cy9fdG9hc3Quc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvdW5pY2VmL3Njc3MvY29tcG9uZW50cy9fbW9kYWwtZnVsbC5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy91bmljZWYvc2Nzcy9jb21wb25lbnRzL19tYWluLXBhZ2Uuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvdW5pY2VmL3Njc3MvY29tcG9uZW50cy9fbW9kYWwtbmV3c2xldHRlci5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy91bmljZWYvc2Nzcy9jb21wb25lbnRzL19tYXRlcmlhbHMtbGlzdC5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy91bmljZWYvc2Nzcy9jb21wb25lbnRzL19tYXRlcmlhbC1pdGVtLnNjc3MiXSwic291cmNlc0NvbnRlbnQiOlsiLy9cbi8vIEJhc2ljIEJvb3RzdHJhcCB0YWJsZVxuLy9cblxuLnRhYmxlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206ICRzcGFjZXI7XG4gIGNvbG9yOiAkdGFibGUtY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1iZzsgLy8gUmVzZXQgZm9yIG5lc3Rpbmcgd2l0aGluIHBhcmVudHMgd2l0aCBgYmFja2dyb3VuZC1jb2xvcmAuXG5cbiAgdGgsXG4gIHRkIHtcbiAgICBwYWRkaW5nOiAkdGFibGUtY2VsbC1wYWRkaW5nO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgYm9yZGVyLXRvcDogJHRhYmxlLWJvcmRlci13aWR0aCBzb2xpZCAkdGFibGUtYm9yZGVyLWNvbG9yO1xuICB9XG5cbiAgdGhlYWQgdGgge1xuICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gICAgYm9yZGVyLWJvdHRvbTogKDIgKiAkdGFibGUtYm9yZGVyLXdpZHRoKSBzb2xpZCAkdGFibGUtYm9yZGVyLWNvbG9yO1xuICB9XG5cbiAgdGJvZHkgKyB0Ym9keSB7XG4gICAgYm9yZGVyLXRvcDogKDIgKiAkdGFibGUtYm9yZGVyLXdpZHRoKSBzb2xpZCAkdGFibGUtYm9yZGVyLWNvbG9yO1xuICB9XG59XG5cblxuLy9cbi8vIENvbmRlbnNlZCB0YWJsZSB3LyBoYWxmIHBhZGRpbmdcbi8vXG5cbi50YWJsZS1zbSB7XG4gIHRoLFxuICB0ZCB7XG4gICAgcGFkZGluZzogJHRhYmxlLWNlbGwtcGFkZGluZy1zbTtcbiAgfVxufVxuXG5cbi8vIEJvcmRlciB2ZXJzaW9uc1xuLy9cbi8vIEFkZCBvciByZW1vdmUgYm9yZGVycyBhbGwgYXJvdW5kIHRoZSB0YWJsZSBhbmQgYmV0d2VlbiBhbGwgdGhlIGNvbHVtbnMuXG5cbi50YWJsZS1ib3JkZXJlZCB7XG4gIGJvcmRlcjogJHRhYmxlLWJvcmRlci13aWR0aCBzb2xpZCAkdGFibGUtYm9yZGVyLWNvbG9yO1xuXG4gIHRoLFxuICB0ZCB7XG4gICAgYm9yZGVyOiAkdGFibGUtYm9yZGVyLXdpZHRoIHNvbGlkICR0YWJsZS1ib3JkZXItY29sb3I7XG4gIH1cblxuICB0aGVhZCB7XG4gICAgdGgsXG4gICAgdGQge1xuICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMiAqICR0YWJsZS1ib3JkZXItd2lkdGg7XG4gICAgfVxuICB9XG59XG5cbi50YWJsZS1ib3JkZXJsZXNzIHtcbiAgdGgsXG4gIHRkLFxuICB0aGVhZCB0aCxcbiAgdGJvZHkgKyB0Ym9keSB7XG4gICAgYm9yZGVyOiAwO1xuICB9XG59XG5cbi8vIFplYnJhLXN0cmlwaW5nXG4vL1xuLy8gRGVmYXVsdCB6ZWJyYS1zdHJpcGUgc3R5bGVzIChhbHRlcm5hdGluZyBncmF5IGFuZCB0cmFuc3BhcmVudCBiYWNrZ3JvdW5kcylcblxuLnRhYmxlLXN0cmlwZWQge1xuICB0Ym9keSB0cjpudGgtb2YtdHlwZSgjeyR0YWJsZS1zdHJpcGVkLW9yZGVyfSkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1hY2NlbnQtYmc7XG4gIH1cbn1cblxuXG4vLyBIb3ZlciBlZmZlY3Rcbi8vXG4vLyBQbGFjZWQgaGVyZSBzaW5jZSBpdCBoYXMgdG8gY29tZSBhZnRlciB0aGUgcG90ZW50aWFsIHplYnJhIHN0cmlwaW5nXG5cbi50YWJsZS1ob3ZlciB7XG4gIHRib2R5IHRyIHtcbiAgICBAaW5jbHVkZSBob3ZlcigpIHtcbiAgICAgIGNvbG9yOiAkdGFibGUtaG92ZXItY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtaG92ZXItYmc7XG4gICAgfVxuICB9XG59XG5cblxuLy8gVGFibGUgYmFja2dyb3VuZHNcbi8vXG4vLyBFeGFjdCBzZWxlY3RvcnMgYmVsb3cgcmVxdWlyZWQgdG8gb3ZlcnJpZGUgYC50YWJsZS1zdHJpcGVkYCBhbmQgcHJldmVudFxuLy8gaW5oZXJpdGFuY2UgdG8gbmVzdGVkIHRhYmxlcy5cblxuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gIEBpbmNsdWRlIHRhYmxlLXJvdy12YXJpYW50KCRjb2xvciwgdGhlbWUtY29sb3ItbGV2ZWwoJGNvbG9yLCAkdGFibGUtYmctbGV2ZWwpLCB0aGVtZS1jb2xvci1sZXZlbCgkY29sb3IsICR0YWJsZS1ib3JkZXItbGV2ZWwpKTtcbn1cblxuQGluY2x1ZGUgdGFibGUtcm93LXZhcmlhbnQoYWN0aXZlLCAkdGFibGUtYWN0aXZlLWJnKTtcblxuXG4vLyBEYXJrIHN0eWxlc1xuLy9cbi8vIFNhbWUgdGFibGUgbWFya3VwLCBidXQgaW52ZXJ0ZWQgY29sb3Igc2NoZW1lOiBkYXJrIGJhY2tncm91bmQgYW5kIGxpZ2h0IHRleHQuXG5cbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1kdXBsaWNhdGUtc2VsZWN0b3JzXG4udGFibGUge1xuICAudGhlYWQtZGFyayB7XG4gICAgdGgge1xuICAgICAgY29sb3I6ICR0YWJsZS1kYXJrLWNvbG9yO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWRhcmstYmc7XG4gICAgICBib3JkZXItY29sb3I6ICR0YWJsZS1kYXJrLWJvcmRlci1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAudGhlYWQtbGlnaHQge1xuICAgIHRoIHtcbiAgICAgIGNvbG9yOiAkdGFibGUtaGVhZC1jb2xvcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1oZWFkLWJnO1xuICAgICAgYm9yZGVyLWNvbG9yOiAkdGFibGUtYm9yZGVyLWNvbG9yO1xuICAgIH1cbiAgfVxufVxuXG4udGFibGUtZGFyayB7XG4gIGNvbG9yOiAkdGFibGUtZGFyay1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWRhcmstYmc7XG5cbiAgdGgsXG4gIHRkLFxuICB0aGVhZCB0aCB7XG4gICAgYm9yZGVyLWNvbG9yOiAkdGFibGUtZGFyay1ib3JkZXItY29sb3I7XG4gIH1cblxuICAmLnRhYmxlLWJvcmRlcmVkIHtcbiAgICBib3JkZXI6IDA7XG4gIH1cblxuICAmLnRhYmxlLXN0cmlwZWQge1xuICAgIHRib2R5IHRyOm50aC1vZi10eXBlKCN7JHRhYmxlLXN0cmlwZWQtb3JkZXJ9KSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtZGFyay1hY2NlbnQtYmc7XG4gICAgfVxuICB9XG5cbiAgJi50YWJsZS1ob3ZlciB7XG4gICAgdGJvZHkgdHIge1xuICAgICAgQGluY2x1ZGUgaG92ZXIoKSB7XG4gICAgICAgIGNvbG9yOiAkdGFibGUtZGFyay1ob3Zlci1jb2xvcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWRhcmstaG92ZXItYmc7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuLy8gUmVzcG9uc2l2ZSB0YWJsZXNcbi8vXG4vLyBHZW5lcmF0ZSBzZXJpZXMgb2YgYC50YWJsZS1yZXNwb25zaXZlLSpgIGNsYXNzZXMgZm9yIGNvbmZpZ3VyaW5nIHRoZSBzY3JlZW5cbi8vIHNpemUgb2Ygd2hlcmUgeW91ciB0YWJsZSB3aWxsIG92ZXJmbG93LlxuXG4udGFibGUtcmVzcG9uc2l2ZSB7XG4gIEBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICAgJG5leHQ6IGJyZWFrcG9pbnQtbmV4dCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkbmV4dCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgJiN7JGluZml4fSB7XG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJGJyZWFrcG9pbnQpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgICAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG5cbiAgICAgICAgLy8gUHJldmVudCBkb3VibGUgYm9yZGVyIG9uIGhvcml6b250YWwgc2Nyb2xsIGR1ZSB0byB1c2Ugb2YgYGRpc3BsYXk6IGJsb2NrO2BcbiAgICAgICAgPiAudGFibGUtYm9yZGVyZWQge1xuICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gVmFyaWFibGVzXG4vL1xuLy8gVmFyaWFibGVzIHNob3VsZCBmb2xsb3cgdGhlIGAkY29tcG9uZW50LXN0YXRlLXByb3BlcnR5LXNpemVgIGZvcm11bGEgZm9yXG4vLyBjb25zaXN0ZW50IG5hbWluZy4gRXg6ICRuYXYtbGluay1kaXNhYmxlZC1jb2xvciBhbmQgJG1vZGFsLWNvbnRlbnQtYm94LXNoYWRvdy14cy5cblxuLy8gQ29sb3Igc3lzdGVtXG5cbiR3aGl0ZTogICAgI2ZmZjtcbiRncmF5LTEwMDogI2Y4ZjlmYTtcbiRncmF5LTIwMDogI2U5ZWNlZjtcbiRncmF5LTMwMDogI2RlZTJlNjtcbiRncmF5LTQwMDogI2NlZDRkYTtcbiRncmF5LTUwMDogI2FkYjViZDtcbiRncmF5LTYwMDogIzZjNzU3ZDtcbiRncmF5LTcwMDogIzQ5NTA1NztcbiRncmF5LTgwMDogIzM0M2E0MDtcbiRncmF5LTkwMDogIzIwMWQxZDtcbiRibGFjazogICAgIzAwMDtcblxuJGdyYXlzOiAoKTtcbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzY3NzL2RvbGxhci12YXJpYWJsZS1kZWZhdWx0XG4kZ3JheXM6IG1hcC1tZXJnZShcbiAgICAgICAgICAgICAgICAoXG4gICAgICAgICAgICAgICAgICAgICAgICBcIjEwMFwiOiAkZ3JheS0xMDAsXG4gICAgICAgICAgICAgICAgICAgICAgICBcIjIwMFwiOiAkZ3JheS0yMDAsXG4gICAgICAgICAgICAgICAgICAgICAgICBcIjMwMFwiOiAkZ3JheS0zMDAsXG4gICAgICAgICAgICAgICAgICAgICAgICBcIjQwMFwiOiAkZ3JheS00MDAsXG4gICAgICAgICAgICAgICAgICAgICAgICBcIjUwMFwiOiAkZ3JheS01MDAsXG4gICAgICAgICAgICAgICAgICAgICAgICBcIjYwMFwiOiAkZ3JheS02MDAsXG4gICAgICAgICAgICAgICAgICAgICAgICBcIjcwMFwiOiAkZ3JheS03MDAsXG4gICAgICAgICAgICAgICAgICAgICAgICBcIjgwMFwiOiAkZ3JheS04MDAsXG4gICAgICAgICAgICAgICAgICAgICAgICBcIjkwMFwiOiAkZ3JheS05MDBcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICRncmF5c1xuKTtcblxuJGJsdWU6ICAgICRwcm9qZWN0LXByaW1hcnk7IC8vIG1vZCAjMDA3YmZmOztcbiRpbmRpZ286ICAjNjYxMGYyO1xuJHB1cnBsZTogICM2ZjQyYzE7XG4kcGluazogICAgI2U4M2U4YztcbiRyZWQ6ICAgICAjZGMzNTQ1O1xuJG9yYW5nZTogICNmZDdlMTQ7XG4keWVsbG93OiAgI2ZmYzEwNztcbiRncmVlbjogICAjMjhhNzQ1O1xuJHRlYWw6ICAgICMyMGM5OTc7XG4kY3lhbjogICAgIzE3YTJiODtcblxuJGNvbG9yczogKCk7XG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2Nzcy9kb2xsYXItdmFyaWFibGUtZGVmYXVsdFxuJGNvbG9yczogbWFwLW1lcmdlKFxuICAgICAgICAgICAgICAgIChcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiYmx1ZVwiOiAgICAgICAkYmx1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiaW5kaWdvXCI6ICAgICAkaW5kaWdvLFxuICAgICAgICAgICAgICAgICAgICAgICAgXCJwdXJwbGVcIjogICAgICRwdXJwbGUsXG4gICAgICAgICAgICAgICAgICAgICAgICBcInBpbmtcIjogICAgICAgJHBpbmssXG4gICAgICAgICAgICAgICAgICAgICAgICBcInJlZFwiOiAgICAgICAgJHJlZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIFwib3JhbmdlXCI6ICAgICAkb3JhbmdlLFxuICAgICAgICAgICAgICAgICAgICAgICAgXCJ5ZWxsb3dcIjogICAgICR5ZWxsb3csXG4gICAgICAgICAgICAgICAgICAgICAgICBcImdyZWVuXCI6ICAgICAgJGdyZWVuLFxuICAgICAgICAgICAgICAgICAgICAgICAgXCJ0ZWFsXCI6ICAgICAgICR0ZWFsLFxuICAgICAgICAgICAgICAgICAgICAgICAgXCJjeWFuXCI6ICAgICAgICRjeWFuLFxuICAgICAgICAgICAgICAgICAgICAgICAgXCJ3aGl0ZVwiOiAgICAgICR3aGl0ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiZ3JheVwiOiAgICAgICAkZ3JheS02MDAsXG4gICAgICAgICAgICAgICAgICAgICAgICBcImdyYXktZGFya1wiOiAgJGdyYXktODAwXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAkY29sb3JzXG4pO1xuXG4kcHJpbWFyeTogICAgICAgJGJsdWU7XG4kc2Vjb25kYXJ5OiAgICAgJGdyYXktNjAwO1xuJHN1Y2Nlc3M6ICAgICAgICRncmVlbjtcbiRpbmZvOiAgICAgICAgICAkY3lhbjtcbiR3YXJuaW5nOiAgICAgICAkeWVsbG93O1xuJGRhbmdlcjogICAgICAgICRyZWQ7XG4kbGlnaHQ6ICAgICAgICAgJGdyYXktMTAwO1xuJGRhcms6ICAgICAgICAgICRncmF5LTgwMDtcblxuJHRoZW1lLWNvbG9yczogKCk7XG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2Nzcy9kb2xsYXItdmFyaWFibGUtZGVmYXVsdFxuJHRoZW1lLWNvbG9yczogbWFwLW1lcmdlKFxuICAgICAgICAgICAgICAgIChcbiAgICAgICAgICAgICAgICAgICAgICAgIFwicHJpbWFyeVwiOiAgICAkcHJpbWFyeSxcbiAgICAgICAgICAgICAgICAgICAgICAgIFwic2Vjb25kYXJ5XCI6ICAkc2Vjb25kYXJ5LFxuICAgICAgICAgICAgICAgICAgICAgICAgXCJzdWNjZXNzXCI6ICAgICRzdWNjZXNzLFxuICAgICAgICAgICAgICAgICAgICAgICAgXCJpbmZvXCI6ICAgICAgICRpbmZvLFxuICAgICAgICAgICAgICAgICAgICAgICAgXCJ3YXJuaW5nXCI6ICAgICR3YXJuaW5nLFxuICAgICAgICAgICAgICAgICAgICAgICAgXCJkYW5nZXJcIjogICAgICRkYW5nZXIsXG4gICAgICAgICAgICAgICAgICAgICAgICBcImxpZ2h0XCI6ICAgICAgJGxpZ2h0LFxuICAgICAgICAgICAgICAgICAgICAgICAgXCJkYXJrXCI6ICAgICAgICRkYXJrXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAkdGhlbWUtY29sb3JzXG4pO1xuXG4vLyBTZXQgYSBzcGVjaWZpYyBqdW1wIHBvaW50IGZvciByZXF1ZXN0aW5nIGNvbG9yIGp1bXBzXG4kdGhlbWUtY29sb3ItaW50ZXJ2YWw6ICAgICAgOCU7XG5cbi8vIFRoZSB5aXEgbGlnaHRuZXNzIHZhbHVlIHRoYXQgZGV0ZXJtaW5lcyB3aGVuIHRoZSBsaWdodG5lc3Mgb2YgY29sb3IgY2hhbmdlcyBmcm9tIFwiZGFya1wiIHRvIFwibGlnaHRcIi4gQWNjZXB0YWJsZSB2YWx1ZXMgYXJlIGJldHdlZW4gMCBhbmQgMjU1LlxuJHlpcS1jb250cmFzdGVkLXRocmVzaG9sZDogIDE1MDtcblxuLy8gQ3VzdG9taXplIHRoZSBsaWdodCBhbmQgZGFyayB0ZXh0IGNvbG9ycyBmb3IgdXNlIGluIG91ciBZSVEgY29sb3IgY29udHJhc3QgZnVuY3Rpb24uXG4keWlxLXRleHQtZGFyazogICAgICAgICAgICAgJGdyYXktOTAwO1xuJHlpcS10ZXh0LWxpZ2h0OiAgICAgICAgICAgICR3aGl0ZTtcblxuLy8gQ2hhcmFjdGVycyB3aGljaCBhcmUgZXNjYXBlZCBieSB0aGUgZXNjYXBlLXN2ZyBmdW5jdGlvblxuJGVzY2FwZWQtY2hhcmFjdGVyczogKFxuICAgICAgICAgICAgICAgIChcIjxcIixcIiUzY1wiKSxcbiAgICAgICAgICAgICAgICAoXCI+XCIsXCIlM2VcIiksXG4gICAgICAgICAgICAgICAgKFwiI1wiLFwiJTIzXCIpLFxuKTtcblxuXG4vLyBPcHRpb25zXG4vL1xuLy8gUXVpY2tseSBtb2RpZnkgZ2xvYmFsIHN0eWxpbmcgYnkgZW5hYmxpbmcgb3IgZGlzYWJsaW5nIG9wdGlvbmFsIGZlYXR1cmVzLlxuXG4kZW5hYmxlLWNhcmV0OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJ1ZTtcbiRlbmFibGUtcm91bmRlZDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cnVlO1xuJGVuYWJsZS1zaGFkb3dzOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZhbHNlO1xuJGVuYWJsZS1ncmFkaWVudHM6ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZhbHNlO1xuJGVuYWJsZS10cmFuc2l0aW9uczogICAgICAgICAgICAgICAgICAgICAgICAgIHRydWU7XG4kZW5hYmxlLXByZWZlcnMtcmVkdWNlZC1tb3Rpb24tbWVkaWEtcXVlcnk6ICAgdHJ1ZTtcbiRlbmFibGUtaG92ZXItbWVkaWEtcXVlcnk6ICAgICAgICAgICAgICAgICAgICBmYWxzZTsgLy8gRGVwcmVjYXRlZCwgbm8gbG9uZ2VyIGFmZmVjdHMgYW55IGNvbXBpbGVkIENTU1xuJGVuYWJsZS1ncmlkLWNsYXNzZXM6ICAgICAgICAgICAgICAgICAgICAgICAgIHRydWU7XG4kZW5hYmxlLXBvaW50ZXItY3Vyc29yLWZvci1idXR0b25zOiAgICAgICAgICAgdHJ1ZTtcbiRlbmFibGUtcHJpbnQtc3R5bGVzOiAgICAgICAgICAgICAgICAgICAgICAgICB0cnVlO1xuJGVuYWJsZS1yZXNwb25zaXZlLWZvbnQtc2l6ZXM6ICAgICAgICAgICAgICAgIHRydWU7XG4kZW5hYmxlLXZhbGlkYXRpb24taWNvbnM6ICAgICAgICAgICAgICAgICAgICAgdHJ1ZTtcbiRlbmFibGUtZGVwcmVjYXRpb24tbWVzc2FnZXM6ICAgICAgICAgICAgICAgICB0cnVlO1xuXG5cbi8vIFNwYWNpbmdcbi8vXG4vLyBDb250cm9sIHRoZSBkZWZhdWx0IHN0eWxpbmcgb2YgbW9zdCBCb290c3RyYXAgZWxlbWVudHMgYnkgbW9kaWZ5aW5nIHRoZXNlXG4vLyB2YXJpYWJsZXMuIE1vc3RseSBmb2N1c2VkIG9uIHNwYWNpbmcuXG4vLyBZb3UgY2FuIGFkZCBtb3JlIGVudHJpZXMgdG8gdGhlICRzcGFjZXJzIG1hcCwgc2hvdWxkIHlvdSBuZWVkIG1vcmUgdmFyaWF0aW9uLlxuXG4kc3BhY2VyOiAxcmVtO1xuJHNwYWNlcnM6ICgpO1xuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNjc3MvZG9sbGFyLXZhcmlhYmxlLWRlZmF1bHRcbiRzcGFjZXJzOiBtYXAtbWVyZ2UoXG4gICAgICAgICAgICAgICAgKFxuICAgICAgICAgICAgICAgICAgICAgICAgMDogMCxcbiAgICAgICAgICAgICAgICAgICAgICAgIDE6ICgkc3BhY2VyICogLjI1KSxcbiAgICAgICAgICAgICAgICAgICAgICAgIDI6ICgkc3BhY2VyICogLjUpLFxuICAgICAgICAgICAgICAgICAgICAgICAgMzogJHNwYWNlcixcbiAgICAgICAgICAgICAgICAgICAgICAgIDQ6ICgkc3BhY2VyICogMS41KSxcbiAgICAgICAgICAgICAgICAgICAgICAgIDU6ICgkc3BhY2VyICogMylcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICRzcGFjZXJzXG4pO1xuXG4vLyBUaGlzIHZhcmlhYmxlIGFmZmVjdHMgdGhlIGAuaC0qYCBhbmQgYC53LSpgIGNsYXNzZXMuXG4kc2l6ZXM6ICgpO1xuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNjc3MvZG9sbGFyLXZhcmlhYmxlLWRlZmF1bHRcbiRzaXplczogbWFwLW1lcmdlKFxuICAgICAgICAgICAgICAgIChcbiAgICAgICAgICAgICAgICAgICAgICAgIDI1OiAyNSUsXG4gICAgICAgICAgICAgICAgICAgICAgICA1MDogNTAlLFxuICAgICAgICAgICAgICAgICAgICAgICAgNzU6IDc1JSxcbiAgICAgICAgICAgICAgICAgICAgICAgIDEwMDogMTAwJSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGF1dG86IGF1dG9cbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICRzaXplc1xuKTtcblxuXG4vLyBCb2R5XG4vL1xuLy8gU2V0dGluZ3MgZm9yIHRoZSBgPGJvZHk+YCBlbGVtZW50LlxuXG4kYm9keS1iZzogICAgICAgICAgICAgICAgICAgJHdoaXRlO1xuJGJvZHktY29sb3I6ICAgICAgICAgICAgICAgICRncmF5LTkwMDtcblxuXG4vLyBMaW5rc1xuLy9cbi8vIFN0eWxlIGFuY2hvciBlbGVtZW50cy5cblxuJGxpbmstY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHByb2plY3QtYmx1ZS1kNTAwO1xuJGxpbmstZGVjb3JhdGlvbjogICAgICAgICAgICAgICAgICAgICAgICAgbm9uZTtcbiRsaW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICRsaW5rLWNvbG9yO1xuJGxpbmstaG92ZXItZGVjb3JhdGlvbjogICAgICAgICAgICAgICAgICAgdW5kZXJsaW5lO1xuLy8gRGFya2VuIHBlcmNlbnRhZ2UgZm9yIGxpbmtzIHdpdGggYC50ZXh0LSpgIGNsYXNzIChlLmcuIGAudGV4dC1zdWNjZXNzYClcbiRlbXBoYXNpemVkLWxpbmstaG92ZXItZGFya2VuLXBlcmNlbnRhZ2U6IDE1JTtcblxuLy8gUGFyYWdyYXBoc1xuLy9cbi8vIFN0eWxlIHAgZWxlbWVudC5cblxuJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tOiAgIDFyZW07XG5cblxuLy8gR3JpZCBicmVha3BvaW50c1xuLy9cbi8vIERlZmluZSB0aGUgbWluaW11bSBkaW1lbnNpb25zIGF0IHdoaWNoIHlvdXIgbGF5b3V0IHdpbGwgY2hhbmdlLFxuLy8gYWRhcHRpbmcgdG8gZGlmZmVyZW50IHNjcmVlbiBzaXplcywgZm9yIHVzZSBpbiBtZWRpYSBxdWVyaWVzLlxuXG4kZ3JpZC1icmVha3BvaW50czogKFxuICAgICAgICB4czogMCxcbiAgICAgICAgc206IDQ4MHB4LFxuICAgICAgICBtZDogNzY4cHgsXG4gICAgICAgIGxnOiA5OTJweCxcbiAgICAgICAgeGw6IDEyMDBweCxcbiAgICAgICAgaGc6IDE0MjBweFxuKTtcblxuQGluY2x1ZGUgX2Fzc2VydC1hc2NlbmRpbmcoJGdyaWQtYnJlYWtwb2ludHMsIFwiJGdyaWQtYnJlYWtwb2ludHNcIik7XG5AaW5jbHVkZSBfYXNzZXJ0LXN0YXJ0cy1hdC16ZXJvKCRncmlkLWJyZWFrcG9pbnRzLCBcIiRncmlkLWJyZWFrcG9pbnRzXCIpO1xuXG5cbi8vIEdyaWQgY29udGFpbmVyc1xuLy9cbi8vIERlZmluZSB0aGUgbWF4aW11bSB3aWR0aCBvZiBgLmNvbnRhaW5lcmAgZm9yIGRpZmZlcmVudCBzY3JlZW4gc2l6ZXMuXG5cbiRjb250YWluZXItbWF4LXdpZHRoczogKFxuICAgICAgICBzbTogNTQwcHgsXG4gICAgICAgIG1kOiA3NTBweCxcbiAgICAgICAgbGc6IDk2MHB4LFxuICAgICAgICB4bDogMTE0MHB4LFxuICAgICAgICBoZzogJHNpdGUtY29udGFpbmVyXG4pO1xuXG5AaW5jbHVkZSBfYXNzZXJ0LWFzY2VuZGluZygkY29udGFpbmVyLW1heC13aWR0aHMsIFwiJGNvbnRhaW5lci1tYXgtd2lkdGhzXCIpO1xuXG5cbi8vIEdyaWQgY29sdW1uc1xuLy9cbi8vIFNldCB0aGUgbnVtYmVyIG9mIGNvbHVtbnMgYW5kIHNwZWNpZnkgdGhlIHdpZHRoIG9mIHRoZSBndXR0ZXJzLlxuXG4kZ3JpZC1jb2x1bW5zOiAgICAgICAgICAgICAgICAxMjtcbiRncmlkLWd1dHRlci13aWR0aDogICAgICAgICAgIDMwcHg7XG4kZ3JpZC1yb3ctY29sdW1uczogICAgICAgICAgICA2O1xuXG5cbi8vIENvbXBvbmVudHNcbi8vXG4vLyBEZWZpbmUgY29tbW9uIHBhZGRpbmcgYW5kIGJvcmRlciByYWRpdXMgc2l6ZXMgYW5kIG1vcmUuXG5cbiRsaW5lLWhlaWdodC1sZzogICAgICAgICAgICAgIDEuNTtcbiRsaW5lLWhlaWdodC1zbTogICAgICAgICAgICAgIDEuNTtcblxuJGJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgMXB4O1xuJGJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgJGdyYXktMzAwO1xuXG4kYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAuMjVyZW07XG4kYm9yZGVyLXJhZGl1cy1sZzogICAgICAgICAgICAuM3JlbTtcbiRib3JkZXItcmFkaXVzLXNtOiAgICAgICAgICAgIC4ycmVtO1xuXG4kcm91bmRlZC1waWxsOiAgICAgICAgICAgICAgICA1MHJlbTtcblxuJGJveC1zaGFkb3ctc206ICAgICAgICAgICAgICAgMCAuMTI1cmVtIC4yNXJlbSByZ2JhKCRibGFjaywgLjA3NSk7XG4kYm94LXNoYWRvdzogICAgICAgICAgICAgICAgICAwIC41cmVtIDFyZW0gcmdiYSgkYmxhY2ssIC4xNSk7XG4kYm94LXNoYWRvdy1sZzogICAgICAgICAgICAgICAwIDFyZW0gM3JlbSByZ2JhKCRibGFjaywgLjE3NSk7XG5cbiRjb21wb25lbnQtYWN0aXZlLWNvbG9yOiAgICAgICR3aGl0ZTtcbiRjb21wb25lbnQtYWN0aXZlLWJnOiAgICAgICAgIHRoZW1lLWNvbG9yKFwicHJpbWFyeVwiKTtcblxuJGNhcmV0LXdpZHRoOiAgICAgICAgICAgICAgICAgLjNlbTtcbiRjYXJldC12ZXJ0aWNhbC1hbGlnbjogICAgICAgICRjYXJldC13aWR0aCAqIC44NTtcbiRjYXJldC1zcGFjaW5nOiAgICAgICAgICAgICAgICRjYXJldC13aWR0aCAqIC44NTtcblxuJHRyYW5zaXRpb24tYmFzZTogICAgICAgICAgICAgYWxsIC4ycyBlYXNlLWluLW91dDtcbiR0cmFuc2l0aW9uLWZhZGU6ICAgICAgICAgICAgIG9wYWNpdHkgLjE1cyBsaW5lYXI7XG4kdHJhbnNpdGlvbi1jb2xsYXBzZTogICAgICAgICBoZWlnaHQgLjM1cyBlYXNlO1xuXG4kZW1iZWQtcmVzcG9uc2l2ZS1hc3BlY3QtcmF0aW9zOiAoKTtcbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzY3NzL2RvbGxhci12YXJpYWJsZS1kZWZhdWx0XG4kZW1iZWQtcmVzcG9uc2l2ZS1hc3BlY3QtcmF0aW9zOiBqb2luKFxuICAgICAgICAgICAgICAgICAgICAgICAgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgyMSA5KSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTYgOSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQgMyksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgMSksXG4gICAgICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpb3Ncbik7XG5cbi8vIFR5cG9ncmFwaHlcbi8vXG4vLyBGb250LCBsaW5lLWhlaWdodCwgYW5kIGNvbG9yIGZvciBib2R5IHRleHQsIGhlYWRpbmdzLCBhbmQgbW9yZS5cblxuLy8gc3R5bGVsaW50LWRpc2FibGUgdmFsdWUta2V5d29yZC1jYXNlXG4kZm9udC1mYW1pbHktc2Fucy1zZXJpZjogICAgICAnUm9ib3RvV2ViJywgc2Fucy1zZXJpZjtcbiRmb250LWZhbWlseS1tb25vc3BhY2U6ICAgICAgIFNGTW9uby1SZWd1bGFyLCBNZW5sbywgTW9uYWNvLCBDb25zb2xhcywgXCJMaWJlcmF0aW9uIE1vbm9cIiwgXCJDb3VyaWVyIE5ld1wiLCBtb25vc3BhY2U7XG4kZm9udC1mYW1pbHktYmFzZTogICAgICAgICAgICAkZm9udC1mYW1pbHktc2Fucy1zZXJpZjtcbi8vIHN0eWxlbGludC1lbmFibGUgdmFsdWUta2V5d29yZC1jYXNlXG5cbiRmb250LXNpemUtYmFzZTogICAgICAgICAgICAgIDFyZW07IC8vIEFzc3VtZXMgdGhlIGJyb3dzZXIgZGVmYXVsdCwgdHlwaWNhbGx5IGAxNnB4YFxuJGZvbnQtc2l6ZS1sZzogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS4yNTtcbiRmb250LXNpemUtc206ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIC44NzU7XG5cbiRmb250LXdlaWdodC1saWdodGVyOiAgICAgICAgIGxpZ2h0ZXI7XG4kZm9udC13ZWlnaHQtbGlnaHQ6ICAgICAgICAgICAzMDA7XG4kZm9udC13ZWlnaHQtbm9ybWFsOiAgICAgICAgICA0MDA7XG4kZm9udC13ZWlnaHQtYm9sZDogICAgICAgICAgICA3MDA7XG4kZm9udC13ZWlnaHQtYm9sZGVyOiAgICAgICAgICBib2xkZXI7XG5cbiRmb250LXdlaWdodC1iYXNlOiAgICAgICAgICAgICRmb250LXdlaWdodC1ub3JtYWw7XG4kbGluZS1oZWlnaHQtYmFzZTogICAgICAgICAgICAxLjU7XG5cbiRoMS1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDIuNTtcbiRoMi1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDI7XG4kaDMtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjc1O1xuJGg0LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS41O1xuJGg1LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS4yNTtcbiRoNi1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZTtcblxuJGhlYWRpbmdzLW1hcmdpbi1ib3R0b206ICAgICAgJHNwYWNlciAvIDI7XG4kaGVhZGluZ3MtZm9udC1mYW1pbHk6ICAgICAgICBudWxsO1xuJGhlYWRpbmdzLWZvbnQtd2VpZ2h0OiAgICAgICAgNTAwO1xuJGhlYWRpbmdzLWxpbmUtaGVpZ2h0OiAgICAgICAgMS4yO1xuJGhlYWRpbmdzLWNvbG9yOiAgICAgICAgICAgICAgbnVsbDtcblxuJGRpc3BsYXkxLXNpemU6ICAgICAgICAgICAgICAgNnJlbTtcbiRkaXNwbGF5Mi1zaXplOiAgICAgICAgICAgICAgIDUuNXJlbTtcbiRkaXNwbGF5My1zaXplOiAgICAgICAgICAgICAgIDQuNXJlbTtcbiRkaXNwbGF5NC1zaXplOiAgICAgICAgICAgICAgIDMuNXJlbTtcblxuJGRpc3BsYXkxLXdlaWdodDogICAgICAgICAgICAgMzAwO1xuJGRpc3BsYXkyLXdlaWdodDogICAgICAgICAgICAgMzAwO1xuJGRpc3BsYXkzLXdlaWdodDogICAgICAgICAgICAgMzAwO1xuJGRpc3BsYXk0LXdlaWdodDogICAgICAgICAgICAgMzAwO1xuJGRpc3BsYXktbGluZS1oZWlnaHQ6ICAgICAgICAgJGhlYWRpbmdzLWxpbmUtaGVpZ2h0O1xuXG4kbGVhZC1mb250LXNpemU6ICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjI1O1xuJGxlYWQtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgMzAwO1xuXG4kc21hbGwtZm9udC1zaXplOiAgICAgICAgICAgICA4MCU7XG5cbiR0ZXh0LW11dGVkOiAgICAgICAgICAgICAgICAgICRncmF5LTYwMDtcblxuJGJsb2NrcXVvdGUtc21hbGwtY29sb3I6ICAgICAgJGdyYXktNjAwO1xuJGJsb2NrcXVvdGUtc21hbGwtZm9udC1zaXplOiAgJHNtYWxsLWZvbnQtc2l6ZTtcbiRibG9ja3F1b3RlLWZvbnQtc2l6ZTogICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuMjU7XG5cbiRoci1ib3JkZXItY29sb3I6ICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMSk7XG4kaHItYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAkYm9yZGVyLXdpZHRoO1xuXG4kbWFyay1wYWRkaW5nOiAgICAgICAgICAgICAgICAuMmVtO1xuXG4kZHQtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAkZm9udC13ZWlnaHQtYm9sZDtcblxuJGtiZC1ib3gtc2hhZG93OiAgICAgICAgICAgICAgaW5zZXQgMCAtLjFyZW0gMCByZ2JhKCRibGFjaywgLjI1KTtcbiRuZXN0ZWQta2JkLWZvbnQtd2VpZ2h0OiAgICAgICRmb250LXdlaWdodC1ib2xkO1xuXG4kbGlzdC1pbmxpbmUtcGFkZGluZzogICAgICAgICAuNXJlbTtcblxuJG1hcmstYmc6ICAgICAgICAgICAgICAgICAgICAgI2ZjZjhlMztcblxuJGhyLW1hcmdpbi15OiAgICAgICAgICAgICAgICAgJHNwYWNlcjtcblxuXG4vLyBUYWJsZXNcbi8vXG4vLyBDdXN0b21pemVzIHRoZSBgLnRhYmxlYCBjb21wb25lbnQgd2l0aCBiYXNpYyB2YWx1ZXMsIGVhY2ggdXNlZCBhY3Jvc3MgYWxsIHRhYmxlIHZhcmlhdGlvbnMuXG5cbiR0YWJsZS1jZWxsLXBhZGRpbmc6ICAgICAgICAgIC43NXJlbTtcbiR0YWJsZS1jZWxsLXBhZGRpbmctc206ICAgICAgIC4zcmVtO1xuXG4kdGFibGUtY29sb3I6ICAgICAgICAgICAgICAgICAkYm9keS1jb2xvcjtcbiR0YWJsZS1iZzogICAgICAgICAgICAgICAgICAgIG51bGw7XG4kdGFibGUtYWNjZW50LWJnOiAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjA1KTtcbiR0YWJsZS1ob3Zlci1jb2xvcjogICAgICAgICAgICR0YWJsZS1jb2xvcjtcbiR0YWJsZS1ob3Zlci1iZzogICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMDc1KTtcbiR0YWJsZS1hY3RpdmUtYmc6ICAgICAgICAgICAgICR0YWJsZS1ob3Zlci1iZztcblxuJHRhYmxlLWJvcmRlci13aWR0aDogICAgICAgICAgJGJvcmRlci13aWR0aDtcbiR0YWJsZS1ib3JkZXItY29sb3I6ICAgICAgICAgICRib3JkZXItY29sb3I7XG5cbiR0YWJsZS1oZWFkLWJnOiAgICAgICAgICAgICAgICRncmF5LTIwMDtcbiR0YWJsZS1oZWFkLWNvbG9yOiAgICAgICAgICAgICRncmF5LTcwMDtcblxuJHRhYmxlLWRhcmstY29sb3I6ICAgICAgICAgICAgJHdoaXRlO1xuJHRhYmxlLWRhcmstYmc6ICAgICAgICAgICAgICAgJGdyYXktODAwO1xuJHRhYmxlLWRhcmstYWNjZW50LWJnOiAgICAgICAgcmdiYSgkd2hpdGUsIC4wNSk7XG4kdGFibGUtZGFyay1ob3Zlci1jb2xvcjogICAgICAkdGFibGUtZGFyay1jb2xvcjtcbiR0YWJsZS1kYXJrLWhvdmVyLWJnOiAgICAgICAgIHJnYmEoJHdoaXRlLCAuMDc1KTtcbiR0YWJsZS1kYXJrLWJvcmRlci1jb2xvcjogICAgIGxpZ2h0ZW4oJHRhYmxlLWRhcmstYmcsIDcuNSUpO1xuXG4kdGFibGUtc3RyaXBlZC1vcmRlcjogICAgICAgICBvZGQ7XG5cbiR0YWJsZS1jYXB0aW9uLWNvbG9yOiAgICAgICAgICR0ZXh0LW11dGVkO1xuXG4kdGFibGUtYmctbGV2ZWw6ICAgICAgICAgICAgICAtOTtcbiR0YWJsZS1ib3JkZXItbGV2ZWw6ICAgICAgICAgIC02O1xuXG5cbi8vIEJ1dHRvbnMgKyBGb3Jtc1xuLy9cbi8vIFNoYXJlZCB2YXJpYWJsZXMgdGhhdCBhcmUgcmVhc3NpZ25lZCB0byBgJGlucHV0LWAgYW5kIGAkYnRuLWAgc3BlY2lmaWMgdmFyaWFibGVzLlxuXG4kaW5wdXQtYnRuLXBhZGRpbmcteTogICAgICAgICAuMzc1cmVtO1xuJGlucHV0LWJ0bi1wYWRkaW5nLXg6ICAgICAgICAgLjc1cmVtO1xuJGlucHV0LWJ0bi1mb250LWZhbWlseTogICAgICAgbnVsbDtcbiRpbnB1dC1idG4tZm9udC1zaXplOiAgICAgICAgICRmb250LXNpemUtYmFzZTtcbiRpbnB1dC1idG4tbGluZS1oZWlnaHQ6ICAgICAgICRsaW5lLWhlaWdodC1iYXNlO1xuXG4kaW5wdXQtYnRuLWZvY3VzLXdpZHRoOiAgICAgICAuMnJlbTtcbiRpbnB1dC1idG4tZm9jdXMtY29sb3I6ICAgICAgIHJnYmEoJGNvbXBvbmVudC1hY3RpdmUtYmcsIC4yNSk7XG4kaW5wdXQtYnRuLWZvY3VzLWJveC1zaGFkb3c6ICAwIDAgMCAkaW5wdXQtYnRuLWZvY3VzLXdpZHRoICRpbnB1dC1idG4tZm9jdXMtY29sb3I7XG5cbiRpbnB1dC1idG4tcGFkZGluZy15LXNtOiAgICAgIC4yNXJlbTtcbiRpbnB1dC1idG4tcGFkZGluZy14LXNtOiAgICAgIC41cmVtO1xuJGlucHV0LWJ0bi1mb250LXNpemUtc206ICAgICAgJGZvbnQtc2l6ZS1zbTtcbiRpbnB1dC1idG4tbGluZS1oZWlnaHQtc206ICAgICRsaW5lLWhlaWdodC1zbTtcblxuJGlucHV0LWJ0bi1wYWRkaW5nLXktbGc6ICAgICAgLjVyZW07XG4kaW5wdXQtYnRuLXBhZGRpbmcteC1sZzogICAgICAxcmVtO1xuJGlucHV0LWJ0bi1mb250LXNpemUtbGc6ICAgICAgJGZvbnQtc2l6ZS1sZztcbiRpbnB1dC1idG4tbGluZS1oZWlnaHQtbGc6ICAgICRsaW5lLWhlaWdodC1sZztcblxuJGlucHV0LWJ0bi1ib3JkZXItd2lkdGg6ICAgICAgJGJvcmRlci13aWR0aDtcblxuXG4vLyBCdXR0b25zXG4vL1xuLy8gRm9yIGVhY2ggb2YgQm9vdHN0cmFwJ3MgYnV0dG9ucywgZGVmaW5lIHRleHQsIGJhY2tncm91bmQsIGFuZCBib3JkZXIgY29sb3IuXG5cbiRidG4tcGFkZGluZy15OiAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15O1xuJGJ0bi1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXg7XG4kYnRuLWZvbnQtZmFtaWx5OiAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtZmFtaWx5O1xuJGJ0bi1mb250LXNpemU6ICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LXNpemU7XG4kYnRuLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0O1xuJGJ0bi13aGl0ZS1zcGFjZTogICAgICAgICAgICAgbnVsbDsgLy8gU2V0IHRvIGBub3dyYXBgIHRvIHByZXZlbnQgdGV4dCB3cmFwcGluZ1xuXG4kYnRuLXBhZGRpbmcteS1zbTogICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteS1zbTtcbiRidG4tcGFkZGluZy14LXNtOiAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14LXNtO1xuJGJ0bi1mb250LXNpemUtc206ICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LXNpemUtc207XG4kYnRuLWxpbmUtaGVpZ2h0LXNtOiAgICAgICAgICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LXNtO1xuXG4kYnRuLXBhZGRpbmcteS1sZzogICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteS1sZztcbiRidG4tcGFkZGluZy14LWxnOiAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14LWxnO1xuJGJ0bi1mb250LXNpemUtbGc6ICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LXNpemUtbGc7XG4kYnRuLWxpbmUtaGVpZ2h0LWxnOiAgICAgICAgICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LWxnO1xuXG4kYnRuLWJvcmRlci13aWR0aDogICAgICAgICAgICAkaW5wdXQtYnRuLWJvcmRlci13aWR0aDtcblxuJGJ0bi1mb250LXdlaWdodDogICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LW5vcm1hbDtcbiRidG4tYm94LXNoYWRvdzogICAgICAgICAgICAgIGluc2V0IDAgMXB4IDAgcmdiYSgkd2hpdGUsIC4xNSksIDAgMXB4IDFweCByZ2JhKCRibGFjaywgLjA3NSk7XG4kYnRuLWZvY3VzLXdpZHRoOiAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvY3VzLXdpZHRoO1xuJGJ0bi1mb2N1cy1ib3gtc2hhZG93OiAgICAgICAgJGlucHV0LWJ0bi1mb2N1cy1ib3gtc2hhZG93O1xuJGJ0bi1kaXNhYmxlZC1vcGFjaXR5OiAgICAgICAgLjY1O1xuJGJ0bi1hY3RpdmUtYm94LXNoYWRvdzogICAgICAgaW5zZXQgMCAzcHggNXB4IHJnYmEoJGJsYWNrLCAuMTI1KTtcblxuJGJ0bi1saW5rLWRpc2FibGVkLWNvbG9yOiAgICAgJGdyYXktNjAwO1xuXG4kYnRuLWJsb2NrLXNwYWNpbmcteTogICAgICAgICAuNXJlbTtcblxuLy8gQWxsb3dzIGZvciBjdXN0b21pemluZyBidXR0b24gcmFkaXVzIGluZGVwZW5kZW50bHkgZnJvbSBnbG9iYWwgYm9yZGVyIHJhZGl1c1xuJGJ0bi1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgJGJvcmRlci1yYWRpdXM7XG4kYnRuLWJvcmRlci1yYWRpdXMtbGc6ICAgICAgICAkYm9yZGVyLXJhZGl1cy1sZztcbiRidG4tYm9yZGVyLXJhZGl1cy1zbTogICAgICAgICRib3JkZXItcmFkaXVzLXNtO1xuXG4kYnRuLXRyYW5zaXRpb246ICAgICAgICAgICAgICBjb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBiYWNrZ3JvdW5kLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJvcmRlci1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3gtc2hhZG93IC4xNXMgZWFzZS1pbi1vdXQ7XG5cblxuLy8gRm9ybXNcblxuJGxhYmVsLW1hcmdpbi1ib3R0b206ICAgICAgICAgICAgICAgICAgIC41cmVtO1xuXG4kaW5wdXQtcGFkZGluZy15OiAgICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXk7XG4kaW5wdXQtcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXg7XG4kaW5wdXQtZm9udC1mYW1pbHk6ICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LWZhbWlseTtcbiRpbnB1dC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtc2l6ZTtcbiRpbnB1dC1mb250LXdlaWdodDogICAgICAgICAgICAgICAgICAgICAkZm9udC13ZWlnaHQtYmFzZTtcbiRpbnB1dC1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0O1xuXG4kaW5wdXQtcGFkZGluZy15LXNtOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXktc207XG4kaW5wdXQtcGFkZGluZy14LXNtOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXgtc207XG4kaW5wdXQtZm9udC1zaXplLXNtOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LXNpemUtc207XG4kaW5wdXQtbGluZS1oZWlnaHQtc206ICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1saW5lLWhlaWdodC1zbTtcblxuJGlucHV0LXBhZGRpbmcteS1sZzogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15LWxnO1xuJGlucHV0LXBhZGRpbmcteC1sZzogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14LWxnO1xuJGlucHV0LWZvbnQtc2l6ZS1sZzogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1zaXplLWxnO1xuJGlucHV0LWxpbmUtaGVpZ2h0LWxnOiAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQtbGc7XG5cbiRpbnB1dC1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkd2hpdGU7XG4kaW5wdXQtZGlzYWJsZWQtYmc6ICAgICAgICAgICAgICAgICAgICAgJGdyYXktMjAwO1xuXG4kaW5wdXQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdyYXktNzAwO1xuJGlucHV0LWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICRncmF5LTQwMDtcbiRpbnB1dC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWJvcmRlci13aWR0aDtcbiRpbnB1dC1ib3gtc2hhZG93OiAgICAgICAgICAgICAgICAgICAgICBpbnNldCAwIDFweCAxcHggcmdiYSgkYmxhY2ssIC4wNzUpO1xuXG4kaW5wdXQtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXM7XG4kaW5wdXQtYm9yZGVyLXJhZGl1cy1sZzogICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMtbGc7XG4kaW5wdXQtYm9yZGVyLXJhZGl1cy1zbTogICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMtc207XG5cbiRpbnB1dC1mb2N1cy1iZzogICAgICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYmc7XG4kaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgbGlnaHRlbigkY29tcG9uZW50LWFjdGl2ZS1iZywgMjUlKTtcbiRpbnB1dC1mb2N1cy1jb2xvcjogICAgICAgICAgICAgICAgICAgICAkaW5wdXQtY29sb3I7XG4kaW5wdXQtZm9jdXMtd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb2N1cy13aWR0aDtcbiRpbnB1dC1mb2N1cy1ib3gtc2hhZG93OiAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvY3VzLWJveC1zaGFkb3c7XG5cbiRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjogICAgICAgICAgICAgICAkZ3JheS02MDA7XG4kaW5wdXQtcGxhaW50ZXh0LWNvbG9yOiAgICAgICAgICAgICAgICAgJGJvZHktY29sb3I7XG5cbiRpbnB1dC1oZWlnaHQtYm9yZGVyOiAgICAgICAgICAgICAgICAgICAkaW5wdXQtYm9yZGVyLXdpZHRoICogMjtcblxuJGlucHV0LWhlaWdodC1pbm5lcjogICAgICAgICAgICAgICAgICAgIGFkZCgkaW5wdXQtbGluZS1oZWlnaHQgKiAxZW0sICRpbnB1dC1wYWRkaW5nLXkgKiAyKTtcbiRpbnB1dC1oZWlnaHQtaW5uZXItaGFsZjogICAgICAgICAgICAgICBhZGQoJGlucHV0LWxpbmUtaGVpZ2h0ICogLjVlbSwgJGlucHV0LXBhZGRpbmcteSk7XG4kaW5wdXQtaGVpZ2h0LWlubmVyLXF1YXJ0ZXI6ICAgICAgICAgICAgYWRkKCRpbnB1dC1saW5lLWhlaWdodCAqIC4yNWVtLCAkaW5wdXQtcGFkZGluZy15IC8gMik7XG5cbiRpbnB1dC1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICBhZGQoJGlucHV0LWxpbmUtaGVpZ2h0ICogMWVtLCBhZGQoJGlucHV0LXBhZGRpbmcteSAqIDIsICRpbnB1dC1oZWlnaHQtYm9yZGVyLCBmYWxzZSkpO1xuJGlucHV0LWhlaWdodC1zbTogICAgICAgICAgICAgICAgICAgICAgIGFkZCgkaW5wdXQtbGluZS1oZWlnaHQtc20gKiAxZW0sIGFkZCgkaW5wdXQtcGFkZGluZy15LXNtICogMiwgJGlucHV0LWhlaWdodC1ib3JkZXIsIGZhbHNlKSk7XG4kaW5wdXQtaGVpZ2h0LWxnOiAgICAgICAgICAgICAgICAgICAgICAgYWRkKCRpbnB1dC1saW5lLWhlaWdodC1sZyAqIDFlbSwgYWRkKCRpbnB1dC1wYWRkaW5nLXktbGcgKiAyLCAkaW5wdXQtaGVpZ2h0LWJvcmRlciwgZmFsc2UpKTtcblxuJGlucHV0LXRyYW5zaXRpb246ICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3gtc2hhZG93IC4xNXMgZWFzZS1pbi1vdXQ7XG5cbiRmb3JtLXRleHQtbWFyZ2luLXRvcDogICAgICAgICAgICAgICAgICAuMjVyZW07XG5cbiRmb3JtLWNoZWNrLWlucHV0LWd1dHRlcjogICAgICAgICAgICAgICAxLjI1cmVtO1xuJGZvcm0tY2hlY2staW5wdXQtbWFyZ2luLXk6ICAgICAgICAgICAgIC4zcmVtO1xuJGZvcm0tY2hlY2staW5wdXQtbWFyZ2luLXg6ICAgICAgICAgICAgIC4yNXJlbTtcblxuJGZvcm0tY2hlY2staW5saW5lLW1hcmdpbi14OiAgICAgICAgICAgIC43NXJlbTtcbiRmb3JtLWNoZWNrLWlubGluZS1pbnB1dC1tYXJnaW4teDogICAgICAuMzEyNXJlbTtcblxuJGZvcm0tZ3JpZC1ndXR0ZXItd2lkdGg6ICAgICAgICAgICAgICAgIDEwcHg7XG4kZm9ybS1ncm91cC1tYXJnaW4tYm90dG9tOiAgICAgICAgICAgICAgMXJlbTtcblxuJGlucHV0LWdyb3VwLWFkZG9uLWNvbG9yOiAgICAgICAgICAgICAgICRpbnB1dC1jb2xvcjtcbiRpbnB1dC1ncm91cC1hZGRvbi1iZzogICAgICAgICAgICAgICAgICAkZ3JheS0yMDA7XG4kaW5wdXQtZ3JvdXAtYWRkb24tYm9yZGVyLWNvbG9yOiAgICAgICAgJGlucHV0LWJvcmRlci1jb2xvcjtcblxuJGN1c3RvbS1mb3Jtcy10cmFuc2l0aW9uOiAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm9yZGVyLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJveC1zaGFkb3cgLjE1cyBlYXNlLWluLW91dDtcblxuJGN1c3RvbS1jb250cm9sLWd1dHRlcjogICAgICAgICAgICAgICAgIC41cmVtO1xuJGN1c3RvbS1jb250cm9sLXNwYWNlci14OiAgICAgICAgICAgICAgIDFyZW07XG4kY3VzdG9tLWNvbnRyb2wtY3Vyc29yOiAgICAgICAgICAgICAgICAgbnVsbDtcblxuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplOiAgICAgICAgIDFyZW07XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJnOiAgICAgICAgICAgJGlucHV0LWJnO1xuXG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJnLXNpemU6ICAgICAgNTAlIDUwJTtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm94LXNoYWRvdzogICAkaW5wdXQtYm94LXNoYWRvdztcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm9yZGVyLWNvbG9yOiAkZ3JheS01MDA7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJvcmRlci13aWR0aDogJGlucHV0LWJvcmRlci13aWR0aDtcblxuJGN1c3RvbS1jb250cm9sLWxhYmVsLWNvbG9yOiAgICAgICAgICAgIG51bGw7XG5cbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItZGlzYWJsZWQtYmc6ICAgICAgICAgICRpbnB1dC1kaXNhYmxlZC1iZztcbiRjdXN0b20tY29udHJvbC1sYWJlbC1kaXNhYmxlZC1jb2xvcjogICAgICAgICAgICRncmF5LTYwMDtcblxuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWNvbG9yOiAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3I7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtYmc6ICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZztcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1kaXNhYmxlZC1iZzogIHJnYmEodGhlbWUtY29sb3IoXCJwcmltYXJ5XCIpLCAuNSk7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtYm94LXNoYWRvdzogICBub25lO1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWJvcmRlci1jb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWJnO1xuXG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWZvY3VzLWJveC1zaGFkb3c6ICAgICAkaW5wdXQtZm9jdXMtYm94LXNoYWRvdztcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItZm9jdXMtYm9yZGVyLWNvbG9yOiAgICRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3I7XG5cbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYWN0aXZlLWNvbG9yOiAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yO1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1hY3RpdmUtYmc6ICAgICAgICAgICAgbGlnaHRlbigkY29tcG9uZW50LWFjdGl2ZS1iZywgMzUlKTtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYWN0aXZlLWJveC1zaGFkb3c6ICAgIG5vbmU7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWFjdGl2ZS1ib3JkZXItY29sb3I6ICAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWFjdGl2ZS1iZztcblxuJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItYm9yZGVyLXJhZGl1czogICAgICAgJGJvcmRlci1yYWRpdXM7XG4kY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pY29uLWNoZWNrZWQ6ICAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPSc4JyBoZWlnaHQ9JzgnIHZpZXdCb3g9JzAgMCA4IDgnPjxwYXRoIGZpbGw9JyN7JGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWNvbG9yfScgZD0nTTYuNTY0Ljc1bC0zLjU5IDMuNjEyLTEuNTM4LTEuNTVMMCA0LjI2bDIuOTc0IDIuOTlMOCAyLjE5M3onLz48L3N2Zz5cIik7XG5cbiRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWluZGV0ZXJtaW5hdGUtYmc6ICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZztcbiRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWluZGV0ZXJtaW5hdGUtY29sb3I6ICAgICAgICAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtY29sb3I7XG4kY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pY29uLWluZGV0ZXJtaW5hdGU6ICAgICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nNCcgaGVpZ2h0PSc0JyB2aWV3Qm94PScwIDAgNCA0Jz48cGF0aCBzdHJva2U9JyN7JGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaW5kZXRlcm1pbmF0ZS1jb2xvcn0nIGQ9J00wIDJoNCcvPjwvc3ZnPlwiKTtcbiRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWluZGV0ZXJtaW5hdGUtYm94LXNoYWRvdzogICBub25lO1xuJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaW5kZXRlcm1pbmF0ZS1ib3JkZXItY29sb3I6ICRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWluZGV0ZXJtaW5hdGUtYmc7XG5cbiRjdXN0b20tcmFkaW8taW5kaWNhdG9yLWJvcmRlci1yYWRpdXM6ICAgICAgICAgIDUwJTtcbiRjdXN0b20tcmFkaW8taW5kaWNhdG9yLWljb24tY2hlY2tlZDogICAgICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzEyJyBoZWlnaHQ9JzEyJyB2aWV3Qm94PSctNCAtNCA4IDgnPjxjaXJjbGUgcj0nMycgZmlsbD0nI3skY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtY29sb3J9Jy8+PC9zdmc+XCIpO1xuXG4kY3VzdG9tLXN3aXRjaC13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgICAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemUgKiAxLjc1O1xuJGN1c3RvbS1zd2l0Y2gtaW5kaWNhdG9yLWJvcmRlci1yYWRpdXM6ICAgICAgICAgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplIC8gMjtcbiRjdXN0b20tc3dpdGNoLWluZGljYXRvci1zaXplOiAgICAgICAgICAgICAgICAgIHN1YnRyYWN0KCRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZSwgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1ib3JkZXItd2lkdGggKiA0KTtcblxuJGN1c3RvbS1zZWxlY3QtcGFkZGluZy15OiAgICAgICAgICAgJGlucHV0LXBhZGRpbmcteTtcbiRjdXN0b20tc2VsZWN0LXBhZGRpbmcteDogICAgICAgICAgICRpbnB1dC1wYWRkaW5nLXg7XG4kY3VzdG9tLXNlbGVjdC1mb250LWZhbWlseTogICAgICAgICAkaW5wdXQtZm9udC1mYW1pbHk7XG4kY3VzdG9tLXNlbGVjdC1mb250LXNpemU6ICAgICAgICAgICAkaW5wdXQtZm9udC1zaXplO1xuJGN1c3RvbS1zZWxlY3QtaGVpZ2h0OiAgICAgICAgICAgICAgJGlucHV0LWhlaWdodDtcbiRjdXN0b20tc2VsZWN0LWluZGljYXRvci1wYWRkaW5nOiAgIDFyZW07IC8vIEV4dHJhIHBhZGRpbmcgdG8gYWNjb3VudCBmb3IgdGhlIHByZXNlbmNlIG9mIHRoZSBiYWNrZ3JvdW5kLWltYWdlIGJhc2VkIGluZGljYXRvclxuJGN1c3RvbS1zZWxlY3QtZm9udC13ZWlnaHQ6ICAgICAgICAgJGlucHV0LWZvbnQtd2VpZ2h0O1xuJGN1c3RvbS1zZWxlY3QtbGluZS1oZWlnaHQ6ICAgICAgICAgJGlucHV0LWxpbmUtaGVpZ2h0O1xuJGN1c3RvbS1zZWxlY3QtY29sb3I6ICAgICAgICAgICAgICAgJGlucHV0LWNvbG9yO1xuJGN1c3RvbS1zZWxlY3QtZGlzYWJsZWQtY29sb3I6ICAgICAgJGdyYXktNjAwO1xuJGN1c3RvbS1zZWxlY3QtYmc6ICAgICAgICAgICAgICAgICAgJGlucHV0LWJnO1xuJGN1c3RvbS1zZWxlY3QtZGlzYWJsZWQtYmc6ICAgICAgICAgJGdyYXktMjAwO1xuJGN1c3RvbS1zZWxlY3QtYmctc2l6ZTogICAgICAgICAgICAgOHB4IDEwcHg7IC8vIEluIHBpeGVscyBiZWNhdXNlIGltYWdlIGRpbWVuc2lvbnNcbiRjdXN0b20tc2VsZWN0LWluZGljYXRvci1jb2xvcjogICAgICRncmF5LTgwMDtcbiRjdXN0b20tc2VsZWN0LWluZGljYXRvcjogICAgICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzQnIGhlaWdodD0nNScgdmlld0JveD0nMCAwIDQgNSc+PHBhdGggZmlsbD0nI3skY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItY29sb3J9JyBkPSdNMiAwTDAgMmg0em0wIDVMMCAzaDR6Jy8+PC9zdmc+XCIpO1xuJGN1c3RvbS1zZWxlY3QtYmFja2dyb3VuZDogICAgICAgICAgZXNjYXBlLXN2ZygkY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3IpIG5vLXJlcGVhdCByaWdodCAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXggY2VudGVyIC8gJGN1c3RvbS1zZWxlY3QtYmctc2l6ZTsgLy8gVXNlZCBzbyB3ZSBjYW4gaGF2ZSBtdWx0aXBsZSBiYWNrZ3JvdW5kIGVsZW1lbnRzIChlLmcuLCBhcnJvdyBhbmQgZmVlZGJhY2sgaWNvbilcblxuJGN1c3RvbS1zZWxlY3QtZmVlZGJhY2staWNvbi1wYWRkaW5nLXJpZ2h0OiBhZGQoMWVtICogLjc1LCAoMiAqICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteSAqIC43NSkgKyAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXggKyAkY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItcGFkZGluZyk7XG4kY3VzdG9tLXNlbGVjdC1mZWVkYmFjay1pY29uLXBvc2l0aW9uOiAgICAgIGNlbnRlciByaWdodCAoJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14ICsgJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLXBhZGRpbmcpO1xuJGN1c3RvbS1zZWxlY3QtZmVlZGJhY2staWNvbi1zaXplOiAgICAgICAgICAkaW5wdXQtaGVpZ2h0LWlubmVyLWhhbGYgJGlucHV0LWhlaWdodC1pbm5lci1oYWxmO1xuXG4kY3VzdG9tLXNlbGVjdC1ib3JkZXItd2lkdGg6ICAgICAgICAkaW5wdXQtYm9yZGVyLXdpZHRoO1xuJGN1c3RvbS1zZWxlY3QtYm9yZGVyLWNvbG9yOiAgICAgICAgJGlucHV0LWJvcmRlci1jb2xvcjtcbiRjdXN0b20tc2VsZWN0LWJvcmRlci1yYWRpdXM6ICAgICAgICRib3JkZXItcmFkaXVzO1xuJGN1c3RvbS1zZWxlY3QtYm94LXNoYWRvdzogICAgICAgICAgaW5zZXQgMCAxcHggMnB4IHJnYmEoJGJsYWNrLCAuMDc1KTtcblxuJGN1c3RvbS1zZWxlY3QtZm9jdXMtYm9yZGVyLWNvbG9yOiAgJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvcjtcbiRjdXN0b20tc2VsZWN0LWZvY3VzLXdpZHRoOiAgICAgICAgICRpbnB1dC1mb2N1cy13aWR0aDtcbiRjdXN0b20tc2VsZWN0LWZvY3VzLWJveC1zaGFkb3c6ICAgIDAgMCAwICRjdXN0b20tc2VsZWN0LWZvY3VzLXdpZHRoICRpbnB1dC1idG4tZm9jdXMtY29sb3I7XG5cbiRjdXN0b20tc2VsZWN0LXBhZGRpbmcteS1zbTogICAgICAgICRpbnB1dC1wYWRkaW5nLXktc207XG4kY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXgtc206ICAgICAgICAkaW5wdXQtcGFkZGluZy14LXNtO1xuJGN1c3RvbS1zZWxlY3QtZm9udC1zaXplLXNtOiAgICAgICAgJGlucHV0LWZvbnQtc2l6ZS1zbTtcbiRjdXN0b20tc2VsZWN0LWhlaWdodC1zbTogICAgICAgICAgICRpbnB1dC1oZWlnaHQtc207XG5cbiRjdXN0b20tc2VsZWN0LXBhZGRpbmcteS1sZzogICAgICAgICRpbnB1dC1wYWRkaW5nLXktbGc7XG4kY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXgtbGc6ICAgICAgICAkaW5wdXQtcGFkZGluZy14LWxnO1xuJGN1c3RvbS1zZWxlY3QtZm9udC1zaXplLWxnOiAgICAgICAgJGlucHV0LWZvbnQtc2l6ZS1sZztcbiRjdXN0b20tc2VsZWN0LWhlaWdodC1sZzogICAgICAgICAgICRpbnB1dC1oZWlnaHQtbGc7XG5cbiRjdXN0b20tcmFuZ2UtdHJhY2std2lkdGg6ICAgICAgICAgIDEwMCU7XG4kY3VzdG9tLXJhbmdlLXRyYWNrLWhlaWdodDogICAgICAgICAuNXJlbTtcbiRjdXN0b20tcmFuZ2UtdHJhY2stY3Vyc29yOiAgICAgICAgIHBvaW50ZXI7XG4kY3VzdG9tLXJhbmdlLXRyYWNrLWJnOiAgICAgICAgICAgICAkZ3JheS0zMDA7XG4kY3VzdG9tLXJhbmdlLXRyYWNrLWJvcmRlci1yYWRpdXM6ICAxcmVtO1xuJGN1c3RvbS1yYW5nZS10cmFjay1ib3gtc2hhZG93OiAgICAgaW5zZXQgMCAuMjVyZW0gLjI1cmVtIHJnYmEoJGJsYWNrLCAuMSk7XG5cbiRjdXN0b20tcmFuZ2UtdGh1bWItd2lkdGg6ICAgICAgICAgICAgICAgICAgIDFyZW07XG4kY3VzdG9tLXJhbmdlLXRodW1iLWhlaWdodDogICAgICAgICAgICAgICAgICAkY3VzdG9tLXJhbmdlLXRodW1iLXdpZHRoO1xuJGN1c3RvbS1yYW5nZS10aHVtYi1iZzogICAgICAgICAgICAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmc7XG4kY3VzdG9tLXJhbmdlLXRodW1iLWJvcmRlcjogICAgICAgICAgICAgICAgICAwO1xuJGN1c3RvbS1yYW5nZS10aHVtYi1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgMXJlbTtcbiRjdXN0b20tcmFuZ2UtdGh1bWItYm94LXNoYWRvdzogICAgICAgICAgICAgIDAgLjFyZW0gLjI1cmVtIHJnYmEoJGJsYWNrLCAuMSk7XG4kY3VzdG9tLXJhbmdlLXRodW1iLWZvY3VzLWJveC1zaGFkb3c6ICAgICAgICAwIDAgMCAxcHggJGJvZHktYmcsICRpbnB1dC1mb2N1cy1ib3gtc2hhZG93O1xuJGN1c3RvbS1yYW5nZS10aHVtYi1mb2N1cy1ib3gtc2hhZG93LXdpZHRoOiAgJGlucHV0LWZvY3VzLXdpZHRoOyAvLyBGb3IgZm9jdXMgYm94IHNoYWRvdyBpc3N1ZSBpbiBJRS9FZGdlXG4kY3VzdG9tLXJhbmdlLXRodW1iLWFjdGl2ZS1iZzogICAgICAgICAgICAgICBsaWdodGVuKCRjb21wb25lbnQtYWN0aXZlLWJnLCAzNSUpO1xuJGN1c3RvbS1yYW5nZS10aHVtYi1kaXNhYmxlZC1iZzogICAgICAgICAgICAgJGdyYXktNTAwO1xuXG4kY3VzdG9tLWZpbGUtaGVpZ2h0OiAgICAgICAgICAgICAgICAkaW5wdXQtaGVpZ2h0O1xuJGN1c3RvbS1maWxlLWhlaWdodC1pbm5lcjogICAgICAgICAgJGlucHV0LWhlaWdodC1pbm5lcjtcbiRjdXN0b20tZmlsZS1mb2N1cy1ib3JkZXItY29sb3I6ICAgICRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3I7XG4kY3VzdG9tLWZpbGUtZm9jdXMtYm94LXNoYWRvdzogICAgICAkaW5wdXQtZm9jdXMtYm94LXNoYWRvdztcbiRjdXN0b20tZmlsZS1kaXNhYmxlZC1iZzogICAgICAgICAgICRpbnB1dC1kaXNhYmxlZC1iZztcblxuJGN1c3RvbS1maWxlLXBhZGRpbmcteTogICAgICAgICAgICAgJGlucHV0LXBhZGRpbmcteTtcbiRjdXN0b20tZmlsZS1wYWRkaW5nLXg6ICAgICAgICAgICAgICRpbnB1dC1wYWRkaW5nLXg7XG4kY3VzdG9tLWZpbGUtbGluZS1oZWlnaHQ6ICAgICAgICAgICAkaW5wdXQtbGluZS1oZWlnaHQ7XG4kY3VzdG9tLWZpbGUtZm9udC1mYW1pbHk6ICAgICAgICAgICAkaW5wdXQtZm9udC1mYW1pbHk7XG4kY3VzdG9tLWZpbGUtZm9udC13ZWlnaHQ6ICAgICAgICAgICAkaW5wdXQtZm9udC13ZWlnaHQ7XG4kY3VzdG9tLWZpbGUtY29sb3I6ICAgICAgICAgICAgICAgICAkaW5wdXQtY29sb3I7XG4kY3VzdG9tLWZpbGUtYmc6ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYmc7XG4kY3VzdG9tLWZpbGUtYm9yZGVyLXdpZHRoOiAgICAgICAgICAkaW5wdXQtYm9yZGVyLXdpZHRoO1xuJGN1c3RvbS1maWxlLWJvcmRlci1jb2xvcjogICAgICAgICAgJGlucHV0LWJvcmRlci1jb2xvcjtcbiRjdXN0b20tZmlsZS1ib3JkZXItcmFkaXVzOiAgICAgICAgICRpbnB1dC1ib3JkZXItcmFkaXVzO1xuJGN1c3RvbS1maWxlLWJveC1zaGFkb3c6ICAgICAgICAgICAgJGlucHV0LWJveC1zaGFkb3c7XG4kY3VzdG9tLWZpbGUtYnV0dG9uLWNvbG9yOiAgICAgICAgICAkY3VzdG9tLWZpbGUtY29sb3I7XG4kY3VzdG9tLWZpbGUtYnV0dG9uLWJnOiAgICAgICAgICAgICAkaW5wdXQtZ3JvdXAtYWRkb24tYmc7XG4kY3VzdG9tLWZpbGUtdGV4dDogKFxuICAgICAgICBlbjogXCJCcm93c2VcIlxuKTtcblxuXG4vLyBGb3JtIHZhbGlkYXRpb25cblxuJGZvcm0tZmVlZGJhY2stbWFyZ2luLXRvcDogICAgICAgICAgJGZvcm0tdGV4dC1tYXJnaW4tdG9wO1xuJGZvcm0tZmVlZGJhY2stZm9udC1zaXplOiAgICAgICAgICAgJHNtYWxsLWZvbnQtc2l6ZTtcbiRmb3JtLWZlZWRiYWNrLXZhbGlkLWNvbG9yOiAgICAgICAgIHRoZW1lLWNvbG9yKFwic3VjY2Vzc1wiKTtcbiRmb3JtLWZlZWRiYWNrLWludmFsaWQtY29sb3I6ICAgICAgIHRoZW1lLWNvbG9yKFwiZGFuZ2VyXCIpO1xuXG4kZm9ybS1mZWVkYmFjay1pY29uLXZhbGlkLWNvbG9yOiAgICAkZm9ybS1mZWVkYmFjay12YWxpZC1jb2xvcjtcbiRmb3JtLWZlZWRiYWNrLWljb24tdmFsaWQ6ICAgICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzgnIGhlaWdodD0nOCcgdmlld0JveD0nMCAwIDggOCc+PHBhdGggZmlsbD0nI3skZm9ybS1mZWVkYmFjay1pY29uLXZhbGlkLWNvbG9yfScgZD0nTTIuMyA2LjczTC42IDQuNTNjLS40LTEuMDQuNDYtMS40IDEuMS0uOGwxLjEgMS40IDMuNC0zLjhjLjYtLjYzIDEuNi0uMjcgMS4yLjdsLTQgNC42Yy0uNDMuNS0uOC40LTEuMS4xeicvPjwvc3ZnPlwiKTtcbiRmb3JtLWZlZWRiYWNrLWljb24taW52YWxpZC1jb2xvcjogICRmb3JtLWZlZWRiYWNrLWludmFsaWQtY29sb3I7XG4kZm9ybS1mZWVkYmFjay1pY29uLWludmFsaWQ6ICAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScxMicgaGVpZ2h0PScxMicgZmlsbD0nbm9uZScgc3Ryb2tlPScjeyRmb3JtLWZlZWRiYWNrLWljb24taW52YWxpZC1jb2xvcn0nIHZpZXdCb3g9JzAgMCAxMiAxMic+PGNpcmNsZSBjeD0nNicgY3k9JzYnIHI9JzQuNScvPjxwYXRoIHN0cm9rZS1saW5lam9pbj0ncm91bmQnIGQ9J001LjggMy42aC40TDYgNi41eicvPjxjaXJjbGUgY3g9JzYnIGN5PSc4LjInIHI9Jy42JyBmaWxsPScjeyRmb3JtLWZlZWRiYWNrLWljb24taW52YWxpZC1jb2xvcn0nIHN0cm9rZT0nbm9uZScvPjwvc3ZnPlwiKTtcblxuJGZvcm0tdmFsaWRhdGlvbi1zdGF0ZXM6ICgpO1xuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNjc3MvZG9sbGFyLXZhcmlhYmxlLWRlZmF1bHRcbiRmb3JtLXZhbGlkYXRpb24tc3RhdGVzOiBtYXAtbWVyZ2UoXG4gICAgICAgICAgICAgICAgKFxuICAgICAgICAgICAgICAgICAgICAgICAgXCJ2YWxpZFwiOiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiY29sb3JcIjogJGZvcm0tZmVlZGJhY2stdmFsaWQtY29sb3IsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiaWNvblwiOiAkZm9ybS1mZWVkYmFjay1pY29uLXZhbGlkXG4gICAgICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgICAgICAgXCJpbnZhbGlkXCI6IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJjb2xvclwiOiAkZm9ybS1mZWVkYmFjay1pbnZhbGlkLWNvbG9yLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImljb25cIjogJGZvcm0tZmVlZGJhY2staWNvbi1pbnZhbGlkXG4gICAgICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgJGZvcm0tdmFsaWRhdGlvbi1zdGF0ZXNcbik7XG5cbi8vIFotaW5kZXggbWFzdGVyIGxpc3Rcbi8vXG4vLyBXYXJuaW5nOiBBdm9pZCBjdXN0b21pemluZyB0aGVzZSB2YWx1ZXMuIFRoZXkncmUgdXNlZCBmb3IgYSBiaXJkJ3MgZXllIHZpZXdcbi8vIG9mIGNvbXBvbmVudHMgZGVwZW5kZW50IG9uIHRoZSB6LWF4aXMgYW5kIGFyZSBkZXNpZ25lZCB0byBhbGwgd29yayB0b2dldGhlci5cblxuJHppbmRleC1kcm9wZG93bjogICAgICAgICAgICAgICAgICAgMTAwMDtcbiR6aW5kZXgtc3RpY2t5OiAgICAgICAgICAgICAgICAgICAgIDEwMjA7XG4kemluZGV4LWZpeGVkOiAgICAgICAgICAgICAgICAgICAgICAxMDMwO1xuJHppbmRleC1tb2RhbC1iYWNrZHJvcDogICAgICAgICAgICAgMTA0MDtcbiR6aW5kZXgtbW9kYWw6ICAgICAgICAgICAgICAgICAgICAgIDEwNTA7XG4kemluZGV4LXBvcG92ZXI6ICAgICAgICAgICAgICAgICAgICAxMDYwO1xuJHppbmRleC10b29sdGlwOiAgICAgICAgICAgICAgICAgICAgMTA3MDtcblxuXG4vLyBOYXZzXG5cbiRuYXYtbGluay1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgIC41cmVtO1xuJG5hdi1saW5rLXBhZGRpbmcteDogICAgICAgICAgICAgICAgMXJlbTtcbiRuYXYtbGluay1kaXNhYmxlZC1jb2xvcjogICAgICAgICAgICRncmF5LTYwMDtcblxuJG5hdi10YWJzLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgJGdyYXktMzAwO1xuJG5hdi10YWJzLWJvcmRlci13aWR0aDogICAgICAgICAgICAgJGJvcmRlci13aWR0aDtcbiRuYXYtdGFicy1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICRib3JkZXItcmFkaXVzO1xuJG5hdi10YWJzLWxpbmstaG92ZXItYm9yZGVyLWNvbG9yOiAgJGdyYXktMjAwICRncmF5LTIwMCAkbmF2LXRhYnMtYm9yZGVyLWNvbG9yO1xuJG5hdi10YWJzLWxpbmstYWN0aXZlLWNvbG9yOiAgICAgICAgJGdyYXktNzAwO1xuJG5hdi10YWJzLWxpbmstYWN0aXZlLWJnOiAgICAgICAgICAgJGJvZHktYmc7XG4kbmF2LXRhYnMtbGluay1hY3RpdmUtYm9yZGVyLWNvbG9yOiAkZ3JheS0zMDAgJGdyYXktMzAwICRuYXYtdGFicy1saW5rLWFjdGl2ZS1iZztcblxuJG5hdi1waWxscy1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgJGJvcmRlci1yYWRpdXM7XG4kbmF2LXBpbGxzLWxpbmstYWN0aXZlLWNvbG9yOiAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvcjtcbiRuYXYtcGlsbHMtbGluay1hY3RpdmUtYmc6ICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnO1xuXG4kbmF2LWRpdmlkZXItY29sb3I6ICAgICAgICAgICAgICAgICAkZ3JheS0yMDA7XG4kbmF2LWRpdmlkZXItbWFyZ2luLXk6ICAgICAgICAgICAgICAkc3BhY2VyIC8gMjtcblxuXG4vLyBOYXZiYXJcblxuJG5hdmJhci1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgJHNwYWNlciAvIDI7XG4kbmF2YmFyLXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAkc3BhY2VyO1xuXG4kbmF2YmFyLW5hdi1saW5rLXBhZGRpbmcteDogICAgICAgICAuNXJlbTtcblxuJG5hdmJhci1icmFuZC1mb250LXNpemU6ICAgICAgICAgICAgJGZvbnQtc2l6ZS1sZztcbi8vIENvbXB1dGUgdGhlIG5hdmJhci1icmFuZCBwYWRkaW5nLXkgc28gdGhlIG5hdmJhci1icmFuZCB3aWxsIGhhdmUgdGhlIHNhbWUgaGVpZ2h0IGFzIG5hdmJhci10ZXh0IGFuZCBuYXYtbGlua1xuJG5hdi1saW5rLWhlaWdodDogICAgICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogJGxpbmUtaGVpZ2h0LWJhc2UgKyAkbmF2LWxpbmstcGFkZGluZy15ICogMjtcbiRuYXZiYXItYnJhbmQtaGVpZ2h0OiAgICAgICAgICAgICAgICRuYXZiYXItYnJhbmQtZm9udC1zaXplICogJGxpbmUtaGVpZ2h0LWJhc2U7XG4kbmF2YmFyLWJyYW5kLXBhZGRpbmcteTogICAgICAgICAgICAoJG5hdi1saW5rLWhlaWdodCAtICRuYXZiYXItYnJhbmQtaGVpZ2h0KSAvIDI7XG5cbiRuYXZiYXItdG9nZ2xlci1wYWRkaW5nLXk6ICAgICAgICAgIC4yNXJlbTtcbiRuYXZiYXItdG9nZ2xlci1wYWRkaW5nLXg6ICAgICAgICAgIC43NXJlbTtcbiRuYXZiYXItdG9nZ2xlci1mb250LXNpemU6ICAgICAgICAgICRmb250LXNpemUtbGc7XG4kbmF2YmFyLXRvZ2dsZXItYm9yZGVyLXJhZGl1czogICAgICAkYnRuLWJvcmRlci1yYWRpdXM7XG5cbiRuYXZiYXItZGFyay1jb2xvcjogICAgICAgICAgICAgICAgIHJnYmEoJHdoaXRlLCAuNSk7XG4kbmF2YmFyLWRhcmstaG92ZXItY29sb3I6ICAgICAgICAgICByZ2JhKCR3aGl0ZSwgLjc1KTtcbiRuYXZiYXItZGFyay1hY3RpdmUtY29sb3I6ICAgICAgICAgICR3aGl0ZTtcbiRuYXZiYXItZGFyay1kaXNhYmxlZC1jb2xvcjogICAgICAgIHJnYmEoJHdoaXRlLCAuMjUpO1xuJG5hdmJhci1kYXJrLXRvZ2dsZXItaWNvbi1iZzogICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMzAnIGhlaWdodD0nMzAnIHZpZXdCb3g9JzAgMCAzMCAzMCc+PHBhdGggc3Ryb2tlPScjeyRuYXZiYXItZGFyay1jb2xvcn0nIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLW1pdGVybGltaXQ9JzEwJyBzdHJva2Utd2lkdGg9JzInIGQ9J000IDdoMjJNNCAxNWgyMk00IDIzaDIyJy8+PC9zdmc+XCIpO1xuJG5hdmJhci1kYXJrLXRvZ2dsZXItYm9yZGVyLWNvbG9yOiAgcmdiYSgkd2hpdGUsIC4xKTtcblxuJG5hdmJhci1saWdodC1jb2xvcjogICAgICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC41KTtcbiRuYXZiYXItbGlnaHQtaG92ZXItY29sb3I6ICAgICAgICAgIHJnYmEoJGJsYWNrLCAuNyk7XG4kbmF2YmFyLWxpZ2h0LWFjdGl2ZS1jb2xvcjogICAgICAgICByZ2JhKCRibGFjaywgLjkpO1xuJG5hdmJhci1saWdodC1kaXNhYmxlZC1jb2xvcjogICAgICAgcmdiYSgkYmxhY2ssIC4zKTtcbiRuYXZiYXItbGlnaHQtdG9nZ2xlci1pY29uLWJnOiAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzMwJyBoZWlnaHQ9JzMwJyB2aWV3Qm94PScwIDAgMzAgMzAnPjxwYXRoIHN0cm9rZT0nI3skbmF2YmFyLWxpZ2h0LWNvbG9yfScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbWl0ZXJsaW1pdD0nMTAnIHN0cm9rZS13aWR0aD0nMicgZD0nTTQgN2gyMk00IDE1aDIyTTQgMjNoMjInLz48L3N2Zz5cIik7XG4kbmF2YmFyLWxpZ2h0LXRvZ2dsZXItYm9yZGVyLWNvbG9yOiByZ2JhKCRibGFjaywgLjEpO1xuXG4kbmF2YmFyLWxpZ2h0LWJyYW5kLWNvbG9yOiAgICAgICAgICAgICAgICAkbmF2YmFyLWxpZ2h0LWFjdGl2ZS1jb2xvcjtcbiRuYXZiYXItbGlnaHQtYnJhbmQtaG92ZXItY29sb3I6ICAgICAgICAgICRuYXZiYXItbGlnaHQtYWN0aXZlLWNvbG9yO1xuJG5hdmJhci1kYXJrLWJyYW5kLWNvbG9yOiAgICAgICAgICAgICAgICAgJG5hdmJhci1kYXJrLWFjdGl2ZS1jb2xvcjtcbiRuYXZiYXItZGFyay1icmFuZC1ob3Zlci1jb2xvcjogICAgICAgICAgICRuYXZiYXItZGFyay1hY3RpdmUtY29sb3I7XG5cblxuLy8gRHJvcGRvd25zXG4vL1xuLy8gRHJvcGRvd24gbWVudSBjb250YWluZXIgYW5kIGNvbnRlbnRzLlxuXG4kZHJvcGRvd24tbWluLXdpZHRoOiAgICAgICAgICAgICAgICAxMHJlbTtcbiRkcm9wZG93bi1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgIC41cmVtO1xuJGRyb3Bkb3duLXNwYWNlcjogICAgICAgICAgICAgICAgICAgLjEyNXJlbTtcbiRkcm9wZG93bi1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZTtcbiRkcm9wZG93bi1jb2xvcjogICAgICAgICAgICAgICAgICAgICRib2R5LWNvbG9yO1xuJGRyb3Bkb3duLWJnOiAgICAgICAgICAgICAgICAgICAgICAgJHdoaXRlO1xuJGRyb3Bkb3duLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4xNSk7XG4kZHJvcGRvd24tYm9yZGVyLXJhZGl1czogICAgICAgICAgICAkYm9yZGVyLXJhZGl1cztcbiRkcm9wZG93bi1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICRib3JkZXItd2lkdGg7XG4kZHJvcGRvd24taW5uZXItYm9yZGVyLXJhZGl1czogICAgICBzdWJ0cmFjdCgkZHJvcGRvd24tYm9yZGVyLXJhZGl1cywgJGRyb3Bkb3duLWJvcmRlci13aWR0aCk7XG4kZHJvcGRvd24tZGl2aWRlci1iZzogICAgICAgICAgICAgICAkZ3JheS0yMDA7XG4kZHJvcGRvd24tZGl2aWRlci1tYXJnaW4teTogICAgICAgICAkbmF2LWRpdmlkZXItbWFyZ2luLXk7XG4kZHJvcGRvd24tYm94LXNoYWRvdzogICAgICAgICAgICAgICAwIC41cmVtIDFyZW0gcmdiYSgkYmxhY2ssIC4xNzUpO1xuXG4kZHJvcGRvd24tbGluay1jb2xvcjogICAgICAgICAgICAgICAkZ3JheS05MDA7XG4kZHJvcGRvd24tbGluay1ob3Zlci1jb2xvcjogICAgICAgICBkYXJrZW4oJGdyYXktOTAwLCA1JSk7XG4kZHJvcGRvd24tbGluay1ob3Zlci1iZzogICAgICAgICAgICAkZ3JheS0xMDA7XG5cbiRkcm9wZG93bi1saW5rLWFjdGl2ZS1jb2xvcjogICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yO1xuJGRyb3Bkb3duLWxpbmstYWN0aXZlLWJnOiAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmc7XG5cbiRkcm9wZG93bi1saW5rLWRpc2FibGVkLWNvbG9yOiAgICAgICRncmF5LTYwMDtcblxuJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy15OiAgICAgICAgICAgLjI1cmVtO1xuJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy14OiAgICAgICAgICAgMS41cmVtO1xuXG4kZHJvcGRvd24taGVhZGVyLWNvbG9yOiAgICAgICAgICAgICAkZ3JheS02MDA7XG5cblxuLy8gUGFnaW5hdGlvblxuXG4kcGFnaW5hdGlvbi1wYWRkaW5nLXk6ICAgICAgICAgICAgICAuNXJlbTtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteDogICAgICAgICAgICAgIC43NXJlbTtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteS1zbTogICAgICAgICAgIC4yNXJlbTtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteC1zbTogICAgICAgICAgIC41cmVtO1xuJHBhZ2luYXRpb24tcGFkZGluZy15LWxnOiAgICAgICAgICAgLjc1cmVtO1xuJHBhZ2luYXRpb24tcGFkZGluZy14LWxnOiAgICAgICAgICAgMS41cmVtO1xuJHBhZ2luYXRpb24tbGluZS1oZWlnaHQ6ICAgICAgICAgICAgMS4yNTtcblxuJHBhZ2luYXRpb24tY29sb3I6ICAgICAgICAgICAgICAgICAgJGxpbmstY29sb3I7XG4kcGFnaW5hdGlvbi1iZzogICAgICAgICAgICAgICAgICAgICAkd2hpdGU7XG4kcGFnaW5hdGlvbi1ib3JkZXItd2lkdGg6ICAgICAgICAgICAkYm9yZGVyLXdpZHRoO1xuJHBhZ2luYXRpb24tYm9yZGVyLWNvbG9yOiAgICAgICAgICAgJGdyYXktMzAwO1xuXG4kcGFnaW5hdGlvbi1mb2N1cy1ib3gtc2hhZG93OiAgICAgICAkaW5wdXQtYnRuLWZvY3VzLWJveC1zaGFkb3c7XG4kcGFnaW5hdGlvbi1mb2N1cy1vdXRsaW5lOiAgICAgICAgICAwO1xuXG4kcGFnaW5hdGlvbi1ob3Zlci1jb2xvcjogICAgICAgICAgICAkbGluay1ob3Zlci1jb2xvcjtcbiRwYWdpbmF0aW9uLWhvdmVyLWJnOiAgICAgICAgICAgICAgICRncmF5LTIwMDtcbiRwYWdpbmF0aW9uLWhvdmVyLWJvcmRlci1jb2xvcjogICAgICRncmF5LTMwMDtcblxuJHBhZ2luYXRpb24tYWN0aXZlLWNvbG9yOiAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3I7XG4kcGFnaW5hdGlvbi1hY3RpdmUtYmc6ICAgICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZztcbiRwYWdpbmF0aW9uLWFjdGl2ZS1ib3JkZXItY29sb3I6ICAgICRwYWdpbmF0aW9uLWFjdGl2ZS1iZztcblxuJHBhZ2luYXRpb24tZGlzYWJsZWQtY29sb3I6ICAgICAgICAgJGdyYXktNjAwO1xuJHBhZ2luYXRpb24tZGlzYWJsZWQtYmc6ICAgICAgICAgICAgJHdoaXRlO1xuJHBhZ2luYXRpb24tZGlzYWJsZWQtYm9yZGVyLWNvbG9yOiAgJGdyYXktMzAwO1xuXG5cbi8vIEp1bWJvdHJvblxuXG4kanVtYm90cm9uLXBhZGRpbmc6ICAgICAgICAgICAgICAgICAycmVtO1xuJGp1bWJvdHJvbi1jb2xvcjogICAgICAgICAgICAgICAgICAgbnVsbDtcbiRqdW1ib3Ryb24tYmc6ICAgICAgICAgICAgICAgICAgICAgICRncmF5LTIwMDtcblxuXG4vLyBDYXJkc1xuXG4kY2FyZC1zcGFjZXIteTogICAgICAgICAgICAgICAgICAgICAuNzVyZW07XG4kY2FyZC1zcGFjZXIteDogICAgICAgICAgICAgICAgICAgICAxLjI1cmVtO1xuJGNhcmQtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAgJGJvcmRlci13aWR0aDtcbiRjYXJkLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzO1xuJGNhcmQtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4xMjUpO1xuJGNhcmQtaW5uZXItYm9yZGVyLXJhZGl1czogICAgICAgICAgc3VidHJhY3QoJGNhcmQtYm9yZGVyLXJhZGl1cywgJGNhcmQtYm9yZGVyLXdpZHRoKTtcbiRjYXJkLWNhcC1iZzogICAgICAgICAgICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMDMpO1xuJGNhcmQtY2FwLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgbnVsbDtcbiRjYXJkLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgIG51bGw7XG4kY2FyZC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICBudWxsO1xuJGNhcmQtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJHdoaXRlO1xuXG4kY2FyZC1pbWctb3ZlcmxheS1wYWRkaW5nOiAgICAgICAgICAxLjI1cmVtO1xuXG4kY2FyZC1ncm91cC1tYXJnaW46ICAgICAgICAgICAgICAgICAkZ3JpZC1ndXR0ZXItd2lkdGggLyAyO1xuJGNhcmQtZGVjay1tYXJnaW46ICAgICAgICAgICAgICAgICAgJGNhcmQtZ3JvdXAtbWFyZ2luO1xuXG4kY2FyZC1jb2x1bW5zLWNvdW50OiAgICAgICAgICAgICAgICAzO1xuJGNhcmQtY29sdW1ucy1nYXA6ICAgICAgICAgICAgICAgICAgMS4yNXJlbTtcbiRjYXJkLWNvbHVtbnMtbWFyZ2luOiAgICAgICAgICAgICAgICRjYXJkLXNwYWNlci15O1xuXG5cbi8vIFRvb2x0aXBzXG5cbiR0b29sdGlwLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICRmb250LXNpemUtc207XG4kdG9vbHRpcC1tYXgtd2lkdGg6ICAgICAgICAgICAgICAgICAyMDBweDtcbiR0b29sdGlwLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICR3aGl0ZTtcbiR0b29sdGlwLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICRibGFjaztcbiR0b29sdGlwLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICRib3JkZXItcmFkaXVzO1xuJHRvb2x0aXAtb3BhY2l0eTogICAgICAgICAgICAgICAgICAgLjk7XG4kdG9vbHRpcC1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAuMjVyZW07XG4kdG9vbHRpcC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAuNXJlbTtcbiR0b29sdGlwLW1hcmdpbjogICAgICAgICAgICAgICAgICAgIDA7XG5cbiR0b29sdGlwLWFycm93LXdpZHRoOiAgICAgICAgICAgICAgIC44cmVtO1xuJHRvb2x0aXAtYXJyb3ctaGVpZ2h0OiAgICAgICAgICAgICAgLjRyZW07XG4kdG9vbHRpcC1hcnJvdy1jb2xvcjogICAgICAgICAgICAgICAkdG9vbHRpcC1iZztcblxuLy8gRm9ybSB0b29sdGlwcyBtdXN0IGNvbWUgYWZ0ZXIgcmVndWxhciB0b29sdGlwc1xuJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1wYWRkaW5nLXk6ICAgICAkdG9vbHRpcC1wYWRkaW5nLXk7XG4kZm9ybS1mZWVkYmFjay10b29sdGlwLXBhZGRpbmcteDogICAgICR0b29sdGlwLXBhZGRpbmcteDtcbiRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtZm9udC1zaXplOiAgICAgJHRvb2x0aXAtZm9udC1zaXplO1xuJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1saW5lLWhlaWdodDogICAkbGluZS1oZWlnaHQtYmFzZTtcbiRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtb3BhY2l0eTogICAgICAgJHRvb2x0aXAtb3BhY2l0eTtcbiRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtYm9yZGVyLXJhZGl1czogJHRvb2x0aXAtYm9yZGVyLXJhZGl1cztcblxuXG4vLyBQb3BvdmVyc1xuXG4kcG9wb3Zlci1mb250LXNpemU6ICAgICAgICAgICAgICAgICAkZm9udC1zaXplLXNtO1xuJHBvcG92ZXItYmc6ICAgICAgICAgICAgICAgICAgICAgICAgJHdoaXRlO1xuJHBvcG92ZXItbWF4LXdpZHRoOiAgICAgICAgICAgICAgICAgMjc2cHg7XG4kcG9wb3Zlci1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAkYm9yZGVyLXdpZHRoO1xuJHBvcG92ZXItYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4yKTtcbiRwb3BvdmVyLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICRib3JkZXItcmFkaXVzLWxnO1xuJHBvcG92ZXItaW5uZXItYm9yZGVyLXJhZGl1czogICAgICAgc3VidHJhY3QoJHBvcG92ZXItYm9yZGVyLXJhZGl1cywgJHBvcG92ZXItYm9yZGVyLXdpZHRoKTtcbiRwb3BvdmVyLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgIDAgLjI1cmVtIC41cmVtIHJnYmEoJGJsYWNrLCAuMik7XG5cbiRwb3BvdmVyLWhlYWRlci1iZzogICAgICAgICAgICAgICAgIGRhcmtlbigkcG9wb3Zlci1iZywgMyUpO1xuJHBvcG92ZXItaGVhZGVyLWNvbG9yOiAgICAgICAgICAgICAgJGhlYWRpbmdzLWNvbG9yO1xuJHBvcG92ZXItaGVhZGVyLXBhZGRpbmcteTogICAgICAgICAgLjVyZW07XG4kcG9wb3Zlci1oZWFkZXItcGFkZGluZy14OiAgICAgICAgICAuNzVyZW07XG5cbiRwb3BvdmVyLWJvZHktY29sb3I6ICAgICAgICAgICAgICAgICRib2R5LWNvbG9yO1xuJHBvcG92ZXItYm9keS1wYWRkaW5nLXk6ICAgICAgICAgICAgJHBvcG92ZXItaGVhZGVyLXBhZGRpbmcteTtcbiRwb3BvdmVyLWJvZHktcGFkZGluZy14OiAgICAgICAgICAgICRwb3BvdmVyLWhlYWRlci1wYWRkaW5nLXg7XG5cbiRwb3BvdmVyLWFycm93LXdpZHRoOiAgICAgICAgICAgICAgIDFyZW07XG4kcG9wb3Zlci1hcnJvdy1oZWlnaHQ6ICAgICAgICAgICAgICAuNXJlbTtcbiRwb3BvdmVyLWFycm93LWNvbG9yOiAgICAgICAgICAgICAgICRwb3BvdmVyLWJnO1xuXG4kcG9wb3Zlci1hcnJvdy1vdXRlci1jb2xvcjogICAgICAgICBmYWRlLWluKCRwb3BvdmVyLWJvcmRlci1jb2xvciwgLjA1KTtcblxuXG4vLyBUb2FzdHNcblxuJHRvYXN0LW1heC13aWR0aDogICAgICAgICAgICAgICAgICAgMzUwcHg7XG4kdG9hc3QtcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICAuNzVyZW07XG4kdG9hc3QtcGFkZGluZy15OiAgICAgICAgICAgICAgICAgICAuMjVyZW07XG4kdG9hc3QtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAuODc1cmVtO1xuJHRvYXN0LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgbnVsbDtcbiR0b2FzdC1iYWNrZ3JvdW5kLWNvbG9yOiAgICAgICAgICAgIHJnYmEoJHdoaXRlLCAuODUpO1xuJHRvYXN0LWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgMXB4O1xuJHRvYXN0LWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgcmdiYSgwLCAwLCAwLCAuMSk7XG4kdG9hc3QtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAuMjVyZW07XG4kdG9hc3QtYm94LXNoYWRvdzogICAgICAgICAgICAgICAgICAwIC4yNXJlbSAuNzVyZW0gcmdiYSgkYmxhY2ssIC4xKTtcblxuJHRvYXN0LWhlYWRlci1jb2xvcjogICAgICAgICAgICAgICAgJGdyYXktNjAwO1xuJHRvYXN0LWhlYWRlci1iYWNrZ3JvdW5kLWNvbG9yOiAgICAgcmdiYSgkd2hpdGUsIC44NSk7XG4kdG9hc3QtaGVhZGVyLWJvcmRlci1jb2xvcjogICAgICAgICByZ2JhKDAsIDAsIDAsIC4wNSk7XG5cblxuLy8gQmFkZ2VzXG5cbiRiYWRnZS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgIDc1JTtcbiRiYWRnZS1mb250LXdlaWdodDogICAgICAgICAgICAgICAgICRmb250LXdlaWdodC1ib2xkO1xuJGJhZGdlLXBhZGRpbmcteTogICAgICAgICAgICAgICAgICAgLjI1ZW07XG4kYmFkZ2UtcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICAuNGVtO1xuJGJhZGdlLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXM7XG5cbiRiYWRnZS10cmFuc2l0aW9uOiAgICAgICAgICAgICAgICAgICRidG4tdHJhbnNpdGlvbjtcbiRiYWRnZS1mb2N1cy13aWR0aDogICAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9jdXMtd2lkdGg7XG5cbiRiYWRnZS1waWxsLXBhZGRpbmcteDogICAgICAgICAgICAgIC42ZW07XG4vLyBVc2UgYSBoaWdoZXIgdGhhbiBub3JtYWwgdmFsdWUgdG8gZW5zdXJlIGNvbXBsZXRlbHkgcm91bmRlZCBlZGdlcyB3aGVuXG4vLyBjdXN0b21pemluZyBwYWRkaW5nIG9yIGZvbnQtc2l6ZSBvbiBsYWJlbHMuXG4kYmFkZ2UtcGlsbC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAxMHJlbTtcblxuXG4vLyBNb2RhbHNcblxuLy8gUGFkZGluZyBhcHBsaWVkIHRvIHRoZSBtb2RhbCBib2R5XG4kbW9kYWwtaW5uZXItcGFkZGluZzogICAgICAgICAgICAgICAxcmVtO1xuXG4vLyBNYXJnaW4gYmV0d2VlbiBlbGVtZW50cyBpbiBmb290ZXIsIG11c3QgYmUgbG93ZXIgdGhhbiBvciBlcXVhbCB0byAyICogJG1vZGFsLWlubmVyLXBhZGRpbmdcbiRtb2RhbC1mb290ZXItbWFyZ2luLWJldHdlZW46ICAgICAgIC41cmVtO1xuXG4kbW9kYWwtZGlhbG9nLW1hcmdpbjogICAgICAgICAgICAgICAuNXJlbTtcbiRtb2RhbC1kaWFsb2ctbWFyZ2luLXktc20tdXA6ICAgICAgIDEuNzVyZW07XG5cbiRtb2RhbC10aXRsZS1saW5lLWhlaWdodDogICAgICAgICAgICRsaW5lLWhlaWdodC1iYXNlO1xuXG4kbW9kYWwtY29udGVudC1jb2xvcjogICAgICAgICAgICAgICBudWxsO1xuJG1vZGFsLWNvbnRlbnQtYmc6ICAgICAgICAgICAgICAgICAgJHdoaXRlO1xuJG1vZGFsLWNvbnRlbnQtYm9yZGVyLWNvbG9yOiAgICAgICAgcmdiYSgkYmxhY2ssIC4yKTtcbiRtb2RhbC1jb250ZW50LWJvcmRlci13aWR0aDogICAgICAgICRib3JkZXItd2lkdGg7XG4kbW9kYWwtY29udGVudC1ib3JkZXItcmFkaXVzOiAgICAgICAkYm9yZGVyLXJhZGl1cy1sZztcbiRtb2RhbC1jb250ZW50LWlubmVyLWJvcmRlci1yYWRpdXM6IHN1YnRyYWN0KCRtb2RhbC1jb250ZW50LWJvcmRlci1yYWRpdXMsICRtb2RhbC1jb250ZW50LWJvcmRlci13aWR0aCk7XG4kbW9kYWwtY29udGVudC1ib3gtc2hhZG93LXhzOiAgICAgICAwIC4yNXJlbSAuNXJlbSByZ2JhKCRibGFjaywgLjUpO1xuJG1vZGFsLWNvbnRlbnQtYm94LXNoYWRvdy1zbS11cDogICAgMCAuNXJlbSAxcmVtIHJnYmEoJGJsYWNrLCAuNSk7XG5cbiRtb2RhbC1iYWNrZHJvcC1iZzogICAgICAgICAgICAgICAgICRibGFjaztcbiRtb2RhbC1iYWNrZHJvcC1vcGFjaXR5OiAgICAgICAgICAgIC41O1xuJG1vZGFsLWhlYWRlci1ib3JkZXItY29sb3I6ICAgICAgICAgJGJvcmRlci1jb2xvcjtcbiRtb2RhbC1mb290ZXItYm9yZGVyLWNvbG9yOiAgICAgICAgICRtb2RhbC1oZWFkZXItYm9yZGVyLWNvbG9yO1xuJG1vZGFsLWhlYWRlci1ib3JkZXItd2lkdGg6ICAgICAgICAgJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXdpZHRoO1xuJG1vZGFsLWZvb3Rlci1ib3JkZXItd2lkdGg6ICAgICAgICAgJG1vZGFsLWhlYWRlci1ib3JkZXItd2lkdGg7XG4kbW9kYWwtaGVhZGVyLXBhZGRpbmcteTogICAgICAgICAgICAxcmVtO1xuJG1vZGFsLWhlYWRlci1wYWRkaW5nLXg6ICAgICAgICAgICAgMXJlbTtcbiRtb2RhbC1oZWFkZXItcGFkZGluZzogICAgICAgICAgICAgICRtb2RhbC1oZWFkZXItcGFkZGluZy15ICRtb2RhbC1oZWFkZXItcGFkZGluZy14OyAvLyBLZWVwIHRoaXMgZm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5XG5cbiRtb2RhbC14bDogICAgICAgICAgICAgICAgICAgICAgICAgIDExNDBweDtcbiRtb2RhbC1sZzogICAgICAgICAgICAgICAgICAgICAgICAgIDgwMHB4O1xuJG1vZGFsLW1kOiAgICAgICAgICAgICAgICAgICAgICAgICAgNTAwcHg7XG4kbW9kYWwtc206ICAgICAgICAgICAgICAgICAgICAgICAgICAzMDBweDtcblxuJG1vZGFsLWZhZGUtdHJhbnNmb3JtOiAgICAgICAgICAgICAgdHJhbnNsYXRlKDAsIC01MHB4KTtcbiRtb2RhbC1zaG93LXRyYW5zZm9ybTogICAgICAgICAgICAgIG5vbmU7XG4kbW9kYWwtdHJhbnNpdGlvbjogICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gLjNzIGVhc2Utb3V0O1xuJG1vZGFsLXNjYWxlLXRyYW5zZm9ybTogICAgICAgICAgICAgc2NhbGUoMS4wMik7XG5cblxuLy8gQWxlcnRzXG4vL1xuLy8gRGVmaW5lIGFsZXJ0IGNvbG9ycywgYm9yZGVyIHJhZGl1cywgYW5kIHBhZGRpbmcuXG5cbiRhbGVydC1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgIC43NXJlbTtcbiRhbGVydC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgIDEuMjVyZW07XG4kYWxlcnQtbWFyZ2luLWJvdHRvbTogICAgICAgICAgICAgICAxcmVtO1xuJGFsZXJ0LWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXM7XG4kYWxlcnQtbGluay1mb250LXdlaWdodDogICAgICAgICAgICAkZm9udC13ZWlnaHQtYm9sZDtcbiRhbGVydC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICRib3JkZXItd2lkdGg7XG5cbiRhbGVydC1iZy1sZXZlbDogICAgICAgICAgICAgICAgICAgIC0xMDtcbiRhbGVydC1ib3JkZXItbGV2ZWw6ICAgICAgICAgICAgICAgIC05O1xuJGFsZXJ0LWNvbG9yLWxldmVsOiAgICAgICAgICAgICAgICAgNjtcblxuXG4vLyBQcm9ncmVzcyBiYXJzXG5cbiRwcm9ncmVzcy1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgIDFyZW07XG4kcHJvZ3Jlc3MtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAuNzU7XG4kcHJvZ3Jlc3MtYmc6ICAgICAgICAgICAgICAgICAgICAgICAkZ3JheS0yMDA7XG4kcHJvZ3Jlc3MtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAkYm9yZGVyLXJhZGl1cztcbiRwcm9ncmVzcy1ib3gtc2hhZG93OiAgICAgICAgICAgICAgIGluc2V0IDAgLjFyZW0gLjFyZW0gcmdiYSgkYmxhY2ssIC4xKTtcbiRwcm9ncmVzcy1iYXItY29sb3I6ICAgICAgICAgICAgICAgICR3aGl0ZTtcbiRwcm9ncmVzcy1iYXItYmc6ICAgICAgICAgICAgICAgICAgIHRoZW1lLWNvbG9yKFwicHJpbWFyeVwiKTtcbiRwcm9ncmVzcy1iYXItYW5pbWF0aW9uLXRpbWluZzogICAgIDFzIGxpbmVhciBpbmZpbml0ZTtcbiRwcm9ncmVzcy1iYXItdHJhbnNpdGlvbjogICAgICAgICAgIHdpZHRoIC42cyBlYXNlO1xuXG5cbi8vIExpc3QgZ3JvdXBcblxuJGxpc3QtZ3JvdXAtY29sb3I6ICAgICAgICAgICAgICAgICAgbnVsbDtcbiRsaXN0LWdyb3VwLWJnOiAgICAgICAgICAgICAgICAgICAgICR3aGl0ZTtcbiRsaXN0LWdyb3VwLWJvcmRlci1jb2xvcjogICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMTI1KTtcbiRsaXN0LWdyb3VwLWJvcmRlci13aWR0aDogICAgICAgICAgICRib3JkZXItd2lkdGg7XG4kbGlzdC1ncm91cC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAkYm9yZGVyLXJhZGl1cztcblxuJGxpc3QtZ3JvdXAtaXRlbS1wYWRkaW5nLXk6ICAgICAgICAgLjc1cmVtO1xuJGxpc3QtZ3JvdXAtaXRlbS1wYWRkaW5nLXg6ICAgICAgICAgMS4yNXJlbTtcblxuJGxpc3QtZ3JvdXAtaG92ZXItYmc6ICAgICAgICAgICAgICAgJGdyYXktMTAwO1xuJGxpc3QtZ3JvdXAtYWN0aXZlLWNvbG9yOiAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3I7XG4kbGlzdC1ncm91cC1hY3RpdmUtYmc6ICAgICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZztcbiRsaXN0LWdyb3VwLWFjdGl2ZS1ib3JkZXItY29sb3I6ICAgICRsaXN0LWdyb3VwLWFjdGl2ZS1iZztcblxuJGxpc3QtZ3JvdXAtZGlzYWJsZWQtY29sb3I6ICAgICAgICAgJGdyYXktNjAwO1xuJGxpc3QtZ3JvdXAtZGlzYWJsZWQtYmc6ICAgICAgICAgICAgJGxpc3QtZ3JvdXAtYmc7XG5cbiRsaXN0LWdyb3VwLWFjdGlvbi1jb2xvcjogICAgICAgICAgICRncmF5LTcwMDtcbiRsaXN0LWdyb3VwLWFjdGlvbi1ob3Zlci1jb2xvcjogICAgICRsaXN0LWdyb3VwLWFjdGlvbi1jb2xvcjtcblxuJGxpc3QtZ3JvdXAtYWN0aW9uLWFjdGl2ZS1jb2xvcjogICAgJGJvZHktY29sb3I7XG4kbGlzdC1ncm91cC1hY3Rpb24tYWN0aXZlLWJnOiAgICAgICAkZ3JheS0yMDA7XG5cblxuLy8gSW1hZ2UgdGh1bWJuYWlsc1xuXG4kdGh1bWJuYWlsLXBhZGRpbmc6ICAgICAgICAgICAgICAgICAuMjVyZW07XG4kdGh1bWJuYWlsLWJnOiAgICAgICAgICAgICAgICAgICAgICAkYm9keS1iZztcbiR0aHVtYm5haWwtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICRib3JkZXItd2lkdGg7XG4kdGh1bWJuYWlsLWJvcmRlci1jb2xvcjogICAgICAgICAgICAkZ3JheS0zMDA7XG4kdGh1bWJuYWlsLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAkYm9yZGVyLXJhZGl1cztcbiR0aHVtYm5haWwtYm94LXNoYWRvdzogICAgICAgICAgICAgIDAgMXB4IDJweCByZ2JhKCRibGFjaywgLjA3NSk7XG5cblxuLy8gRmlndXJlc1xuXG4kZmlndXJlLWNhcHRpb24tZm9udC1zaXplOiAgICAgICAgICA5MCU7XG4kZmlndXJlLWNhcHRpb24tY29sb3I6ICAgICAgICAgICAgICAkZ3JheS02MDA7XG5cblxuLy8gQnJlYWRjcnVtYnNcblxuJGJyZWFkY3J1bWItZm9udC1zaXplOiAgICAgICAgICAgICAgbnVsbDtcblxuJGJyZWFkY3J1bWItcGFkZGluZy15OiAgICAgICAgICAgICAgLjc1cmVtO1xuJGJyZWFkY3J1bWItcGFkZGluZy14OiAgICAgICAgICAgICAgMXJlbTtcbiRicmVhZGNydW1iLWl0ZW0tcGFkZGluZzogICAgICAgICAgIC41cmVtO1xuXG4kYnJlYWRjcnVtYi1tYXJnaW4tYm90dG9tOiAgICAgICAgICAxcmVtO1xuXG4kYnJlYWRjcnVtYi1iZzogICAgICAgICAgICAgICAgICAgICAkZ3JheS0yMDA7XG4kYnJlYWRjcnVtYi1kaXZpZGVyLWNvbG9yOiAgICAgICAgICAkZ3JheS02MDA7XG4kYnJlYWRjcnVtYi1hY3RpdmUtY29sb3I6ICAgICAgICAgICAkZ3JheS02MDA7XG4kYnJlYWRjcnVtYi1kaXZpZGVyOiAgICAgICAgICAgICAgICBxdW90ZShcIi9cIik7XG5cbiRicmVhZGNydW1iLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICRib3JkZXItcmFkaXVzO1xuXG5cbi8vIENhcm91c2VsXG5cbiRjYXJvdXNlbC1jb250cm9sLWNvbG9yOiAgICAgICAgICAgICAkd2hpdGU7XG4kY2Fyb3VzZWwtY29udHJvbC13aWR0aDogICAgICAgICAgICAgMTUlO1xuJGNhcm91c2VsLWNvbnRyb2wtb3BhY2l0eTogICAgICAgICAgIC41O1xuJGNhcm91c2VsLWNvbnRyb2wtaG92ZXItb3BhY2l0eTogICAgIC45O1xuJGNhcm91c2VsLWNvbnRyb2wtdHJhbnNpdGlvbjogICAgICAgIG9wYWNpdHkgLjE1cyBlYXNlO1xuXG4kY2Fyb3VzZWwtaW5kaWNhdG9yLXdpZHRoOiAgICAgICAgICAgMzBweDtcbiRjYXJvdXNlbC1pbmRpY2F0b3ItaGVpZ2h0OiAgICAgICAgICAzcHg7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLWhpdC1hcmVhLWhlaWdodDogMTBweDtcbiRjYXJvdXNlbC1pbmRpY2F0b3Itc3BhY2VyOiAgICAgICAgICAzcHg7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLWFjdGl2ZS1iZzogICAgICAgJHdoaXRlO1xuJGNhcm91c2VsLWluZGljYXRvci10cmFuc2l0aW9uOiAgICAgIG9wYWNpdHkgLjZzIGVhc2U7XG5cbiRjYXJvdXNlbC1jYXB0aW9uLXdpZHRoOiAgICAgICAgICAgICA3MCU7XG4kY2Fyb3VzZWwtY2FwdGlvbi1jb2xvcjogICAgICAgICAgICAgJHdoaXRlO1xuXG4kY2Fyb3VzZWwtY29udHJvbC1pY29uLXdpZHRoOiAgICAgICAgMjBweDtcblxuJGNhcm91c2VsLWNvbnRyb2wtcHJldi1pY29uLWJnOiAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgZmlsbD0nI3skY2Fyb3VzZWwtY29udHJvbC1jb2xvcn0nIHdpZHRoPSc4JyBoZWlnaHQ9JzgnIHZpZXdCb3g9JzAgMCA4IDgnPjxwYXRoIGQ9J001LjI1IDBsLTQgNCA0IDQgMS41LTEuNUw0LjI1IDRsMi41LTIuNUw1LjI1IDB6Jy8+PC9zdmc+XCIpO1xuJGNhcm91c2VsLWNvbnRyb2wtbmV4dC1pY29uLWJnOiAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgZmlsbD0nI3skY2Fyb3VzZWwtY29udHJvbC1jb2xvcn0nIHdpZHRoPSc4JyBoZWlnaHQ9JzgnIHZpZXdCb3g9JzAgMCA4IDgnPjxwYXRoIGQ9J00yLjc1IDBsLTEuNSAxLjVMMy43NSA0bC0yLjUgMi41TDIuNzUgOGw0LTQtNC00eicvPjwvc3ZnPlwiKTtcblxuJGNhcm91c2VsLXRyYW5zaXRpb24tZHVyYXRpb246ICAgICAgIC42cztcbiRjYXJvdXNlbC10cmFuc2l0aW9uOiAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gJGNhcm91c2VsLXRyYW5zaXRpb24tZHVyYXRpb24gZWFzZS1pbi1vdXQ7IC8vIERlZmluZSB0cmFuc2Zvcm0gdHJhbnNpdGlvbiBmaXJzdCBpZiB1c2luZyBtdWx0aXBsZSB0cmFuc2l0aW9ucyAoZS5nLiwgYHRyYW5zZm9ybSAycyBlYXNlLCBvcGFjaXR5IC41cyBlYXNlLW91dGApXG5cblxuLy8gU3Bpbm5lcnNcblxuJHNwaW5uZXItd2lkdGg6ICAgICAgICAgMnJlbTtcbiRzcGlubmVyLWhlaWdodDogICAgICAgICRzcGlubmVyLXdpZHRoO1xuJHNwaW5uZXItYm9yZGVyLXdpZHRoOiAgLjI1ZW07XG5cbiRzcGlubmVyLXdpZHRoLXNtOiAgICAgICAgMXJlbTtcbiRzcGlubmVyLWhlaWdodC1zbTogICAgICAgJHNwaW5uZXItd2lkdGgtc207XG4kc3Bpbm5lci1ib3JkZXItd2lkdGgtc206IC4yZW07XG5cblxuLy8gQ2xvc2VcblxuJGNsb3NlLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS41O1xuJGNsb3NlLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LWJvbGQ7XG4kY2xvc2UtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAkYmxhY2s7XG4kY2xvc2UtdGV4dC1zaGFkb3c6ICAgICAgICAgICAgICAgICAwIDFweCAwICR3aGl0ZTtcblxuXG4vLyBDb2RlXG5cbiRjb2RlLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgIDg3LjUlO1xuJGNvZGUtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgJHBpbms7XG5cbiRrYmQtcGFkZGluZy15OiAgICAgICAgICAgICAgICAgICAgIC4ycmVtO1xuJGtiZC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgICAgLjRyZW07XG4ka2JkLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAkY29kZS1mb250LXNpemU7XG4ka2JkLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAkd2hpdGU7XG4ka2JkLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ3JheS05MDA7XG5cbiRwcmUtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICRncmF5LTkwMDtcbiRwcmUtc2Nyb2xsYWJsZS1tYXgtaGVpZ2h0OiAgICAgICAgIDM0MHB4O1xuXG5cbi8vIFV0aWxpdGllc1xuXG4kZGlzcGxheXM6IG5vbmUsIGlubGluZSwgaW5saW5lLWJsb2NrLCBibG9jaywgdGFibGUsIHRhYmxlLXJvdywgdGFibGUtY2VsbCwgZmxleCwgaW5saW5lLWZsZXg7XG4kb3ZlcmZsb3dzOiBhdXRvLCBoaWRkZW47XG4kcG9zaXRpb25zOiBzdGF0aWMsIHJlbGF0aXZlLCBhYnNvbHV0ZSwgZml4ZWQsIHN0aWNreTtcblxuXG4vLyBQcmludGluZ1xuXG4kcHJpbnQtcGFnZS1zaXplOiAgICAgICAgICAgICAgICAgICBhMztcbiRwcmludC1ib2R5LW1pbi13aWR0aDogICAgICAgICAgICAgIG1hcC1nZXQoJGdyaWQtYnJlYWtwb2ludHMsIFwibGdcIik7XG5cbiIsIi50YWJsZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBjb2xvcjogIzIwMWQxZDtcbn1cbi50YWJsZSB0aCxcbi50YWJsZSB0ZCB7XG4gIHBhZGRpbmc6IDAuNzVyZW07XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZGVlMmU2O1xufVxuLnRhYmxlIHRoZWFkIHRoIHtcbiAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNkZWUyZTY7XG59XG4udGFibGUgdGJvZHkgKyB0Ym9keSB7XG4gIGJvcmRlci10b3A6IDJweCBzb2xpZCAjZGVlMmU2O1xufVxuXG4udGFibGUtc20gdGgsXG4udGFibGUtc20gdGQge1xuICBwYWRkaW5nOiAwLjNyZW07XG59XG5cbi50YWJsZS1ib3JkZXJlZCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkZWUyZTY7XG59XG4udGFibGUtYm9yZGVyZWQgdGgsXG4udGFibGUtYm9yZGVyZWQgdGQge1xuICBib3JkZXI6IDFweCBzb2xpZCAjZGVlMmU2O1xufVxuLnRhYmxlLWJvcmRlcmVkIHRoZWFkIHRoLFxuLnRhYmxlLWJvcmRlcmVkIHRoZWFkIHRkIHtcbiAgYm9yZGVyLWJvdHRvbS13aWR0aDogMnB4O1xufVxuXG4udGFibGUtYm9yZGVybGVzcyB0aCxcbi50YWJsZS1ib3JkZXJsZXNzIHRkLFxuLnRhYmxlLWJvcmRlcmxlc3MgdGhlYWQgdGgsXG4udGFibGUtYm9yZGVybGVzcyB0Ym9keSArIHRib2R5IHtcbiAgYm9yZGVyOiAwO1xufVxuXG4udGFibGUtc3RyaXBlZCB0Ym9keSB0cjpudGgtb2YtdHlwZShvZGQpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjA1KTtcbn1cblxuLnRhYmxlLWhvdmVyIHRib2R5IHRyOmhvdmVyIHtcbiAgY29sb3I6ICMyMDFkMWQ7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4wNzUpO1xufVxuXG4udGFibGUtcHJpbWFyeSxcbi50YWJsZS1wcmltYXJ5ID4gdGgsXG4udGFibGUtcHJpbWFyeSA+IHRkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2I4ZThmYjtcbn1cbi50YWJsZS1wcmltYXJ5IHRoLFxuLnRhYmxlLXByaW1hcnkgdGQsXG4udGFibGUtcHJpbWFyeSB0aGVhZCB0aCxcbi50YWJsZS1wcmltYXJ5IHRib2R5ICsgdGJvZHkge1xuICBib3JkZXItY29sb3I6ICM3YWQ1Zjc7XG59XG5cbi50YWJsZS1ob3ZlciAudGFibGUtcHJpbWFyeTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNhMGUwZmE7XG59XG4udGFibGUtaG92ZXIgLnRhYmxlLXByaW1hcnk6aG92ZXIgPiB0ZCxcbi50YWJsZS1ob3ZlciAudGFibGUtcHJpbWFyeTpob3ZlciA+IHRoIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2EwZTBmYTtcbn1cblxuLnRhYmxlLXNlY29uZGFyeSxcbi50YWJsZS1zZWNvbmRhcnkgPiB0aCxcbi50YWJsZS1zZWNvbmRhcnkgPiB0ZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkNmQ4ZGI7XG59XG4udGFibGUtc2Vjb25kYXJ5IHRoLFxuLnRhYmxlLXNlY29uZGFyeSB0ZCxcbi50YWJsZS1zZWNvbmRhcnkgdGhlYWQgdGgsXG4udGFibGUtc2Vjb25kYXJ5IHRib2R5ICsgdGJvZHkge1xuICBib3JkZXItY29sb3I6ICNiM2I3YmI7XG59XG5cbi50YWJsZS1ob3ZlciAudGFibGUtc2Vjb25kYXJ5OmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2M4Y2JjZjtcbn1cbi50YWJsZS1ob3ZlciAudGFibGUtc2Vjb25kYXJ5OmhvdmVyID4gdGQsXG4udGFibGUtaG92ZXIgLnRhYmxlLXNlY29uZGFyeTpob3ZlciA+IHRoIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2M4Y2JjZjtcbn1cblxuLnRhYmxlLXN1Y2Nlc3MsXG4udGFibGUtc3VjY2VzcyA+IHRoLFxuLnRhYmxlLXN1Y2Nlc3MgPiB0ZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjM2U2Y2I7XG59XG4udGFibGUtc3VjY2VzcyB0aCxcbi50YWJsZS1zdWNjZXNzIHRkLFxuLnRhYmxlLXN1Y2Nlc3MgdGhlYWQgdGgsXG4udGFibGUtc3VjY2VzcyB0Ym9keSArIHRib2R5IHtcbiAgYm9yZGVyLWNvbG9yOiAjOGZkMTllO1xufVxuXG4udGFibGUtaG92ZXIgLnRhYmxlLXN1Y2Nlc3M6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjFkZmJiO1xufVxuLnRhYmxlLWhvdmVyIC50YWJsZS1zdWNjZXNzOmhvdmVyID4gdGQsXG4udGFibGUtaG92ZXIgLnRhYmxlLXN1Y2Nlc3M6aG92ZXIgPiB0aCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNiMWRmYmI7XG59XG5cbi50YWJsZS1pbmZvLFxuLnRhYmxlLWluZm8gPiB0aCxcbi50YWJsZS1pbmZvID4gdGQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYmVlNWViO1xufVxuLnRhYmxlLWluZm8gdGgsXG4udGFibGUtaW5mbyB0ZCxcbi50YWJsZS1pbmZvIHRoZWFkIHRoLFxuLnRhYmxlLWluZm8gdGJvZHkgKyB0Ym9keSB7XG4gIGJvcmRlci1jb2xvcjogIzg2Y2ZkYTtcbn1cblxuLnRhYmxlLWhvdmVyIC50YWJsZS1pbmZvOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2FiZGRlNTtcbn1cbi50YWJsZS1ob3ZlciAudGFibGUtaW5mbzpob3ZlciA+IHRkLFxuLnRhYmxlLWhvdmVyIC50YWJsZS1pbmZvOmhvdmVyID4gdGgge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYWJkZGU1O1xufVxuXG4udGFibGUtd2FybmluZyxcbi50YWJsZS13YXJuaW5nID4gdGgsXG4udGFibGUtd2FybmluZyA+IHRkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZWViYTtcbn1cbi50YWJsZS13YXJuaW5nIHRoLFxuLnRhYmxlLXdhcm5pbmcgdGQsXG4udGFibGUtd2FybmluZyB0aGVhZCB0aCxcbi50YWJsZS13YXJuaW5nIHRib2R5ICsgdGJvZHkge1xuICBib3JkZXItY29sb3I6ICNmZmRmN2U7XG59XG5cbi50YWJsZS1ob3ZlciAudGFibGUtd2FybmluZzpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmU4YTE7XG59XG4udGFibGUtaG92ZXIgLnRhYmxlLXdhcm5pbmc6aG92ZXIgPiB0ZCxcbi50YWJsZS1ob3ZlciAudGFibGUtd2FybmluZzpob3ZlciA+IHRoIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZThhMTtcbn1cblxuLnRhYmxlLWRhbmdlcixcbi50YWJsZS1kYW5nZXIgPiB0aCxcbi50YWJsZS1kYW5nZXIgPiB0ZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmNWM2Y2I7XG59XG4udGFibGUtZGFuZ2VyIHRoLFxuLnRhYmxlLWRhbmdlciB0ZCxcbi50YWJsZS1kYW5nZXIgdGhlYWQgdGgsXG4udGFibGUtZGFuZ2VyIHRib2R5ICsgdGJvZHkge1xuICBib3JkZXItY29sb3I6ICNlZDk2OWU7XG59XG5cbi50YWJsZS1ob3ZlciAudGFibGUtZGFuZ2VyOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YxYjBiNztcbn1cbi50YWJsZS1ob3ZlciAudGFibGUtZGFuZ2VyOmhvdmVyID4gdGQsXG4udGFibGUtaG92ZXIgLnRhYmxlLWRhbmdlcjpob3ZlciA+IHRoIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YxYjBiNztcbn1cblxuLnRhYmxlLWxpZ2h0LFxuLnRhYmxlLWxpZ2h0ID4gdGgsXG4udGFibGUtbGlnaHQgPiB0ZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZGZkZmU7XG59XG4udGFibGUtbGlnaHQgdGgsXG4udGFibGUtbGlnaHQgdGQsXG4udGFibGUtbGlnaHQgdGhlYWQgdGgsXG4udGFibGUtbGlnaHQgdGJvZHkgKyB0Ym9keSB7XG4gIGJvcmRlci1jb2xvcjogI2ZiZmNmYztcbn1cblxuLnRhYmxlLWhvdmVyIC50YWJsZS1saWdodDpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlY2VjZjY7XG59XG4udGFibGUtaG92ZXIgLnRhYmxlLWxpZ2h0OmhvdmVyID4gdGQsXG4udGFibGUtaG92ZXIgLnRhYmxlLWxpZ2h0OmhvdmVyID4gdGgge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWNlY2Y2O1xufVxuXG4udGFibGUtZGFyayxcbi50YWJsZS1kYXJrID4gdGgsXG4udGFibGUtZGFyayA+IHRkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2M2YzhjYTtcbn1cbi50YWJsZS1kYXJrIHRoLFxuLnRhYmxlLWRhcmsgdGQsXG4udGFibGUtZGFyayB0aGVhZCB0aCxcbi50YWJsZS1kYXJrIHRib2R5ICsgdGJvZHkge1xuICBib3JkZXItY29sb3I6ICM5NTk5OWM7XG59XG5cbi50YWJsZS1ob3ZlciAudGFibGUtZGFyazpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNiOWJiYmU7XG59XG4udGFibGUtaG92ZXIgLnRhYmxlLWRhcms6aG92ZXIgPiB0ZCxcbi50YWJsZS1ob3ZlciAudGFibGUtZGFyazpob3ZlciA+IHRoIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2I5YmJiZTtcbn1cblxuLnRhYmxlLWFjdGl2ZSxcbi50YWJsZS1hY3RpdmUgPiB0aCxcbi50YWJsZS1hY3RpdmUgPiB0ZCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4wNzUpO1xufVxuXG4udGFibGUtaG92ZXIgLnRhYmxlLWFjdGl2ZTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4wNzUpO1xufVxuLnRhYmxlLWhvdmVyIC50YWJsZS1hY3RpdmU6aG92ZXIgPiB0ZCxcbi50YWJsZS1ob3ZlciAudGFibGUtYWN0aXZlOmhvdmVyID4gdGgge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMDc1KTtcbn1cblxuLnRhYmxlIC50aGVhZC1kYXJrIHRoIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzNDNhNDA7XG4gIGJvcmRlci1jb2xvcjogIzQ1NGQ1NTtcbn1cbi50YWJsZSAudGhlYWQtbGlnaHQgdGgge1xuICBjb2xvcjogIzQ5NTA1NztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U5ZWNlZjtcbiAgYm9yZGVyLWNvbG9yOiAjZGVlMmU2O1xufVxuXG4udGFibGUtZGFyayB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzQzYTQwO1xufVxuLnRhYmxlLWRhcmsgdGgsXG4udGFibGUtZGFyayB0ZCxcbi50YWJsZS1kYXJrIHRoZWFkIHRoIHtcbiAgYm9yZGVyLWNvbG9yOiAjNDU0ZDU1O1xufVxuLnRhYmxlLWRhcmsudGFibGUtYm9yZGVyZWQge1xuICBib3JkZXI6IDA7XG59XG4udGFibGUtZGFyay50YWJsZS1zdHJpcGVkIHRib2R5IHRyOm50aC1vZi10eXBlKG9kZCkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDUpO1xufVxuLnRhYmxlLWRhcmsudGFibGUtaG92ZXIgdGJvZHkgdHI6aG92ZXIge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA3NSk7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA0NzkuOThweCkge1xuICAudGFibGUtcmVzcG9uc2l2ZS1zbSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIH1cbiAgLnRhYmxlLXJlc3BvbnNpdmUtc20gPiAudGFibGUtYm9yZGVyZWQge1xuICAgIGJvcmRlcjogMDtcbiAgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDc2Ny45OHB4KSB7XG4gIC50YWJsZS1yZXNwb25zaXZlLW1kIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgfVxuICAudGFibGUtcmVzcG9uc2l2ZS1tZCA+IC50YWJsZS1ib3JkZXJlZCB7XG4gICAgYm9yZGVyOiAwO1xuICB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogOTkxLjk4cHgpIHtcbiAgLnRhYmxlLXJlc3BvbnNpdmUtbGcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICB9XG4gIC50YWJsZS1yZXNwb25zaXZlLWxnID4gLnRhYmxlLWJvcmRlcmVkIHtcbiAgICBib3JkZXI6IDA7XG4gIH1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiAxMTk5Ljk4cHgpIHtcbiAgLnRhYmxlLXJlc3BvbnNpdmUteGwge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICB9XG4gIC50YWJsZS1yZXNwb25zaXZlLXhsID4gLnRhYmxlLWJvcmRlcmVkIHtcbiAgICBib3JkZXI6IDA7XG4gIH1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiAxNDE5Ljk4cHgpIHtcbiAgLnRhYmxlLXJlc3BvbnNpdmUtaGcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICB9XG4gIC50YWJsZS1yZXNwb25zaXZlLWhnID4gLnRhYmxlLWJvcmRlcmVkIHtcbiAgICBib3JkZXI6IDA7XG4gIH1cbn1cbi50YWJsZS1yZXNwb25zaXZlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdy14OiBhdXRvO1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG59XG4udGFibGUtcmVzcG9uc2l2ZSA+IC50YWJsZS1ib3JkZXJlZCB7XG4gIGJvcmRlcjogMDtcbn1cblxuLmNsb3NlIHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBmb250LXNpemU6IDEuNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiAjMDAwO1xuICB0ZXh0LXNoYWRvdzogMCAxcHggMCAjZmZmO1xuICBvcGFjaXR5OiAwLjU7XG59XG5AbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gIC5jbG9zZSB7XG4gICAgZm9udC1zaXplOiBjYWxjKDEuMjc1cmVtICsgMC4zdncpO1xuICB9XG59XG4uY2xvc2U6aG92ZXIge1xuICBjb2xvcjogIzAwMDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuLmNsb3NlOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmhvdmVyLCAuY2xvc2U6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6Zm9jdXMge1xuICBvcGFjaXR5OiAwLjc1O1xufVxuXG5idXR0b24uY2xvc2Uge1xuICBwYWRkaW5nOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAwO1xufVxuXG5hLmNsb3NlLmRpc2FibGVkIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi50b2FzdCB7XG4gIGZsZXgtYmFzaXM6IDM1MHB4O1xuICBtYXgtd2lkdGg6IDM1MHB4O1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuODUpO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gIGJveC1zaGFkb3c6IDAgMC4yNXJlbSAwLjc1cmVtIHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgb3BhY2l0eTogMDtcbiAgYm9yZGVyLXJhZGl1czogMC4yNXJlbTtcbn1cbi50b2FzdDpub3QoOmxhc3QtY2hpbGQpIHtcbiAgbWFyZ2luLWJvdHRvbTogMC43NXJlbTtcbn1cbi50b2FzdC5zaG93aW5nIHtcbiAgb3BhY2l0eTogMTtcbn1cbi50b2FzdC5zaG93IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG9wYWNpdHk6IDE7XG59XG4udG9hc3QuaGlkZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi50b2FzdC1oZWFkZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nOiAwLjI1cmVtIDAuNzVyZW07XG4gIGNvbG9yOiAjNmM3NTdkO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuODUpO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjA1KTtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogY2FsYygwLjI1cmVtIC0gMXB4KTtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IGNhbGMoMC4yNXJlbSAtIDFweCk7XG59XG5cbi50b2FzdC1ib2R5IHtcbiAgcGFkZGluZzogMC43NXJlbTtcbn1cblxuLm1kYy10b3VjaC10YXJnZXQtd3JhcHBlciB7XG4gIGRpc3BsYXk6IGlubGluZTtcbn1cblxuQGtleWZyYW1lcyBtZGMtY2hlY2tib3gtdW5jaGVja2VkLWNoZWNrZWQtY2hlY2ttYXJrLXBhdGgge1xuICAwJSwgNTAlIHtcbiAgICBzdHJva2UtZGFzaG9mZnNldDogMjkuNzgzMzM4NTtcbiAgfVxuICA1MCUge1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLCAwLCAwLjIsIDEpO1xuICB9XG4gIDEwMCUge1xuICAgIHN0cm9rZS1kYXNob2Zmc2V0OiAwO1xuICB9XG59XG5Aa2V5ZnJhbWVzIG1kYy1jaGVja2JveC11bmNoZWNrZWQtaW5kZXRlcm1pbmF0ZS1taXhlZG1hcmsge1xuICAwJSwgNjguMiUge1xuICAgIHRyYW5zZm9ybTogc2NhbGVYKDApO1xuICB9XG4gIDY4LjIlIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMCwgMCwgMCwgMSk7XG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZVgoMSk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgbWRjLWNoZWNrYm94LWNoZWNrZWQtdW5jaGVja2VkLWNoZWNrbWFyay1wYXRoIHtcbiAgZnJvbSB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNCwgMCwgMSwgMSk7XG4gICAgb3BhY2l0eTogMTtcbiAgICBzdHJva2UtZGFzaG9mZnNldDogMDtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICBzdHJva2UtZGFzaG9mZnNldDogLTI5Ljc4MzMzODU7XG4gIH1cbn1cbkBrZXlmcmFtZXMgbWRjLWNoZWNrYm94LWNoZWNrZWQtaW5kZXRlcm1pbmF0ZS1jaGVja21hcmsge1xuICBmcm9tIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAxKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuQGtleWZyYW1lcyBtZGMtY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS1jaGVja2VkLWNoZWNrbWFyayB7XG4gIGZyb20ge1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE0LCAwLCAwLCAxKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuICB0byB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5Aa2V5ZnJhbWVzIG1kYy1jaGVja2JveC1jaGVja2VkLWluZGV0ZXJtaW5hdGUtbWl4ZWRtYXJrIHtcbiAgZnJvbSB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbWRjLWFuaW1hdGlvbi1kZWNlbGVyYXRpb24tY3VydmUtdGltaW5nLWZ1bmN0aW9uO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuICB0byB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuQGtleWZyYW1lcyBtZGMtY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS1jaGVja2VkLW1peGVkbWFyayB7XG4gIGZyb20ge1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE0LCAwLCAwLCAxKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzMTVkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cbkBrZXlmcmFtZXMgbWRjLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtdW5jaGVja2VkLW1peGVkbWFyayB7XG4gIDAlIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gICAgdHJhbnNmb3JtOiBzY2FsZVgoMSk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICAzMi44JSwgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZVgoMCk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuLm1kYy1jaGVja2JveCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbGV4OiAwIDAgMThweDtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIHdpZHRoOiAxOHB4O1xuICBoZWlnaHQ6IDE4cHg7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gIHBhZGRpbmc6IDExcHg7XG59XG5cbi5tZGMtY2hlY2tib3ggLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2w6Y2hlY2tlZCB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQ6OmJlZm9yZSxcbi5tZGMtY2hlY2tib3ggLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2w6aW5kZXRlcm1pbmF0ZSB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQ6OmJlZm9yZSxcbi5tZGMtY2hlY2tib3ggLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2xbZGF0YS1pbmRldGVybWluYXRlPXRydWVdIH4gLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZDo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAxODc4NjtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1tZGMtdGhlbWUtc2Vjb25kYXJ5LCAjMDE4Nzg2KTtcbn1cblxuLm1kYy1jaGVja2JveC5tZGMtY2hlY2tib3gtLXNlbGVjdGVkIC5tZGMtY2hlY2tib3hfX3JpcHBsZTo6YmVmb3JlLCAubWRjLWNoZWNrYm94Lm1kYy1jaGVja2JveC0tc2VsZWN0ZWQgLm1kYy1jaGVja2JveF9fcmlwcGxlOjphZnRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMTg3ODY7XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbWRjLXRoZW1lLXNlY29uZGFyeSwgIzAxODc4Nik7XG59XG5cbi5tZGMtY2hlY2tib3gubWRjLWNoZWNrYm94LS1zZWxlY3RlZDpob3ZlciAubWRjLWNoZWNrYm94X19yaXBwbGU6OmJlZm9yZSB7XG4gIG9wYWNpdHk6IDAuMDQ7XG59XG5cbi5tZGMtY2hlY2tib3gubWRjLWNoZWNrYm94LS1zZWxlY3RlZC5tZGMtcmlwcGxlLXVwZ3JhZGVkLS1iYWNrZ3JvdW5kLWZvY3VzZWQgLm1kYy1jaGVja2JveF9fcmlwcGxlOjpiZWZvcmUsIC5tZGMtY2hlY2tib3gubWRjLWNoZWNrYm94LS1zZWxlY3RlZDpub3QoLm1kYy1yaXBwbGUtdXBncmFkZWQpOmZvY3VzIC5tZGMtY2hlY2tib3hfX3JpcHBsZTo6YmVmb3JlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNzVtcztcbiAgb3BhY2l0eTogMC4xMjtcbn1cblxuLm1kYy1jaGVja2JveC5tZGMtY2hlY2tib3gtLXNlbGVjdGVkOm5vdCgubWRjLXJpcHBsZS11cGdyYWRlZCkgLm1kYy1jaGVja2JveF9fcmlwcGxlOjphZnRlciB7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMTUwbXMgbGluZWFyO1xufVxuXG4ubWRjLWNoZWNrYm94Lm1kYy1jaGVja2JveC0tc2VsZWN0ZWQ6bm90KC5tZGMtcmlwcGxlLXVwZ3JhZGVkKTphY3RpdmUgLm1kYy1jaGVja2JveF9fcmlwcGxlOjphZnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDc1bXM7XG4gIG9wYWNpdHk6IDAuMTI7XG59XG5cbi5tZGMtY2hlY2tib3gubWRjLWNoZWNrYm94LS1zZWxlY3RlZC5tZGMtcmlwcGxlLXVwZ3JhZGVkIHtcbiAgLS1tZGMtcmlwcGxlLWZnLW9wYWNpdHk6IDAuMTI7XG59XG5cbi5tZGMtY2hlY2tib3gubWRjLXJpcHBsZS11cGdyYWRlZC0tYmFja2dyb3VuZC1mb2N1c2VkLm1kYy1jaGVja2JveC0tc2VsZWN0ZWQgLm1kYy1jaGVja2JveF9fcmlwcGxlOjpiZWZvcmUsXG4ubWRjLWNoZWNrYm94Lm1kYy1yaXBwbGUtdXBncmFkZWQtLWJhY2tncm91bmQtZm9jdXNlZC5tZGMtY2hlY2tib3gtLXNlbGVjdGVkIC5tZGMtY2hlY2tib3hfX3JpcHBsZTo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDE4Nzg2O1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW1kYy10aGVtZS1zZWNvbmRhcnksICMwMTg3ODYpO1xufVxuXG4ubWRjLWNoZWNrYm94IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQge1xuICB0b3A6IDExcHg7XG4gIGxlZnQ6IDExcHg7XG59XG5cbi5tZGMtY2hlY2tib3ggLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZDo6YmVmb3JlIHtcbiAgdG9wOiAtMTNweDtcbiAgbGVmdDogLTEzcHg7XG4gIHdpZHRoOiA0MHB4O1xuICBoZWlnaHQ6IDQwcHg7XG59XG5cbi5tZGMtY2hlY2tib3ggLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2wge1xuICB0b3A6IDBweDtcbiAgcmlnaHQ6IDBweDtcbiAgbGVmdDogMHB4O1xuICB3aWR0aDogNDBweDtcbiAgaGVpZ2h0OiA0MHB4O1xufVxuXG4ubWRjLWNoZWNrYm94X19uYXRpdmUtY29udHJvbDplbmFibGVkOm5vdCg6Y2hlY2tlZCk6bm90KDppbmRldGVybWluYXRlKTpub3QoW2RhdGEtaW5kZXRlcm1pbmF0ZT10cnVlXSkgfiAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kIHtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNTQpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2w6ZW5hYmxlZDpjaGVja2VkIH4gLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZCxcbi5tZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sOmVuYWJsZWQ6aW5kZXRlcm1pbmF0ZSB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQsXG4ubWRjLWNoZWNrYm94X19uYXRpdmUtY29udHJvbFtkYXRhLWluZGV0ZXJtaW5hdGU9dHJ1ZV06ZW5hYmxlZCB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQge1xuICBib3JkZXItY29sb3I6ICMwMTg3ODY7XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1tZGMtdGhlbWUtc2Vjb25kYXJ5LCAjMDE4Nzg2KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAxODc4NjtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1tZGMtdGhlbWUtc2Vjb25kYXJ5LCAjMDE4Nzg2KTtcbn1cblxuQGtleWZyYW1lcyBtZGMtY2hlY2tib3gtZmFkZS1pbi1iYWNrZ3JvdW5kLThBMDAwMDAwc2Vjb25kYXJ5MDAwMDAwMDBzZWNvbmRhcnkge1xuICAwJSB7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNTQpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG4gIDUwJSB7XG4gICAgYm9yZGVyLWNvbG9yOiAjMDE4Nzg2O1xuICAgIC8qIEBhbHRlcm5hdGUgKi9cbiAgICBib3JkZXItY29sb3I6IHZhcigtLW1kYy10aGVtZS1zZWNvbmRhcnksICMwMTg3ODYpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMTg3ODY7XG4gICAgLyogQGFsdGVybmF0ZSAqL1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW1kYy10aGVtZS1zZWNvbmRhcnksICMwMTg3ODYpO1xuICB9XG59XG5Aa2V5ZnJhbWVzIG1kYy1jaGVja2JveC1mYWRlLW91dC1iYWNrZ3JvdW5kLThBMDAwMDAwc2Vjb25kYXJ5MDAwMDAwMDBzZWNvbmRhcnkge1xuICAwJSwgODAlIHtcbiAgICBib3JkZXItY29sb3I6ICMwMTg3ODY7XG4gICAgLyogQGFsdGVybmF0ZSAqL1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tbWRjLXRoZW1lLXNlY29uZGFyeSwgIzAxODc4Nik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAxODc4NjtcbiAgICAvKiBAYWx0ZXJuYXRlICovXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbWRjLXRoZW1lLXNlY29uZGFyeSwgIzAxODc4Nik7XG4gIH1cbiAgMTAwJSB7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNTQpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG59XG4ubWRjLWNoZWNrYm94LS1hbmltLXVuY2hlY2tlZC1jaGVja2VkIC5tZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sOmVuYWJsZWQgfiAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kLCAubWRjLWNoZWNrYm94LS1hbmltLXVuY2hlY2tlZC1pbmRldGVybWluYXRlIC5tZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sOmVuYWJsZWQgfiAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kIHtcbiAgYW5pbWF0aW9uLW5hbWU6IG1kYy1jaGVja2JveC1mYWRlLWluLWJhY2tncm91bmQtOEEwMDAwMDBzZWNvbmRhcnkwMDAwMDAwMHNlY29uZGFyeTtcbn1cblxuLm1kYy1jaGVja2JveC0tYW5pbS1jaGVja2VkLXVuY2hlY2tlZCAubWRjLWNoZWNrYm94X19uYXRpdmUtY29udHJvbDplbmFibGVkIH4gLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZCwgLm1kYy1jaGVja2JveC0tYW5pbS1pbmRldGVybWluYXRlLXVuY2hlY2tlZCAubWRjLWNoZWNrYm94X19uYXRpdmUtY29udHJvbDplbmFibGVkIH4gLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZCB7XG4gIGFuaW1hdGlvbi1uYW1lOiBtZGMtY2hlY2tib3gtZmFkZS1vdXQtYmFja2dyb3VuZC04QTAwMDAwMHNlY29uZGFyeTAwMDAwMDAwc2Vjb25kYXJ5O1xufVxuXG4ubWRjLWNoZWNrYm94X19uYXRpdmUtY29udHJvbFtkaXNhYmxlZF06bm90KDpjaGVja2VkKTpub3QoOmluZGV0ZXJtaW5hdGUpOm5vdChbZGF0YS1pbmRldGVybWluYXRlPXRydWVdKSB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQge1xuICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zOCk7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4ubWRjLWNoZWNrYm94X19uYXRpdmUtY29udHJvbFtkaXNhYmxlZF06Y2hlY2tlZCB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQsXG4ubWRjLWNoZWNrYm94X19uYXRpdmUtY29udHJvbFtkaXNhYmxlZF06aW5kZXRlcm1pbmF0ZSB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQsXG4ubWRjLWNoZWNrYm94X19uYXRpdmUtY29udHJvbFtkYXRhLWluZGV0ZXJtaW5hdGU9dHJ1ZV1bZGlzYWJsZWRdIH4gLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZCB7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zOCk7XG59XG5cbi5tZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sOmVuYWJsZWQgfiAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kIC5tZGMtY2hlY2tib3hfX2NoZWNrbWFyayB7XG4gIGNvbG9yOiAjZmZmO1xufVxuXG4ubWRjLWNoZWNrYm94X19uYXRpdmUtY29udHJvbDplbmFibGVkIH4gLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZCAubWRjLWNoZWNrYm94X19taXhlZG1hcmsge1xuICBib3JkZXItY29sb3I6ICNmZmY7XG59XG5cbi5tZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sOmRpc2FibGVkIH4gLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZCAubWRjLWNoZWNrYm94X19jaGVja21hcmsge1xuICBjb2xvcjogI2ZmZjtcbn1cblxuLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2w6ZGlzYWJsZWQgfiAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kIC5tZGMtY2hlY2tib3hfX21peGVkbWFyayB7XG4gIGJvcmRlci1jb2xvcjogI2ZmZjtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBhY3RpdmUpIHtcbiAgLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2xbZGlzYWJsZWRdOm5vdCg6Y2hlY2tlZCk6bm90KDppbmRldGVybWluYXRlKTpub3QoW2RhdGEtaW5kZXRlcm1pbmF0ZT10cnVlXSkgfiAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kIHtcbiAgICBib3JkZXItY29sb3I6IEdyYXlUZXh0O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG4gIC5tZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sW2Rpc2FibGVkXTpjaGVja2VkIH4gLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZCxcbiAgLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2xbZGlzYWJsZWRdOmluZGV0ZXJtaW5hdGUgfiAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kLFxuICAubWRjLWNoZWNrYm94X19uYXRpdmUtY29udHJvbFtkYXRhLWluZGV0ZXJtaW5hdGU9dHJ1ZV1bZGlzYWJsZWRdIH4gLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZCB7XG4gICAgYm9yZGVyLWNvbG9yOiBHcmF5VGV4dDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxuICAubWRjLWNoZWNrYm94X19uYXRpdmUtY29udHJvbDpkaXNhYmxlZCB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQgLm1kYy1jaGVja2JveF9fY2hlY2ttYXJrIHtcbiAgICBjb2xvcjogR3JheVRleHQ7XG4gIH1cbiAgLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2w6ZGlzYWJsZWQgfiAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kIC5tZGMtY2hlY2tib3hfX21peGVkbWFyayB7XG4gICAgYm9yZGVyLWNvbG9yOiBHcmF5VGV4dDtcbiAgfVxuICAubWRjLWNoZWNrYm94X19taXhlZG1hcmsge1xuICAgIG1hcmdpbjogMCAxcHg7XG4gIH1cbn1cbi5tZGMtY2hlY2tib3gtLWRpc2FibGVkIHtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZCB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMThweDtcbiAgaGVpZ2h0OiAxOHB4O1xuICBib3JkZXI6IDJweCBzb2xpZCBjdXJyZW50Q29sb3I7XG4gIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB3aWxsLWNoYW5nZTogYmFja2dyb3VuZC1jb2xvciwgYm9yZGVyLWNvbG9yO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDkwbXMgMG1zIGN1YmljLWJlemllcigwLjQsIDAsIDAuNiwgMSksIGJvcmRlci1jb2xvciA5MG1zIDBtcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjYsIDEpO1xufVxuXG4ubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kIC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQ6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbWRjLXRoZW1lLW9uLXN1cmZhY2UsICMwMDApO1xufVxuXG4ubWRjLWNoZWNrYm94X19jaGVja21hcmsge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMTgwbXMgMG1zIGN1YmljLWJlemllcigwLjQsIDAsIDAuNiwgMSk7XG59XG5cbi5tZGMtY2hlY2tib3gtLXVwZ3JhZGVkIC5tZGMtY2hlY2tib3hfX2NoZWNrbWFyayB7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5tZGMtY2hlY2tib3hfX2NoZWNrbWFyay1wYXRoIHtcbiAgdHJhbnNpdGlvbjogc3Ryb2tlLWRhc2hvZmZzZXQgMTgwbXMgMG1zIGN1YmljLWJlemllcigwLjQsIDAsIDAuNiwgMSk7XG4gIHN0cm9rZTogY3VycmVudENvbG9yO1xuICBzdHJva2Utd2lkdGg6IDMuMTJweDtcbiAgc3Ryb2tlLWRhc2hvZmZzZXQ6IDI5Ljc4MzMzODU7XG4gIHN0cm9rZS1kYXNoYXJyYXk6IDI5Ljc4MzMzODU7XG59XG5cbi5tZGMtY2hlY2tib3hfX21peGVkbWFyayB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDA7XG4gIHRyYW5zZm9ybTogc2NhbGVYKDApIHJvdGF0ZSgwZGVnKTtcbiAgYm9yZGVyLXdpZHRoOiAxcHg7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgOTBtcyAwbXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC42LCAxKSwgdHJhbnNmb3JtIDkwbXMgMG1zIGN1YmljLWJlemllcigwLjQsIDAsIDAuNiwgMSk7XG59XG5cbi5tZGMtY2hlY2tib3gtLXVwZ3JhZGVkIC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQsXG4ubWRjLWNoZWNrYm94LS11cGdyYWRlZCAubWRjLWNoZWNrYm94X19jaGVja21hcmssXG4ubWRjLWNoZWNrYm94LS11cGdyYWRlZCAubWRjLWNoZWNrYm94X19jaGVja21hcmstcGF0aCxcbi5tZGMtY2hlY2tib3gtLXVwZ3JhZGVkIC5tZGMtY2hlY2tib3hfX21peGVkbWFyayB7XG4gIHRyYW5zaXRpb246IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLm1kYy1jaGVja2JveC0tYW5pbS11bmNoZWNrZWQtY2hlY2tlZCAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kLCAubWRjLWNoZWNrYm94LS1hbmltLXVuY2hlY2tlZC1pbmRldGVybWluYXRlIC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQsIC5tZGMtY2hlY2tib3gtLWFuaW0tY2hlY2tlZC11bmNoZWNrZWQgLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZCwgLm1kYy1jaGVja2JveC0tYW5pbS1pbmRldGVybWluYXRlLXVuY2hlY2tlZCAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kIHtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxODBtcztcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xufVxuXG4ubWRjLWNoZWNrYm94LS1hbmltLXVuY2hlY2tlZC1jaGVja2VkIC5tZGMtY2hlY2tib3hfX2NoZWNrbWFyay1wYXRoIHtcbiAgYW5pbWF0aW9uOiBtZGMtY2hlY2tib3gtdW5jaGVja2VkLWNoZWNrZWQtY2hlY2ttYXJrLXBhdGggMTgwbXMgbGluZWFyIDBzO1xuICB0cmFuc2l0aW9uOiBub25lO1xufVxuXG4ubWRjLWNoZWNrYm94LS1hbmltLXVuY2hlY2tlZC1pbmRldGVybWluYXRlIC5tZGMtY2hlY2tib3hfX21peGVkbWFyayB7XG4gIGFuaW1hdGlvbjogbWRjLWNoZWNrYm94LXVuY2hlY2tlZC1pbmRldGVybWluYXRlLW1peGVkbWFyayA5MG1zIGxpbmVhciAwcztcbiAgdHJhbnNpdGlvbjogbm9uZTtcbn1cblxuLm1kYy1jaGVja2JveC0tYW5pbS1jaGVja2VkLXVuY2hlY2tlZCAubWRjLWNoZWNrYm94X19jaGVja21hcmstcGF0aCB7XG4gIGFuaW1hdGlvbjogbWRjLWNoZWNrYm94LWNoZWNrZWQtdW5jaGVja2VkLWNoZWNrbWFyay1wYXRoIDkwbXMgbGluZWFyIDBzO1xuICB0cmFuc2l0aW9uOiBub25lO1xufVxuXG4ubWRjLWNoZWNrYm94LS1hbmltLWNoZWNrZWQtaW5kZXRlcm1pbmF0ZSAubWRjLWNoZWNrYm94X19jaGVja21hcmsge1xuICBhbmltYXRpb246IG1kYy1jaGVja2JveC1jaGVja2VkLWluZGV0ZXJtaW5hdGUtY2hlY2ttYXJrIDkwbXMgbGluZWFyIDBzO1xuICB0cmFuc2l0aW9uOiBub25lO1xufVxuXG4ubWRjLWNoZWNrYm94LS1hbmltLWNoZWNrZWQtaW5kZXRlcm1pbmF0ZSAubWRjLWNoZWNrYm94X19taXhlZG1hcmsge1xuICBhbmltYXRpb246IG1kYy1jaGVja2JveC1jaGVja2VkLWluZGV0ZXJtaW5hdGUtbWl4ZWRtYXJrIDkwbXMgbGluZWFyIDBzO1xuICB0cmFuc2l0aW9uOiBub25lO1xufVxuXG4ubWRjLWNoZWNrYm94LS1hbmltLWluZGV0ZXJtaW5hdGUtY2hlY2tlZCAubWRjLWNoZWNrYm94X19jaGVja21hcmsge1xuICBhbmltYXRpb246IG1kYy1jaGVja2JveC1pbmRldGVybWluYXRlLWNoZWNrZWQtY2hlY2ttYXJrIDUwMG1zIGxpbmVhciAwcztcbiAgdHJhbnNpdGlvbjogbm9uZTtcbn1cblxuLm1kYy1jaGVja2JveC0tYW5pbS1pbmRldGVybWluYXRlLWNoZWNrZWQgLm1kYy1jaGVja2JveF9fbWl4ZWRtYXJrIHtcbiAgYW5pbWF0aW9uOiBtZGMtY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS1jaGVja2VkLW1peGVkbWFyayA1MDBtcyBsaW5lYXIgMHM7XG4gIHRyYW5zaXRpb246IG5vbmU7XG59XG5cbi5tZGMtY2hlY2tib3gtLWFuaW0taW5kZXRlcm1pbmF0ZS11bmNoZWNrZWQgLm1kYy1jaGVja2JveF9fbWl4ZWRtYXJrIHtcbiAgYW5pbWF0aW9uOiBtZGMtY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS11bmNoZWNrZWQtbWl4ZWRtYXJrIDMwMG1zIGxpbmVhciAwcztcbiAgdHJhbnNpdGlvbjogbm9uZTtcbn1cblxuLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2w6Y2hlY2tlZCB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQsXG4ubWRjLWNoZWNrYm94X19uYXRpdmUtY29udHJvbDppbmRldGVybWluYXRlIH4gLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZCxcbi5tZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sW2RhdGEtaW5kZXRlcm1pbmF0ZT10cnVlXSB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQge1xuICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgOTBtcyAwbXMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMiwgMSksIGJhY2tncm91bmQtY29sb3IgOTBtcyAwbXMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMiwgMSk7XG59XG5cbi5tZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sOmNoZWNrZWQgfiAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kIC5tZGMtY2hlY2tib3hfX2NoZWNrbWFyay1wYXRoLFxuLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2w6aW5kZXRlcm1pbmF0ZSB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQgLm1kYy1jaGVja2JveF9fY2hlY2ttYXJrLXBhdGgsXG4ubWRjLWNoZWNrYm94X19uYXRpdmUtY29udHJvbFtkYXRhLWluZGV0ZXJtaW5hdGU9dHJ1ZV0gfiAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kIC5tZGMtY2hlY2tib3hfX2NoZWNrbWFyay1wYXRoIHtcbiAgc3Ryb2tlLWRhc2hvZmZzZXQ6IDA7XG59XG5cbi5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQ6OmJlZm9yZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLCAwKTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBvcGFjaXR5OiAwO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgY29udGVudDogXCJcIjtcbiAgd2lsbC1jaGFuZ2U6IG9wYWNpdHksIHRyYW5zZm9ybTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSA5MG1zIDBtcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjYsIDEpLCB0cmFuc2Zvcm0gOTBtcyAwbXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC42LCAxKTtcbn1cblxuLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2w6Zm9jdXMgfiAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kOjpiZWZvcmUge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICBvcGFjaXR5OiAwLjEyO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDgwbXMgMG1zIGN1YmljLWJlemllcigwLCAwLCAwLjIsIDEpLCB0cmFuc2Zvcm0gODBtcyAwbXMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMiwgMSk7XG59XG5cbi5tZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIG9wYWNpdHk6IDA7XG4gIGN1cnNvcjogaW5oZXJpdDtcbn1cblxuLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2w6ZGlzYWJsZWQge1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4ubWRjLWNoZWNrYm94LS10b3VjaCB7XG4gIG1hcmdpbi10b3A6IDRweDtcbiAgbWFyZ2luLWJvdHRvbTogNHB4O1xuICBtYXJnaW4tcmlnaHQ6IDRweDtcbiAgbWFyZ2luLWxlZnQ6IDRweDtcbn1cblxuLm1kYy1jaGVja2JveC0tdG91Y2ggLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2wge1xuICB0b3A6IC00cHg7XG4gIHJpZ2h0OiAtNHB4O1xuICBsZWZ0OiAtNHB4O1xuICB3aWR0aDogNDhweDtcbiAgaGVpZ2h0OiA0OHB4O1xufVxuXG4ubWRjLWNoZWNrYm94X19uYXRpdmUtY29udHJvbDpjaGVja2VkIH4gLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZCAubWRjLWNoZWNrYm94X19jaGVja21hcmsge1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDE4MG1zIDBtcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAxKSwgdHJhbnNmb3JtIDE4MG1zIDBtcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAxKTtcbiAgb3BhY2l0eTogMTtcbn1cblxuLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2w6Y2hlY2tlZCB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQgLm1kYy1jaGVja2JveF9fbWl4ZWRtYXJrIHtcbiAgdHJhbnNmb3JtOiBzY2FsZVgoMSkgcm90YXRlKC00NWRlZyk7XG59XG5cbi5tZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sOmluZGV0ZXJtaW5hdGUgfiAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kIC5tZGMtY2hlY2tib3hfX2NoZWNrbWFyayxcbi5tZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sW2RhdGEtaW5kZXRlcm1pbmF0ZT10cnVlXSB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQgLm1kYy1jaGVja2JveF9fY2hlY2ttYXJrIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDkwbXMgMG1zIGN1YmljLWJlemllcigwLjQsIDAsIDAuNiwgMSksIHRyYW5zZm9ybSA5MG1zIDBtcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjYsIDEpO1xufVxuXG4ubWRjLWNoZWNrYm94X19uYXRpdmUtY29udHJvbDppbmRldGVybWluYXRlIH4gLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZCAubWRjLWNoZWNrYm94X19taXhlZG1hcmssXG4ubWRjLWNoZWNrYm94X19uYXRpdmUtY29udHJvbFtkYXRhLWluZGV0ZXJtaW5hdGU9dHJ1ZV0gfiAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kIC5tZGMtY2hlY2tib3hfX21peGVkbWFyayB7XG4gIHRyYW5zZm9ybTogc2NhbGVYKDEpIHJvdGF0ZSgwZGVnKTtcbiAgb3BhY2l0eTogMTtcbn1cblxuQGtleWZyYW1lcyBtZGMtcmlwcGxlLWZnLXJhZGl1cy1pbiB7XG4gIGZyb20ge1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUodmFyKC0tbWRjLXJpcHBsZS1mZy10cmFuc2xhdGUtc3RhcnQsIDApKSBzY2FsZSgxKTtcbiAgfVxuICB0byB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUodmFyKC0tbWRjLXJpcHBsZS1mZy10cmFuc2xhdGUtZW5kLCAwKSkgc2NhbGUodmFyKC0tbWRjLXJpcHBsZS1mZy1zY2FsZSwgMSkpO1xuICB9XG59XG5Aa2V5ZnJhbWVzIG1kYy1yaXBwbGUtZmctb3BhY2l0eS1pbiB7XG4gIGZyb20ge1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiB2YXIoLS1tZGMtcmlwcGxlLWZnLW9wYWNpdHksIDApO1xuICB9XG59XG5Aa2V5ZnJhbWVzIG1kYy1yaXBwbGUtZmctb3BhY2l0eS1vdXQge1xuICBmcm9tIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gICAgb3BhY2l0eTogdmFyKC0tbWRjLXJpcHBsZS1mZy1vcGFjaXR5LCAwKTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuLm1kYy1jaGVja2JveCB7XG4gIC0tbWRjLXJpcHBsZS1mZy1zaXplOiAwO1xuICAtLW1kYy1yaXBwbGUtbGVmdDogMDtcbiAgLS1tZGMtcmlwcGxlLXRvcDogMDtcbiAgLS1tZGMtcmlwcGxlLWZnLXNjYWxlOiAxO1xuICAtLW1kYy1yaXBwbGUtZmctdHJhbnNsYXRlLWVuZDogMDtcbiAgLS1tZGMtcmlwcGxlLWZnLXRyYW5zbGF0ZS1zdGFydDogMDtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApO1xufVxuXG4ubWRjLWNoZWNrYm94IC5tZGMtY2hlY2tib3hfX3JpcHBsZTo6YmVmb3JlLFxuLm1kYy1jaGVja2JveCAubWRjLWNoZWNrYm94X19yaXBwbGU6OmFmdGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIG9wYWNpdHk6IDA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBjb250ZW50OiBcIlwiO1xufVxuXG4ubWRjLWNoZWNrYm94IC5tZGMtY2hlY2tib3hfX3JpcHBsZTo6YmVmb3JlIHtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAxNW1zIGxpbmVhciwgYmFja2dyb3VuZC1jb2xvciAxNW1zIGxpbmVhcjtcbiAgei1pbmRleDogMTtcbn1cblxuLm1kYy1jaGVja2JveC5tZGMtcmlwcGxlLXVwZ3JhZGVkIC5tZGMtY2hlY2tib3hfX3JpcHBsZTo6YmVmb3JlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSh2YXIoLS1tZGMtcmlwcGxlLWZnLXNjYWxlLCAxKSk7XG59XG5cbi5tZGMtY2hlY2tib3gubWRjLXJpcHBsZS11cGdyYWRlZCAubWRjLWNoZWNrYm94X19yaXBwbGU6OmFmdGVyIHtcbiAgdG9wOiAwO1xuICAvKiBAbm9mbGlwICovXG4gIGxlZnQ6IDA7XG4gIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7XG59XG5cbi5tZGMtY2hlY2tib3gubWRjLXJpcHBsZS11cGdyYWRlZC0tdW5ib3VuZGVkIC5tZGMtY2hlY2tib3hfX3JpcHBsZTo6YWZ0ZXIge1xuICB0b3A6IHZhcigtLW1kYy1yaXBwbGUtdG9wLCAwKTtcbiAgLyogQG5vZmxpcCAqL1xuICBsZWZ0OiB2YXIoLS1tZGMtcmlwcGxlLWxlZnQsIDApO1xufVxuXG4ubWRjLWNoZWNrYm94Lm1kYy1yaXBwbGUtdXBncmFkZWQtLWZvcmVncm91bmQtYWN0aXZhdGlvbiAubWRjLWNoZWNrYm94X19yaXBwbGU6OmFmdGVyIHtcbiAgYW5pbWF0aW9uOiBtZGMtcmlwcGxlLWZnLXJhZGl1cy1pbiAyMjVtcyBmb3J3YXJkcywgbWRjLXJpcHBsZS1mZy1vcGFjaXR5LWluIDc1bXMgZm9yd2FyZHM7XG59XG5cbi5tZGMtY2hlY2tib3gubWRjLXJpcHBsZS11cGdyYWRlZC0tZm9yZWdyb3VuZC1kZWFjdGl2YXRpb24gLm1kYy1jaGVja2JveF9fcmlwcGxlOjphZnRlciB7XG4gIGFuaW1hdGlvbjogbWRjLXJpcHBsZS1mZy1vcGFjaXR5LW91dCAxNTBtcztcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUodmFyKC0tbWRjLXJpcHBsZS1mZy10cmFuc2xhdGUtZW5kLCAwKSkgc2NhbGUodmFyKC0tbWRjLXJpcHBsZS1mZy1zY2FsZSwgMSkpO1xufVxuXG4ubWRjLWNoZWNrYm94IC5tZGMtY2hlY2tib3hfX3JpcHBsZTo6YmVmb3JlLCAubWRjLWNoZWNrYm94IC5tZGMtY2hlY2tib3hfX3JpcHBsZTo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW1kYy10aGVtZS1vbi1zdXJmYWNlLCAjMDAwKTtcbn1cblxuLm1kYy1jaGVja2JveDpob3ZlciAubWRjLWNoZWNrYm94X19yaXBwbGU6OmJlZm9yZSB7XG4gIG9wYWNpdHk6IDAuMDQ7XG59XG5cbi5tZGMtY2hlY2tib3gubWRjLXJpcHBsZS11cGdyYWRlZC0tYmFja2dyb3VuZC1mb2N1c2VkIC5tZGMtY2hlY2tib3hfX3JpcHBsZTo6YmVmb3JlLCAubWRjLWNoZWNrYm94Om5vdCgubWRjLXJpcHBsZS11cGdyYWRlZCk6Zm9jdXMgLm1kYy1jaGVja2JveF9fcmlwcGxlOjpiZWZvcmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA3NW1zO1xuICBvcGFjaXR5OiAwLjEyO1xufVxuXG4ubWRjLWNoZWNrYm94Om5vdCgubWRjLXJpcHBsZS11cGdyYWRlZCkgLm1kYy1jaGVja2JveF9fcmlwcGxlOjphZnRlciB7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMTUwbXMgbGluZWFyO1xufVxuXG4ubWRjLWNoZWNrYm94Om5vdCgubWRjLXJpcHBsZS11cGdyYWRlZCk6YWN0aXZlIC5tZGMtY2hlY2tib3hfX3JpcHBsZTo6YWZ0ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA3NW1zO1xuICBvcGFjaXR5OiAwLjEyO1xufVxuXG4ubWRjLWNoZWNrYm94Lm1kYy1yaXBwbGUtdXBncmFkZWQge1xuICAtLW1kYy1yaXBwbGUtZmctb3BhY2l0eTogMC4xMjtcbn1cblxuLm1kYy1jaGVja2JveCAubWRjLWNoZWNrYm94X19yaXBwbGU6OmJlZm9yZSxcbi5tZGMtY2hlY2tib3ggLm1kYy1jaGVja2JveF9fcmlwcGxlOjphZnRlciB7XG4gIHRvcDogY2FsYyg1MCUgLSA1MCUpO1xuICAvKiBAbm9mbGlwICovXG4gIGxlZnQ6IGNhbGMoNTAlIC0gNTAlKTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuLm1kYy1jaGVja2JveC5tZGMtcmlwcGxlLXVwZ3JhZGVkIC5tZGMtY2hlY2tib3hfX3JpcHBsZTo6YmVmb3JlLFxuLm1kYy1jaGVja2JveC5tZGMtcmlwcGxlLXVwZ3JhZGVkIC5tZGMtY2hlY2tib3hfX3JpcHBsZTo6YWZ0ZXIge1xuICB0b3A6IHZhcigtLW1kYy1yaXBwbGUtdG9wLCBjYWxjKDUwJSAtIDUwJSkpO1xuICAvKiBAbm9mbGlwICovXG4gIGxlZnQ6IHZhcigtLW1kYy1yaXBwbGUtbGVmdCwgY2FsYyg1MCUgLSA1MCUpKTtcbiAgd2lkdGg6IHZhcigtLW1kYy1yaXBwbGUtZmctc2l6ZSwgMTAwJSk7XG4gIGhlaWdodDogdmFyKC0tbWRjLXJpcHBsZS1mZy1zaXplLCAxMDAlKTtcbn1cblxuLm1kYy1jaGVja2JveC5tZGMtcmlwcGxlLXVwZ3JhZGVkIC5tZGMtY2hlY2tib3hfX3JpcHBsZTo6YWZ0ZXIge1xuICB3aWR0aDogdmFyKC0tbWRjLXJpcHBsZS1mZy1zaXplLCAxMDAlKTtcbiAgaGVpZ2h0OiB2YXIoLS1tZGMtcmlwcGxlLWZnLXNpemUsIDEwMCUpO1xufVxuXG4ubWRjLWNoZWNrYm94X19yaXBwbGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi5tZGMtcmlwcGxlLXVwZ3JhZGVkLS1iYWNrZ3JvdW5kLWZvY3VzZWQgLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZDo6YmVmb3JlIHtcbiAgY29udGVudDogbm9uZTtcbn1cblxuLm1kYy1lbGV2YXRpb24tb3ZlcmxheSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm9yZGVyLXJhZGl1czogaW5oZXJpdDtcbiAgb3BhY2l0eTogMDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMjgwbXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbn1cblxuLm1kYy1kaWFsb2csXG4ubWRjLWRpYWxvZ19fc2NyaW0ge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG59XG5cbi5tZGMtZGlhbG9nIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgei1pbmRleDogNztcbn1cblxuLm1kYy1kaWFsb2cgLm1kYy1kaWFsb2dfX3N1cmZhY2Uge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW1kYy10aGVtZS1zdXJmYWNlLCAjZmZmKTtcbn1cblxuLm1kYy1kaWFsb2cgLm1kYy1kaWFsb2dfX3NjcmltIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjMyKTtcbn1cblxuLm1kYy1kaWFsb2cgLm1kYy1kaWFsb2dfX3RpdGxlIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG59XG5cbi5tZGMtZGlhbG9nIC5tZGMtZGlhbG9nX19jb250ZW50IHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC42KTtcbn1cblxuLm1kYy1kaWFsb2cubWRjLWRpYWxvZy0tc2Nyb2xsYWJsZSAubWRjLWRpYWxvZ19fdGl0bGUsIC5tZGMtZGlhbG9nLm1kYy1kaWFsb2ctLXNjcm9sbGFibGUgLm1kYy1kaWFsb2dfX2FjdGlvbnMge1xuICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4xMik7XG59XG5cbi5tZGMtZGlhbG9nIC5tZGMtZGlhbG9nX19zdXJmYWNlIHtcbiAgbWluLXdpZHRoOiAyODBweDtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDU5MnB4KSB7XG4gIC5tZGMtZGlhbG9nIC5tZGMtZGlhbG9nX19zdXJmYWNlIHtcbiAgICBtYXgtd2lkdGg6IGNhbGMoMTAwdncgLSAzMnB4KTtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDU5MnB4KSB7XG4gIC5tZGMtZGlhbG9nIC5tZGMtZGlhbG9nX19zdXJmYWNlIHtcbiAgICBtYXgtd2lkdGg6IDU2MHB4O1xuICB9XG59XG4ubWRjLWRpYWxvZyAubWRjLWRpYWxvZ19fc3VyZmFjZSB7XG4gIG1heC1oZWlnaHQ6IGNhbGMoMTAwJSAtIDMycHgpO1xufVxuXG5AbWVkaWEgYWxsIGFuZCAoLW1zLWhpZ2gtY29udHJhc3Q6IG5vbmUpLCAoLW1zLWhpZ2gtY29udHJhc3Q6IGFjdGl2ZSkge1xuICAubWRjLWRpYWxvZyAubWRjLWRpYWxvZ19fY29udGFpbmVyIHtcbiAgICAvKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuICAgIC8qIHN0eWxlbGludC1lbmFibGUqL1xuICB9XG59XG4ubWRjLWRpYWxvZyAubWRjLWRpYWxvZ19fc3VyZmFjZSB7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbn1cblxuLm1kYy1kaWFsb2dfX3NjcmltIHtcbiAgb3BhY2l0eTogMDtcbiAgei1pbmRleDogLTE7XG59XG5cbi5tZGMtZGlhbG9nX19jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgaGVpZ2h0OiAxMDAlO1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuOCk7XG4gIG9wYWNpdHk6IDA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4ubWRjLWRpYWxvZ19fc3VyZmFjZSB7XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGJveC1zaGFkb3c6IDBweCAxMXB4IDE1cHggLTdweCByZ2JhKDAsIDAsIDAsIDAuMiksIDBweCAyNHB4IDM4cHggM3B4IHJnYmEoMCwgMCwgMCwgMC4xNCksIDBweCA5cHggNDZweCA4cHggcmdiYSgwLCAwLCAwLCAwLjEyKTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZmxleC1ncm93OiAwO1xuICBmbGV4LXNocmluazogMDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXgtaGVpZ2h0OiAxMDAlO1xuICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgb3ZlcmZsb3cteTogYXV0bztcbn1cblxuLm1kYy1kaWFsb2dfX3N1cmZhY2UgLm1kYy1lbGV2YXRpb24tb3ZlcmxheSB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHRvcDogMDtcbiAgLyogQG5vZmxpcCAqL1xuICBsZWZ0OiAwO1xufVxuXG4ubWRjLWRpYWxvZ1tkaXI9cnRsXSAubWRjLWRpYWxvZ19fc3VyZmFjZSwgW2Rpcj1ydGxdIC5tZGMtZGlhbG9nIC5tZGMtZGlhbG9nX19zdXJmYWNlIHtcbiAgLyogQG5vZmxpcCAqL1xuICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuLm1kYy1kaWFsb2dfX3RpdGxlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi10b3A6IDA7XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIGZvbnQtZmFtaWx5OiBSb2JvdG8sIHNhbnMtc2VyaWY7XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgZm9udC1mYW1pbHk6IHZhcigtLW1kYy10eXBvZ3JhcGh5LWhlYWRsaW5lNi1mb250LWZhbWlseSwgdmFyKC0tbWRjLXR5cG9ncmFwaHktZm9udC1mYW1pbHksIFJvYm90bywgc2Fucy1zZXJpZikpO1xuICBmb250LXNpemU6IDEuMjVyZW07XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgZm9udC1zaXplOiB2YXIoLS1tZGMtdHlwb2dyYXBoeS1oZWFkbGluZTYtZm9udC1zaXplLCAxLjI1cmVtKTtcbiAgbGluZS1oZWlnaHQ6IDJyZW07XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgbGluZS1oZWlnaHQ6IHZhcigtLW1kYy10eXBvZ3JhcGh5LWhlYWRsaW5lNi1saW5lLWhlaWdodCwgMnJlbSk7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgZm9udC13ZWlnaHQ6IHZhcigtLW1kYy10eXBvZ3JhcGh5LWhlYWRsaW5lNi1mb250LXdlaWdodCwgNTAwKTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDEyNWVtO1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGxldHRlci1zcGFjaW5nOiB2YXIoLS1tZGMtdHlwb2dyYXBoeS1oZWFkbGluZTYtbGV0dGVyLXNwYWNpbmcsIDAuMDEyNWVtKTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0O1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIHRleHQtZGVjb3JhdGlvbjogdmFyKC0tbWRjLXR5cG9ncmFwaHktaGVhZGxpbmU2LXRleHQtZGVjb3JhdGlvbiwgaW5oZXJpdCk7XG4gIHRleHQtdHJhbnNmb3JtOiBpbmhlcml0O1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIHRleHQtdHJhbnNmb3JtOiB2YXIoLS1tZGMtdHlwb2dyYXBoeS1oZWFkbGluZTYtdGV4dC10cmFuc2Zvcm0sIGluaGVyaXQpO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDAgMjRweCA5cHg7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbn1cblxuLm1kYy1kaWFsb2dfX3RpdGxlOjpiZWZvcmUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDQwcHg7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHZlcnRpY2FsLWFsaWduOiAwO1xufVxuXG4ubWRjLWRpYWxvZ1tkaXI9cnRsXSAubWRjLWRpYWxvZ19fdGl0bGUsIFtkaXI9cnRsXSAubWRjLWRpYWxvZyAubWRjLWRpYWxvZ19fdGl0bGUge1xuICAvKiBAbm9mbGlwICovXG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4ubWRjLWRpYWxvZy0tc2Nyb2xsYWJsZSAubWRjLWRpYWxvZ19fdGl0bGUge1xuICBwYWRkaW5nLWJvdHRvbTogMTVweDtcbn1cblxuLm1kYy1kaWFsb2dfX2NvbnRlbnQge1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgZm9udC1mYW1pbHk6IFJvYm90bywgc2Fucy1zZXJpZjtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBmb250LWZhbWlseTogdmFyKC0tbWRjLXR5cG9ncmFwaHktYm9keTEtZm9udC1mYW1pbHksIHZhcigtLW1kYy10eXBvZ3JhcGh5LWZvbnQtZmFtaWx5LCBSb2JvdG8sIHNhbnMtc2VyaWYpKTtcbiAgZm9udC1zaXplOiAxcmVtO1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGZvbnQtc2l6ZTogdmFyKC0tbWRjLXR5cG9ncmFwaHktYm9keTEtZm9udC1zaXplLCAxcmVtKTtcbiAgbGluZS1oZWlnaHQ6IDEuNXJlbTtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBsaW5lLWhlaWdodDogdmFyKC0tbWRjLXR5cG9ncmFwaHktYm9keTEtbGluZS1oZWlnaHQsIDEuNXJlbSk7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgZm9udC13ZWlnaHQ6IHZhcigtLW1kYy10eXBvZ3JhcGh5LWJvZHkxLWZvbnQtd2VpZ2h0LCA0MDApO1xuICBsZXR0ZXItc3BhY2luZzogMC4wMzEyNWVtO1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGxldHRlci1zcGFjaW5nOiB2YXIoLS1tZGMtdHlwb2dyYXBoeS1ib2R5MS1sZXR0ZXItc3BhY2luZywgMC4wMzEyNWVtKTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0O1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIHRleHQtZGVjb3JhdGlvbjogdmFyKC0tbWRjLXR5cG9ncmFwaHktYm9keTEtdGV4dC1kZWNvcmF0aW9uLCBpbmhlcml0KTtcbiAgdGV4dC10cmFuc2Zvcm06IGluaGVyaXQ7XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgdGV4dC10cmFuc2Zvcm06IHZhcigtLW1kYy10eXBvZ3JhcGh5LWJvZHkxLXRleHQtdHJhbnNmb3JtLCBpbmhlcml0KTtcbiAgZmxleC1ncm93OiAxO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDIwcHggMjRweDtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbn1cblxuLm1kYy1kaWFsb2dfX2NvbnRlbnQgPiA6Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tdG9wOiAwO1xufVxuXG4ubWRjLWRpYWxvZ19fY29udGVudCA+IDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLm1kYy1kaWFsb2dfX3RpdGxlICsgLm1kYy1kaWFsb2dfX2NvbnRlbnQge1xuICBwYWRkaW5nLXRvcDogMDtcbn1cblxuLm1kYy1kaWFsb2ctLXNjcm9sbGFibGUgLm1kYy1kaWFsb2dfX2NvbnRlbnQge1xuICBwYWRkaW5nLXRvcDogOHB4O1xuICBwYWRkaW5nLWJvdHRvbTogOHB4O1xufVxuXG4ubWRjLWRpYWxvZ19fY29udGVudCAubWRjLWxpc3Q6Zmlyc3QtY2hpbGQ6bGFzdC1jaGlsZCB7XG4gIHBhZGRpbmc6IDZweCAwIDA7XG59XG5cbi5tZGMtZGlhbG9nLS1zY3JvbGxhYmxlIC5tZGMtZGlhbG9nX19jb250ZW50IC5tZGMtbGlzdDpmaXJzdC1jaGlsZDpsYXN0LWNoaWxkIHtcbiAgcGFkZGluZzogMDtcbn1cblxuLm1kYy1kaWFsb2dfX2FjdGlvbnMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIG1pbi1oZWlnaHQ6IDUycHg7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogOHB4O1xuICBib3JkZXItdG9wOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG59XG5cbi5tZGMtZGlhbG9nLS1zdGFja2VkIC5tZGMtZGlhbG9nX19hY3Rpb25zIHtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xufVxuXG4ubWRjLWRpYWxvZ19fYnV0dG9uIHtcbiAgLyogQG5vZmxpcCAqL1xuICBtYXJnaW4tbGVmdDogOHB4O1xuICAvKiBAbm9mbGlwICovXG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICAvKiBAbm9mbGlwICovXG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG5bZGlyPXJ0bF0gLm1kYy1kaWFsb2dfX2J1dHRvbiwgLm1kYy1kaWFsb2dfX2J1dHRvbltkaXI9cnRsXSB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbWFyZ2luLXJpZ2h0OiA4cHg7XG59XG5cbi5tZGMtZGlhbG9nX19idXR0b246Zmlyc3QtY2hpbGQge1xuICAvKiBAbm9mbGlwICovXG4gIG1hcmdpbi1sZWZ0OiAwO1xuICAvKiBAbm9mbGlwICovXG4gIG1hcmdpbi1yaWdodDogMDtcbn1cblxuW2Rpcj1ydGxdIC5tZGMtZGlhbG9nX19idXR0b246Zmlyc3QtY2hpbGQsIC5tZGMtZGlhbG9nX19idXR0b246Zmlyc3QtY2hpbGRbZGlyPXJ0bF0ge1xuICAvKiBAbm9mbGlwICovXG4gIG1hcmdpbi1sZWZ0OiAwO1xuICAvKiBAbm9mbGlwICovXG4gIG1hcmdpbi1yaWdodDogMDtcbn1cblxuLm1kYy1kaWFsb2dbZGlyPXJ0bF0gLm1kYy1kaWFsb2dfX2J1dHRvbiwgW2Rpcj1ydGxdIC5tZGMtZGlhbG9nIC5tZGMtZGlhbG9nX19idXR0b24ge1xuICAvKiBAbm9mbGlwICovXG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi5tZGMtZGlhbG9nLS1zdGFja2VkIC5tZGMtZGlhbG9nX19idXR0b246bm90KDpmaXJzdC1jaGlsZCkge1xuICBtYXJnaW4tdG9wOiAxMnB4O1xufVxuXG4ubWRjLWRpYWxvZy0tb3Blbixcbi5tZGMtZGlhbG9nLS1vcGVuaW5nLFxuLm1kYy1kaWFsb2ctLWNsb3Npbmcge1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG4ubWRjLWRpYWxvZy0tb3BlbmluZyAubWRjLWRpYWxvZ19fc2NyaW0ge1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDE1MG1zIGxpbmVhcjtcbn1cblxuLm1kYy1kaWFsb2ctLW9wZW5pbmcgLm1kYy1kaWFsb2dfX2NvbnRhaW5lciB7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgNzVtcyBsaW5lYXIsIHRyYW5zZm9ybSAxNTBtcyAwbXMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMiwgMSk7XG59XG5cbi5tZGMtZGlhbG9nLS1jbG9zaW5nIC5tZGMtZGlhbG9nX19zY3JpbSxcbi5tZGMtZGlhbG9nLS1jbG9zaW5nIC5tZGMtZGlhbG9nX19jb250YWluZXIge1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDc1bXMgbGluZWFyO1xufVxuXG4ubWRjLWRpYWxvZy0tY2xvc2luZyAubWRjLWRpYWxvZ19fY29udGFpbmVyIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbn1cblxuLm1kYy1kaWFsb2ctLW9wZW4gLm1kYy1kaWFsb2dfX3NjcmltIHtcbiAgb3BhY2l0eTogMTtcbn1cblxuLm1kYy1kaWFsb2ctLW9wZW4gLm1kYy1kaWFsb2dfX2NvbnRhaW5lciB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5tZGMtZGlhbG9nLXNjcm9sbC1sb2NrIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLm1kYy1mbG9hdGluZy1sYWJlbCB7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICBmb250LWZhbWlseTogUm9ib3RvLCBzYW5zLXNlcmlmO1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1tZGMtdHlwb2dyYXBoeS1zdWJ0aXRsZTEtZm9udC1mYW1pbHksIHZhcigtLW1kYy10eXBvZ3JhcGh5LWZvbnQtZmFtaWx5LCBSb2JvdG8sIHNhbnMtc2VyaWYpKTtcbiAgZm9udC1zaXplOiAxcmVtO1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGZvbnQtc2l6ZTogdmFyKC0tbWRjLXR5cG9ncmFwaHktc3VidGl0bGUxLWZvbnQtc2l6ZSwgMXJlbSk7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgZm9udC13ZWlnaHQ6IHZhcigtLW1kYy10eXBvZ3JhcGh5LXN1YnRpdGxlMS1mb250LXdlaWdodCwgNDAwKTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDA5Mzc1ZW07XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgbGV0dGVyLXNwYWNpbmc6IHZhcigtLW1kYy10eXBvZ3JhcGh5LXN1YnRpdGxlMS1sZXR0ZXItc3BhY2luZywgMC4wMDkzNzVlbSk7XG4gIHRleHQtZGVjb3JhdGlvbjogaW5oZXJpdDtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICB0ZXh0LWRlY29yYXRpb246IHZhcigtLW1kYy10eXBvZ3JhcGh5LXN1YnRpdGxlMS10ZXh0LWRlY29yYXRpb24sIGluaGVyaXQpO1xuICB0ZXh0LXRyYW5zZm9ybTogaW5oZXJpdDtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICB0ZXh0LXRyYW5zZm9ybTogdmFyKC0tbWRjLXR5cG9ncmFwaHktc3VidGl0bGUxLXRleHQtdHJhbnNmb3JtLCBpbmhlcml0KTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICAvKiBAbm9mbGlwICovXG4gIGxlZnQ6IDA7XG4gIC8qIEBub2ZsaXAgKi9cbiAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCB0b3A7XG4gIGxpbmUtaGVpZ2h0OiAxLjE1cmVtO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgY3Vyc29yOiB0ZXh0O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAxNTBtcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpLCBjb2xvciAxNTBtcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpO1xufVxuXG5bZGlyPXJ0bF0gLm1kYy1mbG9hdGluZy1sYWJlbCwgLm1kYy1mbG9hdGluZy1sYWJlbFtkaXI9cnRsXSB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgcmlnaHQ6IDA7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbGVmdDogYXV0bztcbiAgLyogQG5vZmxpcCAqL1xuICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCB0b3A7XG4gIC8qIEBub2ZsaXAgKi9cbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbi5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlIHtcbiAgY3Vyc29yOiBhdXRvO1xufVxuXG4ubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTA2JSkgc2NhbGUoMC43NSk7XG59XG5cbi5tZGMtZmxvYXRpbmctbGFiZWwtLXNoYWtlIHtcbiAgYW5pbWF0aW9uOiBtZGMtZmxvYXRpbmctbGFiZWwtc2hha2UtZmxvYXQtYWJvdmUtc3RhbmRhcmQgMjUwbXMgMTtcbn1cblxuQGtleWZyYW1lcyBtZGMtZmxvYXRpbmctbGFiZWwtc2hha2UtZmxvYXQtYWJvdmUtc3RhbmRhcmQge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGNhbGMoMCAtIDAlKSkgdHJhbnNsYXRlWSgtMTA2JSkgc2NhbGUoMC43NSk7XG4gIH1cbiAgMzMlIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41LCAwLCAwLjcwMTczMiwgMC40OTU4MTkpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChjYWxjKDQlIC0gMCUpKSB0cmFuc2xhdGVZKC0xMDYlKSBzY2FsZSgwLjc1KTtcbiAgfVxuICA2NiUge1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjMwMjQzNSwgMC4zODEzNTIsIDAuNTUsIDAuOTU2MzUyKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoY2FsYygtNCUgLSAwJSkpIHRyYW5zbGF0ZVkoLTEwNiUpIHNjYWxlKDAuNzUpO1xuICB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChjYWxjKDAgLSAwJSkpIHRyYW5zbGF0ZVkoLTEwNiUpIHNjYWxlKDAuNzUpO1xuICB9XG59XG4ubWRjLWZvcm0tZmllbGQge1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgZm9udC1mYW1pbHk6IFJvYm90bywgc2Fucy1zZXJpZjtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBmb250LWZhbWlseTogdmFyKC0tbWRjLXR5cG9ncmFwaHktYm9keTItZm9udC1mYW1pbHksIHZhcigtLW1kYy10eXBvZ3JhcGh5LWZvbnQtZmFtaWx5LCBSb2JvdG8sIHNhbnMtc2VyaWYpKTtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBmb250LXNpemU6IHZhcigtLW1kYy10eXBvZ3JhcGh5LWJvZHkyLWZvbnQtc2l6ZSwgMC44NzVyZW0pO1xuICBsaW5lLWhlaWdodDogMS4yNXJlbTtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBsaW5lLWhlaWdodDogdmFyKC0tbWRjLXR5cG9ncmFwaHktYm9keTItbGluZS1oZWlnaHQsIDEuMjVyZW0pO1xuICBmb250LXdlaWdodDogNDAwO1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1tZGMtdHlwb2dyYXBoeS1ib2R5Mi1mb250LXdlaWdodCwgNDAwKTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDE3ODU3MTQyOWVtO1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGxldHRlci1zcGFjaW5nOiB2YXIoLS1tZGMtdHlwb2dyYXBoeS1ib2R5Mi1sZXR0ZXItc3BhY2luZywgMC4wMTc4NTcxNDI5ZW0pO1xuICB0ZXh0LWRlY29yYXRpb246IGluaGVyaXQ7XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB2YXIoLS1tZGMtdHlwb2dyYXBoeS1ib2R5Mi10ZXh0LWRlY29yYXRpb24sIGluaGVyaXQpO1xuICB0ZXh0LXRyYW5zZm9ybTogaW5oZXJpdDtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICB0ZXh0LXRyYW5zZm9ybTogdmFyKC0tbWRjLXR5cG9ncmFwaHktYm9keTItdGV4dC10cmFuc2Zvcm0sIGluaGVyaXQpO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBjb2xvcjogdmFyKC0tbWRjLXRoZW1lLXRleHQtcHJpbWFyeS1vbi1iYWNrZ3JvdW5kLCByZ2JhKDAsIDAsIDAsIDAuODcpKTtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi5tZGMtZm9ybS1maWVsZCA+IGxhYmVsIHtcbiAgLyogQG5vZmxpcCAqL1xuICBtYXJnaW4tbGVmdDogMDtcbiAgLyogQG5vZmxpcCAqL1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIC8qIEBub2ZsaXAgKi9cbiAgcGFkZGluZy1sZWZ0OiA0cHg7XG4gIC8qIEBub2ZsaXAgKi9cbiAgcGFkZGluZy1yaWdodDogMDtcbiAgb3JkZXI6IDA7XG59XG5cbltkaXI9cnRsXSAubWRjLWZvcm0tZmllbGQgPiBsYWJlbCwgLm1kYy1mb3JtLWZpZWxkID4gbGFiZWxbZGlyPXJ0bF0ge1xuICAvKiBAbm9mbGlwICovXG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAvKiBAbm9mbGlwICovXG4gIG1hcmdpbi1yaWdodDogMDtcbn1cblxuW2Rpcj1ydGxdIC5tZGMtZm9ybS1maWVsZCA+IGxhYmVsLCAubWRjLWZvcm0tZmllbGQgPiBsYWJlbFtkaXI9cnRsXSB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgcGFkZGluZy1sZWZ0OiAwO1xuICAvKiBAbm9mbGlwICovXG4gIHBhZGRpbmctcmlnaHQ6IDRweDtcbn1cblxuLm1kYy1mb3JtLWZpZWxkLS1ub3dyYXAgPiBsYWJlbCB7XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4ubWRjLWZvcm0tZmllbGQtLWFsaWduLWVuZCA+IGxhYmVsIHtcbiAgLyogQG5vZmxpcCAqL1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgLyogQG5vZmxpcCAqL1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIC8qIEBub2ZsaXAgKi9cbiAgcGFkZGluZy1sZWZ0OiAwO1xuICAvKiBAbm9mbGlwICovXG4gIHBhZGRpbmctcmlnaHQ6IDRweDtcbiAgb3JkZXI6IC0xO1xufVxuXG5bZGlyPXJ0bF0gLm1kYy1mb3JtLWZpZWxkLS1hbGlnbi1lbmQgPiBsYWJlbCwgLm1kYy1mb3JtLWZpZWxkLS1hbGlnbi1lbmQgPiBsYWJlbFtkaXI9cnRsXSB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuXG5bZGlyPXJ0bF0gLm1kYy1mb3JtLWZpZWxkLS1hbGlnbi1lbmQgPiBsYWJlbCwgLm1kYy1mb3JtLWZpZWxkLS1hbGlnbi1lbmQgPiBsYWJlbFtkaXI9cnRsXSB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgcGFkZGluZy1sZWZ0OiA0cHg7XG4gIC8qIEBub2ZsaXAgKi9cbiAgcGFkZGluZy1yaWdodDogMDtcbn1cblxuLm1kYy1mb3JtLWZpZWxkLS1zcGFjZS1iZXR3ZWVuIHtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xufVxuXG4ubWRjLWZvcm0tZmllbGQtLXNwYWNlLWJldHdlZW4gPiBsYWJlbCB7XG4gIG1hcmdpbjogMDtcbn1cblxuW2Rpcj1ydGxdIC5tZGMtZm9ybS1maWVsZC0tc3BhY2UtYmV0d2VlbiA+IGxhYmVsLCAubWRjLWZvcm0tZmllbGQtLXNwYWNlLWJldHdlZW4gPiBsYWJlbFtkaXI9cnRsXSB7XG4gIG1hcmdpbjogMDtcbn1cblxuLm1kYy1saXN0IHtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIGZvbnQtZmFtaWx5OiBSb2JvdG8sIHNhbnMtc2VyaWY7XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgZm9udC1mYW1pbHk6IHZhcigtLW1kYy10eXBvZ3JhcGh5LXN1YnRpdGxlMS1mb250LWZhbWlseSwgdmFyKC0tbWRjLXR5cG9ncmFwaHktZm9udC1mYW1pbHksIFJvYm90bywgc2Fucy1zZXJpZikpO1xuICBmb250LXNpemU6IDFyZW07XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgZm9udC1zaXplOiB2YXIoLS1tZGMtdHlwb2dyYXBoeS1zdWJ0aXRsZTEtZm9udC1zaXplLCAxcmVtKTtcbiAgbGluZS1oZWlnaHQ6IDEuNzVyZW07XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgbGluZS1oZWlnaHQ6IHZhcigtLW1kYy10eXBvZ3JhcGh5LXN1YnRpdGxlMS1saW5lLWhlaWdodCwgMS43NXJlbSk7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgZm9udC13ZWlnaHQ6IHZhcigtLW1kYy10eXBvZ3JhcGh5LXN1YnRpdGxlMS1mb250LXdlaWdodCwgNDAwKTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDA5Mzc1ZW07XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgbGV0dGVyLXNwYWNpbmc6IHZhcigtLW1kYy10eXBvZ3JhcGh5LXN1YnRpdGxlMS1sZXR0ZXItc3BhY2luZywgMC4wMDkzNzVlbSk7XG4gIHRleHQtZGVjb3JhdGlvbjogaW5oZXJpdDtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICB0ZXh0LWRlY29yYXRpb246IHZhcigtLW1kYy10eXBvZ3JhcGh5LXN1YnRpdGxlMS10ZXh0LWRlY29yYXRpb24sIGluaGVyaXQpO1xuICB0ZXh0LXRyYW5zZm9ybTogaW5oZXJpdDtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICB0ZXh0LXRyYW5zZm9ybTogdmFyKC0tbWRjLXR5cG9ncmFwaHktc3VidGl0bGUxLXRleHQtdHJhbnNmb3JtLCBpbmhlcml0KTtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBsaW5lLWhlaWdodDogMS41cmVtO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDhweCAwO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGNvbG9yOiB2YXIoLS1tZGMtdGhlbWUtdGV4dC1wcmltYXJ5LW9uLWJhY2tncm91bmQsIHJnYmEoMCwgMCwgMCwgMC44NykpO1xufVxuXG4ubWRjLWxpc3Q6Zm9jdXMge1xuICBvdXRsaW5lOiBub25lO1xufVxuXG4ubWRjLWxpc3QtaXRlbSB7XG4gIGhlaWdodDogNDhweDtcbn1cblxuLm1kYy1saXN0LWl0ZW1fX3NlY29uZGFyeS10ZXh0IHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41NCk7XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgY29sb3I6IHZhcigtLW1kYy10aGVtZS10ZXh0LXNlY29uZGFyeS1vbi1iYWNrZ3JvdW5kLCByZ2JhKDAsIDAsIDAsIDAuNTQpKTtcbn1cblxuLm1kYy1saXN0LWl0ZW1fX2dyYXBoaWMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLm1kYy1saXN0LWl0ZW1fX2dyYXBoaWMge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjM4KTtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBjb2xvcjogdmFyKC0tbWRjLXRoZW1lLXRleHQtaWNvbi1vbi1iYWNrZ3JvdW5kLCByZ2JhKDAsIDAsIDAsIDAuMzgpKTtcbn1cblxuLm1kYy1saXN0LWl0ZW1fX21ldGEge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjM4KTtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBjb2xvcjogdmFyKC0tbWRjLXRoZW1lLXRleHQtaGludC1vbi1iYWNrZ3JvdW5kLCByZ2JhKDAsIDAsIDAsIDAuMzgpKTtcbn1cblxuLm1kYy1saXN0LWdyb3VwX19zdWJoZWFkZXIge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBjb2xvcjogdmFyKC0tbWRjLXRoZW1lLXRleHQtcHJpbWFyeS1vbi1iYWNrZ3JvdW5kLCByZ2JhKDAsIDAsIDAsIDAuODcpKTtcbn1cblxuLm1kYy1saXN0LWl0ZW0tLWRpc2FibGVkIC5tZGMtbGlzdC1pdGVtX190ZXh0IHtcbiAgb3BhY2l0eTogMC4zODtcbn1cblxuLm1kYy1saXN0LWl0ZW0tLWRpc2FibGVkIC5tZGMtbGlzdC1pdGVtX190ZXh0LFxuLm1kYy1saXN0LWl0ZW0tLWRpc2FibGVkIC5tZGMtbGlzdC1pdGVtX19wcmltYXJ5LXRleHQsXG4ubWRjLWxpc3QtaXRlbS0tZGlzYWJsZWQgLm1kYy1saXN0LWl0ZW1fX3NlY29uZGFyeS10ZXh0IHtcbiAgY29sb3I6ICMwMDA7XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgY29sb3I6IHZhcigtLW1kYy10aGVtZS1vbi1zdXJmYWNlLCAjMDAwKTtcbn1cblxuLm1kYy1saXN0LS1kZW5zZSB7XG4gIHBhZGRpbmctdG9wOiA0cHg7XG4gIHBhZGRpbmctYm90dG9tOiA0cHg7XG4gIGZvbnQtc2l6ZTogMC44MTJyZW07XG59XG5cbi5tZGMtbGlzdC1pdGVtIHtcbiAgZGlzcGxheTogZmxleDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIHBhZGRpbmc6IDAgMTZweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLm1kYy1saXN0LWl0ZW06Zm9jdXMge1xuICBvdXRsaW5lOiBub25lO1xufVxuXG4ubWRjLWxpc3QtaXRlbS0tc2VsZWN0ZWQsXG4ubWRjLWxpc3QtaXRlbS0tYWN0aXZhdGVkIHtcbiAgY29sb3I6ICMwMEFFRUY7XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgY29sb3I6IHZhcigtLW1kYy10aGVtZS1wcmltYXJ5LCAjMDBBRUVGKTtcbn1cblxuLm1kYy1saXN0LWl0ZW0tLXNlbGVjdGVkIC5tZGMtbGlzdC1pdGVtX19ncmFwaGljLFxuLm1kYy1saXN0LWl0ZW0tLWFjdGl2YXRlZCAubWRjLWxpc3QtaXRlbV9fZ3JhcGhpYyB7XG4gIGNvbG9yOiAjMDBBRUVGO1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGNvbG9yOiB2YXIoLS1tZGMtdGhlbWUtcHJpbWFyeSwgIzAwQUVFRik7XG59XG5cbi5tZGMtbGlzdC1pdGVtX19ncmFwaGljIHtcbiAgLyogQG5vZmxpcCAqL1xuICBtYXJnaW4tbGVmdDogMDtcbiAgLyogQG5vZmxpcCAqL1xuICBtYXJnaW4tcmlnaHQ6IDMycHg7XG4gIHdpZHRoOiAyNHB4O1xuICBoZWlnaHQ6IDI0cHg7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgZmlsbDogY3VycmVudENvbG9yO1xufVxuXG4ubWRjLWxpc3QtaXRlbVtkaXI9cnRsXSAubWRjLWxpc3QtaXRlbV9fZ3JhcGhpYywgW2Rpcj1ydGxdIC5tZGMtbGlzdC1pdGVtIC5tZGMtbGlzdC1pdGVtX19ncmFwaGljIHtcbiAgLyogQG5vZmxpcCAqL1xuICBtYXJnaW4tbGVmdDogMzJweDtcbiAgLyogQG5vZmxpcCAqL1xuICBtYXJnaW4tcmlnaHQ6IDA7XG59XG5cbi5tZGMtbGlzdCAubWRjLWxpc3QtaXRlbV9fZ3JhcGhpYyB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xufVxuXG4ubWRjLWxpc3QtaXRlbV9fbWV0YSB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIC8qIEBub2ZsaXAgKi9cbiAgbWFyZ2luLXJpZ2h0OiAwO1xufVxuXG4ubWRjLWxpc3QtaXRlbV9fbWV0YTpub3QoLm1hdGVyaWFsLWljb25zKSB7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICBmb250LWZhbWlseTogUm9ib3RvLCBzYW5zLXNlcmlmO1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1tZGMtdHlwb2dyYXBoeS1jYXB0aW9uLWZvbnQtZmFtaWx5LCB2YXIoLS1tZGMtdHlwb2dyYXBoeS1mb250LWZhbWlseSwgUm9ib3RvLCBzYW5zLXNlcmlmKSk7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBmb250LXNpemU6IHZhcigtLW1kYy10eXBvZ3JhcGh5LWNhcHRpb24tZm9udC1zaXplLCAwLjc1cmVtKTtcbiAgbGluZS1oZWlnaHQ6IDEuMjVyZW07XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgbGluZS1oZWlnaHQ6IHZhcigtLW1kYy10eXBvZ3JhcGh5LWNhcHRpb24tbGluZS1oZWlnaHQsIDEuMjVyZW0pO1xuICBmb250LXdlaWdodDogNDAwO1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1tZGMtdHlwb2dyYXBoeS1jYXB0aW9uLWZvbnQtd2VpZ2h0LCA0MDApO1xuICBsZXR0ZXItc3BhY2luZzogMC4wMzMzMzMzMzMzZW07XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgbGV0dGVyLXNwYWNpbmc6IHZhcigtLW1kYy10eXBvZ3JhcGh5LWNhcHRpb24tbGV0dGVyLXNwYWNpbmcsIDAuMDMzMzMzMzMzM2VtKTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0O1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIHRleHQtZGVjb3JhdGlvbjogdmFyKC0tbWRjLXR5cG9ncmFwaHktY2FwdGlvbi10ZXh0LWRlY29yYXRpb24sIGluaGVyaXQpO1xuICB0ZXh0LXRyYW5zZm9ybTogaW5oZXJpdDtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICB0ZXh0LXRyYW5zZm9ybTogdmFyKC0tbWRjLXR5cG9ncmFwaHktY2FwdGlvbi10ZXh0LXRyYW5zZm9ybSwgaW5oZXJpdCk7XG59XG5cbi5tZGMtbGlzdC1pdGVtW2Rpcj1ydGxdIC5tZGMtbGlzdC1pdGVtX19tZXRhLCBbZGlyPXJ0bF0gLm1kYy1saXN0LWl0ZW0gLm1kYy1saXN0LWl0ZW1fX21ldGEge1xuICAvKiBAbm9mbGlwICovXG4gIG1hcmdpbi1sZWZ0OiAwO1xuICAvKiBAbm9mbGlwICovXG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cblxuLm1kYy1saXN0LWl0ZW1fX3RleHQge1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLm1kYy1saXN0LWl0ZW1fX3RleHRbZm9yXSB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4ubWRjLWxpc3QtaXRlbV9fcHJpbWFyeS10ZXh0IHtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tdG9wOiAwO1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gIG1hcmdpbi1ib3R0b206IC0yMHB4O1xufVxuXG4ubWRjLWxpc3QtaXRlbV9fcHJpbWFyeS10ZXh0OjpiZWZvcmUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDMycHg7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHZlcnRpY2FsLWFsaWduOiAwO1xufVxuXG4ubWRjLWxpc3QtaXRlbV9fcHJpbWFyeS10ZXh0OjphZnRlciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMjBweDtcbiAgY29udGVudDogXCJcIjtcbiAgdmVydGljYWwtYWxpZ246IC0yMHB4O1xufVxuXG4ubWRjLWxpc3QtLWRlbnNlIC5tZGMtbGlzdC1pdGVtX19wcmltYXJ5LXRleHQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLXRvcDogMDtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICBtYXJnaW4tYm90dG9tOiAtMjBweDtcbn1cblxuLm1kYy1saXN0LS1kZW5zZSAubWRjLWxpc3QtaXRlbV9fcHJpbWFyeS10ZXh0OjpiZWZvcmUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDI0cHg7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHZlcnRpY2FsLWFsaWduOiAwO1xufVxuXG4ubWRjLWxpc3QtLWRlbnNlIC5tZGMtbGlzdC1pdGVtX19wcmltYXJ5LXRleHQ6OmFmdGVyIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAyMHB4O1xuICBjb250ZW50OiBcIlwiO1xuICB2ZXJ0aWNhbC1hbGlnbjogLTIwcHg7XG59XG5cbi5tZGMtbGlzdC1pdGVtX19zZWNvbmRhcnktdGV4dCB7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICBmb250LWZhbWlseTogUm9ib3RvLCBzYW5zLXNlcmlmO1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1tZGMtdHlwb2dyYXBoeS1ib2R5Mi1mb250LWZhbWlseSwgdmFyKC0tbWRjLXR5cG9ncmFwaHktZm9udC1mYW1pbHksIFJvYm90bywgc2Fucy1zZXJpZikpO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGZvbnQtc2l6ZTogdmFyKC0tbWRjLXR5cG9ncmFwaHktYm9keTItZm9udC1zaXplLCAwLjg3NXJlbSk7XG4gIGxpbmUtaGVpZ2h0OiAxLjI1cmVtO1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1tZGMtdHlwb2dyYXBoeS1ib2R5Mi1saW5lLWhlaWdodCwgMS4yNXJlbSk7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgZm9udC13ZWlnaHQ6IHZhcigtLW1kYy10eXBvZ3JhcGh5LWJvZHkyLWZvbnQtd2VpZ2h0LCA0MDApO1xuICBsZXR0ZXItc3BhY2luZzogMC4wMTc4NTcxNDI5ZW07XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgbGV0dGVyLXNwYWNpbmc6IHZhcigtLW1kYy10eXBvZ3JhcGh5LWJvZHkyLWxldHRlci1zcGFjaW5nLCAwLjAxNzg1NzE0MjllbSk7XG4gIHRleHQtZGVjb3JhdGlvbjogaW5oZXJpdDtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICB0ZXh0LWRlY29yYXRpb246IHZhcigtLW1kYy10eXBvZ3JhcGh5LWJvZHkyLXRleHQtZGVjb3JhdGlvbiwgaW5oZXJpdCk7XG4gIHRleHQtdHJhbnNmb3JtOiBpbmhlcml0O1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIHRleHQtdHJhbnNmb3JtOiB2YXIoLS1tZGMtdHlwb2dyYXBoeS1ib2R5Mi10ZXh0LXRyYW5zZm9ybSwgaW5oZXJpdCk7XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLXRvcDogMDtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xufVxuXG4ubWRjLWxpc3QtaXRlbV9fc2Vjb25kYXJ5LXRleHQ6OmJlZm9yZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMjBweDtcbiAgY29udGVudDogXCJcIjtcbiAgdmVydGljYWwtYWxpZ246IDA7XG59XG5cbi5tZGMtbGlzdC0tZGVuc2UgLm1kYy1saXN0LWl0ZW1fX3NlY29uZGFyeS10ZXh0IHtcbiAgZm9udC1zaXplOiBpbmhlcml0O1xufVxuXG4ubWRjLWxpc3QtLWRlbnNlIC5tZGMtbGlzdC1pdGVtIHtcbiAgaGVpZ2h0OiA0MHB4O1xufVxuXG4ubWRjLWxpc3QtLWRlbnNlIC5tZGMtbGlzdC1pdGVtX19ncmFwaGljIHtcbiAgLyogQG5vZmxpcCAqL1xuICBtYXJnaW4tbGVmdDogMDtcbiAgLyogQG5vZmxpcCAqL1xuICBtYXJnaW4tcmlnaHQ6IDM2cHg7XG4gIHdpZHRoOiAyMHB4O1xuICBoZWlnaHQ6IDIwcHg7XG59XG5cbi5tZGMtbGlzdC1pdGVtW2Rpcj1ydGxdIC5tZGMtbGlzdC0tZGVuc2UgLm1kYy1saXN0LWl0ZW1fX2dyYXBoaWMsIFtkaXI9cnRsXSAubWRjLWxpc3QtaXRlbSAubWRjLWxpc3QtLWRlbnNlIC5tZGMtbGlzdC1pdGVtX19ncmFwaGljIHtcbiAgLyogQG5vZmxpcCAqL1xuICBtYXJnaW4tbGVmdDogMzZweDtcbiAgLyogQG5vZmxpcCAqL1xuICBtYXJnaW4tcmlnaHQ6IDA7XG59XG5cbi5tZGMtbGlzdC0tYXZhdGFyLWxpc3QgLm1kYy1saXN0LWl0ZW0ge1xuICBoZWlnaHQ6IDU2cHg7XG59XG5cbi5tZGMtbGlzdC0tYXZhdGFyLWxpc3QgLm1kYy1saXN0LWl0ZW1fX2dyYXBoaWMge1xuICAvKiBAbm9mbGlwICovXG4gIG1hcmdpbi1sZWZ0OiAwO1xuICAvKiBAbm9mbGlwICovXG4gIG1hcmdpbi1yaWdodDogMTZweDtcbiAgd2lkdGg6IDQwcHg7XG4gIGhlaWdodDogNDBweDtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xufVxuXG4ubWRjLWxpc3QtaXRlbVtkaXI9cnRsXSAubWRjLWxpc3QtLWF2YXRhci1saXN0IC5tZGMtbGlzdC1pdGVtX19ncmFwaGljLCBbZGlyPXJ0bF0gLm1kYy1saXN0LWl0ZW0gLm1kYy1saXN0LS1hdmF0YXItbGlzdCAubWRjLWxpc3QtaXRlbV9fZ3JhcGhpYyB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbWFyZ2luLWxlZnQ6IDE2cHg7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbWFyZ2luLXJpZ2h0OiAwO1xufVxuXG4ubWRjLWxpc3QtLXR3by1saW5lIC5tZGMtbGlzdC1pdGVtX190ZXh0IHtcbiAgYWxpZ24tc2VsZjogZmxleC1zdGFydDtcbn1cblxuLm1kYy1saXN0LS10d28tbGluZSAubWRjLWxpc3QtaXRlbSB7XG4gIGhlaWdodDogNzJweDtcbn1cblxuLm1kYy1saXN0LS10d28tbGluZS5tZGMtbGlzdC0tZGVuc2UgLm1kYy1saXN0LWl0ZW0sXG4ubWRjLWxpc3QtLWF2YXRhci1saXN0Lm1kYy1saXN0LS1kZW5zZSAubWRjLWxpc3QtaXRlbSB7XG4gIGhlaWdodDogNjBweDtcbn1cblxuLm1kYy1saXN0LS1hdmF0YXItbGlzdC5tZGMtbGlzdC0tZGVuc2UgLm1kYy1saXN0LWl0ZW1fX2dyYXBoaWMge1xuICAvKiBAbm9mbGlwICovXG4gIG1hcmdpbi1sZWZ0OiAwO1xuICAvKiBAbm9mbGlwICovXG4gIG1hcmdpbi1yaWdodDogMjBweDtcbiAgd2lkdGg6IDM2cHg7XG4gIGhlaWdodDogMzZweDtcbn1cblxuLm1kYy1saXN0LWl0ZW1bZGlyPXJ0bF0gLm1kYy1saXN0LS1hdmF0YXItbGlzdC5tZGMtbGlzdC0tZGVuc2UgLm1kYy1saXN0LWl0ZW1fX2dyYXBoaWMsIFtkaXI9cnRsXSAubWRjLWxpc3QtaXRlbSAubWRjLWxpc3QtLWF2YXRhci1saXN0Lm1kYy1saXN0LS1kZW5zZSAubWRjLWxpc3QtaXRlbV9fZ3JhcGhpYyB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbWFyZ2luLXJpZ2h0OiAwO1xufVxuXG46bm90KC5tZGMtbGlzdC0tbm9uLWludGVyYWN0aXZlKSA+IDpub3QoLm1kYy1saXN0LWl0ZW0tLWRpc2FibGVkKS5tZGMtbGlzdC1pdGVtIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG5hLm1kYy1saXN0LWl0ZW0ge1xuICBjb2xvcjogaW5oZXJpdDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4ubWRjLWxpc3QtZGl2aWRlciB7XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luOiAwO1xuICBib3JkZXI6IG5vbmU7XG4gIGJvcmRlci1ib3R0b20td2lkdGg6IDFweDtcbiAgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XG59XG5cbi5tZGMtbGlzdC1kaXZpZGVyIHtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjEyKTtcbn1cblxuLm1kYy1saXN0LWRpdmlkZXItLXBhZGRlZCB7XG4gIG1hcmdpbjogMCAxNnB4O1xufVxuXG4ubWRjLWxpc3QtZGl2aWRlci0taW5zZXQge1xuICAvKiBAbm9mbGlwICovXG4gIG1hcmdpbi1sZWZ0OiA3MnB4O1xuICAvKiBAbm9mbGlwICovXG4gIG1hcmdpbi1yaWdodDogMDtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDcycHgpO1xufVxuXG4ubWRjLWxpc3QtZ3JvdXBbZGlyPXJ0bF0gLm1kYy1saXN0LWRpdmlkZXItLWluc2V0LCBbZGlyPXJ0bF0gLm1kYy1saXN0LWdyb3VwIC5tZGMtbGlzdC1kaXZpZGVyLS1pbnNldCB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbWFyZ2luLXJpZ2h0OiA3MnB4O1xufVxuXG4ubWRjLWxpc3QtZGl2aWRlci0taW5zZXQubWRjLWxpc3QtZGl2aWRlci0tcGFkZGVkIHtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDcycHggLSAxNnB4KTtcbn1cblxuLm1kYy1saXN0LWdyb3VwIC5tZGMtbGlzdCB7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi5tZGMtbGlzdC1ncm91cF9fc3ViaGVhZGVyIHtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIGZvbnQtZmFtaWx5OiBSb2JvdG8sIHNhbnMtc2VyaWY7XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgZm9udC1mYW1pbHk6IHZhcigtLW1kYy10eXBvZ3JhcGh5LXN1YnRpdGxlMS1mb250LWZhbWlseSwgdmFyKC0tbWRjLXR5cG9ncmFwaHktZm9udC1mYW1pbHksIFJvYm90bywgc2Fucy1zZXJpZikpO1xuICBmb250LXNpemU6IDFyZW07XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgZm9udC1zaXplOiB2YXIoLS1tZGMtdHlwb2dyYXBoeS1zdWJ0aXRsZTEtZm9udC1zaXplLCAxcmVtKTtcbiAgbGluZS1oZWlnaHQ6IDEuNzVyZW07XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgbGluZS1oZWlnaHQ6IHZhcigtLW1kYy10eXBvZ3JhcGh5LXN1YnRpdGxlMS1saW5lLWhlaWdodCwgMS43NXJlbSk7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgZm9udC13ZWlnaHQ6IHZhcigtLW1kYy10eXBvZ3JhcGh5LXN1YnRpdGxlMS1mb250LXdlaWdodCwgNDAwKTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDA5Mzc1ZW07XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgbGV0dGVyLXNwYWNpbmc6IHZhcigtLW1kYy10eXBvZ3JhcGh5LXN1YnRpdGxlMS1sZXR0ZXItc3BhY2luZywgMC4wMDkzNzVlbSk7XG4gIHRleHQtZGVjb3JhdGlvbjogaW5oZXJpdDtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICB0ZXh0LWRlY29yYXRpb246IHZhcigtLW1kYy10eXBvZ3JhcGh5LXN1YnRpdGxlMS10ZXh0LWRlY29yYXRpb24sIGluaGVyaXQpO1xuICB0ZXh0LXRyYW5zZm9ybTogaW5oZXJpdDtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICB0ZXh0LXRyYW5zZm9ybTogdmFyKC0tbWRjLXR5cG9ncmFwaHktc3VidGl0bGUxLXRleHQtdHJhbnNmb3JtLCBpbmhlcml0KTtcbiAgbWFyZ2luOiBjYWxjKCgzcmVtIC0gMS41cmVtKSAvIDIpIDE2cHg7XG59XG5cbjpub3QoLm1kYy1saXN0LS1ub24taW50ZXJhY3RpdmUpID4gOm5vdCgubWRjLWxpc3QtaXRlbS0tZGlzYWJsZWQpLm1kYy1saXN0LWl0ZW0ge1xuICAtLW1kYy1yaXBwbGUtZmctc2l6ZTogMDtcbiAgLS1tZGMtcmlwcGxlLWxlZnQ6IDA7XG4gIC0tbWRjLXJpcHBsZS10b3A6IDA7XG4gIC0tbWRjLXJpcHBsZS1mZy1zY2FsZTogMTtcbiAgLS1tZGMtcmlwcGxlLWZnLXRyYW5zbGF0ZS1lbmQ6IDA7XG4gIC0tbWRjLXJpcHBsZS1mZy10cmFuc2xhdGUtc3RhcnQ6IDA7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTtcbn1cblxuOm5vdCgubWRjLWxpc3QtLW5vbi1pbnRlcmFjdGl2ZSkgPiA6bm90KC5tZGMtbGlzdC1pdGVtLS1kaXNhYmxlZCkubWRjLWxpc3QtaXRlbTo6YmVmb3JlLCA6bm90KC5tZGMtbGlzdC0tbm9uLWludGVyYWN0aXZlKSA+IDpub3QoLm1kYy1saXN0LWl0ZW0tLWRpc2FibGVkKS5tZGMtbGlzdC1pdGVtOjphZnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBvcGFjaXR5OiAwO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgY29udGVudDogXCJcIjtcbn1cblxuOm5vdCgubWRjLWxpc3QtLW5vbi1pbnRlcmFjdGl2ZSkgPiA6bm90KC5tZGMtbGlzdC1pdGVtLS1kaXNhYmxlZCkubWRjLWxpc3QtaXRlbTo6YmVmb3JlIHtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAxNW1zIGxpbmVhciwgYmFja2dyb3VuZC1jb2xvciAxNW1zIGxpbmVhcjtcbiAgei1pbmRleDogMTtcbn1cblxuOm5vdCgubWRjLWxpc3QtLW5vbi1pbnRlcmFjdGl2ZSkgPiA6bm90KC5tZGMtbGlzdC1pdGVtLS1kaXNhYmxlZCkubWRjLWxpc3QtaXRlbS5tZGMtcmlwcGxlLXVwZ3JhZGVkOjpiZWZvcmUge1xuICB0cmFuc2Zvcm06IHNjYWxlKHZhcigtLW1kYy1yaXBwbGUtZmctc2NhbGUsIDEpKTtcbn1cblxuOm5vdCgubWRjLWxpc3QtLW5vbi1pbnRlcmFjdGl2ZSkgPiA6bm90KC5tZGMtbGlzdC1pdGVtLS1kaXNhYmxlZCkubWRjLWxpc3QtaXRlbS5tZGMtcmlwcGxlLXVwZ3JhZGVkOjphZnRlciB7XG4gIHRvcDogMDtcbiAgLyogQG5vZmxpcCAqL1xuICBsZWZ0OiAwO1xuICB0cmFuc2Zvcm06IHNjYWxlKDApO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyO1xufVxuXG46bm90KC5tZGMtbGlzdC0tbm9uLWludGVyYWN0aXZlKSA+IDpub3QoLm1kYy1saXN0LWl0ZW0tLWRpc2FibGVkKS5tZGMtbGlzdC1pdGVtLm1kYy1yaXBwbGUtdXBncmFkZWQtLXVuYm91bmRlZDo6YWZ0ZXIge1xuICB0b3A6IHZhcigtLW1kYy1yaXBwbGUtdG9wLCAwKTtcbiAgLyogQG5vZmxpcCAqL1xuICBsZWZ0OiB2YXIoLS1tZGMtcmlwcGxlLWxlZnQsIDApO1xufVxuXG46bm90KC5tZGMtbGlzdC0tbm9uLWludGVyYWN0aXZlKSA+IDpub3QoLm1kYy1saXN0LWl0ZW0tLWRpc2FibGVkKS5tZGMtbGlzdC1pdGVtLm1kYy1yaXBwbGUtdXBncmFkZWQtLWZvcmVncm91bmQtYWN0aXZhdGlvbjo6YWZ0ZXIge1xuICBhbmltYXRpb246IG1kYy1yaXBwbGUtZmctcmFkaXVzLWluIDIyNW1zIGZvcndhcmRzLCBtZGMtcmlwcGxlLWZnLW9wYWNpdHktaW4gNzVtcyBmb3J3YXJkcztcbn1cblxuOm5vdCgubWRjLWxpc3QtLW5vbi1pbnRlcmFjdGl2ZSkgPiA6bm90KC5tZGMtbGlzdC1pdGVtLS1kaXNhYmxlZCkubWRjLWxpc3QtaXRlbS5tZGMtcmlwcGxlLXVwZ3JhZGVkLS1mb3JlZ3JvdW5kLWRlYWN0aXZhdGlvbjo6YWZ0ZXIge1xuICBhbmltYXRpb246IG1kYy1yaXBwbGUtZmctb3BhY2l0eS1vdXQgMTUwbXM7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKHZhcigtLW1kYy1yaXBwbGUtZmctdHJhbnNsYXRlLWVuZCwgMCkpIHNjYWxlKHZhcigtLW1kYy1yaXBwbGUtZmctc2NhbGUsIDEpKTtcbn1cblxuOm5vdCgubWRjLWxpc3QtLW5vbi1pbnRlcmFjdGl2ZSkgPiA6bm90KC5tZGMtbGlzdC1pdGVtLS1kaXNhYmxlZCkubWRjLWxpc3QtaXRlbTo6YmVmb3JlLCA6bm90KC5tZGMtbGlzdC0tbm9uLWludGVyYWN0aXZlKSA+IDpub3QoLm1kYy1saXN0LWl0ZW0tLWRpc2FibGVkKS5tZGMtbGlzdC1pdGVtOjphZnRlciB7XG4gIHRvcDogY2FsYyg1MCUgLSAxMDAlKTtcbiAgLyogQG5vZmxpcCAqL1xuICBsZWZ0OiBjYWxjKDUwJSAtIDEwMCUpO1xuICB3aWR0aDogMjAwJTtcbiAgaGVpZ2h0OiAyMDAlO1xufVxuXG46bm90KC5tZGMtbGlzdC0tbm9uLWludGVyYWN0aXZlKSA+IDpub3QoLm1kYy1saXN0LWl0ZW0tLWRpc2FibGVkKS5tZGMtbGlzdC1pdGVtLm1kYy1yaXBwbGUtdXBncmFkZWQ6OmFmdGVyIHtcbiAgd2lkdGg6IHZhcigtLW1kYy1yaXBwbGUtZmctc2l6ZSwgMTAwJSk7XG4gIGhlaWdodDogdmFyKC0tbWRjLXJpcHBsZS1mZy1zaXplLCAxMDAlKTtcbn1cblxuOm5vdCgubWRjLWxpc3QtLW5vbi1pbnRlcmFjdGl2ZSkgPiA6bm90KC5tZGMtbGlzdC1pdGVtLS1kaXNhYmxlZCkubWRjLWxpc3QtaXRlbTo6YmVmb3JlLCA6bm90KC5tZGMtbGlzdC0tbm9uLWludGVyYWN0aXZlKSA+IDpub3QoLm1kYy1saXN0LWl0ZW0tLWRpc2FibGVkKS5tZGMtbGlzdC1pdGVtOjphZnRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG59XG5cbjpub3QoLm1kYy1saXN0LS1ub24taW50ZXJhY3RpdmUpID4gOm5vdCgubWRjLWxpc3QtaXRlbS0tZGlzYWJsZWQpLm1kYy1saXN0LWl0ZW06aG92ZXI6OmJlZm9yZSB7XG4gIG9wYWNpdHk6IDAuMDQ7XG59XG5cbjpub3QoLm1kYy1saXN0LS1ub24taW50ZXJhY3RpdmUpID4gOm5vdCgubWRjLWxpc3QtaXRlbS0tZGlzYWJsZWQpLm1kYy1saXN0LWl0ZW0ubWRjLXJpcHBsZS11cGdyYWRlZC0tYmFja2dyb3VuZC1mb2N1c2VkOjpiZWZvcmUsIDpub3QoLm1kYy1saXN0LS1ub24taW50ZXJhY3RpdmUpID4gOm5vdCgubWRjLWxpc3QtaXRlbS0tZGlzYWJsZWQpLm1kYy1saXN0LWl0ZW06bm90KC5tZGMtcmlwcGxlLXVwZ3JhZGVkKTpmb2N1czo6YmVmb3JlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNzVtcztcbiAgb3BhY2l0eTogMC4xMjtcbn1cblxuOm5vdCgubWRjLWxpc3QtLW5vbi1pbnRlcmFjdGl2ZSkgPiA6bm90KC5tZGMtbGlzdC1pdGVtLS1kaXNhYmxlZCkubWRjLWxpc3QtaXRlbTpub3QoLm1kYy1yaXBwbGUtdXBncmFkZWQpOjphZnRlciB7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMTUwbXMgbGluZWFyO1xufVxuXG46bm90KC5tZGMtbGlzdC0tbm9uLWludGVyYWN0aXZlKSA+IDpub3QoLm1kYy1saXN0LWl0ZW0tLWRpc2FibGVkKS5tZGMtbGlzdC1pdGVtOm5vdCgubWRjLXJpcHBsZS11cGdyYWRlZCk6YWN0aXZlOjphZnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDc1bXM7XG4gIG9wYWNpdHk6IDAuMTI7XG59XG5cbjpub3QoLm1kYy1saXN0LS1ub24taW50ZXJhY3RpdmUpID4gOm5vdCgubWRjLWxpc3QtaXRlbS0tZGlzYWJsZWQpLm1kYy1saXN0LWl0ZW0ubWRjLXJpcHBsZS11cGdyYWRlZCB7XG4gIC0tbWRjLXJpcHBsZS1mZy1vcGFjaXR5OiAwLjEyO1xufVxuXG46bm90KC5tZGMtbGlzdC0tbm9uLWludGVyYWN0aXZlKSA+IDpub3QoLm1kYy1saXN0LWl0ZW0tLWRpc2FibGVkKS5tZGMtbGlzdC1pdGVtLS1hY3RpdmF0ZWQ6OmJlZm9yZSB7XG4gIG9wYWNpdHk6IDAuMjQ7XG59XG5cbjpub3QoLm1kYy1saXN0LS1ub24taW50ZXJhY3RpdmUpID4gOm5vdCgubWRjLWxpc3QtaXRlbS0tZGlzYWJsZWQpLm1kYy1saXN0LWl0ZW0tLWFjdGl2YXRlZDo6YmVmb3JlLCA6bm90KC5tZGMtbGlzdC0tbm9uLWludGVyYWN0aXZlKSA+IDpub3QoLm1kYy1saXN0LWl0ZW0tLWRpc2FibGVkKS5tZGMtbGlzdC1pdGVtLS1hY3RpdmF0ZWQ6OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwQUVFRjtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1tZGMtdGhlbWUtcHJpbWFyeSwgIzAwQUVFRik7XG59XG5cbjpub3QoLm1kYy1saXN0LS1ub24taW50ZXJhY3RpdmUpID4gOm5vdCgubWRjLWxpc3QtaXRlbS0tZGlzYWJsZWQpLm1kYy1saXN0LWl0ZW0tLWFjdGl2YXRlZDpob3Zlcjo6YmVmb3JlIHtcbiAgb3BhY2l0eTogMC4zMjtcbn1cblxuOm5vdCgubWRjLWxpc3QtLW5vbi1pbnRlcmFjdGl2ZSkgPiA6bm90KC5tZGMtbGlzdC1pdGVtLS1kaXNhYmxlZCkubWRjLWxpc3QtaXRlbS0tYWN0aXZhdGVkLm1kYy1yaXBwbGUtdXBncmFkZWQtLWJhY2tncm91bmQtZm9jdXNlZDo6YmVmb3JlLCA6bm90KC5tZGMtbGlzdC0tbm9uLWludGVyYWN0aXZlKSA+IDpub3QoLm1kYy1saXN0LWl0ZW0tLWRpc2FibGVkKS5tZGMtbGlzdC1pdGVtLS1hY3RpdmF0ZWQ6bm90KC5tZGMtcmlwcGxlLXVwZ3JhZGVkKTpmb2N1czo6YmVmb3JlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNzVtcztcbiAgb3BhY2l0eTogMC40ODtcbn1cblxuOm5vdCgubWRjLWxpc3QtLW5vbi1pbnRlcmFjdGl2ZSkgPiA6bm90KC5tZGMtbGlzdC1pdGVtLS1kaXNhYmxlZCkubWRjLWxpc3QtaXRlbS0tYWN0aXZhdGVkOm5vdCgubWRjLXJpcHBsZS11cGdyYWRlZCk6OmFmdGVyIHtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAxNTBtcyBsaW5lYXI7XG59XG5cbjpub3QoLm1kYy1saXN0LS1ub24taW50ZXJhY3RpdmUpID4gOm5vdCgubWRjLWxpc3QtaXRlbS0tZGlzYWJsZWQpLm1kYy1saXN0LWl0ZW0tLWFjdGl2YXRlZDpub3QoLm1kYy1yaXBwbGUtdXBncmFkZWQpOmFjdGl2ZTo6YWZ0ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA3NW1zO1xuICBvcGFjaXR5OiAwLjQ4O1xufVxuXG46bm90KC5tZGMtbGlzdC0tbm9uLWludGVyYWN0aXZlKSA+IDpub3QoLm1kYy1saXN0LWl0ZW0tLWRpc2FibGVkKS5tZGMtbGlzdC1pdGVtLS1hY3RpdmF0ZWQubWRjLXJpcHBsZS11cGdyYWRlZCB7XG4gIC0tbWRjLXJpcHBsZS1mZy1vcGFjaXR5OiAwLjQ4O1xufVxuXG46bm90KC5tZGMtbGlzdC0tbm9uLWludGVyYWN0aXZlKSA+IDpub3QoLm1kYy1saXN0LWl0ZW0tLWRpc2FibGVkKS5tZGMtbGlzdC1pdGVtLS1zZWxlY3RlZDo6YmVmb3JlIHtcbiAgb3BhY2l0eTogMC4xNjtcbn1cblxuOm5vdCgubWRjLWxpc3QtLW5vbi1pbnRlcmFjdGl2ZSkgPiA6bm90KC5tZGMtbGlzdC1pdGVtLS1kaXNhYmxlZCkubWRjLWxpc3QtaXRlbS0tc2VsZWN0ZWQ6OmJlZm9yZSwgOm5vdCgubWRjLWxpc3QtLW5vbi1pbnRlcmFjdGl2ZSkgPiA6bm90KC5tZGMtbGlzdC1pdGVtLS1kaXNhYmxlZCkubWRjLWxpc3QtaXRlbS0tc2VsZWN0ZWQ6OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwQUVFRjtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1tZGMtdGhlbWUtcHJpbWFyeSwgIzAwQUVFRik7XG59XG5cbjpub3QoLm1kYy1saXN0LS1ub24taW50ZXJhY3RpdmUpID4gOm5vdCgubWRjLWxpc3QtaXRlbS0tZGlzYWJsZWQpLm1kYy1saXN0LWl0ZW0tLXNlbGVjdGVkOmhvdmVyOjpiZWZvcmUge1xuICBvcGFjaXR5OiAwLjI0O1xufVxuXG46bm90KC5tZGMtbGlzdC0tbm9uLWludGVyYWN0aXZlKSA+IDpub3QoLm1kYy1saXN0LWl0ZW0tLWRpc2FibGVkKS5tZGMtbGlzdC1pdGVtLS1zZWxlY3RlZC5tZGMtcmlwcGxlLXVwZ3JhZGVkLS1iYWNrZ3JvdW5kLWZvY3VzZWQ6OmJlZm9yZSwgOm5vdCgubWRjLWxpc3QtLW5vbi1pbnRlcmFjdGl2ZSkgPiA6bm90KC5tZGMtbGlzdC1pdGVtLS1kaXNhYmxlZCkubWRjLWxpc3QtaXRlbS0tc2VsZWN0ZWQ6bm90KC5tZGMtcmlwcGxlLXVwZ3JhZGVkKTpmb2N1czo6YmVmb3JlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNzVtcztcbiAgb3BhY2l0eTogMC40O1xufVxuXG46bm90KC5tZGMtbGlzdC0tbm9uLWludGVyYWN0aXZlKSA+IDpub3QoLm1kYy1saXN0LWl0ZW0tLWRpc2FibGVkKS5tZGMtbGlzdC1pdGVtLS1zZWxlY3RlZDpub3QoLm1kYy1yaXBwbGUtdXBncmFkZWQpOjphZnRlciB7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMTUwbXMgbGluZWFyO1xufVxuXG46bm90KC5tZGMtbGlzdC0tbm9uLWludGVyYWN0aXZlKSA+IDpub3QoLm1kYy1saXN0LWl0ZW0tLWRpc2FibGVkKS5tZGMtbGlzdC1pdGVtLS1zZWxlY3RlZDpub3QoLm1kYy1yaXBwbGUtdXBncmFkZWQpOmFjdGl2ZTo6YWZ0ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA3NW1zO1xuICBvcGFjaXR5OiAwLjQ7XG59XG5cbjpub3QoLm1kYy1saXN0LS1ub24taW50ZXJhY3RpdmUpID4gOm5vdCgubWRjLWxpc3QtaXRlbS0tZGlzYWJsZWQpLm1kYy1saXN0LWl0ZW0tLXNlbGVjdGVkLm1kYy1yaXBwbGUtdXBncmFkZWQge1xuICAtLW1kYy1yaXBwbGUtZmctb3BhY2l0eTogMC40O1xufVxuXG46bm90KC5tZGMtbGlzdC0tbm9uLWludGVyYWN0aXZlKSA+IC5tZGMtbGlzdC1pdGVtLS1kaXNhYmxlZCB7XG4gIC0tbWRjLXJpcHBsZS1mZy1zaXplOiAwO1xuICAtLW1kYy1yaXBwbGUtbGVmdDogMDtcbiAgLS1tZGMtcmlwcGxlLXRvcDogMDtcbiAgLS1tZGMtcmlwcGxlLWZnLXNjYWxlOiAxO1xuICAtLW1kYy1yaXBwbGUtZmctdHJhbnNsYXRlLWVuZDogMDtcbiAgLS1tZGMtcmlwcGxlLWZnLXRyYW5zbGF0ZS1zdGFydDogMDtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApO1xufVxuXG46bm90KC5tZGMtbGlzdC0tbm9uLWludGVyYWN0aXZlKSA+IC5tZGMtbGlzdC1pdGVtLS1kaXNhYmxlZDo6YmVmb3JlLCA6bm90KC5tZGMtbGlzdC0tbm9uLWludGVyYWN0aXZlKSA+IC5tZGMtbGlzdC1pdGVtLS1kaXNhYmxlZDo6YWZ0ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgb3BhY2l0eTogMDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIGNvbnRlbnQ6IFwiXCI7XG59XG5cbjpub3QoLm1kYy1saXN0LS1ub24taW50ZXJhY3RpdmUpID4gLm1kYy1saXN0LWl0ZW0tLWRpc2FibGVkOjpiZWZvcmUge1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDE1bXMgbGluZWFyLCBiYWNrZ3JvdW5kLWNvbG9yIDE1bXMgbGluZWFyO1xuICB6LWluZGV4OiAxO1xufVxuXG46bm90KC5tZGMtbGlzdC0tbm9uLWludGVyYWN0aXZlKSA+IC5tZGMtbGlzdC1pdGVtLS1kaXNhYmxlZC5tZGMtcmlwcGxlLXVwZ3JhZGVkOjpiZWZvcmUge1xuICB0cmFuc2Zvcm06IHNjYWxlKHZhcigtLW1kYy1yaXBwbGUtZmctc2NhbGUsIDEpKTtcbn1cblxuOm5vdCgubWRjLWxpc3QtLW5vbi1pbnRlcmFjdGl2ZSkgPiAubWRjLWxpc3QtaXRlbS0tZGlzYWJsZWQubWRjLXJpcHBsZS11cGdyYWRlZDo6YWZ0ZXIge1xuICB0b3A6IDA7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbGVmdDogMDtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjtcbn1cblxuOm5vdCgubWRjLWxpc3QtLW5vbi1pbnRlcmFjdGl2ZSkgPiAubWRjLWxpc3QtaXRlbS0tZGlzYWJsZWQubWRjLXJpcHBsZS11cGdyYWRlZC0tdW5ib3VuZGVkOjphZnRlciB7XG4gIHRvcDogdmFyKC0tbWRjLXJpcHBsZS10b3AsIDApO1xuICAvKiBAbm9mbGlwICovXG4gIGxlZnQ6IHZhcigtLW1kYy1yaXBwbGUtbGVmdCwgMCk7XG59XG5cbjpub3QoLm1kYy1saXN0LS1ub24taW50ZXJhY3RpdmUpID4gLm1kYy1saXN0LWl0ZW0tLWRpc2FibGVkLm1kYy1yaXBwbGUtdXBncmFkZWQtLWZvcmVncm91bmQtYWN0aXZhdGlvbjo6YWZ0ZXIge1xuICBhbmltYXRpb246IG1kYy1yaXBwbGUtZmctcmFkaXVzLWluIDIyNW1zIGZvcndhcmRzLCBtZGMtcmlwcGxlLWZnLW9wYWNpdHktaW4gNzVtcyBmb3J3YXJkcztcbn1cblxuOm5vdCgubWRjLWxpc3QtLW5vbi1pbnRlcmFjdGl2ZSkgPiAubWRjLWxpc3QtaXRlbS0tZGlzYWJsZWQubWRjLXJpcHBsZS11cGdyYWRlZC0tZm9yZWdyb3VuZC1kZWFjdGl2YXRpb246OmFmdGVyIHtcbiAgYW5pbWF0aW9uOiBtZGMtcmlwcGxlLWZnLW9wYWNpdHktb3V0IDE1MG1zO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSh2YXIoLS1tZGMtcmlwcGxlLWZnLXRyYW5zbGF0ZS1lbmQsIDApKSBzY2FsZSh2YXIoLS1tZGMtcmlwcGxlLWZnLXNjYWxlLCAxKSk7XG59XG5cbjpub3QoLm1kYy1saXN0LS1ub24taW50ZXJhY3RpdmUpID4gLm1kYy1saXN0LWl0ZW0tLWRpc2FibGVkOjpiZWZvcmUsIDpub3QoLm1kYy1saXN0LS1ub24taW50ZXJhY3RpdmUpID4gLm1kYy1saXN0LWl0ZW0tLWRpc2FibGVkOjphZnRlciB7XG4gIHRvcDogY2FsYyg1MCUgLSAxMDAlKTtcbiAgLyogQG5vZmxpcCAqL1xuICBsZWZ0OiBjYWxjKDUwJSAtIDEwMCUpO1xuICB3aWR0aDogMjAwJTtcbiAgaGVpZ2h0OiAyMDAlO1xufVxuXG46bm90KC5tZGMtbGlzdC0tbm9uLWludGVyYWN0aXZlKSA+IC5tZGMtbGlzdC1pdGVtLS1kaXNhYmxlZC5tZGMtcmlwcGxlLXVwZ3JhZGVkOjphZnRlciB7XG4gIHdpZHRoOiB2YXIoLS1tZGMtcmlwcGxlLWZnLXNpemUsIDEwMCUpO1xuICBoZWlnaHQ6IHZhcigtLW1kYy1yaXBwbGUtZmctc2l6ZSwgMTAwJSk7XG59XG5cbjpub3QoLm1kYy1saXN0LS1ub24taW50ZXJhY3RpdmUpID4gLm1kYy1saXN0LWl0ZW0tLWRpc2FibGVkOjpiZWZvcmUsIDpub3QoLm1kYy1saXN0LS1ub24taW50ZXJhY3RpdmUpID4gLm1kYy1saXN0LWl0ZW0tLWRpc2FibGVkOjphZnRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG59XG5cbjpub3QoLm1kYy1saXN0LS1ub24taW50ZXJhY3RpdmUpID4gLm1kYy1saXN0LWl0ZW0tLWRpc2FibGVkLm1kYy1yaXBwbGUtdXBncmFkZWQtLWJhY2tncm91bmQtZm9jdXNlZDo6YmVmb3JlLCA6bm90KC5tZGMtbGlzdC0tbm9uLWludGVyYWN0aXZlKSA+IC5tZGMtbGlzdC1pdGVtLS1kaXNhYmxlZDpub3QoLm1kYy1yaXBwbGUtdXBncmFkZWQpOmZvY3VzOjpiZWZvcmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA3NW1zO1xuICBvcGFjaXR5OiAwLjI0O1xufVxuXG4ubWRjLW1lbnUge1xuICBtaW4td2lkdGg6IDExMnB4O1xufVxuXG4ubWRjLW1lbnUgLm1kYy1saXN0LWl0ZW1fX21ldGEge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbn1cblxuLm1kYy1tZW51IC5tZGMtbGlzdC1pdGVtX19ncmFwaGljIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG59XG5cbi5tZGMtbWVudSAubWRjLWxpc3Qge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5tZGMtbWVudSAubWRjLWxpc3QgLm1kYy1lbGV2YXRpb24tb3ZlcmxheSB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHRvcDogMDtcbiAgLyogQG5vZmxpcCAqL1xuICBsZWZ0OiAwO1xufVxuXG4ubWRjLW1lbnUgLm1kYy1saXN0LWRpdmlkZXIge1xuICBtYXJnaW46IDhweCAwO1xufVxuXG4ubWRjLW1lbnUgLm1kYy1saXN0LWl0ZW0ge1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbn1cblxuLm1kYy1tZW51IC5tZGMtbGlzdC1pdGVtLS1kaXNhYmxlZCB7XG4gIGN1cnNvcjogYXV0bztcbn1cblxuLm1kYy1tZW51IGEubWRjLWxpc3QtaXRlbSAubWRjLWxpc3QtaXRlbV9fdGV4dCxcbi5tZGMtbWVudSBhLm1kYy1saXN0LWl0ZW0gLm1kYy1saXN0LWl0ZW1fX2dyYXBoaWMge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLm1kYy1tZW51X19zZWxlY3Rpb24tZ3JvdXAge1xuICBwYWRkaW5nOiAwO1xuICBmaWxsOiBjdXJyZW50Q29sb3I7XG59XG5cbi5tZGMtbWVudV9fc2VsZWN0aW9uLWdyb3VwIC5tZGMtbGlzdC1pdGVtIHtcbiAgLyogQG5vZmxpcCAqL1xuICBwYWRkaW5nLWxlZnQ6IDU2cHg7XG4gIC8qIEBub2ZsaXAgKi9cbiAgcGFkZGluZy1yaWdodDogMTZweDtcbn1cblxuW2Rpcj1ydGxdIC5tZGMtbWVudV9fc2VsZWN0aW9uLWdyb3VwIC5tZGMtbGlzdC1pdGVtLCAubWRjLW1lbnVfX3NlbGVjdGlvbi1ncm91cCAubWRjLWxpc3QtaXRlbVtkaXI9cnRsXSB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgcGFkZGluZy1sZWZ0OiAxNnB4O1xuICAvKiBAbm9mbGlwICovXG4gIHBhZGRpbmctcmlnaHQ6IDU2cHg7XG59XG5cbi5tZGMtbWVudV9fc2VsZWN0aW9uLWdyb3VwIC5tZGMtbWVudV9fc2VsZWN0aW9uLWdyb3VwLWljb24ge1xuICAvKiBAbm9mbGlwICovXG4gIGxlZnQ6IDE2cHg7XG4gIC8qIEBub2ZsaXAgKi9cbiAgcmlnaHQ6IGluaXRpYWw7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbn1cblxuW2Rpcj1ydGxdIC5tZGMtbWVudV9fc2VsZWN0aW9uLWdyb3VwIC5tZGMtbWVudV9fc2VsZWN0aW9uLWdyb3VwLWljb24sIC5tZGMtbWVudV9fc2VsZWN0aW9uLWdyb3VwIC5tZGMtbWVudV9fc2VsZWN0aW9uLWdyb3VwLWljb25bZGlyPXJ0bF0ge1xuICAvKiBAbm9mbGlwICovXG4gIGxlZnQ6IGluaXRpYWw7XG4gIC8qIEBub2ZsaXAgKi9cbiAgcmlnaHQ6IDE2cHg7XG59XG5cbi5tZGMtbWVudS1pdGVtLS1zZWxlY3RlZCAubWRjLW1lbnVfX3NlbGVjdGlvbi1ncm91cC1pY29uIHtcbiAgZGlzcGxheTogaW5saW5lO1xufVxuXG4ubWRjLW1lbnUtc3VyZmFjZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgbWF4LXdpZHRoOiBjYWxjKDEwMHZ3IC0gMzJweCk7XG4gIG1heC1oZWlnaHQ6IGNhbGMoMTAwdmggLSAzMnB4KTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgb3BhY2l0eTogMDtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIHotaW5kZXg6IDg7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4wM3MgbGluZWFyLCB0cmFuc2Zvcm0gMC4xMnMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMiwgMSk7XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgYm94LXNoYWRvdzogMHB4IDVweCA1cHggLTNweCByZ2JhKDAsIDAsIDAsIDAuMiksIDBweCA4cHggMTBweCAxcHggcmdiYSgwLCAwLCAwLCAwLjE0KSwgMHB4IDNweCAxNHB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW1kYy10aGVtZS1zdXJmYWNlLCAjZmZmKTtcbiAgY29sb3I6ICMwMDA7XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgY29sb3I6IHZhcigtLW1kYy10aGVtZS1vbi1zdXJmYWNlLCAjMDAwKTtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAvKiBAbm9mbGlwICovXG4gIHRyYW5zZm9ybS1vcmlnaW4tbGVmdDogdG9wIGxlZnQ7XG4gIC8qIEBub2ZsaXAgKi9cbiAgdHJhbnNmb3JtLW9yaWdpbi1yaWdodDogdG9wIHJpZ2h0O1xufVxuXG4ubWRjLW1lbnUtc3VyZmFjZTpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG59XG5cbi5tZGMtbWVudS1zdXJmYWNlLS1vcGVuIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICBvcGFjaXR5OiAxO1xufVxuXG4ubWRjLW1lbnUtc3VyZmFjZS0tYW5pbWF0aW5nLW9wZW4ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC44KTtcbiAgb3BhY2l0eTogMDtcbn1cblxuLm1kYy1tZW51LXN1cmZhY2UtLWFuaW1hdGluZy1jbG9zZWQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4wNzVzIGxpbmVhcjtcbn1cblxuW2Rpcj1ydGxdIC5tZGMtbWVudS1zdXJmYWNlLCAubWRjLW1lbnUtc3VyZmFjZVtkaXI9cnRsXSB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgdHJhbnNmb3JtLW9yaWdpbi1sZWZ0OiB0b3AgcmlnaHQ7XG4gIC8qIEBub2ZsaXAgKi9cbiAgdHJhbnNmb3JtLW9yaWdpbi1yaWdodDogdG9wIGxlZnQ7XG59XG5cbi5tZGMtbWVudS1zdXJmYWNlLS1hbmNob3Ige1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG4ubWRjLW1lbnUtc3VyZmFjZS0tZml4ZWQge1xuICBwb3NpdGlvbjogZml4ZWQ7XG59XG5cbi5tZGMtcmFkaW8ge1xuICBwYWRkaW5nOiAxMHB4O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxleDogMCAwIGF1dG87XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICB3aWR0aDogMjBweDtcbiAgaGVpZ2h0OiAyMHB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgd2lsbC1jaGFuZ2U6IG9wYWNpdHksIHRyYW5zZm9ybSwgYm9yZGVyLWNvbG9yLCBjb2xvcjtcbn1cblxuLm1kYy1yYWRpbyAubWRjLXJhZGlvX19uYXRpdmUtY29udHJvbDplbmFibGVkOm5vdCg6Y2hlY2tlZCkgKyAubWRjLXJhZGlvX19iYWNrZ3JvdW5kIC5tZGMtcmFkaW9fX291dGVyLWNpcmNsZSB7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjU0KTtcbn1cblxuLm1kYy1yYWRpbyAubWRjLXJhZGlvX19uYXRpdmUtY29udHJvbDplbmFibGVkOmNoZWNrZWQgKyAubWRjLXJhZGlvX19iYWNrZ3JvdW5kIC5tZGMtcmFkaW9fX291dGVyLWNpcmNsZSB7XG4gIGJvcmRlci1jb2xvcjogIzAxODc4NjtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBib3JkZXItY29sb3I6IHZhcigtLW1kYy10aGVtZS1zZWNvbmRhcnksICMwMTg3ODYpO1xufVxuXG4ubWRjLXJhZGlvIC5tZGMtcmFkaW9fX25hdGl2ZS1jb250cm9sOmVuYWJsZWQgKyAubWRjLXJhZGlvX19iYWNrZ3JvdW5kIC5tZGMtcmFkaW9fX2lubmVyLWNpcmNsZSB7XG4gIGJvcmRlci1jb2xvcjogIzAxODc4NjtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBib3JkZXItY29sb3I6IHZhcigtLW1kYy10aGVtZS1zZWNvbmRhcnksICMwMTg3ODYpO1xufVxuXG4ubWRjLXJhZGlvIFthcmlhLWRpc2FibGVkPXRydWVdIC5tZGMtcmFkaW9fX25hdGl2ZS1jb250cm9sOm5vdCg6Y2hlY2tlZCkgKyAubWRjLXJhZGlvX19iYWNrZ3JvdW5kIC5tZGMtcmFkaW9fX291dGVyLWNpcmNsZSxcbi5tZGMtcmFkaW8gLm1kYy1yYWRpb19fbmF0aXZlLWNvbnRyb2w6ZGlzYWJsZWQ6bm90KDpjaGVja2VkKSArIC5tZGMtcmFkaW9fX2JhY2tncm91bmQgLm1kYy1yYWRpb19fb3V0ZXItY2lyY2xlIHtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMzgpO1xufVxuXG4ubWRjLXJhZGlvIFthcmlhLWRpc2FibGVkPXRydWVdIC5tZGMtcmFkaW9fX25hdGl2ZS1jb250cm9sOmNoZWNrZWQgKyAubWRjLXJhZGlvX19iYWNrZ3JvdW5kIC5tZGMtcmFkaW9fX291dGVyLWNpcmNsZSxcbi5tZGMtcmFkaW8gLm1kYy1yYWRpb19fbmF0aXZlLWNvbnRyb2w6ZGlzYWJsZWQ6Y2hlY2tlZCArIC5tZGMtcmFkaW9fX2JhY2tncm91bmQgLm1kYy1yYWRpb19fb3V0ZXItY2lyY2xlIHtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMzgpO1xufVxuXG4ubWRjLXJhZGlvIFthcmlhLWRpc2FibGVkPXRydWVdIC5tZGMtcmFkaW9fX25hdGl2ZS1jb250cm9sICsgLm1kYy1yYWRpb19fYmFja2dyb3VuZCAubWRjLXJhZGlvX19pbm5lci1jaXJjbGUsXG4ubWRjLXJhZGlvIC5tZGMtcmFkaW9fX25hdGl2ZS1jb250cm9sOmRpc2FibGVkICsgLm1kYy1yYWRpb19fYmFja2dyb3VuZCAubWRjLXJhZGlvX19pbm5lci1jaXJjbGUge1xuICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zOCk7XG59XG5cbi5tZGMtcmFkaW8gLm1kYy1yYWRpb19fYmFja2dyb3VuZDo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAxODc4NjtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1tZGMtdGhlbWUtc2Vjb25kYXJ5LCAjMDE4Nzg2KTtcbn1cblxuLm1kYy1yYWRpbyAubWRjLXJhZGlvX19iYWNrZ3JvdW5kOjpiZWZvcmUge1xuICB0b3A6IC0xMHB4O1xuICBsZWZ0OiAtMTBweDtcbiAgd2lkdGg6IDQwcHg7XG4gIGhlaWdodDogNDBweDtcbn1cblxuLm1kYy1yYWRpbyAubWRjLXJhZGlvX19uYXRpdmUtY29udHJvbCB7XG4gIHRvcDogMHB4O1xuICByaWdodDogMHB4O1xuICBsZWZ0OiAwcHg7XG4gIHdpZHRoOiA0MHB4O1xuICBoZWlnaHQ6IDQwcHg7XG59XG5cbi5tZGMtcmFkaW9fX2JhY2tncm91bmQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDIwcHg7XG4gIGhlaWdodDogMjBweDtcbn1cblxuLm1kYy1yYWRpb19fYmFja2dyb3VuZDo6YmVmb3JlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0cmFuc2Zvcm06IHNjYWxlKDAsIDApO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIG9wYWNpdHk6IDA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBjb250ZW50OiBcIlwiO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDEyMG1zIDBtcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjYsIDEpLCB0cmFuc2Zvcm0gMTIwbXMgMG1zIGN1YmljLWJlemllcigwLjQsIDAsIDAuNiwgMSk7XG59XG5cbi5tZGMtcmFkaW9fX291dGVyLWNpcmNsZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBib3JkZXItd2lkdGg6IDJweDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMTIwbXMgMG1zIGN1YmljLWJlemllcigwLjQsIDAsIDAuNiwgMSk7XG59XG5cbi5tZGMtcmFkaW9fX2lubmVyLWNpcmNsZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB0cmFuc2Zvcm06IHNjYWxlKDAsIDApO1xuICBib3JkZXItd2lkdGg6IDEwcHg7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDEyMG1zIDBtcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjYsIDEpLCBib3JkZXItY29sb3IgMTIwbXMgMG1zIGN1YmljLWJlemllcigwLjQsIDAsIDAuNiwgMSk7XG59XG5cbi5tZGMtcmFkaW9fX25hdGl2ZS1jb250cm9sIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIG9wYWNpdHk6IDA7XG4gIGN1cnNvcjogaW5oZXJpdDtcbiAgei1pbmRleDogMTtcbn1cblxuLm1kYy1yYWRpby0tdG91Y2gge1xuICBtYXJnaW4tdG9wOiA0cHg7XG4gIG1hcmdpbi1ib3R0b206IDRweDtcbiAgbWFyZ2luLXJpZ2h0OiA0cHg7XG4gIG1hcmdpbi1sZWZ0OiA0cHg7XG59XG5cbi5tZGMtcmFkaW8tLXRvdWNoIC5tZGMtcmFkaW9fX25hdGl2ZS1jb250cm9sIHtcbiAgdG9wOiAtNHB4O1xuICByaWdodDogLTRweDtcbiAgbGVmdDogLTRweDtcbiAgd2lkdGg6IDQ4cHg7XG4gIGhlaWdodDogNDhweDtcbn1cblxuLm1kYy1yYWRpb19fbmF0aXZlLWNvbnRyb2w6Y2hlY2tlZCArIC5tZGMtcmFkaW9fX2JhY2tncm91bmQsXG4ubWRjLXJhZGlvX19uYXRpdmUtY29udHJvbDpkaXNhYmxlZCArIC5tZGMtcmFkaW9fX2JhY2tncm91bmQge1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDEyMG1zIDBtcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAxKSwgdHJhbnNmb3JtIDEyMG1zIDBtcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAxKTtcbn1cblxuLm1kYy1yYWRpb19fbmF0aXZlLWNvbnRyb2w6Y2hlY2tlZCArIC5tZGMtcmFkaW9fX2JhY2tncm91bmQgLm1kYy1yYWRpb19fb3V0ZXItY2lyY2xlLFxuLm1kYy1yYWRpb19fbmF0aXZlLWNvbnRyb2w6ZGlzYWJsZWQgKyAubWRjLXJhZGlvX19iYWNrZ3JvdW5kIC5tZGMtcmFkaW9fX291dGVyLWNpcmNsZSB7XG4gIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAxMjBtcyAwbXMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMiwgMSk7XG59XG5cbi5tZGMtcmFkaW9fX25hdGl2ZS1jb250cm9sOmNoZWNrZWQgKyAubWRjLXJhZGlvX19iYWNrZ3JvdW5kIC5tZGMtcmFkaW9fX2lubmVyLWNpcmNsZSxcbi5tZGMtcmFkaW9fX25hdGl2ZS1jb250cm9sOmRpc2FibGVkICsgLm1kYy1yYWRpb19fYmFja2dyb3VuZCAubWRjLXJhZGlvX19pbm5lci1jaXJjbGUge1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMTIwbXMgMG1zIGN1YmljLWJlemllcigwLCAwLCAwLjIsIDEpLCBib3JkZXItY29sb3IgMTIwbXMgMG1zIGN1YmljLWJlemllcigwLCAwLCAwLjIsIDEpO1xufVxuXG4ubWRjLXJhZGlvLS1kaXNhYmxlZCB7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi5tZGMtcmFkaW9fX25hdGl2ZS1jb250cm9sOmNoZWNrZWQgKyAubWRjLXJhZGlvX19iYWNrZ3JvdW5kIC5tZGMtcmFkaW9fX2lubmVyLWNpcmNsZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC41KTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDEyMG1zIDBtcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAxKSwgYm9yZGVyLWNvbG9yIDEyMG1zIDBtcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAxKTtcbn1cblxuLm1kYy1yYWRpb19fbmF0aXZlLWNvbnRyb2w6ZGlzYWJsZWQgKyAubWRjLXJhZGlvX19iYWNrZ3JvdW5kLFxuW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0gLm1kYy1yYWRpb19fbmF0aXZlLWNvbnRyb2wgKyAubWRjLXJhZGlvX19iYWNrZ3JvdW5kIHtcbiAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG4ubWRjLXJhZGlvX19uYXRpdmUtY29udHJvbDpmb2N1cyArIC5tZGMtcmFkaW9fX2JhY2tncm91bmQ6OmJlZm9yZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIG9wYWNpdHk6IDAuMTI7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMTIwbXMgMG1zIGN1YmljLWJlemllcigwLCAwLCAwLjIsIDEpLCB0cmFuc2Zvcm0gMTIwbXMgMG1zIGN1YmljLWJlemllcigwLCAwLCAwLjIsIDEpO1xufVxuXG4ubWRjLXJhZGlvIHtcbiAgLS1tZGMtcmlwcGxlLWZnLXNpemU6IDA7XG4gIC0tbWRjLXJpcHBsZS1sZWZ0OiAwO1xuICAtLW1kYy1yaXBwbGUtdG9wOiAwO1xuICAtLW1kYy1yaXBwbGUtZmctc2NhbGU6IDE7XG4gIC0tbWRjLXJpcHBsZS1mZy10cmFuc2xhdGUtZW5kOiAwO1xuICAtLW1kYy1yaXBwbGUtZmctdHJhbnNsYXRlLXN0YXJ0OiAwO1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7XG59XG5cbi5tZGMtcmFkaW8gLm1kYy1yYWRpb19fcmlwcGxlOjpiZWZvcmUsXG4ubWRjLXJhZGlvIC5tZGMtcmFkaW9fX3JpcHBsZTo6YWZ0ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgb3BhY2l0eTogMDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIGNvbnRlbnQ6IFwiXCI7XG59XG5cbi5tZGMtcmFkaW8gLm1kYy1yYWRpb19fcmlwcGxlOjpiZWZvcmUge1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDE1bXMgbGluZWFyLCBiYWNrZ3JvdW5kLWNvbG9yIDE1bXMgbGluZWFyO1xuICB6LWluZGV4OiAxO1xufVxuXG4ubWRjLXJhZGlvLm1kYy1yaXBwbGUtdXBncmFkZWQgLm1kYy1yYWRpb19fcmlwcGxlOjpiZWZvcmUge1xuICB0cmFuc2Zvcm06IHNjYWxlKHZhcigtLW1kYy1yaXBwbGUtZmctc2NhbGUsIDEpKTtcbn1cblxuLm1kYy1yYWRpby5tZGMtcmlwcGxlLXVwZ3JhZGVkIC5tZGMtcmFkaW9fX3JpcHBsZTo6YWZ0ZXIge1xuICB0b3A6IDA7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbGVmdDogMDtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjtcbn1cblxuLm1kYy1yYWRpby5tZGMtcmlwcGxlLXVwZ3JhZGVkLS11bmJvdW5kZWQgLm1kYy1yYWRpb19fcmlwcGxlOjphZnRlciB7XG4gIHRvcDogdmFyKC0tbWRjLXJpcHBsZS10b3AsIDApO1xuICAvKiBAbm9mbGlwICovXG4gIGxlZnQ6IHZhcigtLW1kYy1yaXBwbGUtbGVmdCwgMCk7XG59XG5cbi5tZGMtcmFkaW8ubWRjLXJpcHBsZS11cGdyYWRlZC0tZm9yZWdyb3VuZC1hY3RpdmF0aW9uIC5tZGMtcmFkaW9fX3JpcHBsZTo6YWZ0ZXIge1xuICBhbmltYXRpb246IG1kYy1yaXBwbGUtZmctcmFkaXVzLWluIDIyNW1zIGZvcndhcmRzLCBtZGMtcmlwcGxlLWZnLW9wYWNpdHktaW4gNzVtcyBmb3J3YXJkcztcbn1cblxuLm1kYy1yYWRpby5tZGMtcmlwcGxlLXVwZ3JhZGVkLS1mb3JlZ3JvdW5kLWRlYWN0aXZhdGlvbiAubWRjLXJhZGlvX19yaXBwbGU6OmFmdGVyIHtcbiAgYW5pbWF0aW9uOiBtZGMtcmlwcGxlLWZnLW9wYWNpdHktb3V0IDE1MG1zO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSh2YXIoLS1tZGMtcmlwcGxlLWZnLXRyYW5zbGF0ZS1lbmQsIDApKSBzY2FsZSh2YXIoLS1tZGMtcmlwcGxlLWZnLXNjYWxlLCAxKSk7XG59XG5cbi5tZGMtcmFkaW8gLm1kYy1yYWRpb19fcmlwcGxlOjpiZWZvcmUsXG4ubWRjLXJhZGlvIC5tZGMtcmFkaW9fX3JpcHBsZTo6YWZ0ZXIge1xuICB0b3A6IGNhbGMoNTAlIC0gNTAlKTtcbiAgLyogQG5vZmxpcCAqL1xuICBsZWZ0OiBjYWxjKDUwJSAtIDUwJSk7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG59XG5cbi5tZGMtcmFkaW8ubWRjLXJpcHBsZS11cGdyYWRlZCAubWRjLXJhZGlvX19yaXBwbGU6OmJlZm9yZSxcbi5tZGMtcmFkaW8ubWRjLXJpcHBsZS11cGdyYWRlZCAubWRjLXJhZGlvX19yaXBwbGU6OmFmdGVyIHtcbiAgdG9wOiB2YXIoLS1tZGMtcmlwcGxlLXRvcCwgY2FsYyg1MCUgLSA1MCUpKTtcbiAgLyogQG5vZmxpcCAqL1xuICBsZWZ0OiB2YXIoLS1tZGMtcmlwcGxlLWxlZnQsIGNhbGMoNTAlIC0gNTAlKSk7XG4gIHdpZHRoOiB2YXIoLS1tZGMtcmlwcGxlLWZnLXNpemUsIDEwMCUpO1xuICBoZWlnaHQ6IHZhcigtLW1kYy1yaXBwbGUtZmctc2l6ZSwgMTAwJSk7XG59XG5cbi5tZGMtcmFkaW8ubWRjLXJpcHBsZS11cGdyYWRlZCAubWRjLXJhZGlvX19yaXBwbGU6OmFmdGVyIHtcbiAgd2lkdGg6IHZhcigtLW1kYy1yaXBwbGUtZmctc2l6ZSwgMTAwJSk7XG4gIGhlaWdodDogdmFyKC0tbWRjLXJpcHBsZS1mZy1zaXplLCAxMDAlKTtcbn1cblxuLm1kYy1yYWRpbyAubWRjLXJhZGlvX19yaXBwbGU6OmJlZm9yZSwgLm1kYy1yYWRpbyAubWRjLXJhZGlvX19yaXBwbGU6OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAxODc4NjtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1tZGMtdGhlbWUtc2Vjb25kYXJ5LCAjMDE4Nzg2KTtcbn1cblxuLm1kYy1yYWRpbzpob3ZlciAubWRjLXJhZGlvX19yaXBwbGU6OmJlZm9yZSB7XG4gIG9wYWNpdHk6IDAuMDQ7XG59XG5cbi5tZGMtcmFkaW8ubWRjLXJpcHBsZS11cGdyYWRlZC0tYmFja2dyb3VuZC1mb2N1c2VkIC5tZGMtcmFkaW9fX3JpcHBsZTo6YmVmb3JlLCAubWRjLXJhZGlvOm5vdCgubWRjLXJpcHBsZS11cGdyYWRlZCk6Zm9jdXMgLm1kYy1yYWRpb19fcmlwcGxlOjpiZWZvcmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA3NW1zO1xuICBvcGFjaXR5OiAwLjEyO1xufVxuXG4ubWRjLXJhZGlvOm5vdCgubWRjLXJpcHBsZS11cGdyYWRlZCkgLm1kYy1yYWRpb19fcmlwcGxlOjphZnRlciB7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMTUwbXMgbGluZWFyO1xufVxuXG4ubWRjLXJhZGlvOm5vdCgubWRjLXJpcHBsZS11cGdyYWRlZCk6YWN0aXZlIC5tZGMtcmFkaW9fX3JpcHBsZTo6YWZ0ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA3NW1zO1xuICBvcGFjaXR5OiAwLjEyO1xufVxuXG4ubWRjLXJhZGlvLm1kYy1yaXBwbGUtdXBncmFkZWQge1xuICAtLW1kYy1yaXBwbGUtZmctb3BhY2l0eTogMC4xMjtcbn1cblxuLm1kYy1yYWRpby5tZGMtcmlwcGxlLXVwZ3JhZGVkLS1iYWNrZ3JvdW5kLWZvY3VzZWQgLm1kYy1yYWRpb19fYmFja2dyb3VuZDo6YmVmb3JlIHtcbiAgY29udGVudDogbm9uZTtcbn1cblxuLm1kYy1yYWRpb19fcmlwcGxlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4ubWRjLXNlbGVjdC1oZWxwZXItdGV4dCB7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICBmb250LWZhbWlseTogUm9ib3RvLCBzYW5zLXNlcmlmO1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1tZGMtdHlwb2dyYXBoeS1jYXB0aW9uLWZvbnQtZmFtaWx5LCB2YXIoLS1tZGMtdHlwb2dyYXBoeS1mb250LWZhbWlseSwgUm9ib3RvLCBzYW5zLXNlcmlmKSk7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBmb250LXNpemU6IHZhcigtLW1kYy10eXBvZ3JhcGh5LWNhcHRpb24tZm9udC1zaXplLCAwLjc1cmVtKTtcbiAgbGluZS1oZWlnaHQ6IDEuMjVyZW07XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgbGluZS1oZWlnaHQ6IHZhcigtLW1kYy10eXBvZ3JhcGh5LWNhcHRpb24tbGluZS1oZWlnaHQsIDEuMjVyZW0pO1xuICBmb250LXdlaWdodDogNDAwO1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1tZGMtdHlwb2dyYXBoeS1jYXB0aW9uLWZvbnQtd2VpZ2h0LCA0MDApO1xuICBsZXR0ZXItc3BhY2luZzogMC4wMzMzMzMzMzMzZW07XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgbGV0dGVyLXNwYWNpbmc6IHZhcigtLW1kYy10eXBvZ3JhcGh5LWNhcHRpb24tbGV0dGVyLXNwYWNpbmcsIDAuMDMzMzMzMzMzM2VtKTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0O1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIHRleHQtZGVjb3JhdGlvbjogdmFyKC0tbWRjLXR5cG9ncmFwaHktY2FwdGlvbi10ZXh0LWRlY29yYXRpb24sIGluaGVyaXQpO1xuICB0ZXh0LXRyYW5zZm9ybTogaW5oZXJpdDtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICB0ZXh0LXRyYW5zZm9ybTogdmFyKC0tbWRjLXR5cG9ncmFwaHktY2FwdGlvbi10ZXh0LXRyYW5zZm9ybSwgaW5oZXJpdCk7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tdG9wOiAwO1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gIG1hcmdpbjogMDtcbiAgb3BhY2l0eTogMDtcbiAgd2lsbC1jaGFuZ2U6IG9wYWNpdHk7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMTgwbXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTtcbn1cblxuLm1kYy1zZWxlY3QtaGVscGVyLXRleHQ6OmJlZm9yZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMTZweDtcbiAgY29udGVudDogXCJcIjtcbiAgdmVydGljYWwtYWxpZ246IDA7XG59XG5cbi5tZGMtc2VsZWN0LWhlbHBlci10ZXh0LS1wZXJzaXN0ZW50IHtcbiAgdHJhbnNpdGlvbjogbm9uZTtcbiAgb3BhY2l0eTogMTtcbiAgd2lsbC1jaGFuZ2U6IGluaXRpYWw7XG59XG5cbi5tZGMtc2VsZWN0LS13aXRoLWxlYWRpbmctaWNvbiAubWRjLXNlbGVjdF9faWNvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDI0cHg7XG4gIGhlaWdodDogMjRweDtcbiAgYm9yZGVyOiBub25lO1xuICBvcGFjaXR5OiAwLjU0O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBmaWxsOiBjdXJyZW50Q29sb3I7XG59XG5cbi5tZGMtc2VsZWN0LS13aXRoLWxlYWRpbmctaWNvbiAubWRjLXNlbGVjdF9faWNvbiB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbWFyZ2luLWxlZnQ6IDEycHg7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xufVxuXG5bZGlyPXJ0bF0gLm1kYy1zZWxlY3QtLXdpdGgtbGVhZGluZy1pY29uIC5tZGMtc2VsZWN0X19pY29uLCAubWRjLXNlbGVjdC0td2l0aC1sZWFkaW5nLWljb24gLm1kYy1zZWxlY3RfX2ljb25bZGlyPXJ0bF0ge1xuICAvKiBAbm9mbGlwICovXG4gIG1hcmdpbi1sZWZ0OiAxMnB4O1xuICAvKiBAbm9mbGlwICovXG4gIG1hcmdpbi1yaWdodDogMTJweDtcbn1cblxuLm1kYy1zZWxlY3QtLXdpdGgtbGVhZGluZy1pY29uOm5vdCgubWRjLXNlbGVjdC0tZGlzYWJsZWQpIC5tZGMtc2VsZWN0X19pY29uIHtcbiAgY29sb3I6ICMwMDA7XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgY29sb3I6IHZhcigtLW1kYy10aGVtZS1vbi1zdXJmYWNlLCAjMDAwKTtcbn1cblxuLm1kYy1zZWxlY3RfX2ljb246bm90KFt0YWJpbmRleF0pLFxuLm1kYy1zZWxlY3RfX2ljb25bdGFiaW5kZXg9XCItMVwiXSB7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi5tZGMtZmxvYXRpbmctbGFiZWwge1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgZm9udC1mYW1pbHk6IFJvYm90bywgc2Fucy1zZXJpZjtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBmb250LWZhbWlseTogdmFyKC0tbWRjLXR5cG9ncmFwaHktc3VidGl0bGUxLWZvbnQtZmFtaWx5LCB2YXIoLS1tZGMtdHlwb2dyYXBoeS1mb250LWZhbWlseSwgUm9ib3RvLCBzYW5zLXNlcmlmKSk7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBmb250LXNpemU6IHZhcigtLW1kYy10eXBvZ3JhcGh5LXN1YnRpdGxlMS1mb250LXNpemUsIDFyZW0pO1xuICBmb250LXdlaWdodDogNDAwO1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1tZGMtdHlwb2dyYXBoeS1zdWJ0aXRsZTEtZm9udC13ZWlnaHQsIDQwMCk7XG4gIGxldHRlci1zcGFjaW5nOiAwLjAwOTM3NWVtO1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGxldHRlci1zcGFjaW5nOiB2YXIoLS1tZGMtdHlwb2dyYXBoeS1zdWJ0aXRsZTEtbGV0dGVyLXNwYWNpbmcsIDAuMDA5Mzc1ZW0pO1xuICB0ZXh0LWRlY29yYXRpb246IGluaGVyaXQ7XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB2YXIoLS1tZGMtdHlwb2dyYXBoeS1zdWJ0aXRsZTEtdGV4dC1kZWNvcmF0aW9uLCBpbmhlcml0KTtcbiAgdGV4dC10cmFuc2Zvcm06IGluaGVyaXQ7XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgdGV4dC10cmFuc2Zvcm06IHZhcigtLW1kYy10eXBvZ3JhcGh5LXN1YnRpdGxlMS10ZXh0LXRyYW5zZm9ybSwgaW5oZXJpdCk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgLyogQG5vZmxpcCAqL1xuICBsZWZ0OiAwO1xuICAvKiBAbm9mbGlwICovXG4gIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgdG9wO1xuICBsaW5lLWhlaWdodDogMS4xNXJlbTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGN1cnNvcjogdGV4dDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMTUwbXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKSwgY29sb3IgMTUwbXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTtcbn1cblxuW2Rpcj1ydGxdIC5tZGMtZmxvYXRpbmctbGFiZWwsIC5tZGMtZmxvYXRpbmctbGFiZWxbZGlyPXJ0bF0ge1xuICAvKiBAbm9mbGlwICovXG4gIHJpZ2h0OiAwO1xuICAvKiBAbm9mbGlwICovXG4gIGxlZnQ6IGF1dG87XG4gIC8qIEBub2ZsaXAgKi9cbiAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgdG9wO1xuICAvKiBAbm9mbGlwICovXG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4ubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSB7XG4gIGN1cnNvcjogYXV0bztcbn1cblxuLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwNiUpIHNjYWxlKDAuNzUpO1xufVxuXG4ubWRjLWZsb2F0aW5nLWxhYmVsLS1zaGFrZSB7XG4gIGFuaW1hdGlvbjogbWRjLWZsb2F0aW5nLWxhYmVsLXNoYWtlLWZsb2F0LWFib3ZlLXN0YW5kYXJkIDI1MG1zIDE7XG59XG5cbkBrZXlmcmFtZXMgbWRjLWZsb2F0aW5nLWxhYmVsLXNoYWtlLWZsb2F0LWFib3ZlLXN0YW5kYXJkIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChjYWxjKDAgLSAwJSkpIHRyYW5zbGF0ZVkoLTEwNiUpIHNjYWxlKDAuNzUpO1xuICB9XG4gIDMzJSB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNSwgMCwgMC43MDE3MzIsIDAuNDk1ODE5KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoY2FsYyg0JSAtIDAlKSkgdHJhbnNsYXRlWSgtMTA2JSkgc2NhbGUoMC43NSk7XG4gIH1cbiAgNjYlIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4zMDI0MzUsIDAuMzgxMzUyLCAwLjU1LCAwLjk1NjM1Mik7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGNhbGMoLTQlIC0gMCUpKSB0cmFuc2xhdGVZKC0xMDYlKSBzY2FsZSgwLjc1KTtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoY2FsYygwIC0gMCUpKSB0cmFuc2xhdGVZKC0xMDYlKSBzY2FsZSgwLjc1KTtcbiAgfVxufVxuLm1kYy1saW5lLXJpcHBsZTo6YmVmb3JlLCAubWRjLWxpbmUtcmlwcGxlOjphZnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XG4gIGNvbnRlbnQ6IFwiXCI7XG59XG5cbi5tZGMtbGluZS1yaXBwbGU6OmJlZm9yZSB7XG4gIGJvcmRlci1ib3R0b20td2lkdGg6IDFweDtcbiAgei1pbmRleDogMTtcbn1cblxuLm1kYy1saW5lLXJpcHBsZTo6YWZ0ZXIge1xuICB0cmFuc2Zvcm06IHNjYWxlWCgwKTtcbiAgYm9yZGVyLWJvdHRvbS13aWR0aDogMnB4O1xuICBvcGFjaXR5OiAwO1xuICB6LWluZGV4OiAyO1xufVxuXG4ubWRjLWxpbmUtcmlwcGxlOjphZnRlciB7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAxODBtcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpLCBvcGFjaXR5IDE4MG1zIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7XG59XG5cbi5tZGMtbGluZS1yaXBwbGUtLWFjdGl2ZTo6YWZ0ZXIge1xuICB0cmFuc2Zvcm06IHNjYWxlWCgxKTtcbiAgb3BhY2l0eTogMTtcbn1cblxuLm1kYy1saW5lLXJpcHBsZS0tZGVhY3RpdmF0aW5nOjphZnRlciB7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi5tZGMtbm90Y2hlZC1vdXRsaW5lIHtcbiAgZGlzcGxheTogZmxleDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiAwO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIC8qIEBub2ZsaXAgKi9cbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbltkaXI9cnRsXSAubWRjLW5vdGNoZWQtb3V0bGluZSwgLm1kYy1ub3RjaGVkLW91dGxpbmVbZGlyPXJ0bF0ge1xuICAvKiBAbm9mbGlwICovXG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4ubWRjLW5vdGNoZWQtb3V0bGluZV9fbGVhZGluZywgLm1kYy1ub3RjaGVkLW91dGxpbmVfX25vdGNoLCAubWRjLW5vdGNoZWQtb3V0bGluZV9fdHJhaWxpbmcge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLm1kYy1ub3RjaGVkLW91dGxpbmVfX2xlYWRpbmcge1xuICAvKiBAbm9mbGlwICovXG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQ7XG4gIC8qIEBub2ZsaXAgKi9cbiAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICB3aWR0aDogMTJweDtcbn1cblxuW2Rpcj1ydGxdIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19sZWFkaW5nLCAubWRjLW5vdGNoZWQtb3V0bGluZV9fbGVhZGluZ1tkaXI9cnRsXSB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gIC8qIEBub2ZsaXAgKi9cbiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQ7XG59XG5cbi5tZGMtbm90Y2hlZC1vdXRsaW5lX190cmFpbGluZyB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gIC8qIEBub2ZsaXAgKi9cbiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQ7XG4gIGZsZXgtZ3JvdzogMTtcbn1cblxuW2Rpcj1ydGxdIC5tZGMtbm90Y2hlZC1vdXRsaW5lX190cmFpbGluZywgLm1kYy1ub3RjaGVkLW91dGxpbmVfX3RyYWlsaW5nW2Rpcj1ydGxdIHtcbiAgLyogQG5vZmxpcCAqL1xuICBib3JkZXItbGVmdDogMXB4IHNvbGlkO1xuICAvKiBAbm9mbGlwICovXG4gIGJvcmRlci1yaWdodDogbm9uZTtcbn1cblxuLm1kYy1ub3RjaGVkLW91dGxpbmVfX25vdGNoIHtcbiAgZmxleDogMCAwIGF1dG87XG4gIHdpZHRoOiBhdXRvO1xuICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDEycHggKiAyKTtcbn1cblxuLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1mbG9hdGluZy1sYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlIHtcbiAgdGV4dC1vdmVyZmxvdzogY2xpcDtcbn1cblxuLm1kYy1ub3RjaGVkLW91dGxpbmUtLXVwZ3JhZGVkIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlIHtcbiAgbWF4LXdpZHRoOiAxMzMuMzMzMzMzMzMzMyU7XG59XG5cbi5tZGMtbm90Y2hlZC1vdXRsaW5lLS1ub3RjaGVkIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19ub3RjaCB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgcGFkZGluZy1sZWZ0OiAwO1xuICAvKiBAbm9mbGlwICovXG4gIHBhZGRpbmctcmlnaHQ6IDhweDtcbiAgYm9yZGVyLXRvcDogbm9uZTtcbn1cblxuW2Rpcj1ydGxdIC5tZGMtbm90Y2hlZC1vdXRsaW5lLS1ub3RjaGVkIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19ub3RjaCwgLm1kYy1ub3RjaGVkLW91dGxpbmUtLW5vdGNoZWQgLm1kYy1ub3RjaGVkLW91dGxpbmVfX25vdGNoW2Rpcj1ydGxdIHtcbiAgLyogQG5vZmxpcCAqL1xuICBwYWRkaW5nLWxlZnQ6IDhweDtcbiAgLyogQG5vZmxpcCAqL1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xufVxuXG4ubWRjLW5vdGNoZWQtb3V0bGluZS0tbm8tbGFiZWwgLm1kYy1ub3RjaGVkLW91dGxpbmVfX25vdGNoIHtcbiAgcGFkZGluZzogMDtcbn1cblxuLm1kYy1zZWxlY3RfX2FuY2hvciB7XG4gIC0tbWRjLXJpcHBsZS1mZy1zaXplOiAwO1xuICAtLW1kYy1yaXBwbGUtbGVmdDogMDtcbiAgLS1tZGMtcmlwcGxlLXRvcDogMDtcbiAgLS1tZGMtcmlwcGxlLWZnLXNjYWxlOiAxO1xuICAtLW1kYy1yaXBwbGUtZmctdHJhbnNsYXRlLWVuZDogMDtcbiAgLS1tZGMtcmlwcGxlLWZnLXRyYW5zbGF0ZS1zdGFydDogMDtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApO1xufVxuXG4ubWRjLXNlbGVjdF9fYW5jaG9yIC5tZGMtc2VsZWN0X19yaXBwbGU6OmJlZm9yZSxcbi5tZGMtc2VsZWN0X19hbmNob3IgLm1kYy1zZWxlY3RfX3JpcHBsZTo6YWZ0ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgb3BhY2l0eTogMDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIGNvbnRlbnQ6IFwiXCI7XG59XG5cbi5tZGMtc2VsZWN0X19hbmNob3IgLm1kYy1zZWxlY3RfX3JpcHBsZTo6YmVmb3JlIHtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAxNW1zIGxpbmVhciwgYmFja2dyb3VuZC1jb2xvciAxNW1zIGxpbmVhcjtcbiAgei1pbmRleDogMTtcbn1cblxuLm1kYy1zZWxlY3RfX2FuY2hvci5tZGMtcmlwcGxlLXVwZ3JhZGVkIC5tZGMtc2VsZWN0X19yaXBwbGU6OmJlZm9yZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUodmFyKC0tbWRjLXJpcHBsZS1mZy1zY2FsZSwgMSkpO1xufVxuXG4ubWRjLXNlbGVjdF9fYW5jaG9yLm1kYy1yaXBwbGUtdXBncmFkZWQgLm1kYy1zZWxlY3RfX3JpcHBsZTo6YWZ0ZXIge1xuICB0b3A6IDA7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbGVmdDogMDtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjtcbn1cblxuLm1kYy1zZWxlY3RfX2FuY2hvci5tZGMtcmlwcGxlLXVwZ3JhZGVkLS11bmJvdW5kZWQgLm1kYy1zZWxlY3RfX3JpcHBsZTo6YWZ0ZXIge1xuICB0b3A6IHZhcigtLW1kYy1yaXBwbGUtdG9wLCAwKTtcbiAgLyogQG5vZmxpcCAqL1xuICBsZWZ0OiB2YXIoLS1tZGMtcmlwcGxlLWxlZnQsIDApO1xufVxuXG4ubWRjLXNlbGVjdF9fYW5jaG9yLm1kYy1yaXBwbGUtdXBncmFkZWQtLWZvcmVncm91bmQtYWN0aXZhdGlvbiAubWRjLXNlbGVjdF9fcmlwcGxlOjphZnRlciB7XG4gIGFuaW1hdGlvbjogbWRjLXJpcHBsZS1mZy1yYWRpdXMtaW4gMjI1bXMgZm9yd2FyZHMsIG1kYy1yaXBwbGUtZmctb3BhY2l0eS1pbiA3NW1zIGZvcndhcmRzO1xufVxuXG4ubWRjLXNlbGVjdF9fYW5jaG9yLm1kYy1yaXBwbGUtdXBncmFkZWQtLWZvcmVncm91bmQtZGVhY3RpdmF0aW9uIC5tZGMtc2VsZWN0X19yaXBwbGU6OmFmdGVyIHtcbiAgYW5pbWF0aW9uOiBtZGMtcmlwcGxlLWZnLW9wYWNpdHktb3V0IDE1MG1zO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSh2YXIoLS1tZGMtcmlwcGxlLWZnLXRyYW5zbGF0ZS1lbmQsIDApKSBzY2FsZSh2YXIoLS1tZGMtcmlwcGxlLWZnLXNjYWxlLCAxKSk7XG59XG5cbi5tZGMtc2VsZWN0X19hbmNob3IgLm1kYy1zZWxlY3RfX3JpcHBsZTo6YmVmb3JlLFxuLm1kYy1zZWxlY3RfX2FuY2hvciAubWRjLXNlbGVjdF9fcmlwcGxlOjphZnRlciB7XG4gIHRvcDogY2FsYyg1MCUgLSAxMDAlKTtcbiAgLyogQG5vZmxpcCAqL1xuICBsZWZ0OiBjYWxjKDUwJSAtIDEwMCUpO1xuICB3aWR0aDogMjAwJTtcbiAgaGVpZ2h0OiAyMDAlO1xufVxuXG4ubWRjLXNlbGVjdF9fYW5jaG9yLm1kYy1yaXBwbGUtdXBncmFkZWQgLm1kYy1zZWxlY3RfX3JpcHBsZTo6YWZ0ZXIge1xuICB3aWR0aDogdmFyKC0tbWRjLXJpcHBsZS1mZy1zaXplLCAxMDAlKTtcbiAgaGVpZ2h0OiB2YXIoLS1tZGMtcmlwcGxlLWZnLXNpemUsIDEwMCUpO1xufVxuXG4ubWRjLXNlbGVjdF9fYW5jaG9yIC5tZGMtc2VsZWN0X19yaXBwbGU6OmJlZm9yZSxcbi5tZGMtc2VsZWN0X19hbmNob3IgLm1kYy1zZWxlY3RfX3JpcHBsZTo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xufVxuXG4ubWRjLXNlbGVjdF9fYW5jaG9yOmhvdmVyIC5tZGMtc2VsZWN0X19yaXBwbGU6OmJlZm9yZSB7XG4gIG9wYWNpdHk6IDAuMDQ7XG59XG5cbi5tZGMtc2VsZWN0X19hbmNob3IubWRjLXJpcHBsZS11cGdyYWRlZC0tYmFja2dyb3VuZC1mb2N1c2VkIC5tZGMtc2VsZWN0X19yaXBwbGU6OmJlZm9yZSwgLm1kYy1zZWxlY3RfX2FuY2hvcjpub3QoLm1kYy1yaXBwbGUtdXBncmFkZWQpOmZvY3VzIC5tZGMtc2VsZWN0X19yaXBwbGU6OmJlZm9yZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDc1bXM7XG4gIG9wYWNpdHk6IDAuMTI7XG59XG5cbi5tZGMtc2VsZWN0X19hbmNob3IgLm1kYy1zZWxlY3RfX3JpcHBsZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLm1kYy1zZWxlY3RfX21lbnUgLm1kYy1saXN0IC5tZGMtbGlzdC1pdGVtLS1zZWxlY3RlZDo6YmVmb3JlLCAubWRjLXNlbGVjdF9fbWVudSAubWRjLWxpc3QgLm1kYy1saXN0LWl0ZW0tLXNlbGVjdGVkOjphZnRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbWRjLXRoZW1lLW9uLXN1cmZhY2UsICMwMDApO1xufVxuXG4ubWRjLXNlbGVjdF9fbWVudSAubWRjLWxpc3QgLm1kYy1saXN0LWl0ZW0tLXNlbGVjdGVkOmhvdmVyOjpiZWZvcmUge1xuICBvcGFjaXR5OiAwLjA0O1xufVxuXG4ubWRjLXNlbGVjdF9fbWVudSAubWRjLWxpc3QgLm1kYy1saXN0LWl0ZW0tLXNlbGVjdGVkLm1kYy1yaXBwbGUtdXBncmFkZWQtLWJhY2tncm91bmQtZm9jdXNlZDo6YmVmb3JlLCAubWRjLXNlbGVjdF9fbWVudSAubWRjLWxpc3QgLm1kYy1saXN0LWl0ZW0tLXNlbGVjdGVkOm5vdCgubWRjLXJpcHBsZS11cGdyYWRlZCk6Zm9jdXM6OmJlZm9yZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDc1bXM7XG4gIG9wYWNpdHk6IDAuMTI7XG59XG5cbi5tZGMtc2VsZWN0X19tZW51IC5tZGMtbGlzdCAubWRjLWxpc3QtaXRlbS0tc2VsZWN0ZWQ6bm90KC5tZGMtcmlwcGxlLXVwZ3JhZGVkKTo6YWZ0ZXIge1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDE1MG1zIGxpbmVhcjtcbn1cblxuLm1kYy1zZWxlY3RfX21lbnUgLm1kYy1saXN0IC5tZGMtbGlzdC1pdGVtLS1zZWxlY3RlZDpub3QoLm1kYy1yaXBwbGUtdXBncmFkZWQpOmFjdGl2ZTo6YWZ0ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA3NW1zO1xuICBvcGFjaXR5OiAwLjEyO1xufVxuXG4ubWRjLXNlbGVjdF9fbWVudSAubWRjLWxpc3QgLm1kYy1saXN0LWl0ZW0tLXNlbGVjdGVkLm1kYy1yaXBwbGUtdXBncmFkZWQge1xuICAtLW1kYy1yaXBwbGUtZmctb3BhY2l0eTogMC4xMjtcbn1cblxuLm1kYy1zZWxlY3Qge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5tZGMtc2VsZWN0Om5vdCgubWRjLXNlbGVjdC0tZGlzYWJsZWQpIC5tZGMtc2VsZWN0X19hbmNob3Ige1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZXNtb2tlO1xufVxuXG4ubWRjLXNlbGVjdDpub3QoLm1kYy1zZWxlY3QtLWRpc2FibGVkKSAubWRjLXNlbGVjdF9fc2VsZWN0ZWQtdGV4dCB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xufVxuXG4ubWRjLXNlbGVjdDpub3QoLm1kYy1zZWxlY3QtLWRpc2FibGVkKSAubWRjLWZsb2F0aW5nLWxhYmVsIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC42KTtcbn1cblxuLm1kYy1zZWxlY3Q6bm90KC5tZGMtc2VsZWN0LS1kaXNhYmxlZCkgLm1kYy1saW5lLXJpcHBsZTo6YmVmb3JlIHtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjQyKTtcbn1cblxuLm1kYy1zZWxlY3Q6bm90KC5tZGMtc2VsZWN0LS1kaXNhYmxlZCkgLm1kYy1zZWxlY3RfX2FuY2hvciArIC5tZGMtc2VsZWN0LWhlbHBlci10ZXh0IHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC42KTtcbn1cblxuLm1kYy1zZWxlY3Q6bm90KC5tZGMtc2VsZWN0LS1kaXNhYmxlZCkubWRjLXNlbGVjdC0tZm9jdXNlZCAubWRjLWxpbmUtcmlwcGxlOjphZnRlciB7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6ICMwMEFFRUY7XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdmFyKC0tbWRjLXRoZW1lLXByaW1hcnksICMwMEFFRUYpO1xufVxuXG4ubWRjLXNlbGVjdDpub3QoLm1kYy1zZWxlY3QtLWRpc2FibGVkKS5tZGMtc2VsZWN0LS1mb2N1c2VkIC5tZGMtZmxvYXRpbmctbGFiZWwge1xuICBjb2xvcjogcmdiYSgwLCAxNzQsIDIzOSwgMC44Nyk7XG59XG5cbi5tZGMtc2VsZWN0Om5vdCgubWRjLXNlbGVjdC0tZGlzYWJsZWQpOmhvdmVyIC5tZGMtbGluZS1yaXBwbGU6OmJlZm9yZSB7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG59XG5cbi5tZGMtc2VsZWN0IC5tZGMtZmxvYXRpbmctbGFiZWwge1xuICAvKiBAbm9mbGlwICovXG4gIGxlZnQ6IDE2cHg7XG4gIC8qIEBub2ZsaXAgKi9cbiAgcmlnaHQ6IGluaXRpYWw7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG5bZGlyPXJ0bF0gLm1kYy1zZWxlY3QgLm1kYy1mbG9hdGluZy1sYWJlbCwgLm1kYy1zZWxlY3QgLm1kYy1mbG9hdGluZy1sYWJlbFtkaXI9cnRsXSB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbGVmdDogaW5pdGlhbDtcbiAgLyogQG5vZmxpcCAqL1xuICByaWdodDogMTZweDtcbn1cblxuLm1kYy1zZWxlY3QubWRjLXNlbGVjdC0tb3V0bGluZWQgLm1kYy1mbG9hdGluZy1sYWJlbCB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbGVmdDogNHB4O1xuICAvKiBAbm9mbGlwICovXG4gIHJpZ2h0OiBpbml0aWFsO1xufVxuXG5bZGlyPXJ0bF0gLm1kYy1zZWxlY3QubWRjLXNlbGVjdC0tb3V0bGluZWQgLm1kYy1mbG9hdGluZy1sYWJlbCwgLm1kYy1zZWxlY3QubWRjLXNlbGVjdC0tb3V0bGluZWQgLm1kYy1mbG9hdGluZy1sYWJlbFtkaXI9cnRsXSB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbGVmdDogaW5pdGlhbDtcbiAgLyogQG5vZmxpcCAqL1xuICByaWdodDogNHB4O1xufVxuXG4ubWRjLXNlbGVjdCAubWRjLXNlbGVjdF9fYW5jaG9yIHtcbiAgYm9yZGVyLXJhZGl1czogNHB4IDRweCAwIDA7XG59XG5cbi5tZGMtc2VsZWN0IC5tZGMtc2VsZWN0X19hbmNob3Ige1xuICAvKiBAbm9mbGlwICovXG4gIHBhZGRpbmctbGVmdDogMTZweDtcbiAgLyogQG5vZmxpcCAqL1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xufVxuXG5bZGlyPXJ0bF0gLm1kYy1zZWxlY3QgLm1kYy1zZWxlY3RfX2FuY2hvciwgLm1kYy1zZWxlY3QgLm1kYy1zZWxlY3RfX2FuY2hvcltkaXI9cnRsXSB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgcGFkZGluZy1sZWZ0OiAwO1xuICAvKiBAbm9mbGlwICovXG4gIHBhZGRpbmctcmlnaHQ6IDE2cHg7XG59XG5cbi5tZGMtc2VsZWN0Lm1kYy1zZWxlY3QtLXdpdGgtbGVhZGluZy1pY29uIC5tZGMtc2VsZWN0X19hbmNob3Ige1xuICAvKiBAbm9mbGlwICovXG4gIHBhZGRpbmctbGVmdDogMDtcbiAgLyogQG5vZmxpcCAqL1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xufVxuXG5bZGlyPXJ0bF0gLm1kYy1zZWxlY3QubWRjLXNlbGVjdC0td2l0aC1sZWFkaW5nLWljb24gLm1kYy1zZWxlY3RfX2FuY2hvciwgLm1kYy1zZWxlY3QubWRjLXNlbGVjdC0td2l0aC1sZWFkaW5nLWljb24gLm1kYy1zZWxlY3RfX2FuY2hvcltkaXI9cnRsXSB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgcGFkZGluZy1sZWZ0OiAwO1xuICAvKiBAbm9mbGlwICovXG4gIHBhZGRpbmctcmlnaHQ6IDA7XG59XG5cbi5tZGMtc2VsZWN0X19kcm9wZG93bi1pY29uIHtcbiAgYmFja2dyb3VuZDogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMTBweCUyMiUyMGhlaWdodCUzRCUyMjVweCUyMiUyMHZpZXdCb3glM0QlMjI3JTIwMTAlMjAxMCUyMDUlMjIlMjB2ZXJzaW9uJTNEJTIyMS4xJTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlMjB4bWxucyUzQXhsaW5rJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYxOTk5JTJGeGxpbmslMjIlM0UlMEElMjAlMjAlMjAlMjAlM0Nwb2x5Z29uJTIwaWQlM0QlMjJTaGFwZSUyMiUyMHN0cm9rZSUzRCUyMm5vbmUlMjIlMjBmaWxsJTNEJTIyJTIzMDAwJTIyJTIwZmlsbC1ydWxlJTNEJTIyZXZlbm9kZCUyMiUyMG9wYWNpdHklM0QlMjIwLjU0JTIyJTIwcG9pbnRzJTNEJTIyNyUyMDEwJTIwMTIlMjAxNSUyMDE3JTIwMTAlMjIlM0UlM0MlMkZwb2x5Z29uJTNFJTBBJTNDJTJGc3ZnJTNFXCIpIG5vLXJlcGVhdCBjZW50ZXI7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbWFyZ2luLWxlZnQ6IDEycHg7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuICB3aWR0aDogMjRweDtcbiAgaGVpZ2h0OiAyNHB4O1xuICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDE1MG1zIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7XG59XG5cbltkaXI9cnRsXSAubWRjLXNlbGVjdF9fZHJvcGRvd24taWNvbiwgLm1kYy1zZWxlY3RfX2Ryb3Bkb3duLWljb25bZGlyPXJ0bF0ge1xuICAvKiBAbm9mbGlwICovXG4gIG1hcmdpbi1sZWZ0OiAxMnB4O1xuICAvKiBAbm9mbGlwICovXG4gIG1hcmdpbi1yaWdodDogMTJweDtcbn1cblxuLm1kYy1zZWxlY3QtLWZvY3VzZWQgLm1kYy1zZWxlY3RfX2Ryb3Bkb3duLWljb24ge1xuICBiYWNrZ3JvdW5kOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnJTIwd2lkdGglM0QlMjIxMHB4JTIyJTIwaGVpZ2h0JTNEJTIyNXB4JTIyJTIwdmlld0JveCUzRCUyMjclMjAxMCUyMDEwJTIwNSUyMiUyMHZlcnNpb24lM0QlMjIxLjElMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUyMHhtbG5zJTNBeGxpbmslM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjE5OTklMkZ4bGluayUyMiUzRSUwQSUyMCUyMCUyMCUyMCUzQ3BvbHlnb24lMjBpZCUzRCUyMlNoYXBlJTIyJTIwc3Ryb2tlJTNEJTIybm9uZSUyMiUyMGZpbGwlM0QlMjIlMjMwMEFFRUYlMjIlMjBmaWxsLXJ1bGUlM0QlMjJldmVub2RkJTIyJTIwb3BhY2l0eSUzRCUyMjElMjIlMjBwb2ludHMlM0QlMjI3JTIwMTAlMjAxMiUyMDE1JTIwMTclMjAxMCUyMiUzRSUzQyUyRnBvbHlnb24lM0UlMEElM0MlMkZzdmclM0VcIikgbm8tcmVwZWF0IGNlbnRlcjtcbn1cblxuLm1kYy1zZWxlY3QtLWFjdGl2YXRlZCAubWRjLXNlbGVjdF9fZHJvcGRvd24taWNvbiB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZykgdHJhbnNsYXRlWSgtNXB4KTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDE1MG1zIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7XG59XG5cbi5tZGMtc2VsZWN0X19hbmNob3Ige1xuICBoZWlnaHQ6IDU2cHg7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIG91dGxpbmU6IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgbWluLXdpZHRoOiAyMDBweDtcbn1cblxuLm1kYy1zZWxlY3RfX2FuY2hvcjo6YmVmb3JlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiA0MHB4O1xuICBjb250ZW50OiBcIlwiO1xuICB2ZXJ0aWNhbC1hbGlnbjogMDtcbn1cblxuLm1kYy1zZWxlY3QtLW91dGxpbmVkIC5tZGMtc2VsZWN0X19hbmNob3IgLm1kYy1zZWxlY3RfX3NlbGVjdGVkLXRleHQsIC5tZGMtc2VsZWN0LS1uby1sYWJlbCAubWRjLXNlbGVjdF9fYW5jaG9yIC5tZGMtc2VsZWN0X19zZWxlY3RlZC10ZXh0IHtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG4ubWRjLXNlbGVjdC0tb3V0bGluZWQgLm1kYy1zZWxlY3RfX2FuY2hvcjo6YmVmb3JlLCAubWRjLXNlbGVjdC0tbm8tbGFiZWwgLm1kYy1zZWxlY3RfX2FuY2hvcjo6YmVmb3JlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLm1kYy1zZWxlY3RfX2FuY2hvciAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTA2JSkgc2NhbGUoMC43NSk7XG59XG5cbi5tZGMtc2VsZWN0X19hbmNob3IubWRjLXNlbGVjdC0tZm9jdXNlZCAubWRjLWxpbmUtcmlwcGxlOjphZnRlciB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSwgMik7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5tZGMtc2VsZWN0X19hbmNob3IgKyAubWRjLXNlbGVjdC1oZWxwZXItdGV4dCB7XG4gIG1hcmdpbi1yaWdodDogMTZweDtcbiAgbWFyZ2luLWxlZnQ6IDE2cHg7XG59XG5cbi5tZGMtc2VsZWN0LS1mb2N1c2VkIC5tZGMtc2VsZWN0X19hbmNob3IgKyAubWRjLXNlbGVjdC1oZWxwZXItdGV4dDpub3QoLm1kYy1zZWxlY3QtaGVscGVyLXRleHQtLXZhbGlkYXRpb24tbXNnKSB7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5tZGMtc2VsZWN0X19zZWxlY3RlZC10ZXh0IHtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIGZvbnQtZmFtaWx5OiBSb2JvdG8sIHNhbnMtc2VyaWY7XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgZm9udC1mYW1pbHk6IHZhcigtLW1kYy10eXBvZ3JhcGh5LXN1YnRpdGxlMS1mb250LWZhbWlseSwgdmFyKC0tbWRjLXR5cG9ncmFwaHktZm9udC1mYW1pbHksIFJvYm90bywgc2Fucy1zZXJpZikpO1xuICBmb250LXNpemU6IDFyZW07XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgZm9udC1zaXplOiB2YXIoLS1tZGMtdHlwb2dyYXBoeS1zdWJ0aXRsZTEtZm9udC1zaXplLCAxcmVtKTtcbiAgbGluZS1oZWlnaHQ6IDEuNzVyZW07XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgbGluZS1oZWlnaHQ6IHZhcigtLW1kYy10eXBvZ3JhcGh5LXN1YnRpdGxlMS1saW5lLWhlaWdodCwgMS43NXJlbSk7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgZm9udC13ZWlnaHQ6IHZhcigtLW1kYy10eXBvZ3JhcGh5LXN1YnRpdGxlMS1mb250LXdlaWdodCwgNDAwKTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDA5Mzc1ZW07XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgbGV0dGVyLXNwYWNpbmc6IHZhcigtLW1kYy10eXBvZ3JhcGh5LXN1YnRpdGxlMS1sZXR0ZXItc3BhY2luZywgMC4wMDkzNzVlbSk7XG4gIHRleHQtZGVjb3JhdGlvbjogaW5oZXJpdDtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICB0ZXh0LWRlY29yYXRpb246IHZhcigtLW1kYy10eXBvZ3JhcGh5LXN1YnRpdGxlMS10ZXh0LWRlY29yYXRpb24sIGluaGVyaXQpO1xuICB0ZXh0LXRyYW5zZm9ybTogaW5oZXJpdDtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICB0ZXh0LXRyYW5zZm9ybTogdmFyKC0tbWRjLXR5cG9ncmFwaHktc3VidGl0bGUxLXRleHQtdHJhbnNmb3JtLCBpbmhlcml0KTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDA7XG4gIGZsZXgtZ3JvdzogMTtcbiAgaGVpZ2h0OiAyOHB4O1xuICBib3JkZXI6IG5vbmU7XG4gIG91dGxpbmU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiBpbmhlcml0O1xufVxuXG4ubWRjLXNlbGVjdF9fc2VsZWN0ZWQtdGV4dDo6LW1zLWV4cGFuZCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5tZGMtc2VsZWN0X19zZWxlY3RlZC10ZXh0OjotbXMtdmFsdWUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6IGluaGVyaXQ7XG59XG5cbi5tZGMtc2VsZWN0LS1vdXRsaW5lZCB7XG4gIGJvcmRlcjogbm9uZTtcbn1cblxuLm1kYy1zZWxlY3QtLW91dGxpbmVkOm5vdCgubWRjLXNlbGVjdC0tZGlzYWJsZWQpIC5tZGMtc2VsZWN0X19hbmNob3Ige1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLm1kYy1zZWxlY3QtLW91dGxpbmVkOm5vdCgubWRjLXNlbGVjdC0tZGlzYWJsZWQpIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19sZWFkaW5nLFxuLm1kYy1zZWxlY3QtLW91dGxpbmVkOm5vdCgubWRjLXNlbGVjdC0tZGlzYWJsZWQpIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19ub3RjaCxcbi5tZGMtc2VsZWN0LS1vdXRsaW5lZDpub3QoLm1kYy1zZWxlY3QtLWRpc2FibGVkKSAubWRjLW5vdGNoZWQtb3V0bGluZV9fdHJhaWxpbmcge1xuICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zOCk7XG59XG5cbi5tZGMtc2VsZWN0LS1vdXRsaW5lZDpub3QoLm1kYy1zZWxlY3QtLWRpc2FibGVkKTpub3QoLm1kYy1zZWxlY3QtLWZvY3VzZWQpIC5tZGMtc2VsZWN0X19hbmNob3I6aG92ZXIgLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX2xlYWRpbmcsXG4ubWRjLXNlbGVjdC0tb3V0bGluZWQ6bm90KC5tZGMtc2VsZWN0LS1kaXNhYmxlZCk6bm90KC5tZGMtc2VsZWN0LS1mb2N1c2VkKSAubWRjLXNlbGVjdF9fYW5jaG9yOmhvdmVyIC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19ub3RjaCxcbi5tZGMtc2VsZWN0LS1vdXRsaW5lZDpub3QoLm1kYy1zZWxlY3QtLWRpc2FibGVkKTpub3QoLm1kYy1zZWxlY3QtLWZvY3VzZWQpIC5tZGMtc2VsZWN0X19hbmNob3I6aG92ZXIgLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX3RyYWlsaW5nIHtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xufVxuXG4ubWRjLXNlbGVjdC0tb3V0bGluZWQ6bm90KC5tZGMtc2VsZWN0LS1kaXNhYmxlZCkubWRjLXNlbGVjdC0tZm9jdXNlZCAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbGVhZGluZyxcbi5tZGMtc2VsZWN0LS1vdXRsaW5lZDpub3QoLm1kYy1zZWxlY3QtLWRpc2FibGVkKS5tZGMtc2VsZWN0LS1mb2N1c2VkIC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19ub3RjaCxcbi5tZGMtc2VsZWN0LS1vdXRsaW5lZDpub3QoLm1kYy1zZWxlY3QtLWRpc2FibGVkKS5tZGMtc2VsZWN0LS1mb2N1c2VkIC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX190cmFpbGluZyB7XG4gIGJvcmRlci13aWR0aDogMnB4O1xufVxuXG4ubWRjLXNlbGVjdC0tb3V0bGluZWQ6bm90KC5tZGMtc2VsZWN0LS1kaXNhYmxlZCkubWRjLXNlbGVjdC0tZm9jdXNlZCAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbGVhZGluZyxcbi5tZGMtc2VsZWN0LS1vdXRsaW5lZDpub3QoLm1kYy1zZWxlY3QtLWRpc2FibGVkKS5tZGMtc2VsZWN0LS1mb2N1c2VkIC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19ub3RjaCxcbi5tZGMtc2VsZWN0LS1vdXRsaW5lZDpub3QoLm1kYy1zZWxlY3QtLWRpc2FibGVkKS5tZGMtc2VsZWN0LS1mb2N1c2VkIC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX190cmFpbGluZyB7XG4gIGJvcmRlci1jb2xvcjogIzAwQUVFRjtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBib3JkZXItY29sb3I6IHZhcigtLW1kYy10aGVtZS1wcmltYXJ5LCAjMDBBRUVGKTtcbn1cblxuLm1kYy1zZWxlY3QtLW91dGxpbmVkIC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19sZWFkaW5nIHtcbiAgLyogQG5vZmxpcCAqL1xuICBib3JkZXItcmFkaXVzOiA0cHggMCAwIDRweDtcbn1cblxuW2Rpcj1ydGxdIC5tZGMtc2VsZWN0LS1vdXRsaW5lZCAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbGVhZGluZywgLm1kYy1zZWxlY3QtLW91dGxpbmVkIC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19sZWFkaW5nW2Rpcj1ydGxdIHtcbiAgLyogQG5vZmxpcCAqL1xuICBib3JkZXItcmFkaXVzOiAwIDRweCA0cHggMDtcbn1cblxuLm1kYy1zZWxlY3QtLW91dGxpbmVkIC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX190cmFpbGluZyB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgYm9yZGVyLXJhZGl1czogMCA0cHggNHB4IDA7XG59XG5cbltkaXI9cnRsXSAubWRjLXNlbGVjdC0tb3V0bGluZWQgLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX3RyYWlsaW5nLCAubWRjLXNlbGVjdC0tb3V0bGluZWQgLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX3RyYWlsaW5nW2Rpcj1ydGxdIHtcbiAgLyogQG5vZmxpcCAqL1xuICBib3JkZXItcmFkaXVzOiA0cHggMCAwIDRweDtcbn1cblxuLm1kYy1zZWxlY3QtLW91dGxpbmVkIC5tZGMtc2VsZWN0X19zZWxlY3RlZC10ZXh0IHtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xufVxuXG4ubWRjLXNlbGVjdC0tb3V0bGluZWQ6bm90KC5tZGMtc2VsZWN0LS1kaXNhYmxlZCkgLm1kYy1zZWxlY3RfX2FuY2hvciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4ubWRjLXNlbGVjdC0tb3V0bGluZWQgLm1kYy1zZWxlY3RfX2FuY2hvciB7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG4ubWRjLXNlbGVjdC0tb3V0bGluZWQgLm1kYy1zZWxlY3RfX2FuY2hvciAubWRjLWZsb2F0aW5nLWxhYmVsLS1zaGFrZSB7XG4gIGFuaW1hdGlvbjogbWRjLWZsb2F0aW5nLWxhYmVsLXNoYWtlLWZsb2F0LWFib3ZlLXNlbGVjdC1vdXRsaW5lZCAyNTBtcyAxO1xufVxuXG4ubWRjLXNlbGVjdC0tb3V0bGluZWQgLm1kYy1zZWxlY3RfX2FuY2hvciAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMzcuMjVweCkgc2NhbGUoMSk7XG59XG5cbi5tZGMtc2VsZWN0LS1vdXRsaW5lZCAubWRjLXNlbGVjdF9fYW5jaG9yIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlIHtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xufVxuXG4ubWRjLXNlbGVjdC0tb3V0bGluZWQgLm1kYy1zZWxlY3RfX2FuY2hvci5tZGMtbm90Y2hlZC1vdXRsaW5lLS11cGdyYWRlZCAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSxcbi5tZGMtc2VsZWN0LS1vdXRsaW5lZCAubWRjLXNlbGVjdF9fYW5jaG9yIC5tZGMtbm90Y2hlZC1vdXRsaW5lLS11cGdyYWRlZCAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMzQuNzVweCkgc2NhbGUoMC43NSk7XG59XG5cbi5tZGMtc2VsZWN0LS1vdXRsaW5lZCAubWRjLXNlbGVjdF9fYW5jaG9yLm1kYy1ub3RjaGVkLW91dGxpbmUtLXVwZ3JhZGVkIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlLFxuLm1kYy1zZWxlY3QtLW91dGxpbmVkIC5tZGMtc2VsZWN0X19hbmNob3IgLm1kYy1ub3RjaGVkLW91dGxpbmUtLXVwZ3JhZGVkIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlIHtcbiAgZm9udC1zaXplOiAxcmVtO1xufVxuXG4ubWRjLXNlbGVjdC0tb3V0bGluZWQgLm1kYy1zZWxlY3RfX2FuY2hvciAubWRjLW5vdGNoZWQtb3V0bGluZS0tbm90Y2hlZCAubWRjLW5vdGNoZWQtb3V0bGluZV9fbm90Y2gge1xuICBwYWRkaW5nLXRvcDogMXB4O1xufVxuXG4ubWRjLXNlbGVjdC0tb3V0bGluZWQgLm1kYy1zZWxlY3RfX3NlbGVjdGVkLXRleHQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBib3JkZXI6IG5vbmU7XG4gIHotaW5kZXg6IDE7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4ubWRjLXNlbGVjdC0tb3V0bGluZWQgLm1kYy1zZWxlY3RfX2ljb24ge1xuICB6LWluZGV4OiAyO1xufVxuXG4ubWRjLXNlbGVjdC0tb3V0bGluZWQgLm1kYy1mbG9hdGluZy1sYWJlbCB7XG4gIGxpbmUtaGVpZ2h0OiAxLjE1cmVtO1xuICBwb2ludGVyLWV2ZW50czogYXV0bztcbn1cblxuLm1kYy1zZWxlY3QtLW91dGxpbmVkLm1kYy1zZWxlY3QtLWZvY3VzZWQgLm1kYy1ub3RjaGVkLW91dGxpbmUtLW5vdGNoZWQgLm1kYy1ub3RjaGVkLW91dGxpbmVfX25vdGNoIHtcbiAgcGFkZGluZy10b3A6IDJweDtcbn1cblxuLm1kYy1zZWxlY3QtLWludmFsaWQ6bm90KC5tZGMtc2VsZWN0LS1kaXNhYmxlZCkgLm1kYy1mbG9hdGluZy1sYWJlbCB7XG4gIGNvbG9yOiAjYjAwMDIwO1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGNvbG9yOiB2YXIoLS1tZGMtdGhlbWUtZXJyb3IsICNiMDAwMjApO1xufVxuXG4ubWRjLXNlbGVjdC0taW52YWxpZDpub3QoLm1kYy1zZWxlY3QtLWRpc2FibGVkKSAubWRjLWxpbmUtcmlwcGxlOjpiZWZvcmUge1xuICBib3JkZXItYm90dG9tLWNvbG9yOiAjYjAwMDIwO1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGJvcmRlci1ib3R0b20tY29sb3I6IHZhcigtLW1kYy10aGVtZS1lcnJvciwgI2IwMDAyMCk7XG59XG5cbi5tZGMtc2VsZWN0LS1pbnZhbGlkOm5vdCgubWRjLXNlbGVjdC0tZGlzYWJsZWQpLm1kYy1zZWxlY3QtLWZvY3VzZWQgLm1kYy1saW5lLXJpcHBsZTo6YWZ0ZXIge1xuICBib3JkZXItYm90dG9tLWNvbG9yOiAjYjAwMDIwO1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGJvcmRlci1ib3R0b20tY29sb3I6IHZhcigtLW1kYy10aGVtZS1lcnJvciwgI2IwMDAyMCk7XG59XG5cbi5tZGMtc2VsZWN0LS1pbnZhbGlkOm5vdCgubWRjLXNlbGVjdC0tZGlzYWJsZWQpLm1kYy1zZWxlY3QtLWZvY3VzZWQgLm1kYy1mbG9hdGluZy1sYWJlbCB7XG4gIGNvbG9yOiAjYjAwMDIwO1xufVxuXG4ubWRjLXNlbGVjdC0taW52YWxpZDpub3QoLm1kYy1zZWxlY3QtLWRpc2FibGVkKS5tZGMtc2VsZWN0LS1pbnZhbGlkIC5tZGMtc2VsZWN0X19hbmNob3IgKyAubWRjLXNlbGVjdC1oZWxwZXItdGV4dC0tdmFsaWRhdGlvbi1tc2cge1xuICBjb2xvcjogI2IwMDAyMDtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBjb2xvcjogdmFyKC0tbWRjLXRoZW1lLWVycm9yLCAjYjAwMDIwKTtcbn1cblxuLm1kYy1zZWxlY3QtLWludmFsaWQ6bm90KC5tZGMtc2VsZWN0LS1kaXNhYmxlZCk6aG92ZXIgLm1kYy1saW5lLXJpcHBsZTo6YmVmb3JlIHtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2IwMDAyMDtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBib3JkZXItYm90dG9tLWNvbG9yOiB2YXIoLS1tZGMtdGhlbWUtZXJyb3IsICNiMDAwMjApO1xufVxuXG4ubWRjLXNlbGVjdC0taW52YWxpZC5tZGMtc2VsZWN0LS1vdXRsaW5lZDpub3QoLm1kYy1zZWxlY3QtLWRpc2FibGVkKSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbGVhZGluZyxcbi5tZGMtc2VsZWN0LS1pbnZhbGlkLm1kYy1zZWxlY3QtLW91dGxpbmVkOm5vdCgubWRjLXNlbGVjdC0tZGlzYWJsZWQpIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19ub3RjaCxcbi5tZGMtc2VsZWN0LS1pbnZhbGlkLm1kYy1zZWxlY3QtLW91dGxpbmVkOm5vdCgubWRjLXNlbGVjdC0tZGlzYWJsZWQpIC5tZGMtbm90Y2hlZC1vdXRsaW5lX190cmFpbGluZyB7XG4gIGJvcmRlci1jb2xvcjogI2IwMDAyMDtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBib3JkZXItY29sb3I6IHZhcigtLW1kYy10aGVtZS1lcnJvciwgI2IwMDAyMCk7XG59XG5cbi5tZGMtc2VsZWN0LS1pbnZhbGlkLm1kYy1zZWxlY3QtLW91dGxpbmVkOm5vdCgubWRjLXNlbGVjdC0tZGlzYWJsZWQpOm5vdCgubWRjLXNlbGVjdC0tZm9jdXNlZCkgLm1kYy1zZWxlY3RfX2FuY2hvcjpob3ZlciAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbGVhZGluZyxcbi5tZGMtc2VsZWN0LS1pbnZhbGlkLm1kYy1zZWxlY3QtLW91dGxpbmVkOm5vdCgubWRjLXNlbGVjdC0tZGlzYWJsZWQpOm5vdCgubWRjLXNlbGVjdC0tZm9jdXNlZCkgLm1kYy1zZWxlY3RfX2FuY2hvcjpob3ZlciAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbm90Y2gsXG4ubWRjLXNlbGVjdC0taW52YWxpZC5tZGMtc2VsZWN0LS1vdXRsaW5lZDpub3QoLm1kYy1zZWxlY3QtLWRpc2FibGVkKTpub3QoLm1kYy1zZWxlY3QtLWZvY3VzZWQpIC5tZGMtc2VsZWN0X19hbmNob3I6aG92ZXIgLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX3RyYWlsaW5nIHtcbiAgYm9yZGVyLWNvbG9yOiAjYjAwMDIwO1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGJvcmRlci1jb2xvcjogdmFyKC0tbWRjLXRoZW1lLWVycm9yLCAjYjAwMDIwKTtcbn1cblxuLm1kYy1zZWxlY3QtLWludmFsaWQubWRjLXNlbGVjdC0tb3V0bGluZWQ6bm90KC5tZGMtc2VsZWN0LS1kaXNhYmxlZCkubWRjLXNlbGVjdC0tZm9jdXNlZCAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbGVhZGluZyxcbi5tZGMtc2VsZWN0LS1pbnZhbGlkLm1kYy1zZWxlY3QtLW91dGxpbmVkOm5vdCgubWRjLXNlbGVjdC0tZGlzYWJsZWQpLm1kYy1zZWxlY3QtLWZvY3VzZWQgLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX25vdGNoLFxuLm1kYy1zZWxlY3QtLWludmFsaWQubWRjLXNlbGVjdC0tb3V0bGluZWQ6bm90KC5tZGMtc2VsZWN0LS1kaXNhYmxlZCkubWRjLXNlbGVjdC0tZm9jdXNlZCAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fdHJhaWxpbmcge1xuICBib3JkZXItd2lkdGg6IDJweDtcbn1cblxuLm1kYy1zZWxlY3QtLWludmFsaWQubWRjLXNlbGVjdC0tb3V0bGluZWQ6bm90KC5tZGMtc2VsZWN0LS1kaXNhYmxlZCkubWRjLXNlbGVjdC0tZm9jdXNlZCAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbGVhZGluZyxcbi5tZGMtc2VsZWN0LS1pbnZhbGlkLm1kYy1zZWxlY3QtLW91dGxpbmVkOm5vdCgubWRjLXNlbGVjdC0tZGlzYWJsZWQpLm1kYy1zZWxlY3QtLWZvY3VzZWQgLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX25vdGNoLFxuLm1kYy1zZWxlY3QtLWludmFsaWQubWRjLXNlbGVjdC0tb3V0bGluZWQ6bm90KC5tZGMtc2VsZWN0LS1kaXNhYmxlZCkubWRjLXNlbGVjdC0tZm9jdXNlZCAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fdHJhaWxpbmcge1xuICBib3JkZXItY29sb3I6ICNiMDAwMjA7XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1tZGMtdGhlbWUtZXJyb3IsICNiMDAwMjApO1xufVxuXG4ubWRjLXNlbGVjdC0taW52YWxpZCAubWRjLXNlbGVjdF9fZHJvcGRvd24taWNvbiB7XG4gIGJhY2tncm91bmQ6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmclMjB3aWR0aCUzRCUyMjEwcHglMjIlMjBoZWlnaHQlM0QlMjI1cHglMjIlMjB2aWV3Qm94JTNEJTIyNyUyMDEwJTIwMTAlMjA1JTIyJTIwdmVyc2lvbiUzRCUyMjEuMSUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTIweG1sbnMlM0F4bGluayUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMTk5OSUyRnhsaW5rJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDcG9seWdvbiUyMGlkJTNEJTIyU2hhcGUlMjIlMjBzdHJva2UlM0QlMjJub25lJTIyJTIwZmlsbCUzRCUyMiUyM2IwMDAyMCUyMiUyMGZpbGwtcnVsZSUzRCUyMmV2ZW5vZGQlMjIlMjBvcGFjaXR5JTNEJTIyMSUyMiUyMHBvaW50cyUzRCUyMjclMjAxMCUyMDEyJTIwMTUlMjAxNyUyMDEwJTIyJTNFJTNDJTJGcG9seWdvbiUzRSUwQSUzQyUyRnN2ZyUzRVwiKSBuby1yZXBlYXQgY2VudGVyO1xufVxuXG4ubWRjLXNlbGVjdC0taW52YWxpZCArIC5tZGMtc2VsZWN0LWhlbHBlci10ZXh0LS12YWxpZGF0aW9uLW1zZyB7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5tZGMtc2VsZWN0LS1yZXF1aXJlZCAubWRjLWZsb2F0aW5nLWxhYmVsOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiKlwiO1xufVxuXG4ubWRjLXNlbGVjdC0tZGlzYWJsZWQge1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4ubWRjLXNlbGVjdC0tZGlzYWJsZWQgLm1kYy1zZWxlY3RfX2FuY2hvciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmYWZhZmE7XG59XG5cbi5tZGMtc2VsZWN0LS1kaXNhYmxlZCAubWRjLWZsb2F0aW5nLWxhYmVsIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zOCk7XG59XG5cbi5tZGMtc2VsZWN0LS1kaXNhYmxlZCAubWRjLXNlbGVjdF9fZHJvcGRvd24taWNvbiB7XG4gIGJhY2tncm91bmQ6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmclMjB3aWR0aCUzRCUyMjEwcHglMjIlMjBoZWlnaHQlM0QlMjI1cHglMjIlMjB2aWV3Qm94JTNEJTIyNyUyMDEwJTIwMTAlMjA1JTIyJTIwdmVyc2lvbiUzRCUyMjEuMSUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTIweG1sbnMlM0F4bGluayUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMTk5OSUyRnhsaW5rJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDcG9seWdvbiUyMGlkJTNEJTIyU2hhcGUlMjIlMjBzdHJva2UlM0QlMjJub25lJTIyJTIwZmlsbCUzRCUyMiUyMzAwMCUyMiUyMGZpbGwtcnVsZSUzRCUyMmV2ZW5vZGQlMjIlMjBvcGFjaXR5JTNEJTIyMC4zOCUyMiUyMHBvaW50cyUzRCUyMjclMjAxMCUyMDEyJTIwMTUlMjAxNyUyMDEwJTIyJTNFJTNDJTJGcG9seWdvbiUzRSUwQSUzQyUyRnN2ZyUzRVwiKSBuby1yZXBlYXQgY2VudGVyO1xufVxuXG4ubWRjLXNlbGVjdC0tZGlzYWJsZWQgLm1kYy1saW5lLXJpcHBsZTo6YmVmb3JlIHtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjM4KTtcbn1cblxuLm1kYy1zZWxlY3QtLWRpc2FibGVkIC5tZGMtbGluZS1yaXBwbGU6OmJlZm9yZSB7XG4gIGJvcmRlci1ib3R0b20tc3R5bGU6IGRvdHRlZDtcbn1cblxuLm1kYy1zZWxlY3QtLWRpc2FibGVkIC5tZGMtc2VsZWN0X19pY29uIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zOCk7XG59XG5cbi5tZGMtc2VsZWN0LS1kaXNhYmxlZCAubWRjLXNlbGVjdF9fc2VsZWN0ZWQtdGV4dCB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMzgpO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLm1kYy1zZWxlY3QtLWRpc2FibGVkLm1kYy1zZWxlY3QtLW91dGxpbmVkIC5tZGMtc2VsZWN0X19hbmNob3Ige1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLm1kYy1zZWxlY3QtLWRpc2FibGVkLm1kYy1zZWxlY3QtLW91dGxpbmVkIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19sZWFkaW5nLFxuLm1kYy1zZWxlY3QtLWRpc2FibGVkLm1kYy1zZWxlY3QtLW91dGxpbmVkIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19ub3RjaCxcbi5tZGMtc2VsZWN0LS1kaXNhYmxlZC5tZGMtc2VsZWN0LS1vdXRsaW5lZCAubWRjLW5vdGNoZWQtb3V0bGluZV9fdHJhaWxpbmcge1xuICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4xNik7XG59XG5cbi5tZGMtc2VsZWN0LS13aXRoLWxlYWRpbmctaWNvbiAubWRjLWZsb2F0aW5nLWxhYmVsIHtcbiAgLyogQG5vZmxpcCAqL1xuICBsZWZ0OiA0OHB4O1xuICAvKiBAbm9mbGlwICovXG4gIHJpZ2h0OiBpbml0aWFsO1xufVxuXG5bZGlyPXJ0bF0gLm1kYy1zZWxlY3QtLXdpdGgtbGVhZGluZy1pY29uIC5tZGMtZmxvYXRpbmctbGFiZWwsIC5tZGMtc2VsZWN0LS13aXRoLWxlYWRpbmctaWNvbiAubWRjLWZsb2F0aW5nLWxhYmVsW2Rpcj1ydGxdIHtcbiAgLyogQG5vZmxpcCAqL1xuICBsZWZ0OiBpbml0aWFsO1xuICAvKiBAbm9mbGlwICovXG4gIHJpZ2h0OiA0OHB4O1xufVxuXG4ubWRjLXNlbGVjdC0td2l0aC1sZWFkaW5nLWljb24ubWRjLXNlbGVjdC0tb3V0bGluZWQgLm1kYy1mbG9hdGluZy1sYWJlbCB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbGVmdDogMzZweDtcbiAgLyogQG5vZmxpcCAqL1xuICByaWdodDogaW5pdGlhbDtcbn1cblxuW2Rpcj1ydGxdIC5tZGMtc2VsZWN0LS13aXRoLWxlYWRpbmctaWNvbi5tZGMtc2VsZWN0LS1vdXRsaW5lZCAubWRjLWZsb2F0aW5nLWxhYmVsLCAubWRjLXNlbGVjdC0td2l0aC1sZWFkaW5nLWljb24ubWRjLXNlbGVjdC0tb3V0bGluZWQgLm1kYy1mbG9hdGluZy1sYWJlbFtkaXI9cnRsXSB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbGVmdDogaW5pdGlhbDtcbiAgLyogQG5vZmxpcCAqL1xuICByaWdodDogMzZweDtcbn1cblxuLm1kYy1zZWxlY3QtLXdpdGgtbGVhZGluZy1pY29uLm1kYy1zZWxlY3QtLW91dGxpbmVkIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlIHtcbiAgLyogQG5vZmxpcCAqL1xuICBsZWZ0OiAzNnB4O1xuICAvKiBAbm9mbGlwICovXG4gIHJpZ2h0OiBpbml0aWFsO1xufVxuXG5bZGlyPXJ0bF0gLm1kYy1zZWxlY3QtLXdpdGgtbGVhZGluZy1pY29uLm1kYy1zZWxlY3QtLW91dGxpbmVkIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlLCAubWRjLXNlbGVjdC0td2l0aC1sZWFkaW5nLWljb24ubWRjLXNlbGVjdC0tb3V0bGluZWQgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmVbZGlyPXJ0bF0ge1xuICAvKiBAbm9mbGlwICovXG4gIGxlZnQ6IGluaXRpYWw7XG4gIC8qIEBub2ZsaXAgKi9cbiAgcmlnaHQ6IDM2cHg7XG59XG5cbi5tZGMtc2VsZWN0LS13aXRoLWxlYWRpbmctaWNvbi5tZGMtc2VsZWN0LS1vdXRsaW5lZCAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMzcuMjVweCkgdHJhbnNsYXRlWCgtMzJweCkgc2NhbGUoMSk7XG59XG5cbltkaXI9cnRsXSAubWRjLXNlbGVjdC0td2l0aC1sZWFkaW5nLWljb24ubWRjLXNlbGVjdC0tb3V0bGluZWQgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUsIC5tZGMtc2VsZWN0LS13aXRoLWxlYWRpbmctaWNvbi5tZGMtc2VsZWN0LS1vdXRsaW5lZCAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZVtkaXI9cnRsXSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMzcuMjVweCkgdHJhbnNsYXRlWCgzMnB4KSBzY2FsZSgxKTtcbn1cblxuLm1kYy1zZWxlY3QtLXdpdGgtbGVhZGluZy1pY29uLm1kYy1zZWxlY3QtLW91dGxpbmVkIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlIHtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xufVxuXG4ubWRjLXNlbGVjdC0td2l0aC1sZWFkaW5nLWljb24ubWRjLXNlbGVjdC0tb3V0bGluZWQubWRjLW5vdGNoZWQtb3V0bGluZS0tdXBncmFkZWQgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUsXG4ubWRjLXNlbGVjdC0td2l0aC1sZWFkaW5nLWljb24ubWRjLXNlbGVjdC0tb3V0bGluZWQgLm1kYy1ub3RjaGVkLW91dGxpbmUtLXVwZ3JhZGVkIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0zNC43NXB4KSB0cmFuc2xhdGVYKC0zMnB4KSBzY2FsZSgwLjc1KTtcbn1cblxuW2Rpcj1ydGxdIC5tZGMtc2VsZWN0LS13aXRoLWxlYWRpbmctaWNvbi5tZGMtc2VsZWN0LS1vdXRsaW5lZC5tZGMtbm90Y2hlZC1vdXRsaW5lLS11cGdyYWRlZCAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSwgLm1kYy1zZWxlY3QtLXdpdGgtbGVhZGluZy1pY29uLm1kYy1zZWxlY3QtLW91dGxpbmVkLm1kYy1ub3RjaGVkLW91dGxpbmUtLXVwZ3JhZGVkIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlW2Rpcj1ydGxdLFxuW2Rpcj1ydGxdIC5tZGMtc2VsZWN0LS13aXRoLWxlYWRpbmctaWNvbi5tZGMtc2VsZWN0LS1vdXRsaW5lZCAubWRjLW5vdGNoZWQtb3V0bGluZS0tdXBncmFkZWQgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUsXG4ubWRjLXNlbGVjdC0td2l0aC1sZWFkaW5nLWljb24ubWRjLXNlbGVjdC0tb3V0bGluZWQgLm1kYy1ub3RjaGVkLW91dGxpbmUtLXVwZ3JhZGVkIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlW2Rpcj1ydGxdIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0zNC43NXB4KSB0cmFuc2xhdGVYKDMycHgpIHNjYWxlKDAuNzUpO1xufVxuXG4ubWRjLXNlbGVjdC0td2l0aC1sZWFkaW5nLWljb24ubWRjLXNlbGVjdC0tb3V0bGluZWQubWRjLW5vdGNoZWQtb3V0bGluZS0tdXBncmFkZWQgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUsXG4ubWRjLXNlbGVjdC0td2l0aC1sZWFkaW5nLWljb24ubWRjLXNlbGVjdC0tb3V0bGluZWQgLm1kYy1ub3RjaGVkLW91dGxpbmUtLXVwZ3JhZGVkIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlIHtcbiAgZm9udC1zaXplOiAxcmVtO1xufVxuXG4ubWRjLXNlbGVjdC0td2l0aC1sZWFkaW5nLWljb24ubWRjLXNlbGVjdC0tb3V0bGluZWQgLm1kYy1mbG9hdGluZy1sYWJlbC0tc2hha2Uge1xuICBhbmltYXRpb246IG1kYy1mbG9hdGluZy1sYWJlbC1zaGFrZS1mbG9hdC1hYm92ZS1zZWxlY3Qtb3V0bGluZWQtbGVhZGluZy1pY29uIDI1MG1zIDE7XG59XG5cbltkaXI9cnRsXSAubWRjLXNlbGVjdC0td2l0aC1sZWFkaW5nLWljb24ubWRjLXNlbGVjdC0tb3V0bGluZWQgLm1kYy1mbG9hdGluZy1sYWJlbC0tc2hha2UsIC5tZGMtc2VsZWN0LS13aXRoLWxlYWRpbmctaWNvbi5tZGMtc2VsZWN0LS1vdXRsaW5lZFtkaXI9cnRsXSAubWRjLWZsb2F0aW5nLWxhYmVsLS1zaGFrZSB7XG4gIGFuaW1hdGlvbjogbWRjLWZsb2F0aW5nLWxhYmVsLXNoYWtlLWZsb2F0LWFib3ZlLXNlbGVjdC1vdXRsaW5lZC1sZWFkaW5nLWljb24tcnRsIDI1MG1zIDE7XG59XG5cbi5tZGMtc2VsZWN0LS13aXRoLWxlYWRpbmctaWNvbi5tZGMtc2VsZWN0X19tZW51IC5tZGMtbGlzdC1pdGVtX190ZXh0IHtcbiAgLyogQG5vZmxpcCAqL1xuICBwYWRkaW5nLWxlZnQ6IDMycHg7XG4gIC8qIEBub2ZsaXAgKi9cbiAgcGFkZGluZy1yaWdodDogMzJweDtcbn1cblxuW2Rpcj1ydGxdIC5tZGMtc2VsZWN0LS13aXRoLWxlYWRpbmctaWNvbi5tZGMtc2VsZWN0X19tZW51IC5tZGMtbGlzdC1pdGVtX190ZXh0LCAubWRjLXNlbGVjdC0td2l0aC1sZWFkaW5nLWljb24ubWRjLXNlbGVjdF9fbWVudSAubWRjLWxpc3QtaXRlbV9fdGV4dFtkaXI9cnRsXSB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgcGFkZGluZy1sZWZ0OiAzMnB4O1xuICAvKiBAbm9mbGlwICovXG4gIHBhZGRpbmctcmlnaHQ6IDMycHg7XG59XG5cbi5tZGMtc2VsZWN0X19tZW51IC5tZGMtbGlzdCAubWRjLWxpc3QtaXRlbS0tc2VsZWN0ZWQge1xuICBjb2xvcjogIzAwMDtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBjb2xvcjogdmFyKC0tbWRjLXRoZW1lLW9uLXN1cmZhY2UsICMwMDApO1xufVxuXG5Aa2V5ZnJhbWVzIG1kYy1mbG9hdGluZy1sYWJlbC1zaGFrZS1mbG9hdC1hYm92ZS1zZWxlY3Qtb3V0bGluZWQtbGVhZGluZy1pY29uIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChjYWxjKDAgLSAzMnB4KSkgdHJhbnNsYXRlWSgtMzQuNzVweCkgc2NhbGUoMC43NSk7XG4gIH1cbiAgMzMlIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41LCAwLCAwLjcwMTczMiwgMC40OTU4MTkpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChjYWxjKDQlIC0gMzJweCkpIHRyYW5zbGF0ZVkoLTM0Ljc1cHgpIHNjYWxlKDAuNzUpO1xuICB9XG4gIDY2JSB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMzAyNDM1LCAwLjM4MTM1MiwgMC41NSwgMC45NTYzNTIpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChjYWxjKC00JSAtIDMycHgpKSB0cmFuc2xhdGVZKC0zNC43NXB4KSBzY2FsZSgwLjc1KTtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoY2FsYygwIC0gMzJweCkpIHRyYW5zbGF0ZVkoLTM0Ljc1cHgpIHNjYWxlKDAuNzUpO1xuICB9XG59XG5Aa2V5ZnJhbWVzIG1kYy1mbG9hdGluZy1sYWJlbC1zaGFrZS1mbG9hdC1hYm92ZS1zZWxlY3Qtb3V0bGluZWQtbGVhZGluZy1pY29uLXJ0bCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoY2FsYygwIC0gLTMycHgpKSB0cmFuc2xhdGVZKC0zNC43NXB4KSBzY2FsZSgwLjc1KTtcbiAgfVxuICAzMyUge1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjUsIDAsIDAuNzAxNzMyLCAwLjQ5NTgxOSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGNhbGMoNCUgLSAtMzJweCkpIHRyYW5zbGF0ZVkoLTM0Ljc1cHgpIHNjYWxlKDAuNzUpO1xuICB9XG4gIDY2JSB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMzAyNDM1LCAwLjM4MTM1MiwgMC41NSwgMC45NTYzNTIpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChjYWxjKC00JSAtIC0zMnB4KSkgdHJhbnNsYXRlWSgtMzQuNzVweCkgc2NhbGUoMC43NSk7XG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGNhbGMoMCAtIC0zMnB4KSkgdHJhbnNsYXRlWSgtMzQuNzVweCkgc2NhbGUoMC43NSk7XG4gIH1cbn1cbi5maWxlaW5wdXQtY29udGFpbmVyIHtcbiAgbWFyZ2luOiAwIDAgMjhweCAwO1xufVxuXG4uYnRuLWZpbGUge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICAtLW1kYy1yaXBwbGUtZmctc2l6ZTogMDtcbiAgLS1tZGMtcmlwcGxlLWxlZnQ6IDA7XG4gIC0tbWRjLXJpcHBsZS10b3A6IDA7XG4gIC0tbWRjLXJpcHBsZS1mZy1zY2FsZTogMTtcbiAgLS1tZGMtcmlwcGxlLWZnLXRyYW5zbGF0ZS1lbmQ6IDA7XG4gIC0tbWRjLXJpcHBsZS1mZy10cmFuc2xhdGUtc3RhcnQ6IDA7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTtcbn1cbi5idG4tZmlsZTo6YmVmb3JlLCAuYnRuLWZpbGU6OmFmdGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIG9wYWNpdHk6IDA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBjb250ZW50OiBcIlwiO1xufVxuLmJ0bi1maWxlOjpiZWZvcmUge1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDE1bXMgbGluZWFyLCBiYWNrZ3JvdW5kLWNvbG9yIDE1bXMgbGluZWFyO1xuICB6LWluZGV4OiAxO1xufVxuLmJ0bi1maWxlLm1kYy1yaXBwbGUtdXBncmFkZWQ6OmJlZm9yZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUodmFyKC0tbWRjLXJpcHBsZS1mZy1zY2FsZSwgMSkpO1xufVxuLmJ0bi1maWxlLm1kYy1yaXBwbGUtdXBncmFkZWQ6OmFmdGVyIHtcbiAgdG9wOiAwO1xuICAvKiBAbm9mbGlwICovXG4gIGxlZnQ6IDA7XG4gIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7XG59XG4uYnRuLWZpbGUubWRjLXJpcHBsZS11cGdyYWRlZC0tdW5ib3VuZGVkOjphZnRlciB7XG4gIHRvcDogdmFyKC0tbWRjLXJpcHBsZS10b3AsIDApO1xuICAvKiBAbm9mbGlwICovXG4gIGxlZnQ6IHZhcigtLW1kYy1yaXBwbGUtbGVmdCwgMCk7XG59XG4uYnRuLWZpbGUubWRjLXJpcHBsZS11cGdyYWRlZC0tZm9yZWdyb3VuZC1hY3RpdmF0aW9uOjphZnRlciB7XG4gIGFuaW1hdGlvbjogbWRjLXJpcHBsZS1mZy1yYWRpdXMtaW4gMjI1bXMgZm9yd2FyZHMsIG1kYy1yaXBwbGUtZmctb3BhY2l0eS1pbiA3NW1zIGZvcndhcmRzO1xufVxuLmJ0bi1maWxlLm1kYy1yaXBwbGUtdXBncmFkZWQtLWZvcmVncm91bmQtZGVhY3RpdmF0aW9uOjphZnRlciB7XG4gIGFuaW1hdGlvbjogbWRjLXJpcHBsZS1mZy1vcGFjaXR5LW91dCAxNTBtcztcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUodmFyKC0tbWRjLXJpcHBsZS1mZy10cmFuc2xhdGUtZW5kLCAwKSkgc2NhbGUodmFyKC0tbWRjLXJpcHBsZS1mZy1zY2FsZSwgMSkpO1xufVxuLmJ0bi1maWxlOjpiZWZvcmUsIC5idG4tZmlsZTo6YWZ0ZXIge1xuICB0b3A6IGNhbGMoNTAlIC0gMTAwJSk7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbGVmdDogY2FsYyg1MCUgLSAxMDAlKTtcbiAgd2lkdGg6IDIwMCU7XG4gIGhlaWdodDogMjAwJTtcbn1cbi5idG4tZmlsZS5tZGMtcmlwcGxlLXVwZ3JhZGVkOjphZnRlciB7XG4gIHdpZHRoOiB2YXIoLS1tZGMtcmlwcGxlLWZnLXNpemUsIDEwMCUpO1xuICBoZWlnaHQ6IHZhcigtLW1kYy1yaXBwbGUtZmctc2l6ZSwgMTAwJSk7XG59XG4uYnRuLWZpbGU6OmJlZm9yZSwgLmJ0bi1maWxlOjphZnRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMEFFRUY7XG59XG4uYnRuLWZpbGU6aG92ZXI6OmJlZm9yZSB7XG4gIG9wYWNpdHk6IDA7XG59XG4uYnRuLWZpbGUubWRjLXJpcHBsZS11cGdyYWRlZC0tYmFja2dyb3VuZC1mb2N1c2VkOjpiZWZvcmUsIC5idG4tZmlsZTpub3QoLm1kYy1yaXBwbGUtdXBncmFkZWQpOmZvY3VzOjpiZWZvcmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA3NW1zO1xuICBvcGFjaXR5OiAwO1xufVxuLmJ0bi1maWxlOm5vdCgubWRjLXJpcHBsZS11cGdyYWRlZCk6OmFmdGVyIHtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAxNTBtcyBsaW5lYXI7XG59XG4uYnRuLWZpbGU6bm90KC5tZGMtcmlwcGxlLXVwZ3JhZGVkKTphY3RpdmU6OmFmdGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNzVtcztcbiAgb3BhY2l0eTogMC4wODtcbn1cbi5idG4tZmlsZS5tZGMtcmlwcGxlLXVwZ3JhZGVkIHtcbiAgLS1tZGMtcmlwcGxlLWZnLW9wYWNpdHk6IDAuMDg7XG59XG4uYnRuLWZpbGUgPiBpbnB1dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgbWFyZ2luOiAwO1xuICBvcGFjaXR5OiAwO1xuICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9MCk7XG4gIGZvbnQtc2l6ZTogMjNweDtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbiAgZGlyZWN0aW9uOiBsdHI7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5idG4tZmlsZSA+IGlucHV0Ojotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi50YWItbmF2aWdhdGlvbiAuYnRuLWZpbGU6Zm9jdXMtd2l0aGluIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAxNzQsIDIzOSwgMC4wOCk7XG59XG5cbi5maWxlaW5wdXQge1xuICBtYXgtd2lkdGg6IDEwMHZ3O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtaW4taGVpZ2h0OiA0OHB4O1xufVxuLmZpbGVpbnB1dCAuZm9ybS1jb250cm9sIHtcbiAgcGFkZGluZy10b3A6IDdweDtcbiAgcGFkZGluZy1ib3R0b206IDVweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBjdXJzb3I6IHRleHQ7XG59XG4uZmlsZWlucHV0IC50aHVtYm5haWwge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1ib3R0b206IDVweDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLmZpbGVpbnB1dCAudGh1bWJuYWlsID4gaW1nIHtcbiAgbWF4LWhlaWdodDogMTAwJTtcbn1cbi5maWxlaW5wdXQgLmJ0biB7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG4uZmlsZWlucHV0IC5mb3JtLWdyb3VwIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi5maWxlaW5wdXQgLmZvcm0tZ3JvdXAgLmZpbGVpbnB1dC1maWxlbmFtZSB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAyMHB4KTtcbn1cblxuLmZpbGVpbnB1dC1leGlzdHMgLmZpbGVpbnB1dC1uZXcsXG4uZmlsZWlucHV0LW5ldyAuZmlsZWlucHV0LWV4aXN0cyB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5maWxlaW5wdXQtZXhpc3RzLmNsb3NlIHtcbiAgZmxvYXQ6IG5vbmU7XG59XG5cbi5maWxlaW5wdXQtaW5saW5lIC5maWxlaW5wdXQtY29udHJvbHMge1xuICBkaXNwbGF5OiBpbmxpbmU7XG59XG5cbi5maWxlaW5wdXQtZmlsZW5hbWUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICBtYXgtd2lkdGg6IDE1MHB4O1xuICBtYXJnaW4tbGVmdDogMTVweDtcbn1cblxuLmZvcm0tY29udHJvbCAuZmlsZWlucHV0LWZpbGVuYW1lIHtcbiAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG59XG5cbi5maWxlaW5wdXQuaW5wdXQtZ3JvdXAge1xuICBkaXNwbGF5OiB0YWJsZTtcbn1cbi5maWxlaW5wdXQuaW5wdXQtZ3JvdXAgPiAqIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAyO1xufVxuLmZpbGVpbnB1dC5pbnB1dC1ncm91cCA+IC5idG4tZmlsZSB7XG4gIHotaW5kZXg6IDE7XG59XG5cbi5maWxlaW5wdXQtbmV3LmlucHV0LWdyb3VwIC5idG4tZmlsZSxcbi5maWxlaW5wdXQtbmV3IC5pbnB1dC1ncm91cCAuYnRuLWZpbGUge1xuICBib3JkZXItcmFkaXVzOiAwIDAgMCAwO1xufVxuLmZpbGVpbnB1dC1uZXcuaW5wdXQtZ3JvdXAgLmJ0bi1maWxlLmJ0bi14cywgLmZpbGVpbnB1dC1uZXcuaW5wdXQtZ3JvdXAgLmJ0bi1maWxlLmJ0bi1zbSxcbi5maWxlaW5wdXQtbmV3IC5pbnB1dC1ncm91cCAuYnRuLWZpbGUuYnRuLXhzLFxuLmZpbGVpbnB1dC1uZXcgLmlucHV0LWdyb3VwIC5idG4tZmlsZS5idG4tc20ge1xuICBib3JkZXItcmFkaXVzOiAwIDAgMCAwO1xufVxuLmZpbGVpbnB1dC1uZXcuaW5wdXQtZ3JvdXAgLmJ0bi1maWxlLmJ0bi1sZyxcbi5maWxlaW5wdXQtbmV3IC5pbnB1dC1ncm91cCAuYnRuLWZpbGUuYnRuLWxnIHtcbiAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDtcbn1cblxuLmZvcm0tZ3JvdXAuaGFzLXdhcm5pbmcgLmZpbGVpbnB1dCAuZmlsZWlucHV0LXByZXZpZXcge1xuICBjb2xvcjogI0ZGRkYwMDtcbn1cbi5mb3JtLWdyb3VwLmhhcy13YXJuaW5nIC5maWxlaW5wdXQgLnRodW1ibmFpbCB7XG4gIGJvcmRlci1jb2xvcjogI0ZGRkYwMDtcbn1cblxuLmZvcm0tZ3JvdXAuaGFzLWVycm9yIC5maWxlaW5wdXQgLmZpbGVpbnB1dC1wcmV2aWV3IHtcbiAgY29sb3I6ICNGRkZGMDA7XG59XG4uZm9ybS1ncm91cC5oYXMtZXJyb3IgLmZpbGVpbnB1dCAudGh1bWJuYWlsIHtcbiAgYm9yZGVyLWNvbG9yOiAjRkZGRjAwO1xufVxuXG4uZm9ybS1ncm91cC5oYXMtc3VjY2VzcyAuZmlsZWlucHV0IC5maWxlaW5wdXQtcHJldmlldyB7XG4gIGNvbG9yOiAjMDBBRUVGO1xufVxuLmZvcm0tZ3JvdXAuaGFzLXN1Y2Nlc3MgLmZpbGVpbnB1dCAudGh1bWJuYWlsIHtcbiAgYm9yZGVyLWNvbG9yOiAjMDBBRUVGO1xufVxuXG4uaW5wdXQtZ3JvdXAtYWRkb246bm90KDpmaXJzdC1jaGlsZCkge1xuICBib3JkZXItbGVmdDogMDtcbn1cblxuLmFjY29yZGlvbjUge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBtYXJnaW4tYm90dG9tOiAxNXB4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDE0MDBweCkge1xuICAuYWNjb3JkaW9uNSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgfVxufVxuLmFjY29yZGlvbjVfX3RvZ2dsZSB7XG4gIGJvcmRlcjogbm9uZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICB1c2VyLXNlbGVjdDogdGV4dDtcbiAgb3V0bGluZTogbm9uZTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgbWFyZ2luOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICBwYWRkaW5nOiAwIDAgMTBweDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuYWNjb3JkaW9uNV9fdG9nZ2xlIHtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgfVxufVxuLmFjY29yZGlvbjVfX3RvZ2dsZTpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG59XG4uYWNjb3JkaW9uNV9fcGFuZWwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNiY2VkZmY7XG59XG4uYWNjb3JkaW9uNV9fcGFuZWwtY29udGVudCB7XG4gIHBhZGRpbmc6IDQwcHggMzBweCAwO1xufVxuLmFjY29yZGlvbjVfX3BhbmVsLWJvcmRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMDtcbiAgdG9wOiAxOHB4O1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA2cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzZGNhZmY7XG59XG4uYWNjb3JkaW9uNV9fcGFuZWwtYm9yZGVyOmJlZm9yZSwgLmFjY29yZGlvbjVfX3BhbmVsLWJvcmRlcjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAxMDAlO1xuICBib3JkZXItYm90dG9tOiAxOHB4IHNvbGlkICMzZGNhZmY7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG59XG4uYWNjb3JkaW9uNV9fcGFuZWwtYm9yZGVyOmJlZm9yZSB7XG4gIGxlZnQ6IDA7XG4gIGJvcmRlci1yaWdodDogMThweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgd2lkdGg6IDQ1cHg7XG59XG4uYWNjb3JkaW9uNV9fcGFuZWwtYm9yZGVyOmFmdGVyIHtcbiAgcmlnaHQ6IDA7XG4gIGJvcmRlci1sZWZ0OiAxOHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICB3aWR0aDogY2FsYygxMDAlIC0gNDVweCk7XG59XG4uYWNjb3JkaW9uNV9fcGFuZWw6YmVmb3JlLCAuYWNjb3JkaW9uNV9fcGFuZWw6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDE7XG4gIHRvcDogNHB4O1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlci1ib3R0b206IDIwcHggc29saWQgI2JjZWRmZjtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cbi5hY2NvcmRpb241X19wYW5lbDpiZWZvcmUge1xuICBsZWZ0OiAwO1xuICBib3JkZXItcmlnaHQ6IDIwcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIHdpZHRoOiA0NXB4O1xufVxuLmFjY29yZGlvbjVfX3BhbmVsOmFmdGVyIHtcbiAgcmlnaHQ6IDA7XG4gIGJvcmRlci1sZWZ0OiAyMHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICB3aWR0aDogY2FsYygxMDAlIC0gNDVweCk7XG59XG5cbi5hY2NvcmRpb242IHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC40KTtcbn1cbi5hY2NvcmRpb242X19wYW5lbCB7XG4gIHBhZGRpbmc6IDAgMTVweDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLmFjY29yZGlvbjZfX3BhbmVsIHtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG59XG4uYWNjb3JkaW9uNl9fcGFuZWwtc3BhY2Uge1xuICBwYWRkaW5nOiAyNXB4IDA7XG59XG4uYWNjb3JkaW9uNl9fdG9nZ2xlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGNvbG9yOiAjMkQyOTI2ICFpbXBvcnRhbnQ7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBmb250LXdlaWdodDogNDAwO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IDI0cHggMjRweDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgMTZweCB0b3AgMTVweDtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmclMjB4bWxucyUzRCUyMmh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJTIyJTIwZmlsbCUzRCUyMiUyMzJEMjkyNiUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDM2JTIwMzYlMjIlM0UlM0NwYXRoJTIwZCUzRCUyMk0zMy44NywyN2ExLjEzLDEuMTMsMCwwLDEtLjgtLjMzTDE4LDExLjcybC0xNS4wNywxNWExLjEzLDEuMTMsMCwwLDEtMS42LDAsMS4xMiwxLjEyLDAsMCwxLDAtMS41OUwxNy4yLDkuMzNhMS4xMywxLjEzLDAsMCwxLDEuNiwwTDM0LjY3LDI1LjA4YTEuMTMsMS4xMywwLDAsMS0uOCwxLjkyWiUyMi8lM0UlM0NwYXRoJTIwZCUzRCUyMk0zNiwzNkgwVjBIMzZaJTIyJTIwZmlsbCUzRCUyMm5vbmUlMjIvJTNFJTNDL3N2ZyUzRVwiKTtcbiAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogbm9uZTtcbiAgZm9udC1zaXplOiAyMnB4O1xuICBwYWRkaW5nOiA5cHggNTVweCA5cHggMDtcbn1cbi5hY2NvcmRpb242X190b2dnbGU6Zm9jdXMsIC5hY2NvcmRpb242X190b2dnbGU6YWN0aXZlIHtcbiAgb3V0bGluZTogbm9uZTtcbn1cbi5hY2NvcmRpb242X190b2dnbGUuY29sbGFwc2VkIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmclMjB4bWxucyUzRCUyMmh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJTIyJTIwZmlsbCUzRCUyMiUyMzJEMjkyNiUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDM2JTIwMzYlMjIlM0UlM0NwYXRoJTIwZCUzRCUyMk0yLjEzLDlhMS4xMywxLjEzLDAsMCwxLC44LjMzTDE4LDI0LjI4LDMzLjA3LDkuMzNhMS4xMywxLjEzLDAsMCwxLDEuNiwwLDEuMTIsMS4xMiwwLDAsMSwwLDEuNTlMMTguOCwyNi42N2ExLjEzLDEuMTMsMCwwLDEtMS42LDBMMS4zMywxMC45MkExLjEzLDEuMTMsMCwwLDEsMi4xMyw5WiUyMi8lM0UlM0NwYXRoJTIwZCUzRCUyMk0zNiwzNkgwVjBIMzZaJTIyJTIwZmlsbCUzRCUyMm5vbmUlMjIvJTNFJTNDL3N2ZyUzRVwiKTtcbn1cblxuLm1kYy1saXN0LWl0ZW0tLWRpc2FibGVkIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIGNvbG9yOiByZ2JhKDMyLCAyOSwgMjksIDAuMyk7XG59XG5cbi5tZGMtbWVudS1zdXJmYWNlIHtcbiAgc2Nyb2xsYmFyLXdpZHRoOiB0aGluO1xuICBzY3JvbGxiYXItY29sb3I6ICNkNmQ4ZGEgI2ZmZjtcbiAgei1pbmRleDogMjA7XG59XG4ubWRjLW1lbnUtc3VyZmFjZTo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICB3aWR0aDogOHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xufVxuLm1kYy1tZW51LXN1cmZhY2U6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcbiAgb3V0bGluZTogbm9uZTtcbiAgd2lkdGg6IDdweDtcbiAgYm9yZGVyLXJhZGl1czogN3B4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDZkOGRhO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZmZmO1xufVxuLm1kYy1tZW51LXN1cmZhY2UtLWFuY2hvciA+IGJ1dHRvbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbn1cblxuLm1kYy1pY29uLWJ1dHRvbi5tYXRlcmlhbC1pY29ucyB7XG4gIHdpZHRoOiA0OHB4O1xuICBmb250LWZhbWlseTogbWF0ZXJpYWxJY29uc1JvdW5kV2ViLCBzYW5zLXNlcmlmO1xufVxuXG4ubWRjLXJhZGlvIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLm1kYy1yYWRpb19fcmlwcGxlIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYm9yZGVyLXJhZGl1czogMTAwcHg7XG59XG5cbi5tZGMtbWVudSAubWRjLWxpc3QtaXRlbSB7XG4gIGhlaWdodDogYXV0bztcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIHBhZGRpbmctdG9wOiA2cHg7XG4gIHBhZGRpbmctYm90dG9tOiA2cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLm1kYy1tZW51IC5tZGMtbGlzdC1pdGVtIHtcbiAgICBwYWRkaW5nLXRvcDogMTBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgfVxufVxuXG4uYnJlYWRjcnVtYiB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLmJyZWFkY3J1bWIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luOiAzMHB4IGF1dG8gMTVweCBhdXRvO1xuICAgIGZvbnQtc2l6ZTogMDtcbiAgICBmb250LXdlaWdodDogMzAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDAgMTVweDtcbiAgICBtYXgtd2lkdGg6IDEyODRweDtcbiAgICBsZXR0ZXItc3BhY2luZzogMC40cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLmJyZWFkY3J1bWIge1xuICAgIG1hcmdpbjogMzVweCBhdXRvIDIwcHggYXV0bztcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDE0MDBweCkge1xuICAuYnJlYWRjcnVtYiB7XG4gICAgbWFyZ2luOiA3NXB4IGF1dG8gMjBweCBhdXRvO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLmhlcm8tMzY1ICsgLmJyZWFkY3J1bWIge1xuICAgIG1hcmdpbjogMTVweCBhdXRvIDE2cHggYXV0bztcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAuaGVyby0zNjUgKyAuYnJlYWRjcnVtYiB7XG4gICAgbWFyZ2luOiAyNXB4IGF1dG8gMjZweCBhdXRvO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTQwMHB4KSB7XG4gIC5oZXJvLTM2NSArIC5icmVhZGNydW1iIHtcbiAgICBtYXJnaW46IDM2cHggYXV0byAzNXB4IGF1dG87XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuaGVyby1wYWdlICsgLmJyZWFkY3J1bWIge1xuICAgIG1hcmdpbjogMTVweCBhdXRvO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5oZXJvLXBhZ2UgKyAuYnJlYWRjcnVtYiB7XG4gICAgbWFyZ2luOiAyNXB4IGF1dG8gMjBweCBhdXRvO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTQwMHB4KSB7XG4gIC5oZXJvLXBhZ2UgKyAuYnJlYWRjcnVtYiB7XG4gICAgbWFyZ2luOiAzNnB4IGF1dG8gMjBweCBhdXRvO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLmhlcm8tc2VjdGlvbiArIC5icmVhZGNydW1iIHtcbiAgICBtYXJnaW46IDMwcHggYXV0byAxNXB4IGF1dG87XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLmhlcm8tc2VjdGlvbiArIC5icmVhZGNydW1iIHtcbiAgICBtYXJnaW46IDI1cHggYXV0byA0NXB4IGF1dG87XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxNDAwcHgpIHtcbiAgLmhlcm8tc2VjdGlvbiArIC5icmVhZGNydW1iIHtcbiAgICBtYXJnaW46IDM2cHggYXV0byA5NXB4IGF1dG87XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAubGFuZGluZ3BhZ2UtdmlldyAuYnJlYWRjcnVtYiB7XG4gICAgbWFyZ2luOiAxNXB4IGF1dG87XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLmxhbmRpbmdwYWdlLXZpZXcgLmJyZWFkY3J1bWIge1xuICAgIG1heC13aWR0aDogMTA4MHB4O1xuICAgIG1hcmdpbjogMjVweCBhdXRvIDIzcHggYXV0bztcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDE0MDBweCkge1xuICAubGFuZGluZ3BhZ2UtdmlldyAuYnJlYWRjcnVtYiB7XG4gICAgbWFyZ2luOiAzNnB4IGF1dG8gMzRweCBhdXRvO1xuICAgIG1heC13aWR0aDogMTI4NHB4O1xuICB9XG59XG4uYnJlYWRjcnVtYl9fbGlzdCB7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbn1cbi5icmVhZGNydW1iX19pdGVtIHtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5icmVhZGNydW1iX19pdGVtOmFmdGVyIHtcbiAgY29udGVudDogXCI+XCI7XG4gIG1hcmdpbjogMCA1cHggMCA0cHg7XG59XG4uYnJlYWRjcnVtYl9faXRlbTpsYXN0LW9mLXR5cGUge1xuICBmb250LXdlaWdodDogNTAwO1xufVxuLmJyZWFkY3J1bWJfX2l0ZW06bGFzdC1vZi10eXBlIGEge1xuICBjb2xvcjogIzAwQUVFRjtcbn1cbi5icmVhZGNydW1iX19pdGVtOmxhc3Qtb2YtdHlwZTphZnRlciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4uYnJlYWRjcnVtYl9fbGluayB7XG4gIGNvbG9yOiAjMjAxZDFkO1xufVxuLmJyZWFkY3J1bWJfX2xpbms6aG92ZXIsIC5icmVhZGNydW1iX19saW5rOmZvY3VzIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbi5hc2lkZS1zZWN0aW9uIHtcbiAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gIG1hcmdpbi1ib3R0b206IDI0cHg7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLmFzaWRlLXNlY3Rpb24ge1xuICAgIG1hcmdpbi1ib3R0b206IDgwcHg7XG4gIH1cbn1cbi5hc2lkZS1zZWN0aW9uX190aXRsZSB7XG4gIGZvbnQtc2l6ZTogMTYuNXB4O1xuICBsaW5lLWhlaWdodDogMS4zO1xuICBmb250LXdlaWdodDogNTAwO1xuICBwYWRkaW5nLWJvdHRvbTogMTVweDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkNmQ4ZGE7XG4gIGxldHRlci1zcGFjaW5nOiAwLjhweDtcbiAgbWFyZ2luLWJvdHRvbTogMnB4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5hc2lkZS1zZWN0aW9uX190aXRsZSB7XG4gICAgZm9udC1zaXplOiAyMXB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAxOHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDhweDtcbiAgfVxufVxuXG4uZmlsZS1kb3dubG9hZCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogbm93cmFwO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4uYXNpZGUtaGVhZGVyLWJ1dHRvbiB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZzogMjRweCA0MnB4O1xuICBtYXJnaW4tYm90dG9tOiAzMHB4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5hc2lkZS1oZWFkZXItYnV0dG9uIHtcbiAgICBwYWRkaW5nOiAzNnB4IDQycHg7XG4gIH1cbn1cbi5hc2lkZS1oZWFkZXItYnV0dG9uX190aXRsZSB7XG4gIGZvbnQtc2l6ZTogMjJweDtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbWFyZ2luLWJvdHRvbTogMzhweDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuYXNpZGUtaGVhZGVyLWJ1dHRvbl9fdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMjhweDtcbiAgfVxufVxuLmFzaWRlLWhlYWRlci1idXR0b25fX2FjdGlvbiB7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5hc2lkZS1oZWFkZXItYnV0dG9uX19hY3Rpb24ge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cbi5hcnRpY2xlIHtcbiAgcGFkZGluZzogMCAyM3B4O1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5hcnRpY2xlIHtcbiAgICBwYWRkaW5nOiAwIDE1cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5hcnRpY2xlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgbWFyZ2luLWJvdHRvbTogNTBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDE2NTZweCkge1xuICAuYXJ0aWNsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogODBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5hcnRpY2xlOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5hcnRpY2xlOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAzNXB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTQwMHB4KSB7XG4gIC5hcnRpY2xlOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiA1NXB4O1xuICB9XG59XG4uYnJlYWRjcnVtYiArIC5hcnRpY2xlIHtcbiAgbWFyZ2luLXRvcDogMDtcbn1cbi5hcnRpY2xlX19oZWFkZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctYm90dG9tOiA2MHB4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5hcnRpY2xlX19oZWFkZXIge1xuICAgIHBhZGRpbmctYm90dG9tOiA3OHB4O1xuICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxufVxuLmFydGljbGVfX2hlYWRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDc1cHg7XG4gIGhlaWdodDogMXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDZkOGRhO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMzBweDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuYXJ0aWNsZV9faGVhZGVyOmJlZm9yZSB7XG4gICAgd2lkdGg6IDI4M3B4O1xuICAgIGJvdHRvbTogNDVweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5hcnRpY2xlLS1vbmUtY29sdW1uIC5hcnRpY2xlX19oZWFkZXIge1xuICAgIG1heC13aWR0aDogODAwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICB9XG59XG4uYXJ0aWNsZV9faGVhZGVyLS1uby1pbmZvIC5hcnRpY2xlX19oZWFkbGluZSB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG4uYXJ0aWNsZV9fY29udGVudCB7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBmbGV4OiAwIDAgMTAwJTtcbiAgbWF4LXdpZHRoOiA4MDBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5hcnRpY2xlX19jb250ZW50IHtcbiAgICBmbGV4OiAwIDAgY2FsYygxMDAlIC0gNDE0cHgpO1xuICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gNDE0cHgpO1xuICAgIG1hcmdpbjogMDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDE0MDBweCkge1xuICAuYXJ0aWNsZV9fY29udGVudCB7XG4gICAgZmxleDogMCAwIDgwMHB4O1xuICAgIG1heC13aWR0aDogODAwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuYXJ0aWNsZV9fY29udGVudDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgfVxufVxuLmFydGljbGVfX2FzaWRlIHtcbiAgZmxleDogMCAwIDEwMCU7XG4gIG1hcmdpbi10b3A6IDQwcHg7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLmFydGljbGVfX2FzaWRlIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIGZsZXg6IDAgMCAzNjRweDtcbiAgICBtYXgtd2lkdGg6IDM2NHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTQwMHB4KSB7XG4gIC5hcnRpY2xlX19hc2lkZSB7XG4gICAgZmxleDogMCAwIDM4NHB4O1xuICAgIG1heC13aWR0aDogMzg0cHg7XG4gIH1cbn1cbi5hcnRpY2xlX19hc2lkZSAubmV3c2xldHRlcl9faGVhZGVyIHtcbiAgbWluLWhlaWdodDogNjBweDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxNDAwcHgpIHtcbiAgLmFydGljbGVfX2FzaWRlIC5uZXdzbGV0dGVyX19oZWFkZXIge1xuICAgIGhlaWdodDogMTAwcHg7XG4gIH1cbn1cbi5hcnRpY2xlX19hc2lkZSAudGVhc2VyIHtcbiAgbWFyZ2luOiAwIGF1dG8gNDVweDtcbiAgbWF4LXdpZHRoOiA0MDBweDtcbn1cbi5hcnRpY2xlX19hc2lkZSAudGVhc2VyLm5ld3NsZXR0ZXIge1xuICBtYXJnaW46IDAgLTIzcHggNDVweDtcbiAgbWF4LXdpZHRoOiBub25lO1xuICBkaXNwbGF5OiBub25lO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5hcnRpY2xlX19hc2lkZSAudGVhc2VyLm5ld3NsZXR0ZXIge1xuICAgIG1hcmdpbjogMCAtMTVweCA0NXB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuYXJ0aWNsZV9fYXNpZGUgLnRlYXNlci5uZXdzbGV0dGVyIHtcbiAgICBtYXJnaW46IDAgMCA0NXB4IDA7XG4gIH1cbn1cbi5hcnRpY2xlX19hc2lkZSAudGVhc2VyLTM2NSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLmFydGljbGVfX2FzaWRlIC50ZWFzZXItMzY1IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZDZkOGRhO1xuICAgIG1hcmdpbjogMCAwIDU0cHggMDtcbiAgfVxufVxuLmFydGljbGVfX2FzaWRlIC5yZWFkLXRvbyB7XG4gIG1hcmdpbjogMCAtMjNweCAyNXB4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5hcnRpY2xlX19hc2lkZSAucmVhZC10b28ge1xuICAgIG1hcmdpbjogMCAtMTVweCAyNXB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLmFydGljbGVfX2FzaWRlIC5yZWFkLXRvbyB7XG4gICAgbWFyZ2luOiAwIDAgNDBweCAwO1xuICB9XG59XG4uYXJ0aWNsZV9fYXNpZGUgLnJlYWQtdG9vX190aXRsZSB7XG4gIHBhZGRpbmc6IDAgMjNweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5hcnRpY2xlX19hc2lkZSAucmVhZC10b29fX3RpdGxlIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbn1cbi5hcnRpY2xlX19hc2lkZSAudGVhc2VyLXNob3J0IHtcbiAgcGFkZGluZy1sZWZ0OiAyM3B4O1xuICBwYWRkaW5nLXJpZ2h0OiAyM3B4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5hcnRpY2xlX19hc2lkZSAudGVhc2VyLXNob3J0IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gICAgcGFkZGluZy1yaWdodDogMTVweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5hcnRpY2xlX19hc2lkZS1jb250ZW50LS1zdGlja3kge1xuICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgdG9wOiAxMDBweDtcbiAgfVxufVxuLmFydGljbGVfX2hlYWRsaW5lIHtcbiAgZm9udC1zaXplOiAyOXB4O1xuICBtYXJnaW4tdG9wOiA0MHB4O1xuICBsaW5lLWhlaWdodDogMS4zO1xuICBtYXJnaW4tYm90dG9tOiA1NXB4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5hcnRpY2xlX19oZWFkbGluZSB7XG4gICAgZm9udC1zaXplOiA1NnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgbWFyZ2luLXRvcDogNXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDc1cHg7XG4gIH1cbn1cbi5hcnRpY2xlX19oZWFkbGluZSArIC5hcnRpY2xlX19pbmZvIHtcbiAgbWFyZ2luLXRvcDogLTQzcHg7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLmFydGljbGVfX2hlYWRsaW5lICsgLmFydGljbGVfX2luZm8ge1xuICAgIG1hcmdpbi10b3A6IC02M3B4O1xuICB9XG59XG4uYXJ0aWNsZV9faW5mbyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbn1cbi5hcnRpY2xlX19sYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMEFFRUY7XG4gIGZvbnQtc2l6ZTogMTAuNXB4O1xuICBsaW5lLWhlaWdodDogMTdweDtcbiAgaGVpZ2h0OiAxN3B4O1xuICBwYWRkaW5nOiAwIDZweDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzO1xuICBtYXJnaW46IDAgMjBweCAwIDA7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLmFydGljbGVfX2xhYmVsIHtcbiAgICBmb250LXNpemU6IDE3cHg7XG4gICAgbGluZS1oZWlnaHQ6IDMzcHg7XG4gICAgaGVpZ2h0OiAzM3B4O1xuICAgIHBhZGRpbmc6IDAgOHB4O1xuICAgIG1hcmdpbi1yaWdodDogNTJweDtcbiAgfVxufVxuLmFydGljbGVfX2xhYmVsW2hyZWZdOmhvdmVyIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDlhZTA7XG59XG4udGFiLW5hdmlnYXRpb24gLmFydGljbGVfX2xhYmVsW2hyZWZdOmZvY3VzIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDlhZTA7XG59XG4uYXJ0aWNsZV9fdGltZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgY29sb3I6ICMyMDFkMWQ7XG4gIHBhZGRpbmc6IDA7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGZvbnQtc2l6ZTogMTAuNXB4O1xuICBsaW5lLWhlaWdodDogMTdweDtcbiAgaGVpZ2h0OiAxN3B4O1xuICBsZXR0ZXItc3BhY2luZzogMDtcbiAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5hcnRpY2xlX190aW1lIHtcbiAgICBmb250LXNpemU6IDE3cHg7XG4gICAgbGluZS1oZWlnaHQ6IDMzcHg7XG4gICAgaGVpZ2h0OiAzM3B4O1xuICAgIG1hcmdpbi1yaWdodDogNTJweDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG4uYXJ0aWNsZV9fbWFpbiB7XG4gIHBhZGRpbmc6IDAgOHB4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5hcnRpY2xlX19tYWluIHtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG59XG4uYXJ0aWNsZV9faGVyby1pbWcge1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG4uYXJ0aWNsZV9fbmF2dGl0bGUge1xuICBkaXNwbGF5OiBub25lO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5hcnRpY2xlX19uYXZ0aXRsZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICBtYXJnaW4tYm90dG9tOiAzNXB4O1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjJweDtcbiAgfVxufVxuLmFydGljbGVfX25hdiB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZDBkMmQzO1xuICBtYXJnaW4tYm90dG9tOiA1MHB4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5hcnRpY2xlX19uYXYge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgfVxufVxuLmFydGljbGVfX25hdi1saW5rIHtcbiAgaGVpZ2h0OiBhdXRvO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmb250LXdlaWdodDogNDAwO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnM7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBsZXR0ZXItc3BhY2luZzogMC4ycHg7XG4gIG1pbi1oZWlnaHQ6IDQ4cHg7XG59XG4uYXJ0aWNsZV9fbmF2LWxpbms6bm90KDpkaXNhYmxlZCkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xufVxuLmFydGljbGVfX25hdi1saW5rOm5vdCg6ZGlzYWJsZWQpIHtcbiAgY29sb3I6ICMyMDFkMWQ7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLmFydGljbGVfX25hdi1saW5rIHtcbiAgICBmb250LXNpemU6IDE5cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTRweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5hcnRpY2xlX19uYXYtbGluay0taGlkZGVuIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGhlaWdodDogMDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5hcnRpY2xlX19uYXYtbGluazpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgzMiwgMjksIDI5LCAwLjA0KTtcbiAgfVxufVxuLmFydGljbGVfX25hdi1saW5rOmhvdmVyIC5tZGMtYnV0dG9uX19yaXBwbGU6YmVmb3JlLFxuLmFydGljbGVfX25hdi1saW5rOmhvdmVyIC5tZGMtYnV0dG9uX19yaXBwbGU6YWZ0ZXIge1xuICBvcGFjaXR5OiAwO1xufVxuLmFydGljbGVfX25hdi1saW5rLm1kYy1yaXBwbGUtdXBncmFkZWQge1xuICAtLW1kYy1yaXBwbGUtZmctb3BhY2l0eTogMC4wNDtcbn1cbi5hcnRpY2xlX19uYXYtbGluayAubWRjLWJ1dHRvbl9fcmlwcGxlOmJlZm9yZSwgLmFydGljbGVfX25hdi1saW5rIC5tZGMtYnV0dG9uX19yaXBwbGU6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjAxZDFkO1xufVxuLmFydGljbGVfX25hdi1saW5rIC5tZGMtYnV0dG9uX19sYWJlbCB7XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG59XG4uYXJ0aWNsZV9fbmF2LWxpbms6Zm9jdXMgLm1kYy1idXR0b25fX3JpcHBsZTpiZWZvcmUsXG4uYXJ0aWNsZV9fbmF2LWxpbms6Zm9jdXMgLm1kYy1idXR0b25fX3JpcHBsZTphZnRlciB7XG4gIG9wYWNpdHk6IDA7XG59XG4udGFiLW5hdmlnYXRpb24gLmFydGljbGVfX25hdi1saW5rOmZvY3VzIC5tZGMtYnV0dG9uX19yaXBwbGU6YmVmb3JlLFxuLnRhYi1uYXZpZ2F0aW9uIC5hcnRpY2xlX19uYXYtbGluazpmb2N1cyAubWRjLWJ1dHRvbl9fcmlwcGxlOmFmdGVyIHtcbiAgb3BhY2l0eTogMC4wNDtcbn1cbi5hcnRpY2xlX19uYXYtbGluay5hY3RpdmUgLm1kYy1idXR0b25fX3JpcHBsZTpiZWZvcmUge1xuICBvcGFjaXR5OiAwO1xufVxuLm5hdi1waWxscyAuYXJ0aWNsZV9fbmF2LWxpbmsuYWN0aXZlIHtcbiAgY29sb3I6ICMyMDFkMWQ7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMzIsIDI5LCAyOSwgMC4wOCk7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLm5hdi1waWxscyAuYXJ0aWNsZV9fbmF2LWxpbmsuYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDMyLCAyOSwgMjksIDAuMDQpO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLmFydGljbGVfX25hdi1saW5rLmFjdGl2ZTphZnRlciB7XG4gICAgaGVpZ2h0OiAzMHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLmFydGljbGVfX25hdi1saW5rOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAzcHg7XG4gICAgaGVpZ2h0OiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBtYXJnaW46IGF1dG87XG4gICAgcmlnaHQ6IDVweDtcbiAgICB0b3A6IC0xMDAlO1xuICAgIGJvdHRvbTogLTEwMCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwQUVFRjtcbiAgICB0cmFuc2l0aW9uOiBoZWlnaHQgMC4ycztcbiAgfVxufVxuLmFydGljbGVfX25hdi1zZWxlY3QtdG9nZ2xlIHtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBoZWlnaHQ6IDQ4cHg7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMnB4O1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBwYWRkaW5nOiAwIDQwcHggMCAyMHB4O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAxMnB4IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiAxMnB4IDI1cHg7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmclMjB4bWxucyUzRCUyMmh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJTIyJTIwZmlsbCUzRCUyMiUyM2ZmZiUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDE2JTIwMzIlMjIlM0UlM0NwYXRoJTIwZCUzRCUyMk0xNCwxMS4xSDNMOC41LDJaTTMsMjFIMTRMOC41LDMwLjFaJTIyLyUzRSUzQ3BhdGglMjBkJTNEJTIyTTE2LDMySDBWMEgxNlolMjIlMjBmaWxsJTNEJTIybm9uZSUyMi8lM0UlM0Mvc3ZnJTNFXCIpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xufVxuLmFydGljbGVfX25hdi1zZWxlY3QtdG9nZ2xlOm5vdCg6ZGlzYWJsZWQpIHtcbiAgYm9yZGVyLWNvbG9yOiAjMDBhM2UwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDBhM2UwO1xuICBjb2xvcjogI2ZmZjtcbn1cbi5hcnRpY2xlX19uYXYtc2VsZWN0IHtcbiAgd2lkdGg6IDEwMCU7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG4uYXJ0aWNsZV9fbmF2LXNlbGVjdCBidXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiBub25lO1xuICB3aWR0aDogMTAwJTtcbn1cbi5hcnRpY2xlX190YWJzLW5hdiB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgYm90dG9tOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMjtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuYXJ0aWNsZV9fdGFicy1uYXYge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgei1pbmRleDogYXV0bztcbiAgICBib3R0b206IGF1dG87XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgcGFkZGluZzogMTRweCAxNXB4O1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIGZsZXg6IDAgMCAyNjBweDtcbiAgICBtYXgtd2lkdGg6IDI2MHB4O1xuICB9XG59XG4uYXJ0aWNsZV9fbW9iaWxlLW5hdiB7XG4gIGZsZXg6IDAgMCAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmctYm90dG9tOiAyMHB4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5hcnRpY2xlX19tb2JpbGUtbmF2IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG4uYXJ0aWNsZV9fbW9iaWxlLW5hdiAubWRjLW1lbnUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDBBRUVGO1xuICBib3JkZXI6IDFweCBzb2xpZCAjMDBBRUVGO1xuICBib3gtc2hhZG93OiBub25lO1xuICB0b3A6IDQ4cHggIWltcG9ydGFudDtcbn1cbi5hcnRpY2xlX19tb2JpbGUtbmF2IC5tZGMtbGlzdC1pdGVtIHtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG4uYXJ0aWNsZV9fbW9iaWxlLW5hdiAubWRjLWxpc3QtaXRlbS5zZWxlY3RlZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMGEzZTA7XG59XG4uYXJ0aWNsZV9fbW9iaWxlLW5hdiAubWRjLW1lbnUtc3VyZmFjZS0tYW5jaG9yIHtcbiAgd2lkdGg6IDEwMCU7XG59XG4uYXJ0aWNsZV9fcmVhZC10aW1lIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGNvbG9yOiAjMjAxZDFkO1xuICBmb250LXdlaWdodDogMzAwO1xuICBmb250LXNpemU6IDEwLjVweDtcbiAgbGluZS1oZWlnaHQ6IDE3cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAtMjBweDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuYXJ0aWNsZV9fcmVhZC10aW1lIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDE0cHg7XG4gICAgdG9wOiAtMzBweDtcbiAgfVxufVxuLmFydGljbGVfX3JlYWQtdGltZSBzcGFuIHtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuLnNoYXJlIHtcbiAgZGlzcGxheTogZmxleDtcbiAgY29sb3I6ICMyMDFkMWQ7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGZvbnQtc2l6ZTogMTAuNXB4O1xuICBsaW5lLWhlaWdodDogMTdweDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuc2hhcmUge1xuICAgIGZvbnQtc2l6ZTogMTdweDtcbiAgICBsaW5lLWhlaWdodDogMzNweDtcbiAgfVxufVxuLnNoYXJlX19saW5rcyB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgZGlzcGxheTogZmxleDtcbn1cbi5zaGFyZV9fbGFiZWwge1xuICBtYXJnaW4tcmlnaHQ6IDI1cHg7XG59XG4uc2hhcmVfX2xpbmsgKyAuc2hhcmVfX2xpbmsge1xuICBtYXJnaW4tbGVmdDogMTVweDtcbn1cbi5zaGFyZV9faWNvbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gIHdpZHRoOiAyMHB4O1xuICBoZWlnaHQ6IDIwcHg7XG4gIGJhY2tncm91bmQtc2l6ZTogMjBweCAyMHB4O1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycztcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuc2hhcmVfX2ljb24ge1xuICAgIHdpZHRoOiAzNXB4O1xuICAgIGhlaWdodDogMzVweDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDM1cHggMzVweDtcbiAgfVxufVxuLnNoYXJlX19pY29uLS1mYWNlYm9vayB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnJTIweG1sbnMlM0QlMjJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDEwMCUyMDEwMCUyMiUzRSUzQ2NpcmNsZSUyMGZpbGwlM0QlMjIlMjNGRkZGRkYlMjIlMjBjeCUzRCUyMjUwJTIyJTIwY3klM0QlMjI1MCUyMiUyMHIlM0QlMjI0OCUyMi8lM0UlM0NwYXRoJTIwZmlsbCUzRCUyMiUyMzQzNjliMiUyMiUyMGQlM0QlMjJNOTksNTBDOTksMjIuOSw3Ny4xLDEsNTAsMUMyMi45LDEsMSwyMi45LDEsNTBjMCwyNC41LDE3LjksNDQuNyw0MS4zLDQ4LjRWNjQuMkgyOS45VjUwaDEyLjRWMzkuMmMwLTEyLjMsNy4zLTE5LjEsMTguNS0xOS4xYzUuNCwwLDExLDEsMTEsMXYxMi4xaC02LjJjLTYuMSwwLTgsMy44LTgsNy43VjUwaDEzLjZsLTIuMiwxNC4ySDU3Ljd2MzQuMkM4MS4xLDk0LjcsOTksNzQuNSw5OSw1MCUyMi8lM0UlM0Mvc3ZnJTNFXCIpO1xufVxuLnNoYXJlX19pY29uLS1mYWNlYm9vazpob3ZlciB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnJTIweG1sbnMlM0QlMjJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDEwMCUyMDEwMCUyMiUzRSUzQ2NpcmNsZSUyMGZpbGwlM0QlMjIlMjNGRkZGRkYlMjIlMjBjeCUzRCUyMjUwJTIyJTIwY3klM0QlMjI1MCUyMiUyMHIlM0QlMjI0OCUyMi8lM0UlM0NwYXRoJTIwZmlsbCUzRCUyMiUyMzNiNWM5YyUyMiUyMGQlM0QlMjJNOTksNTBDOTksMjIuOSw3Ny4xLDEsNTAsMUMyMi45LDEsMSwyMi45LDEsNTBjMCwyNC41LDE3LjksNDQuNyw0MS4zLDQ4LjRWNjQuMkgyOS45VjUwaDEyLjRWMzkuMmMwLTEyLjMsNy4zLTE5LjEsMTguNS0xOS4xYzUuNCwwLDExLDEsMTEsMXYxMi4xaC02LjJjLTYuMSwwLTgsMy44LTgsNy43VjUwaDEzLjZsLTIuMiwxNC4ySDU3Ljd2MzQuMkM4MS4xLDk0LjcsOTksNzQuNSw5OSw1MCUyMi8lM0UlM0Mvc3ZnJTNFXCIpO1xufVxuLnNoYXJlX19pY29uLS1saW5rZWRpbiB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnJTIweG1sbnMlM0QlMjJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyUyMiUyMGZpbGwlM0QlMjIlMjMwMDdiYjUlMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAzMiUyMDMyJTIyJTNFJTNDcGF0aCUyMGNsYXNzJTNEJTIyc3QxJTIyJTIwZCUzRCUyMk0xNiwxQzcuNzIsMSwxLDcuNzIsMSwxNmMwLDguMjgsNi43MiwxNSwxNSwxNWM4LjI4LDAsMTUtNi43MiwxNS0xNUMzMSw3LjcyLDI0LjI4LDEsMTYsMXolMjBNMTIuMTgsMjEuMzdIOS4zMXYtOS4yMmgyLjg3VjIxLjM3eiUyME0xMC43NSwxMC44OWMtMC45MiwwLTEuNjYtMC43NS0xLjY2LTEuNjZjMC0wLjkyLDAuNzQtMS42NiwxLjY2LTEuNjZjMC45MiwwLDEuNjYsMC43NCwxLjY2LDEuNjZDMTIuNDEsMTAuMTUsMTEuNjcsMTAuODksMTAuNzUsMTAuODl6JTIwTTIyLjkxLDIxLjM3aC0yLjg2di00LjQ4YzAtMS4wNy0wLjAyLTIuNDQtMS40OS0yLjQ0Yy0xLjQ5LDAtMS43MiwxLjE2LTEuNzIsMi4zN3Y0LjU2aC0yLjg2di05LjIyaDIuNzV2MS4yNmgwLjA0YzAuMzgtMC43MywxLjMyLTEuNDksMi43MS0xLjQ5YzIuOSwwLDMuNDQsMS45MSwzLjQ0LDQuMzlWMjEuMzd6JTIyLyUzRSUzQy9zdmclM0VcIik7XG59XG4uc2hhcmVfX2ljb24tLWxpbmtlZGluOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmclMjB4bWxucyUzRCUyMmh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJTIyJTIwZmlsbCUzRCUyMiUyMzAwNjY5NiUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDMyJTIwMzIlMjIlM0UlM0NwYXRoJTIwY2xhc3MlM0QlMjJzdDElMjIlMjBkJTNEJTIyTTE2LDFDNy43MiwxLDEsNy43MiwxLDE2YzAsOC4yOCw2LjcyLDE1LDE1LDE1YzguMjgsMCwxNS02LjcyLDE1LTE1QzMxLDcuNzIsMjQuMjgsMSwxNiwxeiUyME0xMi4xOCwyMS4zN0g5LjMxdi05LjIyaDIuODdWMjEuMzd6JTIwTTEwLjc1LDEwLjg5Yy0wLjkyLDAtMS42Ni0wLjc1LTEuNjYtMS42NmMwLTAuOTIsMC43NC0xLjY2LDEuNjYtMS42NmMwLjkyLDAsMS42NiwwLjc0LDEuNjYsMS42NkMxMi40MSwxMC4xNSwxMS42NywxMC44OSwxMC43NSwxMC44OXolMjBNMjIuOTEsMjEuMzdoLTIuODZ2LTQuNDhjMC0xLjA3LTAuMDItMi40NC0xLjQ5LTIuNDRjLTEuNDksMC0xLjcyLDEuMTYtMS43MiwyLjM3djQuNTZoLTIuODZ2LTkuMjJoMi43NXYxLjI2aDAuMDRjMC4zOC0wLjczLDEuMzItMS40OSwyLjcxLTEuNDljMi45LDAsMy40NCwxLjkxLDMuNDQsNC4zOVYyMS4zN3olMjIvJTNFJTNDL3N2ZyUzRVwiKTtcbn1cbi5zaGFyZV9faWNvbi0tdHdpdHRlciB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnJTIweG1sbnMlM0QlMjJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDMyJTIwMzIlMjIlM0UlM0NnJTNFJTNDcGF0aCUyMGZpbGwlM0QlMjIlMjMxZGExZjMlMjIlMjBzdHJva2Utd2lkdGglM0QlMjIwJTIyJTIwZCUzRCUyMk0xNiwxQzcuNywxLDEsNy43LDEsMTZzNi43LDE1LDE1LDE1LDE1LTYuNywxNS0xNVMyNC4zLDEsMTYsMVpNMTkuMiwyMy41bC00LjEtNS40LTQuNiw1LjRoLTIuNWw1LjktNy02LjItOC4xaDUuMWwzLjcsNC45LDQuMi00LjloMi41bC01LjUsNi41LDYuNSw4LjZoLTUuMVolMjIvJTNFJTNDcG9seWdvbiUyMGZpbGwlM0QlMjIlMjMxZGExZjMlMjIlMjBzdHJva2Utd2lkdGglM0QlMjIwJTIyJTIwcG9pbnRzJTNEJTIyMTYuNyUyMDE1LjclMjAxMi4zJTIwOS44JTIwMTAuNSUyMDkuOCUyMDE0LjglMjAxNS41JTIwMTYlMjAxNy4xJTIwMTkuOSUyMDIyLjElMjAyMS40JTIwMjIuMSUyMDE2LjklMjAxNiUyMDE2LjclMjAxNS43JTIyLyUzRSUzQy9nJTNFJTNDL3N2ZyUzRVwiKTtcbn1cbi5zaGFyZV9faWNvbi0tdHdpdHRlcjpob3ZlciB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnJTIweG1sbnMlM0QlMjJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDMyJTIwMzIlMjIlM0UlM0NnJTNFJTNDcGF0aCUyMGZpbGwlM0QlMjIlMjMwYzkyZTUlMjIlMjBzdHJva2Utd2lkdGglM0QlMjIwJTIyJTIwZCUzRCUyMk0xNiwxQzcuNywxLDEsNy43LDEsMTZzNi43LDE1LDE1LDE1LDE1LTYuNywxNS0xNVMyNC4zLDEsMTYsMVpNMTkuMiwyMy41bC00LjEtNS40LTQuNiw1LjRoLTIuNWw1LjktNy02LjItOC4xaDUuMWwzLjcsNC45LDQuMi00LjloMi41bC01LjUsNi41LDYuNSw4LjZoLTUuMVolMjIvJTNFJTNDcG9seWdvbiUyMGZpbGwlM0QlMjIlMjMwYzkyZTUlMjIlMjBzdHJva2Utd2lkdGglM0QlMjIwJTIyJTIwcG9pbnRzJTNEJTIyMTYuNyUyMDE1LjclMjAxMi4zJTIwOS44JTIwMTAuNSUyMDkuOCUyMDE0LjglMjAxNS41JTIwMTYlMjAxNy4xJTIwMTkuOSUyMDIyLjElMjAyMS40JTIwMjIuMSUyMDE2LjklMjAxNiUyMDE2LjclMjAxNS43JTIyLyUzRSUzQy9nJTNFJTNDL3N2ZyUzRVwiKTtcbn1cbi5zaGFyZV9faWNvbi0tZW1haWwge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyUyMHhtbG5zJTNEJTIyaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmclMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjA0MCUyMDQwJTIyJTNFJTNDY2lyY2xlJTIwY3glM0QlMjIyMCUyMiUyMGN5JTNEJTIyMjAlMjIlMjByJTNEJTIyMjAlMjIlMjBmaWxsJTNEJTIyJTIzNzc3Nzc5JTIyLyUzRSUzQ2clMjB0cmFuc2Zvcm0lM0QlMjJ0cmFuc2xhdGUoOS40MTglMjAtNTYuODc0KSUyMiUzRSUzQ2clMjB0cmFuc2Zvcm0lM0QlMjJ0cmFuc2xhdGUoMC43NzklMjA2OC4yNjcpJTIyJTNFJTNDZyUyMHRyYW5zZm9ybSUzRCUyMnRyYW5zbGF0ZSgwJTIwMCklMjIlM0UlM0NwYXRoJTIwZCUzRCUyMk0zNy4zMjksNjguMjY3SDE3LjA2N0wyNy4yLDc3LjcyMmwxMC4yNDYtOS40MjlBLjYzMy42MzMsMCwwLDAsMzcuMzI5LDY4LjI2N1olMjIlMjB0cmFuc2Zvcm0lM0QlMjJ0cmFuc2xhdGUoLTE3LjA2NyUyMC02OC4yNjcpJTIyJTIwZmlsbCUzRCUyMiUyM2ZmZiUyMi8lM0UlM0MvZyUzRSUzQy9nJTNFJTNDZyUyMHRyYW5zZm9ybSUzRCUyMnRyYW5zbGF0ZSgwJTIwNjkuODI2KSUyMiUzRSUzQ2clMjB0cmFuc2Zvcm0lM0QlMjJ0cmFuc2xhdGUoMCUyMDApJTIyJTNFJTNDcGF0aCUyMCUyMGQlM0QlMjJNMTEuNCwxMDguMTI4YS43MS43MSwwLDAsMS0uOTg3LDBMMCw5OC40MDZ2MTUuMjE4YS44MzYuODM2LDAsMCwwLC43NzkuODgzSDIxLjA0MmEuODM2LjgzNiwwLDAsMCwuNzc5LS44ODNWOTguNTM3WiUyMiUyMHRyYW5zZm9ybSUzRCUyMnRyYW5zbGF0ZSgwJTIwLTk4LjQwNiklMjIlMjBmaWxsJTNEJTIyJTIzZmZmJTIyLyUzRSUzQy9nJTNFJTNDL2clM0UlM0MvZyUzRSUzQy9zdmclM0VcIik7XG59XG4uc2hhcmVfX2ljb24tLWVtYWlsOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmclMjB4bWxucyUzRCUyMmh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwNDAlMjA0MCUyMiUzRSUzQ2NpcmNsZSUyMGN4JTNEJTIyMjAlMjIlMjBjeSUzRCUyMjIwJTIyJTIwciUzRCUyMjIwJTIyJTIwZmlsbCUzRCUyMiUyMzY4Njg2YSUyMi8lM0UlM0NnJTIwdHJhbnNmb3JtJTNEJTIydHJhbnNsYXRlKDkuNDE4JTIwLTU2Ljg3NCklMjIlM0UlM0NnJTIwdHJhbnNmb3JtJTNEJTIydHJhbnNsYXRlKDAuNzc5JTIwNjguMjY3KSUyMiUzRSUzQ2clMjB0cmFuc2Zvcm0lM0QlMjJ0cmFuc2xhdGUoMCUyMDApJTIyJTNFJTNDcGF0aCUyMGQlM0QlMjJNMzcuMzI5LDY4LjI2N0gxNy4wNjdMMjcuMiw3Ny43MjJsMTAuMjQ2LTkuNDI5QS42MzMuNjMzLDAsMCwwLDM3LjMyOSw2OC4yNjdaJTIyJTIwdHJhbnNmb3JtJTNEJTIydHJhbnNsYXRlKC0xNy4wNjclMjAtNjguMjY3KSUyMiUyMGZpbGwlM0QlMjIlMjNmZmYlMjIvJTNFJTNDL2clM0UlM0MvZyUzRSUzQ2clMjB0cmFuc2Zvcm0lM0QlMjJ0cmFuc2xhdGUoMCUyMDY5LjgyNiklMjIlM0UlM0NnJTIwdHJhbnNmb3JtJTNEJTIydHJhbnNsYXRlKDAlMjAwKSUyMiUzRSUzQ3BhdGglMjAlMjBkJTNEJTIyTTExLjQsMTA4LjEyOGEuNzEuNzEsMCwwLDEtLjk4NywwTDAsOTguNDA2djE1LjIxOGEuODM2LjgzNiwwLDAsMCwuNzc5Ljg4M0gyMS4wNDJhLjgzNi44MzYsMCwwLDAsLjc3OS0uODgzVjk4LjUzN1olMjIlMjB0cmFuc2Zvcm0lM0QlMjJ0cmFuc2xhdGUoMCUyMC05OC40MDYpJTIyJTIwZmlsbCUzRCUyMiUyM2ZmZiUyMi8lM0UlM0MvZyUzRSUzQy9nJTNFJTNDL2clM0UlM0Mvc3ZnJTNFXCIpO1xufVxuLnBheW1lbnQtc2VjdGlvbi10ZWFzZXIgLnNoYXJlIHtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgZm9udC1zaXplOiAxNC41cHg7XG4gIGxpbmUtaGVpZ2h0OiAyMHB4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5wYXltZW50LXNlY3Rpb24tdGVhc2VyIC5zaGFyZSB7XG4gICAgZm9udC1zaXplOiAxN3B4O1xuICAgIGxpbmUtaGVpZ2h0OiAzM3B4O1xuICB9XG59XG5cbi5zaGFyZS1ibG9jayB7XG4gIG1hcmdpbi1ib3R0b206IDE1cHg7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLnNoYXJlLWJsb2NrIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICB9XG59XG5cbi5zaXRlLWZvcm0gLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZDpub3QoLm1kYy10ZXh0LWZpZWxkLS1pbnZhbGlkKTpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCkgaW5wdXQ6LXdlYmtpdC1hdXRvZmlsbCB7XG4gIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiAjMDBBRUVGICFpbXBvcnRhbnQ7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogMCAwIDAgNjBweCAjZjVmY2ZlIGluc2V0ICFpbXBvcnRhbnQ7XG59XG4uc2l0ZS1mb3JtX19jaGVja2JveC0tcmVhZG9ubHkge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIG9wYWNpdHk6IDAuMztcbn1cbi5zaXRlLWZvcm1fX2NoZWNrYm94LS1yZWFkb25seSB+IGxhYmVsIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xufVxuLnNpdGUtZm9ybV9fY2hlY2tib3gtLXJlYWRvbmx5IH4gbGFiZWwgYSB7XG4gIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xufVxuLnNpdGUtZm9ybSAubWRjLWZsb2F0aW5nLWxhYmVsIHtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGxldHRlci1zcGFjaW5nOiAtMC4ycHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICBkaXNwbGF5OiBibG9jaztcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuc2l0ZS1mb3JtIC5tZGMtZmxvYXRpbmctbGFiZWwge1xuICAgIGxldHRlci1zcGFjaW5nOiAwO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTY1NnB4KSB7XG4gIC5zaXRlLWZvcm0gLm1kYy1mbG9hdGluZy1sYWJlbCB7XG4gICAgZm9udC1zaXplOiAxOXB4O1xuICB9XG59XG4uc2l0ZS1mb3JtIC5tZGMtZmxvYXRpbmctbGFiZWwubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSB7XG4gIHRleHQtb3ZlcmZsb3c6IGNsaXA7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbn1cbi5zaXRlLWZvcm0gaW5wdXRbcmVhZG9ubHldICsgLm1kYy1ub3RjaGVkLW91dGxpbmUtLW5vdGNoZWQgLm1kYy1ub3RjaGVkLW91dGxpbmVfX2xlYWRpbmcsXG4uc2l0ZS1mb3JtIGlucHV0W3JlYWRvbmx5XSArIC5tZGMtbm90Y2hlZC1vdXRsaW5lLS1ub3RjaGVkIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19ub3RjaCxcbi5zaXRlLWZvcm0gaW5wdXRbcmVhZG9ubHldICsgLm1kYy1ub3RjaGVkLW91dGxpbmUtLW5vdGNoZWQgLm1kYy1ub3RjaGVkLW91dGxpbmVfX3RyYWlsaW5nIHtcbiAgYm9yZGVyLXdpZHRoOiAxcHg7XG59XG4uc2l0ZS1mb3JtIGlucHV0W3JlYWRvbmx5XSArIC5tZGMtbm90Y2hlZC1vdXRsaW5lLS1ub3RjaGVkIC5tZGMtZmxvYXRpbmctbGFiZWwge1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbn1cbi5zaXRlLWZvcm0gLm1kYy1zZWxlY3QtLW91dGxpbmVkIC5tZGMtZmxvYXRpbmctbGFiZWwubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSB7XG4gIG1pbi13aWR0aDogMDtcbiAgbWF4LXdpZHRoOiBub25lO1xufVxuLnNpdGUtZm9ybSAubWRjLWNoZWNrYm94IHtcbiAgbWFyZ2luLWxlZnQ6IC0xMXB4O1xuICBtYXJnaW4tYm90dG9tOiAtOHB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuLnNpdGUtZm9ybSAubWRjLWNoZWNrYm94IC5tZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sOmVuYWJsZWQ6bm90KDpjaGVja2VkKTpub3QoOmluZGV0ZXJtaW5hdGUpOm5vdChbZGF0YS1pbmRldGVybWluYXRlPXRydWVdKSB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQge1xuICBib3JkZXItY29sb3I6ICMwMGE1ZTM7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7XG59XG4uc2l0ZS1mb3JtIC5tZGMtY2hlY2tib3ggLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2w6ZW5hYmxlZDpjaGVja2VkIH4gLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZCxcbi5zaXRlLWZvcm0gLm1kYy1jaGVja2JveCAubWRjLWNoZWNrYm94X19uYXRpdmUtY29udHJvbDplbmFibGVkOmluZGV0ZXJtaW5hdGUgfiAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kLFxuLnNpdGUtZm9ybSAubWRjLWNoZWNrYm94IC5tZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sW2RhdGEtaW5kZXRlcm1pbmF0ZT10cnVlXTplbmFibGVkIH4gLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZCB7XG4gIGJvcmRlci1jb2xvcjogIzAwYTVlMztcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwYTVlMztcbn1cbkBrZXlmcmFtZXMgbWRjLWNoZWNrYm94LWZhZGUtaW4tYmFja2dyb3VuZC1GRjAwQTVFM0ZGMDBBNUUzMDAwMDAwMDBGRjAwQTVFMyB7XG4gIDAlIHtcbiAgICBib3JkZXItY29sb3I6ICMwMGE1ZTM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTtcbiAgfVxuICA1MCUge1xuICAgIGJvcmRlci1jb2xvcjogIzAwYTVlMztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDBhNWUzO1xuICB9XG59XG5Aa2V5ZnJhbWVzIG1kYy1jaGVja2JveC1mYWRlLW91dC1iYWNrZ3JvdW5kLUZGMDBBNUUzRkYwMEE1RTMwMDAwMDAwMEZGMDBBNUUzIHtcbiAgMCUsIDgwJSB7XG4gICAgYm9yZGVyLWNvbG9yOiAjMDBhNWUzO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMGE1ZTM7XG4gIH1cbiAgMTAwJSB7XG4gICAgYm9yZGVyLWNvbG9yOiAjMDBhNWUzO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7XG4gIH1cbn1cbi5zaXRlLWZvcm0gLm1kYy1jaGVja2JveC5tZGMtY2hlY2tib3gtLWFuaW0tdW5jaGVja2VkLWNoZWNrZWQgLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2w6ZW5hYmxlZCB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQsIC5zaXRlLWZvcm0gLm1kYy1jaGVja2JveC5tZGMtY2hlY2tib3gtLWFuaW0tdW5jaGVja2VkLWluZGV0ZXJtaW5hdGUgLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2w6ZW5hYmxlZCB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQge1xuICBhbmltYXRpb24tbmFtZTogbWRjLWNoZWNrYm94LWZhZGUtaW4tYmFja2dyb3VuZC1GRjAwQTVFM0ZGMDBBNUUzMDAwMDAwMDBGRjAwQTVFMztcbn1cbi5zaXRlLWZvcm0gLm1kYy1jaGVja2JveC5tZGMtY2hlY2tib3gtLWFuaW0tY2hlY2tlZC11bmNoZWNrZWQgLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2w6ZW5hYmxlZCB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQsIC5zaXRlLWZvcm0gLm1kYy1jaGVja2JveC5tZGMtY2hlY2tib3gtLWFuaW0taW5kZXRlcm1pbmF0ZS11bmNoZWNrZWQgLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2w6ZW5hYmxlZCB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQge1xuICBhbmltYXRpb24tbmFtZTogbWRjLWNoZWNrYm94LWZhZGUtb3V0LWJhY2tncm91bmQtRkYwMEE1RTNGRjAwQTVFMzAwMDAwMDAwRkYwMEE1RTM7XG59XG4uc2l0ZS1mb3JtIC5tZGMtY2hlY2tib3ggLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2w6ZW5hYmxlZCB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQgLm1kYy1jaGVja2JveF9fY2hlY2ttYXJrIHtcbiAgY29sb3I6ICNmZmY7XG59XG4uc2l0ZS1mb3JtIC5tZGMtY2hlY2tib3ggLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2w6ZW5hYmxlZCB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQgLm1kYy1jaGVja2JveF9fbWl4ZWRtYXJrIHtcbiAgYm9yZGVyLWNvbG9yOiAjZmZmO1xufVxuLnNpdGUtZm9ybSAubWRjLWNoZWNrYm94IC5tZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sOmNoZWNrZWQgfiAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kOjpiZWZvcmUsXG4uc2l0ZS1mb3JtIC5tZGMtY2hlY2tib3ggLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2w6aW5kZXRlcm1pbmF0ZSB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQ6OmJlZm9yZSxcbi5zaXRlLWZvcm0gLm1kYy1jaGVja2JveCAubWRjLWNoZWNrYm94X19uYXRpdmUtY29udHJvbFtkYXRhLWluZGV0ZXJtaW5hdGU9dHJ1ZV0gfiAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDBhNWUzO1xufVxuLnNpdGUtZm9ybSAubWRjLWNoZWNrYm94Lm1kYy1jaGVja2JveC0tc2VsZWN0ZWQgLm1kYy1jaGVja2JveF9fcmlwcGxlOjpiZWZvcmUsIC5zaXRlLWZvcm0gLm1kYy1jaGVja2JveC5tZGMtY2hlY2tib3gtLXNlbGVjdGVkIC5tZGMtY2hlY2tib3hfX3JpcHBsZTo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDBhNWUzO1xufVxuLnNpdGUtZm9ybSAubWRjLWNoZWNrYm94Lm1kYy1jaGVja2JveC0tc2VsZWN0ZWQ6aG92ZXIgLm1kYy1jaGVja2JveF9fcmlwcGxlOjpiZWZvcmUge1xuICBvcGFjaXR5OiAwLjA4O1xufVxuLnNpdGUtZm9ybSAubWRjLWNoZWNrYm94Lm1kYy1jaGVja2JveC0tc2VsZWN0ZWQubWRjLXJpcHBsZS11cGdyYWRlZC0tYmFja2dyb3VuZC1mb2N1c2VkIC5tZGMtY2hlY2tib3hfX3JpcHBsZTo6YmVmb3JlLCAuc2l0ZS1mb3JtIC5tZGMtY2hlY2tib3gubWRjLWNoZWNrYm94LS1zZWxlY3RlZDpub3QoLm1kYy1yaXBwbGUtdXBncmFkZWQpOmZvY3VzIC5tZGMtY2hlY2tib3hfX3JpcHBsZTo6YmVmb3JlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNzVtcztcbiAgb3BhY2l0eTogMC4yNDtcbn1cbi5zaXRlLWZvcm0gLm1kYy1jaGVja2JveC5tZGMtY2hlY2tib3gtLXNlbGVjdGVkOm5vdCgubWRjLXJpcHBsZS11cGdyYWRlZCkgLm1kYy1jaGVja2JveF9fcmlwcGxlOjphZnRlciB7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMTUwbXMgbGluZWFyO1xufVxuLnNpdGUtZm9ybSAubWRjLWNoZWNrYm94Lm1kYy1jaGVja2JveC0tc2VsZWN0ZWQ6bm90KC5tZGMtcmlwcGxlLXVwZ3JhZGVkKTphY3RpdmUgLm1kYy1jaGVja2JveF9fcmlwcGxlOjphZnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDc1bXM7XG4gIG9wYWNpdHk6IDAuMjQ7XG59XG4uc2l0ZS1mb3JtIC5tZGMtY2hlY2tib3gubWRjLWNoZWNrYm94LS1zZWxlY3RlZC5tZGMtcmlwcGxlLXVwZ3JhZGVkIHtcbiAgLS1tZGMtcmlwcGxlLWZnLW9wYWNpdHk6IDAuMjQ7XG59XG4uc2l0ZS1mb3JtIC5tZGMtY2hlY2tib3gubWRjLXJpcHBsZS11cGdyYWRlZC0tYmFja2dyb3VuZC1mb2N1c2VkLm1kYy1jaGVja2JveC0tc2VsZWN0ZWQgLm1kYy1jaGVja2JveF9fcmlwcGxlOjpiZWZvcmUsXG4uc2l0ZS1mb3JtIC5tZGMtY2hlY2tib3gubWRjLXJpcHBsZS11cGdyYWRlZC0tYmFja2dyb3VuZC1mb2N1c2VkLm1kYy1jaGVja2JveC0tc2VsZWN0ZWQgLm1kYy1jaGVja2JveF9fcmlwcGxlOjphZnRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMGE1ZTM7XG59XG4uc2l0ZS1mb3JtIC5tZGMtY2hlY2tib3ggLm1kYy1jaGVja2JveF9fcmlwcGxlIHtcbiAgYm9yZGVyLXJhZGl1czogMTAwcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcbn1cbi5zaXRlLWZvcm0gLm1kYy1jaGVja2JveCAubWRjLWNoZWNrYm94X19yaXBwbGU6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwQUVFRjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG59XG4uc2l0ZS1mb3JtIC5tZGMtY2hlY2tib3ggLm1kYy1jaGVja2JveF9fcmlwcGxlOmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwQUVFRjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG59XG4uc2l0ZS1mb3JtIC5tZGMtY2hlY2tib3g6aG92ZXIgLm1kYy1jaGVja2JveF9fcmlwcGxlOmJlZm9yZSB7XG4gIG9wYWNpdHk6IDAuMDg7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMEFFRUY7XG59XG4uc2l0ZS1mb3JtIC5tZGMtY2hlY2tib3g6aG92ZXIgLm1kYy1jaGVja2JveF9fcmlwcGxlOmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwQUVFRjtcbn1cbi5zaXRlLWZvcm0gLm1kYy1yYWRpbyB7XG4gIG1hcmdpbi1sZWZ0OiAtMTFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi5zaXRlLWZvcm0gLm1kYy1yYWRpbyAubWRjLXJhZGlvX19uYXRpdmUtY29udHJvbDplbmFibGVkOm5vdCg6Y2hlY2tlZCkgKyAubWRjLXJhZGlvX19iYWNrZ3JvdW5kIC5tZGMtcmFkaW9fX291dGVyLWNpcmNsZSB7XG4gIGJvcmRlci1jb2xvcjogIzAwYTVlMztcbn1cbi5zaXRlLWZvcm0gLm1kYy1yYWRpbyAubWRjLXJhZGlvX19uYXRpdmUtY29udHJvbDplbmFibGVkOmNoZWNrZWQgKyAubWRjLXJhZGlvX19iYWNrZ3JvdW5kIC5tZGMtcmFkaW9fX291dGVyLWNpcmNsZSB7XG4gIGJvcmRlci1jb2xvcjogIzAwYTVlMztcbn1cbi5zaXRlLWZvcm0gLm1kYy1yYWRpbyAubWRjLXJhZGlvX19uYXRpdmUtY29udHJvbDplbmFibGVkICsgLm1kYy1yYWRpb19fYmFja2dyb3VuZCAubWRjLXJhZGlvX19pbm5lci1jaXJjbGUge1xuICBib3JkZXItY29sb3I6ICMwMGE1ZTM7XG59XG4uc2l0ZS1mb3JtIC5tZGMtcmFkaW8gLm1kYy1yYWRpb19fYmFja2dyb3VuZDo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwQUVFRjtcbn1cbi5zaXRlLWZvcm0gLm1kYy1yYWRpbyArIGxhYmVsIHtcbiAgZm9udC1zaXplOiAxMi41cHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuc2l0ZS1mb3JtIC5tZGMtcmFkaW8gKyBsYWJlbCB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTY1NnB4KSB7XG4gIC5zaXRlLWZvcm0gLm1kYy1yYWRpbyArIGxhYmVsIHtcbiAgICBmb250LXNpemU6IDE5cHg7XG4gIH1cbn1cbi5zaXRlLWZvcm0gLm1kYy1yYWRpbyAubWRjLXJhZGlvX19yaXBwbGUge1xuICBib3JkZXItcmFkaXVzOiAxMDBweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xufVxuLnNpdGUtZm9ybSAubWRjLXJhZGlvIC5tZGMtcmFkaW9fX3JpcHBsZTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDBBRUVGO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbn1cbi5zaXRlLWZvcm0gLm1kYy1yYWRpbyAubWRjLXJhZGlvX19yaXBwbGU6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDBBRUVGO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbn1cbi5zaXRlLWZvcm0gLm1kYy1yYWRpbzpob3ZlciAubWRjLXJhZGlvX19yaXBwbGU6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwQUVFRjtcbiAgb3BhY2l0eTogMC4wODtcbn1cbi5zaXRlLWZvcm0gLm1kYy1yYWRpby1maWVsZCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy1ib3R0b206IDE1cHg7XG59XG4uc2l0ZS1mb3JtIC5tZGMtZm9ybS1maWVsZCAubWRjLXJhZGlvICsgbGFiZWwge1xuICBtYXJnaW4tdG9wOiAxMS41cHg7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnNpdGUtZm9ybSAubWRjLWZvcm0tZmllbGQgLm1kYy1yYWRpbyArIGxhYmVsIHtcbiAgICBtYXJnaW4tdG9wOiA4cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxNjU2cHgpIHtcbiAgLnNpdGUtZm9ybSAubWRjLWZvcm0tZmllbGQgLm1kYy1yYWRpbyArIGxhYmVsIHtcbiAgICBtYXJnaW4tdG9wOiA2cHg7XG4gICAgcGFkZGluZy1sZWZ0OiA1cHg7XG4gIH1cbn1cbi5zaXRlLWZvcm0gLm1kYy10ZXh0LWZpZWxkIC5tZGMtdGV4dC1maWVsZF9faW5wdXQge1xuICBjYXJldC1jb2xvcjogIzIwMWQxZCAhaW1wb3J0YW50O1xufVxuLnNpdGUtZm9ybSAubWRjLXRleHQtZmllbGQ6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpIC5tZGMtZmxvYXRpbmctbGFiZWwubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSB7XG4gIGNvbG9yOiAjMDBhNWUzO1xufVxuLnNpdGUtZm9ybSAubWRjLXRleHQtZmllbGQtLWludmFsaWQ6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpIC5tZGMtZmxvYXRpbmctbGFiZWwge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjYpO1xufVxuLnNpdGUtZm9ybSAubWRjLXRleHQtZmllbGQtLWludmFsaWQ6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpIC5tZGMtZmxvYXRpbmctbGFiZWw6YWZ0ZXIge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjYpO1xufVxuLnNpdGUtZm9ybSAubWRjLXRleHQtZmllbGQtLWludmFsaWQ6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpIC5tZGMtdGV4dC1maWVsZF9faW5wdXQ6cmVxdWlyZWQgfiAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLWZsb2F0aW5nLWxhYmVsOmFmdGVyIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC42KTtcbn1cbi5zaXRlLWZvcm0gLm1kYy10ZXh0LWZpZWxkLS1pbnZhbGlkOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKSAubWRjLXRleHQtZmllbGRfX2lucHV0OnJlcXVpcmVkIH4gLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1mbG9hdGluZy1sYWJlbC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlOmFmdGVyIHtcbiAgY29sb3I6ICMwMGE1ZTM7XG59XG4ud2FzLXZhbGlkYXRlZCAuc2l0ZS1mb3JtIC5tZGMtdGV4dC1maWVsZC0taW52YWxpZCwgLnNpdGUtZm9ybS53YXMtdmFsaWRhdGVkIC5tZGMtdGV4dC1maWVsZC0taW52YWxpZCB7XG4gIG1hcmdpbi1ib3R0b206IDZweDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxNjU2cHgpIHtcbiAgLndhcy12YWxpZGF0ZWQgLnNpdGUtZm9ybSAubWRjLXRleHQtZmllbGQtLWludmFsaWQsIC5zaXRlLWZvcm0ud2FzLXZhbGlkYXRlZCAubWRjLXRleHQtZmllbGQtLWludmFsaWQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cbi53YXMtdmFsaWRhdGVkIC5zaXRlLWZvcm0gLm1kYy1jaGVja2JveCAubWRjLWNoZWNrYm94X19uYXRpdmUtY29udHJvbDppbnZhbGlkIH4gLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZCwgLnNpdGUtZm9ybS53YXMtdmFsaWRhdGVkIC5tZGMtY2hlY2tib3ggLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2w6aW52YWxpZCB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQge1xuICBib3JkZXItY29sb3I6ICNmZjAwMDAgIWltcG9ydGFudDtcbn1cbi53YXMtdmFsaWRhdGVkIC5zaXRlLWZvcm0gLm1kYy1jaGVja2JveCAubWRjLWNoZWNrYm94X19uYXRpdmUtY29udHJvbDppbnZhbGlkIH4gbGFiZWwsIC5zaXRlLWZvcm0ud2FzLXZhbGlkYXRlZCAubWRjLWNoZWNrYm94IC5tZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sOmludmFsaWQgfiBsYWJlbCB7XG4gIGNvbG9yOiAjZmYwMDAwO1xufVxuLndhcy12YWxpZGF0ZWQgLnNpdGUtZm9ybSAubWRjLXJhZGlvIC5tZGMtcmFkaW9fX25hdGl2ZS1jb250cm9sOmludmFsaWQgfiAubWRjLXJhZGlvX19iYWNrZ3JvdW5kIC5tZGMtcmFkaW9fX291dGVyLWNpcmNsZSwgLndhcy12YWxpZGF0ZWQgLnNpdGUtZm9ybSAubWRjLXJhZGlvIC5tZGMtcmFkaW9fX25hdGl2ZS1jb250cm9sOmludmFsaWQgfiAubWRjLXJhZGlvX19iYWNrZ3JvdW5kIC5tZGMtcmFkaW9fX2lubmVyLWNpcmNsZSwgLnNpdGUtZm9ybS53YXMtdmFsaWRhdGVkIC5tZGMtcmFkaW8gLm1kYy1yYWRpb19fbmF0aXZlLWNvbnRyb2w6aW52YWxpZCB+IC5tZGMtcmFkaW9fX2JhY2tncm91bmQgLm1kYy1yYWRpb19fb3V0ZXItY2lyY2xlLCAuc2l0ZS1mb3JtLndhcy12YWxpZGF0ZWQgLm1kYy1yYWRpbyAubWRjLXJhZGlvX19uYXRpdmUtY29udHJvbDppbnZhbGlkIH4gLm1kYy1yYWRpb19fYmFja2dyb3VuZCAubWRjLXJhZGlvX19pbm5lci1jaXJjbGUge1xuICBib3JkZXItY29sb3I6ICNmZjAwMDAgIWltcG9ydGFudDtcbn1cbi53YXMtdmFsaWRhdGVkIC5zaXRlLWZvcm0gLm1kYy1yYWRpbyAubWRjLXJhZGlvX19uYXRpdmUtY29udHJvbDppbnZhbGlkIH4gbGFiZWwsIC5zaXRlLWZvcm0ud2FzLXZhbGlkYXRlZCAubWRjLXJhZGlvIC5tZGMtcmFkaW9fX25hdGl2ZS1jb250cm9sOmludmFsaWQgfiBsYWJlbCB7XG4gIGNvbG9yOiAjZmYwMDAwO1xufVxuLndhcy12YWxpZGF0ZWQgLnNpdGUtZm9ybSAubWRjLXRleHQtZmllbGRfX2lucHV0OmludmFsaWQgfiAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbGVhZGluZyxcbi53YXMtdmFsaWRhdGVkIC5zaXRlLWZvcm0gLm1kYy10ZXh0LWZpZWxkX19pbnB1dDppbnZhbGlkIH4gLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX25vdGNoLFxuLndhcy12YWxpZGF0ZWQgLnNpdGUtZm9ybSAubWRjLXRleHQtZmllbGRfX2lucHV0OmludmFsaWQgfiAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fdHJhaWxpbmcsIC5zaXRlLWZvcm0ud2FzLXZhbGlkYXRlZCAubWRjLXRleHQtZmllbGRfX2lucHV0OmludmFsaWQgfiAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbGVhZGluZyxcbi5zaXRlLWZvcm0ud2FzLXZhbGlkYXRlZCAubWRjLXRleHQtZmllbGRfX2lucHV0OmludmFsaWQgfiAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbm90Y2gsXG4uc2l0ZS1mb3JtLndhcy12YWxpZGF0ZWQgLm1kYy10ZXh0LWZpZWxkX19pbnB1dDppbnZhbGlkIH4gLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX3RyYWlsaW5nIHtcbiAgYm9yZGVyLWNvbG9yOiAjZmYwMDAwICFpbXBvcnRhbnQ7XG59XG4ud2FzLXZhbGlkYXRlZCAuc2l0ZS1mb3JtIC5tZGMtdGV4dC1maWVsZF9faW5wdXQ6aW52YWxpZCB+IC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtZmxvYXRpbmctbGFiZWwsIC5zaXRlLWZvcm0ud2FzLXZhbGlkYXRlZCAubWRjLXRleHQtZmllbGRfX2lucHV0OmludmFsaWQgfiAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLWZsb2F0aW5nLWxhYmVsIHtcbiAgY29sb3I6ICNmZjAwMDAgIWltcG9ydGFudDtcbn1cbi53YXMtdmFsaWRhdGVkIC5zaXRlLWZvcm0gLm1kYy10ZXh0LWZpZWxkX19pbnB1dDppbnZhbGlkIH4gLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1mbG9hdGluZy1sYWJlbDphZnRlciwgLnNpdGUtZm9ybS53YXMtdmFsaWRhdGVkIC5tZGMtdGV4dC1maWVsZF9faW5wdXQ6aW52YWxpZCB+IC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtZmxvYXRpbmctbGFiZWw6YWZ0ZXIge1xuICBjb2xvcjogI2ZmMDAwMCAhaW1wb3J0YW50O1xufVxuLndhcy12YWxpZGF0ZWQgLnNpdGUtZm9ybSAuc2l0ZS1mb3JtX19jaGVja2JveC0tcmVxdWlyZWQuc2l0ZS1mb3JtX19jaGVja2JveC0tdW5jaGVja2VkIH4gbGFiZWwsIC5zaXRlLWZvcm0ud2FzLXZhbGlkYXRlZCAuc2l0ZS1mb3JtX19jaGVja2JveC0tcmVxdWlyZWQuc2l0ZS1mb3JtX19jaGVja2JveC0tdW5jaGVja2VkIH4gbGFiZWwge1xuICBjb2xvcjogI2ZmMDAwMDtcbn1cbi53YXMtdmFsaWRhdGVkIC5zaXRlLWZvcm0gLnNpdGUtZm9ybV9fY2hlY2tib3gtLXJlcXVpcmVkLnNpdGUtZm9ybV9fY2hlY2tib3gtLXVuY2hlY2tlZCB+IGxhYmVsOmFmdGVyLCAuc2l0ZS1mb3JtLndhcy12YWxpZGF0ZWQgLnNpdGUtZm9ybV9fY2hlY2tib3gtLXJlcXVpcmVkLnNpdGUtZm9ybV9fY2hlY2tib3gtLXVuY2hlY2tlZCB+IGxhYmVsOmFmdGVyIHtcbiAgY29sb3I6ICNmZjAwMDA7XG59XG4ud2FzLXZhbGlkYXRlZCAuc2l0ZS1mb3JtIC5zaXRlLWZvcm1fX2NoZWNrYm94LS1yZXF1aXJlZC5zaXRlLWZvcm1fX2NoZWNrYm94LS11bmNoZWNrZWQgfiBsYWJlbCBhLCAuc2l0ZS1mb3JtLndhcy12YWxpZGF0ZWQgLnNpdGUtZm9ybV9fY2hlY2tib3gtLXJlcXVpcmVkLnNpdGUtZm9ybV9fY2hlY2tib3gtLXVuY2hlY2tlZCB+IGxhYmVsIGEge1xuICBjb2xvcjogI2ZmMDAwMDtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG4ud2FzLXZhbGlkYXRlZCAuc2l0ZS1mb3JtIC5zaXRlLWZvcm1fX3JhZGlvLS1yZXF1aXJlZC5zaXRlLWZvcm1fX3JhZGlvLS11bmNoZWNrZWQgfiBsYWJlbCwgLnNpdGUtZm9ybS53YXMtdmFsaWRhdGVkIC5zaXRlLWZvcm1fX3JhZGlvLS1yZXF1aXJlZC5zaXRlLWZvcm1fX3JhZGlvLS11bmNoZWNrZWQgfiBsYWJlbCB7XG4gIGNvbG9yOiAjZmYwMDAwO1xufVxuLndhcy12YWxpZGF0ZWQgLnNpdGUtZm9ybSAuc2l0ZS1mb3JtX19yYWRpby0tcmVxdWlyZWQuc2l0ZS1mb3JtX19yYWRpby0tdW5jaGVja2VkIH4gbGFiZWw6YWZ0ZXIsIC5zaXRlLWZvcm0ud2FzLXZhbGlkYXRlZCAuc2l0ZS1mb3JtX19yYWRpby0tcmVxdWlyZWQuc2l0ZS1mb3JtX19yYWRpby0tdW5jaGVja2VkIH4gbGFiZWw6YWZ0ZXIge1xuICBjb2xvcjogI2ZmMDAwMDtcbn1cbi53YXMtdmFsaWRhdGVkIC5zaXRlLWZvcm0gLnNpdGUtZm9ybV9fcmFkaW8tLXJlcXVpcmVkLnNpdGUtZm9ybV9fcmFkaW8tLXVuY2hlY2tlZCB+IGxhYmVsIGEsIC5zaXRlLWZvcm0ud2FzLXZhbGlkYXRlZCAuc2l0ZS1mb3JtX19yYWRpby0tcmVxdWlyZWQuc2l0ZS1mb3JtX19yYWRpby0tdW5jaGVja2VkIH4gbGFiZWwgYSB7XG4gIGNvbG9yOiAjZmYwMDAwO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cbi53YXMtdmFsaWRhdGVkIC5zaXRlLWZvcm0gLm1kYy1zZWxlY3QtLW91dGxpbmVkLm1kYy1zZWxlY3QtLWludmFsaWQgLm1kYy1zZWxlY3RfX2FuY2hvciwgLnNpdGUtZm9ybS53YXMtdmFsaWRhdGVkIC5tZGMtc2VsZWN0LS1vdXRsaW5lZC5tZGMtc2VsZWN0LS1pbnZhbGlkIC5tZGMtc2VsZWN0X19hbmNob3Ige1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyUyMHhtbG5zJTNEJTIyaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmclMjIlMjBmaWxsJTNEJTIyJTIzZmYwMDAwJTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMTYlMjAzMiUyMiUzRSUzQ3BhdGglMjBkJTNEJTIyTTE0LDExLjFIM0w4LjUsMlpNMywyMUgxNEw4LjUsMzAuMVolMjIvJTNFJTNDcGF0aCUyMGQlM0QlMjJNMTYsMzJIMFYwSDE2WiUyMiUyMGZpbGwlM0QlMjJub25lJTIyLyUzRSUzQy9zdmclM0VcIik7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAwLCAwLCAwKTtcbn1cbi53YXMtdmFsaWRhdGVkIC5zaXRlLWZvcm0gLm1kYy1zZWxlY3QtLW91dGxpbmVkLm1kYy1zZWxlY3QtLWludmFsaWQ6aG92ZXIgLm1kYy1zZWxlY3RfX2FuY2hvciwgLndhcy12YWxpZGF0ZWQgLnNpdGUtZm9ybSAubWRjLXNlbGVjdC0tb3V0bGluZWQubWRjLXNlbGVjdC0taW52YWxpZDpmb2N1cyAubWRjLXNlbGVjdF9fYW5jaG9yLCAuc2l0ZS1mb3JtLndhcy12YWxpZGF0ZWQgLm1kYy1zZWxlY3QtLW91dGxpbmVkLm1kYy1zZWxlY3QtLWludmFsaWQ6aG92ZXIgLm1kYy1zZWxlY3RfX2FuY2hvciwgLnNpdGUtZm9ybS53YXMtdmFsaWRhdGVkIC5tZGMtc2VsZWN0LS1vdXRsaW5lZC5tZGMtc2VsZWN0LS1pbnZhbGlkOmZvY3VzIC5tZGMtc2VsZWN0X19hbmNob3Ige1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMCwgMCwgMCk7XG59XG4ud2FzLXZhbGlkYXRlZCAuc2l0ZS1mb3JtIC5tZGMtc2VsZWN0LS1vdXRsaW5lZC5tZGMtc2VsZWN0LS1pbnZhbGlkIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19sZWFkaW5nLFxuLndhcy12YWxpZGF0ZWQgLnNpdGUtZm9ybSAubWRjLXNlbGVjdC0tb3V0bGluZWQubWRjLXNlbGVjdC0taW52YWxpZCAubWRjLW5vdGNoZWQtb3V0bGluZV9fbm90Y2gsXG4ud2FzLXZhbGlkYXRlZCAuc2l0ZS1mb3JtIC5tZGMtc2VsZWN0LS1vdXRsaW5lZC5tZGMtc2VsZWN0LS1pbnZhbGlkIC5tZGMtbm90Y2hlZC1vdXRsaW5lX190cmFpbGluZywgLnNpdGUtZm9ybS53YXMtdmFsaWRhdGVkIC5tZGMtc2VsZWN0LS1vdXRsaW5lZC5tZGMtc2VsZWN0LS1pbnZhbGlkIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19sZWFkaW5nLFxuLnNpdGUtZm9ybS53YXMtdmFsaWRhdGVkIC5tZGMtc2VsZWN0LS1vdXRsaW5lZC5tZGMtc2VsZWN0LS1pbnZhbGlkIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19ub3RjaCxcbi5zaXRlLWZvcm0ud2FzLXZhbGlkYXRlZCAubWRjLXNlbGVjdC0tb3V0bGluZWQubWRjLXNlbGVjdC0taW52YWxpZCAubWRjLW5vdGNoZWQtb3V0bGluZV9fdHJhaWxpbmcge1xuICBib3JkZXItY29sb3I6ICNmZjAwMDAgIWltcG9ydGFudDtcbn1cbi53YXMtdmFsaWRhdGVkIC5zaXRlLWZvcm0gLm1kYy1zZWxlY3QtLW91dGxpbmVkLm1kYy1zZWxlY3QtLWludmFsaWQgLm1kYy1mbG9hdGluZy1sYWJlbCwgLnNpdGUtZm9ybS53YXMtdmFsaWRhdGVkIC5tZGMtc2VsZWN0LS1vdXRsaW5lZC5tZGMtc2VsZWN0LS1pbnZhbGlkIC5tZGMtZmxvYXRpbmctbGFiZWwge1xuICBjb2xvcjogI2ZmMDAwMCAhaW1wb3J0YW50O1xufVxuLndhcy12YWxpZGF0ZWQgLnNpdGUtZm9ybSAubWRjLXNlbGVjdC0tb3V0bGluZWQubWRjLXNlbGVjdC0taW52YWxpZCAuc2l0ZS1mb3JtX192YWxpZGF0aW9uLXRleHQsIC5zaXRlLWZvcm0ud2FzLXZhbGlkYXRlZCAubWRjLXNlbGVjdC0tb3V0bGluZWQubWRjLXNlbGVjdC0taW52YWxpZCAuc2l0ZS1mb3JtX192YWxpZGF0aW9uLXRleHQge1xuICBkaXNwbGF5OiB0YWJsZTtcbn1cbi53YXMtdmFsaWRhdGVkIC5zaXRlLWZvcm0gLm1kYy1yYWRpby1maWVsZCAuc2l0ZS1mb3JtX192YWxpZGF0aW9uLXRleHQsIC5zaXRlLWZvcm0ud2FzLXZhbGlkYXRlZCAubWRjLXJhZGlvLWZpZWxkIC5zaXRlLWZvcm1fX3ZhbGlkYXRpb24tdGV4dCB7XG4gIGxlZnQ6IDM1cHg7XG4gIGJvdHRvbTogMTBweDtcbn1cbi53YXMtdmFsaWRhdGVkIC5zaXRlLWZvcm0gLm1kYy1yYWRpby1maWVsZC0taW52YWxpZCAuc2l0ZS1mb3JtX192YWxpZGF0aW9uLXRleHQsIC5zaXRlLWZvcm0ud2FzLXZhbGlkYXRlZCAubWRjLXJhZGlvLWZpZWxkLS1pbnZhbGlkIC5zaXRlLWZvcm1fX3ZhbGlkYXRpb24tdGV4dCB7XG4gIGRpc3BsYXk6IHRhYmxlO1xufVxuLndhcy12YWxpZGF0ZWQgLnNpdGUtZm9ybSAubWRjLWZvcm0tZmllbGQtLWludmFsaWQgbGFiZWwsIC5zaXRlLWZvcm0ud2FzLXZhbGlkYXRlZCAubWRjLWZvcm0tZmllbGQtLWludmFsaWQgbGFiZWwge1xuICBjb2xvcjogI2ZmMDAwMDtcbn1cbi53YXMtdmFsaWRhdGVkIC5zaXRlLWZvcm0gLm1kYy1mb3JtLWZpZWxkLS1pbnZhbGlkIGxhYmVsOmFmdGVyLCAuc2l0ZS1mb3JtLndhcy12YWxpZGF0ZWQgLm1kYy1mb3JtLWZpZWxkLS1pbnZhbGlkIGxhYmVsOmFmdGVyIHtcbiAgY29sb3I6ICNmZjAwMDA7XG59XG4ud2FzLXZhbGlkYXRlZCAuc2l0ZS1mb3JtIC5tZGMtZm9ybS1maWVsZC0taW52YWxpZCBsYWJlbCBhLCAuc2l0ZS1mb3JtLndhcy12YWxpZGF0ZWQgLm1kYy1mb3JtLWZpZWxkLS1pbnZhbGlkIGxhYmVsIGEge1xuICBjb2xvcjogI2ZmMDAwMDtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG4ud2FzLXZhbGlkYXRlZCAuc2l0ZS1mb3JtIC5tZGMtZm9ybS1maWVsZC0taW52YWxpZCB+IC5zaXRlLWZvcm1fX3ZhbGlkYXRpb24tdGV4dCwgLnNpdGUtZm9ybS53YXMtdmFsaWRhdGVkIC5tZGMtZm9ybS1maWVsZC0taW52YWxpZCB+IC5zaXRlLWZvcm1fX3ZhbGlkYXRpb24tdGV4dCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogc3RhdGljO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBtYXJnaW46IDZweCAwIDAgMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogbm9uZTtcbiAgdHJhbnNmb3JtOiBub25lO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDE2NTZweCkge1xuICAud2FzLXZhbGlkYXRlZCAuc2l0ZS1mb3JtIC5tZGMtZm9ybS1maWVsZC0taW52YWxpZCB+IC5zaXRlLWZvcm1fX3ZhbGlkYXRpb24tdGV4dCwgLnNpdGUtZm9ybS53YXMtdmFsaWRhdGVkIC5tZGMtZm9ybS1maWVsZC0taW52YWxpZCB+IC5zaXRlLWZvcm1fX3ZhbGlkYXRpb24tdGV4dCB7XG4gICAgcGFkZGluZy1sZWZ0OiA0NHB4O1xuICB9XG59XG4ud2FzLXZhbGlkYXRlZCAuc2l0ZS1mb3JtIC5tZGMtZm9ybS1maWVsZC0taW52YWxpZCB+IC5uZXdzbGV0dGVyLWFncmVlbWVudHNfX2luZm8gfiAuc2l0ZS1mb3JtX192YWxpZGF0aW9uLXRleHQsIC5zaXRlLWZvcm0ud2FzLXZhbGlkYXRlZCAubWRjLWZvcm0tZmllbGQtLWludmFsaWQgfiAubmV3c2xldHRlci1hZ3JlZW1lbnRzX19pbmZvIH4gLnNpdGUtZm9ybV9fdmFsaWRhdGlvbi10ZXh0IHtcbiAgbWFyZ2luLXRvcDogLTEwcHg7XG4gIG1hcmdpbi1ib3R0b206IDE4cHg7XG59XG4uc2l0ZS1mb3JtLnNlcnZlci1zaWRlLXZhbGlkYXRlZCAuc2VydmVyLXNpZGUtLWludmFsaWQgfiAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbGVhZGluZyxcbi5zaXRlLWZvcm0uc2VydmVyLXNpZGUtdmFsaWRhdGVkIC5zZXJ2ZXItc2lkZS0taW52YWxpZCB+IC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19ub3RjaCxcbi5zaXRlLWZvcm0uc2VydmVyLXNpZGUtdmFsaWRhdGVkIC5zZXJ2ZXItc2lkZS0taW52YWxpZCB+IC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX190cmFpbGluZyB7XG4gIGJvcmRlci1jb2xvcjogI2ZmMDAwMCAhaW1wb3J0YW50O1xuICBjb2xvcjogI2ZmMDAwMCAhaW1wb3J0YW50O1xufVxuLnNpdGUtZm9ybS5zZXJ2ZXItc2lkZS12YWxpZGF0ZWQgLnNlcnZlci1zaWRlLS1pbnZhbGlkIH4gLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX2xlYWRpbmc6YWZ0ZXIsXG4uc2l0ZS1mb3JtLnNlcnZlci1zaWRlLXZhbGlkYXRlZCAuc2VydmVyLXNpZGUtLWludmFsaWQgfiAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbm90Y2g6YWZ0ZXIsXG4uc2l0ZS1mb3JtLnNlcnZlci1zaWRlLXZhbGlkYXRlZCAuc2VydmVyLXNpZGUtLWludmFsaWQgfiAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fdHJhaWxpbmc6YWZ0ZXIge1xuICBjb2xvcjogI2ZmMDAwMCAhaW1wb3J0YW50O1xufVxuLnNpdGUtZm9ybS5zZXJ2ZXItc2lkZS12YWxpZGF0ZWQgLnNlcnZlci1zaWRlLS1pbnZhbGlkIH4gLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1mbG9hdGluZy1sYWJlbCB7XG4gIGNvbG9yOiAjZmYwMDAwICFpbXBvcnRhbnQ7XG59XG4uc2l0ZS1mb3JtLnNlcnZlci1zaWRlLXZhbGlkYXRlZCAuc2VydmVyLXNpZGUtLWludmFsaWQgfiAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLWZsb2F0aW5nLWxhYmVsOmFmdGVyIHtcbiAgY29sb3I6ICNmZjAwMDAgIWltcG9ydGFudDtcbn1cbi5zaXRlLWZvcm0uc2VydmVyLXNpZGUtdmFsaWRhdGVkIC5tZGMtc2VsZWN0LS1vdXRsaW5lZC5zZXJ2ZXItc2lkZS0taW52YWxpZCAubWRjLXNlbGVjdF9fYW5jaG9yIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmclMjB4bWxucyUzRCUyMmh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJTIyJTIwZmlsbCUzRCUyMiUyM2ZmMDAwMCUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDE2JTIwMzIlMjIlM0UlM0NwYXRoJTIwZCUzRCUyMk0xNCwxMS4xSDNMOC41LDJaTTMsMjFIMTRMOC41LDMwLjFaJTIyLyUzRSUzQ3BhdGglMjBkJTNEJTIyTTE2LDMySDBWMEgxNlolMjIlMjBmaWxsJTNEJTIybm9uZSUyMi8lM0UlM0Mvc3ZnJTNFXCIpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMCwgMCwgMCk7XG59XG4uc2l0ZS1mb3JtLnNlcnZlci1zaWRlLXZhbGlkYXRlZCAubWRjLXNlbGVjdC0tb3V0bGluZWQuc2VydmVyLXNpZGUtLWludmFsaWQ6aG92ZXIgLm1kYy1zZWxlY3RfX2FuY2hvciwgLnNpdGUtZm9ybS5zZXJ2ZXItc2lkZS12YWxpZGF0ZWQgLm1kYy1zZWxlY3QtLW91dGxpbmVkLnNlcnZlci1zaWRlLS1pbnZhbGlkOmZvY3VzIC5tZGMtc2VsZWN0X19hbmNob3Ige1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMCwgMCwgMCk7XG59XG4uc2l0ZS1mb3JtLnNlcnZlci1zaWRlLXZhbGlkYXRlZCAubWRjLXNlbGVjdC0tb3V0bGluZWQuc2VydmVyLXNpZGUtLWludmFsaWQgLm1kYy1ub3RjaGVkLW91dGxpbmVfX2xlYWRpbmcsXG4uc2l0ZS1mb3JtLnNlcnZlci1zaWRlLXZhbGlkYXRlZCAubWRjLXNlbGVjdC0tb3V0bGluZWQuc2VydmVyLXNpZGUtLWludmFsaWQgLm1kYy1ub3RjaGVkLW91dGxpbmVfX25vdGNoLFxuLnNpdGUtZm9ybS5zZXJ2ZXItc2lkZS12YWxpZGF0ZWQgLm1kYy1zZWxlY3QtLW91dGxpbmVkLnNlcnZlci1zaWRlLS1pbnZhbGlkIC5tZGMtbm90Y2hlZC1vdXRsaW5lX190cmFpbGluZyB7XG4gIGJvcmRlci1jb2xvcjogI2ZmMDAwMCAhaW1wb3J0YW50O1xufVxuLnNpdGUtZm9ybS5zZXJ2ZXItc2lkZS12YWxpZGF0ZWQgLm1kYy1zZWxlY3QtLW91dGxpbmVkLnNlcnZlci1zaWRlLS1pbnZhbGlkIC5tZGMtZmxvYXRpbmctbGFiZWwge1xuICBjb2xvcjogI2ZmMDAwMCAhaW1wb3J0YW50O1xufVxuLnNpdGUtZm9ybS5zZXJ2ZXItc2lkZS12YWxpZGF0ZWQgLm1kYy1zZWxlY3QtLW91dGxpbmVkLnNlcnZlci1zaWRlLS1pbnZhbGlkIC5zaXRlLWZvcm1fX3ZhbGlkYXRpb24tdGV4dCB7XG4gIGRpc3BsYXk6IHRhYmxlO1xufVxuLnNpdGUtZm9ybS5zZXJ2ZXItc2lkZS12YWxpZGF0ZWQgLmZpbGVpbnB1dC1jb250YWluZXIuZmlsZWlucHV0LWNvbnRhaW5lci0taW52YWxpZCAuZmlsZWlucHV0Om5vdCguZmlsZWlucHV0LWV4aXN0cykgfiAuc2l0ZS1mb3JtX19zZXJ2ZXItdmFsaWRhdGlvbi10ZXh0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJvdHRvbTogLTVweDtcbn1cbi5zaXRlLWZvcm0uanMtc2lkZS12YWxpZGF0ZWQgLmpzLXNpZGUtLWludmFsaWQgfiAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbGVhZGluZyxcbi5zaXRlLWZvcm0uanMtc2lkZS12YWxpZGF0ZWQgLmpzLXNpZGUtLWludmFsaWQgfiAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbm90Y2gsXG4uc2l0ZS1mb3JtLmpzLXNpZGUtdmFsaWRhdGVkIC5qcy1zaWRlLS1pbnZhbGlkIH4gLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX3RyYWlsaW5nIHtcbiAgYm9yZGVyLWNvbG9yOiAjZmYwMDAwICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjZmYwMDAwICFpbXBvcnRhbnQ7XG59XG4uc2l0ZS1mb3JtLmpzLXNpZGUtdmFsaWRhdGVkIC5qcy1zaWRlLS1pbnZhbGlkIH4gLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX2xlYWRpbmc6YWZ0ZXIsXG4uc2l0ZS1mb3JtLmpzLXNpZGUtdmFsaWRhdGVkIC5qcy1zaWRlLS1pbnZhbGlkIH4gLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX25vdGNoOmFmdGVyLFxuLnNpdGUtZm9ybS5qcy1zaWRlLXZhbGlkYXRlZCAuanMtc2lkZS0taW52YWxpZCB+IC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX190cmFpbGluZzphZnRlciB7XG4gIGNvbG9yOiAjZmYwMDAwICFpbXBvcnRhbnQ7XG59XG4uc2l0ZS1mb3JtLmpzLXNpZGUtdmFsaWRhdGVkIC5qcy1zaWRlLS1pbnZhbGlkIH4gLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1mbG9hdGluZy1sYWJlbCB7XG4gIGNvbG9yOiAjZmYwMDAwICFpbXBvcnRhbnQ7XG59XG4uc2l0ZS1mb3JtLmpzLXNpZGUtdmFsaWRhdGVkIC5qcy1zaWRlLS1pbnZhbGlkIH4gLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1mbG9hdGluZy1sYWJlbDphZnRlciB7XG4gIGNvbG9yOiAjZmYwMDAwICFpbXBvcnRhbnQ7XG59XG4uc2l0ZS1mb3JtLmpzLXNpZGUtdmFsaWRhdGVkIC5tZGMtc2VsZWN0LS1vdXRsaW5lZC5qcy1zaWRlLS1pbnZhbGlkIC5tZGMtc2VsZWN0X19hbmNob3Ige1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyUyMHhtbG5zJTNEJTIyaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmclMjIlMjBmaWxsJTNEJTIyJTIzZmYwMDAwJTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMTYlMjAzMiUyMiUzRSUzQ3BhdGglMjBkJTNEJTIyTTE0LDExLjFIM0w4LjUsMlpNMywyMUgxNEw4LjUsMzAuMVolMjIvJTNFJTNDcGF0aCUyMGQlM0QlMjJNMTYsMzJIMFYwSDE2WiUyMiUyMGZpbGwlM0QlMjJub25lJTIyLyUzRSUzQy9zdmclM0VcIik7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAwLCAwLCAwKTtcbn1cbi5zaXRlLWZvcm0uanMtc2lkZS12YWxpZGF0ZWQgLm1kYy1zZWxlY3QtLW91dGxpbmVkLmpzLXNpZGUtLWludmFsaWQ6aG92ZXIgLm1kYy1zZWxlY3RfX2FuY2hvciwgLnNpdGUtZm9ybS5qcy1zaWRlLXZhbGlkYXRlZCAubWRjLXNlbGVjdC0tb3V0bGluZWQuanMtc2lkZS0taW52YWxpZDpmb2N1cyAubWRjLXNlbGVjdF9fYW5jaG9yIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDAsIDAsIDApO1xufVxuLnNpdGUtZm9ybS5qcy1zaWRlLXZhbGlkYXRlZCAubWRjLXNlbGVjdC0tb3V0bGluZWQuanMtc2lkZS0taW52YWxpZCAubWRjLW5vdGNoZWQtb3V0bGluZV9fbGVhZGluZyxcbi5zaXRlLWZvcm0uanMtc2lkZS12YWxpZGF0ZWQgLm1kYy1zZWxlY3QtLW91dGxpbmVkLmpzLXNpZGUtLWludmFsaWQgLm1kYy1ub3RjaGVkLW91dGxpbmVfX25vdGNoLFxuLnNpdGUtZm9ybS5qcy1zaWRlLXZhbGlkYXRlZCAubWRjLXNlbGVjdC0tb3V0bGluZWQuanMtc2lkZS0taW52YWxpZCAubWRjLW5vdGNoZWQtb3V0bGluZV9fdHJhaWxpbmcge1xuICBib3JkZXItY29sb3I6ICNmZjAwMDAgIWltcG9ydGFudDtcbn1cbi5zaXRlLWZvcm0uanMtc2lkZS12YWxpZGF0ZWQgLm1kYy1zZWxlY3QtLW91dGxpbmVkLmpzLXNpZGUtLWludmFsaWQgLm1kYy1mbG9hdGluZy1sYWJlbCB7XG4gIGNvbG9yOiAjZmYwMDAwICFpbXBvcnRhbnQ7XG59XG4uc2l0ZS1mb3JtLmpzLXNpZGUtdmFsaWRhdGVkIC5tZGMtc2VsZWN0LS1vdXRsaW5lZC5qcy1zaWRlLS1pbnZhbGlkIC5zaXRlLWZvcm1fX3ZhbGlkYXRpb24tdGV4dCB7XG4gIGRpc3BsYXk6IHRhYmxlO1xufVxuLnNpdGUtZm9ybSAubWRjLWZvcm0tZmllbGQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbn1cbi5zaXRlLWZvcm0gLm1kYy1mb3JtLWZpZWxkLS1jaGVja2JveCB7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGNvbG9yOiAjNDE0MDQyO1xuICBmb250LXNpemU6IDE1cHg7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxleC13cmFwOiB3cmFwO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDM3NXB4KSB7XG4gIC5zaXRlLWZvcm0gLm1kYy1mb3JtLWZpZWxkLS1jaGVja2JveCB7XG4gICAgZm9udC1zaXplOiAxN3B4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTY1NnB4KSB7XG4gIC5zaXRlLWZvcm0gLm1kYy1mb3JtLWZpZWxkLS1jaGVja2JveCB7XG4gICAgZm9udC1zaXplOiAxOXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDE0cHg7XG4gIH1cbn1cbi5zaXRlLWZvcm0gLm1kYy1mb3JtLWZpZWxkLS1jaGVja2JveCBsYWJlbCB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSA0MHB4KTtcbiAgbWFyZ2luLXRvcDogNnB4ICFpbXBvcnRhbnQ7XG4gIGxpbmUtaGVpZ2h0OiAxLjUyO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDE0MDBweCkge1xuICAuc2l0ZS1mb3JtIC5tZGMtZm9ybS1maWVsZC0tY2hlY2tib3ggbGFiZWwge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU3ODtcbiAgfVxufVxuLnNpdGUtZm9ybSAubWRjLWZvcm0tZmllbGQtLWNoZWNrYm94IGxhYmVsIC5lenJpY2h0ZXh0LWZpZWxkIHtcbiAgZGlzcGxheTogaW5saW5lO1xufVxuLnNpdGUtZm9ybSAubWRjLWZvcm0tZmllbGQtLWNoZWNrYm94IGxhYmVsIC5lenJpY2h0ZXh0LWZpZWxkIHA6bGFzdC1vZi10eXBlIHtcbiAgZGlzcGxheTogaW5saW5lO1xufVxuLnNpdGUtZm9ybSAubWRjLWZvcm0tZmllbGQtLWNoZWNrYm94IGxhYmVsIC5lenJpY2h0ZXh0LWZpZWxkOmFmdGVyIHtcbiAgY29udGVudDogbm9uZTtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5zaXRlLWZvcm0gLm1kYy1mb3JtLWZpZWxkIGxhYmVsIHtcbiAgbWFyZ2luOiA5cHggMCAwIDA7XG4gIHBhZGRpbmctbGVmdDogMnB4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDM3NXB4KSB7XG4gIC5zaXRlLWZvcm0gLm1kYy1mb3JtLWZpZWxkIGxhYmVsIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDVweDtcbiAgICBtYXJnaW46IDhweCAwIDAgMDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDE2NTZweCkge1xuICAuc2l0ZS1mb3JtIC5tZGMtZm9ybS1maWVsZCBsYWJlbCB7XG4gICAgbWFyZ2luOiA2cHggMCAwIDA7XG4gICAgcGFkZGluZy1sZWZ0OiAxNHB4O1xuICB9XG59XG4uc2l0ZS1mb3JtIC5tZGMtZm9ybS1maWVsZCBsYWJlbCBhOmhvdmVyLCAuc2l0ZS1mb3JtIC5tZGMtZm9ybS1maWVsZCBsYWJlbCBhOmZvY3VzIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIGNvbG9yOiAjMjY1M0I5O1xufVxuLnNpdGUtZm9ybSAubWRjLXRleHQtZmllbGQge1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBsZXR0ZXItc3BhY2luZzogMDtcbiAgbGluZS1oZWlnaHQ6IDEuMTU7XG4gIGhlaWdodDogNDhweDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxNjU2cHgpIHtcbiAgLnNpdGUtZm9ybSAubWRjLXRleHQtZmllbGQge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU1O1xuICAgIGhlaWdodDogNjRweDtcbiAgICBmb250LXNpemU6IDE5cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxNjU2cHgpIHtcbiAgLnNpdGUtZm9ybSAubWRjLXRleHQtZmllbGRfX2lucHV0IHtcbiAgICBmb250LXNpemU6IDE5cHg7XG4gIH1cbn1cbi5zaXRlLWZvcm0gLnRleHQtZmllbGQtcm93IHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgZmxleC13cmFwOiB3cmFwO1xufVxuLnNpdGUtZm9ybSAudGV4dC1maWVsZC1oZWxwZXIge1xuICBmb250LXNpemU6IDAuOXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbn1cbi5zaXRlLWZvcm0gLnRleHQtZmllbGQtZGVzY3JpcHRpb24ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLXRvcDogMTBweDtcbiAgZm9udC1zaXplOiAxMnB4O1xufVxuLnNpdGUtZm9ybSAudGV4dC1maWVsZC1jb250YWluZXIge1xuICBtYXJnaW4tYm90dG9tOiAxM3B4O1xuICB3aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDE2NTZweCkge1xuICAuc2l0ZS1mb3JtIC50ZXh0LWZpZWxkLWNvbnRhaW5lciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjhweDtcbiAgfVxufVxuLnNpdGUtZm9ybSAudGV4dC1maWVsZC1jb250YWluZXIgLm1kYy10ZXh0LWZpZWxkIHtcbiAgd2lkdGg6IDEwMCU7XG59XG4uc2l0ZS1mb3JtIC50ZXh0LWZpZWxkLWNvbnRhaW5lciAudGV4dC1maWVsZC1jb250YWluZXIge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuLnNpdGUtZm9ybSAudGV4dC1maWVsZC1jb250YWluZXItLWZ1bGwge1xuICB3aWR0aDogMTAwJTtcbn1cbi5zaXRlLWZvcm0gLnRleHQtZmllbGQtY29udGFpbmVyLS1oYWxmIHtcbiAgd2lkdGg6IGNhbGMoNTAlIC0gNnB4KTtcbiAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5zaXRlLWZvcm0gLnRleHQtZmllbGQtY29udGFpbmVyLS1oYWxmIHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAxMHB4KTtcbiAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gIH1cbn1cbi5zaXRlLWZvcm0gLnRleHQtZmllbGQtY29udGFpbmVyLS1oYWxmICsgLnRleHQtZmllbGQtY29udGFpbmVyLS1oYWxmIHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xufVxuLnNpdGUtZm9ybSAudGV4dC1maWVsZC1jb250YWluZXItLWhhbGYtc2xhc2gge1xuICB3aWR0aDogY2FsYyg1MCUgLSAxNnB4KTtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5zaXRlLWZvcm0gLnRleHQtZmllbGQtY29udGFpbmVyLS1kZXNrdG9wLWhhbGYge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEwcHgpO1xuICAgIG1hcmdpbi1yaWdodDogMjBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5zaXRlLWZvcm0gLnRleHQtZmllbGQtY29udGFpbmVyLS1kZXNrdG9wLWhhbGYgKyAudGV4dC1maWVsZC1jb250YWluZXItLWRlc2t0b3AtaGFsZiB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogNzY3LjlweCkge1xuICAuc2l0ZS1mb3JtIC50ZXh0LWZpZWxkLWNvbnRhaW5lci0tbW9iaWxlLWZ1bGwge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgfVxufVxuLnNpdGUtZm9ybSAudGV4dC1maWVsZC1jb250YWluZXItLXJvdy1zbGFzaCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGZsZXgtd3JhcDogbm93cmFwO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyUyMHhtbG5zJTNEJTIyaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmclMjIlMjBmaWxsJTNEJTIyJTIzN2E3YTdhJTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMTklMjAzMyUyMiUzRSUzQ3BhdGglMjBkJTNEJTIyTTE3LjU1LDEuNTQsMy44OSwzMS43OGEuMzguMzgsMCwwLDEtLjM0LjIySDEuMzhBLjM4LjM4LDAsMCwxLDEsMzEuNDZMMTQuNjksMS4yMkEuMzkuMzksMCwwLDEsMTUsMUgxNy4yQS4zOC4zOCwwLDAsMSwxNy41NSwxLjU0WiUyMi8lM0UlM0NwYXRoJTIwZCUzRCUyMk0xOSwzM0gwVjBIMTlaJTIyJTIwZmlsbCUzRCUyMm5vbmUlMjIvJTNFJTNDL3N2ZyUzRVwiKTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wIDE2cHggY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IDlweCAxOHB4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDE2NTZweCkge1xuICAuc2l0ZS1mb3JtIC50ZXh0LWZpZWxkLWNvbnRhaW5lci0tcm93LXNsYXNoIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgMjFweCBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxMHB4IDIwcHg7XG4gIH1cbn1cbi5zaXRlLWZvcm0gLm1kYy1idXR0b24ge1xuICBtaW4taGVpZ2h0OiA0OHB4O1xuICBmb250LXNpemU6IDE2cHg7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTY1NnB4KSB7XG4gIC5zaXRlLWZvcm0gLm1kYy1idXR0b24ge1xuICAgIG1pbi1oZWlnaHQ6IDY0cHg7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICB9XG59XG4uc2l0ZS1mb3JtIC5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQgLm1kYy1mbG9hdGluZy1sYWJlbCxcbi5zaXRlLWZvcm0gLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYSAubWRjLWZsb2F0aW5nLWxhYmVsIHtcbiAgdG9wOiAxNHB4O1xuICB0cmFuc2Zvcm06IG5vbmU7XG59XG4uZmlyZWZveCAuc2l0ZS1mb3JtIC5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQgLm1kYy1mbG9hdGluZy1sYWJlbCxcbi5maXJlZm94IC5zaXRlLWZvcm0gLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYSAubWRjLWZsb2F0aW5nLWxhYmVsIHtcbiAgdG9wOiAxM3B4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDE2NTZweCkge1xuICAuc2l0ZS1mb3JtIC5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQgLm1kYy1mbG9hdGluZy1sYWJlbCxcbiAgLnNpdGUtZm9ybSAubWRjLXRleHQtZmllbGQtLXRleHRhcmVhIC5tZGMtZmxvYXRpbmctbGFiZWwge1xuICAgIHRvcDogMTlweDtcbiAgfVxuICAuZmlyZWZveCAuc2l0ZS1mb3JtIC5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQgLm1kYy1mbG9hdGluZy1sYWJlbCxcbiAgLmZpcmVmb3ggLnNpdGUtZm9ybSAubWRjLXRleHQtZmllbGQtLXRleHRhcmVhIC5tZGMtZmxvYXRpbmctbGFiZWwge1xuICAgIHRvcDogMThweDtcbiAgfVxufVxuLnNpdGUtZm9ybSAubWRjLXRleHQtZmllbGQtLW91dGxpbmVkIC5tZGMtbm90Y2hlZC1vdXRsaW5lLS11cGdyYWRlZCAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSxcbi5zaXRlLWZvcm0gLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZC5tZGMtbm90Y2hlZC1vdXRsaW5lLS11cGdyYWRlZCAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTUwJSkgc2NhbGUoMC43NSk7XG4gIHRvcDogMjFweDtcbn1cbi5maXJlZm94IC5zaXRlLWZvcm0gLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZCAubWRjLW5vdGNoZWQtb3V0bGluZS0tdXBncmFkZWQgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUsXG4uZmlyZWZveCAuc2l0ZS1mb3JtIC5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQubWRjLW5vdGNoZWQtb3V0bGluZS0tdXBncmFkZWQgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUge1xuICB0b3A6IDIwcHg7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTY1NnB4KSB7XG4gIC5zaXRlLWZvcm0gLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZCAubWRjLW5vdGNoZWQtb3V0bGluZS0tdXBncmFkZWQgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUsXG4gIC5zaXRlLWZvcm0gLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZC5tZGMtbm90Y2hlZC1vdXRsaW5lLS11cGdyYWRlZCAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSB7XG4gICAgZm9udC1zaXplOiAxOXB4O1xuICAgIHRvcDogMjRweDtcbiAgfVxuICAuZmlyZWZveCAuc2l0ZS1mb3JtIC5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQgLm1kYy1ub3RjaGVkLW91dGxpbmUtLXVwZ3JhZGVkIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlLFxuICAuZmlyZWZveCAuc2l0ZS1mb3JtIC5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQubWRjLW5vdGNoZWQtb3V0bGluZS0tdXBncmFkZWQgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUge1xuICAgIHRvcDogMjBweDtcbiAgfVxufVxuLnNpdGUtZm9ybSAubWRjLXRleHQtZmllbGQtLXRleHRhcmVhIC5tZGMtbm90Y2hlZC1vdXRsaW5lLS11cGdyYWRlZCAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTUwJSkgc2NhbGUoMC43NSk7XG4gIHRvcDogMjNweDtcbn1cbi5maXJlZm94IC5zaXRlLWZvcm0gLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYSAubWRjLW5vdGNoZWQtb3V0bGluZS0tdXBncmFkZWQgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUge1xuICB0b3A6IDIycHg7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTY1NnB4KSB7XG4gIC5zaXRlLWZvcm0gLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYSAubWRjLW5vdGNoZWQtb3V0bGluZS0tdXBncmFkZWQgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUge1xuICAgIGZvbnQtc2l6ZTogMTlweDtcbiAgICB0b3A6IDI1cHg7XG4gIH1cbiAgLmZpcmVmb3ggLnNpdGUtZm9ybSAubWRjLXRleHQtZmllbGQtLXRleHRhcmVhIC5tZGMtbm90Y2hlZC1vdXRsaW5lLS11cGdyYWRlZCAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSB7XG4gICAgdG9wOiAyMXB4O1xuICB9XG59XG4uc2l0ZS1mb3JtIC5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQubWRjLXRleHQtZmllbGQtLWZvY3VzZWQgLm1kYy1ub3RjaGVkLW91dGxpbmUtLXVwZ3JhZGVkIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlLFxuLnNpdGUtZm9ybSAubWRjLXRleHQtZmllbGQtLW91dGxpbmVkLm1kYy10ZXh0LWZpZWxkLS1mb2N1c2VkLm1kYy1ub3RjaGVkLW91dGxpbmUtLXVwZ3JhZGVkIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlIHtcbiAgdG9wOiAyMHB4O1xufVxuLmZpcmVmb3ggLnNpdGUtZm9ybSAubWRjLXRleHQtZmllbGQtLW91dGxpbmVkLm1kYy10ZXh0LWZpZWxkLS1mb2N1c2VkIC5tZGMtbm90Y2hlZC1vdXRsaW5lLS11cGdyYWRlZCAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSxcbi5maXJlZm94IC5zaXRlLWZvcm0gLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZC5tZGMtdGV4dC1maWVsZC0tZm9jdXNlZC5tZGMtbm90Y2hlZC1vdXRsaW5lLS11cGdyYWRlZCAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSB7XG4gIHRvcDogMTlweDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxNjU2cHgpIHtcbiAgLnNpdGUtZm9ybSAubWRjLXRleHQtZmllbGQtLW91dGxpbmVkLm1kYy10ZXh0LWZpZWxkLS1mb2N1c2VkIC5tZGMtbm90Y2hlZC1vdXRsaW5lLS11cGdyYWRlZCAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSxcbiAgLnNpdGUtZm9ybSAubWRjLXRleHQtZmllbGQtLW91dGxpbmVkLm1kYy10ZXh0LWZpZWxkLS1mb2N1c2VkLm1kYy1ub3RjaGVkLW91dGxpbmUtLXVwZ3JhZGVkIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlIHtcbiAgICB0b3A6IDIzcHg7XG4gIH1cbiAgLmZpcmVmb3ggLnNpdGUtZm9ybSAubWRjLXRleHQtZmllbGQtLW91dGxpbmVkLm1kYy10ZXh0LWZpZWxkLS1mb2N1c2VkIC5tZGMtbm90Y2hlZC1vdXRsaW5lLS11cGdyYWRlZCAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSxcbiAgLmZpcmVmb3ggLnNpdGUtZm9ybSAubWRjLXRleHQtZmllbGQtLW91dGxpbmVkLm1kYy10ZXh0LWZpZWxkLS1mb2N1c2VkLm1kYy1ub3RjaGVkLW91dGxpbmUtLXVwZ3JhZGVkIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlIHtcbiAgICB0b3A6IDE5cHg7XG4gIH1cbn1cbi5zaXRlLWZvcm0gLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYS5tZGMtdGV4dC1maWVsZC0tZm9jdXNlZCAubWRjLW5vdGNoZWQtb3V0bGluZS0tdXBncmFkZWQgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUge1xuICB0b3A6IDIzcHg7XG59XG4uZmlyZWZveCAuc2l0ZS1mb3JtIC5tZGMtdGV4dC1maWVsZC0tdGV4dGFyZWEubWRjLXRleHQtZmllbGQtLWZvY3VzZWQgLm1kYy1ub3RjaGVkLW91dGxpbmUtLXVwZ3JhZGVkIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlIHtcbiAgdG9wOiAyMnB4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDE2NTZweCkge1xuICAuc2l0ZS1mb3JtIC5tZGMtdGV4dC1maWVsZC0tdGV4dGFyZWEubWRjLXRleHQtZmllbGQtLWZvY3VzZWQgLm1kYy1ub3RjaGVkLW91dGxpbmUtLXVwZ3JhZGVkIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlIHtcbiAgICB0b3A6IDI1cHg7XG4gIH1cbiAgLmZpcmVmb3ggLnNpdGUtZm9ybSAubWRjLXRleHQtZmllbGQtLXRleHRhcmVhLm1kYy10ZXh0LWZpZWxkLS1mb2N1c2VkIC5tZGMtbm90Y2hlZC1vdXRsaW5lLS11cGdyYWRlZCAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSB7XG4gICAgdG9wOiAyMXB4O1xuICB9XG59XG4uc2l0ZS1mb3JtIC5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQgLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX2xlYWRpbmcsXG4uc2l0ZS1mb3JtIC5tZGMtdGV4dC1maWVsZC0tdGV4dGFyZWEgLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX2xlYWRpbmcsXG4uc2l0ZS1mb3JtIC5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQgLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX3RyYWlsaW5nLFxuLnNpdGUtZm9ybSAubWRjLXRleHQtZmllbGQtLXRleHRhcmVhIC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX190cmFpbGluZyB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG4uc2l0ZS1mb3JtIC5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQ6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpOm5vdCgubWRjLXRleHQtZmllbGQtLWludmFsaWQpIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19sZWFkaW5nLFxuLnNpdGUtZm9ybSAubWRjLXRleHQtZmllbGQtLW91dGxpbmVkOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKTpub3QoLm1kYy10ZXh0LWZpZWxkLS1pbnZhbGlkKSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbm90Y2gsXG4uc2l0ZS1mb3JtIC5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQ6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpOm5vdCgubWRjLXRleHQtZmllbGQtLWludmFsaWQpIC5tZGMtbm90Y2hlZC1vdXRsaW5lX190cmFpbGluZyB7XG4gIGJvcmRlci1jb2xvcjogIzAwYTVlMztcbn1cbi5zaXRlLWZvcm0gLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYTpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCk6bm90KC5tZGMtdGV4dC1maWVsZC0taW52YWxpZCkgLm1kYy1ub3RjaGVkLW91dGxpbmVfX2xlYWRpbmcsXG4uc2l0ZS1mb3JtIC5tZGMtdGV4dC1maWVsZC0tdGV4dGFyZWE6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpOm5vdCgubWRjLXRleHQtZmllbGQtLWludmFsaWQpIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19ub3RjaCxcbi5zaXRlLWZvcm0gLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYTpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCk6bm90KC5tZGMtdGV4dC1maWVsZC0taW52YWxpZCkgLm1kYy1ub3RjaGVkLW91dGxpbmVfX3RyYWlsaW5nIHtcbiAgYm9yZGVyLWNvbG9yOiAjMDBhNWUzO1xufVxuLnNpdGUtZm9ybSAubWRjLXRleHQtZmllbGQtLW91dGxpbmVkOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKS5tZGMtdGV4dC1maWVsZC0taW52YWxpZCAubWRjLW5vdGNoZWQtb3V0bGluZV9fbGVhZGluZyxcbi5zaXRlLWZvcm0gLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZDpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCkubWRjLXRleHQtZmllbGQtLWludmFsaWQgLm1kYy1ub3RjaGVkLW91dGxpbmVfX25vdGNoLFxuLnNpdGUtZm9ybSAubWRjLXRleHQtZmllbGQtLW91dGxpbmVkOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKS5tZGMtdGV4dC1maWVsZC0taW52YWxpZCAubWRjLW5vdGNoZWQtb3V0bGluZV9fdHJhaWxpbmcge1xuICBib3JkZXItY29sb3I6ICMwMGE1ZTM7XG59XG4uc2l0ZS1mb3JtIC5tZGMtdGV4dC1maWVsZC0tdGV4dGFyZWE6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpLm1kYy10ZXh0LWZpZWxkLS1pbnZhbGlkIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19sZWFkaW5nLFxuLnNpdGUtZm9ybSAubWRjLXRleHQtZmllbGQtLXRleHRhcmVhOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKS5tZGMtdGV4dC1maWVsZC0taW52YWxpZCAubWRjLW5vdGNoZWQtb3V0bGluZV9fbm90Y2gsXG4uc2l0ZS1mb3JtIC5tZGMtdGV4dC1maWVsZC0tdGV4dGFyZWE6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpLm1kYy10ZXh0LWZpZWxkLS1pbnZhbGlkIC5tZGMtbm90Y2hlZC1vdXRsaW5lX190cmFpbGluZyB7XG4gIGJvcmRlci1jb2xvcjogIzAwYTVlMztcbn1cbi5zaXRlLWZvcm0gLm1kYy10ZXh0LWZpZWxkOm5vdCgubWRjLXRleHQtZmllbGQtLWZvY3VzZWQpOm5vdCgubWRjLXRleHQtZmllbGQtLWludmFsaWQpIC5tZGMtdGV4dC1maWVsZF9faW5wdXQ6aG92ZXIgfiAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbGVhZGluZyxcbi5zaXRlLWZvcm0gLm1kYy10ZXh0LWZpZWxkOm5vdCgubWRjLXRleHQtZmllbGQtLWZvY3VzZWQpOm5vdCgubWRjLXRleHQtZmllbGQtLWludmFsaWQpIC5tZGMtdGV4dC1maWVsZF9faW5wdXQ6aG92ZXIgfiAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbm90Y2gsXG4uc2l0ZS1mb3JtIC5tZGMtdGV4dC1maWVsZDpub3QoLm1kYy10ZXh0LWZpZWxkLS1mb2N1c2VkKTpub3QoLm1kYy10ZXh0LWZpZWxkLS1pbnZhbGlkKSAubWRjLXRleHQtZmllbGRfX2lucHV0OmhvdmVyIH4gLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX3RyYWlsaW5nIHtcbiAgYm9yZGVyLWNvbG9yOiAjMDBhNWUzO1xufVxuLnNpdGUtZm9ybSAubWRjLXRleHQtZmllbGQ6bm90KC5tZGMtdGV4dC1maWVsZC0tZm9jdXNlZCkubWRjLXRleHQtZmllbGQtLWludmFsaWQgLm1kYy10ZXh0LWZpZWxkX19pbnB1dDpob3ZlciB+IC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19sZWFkaW5nLFxuLnNpdGUtZm9ybSAubWRjLXRleHQtZmllbGQ6bm90KC5tZGMtdGV4dC1maWVsZC0tZm9jdXNlZCkubWRjLXRleHQtZmllbGQtLWludmFsaWQgLm1kYy10ZXh0LWZpZWxkX19pbnB1dDpob3ZlciB+IC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19ub3RjaCxcbi5zaXRlLWZvcm0gLm1kYy10ZXh0LWZpZWxkOm5vdCgubWRjLXRleHQtZmllbGQtLWZvY3VzZWQpLm1kYy10ZXh0LWZpZWxkLS1pbnZhbGlkIC5tZGMtdGV4dC1maWVsZF9faW5wdXQ6aG92ZXIgfiAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fdHJhaWxpbmcge1xuICBib3JkZXItY29sb3I6ICMwMGE1ZTM7XG59XG4uc2l0ZS1mb3JtX192YWxpZGF0aW9uLXRleHQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG1hcmdpbjogYXV0bztcbiAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAyNnB4KTtcbiAgYm90dG9tOiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNTAlKTtcbiAgbGVmdDogMTNweDtcbiAgY29sb3I6ICNmZjAwMDA7XG4gIGZvbnQtc2l6ZTogMTAuNXB4O1xuICBsaW5lLWhlaWdodDogMTtcbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZy1sZWZ0OiAycHg7XG4gIHBhZGRpbmctcmlnaHQ6IDJweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMzc1cHgpIHtcbiAgLnNpdGUtZm9ybV9fdmFsaWRhdGlvbi10ZXh0IHtcbiAgICBmb250LXNpemU6IDEycHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxNjU2cHgpIHtcbiAgLnNpdGUtZm9ybV9fdmFsaWRhdGlvbi10ZXh0IHtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gIH1cbn1cbmlucHV0OnZhbGlkIH4gLnNpdGUtZm9ybV9fdmFsaWRhdGlvbi10ZXh0IHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuLndhcy12YWxpZGF0ZWQgaW5wdXQ6aW52YWxpZCB+IC5zaXRlLWZvcm1fX3ZhbGlkYXRpb24tdGV4dCB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG59XG4ud2FzLXZhbGlkYXRlZCAubWRjLXRleHQtZmllbGQtLWludmFsaWQgLnNpdGUtZm9ybV9fdmFsaWRhdGlvbi10ZXh0IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4ud2FzLXZhbGlkYXRlZCAuc2l0ZS1mb3JtX19jaGVja2JveC0tcmVxdWlyZWQuc2l0ZS1mb3JtX19jaGVja2JveC0tdW5jaGVja2VkIH4gLnNpdGUtZm9ybV9fdmFsaWRhdGlvbi10ZXh0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBzdGF0aWM7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgcGFkZGluZy1yaWdodDogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIG1hcmdpbjogNnB4IDAgMCAwO1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiBub25lO1xuICB0cmFuc2Zvcm06IG5vbmU7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTY1NnB4KSB7XG4gIC53YXMtdmFsaWRhdGVkIC5zaXRlLWZvcm1fX2NoZWNrYm94LS1yZXF1aXJlZC5zaXRlLWZvcm1fX2NoZWNrYm94LS11bmNoZWNrZWQgfiAuc2l0ZS1mb3JtX192YWxpZGF0aW9uLXRleHQge1xuICAgIHBhZGRpbmctbGVmdDogNDRweDtcbiAgfVxufVxuLnNpdGUtZm9ybV9fc2VydmVyLWVycm9yIHtcbiAgY29sb3I6ICNmZjAwMDA7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG4uc2l0ZS1mb3JtX19zZXJ2ZXItdmFsaWRhdGlvbi10ZXh0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBtYXJnaW46IGF1dG87XG4gIG1heC13aWR0aDogY2FsYygxMDAlIC0gMjZweCk7XG4gIGJvdHRvbTogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDUwJSk7XG4gIGxlZnQ6IDEzcHg7XG4gIGNvbG9yOiAjZmYwMDAwO1xuICBmb250LXNpemU6IDEwLjVweDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmctbGVmdDogMnB4O1xuICBwYWRkaW5nLXJpZ2h0OiAycHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIHVzZXItc2VsZWN0OiBub25lO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDM3NXB4KSB7XG4gIC5zaXRlLWZvcm1fX3NlcnZlci12YWxpZGF0aW9uLXRleHQge1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDE2NTZweCkge1xuICAuc2l0ZS1mb3JtX19zZXJ2ZXItdmFsaWRhdGlvbi10ZXh0IHtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gIH1cbn1cbi5zZXJ2ZXItc2lkZS12YWxpZGF0ZWQgLnNlcnZlci1zaWRlLS1pbnZhbGlkIH4gLnNpdGUtZm9ybV9fc2VydmVyLXZhbGlkYXRpb24tdGV4dCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLnNpdGUtZm9ybV9fanMtdmFsaWRhdGlvbi10ZXh0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBtYXJnaW46IGF1dG87XG4gIG1heC13aWR0aDogY2FsYygxMDAlIC0gMjZweCk7XG4gIGJvdHRvbTogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDUwJSk7XG4gIGxlZnQ6IDEzcHg7XG4gIGNvbG9yOiAjZmYwMDAwO1xuICBmb250LXNpemU6IDEwLjVweDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmctbGVmdDogMnB4O1xuICBwYWRkaW5nLXJpZ2h0OiAycHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIHVzZXItc2VsZWN0OiBub25lO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDM3NXB4KSB7XG4gIC5zaXRlLWZvcm1fX2pzLXZhbGlkYXRpb24tdGV4dCB7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTY1NnB4KSB7XG4gIC5zaXRlLWZvcm1fX2pzLXZhbGlkYXRpb24tdGV4dCB7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICB9XG59XG4uanMtc2lkZS12YWxpZGF0ZWQgLmpzLXNpZGUtLWludmFsaWQgfiAuc2l0ZS1mb3JtX19qcy12YWxpZGF0aW9uLXRleHQge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi5zaXRlLWZvcm0gLm1kYy1tZW51IHtcbiAgei1pbmRleDogMjAwMDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuc2l0ZS1mb3JtIC5tZGMtbWVudSB7XG4gICAgei1pbmRleDogMTA7XG4gIH1cbn1cbi5zaXRlLWZvcm0gLm1kYy1saXN0LWl0ZW0ge1xuICBoZWlnaHQ6IGF1dG87XG4gIG1pbi1oZWlnaHQ6IDQ4cHg7XG4gIHBhZGRpbmctdG9wOiAxMHB4O1xuICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB3aWR0aDogMTAwJTtcbn1cbi5zaXRlLWZvcm0gLm1kYy1zZWxlY3QtLW91dGxpbmVkIHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICBoZWlnaHQ6IDQ4cHg7XG59XG4uc2l0ZS1mb3JtIC5tZGMtc2VsZWN0LS1vdXRsaW5lZCAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbGVhZGluZyB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDtcbn1cbltkaXI9cnRsXSAuc2l0ZS1mb3JtIC5tZGMtc2VsZWN0LS1vdXRsaW5lZCAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbGVhZGluZywgLnNpdGUtZm9ybSAubWRjLXNlbGVjdC0tb3V0bGluZWQgLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX2xlYWRpbmdbZGlyPXJ0bF0ge1xuICAvKiBAbm9mbGlwICovXG4gIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7XG59XG4uc2l0ZS1mb3JtIC5tZGMtc2VsZWN0LS1vdXRsaW5lZCAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fdHJhaWxpbmcge1xuICAvKiBAbm9mbGlwICovXG4gIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7XG59XG5bZGlyPXJ0bF0gLnNpdGUtZm9ybSAubWRjLXNlbGVjdC0tb3V0bGluZWQgLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX3RyYWlsaW5nLCAuc2l0ZS1mb3JtIC5tZGMtc2VsZWN0LS1vdXRsaW5lZCAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fdHJhaWxpbmdbZGlyPXJ0bF0ge1xuICAvKiBAbm9mbGlwICovXG4gIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7XG59XG4uc2l0ZS1mb3JtIC5tZGMtc2VsZWN0LS1vdXRsaW5lZCAubWRjLXNlbGVjdF9fc2VsZWN0ZWQtdGV4dCB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG4uc2l0ZS1mb3JtIC5tZGMtc2VsZWN0LS1vdXRsaW5lZDpub3QoLm1kYy1zZWxlY3QtLWRpc2FibGVkKSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbGVhZGluZyxcbi5zaXRlLWZvcm0gLm1kYy1zZWxlY3QtLW91dGxpbmVkOm5vdCgubWRjLXNlbGVjdC0tZGlzYWJsZWQpIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19ub3RjaCxcbi5zaXRlLWZvcm0gLm1kYy1zZWxlY3QtLW91dGxpbmVkOm5vdCgubWRjLXNlbGVjdC0tZGlzYWJsZWQpIC5tZGMtbm90Y2hlZC1vdXRsaW5lX190cmFpbGluZyB7XG4gIGJvcmRlci1jb2xvcjogIzAwYTVlMztcbn1cbi5zaXRlLWZvcm0gLm1kYy1zZWxlY3QtLW91dGxpbmVkOm5vdCgubWRjLXNlbGVjdC0tZGlzYWJsZWQpLm1kYy1zZWxlY3QtLWZvY3VzZWQgLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX2xlYWRpbmcsXG4uc2l0ZS1mb3JtIC5tZGMtc2VsZWN0LS1vdXRsaW5lZDpub3QoLm1kYy1zZWxlY3QtLWRpc2FibGVkKS5tZGMtc2VsZWN0LS1mb2N1c2VkIC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19ub3RjaCxcbi5zaXRlLWZvcm0gLm1kYy1zZWxlY3QtLW91dGxpbmVkOm5vdCgubWRjLXNlbGVjdC0tZGlzYWJsZWQpLm1kYy1zZWxlY3QtLWZvY3VzZWQgLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX3RyYWlsaW5nIHtcbiAgYm9yZGVyLXdpZHRoOiAycHg7XG59XG4uc2l0ZS1mb3JtIC5tZGMtc2VsZWN0LS1vdXRsaW5lZDpub3QoLm1kYy1zZWxlY3QtLWRpc2FibGVkKS5tZGMtc2VsZWN0LS1mb2N1c2VkIC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19sZWFkaW5nLFxuLnNpdGUtZm9ybSAubWRjLXNlbGVjdC0tb3V0bGluZWQ6bm90KC5tZGMtc2VsZWN0LS1kaXNhYmxlZCkubWRjLXNlbGVjdC0tZm9jdXNlZCAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbm90Y2gsXG4uc2l0ZS1mb3JtIC5tZGMtc2VsZWN0LS1vdXRsaW5lZDpub3QoLm1kYy1zZWxlY3QtLWRpc2FibGVkKS5tZGMtc2VsZWN0LS1mb2N1c2VkIC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX190cmFpbGluZyB7XG4gIGJvcmRlci1jb2xvcjogIzAwYTVlMztcbn1cbi5zaXRlLWZvcm0gLm1kYy1zZWxlY3QtLW91dGxpbmVkOm5vdCgubWRjLXNlbGVjdC0tZGlzYWJsZWQpOm5vdCgubWRjLXNlbGVjdC0tZm9jdXNlZCkgLm1kYy1zZWxlY3RfX2FuY2hvcjpob3ZlciAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbGVhZGluZyxcbi5zaXRlLWZvcm0gLm1kYy1zZWxlY3QtLW91dGxpbmVkOm5vdCgubWRjLXNlbGVjdC0tZGlzYWJsZWQpOm5vdCgubWRjLXNlbGVjdC0tZm9jdXNlZCkgLm1kYy1zZWxlY3RfX2FuY2hvcjpob3ZlciAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbm90Y2gsXG4uc2l0ZS1mb3JtIC5tZGMtc2VsZWN0LS1vdXRsaW5lZDpub3QoLm1kYy1zZWxlY3QtLWRpc2FibGVkKTpub3QoLm1kYy1zZWxlY3QtLWZvY3VzZWQpIC5tZGMtc2VsZWN0X19hbmNob3I6aG92ZXIgLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX3RyYWlsaW5nIHtcbiAgYm9yZGVyLWNvbG9yOiAjMDBhNWUzO1xufVxuLnNpdGUtZm9ybSAubWRjLXNlbGVjdC0tb3V0bGluZWQ6bm90KC5tZGMtc2VsZWN0LS1kaXNhYmxlZCkubWRjLXNlbGVjdC0tZm9jdXNlZCAubWRjLWZsb2F0aW5nLWxhYmVsIHtcbiAgY29sb3I6ICMwMGE1ZTM7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTY1NnB4KSB7XG4gIC5zaXRlLWZvcm0gLm1kYy1zZWxlY3QtLW91dGxpbmVkIHtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDE1cHggMzFweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAxNHB4IGNlbnRlcjtcbiAgICBsaW5lLWhlaWdodDogMS40O1xuICAgIGhlaWdodDogNjRweDtcbiAgICBmb250LXNpemU6IDE5cHg7XG4gIH1cbn1cbi5zaXRlLWZvcm0gLm1kYy1zZWxlY3QtLW91dGxpbmVkIC5tZGMtbWVudSB7XG4gIHdpZHRoOiAxMDAlO1xufVxuLnNpdGUtZm9ybSAubWRjLXNlbGVjdC0tb3V0bGluZWQgLm1kYy1zZWxlY3RfX2FuY2hvciB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDQ4cHg7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IDEycHggY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IDEycHggMjVweDtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmclMjB4bWxucyUzRCUyMmh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJTIyJTIwZmlsbCUzRCUyMiUyMzAwQUVFRiUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDE2JTIwMzIlMjIlM0UlM0NwYXRoJTIwZCUzRCUyMk0xNCwxMS4xSDNMOC41LDJaTTMsMjFIMTRMOC41LDMwLjFaJTIyLyUzRSUzQ3BhdGglMjBkJTNEJTIyTTE2LDMySDBWMEgxNlolMjIlMjBmaWxsJTNEJTIybm9uZSUyMi8lM0UlM0Mvc3ZnJTNFXCIpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnM7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTY1NnB4KSB7XG4gIC5zaXRlLWZvcm0gLm1kYy1zZWxlY3QtLW91dGxpbmVkIC5tZGMtc2VsZWN0X19hbmNob3Ige1xuICAgIGhlaWdodDogNjRweDtcbiAgfVxufVxuLnNpdGUtZm9ybSAubWRjLXNlbGVjdC0tb3V0bGluZWQgLm1kYy1zZWxlY3RfX3NlbGVjdGVkLXRleHQge1xuICBsaW5lLWhlaWdodDogNDdweDtcbiAgcGFkZGluZy10b3A6IDA7XG4gIHBhZGRpbmctYm90dG9tOiAwO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB3aWR0aDogMTAwJTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmctcmlnaHQ6IDI4cHg7XG4gIG1pbi13aWR0aDogMDtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTY1NnB4KSB7XG4gIC5zaXRlLWZvcm0gLm1kYy1zZWxlY3QtLW91dGxpbmVkIC5tZGMtc2VsZWN0X19zZWxlY3RlZC10ZXh0IHtcbiAgICBsaW5lLWhlaWdodDogNjJweDtcbiAgICBmb250LXNpemU6IDE5cHg7XG4gICAgcGFkZGluZy1yaWdodDogNTJweDtcbiAgfVxufVxuLnNpdGUtZm9ybSAubWRjLXNlbGVjdC0tb3V0bGluZWQgLm1kYy1mbG9hdGluZy1sYWJlbCB7XG4gIHRvcDogMjJweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDE2NTZweCkge1xuICAuc2l0ZS1mb3JtIC5tZGMtc2VsZWN0LS1vdXRsaW5lZCAubWRjLWZsb2F0aW5nLWxhYmVsIHtcbiAgICB0b3A6IDMwcHg7XG4gIH1cbn1cbi5zaXRlLWZvcm0gLm1kYy1zZWxlY3QtLW91dGxpbmVkIC5tZGMtZmxvYXRpbmctbGFiZWwubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSB7XG4gIHRvcDogMTNweDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxNjU2cHgpIHtcbiAgLnNpdGUtZm9ybSAubWRjLXNlbGVjdC0tb3V0bGluZWQgLm1kYy1mbG9hdGluZy1sYWJlbC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlIHtcbiAgICB0b3A6IDI0cHg7XG4gIH1cbn1cbi5maXJlZm94IC5zaXRlLWZvcm0gLm1kYy1zZWxlY3QtLW91dGxpbmVkIC5tZGMtZmxvYXRpbmctbGFiZWwubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSB7XG4gIHRvcDogMTJweDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxNjU2cHgpIHtcbiAgLmZpcmVmb3ggLnNpdGUtZm9ybSAubWRjLXNlbGVjdC0tb3V0bGluZWQgLm1kYy1mbG9hdGluZy1sYWJlbC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlIHtcbiAgICB0b3A6IDIycHg7XG4gIH1cbn1cbi5zaXRlLWZvcm0gLm1kYy1zZWxlY3QtLW91dGxpbmVkIC5tZGMtc2VsZWN0X19hbmNob3IgLm1kYy1ub3RjaGVkLW91dGxpbmUtLXVwZ3JhZGVkIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlLFxuLnNpdGUtZm9ybSAubWRjLXNlbGVjdC0tb3V0bGluZWQgLm1kYy1zZWxlY3RfX2FuY2hvci5tZGMtbm90Y2hlZC1vdXRsaW5lLS11cGdyYWRlZCAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTA2JSkgc2NhbGUoMC43NSk7XG4gIGNvbG9yOiAjMDBhNWUzO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDE2NTZweCkge1xuICAuc2l0ZS1mb3JtIC5tZGMtc2VsZWN0LS1vdXRsaW5lZCAubWRjLXNlbGVjdF9fYW5jaG9yIC5tZGMtbm90Y2hlZC1vdXRsaW5lLS11cGdyYWRlZCAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSxcbiAgLnNpdGUtZm9ybSAubWRjLXNlbGVjdC0tb3V0bGluZWQgLm1kYy1zZWxlY3RfX2FuY2hvci5tZGMtbm90Y2hlZC1vdXRsaW5lLS11cGdyYWRlZCAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xNDclKSBzY2FsZSgwLjc1KTtcbiAgICBmb250LXNpemU6IDE5cHg7XG4gIH1cbn1cbi5zaXRlLWZvcm0gLm1kYy1zZWxlY3QtLW91dGxpbmVkOmhvdmVyIC5tZGMtc2VsZWN0X19hbmNob3IsIC5zaXRlLWZvcm0gLm1kYy1zZWxlY3QtLW91dGxpbmVkOmZvY3VzIC5tZGMtc2VsZWN0X19hbmNob3Ige1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDE3NCwgMjM5LCAwLjA2KTtcbn1cbi5zaXRlLWZvcm0gLm1kYy1zZWxlY3QtLW91dGxpbmVkOm5vdCgubWRjLXNlbGVjdC0tZGlzYWJsZWQpIC5tZGMtZmxvYXRpbmctbGFiZWwge1xuICBjb2xvcjogIzAwYTVlMztcbn1cbi5zaXRlLWZvcm0gLm1kYy1zZWxlY3QtLW91dGxpbmVkIC5tZGMtc2VsZWN0LWlucHV0LWhpZGRlbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtMTAwcHg7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IC0xO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgb3BhY2l0eTogMDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxNjU2cHgpIHtcbiAgLnNpdGUtZm9ybSAubWRjLXNlbGVjdC0tY29tcGFjdCB7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxNXB4IDMxcHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgMTRweCBjZW50ZXI7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICBoZWlnaHQ6IDU0cHg7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICB9XG59XG4uc2l0ZS1mb3JtIC5tZGMtc2VsZWN0LS1jb21wYWN0IC5tZGMtc2VsZWN0X19hbmNob3Ige1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA0OHB4O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAxMnB4IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiAxMnB4IDI1cHg7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTY1NnB4KSB7XG4gIC5zaXRlLWZvcm0gLm1kYy1zZWxlY3QtLWNvbXBhY3QgLm1kYy1zZWxlY3RfX2FuY2hvciB7XG4gICAgaGVpZ2h0OiA1NHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTY1NnB4KSB7XG4gIC5zaXRlLWZvcm0gLm1kYy1zZWxlY3QtLWNvbXBhY3QgLm1kYy1zZWxlY3RfX3NlbGVjdGVkLXRleHQge1xuICAgIGxpbmUtaGVpZ2h0OiA1M3B4O1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgfVxufVxuLnNpdGUtZm9ybSAubWRjLXNlbGVjdC0tY29tcGFjdCAubWRjLWZsb2F0aW5nLWxhYmVsLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUge1xuICB0b3A6IDEzcHg7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTY1NnB4KSB7XG4gIC5zaXRlLWZvcm0gLm1kYy1zZWxlY3QtLWNvbXBhY3QgLm1kYy1mbG9hdGluZy1sYWJlbC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlIHtcbiAgICB0b3A6IDE5cHg7XG4gIH1cbn1cbi5zaXRlLWZvcm0gLm1kYy1zZWxlY3QtLWNvbXBhY3QgLm1kYy1zZWxlY3RfX2FuY2hvciAubWRjLW5vdGNoZWQtb3V0bGluZS0tdXBncmFkZWQgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUsXG4uc2l0ZS1mb3JtIC5tZGMtc2VsZWN0LS1jb21wYWN0IC5tZGMtc2VsZWN0X19hbmNob3IubWRjLW5vdGNoZWQtb3V0bGluZS0tdXBncmFkZWQgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwNCUpIHNjYWxlKDAuNzUpO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDE2NTZweCkge1xuICAuc2l0ZS1mb3JtIC5tZGMtc2VsZWN0LS1jb21wYWN0IC5tZGMtc2VsZWN0X19hbmNob3IgLm1kYy1ub3RjaGVkLW91dGxpbmUtLXVwZ3JhZGVkIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlLFxuICAuc2l0ZS1mb3JtIC5tZGMtc2VsZWN0LS1jb21wYWN0IC5tZGMtc2VsZWN0X19hbmNob3IubWRjLW5vdGNoZWQtb3V0bGluZS0tdXBncmFkZWQgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTQ3JSkgc2NhbGUoMC43NSk7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTY1NnB4KSB7XG4gIC5zaXRlLWZvcm0gLm1kYy10ZXh0LWZpZWxkLS1jb21wYWN0IHtcbiAgICBsaW5lLWhlaWdodDogMS41NTtcbiAgICBoZWlnaHQ6IDU0cHg7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTY1NnB4KSB7XG4gIC5zaXRlLWZvcm0gLm1kYy10ZXh0LWZpZWxkLS1jb21wYWN0IC5tZGMtZmxvYXRpbmctbGFiZWwge1xuICAgIHRvcDogMTdweDtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxNjU2cHgpIHtcbiAgLmZpcmVmb3ggLnNpdGUtZm9ybSAubWRjLXRleHQtZmllbGQtLWNvbXBhY3QgLm1kYy1mbG9hdGluZy1sYWJlbCB7XG4gICAgdG9wOiAxNnB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTY1NnB4KSB7XG4gIC5zaXRlLWZvcm0gLm1kYy10ZXh0LWZpZWxkLS1jb21wYWN0IC5tZGMtbm90Y2hlZC1vdXRsaW5lLS11cGdyYWRlZCAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSB7XG4gICAgdG9wOiAyMHB4O1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDE2NTZweCkge1xuICAuZmlyZWZveCAuc2l0ZS1mb3JtIC5tZGMtdGV4dC1maWVsZC0tY29tcGFjdCAubWRjLW5vdGNoZWQtb3V0bGluZS0tdXBncmFkZWQgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUge1xuICAgIHRvcDogMTlweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDE2NTZweCkge1xuICAuc2l0ZS1mb3JtIC5tZGMtdGV4dC1maWVsZC0tY29tcGFjdC5tZGMtdGV4dC1maWVsZC0tZm9jdXNlZCAubWRjLW5vdGNoZWQtb3V0bGluZS0tdXBncmFkZWQgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUge1xuICAgIHRvcDogMTlweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDE2NTZweCkge1xuICAuZmlyZWZveCAuc2l0ZS1mb3JtIC5tZGMtdGV4dC1maWVsZC0tY29tcGFjdC5tZGMtdGV4dC1maWVsZC0tZm9jdXNlZCAubWRjLW5vdGNoZWQtb3V0bGluZS0tdXBncmFkZWQgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUge1xuICAgIHRvcDogMThweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDE2NTZweCkge1xuICAuc2l0ZS1mb3JtIC5tZGMtdGV4dC1maWVsZC0tY29tcGFjdCAubWRjLXRleHQtZmllbGRfX2lucHV0IHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gIH1cbn1cbi5zaXRlLWZvcm0gLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYSB7XG4gIGhlaWdodDogYXV0bztcbiAgd2lkdGg6IDEwMCU7XG59XG4uc2l0ZS1mb3JtIC5tZGMtdGV4dC1maWVsZC0tdGV4dGFyZWEgLm1kYy10ZXh0LWZpZWxkX19pbnB1dCB7XG4gIHJlc2l6ZTogbm9uZTtcbiAgbWFyZ2luLXRvcDogMTBweDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxNjU2cHgpIHtcbiAgLnNpdGUtZm9ybSAubWRjLXRleHQtZmllbGQtLXRleHRhcmVhIC5tZGMtdGV4dC1maWVsZF9faW5wdXQge1xuICAgIG1hcmdpbi10b3A6IDE3cHg7XG4gIH1cbn1cbi5zaXRlLWZvcm1fX2hlbHAtdGV4dCB7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG59XG4ubWRjLWZvcm0tZmllbGQtLWNoZWNrYm94ID4gLnNpdGUtZm9ybV9faGVscC10ZXh0IHtcbiAgcGFkZGluZy1sZWZ0OiA0NXB4O1xufVxuLnNpdGUtZm9ybV9faGVscC10ZXh0LS1zbWFsbCB7XG4gIGZvbnQtc2l6ZTogMTAuNXB4O1xuICBmb250LXdlaWdodDogMzAwO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDM3NXB4KSB7XG4gIC5zaXRlLWZvcm1fX2hlbHAtdGV4dC0tc21hbGwge1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDE2NTZweCkge1xuICAuc2l0ZS1mb3JtX19oZWxwLXRleHQtLXNtYWxsIHtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gIH1cbn1cbi5zaXRlLWZvcm1fX2luZm8ge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBmb250LXdlaWdodDogMzAwO1xuICBmb250LXNpemU6IDEyLjVweDtcbiAgbWFyZ2luLXRvcDogMTVweDtcbiAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICBwYWRkaW5nOiAwO1xuICBsaW5lLWhlaWdodDogMS40Mztcbn1cbi5zaXRlLWZvcm1fX2luZm8tLWNlbnRlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi5zaXRlLWZvcm1fX2luZm8tLXNwYWNlZCB7XG4gIG1hcmdpbi10b3A6IDMycHg7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTY1NnB4KSB7XG4gIC5zaXRlLWZvcm1fX2luZm8ge1xuICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICBsaW5lLWhlaWdodDogMS43O1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgfVxufVxuLnNpdGUtZm9ybV9faW5mbyBhOmhvdmVyLCAuc2l0ZS1mb3JtX19pbmZvIGE6Zm9jdXMge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cbi5zaXRlLWZvcm0gLm1kYy10ZXh0LWZpZWxkX19pbnB1dDpyZXF1aXJlZCB+IC5tZGMtZmxvYXRpbmctbGFiZWw6bm90KC5yZXF1aXJlZCk6OmFmdGVyLCAuc2l0ZS1mb3JtIC5tZGMtdGV4dC1maWVsZF9faW5wdXQ6cmVxdWlyZWQgfiAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLWZsb2F0aW5nLWxhYmVsOm5vdCgucmVxdWlyZWQpOjphZnRlciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5rYWxpb3BjdXN0b21mb3Jtcy1mb3JtLS1kZWZhdWx0IHtcbiAgbWF4LXdpZHRoOiA2MjBweDtcbiAgbWFyZ2luOiAwIGF1dG87XG59XG4ua2FsaW9wY3VzdG9tZm9ybXMtZm9ybS0tZGVmYXVsdCBidXR0b25bdHlwZT1zdWJtaXRdIHtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLmthbGlvcGN1c3RvbWZvcm1zLWZvcm0tLWRlZmF1bHQgLmJ0bi0tYmx1ZTpkaXNhYmxlZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyNjUzQjk7XG59XG4ua2FsaW9wY3VzdG9tZm9ybXMtZm9ybV9fbWVzc2FnZS1jb250YWluZXIge1xuICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgZm9udC1zaXplOiAxNnB4O1xufVxuLmthbGlvcGN1c3RvbWZvcm1zLWZvcm1fX21lc3NhZ2UtY29udGFpbmVyLS1lcnJvciB7XG4gIGNvbG9yOiAjZmYwMDAwO1xufVxuLmthbGlvcGN1c3RvbWZvcm1zLWZvcm1fX21lc3NhZ2UtY29udGFpbmVyLS13YXJuaW5nIHtcbiAgY29sb3I6ICNGMjZBMjE7XG59XG4ua2FsaW9wY3VzdG9tZm9ybXMtZm9ybV9fbWVzc2FnZS1jb250YWluZXItLXN1Y2Nlc3Mge1xuICBjb2xvcjogIzZlYzAxZTtcbn1cblxuLmN1c3RvbS1maWVsZC0taW5kZW50ZWQge1xuICBtYXJnaW4tbGVmdDogMzVweDtcbn1cblxuLnN0YXRpY190ZXh0LWZpZWxkIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuLnN0YXRpY190ZXh0LWZpZWxkLS1zbWFsbCB7XG4gIGZvbnQtc2l6ZTogMTJweDtcbn1cbi5zdGF0aWNfdGV4dC1maWVsZC0tbm9ybWFsIHtcbiAgZm9udC1zaXplOiAxNHB4O1xufVxuLnN0YXRpY190ZXh0LWZpZWxkLS1sYXJnZSB7XG4gIGZvbnQtc2l6ZTogMTlweDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLnRpbWVsZXNzLWZvcm0ge1xuICBtYXgtd2lkdGg6IDY4MnB4O1xuICBtYXJnaW46IDAgYXV0bztcbn1cbi50aW1lbGVzcy1mb3JtX19hY3Rpb25zIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uYW5udWFsLWZvcm0ge1xuICBtYXgtd2lkdGg6IDQwMHB4O1xufVxuXG4ubmV3c2xldHRlci1hZ3JlZW1lbnRzIC5lenJpY2h0ZXh0LWZpZWxkLCAubmV3c2xldHRlci1hZ3JlZW1lbnRzIC5uZ2wtcmljaF90ZXh0IHtcbiAgZm9udC1zaXplOiAxNXB4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDM3NXB4KSB7XG4gIC5uZXdzbGV0dGVyLWFncmVlbWVudHMgLmV6cmljaHRleHQtZmllbGQsIC5uZXdzbGV0dGVyLWFncmVlbWVudHMgLm5nbC1yaWNoX3RleHQge1xuICAgIGZvbnQtc2l6ZTogMTdweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDE2NTZweCkge1xuICAubmV3c2xldHRlci1hZ3JlZW1lbnRzIC5lenJpY2h0ZXh0LWZpZWxkLCAubmV3c2xldHRlci1hZ3JlZW1lbnRzIC5uZ2wtcmljaF90ZXh0IHtcbiAgICBmb250LXNpemU6IDE5cHg7XG4gIH1cbn1cbi5uZXdzbGV0dGVyLWFncmVlbWVudHMgLmV6cmljaHRleHQtZmllbGQgcDpub3QoW2NsYXNzXSksIC5uZXdzbGV0dGVyLWFncmVlbWVudHMgLm5nbC1yaWNoX3RleHQgcDpub3QoW2NsYXNzXSkge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuLm5ld3NsZXR0ZXItYWdyZWVtZW50c19fdGl0bGUge1xuICBmb250LXdlaWdodDogMzAwO1xuICBwYWRkaW5nLXRvcDogOHB4O1xuICBtYXJnaW4tYm90dG9tOiAwLjhyZW07XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG4ubmV3c2xldHRlci1hZ3JlZW1lbnRzX190aXRsZSAuZXpyaWNodGV4dC1maWVsZCwgLm5ld3NsZXR0ZXItYWdyZWVtZW50c19fdGl0bGUgLm5nbC1yaWNoX3RleHQsIC5uZXdzbGV0dGVyLWFncmVlbWVudHNfX3RpdGxlIHtcbiAgZm9udC1zaXplOiAxNXB4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDM3NXB4KSB7XG4gIC5uZXdzbGV0dGVyLWFncmVlbWVudHNfX3RpdGxlIC5lenJpY2h0ZXh0LWZpZWxkLCAubmV3c2xldHRlci1hZ3JlZW1lbnRzX190aXRsZSAubmdsLXJpY2hfdGV4dCwgLm5ld3NsZXR0ZXItYWdyZWVtZW50c19fdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMTdweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDE2NTZweCkge1xuICAubmV3c2xldHRlci1hZ3JlZW1lbnRzX190aXRsZSAuZXpyaWNodGV4dC1maWVsZCwgLm5ld3NsZXR0ZXItYWdyZWVtZW50c19fdGl0bGUgLm5nbC1yaWNoX3RleHQsIC5uZXdzbGV0dGVyLWFncmVlbWVudHNfX3RpdGxlIHtcbiAgICBmb250LXNpemU6IDE5cHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuNHB4O1xuICB9XG59XG4ubmV3c2xldHRlci1hZ3JlZW1lbnRzX190aXRsZS0tYm9sZCB7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG59XG4ubmV3c2xldHRlci1hZ3JlZW1lbnRzX19jaG9pY2VzIHtcbiAgLypwYWRkaW5nLWxlZnQ6IDQ4cHg7XG4gIC5uZXdzbGV0dGVyLWFncmVlbWVudHMtLWNvbGxhcHNhYmxlICYge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICB9Ki9cbn1cbi5jbGllbnQtc2V0dGluZ3MgLm5ld3NsZXR0ZXItYWdyZWVtZW50c19fY2hvaWNlcyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xufVxuLmNsaWVudC1zZXR0aW5ncyAubmV3c2xldHRlci1hZ3JlZW1lbnRzX19jaG9pY2VzIC5uZXdzbGV0dGVyLWFncmVlbWVudHNfX2Nob2ljZSB7XG4gIHdpZHRoOiAxMDAlO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAuY2xpZW50LXNldHRpbmdzIC5uZXdzbGV0dGVyLWFncmVlbWVudHNfX2Nob2ljZXMgLm5ld3NsZXR0ZXItYWdyZWVtZW50c19fY2hvaWNlIHtcbiAgICB3aWR0aDogNDclO1xuICB9XG59XG4ubmV3c2xldHRlci1hZ3JlZW1lbnRzX19jaG9pY2Uge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4ubmV3c2xldHRlci1hZ3JlZW1lbnRzX190b2dnbGUge1xuICBib3JkZXI6IG5vbmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBvdXRsaW5lOiBub25lO1xuICBtYXJnaW46IDA7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogMThweCAxOHB4O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAwIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmclMjB4bWxucyUzRCUyMmh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJTIyJTIwZmlsbCUzRCUyMiUyMzIwMWQxZCUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDM2JTIwMzYlMjIlM0UlM0NwYXRoJTIwZCUzRCUyMk0zMy44NywyN2ExLjEzLDEuMTMsMCwwLDEtLjgtLjMzTDE4LDExLjcybC0xNS4wNywxNWExLjEzLDEuMTMsMCwwLDEtMS42LDAsMS4xMiwxLjEyLDAsMCwxLDAtMS41OUwxNy4yLDkuMzNhMS4xMywxLjEzLDAsMCwxLDEuNiwwTDM0LjY3LDI1LjA4YTEuMTMsMS4xMywwLDAsMS0uOCwxLjkyWiUyMi8lM0UlM0NwYXRoJTIwZCUzRCUyMk0zNiwzNkgwVjBIMzZaJTIyJTIwZmlsbCUzRCUyMm5vbmUlMjIvJTNFJTNDL3N2ZyUzRVwiKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDdweDtcbiAgcmlnaHQ6IDA7XG4gIHBhZGRpbmctcmlnaHQ6IDMwcHg7XG4gIGNvbG9yOiAjMDBBRUVGO1xuICBmb250LXNpemU6IDE1cHg7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMzc1cHgpIHtcbiAgLm5ld3NsZXR0ZXItYWdyZWVtZW50c19fdG9nZ2xlIHtcbiAgICBmb250LXNpemU6IDE3cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxNjU2cHgpIHtcbiAgLm5ld3NsZXR0ZXItYWdyZWVtZW50c19fdG9nZ2xlIHtcbiAgICBmb250LXNpemU6IDE5cHg7XG4gIH1cbn1cbi5uZXdzbGV0dGVyLWFncmVlbWVudHNfX3RvZ2dsZTpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG59XG4ubmV3c2xldHRlci1hZ3JlZW1lbnRzX190b2dnbGUgLm5ld3NsZXR0ZXItYWdyZWVtZW50c19fdG9nZ2xlLS1jb2xsYXBzZWQge1xuICBkaXNwbGF5OiBub25lO1xufVxuLm5ld3NsZXR0ZXItYWdyZWVtZW50c19fdG9nZ2xlIC5uZXdzbGV0dGVyLWFncmVlbWVudHNfX3RvZ2dsZS0tc2hvd24ge1xuICBkaXNwbGF5OiBpbmxpbmU7XG59XG4ubmV3c2xldHRlci1hZ3JlZW1lbnRzX190b2dnbGUuY29sbGFwc2VkIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmclMjB4bWxucyUzRCUyMmh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJTIyJTIwZmlsbCUzRCUyMiUyMzIwMWQxZCUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDM2JTIwMzYlMjIlM0UlM0NwYXRoJTIwZCUzRCUyMk0yLjEzLDlhMS4xMywxLjEzLDAsMCwxLC44LjMzTDE4LDI0LjI4LDMzLjA3LDkuMzNhMS4xMywxLjEzLDAsMCwxLDEuNiwwLDEuMTIsMS4xMiwwLDAsMSwwLDEuNTlMMTguOCwyNi42N2ExLjEzLDEuMTMsMCwwLDEtMS42LDBMMS4zMywxMC45MkExLjEzLDEuMTMsMCwwLDEsMi4xMyw5WiUyMi8lM0UlM0NwYXRoJTIwZCUzRCUyMk0zNiwzNkgwVjBIMzZaJTIyJTIwZmlsbCUzRCUyMm5vbmUlMjIvJTNFJTNDL3N2ZyUzRVwiKTtcbn1cbi5uZXdzbGV0dGVyLWFncmVlbWVudHNfX3RvZ2dsZS5jb2xsYXBzZWQgLm5ld3NsZXR0ZXItYWdyZWVtZW50c19fdG9nZ2xlLS1jb2xsYXBzZWQge1xuICBkaXNwbGF5OiBpbmxpbmU7XG59XG4ubmV3c2xldHRlci1hZ3JlZW1lbnRzX190b2dnbGUuY29sbGFwc2VkIC5uZXdzbGV0dGVyLWFncmVlbWVudHNfX3RvZ2dsZS0tc2hvd24ge1xuICBkaXNwbGF5OiBub25lO1xufVxuLm5ld3NsZXR0ZXItYWdyZWVtZW50c19fcGFuZWwgLm5ld3NsZXR0ZXItYWdyZWVtZW50c19faW5mbyB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZy1ib3R0b206IDI4cHg7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTY1NnB4KSB7XG4gIC5uZXdzbGV0dGVyLWFncmVlbWVudHNfX3BhbmVsIC5uZXdzbGV0dGVyLWFncmVlbWVudHNfX2luZm8ge1xuICAgIHBhZGRpbmctYm90dG9tOiAxNnB4O1xuICB9XG59XG4ubmV3c2xldHRlci1hZ3JlZW1lbnRzX19pbmZvIHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgbWFyZ2luLXRvcDogMjJweDtcbiAgbWFyZ2luLWJvdHRvbTogMjhweDtcbiAgcGFkZGluZzogMDtcbiAgbGluZS1oZWlnaHQ6IDEuNDM7XG59XG4ubmV3c2xldHRlci1hZ3JlZW1lbnRzX19pbmZvLS1zcGFjZWQge1xuICBtYXJnaW4tdG9wOiAzMnB4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDE2NTZweCkge1xuICAubmV3c2xldHRlci1hZ3JlZW1lbnRzX19pbmZvLS1zcGFjZWQge1xuICAgIG1hcmdpbi10b3A6IDIycHg7XG4gIH1cbn1cbi5uZXdzbGV0dGVyLWFncmVlbWVudHNfX2luZm8tLWluZGVudGVkLCAubmV3c2xldHRlci1hZ3JlZW1lbnRzX19jaG9pY2UgLm5ld3NsZXR0ZXItYWdyZWVtZW50c19faW5mbyB7XG4gIHBhZGRpbmctbGVmdDogMzVweDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxNjU2cHgpIHtcbiAgLm5ld3NsZXR0ZXItYWdyZWVtZW50c19faW5mby0taW5kZW50ZWQsIC5uZXdzbGV0dGVyLWFncmVlbWVudHNfX2Nob2ljZSAubmV3c2xldHRlci1hZ3JlZW1lbnRzX19pbmZvIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDQ1cHg7XG4gIH1cbn1cbi5uZXdzbGV0dGVyLWFncmVlbWVudHNfX2luZm8gLmV6cmljaHRleHQtZmllbGQsIC5uZXdzbGV0dGVyLWFncmVlbWVudHNfX2luZm8gLm5nbC1yaWNoX3RleHQsIC5uZXdzbGV0dGVyLWFncmVlbWVudHNfX2luZm8ge1xuICBmb250LXNpemU6IDEyLjVweDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxNjU2cHgpIHtcbiAgLm5ld3NsZXR0ZXItYWdyZWVtZW50c19faW5mbyAuZXpyaWNodGV4dC1maWVsZCwgLm5ld3NsZXR0ZXItYWdyZWVtZW50c19faW5mbyAubmdsLXJpY2hfdGV4dCwgLm5ld3NsZXR0ZXItYWdyZWVtZW50c19faW5mbyB7XG4gICAgbGluZS1oZWlnaHQ6IDEuNztcbiAgICBmb250LXNpemU6IDE0cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxNjU2cHgpIHtcbiAgLm5ld3NsZXR0ZXItYWdyZWVtZW50c19faW5mbyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTZweDtcbiAgfVxufVxuLm5ld3NsZXR0ZXItYWdyZWVtZW50c19faW5mbyBhOmhvdmVyLCAubmV3c2xldHRlci1hZ3JlZW1lbnRzX19pbmZvIGE6Zm9jdXMge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuLm1kYy1jaGVja2JveC1tdWx0aXBsZSAuc2l0ZS1mb3JtX192YWxpZGF0aW9uLXRleHQge1xuICBsZWZ0OiAwO1xuICBib3R0b206IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWJvdHRvbTogMTRweDtcbiAgbWF4LXdpZHRoOiB1bnNldDtcbn1cblxuLnNlcnZlci1zaWRlLS1pbnZhbGlkIC5zaXRlLWZvcm1fX3ZhbGlkYXRpb24tdGV4dCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4ud2FzLXZhbGlkYXRlZCAubmV3c2xldHRlci1hZ3JlZW1lbnRzIC5zaXRlLWZvcm1fX2NoZWNrYm94LS1yZXF1aXJlZC5zaXRlLWZvcm1fX2NoZWNrYm94LS11bmNoZWNrZWQgfiAuc2l0ZS1mb3JtX192YWxpZGF0aW9uLXRleHQge1xuICBwYWRkaW5nLWxlZnQ6IDM1cHg7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTY1NnB4KSB7XG4gIC53YXMtdmFsaWRhdGVkIC5uZXdzbGV0dGVyLWFncmVlbWVudHMgLnNpdGUtZm9ybV9fY2hlY2tib3gtLXJlcXVpcmVkLnNpdGUtZm9ybV9fY2hlY2tib3gtLXVuY2hlY2tlZCB+IC5zaXRlLWZvcm1fX3ZhbGlkYXRpb24tdGV4dCB7XG4gICAgcGFkZGluZy1sZWZ0OiA0NHB4O1xuICB9XG59XG5cbi5zb2NpYWwtY29udGVudCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLnNvY2lhbC1jb250ZW50IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgbWFyZ2luLXRvcDogNDBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMnB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLnNvY2lhbC1jb250ZW50ID4gKiB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1cHg7XG4gIH1cbn1cblxuLnNlZS1hbHNvIHtcbiAgbWFyZ2luLWJvdHRvbTogLTMwcHg7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLnNlZS1hbHNvIHtcbiAgICBtYXJnaW4tYm90dG9tOiAtNDBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAuc2VlLWFsc28ge1xuICAgIG1hcmdpbi1ib3R0b206IC01MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTQwMHB4KSB7XG4gIC5zZWUtYWxzbyB7XG4gICAgbWFyZ2luLWJvdHRvbTogLTEwMHB4O1xuICB9XG59XG4uc2VlLWFsc29fX3RpdGxlIHtcbiAgZm9udC1zaXplOiAyOHB4O1xuICBmb250LXdlaWdodDogNzAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBjb2xvcjogIzAwQUVFRjtcbiAgbWFyZ2luLWJvdHRvbTogMzVweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW4tdG9wOiAzNXB4O1xuICBsZXR0ZXItc3BhY2luZzogMC4ycHg7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLnNlZS1hbHNvX190aXRsZSB7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuNXB4O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgZm9udC1zaXplOiA0OHB4O1xuICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgICBtYXJnaW4tbGVmdDogNDBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAuc2VlLWFsc29fX3RpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyOHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTY1NnB4KSB7XG4gIC5zZWUtYWxzb19fdGl0bGUge1xuICAgIG1hcmdpbi10b3A6IDM1cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogNThweDtcbiAgfVxufVxuLmFjY29yZGlvbjNfX3NlY3Rpb24gLnNlZS1hbHNvX190aXRsZSB7XG4gIG1hcmdpbi10b3A6IDA7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLmFjY29yZGlvbjNfX3NlY3Rpb24gLnNlZS1hbHNvX190aXRsZSB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tbGVmdDogMjhweDtcbiAgfVxufVxuLnNlZS1hbHNvX19yb3cge1xuICBtYXJnaW46IDAgLTIzcHg7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDAsIDE3NCwgMjM5LCAwLjMpO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5zZWUtYWxzb19fcm93IHtcbiAgICBtYXJnaW46IGF1dG87XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5zZWUtYWxzb19faXRlbSB7XG4gICAgd2lkdGg6IGNhbGMoMzMlIC0gMTdweCk7XG4gICAgbWFyZ2luLXJpZ2h0OiAzMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLnNlZS1hbHNvX19pdGVtIHtcbiAgICB3aWR0aDogY2FsYygzMyUgLSAxN3B4KTtcbiAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTQwMHB4KSB7XG4gIC5zZWUtYWxzb19faXRlbSB7XG4gICAgd2lkdGg6IGNhbGMoMzMlIC0gMTUuNjY2cHgpO1xuICAgIG1hcmdpbi1ib3R0b206IDEwMHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLnNlZS1hbHNvX19pdGVtOm50aC1vZi10eXBlKDNuKSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICB9XG59XG5cbi5jYXJkLTIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDAsIDE3NCwgMjM5LCAwLjMpO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5jYXJkLTIge1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgfVxufVxuLmNhcmQtMl9faGVhZGVyIHtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDExMnB4KTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgcGFkZGluZzogMTdweCAzM3B4IDE3cHggMjJweDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuY2FyZC0yX19oZWFkZXIge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLmNhcmQtMl9faGVhZGVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTQwMHB4KSB7XG4gIC5jYXJkLTJfX2hlYWRlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDE2NTZweCkge1xuICAuY2FyZC0yX19oZWFkZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuY2FyZC0yX19oZWFkZXI6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDczcHg7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjZDZkOGRhO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IC0xMHB4O1xuICAgIGxlZnQ6IDA7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLmNhcmQtMl9faGVhZGVyOmFmdGVyIHtcbiAgICBib3R0b206IC0xNXB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTQwMHB4KSB7XG4gIC5jYXJkLTJfX2hlYWRlcjphZnRlciB7XG4gICAgYm90dG9tOiAtMjBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDE2NTZweCkge1xuICAuY2FyZC0yX19oZWFkZXI6YWZ0ZXIge1xuICAgIGJvdHRvbTogLTI1cHg7XG4gIH1cbn1cbi5jYXJkLTJfX2hlYWRsaW5lIHtcbiAgY29sb3I6ICMyMDFkMWQ7XG4gIG1hcmdpbjogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZm9udC1zaXplOiAxNXB4O1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMS43O1xuICB3aWR0aDogMTAwJTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuNHB4O1xuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgLXdlYmtpdC1saW5lLWNsYW1wOiAzO1xuICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgb3JkZXI6IDI7XG4gIGhlaWdodDogNzZweDtcbn1cbi5zaG93IC5jYXJkLTJfX2hlYWRsaW5lIHtcbiAgaGVpZ2h0OiA3NXB4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5jYXJkLTJfX2hlYWRsaW5lIHtcbiAgICBtYXJnaW46IDAgMCA4cHggMDtcbiAgICBvcmRlcjogMTtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgbGluZS1oZWlnaHQ6IDI2cHg7XG4gICAgaGVpZ2h0OiA1MnB4O1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuNnB4O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICAtd2Via2l0LWxpbmUtY2xhbXA6IDI7XG4gICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAuY2FyZC0yX19oZWFkbGluZSB7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyOHB4O1xuICAgIGhlaWdodDogNTZweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDE0MDBweCkge1xuICAuY2FyZC0yX19oZWFkbGluZSB7XG4gICAgZm9udC1zaXplOiAyMnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICAgIGhlaWdodDogNjBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDE2NTZweCkge1xuICAuY2FyZC0yX19oZWFkbGluZSB7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICAgIGhlaWdodDogNjBweDtcbiAgfVxufVxuLmNhcmQtMl9faW5mbyB7XG4gIG9yZGVyOiAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIG1hcmdpbi1ib3R0b206IDE4cHg7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLmNhcmQtMl9faW5mbyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTZweDtcbiAgfVxufVxuLmNhcmQtMl9fbGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDBBRUVGO1xuICBmb250LXNpemU6IDEwLjVweDtcbiAgbGluZS1oZWlnaHQ6IDE3cHg7XG4gIGhlaWdodDogMTdweDtcbiAgcGFkZGluZzogMCA2cHg7XG4gIG1hcmdpbjogMDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuY2FyZC0yX19sYWJlbCB7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyN3B4O1xuICAgIGhlaWdodDogMjdweDtcbiAgfVxufVxuLmNhcmQtMl9fdGltZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgY29sb3I6ICMyMDFkMWQ7XG4gIHBhZGRpbmc6IDA7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGZvbnQtc2l6ZTogMTAuNXB4O1xuICBsaW5lLWhlaWdodDogMTdweDtcbiAgaGVpZ2h0OiAxN3B4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5jYXJkLTJfX3RpbWUge1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBsaW5lLWhlaWdodDogMjdweDtcbiAgICBoZWlnaHQ6IDI3cHg7XG4gIH1cbn1cbi5jYXJkLTJfX2Rlc2NyaXB0aW9uIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuY2FyZC0yX19kZXNjcmlwdGlvbiB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBmb250LXNpemU6IDE1cHg7XG4gICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4zcHg7XG4gICAgaHlwaGVuczogYXV0bztcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICAtd2Via2l0LWxpbmUtY2xhbXA6IDM7XG4gICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAuY2FyZC0yX19kZXNjcmlwdGlvbiB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyMnB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTQwMHB4KSB7XG4gIC5jYXJkLTJfX2Rlc2NyaXB0aW9uIHtcbiAgICBsaW5lLWhlaWdodDogMjZweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDE2NTZweCkge1xuICAuY2FyZC0yX19kZXNjcmlwdGlvbiB7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDc2O1xuICB9XG59XG4uY2FyZC0yX19maWd1cmUge1xuICBtYXJnaW46IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG9yZGVyOiAwO1xuICB3aWR0aDogMTEycHg7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLmNhcmQtMl9fZmlndXJlIHtcbiAgICBvcmRlcjogdW5zZXQ7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgfVxufVxuLmNhcmQtMl9fY2FudmFzLS1kZXNrdG9wLCAuY2FyZC0yX19jYW52YXMtLW1vYmlsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNEOEQxQzk7XG4gIG1hcmdpbjogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG4uY2FyZC0yX19jYW52YXMtLWRlc2t0b3Age1xuICBkaXNwbGF5OiBub25lO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5jYXJkLTJfX2NhbnZhcy0tZGVza3RvcCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cbi5jYXJkLTJfX2NhbnZhcy0tbW9iaWxlIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLmNhcmQtMl9fY2FudmFzLS1tb2JpbGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbi5jYXJkLTJfX2ltZyB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG5jYW52YXMgKyBwaWN0dXJlIC5jYXJkLTJfX2ltZyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xufVxuLmNhcmQtMl9fb3Zlcmxpbmsge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHotaW5kZXg6IDI7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgLS1tZGMtcmlwcGxlLWZnLXNpemU6IDA7XG4gIC0tbWRjLXJpcHBsZS1sZWZ0OiAwO1xuICAtLW1kYy1yaXBwbGUtdG9wOiAwO1xuICAtLW1kYy1yaXBwbGUtZmctc2NhbGU6IDE7XG4gIC0tbWRjLXJpcHBsZS1mZy10cmFuc2xhdGUtZW5kOiAwO1xuICAtLW1kYy1yaXBwbGUtZmctdHJhbnNsYXRlLXN0YXJ0OiAwO1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycywgYm9yZGVyLWNvbG9yIDAuMnM7XG4gIGJvcmRlci10b3A6IG5vbmU7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG59XG4uY2FyZC0yX19vdmVybGluazo6YmVmb3JlLCAuY2FyZC0yX19vdmVybGluazo6YWZ0ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgb3BhY2l0eTogMDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIGNvbnRlbnQ6IFwiXCI7XG59XG4uY2FyZC0yX19vdmVybGluazo6YmVmb3JlIHtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAxNW1zIGxpbmVhciwgYmFja2dyb3VuZC1jb2xvciAxNW1zIGxpbmVhcjtcbiAgei1pbmRleDogMTtcbn1cbi5jYXJkLTJfX292ZXJsaW5rLm1kYy1yaXBwbGUtdXBncmFkZWQ6OmJlZm9yZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUodmFyKC0tbWRjLXJpcHBsZS1mZy1zY2FsZSwgMSkpO1xufVxuLmNhcmQtMl9fb3ZlcmxpbmsubWRjLXJpcHBsZS11cGdyYWRlZDo6YWZ0ZXIge1xuICB0b3A6IDA7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbGVmdDogMDtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjtcbn1cbi5jYXJkLTJfX292ZXJsaW5rLm1kYy1yaXBwbGUtdXBncmFkZWQtLXVuYm91bmRlZDo6YWZ0ZXIge1xuICB0b3A6IHZhcigtLW1kYy1yaXBwbGUtdG9wLCAwKTtcbiAgLyogQG5vZmxpcCAqL1xuICBsZWZ0OiB2YXIoLS1tZGMtcmlwcGxlLWxlZnQsIDApO1xufVxuLmNhcmQtMl9fb3ZlcmxpbmsubWRjLXJpcHBsZS11cGdyYWRlZC0tZm9yZWdyb3VuZC1hY3RpdmF0aW9uOjphZnRlciB7XG4gIGFuaW1hdGlvbjogbWRjLXJpcHBsZS1mZy1yYWRpdXMtaW4gMjI1bXMgZm9yd2FyZHMsIG1kYy1yaXBwbGUtZmctb3BhY2l0eS1pbiA3NW1zIGZvcndhcmRzO1xufVxuLmNhcmQtMl9fb3ZlcmxpbmsubWRjLXJpcHBsZS11cGdyYWRlZC0tZm9yZWdyb3VuZC1kZWFjdGl2YXRpb246OmFmdGVyIHtcbiAgYW5pbWF0aW9uOiBtZGMtcmlwcGxlLWZnLW9wYWNpdHktb3V0IDE1MG1zO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSh2YXIoLS1tZGMtcmlwcGxlLWZnLXRyYW5zbGF0ZS1lbmQsIDApKSBzY2FsZSh2YXIoLS1tZGMtcmlwcGxlLWZnLXNjYWxlLCAxKSk7XG59XG4uY2FyZC0yX19vdmVybGluazo6YmVmb3JlLCAuY2FyZC0yX19vdmVybGluazo6YWZ0ZXIge1xuICB0b3A6IGNhbGMoNTAlIC0gMTAwJSk7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbGVmdDogY2FsYyg1MCUgLSAxMDAlKTtcbiAgd2lkdGg6IDIwMCU7XG4gIGhlaWdodDogMjAwJTtcbn1cbi5jYXJkLTJfX292ZXJsaW5rLm1kYy1yaXBwbGUtdXBncmFkZWQ6OmFmdGVyIHtcbiAgd2lkdGg6IHZhcigtLW1kYy1yaXBwbGUtZmctc2l6ZSwgMTAwJSk7XG4gIGhlaWdodDogdmFyKC0tbWRjLXJpcHBsZS1mZy1zaXplLCAxMDAlKTtcbn1cbi5jYXJkLTJfX292ZXJsaW5rOmhvdmVyOjpiZWZvcmUge1xuICBvcGFjaXR5OiAwO1xufVxuLmNhcmQtMl9fb3ZlcmxpbmsubWRjLXJpcHBsZS11cGdyYWRlZC0tYmFja2dyb3VuZC1mb2N1c2VkOjpiZWZvcmUsIC5jYXJkLTJfX292ZXJsaW5rOm5vdCgubWRjLXJpcHBsZS11cGdyYWRlZCk6Zm9jdXM6OmJlZm9yZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDc1bXM7XG4gIG9wYWNpdHk6IDA7XG59XG4uY2FyZC0yX19vdmVybGluazo6YmVmb3JlLCAuY2FyZC0yX19vdmVybGluazo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjAxZDFkO1xufVxuLmNhcmQtMl9fb3Zlcmxpbms6bm90KC5tZGMtcmlwcGxlLXVwZ3JhZGVkKTo6YWZ0ZXIge1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDE1MG1zIGxpbmVhcjtcbn1cbi5jYXJkLTJfX292ZXJsaW5rOm5vdCgubWRjLXJpcHBsZS11cGdyYWRlZCk6YWN0aXZlOjphZnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDc1bXM7XG4gIG9wYWNpdHk6IDAuMDQ7XG59XG4uY2FyZC0yX19vdmVybGluay5tZGMtcmlwcGxlLXVwZ3JhZGVkIHtcbiAgLS1tZGMtcmlwcGxlLWZnLW9wYWNpdHk6IDAuMDQ7XG59XG4udGFiLW5hdmlnYXRpb24gLmNhcmQtMl9fb3Zlcmxpbms6Zm9jdXMge1xuICBvdXRsaW5lOiBub25lO1xufVxuLnRhYi1uYXZpZ2F0aW9uIC5jYXJkLTJfX292ZXJsaW5rOmZvY3VzLm1kYy1yaXBwbGUtdXBncmFkZWQtLWJhY2tncm91bmQtZm9jdXNlZDo6YmVmb3JlLCAudGFiLW5hdmlnYXRpb24gLmNhcmQtMl9fb3Zlcmxpbms6Zm9jdXM6bm90KC5tZGMtcmlwcGxlLXVwZ3JhZGVkKTpmb2N1czo6YmVmb3JlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNzVtcztcbiAgb3BhY2l0eTogMC4yO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5jYXJkLTJfX292ZXJsaW5rIHtcbiAgICBib3JkZXItdG9wOiA0cHggc29saWQgcmdiYSgwLCAxNzQsIDIzOSwgMCk7XG4gICAgYm9yZGVyLWJvdHRvbTogNHB4IHNvbGlkIHJnYmEoMCwgMTc0LCAyMzksIDApO1xuICAgIHRvcDogLTE1cHg7XG4gICAgbGVmdDogLTE1cHg7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSArIDMwcHgpO1xuICAgIGhlaWdodDogY2FsYygxMDAlICsgMzBweCk7XG4gIH1cbn1cbi5jYXJkLTJfX292ZXJsaW5rOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgzMiwgMjksIDI5LCAwLjAzKTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuY2FyZC0yOmhvdmVyIC5jYXJkLTJfX292ZXJsaW5rIHtcbiAgICBib3JkZXItdG9wOiA0cHggc29saWQgIzAwQUVFRjtcbiAgICBib3JkZXItYm90dG9tOiA0cHggc29saWQgIzAwQUVFRjtcbiAgfVxufVxuLmNhcmQtMi0tdmVydGljYWwge1xuICBib3JkZXItdG9wOiAwO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuLmNhcmQtMi0tdmVydGljYWwgLmNhcmQtMl9faGVhZGVyIHtcbiAgcGFkZGluZzogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbn1cbi5jYXJkLTItLXZlcnRpY2FsIC5jYXJkLTJfX2ZpZ3VyZSB7XG4gIHdpZHRoOiAxMDAlO1xufVxuLmNhcmQtMi0tdmVydGljYWwgLmNhcmQtMl9fZGVzY3JpcHRpb24ge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLnNsaWRlcl9faXRlbSAuY2FyZC0yIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBkaXNwbGF5OiBmbGV4O1xuICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgwLCAxNzQsIDIzOSwgMC4zKTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuc2xpZGVyX19pdGVtIC5jYXJkLTIge1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgfVxufVxuLnNsaWRlcl9faXRlbSAuY2FyZC0yX19oZWFkZXIge1xuICB3aWR0aDogY2FsYygxMDAlIC0gMTEycHgpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBwYWRkaW5nOiAxN3B4IDMzcHggMTdweCAyMnB4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5zbGlkZXJfX2l0ZW0gLmNhcmQtMl9faGVhZGVyIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5zbGlkZXJfX2l0ZW0gLmNhcmQtMl9faGVhZGVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTQwMHB4KSB7XG4gIC5zbGlkZXJfX2l0ZW0gLmNhcmQtMl9faGVhZGVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTY1NnB4KSB7XG4gIC5zbGlkZXJfX2l0ZW0gLmNhcmQtMl9faGVhZGVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnNsaWRlcl9faXRlbSAuY2FyZC0yX19oZWFkZXI6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDczcHg7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjZDZkOGRhO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IC0xMHB4O1xuICAgIGxlZnQ6IDA7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLnNsaWRlcl9faXRlbSAuY2FyZC0yX19oZWFkZXI6YWZ0ZXIge1xuICAgIGJvdHRvbTogLTE1cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxNDAwcHgpIHtcbiAgLnNsaWRlcl9faXRlbSAuY2FyZC0yX19oZWFkZXI6YWZ0ZXIge1xuICAgIGJvdHRvbTogLTIwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxNjU2cHgpIHtcbiAgLnNsaWRlcl9faXRlbSAuY2FyZC0yX19oZWFkZXI6YWZ0ZXIge1xuICAgIGJvdHRvbTogLTI1cHg7XG4gIH1cbn1cbi5zbGlkZXJfX2l0ZW0gLmNhcmQtMl9faGVhZGxpbmUge1xuICBjb2xvcjogIzIwMWQxZDtcbiAgbWFyZ2luOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBmb250LXNpemU6IDE1cHg7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjc7XG4gIHdpZHRoOiAxMDAlO1xuICBsZXR0ZXItc3BhY2luZzogMC40cHg7XG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAtd2Via2l0LWxpbmUtY2xhbXA6IDM7XG4gIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICBvcmRlcjogMjtcbiAgaGVpZ2h0OiA3NnB4O1xufVxuLnNob3cgLnNsaWRlcl9faXRlbSAuY2FyZC0yX19oZWFkbGluZSB7XG4gIGhlaWdodDogNzVweDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuc2xpZGVyX19pdGVtIC5jYXJkLTJfX2hlYWRsaW5lIHtcbiAgICBtYXJnaW46IDAgMCA4cHggMDtcbiAgICBvcmRlcjogMTtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgbGluZS1oZWlnaHQ6IDI2cHg7XG4gICAgaGVpZ2h0OiA1MnB4O1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuNnB4O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICAtd2Via2l0LWxpbmUtY2xhbXA6IDI7XG4gICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAuc2xpZGVyX19pdGVtIC5jYXJkLTJfX2hlYWRsaW5lIHtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDI4cHg7XG4gICAgaGVpZ2h0OiA1NnB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTQwMHB4KSB7XG4gIC5zbGlkZXJfX2l0ZW0gLmNhcmQtMl9faGVhZGxpbmUge1xuICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICBsaW5lLWhlaWdodDogMzBweDtcbiAgICBoZWlnaHQ6IDYwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxNjU2cHgpIHtcbiAgLnNsaWRlcl9faXRlbSAuY2FyZC0yX19oZWFkbGluZSB7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICAgIGhlaWdodDogNjBweDtcbiAgfVxufVxuLnNsaWRlcl9faXRlbSAuY2FyZC0yX19pbmZvIHtcbiAgb3JkZXI6IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgbWFyZ2luLWJvdHRvbTogMThweDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuc2xpZGVyX19pdGVtIC5jYXJkLTJfX2luZm8ge1xuICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gIH1cbn1cbi5zbGlkZXJfX2l0ZW0gLmNhcmQtMl9fbGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDBBRUVGO1xuICBmb250LXNpemU6IDEwLjVweDtcbiAgbGluZS1oZWlnaHQ6IDE3cHg7XG4gIGhlaWdodDogMTdweDtcbiAgcGFkZGluZzogMCA2cHg7XG4gIG1hcmdpbjogMDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuc2xpZGVyX19pdGVtIC5jYXJkLTJfX2xhYmVsIHtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgbGluZS1oZWlnaHQ6IDI3cHg7XG4gICAgaGVpZ2h0OiAyN3B4O1xuICB9XG59XG4uc2xpZGVyX19pdGVtIC5jYXJkLTJfX3RpbWUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIGNvbG9yOiAjMjAxZDFkO1xuICBwYWRkaW5nOiAwO1xuICBmb250LXdlaWdodDogNTAwO1xuICBmb250LXNpemU6IDEwLjVweDtcbiAgbGluZS1oZWlnaHQ6IDE3cHg7XG4gIGhlaWdodDogMTdweDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuc2xpZGVyX19pdGVtIC5jYXJkLTJfX3RpbWUge1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBsaW5lLWhlaWdodDogMjdweDtcbiAgICBoZWlnaHQ6IDI3cHg7XG4gIH1cbn1cbi5zbGlkZXJfX2l0ZW0gLmNhcmQtMl9fZGVzY3JpcHRpb24ge1xuICBkaXNwbGF5OiBub25lO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5zbGlkZXJfX2l0ZW0gLmNhcmQtMl9fZGVzY3JpcHRpb24ge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgZm9udC1zaXplOiAxNXB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuM3B4O1xuICAgIGh5cGhlbnM6IGF1dG87XG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgLXdlYmtpdC1saW5lLWNsYW1wOiAzO1xuICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLnNsaWRlcl9faXRlbSAuY2FyZC0yX19kZXNjcmlwdGlvbiB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyMnB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTQwMHB4KSB7XG4gIC5zbGlkZXJfX2l0ZW0gLmNhcmQtMl9fZGVzY3JpcHRpb24ge1xuICAgIGxpbmUtaGVpZ2h0OiAyNnB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTY1NnB4KSB7XG4gIC5zbGlkZXJfX2l0ZW0gLmNhcmQtMl9fZGVzY3JpcHRpb24ge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ3NjtcbiAgfVxufVxuLnNsaWRlcl9faXRlbSAuY2FyZC0yX19maWd1cmUge1xuICBtYXJnaW46IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG9yZGVyOiAwO1xuICB3aWR0aDogMTEycHg7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnNsaWRlcl9faXRlbSAuY2FyZC0yX19maWd1cmUge1xuICAgIG9yZGVyOiB1bnNldDtcbiAgICB3aWR0aDogYXV0bztcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICB9XG59XG4uc2xpZGVyX19pdGVtIC5jYXJkLTJfX2NhbnZhcy0tZGVza3RvcCwgLnNsaWRlcl9faXRlbSAuY2FyZC0yX19jYW52YXMtLW1vYmlsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNEOEQxQzk7XG4gIG1hcmdpbjogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG4uc2xpZGVyX19pdGVtIC5jYXJkLTJfX2NhbnZhcy0tZGVza3RvcCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnNsaWRlcl9faXRlbSAuY2FyZC0yX19jYW52YXMtLWRlc2t0b3Age1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG4uc2xpZGVyX19pdGVtIC5jYXJkLTJfX2NhbnZhcy0tbW9iaWxlIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnNsaWRlcl9faXRlbSAuY2FyZC0yX19jYW52YXMtLW1vYmlsZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuLnNsaWRlcl9faXRlbSAuY2FyZC0yX19pbWcge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHVzZXItc2VsZWN0OiBub25lO1xufVxuY2FudmFzICsgcGljdHVyZSAuc2xpZGVyX19pdGVtIC5jYXJkLTJfX2ltZyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xufVxuLnNsaWRlcl9faXRlbSAuY2FyZC0yX19vdmVybGluayB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgei1pbmRleDogMjtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICAtLW1kYy1yaXBwbGUtZmctc2l6ZTogMDtcbiAgLS1tZGMtcmlwcGxlLWxlZnQ6IDA7XG4gIC0tbWRjLXJpcHBsZS10b3A6IDA7XG4gIC0tbWRjLXJpcHBsZS1mZy1zY2FsZTogMTtcbiAgLS1tZGMtcmlwcGxlLWZnLXRyYW5zbGF0ZS1lbmQ6IDA7XG4gIC0tbWRjLXJpcHBsZS1mZy10cmFuc2xhdGUtc3RhcnQ6IDA7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzLCBib3JkZXItY29sb3IgMC4ycztcbiAgYm9yZGVyLXRvcDogbm9uZTtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbn1cbi5zbGlkZXJfX2l0ZW0gLmNhcmQtMl9fb3Zlcmxpbms6OmJlZm9yZSwgLnNsaWRlcl9faXRlbSAuY2FyZC0yX19vdmVybGluazo6YWZ0ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgb3BhY2l0eTogMDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIGNvbnRlbnQ6IFwiXCI7XG59XG4uc2xpZGVyX19pdGVtIC5jYXJkLTJfX292ZXJsaW5rOjpiZWZvcmUge1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDE1bXMgbGluZWFyLCBiYWNrZ3JvdW5kLWNvbG9yIDE1bXMgbGluZWFyO1xuICB6LWluZGV4OiAxO1xufVxuLnNsaWRlcl9faXRlbSAuY2FyZC0yX19vdmVybGluay5tZGMtcmlwcGxlLXVwZ3JhZGVkOjpiZWZvcmUge1xuICB0cmFuc2Zvcm06IHNjYWxlKHZhcigtLW1kYy1yaXBwbGUtZmctc2NhbGUsIDEpKTtcbn1cbi5zbGlkZXJfX2l0ZW0gLmNhcmQtMl9fb3ZlcmxpbmsubWRjLXJpcHBsZS11cGdyYWRlZDo6YWZ0ZXIge1xuICB0b3A6IDA7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbGVmdDogMDtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjtcbn1cbi5zbGlkZXJfX2l0ZW0gLmNhcmQtMl9fb3ZlcmxpbmsubWRjLXJpcHBsZS11cGdyYWRlZC0tdW5ib3VuZGVkOjphZnRlciB7XG4gIHRvcDogdmFyKC0tbWRjLXJpcHBsZS10b3AsIDApO1xuICAvKiBAbm9mbGlwICovXG4gIGxlZnQ6IHZhcigtLW1kYy1yaXBwbGUtbGVmdCwgMCk7XG59XG4uc2xpZGVyX19pdGVtIC5jYXJkLTJfX292ZXJsaW5rLm1kYy1yaXBwbGUtdXBncmFkZWQtLWZvcmVncm91bmQtYWN0aXZhdGlvbjo6YWZ0ZXIge1xuICBhbmltYXRpb246IG1kYy1yaXBwbGUtZmctcmFkaXVzLWluIDIyNW1zIGZvcndhcmRzLCBtZGMtcmlwcGxlLWZnLW9wYWNpdHktaW4gNzVtcyBmb3J3YXJkcztcbn1cbi5zbGlkZXJfX2l0ZW0gLmNhcmQtMl9fb3ZlcmxpbmsubWRjLXJpcHBsZS11cGdyYWRlZC0tZm9yZWdyb3VuZC1kZWFjdGl2YXRpb246OmFmdGVyIHtcbiAgYW5pbWF0aW9uOiBtZGMtcmlwcGxlLWZnLW9wYWNpdHktb3V0IDE1MG1zO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSh2YXIoLS1tZGMtcmlwcGxlLWZnLXRyYW5zbGF0ZS1lbmQsIDApKSBzY2FsZSh2YXIoLS1tZGMtcmlwcGxlLWZnLXNjYWxlLCAxKSk7XG59XG4uc2xpZGVyX19pdGVtIC5jYXJkLTJfX292ZXJsaW5rOjpiZWZvcmUsIC5zbGlkZXJfX2l0ZW0gLmNhcmQtMl9fb3Zlcmxpbms6OmFmdGVyIHtcbiAgdG9wOiBjYWxjKDUwJSAtIDEwMCUpO1xuICAvKiBAbm9mbGlwICovXG4gIGxlZnQ6IGNhbGMoNTAlIC0gMTAwJSk7XG4gIHdpZHRoOiAyMDAlO1xuICBoZWlnaHQ6IDIwMCU7XG59XG4uc2xpZGVyX19pdGVtIC5jYXJkLTJfX292ZXJsaW5rLm1kYy1yaXBwbGUtdXBncmFkZWQ6OmFmdGVyIHtcbiAgd2lkdGg6IHZhcigtLW1kYy1yaXBwbGUtZmctc2l6ZSwgMTAwJSk7XG4gIGhlaWdodDogdmFyKC0tbWRjLXJpcHBsZS1mZy1zaXplLCAxMDAlKTtcbn1cbi5zbGlkZXJfX2l0ZW0gLmNhcmQtMl9fb3Zlcmxpbms6aG92ZXI6OmJlZm9yZSB7XG4gIG9wYWNpdHk6IDA7XG59XG4uc2xpZGVyX19pdGVtIC5jYXJkLTJfX292ZXJsaW5rLm1kYy1yaXBwbGUtdXBncmFkZWQtLWJhY2tncm91bmQtZm9jdXNlZDo6YmVmb3JlLCAuc2xpZGVyX19pdGVtIC5jYXJkLTJfX292ZXJsaW5rOm5vdCgubWRjLXJpcHBsZS11cGdyYWRlZCk6Zm9jdXM6OmJlZm9yZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDc1bXM7XG4gIG9wYWNpdHk6IDA7XG59XG4uc2xpZGVyX19pdGVtIC5jYXJkLTJfX292ZXJsaW5rOjpiZWZvcmUsIC5zbGlkZXJfX2l0ZW0gLmNhcmQtMl9fb3Zlcmxpbms6OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzIwMWQxZDtcbn1cbi5zbGlkZXJfX2l0ZW0gLmNhcmQtMl9fb3Zlcmxpbms6bm90KC5tZGMtcmlwcGxlLXVwZ3JhZGVkKTo6YWZ0ZXIge1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDE1MG1zIGxpbmVhcjtcbn1cbi5zbGlkZXJfX2l0ZW0gLmNhcmQtMl9fb3Zlcmxpbms6bm90KC5tZGMtcmlwcGxlLXVwZ3JhZGVkKTphY3RpdmU6OmFmdGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNzVtcztcbiAgb3BhY2l0eTogMC4wNDtcbn1cbi5zbGlkZXJfX2l0ZW0gLmNhcmQtMl9fb3ZlcmxpbmsubWRjLXJpcHBsZS11cGdyYWRlZCB7XG4gIC0tbWRjLXJpcHBsZS1mZy1vcGFjaXR5OiAwLjA0O1xufVxuLnRhYi1uYXZpZ2F0aW9uIC5zbGlkZXJfX2l0ZW0gLmNhcmQtMl9fb3Zlcmxpbms6Zm9jdXMge1xuICBvdXRsaW5lOiBub25lO1xufVxuLnRhYi1uYXZpZ2F0aW9uIC5zbGlkZXJfX2l0ZW0gLmNhcmQtMl9fb3Zlcmxpbms6Zm9jdXMubWRjLXJpcHBsZS11cGdyYWRlZC0tYmFja2dyb3VuZC1mb2N1c2VkOjpiZWZvcmUsIC50YWItbmF2aWdhdGlvbiAuc2xpZGVyX19pdGVtIC5jYXJkLTJfX292ZXJsaW5rOmZvY3VzOm5vdCgubWRjLXJpcHBsZS11cGdyYWRlZCk6Zm9jdXM6OmJlZm9yZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDc1bXM7XG4gIG9wYWNpdHk6IDAuMjtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuc2xpZGVyX19pdGVtIC5jYXJkLTJfX292ZXJsaW5rIHtcbiAgICBib3JkZXItdG9wOiA0cHggc29saWQgcmdiYSgwLCAxNzQsIDIzOSwgMCk7XG4gICAgYm9yZGVyLWJvdHRvbTogNHB4IHNvbGlkIHJnYmEoMCwgMTc0LCAyMzksIDApO1xuICAgIHRvcDogLTE1cHg7XG4gICAgbGVmdDogLTE1cHg7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSArIDMwcHgpO1xuICAgIGhlaWdodDogY2FsYygxMDAlICsgMzBweCk7XG4gIH1cbn1cbi5zbGlkZXJfX2l0ZW0gLmNhcmQtMl9fb3Zlcmxpbms6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDMyLCAyOSwgMjksIDAuMDMpO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5jYXJkLTI6aG92ZXIgLnNsaWRlcl9faXRlbSAuY2FyZC0yX19vdmVybGluayB7XG4gICAgYm9yZGVyLXRvcDogNHB4IHNvbGlkICMwMEFFRUY7XG4gICAgYm9yZGVyLWJvdHRvbTogNHB4IHNvbGlkICMwMEFFRUY7XG4gIH1cbn1cbi5zbGlkZXJfX2l0ZW0gLmNhcmQtMi0tdmVydGljYWwge1xuICBib3JkZXItdG9wOiAwO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuLnNsaWRlcl9faXRlbSAuY2FyZC0yLS12ZXJ0aWNhbCAuY2FyZC0yX19oZWFkZXIge1xuICBwYWRkaW5nOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuLnNsaWRlcl9faXRlbSAuY2FyZC0yLS12ZXJ0aWNhbCAuY2FyZC0yX19maWd1cmUge1xuICB3aWR0aDogMTAwJTtcbn1cbi5zbGlkZXJfX2l0ZW0gLmNhcmQtMi0tdmVydGljYWwgLmNhcmQtMl9fZGVzY3JpcHRpb24ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZy10b3A6IDBweDtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAuc2xpZGVyX19pdGVtIC5jYXJkLTItLXZlcnRpY2FsIC5jYXJkLTJfX2Rlc2NyaXB0aW9uIHtcbiAgICBwYWRkaW5nLXRvcDogMTZweDtcbiAgfVxufVxuXG4ucHJvZ3JhbXMge1xuICBtYXJnaW4tdG9wOiAyN3B4O1xuICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICBwYWRkaW5nOiAwO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5wcm9ncmFtcyB7XG4gICAgcGFkZGluZzogMCAxNXB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTY1NnB4KSB7XG4gIC5wcm9ncmFtcyB7XG4gICAgbWFyZ2luLXRvcDogODVweDtcbiAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICB9XG59XG4ucHJvZ3JhbXNfX3RpdGxlIHtcbiAgZm9udC1zaXplOiAyOHB4O1xuICBmb250LXdlaWdodDogNzAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICBjb2xvcjogIzAwQUVFRjtcbiAgbWFyZ2luLWJvdHRvbTogMzVweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAucHJvZ3JhbXNfX3RpdGxlIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGZvbnQtc2l6ZTogNDhweDtcbiAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICAgIG1hcmdpbi1sZWZ0OiAzNXB4O1xuICB9XG59XG4ucHJvZ3JhbXNfX3Jvdy0tbW9yZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5wcm9ncmFtc19fcm93LS1tb3JlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgb3JkZXI6IDE7XG4gICAgbWFyZ2luLXRvcDogNjBweDtcbiAgICBtYXJnaW4tYm90dG9tOiA3MHB4O1xuICB9XG59XG4ucHJvZ3JhbXNfX2l0ZW0ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1pbi1oZWlnaHQ6IDI5MHB4O1xufVxuLnByb2dyYW1zX19pdGVtIC5wcm9ncmFtIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG59XG4ucHJvZ3JhbXNfX3NsaWRlciB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAxMDBweCk7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTY1NnB4KSB7XG4gIC5wcm9ncmFtc19fc2xpZGVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuLnByb2dyYW1zIC5zcGxpZGVfX3NsaWRlOmZpcnN0LW9mLXR5cGU6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAxMDAlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IC01cHg7XG4gIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHJnYmEoMCwgMTc0LCAyMzksIDAuMyk7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgLnByb2dyYW1zIC5zcGxpZGVfX3NsaWRlOmZpcnN0LW9mLXR5cGU6YWZ0ZXIge1xuICAgIGxlZnQ6IC0xMHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnByb2dyYW1zIC5zcGxpZGVfX3NsaWRlOmZpcnN0LW9mLXR5cGU6YWZ0ZXIge1xuICAgIGxlZnQ6IC0xNXB4O1xuICB9XG59XG4ucHJvZ3JhbXMgLnNwbGlkZV9fc2xpZGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMTAwJTtcbiAgdG9wOiAwO1xuICByaWdodDogLTVweDtcbiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgcmdiYSgwLCAxNzQsIDIzOSwgMC4zKTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAucHJvZ3JhbXMgLnNwbGlkZV9fc2xpZGU6YmVmb3JlIHtcbiAgICByaWdodDogLTEwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAucHJvZ3JhbXMgLnNwbGlkZV9fc2xpZGU6YmVmb3JlIHtcbiAgICByaWdodDogLTE1cHg7XG4gIH1cbn1cblxuLnByb2dyYW0ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xufVxuLnByb2dyYW1fX2NhbnZhcyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIG1hcmdpbjogMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xufVxuLnByb2dyYW1fX2xvZ28ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG1hcmdpbjogYXV0bztcbiAgdG9wOiAtMTAwJTtcbiAgYm90dG9tOiAtMTAwJTtcbiAgbGVmdDogLTEwMCU7XG4gIHJpZ2h0OiAtMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXgtaGVpZ2h0OiAxMDAlO1xufVxuLnByb2dyYW1fX292ZXJsaW5rIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAyO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIC0tbWRjLXJpcHBsZS1mZy1zaXplOiAwO1xuICAtLW1kYy1yaXBwbGUtbGVmdDogMDtcbiAgLS1tZGMtcmlwcGxlLXRvcDogMDtcbiAgLS1tZGMtcmlwcGxlLWZnLXNjYWxlOiAxO1xuICAtLW1kYy1yaXBwbGUtZmctdHJhbnNsYXRlLWVuZDogMDtcbiAgLS1tZGMtcmlwcGxlLWZnLXRyYW5zbGF0ZS1zdGFydDogMDtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnM7XG59XG4ucHJvZ3JhbV9fb3Zlcmxpbms6OmJlZm9yZSwgLnByb2dyYW1fX292ZXJsaW5rOjphZnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBvcGFjaXR5OiAwO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgY29udGVudDogXCJcIjtcbn1cbi5wcm9ncmFtX19vdmVybGluazo6YmVmb3JlIHtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAxNW1zIGxpbmVhciwgYmFja2dyb3VuZC1jb2xvciAxNW1zIGxpbmVhcjtcbiAgei1pbmRleDogMTtcbn1cbi5wcm9ncmFtX19vdmVybGluay5tZGMtcmlwcGxlLXVwZ3JhZGVkOjpiZWZvcmUge1xuICB0cmFuc2Zvcm06IHNjYWxlKHZhcigtLW1kYy1yaXBwbGUtZmctc2NhbGUsIDEpKTtcbn1cbi5wcm9ncmFtX19vdmVybGluay5tZGMtcmlwcGxlLXVwZ3JhZGVkOjphZnRlciB7XG4gIHRvcDogMDtcbiAgLyogQG5vZmxpcCAqL1xuICBsZWZ0OiAwO1xuICB0cmFuc2Zvcm06IHNjYWxlKDApO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyO1xufVxuLnByb2dyYW1fX292ZXJsaW5rLm1kYy1yaXBwbGUtdXBncmFkZWQtLXVuYm91bmRlZDo6YWZ0ZXIge1xuICB0b3A6IHZhcigtLW1kYy1yaXBwbGUtdG9wLCAwKTtcbiAgLyogQG5vZmxpcCAqL1xuICBsZWZ0OiB2YXIoLS1tZGMtcmlwcGxlLWxlZnQsIDApO1xufVxuLnByb2dyYW1fX292ZXJsaW5rLm1kYy1yaXBwbGUtdXBncmFkZWQtLWZvcmVncm91bmQtYWN0aXZhdGlvbjo6YWZ0ZXIge1xuICBhbmltYXRpb246IG1kYy1yaXBwbGUtZmctcmFkaXVzLWluIDIyNW1zIGZvcndhcmRzLCBtZGMtcmlwcGxlLWZnLW9wYWNpdHktaW4gNzVtcyBmb3J3YXJkcztcbn1cbi5wcm9ncmFtX19vdmVybGluay5tZGMtcmlwcGxlLXVwZ3JhZGVkLS1mb3JlZ3JvdW5kLWRlYWN0aXZhdGlvbjo6YWZ0ZXIge1xuICBhbmltYXRpb246IG1kYy1yaXBwbGUtZmctb3BhY2l0eS1vdXQgMTUwbXM7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKHZhcigtLW1kYy1yaXBwbGUtZmctdHJhbnNsYXRlLWVuZCwgMCkpIHNjYWxlKHZhcigtLW1kYy1yaXBwbGUtZmctc2NhbGUsIDEpKTtcbn1cbi5wcm9ncmFtX19vdmVybGluazo6YmVmb3JlLCAucHJvZ3JhbV9fb3Zlcmxpbms6OmFmdGVyIHtcbiAgdG9wOiBjYWxjKDUwJSAtIDEwMCUpO1xuICAvKiBAbm9mbGlwICovXG4gIGxlZnQ6IGNhbGMoNTAlIC0gMTAwJSk7XG4gIHdpZHRoOiAyMDAlO1xuICBoZWlnaHQ6IDIwMCU7XG59XG4ucHJvZ3JhbV9fb3ZlcmxpbmsubWRjLXJpcHBsZS11cGdyYWRlZDo6YWZ0ZXIge1xuICB3aWR0aDogdmFyKC0tbWRjLXJpcHBsZS1mZy1zaXplLCAxMDAlKTtcbiAgaGVpZ2h0OiB2YXIoLS1tZGMtcmlwcGxlLWZnLXNpemUsIDEwMCUpO1xufVxuLnByb2dyYW1fX292ZXJsaW5rOmhvdmVyOjpiZWZvcmUge1xuICBvcGFjaXR5OiAwO1xufVxuLnByb2dyYW1fX292ZXJsaW5rLm1kYy1yaXBwbGUtdXBncmFkZWQtLWJhY2tncm91bmQtZm9jdXNlZDo6YmVmb3JlLCAucHJvZ3JhbV9fb3Zlcmxpbms6bm90KC5tZGMtcmlwcGxlLXVwZ3JhZGVkKTpmb2N1czo6YmVmb3JlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNzVtcztcbiAgb3BhY2l0eTogMDtcbn1cbi5wcm9ncmFtX19vdmVybGluazo6YmVmb3JlLCAucHJvZ3JhbV9fb3Zlcmxpbms6OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzIwMWQxZDtcbn1cbi5wcm9ncmFtX19vdmVybGluazpub3QoLm1kYy1yaXBwbGUtdXBncmFkZWQpOjphZnRlciB7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMTUwbXMgbGluZWFyO1xufVxuLnByb2dyYW1fX292ZXJsaW5rOm5vdCgubWRjLXJpcHBsZS11cGdyYWRlZCk6YWN0aXZlOjphZnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDc1bXM7XG4gIG9wYWNpdHk6IDAuMDQ7XG59XG4ucHJvZ3JhbV9fb3ZlcmxpbmsubWRjLXJpcHBsZS11cGdyYWRlZCB7XG4gIC0tbWRjLXJpcHBsZS1mZy1vcGFjaXR5OiAwLjA0O1xufVxuLnRhYi1uYXZpZ2F0aW9uIC5wcm9ncmFtX19vdmVybGluazpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG59XG4udGFiLW5hdmlnYXRpb24gLnByb2dyYW1fX292ZXJsaW5rOmZvY3VzLm1kYy1yaXBwbGUtdXBncmFkZWQtLWJhY2tncm91bmQtZm9jdXNlZDo6YmVmb3JlLCAudGFiLW5hdmlnYXRpb24gLnByb2dyYW1fX292ZXJsaW5rOmZvY3VzOm5vdCgubWRjLXJpcHBsZS11cGdyYWRlZCk6Zm9jdXM6OmJlZm9yZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDc1bXM7XG4gIG9wYWNpdHk6IDAuMjtcbn1cbi5wcm9ncmFtX19vdmVybGluazpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMzIsIDI5LCAyOSwgMC4wMyk7XG59XG5cbi5wZXRpdGlvbiB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkMyMEU7XG4gIHBhZGRpbmc6IDMwcHg7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIG1hcmdpbjogMCAwIDQ1cHg7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLnBldGl0aW9uIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuLnBldGl0aW9uLS1tb2JpbGUge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAucGV0aXRpb24tLW1vYmlsZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuLnBldGl0aW9uX190aXRsZSB7XG4gIGZvbnQtc2l6ZTogMjdweDtcbiAgbWFyZ2luOiAwIDAgMjBweDtcbiAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICBwYWRkaW5nLXJpZ2h0OiA0MHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLnBldGl0aW9uX190aXRsZSB7XG4gICAgZm9udC1zaXplOiAzMnB4O1xuICB9XG59XG4ucGV0aXRpb25fX3RpdGxlOmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnJTIweG1sbnMlM0QlMjJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyUyMiUyMGZpbGwlM0QlMjIlMjMyMDFkMWQlMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAzNiUyMDM2JTIyJTNFJTNDcGF0aCUyMGQlM0QlMjJNMi4xMyw5YTEuMTMsMS4xMywwLDAsMSwuOC4zM0wxOCwyNC4yOCwzMy4wNyw5LjMzYTEuMTMsMS4xMywwLDAsMSwxLjYsMCwxLjEyLDEuMTIsMCwwLDEsMCwxLjU5TDE4LjgsMjYuNjdhMS4xMywxLjEzLDAsMCwxLTEuNiwwTDEuMzMsMTAuOTJBMS4xMywxLjEzLDAsMCwxLDIuMTMsOVolMjIvJTNFJTNDcGF0aCUyMGQlM0QlMjJNMzYsMzZIMFYwSDM2WiUyMiUyMGZpbGwlM0QlMjJub25lJTIyLyUzRSUzQy9zdmclM0VcIik7XG4gIHdpZHRoOiA0MHB4O1xuICBoZWlnaHQ6IDQwcHg7XG4gIHRvcDogNXB4O1xuICByaWdodDogMDtcbn1cbi5wZXRpdGlvbl9fZGVzY3JpcHRpb24ge1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG59XG4ucGV0aXRpb25fX3Byb2dyZXNzIHtcbiAgaGVpZ2h0OiA1NXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3JkZXI6IDJweCBzb2xpZCAjZmZmO1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIG1hcmdpbjogMzBweCAwO1xufVxuLnBldGl0aW9uX19wcm9ncmVzcyAucGV0aXRpb25fX3Byb2dyZXNzLWJhciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IGF1dG87XG4gIG1pbi13aWR0aDogMCU7XG4gIGhlaWdodDogNTFweDtcbiAgbGluZS1oZWlnaHQ6IDUxcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMEFFRUY7XG4gIGNvbG9yOiAjZmZmO1xuICBmb250LXNpemU6IDI0cHg7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuICBwYWRkaW5nOiAwIDVweDtcbiAgdHJhbnNpdGlvbjogbWluLXdpZHRoIDNzIGVhc2UtaW4sIHdpZHRoIDNzIGVhc2UtaW47XG59XG4ucGV0aXRpb25fX2NvbnNlbnQge1xuICBmb250LXNpemU6IDE2cHg7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG4ucGV0aXRpb25fX2NvbnNlbnQtZGV0YWlscyB7XG4gIGZvbnQtc2l6ZTogMTNweDtcbn1cbi5wZXRpdGlvbl9fbmV3c2xldGVyLWRldGFpbHMge1xuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nLWJvdHRvbTogMzBweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG4ucGV0aXRpb25fX2Zvcm0gLm1kYy1idXR0b24ge1xuICB3aWR0aDogMTAwJTtcbn1cbi5wZXRpdGlvbiBhIHtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuLnBldGl0aW9uIGE6aG92ZXIsIC5wZXRpdGlvbiBhOmZvY3VzIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIGNvbG9yOiAjZmZmO1xufVxuLnBldGl0aW9uIC53YXMtdmFsaWRhdGVkIC5tZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sW3JlcXVpcmVkXTppbnZhbGlkIH4gLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZCB7XG4gIGJvcmRlci1jb2xvcjogI0YyNkEyMSAhaW1wb3J0YW50O1xufVxuLnBldGl0aW9uIC5tZGMtdGV4dC1maWVsZC0tZm9jdXNlZCAubWRjLXRleHQtZmllbGRfX2lucHV0OnJlcXVpcmVkIH4gLm1kYy1mbG9hdGluZy1sYWJlbDphZnRlciB7XG4gIGNvbG9yOiAjN2E3YTdhO1xufVxuLnBldGl0aW9uIC5tZGMtdGV4dC1maWVsZC0taW52YWxpZDpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCkgLm1kYy10ZXh0LWZpZWxkX19pbnB1dDpyZXF1aXJlZCB+IC5tZGMtZmxvYXRpbmctbGFiZWwsXG4ucGV0aXRpb24gLm1kYy10ZXh0LWZpZWxkLS1pbnZhbGlkOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKSAubWRjLXRleHQtZmllbGRfX2lucHV0OnJlcXVpcmVkIH4gLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1mbG9hdGluZy1sYWJlbCB7XG4gIGNvbG9yOiAjN2E3YTdhO1xufVxuLnBldGl0aW9uIC5tZGMtdGV4dC1maWVsZC0taW52YWxpZDpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCkgLm1kYy10ZXh0LWZpZWxkX19pbnB1dDpyZXF1aXJlZCB+IC5tZGMtZmxvYXRpbmctbGFiZWw6YWZ0ZXIsXG4ucGV0aXRpb24gLm1kYy10ZXh0LWZpZWxkLS1pbnZhbGlkOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKSAubWRjLXRleHQtZmllbGRfX2lucHV0OnJlcXVpcmVkIH4gLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1mbG9hdGluZy1sYWJlbDphZnRlciB7XG4gIGNvbG9yOiAjN2E3YTdhO1xufVxuLnBldGl0aW9uIC5tZGMtdGV4dC1maWVsZC0taW52YWxpZDpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCkgLm1kYy1saW5lLXJpcHBsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMEFFRUY7XG59XG4ucGV0aXRpb24gLndhcy12YWxpZGF0ZWQgLm1kYy10ZXh0LWZpZWxkLS1pbnZhbGlkOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKSAubWRjLWxpbmUtcmlwcGxlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0YyNkEyMTtcbn1cbi5wZXRpdGlvbiAud2FzLXZhbGlkYXRlZCAubWRjLXRleHQtZmllbGQtLWludmFsaWQ6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpIC5tZGMtdGV4dC1maWVsZF9faW5wdXQ6cmVxdWlyZWQgfiAubWRjLWZsb2F0aW5nLWxhYmVsLFxuLnBldGl0aW9uIC53YXMtdmFsaWRhdGVkIC5tZGMtdGV4dC1maWVsZC0taW52YWxpZDpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCkgLm1kYy10ZXh0LWZpZWxkX19pbnB1dDpyZXF1aXJlZCB+IC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtZmxvYXRpbmctbGFiZWwsXG4ucGV0aXRpb24gLndhcy12YWxpZGF0ZWQgLm1kYy10ZXh0LWZpZWxkLS1pbnZhbGlkOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKSAubWRjLXRleHQtZmllbGRfX2lucHV0W2RhdGEtdmFsaWRhdGlvbl0gfiAubWRjLWZsb2F0aW5nLWxhYmVsLFxuLnBldGl0aW9uIC53YXMtdmFsaWRhdGVkIC5tZGMtdGV4dC1maWVsZC0taW52YWxpZDpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCkgLm1kYy10ZXh0LWZpZWxkX19pbnB1dFtkYXRhLXZhbGlkYXRpb25dIH4gLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1mbG9hdGluZy1sYWJlbCB7XG4gIGNvbG9yOiAjRjI2QTIxO1xufVxuLnBldGl0aW9uIC53YXMtdmFsaWRhdGVkIC5tZGMtdGV4dC1maWVsZC0taW52YWxpZDpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCkgLm1kYy10ZXh0LWZpZWxkX19pbnB1dDpyZXF1aXJlZCB+IC5tZGMtZmxvYXRpbmctbGFiZWw6YWZ0ZXIsXG4ucGV0aXRpb24gLndhcy12YWxpZGF0ZWQgLm1kYy10ZXh0LWZpZWxkLS1pbnZhbGlkOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKSAubWRjLXRleHQtZmllbGRfX2lucHV0OnJlcXVpcmVkIH4gLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1mbG9hdGluZy1sYWJlbDphZnRlcixcbi5wZXRpdGlvbiAud2FzLXZhbGlkYXRlZCAubWRjLXRleHQtZmllbGQtLWludmFsaWQ6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpIC5tZGMtdGV4dC1maWVsZF9faW5wdXRbZGF0YS12YWxpZGF0aW9uXSB+IC5tZGMtZmxvYXRpbmctbGFiZWw6YWZ0ZXIsXG4ucGV0aXRpb24gLndhcy12YWxpZGF0ZWQgLm1kYy10ZXh0LWZpZWxkLS1pbnZhbGlkOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKSAubWRjLXRleHQtZmllbGRfX2lucHV0W2RhdGEtdmFsaWRhdGlvbl0gfiAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLWZsb2F0aW5nLWxhYmVsOmFmdGVyIHtcbiAgY29sb3I6ICNGMjZBMjE7XG59XG4ucGV0aXRpb24gLm1kYy1mb3JtLWZpZWxkIHtcbiAgY29sb3I6ICNhM2FkZWM7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBtYXJnaW4tYm90dG9tOiAycHg7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5wZXRpdGlvbiAubWRjLWZvcm0tZmllbGQgbGFiZWwge1xuICBtYXJnaW4tdG9wOiAxMXB4O1xuICBjb2xvcjogIzIwMWQxZDtcbn1cbi5wZXRpdGlvbiAubWRjLXRleHQtZmllbGQge1xuICBib3JkZXItcmFkaXVzOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMzBweCAhaW1wb3J0YW50O1xufVxuLnBldGl0aW9uIC5tZGMtdGV4dC1maWVsZDpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCkgLm1kYy10ZXh0LWZpZWxkX19pbnB1dCB7XG4gIGNvbG9yOiAjMjAxZDFkO1xufVxuLnBldGl0aW9uIC5tZGMtdGV4dC1maWVsZDpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCkgLm1kYy1mbG9hdGluZy1sYWJlbCB7XG4gIGNvbG9yOiAjN2E3YTdhO1xufVxuLnBldGl0aW9uIC5tZGMtdGV4dC1maWVsZDpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xufVxuQG1lZGlhIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAucGV0aXRpb24gLm1kYy10ZXh0LWZpZWxkIHtcbiAgICBoZWlnaHQ6IDQ4cHg7XG4gIH1cbn1cbi5wZXRpdGlvbiAubWRjLXRleHQtZmllbGQ6YmVmb3JlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5wZXRpdGlvbiAubWRjLXRleHQtZmllbGQ6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpOm5vdCgubWRjLXRleHQtZmllbGQtLW91dGxpbmVkKTpub3QoLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYSkgLm1kYy10ZXh0LWZpZWxkX19pbnB1dCB7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6IHJnYmEoMCwgMCwgMCwgMCkgIWltcG9ydGFudDtcbn1cbi5wZXRpdGlvbiAubWRjLWxpbmUtcmlwcGxlIHtcbiAgaGVpZ2h0OiAzcHg7XG59XG4ucGV0aXRpb24gLm1kYy1mb3JtLWZpZWxkID4gbGFiZWwgYTpob3ZlciwgLnBldGl0aW9uIC5tZGMtZm9ybS1maWVsZCA+IGxhYmVsIGE6Zm9jdXMge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgY29sb3I6ICNmZmY7XG59XG4ucGV0aXRpb24gLm1kYy1jaGVja2JveDpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xufVxuLnBldGl0aW9uIC5tZGMtZmxvYXRpbmctbGFiZWwge1xuICBmb250LXdlaWdodDogMzAwO1xuICBmb250LXNpemU6IDE4cHg7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuLnBldGl0aW9uIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMTAlKSBzY2FsZSgwLjcpO1xufVxuLnBldGl0aW9uIC5tZGMtdGV4dC1maWVsZC1oZWxwZXItdGV4dCB7XG4gIGZvbnQtc2l6ZTogMTNweDtcbn1cbi5wZXRpdGlvbiAubWRjLXRleHQtZmllbGQtLWludmFsaWQge1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cbi5wZXRpdGlvbiAuc2l0ZS1mb3JtX192YWxpZGF0aW9uLXRleHQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG1hcmdpbjogYXV0bztcbiAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAyNnB4KTtcbiAgYm90dG9tOiAtMTNweDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDUwJSk7XG4gIGxlZnQ6IDA7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjI2QTIxO1xuICBwYWRkaW5nOiAzcHggNXB4O1xuICBmb250LXNpemU6IDEwLjVweDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHVzZXItc2VsZWN0OiBub25lO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDM3NXB4KSB7XG4gIC5wZXRpdGlvbiAuc2l0ZS1mb3JtX192YWxpZGF0aW9uLXRleHQge1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgfVxufVxuaW5wdXQ6dmFsaWQgfiAucGV0aXRpb24gLnNpdGUtZm9ybV9fdmFsaWRhdGlvbi10ZXh0IHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuLnBldGl0aW9uIC53YXMtdmFsaWRhdGVkIGlucHV0OmludmFsaWQgfiAuc2l0ZS1mb3JtX192YWxpZGF0aW9uLXRleHQge1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xufVxuLnBldGl0aW9uIC53YXMtdmFsaWRhdGVkIC5tZGMtdGV4dC1maWVsZC0taW52YWxpZCAuc2l0ZS1mb3JtX192YWxpZGF0aW9uLXRleHQge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi5wZXRpdGlvbiAud2FzLXZhbGlkYXRlZCAuc2l0ZS1mb3JtX19jaGVja2JveC0tcmVxdWlyZWQuc2l0ZS1mb3JtX19jaGVja2JveC0tdW5jaGVja2VkIH4gLnNpdGUtZm9ybV9fdmFsaWRhdGlvbi10ZXh0IHtcbiAgcG9zaXRpb246IHN0YXRpYztcbiAgbWFyZ2luOiA2cHggMCAwIDA7XG4gIG1heC13aWR0aDogbm9uZTtcbiAgdHJhbnNmb3JtOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjI2QTIxO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiBhdXRvO1xuICBwYWRkaW5nOiAzcHggNXB4O1xuICBmb250LXdlaWdodDogNTAwO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDE2NTZweCkge1xuICAucGV0aXRpb24gLndhcy12YWxpZGF0ZWQgLnNpdGUtZm9ybV9fY2hlY2tib3gtLXJlcXVpcmVkLnNpdGUtZm9ybV9fY2hlY2tib3gtLXVuY2hlY2tlZCB+IC5zaXRlLWZvcm1fX3ZhbGlkYXRpb24tdGV4dCB7XG4gICAgbWFyZ2luLWxlZnQ6IDMwcHg7XG4gIH1cbn1cbi5wZXRpdGlvbiAuc2l0ZS1mb3JtX19zZXJ2ZXItdmFsaWRhdGlvbi10ZXh0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBtYXJnaW46IGF1dG87XG4gIG1heC13aWR0aDogY2FsYygxMDAlIC0gMjZweCk7XG4gIGJvdHRvbTogLTEwcHg7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg1MCUpO1xuICBsZWZ0OiAtMnB4O1xuICBjb2xvcjogI0YyNkEyMTtcbiAgZm9udC1zaXplOiAxMC41cHg7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nLWxlZnQ6IDJweDtcbiAgcGFkZGluZy1yaWdodDogMnB4O1xuICBmb250LXdlaWdodDogNDAwO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiAzNzVweCkge1xuICAucGV0aXRpb24gLnNpdGUtZm9ybV9fc2VydmVyLXZhbGlkYXRpb24tdGV4dCB7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICB9XG59XG4ucGV0aXRpb24gLnNlcnZlci1zaWRlLXZhbGlkYXRlZCAuc2VydmVyLXNpZGUtLWludmFsaWQgfiAuc2l0ZS1mb3JtX19zZXJ2ZXItdmFsaWRhdGlvbi10ZXh0IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4ucGV0aXRpb24gLndhcy12YWxpZGF0ZWQgLm1kYy1jaGVja2JveC0taW52YWxpZCB7XG4gIHBhZGRpbmctYm90dG9tOiAyNXB4O1xufVxuLnBldGl0aW9uIC53YXMtdmFsaWRhdGVkIC5tZGMtY2hlY2tib3gtLWludmFsaWQgfiAuc2l0ZS1mb3JtX192YWxpZGF0aW9uLXRleHQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgYm90dG9tOiA1cHg7XG4gIGxlZnQ6IDI2cHg7XG59XG4ucGV0aXRpb24gLm1kYy1jaGVja2JveF9fcmlwcGxlOmJlZm9yZSwgLnBldGl0aW9uIC5tZGMtcmFkaW9fX3JpcHBsZTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XG59XG4ucGV0aXRpb24gLm1kYy1jaGVja2JveF9fcmlwcGxlOmFmdGVyLCAucGV0aXRpb24gLm1kYy1yYWRpb19fcmlwcGxlOmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjMpICFpbXBvcnRhbnQ7XG59XG4ucGV0aXRpb24gLm1kYy10ZXh0LWZpZWxkOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKSAubWRjLWZsb2F0aW5nLWxhYmVsLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUge1xuICBjb2xvcjogIzIwMWQxZDtcbn1cbi5wZXRpdGlvbl9fY2hlY2tib3gge1xuICBtYXJnaW4tYm90dG9tOiAzMHB4O1xufVxuLnBldGl0aW9uX19jaGVja2JveCAubWRjLWNoZWNrYm94IC5tZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sOmVuYWJsZWQ6bm90KDpjaGVja2VkKTpub3QoOmluZGV0ZXJtaW5hdGUpOm5vdChbZGF0YS1pbmRldGVybWluYXRlPXRydWVdKSB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQge1xuICBib3JkZXItY29sb3I6ICMyMDFkMWQ7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7XG59XG4ucGV0aXRpb25fX2NoZWNrYm94IC5tZGMtY2hlY2tib3ggLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2w6ZW5hYmxlZDpjaGVja2VkIH4gLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZCxcbi5wZXRpdGlvbl9fY2hlY2tib3ggLm1kYy1jaGVja2JveCAubWRjLWNoZWNrYm94X19uYXRpdmUtY29udHJvbDplbmFibGVkOmluZGV0ZXJtaW5hdGUgfiAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kLFxuLnBldGl0aW9uX19jaGVja2JveCAubWRjLWNoZWNrYm94IC5tZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sW2RhdGEtaW5kZXRlcm1pbmF0ZT10cnVlXTplbmFibGVkIH4gLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZCB7XG4gIGJvcmRlci1jb2xvcjogIzIwMWQxZDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTtcbn1cbkBrZXlmcmFtZXMgbWRjLWNoZWNrYm94LWZhZGUtaW4tYmFja2dyb3VuZC1GRjIwMUQxREZGMjAxRDFEMDAwMDAwMDAwMDAwMDAwMCB7XG4gIDAlIHtcbiAgICBib3JkZXItY29sb3I6ICMyMDFkMWQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTtcbiAgfVxuICA1MCUge1xuICAgIGJvcmRlci1jb2xvcjogIzIwMWQxZDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApO1xuICB9XG59XG5Aa2V5ZnJhbWVzIG1kYy1jaGVja2JveC1mYWRlLW91dC1iYWNrZ3JvdW5kLUZGMjAxRDFERkYyMDFEMUQwMDAwMDAwMDAwMDAwMDAwIHtcbiAgMCUsIDgwJSB7XG4gICAgYm9yZGVyLWNvbG9yOiAjMjAxZDFkO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7XG4gIH1cbiAgMTAwJSB7XG4gICAgYm9yZGVyLWNvbG9yOiAjMjAxZDFkO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7XG4gIH1cbn1cbi5wZXRpdGlvbl9fY2hlY2tib3ggLm1kYy1jaGVja2JveC5tZGMtY2hlY2tib3gtLWFuaW0tdW5jaGVja2VkLWNoZWNrZWQgLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2w6ZW5hYmxlZCB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQsIC5wZXRpdGlvbl9fY2hlY2tib3ggLm1kYy1jaGVja2JveC5tZGMtY2hlY2tib3gtLWFuaW0tdW5jaGVja2VkLWluZGV0ZXJtaW5hdGUgLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2w6ZW5hYmxlZCB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQge1xuICBhbmltYXRpb24tbmFtZTogbWRjLWNoZWNrYm94LWZhZGUtaW4tYmFja2dyb3VuZC1GRjIwMUQxREZGMjAxRDFEMDAwMDAwMDAwMDAwMDAwMDtcbn1cbi5wZXRpdGlvbl9fY2hlY2tib3ggLm1kYy1jaGVja2JveC5tZGMtY2hlY2tib3gtLWFuaW0tY2hlY2tlZC11bmNoZWNrZWQgLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2w6ZW5hYmxlZCB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQsIC5wZXRpdGlvbl9fY2hlY2tib3ggLm1kYy1jaGVja2JveC5tZGMtY2hlY2tib3gtLWFuaW0taW5kZXRlcm1pbmF0ZS11bmNoZWNrZWQgLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2w6ZW5hYmxlZCB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQge1xuICBhbmltYXRpb24tbmFtZTogbWRjLWNoZWNrYm94LWZhZGUtb3V0LWJhY2tncm91bmQtRkYyMDFEMURGRjIwMUQxRDAwMDAwMDAwMDAwMDAwMDA7XG59XG4ucGV0aXRpb25fX2NoZWNrYm94IC5tZGMtY2hlY2tib3ggLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2w6ZW5hYmxlZCB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQgLm1kYy1jaGVja2JveF9fY2hlY2ttYXJrIHtcbiAgY29sb3I6ICMyMDFkMWQ7XG59XG4ucGV0aXRpb25fX2NoZWNrYm94IC5tZGMtY2hlY2tib3ggLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2w6ZW5hYmxlZCB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQgLm1kYy1jaGVja2JveF9fbWl4ZWRtYXJrIHtcbiAgYm9yZGVyLWNvbG9yOiAjMjAxZDFkO1xufVxuLnBldGl0aW9uX19jaGVja2JveCAubWRjLWNoZWNrYm94IC5tZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sOmNoZWNrZWQgfiAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kOjpiZWZvcmUsXG4ucGV0aXRpb25fX2NoZWNrYm94IC5tZGMtY2hlY2tib3ggLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2w6aW5kZXRlcm1pbmF0ZSB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQ6OmJlZm9yZSxcbi5wZXRpdGlvbl9fY2hlY2tib3ggLm1kYy1jaGVja2JveCAubWRjLWNoZWNrYm94X19uYXRpdmUtY29udHJvbFtkYXRhLWluZGV0ZXJtaW5hdGU9dHJ1ZV0gfiAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xufVxuLnBldGl0aW9uX19jaGVja2JveCAubWRjLWNoZWNrYm94Lm1kYy1jaGVja2JveC0tc2VsZWN0ZWQgLm1kYy1jaGVja2JveF9fcmlwcGxlOjpiZWZvcmUsIC5wZXRpdGlvbl9fY2hlY2tib3ggLm1kYy1jaGVja2JveC5tZGMtY2hlY2tib3gtLXNlbGVjdGVkIC5tZGMtY2hlY2tib3hfX3JpcHBsZTo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xufVxuLnBldGl0aW9uX19jaGVja2JveCAubWRjLWNoZWNrYm94Lm1kYy1jaGVja2JveC0tc2VsZWN0ZWQ6aG92ZXIgLm1kYy1jaGVja2JveF9fcmlwcGxlOjpiZWZvcmUge1xuICBvcGFjaXR5OiAwLjA4O1xufVxuLnBldGl0aW9uX19jaGVja2JveCAubWRjLWNoZWNrYm94Lm1kYy1jaGVja2JveC0tc2VsZWN0ZWQubWRjLXJpcHBsZS11cGdyYWRlZC0tYmFja2dyb3VuZC1mb2N1c2VkIC5tZGMtY2hlY2tib3hfX3JpcHBsZTo6YmVmb3JlLCAucGV0aXRpb25fX2NoZWNrYm94IC5tZGMtY2hlY2tib3gubWRjLWNoZWNrYm94LS1zZWxlY3RlZDpub3QoLm1kYy1yaXBwbGUtdXBncmFkZWQpOmZvY3VzIC5tZGMtY2hlY2tib3hfX3JpcHBsZTo6YmVmb3JlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNzVtcztcbiAgb3BhY2l0eTogMC4yNDtcbn1cbi5wZXRpdGlvbl9fY2hlY2tib3ggLm1kYy1jaGVja2JveC5tZGMtY2hlY2tib3gtLXNlbGVjdGVkOm5vdCgubWRjLXJpcHBsZS11cGdyYWRlZCkgLm1kYy1jaGVja2JveF9fcmlwcGxlOjphZnRlciB7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMTUwbXMgbGluZWFyO1xufVxuLnBldGl0aW9uX19jaGVja2JveCAubWRjLWNoZWNrYm94Lm1kYy1jaGVja2JveC0tc2VsZWN0ZWQ6bm90KC5tZGMtcmlwcGxlLXVwZ3JhZGVkKTphY3RpdmUgLm1kYy1jaGVja2JveF9fcmlwcGxlOjphZnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDc1bXM7XG4gIG9wYWNpdHk6IDAuMjQ7XG59XG4ucGV0aXRpb25fX2NoZWNrYm94IC5tZGMtY2hlY2tib3gubWRjLWNoZWNrYm94LS1zZWxlY3RlZC5tZGMtcmlwcGxlLXVwZ3JhZGVkIHtcbiAgLS1tZGMtcmlwcGxlLWZnLW9wYWNpdHk6IDAuMjQ7XG59XG4ucGV0aXRpb25fX2NoZWNrYm94IC5tZGMtY2hlY2tib3gubWRjLXJpcHBsZS11cGdyYWRlZC0tYmFja2dyb3VuZC1mb2N1c2VkLm1kYy1jaGVja2JveC0tc2VsZWN0ZWQgLm1kYy1jaGVja2JveF9fcmlwcGxlOjpiZWZvcmUsXG4ucGV0aXRpb25fX2NoZWNrYm94IC5tZGMtY2hlY2tib3gubWRjLXJpcHBsZS11cGdyYWRlZC0tYmFja2dyb3VuZC1mb2N1c2VkLm1kYy1jaGVja2JveC0tc2VsZWN0ZWQgLm1kYy1jaGVja2JveF9fcmlwcGxlOjphZnRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG59XG4ucGV0aXRpb25fX2NoZWNrYm94IC5tZGMtZm9ybS1maWVsZCBsYWJlbCB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgcGFkZGluZy1sZWZ0OiAwO1xufVxuLnBldGl0aW9uX19yYWRpbyB7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG59XG4ucGV0aXRpb25fX3JhZGlvIC5tZGMtcmFkaW8gLm1kYy1yYWRpb19fbmF0aXZlLWNvbnRyb2w6ZW5hYmxlZDpub3QoOmNoZWNrZWQpICsgLm1kYy1yYWRpb19fYmFja2dyb3VuZCAubWRjLXJhZGlvX19vdXRlci1jaXJjbGUge1xuICBib3JkZXItY29sb3I6ICMyMDFkMWQ7XG59XG4ucGV0aXRpb25fX3JhZGlvIC5tZGMtcmFkaW8gLm1kYy1yYWRpb19fbmF0aXZlLWNvbnRyb2w6ZW5hYmxlZDpjaGVja2VkICsgLm1kYy1yYWRpb19fYmFja2dyb3VuZCAubWRjLXJhZGlvX19vdXRlci1jaXJjbGUge1xuICBib3JkZXItY29sb3I6ICMyMDFkMWQ7XG59XG4ucGV0aXRpb25fX3JhZGlvIC5tZGMtcmFkaW8gLm1kYy1yYWRpb19fbmF0aXZlLWNvbnRyb2w6ZW5hYmxlZCArIC5tZGMtcmFkaW9fX2JhY2tncm91bmQgLm1kYy1yYWRpb19faW5uZXItY2lyY2xlIHtcbiAgYm9yZGVyLWNvbG9yOiAjMjAxZDFkO1xufVxuLnBldGl0aW9uX19yYWRpbyAubWRjLXJhZGlvIC5tZGMtcmFkaW9fX2JhY2tncm91bmQ6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyMDFkMWQ7XG59XG4ucGV0aXRpb25fX3JhZGlvIC5tZGMtcmFkaW8gKyBsYWJlbCB7XG4gIG1hcmdpbi10b3A6IDExLjVweDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAucGV0aXRpb25fX3JhZGlvIC5tZGMtcmFkaW8gKyBsYWJlbCB7XG4gICAgbWFyZ2luLXRvcDogOHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTY1NnB4KSB7XG4gIC5wZXRpdGlvbl9fcmFkaW8gLm1kYy1yYWRpbyArIGxhYmVsIHtcbiAgICBtYXJnaW4tdG9wOiAxMHB4ICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi5wZXRpdGlvbl9fcmFkaW8gLm1kYy1mb3JtLWZpZWxkIGxhYmVsIHtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBwYWRkaW5nLWxlZnQ6IDA7XG59XG4ucGV0aXRpb25fX3JhZGlvIC5zaXRlLWZvcm1fX3ZhbGlkYXRpb24tdGV4dCB7XG4gIGJvdHRvbTogNXB4ICFpbXBvcnRhbnQ7XG4gIGxlZnQ6IDI2cHggIWltcG9ydGFudDtcbn1cbi5wZXRpdGlvbiAud2FzLXZhbGlkYXRlZCAubWRjLWZvcm0tZmllbGQtLWludmFsaWQge1xuICBtYXJnaW4tYm90dG9tOiAxNXB4O1xufVxuLnBldGl0aW9uIC53YXMtdmFsaWRhdGVkIC5tZGMtZm9ybS1maWVsZC0taW52YWxpZCB+IC5zaXRlLWZvcm1fX3ZhbGlkYXRpb24tdGV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbWFyZ2luOiBhdXRvO1xuICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDI2cHgpO1xuICBib3R0b206IC0xMHB4O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNTAlKTtcbiAgbGVmdDogMjZweDtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGMjZBMjE7XG4gIHBhZGRpbmc6IDNweCA1cHg7XG4gIGZvbnQtc2l6ZTogMTAuNXB4O1xuICBsaW5lLWhlaWdodDogMTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXdlaWdodDogNDAwO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgd2lkdGg6IGF1dG87XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMzc1cHgpIHtcbiAgLnBldGl0aW9uIC53YXMtdmFsaWRhdGVkIC5tZGMtZm9ybS1maWVsZC0taW52YWxpZCB+IC5zaXRlLWZvcm1fX3ZhbGlkYXRpb24tdGV4dCB7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICB9XG59XG4ucGV0aXRpb24gLm5ld3NsZXR0ZXItYWdyZWVtZW50cyAuZXpyaWNodGV4dC1maWVsZCBwOm5vdChbY2xhc3NdKSwgLnBldGl0aW9uIC5uZXdzbGV0dGVyLWFncmVlbWVudHMgLm5nbC1yaWNoX3RleHQgcDpub3QoW2NsYXNzXSkge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuLnBldGl0aW9uIC5uZXdzbGV0dGVyLWFncmVlbWVudHNfX3RpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xufVxuLnBldGl0aW9uIC5uZXdzbGV0dGVyLWFncmVlbWVudHNfX3RpdGxlIC5lenJpY2h0ZXh0LWZpZWxkLCAucGV0aXRpb24gLm5ld3NsZXR0ZXItYWdyZWVtZW50c19fdGl0bGUgLm5nbC1yaWNoX3RleHQsIC5wZXRpdGlvbiAubmV3c2xldHRlci1hZ3JlZW1lbnRzX190aXRsZSB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMnB4O1xufVxuLnBldGl0aW9uIC5uZXdzbGV0dGVyLWFncmVlbWVudHNfX2luZm8gLmV6cmljaHRleHQtZmllbGQsIC5wZXRpdGlvbiAubmV3c2xldHRlci1hZ3JlZW1lbnRzX19pbmZvIC5uZ2wtcmljaF90ZXh0LCAucGV0aXRpb24gLm5ld3NsZXR0ZXItYWdyZWVtZW50c19faW5mbyB7XG4gIGZvbnQtc2l6ZTogMTJweDtcbn1cbi5wZXRpdGlvbiAubmV3c2xldHRlci1hZ3JlZW1lbnRzX19pbmZvLS1zcGFjZWQge1xuICBtYXJnaW4tdG9wOiAzMHB4O1xufVxuLnBldGl0aW9uIC5uZXdzbGV0dGVyLWFncmVlbWVudHNfX2luZm8tLWluZGVudGVkIHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xufVxuLnBldGl0aW9uIC5uZXdzbGV0dGVyLWFncmVlbWVudHNfX2Nob2ljZXMge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG59XG4ucGV0aXRpb24gLm5ld3NsZXR0ZXItYWdyZWVtZW50c19fY2hvaWNlIGxhYmVsIHtcbiAgbWFyZ2luOiA3cHggMCAwICFpbXBvcnRhbnQ7XG59XG4ucGV0aXRpb24gLm5ld3NsZXR0ZXItYWdyZWVtZW50c19fY2hvaWNlIC5lenJpY2h0ZXh0LWZpZWxkLCAucGV0aXRpb24gLm5ld3NsZXR0ZXItYWdyZWVtZW50c19fY2hvaWNlIC5uZ2wtcmljaF90ZXh0IHtcbiAgZm9udC1zaXplOiAxMnB4O1xufVxuLnBldGl0aW9uIC5zaXRlLWZvcm1fX2luZm8ge1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuXG4ubmV3c2xldHRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyNjUzQjk7XG4gIGNvbG9yOiAjZmZmO1xuICBwYWRkaW5nOiAwIDIwcHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLm5ld3NsZXR0ZXIge1xuICAgIHBhZGRpbmc6IDAgMzVweDtcbiAgfVxufVxuLm5ld3NsZXR0ZXJfX2ZpZ3VyZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgei1pbmRleDogMTtcbiAgbWFyZ2luOiAwO1xufVxuLm5ld3NsZXR0ZXJfX2NhbnZhcyB7XG4gIG1hcmdpbjogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLm5ld3NsZXR0ZXJfX2ltZyB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG5jYW52YXMgKyBwaWN0dXJlIC5uZXdzbGV0dGVyX19pbWcge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbn1cbi5uZXdzbGV0dGVyX19jb250ZW50IHtcbiAgaGVpZ2h0OiAxMDAlO1xuICBtYXgtd2lkdGg6IDQwMHB4O1xuICBtYXJnaW46IDAgYXV0bztcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAyO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5uZXdzbGV0dGVyX19jb250ZW50IHtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gIH1cbn1cbi5uZXdzbGV0dGVyX19zcGFjZXIge1xuICBmbGV4LWdyb3c6IDE7XG59XG4ubmV3c2xldHRlcl9fYnV0dG9uIHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5AbWVkaWEgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gIC5uZXdzbGV0dGVyX19idXR0b24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IC0wLjJweDtcbiAgICB3aWR0aDogNDguMnB4O1xuICAgIGhlaWdodDogNDguMnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmclMjB4bWxucyUzRCUyMmh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJTIyJTIwZmlsbCUzRCUyMiUyM2ZmZiUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDM2JTIwMzYlMjIlM0UlM0NwYXRoJTIwZCUzRCUyMk05LDMzLjg3YTEuMTMsMS4xMywwLDAsMSwuMzMtLjhMMjQuMjgsMTgsOS4zMywyLjkzYTEuMTMsMS4xMywwLDAsMSwwLTEuNiwxLjEyLDEuMTIsMCwwLDEsMS41OSwwTDI2LjY3LDE3LjJhMS4xMywxLjEzLDAsMCwxLDAsMS42TDEwLjkyLDM0LjY3QTEuMTMsMS4xMywwLDAsMSw5LDMzLjg3WiUyMi8lM0UlM0NwYXRoJTIwZCUzRCUyMk0zNiwzNkgwVjBIMzZaJTIyJTIwZmlsbCUzRCUyMm5vbmUlMjIvJTNFJTNDL3N2ZyUzRVwiKTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDI0cHggMjRweDtcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgbWluLWhlaWdodDogMDtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5uZXdzbGV0dGVyX19idXR0b24ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAxNHB4O1xuICB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gIC5uZXdzbGV0dGVyX19idXR0b24gLm1kYy1idXR0b25fX2xhYmVsIHtcbiAgICB3aWR0aDogMXB4O1xuICAgIGhlaWdodDogMXB4O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyOiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgfVxufVxuLm5ld3NsZXR0ZXJfX2hlYWRlciB7XG4gIGNvbG9yOiAjZmZmO1xuICBtYXJnaW46IDA7XG4gIGhlaWdodDogNTJweDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBhZGRpbmc6IDVweCAwO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAubmV3c2xldHRlcl9faGVhZGVyIHtcbiAgICBoZWlnaHQ6IDY4cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxNDAwcHgpIHtcbiAgLm5ld3NsZXR0ZXJfX2hlYWRlciB7XG4gICAgaGVpZ2h0OiAxMTBweDtcbiAgfVxufVxuLm5ld3NsZXR0ZXJfX3RpdGxlIHtcbiAgZm9udC1zaXplOiAxOXB4O1xuICBmb250LXdlaWdodDogNTAwO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBtYXJnaW46IDA7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5uZXdzbGV0dGVyX190aXRsZSB7XG4gICAgZm9udC1zaXplOiAyMXB4O1xuICB9XG59XG4ubmV3c2xldHRlcl9fZGVzY3JpcHRpb24ge1xuICBmb250LXNpemU6IDEzcHg7XG4gIGNvbG9yOiAjZmZmO1xuICBtYXJnaW46IDA7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5uZXdzbGV0dGVyX19kZXNjcmlwdGlvbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuLm5ld3NsZXR0ZXJfX2NoZWNrYm94IC5tZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sOmVuYWJsZWQ6bm90KDpjaGVja2VkKTpub3QoOmluZGV0ZXJtaW5hdGUpOm5vdChbZGF0YS1pbmRldGVybWluYXRlPXRydWVdKSB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQge1xuICBib3JkZXItY29sb3I6ICNhM2FkZWM7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7XG59XG4ubmV3c2xldHRlcl9fY2hlY2tib3ggLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2w6ZW5hYmxlZDpjaGVja2VkIH4gLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZCxcbi5uZXdzbGV0dGVyX19jaGVja2JveCAubWRjLWNoZWNrYm94X19uYXRpdmUtY29udHJvbDplbmFibGVkOmluZGV0ZXJtaW5hdGUgfiAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kLFxuLm5ld3NsZXR0ZXJfX2NoZWNrYm94IC5tZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sW2RhdGEtaW5kZXRlcm1pbmF0ZT10cnVlXTplbmFibGVkIH4gLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZCB7XG4gIGJvcmRlci1jb2xvcjogI2EzYWRlYztcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTtcbn1cbkBrZXlmcmFtZXMgbWRjLWNoZWNrYm94LWZhZGUtaW4tYmFja2dyb3VuZC1GRkEzQURFQ0ZGQTNBREVDMDAwMDAwMDAwMDAwMDAwMCB7XG4gIDAlIHtcbiAgICBib3JkZXItY29sb3I6ICNhM2FkZWM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTtcbiAgfVxuICA1MCUge1xuICAgIGJvcmRlci1jb2xvcjogI2EzYWRlYztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApO1xuICB9XG59XG5Aa2V5ZnJhbWVzIG1kYy1jaGVja2JveC1mYWRlLW91dC1iYWNrZ3JvdW5kLUZGQTNBREVDRkZBM0FERUMwMDAwMDAwMDAwMDAwMDAwIHtcbiAgMCUsIDgwJSB7XG4gICAgYm9yZGVyLWNvbG9yOiAjYTNhZGVjO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7XG4gIH1cbiAgMTAwJSB7XG4gICAgYm9yZGVyLWNvbG9yOiAjYTNhZGVjO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7XG4gIH1cbn1cbi5uZXdzbGV0dGVyX19jaGVja2JveC5tZGMtY2hlY2tib3gtLWFuaW0tdW5jaGVja2VkLWNoZWNrZWQgLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2w6ZW5hYmxlZCB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQsIC5uZXdzbGV0dGVyX19jaGVja2JveC5tZGMtY2hlY2tib3gtLWFuaW0tdW5jaGVja2VkLWluZGV0ZXJtaW5hdGUgLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2w6ZW5hYmxlZCB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQge1xuICBhbmltYXRpb24tbmFtZTogbWRjLWNoZWNrYm94LWZhZGUtaW4tYmFja2dyb3VuZC1GRkEzQURFQ0ZGQTNBREVDMDAwMDAwMDAwMDAwMDAwMDtcbn1cbi5uZXdzbGV0dGVyX19jaGVja2JveC5tZGMtY2hlY2tib3gtLWFuaW0tY2hlY2tlZC11bmNoZWNrZWQgLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2w6ZW5hYmxlZCB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQsIC5uZXdzbGV0dGVyX19jaGVja2JveC5tZGMtY2hlY2tib3gtLWFuaW0taW5kZXRlcm1pbmF0ZS11bmNoZWNrZWQgLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2w6ZW5hYmxlZCB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQge1xuICBhbmltYXRpb24tbmFtZTogbWRjLWNoZWNrYm94LWZhZGUtb3V0LWJhY2tncm91bmQtRkZBM0FERUNGRkEzQURFQzAwMDAwMDAwMDAwMDAwMDA7XG59XG4ubmV3c2xldHRlcl9fY2hlY2tib3ggLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2w6ZW5hYmxlZCB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQgLm1kYy1jaGVja2JveF9fY2hlY2ttYXJrIHtcbiAgY29sb3I6ICNhM2FkZWM7XG59XG4ubmV3c2xldHRlcl9fY2hlY2tib3ggLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2w6ZW5hYmxlZCB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQgLm1kYy1jaGVja2JveF9fbWl4ZWRtYXJrIHtcbiAgYm9yZGVyLWNvbG9yOiAjYTNhZGVjO1xufVxuLm5ld3NsZXR0ZXJfX2NoZWNrYm94IC5tZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sOmNoZWNrZWQgfiAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kOjpiZWZvcmUsXG4ubmV3c2xldHRlcl9fY2hlY2tib3ggLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2w6aW5kZXRlcm1pbmF0ZSB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQ6OmJlZm9yZSxcbi5uZXdzbGV0dGVyX19jaGVja2JveCAubWRjLWNoZWNrYm94X19uYXRpdmUtY29udHJvbFtkYXRhLWluZGV0ZXJtaW5hdGU9dHJ1ZV0gfiAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xufVxuLm5ld3NsZXR0ZXJfX2NoZWNrYm94Lm1kYy1jaGVja2JveC0tc2VsZWN0ZWQgLm1kYy1jaGVja2JveF9fcmlwcGxlOjpiZWZvcmUsIC5uZXdzbGV0dGVyX19jaGVja2JveC5tZGMtY2hlY2tib3gtLXNlbGVjdGVkIC5tZGMtY2hlY2tib3hfX3JpcHBsZTo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xufVxuLm5ld3NsZXR0ZXJfX2NoZWNrYm94Lm1kYy1jaGVja2JveC0tc2VsZWN0ZWQ6aG92ZXIgLm1kYy1jaGVja2JveF9fcmlwcGxlOjpiZWZvcmUge1xuICBvcGFjaXR5OiAwLjA4O1xufVxuLm5ld3NsZXR0ZXJfX2NoZWNrYm94Lm1kYy1jaGVja2JveC0tc2VsZWN0ZWQubWRjLXJpcHBsZS11cGdyYWRlZC0tYmFja2dyb3VuZC1mb2N1c2VkIC5tZGMtY2hlY2tib3hfX3JpcHBsZTo6YmVmb3JlLCAubmV3c2xldHRlcl9fY2hlY2tib3gubWRjLWNoZWNrYm94LS1zZWxlY3RlZDpub3QoLm1kYy1yaXBwbGUtdXBncmFkZWQpOmZvY3VzIC5tZGMtY2hlY2tib3hfX3JpcHBsZTo6YmVmb3JlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNzVtcztcbiAgb3BhY2l0eTogMC4yNDtcbn1cbi5uZXdzbGV0dGVyX19jaGVja2JveC5tZGMtY2hlY2tib3gtLXNlbGVjdGVkOm5vdCgubWRjLXJpcHBsZS11cGdyYWRlZCkgLm1kYy1jaGVja2JveF9fcmlwcGxlOjphZnRlciB7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMTUwbXMgbGluZWFyO1xufVxuLm5ld3NsZXR0ZXJfX2NoZWNrYm94Lm1kYy1jaGVja2JveC0tc2VsZWN0ZWQ6bm90KC5tZGMtcmlwcGxlLXVwZ3JhZGVkKTphY3RpdmUgLm1kYy1jaGVja2JveF9fcmlwcGxlOjphZnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDc1bXM7XG4gIG9wYWNpdHk6IDAuMjQ7XG59XG4ubmV3c2xldHRlcl9fY2hlY2tib3gubWRjLWNoZWNrYm94LS1zZWxlY3RlZC5tZGMtcmlwcGxlLXVwZ3JhZGVkIHtcbiAgLS1tZGMtcmlwcGxlLWZnLW9wYWNpdHk6IDAuMjQ7XG59XG4ubmV3c2xldHRlcl9fY2hlY2tib3gubWRjLXJpcHBsZS11cGdyYWRlZC0tYmFja2dyb3VuZC1mb2N1c2VkLm1kYy1jaGVja2JveC0tc2VsZWN0ZWQgLm1kYy1jaGVja2JveF9fcmlwcGxlOjpiZWZvcmUsXG4ubmV3c2xldHRlcl9fY2hlY2tib3gubWRjLXJpcHBsZS11cGdyYWRlZC0tYmFja2dyb3VuZC1mb2N1c2VkLm1kYy1jaGVja2JveC0tc2VsZWN0ZWQgLm1kYy1jaGVja2JveF9fcmlwcGxlOjphZnRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG59XG4ubmV3c2xldHRlciAud2FzLXZhbGlkYXRlZCAubWRjLWNoZWNrYm94X19uYXRpdmUtY29udHJvbFtyZXF1aXJlZF06aW52YWxpZCB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQge1xuICBib3JkZXItY29sb3I6ICNGMjZBMjEgIWltcG9ydGFudDtcbn1cbi5uZXdzbGV0dGVyIC5tZGMtdGV4dC1maWVsZC0tZm9jdXNlZCAubWRjLXRleHQtZmllbGRfX2lucHV0OnJlcXVpcmVkIH4gLm1kYy1mbG9hdGluZy1sYWJlbDphZnRlciB7XG4gIGNvbG9yOiAjN2E3YTdhO1xufVxuLm5ld3NsZXR0ZXIgLm1kYy10ZXh0LWZpZWxkLS1pbnZhbGlkOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKSAubWRjLXRleHQtZmllbGRfX2lucHV0OnJlcXVpcmVkIH4gLm1kYy1mbG9hdGluZy1sYWJlbCxcbi5uZXdzbGV0dGVyIC5tZGMtdGV4dC1maWVsZC0taW52YWxpZDpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCkgLm1kYy10ZXh0LWZpZWxkX19pbnB1dDpyZXF1aXJlZCB+IC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtZmxvYXRpbmctbGFiZWwge1xuICBjb2xvcjogIzdhN2E3YTtcbn1cbi5uZXdzbGV0dGVyIC5tZGMtdGV4dC1maWVsZC0taW52YWxpZDpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCkgLm1kYy10ZXh0LWZpZWxkX19pbnB1dDpyZXF1aXJlZCB+IC5tZGMtZmxvYXRpbmctbGFiZWw6YWZ0ZXIsXG4ubmV3c2xldHRlciAubWRjLXRleHQtZmllbGQtLWludmFsaWQ6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpIC5tZGMtdGV4dC1maWVsZF9faW5wdXQ6cmVxdWlyZWQgfiAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLWZsb2F0aW5nLWxhYmVsOmFmdGVyIHtcbiAgY29sb3I6ICM3YTdhN2E7XG59XG4ubmV3c2xldHRlciAubWRjLXRleHQtZmllbGQtLWludmFsaWQ6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpIC5tZGMtbGluZS1yaXBwbGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDBBRUVGO1xufVxuLm5ld3NsZXR0ZXIgLndhcy12YWxpZGF0ZWQgLm1kYy10ZXh0LWZpZWxkLS1pbnZhbGlkOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKSAubWRjLWxpbmUtcmlwcGxlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0YyNkEyMTtcbn1cbi5uZXdzbGV0dGVyIC53YXMtdmFsaWRhdGVkIC5tZGMtdGV4dC1maWVsZC0taW52YWxpZDpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCkgLm1kYy10ZXh0LWZpZWxkX19pbnB1dDpyZXF1aXJlZCB+IC5tZGMtZmxvYXRpbmctbGFiZWwsXG4ubmV3c2xldHRlciAud2FzLXZhbGlkYXRlZCAubWRjLXRleHQtZmllbGQtLWludmFsaWQ6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpIC5tZGMtdGV4dC1maWVsZF9faW5wdXQ6cmVxdWlyZWQgfiAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLWZsb2F0aW5nLWxhYmVsIHtcbiAgY29sb3I6ICNGMjZBMjE7XG59XG4ubmV3c2xldHRlciAud2FzLXZhbGlkYXRlZCAubWRjLXRleHQtZmllbGQtLWludmFsaWQ6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpIC5tZGMtdGV4dC1maWVsZF9faW5wdXQ6cmVxdWlyZWQgfiAubWRjLWZsb2F0aW5nLWxhYmVsOmFmdGVyLFxuLm5ld3NsZXR0ZXIgLndhcy12YWxpZGF0ZWQgLm1kYy10ZXh0LWZpZWxkLS1pbnZhbGlkOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKSAubWRjLXRleHQtZmllbGRfX2lucHV0OnJlcXVpcmVkIH4gLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1mbG9hdGluZy1sYWJlbDphZnRlciB7XG4gIGNvbG9yOiAjRjI2QTIxO1xufVxuLm5ld3NsZXR0ZXIgLm1kYy1mb3JtLWZpZWxkIHtcbiAgY29sb3I6ICNhM2FkZWM7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBtYXJnaW4tYm90dG9tOiAycHg7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5uZXdzbGV0dGVyIC5tZGMtZm9ybS1maWVsZCBsYWJlbCB7XG4gIG1hcmdpbi10b3A6IDExcHg7XG59XG4ubmV3c2xldHRlciAubWRjLXRleHQtZmllbGQge1xuICBib3JkZXItcmFkaXVzOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMjNweDtcbn1cbi5uZXdzbGV0dGVyIC5tZGMtdGV4dC1maWVsZDpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCkgLm1kYy10ZXh0LWZpZWxkX19pbnB1dCB7XG4gIGNvbG9yOiAjMjAxZDFkO1xufVxuLm5ld3NsZXR0ZXIgLm1kYy10ZXh0LWZpZWxkOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKSAubWRjLWZsb2F0aW5nLWxhYmVsIHtcbiAgY29sb3I6ICM3YTdhN2E7XG59XG4ubmV3c2xldHRlciAubWRjLXRleHQtZmllbGQ6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgLm5ld3NsZXR0ZXIgLm1kYy10ZXh0LWZpZWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIGhlaWdodDogNDhweDtcbiAgfVxufVxuLm5ld3NsZXR0ZXIgLm1kYy10ZXh0LWZpZWxkOmJlZm9yZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4ubmV3c2xldHRlciAubWRjLXRleHQtZmllbGQ6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpOm5vdCgubWRjLXRleHQtZmllbGQtLW91dGxpbmVkKTpub3QoLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYSkgLm1kYy10ZXh0LWZpZWxkX19pbnB1dCB7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6IHJnYmEoMCwgMCwgMCwgMCkgIWltcG9ydGFudDtcbn1cbi5uZXdzbGV0dGVyIC5tZGMtbGluZS1yaXBwbGUge1xuICBoZWlnaHQ6IDNweDtcbn1cbi5uZXdzbGV0dGVyIC5tZGMtZm9ybS1maWVsZCA+IGxhYmVsIGE6aG92ZXIsIC5uZXdzbGV0dGVyIC5tZGMtZm9ybS1maWVsZCA+IGxhYmVsIGE6Zm9jdXMge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgY29sb3I6ICNmZmY7XG59XG4ubmV3c2xldHRlciAubWRjLWNoZWNrYm94OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG59XG4ubmV3c2xldHRlciAubWRjLWZsb2F0aW5nLWxhYmVsIHtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cbi5uZXdzbGV0dGVyIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMTAlKSBzY2FsZSgwLjcpO1xufVxuLm5ld3NsZXR0ZXIgLm1kYy10ZXh0LWZpZWxkLWhlbHBlci10ZXh0IHtcbiAgZm9udC1zaXplOiAxM3B4O1xufVxuLm5ld3NsZXR0ZXJfX21vcmUge1xuICBtYXJnaW46IDE2cHggMCAwIDA7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjMDBBRUVGO1xuICBwYWRkaW5nOiAxNHB4IDA7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgY29sb3I6ICMwMEFFRUY7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5uZXdzbGV0dGVyX19tb3JlIHtcbiAgICBmb250LXNpemU6IDE5cHg7XG4gICAgbWFyZ2luOiAyNHB4IDAgMCAwO1xuICAgIHBhZGRpbmc6IDE1cHggMDtcbiAgfVxufVxuLm5ld3NsZXR0ZXJfX21vcmUgYSB7XG4gIGNvbG9yOiAjZmZmO1xuICBmb250LXdlaWdodDogNTAwO1xufVxuLm5ld3NsZXR0ZXJfX21vcmUgYTpob3ZlciwgLm5ld3NsZXR0ZXJfX21vcmUgYTpmb2N1cyB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAuYXJ0aWNsZS12aWV3IC5uZXdzbGV0dGVyX19tb3JlIHtcbiAgICBwYWRkaW5nOiAxOHB4IDA7XG4gIH1cbn1cbi5uZXdzbGV0dGVyX19ncm91cCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWF4LXdpZHRoOiA0MDBweDtcbiAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbn1cbi5uZXdzbGV0dGVyIC5tZGMtdGV4dC1maWVsZC0taW52YWxpZCB7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuLm5ld3NsZXR0ZXIgLnNpdGUtZm9ybV9fdmFsaWRhdGlvbi10ZXh0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBtYXJnaW46IGF1dG87XG4gIG1heC13aWR0aDogY2FsYygxMDAlIC0gMjZweCk7XG4gIGJvdHRvbTogLTEwcHg7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg1MCUpO1xuICBsZWZ0OiAtMnB4O1xuICBjb2xvcjogI0YyNkEyMTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGZvbnQtc2l6ZTogMTAuNXB4O1xuICBsaW5lLWhlaWdodDogMTtcbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZy1sZWZ0OiAycHg7XG4gIHBhZGRpbmctcmlnaHQ6IDJweDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMzc1cHgpIHtcbiAgLm5ld3NsZXR0ZXIgLnNpdGUtZm9ybV9fdmFsaWRhdGlvbi10ZXh0IHtcbiAgICBmb250LXNpemU6IDEycHg7XG4gIH1cbn1cbmlucHV0OnZhbGlkIH4gLm5ld3NsZXR0ZXIgLnNpdGUtZm9ybV9fdmFsaWRhdGlvbi10ZXh0IHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuLm5ld3NsZXR0ZXIgLndhcy12YWxpZGF0ZWQgaW5wdXQ6aW52YWxpZCB+IC5zaXRlLWZvcm1fX3ZhbGlkYXRpb24tdGV4dCB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG59XG4ubmV3c2xldHRlciAud2FzLXZhbGlkYXRlZCAubWRjLXRleHQtZmllbGQtLWludmFsaWQgLnNpdGUtZm9ybV9fdmFsaWRhdGlvbi10ZXh0IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4ubmV3c2xldHRlciAud2FzLXZhbGlkYXRlZCAuc2l0ZS1mb3JtX19jaGVja2JveC0tcmVxdWlyZWQuc2l0ZS1mb3JtX19jaGVja2JveC0tdW5jaGVja2VkIH4gLnNpdGUtZm9ybV9fdmFsaWRhdGlvbi10ZXh0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBzdGF0aWM7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgcGFkZGluZy1yaWdodDogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIG1hcmdpbjogNnB4IDAgMCAwO1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiBub25lO1xuICB0cmFuc2Zvcm06IG5vbmU7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTY1NnB4KSB7XG4gIC5uZXdzbGV0dGVyIC53YXMtdmFsaWRhdGVkIC5zaXRlLWZvcm1fX2NoZWNrYm94LS1yZXF1aXJlZC5zaXRlLWZvcm1fX2NoZWNrYm94LS11bmNoZWNrZWQgfiAuc2l0ZS1mb3JtX192YWxpZGF0aW9uLXRleHQge1xuICAgIHBhZGRpbmctbGVmdDogNDRweDtcbiAgfVxufVxuLm5ld3NsZXR0ZXIgLnNpdGUtZm9ybV9fc2VydmVyLXZhbGlkYXRpb24tdGV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbWFyZ2luOiBhdXRvO1xuICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDI2cHgpO1xuICBib3R0b206IC0xMHB4O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNTAlKTtcbiAgbGVmdDogLTJweDtcbiAgY29sb3I6ICNGMjZBMjE7XG4gIGZvbnQtc2l6ZTogMTAuNXB4O1xuICBsaW5lLWhlaWdodDogMTtcbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZy1sZWZ0OiAycHg7XG4gIHBhZGRpbmctcmlnaHQ6IDJweDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMzc1cHgpIHtcbiAgLm5ld3NsZXR0ZXIgLnNpdGUtZm9ybV9fc2VydmVyLXZhbGlkYXRpb24tdGV4dCB7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICB9XG59XG4ubmV3c2xldHRlciAuc2VydmVyLXNpZGUtdmFsaWRhdGVkIC5zZXJ2ZXItc2lkZS0taW52YWxpZCB+IC5zaXRlLWZvcm1fX3NlcnZlci12YWxpZGF0aW9uLXRleHQge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi5uZXdzbGV0dGVyIC53YXMtdmFsaWRhdGVkIC5tZGMtY2hlY2tib3gtLWludmFsaWQgfiAuc2l0ZS1mb3JtX192YWxpZGF0aW9uLXRleHQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiA0MXB4O1xufVxuLm5ld3NsZXR0ZXIgLm1kYy1jaGVja2JveF9fcmlwcGxlOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmYgIWltcG9ydGFudDtcbn1cbi5uZXdzbGV0dGVyIC5tZGMtY2hlY2tib3hfX3JpcHBsZTphZnRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zKSAhaW1wb3J0YW50O1xufVxuXG4udGVhc2VyIHtcbiAgZmxleDogMSAwIDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAudGVhc2VyIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDI0cHg7XG4gICAgZmxleDogMSAwIGNhbGMoNTAlIC0gMTJweCk7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAudGVhc2VyIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDMwcHg7XG4gICAgZmxleDogMSAwIGNhbGMoMzMuMzMzJSAtIDMwcHgpO1xuICB9XG4gIC50ZWFzZXIgLmdsaWRlLS1zd2lwZWFibGUge1xuICAgIGN1cnNvcjogYXV0byAhaW1wb3J0YW50O1xuICB9XG59XG4udGVhc2VyOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG59XG4udGVhc2VyLS1tb2JpbGUge1xuICBtYXJnaW46IDAgMjBweCA1MHB4O1xuICBmbGV4OiAxIDAgYXV0bztcbn1cbi50ZWFzZXItLW1vYmlsZTpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC50ZWFzZXItLW1vYmlsZSB7XG4gICAgbWFyZ2luOiAwIDMwcHggMCAwO1xuICAgIGZsZXg6IDEgMCBjYWxjKDMzLjMzMyUgLSAzMHB4KTtcbiAgfVxuICAudGVhc2VyLS1tb2JpbGU6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICB9XG59XG4udGVhc2VyX19jYW52YXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRDhEMUM5O1xuICBtYXJnaW46IDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbn1cbi5pZSAudGVhc2VyX19jYW52YXMge1xuICBkaXNwbGF5OiBub25lO1xufVxuLnRlYXNlcl9faGVhZGxpbmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDBBRUVGO1xuICBjb2xvcjogI2ZmZjtcbiAgbWFyZ2luOiAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmb250LXNpemU6IDE4cHg7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIHBhZGRpbmc6IDEycHggMjBweDtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuNnB4O1xuICBoZWlnaHQ6IDg5cHg7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLnRlYXNlcl9faGVhZGxpbmUge1xuICAgIGhlaWdodDogMTEwcHg7XG4gICAgcGFkZGluZzogNXB4IDQwcHg7XG4gICAgZm9udC1zaXplOiAyMXB4O1xuICB9XG59XG4udGVhc2VyX19oZWFkbGluZS10ZXh0IHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIC13ZWJraXQtbGluZS1jbGFtcDogMztcbiAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG59XG4udGVhc2VyX19maWd1cmUge1xuICBtYXJnaW46IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4udGVhc2VyX19maWd1cmUtLWdyYWRpZW50OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIHotaW5kZXg6IDE7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgcmdiYSgwLCAwLCAwLCAwKSAyMCUsICMyNjUzQjkgMTAwJSk7XG59XG4udGVhc2VyX19maWd1cmUgZmlndXJlIHtcbiAgbWFyZ2luOiAwO1xufVxuLnRlYXNlcl9fY29udGVudCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDIwcHg7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuICB6LWluZGV4OiAyO1xuICBjb2xvcjogI2ZmZjtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBib3R0b206IDgwcHg7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnRlYXNlcl9fY29udGVudCB7XG4gICAgZm9udC1zaXplOiAyNXB4O1xuICAgIGJvdHRvbTogMTAwcHg7XG4gIH1cbn1cbi50ZWFzZXJfX2J1dHRvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDIwcHg7XG4gIGJvdHRvbTogMjBweDtcbiAgei1pbmRleDogMjtcbiAgYm9yZGVyOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRjAwICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjMjAxZDFkICFpbXBvcnRhbnQ7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgcGFkZGluZzogMjBweCAyNnB4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC50ZWFzZXJfX2J1dHRvbiB7XG4gICAgZm9udC1zaXplOiAxOXB4O1xuICAgIHBhZGRpbmc6IDMwcHggMzZweDtcbiAgfVxufVxuLnRlYXNlcl9fYnV0dG9uLS15ZWxsb3cge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjljNDEyICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjMjAxZDFkICFpbXBvcnRhbnQ7XG4gIGJvdHRvbTogMjhweDtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBwYWRkaW5nOiAyMHB4IDI2cHg7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnRlYXNlcl9fYnV0dG9uLS15ZWxsb3cge1xuICAgIGZvbnQtc2l6ZTogMTlweDtcbiAgICBwYWRkaW5nOiAyNHB4IDI0cHg7XG4gIH1cbn1cbi50ZWFzZXJfX2ltZyB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG5jYW52YXMgKyBwaWN0dXJlIC50ZWFzZXJfX2ltZyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xufVxuLnRlYXNlcl9fb3Zlcmxpbmsge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgLS1tZGMtcmlwcGxlLWZnLXNpemU6IDA7XG4gIC0tbWRjLXJpcHBsZS1sZWZ0OiAwO1xuICAtLW1kYy1yaXBwbGUtdG9wOiAwO1xuICAtLW1kYy1yaXBwbGUtZmctc2NhbGU6IDE7XG4gIC0tbWRjLXJpcHBsZS1mZy10cmFuc2xhdGUtZW5kOiAwO1xuICAtLW1kYy1yaXBwbGUtZmctdHJhbnNsYXRlLXN0YXJ0OiAwO1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycztcbn1cbi50ZWFzZXJfX292ZXJsaW5rOjpiZWZvcmUsIC50ZWFzZXJfX292ZXJsaW5rOjphZnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBvcGFjaXR5OiAwO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgY29udGVudDogXCJcIjtcbn1cbi50ZWFzZXJfX292ZXJsaW5rOjpiZWZvcmUge1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDE1bXMgbGluZWFyLCBiYWNrZ3JvdW5kLWNvbG9yIDE1bXMgbGluZWFyO1xuICB6LWluZGV4OiAxO1xufVxuLnRlYXNlcl9fb3ZlcmxpbmsubWRjLXJpcHBsZS11cGdyYWRlZDo6YmVmb3JlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSh2YXIoLS1tZGMtcmlwcGxlLWZnLXNjYWxlLCAxKSk7XG59XG4udGVhc2VyX19vdmVybGluay5tZGMtcmlwcGxlLXVwZ3JhZGVkOjphZnRlciB7XG4gIHRvcDogMDtcbiAgLyogQG5vZmxpcCAqL1xuICBsZWZ0OiAwO1xuICB0cmFuc2Zvcm06IHNjYWxlKDApO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyO1xufVxuLnRlYXNlcl9fb3ZlcmxpbmsubWRjLXJpcHBsZS11cGdyYWRlZC0tdW5ib3VuZGVkOjphZnRlciB7XG4gIHRvcDogdmFyKC0tbWRjLXJpcHBsZS10b3AsIDApO1xuICAvKiBAbm9mbGlwICovXG4gIGxlZnQ6IHZhcigtLW1kYy1yaXBwbGUtbGVmdCwgMCk7XG59XG4udGVhc2VyX19vdmVybGluay5tZGMtcmlwcGxlLXVwZ3JhZGVkLS1mb3JlZ3JvdW5kLWFjdGl2YXRpb246OmFmdGVyIHtcbiAgYW5pbWF0aW9uOiBtZGMtcmlwcGxlLWZnLXJhZGl1cy1pbiAyMjVtcyBmb3J3YXJkcywgbWRjLXJpcHBsZS1mZy1vcGFjaXR5LWluIDc1bXMgZm9yd2FyZHM7XG59XG4udGVhc2VyX19vdmVybGluay5tZGMtcmlwcGxlLXVwZ3JhZGVkLS1mb3JlZ3JvdW5kLWRlYWN0aXZhdGlvbjo6YWZ0ZXIge1xuICBhbmltYXRpb246IG1kYy1yaXBwbGUtZmctb3BhY2l0eS1vdXQgMTUwbXM7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKHZhcigtLW1kYy1yaXBwbGUtZmctdHJhbnNsYXRlLWVuZCwgMCkpIHNjYWxlKHZhcigtLW1kYy1yaXBwbGUtZmctc2NhbGUsIDEpKTtcbn1cbi50ZWFzZXJfX292ZXJsaW5rOjpiZWZvcmUsIC50ZWFzZXJfX292ZXJsaW5rOjphZnRlciB7XG4gIHRvcDogY2FsYyg1MCUgLSAxMDAlKTtcbiAgLyogQG5vZmxpcCAqL1xuICBsZWZ0OiBjYWxjKDUwJSAtIDEwMCUpO1xuICB3aWR0aDogMjAwJTtcbiAgaGVpZ2h0OiAyMDAlO1xufVxuLnRlYXNlcl9fb3ZlcmxpbmsubWRjLXJpcHBsZS11cGdyYWRlZDo6YWZ0ZXIge1xuICB3aWR0aDogdmFyKC0tbWRjLXJpcHBsZS1mZy1zaXplLCAxMDAlKTtcbiAgaGVpZ2h0OiB2YXIoLS1tZGMtcmlwcGxlLWZnLXNpemUsIDEwMCUpO1xufVxuLnRlYXNlcl9fb3Zlcmxpbms6OmJlZm9yZSwgLnRlYXNlcl9fb3Zlcmxpbms6OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbn1cbi50ZWFzZXJfX292ZXJsaW5rOmhvdmVyOjpiZWZvcmUge1xuICBvcGFjaXR5OiAwO1xufVxuLnRlYXNlcl9fb3ZlcmxpbmsubWRjLXJpcHBsZS11cGdyYWRlZC0tYmFja2dyb3VuZC1mb2N1c2VkOjpiZWZvcmUsIC50ZWFzZXJfX292ZXJsaW5rOm5vdCgubWRjLXJpcHBsZS11cGdyYWRlZCk6Zm9jdXM6OmJlZm9yZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDc1bXM7XG4gIG9wYWNpdHk6IDA7XG59XG4udGVhc2VyX19vdmVybGluazpub3QoLm1kYy1yaXBwbGUtdXBncmFkZWQpOjphZnRlciB7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMTUwbXMgbGluZWFyO1xufVxuLnRlYXNlcl9fb3Zlcmxpbms6bm90KC5tZGMtcmlwcGxlLXVwZ3JhZGVkKTphY3RpdmU6OmFmdGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNzVtcztcbiAgb3BhY2l0eTogMC4xNTtcbn1cbi50ZWFzZXJfX292ZXJsaW5rLm1kYy1yaXBwbGUtdXBncmFkZWQge1xuICAtLW1kYy1yaXBwbGUtZmctb3BhY2l0eTogMC4xNTtcbn1cbi50YWItbmF2aWdhdGlvbiAudGVhc2VyX19vdmVybGluazpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG59XG4udGFiLW5hdmlnYXRpb24gLnRlYXNlcl9fb3Zlcmxpbms6Zm9jdXMubWRjLXJpcHBsZS11cGdyYWRlZC0tYmFja2dyb3VuZC1mb2N1c2VkOjpiZWZvcmUsIC50YWItbmF2aWdhdGlvbiAudGVhc2VyX19vdmVybGluazpmb2N1czpub3QoLm1kYy1yaXBwbGUtdXBncmFkZWQpOmZvY3VzOjpiZWZvcmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA3NW1zO1xuICBvcGFjaXR5OiAwLjI7XG59XG4udGVhc2VyX19vdmVybGluazpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wOCk7XG59XG5cbi5kZWNvLTM2NSB7XG4gIHdpZHRoOiAxMDBweDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIGhlaWdodDogYXV0bztcbiAgcGFkZGluZzogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyUyMHhtbG5zJTNEJTIyaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmclMjIlMjAgICB4bWxuczp4bGluayUzRCUyMmh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmslMjIlMjBmaWxsJTNEJTIyJTIzZmZmJTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMjMxJTIwMjQ4JTIyJTNFJTNDZGVmcyUzRSUzQ2xpbmVhckdyYWRpZW50JTIwaWQlM0QlMjJlNjJhYzdkNC0xYWZkLTQ2NmUtYmUwNC1jZWY4OTAyMWFmOWElMjIlMjB4MSUzRCUyMjExNS41JTIyJTIweTElM0QlMjIxJTIyJTIweDIlM0QlMjIxMTUuNSUyMiUyMHkyJTNEJTIyMjQ3JTIyJTIwZ3JhZGllbnRVbml0cyUzRCUyMnVzZXJTcGFjZU9uVXNlJTIyJTNFJTNDc3RvcCUyMG9mZnNldCUzRCUyMjAlMjIlMjBzdG9wLWNvbG9yJTNEJTIyJTIzMDA5ZmUzJTIyLyUzRSUzQ3N0b3AlMjBvZmZzZXQlM0QlMjIwLjQ1JTIyJTIwc3RvcC1jb2xvciUzRCUyMiUyMzAwOGRjYSUyMi8lM0UlM0NzdG9wJTIwb2Zmc2V0JTNEJTIyMC42NCUyMiUyMHN0b3AtY29sb3IlM0QlMjIlMjMwMDlmZTMlMjIvJTNFJTNDc3RvcCUyMG9mZnNldCUzRCUyMjElMjIlMjBzdG9wLWNvbG9yJTNEJTIyJTIzMDA4ZWNhJTIyLyUzRSUzQy9saW5lYXJHcmFkaWVudCUzRSUzQ2xpbmVhckdyYWRpZW50JTIwaWQlM0QlMjJhZjMzZmI4Ny00NzFlLTQxZGEtYTZiNy1lZDNiYmRkZGIyMTQlMjIlMjB4MSUzRCUyMjExNS41JTIyJTIweTElM0QlMjI5MSUyMiUyMHgyJTNEJTIyMTE1LjUlMjIlMjB5MiUzRCUyMjE0MyUyMiUyMGdyYWRpZW50VW5pdHMlM0QlMjJ1c2VyU3BhY2VPblVzZSUyMiUzRSUzQ3N0b3AlMjBvZmZzZXQlM0QlMjIwLjIzJTIyJTIwc3RvcC1jb2xvciUzRCUyMiUyM2ZmZiUyMi8lM0UlM0NzdG9wJTIwb2Zmc2V0JTNEJTIyMC43OSUyMiUyMHN0b3AtY29sb3IlM0QlMjIlMjNjY2NiY2IlMjIvJTNFJTNDL2xpbmVhckdyYWRpZW50JTNFJTNDbGluZWFyR3JhZGllbnQlMjBpZCUzRCUyMmVhMjc3MmM1LTVmODAtNGNiOS05MTk2LWVmN2IxZjA0OTg3NiUyMiUyMHgxJTNEJTIyMTE1LjUlMjIlMjB5MSUzRCUyMjE0NSUyMiUyMHgyJTNEJTIyMTE1LjUlMjIlMjB5MiUzRCUyMjE5NyUyMiUyMHhsaW5rOmhyZWYlM0QlMjIlMjNhZjMzZmI4Ny00NzFlLTQxZGEtYTZiNy1lZDNiYmRkZGIyMTQlMjIvJTNFJTNDbGluZWFyR3JhZGllbnQlMjBpZCUzRCUyMmI4MDRkZTEwLTA0YTctNDlkNi04MjkzLWI2MWEzMTYyYWU3YiUyMiUyMHgxJTNEJTIyMTE0Ljk5JTIyJTIweTElM0QlMjIxMDEuOTQlMjIlMjB4MiUzRCUyMjExNC45OSUyMiUyMHkyJTNEJTIyMTQzJTIyJTIwZ3JhZGllbnRVbml0cyUzRCUyMnVzZXJTcGFjZU9uVXNlJTIyJTNFJTNDc3RvcCUyMG9mZnNldCUzRCUyMjAuMjMlMjIlMjBzdG9wLWNvbG9yJTNEJTIyJTIzMThhOGUxJTIyLyUzRSUzQ3N0b3AlMjBvZmZzZXQlM0QlMjIwLjc5JTIyJTIwc3RvcC1jb2xvciUzRCUyMiUyMzAwOGRjYSUyMi8lM0UlM0MvbGluZWFyR3JhZGllbnQlM0UlM0NsaW5lYXJHcmFkaWVudCUyMGlkJTNEJTIyZmI0NmJjMWEtYzZkMi00YmFkLTk4MDAtNzM3ZjRkZTU1ZDI2JTIyJTIweDElM0QlMjIxMTUuNzQlMjIlMjB5MSUzRCUyMjE0NSUyMiUyMHgyJTNEJTIyMTE1Ljc0JTIyJTIweTIlM0QlMjIxODYuNjYlMjIlMjBncmFkaWVudFVuaXRzJTNEJTIydXNlclNwYWNlT25Vc2UlMjIlM0UlM0NzdG9wJTIwb2Zmc2V0JTNEJTIyMC4yMyUyMiUyMHN0b3AtY29sb3IlM0QlMjIlMjMxYTlkZDklMjIvJTNFJTNDc3RvcCUyMG9mZnNldCUzRCUyMjAuNzklMjIlMjBzdG9wLWNvbG9yJTNEJTIyJTIzMDA4ZmNjJTIyLyUzRSUzQy9saW5lYXJHcmFkaWVudCUzRSUzQy9kZWZzJTNFJTNDcGF0aCUyMGlkJTNEJTIyZmNkNTE3ZjktYzUyYi00NGMyLTk3MGMtMDViMjNkYmNkNWMxJTIyJTIwZGF0YS1uYW1lJTNEJTIyMzY1Ym9keSUyMiUyMGQlM0QlMjJNMjAxLDI0N0gzMEEyOSwyOSwwLDAsMSwxLDIxOFYzMEEyOSwyOSwwLDAsMSwzMCwxSDIwMWEyOSwyOSwwLDAsMSwyOSwyOVYyMThBMjksMjksMCwwLDEsMjAxLDI0N1olMjIlMjBmaWxsJTNEJTIydXJsKCUyM2U2MmFjN2Q0LTFhZmQtNDY2ZS1iZTA0LWNlZjg5MDIxYWY5YSklMjIvJTNFJTNDcGF0aCUyMGlkJTNEJTIyYWYyN2E3ZmQtMzk2MS00OGVmLTkxMjgtOWQ4YTYzNWVlOTcwJTIyJTIwZGF0YS1uYW1lJTNEJTIyMzY1Y3QlMjIlMjBkJTNEJTIyTTE0LDE0M1Y5Ni41MUE1LjUxLDUuNTEsMCwwLDEsMTkuNTEsOTFoNTRBNS41MSw1LjUxLDAsMCwxLDc5LDk2LjUxVjE0M1ptMTM0LDBWOTYuNTFBNS41MSw1LjUxLDAsMCwwLDE0Mi40OSw5MWgtNTRBNS41MSw1LjUxLDAsMCwwLDgzLDk2LjUxVjE0M1ptNjksMFY5Ni41MUE1LjUxLDUuNTEsMCwwLDAsMjExLjQ5LDkxaC01NEE1LjUxLDUuNTEsMCwwLDAsMTUyLDk2LjUxVjE0M1olMjIlMjBmaWxsJTNEJTIydXJsKCUyM2FmMzNmYjg3LTQ3MWUtNDFkYS1hNmI3LWVkM2JiZGRkYjIxNCklMjIvJTNFJTNDcGF0aCUyMGlkJTNEJTIyYWRlZjE2YmYtMjJjZS00MzNiLTljYzctNjE1MzI3MDUwOTBiJTIyJTIwZGF0YS1uYW1lJTNEJTIyMzY1Y2IlMjIlMjBkJTNEJTIyTTc5LDE0NXY0Ni40OUE1LjUxLDUuNTEsMCwwLDEsNzMuNDksMTk3aC01NEE1LjUxLDUuNTEsMCwwLDEsMTQsMTkxLjQ5VjE0NVptNCwwdjQ2LjQ5QTUuNTEsNS41MSwwLDAsMCw4OC41MSwxOTdoNTRhNS41MSw1LjUxLDAsMCwwLDUuNTEtNS41MVYxNDVabTY5LDB2NDYuNDlhNS41MSw1LjUxLDAsMCwwLDUuNTEsNS41MWg1NGE1LjUxLDUuNTEsMCwwLDAsNS41MS01LjUxVjE0NVolMjIlMjBmaWxsJTNEJTIydXJsKCUyM2VhMjc3MmM1LTVmODAtNGNiOS05MTk2LWVmN2IxZjA0OTg3NiklMjIvJTNFJTNDcGF0aCUyMGlkJTNEJTIyYWU2MGExMTEtOTgwMS00NzczLWJhY2ItMTMzNWU2MGNjN2RjJTIyJTIwZGF0YS1uYW1lJTNEJTIyMzY1dGV4dHMlMjIlMjBkJTNEJTIyTTIxNy41LDg5SDE0Vjg3SDIxNy41Wm0wLDExMEgxNHYySDIxNy41Wk00MSw4MlY3NmgtLjE2YTE3LjEsMTcuMSwwLDAsMS01LjE1LDUuNDEsMTMuNCwxMy40LDAsMCwxLTcuMzQsMS44NnEtNi44MywwLTEwLjU5LTQuMDhUMTQsNjguMDhWMzhIMjRWNjZhOC4zOCw4LjM4LDAsMCwwLDIsNiw3LjU4LDcuNTgsMCwwLDAsNS43NywyLjEzLDguMjcsOC4yNywwLDAsMCw2LjctM0ExMS4zNiwxMS4zNiwwLDAsMCw0MSw2My41OFYzOEg1MVY4MlpNNjYsNDVoLjI0YTE0LjQ4LDE0LjQ4LDAsMCwxLDUuMzUtNS41NiwxNS4zNCwxNS4zNCwwLDAsMSw3LjgxLTEuOXE2LjkxLDAsMTAuNzUsNFQ5NCw1Mi42M1Y4Mkg4M1Y1NC4xM0E4LjcyLDguNzIsMCwwLDAsODEsNDhhNy40Myw3LjQzLDAsMCwwLTUuNzYtMi4yMSw4Ljc0LDguNzQsMCwwLDAtMy43My43OCw4LjM0LDguMzQsMCwwLDAtMi45LDIuMjEsMTAuMzYsMTAuMzYsMCwwLDAtMS45LDMuMzlBMTIuNzEsMTIuNzEsMCwwLDAsNjYsNTYuNDJWODJINTZWMzhINjZaTTk5LDIxaDEwVjMxSDk5Wm0wLDE3aDEwVjgySDk5Wm0zMy44Niw0NC44NWExOC40NiwxOC40NiwwLDAsMS0xNC40Ny02LjU4LDIxLjM3LDIxLjM3LDAsMCwxLTQtNy4xOCwyOS4yNSwyOS4yNSwwLDAsMSwwLTE3LjgyLDIyLDIyLDAsMCwxLDQtNy4xOCwxOC4zMiwxOC4zMiwwLDAsMSw2LjE5LTQuNzcsMTguODQsMTguODQsMCwwLDEsOC4xOC0xLjczLDE5LjQ0LDE5LjQ0LDAsMCwxLDYuNzgsMS4xMywxNi4yNCwxNi4yNCwwLDAsMSw1LjI3LDMuMTMsMTYuMDYsMTYuMDYsMCwwLDEsMy42Nyw0Ljg1LDIwLjc5LDIwLjc5LDAsMCwxLDEuOTQsNi4zaC05LjA5YTEwLDEwLDAsMCwwLTIuODItNS41OCw3LjkzLDcuOTMsMCwwLDAtNS42OC0yLDkuMTUsOS4xNSwwLDAsMC00LjUxLDEuMDgsOSw5LDAsMCwwLTMuMjIsMy4wOSwxNS4yLDE1LjIsMCwwLDAtMS45NCw0LjczLDI1LjI1LDI1LjI1LDAsMCwwLS42Niw1Ljk0LDI0LjM0LDI0LjM0LDAsMCwwLC42Niw1LjgyLDE0LjYzLDE0LjYzLDAsMCwwLDEuOTQsNC42NSw5LjMxLDkuMzEsMCwwLDAsMy4yMiwzLjA5LDguODYsOC44NiwwLDAsMCw0LjUxLDEuMTMsOC4wOSw4LjA5LDAsMCwwLDYuMTItMi4zMywxMC40NCwxMC40NCwwLDAsMCwyLjYtNi41OGg5LjA5YTIwLjQ2LDIwLjQ2LDAsMCwxLTEuNTQsNi44NiwxNS44MywxNS44MywwLDAsMS0zLjYzLDUuM0ExNi43LDE2LjcsMCwwLDEsMTQwLDgxLjYxLDE5LjIxLDE5LjIxLDAsMCwxLDEzMi44Niw4Mi44NVptNDAuMjYsMS4wN2EyMC43OCwyMC43OCwwLDAsMS04Ljg5LTEuODQsMTkuNDQsMTkuNDQsMCwwLDEtNi42NC01LDIxLjg3LDIxLjg3LDAsMCwxLTQuMTUtNy40NiwyOC43LDI4LjcsMCwwLDEtMS40NC05LjIsMjguMTksMjguMTksMCwwLDEsMS40OC05LjI5LDIyLjQ2LDIyLjQ2LDAsMCwxLDQuMTktNy40NiwxOS4yNywxOS4yNywwLDAsMSw2LjUyLTUsMTkuNTEsMTkuNTEsMCwwLDEsOC4zOS0xLjc5LDE5LjI4LDE5LjI4LDAsMCwxLDguMTEsMS42MiwxOC40MywxOC40MywwLDAsMSw2LjE3LDQuNjMsMjIuNTgsMjIuNTgsMCwwLDEsNC41MSw4LjU0QTM4LjU5LDM4LjU5LDAsMCwxLDE5Mi43Nyw2M2gtMzFhMTcuMTYsMTcuMTYsMCwwLDAsMy4zOCw5LjI5LDkuNzEsOS43MSwwLDAsMCw4LDMuNTQsMTAuMjgsMTAuMjgsMCwwLDAsNS44Ni0xLjU0LDguNTcsOC41NywwLDAsMCwzLjMtNC4yOUgxOTJhMTkuNjksMTkuNjksMCwwLDEtMi4zNyw1LjU0LDE2LjgyLDE2LjgyLDAsMCwxLTQsNC40MiwxOC4xMSwxOC4xMSwwLDAsMS01LjU1LDIuOTFBMjEuODUsMjEuODUsMCwwLDEsMTczLjEyLDgzLjkyWm0tLjU1LTM4LjQ0YTguNzYsOC43NiwwLDAsMC03LjMxLDMuMThBMTYuNCwxNi40LDAsMCwwLDE2Mi4xNCw1N0gxODIuNHEtLjMyLTUuNC0yLjg2LTguNDZBOC41OSw4LjU5LDAsMCwwLDE3Mi41Nyw0NS40OFpNMTkyLDM4aDZWMzNxMC02LjYzLDMuMjctOS43NGExMSwxMSwwLDAsMSw0LjY3LTIuNDMsMjMuMjYsMjMuMjYsMCwwLDEsNi41MS0uNjgsNDMuMTEsNDMuMTEsMCwwLDEsNC41NS4yNnY3Ljc2YTM5LjI2LDM5LjI2LDAsMCwwLTQuMywwLDcsNywwLDAsMC0yLjc1LjY4LDMuMDksMy4wOSwwLDAsMC0xLjUsMS42Niw4LDgsMCwwLDAtLjQ1LDNWMzhoOXY3aC05VjgySDE5OFY0NWgtNlpNMTQuMTMsMjA1LjMzaDcuMDhhNi43Myw2LjczLDAsMCwxLDIuNDMuNCw0LjM2LDQuMzYsMCwwLDEsMS43MywxLjE0LDUuMTUsNS4xNSwwLDAsMSwxLDEuNTksNS4zMiw1LjMyLDAsMCwxLC4zNiwyLDUuODYsNS44NiwwLDAsMS0uMzYsMi4xLDQuMzMsNC4zMywwLDAsMS0xLjA1LDEuNTksNC44Miw0LjgyLDAsMCwxLTEuNywxLDYuNTMsNi41MywwLDAsMS0yLjMuMzdIMTcuMjF2Ni4xNkgxNC4xM1ptMy4wOCw3Ljc3aDMuNjVhMi45LDIuOSwwLDAsMCwyLjEyLS43MSwyLjUyLDIuNTIsMCwwLDAsLjcyLTEuODksMi40MiwyLjQyLDAsMCwwLS43My0xLjlBMywzLDAsMCwwLDIwLjksMjA4SDE3LjIxWm0xNi4yMSw5YTYuMTUsNi4xNSwwLDAsMS0yLjQ3LS40OCw1Ljc4LDUuNzgsMCwwLDEtMS45LTEuMzIsNi4wOSw2LjA5LDAsMCwxLTEuMjEtMiw3LDcsMCwwLDEtLjQzLTIuNDMsNy4wNiw3LjA2LDAsMCwxLC40My0yLjQ2LDYuMDksNi4wOSwwLDAsMSwxLjIxLTIsNS40NSw1LjQ1LDAsMCwxLDEuOS0xLjMsNi4xNSw2LjE1LDAsMCwxLDIuNDctLjQ4LDYuMDcsNi4wNywwLDAsMSwyLjQ2LjQ4LDUuNiw1LjYsMCwwLDEsMS44OSwxLjMsNS43MSw1LjcxLDAsMCwxLDEuMTksMiw3LjA2LDcuMDYsMCwwLDEsLjQyLDIuNDYsNyw3LDAsMCwxLS40MiwyLjQzLDUuNzEsNS43MSwwLDAsMS0xLjE5LDIsNiw2LDAsMCwxLTEuODksMS4zMkE2LjA3LDYuMDcsMCwwLDEsMzMuNDIsMjIyLjA1Wm0wLTIuMTFhMi43NSwyLjc1LDAsMCwwLDIuMzMtMS4xNyw0LjExLDQuMTEsMCwwLDAsLjYxLTEuMyw2LjM2LDYuMzYsMCwwLDAsLjItMS42Miw2LjUyLDYuNTIsMCwwLDAtLjItMS42NCw0LjIzLDQuMjMsMCwwLDAtLjYxLTEuMzIsMi42MywyLjYzLDAsMCwwLTEtLjg3LDIuOCwyLjgsMCwwLDAtMS4zNS0uMzFBMi44OCwyLjg4LDAsMCwwLDMyLDIxMmEyLjc0LDIuNzQsMCwwLDAtMSwuODcsNCw0LDAsMCwwLS41OSwxLjMyLDYuNTIsNi41MiwwLDAsMC0uMiwxLjY0LDYuMzYsNi4zNiwwLDAsMCwuMiwxLjYyLDMuODgsMy44OCwwLDAsMCwuNTksMS4zLDIuNzgsMi43OCwwLDAsMCwyLjM2LDEuMTdabTcuODMtMTBoMi43MXYxLjc4SDQ0YTQuMzcsNC4zNywwLDAsMSwxLjQ0LTEuNTQsMy44OSwzLjg5LDAsMCwxLDIuMDgtLjU1LDMuNCwzLjQsMCwwLDEsMS45My41NSwzLjM2LDMuMzYsMCwwLDEsMS4yLDEuNjVoMGE0LjYzLDQuNjMsMCwwLDEsMS42NS0xLjY3LDQuMTUsNC4xNSwwLDAsMSwyLS41MywzLjYsMy42LDAsMCwxLDIuOCwxLjA5LDQuMjcsNC4yNywwLDAsMSwxLDN2OEg1NS40di03LjU5YTIuMjgsMi4yOCwwLDAsMC0uNTMtMS41OSwxLjc5LDEuNzksMCwwLDAtMS4zOS0uNTcsMi4xNywyLjE3LDAsMCwwLTEuNy43NywzLDMsMCwwLDAtLjY3LDJ2Ni45NWgtMi44di03LjU5YTIuNDEsMi40MSwwLDAsMC0uNDgtMS41OSwxLjY5LDEuNjksMCwwLDAtMS4zNi0uNTcsMi4xNCwyLjE0LDAsMCwwLS45My4yMSwyLjU4LDIuNTgsMCwwLDAtMS4zMiwxLjQ1LDMuMjUsMy4yNSwwLDAsMC0uMiwxLjE0djYuOTVINDEuMjNaTTY4LjE2LDIyMS43YTEuNTQsMS41NCwwLDAsMS0uMjUtLjU2LDQuODUsNC44NSwwLDAsMS0uMTUtMWgwYTUuMDcsNS4wNywwLDAsMS0xLjQzLDEuMjlBNC40MSw0LjQxLDAsMCwxLDY0LDIyMmE1LjQxLDUuNDEsMCwwLDEtMS41OS0uMjIsMy4zNCwzLjM0LDAsMCwxLTEuMjctLjY2LDMuMDcsMy4wNywwLDAsMS0uODMtMS4wOCwzLjQ1LDMuNDUsMCwwLDEtLjMxLTEuNTEsMy4zNSwzLjM1LDAsMCwxLC4zNi0xLjY0LDMsMywwLDAsMSwxLTEuMDUsNS4yNCw1LjI0LDAsMCwxLDEuNTItLjYsMTguNDYsMTguNDYsMCwwLDEsMS45NC0uMzQsNy45MSw3LjkxLDAsMCwwLDIuMTctLjUsMS4xMiwxLjEyLDAsMCwwLC43My0xLjExLDEuNTcsMS41NywwLDAsMC0uNTMtMS4yMywyLjMzLDIuMzMsMCwwLDAtMS41OC0uNDYsMi42OSwyLjY5LDAsMCwwLTEuNzcuNSwxLjg4LDEuODgsMCwwLDAtLjYzLDEuMzlINjAuNTlhMy42MiwzLjYyLDAsMCwxLC4zNC0xLjQ0LDMuNDYsMy40NiwwLDAsMSwxLTEuMjIsNC43OSw0Ljc5LDAsMCwxLDEuNTUtLjg1LDYuNzMsNi43MywwLDAsMSwyLjE4LS4zMiw4Ljc1LDguNzUsMCwwLDEsMS43OS4xNiwzLjg4LDMuODgsMCwwLDEsMS4zNS41MiwzLjYsMy42LDAsMCwxLDEuNjcsMy4zNXY2LjE4YTMuNjQsMy42NCwwLDAsMCwuMTMsMS4xMi45NC45NCwwLDAsMCwuMzEuNTN2LjJabS0zLjMyLTEuNjNhMy4zMSwzLjMxLDAsMCwwLDEuMjctLjIzLDIuOSwyLjksMCwwLDAsLjkzLS41OSwyLjYxLDIuNjEsMCwwLDAsLjU3LS44NCwyLjU2LDIuNTYsMCwwLDAsLjItMXYtMS43NGE0LDQsMCwwLDEtMSwuNDVjLS40MS4xMy0uODMuMjMtMS4yNS4zMmE2LjczLDYuNzMsMCwwLDAtMiwuNjMsMS40MiwxLjQyLDAsMCwwLS43MSwxLjM1LDEuNjcsMS42NywwLDAsMCwuMTcuNzgsMS4yOSwxLjI5LDAsMCwwLC40NC41MSwxLjgxLDEuODEsMCwwLDAsLjY1LjI2QTMuODcsMy44NywwLDAsMCw2NC44NCwyMjAuMDdabTEzLjI2LDUuNzJhNi43NSw2Ljc1LDAsMCwxLTMuNzYtLjkxLDMuNTMsMy41MywwLDAsMS0xLjYxLTIuNTloMi42OWMuMTksMSwxLjA3LDEuNDUsMi42NCwxLjQ1LDEuODksMCwyLjg0LS44NSwyLjg0LTIuNTd2LS4yOWMwLS4zMiwwLS42MiwwLS45czAtLjUyLDAtLjcyaC0uMDdhMy41NywzLjU3LDAsMCwxLTMuMzIsMS44LDUsNSwwLDAsMS0yLS40LDQuNzEsNC43MSwwLDAsMS0xLjYzLTEuMTIsNS4yNCw1LjI0LDAsMCwxLTEuMDktMS43Nyw2LjY3LDYuNjcsMCwwLDEtLjM5LTIuMzYsNi45Myw2LjkzLDAsMCwxLC4zOC0yLjM5LDUuNjgsNS42OCwwLDAsMSwxLTEuODIsNC41OSw0LjU5LDAsMCwxLDEuNTctMS4xNSw0Ljc5LDQuNzksMCwwLDEsMi0uNDEsMy42NiwzLjY2LDAsMCwxLDMuNDcsMS44M2gwVjIxMGgyLjd2MTFhNS40LDUuNCwwLDAsMS0uMzgsMi4xNSw0LjExLDQuMTEsMCwwLDEtMS4wOSwxLjUyLDQuNTIsNC41MiwwLDAsMS0xLjc2LjlBOC41OSw4LjU5LDAsMCwxLDc4LjEsMjI1Ljc5Wm0wLTYuODlhMy4wNywzLjA3LDAsMCwwLDEuMzUtLjI3LDIuMzIsMi4zMiwwLDAsMCwuOTEtLjc1LDMsMywwLDAsMCwuNTItMS4xMyw1LjksNS45LDAsMCwwLC4xNy0xLjQzLDQuMTIsNC4xMiwwLDAsMC0uNzMtMi41NCwyLjYyLDIuNjIsMCwwLDAtMi4yNC0xLDIuNSwyLjUsMCwwLDAtMi4xMiwxLDQuMiw0LjIsMCwwLDAtLjcyLDIuNTgsNC4wOSw0LjA5LDAsMCwwLC43NCwyLjU5QTIuNTIsMi41MiwwLDAsMCw3OC4wNiwyMTguOVptMTUuNjQsMi44YTEuNTQsMS41NCwwLDAsMS0uMjUtLjU2LDQuODUsNC44NSwwLDAsMS0uMTUtMWgwYTUuMDcsNS4wNywwLDAsMS0xLjQzLDEuMjksNC40MSw0LjQxLDAsMCwxLTIuMjcuNTEsNS40MSw1LjQxLDAsMCwxLTEuNTktLjIyLDMuNDIsMy40MiwwLDAsMS0xLjI3LS42NiwzLjA3LDMuMDcsMCwwLDEtLjgzLTEuMDgsMy40NSwzLjQ1LDAsMCwxLS4zMS0xLjUxLDMuMzUsMy4zNSwwLDAsMSwuMzYtMS42NCwzLDMsMCwwLDEsMS0xLjA1LDUuMzYsNS4zNiwwLDAsMSwxLjUyLS42LDE4LjQ2LDE4LjQ2LDAsMCwxLDEuOTQtLjM0LDgsOCwwLDAsMCwyLjE4LS41LDEuMTIsMS4xMiwwLDAsMCwuNzItMS4xMSwxLjU0LDEuNTQsMCwwLDAtLjUzLTEuMjMsMi4zMywyLjMzLDAsMCwwLTEuNTgtLjQ2LDIuNjksMi42OSwwLDAsMC0xLjc3LjUsMS44OCwxLjg4LDAsMCwwLS42MywxLjM5SDg2LjEzYTMuOCwzLjgsMCwwLDEsLjM0LTEuNDQsMy41OCwzLjU4LDAsMCwxLDEtMS4yMkE0Ljc5LDQuNzksMCwwLDEsODksMjEwYTYuNzcsNi43NywwLDAsMSwyLjE4LS4zMiw4Ljc1LDguNzUsMCwwLDEsMS43OS4xNiwzLjg4LDMuODgsMCwwLDEsMS4zNS41MkEzLjYxLDMuNjEsMCwwLDEsOTYsMjEzLjY3djYuMThhNCw0LDAsMCwwLC4xMiwxLjEyLjg5Ljg5LDAsMCwwLC4zMi41M3YuMlptLTMuMzItMS42M2EzLjMxLDMuMzEsMCwwLDAsMS4yNy0uMjMsMi45LDIuOSwwLDAsMCwuOTMtLjU5LDIuNjEsMi42MSwwLDAsMCwuNTctLjg0LDIuNTYsMi41NiwwLDAsMCwuMi0xdi0xLjc0YTQsNCwwLDAsMS0xLC40NSwxMi43LDEyLjcsMCwwLDEtMS4yNS4zMiw2LjczLDYuNzMsMCwwLDAtMiwuNjMsMS40MiwxLjQyLDAsMCwwLS43MSwxLjM1LDEuNjcsMS42NywwLDAsMCwuMTcuNzgsMS4zNywxLjM3LDAsMCwwLC40NC41MSwxLjgxLDEuODEsMCwwLDAsLjY1LjI2QTMuODcsMy44NywwLDAsMCw5MC4zOCwyMjAuMDdaTTk4LjQzLDIxMGgyLjcxdjEuNzhoLjA2YTQuMzcsNC4zNywwLDAsMSwxLjQ0LTEuNTQsMy44OSwzLjg5LDAsMCwxLDIuMDgtLjU1LDMuNCwzLjQsMCwwLDEsMS45My41NSwzLjM2LDMuMzYsMCwwLDEsMS4yLDEuNjVoMGE0LjYzLDQuNjMsMCwwLDEsMS42NS0xLjY3LDQuMTUsNC4xNSwwLDAsMSwyLS41MywzLjYsMy42LDAsMCwxLDIuOCwxLjA5LDQuMjcsNC4yNywwLDAsMSwxLDN2OEgxMTIuNnYtNy41OWEyLjI4LDIuMjgsMCwwLDAtLjUzLTEuNTksMS43OSwxLjc5LDAsMCwwLTEuMzktLjU3LDIuMTcsMi4xNywwLDAsMC0xLjcuNzcsMywzLDAsMCwwLS42NywydjYuOTVoLTIuOHYtNy41OWEyLjQxLDIuNDEsMCwwLDAtLjQ4LTEuNTksMS42OSwxLjY5LDAsMCwwLTEuMzYtLjU3LDIuMTQsMi4xNCwwLDAsMC0uOTMuMjEsMi41OCwyLjU4LDAsMCwwLTEuMzIsMS40NSwzLjI1LDMuMjUsMCwwLDAtLjIsMS4xNHY2Ljk1SDk4LjQzWm0zMC4xNCwxMi4xYTYuMDcsNi4wNywwLDAsMS0yLjQ2LS40OCw2LDYsMCwwLDEtMS44OS0xLjMyLDUuNzEsNS43MSwwLDAsMS0xLjE5LTIsNyw3LDAsMCwxLS40Mi0yLjQzLDcuMDYsNy4wNiwwLDAsMSwuNDItMi40Niw1Ljg1LDUuODUsMCwwLDEsMS4xOC0yLDUuNTcsNS41NywwLDAsMSwxLjg2LTEuMyw2LjA3LDYuMDcsMCwwLDEsMi40Ni0uNDgsNi41LDYuNSwwLDAsMSwyLC4zMSw0LjksNC45LDAsMCwxLDEuNTguODYsNC40OCw0LjQ4LDAsMCwxLDEuMTEsMS4zMyw1LjY5LDUuNjksMCwwLDEsLjU4LDEuNzNIMTMxLjFhMi41OCwyLjU4LDAsMCwwLS44NS0xLjUzLDIuNDcsMi40NywwLDAsMC0xLjctLjU2LDMuMDYsMy4wNiwwLDAsMC0xLjM2LjI5LDIuNjEsMi42MSwwLDAsMC0xLC44NSw0LjE5LDQuMTksMCwwLDAtLjU5LDEuMyw2LjQ1LDYuNDUsMCwwLDAtLjE5LDEuNjMsNi4xOSw2LjE5LDAsMCwwLC4xOSwxLjU5LDQuMDgsNC4wOCwwLDAsMCwuNTksMS4yOCwyLjY3LDIuNjcsMCwwLDAsMSwuODQsMi44MSwyLjgxLDAsMCwwLDEuMzYuMzEsMi41LDIuNSwwLDAsMCwxLjgzLS42NCwyLjc0LDIuNzQsMCwwLDAsLjc5LTEuOGgyLjcyYTUsNSwwLDAsMS0uNDYsMS44OCw0LjI0LDQuMjQsMCwwLDEtMS4wOSwxLjQ1LDUsNSwwLDAsMS0xLjY0LDFBNi4xOCw2LjE4LDAsMCwxLDEyOC41NywyMjIuMDVabTE0Ljg3LS4zNWExLjU0LDEuNTQsMCwwLDEtLjI1LS41Niw0Ljg1LDQuODUsMCwwLDEtLjE1LTFoMGE1LjA3LDUuMDcsMCwwLDEtMS40MywxLjI5LDQuNDEsNC40MSwwLDAsMS0yLjI3LjUxLDUuNDEsNS40MSwwLDAsMS0xLjU5LS4yMiwzLjQyLDMuNDIsMCwwLDEtMS4yNy0uNjYsMy4wNywzLjA3LDAsMCwxLS44My0xLjA4LDMuNDUsMy40NSwwLDAsMS0uMzEtMS41MSwzLjM1LDMuMzUsMCwwLDEsLjM2LTEuNjQsMywzLDAsMCwxLDEtMS4wNSw1LjE4LDUuMTgsMCwwLDEsMS41MS0uNiwxOC45MywxOC45MywwLDAsMSwxLjk0LS4zNCw4LDgsMCwwLDAsMi4xOC0uNSwxLjEyLDEuMTIsMCwwLDAsLjcyLTEuMTEsMS41NiwxLjU2LDAsMCwwLS41Mi0xLjIzLDIuMzgsMi4zOCwwLDAsMC0xLjU5LS40NiwyLjY5LDIuNjksMCwwLDAtMS43Ny41LDEuODgsMS44OCwwLDAsMC0uNjMsMS4zOWgtMi42NGEzLjgsMy44LDAsMCwxLC4zNC0xLjQ0LDMuNTgsMy41OCwwLDAsMSwuOTUtMS4yMiw0Ljc5LDQuNzksMCwwLDEsMS41NS0uODUsNi43Nyw2Ljc3LDAsMCwxLDIuMTgtLjMyLDguNzUsOC43NSwwLDAsMSwxLjc5LjE2LDQsNCwwLDAsMSwxLjM2LjUyLDMuNjIsMy42MiwwLDAsMSwxLjY3LDMuMzV2Ni4xOGE0LDQsMCwwLDAsLjEyLDEuMTIuODkuODksMCwwLDAsLjMyLjUzdi4yWm0tMy4zMi0xLjYzYTMuMzEsMy4zMSwwLDAsMCwxLjI3LS4yMywyLjksMi45LDAsMCwwLC45My0uNTksMi42MSwyLjYxLDAsMCwwLC41Ny0uODQsMi41NiwyLjU2LDAsMCwwLC4yLTF2LTEuNzRhNCw0LDAsMCwxLTEsLjQ1LDEyLjcsMTIuNywwLDAsMS0xLjI1LjMyLDYuODMsNi44MywwLDAsMC0yLC42MywxLjQyLDEuNDIsMCwwLDAtLjcxLDEuMzUsMS42NywxLjY3LDAsMCwwLC4xNy43OCwxLjM3LDEuMzcsMCwwLDAsLjQ0LjUxLDEuODEsMS44MSwwLDAsMCwuNjUuMjZBMy44NywzLjg3LDAsMCwwLDE0MC4xMiwyMjAuMDdabTctNS40MSwxLjYxLTEuMjF2LTguMTJoMi44MnY2bDEuOC0xLjM2djIuMjJsLTEuOCwxLjM3djguMTZIMTQ4Ljd2LTZsLTEuNjEsMS4yMVptOS40NCwxMWgtLjQ0bC0uNjQsMC0uNjEsMGEyLjE5LDIuMTksMCwwLDEtLjM1LDBWMjIzLjNoLjE1YS42OC42OCwwLDAsMCwuMTksMGwuMzMsMCwuMzYsMGguMjlhMS45LDEuOSwwLDAsMCwxLjEyLS4yOSwxLjY3LDEuNjcsMCwwLDAsLjU5LTFjMC0uMDYsMC0uMTYsMC0uMzFzMC0uMzIsMC0uNTEsMC0uMzksMC0uNTlhMi4xMywyLjEzLDAsMCwwLS4xMi0uNTVsLTQtMTAuMjFoM2wxLjk0LDUuNDZjLjExLjM2LjI0Ljc2LjM2LDEuMThzLjIzLjgzLjMyLDEuMTkuMi44NS4zMSwxLjI4aDBjLjEtLjQ0LjIxLS44Ny4zMy0xLjNzLjIxLS43Ni4zMy0xLjE4bC4zNS0xLjE3LDEuODctNS40NkgxNjVsLTQuNTUsMTIuNDFhMTIuNTksMTIuNTksMCwwLDEtLjc1LDEuNjIsMy44NCwzLjg0LDAsMCwxLS44NCwxLDIuNjUsMi42NSwwLDAsMS0xLC41NEE1LDUsMCwwLDEsMTU2LjUzLDIyNS43Wm0yMC41NS0zLjY1YTYuMTUsNi4xNSwwLDAsMS0yLjQ3LS40OCw1LjYzLDUuNjMsMCwwLDEtMy4wOC0zLjI5LDcuMjEsNy4yMSwwLDAsMS0uNDEtMi40Myw3LjMsNy4zLDAsMCwxLC40MS0yLjQ2LDYsNiwwLDAsMSwxLjE5LTIsNS41Nyw1LjU3LDAsMCwxLDEuODYtMS4zLDYuMDUsNi4wNSwwLDAsMSwyLjQ1LS40OCw2LjUyLDYuNTIsMCwwLDEsMiwuMzEsNC45LDQuOSwwLDAsMSwxLjU4Ljg2LDQuMzEsNC4zMSwwLDAsMSwxLjEsMS4zMyw1LjQ1LDUuNDUsMCwwLDEsLjU5LDEuNzNoLTIuNzNhMi42MywyLjYzLDAsMCwwLS44NS0xLjUzLDIuNDcsMi40NywwLDAsMC0xLjctLjU2LDMuMDYsMy4wNiwwLDAsMC0xLjM2LjI5LDIuNTMsMi41MywwLDAsMC0xLC44NSw0LDQsMCwwLDAtLjU5LDEuMyw2LjQ0LDYuNDQsMCwwLDAtLjIsMS42Myw2LjE4LDYuMTgsMCwwLDAsLjIsMS41OSwzLjg3LDMuODcsMCwwLDAsLjU5LDEuMjgsMi41OSwyLjU5LDAsMCwwLDEsLjg0LDIuODEsMi44MSwwLDAsMCwxLjM2LjMxLDIuNTIsMi41MiwwLDAsMCwxLjgzLS42NCwyLjY5LDIuNjksMCwwLDAsLjc4LTEuOGgyLjczYTUuMTUsNS4xNSwwLDAsMS0uNDYsMS44OCw0LjI0LDQuMjQsMCwwLDEtMS4wOSwxLjQ1LDUsNSwwLDAsMS0xLjY0LDFBNi4xOCw2LjE4LDAsMCwxLDE3Ny4wOCwyMjIuMDVabTYuNjQtMi40Niw0LjY5LTUuNzUuNTEtLjU1LjU3LS41Ny42MS0uNTl2LS4wN2wtLjg2LjA3YTYuNTMsNi41MywwLDAsMS0uNzguMDVoLTQuM1YyMTBoOS4yMnYxLjkxbC00LjY2LDUuNzJhOCw4LDAsMCwxLS41OC42MWwtLjYxLjZjLS4yNC4yMi0uNDYuNDQtLjY4LjY2di4wN2wuOSwwLC44MiwwLC44MywwaDQuMjd2Mi4yOWgtOS45NVptMTkuNDcsMi4xMWExLjU0LDEuNTQsMCwwLDEtLjI1LS41Niw1LDUsMCwwLDEtLjE0LTFoLS4wNWE1LjA3LDUuMDcsMCwwLDEtMS40MywxLjI5LDQuNCw0LjQsMCwwLDEtMi4yNi41MSw1LjQzLDUuNDMsMCwwLDEtMS42LS4yMiwzLjMsMy4zLDAsMCwxLTEuMjYtLjY2LDMsMywwLDAsMS0uODQtMS4wOCwzLjQ1LDMuNDUsMCwwLDEtLjMxLTEuNTEsMy4yNCwzLjI0LDAsMCwxLC4zNy0xLjY0LDIuODcsMi44NywwLDAsMSwxLTEuMDUsNS4xOCw1LjE4LDAsMCwxLDEuNTEtLjYsMTguOTMsMTguOTMsMCwwLDEsMS45NC0uMzQsOCw4LDAsMCwwLDIuMTgtLjUsMS4xMiwxLjEyLDAsMCwwLC43Mi0xLjExLDEuNTYsMS41NiwwLDAsMC0uNTItMS4yMywyLjM2LDIuMzYsMCwwLDAtMS41OS0uNDYsMi42OSwyLjY5LDAsMCwwLTEuNzcuNSwxLjg4LDEuODgsMCwwLDAtLjYzLDEuMzloLTIuNjRBMy44LDMuOCwwLDAsMSwxOTYsMjEyYTMuNTgsMy41OCwwLDAsMSwuOTUtMS4yMiw0LjksNC45LDAsMCwxLDEuNTUtLjg1LDYuNzcsNi43NywwLDAsMSwyLjE4LS4zMiw4Ljc1LDguNzUsMCwwLDEsMS43OS4xNiw0LDQsMCwwLDEsMS4zNi41MiwzLjYyLDMuNjIsMCwwLDEsMS42NywzLjM1djYuMThhNCw0LDAsMCwwLC4xMiwxLjEyLjk0Ljk0LDAsMCwwLC4zMi41M3YuMlptLTMuMzItMS42M2EzLjQsMy40LDAsMCwwLDEuMjgtLjIzLDMsMywwLDAsMCwuOTItLjU5LDIuNjEsMi42MSwwLDAsMCwuNTctLjg0LDIuNTYsMi41NiwwLDAsMCwuMi0xdi0xLjc0YTMuOTQsMy45NCwwLDAsMS0xLC40NWMtLjQyLjEzLS44My4yMy0xLjI2LjMyYTYuODMsNi44MywwLDAsMC0yLC42MywxLjQxLDEuNDEsMCwwLDAtLjcsMS4zNSwxLjY3LDEuNjcsMCwwLDAsLjE2Ljc4LDEuMzcsMS4zNywwLDAsMCwuNDQuNTEsMS44MSwxLjgxLDAsMCwwLC42NS4yNkEzLjk0LDMuOTQsMCwwLDAsMTk5Ljg3LDIyMC4wN1ptMTIuNzYsMmE2LjE3LDYuMTcsMCwwLDEtMy45My0xLjEsMy44OCwzLjg4LDAsMCwxLTEuNTMtMi44OGgyLjY5YTIuMSwyLjEsMCwwLDAsLjkyLDEuNTMsMy40OCwzLjQ4LDAsMCwwLDEuODcuNDcsMi43LDIuNywwLDAsMCwxLjcyLS40NSwxLjQ0LDEuNDQsMCwwLDAsLjU1LTEuMTUsMS4xNiwxLjE2LDAsMCwwLS4yMi0uNzIsMS42OCwxLjY4LDAsMCwwLS42Mi0uNDYsNCw0LDAsMCwwLTEtLjMxbC0xLjI0LS4yNWExNSwxNSwwLDAsMS0xLjYtLjM4LDQuNzQsNC43NCwwLDAsMS0xLjM3LS42LDMuMiwzLjIsMCwwLDEtMS0xLDMuMjQsMy4yNCwwLDAsMS0uMzYtMS42MiwzLjIsMy4yLDAsMCwxLC4zNC0xLjQ4LDMuMTMsMy4xMywwLDAsMSwuOTUtMS4xLDQuMjEsNC4yMSwwLDAsMSwxLjQ2LS42OSw3LjQxLDcuNDEsMCwwLDEsMS44OS0uMjMsNS42Miw1LjYyLDAsMCwxLDMuNTYsMSwzLjc4LDMuNzgsMCwwLDEsMS40MiwyLjVoLTIuNjdjLS4yLTEtMS0xLjU3LTIuMzMtMS41N2EyLjM1LDIuMzUsMCwwLDAtMS40OC40LDEuMjQsMS4yNCwwLDAsMC0uNSwxLC44OS44OSwwLDAsMCwuMjIuNjQsMS43MiwxLjcyLDAsMCwwLC42Mi40MSw0LjgyLDQuODIsMCwwLDAsLjk0LjI3bDEuMjEuMjRjLjU2LjExLDEuMS4yMywxLjYzLjM3YTQuOTIsNC45MiwwLDAsMSwxLjQyLjYxLDMsMywwLDAsMSwxLDEuMDgsMy41NywzLjU3LDAsMCwxLC4zOCwxLjc1LDMuNDEsMy40MSwwLDAsMS0uMzgsMS42MywzLjQ2LDMuNDYsMCwwLDEtMSwxLjE4LDUsNSwwLDAsMS0xLjYuNzFBNy44OSw3Ljg5LDAsMCwxLDIxMi42MywyMjIuMDdaJTIyJTIwZmlsbCUzRCUyMiUyM2ZmZiUyMi8lM0UlM0NwYXRoJTIwaWQlM0QlMjJhZTVkZDFjZS1hNjQxLTQxMmEtOWU1Ny00NWY2NThjYWI0ZDUlMjIlMjBkYXRhLW5hbWUlM0QlMjIzNjV0JTIyJTIwZCUzRCUyMk0xNTkuMiwxNDNsNi41NS0zOUgyMTB2MTVIMTc3LjM0TDE3NCwxMzdoLjI1YTE4LjU4LDE4LjU4LDAsMCwxLDYtNC43OSwxOS44OSwxOS44OSwwLDAsMSw4Ljg4LTEuNzQsMjMuNzIsMjMuNzIsMCwwLDEsMTcuMzEsNy4zNywyNC4xLDI0LjEsMCwwLDEsMy43Miw1LjE2Wm0tMTcuOCwwYTI2LjExLDI2LjExLDAsMCwwLTMuNy01LjEsMjQuODksMjQuODksMCwwLDAtOC01LjY4LDIzLjQ0LDIzLjQ0LDAsMCwwLTkuNjUtMiwxOC44OCwxOC44OCwwLDAsMC0xMC4xNSwyLjU5LDIzLDIzLDAsMCwwLTcuMTYsNy4yM2gtLjJxMS4yLTIzLjM5LDE1LjMyLTIzLjM5YzMsMCw1LjIyLjc3LDYuNzIsMi4zMWExMi4xNiwxMi4xNiwwLDAsMSwzLDUuMDhoMTUuNTJhMjYuMzksMjYuMzksMCwwLDAtMi44NC04LDIzLjYzLDIzLjYzLDAsMCwwLTUuMjItNi40NiwyMy4yNCwyMy4yNCwwLDAsMC03LjYxLTQuMywyOS45LDI5LjksMCwwLDAtOS45LTEuNTQsMjkuNDksMjkuNDksMCwwLDAtMTIuOTMsMi41OSwyNS4xNiwyNS4xNiwwLDAsMC05LjE1LDcuNTYsMzUuNDksMzUuNDksMCwwLDAtNi40MiwxMy42OEE2OSw2OSwwLDAsMCw4Ny4yMiwxNDNaTTM2LjE4LDEyNC4yNGExMy4wNiwxMy4wNiwwLDAsMSwyLjMtNC4wNiwxMSwxMSwwLDAsMSwzLjc4LTIuODgsMTIsMTIsMCwwLDEsNS4zNS0xLjEyQTkuNyw5LjcsMCwwLDEsNTgsMTI2LjUzcTAsNS4xNy0zLjIxLDcuODJUNDYsMTM3SDQydjZINjUuNzJBMjcuMjIsMjcuMjIsMCwwLDAsNjMsMTQxLjg4LDIxLjIxLDIxLjIxLDAsMCwwLDcxLDEzNi4wNnEzLjMxLTQsMy4zMi0xMC41OWEyNC41MiwyNC41MiwwLDAsMC0xLjk0LTkuOTRBMjAuMjgsMjAuMjgsMCwwLDAsNjcsMTA4LjEyYTI0LjU3LDI0LjU3LDAsMCwwLTguMzctNC41OSwzNCwzNCwwLDAsMC0xMC42Ni0xLjU5QTMxLjExLDMxLjExLDAsMCwwLDM2LDEwNC4wNmEyNi4zLDI2LjMsMCwwLDAtOC43OCw1Ljc3LDI0LjQ2LDI0LjQ2LDAsMCwwLTUuNTEsOC41OCwzMS4wNywzMS4wNywwLDAsMC0yLDEwLjU5SDM1LjI3QTE1Ljk0LDE1Ljk0LDAsMCwxLDM2LjE4LDEyNC4yNFolMjIlMjBmaWxsJTNEJTIydXJsKCUyM2I4MDRkZTEwLTA0YTctNDlkNi04MjkzLWI2MWEzMTYyYWU3YiklMjIvJTNFJTNDcGF0aCUyMGlkJTNEJTIyZjY5ZWEyMjctMDgwMy00YWFiLWE1ODYtZWZiMDI2Nzc4ZmM4JTIyJTIwZGF0YS1uYW1lJTNEJTIyMzY1YiUyMiUyMGQlM0QlMjJNMTczLjIzLDE0OWgtMTVsLjY3LTRoMTkuMzFsLS4zMy4xNUExMi45MywxMi45MywwLDAsMCwxNzMuMjMsMTQ5Wm0zOC00SDE5MC43YTEyLjcyLDEyLjcyLDAsMCwxLDMuMTEsMi4zM3EzLjY5LDMuNzUsMy42OSwxMC40MSwwLDYuNDUtMy42MywxMC40MWExMi4yMSwxMi4yMSwwLDAsMS05LjQ0LDQsMTMuMiwxMy4yLDAsMCwxLTguNjYtMi43NiwxMS44NiwxMS44NiwwLDAsMS00LjItNy4zNkgxNTUuNWEyNS44OSwyNS44OSwwLDAsMCwyLjc5LDEwLjMsMjQuOSwyNC45LDAsMCwwLDYuMjksNy43NywyNy41LDI3LjUsMCwwLDAsOS4xNCw0LjlBMzYuNTQsMzYuNTQsMCwwLDAsMTg1LDE4Ni42NmEzMi41MSwzMi41MSwwLDAsMCwxMS42My0yLDI2LDI2LDAsMCwwLDkuMTMtNS44MSwyNi40MywyNi40MywwLDAsMCw1Ljk0LTkuMDYsMzMuOTIsMzMuOTIsMCwwLDAsLjE1LTIzLjI1QzIxMS42OSwxNDYsMjExLjQ2LDE0NS41LDIxMS4yMywxNDVabS02OC43OSwwaC0xOS45YTEyLjc0LDEyLjc0LDAsMCwxLDYuNDcsNy40NSwxNy42NywxNy42NywwLDAsMSwxLDUuODcsMTYsMTYsMCwwLDEtMSw1Ljc2LDE1LDE1LDAsMCwxLTIuNzIsNC41OCwxMS43OCwxMS43OCwwLDAsMS00LjA4LDMsMTIuMjgsMTIuMjgsMCwwLDEtNS4wOSwxLjA2LDEzLjUxLDEzLjUxLDAsMCwxLTUuNC0xLjA2LDEyLjUzLDEyLjUzLDAsMCwxLTQuMjgtMywxNCwxNCwwLDAsMS0yLjgyLTQuNTgsMTYuMzIsMTYuMzIsMCwwLDEtMS01Ljg3LDE0Ljg3LDE0Ljg3LDAsMCwxLDMuNzMtMTAuNDVBMTIuMjMsMTIuMjMsMCwwLDEsMTExLDE0NUg4Ny4yMXYuMDhBNjguMjYsNjguMjYsMCwwLDAsODkuMTUsMTYyYTM1LjExLDM1LjExLDAsMCwwLDYuMTIsMTMsMjYuOTMsMjYuOTMsMCwwLDAsOS4zNSw4LDI4LjEyLDI4LjEyLDAsMCwwLDEzLDIuODYsMjksMjksMCwwLDAsMTEtMiwyNiwyNiwwLDAsMCw4LjctNS43MywyNi42MiwyNi42MiwwLDAsMCw1Ljc3LTguODMsMzEuODcsMzEuODcsMCwwLDAsMC0yMi41N0MxNDIuOTQsMTQ2LjA2LDE0Mi42OSwxNDUuNTMsMTQyLjQ0LDE0NVptLTczLjM1LDBINDJ2NGg0LjM5cTYuNDIsMCw5LjksMi43OHQzLjQ3LDguMzNjMCwzLjcxLTEuMDgsNi41OS0zLjIyLDguNjdzLTUuMTUsMy4xMS05LDMuMTFhMTYsMTYsMCwwLDEtNi4yOC0xLjExLDExLjg3LDExLjg3LDAsMCwxLTQuMjgtMywxMi44OSwxMi44OSwwLDAsMS0yLjU1LTQuMzlBMjAuNTQsMjAuNTQsMCwwLDEsMzMuMzMsMTU4SDE3LjYxYTMzLjQsMzMuNCwwLDAsMCwyLjI1LDExLjc4QTIzLjE2LDIzLjE2LDAsMCwwLDI2LjM5LDE3OWEyOC4yNSwyOC4yNSwwLDAsMCw5LjI4LDUuMTEsMzkuMTQsMzkuMTQsMCwwLDAsMTIuNDUsMS43OEEzOC43MywzOC43MywwLDAsMCw1OSwxODQuMzlhMjcuNDksMjcuNDksMCwwLDAsOS4wOC00LjUsMjEuNDgsMjEuNDgsMCwwLDAsNi4yMy03LjYxLDI0LjMsMjQuMywwLDAsMCwyLjI5LTEwLjk1cTAtOC0zLjgyLTEyLjgzQTE4LjgzLDE4LjgzLDAsMCwwLDY5LjA5LDE0NVolMjIlMjBmaWxsJTNEJTIydXJsKCUyM2ZiNDZiYzFhLWM2ZDItNGJhZC05ODAwLTczN2Y0ZGU1NWQyNiklMjIvJTNFJTNDcGF0aCUyMGQlM0QlMjJNMjMxLDI0OEgwVjBIMjMxWiUyMiUyMGZpbGwlM0QlMjJub25lJTIyLyUzRSUzQy9zdmclM0VcIik7XG59XG4uZGVjby0zNjU6YmVmb3JlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBhZGRpbmctdG9wOiAxMDcuMzYlO1xufVxuXG4udGVhc2VyLTM2NSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkNmQ4ZGE7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZzogMzhweCAyNXB4IDQ3cHggMjVweDtcbiAgbWFyZ2luLWJvdHRvbTogNTRweDtcbn1cbi50ZWFzZXItMzY1X190aXRsZSB7XG4gIGZvbnQtc2l6ZTogMjFweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuNnB4O1xuICBsaW5lLWhlaWdodDogMS4zNTtcbiAgY29sb3I6ICM0MTQwNDI7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7XG59XG4udGVhc2VyLTM2NV9fZGVjbyB7XG4gIHdpZHRoOiAxNTlweDtcbiAgbWFyZ2luLWJvdHRvbTogMzhweDtcbn1cblxuLnRlYXNlci1zaG9ydCB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZDZkOGRhO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmc6IDE1cHggMTVweCAyOHB4IDE1cHg7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLnRlYXNlci1zaG9ydCB7XG4gICAgcGFkZGluZzogMTVweCAxNXB4IDM0cHggMTVweDtcbiAgfVxufVxuLnRlYXNlci1zaG9ydDpsYXN0LW9mLXR5cGUge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2Q2ZDhkYTtcbn1cbi50ZWFzZXItc2hvcnRfX2hlYWRsaW5lIHtcbiAgZm9udC1zaXplOiAxNi41cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjM7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIG1hcmdpbjogMDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAudGVhc2VyLXNob3J0X19oZWFkbGluZSB7XG4gICAgZm9udC1zaXplOiAyMXB4O1xuICB9XG59XG4udGVhc2VyLXNob3J0X19pbmZvIHtcbiAgb3JkZXI6IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgbWFyZ2luLWJvdHRvbTogMThweDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAudGVhc2VyLXNob3J0X19pbmZvIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyNnB4O1xuICB9XG59XG4udGVhc2VyLXNob3J0X19sYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMEFFRUY7XG4gIGZvbnQtc2l6ZTogMTAuNXB4O1xuICBsaW5lLWhlaWdodDogMTdweDtcbiAgaGVpZ2h0OiAxN3B4O1xuICBwYWRkaW5nOiAwIDZweDtcbiAgbWFyZ2luOiAwO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC50ZWFzZXItc2hvcnRfX2xhYmVsIHtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgbGluZS1oZWlnaHQ6IDI3cHg7XG4gICAgaGVpZ2h0OiAyN3B4O1xuICB9XG59XG4udGVhc2VyLXNob3J0X190aW1lIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICBjb2xvcjogIzIwMWQxZDtcbiAgcGFkZGluZzogMDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZm9udC1zaXplOiAxMC41cHg7XG4gIGxpbmUtaGVpZ2h0OiAxN3B4O1xuICBoZWlnaHQ6IDE3cHg7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLnRlYXNlci1zaG9ydF9fdGltZSB7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyN3B4O1xuICAgIGhlaWdodDogMjdweDtcbiAgfVxufVxuLnRlYXNlci1zaG9ydF9fb3Zlcmxpbmsge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzO1xuICAtLW1kYy1yaXBwbGUtZmctc2l6ZTogMDtcbiAgLS1tZGMtcmlwcGxlLWxlZnQ6IDA7XG4gIC0tbWRjLXJpcHBsZS10b3A6IDA7XG4gIC0tbWRjLXJpcHBsZS1mZy1zY2FsZTogMTtcbiAgLS1tZGMtcmlwcGxlLWZnLXRyYW5zbGF0ZS1lbmQ6IDA7XG4gIC0tbWRjLXJpcHBsZS1mZy10cmFuc2xhdGUtc3RhcnQ6IDA7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTtcbn1cbi50ZWFzZXItc2hvcnRfX292ZXJsaW5rOjpiZWZvcmUsIC50ZWFzZXItc2hvcnRfX292ZXJsaW5rOjphZnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBvcGFjaXR5OiAwO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgY29udGVudDogXCJcIjtcbn1cbi50ZWFzZXItc2hvcnRfX292ZXJsaW5rOjpiZWZvcmUge1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDE1bXMgbGluZWFyLCBiYWNrZ3JvdW5kLWNvbG9yIDE1bXMgbGluZWFyO1xuICB6LWluZGV4OiAxO1xufVxuLnRlYXNlci1zaG9ydF9fb3ZlcmxpbmsubWRjLXJpcHBsZS11cGdyYWRlZDo6YmVmb3JlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSh2YXIoLS1tZGMtcmlwcGxlLWZnLXNjYWxlLCAxKSk7XG59XG4udGVhc2VyLXNob3J0X19vdmVybGluay5tZGMtcmlwcGxlLXVwZ3JhZGVkOjphZnRlciB7XG4gIHRvcDogMDtcbiAgLyogQG5vZmxpcCAqL1xuICBsZWZ0OiAwO1xuICB0cmFuc2Zvcm06IHNjYWxlKDApO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyO1xufVxuLnRlYXNlci1zaG9ydF9fb3ZlcmxpbmsubWRjLXJpcHBsZS11cGdyYWRlZC0tdW5ib3VuZGVkOjphZnRlciB7XG4gIHRvcDogdmFyKC0tbWRjLXJpcHBsZS10b3AsIDApO1xuICAvKiBAbm9mbGlwICovXG4gIGxlZnQ6IHZhcigtLW1kYy1yaXBwbGUtbGVmdCwgMCk7XG59XG4udGVhc2VyLXNob3J0X19vdmVybGluay5tZGMtcmlwcGxlLXVwZ3JhZGVkLS1mb3JlZ3JvdW5kLWFjdGl2YXRpb246OmFmdGVyIHtcbiAgYW5pbWF0aW9uOiBtZGMtcmlwcGxlLWZnLXJhZGl1cy1pbiAyMjVtcyBmb3J3YXJkcywgbWRjLXJpcHBsZS1mZy1vcGFjaXR5LWluIDc1bXMgZm9yd2FyZHM7XG59XG4udGVhc2VyLXNob3J0X19vdmVybGluay5tZGMtcmlwcGxlLXVwZ3JhZGVkLS1mb3JlZ3JvdW5kLWRlYWN0aXZhdGlvbjo6YWZ0ZXIge1xuICBhbmltYXRpb246IG1kYy1yaXBwbGUtZmctb3BhY2l0eS1vdXQgMTUwbXM7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKHZhcigtLW1kYy1yaXBwbGUtZmctdHJhbnNsYXRlLWVuZCwgMCkpIHNjYWxlKHZhcigtLW1kYy1yaXBwbGUtZmctc2NhbGUsIDEpKTtcbn1cbi50ZWFzZXItc2hvcnRfX292ZXJsaW5rOjpiZWZvcmUsIC50ZWFzZXItc2hvcnRfX292ZXJsaW5rOjphZnRlciB7XG4gIHRvcDogY2FsYyg1MCUgLSAxMDAlKTtcbiAgLyogQG5vZmxpcCAqL1xuICBsZWZ0OiBjYWxjKDUwJSAtIDEwMCUpO1xuICB3aWR0aDogMjAwJTtcbiAgaGVpZ2h0OiAyMDAlO1xufVxuLnRlYXNlci1zaG9ydF9fb3ZlcmxpbmsubWRjLXJpcHBsZS11cGdyYWRlZDo6YWZ0ZXIge1xuICB3aWR0aDogdmFyKC0tbWRjLXJpcHBsZS1mZy1zaXplLCAxMDAlKTtcbiAgaGVpZ2h0OiB2YXIoLS1tZGMtcmlwcGxlLWZnLXNpemUsIDEwMCUpO1xufVxuLnRlYXNlci1zaG9ydF9fb3Zlcmxpbms6OmJlZm9yZSwgLnRlYXNlci1zaG9ydF9fb3Zlcmxpbms6OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzIwMWQxZDtcbn1cbi50ZWFzZXItc2hvcnRfX292ZXJsaW5rOmhvdmVyOjpiZWZvcmUge1xuICBvcGFjaXR5OiAwO1xufVxuLnRlYXNlci1zaG9ydF9fb3ZlcmxpbmsubWRjLXJpcHBsZS11cGdyYWRlZC0tYmFja2dyb3VuZC1mb2N1c2VkOjpiZWZvcmUsIC50ZWFzZXItc2hvcnRfX292ZXJsaW5rOm5vdCgubWRjLXJpcHBsZS11cGdyYWRlZCk6Zm9jdXM6OmJlZm9yZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDc1bXM7XG4gIG9wYWNpdHk6IDA7XG59XG4udGVhc2VyLXNob3J0X19vdmVybGluazpub3QoLm1kYy1yaXBwbGUtdXBncmFkZWQpOjphZnRlciB7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMTUwbXMgbGluZWFyO1xufVxuLnRlYXNlci1zaG9ydF9fb3Zlcmxpbms6bm90KC5tZGMtcmlwcGxlLXVwZ3JhZGVkKTphY3RpdmU6OmFmdGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNzVtcztcbiAgb3BhY2l0eTogMC4wNDtcbn1cbi50ZWFzZXItc2hvcnRfX292ZXJsaW5rLm1kYy1yaXBwbGUtdXBncmFkZWQge1xuICAtLW1kYy1yaXBwbGUtZmctb3BhY2l0eTogMC4wNDtcbn1cbi50YWItbmF2aWdhdGlvbiAudGVhc2VyLXNob3J0X19vdmVybGluazpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG59XG4udGFiLW5hdmlnYXRpb24gLnRlYXNlci1zaG9ydF9fb3Zlcmxpbms6Zm9jdXMubWRjLXJpcHBsZS11cGdyYWRlZC0tYmFja2dyb3VuZC1mb2N1c2VkOjpiZWZvcmUsIC50YWItbmF2aWdhdGlvbiAudGVhc2VyLXNob3J0X19vdmVybGluazpmb2N1czpub3QoLm1kYy1yaXBwbGUtdXBncmFkZWQpOmZvY3VzOjpiZWZvcmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA3NW1zO1xuICBvcGFjaXR5OiAwLjI7XG59XG4udGVhc2VyLXNob3J0X19vdmVybGluazpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4wMik7XG59XG5cbi5yZWFkLXRvbyB7XG4gIG1hcmdpbi1ib3R0b206IDQwcHg7XG59XG4ucmVhZC10b29fX3RpdGxlIHtcbiAgZm9udC1zaXplOiAyOHB4O1xuICBmb250LXdlaWdodDogNzAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBjb2xvcjogIzAwQUVFRjtcbiAgbWFyZ2luLWJvdHRvbTogMzVweDtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuNnB4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5yZWFkLXRvb19fdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMjFweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLnJlYWQtdG9vX190aXRsZSB7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICB9XG59XG5cbi5nYWxsZXJ5LXNldCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWxlZnQ6IC0yM3B4O1xuICBtYXJnaW4tcmlnaHQ6IC0yM3B4O1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5nYWxsZXJ5LXNldCB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIH1cbn1cbi5nYWxsZXJ5LXNldCBmaWd1cmUge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuLmdhbGxlcnktc2V0X19jb3VudCB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDBhNWUzO1xuICBmb250LXNpemU6IDE4cHg7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGxpbmUtaGVpZ2h0OiAzNHB4O1xuICB3aWR0aDogMzVweDtcbiAgaGVpZ2h0OiAzNHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDAgM3B4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMjBweDtcbiAgcmlnaHQ6IDE0cHg7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZ2FsbGVyeS1zZXRfX2NvdW50IHtcbiAgICB0b3A6IDMzcHg7XG4gICAgcmlnaHQ6IDMzcHg7XG4gICAgd2lkdGg6IDQ1cHg7XG4gICAgaGVpZ2h0OiA0NHB4O1xuICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICBsaW5lLWhlaWdodDogNDRweDtcbiAgfVxufVxuLmdhbGxlcnktc2V0X19jb3VudDphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMzRweDtcbiAgaGVpZ2h0OiAzNHB4O1xuICBib3JkZXItdG9wOiA0cHggc29saWQgIzAwYTVlMztcbiAgYm9yZGVyLWxlZnQ6IDRweCBzb2xpZCAjMDBhNWUzO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IC02cHg7XG4gIHRvcDogLTZweDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZ2FsbGVyeS1zZXRfX2NvdW50OmFmdGVyIHtcbiAgICB3aWR0aDogNDRweDtcbiAgICBoZWlnaHQ6IDQ0cHg7XG4gIH1cbn1cbi5nYWxsZXJ5LXNldF9fZmlnY2FwdGlvbiB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBwYWRkaW5nLWxlZnQ6IDIzcHg7XG4gIHBhZGRpbmctcmlnaHQ6IDIzcHg7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmdhbGxlcnktc2V0X19maWdjYXB0aW9uIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgfVxufVxuXG4vKiEgUGhvdG9Td2lwZSBtYWluIENTUyBieSBEbWl0cnkgU2VtZW5vdiB8IHBob3Rvc3dpcGUuY29tIHwgTUlUIGxpY2Vuc2UgKi9cbi8qXG5cdFN0eWxlcyBmb3IgYmFzaWMgUGhvdG9Td2lwZSBmdW5jdGlvbmFsaXR5IChzbGlkaW5nIGFyZWEsIG9wZW4vY2xvc2UgdHJhbnNpdGlvbnMpXG4qL1xuLyogcHN3cCA9IHBob3Rvc3dpcGUgKi9cbi5wc3dwIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIC1tcy10b3VjaC1hY3Rpb246IG5vbmU7XG4gIHRvdWNoLWFjdGlvbjogbm9uZTtcbiAgei1pbmRleDogMTUwMDtcbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAvKiBjcmVhdGUgc2VwYXJhdGUgbGF5ZXIsIHRvIGF2b2lkIHBhaW50IG9uIHdpbmRvdy5vbnNjcm9sbCBpbiB3ZWJraXQvYmxpbmsgKi9cbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIG91dGxpbmU6IG5vbmU7XG59XG5cbi5wc3dwICoge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4ucHN3cCBpbWcge1xuICBtYXgtd2lkdGg6IG5vbmU7XG59XG5cbi8qIHN0eWxlIGlzIGFkZGVkIHdoZW4gSlMgb3B0aW9uIHNob3dIaWRlT3BhY2l0eSBpcyBzZXQgdG8gdHJ1ZSAqL1xuLnBzd3AtLWFuaW1hdGVfb3BhY2l0eSB7XG4gIC8qIDAuMDAxLCBiZWNhdXNlIG9wYWNpdHk6MCBkb2Vzbid0IHRyaWdnZXIgUGFpbnQgYWN0aW9uLCB3aGljaCBjYXVzZXMgbGFnIGF0IHN0YXJ0IG9mIHRyYW5zaXRpb24gKi9cbiAgb3BhY2l0eTogMC4wMDE7XG4gIHdpbGwtY2hhbmdlOiBvcGFjaXR5O1xuICAvKiBmb3Igb3Blbi9jbG9zZSB0cmFuc2l0aW9uICovXG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMzMzbXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yMiwgMSk7XG59XG5cbi5wc3dwLS1vcGVuIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5wc3dwLS16b29tLWFsbG93ZWQgLnBzd3BfX2ltZyB7XG4gIC8qIGF1dG9wcmVmaXhlcjogb2ZmICovXG4gIGN1cnNvcjogLXdlYmtpdC16b29tLWluO1xuICBjdXJzb3I6IC1tb3otem9vbS1pbjtcbiAgY3Vyc29yOiB6b29tLWluO1xufVxuXG4ucHN3cC0tem9vbWVkLWluIC5wc3dwX19pbWcge1xuICAvKiBhdXRvcHJlZml4ZXI6IG9mZiAqL1xuICBjdXJzb3I6IC13ZWJraXQtZ3JhYjtcbiAgY3Vyc29yOiAtbW96LWdyYWI7XG4gIGN1cnNvcjogZ3JhYjtcbn1cblxuLnBzd3AtLWRyYWdnaW5nIC5wc3dwX19pbWcge1xuICAvKiBhdXRvcHJlZml4ZXI6IG9mZiAqL1xuICBjdXJzb3I6IC13ZWJraXQtZ3JhYmJpbmc7XG4gIGN1cnNvcjogLW1vei1ncmFiYmluZztcbiAgY3Vyc29yOiBncmFiYmluZztcbn1cblxuLypcblx0QmFja2dyb3VuZCBpcyBhZGRlZCBhcyBhIHNlcGFyYXRlIGVsZW1lbnQuXG5cdEFzIGFuaW1hdGluZyBvcGFjaXR5IGlzIG11Y2ggZmFzdGVyIHRoYW4gYW5pbWF0aW5nIHJnYmEoKSBiYWNrZ3JvdW5kLWNvbG9yLlxuKi9cbi5wc3dwX19iZyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kOiAjMjAxZDFkO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICB3aWxsLWNoYW5nZTogb3BhY2l0eTtcbn1cblxuLnBzd3BfX3Njcm9sbC13cmFwIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5wc3dwX19jb250YWluZXIsXG4ucHN3cF9fem9vbS13cmFwIHtcbiAgLW1zLXRvdWNoLWFjdGlvbjogbm9uZTtcbiAgdG91Y2gtYWN0aW9uOiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbn1cblxuLyogUHJldmVudCBzZWxlY3Rpb24gYW5kIHRhcCBoaWdobGlnaHRzICovXG4ucHN3cF9fY29udGFpbmVyLFxuLnBzd3BfX2ltZyB7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG59XG5cbi5wc3dwX196b29tLXdyYXAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDAlO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IHRvcDtcbiAgLyogZm9yIG9wZW4vY2xvc2UgdHJhbnNpdGlvbiAqL1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMzMzbXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yMiwgMSk7XG59XG5cbi5wc3dwX19iZyB7XG4gIHdpbGwtY2hhbmdlOiBvcGFjaXR5O1xuICAvKiBmb3Igb3Blbi9jbG9zZSB0cmFuc2l0aW9uICovXG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMzMzbXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yMiwgMSk7XG59XG5cbi5wc3dwLS1hbmltYXRlZC1pbiAucHN3cF9fYmcsXG4ucHN3cC0tYW5pbWF0ZWQtaW4gLnBzd3BfX3pvb20td3JhcCB7XG4gIHRyYW5zaXRpb246IG5vbmU7XG59XG5cbi5wc3dwX19jb250YWluZXIsXG4ucHN3cF9fem9vbS13cmFwIHtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi5wc3dwX19pdGVtIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5wc3dwX19pbWcge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiBhdXRvO1xuICBoZWlnaHQ6IGF1dG87XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbn1cblxuLypcblx0c3RyZXRjaGVkIHRodW1ibmFpbCBvciBkaXYgcGxhY2Vob2xkZXIgZWxlbWVudCAoc2VlIGJlbG93KVxuXHRzdHlsZSBpcyBhZGRlZCB0byBhdm9pZCBmbGlja2VyaW5nIGluIHdlYmtpdC9ibGluayB3aGVuIGxheWVycyBvdmVybGFwXG4qL1xuLnBzd3BfX2ltZy0tcGxhY2Vob2xkZXIge1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLypcblx0ZGl2IGVsZW1lbnQgdGhhdCBtYXRjaGVzIHNpemUgb2YgbGFyZ2UgaW1hZ2Vcblx0bGFyZ2UgaW1hZ2UgbG9hZHMgb24gdG9wIG9mIGl0XG4qL1xuLnBzd3BfX2ltZy0tcGxhY2Vob2xkZXItLWJsYW5rIHtcbiAgYmFja2dyb3VuZDogIzIyMjtcbn1cblxuLnBzd3AtLWllIC5wc3dwX19pbWcge1xuICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xufVxuXG4vKlxuXHRFcnJvciBtZXNzYWdlIGFwcGVhcnMgd2hlbiBpbWFnZSBpcyBub3QgbG9hZGVkXG5cdChKUyBvcHRpb24gZXJyb3JNc2cgY29udHJvbHMgbWFya3VwKVxuKi9cbi5wc3dwX19lcnJvci1tc2cge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogNTAlO1xuICB3aWR0aDogMTAwJTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAxNnB4O1xuICBtYXJnaW4tdG9wOiAtOHB4O1xuICBjb2xvcjogI2NjYztcbn1cblxuLnBzd3BfX2Vycm9yLW1zZyBhIHtcbiAgY29sb3I6ICNjY2M7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4vKiEgUGhvdG9Td2lwZSBEZWZhdWx0IFVJIENTUyBieSBEbWl0cnkgU2VtZW5vdiB8IHBob3Rvc3dpcGUuY29tIHwgTUlUIGxpY2Vuc2UgKi9cbi8qXG5cblx0Q29udGVudHM6XG5cblx0MS4gQnV0dG9uc1xuXHQyLiBTaGFyZSBtb2RhbCBhbmQgbGlua3Ncblx0My4gSW5kZXggaW5kaWNhdG9yIChcIjEgb2YgWFwiIGNvdW50ZXIpXG5cdDQuIENhcHRpb25cblx0NS4gTG9hZGluZyBpbmRpY2F0b3Jcblx0Ni4gQWRkaXRpb25hbCBzdHlsZXMgKHJvb3QgZWxlbWVudCwgdG9wIGJhciwgaWRsZSBzdGF0ZSwgaGlkZGVuIHN0YXRlLCBldGMuKVxuXG4qL1xuLypcblxuXHQxLiBCdXR0b25zXG5cbiAqL1xuLyogPGJ1dHRvbj4gY3NzIHJlc2V0ICovXG4ucHN3cF9fYnV0dG9uIHtcbiAgd2lkdGg6IDQ0cHg7XG4gIGhlaWdodDogNDRweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3JkZXI6IDA7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBvcGFjaXR5OiAwLjc1O1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnM7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG5cbi5wc3dwX19idXR0b246Zm9jdXMsIC5wc3dwX19idXR0b246aG92ZXIge1xuICBvcGFjaXR5OiAxO1xufVxuXG4ucHN3cF9fYnV0dG9uOmFjdGl2ZSB7XG4gIG91dGxpbmU6IG5vbmU7XG4gIG9wYWNpdHk6IDAuOTtcbn1cblxuLnBzd3BfX2J1dHRvbjo6LW1vei1mb2N1cy1pbm5lciB7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogMDtcbn1cblxuLyogcHN3cF9fdWktLW92ZXItY2xvc2UgY2xhc3MgaXQgYWRkZWQgd2hlbiBtb3VzZSBpcyBvdmVyIGVsZW1lbnQgdGhhdCBzaG91bGQgY2xvc2UgZ2FsbGVyeSAqL1xuLnBzd3BfX3VpLS1vdmVyLWNsb3NlIC5wc3dwX19idXR0b24tLWNsb3NlIHtcbiAgb3BhY2l0eTogMTtcbn1cblxuLnBzd3BfX2J1dHRvbixcbi5wc3dwX19idXR0b24tLWFycm93LS1sZWZ0OmJlZm9yZSxcbi5wc3dwX19idXR0b24tLWFycm93LS1yaWdodDpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi8uLi9pbWFnZXMvcGhvdG9zd2lwZS9kZWZhdWx0LXNraW4ucG5nXCIpIDAgMCBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogMjY0cHggODhweDtcbiAgd2lkdGg6IDQ0cHg7XG4gIGhlaWdodDogNDRweDtcbn1cblxuQG1lZGlhICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDEuMSksICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDEuMDkzNzUpLCAobWluLXJlc29sdXRpb246IDEwNWRwaSksIChtaW4tcmVzb2x1dGlvbjogMS4xZHBweCkge1xuICAvKiBTZXJ2ZSBTVkcgc3ByaXRlIGlmIGJyb3dzZXIgc3VwcG9ydHMgU1ZHIGFuZCByZXNvbHV0aW9uIGlzIG1vcmUgdGhhbiAxMDVkcGkgKi9cbiAgLnBzd3AtLXN2ZyAucHN3cF9fYnV0dG9uLFxuICAucHN3cC0tc3ZnIC5wc3dwX19idXR0b24tLWFycm93LS1sZWZ0OmJlZm9yZSxcbiAgLnBzd3AtLXN2ZyAucHN3cF9fYnV0dG9uLS1hcnJvdy0tcmlnaHQ6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi8uLi9pbWFnZXMvc3ZnL3Bob3Rvc3dpcGUtZGVmYXVsdC1za2luLnN2Z1wiKTtcbiAgfVxuICAucHN3cC0tc3ZnIC5wc3dwX19idXR0b24tLWFycm93LS1sZWZ0LFxuICAucHN3cC0tc3ZnIC5wc3dwX19idXR0b24tLWFycm93LS1yaWdodCB7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgfVxufVxuLnBzd3BfX2J1dHRvbi0tY2xvc2Uge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC00NHB4O1xufVxuXG4ucHN3cF9fYnV0dG9uLS1zaGFyZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC00NHB4IC00NHB4O1xufVxuXG4ucHN3cF9fYnV0dG9uLS1mcyB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5wc3dwLS1zdXBwb3J0cy1mcyAucHN3cF9fYnV0dG9uLS1mcyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4ucHN3cC0tZnMgLnBzd3BfX2J1dHRvbi0tZnMge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDRweCAwO1xufVxuXG4ucHN3cF9fYnV0dG9uLS16b29tIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTg4cHggMDtcbn1cblxuLnBzd3AtLXpvb20tYWxsb3dlZCAucHN3cF9fYnV0dG9uLS16b29tIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5wc3dwLS16b29tZWQtaW4gLnBzd3BfX2J1dHRvbi0tem9vbSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0xMzJweCAwO1xufVxuXG4vKiBubyBhcnJvd3Mgb24gdG91Y2ggc2NyZWVucyAqL1xuLnBzd3AtLXRvdWNoIC5wc3dwX19idXR0b24tLWFycm93LS1sZWZ0LFxuLnBzd3AtLXRvdWNoIC5wc3dwX19idXR0b24tLWFycm93LS1yaWdodCB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLypcblx0QXJyb3cgYnV0dG9ucyBoaXQgYXJlYVxuXHQoaWNvbiBpcyBhZGRlZCB0byA6YmVmb3JlIHBzZXVkby1lbGVtZW50KVxuKi9cbi5wc3dwX19idXR0b24tLWFycm93LS1sZWZ0LFxuLnBzd3BfX2J1dHRvbi0tYXJyb3ctLXJpZ2h0IHtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgdG9wOiA1MCU7XG4gIG1hcmdpbi10b3A6IC01MHB4O1xuICB3aWR0aDogNzBweDtcbiAgaGVpZ2h0OiAxMDBweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xufVxuXG4ucHN3cF9fYnV0dG9uLS1hcnJvdy0tbGVmdCB7XG4gIGxlZnQ6IDA7XG59XG5cbi5wc3dwX19idXR0b24tLWFycm93LS1yaWdodCB7XG4gIHJpZ2h0OiAwO1xufVxuXG4ucHN3cF9fYnV0dG9uLS1hcnJvdy0tbGVmdDpiZWZvcmUsXG4ucHN3cF9fYnV0dG9uLS1hcnJvdy0tcmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgdG9wOiAzNXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMyk7XG4gIGhlaWdodDogMzBweDtcbiAgd2lkdGg6IDMycHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbn1cblxuLnBzd3BfX2J1dHRvbi0tYXJyb3ctLWxlZnQ6YmVmb3JlIHtcbiAgbGVmdDogNnB4O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTM4cHggLTQ0cHg7XG59XG5cbi5wc3dwX19idXR0b24tLWFycm93LS1yaWdodDpiZWZvcmUge1xuICByaWdodDogNnB4O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTRweCAtNDRweDtcbn1cblxuLypcblxuXHQyLiBTaGFyZSBtb2RhbC9wb3B1cCBhbmQgbGlua3NcblxuICovXG4ucHN3cF9fY291bnRlcixcbi5wc3dwX19zaGFyZS1tb2RhbCB7XG4gIHVzZXItc2VsZWN0OiBub25lO1xufVxuXG4ucHN3cF9fc2hhcmUtbW9kYWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjUpO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTYwMDtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjI1cyBlYXNlLW91dDtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIHdpbGwtY2hhbmdlOiBvcGFjaXR5O1xufVxuXG4ucHN3cF9fc2hhcmUtbW9kYWwtLWhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5wc3dwX19zaGFyZS10b29sdGlwIHtcbiAgei1pbmRleDogMTYyMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICB0b3A6IDU2cHg7XG4gIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiBhdXRvO1xuICByaWdodDogNDRweDtcbiAgYm94LXNoYWRvdzogMCAycHggNXB4IHJnYmEoMCwgMCwgMCwgMC4yNSk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg2cHgpO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4yNXM7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtO1xufVxuXG4ucHN3cF9fc2hhcmUtdG9vbHRpcCBhIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDhweCAxMnB4O1xuICBjb2xvcjogIzAwMDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAxOHB4O1xufVxuXG4ucHN3cF9fc2hhcmUtdG9vbHRpcCBhOmhvdmVyIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjb2xvcjogIzAwMDtcbn1cblxuLnBzd3BfX3NoYXJlLXRvb2x0aXAgYTpmaXJzdC1jaGlsZCB7XG4gIC8qIHJvdW5kIGNvcm5lcnMgb24gdGhlIGZpcnN0L2xhc3QgbGlzdCBpdGVtICovXG4gIGJvcmRlci1yYWRpdXM6IDJweCAycHggMCAwO1xufVxuXG4ucHN3cF9fc2hhcmUtdG9vbHRpcCBhOmxhc3QtY2hpbGQge1xuICBib3JkZXItcmFkaXVzOiAwIDAgMnB4IDJweDtcbn1cblxuLnBzd3BfX3NoYXJlLW1vZGFsLS1mYWRlLWluIHtcbiAgb3BhY2l0eTogMTtcbn1cblxuLnBzd3BfX3NoYXJlLW1vZGFsLS1mYWRlLWluIC5wc3dwX19zaGFyZS10b29sdGlwIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xufVxuXG4vKiBpbmNyZWFzZSBzaXplIG9mIHNoYXJlIGxpbmtzIG9uIHRvdWNoIGRldmljZXMgKi9cbi5wc3dwLS10b3VjaCAucHN3cF9fc2hhcmUtdG9vbHRpcCBhIHtcbiAgcGFkZGluZzogMTZweCAxMnB4O1xufVxuXG5hLnBzd3BfX3NoYXJlLS1mYWNlYm9vazpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC0xMnB4O1xuICByaWdodDogMTVweDtcbiAgYm9yZGVyOiA2cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6ICNmZmY7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG5hLnBzd3BfX3NoYXJlLS1mYWNlYm9vazpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICMzZTVjOWE7XG4gIGNvbG9yOiAjZmZmO1xufVxuXG5hLnBzd3BfX3NoYXJlLS1mYWNlYm9vazpob3ZlcjpiZWZvcmUge1xuICBib3JkZXItYm90dG9tLWNvbG9yOiAjM2U1YzlhO1xufVxuXG5hLnBzd3BfX3NoYXJlLS10d2l0dGVyOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogIzU1YWNlZTtcbiAgY29sb3I6ICNmZmY7XG59XG5cbmEucHN3cF9fc2hhcmUtLXBpbnRlcmVzdDpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICNjY2M7XG4gIGNvbG9yOiAjY2UyNzJkO1xufVxuXG5hLnBzd3BfX3NoYXJlLS1kb3dubG9hZDpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICNkZGQ7XG59XG5cbi8qXG5cblx0My4gSW5kZXggaW5kaWNhdG9yIChcIjEgb2YgWFwiIGNvdW50ZXIpXG5cbiAqL1xuLnBzd3BfX2NvdW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgaGVpZ2h0OiA0NHB4O1xuICBmb250LXNpemU6IDEzcHg7XG4gIGxpbmUtaGVpZ2h0OiA0NHB4O1xuICBjb2xvcjogI2ZmZjtcbiAgb3BhY2l0eTogMC43NTtcbiAgcGFkZGluZzogMCAxMHB4O1xufVxuXG4vKlxuXG5cdDQuIENhcHRpb25cblxuICovXG4ucHN3cF9fY2FwdGlvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgYm90dG9tOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgbWluLWhlaWdodDogNDRweDtcbn1cblxuLnBzd3BfX2NhcHRpb24gc21hbGwge1xuICBmb250LXNpemU6IDExcHg7XG4gIGNvbG9yOiAjYmJiO1xufVxuXG4ucHN3cF9fY2FwdGlvbl9fY2VudGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXgtd2lkdGg6IDQyMHB4O1xuICBtYXJnaW46IDAgYXV0bztcbiAgZm9udC1zaXplOiAxM3B4O1xuICBwYWRkaW5nOiAxMHB4O1xuICBsaW5lLWhlaWdodDogMjBweDtcbiAgY29sb3I6ICNjY2M7XG59XG5cbi5wc3dwX19jYXB0aW9uLS1lbXB0eSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qIEZha2UgY2FwdGlvbiBlbGVtZW50LCB1c2VkIHRvIGNhbGN1bGF0ZSBoZWlnaHQgb2YgbmV4dC9wcmV2IGltYWdlICovXG4ucHN3cF9fY2FwdGlvbi0tZmFrZSB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLypcblxuXHQ1LiBMb2FkaW5nIGluZGljYXRvciAocHJlbG9hZGVyKVxuXG5cdFlvdSBjYW4gcGxheSB3aXRoIGl0IGhlcmUgLSBodHRwOi8vY29kZXBlbi5pby9kaW1zZW1lbm92L3Blbi95eUJXb1JcblxuICovXG4ucHN3cF9fcHJlbG9hZGVyIHtcbiAgd2lkdGg6IDQ0cHg7XG4gIGhlaWdodDogNDRweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLWxlZnQ6IC0yMnB4O1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMjVzIGVhc2Utb3V0O1xuICB3aWxsLWNoYW5nZTogb3BhY2l0eTtcbiAgZGlyZWN0aW9uOiBsdHI7XG59XG5cbi5wc3dwX19wcmVsb2FkZXJfX2ljbiB7XG4gIHdpZHRoOiAyMHB4O1xuICBoZWlnaHQ6IDIwcHg7XG4gIG1hcmdpbjogMTJweDtcbn1cblxuLnBzd3BfX3ByZWxvYWRlci0tYWN0aXZlIHtcbiAgb3BhY2l0eTogMTtcbn1cblxuLnBzd3BfX3ByZWxvYWRlci0tYWN0aXZlIC5wc3dwX19wcmVsb2FkZXJfX2ljbiB7XG4gIC8qIFdlIHVzZSAuZ2lmIGluIGJyb3dzZXJzIHRoYXQgZG9uJ3Qgc3VwcG9ydCBDU1MgYW5pbWF0aW9uICovXG4gIGJhY2tncm91bmQ6IHVybChcIi4uLy4uL2ltYWdlcy9waG90b3N3aXBlL3ByZWxvYWRlci5naWZcIikgMCAwIG5vLXJlcGVhdDtcbn1cblxuLnBzd3AtLWNzc19hbmltYXRpb24gLnBzd3BfX3ByZWxvYWRlci0tYWN0aXZlIHtcbiAgb3BhY2l0eTogMTtcbn1cblxuLnBzd3AtLWNzc19hbmltYXRpb24gLnBzd3BfX3ByZWxvYWRlci0tYWN0aXZlIC5wc3dwX19wcmVsb2FkZXJfX2ljbiB7XG4gIC13ZWJraXQtYW5pbWF0aW9uOiBjbG9ja3dpc2UgNTAwbXMgbGluZWFyIGluZmluaXRlO1xuICBhbmltYXRpb246IGNsb2Nrd2lzZSA1MDBtcyBsaW5lYXIgaW5maW5pdGU7XG59XG5cbi5wc3dwLS1jc3NfYW5pbWF0aW9uIC5wc3dwX19wcmVsb2FkZXItLWFjdGl2ZSAucHN3cF9fcHJlbG9hZGVyX19kb251dCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uOiBkb251dC1yb3RhdGUgMTAwMG1zIGN1YmljLWJlemllcigwLjQsIDAsIDAuMjIsIDEpIGluZmluaXRlO1xuICBhbmltYXRpb246IGRvbnV0LXJvdGF0ZSAxMDAwbXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yMiwgMSkgaW5maW5pdGU7XG59XG5cbi5wc3dwLS1jc3NfYW5pbWF0aW9uIC5wc3dwX19wcmVsb2FkZXJfX2ljbiB7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIG9wYWNpdHk6IDAuNzU7XG4gIHdpZHRoOiAxNHB4O1xuICBoZWlnaHQ6IDE0cHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMTVweDtcbiAgdG9wOiAxNXB4O1xuICBtYXJnaW46IDA7XG59XG5cbi5wc3dwLS1jc3NfYW5pbWF0aW9uIC5wc3dwX19wcmVsb2FkZXJfX2N1dCB7XG4gIC8qXG4gICAgICAgICAgICBUaGUgaWRlYSBvZiBhbmltYXRpbmcgaW5uZXIgY2lyY2xlIGlzIGJhc2VkIG9uIFBvbHltZXIgKFwibWF0ZXJpYWxcIikgbG9hZGluZyBpbmRpY2F0b3JcbiAgICAgICAgICAgICBieSBLZWFudSBMZWUgaHR0cHM6Ly9ibG9nLmtlYW51bGVlLmNvbS8yMDE0LzEwLzIwL3RoZS10YWxlLW9mLXRocmVlLXNwaW5uZXJzLmh0bWxcbiAgICAgICAgKi9cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogN3B4O1xuICBoZWlnaHQ6IDE0cHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5wc3dwLS1jc3NfYW5pbWF0aW9uIC5wc3dwX19wcmVsb2FkZXJfX2RvbnV0IHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDE0cHg7XG4gIGhlaWdodDogMTRweDtcbiAgYm9yZGVyOiAycHggc29saWQgI2ZmZjtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBib3JkZXItbGVmdC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgbWFyZ2luOiAwO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDI0cHgpIHtcbiAgLnBzd3BfX3ByZWxvYWRlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IGF1dG87XG4gICAgdG9wOiBhdXRvO1xuICAgIG1hcmdpbjogMDtcbiAgICBmbG9hdDogcmlnaHQ7XG4gIH1cbn1cbkAtd2Via2l0LWtleWZyYW1lcyBjbG9ja3dpc2Uge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgfVxufVxuQGtleWZyYW1lcyBjbG9ja3dpc2Uge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgfVxufVxuQC13ZWJraXQta2V5ZnJhbWVzIGRvbnV0LXJvdGF0ZSB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDApO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICB9XG4gIDUwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtMTQwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTQwZGVnKTtcbiAgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDApO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGRvbnV0LXJvdGF0ZSB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDApO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICB9XG4gIDUwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtMTQwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTQwZGVnKTtcbiAgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDApO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICB9XG59XG4vKlxuXG5cdDYuIEFkZGl0aW9uYWwgc3R5bGVzXG5cbiAqL1xuLyogcm9vdCBlbGVtZW50IG9mIFVJICovXG4ucHN3cF9fdWkge1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhdXRvO1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICBvcGFjaXR5OiAxO1xuICB6LWluZGV4OiAxNTUwO1xufVxuXG4vKiB0b3AgYmxhY2sgYmFyIHdpdGggYnV0dG9ucyBhbmQgXCIxIG9mIFhcIiBpbmRpY2F0b3IgKi9cbi5wc3dwX190b3AtYmFyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIGhlaWdodDogNDRweDtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5wc3dwX19jYXB0aW9uLFxuLnBzd3BfX3RvcC1iYXIsXG4ucHN3cC0taGFzX21vdXNlIC5wc3dwX19idXR0b24tLWFycm93LS1sZWZ0LFxuLnBzd3AtLWhhc19tb3VzZSAucHN3cF9fYnV0dG9uLS1hcnJvdy0tcmlnaHQge1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgd2lsbC1jaGFuZ2U6IG9wYWNpdHk7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMzMzbXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yMiwgMSk7XG59XG5cbi8qIHBzd3AtLWhhc19tb3VzZSBjbGFzcyBpcyBhZGRlZCBvbmx5IHdoZW4gdHdvIHN1YnNlcXVlbnQgbW91c2Vtb3ZlIGV2ZW50cyBvY2N1ciAqL1xuLnBzd3AtLWhhc19tb3VzZSAucHN3cF9fYnV0dG9uLS1hcnJvdy0tbGVmdCxcbi5wc3dwLS1oYXNfbW91c2UgLnBzd3BfX2J1dHRvbi0tYXJyb3ctLXJpZ2h0IHtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbn1cblxuLnBzd3BfX3RvcC1iYXIsXG4ucHN3cF9fY2FwdGlvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTtcbn1cblxuLyogcHN3cF9fdWktLWZpdCBjbGFzcyBpcyBhZGRlZCB3aGVuIG1haW4gaW1hZ2UgXCJmaXRzXCIgYmV0d2VlbiB0b3AgYmFyIGFuZCBib3R0b20gYmFyIChjYXB0aW9uKSAqL1xuLnBzd3BfX3VpLS1maXQgLnBzd3BfX3RvcC1iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApO1xufVxuXG4ucHN3cF9fdWktLWZpdCAucHN3cF9fY2FwdGlvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7XG59XG5cbi8qIHBzd3BfX3VpLS1pZGxlIGNsYXNzIGlzIGFkZGVkIHdoZW4gbW91c2UgaXNuJ3QgbW92aW5nIGZvciBzZXZlcmFsIHNlY29uZHMgKEpTIG9wdGlvbiB0aW1lVG9JZGxlKSAqL1xuLnBzd3BfX3VpLS1pZGxlIC5wc3dwX190b3AtYmFyIHtcbiAgb3BhY2l0eTogMDtcbn1cblxuLnBzd3BfX3VpLS1pZGxlIC5wc3dwX19idXR0b24tLWFycm93LS1sZWZ0LFxuLnBzd3BfX3VpLS1pZGxlIC5wc3dwX19idXR0b24tLWFycm93LS1yaWdodCB7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi8qXG5cdHBzd3BfX3VpLS1oaWRkZW4gY2xhc3MgaXMgYWRkZWQgd2hlbiBjb250cm9scyBhcmUgaGlkZGVuXG5cdGUuZy4gd2hlbiB1c2VyIHRhcHMgdG8gdG9nZ2xlIHZpc2liaWxpdHkgb2YgY29udHJvbHNcbiovXG4ucHN3cF9fdWktLWhpZGRlbiAucHN3cF9fdG9wLWJhcixcbi5wc3dwX191aS0taGlkZGVuIC5wc3dwX19jYXB0aW9uLFxuLnBzd3BfX3VpLS1oaWRkZW4gLnBzd3BfX2J1dHRvbi0tYXJyb3ctLWxlZnQsXG4ucHN3cF9fdWktLWhpZGRlbiAucHN3cF9fYnV0dG9uLS1hcnJvdy0tcmlnaHQge1xuICAvKiBGb3JjZSBwYWludCAmIGNyZWF0ZSBjb21wb3NpdGlvbiBsYXllciBmb3IgY29udHJvbHMuICovXG4gIG9wYWNpdHk6IDAuMDAxO1xufVxuXG4vKiBwc3dwX191aS0tb25lLXNsaWRlIGNsYXNzIGlzIGFkZGVkIHdoZW4gdGhlcmUgaXMganVzdCBvbmUgaXRlbSBpbiBnYWxsZXJ5ICovXG4ucHN3cF9fdWktLW9uZS1zbGlkZSAucHN3cF9fYnV0dG9uLS1hcnJvdy0tbGVmdCxcbi5wc3dwX191aS0tb25lLXNsaWRlIC5wc3dwX19idXR0b24tLWFycm93LS1yaWdodCxcbi5wc3dwX191aS0tb25lLXNsaWRlIC5wc3dwX19jb3VudGVyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnBzd3BfX2VsZW1lbnQtLWRpc2FibGVkIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4ucHN3cC0tbWluaW1hbC0tZGFyayAucHN3cF9fdG9wLWJhciB7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG59XG5cbi5wc3dwIHtcbiAgei1pbmRleDogMTkwMDtcbn1cblxuLnBob3Rvc3dpcGUtaW1hZ2Uge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5wcy1nYWxsZXJ5ID4gLnBob3Rvc3dpcGUtaW1hZ2Uubm8tdGh1bWJuYWlsIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBvcGFjaXR5OiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgei1pbmRleDogLTE7XG59XG4ucHN3cC0tdmlzaWJsZSB+IC5wcy1nYWxsZXJ5ID4gLnBob3Rvc3dpcGUtaW1hZ2Uubm8tdGh1bWJuYWlsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG9wYWNpdHk6IDA7XG4gIHotaW5kZXg6IC0xO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG4ucHMtZ2FsbGVyeSA+IC5waG90b3N3aXBlLWltYWdlLm5vLXRodW1ibmFpbCBpbWcge1xuICBvcGFjaXR5OiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IC0xO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG4ucHN3cF9fdWktLWZpdCAucHN3cF9fY2FwdGlvbixcbi5wc3dwX191aS0tZml0IC5wc3dwX190b3AtYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgzMiwgMjksIDI5LCAwLjUpO1xufVxuXG4ucHN3cF9fY2FwdGlvbiBoMSwgLnBzd3BfX2NhcHRpb24gaDIsIC5wc3dwX19jYXB0aW9uIGgzLCAucHN3cF9fY2FwdGlvbiBoNCwgLnBzd3BfX2NhcHRpb24gaDUsIC5wc3dwX19jYXB0aW9uIGg2LCAucHN3cF9fY2FwdGlvbiBwIHtcbiAgY29sb3I6ICNlZWU7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbWFyZ2luOiAwO1xufVxuLnBzd3BfX2NhcHRpb24gLmdhbGxlcnktc2V0X19jb3VudCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5wc3dwX19jYXB0aW9uX19jZW50ZXIge1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5wc3dwX19jYXB0aW9uX19jZW50ZXIge1xuICAgIHBhZGRpbmc6IDE1cHggMTBweCAyOHB4IDEwcHg7XG4gICAgbWF4LXdpZHRoOiA2NiU7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxOTAwcHgpIHtcbiAgLnBzd3BfX2NhcHRpb25fX2NlbnRlciB7XG4gICAgbWF4LXdpZHRoOiA2MyU7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAyMDAwcHgpIHtcbiAgLnBzd3BfX2NhcHRpb25fX2NlbnRlciB7XG4gICAgbWF4LXdpZHRoOiA2NCU7XG4gIH1cbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcImZpbGUtdHlwZXNcIjtcbiAgc3JjOiB1cmwoXCIuLi8uLi9mb250cy9maWxlLXR5cGVzL2ZpbGUtdHlwZXMud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5bY2xhc3NePWljb24tZmlsZV0sIFtjbGFzcyo9XCIgaWNvbi1maWxlXCJdIHtcbiAgZm9udC1mYW1pbHk6IFwiZmlsZS10eXBlc1wiLCBzYW5zLXNlcmlmO1xuICBzcGVhazogbm9uZTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbn1cblxuLmljb24tZmlsZS1zcHJlYWRzaGVldDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTYwMFwiO1xufVxuXG4uaWNvbi1maWxlLWVtcHR5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTI0XCI7XG59XG5cbi5pY29uLWZpbGUtdGV4dDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkyNlwiO1xufVxuXG4uaWNvbi1maWxlLXBpY3R1cmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MjdcIjtcbn1cblxuLmljb24tZmlsZS1tdXNpYzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkyOFwiO1xufVxuXG4uaWNvbi1maWxlLXZpZGVvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTJhXCI7XG59XG5cbi5pY29uLWZpbGUtYXJjaGl2ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkyYlwiO1xufVxuXG4uaWNvbi1maWxlLXBkZjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWFkYVwiO1xufVxuXG4uaWNvLWxpbmsge1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuLmljby1saW5rOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTI0XCI7XG4gIGZvbnQtZmFtaWx5OiBcImZpbGUtdHlwZXNcIiwgc2Fucy1zZXJpZjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICBtYXJnaW4tcmlnaHQ6IDdweDtcbiAgbWFyZ2luLWxlZnQ6IDdweDtcbiAgc3BlYWs6IG5vbmU7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC12YXJpYW50OiBub3JtYWw7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBsaW5lLWhlaWdodDogMTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIGZvbnQtc2l6ZTogMjhweDtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG5cbltocmVmKj1cIi5wZGZcIl0gLmljby1saW5rOmJlZm9yZSxcbltocmVmKj1cIi5QREZcIl0gLmljby1saW5rOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYWRhXCI7XG59XG5cbltocmVmKj1cIi5kb2NcIl0gLmljby1saW5rOmJlZm9yZSwgW2hyZWYqPVwiLkRPQ1wiXSAuaWNvLWxpbms6YmVmb3JlLCBbaHJlZio9XCIudHh0XCJdIC5pY28tbGluazpiZWZvcmUsIFtocmVmKj1cIi5UWFRcIl0gLmljby1saW5rOmJlZm9yZSwgW2hyZWYqPVwiLnJ0ZlwiXSAuaWNvLWxpbms6YmVmb3JlLCBbaHJlZio9XCIuUlRGXCJdIC5pY28tbGluazpiZWZvcmUsIFtocmVmKj1cIi5kb2N4XCJdIC5pY28tbGluazpiZWZvcmUsIFtocmVmKj1cIi5ET0NYXCJdIC5pY28tbGluazpiZWZvcmUsIFtocmVmKj1cIi5vZHRcIl0gLmljby1saW5rOmJlZm9yZSwgW2hyZWYqPVwiLk9EVFwiXSAuaWNvLWxpbms6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MjZcIjtcbn1cblxuW2hyZWYqPVwiLm1wM1wiXSAuaWNvLWxpbms6YmVmb3JlLCBbaHJlZio9XCIud2F2XCJdIC5pY28tbGluazpiZWZvcmUsIFtocmVmKj1cIi5hYWNcIl0gLmljby1saW5rOmJlZm9yZSxcbltocmVmKj1cIi5NUDNcIl0gLmljby1saW5rOmJlZm9yZSwgW2hyZWYqPVwiLldBVlwiXSAuaWNvLWxpbms6YmVmb3JlLCBbaHJlZio9XCIuQUFDXCJdIC5pY28tbGluazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkyOFwiO1xufVxuXG5baHJlZio9XCIuYXZpXCJdIC5pY28tbGluazpiZWZvcmUsIFtocmVmKj1cIi5tcDRcIl0gLmljby1saW5rOmJlZm9yZSwgW2hyZWYqPVwiLm1wZ1wiXSAuaWNvLWxpbms6YmVmb3JlLCBbaHJlZio9XCIubW92XCJdIC5pY28tbGluazpiZWZvcmUsIFtocmVmKj1cIi5tcGVnXCJdIC5pY28tbGluazpiZWZvcmUsIFtocmVmKj1cIi5wcHRcIl0gLmljby1saW5rOmJlZm9yZSwgW2hyZWYqPVwiLnBwdHhcIl0gLmljby1saW5rOmJlZm9yZSwgW2hyZWYqPVwiLm9nZ1wiXSAuaWNvLWxpbms6YmVmb3JlLFxuW2hyZWYqPVwiLkFWSVwiXSAuaWNvLWxpbms6YmVmb3JlLCBbaHJlZio9XCIuTVA0XCJdIC5pY28tbGluazpiZWZvcmUsIFtocmVmKj1cIi5NUEdcIl0gLmljby1saW5rOmJlZm9yZSwgW2hyZWYqPVwiLk1PVlwiXSAuaWNvLWxpbms6YmVmb3JlLCBbaHJlZio9XCIuTVBFR1wiXSAuaWNvLWxpbms6YmVmb3JlLCBbaHJlZio9XCIuUFBUXCJdIC5pY28tbGluazpiZWZvcmUsIFtocmVmKj1cIi5QUFRYXCJdIC5pY28tbGluazpiZWZvcmUsIFtocmVmKj1cIi5PR0dcIl0gLmljby1saW5rOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTJhXCI7XG59XG5cbltocmVmKj1cIi56aXBcIl0gLmljby1saW5rOmJlZm9yZSwgW2hyZWYqPVwiLnJhclwiXSAuaWNvLWxpbms6YmVmb3JlLCBbaHJlZio9XCIuN3pcIl0gLmljby1saW5rOmJlZm9yZSwgW2hyZWYqPVwiLnRhclwiXSAuaWNvLWxpbms6YmVmb3JlLCBbaHJlZio9XCIuZ3pcIl0gLmljby1saW5rOmJlZm9yZSxcbltocmVmKj1cIi5aSVBcIl0gLmljby1saW5rOmJlZm9yZSwgW2hyZWYqPVwiLlJBUlwiXSAuaWNvLWxpbms6YmVmb3JlLCBbaHJlZio9XCIuN1pcIl0gLmljby1saW5rOmJlZm9yZSwgW2hyZWYqPVwiLlRBUlwiXSAuaWNvLWxpbms6YmVmb3JlLCBbaHJlZio9XCIuR1pcIl0gLmljby1saW5rOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTJiXCI7XG59XG5cbltocmVmKj1cIi5jc3ZcIl0gLmljby1saW5rOmJlZm9yZSwgW2hyZWYqPVwiLnhsc1wiXSAuaWNvLWxpbms6YmVmb3JlLCBbaHJlZio9XCIueGxzeFwiXSAuaWNvLWxpbms6YmVmb3JlLCBbaHJlZio9XCIuc3hjXCJdIC5pY28tbGluazpiZWZvcmUsXG5baHJlZio9XCIuQ1NWXCJdIC5pY28tbGluazpiZWZvcmUsIFtocmVmKj1cIi5YTFNcIl0gLmljby1saW5rOmJlZm9yZSwgW2hyZWYqPVwiLlhMU1hcIl0gLmljby1saW5rOmJlZm9yZSwgW2hyZWYqPVwiLlNYQ1wiXSAuaWNvLWxpbms6YmVmb3JlLCBbaHJlZio9XCIub2RzXCJdIC5pY28tbGluazpiZWZvcmUsIFtocmVmKj1cIi5PRFNcIl0gLmljby1saW5rOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlNjAwXCI7XG59XG5cbi5jb250ZW50X3R5cGVfcGRmOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYWRhXCI7XG59XG5cbi5jb250ZW50X3R5cGVfdm5kX21zLWV4Y2VsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlNjAwXCI7XG59XG5cbi5jb250ZW50X3R5cGVfemlwOmJlZm9yZSxcbi5jb250ZW50X3R5cGVfcmFyOmJlZm9yZSxcbi5jb250ZW50X3R5cGVfeC1nemlwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTJiXCI7XG59XG5cbi5jb250ZW50X3R5cGVfdmlkZW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MmFcIjtcbn1cblxuLmNvbnRlbnRfdHlwZV9pbWFnZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkyN1wiO1xufVxuXG4uY29udGVudF90eXBlX3ZuZF9vYXNpc19vcGVuZG9jdW1lbnRfc3ByZWFkc2hlZXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU2MDBcIjtcbn1cblxuLmNvbnRlbnRfdHlwZV9wZGYyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYWRhXCI7XG59XG5cbi5jb250ZW50X3R5cGVfdm5kX21zLXBvd2VycG9pbnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MmFcIjtcbn1cblxuLmNvbnRlbnRfdHlwZV9wbGFpbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkyNFwiO1xufVxuXG4uY29udGVudF90eXBlX2F1ZGlvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTI4XCI7XG59XG5cbi5jb250ZW50X3R5cGVfbXN3b3JkOmJlZm9yZSxcbi5jb250ZW50X3R5cGVfcnRmOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTI2XCI7XG59XG5cbi5hcnJhbmdlbWVudCB7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gIGNsZWFyOiBib3RoO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5hcnJhbmdlbWVudCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTQwMHB4KSB7XG4gIC5hcnJhbmdlbWVudCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICB9XG59XG4uYXJyYW5nZW1lbnRfX2NvbnRlbnQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICBwYWRkaW5nOiAwIDExLjVweCAxMS41cHggMTEuNXB4O1xuICBtYXJnaW46IC0yM3B4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5hcnJhbmdlbWVudF9fY29udGVudCB7XG4gICAgcGFkZGluZzogMCA3LjVweCA3LjVweCA3LjVweDtcbiAgICBtYXJnaW46IC0xNXB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTQwMHB4KSB7XG4gIC5hcnJhbmdlbWVudF9fY29udGVudCB7XG4gICAgcGFkZGluZzogMCA4cHggOHB4IDhweDtcbiAgICBtYXJnaW46IC0xNnB4O1xuICB9XG59XG4uYXJyYW5nZW1lbnRfX2NvbnRlbnQgPiBkaXYsXG4uYXJyYW5nZW1lbnRfX2NvbnRlbnQgPiBmaWd1cmUge1xuICBtYXJnaW46IDExLjVweDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuYXJyYW5nZW1lbnRfX2NvbnRlbnQgPiBkaXYsXG4gIC5hcnJhbmdlbWVudF9fY29udGVudCA+IGZpZ3VyZSB7XG4gICAgbWFyZ2luOiA3LjVweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDE0MDBweCkge1xuICAuYXJyYW5nZW1lbnRfX2NvbnRlbnQgPiBkaXYsXG4gIC5hcnJhbmdlbWVudF9fY29udGVudCA+IGZpZ3VyZSB7XG4gICAgbWFyZ2luOiA4cHg7XG4gIH1cbn1cbi5hcnJhbmdlbWVudF9fY29udGVudCA+IGRpdiAuZmlndXJlX19pbWFnZSxcbi5hcnJhbmdlbWVudF9fY29udGVudCA+IGZpZ3VyZSAuZmlndXJlX19pbWFnZSB7XG4gIG1heC13aWR0aDogbm9uZTtcbiAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuLmFycmFuZ2VtZW50X19jb250ZW50ID4gZGl2IC5maWd1cmVfX2ZpZ2NhcHRpb24sXG4uYXJyYW5nZW1lbnRfX2NvbnRlbnQgPiBmaWd1cmUgLmZpZ3VyZV9fZmlnY2FwdGlvbiB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgLmFycmFuZ2VtZW50X19jb250ZW50ID4gZGl2IC5maWd1cmVfX2ZpZ2NhcHRpb24sXG4gIC5hcnJhbmdlbWVudF9fY29udGVudCA+IGZpZ3VyZSAuZmlndXJlX19maWdjYXB0aW9uIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTQwMHB4KSB7XG4gIC5hcnJhbmdlbWVudF9fY29udGVudCA+IGRpdiAuZmlndXJlX19maWdjYXB0aW9uLFxuICAuYXJyYW5nZW1lbnRfX2NvbnRlbnQgPiBmaWd1cmUgLmZpZ3VyZV9fZmlnY2FwdGlvbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuLmFycmFuZ2VtZW50X19jb250ZW50IGZpZ3VyZSB7XG4gIHdpZHRoOiAxMDAlO1xufVxuLmFycmFuZ2VtZW50LS0xeCAuYXJyYW5nZW1lbnRfX2NvbnRlbnQgPiBkaXYsXG4uYXJyYW5nZW1lbnQtLTF4IC5hcnJhbmdlbWVudF9fY29udGVudCA+IGZpZ3VyZSB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAyM3B4KTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAuYXJyYW5nZW1lbnQtLTF4IC5hcnJhbmdlbWVudF9fY29udGVudCA+IGRpdixcbiAgLmFycmFuZ2VtZW50LS0xeCAuYXJyYW5nZW1lbnRfX2NvbnRlbnQgPiBmaWd1cmUge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAyM3B4KTtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5hcnJhbmdlbWVudC0tMXggLmFycmFuZ2VtZW50X19jb250ZW50ID4gZGl2LFxuICAuYXJyYW5nZW1lbnQtLTF4IC5hcnJhbmdlbWVudF9fY29udGVudCA+IGZpZ3VyZSB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDE1cHgpO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTQwMHB4KSB7XG4gIC5hcnJhbmdlbWVudC0tMXggLmFycmFuZ2VtZW50X19jb250ZW50ID4gZGl2LFxuICAuYXJyYW5nZW1lbnQtLTF4IC5hcnJhbmdlbWVudF9fY29udGVudCA+IGZpZ3VyZSB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDE2cHgpO1xuICB9XG59XG4uYXJyYW5nZW1lbnQtLTJ4IC5hcnJhbmdlbWVudF9fY29udGVudCA+IGRpdixcbi5hcnJhbmdlbWVudC0tMnggLmFycmFuZ2VtZW50X19jb250ZW50ID4gZmlndXJlIHtcbiAgd2lkdGg6IGNhbGMoNTAlIC0gMjNweCk7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgLmFycmFuZ2VtZW50LS0yeCAuYXJyYW5nZW1lbnRfX2NvbnRlbnQgPiBkaXYsXG4gIC5hcnJhbmdlbWVudC0tMnggLmFycmFuZ2VtZW50X19jb250ZW50ID4gZmlndXJlIHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAyM3B4KTtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5hcnJhbmdlbWVudC0tMnggLmFycmFuZ2VtZW50X19jb250ZW50ID4gZGl2LFxuICAuYXJyYW5nZW1lbnQtLTJ4IC5hcnJhbmdlbWVudF9fY29udGVudCA+IGZpZ3VyZSB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMTVweCk7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxNDAwcHgpIHtcbiAgLmFycmFuZ2VtZW50LS0yeCAuYXJyYW5nZW1lbnRfX2NvbnRlbnQgPiBkaXYsXG4gIC5hcnJhbmdlbWVudC0tMnggLmFycmFuZ2VtZW50X19jb250ZW50ID4gZmlndXJlIHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAxNnB4KTtcbiAgfVxufVxuLmFycmFuZ2VtZW50LS0zeCAuYXJyYW5nZW1lbnRfX2NvbnRlbnQgPiBkaXYsXG4uYXJyYW5nZW1lbnQtLTN4IC5hcnJhbmdlbWVudF9fY29udGVudCA+IGZpZ3VyZSB7XG4gIHdpZHRoOiBjYWxjKDMzLjMzMyUgLSAyM3B4KTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAuYXJyYW5nZW1lbnQtLTN4IC5hcnJhbmdlbWVudF9fY29udGVudCA+IGRpdixcbiAgLmFycmFuZ2VtZW50LS0zeCAuYXJyYW5nZW1lbnRfX2NvbnRlbnQgPiBmaWd1cmUge1xuICAgIHdpZHRoOiBjYWxjKDMzLjMzMyUgLSAyM3B4KTtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5hcnJhbmdlbWVudC0tM3ggLmFycmFuZ2VtZW50X19jb250ZW50ID4gZGl2LFxuICAuYXJyYW5nZW1lbnQtLTN4IC5hcnJhbmdlbWVudF9fY29udGVudCA+IGZpZ3VyZSB7XG4gICAgd2lkdGg6IGNhbGMoMzMuMzMzJSAtIDE1cHgpO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTQwMHB4KSB7XG4gIC5hcnJhbmdlbWVudC0tM3ggLmFycmFuZ2VtZW50X19jb250ZW50ID4gZGl2LFxuICAuYXJyYW5nZW1lbnQtLTN4IC5hcnJhbmdlbWVudF9fY29udGVudCA+IGZpZ3VyZSB7XG4gICAgd2lkdGg6IGNhbGMoMzMuMzMzJSAtIDE2cHgpO1xuICB9XG59XG4uYXJyYW5nZW1lbnQtLTR4IC5hcnJhbmdlbWVudF9fY29udGVudCA+IGRpdixcbi5hcnJhbmdlbWVudC0tNHggLmFycmFuZ2VtZW50X19jb250ZW50ID4gZmlndXJlIHtcbiAgd2lkdGg6IGNhbGMoNTAlIC0gMjNweCk7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgLmFycmFuZ2VtZW50LS00eCAuYXJyYW5nZW1lbnRfX2NvbnRlbnQgPiBkaXYsXG4gIC5hcnJhbmdlbWVudC0tNHggLmFycmFuZ2VtZW50X19jb250ZW50ID4gZmlndXJlIHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAyM3B4KTtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5hcnJhbmdlbWVudC0tNHggLmFycmFuZ2VtZW50X19jb250ZW50ID4gZGl2LFxuICAuYXJyYW5nZW1lbnQtLTR4IC5hcnJhbmdlbWVudF9fY29udGVudCA+IGZpZ3VyZSB7XG4gICAgd2lkdGg6IGNhbGMoMjUlIC0gMTVweCk7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxNDAwcHgpIHtcbiAgLmFycmFuZ2VtZW50LS00eCAuYXJyYW5nZW1lbnRfX2NvbnRlbnQgPiBkaXYsXG4gIC5hcnJhbmdlbWVudC0tNHggLmFycmFuZ2VtZW50X19jb250ZW50ID4gZmlndXJlIHtcbiAgICB3aWR0aDogY2FsYygyNSUgLSAxNnB4KTtcbiAgfVxufVxuLmFycmFuZ2VtZW50LS01eCAuYXJyYW5nZW1lbnRfX2NvbnRlbnQgPiBkaXYsXG4uYXJyYW5nZW1lbnQtLTV4IC5hcnJhbmdlbWVudF9fY29udGVudCA+IGZpZ3VyZSB7XG4gIHdpZHRoOiBjYWxjKDI1JSAtIDIzcHgpO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gIC5hcnJhbmdlbWVudC0tNXggLmFycmFuZ2VtZW50X19jb250ZW50ID4gZGl2LFxuICAuYXJyYW5nZW1lbnQtLTV4IC5hcnJhbmdlbWVudF9fY29udGVudCA+IGZpZ3VyZSB7XG4gICAgd2lkdGg6IGNhbGMoMjAlIC0gMjNweCk7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuYXJyYW5nZW1lbnQtLTV4IC5hcnJhbmdlbWVudF9fY29udGVudCA+IGRpdixcbiAgLmFycmFuZ2VtZW50LS01eCAuYXJyYW5nZW1lbnRfX2NvbnRlbnQgPiBmaWd1cmUge1xuICAgIHdpZHRoOiBjYWxjKDIwJSAtIDE1cHgpO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTQwMHB4KSB7XG4gIC5hcnJhbmdlbWVudC0tNXggLmFycmFuZ2VtZW50X19jb250ZW50ID4gZGl2LFxuICAuYXJyYW5nZW1lbnQtLTV4IC5hcnJhbmdlbWVudF9fY29udGVudCA+IGZpZ3VyZSB7XG4gICAgd2lkdGg6IGNhbGMoMjAlIC0gMTZweCk7XG4gIH1cbn1cbi5hcnJhbmdlbWVudC0tNnggLmFycmFuZ2VtZW50X19jb250ZW50ID4gZGl2LFxuLmFycmFuZ2VtZW50LS02eCAuYXJyYW5nZW1lbnRfX2NvbnRlbnQgPiBmaWd1cmUge1xuICB3aWR0aDogY2FsYygyNSUgLSAyM3B4KTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAuYXJyYW5nZW1lbnQtLTZ4IC5hcnJhbmdlbWVudF9fY29udGVudCA+IGRpdixcbiAgLmFycmFuZ2VtZW50LS02eCAuYXJyYW5nZW1lbnRfX2NvbnRlbnQgPiBmaWd1cmUge1xuICAgIHdpZHRoOiBjYWxjKDE2LjY2NiUgLSAyM3B4KTtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5hcnJhbmdlbWVudC0tNnggLmFycmFuZ2VtZW50X19jb250ZW50ID4gZGl2LFxuICAuYXJyYW5nZW1lbnQtLTZ4IC5hcnJhbmdlbWVudF9fY29udGVudCA+IGZpZ3VyZSB7XG4gICAgd2lkdGg6IGNhbGMoMTYuNjY2JSAtIDE1cHgpO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTQwMHB4KSB7XG4gIC5hcnJhbmdlbWVudC0tNnggLmFycmFuZ2VtZW50X19jb250ZW50ID4gZGl2LFxuICAuYXJyYW5nZW1lbnQtLTZ4IC5hcnJhbmdlbWVudF9fY29udGVudCA+IGZpZ3VyZSB7XG4gICAgd2lkdGg6IGNhbGMoMTYuNjY2JSAtIDE2cHgpO1xuICB9XG59XG4uYXJyYW5nZW1lbnQtLTd4IC5hcnJhbmdlbWVudF9fY29udGVudCA+IGRpdixcbi5hcnJhbmdlbWVudC0tN3ggLmFycmFuZ2VtZW50X19jb250ZW50ID4gZmlndXJlIHtcbiAgd2lkdGg6IGNhbGMoMjUlIC0gMjNweCk7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgLmFycmFuZ2VtZW50LS03eCAuYXJyYW5nZW1lbnRfX2NvbnRlbnQgPiBkaXYsXG4gIC5hcnJhbmdlbWVudC0tN3ggLmFycmFuZ2VtZW50X19jb250ZW50ID4gZmlndXJlIHtcbiAgICB3aWR0aDogY2FsYygxNi42NjYlIC0gMjNweCk7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuYXJyYW5nZW1lbnQtLTd4IC5hcnJhbmdlbWVudF9fY29udGVudCA+IGRpdixcbiAgLmFycmFuZ2VtZW50LS03eCAuYXJyYW5nZW1lbnRfX2NvbnRlbnQgPiBmaWd1cmUge1xuICAgIHdpZHRoOiBjYWxjKDE0LjI4NSUgLSAxNXB4KTtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDE0MDBweCkge1xuICAuYXJyYW5nZW1lbnQtLTd4IC5hcnJhbmdlbWVudF9fY29udGVudCA+IGRpdixcbiAgLmFycmFuZ2VtZW50LS03eCAuYXJyYW5nZW1lbnRfX2NvbnRlbnQgPiBmaWd1cmUge1xuICAgIHdpZHRoOiBjYWxjKDE0LjI4NSUgLSAxNnB4KTtcbiAgfVxufVxuLmFycmFuZ2VtZW50LS04eCAuYXJyYW5nZW1lbnRfX2NvbnRlbnQgPiBkaXYsXG4uYXJyYW5nZW1lbnQtLTh4IC5hcnJhbmdlbWVudF9fY29udGVudCA+IGZpZ3VyZSB7XG4gIHdpZHRoOiBjYWxjKDI1JSAtIDIzcHgpO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gIC5hcnJhbmdlbWVudC0tOHggLmFycmFuZ2VtZW50X19jb250ZW50ID4gZGl2LFxuICAuYXJyYW5nZW1lbnQtLTh4IC5hcnJhbmdlbWVudF9fY29udGVudCA+IGZpZ3VyZSB7XG4gICAgd2lkdGg6IGNhbGMoMTYuNjY2JSAtIDIzcHgpO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmFycmFuZ2VtZW50LS04eCAuYXJyYW5nZW1lbnRfX2NvbnRlbnQgPiBkaXYsXG4gIC5hcnJhbmdlbWVudC0tOHggLmFycmFuZ2VtZW50X19jb250ZW50ID4gZmlndXJlIHtcbiAgICB3aWR0aDogY2FsYygxMi41JSAtIDE1cHgpO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTQwMHB4KSB7XG4gIC5hcnJhbmdlbWVudC0tOHggLmFycmFuZ2VtZW50X19jb250ZW50ID4gZGl2LFxuICAuYXJyYW5nZW1lbnQtLTh4IC5hcnJhbmdlbWVudF9fY29udGVudCA+IGZpZ3VyZSB7XG4gICAgd2lkdGg6IGNhbGMoMTIuNSUgLSAxNnB4KTtcbiAgfVxufVxuLmFycmFuZ2VtZW50LS05eCAuYXJyYW5nZW1lbnRfX2NvbnRlbnQgPiBkaXYsXG4uYXJyYW5nZW1lbnQtLTl4IC5hcnJhbmdlbWVudF9fY29udGVudCA+IGZpZ3VyZSB7XG4gIHdpZHRoOiBjYWxjKDI1JSAtIDIzcHgpO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gIC5hcnJhbmdlbWVudC0tOXggLmFycmFuZ2VtZW50X19jb250ZW50ID4gZGl2LFxuICAuYXJyYW5nZW1lbnQtLTl4IC5hcnJhbmdlbWVudF9fY29udGVudCA+IGZpZ3VyZSB7XG4gICAgd2lkdGg6IGNhbGMoMTYuNjY2JSAtIDIzcHgpO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmFycmFuZ2VtZW50LS05eCAuYXJyYW5nZW1lbnRfX2NvbnRlbnQgPiBkaXYsXG4gIC5hcnJhbmdlbWVudC0tOXggLmFycmFuZ2VtZW50X19jb250ZW50ID4gZmlndXJlIHtcbiAgICB3aWR0aDogY2FsYygxMS4xMTElIC0gMTVweCk7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxNDAwcHgpIHtcbiAgLmFycmFuZ2VtZW50LS05eCAuYXJyYW5nZW1lbnRfX2NvbnRlbnQgPiBkaXYsXG4gIC5hcnJhbmdlbWVudC0tOXggLmFycmFuZ2VtZW50X19jb250ZW50ID4gZmlndXJlIHtcbiAgICB3aWR0aDogY2FsYygxMS4xMTElIC0gMTZweCk7XG4gIH1cbn1cbi5hcnJhbmdlbWVudC0tMTB4IC5hcnJhbmdlbWVudF9fY29udGVudCA+IGRpdixcbi5hcnJhbmdlbWVudC0tMTB4IC5hcnJhbmdlbWVudF9fY29udGVudCA+IGZpZ3VyZSB7XG4gIHdpZHRoOiBjYWxjKDI1JSAtIDIzcHgpO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gIC5hcnJhbmdlbWVudC0tMTB4IC5hcnJhbmdlbWVudF9fY29udGVudCA+IGRpdixcbiAgLmFycmFuZ2VtZW50LS0xMHggLmFycmFuZ2VtZW50X19jb250ZW50ID4gZmlndXJlIHtcbiAgICB3aWR0aDogY2FsYygxNi42NjYlIC0gMjNweCk7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuYXJyYW5nZW1lbnQtLTEweCAuYXJyYW5nZW1lbnRfX2NvbnRlbnQgPiBkaXYsXG4gIC5hcnJhbmdlbWVudC0tMTB4IC5hcnJhbmdlbWVudF9fY29udGVudCA+IGZpZ3VyZSB7XG4gICAgd2lkdGg6IGNhbGMoMTAlIC0gMTVweCk7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxNDAwcHgpIHtcbiAgLmFycmFuZ2VtZW50LS0xMHggLmFycmFuZ2VtZW50X19jb250ZW50ID4gZGl2LFxuICAuYXJyYW5nZW1lbnQtLTEweCAuYXJyYW5nZW1lbnRfX2NvbnRlbnQgPiBmaWd1cmUge1xuICAgIHdpZHRoOiBjYWxjKDEwJSAtIDE2cHgpO1xuICB9XG59XG5cbi50b2FzdHMge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgbWFyZ2luOiBhdXRvO1xuICB6LWluZGV4OiAxOTEyO1xuICB3aWR0aDogMTAwJTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC50b2FzdHMge1xuICAgIHotaW5kZXg6IDE5MTI7XG4gICAgd2lkdGg6IDA7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogMDtcbiAgICB0b3A6IDA7XG4gICAgaGVpZ2h0OiAxMDB2aDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgfVxufVxuXG4udG9hc3Qge1xuICBjb2xvcjogI2ZmZjtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgYm9yZGVyOiBub25lO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAwO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBtYXgtd2lkdGg6IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7XG4gIGZsZXgtYmFzaXM6IGF1dG87XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLnRvYXN0IHtcbiAgICB3aWR0aDogMjQwcHg7XG4gICAgbWFyZ2luOiAyMHB4IDIwcHggMTBweCAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM2ZWMwMWU7XG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgIGJveC1zaGFkb3c6IC0zcHggM3B4IDZweCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAudG9hc3QudG9hc3QtLXdhcm5pbmcge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGMjZBMjE7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAudG9hc3QudG9hc3QtLWFsZXJ0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmYwMDAwO1xuICB9XG59XG4udG9hc3QgYSB7XG4gIGNvbG9yOiAjZmZmO1xufVxuLnRvYXN0LWhlYWRlciB7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDBBRUVGO1xuICBjb2xvcjogI2ZmZjtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgZm9udC1zaXplOiAxNi41cHg7XG4gIGJvcmRlcjogbm9uZTtcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDU4cHg7XG4gIGxpbmUtaGVpZ2h0OiA1OHB4O1xuICBwYWRkaW5nOiAwIDU1cHggMCA1MHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbi1ib3R0b206IC0zcHg7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLnRvYXN0LWhlYWRlciB7XG4gICAgcGFkZGluZzogMTVweCAyNXB4IDAgMTVweDtcbiAgICBmb250LXNpemU6IDE5cHg7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG59XG4udG9hc3QtLXdhcm5pbmcgLnRvYXN0LWhlYWRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGMjZBMjE7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLnRvYXN0LS13YXJuaW5nIC50b2FzdC1oZWFkZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG59XG4udG9hc3QtLWFsZXJ0IC50b2FzdC1oZWFkZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmYwMDAwO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC50b2FzdC0tYWxlcnQgLnRvYXN0LWhlYWRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cbn1cbi50b2FzdC1oZWFkZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB3aWR0aDogMThweDtcbiAgaGVpZ2h0OiAxOHB4O1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyUyMHhtbG5zJTNEJTIyaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmclMjIlMjBmaWxsJTNEJTIyJTIzMDBBRUVGJTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMjYlMjAyNiUyMiUzRSUzQ3BhdGglMjBkJTNEJTIyTTI1LDEzQTEyLDEyLDAsMSwxLDEzLDEsMTIsMTIsMCwwLDEsMjUsMTNaJTIyJTIwZmlsbCUzRCUyMiUyM2ZmZiUyMi8lM0UlM0NwYXRoJTIwZCUzRCUyMk0xMS4zLDE4LjY2LDUuNjUsMTNsMi4yNi0yLjI2LDMuMzksMy4zOSw2Ljc5LTYuNzksMi4yNiwyLjI3WiUyMiUyMGZpbGwlM0QlMjIlMjMwMEFFRUYlMjIvJTNFJTNDcGF0aCUyMGQlM0QlMjJNMjYsMjZIMFYwSDI2WiUyMiUyMGZpbGwlM0QlMjJub25lJTIyLyUzRSUzQy9zdmclM0VcIik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBtYXJnaW4tcmlnaHQ6IDVweDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAudG9hc3QtaGVhZGVyOmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmclMjB4bWxucyUzRCUyMmh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJTIyJTIwZmlsbCUzRCUyMiUyMzZlYzAxZSUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDI2JTIwMjYlMjIlM0UlM0NwYXRoJTIwZCUzRCUyMk0yNSwxM0ExMiwxMiwwLDEsMSwxMywxLDEyLDEyLDAsMCwxLDI1LDEzWiUyMiUyMGZpbGwlM0QlMjIlMjNmZmYlMjIvJTNFJTNDcGF0aCUyMGQlM0QlMjJNMTEuMywxOC42Niw1LjY1LDEzbDIuMjYtMi4yNiwzLjM5LDMuMzksNi43OS02Ljc5LDIuMjYsMi4yN1olMjIlMjBmaWxsJTNEJTIyJTIzNmVjMDFlJTIyLyUzRSUzQ3BhdGglMjBkJTNEJTIyTTI2LDI2SDBWMEgyNlolMjIlMjBmaWxsJTNEJTIybm9uZSUyMi8lM0UlM0Mvc3ZnJTNFXCIpO1xuICB9XG59XG4udG9hc3QtLXdhcm5pbmcgLnRvYXN0LWhlYWRlcjpiZWZvcmUge1xuICB3aWR0aDogMjBweDtcbiAgaGVpZ2h0OiAyMHB4O1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyUyMHhtbG5zJTNEJTIyaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmclMjIlMjBmaWxsJTNEJTIyJTIzZmZmJTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMjQlMjAyNCUyMiUzRSUzQ3BhdGglMjBkJTNEJTIyTTElMjAyMWgyMkwxMiUyMDIlMjAxJTIwMjF6bTEyLTNoLTJ2LTJoMnYyem0wLTRoLTJ2LTRoMnY0eiUyMi8lM0UlM0Mvc3ZnJTNFXCIpO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC50b2FzdC0td2FybmluZyAudG9hc3QtaGVhZGVyOmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmclMjB4bWxucyUzRCUyMmh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJTIyJTIwZmlsbCUzRCUyMiUyM2ZmZiUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDI0JTIwMjQlMjIlM0UlM0NwYXRoJTIwZCUzRCUyMk0xJTIwMjFoMjJMMTIlMjAyJTIwMSUyMDIxem0xMi0zaC0ydi0yaDJ2MnptMC00aC0ydi00aDJ2NHolMjIvJTNFJTNDL3N2ZyUzRVwiKTtcbiAgfVxufVxuLnRvYXN0LS1hbGVydCAudG9hc3QtaGVhZGVyOmJlZm9yZSB7XG4gIHdpZHRoOiAyMHB4O1xuICBoZWlnaHQ6IDIwcHg7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnJTIweG1sbnMlM0QlMjJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyUyMiUyMGZpbGwlM0QlMjIlMjNmZmYlMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAyNCUyMDI0JTIyJTNFJTNDcGF0aCUyMGQlM0QlMjJNMTIlMjAyQzYuNDglMjAyJTIwMiUyMDYuNDglMjAyJTIwMTJzNC40OCUyMDEwJTIwMTAlMjAxMCUyMDEwLTQuNDglMjAxMC0xMFMxNy41MiUyMDIlMjAxMiUyMDJ6bTElMjAxNWgtMnYtMmgydjJ6bTAtNGgtMlY3aDJ2NnolMjIvJTNFJTNDL3N2ZyUzRVwiKTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAudG9hc3QtLWFsZXJ0IC50b2FzdC1oZWFkZXI6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyUyMHhtbG5zJTNEJTIyaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmclMjIlMjBmaWxsJTNEJTIyJTIzZmZmJTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMjQlMjAyNCUyMiUzRSUzQ3BhdGglMjBkJTNEJTIyTTEyJTIwMkM2LjQ4JTIwMiUyMDIlMjA2LjQ4JTIwMiUyMDEyczQuNDglMjAxMCUyMDEwJTIwMTAlMjAxMC00LjQ4JTIwMTAtMTBTMTcuNTIlMjAyJTIwMTIlMjAyem0xJTIwMTVoLTJ2LTJoMnYyem0wLTRoLTJWN2gydjZ6JTIyLyUzRSUzQy9zdmclM0VcIik7XG4gIH1cbn1cbi50b2FzdC1ib2R5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwQUVFRjtcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gIGZvbnQtc2l6ZTogMTYuNXB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDVweCAyM3B4IDIzcHggMjNweDtcbn1cbi50b2FzdC0td2FybmluZyAudG9hc3QtYm9keSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGMjZBMjE7XG59XG4udG9hc3QtLWFsZXJ0IC50b2FzdC1ib2R5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmMDAwMDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAudG9hc3QtYm9keSB7XG4gICAgcGFkZGluZzogMTVweDtcbiAgICBmb250LXNpemU6IDE5cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAudG9hc3QtLXdhcm5pbmcgLnRvYXN0LWJvZHkge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLnRvYXN0LS1hbGVydCAudG9hc3QtYm9keSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cbn1cbi50b2FzdCAuY2xvc2Uge1xuICBjb2xvcjogI2ZmZjtcbiAgb3BhY2l0eTogMTtcbn1cblxuLm1vZGFsLWZ1bGwgLm1kYy1kaWFsb2dfX3NjcmltIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgzOCwgODMsIDE4NSwgMC41KTtcbn1cbi5tb2RhbC1mdWxsIC5tZGMtZGlhbG9nX19zdXJmYWNlIHtcbiAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSA0MHB4KTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5tb2RhbC1mdWxsIC5tZGMtZGlhbG9nX19zdXJmYWNlIHtcbiAgICBtYXgtd2lkdGg6IDcyMHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLm1vZGFsLWZ1bGwgLm1kYy1kaWFsb2dfX3N1cmZhY2Uge1xuICAgIG1heC13aWR0aDogODgwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLm1vZGFsLWZ1bGwgLm1kYy1kaWFsb2dfX3N1cmZhY2Uge1xuICAgIG1heC13aWR0aDogMTA4MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTQwMHB4KSB7XG4gIC5tb2RhbC1mdWxsIC5tZGMtZGlhbG9nX19zdXJmYWNlIHtcbiAgICBtYXgtd2lkdGg6IDEyODBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDE2NTZweCkge1xuICAubW9kYWwtZnVsbCAubWRjLWRpYWxvZ19fc3VyZmFjZSB7XG4gICAgbWF4LXdpZHRoOiAxNTAwcHg7XG4gIH1cbn1cbi5tZGMtZGlhbG9nIC5tb2RhbC1mdWxsX19jb250ZW50IHtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMnB4O1xuICBwYWRkaW5nOiA1cHg7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLm1kYy1kaWFsb2cgLm1vZGFsLWZ1bGxfX2NvbnRlbnQge1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLm1kYy1kaWFsb2cgLm1vZGFsLWZ1bGxfX2NvbnRlbnQge1xuICAgIHBhZGRpbmc6IDIwcHg7XG4gIH1cbn1cbi5tb2RhbC1mdWxsX19jbG9zZSB7XG4gIGJvcmRlcjogMDtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiA1MDtcbiAgdG9wOiAycHg7XG4gIHJpZ2h0OiAycHg7XG4gIHdpZHRoOiA0OHB4O1xuICBoZWlnaHQ6IDQ4cHg7XG4gIG91dGxpbmU6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyUyMHhtbG5zJTNEJTIyaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmclMjIlMjBmaWxsJTNEJTIyJTIzMjAxZDFkJTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMzYlMjAzNiUyMiUzRSUzQ3BhdGglMjBkJTNEJTIyTTIuNTQsMS4xN2gwYTEuMDgsMS4wOCwwLDAsMSwuODYuMzlMMTgsMTYuMTIsMzIuNTIsMS41NmExLjEzLDEuMTMsMCwwLDEsLjkyLS4zOSwxLjI0LDEuMjQsMCwwLDEsMSwuMzksMS4zMiwxLjMyLDAsMCwxLC4zNi45MiwxLjI4LDEuMjgsMCwwLDEtLjM5LjkyTDE5Ljc5LDE4LDM0LjM2LDMyLjUyYTEuMjYsMS4yNiwwLDAsMSwuMzkuOTIsMS4zMywxLjMzLDAsMCwxLS4zNi45MiwxLjIsMS4yLDAsMCwxLS45Mi4zOSwxLjMsMS4zLDAsMCwxLS45NS0uMzlMMTgsMTkuNzksMy40LDM0LjM2YTEuMjgsMS4yOCwwLDAsMS0uOTIuMzksMS4yNiwxLjI2LDAsMCwxLS45Mi0uMzksMS4yOCwxLjI4LDAsMCwxLS4zOS0uOTIsMS4yNiwxLjI2LDAsMCwxLC4zOS0uOTJMMTYuMTIsMTgsMS41NiwzLjRhMS4yOCwxLjI4LDAsMCwxLS4zOS0uOTIsMS4yNiwxLjI2LDAsMCwxLC4zOS0uOTIsMS4yNiwxLjI2LDAsMCwxLC45Mi0uMzlaJTIyLyUzRSUzQ3BhdGglMjBkJTNEJTIyTTM2LDM2SDBWMEgzNlolMjIlMjBmaWxsJTNEJTIybm9uZSUyMi8lM0UlM0Mvc3ZnJTNFXCIpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IDE4cHggMThweDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5tb2RhbC1mdWxsX19jbG9zZSB7XG4gICAgdG9wOiAyNHB4O1xuICAgIHJpZ2h0OiAyNHB4O1xuICAgIGJhY2tncm91bmQtc2l6ZTogMjJweCAyMnB4O1xuICB9XG59XG4ubW9kYWwtZnVsbF9fY2xvc2U6aG92ZXIsIC5tb2RhbC1mdWxsX19jbG9zZTpmb2N1cyB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgb3V0bGluZTogbm9uZTtcbn1cblxuYm9keTpiZWZvcmUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4ubWFpbiB7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5zbGljay1zbGlkZXIge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi5zbGljay1zbGlkZXIucHJvZHVjdC1jYXJkX19jb250cm9sIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuc2xpY2stc2xpZGVyLnByb2R1Y3QtY2FyZF9fY29udHJvbCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuLm1vZGFsLWZ1bGwtLW5ld3NsZXR0ZXIgLm1vZGFsLWZ1bGxfX2NvbnRlbnQge1xuICBwYWRkaW5nOiAwO1xufVxuLm1vZGFsLWZ1bGwtLW5ld3NsZXR0ZXIgLm1vZGFsLWZ1bGxfX2Nsb3NlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmclMjB4bWxucyUzRCUyMmh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJTIyJTIwZmlsbCUzRCUyMiUyM2ZmZiUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDM2JTIwMzYlMjIlM0UlM0NwYXRoJTIwZCUzRCUyMk0yLjU0LDEuMTdoMGExLjA4LDEuMDgsMCwwLDEsLjg2LjM5TDE4LDE2LjEyLDMyLjUyLDEuNTZhMS4xMywxLjEzLDAsMCwxLC45Mi0uMzksMS4yNCwxLjI0LDAsMCwxLDEsLjM5LDEuMzIsMS4zMiwwLDAsMSwuMzYuOTIsMS4yOCwxLjI4LDAsMCwxLS4zOS45MkwxOS43OSwxOCwzNC4zNiwzMi41MmExLjI2LDEuMjYsMCwwLDEsLjM5LjkyLDEuMzMsMS4zMywwLDAsMS0uMzYuOTIsMS4yLDEuMiwwLDAsMS0uOTIuMzksMS4zLDEuMywwLDAsMS0uOTUtLjM5TDE4LDE5Ljc5LDMuNCwzNC4zNmExLjI4LDEuMjgsMCwwLDEtLjkyLjM5LDEuMjYsMS4yNiwwLDAsMS0uOTItLjM5LDEuMjgsMS4yOCwwLDAsMS0uMzktLjkyLDEuMjYsMS4yNiwwLDAsMSwuMzktLjkyTDE2LjEyLDE4LDEuNTYsMy40YTEuMjgsMS4yOCwwLDAsMS0uMzktLjkyLDEuMjYsMS4yNiwwLDAsMSwuMzktLjkyLDEuMjYsMS4yNiwwLDAsMSwuOTItLjM5WiUyMi8lM0UlM0NwYXRoJTIwZCUzRCUyMk0zNiwzNkgwVjBIMzZaJTIyJTIwZmlsbCUzRCUyMm5vbmUlMjIvJTNFJTNDL3N2ZyUzRVwiKTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAubW9kYWwtZnVsbC0tbmV3c2xldHRlciAubWRjLWRpYWxvZ19fc3VyZmFjZSB7XG4gICAgbWF4LXdpZHRoOiA3NTBweDtcbiAgfVxufVxuXG4ubW9kYWwtbmV3c2xldHRlcl9fcm93IHtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLm1vZGFsLW5ld3NsZXR0ZXJfX3Jvdy0tY2VudGVyIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbn1cbi5tb2RhbC1uZXdzbGV0dGVyX19mb3JtIHtcbiAgcGFkZGluZzogMCA1MHB4O1xuICBtYXJnaW4tdG9wOiAtNDVweDtcbn1cbi5tb2RhbC1uZXdzbGV0dGVyX19mb3JtIC5tZGMtdGV4dC1maWVsZCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICMwMEFFRUY7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIHdpZHRoOiAxMDAlO1xufVxuLm1vZGFsLW5ld3NsZXR0ZXJfX2Zvcm0gLmN1c3RvbS12YWxpZGF0aW9uLXRleHQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG1hcmdpbjogYXV0bztcbiAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAyNnB4KTtcbiAgYm90dG9tOiAtMTRweDtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNTAlKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDUwJSk7XG4gIGxlZnQ6IDA7XG4gIGZvbnQtc2l6ZTogMTAuNXB4O1xuICBsaW5lLWhlaWdodDogMTtcbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZy1sZWZ0OiAycHg7XG4gIHBhZGRpbmctcmlnaHQ6IDJweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgY29sb3I6ICNmZjAwMDAgIWltcG9ydGFudDtcbn1cbi5tb2RhbC1uZXdzbGV0dGVyX19mb3JtIC5tZGMtdGV4dC1maWVsZC0taW52YWxpZCB7XG4gIGJvcmRlci1jb2xvcjogI2ZmMDAwMCAhaW1wb3J0YW50O1xufVxuLm1vZGFsLW5ld3NsZXR0ZXJfX2Zvcm0gLm1kYy10ZXh0LWZpZWxkLS1pbnZhbGlkIGxhYmVsIHtcbiAgY29sb3I6ICNmZjAwMDAgIWltcG9ydGFudDtcbn1cbi5tb2RhbC1uZXdzbGV0dGVyX19mb3JtIC5tZGMtY2hlY2tib3gtLWludmFsaWQgfiBsYWJlbCB7XG4gIGNvbG9yOiAjZmYwMDAwICFpbXBvcnRhbnQ7XG59XG4ubW9kYWwtbmV3c2xldHRlcl9fZm9ybSAubWRjLXRleHQtZmllbGQtLWludmFsaWQgfiAuY3VzdG9tLXZhbGlkYXRpb24tdGV4dCxcbi5tb2RhbC1uZXdzbGV0dGVyX19mb3JtIC5tZGMtY2hlY2tib3gtLWludmFsaWQgfiAuY3VzdG9tLXZhbGlkYXRpb24tdGV4dCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLm1vZGFsLW5ld3NsZXR0ZXJfX3NlbmQge1xuICB3aWR0aDogNjAlO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuLm1vZGFsLW5ld3NsZXR0ZXJfX2luZm8ge1xuICBmb250LXdlaWdodDogMzAwO1xuICBmb250LXNpemU6IDEycHg7XG4gIGxpbmUtaGVpZ2h0OiAxNnB4O1xuICBtYXJnaW4tdG9wOiAxMHB4O1xufVxuLm1vZGFsLW5ld3NsZXR0ZXIgLnNpdGUtZm9ybSAubWRjLWZvcm0tZmllbGQtLWNoZWNrYm94IGxhYmVsIHtcbiAgZm9udC1zaXplOiAxNHB4ICFpbXBvcnRhbnQ7XG59XG4ubW9kYWwtbmV3c2xldHRlcl9fZmlndXJlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi5tb2RhbC1uZXdzbGV0dGVyX19jYW52YXMge1xuICBtYXJnaW46IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi5tb2RhbC1uZXdzbGV0dGVyX19pbWcge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHVzZXItc2VsZWN0OiBub25lO1xufVxuY2FudmFzICsgcGljdHVyZSAubW9kYWwtbmV3c2xldHRlcl9faW1nIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG59XG5cbi5tb2RhbC1uZXdzbGV0dGVyLXRoYW5rc19fZmlndXJlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi5tb2RhbC1uZXdzbGV0dGVyLXRoYW5rc19fY2FudmFzIHtcbiAgbWFyZ2luOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4ubW9kYWwtbmV3c2xldHRlci10aGFua3NfX2ltZyB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG5jYW52YXMgKyBwaWN0dXJlIC5tb2RhbC1uZXdzbGV0dGVyLXRoYW5rc19faW1nIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG59XG5cbi5tYXRlcmlhbHMtbGlzdCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA5OTEuOXB4KSB7XG4gIC5tYXRlcmlhbHMtbGlzdCB7XG4gICAgcGFkZGluZzogMCAyM3B4O1xuICB9XG59XG4ubWF0ZXJpYWxzLWxpc3QtLWJvcmRlcmVkIHtcbiAgYm9yZGVyLWJvdHRvbTogMnB4IGRvdHRlZCAjMDBBRUVGO1xuICBtYXJnaW4tYm90dG9tOiA0MHB4O1xufVxuLm1hdGVyaWFscy1saXN0X190aXRsZSB7XG4gIGZvbnQtc2l6ZTogMjhweDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbWFyZ2luLWJvdHRvbTogMjVweDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLm1hdGVyaWFscy1saXN0X190aXRsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjhweDtcbiAgfVxufVxuLm1hdGVyaWFscy1saXN0X19idXR0b24ge1xuICBtYXJnaW4tYm90dG9tOiAzMHB4ICFpbXBvcnRhbnQ7XG59XG4ubWF0ZXJpYWxzLWxpc3RfX2J1dHRvbi1pY29uIHtcbiAgd2lkdGg6IDI3cHg7XG4gIGhlaWdodDogMTZweDtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmclMjB4bWxucyUzRCUyMmh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJTIyJTIwZmlsbCUzRCUyMiUyM2QwZDJkMyUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDE2JTIwMTYlMjIlM0UlM0NwYXRoJTIwaWQlM0QlMjJpY19hcnJvd19mb3J3YXJkXzI0cHglMjIlMjBkJTNEJTIyTTEyLDQsMTAuNTksNS40MSwxNi4xNywxMUg0djJIMTYuMTdsLTUuNTgsNS41OUwxMiwyMGw4LThaJTIyJTIwdHJhbnNmb3JtJTNEJTIydHJhbnNsYXRlKC00JTIwLTQpJTIyJTIwZmlsbCUzRCUyMiUyMzFjYWJlMyUyMi8lM0UlM0Mvc3ZnJTNFXCIpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IDI0cHggMjRweDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnM7XG4gIG1hcmdpbi1sZWZ0OiA1cHg7XG59XG5cbi5tYXRlcmlhbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgbWFyZ2luLWJvdHRvbTogMzBweCAhaW1wb3J0YW50O1xufVxuLm1hdGVyaWFsOmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiA4MHB4O1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApIDgwJSwgcmdiYSgzOCwgODMsIDE4NSwgMC44KSAxMDAlKTtcbiAgei1pbmRleDogMTtcbiAgdHJhbnNpdGlvbjogYm90dG9tIDMwMG1zIGVhc2UgMHM7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5tYXRlcmlhbDphZnRlciB7XG4gICAgYm90dG9tOiA5NXB4O1xuICB9XG59XG4ubWF0ZXJpYWxfX2NhbnZhcyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNEOEQxQzk7XG4gIG1hcmdpbjogMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xufVxuLm1hdGVyaWFsX19vdmVybGF5IHtcbiAgdHJhbnNpdGlvbjogdG9wIDMwMG1zIGVhc2UgMHM7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiBjYWxjKDEwMCUgLSA4MHB4KTtcbiAgei1pbmRleDogMjtcbiAgcGFkZGluZzogMTVweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgzOCwgODMsIDE4NSwgMC44KTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLm1hdGVyaWFsX19vdmVybGF5IHtcbiAgICB0b3A6IGNhbGMoMTAwJSAtIDk1cHgpO1xuICB9XG59XG4ubWF0ZXJpYWw6aG92ZXIgLm1hdGVyaWFsX19vdmVybGF5IHtcbiAgdG9wOiAwO1xufVxuLm1hdGVyaWFsOmhvdmVyOmFmdGVyIHtcbiAgYm90dG9tOiAxMDAlO1xufVxuLm1hdGVyaWFsX190aXRsZSB7XG4gIGNvbG9yOiAjZmZmO1xuICBtYXJnaW46IDAgMCAxMHB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmb250LXNpemU6IDE4cHg7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjM7XG4gIGhlaWdodDogYXV0bztcbiAgbWluLWhlaWdodDogNTVweDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAubWF0ZXJpYWxfX3RpdGxlIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLm1hdGVyaWFsX190aXRsZSB7XG4gICAgbWluLWhlaWdodDogNzBweDtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gIH1cbn1cbi5tYXRlcmlhbF9fZmlndXJlIHtcbiAgbWFyZ2luOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogYXV0bztcbn1cbi5tYXRlcmlhbF9faW1nIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbn1cbmNhbnZhcyArIHBpY3R1cmUgLm1hdGVyaWFsX19pbWcge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbn1cbi5tYXRlcmlhbF9fZGVzY3JpcHRpb24ge1xuICBjb2xvcjogI2ZmZjtcbiAgZm9udC13ZWlnaHQ6IDEwMDtcbiAgbGluZS1oZWlnaHQ6IDEuMztcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZmxleC1ncm93OiAyO1xuICBmb250LXNpemU6IDE1cHg7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMzc1cHgpIHtcbiAgLm1hdGVyaWFsX19kZXNjcmlwdGlvbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5tYXRlcmlhbF9fZGVzY3JpcHRpb24ge1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAubWF0ZXJpYWxfX2Rlc2NyaXB0aW9uIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gIH1cbn1cbi5tYXRlcmlhbF9fZGVzY3JpcHRpb24tdGV4dCB7XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgLXdlYmtpdC1saW5lLWNsYW1wOiAzO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gIC5tYXRlcmlhbF9fZGVzY3JpcHRpb24tdGV4dCB7XG4gICAgLXdlYmtpdC1saW5lLWNsYW1wOiA1O1xuICB9XG59XG4ubWF0ZXJpYWxfX21vcmUge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA0NXB4O1xuICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KSAhaW1wb3J0YW50O1xuICBjb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xuICBtYXJnaW4tdG9wOiAyMHB4O1xufVxuLm1hdGVyaWFsX19tb3JlOmhvdmVyIHtcbiAgY29sb3I6ICMyNjUzQjkgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbn0iLCIvLyBIb3ZlciBtaXhpbiBhbmQgYCRlbmFibGUtaG92ZXItbWVkaWEtcXVlcnlgIGFyZSBkZXByZWNhdGVkLlxuLy9cbi8vIE9yaWdpbmFsbHkgYWRkZWQgZHVyaW5nIG91ciBhbHBoYXMgYW5kIG1haW50YWluZWQgZHVyaW5nIGJldGFzLCB0aGlzIG1peGluIHdhc1xuLy8gZGVzaWduZWQgdG8gcHJldmVudCBgOmhvdmVyYCBzdGlja2luZXNzIG9uIGlPUy1hbiBpc3N1ZSB3aGVyZSBob3ZlciBzdHlsZXNcbi8vIHdvdWxkIHBlcnNpc3QgYWZ0ZXIgaW5pdGlhbCB0b3VjaC5cbi8vXG4vLyBGb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eSwgd2UndmUga2VwdCB0aGVzZSBtaXhpbnMgYW5kIHVwZGF0ZWQgdGhlbSB0b1xuLy8gYWx3YXlzIHJldHVybiB0aGVpciByZWd1bGFyIHBzZXVkby1jbGFzc2VzIGluc3RlYWQgb2YgYSBzaGltbWVkIG1lZGlhIHF1ZXJ5LlxuLy9cbi8vIElzc3VlOiBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI1MTk1XG5cbkBtaXhpbiBob3ZlcigpIHtcbiAgJjpob3ZlciB7IEBjb250ZW50OyB9XG59XG5cbkBtaXhpbiBob3Zlci1mb2N1cygpIHtcbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuQG1peGluIHBsYWluLWhvdmVyLWZvY3VzKCkge1xuICAmLFxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gaG92ZXItZm9jdXMtYWN0aXZlKCkge1xuICAmOmhvdmVyLFxuICAmOmZvY3VzLFxuICAmOmFjdGl2ZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cbiIsIi8vIFRhYmxlc1xuXG5AbWl4aW4gdGFibGUtcm93LXZhcmlhbnQoJHN0YXRlLCAkYmFja2dyb3VuZCwgJGJvcmRlcjogbnVsbCkge1xuICAvLyBFeGFjdCBzZWxlY3RvcnMgYmVsb3cgcmVxdWlyZWQgdG8gb3ZlcnJpZGUgYC50YWJsZS1zdHJpcGVkYCBhbmQgcHJldmVudFxuICAvLyBpbmhlcml0YW5jZSB0byBuZXN0ZWQgdGFibGVzLlxuICAudGFibGUtI3skc3RhdGV9IHtcbiAgICAmLFxuICAgID4gdGgsXG4gICAgPiB0ZCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICB9XG5cbiAgICBAaWYgJGJvcmRlciAhPSBudWxsIHtcbiAgICAgIHRoLFxuICAgICAgdGQsXG4gICAgICB0aGVhZCB0aCxcbiAgICAgIHRib2R5ICsgdGJvZHkge1xuICAgICAgICBib3JkZXItY29sb3I6ICRib3JkZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gSG92ZXIgc3RhdGVzIGZvciBgLnRhYmxlLWhvdmVyYFxuICAvLyBOb3RlOiB0aGlzIGlzIG5vdCBhdmFpbGFibGUgZm9yIGNlbGxzIG9yIHJvd3Mgd2l0aGluIGB0aGVhZGAgb3IgYHRmb290YC5cbiAgLnRhYmxlLWhvdmVyIHtcbiAgICAkaG92ZXItYmFja2dyb3VuZDogZGFya2VuKCRiYWNrZ3JvdW5kLCA1JSk7XG5cbiAgICAudGFibGUtI3skc3RhdGV9IHtcbiAgICAgIEBpbmNsdWRlIGhvdmVyKCkge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaG92ZXItYmFja2dyb3VuZDtcblxuICAgICAgICA+IHRkLFxuICAgICAgICA+IHRoIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaG92ZXItYmFja2dyb3VuZDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gQnJlYWtwb2ludCB2aWV3cG9ydCBzaXplcyBhbmQgbWVkaWEgcXVlcmllcy5cbi8vXG4vLyBCcmVha3BvaW50cyBhcmUgZGVmaW5lZCBhcyBhIG1hcCBvZiAobmFtZTogbWluaW11bSB3aWR0aCksIG9yZGVyIGZyb20gc21hbGwgdG8gbGFyZ2U6XG4vL1xuLy8gICAgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KVxuLy9cbi8vIFRoZSBtYXAgZGVmaW5lZCBpbiB0aGUgYCRncmlkLWJyZWFrcG9pbnRzYCBnbG9iYWwgdmFyaWFibGUgaXMgdXNlZCBhcyB0aGUgYCRicmVha3BvaW50c2AgYXJndW1lbnQgYnkgZGVmYXVsdC5cblxuLy8gTmFtZSBvZiB0aGUgbmV4dCBicmVha3BvaW50LCBvciBudWxsIGZvciB0aGUgbGFzdCBicmVha3BvaW50LlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSlcbi8vICAgIG1kXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICBtZFxuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtLCAkYnJlYWtwb2ludC1uYW1lczogKHhzIHNtIG1kIGxnIHhsKSlcbi8vICAgIG1kXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1uZXh0KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lczogbWFwLWtleXMoJGJyZWFrcG9pbnRzKSkge1xuICAkbjogaW5kZXgoJGJyZWFrcG9pbnQtbmFtZXMsICRuYW1lKTtcbiAgQHJldHVybiBpZigkbiAhPSBudWxsIGFuZCAkbiA8IGxlbmd0aCgkYnJlYWtwb2ludC1uYW1lcyksIG50aCgkYnJlYWtwb2ludC1uYW1lcywgJG4gKyAxKSwgbnVsbCk7XG59XG5cbi8vIE1pbmltdW0gYnJlYWtwb2ludCB3aWR0aC4gTnVsbCBmb3IgdGhlIHNtYWxsZXN0IChmaXJzdCkgYnJlYWtwb2ludC5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW1pbihzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIDU3NnB4XG5AZnVuY3Rpb24gYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogbWFwLWdldCgkYnJlYWtwb2ludHMsICRuYW1lKTtcbiAgQHJldHVybiBpZigkbWluICE9IDAsICRtaW4sIG51bGwpO1xufVxuXG4vLyBNYXhpbXVtIGJyZWFrcG9pbnQgd2lkdGguIE51bGwgZm9yIHRoZSBsYXJnZXN0IChsYXN0KSBicmVha3BvaW50LlxuLy8gVGhlIG1heGltdW0gdmFsdWUgaXMgY2FsY3VsYXRlZCBhcyB0aGUgbWluaW11bSBvZiB0aGUgbmV4dCBvbmUgbGVzcyAwLjAycHhcbi8vIHRvIHdvcmsgYXJvdW5kIHRoZSBsaW1pdGF0aW9ucyBvZiBgbWluLWAgYW5kIGBtYXgtYCBwcmVmaXhlcyBhbmQgdmlld3BvcnRzIHdpdGggZnJhY3Rpb25hbCB3aWR0aHMuXG4vLyBTZWUgaHR0cHM6Ly93d3cudzMub3JnL1RSL21lZGlhcXVlcmllcy00LyNtcS1taW4tbWF4XG4vLyBVc2VzIDAuMDJweCByYXRoZXIgdGhhbiAwLjAxcHggdG8gd29yayBhcm91bmQgYSBjdXJyZW50IHJvdW5kaW5nIGJ1ZyBpbiBTYWZhcmkuXG4vLyBTZWUgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3ODI2MVxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbWF4KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgNzY3Ljk4cHhcbkBmdW5jdGlvbiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbmV4dDogYnJlYWtwb2ludC1uZXh0KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAcmV0dXJuIGlmKCRuZXh0LCBicmVha3BvaW50LW1pbigkbmV4dCwgJGJyZWFrcG9pbnRzKSAtIC4wMiwgbnVsbCk7XG59XG5cbi8vIFJldHVybnMgYSBibGFuayBzdHJpbmcgaWYgc21hbGxlc3QgYnJlYWtwb2ludCwgb3RoZXJ3aXNlIHJldHVybnMgdGhlIG5hbWUgd2l0aCBhIGRhc2ggaW4gZnJvbnQuXG4vLyBVc2VmdWwgZm9yIG1ha2luZyByZXNwb25zaXZlIHV0aWxpdGllcy5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LWluZml4KHhzLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgXCJcIiAgKFJldHVybnMgYSBibGFuayBzdHJpbmcpXG4vLyAgICA+PiBicmVha3BvaW50LWluZml4KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgXCItc21cIlxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtaW5maXgoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQHJldHVybiBpZihicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKSA9PSBudWxsLCBcIlwiLCBcIi0jeyRuYW1lfVwiKTtcbn1cblxuLy8gTWVkaWEgb2YgYXQgbGVhc3QgdGhlIG1pbmltdW0gYnJlYWtwb2ludCB3aWR0aC4gTm8gcXVlcnkgZm9yIHRoZSBzbWFsbGVzdCBicmVha3BvaW50LlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50IGFuZCB3aWRlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LXVwKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAaWYgJG1pbiB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gTWVkaWEgb2YgYXQgbW9zdCB0aGUgbWF4aW11bSBicmVha3BvaW50IHdpZHRoLiBObyBxdWVyeSBmb3IgdGhlIGxhcmdlc3QgYnJlYWtwb2ludC5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCBhbmQgbmFycm93ZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1kb3duKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAaWYgJG1heCB7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gTWVkaWEgdGhhdCBzcGFucyBtdWx0aXBsZSBicmVha3BvaW50IHdpZHRocy5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSBiZXR3ZWVuIHRoZSBtaW4gYW5kIG1heCBicmVha3BvaW50c1xuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtYmV0d2VlbigkbG93ZXIsICR1cHBlciwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBicmVha3BvaW50LW1pbigkbG93ZXIsICRicmVha3BvaW50cyk7XG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCR1cHBlciwgJGJyZWFrcG9pbnRzKTtcblxuICBAaWYgJG1pbiAhPSBudWxsIGFuZCAkbWF4ICE9IG51bGwge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSBhbmQgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtYXggPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbG93ZXIsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtaW4gPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCR1cHBlciwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8gTWVkaWEgYmV0d2VlbiB0aGUgYnJlYWtwb2ludCdzIG1pbmltdW0gYW5kIG1heGltdW0gd2lkdGhzLlxuLy8gTm8gbWluaW11bSBmb3IgdGhlIHNtYWxsZXN0IGJyZWFrcG9pbnQsIGFuZCBubyBtYXhpbXVtIGZvciB0aGUgbGFyZ2VzdCBvbmUuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgb25seSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCwgbm90IHZpZXdwb3J0cyBhbnkgd2lkZXIgb3IgbmFycm93ZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1vbmx5KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICAkbWF4OiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcblxuICBAaWYgJG1pbiAhPSBudWxsIGFuZCAkbWF4ICE9IG51bGwge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSBhbmQgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtYXggPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbmFtZSwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1pbiA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJG5hbWUsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG4iLCIuY2xvc2Uge1xuICBmbG9hdDogcmlnaHQ7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkY2xvc2UtZm9udC1zaXplKTtcbiAgZm9udC13ZWlnaHQ6ICRjbG9zZS1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiAkY2xvc2UtY29sb3I7XG4gIHRleHQtc2hhZG93OiAkY2xvc2UtdGV4dC1zaGFkb3c7XG4gIG9wYWNpdHk6IC41O1xuXG4gIC8vIE92ZXJyaWRlIDxhPidzIGhvdmVyIHN0eWxlXG4gIEBpbmNsdWRlIGhvdmVyKCkge1xuICAgIGNvbG9yOiAkY2xvc2UtY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgJjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKSB7XG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgICBvcGFjaXR5OiAuNzU7XG4gICAgfVxuICB9XG59XG5cbi8vIEFkZGl0aW9uYWwgcHJvcGVydGllcyBmb3IgYnV0dG9uIHZlcnNpb25cbi8vIGlPUyByZXF1aXJlcyB0aGUgYnV0dG9uIGVsZW1lbnQgaW5zdGVhZCBvZiBhbiBhbmNob3IgdGFnLlxuLy8gSWYgeW91IHdhbnQgdGhlIGFuY2hvciB2ZXJzaW9uLCBpdCByZXF1aXJlcyBgaHJlZj1cIiNcImAuXG4vLyBTZWUgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvRXZlbnRzL2NsaWNrI1NhZmFyaV9Nb2JpbGVcblxuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZVxuYnV0dG9uLmNsb3NlIHtcbiAgcGFkZGluZzogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMDtcbn1cblxuLy8gRnV0dXJlLXByb29mIGRpc2FibGluZyBvZiBjbGlja3Mgb24gYDxhPmAgZWxlbWVudHNcblxuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZVxuYS5jbG9zZS5kaXNhYmxlZCB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgcHJvcGVydHktYmxhY2tsaXN0LCBzY3NzL2RvbGxhci12YXJpYWJsZS1kZWZhdWx0XG5cbi8vIFNDU1MgUkZTIG1peGluXG4vL1xuLy8gQXV0b21hdGVkIHJlc3BvbnNpdmUgZm9udCBzaXplc1xuLy9cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCAoaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvcmZzL2Jsb2IvdjgueC9MSUNFTlNFKVxuXG4vLyBDb25maWd1cmF0aW9uXG5cbi8vIEJhc2UgZm9udCBzaXplXG4kcmZzLWJhc2UtZm9udC1zaXplOiAxLjI1cmVtICFkZWZhdWx0O1xuJHJmcy1mb250LXNpemUtdW5pdDogcmVtICFkZWZhdWx0O1xuXG5AaWYgJHJmcy1mb250LXNpemUtdW5pdCAhPSByZW0gYW5kICRyZnMtZm9udC1zaXplLXVuaXQgIT0gcHgge1xuICBAZXJyb3IgXCJgI3skcmZzLWZvbnQtc2l6ZS11bml0fWAgaXMgbm90IGEgdmFsaWQgdW5pdCBmb3IgJHJmcy1mb250LXNpemUtdW5pdC4gVXNlIGBweGAgb3IgYHJlbWAuXCI7XG59XG5cbi8vIEJyZWFrcG9pbnQgYXQgd2hlcmUgZm9udC1zaXplIHN0YXJ0cyBkZWNyZWFzaW5nIGlmIHNjcmVlbiB3aWR0aCBpcyBzbWFsbGVyXG4kcmZzLWJyZWFrcG9pbnQ6IDEyMDBweCAhZGVmYXVsdDtcbiRyZnMtYnJlYWtwb2ludC11bml0OiBweCAhZGVmYXVsdDtcblxuQGlmICRyZnMtYnJlYWtwb2ludC11bml0ICE9IHB4IGFuZCAkcmZzLWJyZWFrcG9pbnQtdW5pdCAhPSBlbSBhbmQgJHJmcy1icmVha3BvaW50LXVuaXQgIT0gcmVtIHtcbiAgQGVycm9yIFwiYCN7JHJmcy1icmVha3BvaW50LXVuaXR9YCBpcyBub3QgYSB2YWxpZCB1bml0IGZvciAkcmZzLWJyZWFrcG9pbnQtdW5pdC4gVXNlIGBweGAsIGBlbWAgb3IgYHJlbWAuXCI7XG59XG5cbi8vIFJlc2l6ZSBmb250IHNpemUgYmFzZWQgb24gc2NyZWVuIGhlaWdodCBhbmQgd2lkdGhcbiRyZnMtdHdvLWRpbWVuc2lvbmFsOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gRmFjdG9yIG9mIGRlY3JlYXNlXG4kcmZzLWZhY3RvcjogMTAgIWRlZmF1bHQ7XG5cbkBpZiB0eXBlLW9mKCRyZnMtZmFjdG9yKSAhPSBcIm51bWJlclwiIG9yICRyZnMtZmFjdG9yIDw9IDEge1xuICBAZXJyb3IgXCJgI3skcmZzLWZhY3Rvcn1gIGlzIG5vdCBhIHZhbGlkICAkcmZzLWZhY3RvciwgaXQgbXVzdCBiZSBncmVhdGVyIHRoYW4gMS5cIjtcbn1cblxuLy8gR2VuZXJhdGUgZW5hYmxlIG9yIGRpc2FibGUgY2xhc3Nlcy4gUG9zc2liaWxpdGllczogZmFsc2UsIFwiZW5hYmxlXCIgb3IgXCJkaXNhYmxlXCJcbiRyZnMtY2xhc3M6IGZhbHNlICFkZWZhdWx0O1xuXG4vLyAxIHJlbSA9ICRyZnMtcmVtLXZhbHVlIHB4XG4kcmZzLXJlbS12YWx1ZTogMTYgIWRlZmF1bHQ7XG5cbi8vIFNhZmFyaSBpZnJhbWUgcmVzaXplIGJ1ZzogaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvcmZzL2lzc3Vlcy8xNFxuJHJmcy1zYWZhcmktaWZyYW1lLXJlc2l6ZS1idWctZml4OiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gRGlzYWJsZSBSRlMgYnkgc2V0dGluZyAkZW5hYmxlLXJlc3BvbnNpdmUtZm9udC1zaXplcyB0byBmYWxzZVxuJGVuYWJsZS1yZXNwb25zaXZlLWZvbnQtc2l6ZXM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vIENhY2hlICRyZnMtYmFzZS1mb250LXNpemUgdW5pdFxuJHJmcy1iYXNlLWZvbnQtc2l6ZS11bml0OiB1bml0KCRyZnMtYmFzZS1mb250LXNpemUpO1xuXG5AZnVuY3Rpb24gZGl2aWRlKCRkaXZpZGVuZCwgJGRpdmlzb3IsICRwcmVjaXNpb246IDEwKSB7XG4gICRzaWduOiBpZigkZGl2aWRlbmQgPiAwIGFuZCAkZGl2aXNvciA+IDAgb3IgJGRpdmlkZW5kIDwgMCBhbmQgJGRpdmlzb3IgPCAwLCAxLCAtMSk7XG4gICRkaXZpZGVuZDogYWJzKCRkaXZpZGVuZCk7XG4gICRkaXZpc29yOiBhYnMoJGRpdmlzb3IpO1xuICBAaWYgJGRpdmlkZW5kID09IDAge1xuICAgIEByZXR1cm4gMDtcbiAgfVxuICBAaWYgJGRpdmlzb3IgPT0gMCB7XG4gICAgQGVycm9yIFwiQ2Fubm90IGRpdmlkZSBieSAwXCI7XG4gIH1cbiAgJHJlbWFpbmRlcjogJGRpdmlkZW5kO1xuICAkcmVzdWx0OiAwO1xuICAkZmFjdG9yOiAxMDtcbiAgQHdoaWxlICgkcmVtYWluZGVyID4gMCBhbmQgJHByZWNpc2lvbiA+PSAwKSB7XG4gICAgJHF1b3RpZW50OiAwO1xuICAgIEB3aGlsZSAoJHJlbWFpbmRlciA+PSAkZGl2aXNvcikge1xuICAgICAgJHJlbWFpbmRlcjogJHJlbWFpbmRlciAtICRkaXZpc29yO1xuICAgICAgJHF1b3RpZW50OiAkcXVvdGllbnQgKyAxO1xuICAgIH1cbiAgICAkcmVzdWx0OiAkcmVzdWx0ICogMTAgKyAkcXVvdGllbnQ7XG4gICAgJGZhY3RvcjogJGZhY3RvciAqIC4xO1xuICAgICRyZW1haW5kZXI6ICRyZW1haW5kZXIgKiAxMDtcbiAgICAkcHJlY2lzaW9uOiAkcHJlY2lzaW9uIC0gMTtcbiAgICBAaWYgKCRwcmVjaXNpb24gPCAwIGFuZCAkcmVtYWluZGVyID49ICRkaXZpc29yICogNSkge1xuICAgICAgJHJlc3VsdDogJHJlc3VsdCArIDE7XG4gICAgfVxuICB9XG4gICRyZXN1bHQ6ICRyZXN1bHQgKiAkZmFjdG9yICogJHNpZ247XG4gICRkaXZpZGVuZC11bml0OiB1bml0KCRkaXZpZGVuZCk7XG4gICRkaXZpc29yLXVuaXQ6IHVuaXQoJGRpdmlzb3IpO1xuICAkdW5pdC1tYXA6IChcbiAgICBcInB4XCI6IDFweCxcbiAgICBcInJlbVwiOiAxcmVtLFxuICAgIFwiZW1cIjogMWVtLFxuICAgIFwiJVwiOiAxJVxuICApO1xuICBAaWYgKCRkaXZpZGVuZC11bml0ICE9ICRkaXZpc29yLXVuaXQgYW5kIG1hcC1oYXMta2V5KCR1bml0LW1hcCwgJGRpdmlkZW5kLXVuaXQpKSB7XG4gICAgJHJlc3VsdDogJHJlc3VsdCAqIG1hcC1nZXQoJHVuaXQtbWFwLCAkZGl2aWRlbmQtdW5pdCk7XG4gIH1cbiAgQHJldHVybiAkcmVzdWx0O1xufVxuXG4vLyBSZW1vdmUgcHgtdW5pdCBmcm9tICRyZnMtYmFzZS1mb250LXNpemUgZm9yIGNhbGN1bGF0aW9uc1xuQGlmICRyZnMtYmFzZS1mb250LXNpemUtdW5pdCA9PSBcInB4XCIge1xuICAkcmZzLWJhc2UtZm9udC1zaXplOiBkaXZpZGUoJHJmcy1iYXNlLWZvbnQtc2l6ZSwgJHJmcy1iYXNlLWZvbnQtc2l6ZSAqIDAgKyAxKTtcbn1cbkBlbHNlIGlmICRyZnMtYmFzZS1mb250LXNpemUtdW5pdCA9PSBcInJlbVwiIHtcbiAgJHJmcy1iYXNlLWZvbnQtc2l6ZTogZGl2aWRlKCRyZnMtYmFzZS1mb250LXNpemUsIGRpdmlkZSgkcmZzLWJhc2UtZm9udC1zaXplICogMCArIDEsICRyZnMtcmVtLXZhbHVlKSk7XG59XG5cbi8vIENhY2hlICRyZnMtYnJlYWtwb2ludCB1bml0IHRvIHByZXZlbnQgbXVsdGlwbGUgY2FsbHNcbiRyZnMtYnJlYWtwb2ludC11bml0LWNhY2hlOiB1bml0KCRyZnMtYnJlYWtwb2ludCk7XG5cbi8vIFJlbW92ZSB1bml0IGZyb20gJHJmcy1icmVha3BvaW50IGZvciBjYWxjdWxhdGlvbnNcbkBpZiAkcmZzLWJyZWFrcG9pbnQtdW5pdC1jYWNoZSA9PSBcInB4XCIge1xuICAkcmZzLWJyZWFrcG9pbnQ6IGRpdmlkZSgkcmZzLWJyZWFrcG9pbnQsICRyZnMtYnJlYWtwb2ludCAqIDAgKyAxKTtcbn1cbkBlbHNlIGlmICRyZnMtYnJlYWtwb2ludC11bml0LWNhY2hlID09IFwicmVtXCIgb3IgJHJmcy1icmVha3BvaW50LXVuaXQtY2FjaGUgPT0gXCJlbVwiIHtcbiAgJHJmcy1icmVha3BvaW50OiBkaXZpZGUoJHJmcy1icmVha3BvaW50LCBkaXZpZGUoJHJmcy1icmVha3BvaW50ICogMCArIDEsICRyZnMtcmVtLXZhbHVlKSk7XG59XG5cbi8vIEludGVybmFsIG1peGluIHRoYXQgYWRkcyBkaXNhYmxlIGNsYXNzZXMgdG8gdGhlIHNlbGVjdG9yIGlmIG5lZWRlZC5cbkBtaXhpbiBfcmZzLWRpc2FibGUtY2xhc3Mge1xuICBAaWYgJHJmcy1jbGFzcyA9PSBcImRpc2FibGVcIiB7XG4gICAgLy8gQWRkaW5nIGFuIGV4dHJhIGNsYXNzIGluY3JlYXNlcyBzcGVjaWZpY2l0eSwgd2hpY2ggcHJldmVudHMgdGhlIG1lZGlhIHF1ZXJ5IHRvIG92ZXJyaWRlIHRoZSBmb250IHNpemVcbiAgICAmLFxuICAgIC5kaXNhYmxlLXJlc3BvbnNpdmUtZm9udC1zaXplICYsXG4gICAgJi5kaXNhYmxlLXJlc3BvbnNpdmUtZm9udC1zaXplIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gSW50ZXJuYWwgbWl4aW4gdGhhdCBhZGRzIGVuYWJsZSBjbGFzc2VzIHRvIHRoZSBzZWxlY3RvciBpZiBuZWVkZWQuXG5AbWl4aW4gX3Jmcy1lbmFibGUtY2xhc3Mge1xuICBAaWYgJHJmcy1jbGFzcyA9PSBcImVuYWJsZVwiIHtcbiAgICAuZW5hYmxlLXJlc3BvbnNpdmUtZm9udC1zaXplICYsXG4gICAgJi5lbmFibGUtcmVzcG9uc2l2ZS1mb250LXNpemUge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBJbnRlcm5hbCBtaXhpbiB1c2VkIHRvIGRldGVybWluZSB3aGljaCBtZWRpYSBxdWVyeSBuZWVkcyB0byBiZSB1c2VkXG5AbWl4aW4gX3Jmcy1tZWRpYS1xdWVyeSgkbXEtdmFsdWUpIHtcbiAgQGlmICRyZnMtdHdvLWRpbWVuc2lvbmFsIHtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogI3skbXEtdmFsdWV9KSwgKG1heC1oZWlnaHQ6ICN7JG1xLXZhbHVlfSkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogI3skbXEtdmFsdWV9KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8gUmVzcG9uc2l2ZSBmb250IHNpemUgbWl4aW5cbkBtaXhpbiByZnMoJGZzLCAkaW1wb3J0YW50OiBmYWxzZSkge1xuICAvLyBDYWNoZSAkZnMgdW5pdFxuICAkZnMtdW5pdDogaWYodHlwZS1vZigkZnMpID09IFwibnVtYmVyXCIsIHVuaXQoJGZzKSwgZmFsc2UpO1xuXG4gIC8vIEFkZCAhaW1wb3J0YW50IHN1ZmZpeCBpZiBuZWVkZWRcbiAgJHJmcy1zdWZmaXg6IGlmKCRpbXBvcnRhbnQsIFwiICFpbXBvcnRhbnRcIiwgXCJcIik7XG5cbiAgLy8gSWYgJGZzIGlzbid0IGEgbnVtYmVyIChsaWtlIGluaGVyaXQpIG9yICRmcyBoYXMgYSB1bml0IChub3QgcHggb3IgcmVtLCBsaWtlIDEuNWVtKSBvciAkIGlzIDAsIGp1c3QgcHJpbnQgdGhlIHZhbHVlXG4gIEBpZiBub3QgJGZzLXVuaXQgb3IgJGZzLXVuaXQgIT0gXCJcIiBhbmQgJGZzLXVuaXQgIT0gXCJweFwiIGFuZCAkZnMtdW5pdCAhPSBcInJlbVwiIG9yICRmcyA9PSAwIHtcbiAgICBmb250LXNpemU6ICN7JGZzfSN7JHJmcy1zdWZmaXh9O1xuICB9XG4gIEBlbHNlIHtcbiAgICAvLyBSZW1vdmUgdW5pdCBmcm9tICRmcyBmb3IgY2FsY3VsYXRpb25zXG4gICAgQGlmICRmcy11bml0ID09IFwicHhcIiB7XG4gICAgICAkZnM6IGRpdmlkZSgkZnMsICRmcyAqIDAgKyAxKTtcbiAgICB9XG4gICAgQGVsc2UgaWYgJGZzLXVuaXQgPT0gXCJyZW1cIiB7XG4gICAgICAkZnM6IGRpdmlkZSgkZnMsIGRpdmlkZSgkZnMgKiAwICsgMSwgJHJmcy1yZW0tdmFsdWUpKTtcbiAgICB9XG5cbiAgICAvLyBTZXQgZGVmYXVsdCBmb250IHNpemVcbiAgICAkcmZzLXN0YXRpYzogaWYoJHJmcy1mb250LXNpemUtdW5pdCA9PSByZW0sICN7ZGl2aWRlKCRmcywgJHJmcy1yZW0tdmFsdWUpfXJlbSwgI3skZnN9cHgpO1xuXG4gICAgLy8gT25seSBhZGQgdGhlIG1lZGlhIHF1ZXJ5IGlmIHRoZSBmb250IHNpemUgaXMgYmlnZ2VyIHRoYW4gdGhlIG1pbmltdW0gZm9udCBzaXplXG4gICAgQGlmICRmcyA8PSAkcmZzLWJhc2UtZm9udC1zaXplIG9yIG5vdCAkZW5hYmxlLXJlc3BvbnNpdmUtZm9udC1zaXplcyB7XG4gICAgICBmb250LXNpemU6ICN7JHJmcy1zdGF0aWN9I3skcmZzLXN1ZmZpeH07XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIC8vIENhbGN1bGF0ZSB0aGUgbWluaW11bSBmb250IHNpemUgZm9yICRmc1xuICAgICAgJGZzLW1pbjogJHJmcy1iYXNlLWZvbnQtc2l6ZSArIGRpdmlkZSgkZnMgLSAkcmZzLWJhc2UtZm9udC1zaXplLCAkcmZzLWZhY3Rvcik7XG5cbiAgICAgIC8vIENhbGN1bGF0ZSBkaWZmZXJlbmNlIGJldHdlZW4gJGZzIGFuZCB0aGUgbWluaW11bSBmb250IHNpemVcbiAgICAgICRmcy1kaWZmOiAkZnMgLSAkZnMtbWluO1xuXG4gICAgICAvLyBCYXNlIGZvbnQtc2l6ZSBmb3JtYXR0aW5nXG4gICAgICAkbWluLXdpZHRoOiBpZigkcmZzLWZvbnQtc2l6ZS11bml0ID09IHJlbSwgI3tkaXZpZGUoJGZzLW1pbiwgJHJmcy1yZW0tdmFsdWUpfXJlbSwgI3skZnMtbWlufXB4KTtcblxuICAgICAgLy8gVXNlIGB2bWluYCBpZiB0d28tZGltZW5zaW9uYWwgaXMgZW5hYmxlZFxuICAgICAgJHZhcmlhYmxlLXVuaXQ6IGlmKCRyZnMtdHdvLWRpbWVuc2lvbmFsLCB2bWluLCB2dyk7XG5cbiAgICAgIC8vIENhbGN1bGF0ZSB0aGUgdmFyaWFibGUgd2lkdGggYmV0d2VlbiAwIGFuZCAkcmZzLWJyZWFrcG9pbnRcbiAgICAgICR2YXJpYWJsZS13aWR0aDogI3tkaXZpZGUoJGZzLWRpZmYgKiAxMDAsICRyZnMtYnJlYWtwb2ludCl9I3skdmFyaWFibGUtdW5pdH07XG5cbiAgICAgIC8vIFNldCB0aGUgY2FsY3VsYXRlZCBmb250LXNpemVcbiAgICAgICRyZnMtZmx1aWQ6IGNhbGMoI3skbWluLXdpZHRofSArICN7JHZhcmlhYmxlLXdpZHRofSkgI3skcmZzLXN1ZmZpeH07XG5cbiAgICAgIC8vIEJyZWFrcG9pbnQgZm9ybWF0dGluZ1xuICAgICAgJG1xLXZhbHVlOiBpZigkcmZzLWJyZWFrcG9pbnQtdW5pdCA9PSBweCwgI3skcmZzLWJyZWFrcG9pbnR9cHgsICN7ZGl2aWRlKCRyZnMtYnJlYWtwb2ludCwgJHJmcy1yZW0tdmFsdWUpfSN7JHJmcy1icmVha3BvaW50LXVuaXR9KTtcblxuICAgICAgQGluY2x1ZGUgX3Jmcy1kaXNhYmxlLWNsYXNzIHtcbiAgICAgICAgZm9udC1zaXplOiAjeyRyZnMtc3RhdGljfSN7JHJmcy1zdWZmaXh9O1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBfcmZzLW1lZGlhLXF1ZXJ5KCRtcS12YWx1ZSkge1xuICAgICAgICBAaW5jbHVkZSBfcmZzLWVuYWJsZS1jbGFzcyB7XG4gICAgICAgICAgZm9udC1zaXplOiAkcmZzLWZsdWlkO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gSW5jbHVkZSBzYWZhcmkgaWZyYW1lIHJlc2l6ZSBmaXggaWYgbmVlZGVkXG4gICAgICAgIG1pbi13aWR0aDogaWYoJHJmcy1zYWZhcmktaWZyYW1lLXJlc2l6ZS1idWctZml4LCAoMCAqIDF2dyksIG51bGwpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBUaGUgZm9udC1zaXplICYgcmVzcG9uc2l2ZS1mb250LXNpemUgbWl4aW5zIHVzZSBSRlMgdG8gcmVzY2FsZSB0aGUgZm9udCBzaXplXG5AbWl4aW4gZm9udC1zaXplKCRmcywgJGltcG9ydGFudDogZmFsc2UpIHtcbiAgQGluY2x1ZGUgcmZzKCRmcywgJGltcG9ydGFudCk7XG59XG5cbkBtaXhpbiByZXNwb25zaXZlLWZvbnQtc2l6ZSgkZnMsICRpbXBvcnRhbnQ6IGZhbHNlKSB7XG4gIEBpbmNsdWRlIHJmcygkZnMsICRpbXBvcnRhbnQpO1xufVxuIiwiLnRvYXN0IHtcbiAgLy8gUHJldmVudHMgZnJvbSBzaHJpbmtpbmcgaW4gSUUxMSwgd2hlbiBpbiBhIGZsZXggY29udGFpbmVyXG4gIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI4MzQxXG4gIGZsZXgtYmFzaXM6ICR0b2FzdC1tYXgtd2lkdGg7XG4gIG1heC13aWR0aDogJHRvYXN0LW1heC13aWR0aDtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCR0b2FzdC1mb250LXNpemUpO1xuICBjb2xvcjogJHRvYXN0LWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9hc3QtYmFja2dyb3VuZC1jb2xvcjtcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyOiAkdG9hc3QtYm9yZGVyLXdpZHRoIHNvbGlkICR0b2FzdC1ib3JkZXItY29sb3I7XG4gIGJveC1zaGFkb3c6ICR0b2FzdC1ib3gtc2hhZG93O1xuICBvcGFjaXR5OiAwO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCR0b2FzdC1ib3JkZXItcmFkaXVzKTtcblxuICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgIG1hcmdpbi1ib3R0b206ICR0b2FzdC1wYWRkaW5nLXg7XG4gIH1cblxuICAmLnNob3dpbmcge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAmLnNob3cge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAmLmhpZGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLnRvYXN0LWhlYWRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmc6ICR0b2FzdC1wYWRkaW5nLXkgJHRvYXN0LXBhZGRpbmcteDtcbiAgY29sb3I6ICR0b2FzdC1oZWFkZXItY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICR0b2FzdC1oZWFkZXItYmFja2dyb3VuZC1jb2xvcjtcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyLWJvdHRvbTogJHRvYXN0LWJvcmRlci13aWR0aCBzb2xpZCAkdG9hc3QtaGVhZGVyLWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoc3VidHJhY3QoJHRvYXN0LWJvcmRlci1yYWRpdXMsICR0b2FzdC1ib3JkZXItd2lkdGgpKTtcbn1cblxuLnRvYXN0LWJvZHkge1xuICBwYWRkaW5nOiAkdG9hc3QtcGFkZGluZy14OyAvLyBhcHBseSB0byBib3RoIHZlcnRpY2FsIGFuZCBob3Jpem9udGFsXG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBwcm9wZXJ0eS1kaXNhbGxvd2VkLWxpc3Rcbi8vIFNpbmdsZSBzaWRlIGJvcmRlci1yYWRpdXNcblxuLy8gSGVscGVyIGZ1bmN0aW9uIHRvIHJlcGxhY2UgbmVnYXRpdmUgdmFsdWVzIHdpdGggMFxuQGZ1bmN0aW9uIHZhbGlkLXJhZGl1cygkcmFkaXVzKSB7XG4gICRyZXR1cm46ICgpO1xuICBAZWFjaCAkdmFsdWUgaW4gJHJhZGl1cyB7XG4gICAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSBudW1iZXIge1xuICAgICAgJHJldHVybjogYXBwZW5kKCRyZXR1cm4sIG1heCgkdmFsdWUsIDApKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgICRyZXR1cm46IGFwcGVuZCgkcmV0dXJuLCAkdmFsdWUpO1xuICAgIH1cbiAgfVxuICBAcmV0dXJuICRyZXR1cm47XG59XG5cbkBtaXhpbiBib3JkZXItcmFkaXVzKCRyYWRpdXM6ICRib3JkZXItcmFkaXVzLCAkZmFsbGJhY2stYm9yZGVyLXJhZGl1czogZmFsc2UpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG4gIEBlbHNlIGlmICRmYWxsYmFjay1ib3JkZXItcmFkaXVzICE9IGZhbHNlIHtcbiAgICBib3JkZXItcmFkaXVzOiAkZmFsbGJhY2stYm9yZGVyLXJhZGl1cztcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLXRvcC1yYWRpdXMoJHJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLXJpZ2h0LXJhZGl1cygkcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLWJvdHRvbS1yYWRpdXMoJHJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLWxlZnQtcmFkaXVzKCRyYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLXRvcC1sZWZ0LXJhZGl1cygkcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLXRvcC1yaWdodC1yYWRpdXMoJHJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1cygkcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXMoJHJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cbiIsIi8vXG4vLyBDb3B5cmlnaHQgMjAxOSBHb29nbGUgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG4vL1xuXG5AdXNlIFwiQG1hdGVyaWFsL2Jhc2UvbWl4aW5zXCIgYXMgYmFzZS1taXhpbnM7XG5AdXNlIFwiQG1hdGVyaWFsL2ZlYXR1cmUtdGFyZ2V0aW5nL2Z1bmN0aW9uc1wiO1xuQHVzZSBcIkBtYXRlcmlhbC9mZWF0dXJlLXRhcmdldGluZy9taXhpbnNcIiBhcyBmZWF0dXJlLXRhcmdldGluZy1taXhpbnM7XG5AdXNlIFwiLi92YXJpYWJsZXNcIjtcblxuLy8vIFN0eWxlcyBhcHBsaWVkIHRvIHRoZSBjb21wb25lbnQncyB0b3VjaCB0YXJnZXQgd3JhcHBlciBlbGVtZW50LlxuQG1peGluIHdyYXBwZXIoJHF1ZXJ5OiBmdW5jdGlvbnMuYWxsKCkpIHtcbiAgJGZlYXQtc3RydWN0dXJlOiBmdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG5cbiAgLm1kYy10b3VjaC10YXJnZXQtd3JhcHBlciB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICAvLyBFbnN1cmUgdGhhdCBzdHlsZXMgYXJlIG9ubHkgZW1pdHRlZCBvbmNlIGFjcm9zcyBhbGwgY29tcG9uZW50cyB0aGF0XG4gICAgICAvLyBoYXZlIGluY3JlYXNlZCB0b3VjaCB0YXJnZXRzLlxuICAgICAgQGluY2x1ZGUgYmFzZS1taXhpbnMuZW1pdC1vbmNlKFwibWRjLXRvdWNoLXRhcmdldC93cmFwcGVyXCIpIHtcbiAgICAgICAgLy8gTk9URTogV2lsbCBjaGFuZ2UgdG8gYGlubGluZS1ibG9ja2AgaW4gdGhlIGZ1dHVyZSwgYnV0IGtlZXBpbmcgYXMgaXNcbiAgICAgICAgLy8gdGVtcG9yYXJpbHkgZm9yIGJhY2t3YXJkcy1jb21wYXRpYmlsaXR5LlxuICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBTdHlsZXMgYXBwbGllZCB0byB0aGUgY29tcG9uZW50J3MgaW5uZXIgdG91Y2ggdGFyZ2V0IGVsZW1lbnQuXG4vLy8gQnkgZGVmYXVsdCwgb25seSBzZXRzIHRoZSBpbm5lciBlbGVtZW50IGhlaWdodCB0byB0aGUgbWluaW11bSB0b3VjaCB0YXJnZXRcbi8vLyBoZWlnaHQgKCRtZGMtdG91Y2gtdGFyZ2V0LWhlaWdodCkuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkc2V0LXdpZHRoIFtmYWxzZV0gLSBTZXRzIHRoZSBpbm5lciBlbGVtZW50IHdpZHRoIHRvIHRoZVxuLy8vICAgICBtaW5pbXVtIHRvdWNoIHRhcmdldCB3aWR0aCAoJG1kYy10b3VjaC10YXJnZXQtd2lkdGgpLlxuQG1peGluIHRvdWNoLXRhcmdldCgkc2V0LXdpZHRoOiBmYWxzZSwgJHF1ZXJ5OiBmdW5jdGlvbnMuYWxsKCkpIHtcbiAgJGZlYXQtc3RydWN0dXJlOiBmdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG5cbiAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIHJpZ2h0OiAwO1xuICAgIGhlaWdodDogdmFyaWFibGVzLiRoZWlnaHQ7XG4gIH1cblxuICBAaWYgJHNldC13aWR0aCB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICAvKiBAbm9mbGlwICovXG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB3aWR0aDogdmFyaWFibGVzLiR3aWR0aDtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQXBwbGllcyBtYXJnaW4gdG8gdGhlIGNvbXBvbmVudCB3aXRoIHRoZSBpbmNyZWFzZWQgdG91Y2ggdGFyZ2V0LFxuLy8vIHRvIGNvbXBlbnNhdGUgZm9yIHRoZSB0b3VjaCB0YXJnZXQuXG5AbWl4aW4gbWFyZ2luKCRjb21wb25lbnQtaGVpZ2h0LCAkY29tcG9uZW50LXdpZHRoOiBudWxsLCAkcXVlcnk6IGZ1bmN0aW9ucy5hbGwoKSkge1xuICAkZmVhdC1zdHJ1Y3R1cmU6IGZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcblxuICAkdmVydGljYWwtbWFyZ2luLXZhbHVlOiAodmFyaWFibGVzLiRoZWlnaHQgLSAkY29tcG9uZW50LWhlaWdodCkgLyAyO1xuXG4gIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgIG1hcmdpbi10b3A6ICR2ZXJ0aWNhbC1tYXJnaW4tdmFsdWU7XG4gICAgbWFyZ2luLWJvdHRvbTogJHZlcnRpY2FsLW1hcmdpbi12YWx1ZTtcbiAgfVxuXG4gIEBpZiAkY29tcG9uZW50LXdpZHRoIHtcbiAgICAkaG9yaXpvbnRhbC1tYXJnaW4tdmFsdWU6ICh2YXJpYWJsZXMuJHdpZHRoIC0gJGNvbXBvbmVudC13aWR0aCkgLyAyO1xuXG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6ICRob3Jpem9udGFsLW1hcmdpbi12YWx1ZTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAkaG9yaXpvbnRhbC1tYXJnaW4tdmFsdWU7XG4gICAgfVxuICB9XG59XG4iLCIvL1xuLy8gQ29weXJpZ2h0IDIwMTcgR29vZ2xlIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuLy9cblxuQHVzZSBcIkBtYXRlcmlhbC9hbmltYXRpb24vdmFyaWFibGVzXCIgYXMgYW5pbWF0aW9uLXZhcmlhYmxlcztcbkB1c2UgXCJAbWF0ZXJpYWwvdGhlbWUvbWl4aW5zXCI7XG5AdXNlIFwiLi92YXJpYWJsZXNcIjtcblxuQG1peGluIGNvbnRhaW5lci1rZXlmcmFtZXNfKFxuICAkZnJvbS1zdHJva2UtY29sb3IsXG4gICR0by1zdHJva2UtY29sb3IsXG4gICRmcm9tLWZpbGwtY29sb3IsXG4gICR0by1maWxsLWNvbG9yLFxuICAkdWlkKSB7XG4gIEBrZXlmcmFtZXMgbWRjLWNoZWNrYm94LWZhZGUtaW4tYmFja2dyb3VuZC0jeyR1aWR9IHtcbiAgICAwJSB7XG4gICAgICBAaW5jbHVkZSBtaXhpbnMucHJvcChib3JkZXItY29sb3IsICRmcm9tLXN0cm9rZS1jb2xvcik7XG4gICAgICBAaW5jbHVkZSBtaXhpbnMucHJvcChiYWNrZ3JvdW5kLWNvbG9yLCAkZnJvbS1maWxsLWNvbG9yKTtcbiAgICB9XG5cbiAgICA1MCUge1xuICAgICAgQGluY2x1ZGUgbWl4aW5zLnByb3AoYm9yZGVyLWNvbG9yLCAkdG8tc3Ryb2tlLWNvbG9yKTtcbiAgICAgIEBpbmNsdWRlIG1peGlucy5wcm9wKGJhY2tncm91bmQtY29sb3IsICR0by1maWxsLWNvbG9yKTtcbiAgICB9XG4gIH1cblxuICBAa2V5ZnJhbWVzIG1kYy1jaGVja2JveC1mYWRlLW91dC1iYWNrZ3JvdW5kLSN7JHVpZH0ge1xuICAgIDAlLFxuICAgIDgwJSB7XG4gICAgICBAaW5jbHVkZSBtaXhpbnMucHJvcChib3JkZXItY29sb3IsICR0by1zdHJva2UtY29sb3IpO1xuICAgICAgQGluY2x1ZGUgbWl4aW5zLnByb3AoYmFja2dyb3VuZC1jb2xvciwgJHRvLWZpbGwtY29sb3IpO1xuICAgIH1cblxuICAgIDEwMCUge1xuICAgICAgQGluY2x1ZGUgbWl4aW5zLnByb3AoYm9yZGVyLWNvbG9yLCAkZnJvbS1zdHJva2UtY29sb3IpO1xuICAgICAgQGluY2x1ZGUgbWl4aW5zLnByb3AoYmFja2dyb3VuZC1jb2xvciwgJGZyb20tZmlsbC1jb2xvcik7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtYXJrLWtleWZyYW1lc18ge1xuICBAa2V5ZnJhbWVzIG1kYy1jaGVja2JveC11bmNoZWNrZWQtY2hlY2tlZC1jaGVja21hcmstcGF0aCB7XG4gICAgMCUsXG4gICAgNTAlIHtcbiAgICAgIHN0cm9rZS1kYXNob2Zmc2V0OiB2YXJpYWJsZXMuJG1hcmstcGF0aC1sZW5ndGhfO1xuICAgIH1cblxuICAgIDUwJSB7XG4gICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBhbmltYXRpb24tdmFyaWFibGVzLiRkZWNlbGVyYXRpb24tY3VydmUtdGltaW5nLWZ1bmN0aW9uO1xuICAgIH1cblxuICAgIDEwMCUge1xuICAgICAgc3Ryb2tlLWRhc2hvZmZzZXQ6IDA7XG4gICAgfVxuICB9XG5cbiAgQGtleWZyYW1lcyBtZGMtY2hlY2tib3gtdW5jaGVja2VkLWluZGV0ZXJtaW5hdGUtbWl4ZWRtYXJrIHtcbiAgICAwJSxcbiAgICA2OC4yJSB7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlWCgwKTtcbiAgICB9XG5cbiAgICA2OC4yJSB7XG4gICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMCwgMCwgMCwgMSk7XG4gICAgfVxuXG4gICAgMTAwJSB7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlWCgxKTtcbiAgICB9XG4gIH1cblxuICBAa2V5ZnJhbWVzIG1kYy1jaGVja2JveC1jaGVja2VkLXVuY2hlY2tlZC1jaGVja21hcmstcGF0aCB7XG4gICAgZnJvbSB7XG4gICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBhbmltYXRpb24tdmFyaWFibGVzLiRhY2NlbGVyYXRpb24tY3VydmUtdGltaW5nLWZ1bmN0aW9uO1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHN0cm9rZS1kYXNob2Zmc2V0OiAwO1xuICAgIH1cblxuICAgIHRvIHtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICBzdHJva2UtZGFzaG9mZnNldDogdmFyaWFibGVzLiRtYXJrLXBhdGgtbGVuZ3RoXyAqIC0xO1xuICAgIH1cbiAgfVxuXG4gIEBrZXlmcmFtZXMgbWRjLWNoZWNrYm94LWNoZWNrZWQtaW5kZXRlcm1pbmF0ZS1jaGVja21hcmsge1xuICAgIGZyb20ge1xuICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogYW5pbWF0aW9uLXZhcmlhYmxlcy4kZGVjZWxlcmF0aW9uLWN1cnZlLXRpbWluZy1mdW5jdGlvbjtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG5cbiAgICB0byB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgIH1cbiAgfVxuXG4gIEBrZXlmcmFtZXMgbWRjLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtY2hlY2tlZC1jaGVja21hcmsge1xuICAgIGZyb20ge1xuICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogdmFyaWFibGVzLiRpbmRldGVybWluYXRlLWNoZWNrZWQtZWFzaW5nLWZ1bmN0aW9uXztcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxuXG4gICAgdG8ge1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuICB9XG5cbiAgQGtleWZyYW1lcyBtZGMtY2hlY2tib3gtY2hlY2tlZC1pbmRldGVybWluYXRlLW1peGVkbWFyayB7XG4gICAgZnJvbSB7XG4gICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBtZGMtYW5pbWF0aW9uLWRlY2VsZXJhdGlvbi1jdXJ2ZS10aW1pbmctZnVuY3Rpb247XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG5cbiAgICB0byB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuICB9XG5cbiAgQGtleWZyYW1lcyBtZGMtY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS1jaGVja2VkLW1peGVkbWFyayB7XG4gICAgZnJvbSB7XG4gICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiB2YXJpYWJsZXMuJGluZGV0ZXJtaW5hdGUtY2hlY2tlZC1lYXNpbmctZnVuY3Rpb25fO1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1cblxuICAgIHRvIHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDMxNWRlZyk7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgIH1cbiAgfVxuXG4gIEBrZXlmcmFtZXMgbWRjLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtdW5jaGVja2VkLW1peGVkbWFyayB7XG4gICAgMCUge1xuICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZVgoMSk7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1cblxuICAgIDMyLjglLFxuICAgIDEwMCUge1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZVgoMCk7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgIH1cbiAgfVxufVxuIiwiLy9cbi8vIENvcHlyaWdodCAyMDE3IEdvb2dsZSBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cbi8vXG5cbkB1c2UgXCJzYXNzOm1hcFwiO1xuQHVzZSBcIkBtYXRlcmlhbC9yaXBwbGUvdmFyaWFibGVzXCIgYXMgcmlwcGxlLXZhcmlhYmxlcztcbkB1c2UgXCJAbWF0ZXJpYWwvdGhlbWUvdmFyaWFibGVzXCIgYXMgdGhlbWUtdmFyaWFibGVzO1xuQHVzZSBcIkBtYXRlcmlhbC9kZW5zaXR5L3ZhcmlhYmxlc1wiIGFzIGRlbnNpdHktdmFyaWFibGVzO1xuXG4kYmFzZWxpbmUtdGhlbWUtY29sb3I6IHNlY29uZGFyeSAhZGVmYXVsdDtcbiRtYXJrLWNvbG9yOiB0aGVtZS12YXJpYWJsZXMucHJvcC12YWx1ZShvbi1zZWNvbmRhcnkpICFkZWZhdWx0O1xuJGJvcmRlci1jb2xvcjogcmdiYSh0aGVtZS12YXJpYWJsZXMucHJvcC12YWx1ZShvbi1zdXJmYWNlKSwgLjU0KSAhZGVmYXVsdDtcbiRkaXNhYmxlZC1jb2xvcjogcmdiYSh0aGVtZS12YXJpYWJsZXMucHJvcC12YWx1ZShvbi1zdXJmYWNlKSwgLjM4KSAhZGVmYXVsdDtcblxuJHJpcHBsZS1zaXplOiA0MHB4ICFkZWZhdWx0O1xuJGljb24tc2l6ZTogMThweCAhZGVmYXVsdDtcbiRtYXJrLXN0cm9rZS1zaXplOiAyIC8gMTUgKiAkaWNvbi1zaXplICFkZWZhdWx0O1xuJGJvcmRlci13aWR0aDogMnB4ICFkZWZhdWx0O1xuJHRyYW5zaXRpb24tZHVyYXRpb246IDkwbXMgIWRlZmF1bHQ7XG4kaXRlbS1zcGFjaW5nOiA0cHggIWRlZmF1bHQ7XG4kZm9jdXMtaW5kaWNhdG9yLW9wYWNpdHk6IG1hcC5nZXQocmlwcGxlLXZhcmlhYmxlcy4kZGFyay1pbmstb3BhY2l0aWVzLCBmb2N1cykgIWRlZmF1bHQ7XG5cbiRtaW5pbXVtLXNpemU6IDI4cHggIWRlZmF1bHQ7XG4kbWF4aW11bS1zaXplOiAkcmlwcGxlLXNpemUgIWRlZmF1bHQ7XG4kZGVuc2l0eS1zY2FsZTogZGVuc2l0eS12YXJpYWJsZXMuJGRlZmF1bHQtc2NhbGUgIWRlZmF1bHQ7XG4kZGVuc2l0eS1jb25maWc6IChcbiAgc2l6ZTogKFxuICAgIG1pbmltdW06ICRtaW5pbXVtLXNpemUsXG4gICAgZGVmYXVsdDogJHJpcHBsZS1zaXplLFxuICAgIG1heGltdW06ICRtYXhpbXVtLXNpemUsXG4gICksXG4pICFkZWZhdWx0O1xuXG4vLyBNYW51YWwgY2FsY3VsYXRpb24gZG9uZSBvbiBTVkdcbiRtYXJrLXBhdGgtbGVuZ3RoXzogMjkuNzgzMzM4NSAhZGVmYXVsdDtcbiRpbmRldGVybWluYXRlLWNoZWNrZWQtZWFzaW5nLWZ1bmN0aW9uXzogY3ViaWMtYmV6aWVyKC4xNCwgMCwgMCwgMSkgIWRlZmF1bHQ7XG4iLCIvL1xuLy8gQ29weXJpZ2h0IDIwMTcgR29vZ2xlIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuLy9cblxuJGRlY2VsZXJhdGlvbi1jdXJ2ZS10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLCAwLCAuMiwgMSkgIWRlZmF1bHQ7XG4kc3RhbmRhcmQtY3VydmUtdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoLjQsIDAsIC4yLCAxKSAhZGVmYXVsdDtcbiRhY2NlbGVyYXRpb24tY3VydmUtdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoLjQsIDAsIDEsIDEpICFkZWZhdWx0O1xuJHNoYXJwLWN1cnZlLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKC40LCAwLCAuNiwgMSkgIWRlZmF1bHQ7XG4iLCIvL1xuLy8gQ29weXJpZ2h0IDIwMTYgR29vZ2xlIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuLy9cblxuQHVzZSBcInNhc3M6bWF0aFwiO1xuQHVzZSBcIkBtYXRlcmlhbC9hbmltYXRpb24vZnVuY3Rpb25zXCIgYXMgZnVuY3Rpb25zMjtcbkB1c2UgXCJAbWF0ZXJpYWwvZGVuc2l0eS9mdW5jdGlvbnNcIiBhcyBkZW5zaXR5LWZ1bmN0aW9ucztcbkB1c2UgXCJAbWF0ZXJpYWwvZmVhdHVyZS10YXJnZXRpbmcvZnVuY3Rpb25zXCIgYXMgZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zO1xuQHVzZSBcIkBtYXRlcmlhbC9mZWF0dXJlLXRhcmdldGluZy9taXhpbnNcIiBhcyBmZWF0dXJlLXRhcmdldGluZy1taXhpbnM7XG5AdXNlIFwiQG1hdGVyaWFsL3JpcHBsZS9taXhpbnNcIiBhcyByaXBwbGUtbWl4aW5zO1xuQHVzZSBcIkBtYXRlcmlhbC90b3VjaC10YXJnZXQvbWl4aW5zXCIgYXMgdG91Y2gtdGFyZ2V0LW1peGlucztcbkB1c2UgXCJAbWF0ZXJpYWwvdGhlbWUvZnVuY3Rpb25zXCIgYXMgdGhlbWUtZnVuY3Rpb25zO1xuQHVzZSBcIi4vZnVuY3Rpb25zXCI7XG5AdXNlIFwiLi9rZXlmcmFtZXNcIjtcbkB1c2UgXCIuL3ZhcmlhYmxlc1wiO1xuQHVzZSBcIkBtYXRlcmlhbC90aGVtZS9taXhpbnNcIiBhcyB0aGVtZS1taXhpbnM7XG5AdXNlIFwiQG1hdGVyaWFsL3RvdWNoLXRhcmdldC92YXJpYWJsZXNcIiBhcyB0b3VjaC10YXJnZXQtdmFyaWFibGVzO1xuXG4vL1xuLy8gUHVibGljXG4vL1xuXG4kcmlwcGxlLXRhcmdldDogXCIubWRjLWNoZWNrYm94X19yaXBwbGVcIjtcblxuLy8vXG4vLy8gQ2hlY2tib3ggY29yZSBzdHlsZXMuXG4vLy9cbkBtaXhpbiBjb3JlLXN0eWxlcygkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICBAaW5jbHVkZSB3aXRob3V0LXJpcHBsZSgkcXVlcnkpO1xuICBAaW5jbHVkZSByaXBwbGUoJHF1ZXJ5KTtcbn1cblxuLy8gVGhpcyBBUEkgaXMgaW50ZW5kZWQgZm9yIHVzZSBieSBmcmFtZXdvcmtzIHRoYXQgbWF5IHdhbnQgdG8gc2VwYXJhdGUgdGhlIHJpcHBsZS1yZWxhdGVkIHN0eWxlcyBmcm9tIHRoZSBvdGhlclxuLy8gY2hlY2tib3ggc3R5bGVzLiBJdCBpcyByZWNvbW1lbmRlZCB0aGF0IG1vc3QgdXNlcnMgdXNlIGBtZGMtY2hlY2tib3gtY29yZS1zdHlsZXNgIGluc3RlYWQuXG5AbWl4aW4gd2l0aG91dC1yaXBwbGUoJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgLy8gcG9zdGNzcy1iZW0tbGludGVyOiBkZWZpbmUgY2hlY2tib3hcblxuICAkZmVhdC1hbmltYXRpb246IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgYW5pbWF0aW9uKTtcbiAgJGZlYXQtY29sb3I6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgY29sb3IpO1xuICAkZmVhdC1zdHJ1Y3R1cmU6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcblxuICBAaW5jbHVkZSB0b3VjaC10YXJnZXQtbWl4aW5zLndyYXBwZXIoJHF1ZXJ5KTsgLy8gQ09QWUJBUkFfQ09NTUVOVF9USElTX0xJTkVcblxuICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1hbmltYXRpb24pIHtcbiAgICBAaW5jbHVkZSBrZXlmcmFtZXMubWFyay1rZXlmcmFtZXNfO1xuICB9XG5cbiAgLm1kYy1jaGVja2JveCB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICBAaW5jbHVkZSBiYXNlXztcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBmb2N1cy1pbmRpY2F0b3ItY29sb3IodmFyaWFibGVzLiRiYXNlbGluZS10aGVtZS1jb2xvciwgJHF1ZXJ5OiAkcXVlcnkpO1xuICAgIEBpbmNsdWRlIGRlbnNpdHkodmFyaWFibGVzLiRkZW5zaXR5LXNjYWxlLCAkcXVlcnk6ICRxdWVyeSk7XG4gIH1cblxuICBAaW5jbHVkZSBjb250YWluZXItY29sb3JzKCRxdWVyeTogJHF1ZXJ5KTtcbiAgQGluY2x1ZGUgZGlzYWJsZWQtY29udGFpbmVyLWNvbG9ycygkcXVlcnk6ICRxdWVyeSk7XG4gIEBpbmNsdWRlIGluay1jb2xvcih2YXJpYWJsZXMuJG1hcmstY29sb3IsICRxdWVyeTogJHF1ZXJ5KTtcbiAgQGluY2x1ZGUgZGlzYWJsZWQtaW5rLWNvbG9yKHZhcmlhYmxlcy4kbWFyay1jb2xvciwgJHF1ZXJ5OiAkcXVlcnkpO1xuXG4gIEBtZWRpYSBzY3JlZW4gYW5kICgtbXMtaGlnaC1jb250cmFzdDogYWN0aXZlKSB7XG4gICAgQGluY2x1ZGUgZGlzYWJsZWQtY29udGFpbmVyLWNvbG9ycyhcbiAgICAgICR1bm1hcmtlZC1zdHJva2UtY29sb3I6IEdyYXlUZXh0LFxuICAgICAgJHVubWFya2VkLWZpbGwtY29sb3I6IHRyYW5zcGFyZW50LFxuICAgICAgJG1hcmtlZC1zdHJva2UtY29sb3I6IEdyYXlUZXh0LFxuICAgICAgJG1hcmtlZC1maWxsLWNvbG9yOiB0cmFuc3BhcmVudCxcbiAgICAgICRxdWVyeTogJHF1ZXJ5XG4gICAgKTtcbiAgICBAaW5jbHVkZSBkaXNhYmxlZC1pbmstY29sb3IoR3JheVRleHQsICRxdWVyeTogJHF1ZXJ5KTtcblxuICAgIC5tZGMtY2hlY2tib3hfX21peGVkbWFyayB7XG4gICAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgICAgbWFyZ2luOiAwIDFweDsgLy8gRXh0cmEgaG9yaXpvbnRhbCBzcGFjZSBhcm91bmQgbWl4ZWRtYXJrIHN5bWJvbC5cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBOZWVkZWQgdG8gZGlzYWJsZSBob3ZlciBlZmZlY3RzIG9uIENTUy1vbmx5IChub24tSlMpIGNoZWNrYm94ZXNcbiAgLm1kYy1jaGVja2JveC0tZGlzYWJsZWQge1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgQGluY2x1ZGUgZGlzYWJsZWRfO1xuICAgIH1cbiAgfVxuXG4gIC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQge1xuICAgIEBpbmNsdWRlIGJhY2tncm91bmRfKCRxdWVyeSk7XG4gIH1cblxuICAubWRjLWNoZWNrYm94X19jaGVja21hcmsge1xuICAgIEBpbmNsdWRlIGNoZWNrbWFya18oJHF1ZXJ5KTtcbiAgfVxuXG4gIC5tZGMtY2hlY2tib3hfX2NoZWNrbWFyay1wYXRoIHtcbiAgICBAaW5jbHVkZSBjaGVja21hcmstcGF0aF8oJHF1ZXJ5KTtcbiAgfVxuXG4gIC5tZGMtY2hlY2tib3hfX21peGVkbWFyayB7XG4gICAgQGluY2x1ZGUgbWl4ZWRtYXJrXygkcXVlcnkpO1xuICB9XG5cbiAgLy8gSlMgY2hlY2tib3hcbiAgLm1kYy1jaGVja2JveC0tdXBncmFkZWQge1xuICAgIC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQsXG4gICAgLm1kYy1jaGVja2JveF9fY2hlY2ttYXJrLFxuICAgIC5tZGMtY2hlY2tib3hfX2NoZWNrbWFyay1wYXRoLFxuICAgIC5tZGMtY2hlY2tib3hfX21peGVkbWFyayB7XG4gICAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1hbmltYXRpb24pIHtcbiAgICAgICAgQGluY2x1ZGUgY2hpbGQtLXVwZ3JhZGVkXztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubWRjLWNoZWNrYm94LS1hbmltIHtcbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1hbmltYXRpb24pIHtcbiAgICAgIEBpbmNsdWRlIGFuaW1fO1xuICAgIH1cbiAgfVxuXG4gIC5tZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sOmNoZWNrZWQgfiAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kLFxuICAubWRjLWNoZWNrYm94X19uYXRpdmUtY29udHJvbDppbmRldGVybWluYXRlIH4gLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZCxcbiAgLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2xbZGF0YS1pbmRldGVybWluYXRlPVwidHJ1ZVwiXSB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQge1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LWFuaW1hdGlvbikge1xuICAgICAgQGluY2x1ZGUgYmFja2dyb3VuZC0tbWFya2VkXztcbiAgICB9XG5cbiAgICAubWRjLWNoZWNrYm94X19jaGVja21hcmstcGF0aCB7XG4gICAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgICAgQGluY2x1ZGUgY2hlY2ttYXJrLXBhdGgtLW1hcmtlZF87XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gVGhlIGZyYW1lJ3MgOjpiZWZvcmUgZWxlbWVudCBpcyB1c2VkIGFzIGEgZm9jdXMgaW5kaWNhdG9yIGZvciB0aGUgY2hlY2tib3hcbiAgLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZDo6YmVmb3JlIHtcbiAgICBAaW5jbHVkZSBmb2N1cy1pbmRpY2F0b3JfKCRxdWVyeSk7XG4gIH1cblxuICAubWRjLWNoZWNrYm94X19uYXRpdmUtY29udHJvbDpmb2N1cyB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQ6OmJlZm9yZSB7XG4gICAgQGluY2x1ZGUgZm9jdXMtaW5kaWNhdG9yLS1mb2N1c2VkXygkcXVlcnkpO1xuICB9XG5cbiAgLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2wge1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgQGluY2x1ZGUgbmF0aXZlLWNvbnRyb2xfO1xuICAgIH1cblxuICAgICY6ZGlzYWJsZWQge1xuICAgICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICAgIEBpbmNsdWRlIGRpc2FibGVkXztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubWRjLWNoZWNrYm94LS10b3VjaCB7XG4gICAgQGluY2x1ZGUgdG91Y2gtdGFyZ2V0LW1peGlucy5tYXJnaW4oXG4gICAgICAkY29tcG9uZW50LWhlaWdodDogdmFyaWFibGVzLiRyaXBwbGUtc2l6ZSxcbiAgICAgICRjb21wb25lbnQtd2lkdGg6IHZhcmlhYmxlcy4kcmlwcGxlLXNpemUsXG4gICAgICAkcXVlcnk6ICRxdWVyeSk7XG4gICAgQGluY2x1ZGUgdG91Y2gtdGFyZ2V0KHRvdWNoLXRhcmdldC12YXJpYWJsZXMuJGhlaWdodCwgJHF1ZXJ5OiAkcXVlcnkpO1xuICB9XG5cbiAgLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2w6Y2hlY2tlZCB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQge1xuICAgIC5tZGMtY2hlY2tib3hfX2NoZWNrbWFyayB7XG4gICAgICBAaW5jbHVkZSBjaGVja21hcmstLWNoZWNrZWRfKCRxdWVyeSk7XG4gICAgfVxuXG4gICAgLm1kYy1jaGVja2JveF9fbWl4ZWRtYXJrIHtcbiAgICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgICBAaW5jbHVkZSBtaXhlZG1hcmstLWNoZWNrZWRfO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAubWRjLWNoZWNrYm94X19uYXRpdmUtY29udHJvbDppbmRldGVybWluYXRlIH4gLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZCxcbiAgLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2xbZGF0YS1pbmRldGVybWluYXRlPVwidHJ1ZVwiXSB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQge1xuICAgIC5tZGMtY2hlY2tib3hfX2NoZWNrbWFyayB7XG4gICAgICBAaW5jbHVkZSBjaGVja21hcmstLWluZGV0ZXJtaW5hdGVfKCRxdWVyeSk7XG4gICAgfVxuXG4gICAgLm1kYy1jaGVja2JveF9fbWl4ZWRtYXJrIHtcbiAgICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgICBAaW5jbHVkZSBtaXhlZG1hcmstLWluZGV0ZXJtaW5hdGVfO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIHBvc3Rjc3MtYmVtLWxpbnRlcjogZW5kXG59XG5cbi8vIFRoaXMgQVBJIGlzIGludGVuZGVkIGZvciB1c2UgYnkgZnJhbWV3b3JrcyB0aGF0IG1heSB3YW50IHRvIHNlcGFyYXRlIHRoZSByaXBwbGUtcmVsYXRlZCBzdHlsZXMgZnJvbSB0aGUgb3RoZXJcbi8vIGNoZWNrYm94IHN0eWxlcy4gSXQgaXMgcmVjb21tZW5kZWQgdGhhdCBtb3N0IHVzZXJzIHVzZSBgbWRjLWNoZWNrYm94LWNvcmUtc3R5bGVzYCBpbnN0ZWFkLlxuQG1peGluIHJpcHBsZSgkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAkZmVhdC1zdHJ1Y3R1cmU6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcblxuICBAaW5jbHVkZSByaXBwbGUtbWl4aW5zLmNvbW1vbigkcXVlcnkpOyAvLyBDT1BZQkFSQV9DT01NRU5UX1RISVNfTElORVxuXG4gIC5tZGMtY2hlY2tib3gge1xuICAgIEBpbmNsdWRlIHJpcHBsZS1taXhpbnMuc3VyZmFjZSgkcXVlcnk6ICRxdWVyeSwgJHJpcHBsZS10YXJnZXQ6ICRyaXBwbGUtdGFyZ2V0KTtcbiAgICBAaW5jbHVkZSByaXBwbGUtbWl4aW5zLnN0YXRlcygkY29sb3I6IG9uLXN1cmZhY2UsICRxdWVyeTogJHF1ZXJ5LCAkcmlwcGxlLXRhcmdldDogJHJpcHBsZS10YXJnZXQpO1xuICAgIEBpbmNsdWRlIHJpcHBsZS1taXhpbnMucmFkaXVzLXVuYm91bmRlZCgkcXVlcnk6ICRxdWVyeSwgJHJpcHBsZS10YXJnZXQ6ICRyaXBwbGUtdGFyZ2V0KTtcbiAgfVxuXG4gICN7JHJpcHBsZS10YXJnZXR9IHtcbiAgICBAaW5jbHVkZSByaXBwbGUtbWl4aW5zLnRhcmdldC1jb21tb24oJHF1ZXJ5OiAkcXVlcnkpO1xuICB9XG5cbiAgLm1kYy1yaXBwbGUtdXBncmFkZWQtLWJhY2tncm91bmQtZm9jdXNlZCAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kOjpiZWZvcmUge1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgY29udGVudDogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuLy8vXG4vLy8gU2V0cyBkZW5zaXR5IHNjYWxlIGZvciBjaGVja2JveC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyIHwgU3RyaW5nfSAkZGVuc2l0eS1zY2FsZSAtIERlbnNpdHkgc2NhbGUgdmFsdWUgZm9yIGNvbXBvbmVudC4gU3VwcG9ydGVkIGRlbnNpdHkgc2NhbGUgdmFsdWVzXG4vLy8gICAgIGAtM2AsIGAtMmAsIGAtMWAsIGAwYC5cbi8vL1xuQG1peGluIGRlbnNpdHkoJGRlbnNpdHktc2NhbGUsICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gICRzaXplOiBkZW5zaXR5LWZ1bmN0aW9ucy5wcm9wLXZhbHVlKFxuICAgICRkZW5zaXR5LWNvbmZpZzogdmFyaWFibGVzLiRkZW5zaXR5LWNvbmZpZyxcbiAgICAkZGVuc2l0eS1zY2FsZTogJGRlbnNpdHktc2NhbGUsXG4gICAgJHByb3BlcnR5LW5hbWU6IHNpemUsXG4gICk7XG5cbiAgQGluY2x1ZGUgcmlwcGxlLXNpemUoJHNpemUsICRxdWVyeTogJHF1ZXJ5KTtcblxuICBAaWYgJGRlbnNpdHktc2NhbGUgIT0gMCB7XG4gICAgQGluY2x1ZGUgdG91Y2gtdGFyZ2V0LXJlc2V0XygkcXVlcnk6ICRxdWVyeSk7XG4gIH1cbn1cblxuQG1peGluIHJpcHBsZS1zaXplKCRyaXBwbGUtc2l6ZSwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJGZlYXQtc3RydWN0dXJlOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG4gICRjaGVja2JveC1wYWRkaW5nOiAoJHJpcHBsZS1zaXplIC0gdmFyaWFibGVzLiRpY29uLXNpemUpIC8gMjtcblxuICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICBwYWRkaW5nOiAkY2hlY2tib3gtcGFkZGluZztcbiAgfVxuXG4gIC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQge1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgdG9wOiAkY2hlY2tib3gtcGFkZGluZztcbiAgICAgIGxlZnQ6ICRjaGVja2JveC1wYWRkaW5nO1xuICAgIH1cbiAgfVxuXG4gIC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQ6OmJlZm9yZSB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICB0b3A6IC0odmFyaWFibGVzLiRib3JkZXItd2lkdGgpIC0gJGNoZWNrYm94LXBhZGRpbmc7XG4gICAgICBsZWZ0OiAtKHZhcmlhYmxlcy4kYm9yZGVyLXdpZHRoKSAtICRjaGVja2JveC1wYWRkaW5nO1xuICAgICAgd2lkdGg6ICRyaXBwbGUtc2l6ZTtcbiAgICAgIGhlaWdodDogJHJpcHBsZS1zaXplO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIHRvdWNoLXRhcmdldCgkcmlwcGxlLXNpemUsICRyaXBwbGUtc2l6ZTogJHJpcHBsZS1zaXplLCAkcXVlcnk6ICRxdWVyeSk7XG59XG5cbi8vL1xuLy8vIFNldHMgc3Ryb2tlICYgZmlsbCBjb2xvcnMgZm9yIGJvdGggbWFya2VkIGFuZCB1bm1hcmtlZCBzdGF0ZSBvZiBlbmFibGVkIGNoZWNrYm94LlxuLy8vIFNldCAkZ2VuZXJhdGUta2V5ZnJhbWVzIHRvIGZhbHNlIHRvIHByZXZlbnQgdGhlIG1peGluIGZyb20gZ2VuZXJhdGluZyBAa2V5ZnJhbWVzXG4vLy8gQHBhcmFtIHtDb2xvcn0gJHVubWFya2VkLXN0cm9rZS1jb2xvciAtIFRoZSBkZXNpcmVkIHN0cm9rZSBjb2xvciBmb3IgdGhlIHVubWFya2VkIHN0YXRlXG4vLy8gQHBhcmFtIHtDb2xvcn0gJHVubWFya2VkLWZpbGwtY29sb3IgLSBUaGUgZGVzaXJlZCBmaWxsIGNvbG9yIGZvciB0aGUgdW5tYXJrZWQgc3RhdGVcbi8vLyBAcGFyYW0ge0NvbG9yfSAkbWFya2VkLXN0cm9rZS1jb2xvciAtIFRoZSBkZXNpcmVkIHN0cm9rZSBjb2xvciBmb3IgdGhlIG1hcmtlZCBzdGF0ZVxuLy8vIEBwYXJhbSB7Q29sb3J9ICRtYXJrZWQtZmlsbC1jb2xvciAtIFRoZSBkZXNpcmVkIGZpbGwgY29sb3IgZm9yIHRoZSBtYXJrZWQgc3RhdGVcbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRnZW5lcmF0ZS1rZXlmcmFtZXMgW3RydWVdIC0gV2hldGhlciBhbmltYXRpb24ga2V5ZnJhbWVzIHNob3VsZCBiZSBnZW5lcmF0ZWRcbi8vL1xuQG1peGluIGNvbnRhaW5lci1jb2xvcnMoXG4gICR1bm1hcmtlZC1zdHJva2UtY29sb3I6IHZhcmlhYmxlcy4kYm9yZGVyLWNvbG9yLFxuICAkdW5tYXJrZWQtZmlsbC1jb2xvcjogdHJhbnNwYXJlbnQsXG4gICRtYXJrZWQtc3Ryb2tlLWNvbG9yOiB2YXJpYWJsZXMuJGJhc2VsaW5lLXRoZW1lLWNvbG9yLFxuICAkbWFya2VkLWZpbGwtY29sb3I6IHZhcmlhYmxlcy4kYmFzZWxpbmUtdGhlbWUtY29sb3IsXG4gICRnZW5lcmF0ZS1rZXlmcmFtZXM6IHRydWUsXG4gICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpXG4pIHtcbiAgJGZlYXQtYW5pbWF0aW9uOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIGFuaW1hdGlvbik7XG4gICRmZWF0LWNvbG9yOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIGNvbG9yKTtcblxuICBAaW5jbHVkZSBpZi11bm1hcmtlZC1lbmFibGVkXyB7XG4gICAgQGluY2x1ZGUgY29udGFpbmVyLWNvbG9yc18oJHVubWFya2VkLXN0cm9rZS1jb2xvciwgJHVubWFya2VkLWZpbGwtY29sb3IsICRxdWVyeTogJHF1ZXJ5KTtcbiAgfVxuXG4gIEBpbmNsdWRlIGlmLW1hcmtlZC1lbmFibGVkXyB7XG4gICAgQGluY2x1ZGUgY29udGFpbmVyLWNvbG9yc18oJG1hcmtlZC1zdHJva2UtY29sb3IsICRtYXJrZWQtZmlsbC1jb2xvciwgJHF1ZXJ5OiAkcXVlcnkpO1xuICB9XG5cbiAgQGlmICRnZW5lcmF0ZS1rZXlmcmFtZXMge1xuICAgICR1aWQ6IHRoZW1lLWZ1bmN0aW9ucy5jb2xvci1oYXNoKCR1bm1hcmtlZC1zdHJva2UtY29sb3IpICtcbiAgICAgIHRoZW1lLWZ1bmN0aW9ucy5jb2xvci1oYXNoKCRtYXJrZWQtc3Ryb2tlLWNvbG9yKSArXG4gICAgICB0aGVtZS1mdW5jdGlvbnMuY29sb3ItaGFzaCgkdW5tYXJrZWQtZmlsbC1jb2xvcikgK1xuICAgICAgdGhlbWUtZnVuY3Rpb25zLmNvbG9yLWhhc2goJG1hcmtlZC1maWxsLWNvbG9yKTtcblxuICAgICRhbmltLXNlbGVjdG9yOiBpZigmLCBcIiYubWRjLWNoZWNrYm94LS1hbmltXCIsIFwiLm1kYy1jaGVja2JveC0tYW5pbVwiKTtcblxuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LWFuaW1hdGlvbiwgJGZlYXQtY29sb3IpIHtcbiAgICAgIEBpbmNsdWRlIGtleWZyYW1lcy5jb250YWluZXIta2V5ZnJhbWVzXyhcbiAgICAgICAgJGZyb20tc3Ryb2tlLWNvbG9yOiAkdW5tYXJrZWQtc3Ryb2tlLWNvbG9yLFxuICAgICAgICAkdG8tc3Ryb2tlLWNvbG9yOiAkbWFya2VkLXN0cm9rZS1jb2xvcixcbiAgICAgICAgJGZyb20tZmlsbC1jb2xvcjogJHVubWFya2VkLWZpbGwtY29sb3IsXG4gICAgICAgICR0by1maWxsLWNvbG9yOiAkbWFya2VkLWZpbGwtY29sb3IsXG4gICAgICAgICR1aWQ6ICN7JHVpZH1cbiAgICAgICk7XG4gICAgfVxuXG4gICAgLy8gc3R5bGVsaW50LWRpc2FibGUgbWF4LW5lc3RpbmctZGVwdGhcblxuICAgICN7JGFuaW0tc2VsZWN0b3J9IHtcbiAgICAgICYtdW5jaGVja2VkLWNoZWNrZWQsXG4gICAgICAmLXVuY2hlY2tlZC1pbmRldGVybWluYXRlIHtcbiAgICAgICAgLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2w6ZW5hYmxlZCB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQge1xuICAgICAgICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LWFuaW1hdGlvbikge1xuICAgICAgICAgICAgYW5pbWF0aW9uLW5hbWU6IG1kYy1jaGVja2JveC1mYWRlLWluLWJhY2tncm91bmQtI3skdWlkfTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi1jaGVja2VkLXVuY2hlY2tlZCxcbiAgICAgICYtaW5kZXRlcm1pbmF0ZS11bmNoZWNrZWQge1xuICAgICAgICAubWRjLWNoZWNrYm94X19uYXRpdmUtY29udHJvbDplbmFibGVkIH4gLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZCB7XG4gICAgICAgICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtYW5pbWF0aW9uKSB7XG4gICAgICAgICAgICBhbmltYXRpb24tbmFtZTogbWRjLWNoZWNrYm94LWZhZGUtb3V0LWJhY2tncm91bmQtI3skdWlkfTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBzdHlsZWxpbnQtZW5hYmxlIG1heC1uZXN0aW5nLWRlcHRoXG4gIH1cbn1cblxuLy8vXG4vLy8gU2V0cyBzdHJva2UgJiBmaWxsIGNvbG9ycyBmb3IgYm90aCBtYXJrZWQgYW5kIHVubWFya2VkIHN0YXRlIG9mIGRpc2FibGVkIGNoZWNrYm94LlxuLy8vIEBwYXJhbSB7Q29sb3J9ICR1bm1hcmtlZC1zdHJva2UtY29sb3IgLSBUaGUgZGVzaXJlZCBzdHJva2UgY29sb3IgZm9yIHRoZSB1bm1hcmtlZCBzdGF0ZVxuLy8vIEBwYXJhbSB7Q29sb3J9ICR1bm1hcmtlZC1maWxsLWNvbG9yIC0gVGhlIGRlc2lyZWQgZmlsbCBjb2xvciBmb3IgdGhlIHVubWFya2VkIHN0YXRlXG4vLy8gQHBhcmFtIHtDb2xvcn0gJG1hcmtlZC1zdHJva2UtY29sb3IgLSBUaGUgZGVzaXJlZCBzdHJva2UgY29sb3IgZm9yIHRoZSBtYXJrZWQgc3RhdGVcbi8vLyBAcGFyYW0ge0NvbG9yfSAkbWFya2VkLWZpbGwtY29sb3IgLSBUaGUgZGVzaXJlZCBmaWxsIGNvbG9yIGZvciB0aGUgbWFya2VkIHN0YXRlXG4vLy9cbkBtaXhpbiBkaXNhYmxlZC1jb250YWluZXItY29sb3JzKFxuICAkdW5tYXJrZWQtc3Ryb2tlLWNvbG9yOiB2YXJpYWJsZXMuJGRpc2FibGVkLWNvbG9yLFxuICAkdW5tYXJrZWQtZmlsbC1jb2xvcjogdHJhbnNwYXJlbnQsXG4gICRtYXJrZWQtc3Ryb2tlLWNvbG9yOiB0cmFuc3BhcmVudCxcbiAgJG1hcmtlZC1maWxsLWNvbG9yOiB2YXJpYWJsZXMuJGRpc2FibGVkLWNvbG9yLFxuICAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKVxuKSB7XG4gIEBpbmNsdWRlIGlmLXVubWFya2VkLWRpc2FibGVkXyB7XG4gICAgQGluY2x1ZGUgY29udGFpbmVyLWNvbG9yc18oJHVubWFya2VkLXN0cm9rZS1jb2xvciwgJHVubWFya2VkLWZpbGwtY29sb3IsICRxdWVyeTogJHF1ZXJ5KTtcbiAgfVxuXG4gIEBpbmNsdWRlIGlmLW1hcmtlZC1kaXNhYmxlZF8ge1xuICAgIEBpbmNsdWRlIGNvbnRhaW5lci1jb2xvcnNfKCRtYXJrZWQtc3Ryb2tlLWNvbG9yLCAkbWFya2VkLWZpbGwtY29sb3IsICRxdWVyeTogJHF1ZXJ5KTtcbiAgfVxufVxuXG4vLy9cbi8vLyBTZXRzIHRoZSBpbmsgY29sb3Igb2YgdGhlIGNoZWNrZWQgYW5kIGluZGV0ZXJtaW5hdGUgaWNvbnMgZm9yIGFuIGVuYWJsZWQgY2hlY2tib3hcbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBUaGUgZGVzaXJlZCBpbmsgY29sb3IgaW4gZW5hYmxlZCBzdGF0ZVxuLy8vXG5AbWl4aW4gaW5rLWNvbG9yKCRjb2xvciwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgQGluY2x1ZGUgaWYtZW5hYmxlZF8ge1xuICAgIEBpbmNsdWRlIGluay1jb2xvcl8oJGNvbG9yLCAkcXVlcnk6ICRxdWVyeSk7XG4gIH1cbn1cblxuLy8vXG4vLy8gU2V0cyB0aGUgaW5rIGNvbG9yIG9mIHRoZSBjaGVja2VkIGFuZCBpbmRldGVybWluYXRlIGljb25zIGZvciBhIGRpc2FibGVkIGNoZWNrYm94XG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gVGhlIGRlc2lyZWQgaW5rIGNvbG9yIGluIGRpc2FibGVkIHN0YXRlXG4vLy9cbkBtaXhpbiBkaXNhYmxlZC1pbmstY29sb3IoJGNvbG9yLCAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAkZmVhdC1jb2xvcjogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBjb2xvcik7XG5cbiAgQGluY2x1ZGUgaWYtZGlzYWJsZWRfIHtcbiAgICBAaW5jbHVkZSBpbmstY29sb3JfKCRjb2xvciwgJHF1ZXJ5OiAkcXVlcnkpO1xuICB9XG59XG5cbkBtaXhpbiBmb2N1cy1pbmRpY2F0b3ItY29sb3IoJGNvbG9yLCAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAkZmVhdC1jb2xvcjogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBjb2xvcik7XG5cbiAgLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2w6Y2hlY2tlZCB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQ6OmJlZm9yZSxcbiAgLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2w6aW5kZXRlcm1pbmF0ZSB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQ6OmJlZm9yZSxcbiAgLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2xbZGF0YS1pbmRldGVybWluYXRlPVwidHJ1ZVwiXSB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQ6OmJlZm9yZSB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtY29sb3IpIHtcbiAgICAgIEBpbmNsdWRlIHRoZW1lLW1peGlucy5wcm9wKGJhY2tncm91bmQtY29sb3IsICRjb2xvcik7XG4gICAgfVxuICB9XG5cbiAgJi5tZGMtY2hlY2tib3gtLXNlbGVjdGVkIHtcbiAgICBAaW5jbHVkZSByaXBwbGUtbWl4aW5zLnN0YXRlcygkY29sb3I6ICRjb2xvciwgJHF1ZXJ5OiAkcXVlcnksICRyaXBwbGUtdGFyZ2V0OiAkcmlwcGxlLXRhcmdldCk7XG4gIH1cblxuICAmLm1kYy1yaXBwbGUtdXBncmFkZWQtLWJhY2tncm91bmQtZm9jdXNlZC5tZGMtY2hlY2tib3gtLXNlbGVjdGVkIHtcbiAgICBAaW5jbHVkZSByaXBwbGUtbWl4aW5zLnN0YXRlcy1iYXNlLWNvbG9yKCRjb2xvcjogJGNvbG9yLCAkcXVlcnk6ICRxdWVyeSwgJHJpcHBsZS10YXJnZXQ6ICRyaXBwbGUtdGFyZ2V0KTtcbiAgfVxufVxuXG4vLy9cbi8vLyBTZXRzIGNoZWNrYm94IHRvdWNoIHRhcmdldCBzaXplIHdoaWNoIGNhbiBiZSBtb3JlIHRoYW4gdGhlIHJpcHBsZSBzaXplLiBQYXJhbSBgJHJpcHBsZS1zaXplYCBpcyByZXF1aXJlZCBmb3IgY3VzdG9tXG4vLy8gcmlwcGxlIHNpemUuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHNpemUgU2l6ZSBvZiB0b3VjaCB0YXJnZXQgKE5hdGl2ZSBpbnB1dCkgaW4gYHB4YC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHJpcHBsZS1zaXplIFNpemUgb2YgcmlwcGxlIGluIGBweGAuIFJlcXVpcmVkIG9ubHkgZm9yIGN1c3RvbSByaXBwbGUgc2l6ZS5cbi8vL1xuQG1peGluIHRvdWNoLXRhcmdldChcbiAgJHNpemU6IHZhcmlhYmxlcy4kcmlwcGxlLXNpemUsXG4gICRyaXBwbGUtc2l6ZTogdmFyaWFibGVzLiRyaXBwbGUtc2l6ZSxcbiAgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJGZlYXQtc3RydWN0dXJlOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG4gICRvZmZzZXQ6ICgkcmlwcGxlLXNpemUgLSAkc2l6ZSkgLyAyO1xuXG4gIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgIC5tZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sIHtcbiAgICAgIHRvcDogJG9mZnNldDtcbiAgICAgIHJpZ2h0OiAkb2Zmc2V0O1xuICAgICAgbGVmdDogJG9mZnNldDtcbiAgICAgIHdpZHRoOiAkc2l6ZTtcbiAgICAgIGhlaWdodDogJHNpemU7XG4gICAgfVxuICB9XG59XG5cbi8vXG4vLyBQcml2YXRlXG4vL1xuXG5AbWl4aW4gYmFzZV8ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxleDogMCAwIHZhcmlhYmxlcy4kaWNvbi1zaXplO1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgd2lkdGg6IHZhcmlhYmxlcy4kaWNvbi1zaXplO1xuICBoZWlnaHQ6IHZhcmlhYmxlcy4kaWNvbi1zaXplO1xuICBsaW5lLWhlaWdodDogMDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xufVxuXG5AbWl4aW4gZGlzYWJsZWRfIHtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuQG1peGluIGNoaWxkLS11cGdyYWRlZF8ge1xuICAvLyBEdWUgdG8gdGhlIG15cmlhZCBvZiBzZWxlY3RvciBjb21ib3MgdXNlZCB0byBwcm9wZXJseSBzdHlsZSBhIENTUy1vbmx5IGNoZWNrYm94LCBhbGwgb2ZcbiAgLy8gd2hpY2ggaGF2ZSB2YXJ5aW5nIHNlbGVjdG9yIHByZWNlZGVuY2UgYW5kIG1ha2UgdXNlIG9mIHRyYW5zaXRpb25zLCBpdCBpcyBjbGVhbmVyIGFuZCBtb3JlXG4gIC8vIGVmZmljaWVudCBoZXJlIHRvIHNpbXBseSB1c2UgIWltcG9ydGFudCwgc2luY2UgdGhlIG1kYy1jaGVja2JveC0tYW5pbS0qIGNsYXNzZXMgd2lsbCB0YWtlXG4gIC8vIG92ZXIgZnJvbSBoZXJlLlxuICB0cmFuc2l0aW9uOiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi8vIEFuaW1hdGlvblxuXG5AbWl4aW4gYW5pbV8ge1xuICAkbWRjLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtY2hhbmdlLWR1cmF0aW9uXzogNTAwbXM7XG5cbiAgLy8gc3R5bGVsaW50LWRpc2FibGUgc2VsZWN0b3ItbWF4LXR5cGVcblxuICAmLXVuY2hlY2tlZC1jaGVja2VkLFxuICAmLXVuY2hlY2tlZC1pbmRldGVybWluYXRlLFxuICAmLWNoZWNrZWQtdW5jaGVja2VkLFxuICAmLWluZGV0ZXJtaW5hdGUtdW5jaGVja2VkIHtcbiAgICAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kIHtcbiAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogdmFyaWFibGVzLiR0cmFuc2l0aW9uLWR1cmF0aW9uICogMjtcbiAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgICB9XG4gIH1cblxuICAmLXVuY2hlY2tlZC1jaGVja2VkIHtcbiAgICAubWRjLWNoZWNrYm94X19jaGVja21hcmstcGF0aCB7XG4gICAgICAvLyBJbnN0ZWFkIG9mIGRlbGF5aW5nIHRoZSBhbmltYXRpb24sIHdlIHNpbXBseSBtdWx0aXBseSBpdHMgbGVuZ3RoIGJ5IDIgYW5kIGJlZ2luIHRoZVxuICAgICAgLy8gYW5pbWF0aW9uIGF0IDUwJSBpbiBvcmRlciB0byBwcmV2ZW50IGEgZmxhc2ggb2Ygc3R5bGVzIGFwcGxpZWQgdG8gYSBjaGVja2VkIGNoZWNrbWFya1xuICAgICAgLy8gYXMgdGhlIGJhY2tncm91bmQgaXMgZmFkaW5nIGluIGJlZm9yZSB0aGUgYW5pbWF0aW9uIGJlZ2lucy5cbiAgICAgIGFuaW1hdGlvbjogbWRjLWNoZWNrYm94LXVuY2hlY2tlZC1jaGVja2VkLWNoZWNrbWFyay1wYXRoIHZhcmlhYmxlcy4kdHJhbnNpdGlvbi1kdXJhdGlvbiAqIDIgbGluZWFyIDBzO1xuICAgICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB9XG4gIH1cblxuICAmLXVuY2hlY2tlZC1pbmRldGVybWluYXRlIHtcbiAgICAubWRjLWNoZWNrYm94X19taXhlZG1hcmsge1xuICAgICAgYW5pbWF0aW9uOiBtZGMtY2hlY2tib3gtdW5jaGVja2VkLWluZGV0ZXJtaW5hdGUtbWl4ZWRtYXJrIHZhcmlhYmxlcy4kdHJhbnNpdGlvbi1kdXJhdGlvbiBsaW5lYXIgMHM7XG4gICAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIH1cbiAgfVxuXG4gICYtY2hlY2tlZC11bmNoZWNrZWQge1xuICAgIC5tZGMtY2hlY2tib3hfX2NoZWNrbWFyay1wYXRoIHtcbiAgICAgIGFuaW1hdGlvbjogbWRjLWNoZWNrYm94LWNoZWNrZWQtdW5jaGVja2VkLWNoZWNrbWFyay1wYXRoIHZhcmlhYmxlcy4kdHJhbnNpdGlvbi1kdXJhdGlvbiBsaW5lYXIgMHM7XG4gICAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIH1cbiAgfVxuXG4gICYtY2hlY2tlZC1pbmRldGVybWluYXRlIHtcbiAgICAubWRjLWNoZWNrYm94X19jaGVja21hcmsge1xuICAgICAgYW5pbWF0aW9uOiBtZGMtY2hlY2tib3gtY2hlY2tlZC1pbmRldGVybWluYXRlLWNoZWNrbWFyayB2YXJpYWJsZXMuJHRyYW5zaXRpb24tZHVyYXRpb24gbGluZWFyIDBzO1xuICAgICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB9XG5cbiAgICAubWRjLWNoZWNrYm94X19taXhlZG1hcmsge1xuICAgICAgYW5pbWF0aW9uOiBtZGMtY2hlY2tib3gtY2hlY2tlZC1pbmRldGVybWluYXRlLW1peGVkbWFyayB2YXJpYWJsZXMuJHRyYW5zaXRpb24tZHVyYXRpb24gbGluZWFyIDBzO1xuICAgICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB9XG4gIH1cblxuICAmLWluZGV0ZXJtaW5hdGUtY2hlY2tlZCB7XG4gICAgLm1kYy1jaGVja2JveF9fY2hlY2ttYXJrIHtcbiAgICAgIGFuaW1hdGlvbjogbWRjLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtY2hlY2tlZC1jaGVja21hcmsgJG1kYy1jaGVja2JveC1pbmRldGVybWluYXRlLWNoYW5nZS1kdXJhdGlvbl8gbGluZWFyIDBzO1xuICAgICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB9XG5cbiAgICAubWRjLWNoZWNrYm94X19taXhlZG1hcmsge1xuICAgICAgYW5pbWF0aW9uOiBtZGMtY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS1jaGVja2VkLW1peGVkbWFyayAkbWRjLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtY2hhbmdlLWR1cmF0aW9uXyBsaW5lYXIgMHM7XG4gICAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIH1cbiAgfVxuXG4gICYtaW5kZXRlcm1pbmF0ZS11bmNoZWNrZWQge1xuICAgIC5tZGMtY2hlY2tib3hfX21peGVkbWFyayB7XG4gICAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgZGVjbGFyYXRpb24tY29sb24tc3BhY2UtYWZ0ZXJcbiAgICAgIGFuaW1hdGlvbjpcbiAgICAgICAgbWRjLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtdW5jaGVja2VkLW1peGVkbWFyayAkbWRjLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtY2hhbmdlLWR1cmF0aW9uXyAqIC42IGxpbmVhciAwcztcbiAgICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLy8gc3R5bGVsaW50LWVuYWJsZSBzZWxlY3Rvci1tYXgtdHlwZVxufVxuXG4vLyBCYWNrZ3JvdW5kXG5cbi8vL1xuLy8vIEhlbHBzIHNlbGVjdCB0aGUgY2hlY2tib3ggYmFja2dyb3VuZCBvbmx5IHdoZW4gaXRzIG5hdGl2ZSBjb250cm9sIGlzIGluXG4vLy8gZW5hYmxlZCBzdGF0ZS5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuQG1peGluIGlmLWVuYWJsZWRfIHtcbiAgLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2w6ZW5hYmxlZCB+IHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLy9cbi8vLyBIZWxwcyBzZWxlY3QgdGhlIGNoZWNrYm94IGJhY2tncm91bmQgb25seSB3aGVuIGl0cyBuYXRpdmUgY29udHJvbCBpcyBpblxuLy8vIGRpc2FibGVkIHN0YXRlLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG5AbWl4aW4gaWYtZGlzYWJsZWRfIHtcbiAgLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2w6ZGlzYWJsZWQgfiB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8vXG4vLy8gSGVscHMgc2VsZWN0IHRoZSBjaGVja2JveCBiYWNrZ3JvdW5kIG9ubHkgd2hlbiBpdHMgbmF0aXZlIGNvbnRyb2wgaXMgaW5cbi8vLyB1bm1hcmtlZCAmIGVuYWJsZWQgc3RhdGUuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbkBtaXhpbiBpZi11bm1hcmtlZC1lbmFibGVkXyB7XG4gIC5tZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sOmVuYWJsZWQ6bm90KDpjaGVja2VkKTpub3QoOmluZGV0ZXJtaW5hdGUpOm5vdChbZGF0YS1pbmRldGVybWluYXRlPVwidHJ1ZVwiXSkgfiB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8vXG4vLy8gSGVscHMgc2VsZWN0IHRoZSBjaGVja2JveCBiYWNrZ3JvdW5kIG9ubHkgd2hlbiBpdHMgbmF0aXZlIGNvbnRyb2wgaXMgaW5cbi8vLyB1bm1hcmtlZCAmIGRpc2FibGVkIHN0YXRlLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG5AbWl4aW4gaWYtdW5tYXJrZWQtZGlzYWJsZWRfIHtcbiAgLy8gTm90ZTogd2UgbXVzdCB1c2UgYFtkaXNhYmxlZF1gIGluc3RlYWQgb2YgYDpkaXNhYmxlZGAgYmVsb3cgYmVjYXVzZSBFZGdlIGRvZXMgbm90IGFsd2F5cyByZWNhbGN1bGF0ZSB0aGUgc3R5bGVcbiAgLy8gcHJvcGVydHkgd2hlbiB0aGUgYDpkaXNhYmxlZGAgcHNldWRvLWNsYXNzIGlzIGZvbGxvd2VkIGJ5IGEgc2libGluZyBjb21iaW5hdG9yLiBTZWU6XG4gIC8vIGh0dHBzOi8vZGV2ZWxvcGVyLm1pY3Jvc29mdC5jb20vZW4tdXMvbWljcm9zb2Z0LWVkZ2UvcGxhdGZvcm0vaXNzdWVzLzExMjk1MjMxL1xuICAubWRjLWNoZWNrYm94X19uYXRpdmUtY29udHJvbFtkaXNhYmxlZF06bm90KDpjaGVja2VkKTpub3QoOmluZGV0ZXJtaW5hdGUpOm5vdChbZGF0YS1pbmRldGVybWluYXRlPVwidHJ1ZVwiXSkgfiB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8vXG4vLy8gSGVscHMgc2VsZWN0IHRoZSBjaGVja2JveCBiYWNrZ3JvdW5kIG9ubHkgd2hlbiBpdHMgbmF0aXZlIGNvbnRyb2wgaXMgaW5cbi8vLyBtYXJrZWQgJiBlbmFibGVkIHN0YXRlLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG5AbWl4aW4gaWYtbWFya2VkLWVuYWJsZWRfIHtcbiAgLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2w6ZW5hYmxlZDpjaGVja2VkLFxuICAubWRjLWNoZWNrYm94X19uYXRpdmUtY29udHJvbDplbmFibGVkOmluZGV0ZXJtaW5hdGUsXG4gIC5tZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sW2RhdGEtaW5kZXRlcm1pbmF0ZT1cInRydWVcIl06ZW5hYmxlZCB7XG4gICAgfiB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vXG4vLy8gSGVscHMgc2VsZWN0IHRoZSBjaGVja2JveCBiYWNrZ3JvdW5kIG9ubHkgd2hlbiBpdHMgbmF0aXZlIGNvbnRyb2wgaXMgaW5cbi8vLyBtYXJrZWQgJiBkaXNhYmxlZCBzdGF0ZS5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuQG1peGluIGlmLW1hcmtlZC1kaXNhYmxlZF8ge1xuICAvLyBOb3RlOiB3ZSBtdXN0IHVzZSBgW2Rpc2FibGVkXWAgaW5zdGVhZCBvZiBgOmRpc2FibGVkYCBiZWxvdyBiZWNhdXNlIEVkZ2UgZG9lcyBub3QgYWx3YXlzIHJlY2FsY3VsYXRlIHRoZSBzdHlsZVxuICAvLyBwcm9wZXJ0eSB3aGVuIHRoZSBgOmRpc2FibGVkYCBwc2V1ZG8tY2xhc3MgaXMgZm9sbG93ZWQgYnkgYSBzaWJsaW5nIGNvbWJpbmF0b3IuIFNlZTpcbiAgLy8gaHR0cHM6Ly9kZXZlbG9wZXIubWljcm9zb2Z0LmNvbS9lbi11cy9taWNyb3NvZnQtZWRnZS9wbGF0Zm9ybS9pc3N1ZXMvMTEyOTUyMzEvXG4gIC5tZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sW2Rpc2FibGVkXTpjaGVja2VkLFxuICAubWRjLWNoZWNrYm94X19uYXRpdmUtY29udHJvbFtkaXNhYmxlZF06aW5kZXRlcm1pbmF0ZSxcbiAgLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2xbZGF0YS1pbmRldGVybWluYXRlPVwidHJ1ZVwiXVtkaXNhYmxlZF0ge1xuICAgIH4ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBiYWNrZ3JvdW5kXygkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAkZmVhdC1hbmltYXRpb246IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgYW5pbWF0aW9uKTtcbiAgJGZlYXQtc3RydWN0dXJlOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG4gICRmZWF0LWNvbG9yOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIGNvbG9yKTtcblxuICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiB2YXJpYWJsZXMuJGljb24tc2l6ZTtcbiAgICBoZWlnaHQ6IHZhcmlhYmxlcy4kaWNvbi1zaXplO1xuICAgIC8vIGJvcmRlci1jb2xvciBpcyBvdmVycmlkZGVuIGJ5IHRoZSBtZGMtY2hlY2tib3gtdW5tYXJrZWQtc3Ryb2tlLWNvbG9yKCkgbWl4aW5cbiAgICBib3JkZXI6IHZhcmlhYmxlcy4kYm9yZGVyLXdpZHRoIHNvbGlkIGN1cnJlbnRDb2xvcjtcbiAgICBib3JkZXItcmFkaXVzOiAycHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgd2lsbC1jaGFuZ2U6IGJhY2tncm91bmQtY29sb3IsIGJvcmRlci1jb2xvcjtcbiAgfVxuXG4gIC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQ6OmJlZm9yZSB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtY29sb3IpIHtcbiAgICAgIEBpbmNsdWRlIHRoZW1lLW1peGlucy5wcm9wKGJhY2tncm91bmQtY29sb3IsIG9uLXN1cmZhY2UpO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LWFuaW1hdGlvbikge1xuICAgIHRyYW5zaXRpb246XG4gICAgICBmdW5jdGlvbnMudHJhbnNpdGlvbi1leGl0KGJhY2tncm91bmQtY29sb3IpLFxuICAgICAgZnVuY3Rpb25zLnRyYW5zaXRpb24tZXhpdChib3JkZXItY29sb3IpO1xuICB9XG59XG5cbkBtaXhpbiBiYWNrZ3JvdW5kLS1tYXJrZWRfIHtcbiAgdHJhbnNpdGlvbjpcbiAgICBmdW5jdGlvbnMudHJhbnNpdGlvbi1lbnRlcihib3JkZXItY29sb3IpLFxuICAgIGZ1bmN0aW9ucy50cmFuc2l0aW9uLWVudGVyKGJhY2tncm91bmQtY29sb3IpO1xufVxuXG4vLy9cbi8vLyBTZXRzIHRoZSBzdHJva2UgJiBmaWxsIGNvbG9ycyBmb3IgdGhlIGNoZWNrYm94LlxuLy8vIFRoaXMgbWl4aW4gc2hvdWxkIGJlIHdyYXBwZWQgaW4gYSBtaXhpbiB0aGF0IHF1YWxpZmllcyBzdGF0ZSBzdWNoIGFzXG4vLy8gYG1kYy1jaGVja2JveC1pZi11bm1hcmtlZC1lbmFibGVkX2AuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbkBtaXhpbiBjb250YWluZXItY29sb3JzXygkc3Ryb2tlLWNvbG9yLCAkZmlsbC1jb2xvciwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJGZlYXQtY29sb3I6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgY29sb3IpO1xuXG4gIC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQge1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LWNvbG9yKSB7XG4gICAgICBAaW5jbHVkZSB0aGVtZS1taXhpbnMucHJvcChib3JkZXItY29sb3IsICRzdHJva2UtY29sb3IpO1xuICAgICAgQGluY2x1ZGUgdGhlbWUtbWl4aW5zLnByb3AoYmFja2dyb3VuZC1jb2xvciwgJGZpbGwtY29sb3IpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBGb2N1cyBpbmRpY2F0b3JcblxuQG1peGluIGZvY3VzLWluZGljYXRvcl8oJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJGZlYXQtYW5pbWF0aW9uOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIGFuaW1hdGlvbik7XG4gICRmZWF0LXN0cnVjdHVyZTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBzdHJ1Y3R1cmUpO1xuXG4gIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAsIDApO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgd2lsbC1jaGFuZ2U6IG9wYWNpdHksIHRyYW5zZm9ybTtcbiAgfVxuXG4gIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LWFuaW1hdGlvbikge1xuICAgIHRyYW5zaXRpb246XG4gICAgICBmdW5jdGlvbnMudHJhbnNpdGlvbi1leGl0KG9wYWNpdHkpLFxuICAgICAgZnVuY3Rpb25zLnRyYW5zaXRpb24tZXhpdCh0cmFuc2Zvcm0pO1xuICB9XG59XG5cbkBtaXhpbiBmb2N1cy1pbmRpY2F0b3ItLWZvY3VzZWRfKCRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gICRmZWF0LWFuaW1hdGlvbjogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBhbmltYXRpb24pO1xuICAkZmVhdC1zdHJ1Y3R1cmU6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcblxuICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIG9wYWNpdHk6IHZhcmlhYmxlcy4kZm9jdXMtaW5kaWNhdG9yLW9wYWNpdHk7XG4gIH1cblxuICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1hbmltYXRpb24pIHtcbiAgICB0cmFuc2l0aW9uOlxuICAgICAgZnVuY3Rpb25zLnRyYW5zaXRpb24tZW50ZXIob3BhY2l0eSwgMG1zLCA4MG1zKSxcbiAgICAgIGZ1bmN0aW9ucy50cmFuc2l0aW9uLWVudGVyKHRyYW5zZm9ybSwgMG1zLCA4MG1zKTtcbiAgfVxufVxuXG4vLyBOYXRpdmUgaW5wdXRcblxuQG1peGluIG5hdGl2ZS1jb250cm9sXyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBvcGFjaXR5OiAwO1xuICBjdXJzb3I6IGluaGVyaXQ7XG59XG5cbi8vIENoZWNrIG1hcmtcblxuQG1peGluIGNoZWNrbWFya18oJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJGZlYXQtYW5pbWF0aW9uOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIGFuaW1hdGlvbik7XG4gICRmZWF0LXN0cnVjdHVyZTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBzdHJ1Y3R1cmUpO1xuXG4gIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LWFuaW1hdGlvbikge1xuICAgIHRyYW5zaXRpb246IGZ1bmN0aW9ucy50cmFuc2l0aW9uLWV4aXQob3BhY2l0eSwgMG1zLCB2YXJpYWJsZXMuJHRyYW5zaXRpb24tZHVyYXRpb24gKiAyKTtcbiAgfVxuXG4gIC5tZGMtY2hlY2tib3gtLXVwZ3JhZGVkICYge1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGNoZWNrbWFyay0tY2hlY2tlZF8oJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJGZlYXQtYW5pbWF0aW9uOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIGFuaW1hdGlvbik7XG4gICRmZWF0LXN0cnVjdHVyZTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBzdHJ1Y3R1cmUpO1xuXG4gIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LWFuaW1hdGlvbikge1xuICAgIHRyYW5zaXRpb246XG4gICAgICBmdW5jdGlvbnMudHJhbnNpdGlvbi1lbnRlcihvcGFjaXR5LCAwbXMsIHZhcmlhYmxlcy4kdHJhbnNpdGlvbi1kdXJhdGlvbiAqIDIpLFxuICAgICAgZnVuY3Rpb25zLnRyYW5zaXRpb24tZW50ZXIodHJhbnNmb3JtLCAwbXMsIHZhcmlhYmxlcy4kdHJhbnNpdGlvbi1kdXJhdGlvbiAqIDIpO1xuICB9XG5cbiAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG5AbWl4aW4gY2hlY2ttYXJrLS1pbmRldGVybWluYXRlXygkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAkZmVhdC1hbmltYXRpb246IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgYW5pbWF0aW9uKTtcbiAgJGZlYXQtc3RydWN0dXJlOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG5cbiAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1hbmltYXRpb24pIHtcbiAgICB0cmFuc2l0aW9uOlxuICAgICAgZnVuY3Rpb25zLnRyYW5zaXRpb24tZXhpdChvcGFjaXR5LCAwbXMsIHZhcmlhYmxlcy4kdHJhbnNpdGlvbi1kdXJhdGlvbiksXG4gICAgICBmdW5jdGlvbnMudHJhbnNpdGlvbi1leGl0KHRyYW5zZm9ybSwgMG1zLCB2YXJpYWJsZXMuJHRyYW5zaXRpb24tZHVyYXRpb24pO1xuICB9XG59XG5cbi8vL1xuLy8vIFNldHMgdGhlIGluayBjb2xvciBvZiB0aGUgY2hlY2tlZCBhbmQgaW5kZXRlcm1pbmF0ZSBpY29ucyBmb3IgYSBjaGVja2JveC5cbi8vLyBUaGlzIG1peGluIHNob3VsZCBiZSB3cmFwcGVkIGluIGEgbWl4aW4gdGhhdCBxdWFsaWZpZXMgc3RhdGUgc3VjaCBhc1xuLy8vIGBtZGMtY2hlY2tib3gtaWYtdW5tYXJrZWRfYC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuQG1peGluIGluay1jb2xvcl8oJGNvbG9yLCAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAkZmVhdC1jb2xvcjogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBjb2xvcik7XG5cbiAgLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZCB7XG4gICAgLm1kYy1jaGVja2JveF9fY2hlY2ttYXJrIHtcbiAgICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LWNvbG9yKSB7XG4gICAgICAgIEBpbmNsdWRlIHRoZW1lLW1peGlucy5wcm9wKGNvbG9yLCAkY29sb3IpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5tZGMtY2hlY2tib3hfX21peGVkbWFyayB7XG4gICAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1jb2xvcikge1xuICAgICAgICBAaW5jbHVkZSB0aGVtZS1taXhpbnMucHJvcChib3JkZXItY29sb3IsICRjb2xvcik7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIENoZWNrIG1hcmsgcGF0aFxuXG5AbWl4aW4gY2hlY2ttYXJrLXBhdGhfKCRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gICRmZWF0LWFuaW1hdGlvbjogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBhbmltYXRpb24pO1xuICAkZmVhdC1zdHJ1Y3R1cmU6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcblxuICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1hbmltYXRpb24pIHtcbiAgICB0cmFuc2l0aW9uOiBmdW5jdGlvbnMudHJhbnNpdGlvbi1leGl0KHN0cm9rZS1kYXNob2Zmc2V0LCAwbXMsIHZhcmlhYmxlcy4kdHJhbnNpdGlvbi1kdXJhdGlvbiAqIDIpO1xuICB9XG5cbiAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgc3Ryb2tlOiBjdXJyZW50Q29sb3I7XG4gICAgc3Ryb2tlLXdpZHRoOiB2YXJpYWJsZXMuJG1hcmstc3Ryb2tlLXNpemUgKiAxLjM7XG4gICAgc3Ryb2tlLWRhc2hvZmZzZXQ6IHZhcmlhYmxlcy4kbWFyay1wYXRoLWxlbmd0aF87XG4gICAgc3Ryb2tlLWRhc2hhcnJheTogdmFyaWFibGVzLiRtYXJrLXBhdGgtbGVuZ3RoXztcbiAgfVxufVxuXG5AbWl4aW4gY2hlY2ttYXJrLXBhdGgtLW1hcmtlZF8ge1xuICBzdHJva2UtZGFzaG9mZnNldDogMDtcbn1cblxuLy8gTWl4ZWQgbWFya1xuXG5AbWl4aW4gbWl4ZWRtYXJrXygkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAkZmVhdC1hbmltYXRpb246IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgYW5pbWF0aW9uKTtcbiAgJGZlYXQtc3RydWN0dXJlOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG5cbiAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAwO1xuICAgIHRyYW5zZm9ybTogc2NhbGVYKDApIHJvdGF0ZSgwZGVnKTtcbiAgICBib3JkZXItd2lkdGg6IG1hdGguZmxvb3IodmFyaWFibGVzLiRtYXJrLXN0cm9rZS1zaXplKSAvIDI7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtYW5pbWF0aW9uKSB7XG4gICAgdHJhbnNpdGlvbjpcbiAgICAgIGZ1bmN0aW9ucy50cmFuc2l0aW9uLWV4aXQob3BhY2l0eSksXG4gICAgICBmdW5jdGlvbnMudHJhbnNpdGlvbi1leGl0KHRyYW5zZm9ybSk7XG4gIH1cbn1cblxuQG1peGluIG1peGVkbWFyay0tY2hlY2tlZF8ge1xuICB0cmFuc2Zvcm06IHNjYWxlWCgxKSByb3RhdGUoLTQ1ZGVnKTtcbn1cblxuQG1peGluIG1peGVkbWFyay0taW5kZXRlcm1pbmF0ZV8ge1xuICB0cmFuc2Zvcm06IHNjYWxlWCgxKSByb3RhdGUoMGRlZyk7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi8vL1xuLy8vIFJlc2V0cyB0b3VjaCB0YXJnZXQtcmVsYXRlZCBzdHlsZXMuIFRoaXMgaXMgY2FsbGVkIGZyb20gdGhlIGRlbnNpdHkgbWl4aW4gdG9cbi8vLyBhdXRvbWF0aWNhbGx5IHJlbW92ZSB0aGUgaW5jcmVhc2VkIHRvdWNoIHRhcmdldCwgc2luY2UgZGVuc2UgY29tcG9uZW50c1xuLy8vIGRvbid0IGhhdmUgdGhlIHNhbWUgZGVmYXVsdCBhMTF5IHJlcXVpcmVtZW50cy5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuQG1peGluIHRvdWNoLXRhcmdldC1yZXNldF8oJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJGZlYXQtc3RydWN0dXJlOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG5cbiAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG59XG4iLCIvL1xuLy8gQ29weXJpZ2h0IDIwMTcgR29vZ2xlIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuLy9cblxuQHVzZSBcInNhc3M6bWFwXCI7XG5AdXNlIFwiQG1hdGVyaWFsL2ZlYXR1cmUtdGFyZ2V0aW5nL2Z1bmN0aW9uc1wiIGFzIGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucztcbkB1c2UgXCJAbWF0ZXJpYWwvZmVhdHVyZS10YXJnZXRpbmcvbWl4aW5zXCI7XG5AdXNlIFwiLi92YXJpYWJsZXNcIjtcbkB1c2UgXCIuL2Z1bmN0aW9uc1wiO1xuXG5AbWl4aW4gY29yZS1zdHlsZXMoJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJGZlYXQtY29sb3I6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgY29sb3IpO1xuXG4gIDpyb290IHtcbiAgICBAaW5jbHVkZSBtaXhpbnMudGFyZ2V0cygkZmVhdC1jb2xvcikge1xuICAgICAgQGVhY2ggJHN0eWxlIGluIG1hcC5rZXlzKHZhcmlhYmxlcy4kcHJvcGVydHktdmFsdWVzKSB7XG4gICAgICAgIC0tbWRjLXRoZW1lLSN7JHN0eWxlfTogI3ttYXAuZ2V0KHZhcmlhYmxlcy4kcHJvcGVydHktdmFsdWVzLCAkc3R5bGUpfTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAZWFjaCAkc3R5bGUgaW4gbWFwLmtleXModmFyaWFibGVzLiRwcm9wZXJ0eS12YWx1ZXMpIHtcbiAgICBAaWYgJHN0eWxlICE9IFwiYmFja2dyb3VuZFwiIGFuZCAkc3R5bGUgIT0gXCJzdXJmYWNlXCIge1xuICAgICAgLm1kYy10aGVtZS0tI3skc3R5bGV9IHtcbiAgICAgICAgQGluY2x1ZGUgbWl4aW5zLnRhcmdldHMoJGZlYXQtY29sb3IpIHtcbiAgICAgICAgICBAaW5jbHVkZSBwcm9wKGNvbG9yLCAkc3R5bGUsIHRydWUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBAZWxzZSB7XG4gICAgICAubWRjLXRoZW1lLS0jeyRzdHlsZX0ge1xuICAgICAgICBAaW5jbHVkZSBtaXhpbnMudGFyZ2V0cygkZmVhdC1jb2xvcikge1xuICAgICAgICAgIEBpbmNsdWRlIHByb3AoYmFja2dyb3VuZC1jb2xvciwgJHN0eWxlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIENTUyBydWxlcyBmb3IgdXNpbmcgcHJpbWFyeSBhbmQgc2Vjb25kYXJ5IChwbHVzIGxpZ2h0L2RhcmsgdmFyaWFudHMpIGFzIGJhY2tncm91bmQgY29sb3JzLlxuICBAZWFjaCAkc3R5bGUgaW4gKFwicHJpbWFyeVwiLCBcInNlY29uZGFyeVwiKSB7XG4gICAgLm1kYy10aGVtZS0tI3skc3R5bGV9LWJnIHtcbiAgICAgIEBpbmNsdWRlIG1peGlucy50YXJnZXRzKCRmZWF0LWNvbG9yKSB7XG4gICAgICAgIEBpbmNsdWRlIHByb3AoYmFja2dyb3VuZC1jb2xvciwgJHN0eWxlLCB0cnVlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gQXBwbGllcyB0aGUgY29ycmVjdCB0aGVtZSBjb2xvciBzdHlsZSB0byB0aGUgc3BlY2lmaWVkIHByb3BlcnR5LlxuLy8gJHByb3BlcnR5IGlzIHR5cGljYWxseSBjb2xvciBvciBiYWNrZ3JvdW5kLWNvbG9yLCBidXQgY2FuIGJlIGFueSBDU1MgcHJvcGVydHkgdGhhdCBhY2NlcHRzIGNvbG9yIHZhbHVlcy5cbi8vICRzdHlsZSBzaG91bGQgYmUgb25lIG9mIHRoZSBtYXAga2V5cyBpbiAkbWRjLXRoZW1lLXByb3BlcnR5LXZhbHVlcyAoX3ZhcmlhYmxlcy5zY3NzKSwgb3IgYSBjb2xvciB2YWx1ZS5cbkBtaXhpbiBwcm9wKCRwcm9wZXJ0eSwgJHN0eWxlLCAkaW1wb3J0YW50OiBmYWxzZSkge1xuICAkaW1wb3J0YW50LXJ1bGU6IGlmKCRpbXBvcnRhbnQsIFwiIWltcG9ydGFudFwiLCBcIlwiKTtcblxuICBAaWYgZnVuY3Rpb25zLmlzLXZhci13aXRoLWZhbGxiYWNrXygkc3R5bGUpIHtcbiAgICAjeyRwcm9wZXJ0eX06IGZ1bmN0aW9ucy5nZXQtdmFyLWZhbGxiYWNrXygkc3R5bGUpICN7JGltcG9ydGFudC1ydWxlfTtcbiAgICAvKiBAYWx0ZXJuYXRlICovXG4gICAgI3skcHJvcGVydHl9OiBmdW5jdGlvbnMudmFyXygkc3R5bGUpICN7JGltcG9ydGFudC1ydWxlfTtcbiAgfSBAZWxzZSBpZiB2YXJpYWJsZXMuaXMtdmFsaWQtdGhlbWUtcHJvcC12YWx1ZV8oJHN0eWxlKSB7XG4gICAgI3skcHJvcGVydHl9OiAkc3R5bGUgI3skaW1wb3J0YW50LXJ1bGV9O1xuICB9IEBlbHNlIHtcbiAgICBAaWYgbm90IG1hcC5oYXMta2V5KHZhcmlhYmxlcy4kcHJvcGVydHktdmFsdWVzLCAkc3R5bGUpIHtcbiAgICAgIEBlcnJvciBcIkludmFsaWQgc3R5bGU6ICcjeyRzdHlsZX0nLiBDaG9vc2Ugb25lIG9mOiAje21hcC5rZXlzKHZhcmlhYmxlcy4kcHJvcGVydHktdmFsdWVzKX1cIjtcbiAgICB9XG4gICAgJHZhbHVlOiBtYXAuZ2V0KHZhcmlhYmxlcy4kcHJvcGVydHktdmFsdWVzLCAkc3R5bGUpO1xuXG4gICAgI3skcHJvcGVydHl9OiAkdmFsdWUgI3skaW1wb3J0YW50LXJ1bGV9O1xuICAgIC8qIEBhbHRlcm5hdGUgKi9cbiAgICAjeyRwcm9wZXJ0eX06IHZhcigtLW1kYy10aGVtZS0jeyRzdHlsZX0sICR2YWx1ZSkgI3skaW1wb3J0YW50LXJ1bGV9O1xuICB9XG59XG4iLCIvL1xuLy8gQ29weXJpZ2h0IDIwMTYgR29vZ2xlIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuLy9cblxuQHVzZSBcInNhc3M6Y29sb3JcIjtcbkB1c2UgXCJzYXNzOm1hcFwiO1xuQHVzZSBcIkBtYXRlcmlhbC9hbmltYXRpb24vZnVuY3Rpb25zXCIgYXMgZnVuY3Rpb25zMjtcbkB1c2UgXCJAbWF0ZXJpYWwvYW5pbWF0aW9uL3ZhcmlhYmxlc1wiIGFzIHZhcmlhYmxlczI7XG5AdXNlIFwiQG1hdGVyaWFsL2Jhc2UvbWl4aW5zXCIgYXMgYmFzZS1taXhpbnM7XG5AdXNlIFwiQG1hdGVyaWFsL2ZlYXR1cmUtdGFyZ2V0aW5nL2Z1bmN0aW9uc1wiIGFzIGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucztcbkB1c2UgXCJAbWF0ZXJpYWwvZmVhdHVyZS10YXJnZXRpbmcvbWl4aW5zXCIgYXMgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zO1xuQHVzZSBcIkBtYXRlcmlhbC90aGVtZS9taXhpbnNcIiBhcyB0aGVtZS1taXhpbnM7XG5AdXNlIFwiLi9mdW5jdGlvbnNcIjtcbkB1c2UgXCIuL2tleWZyYW1lc1wiO1xuQHVzZSBcIi4vdmFyaWFibGVzXCI7XG5AdXNlIFwiQG1hdGVyaWFsL3RoZW1lL3ZhcmlhYmxlc1wiIGFzIHRoZW1lLXZhcmlhYmxlcztcblxuQG1peGluIGNvcmUtc3R5bGVzKCRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gIC8vIHBvc3Rjc3MtYmVtLWxpbnRlcjogZGVmaW5lIHJpcHBsZS1zdXJmYWNlXG5cbiAgJGZlYXQtc3RydWN0dXJlOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG5cbiAgLm1kYy1yaXBwbGUtc3VyZmFjZSB7XG4gICAgQGluY2x1ZGUgc3VyZmFjZSgkcXVlcnk6ICRxdWVyeSk7XG4gICAgQGluY2x1ZGUgc3RhdGVzKCRxdWVyeTogJHF1ZXJ5KTtcbiAgICBAaW5jbHVkZSByYWRpdXMtYm91bmRlZCgkcXVlcnk6ICRxdWVyeSk7XG5cbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cblxuICAgICZbZGF0YS1tZGMtcmlwcGxlLWlzLXVuYm91bmRlZF0ge1xuICAgICAgQGluY2x1ZGUgcmFkaXVzLXVuYm91bmRlZCgkcXVlcnk6ICRxdWVyeSk7XG5cbiAgICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1wcmltYXJ5IHtcbiAgICAgIEBpbmNsdWRlIHN0YXRlcyhwcmltYXJ5LCAkcXVlcnk6ICRxdWVyeSk7XG4gICAgfVxuXG4gICAgJi0tYWNjZW50IHtcbiAgICAgIEBpbmNsdWRlIHN0YXRlcyhzZWNvbmRhcnksICRxdWVyeTogJHF1ZXJ5KTtcbiAgICB9XG4gIH1cblxuICAvLyBwb3N0Y3NzLWJlbS1saW50ZXI6IGVuZFxufVxuXG5AbWl4aW4gY29tbW9uKCRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gICRmZWF0LWFuaW1hdGlvbjogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBhbmltYXRpb24pO1xuXG4gIC8vIEVuc3VyZSB0aGF0IHN0eWxlcyBuZWVkZWQgYnkgYW55IGNvbXBvbmVudCB1c2luZyBNREMgUmlwcGxlIGFyZSBlbWl0dGVkLCBidXQgb25seSBvbmNlLlxuICAvLyAoRXZlcnkgY29tcG9uZW50IHVzaW5nIE1EQyBSaXBwbGUgaW1wb3J0cyB0aGVzZSBtaXhpbnMsIGJ1dCBkb2Vzbid0IG5lY2Vzc2FyaWx5IGltcG9ydFxuICAvLyBtZGMtcmlwcGxlLnNjc3MuKVxuICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1hbmltYXRpb24pIHtcbiAgICBAaW5jbHVkZSBiYXNlLW1peGlucy5lbWl0LW9uY2UoXCJtZGMtcmlwcGxlL2NvbW1vbi9hbmltYXRpb25cIikge1xuICAgICAgQGluY2x1ZGUga2V5ZnJhbWVzLmtleWZyYW1lc187XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBzdXJmYWNlKCRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpLCAkcmlwcGxlLXRhcmdldDogXCImXCIpIHtcbiAgJGZlYXQtYW5pbWF0aW9uOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIGFuaW1hdGlvbik7XG4gICRmZWF0LXN0cnVjdHVyZTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBzdHJ1Y3R1cmUpO1xuXG4gIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgIC0tbWRjLXJpcHBsZS1mZy1zaXplOiAwO1xuICAgIC0tbWRjLXJpcHBsZS1sZWZ0OiAwO1xuICAgIC0tbWRjLXJpcHBsZS10b3A6IDA7XG4gICAgLS1tZGMtcmlwcGxlLWZnLXNjYWxlOiAxO1xuICAgIC0tbWRjLXJpcHBsZS1mZy10cmFuc2xhdGUtZW5kOiAwO1xuICAgIC0tbWRjLXJpcHBsZS1mZy10cmFuc2xhdGUtc3RhcnQ6IDA7XG5cbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7XG4gICAgLy8gISFETyBOT1QgUkVNT1ZFISEgbWRjLXJpcHBsZS13aWxsLWNoYW5nZS1yZXBsYWNlclxuICB9XG5cbiAgI3skcmlwcGxlLXRhcmdldH06OmJlZm9yZSxcbiAgI3skcmlwcGxlLXRhcmdldH06OmFmdGVyIHtcbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgfVxuICB9XG5cbiAgI3skcmlwcGxlLXRhcmdldH06OmJlZm9yZSB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtYW5pbWF0aW9uKSB7XG4gICAgICAvLyBBbHNvIHRyYW5zaXRpb24gYmFja2dyb3VuZC1jb2xvciB0byBhdm9pZCB1bm5hdHVyYWwgY29sb3IgZmxhc2hlcyB3aGVuIHRvZ2dsaW5nIGFjdGl2YXRlZC9zZWxlY3RlZCBzdGF0ZVxuICAgICAgdHJhbnNpdGlvbjpcbiAgICAgICAgb3BhY2l0eSB2YXJpYWJsZXMuJHN0YXRlcy13YXNoLWR1cmF0aW9uIGxpbmVhcixcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvciB2YXJpYWJsZXMuJHN0YXRlcy13YXNoLWR1cmF0aW9uIGxpbmVhcjtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIHotaW5kZXg6IDE7IC8vIEVuc3VyZSB0aGF0IHRoZSByaXBwbGUgd2FzaCBmb3IgaG92ZXIvZm9jdXMgc3RhdGVzIGlzIGRpc3BsYXllZCBvbiB0b3Agb2YgcG9zaXRpb25lZCBjaGlsZCBlbGVtZW50c1xuICAgIH1cbiAgfVxuXG4gIC8vIENvbW1vbiBzdHlsZXMgZm9yIHVwZ3JhZGVkIHN1cmZhY2VzIChzb21lIG9mIHRoZXNlIGRlcGVuZCBvbiBjdXN0b20gcHJvcGVydGllcyBzZXQgdmlhIEpTIG9yIG90aGVyIG1peGlucylcblxuICAmLm1kYy1yaXBwbGUtdXBncmFkZWQge1xuICAgICN7JHJpcHBsZS10YXJnZXR9OjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUodmFyKC0tbWRjLXJpcHBsZS1mZy1zY2FsZSwgMSkpO1xuICAgICAgfVxuICAgIH1cblxuICAgICN7JHJpcHBsZS10YXJnZXR9OjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICAvKiBAbm9mbGlwICovXG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi5tZGMtcmlwcGxlLXVwZ3JhZGVkLS11bmJvdW5kZWQge1xuICAgICN7JHJpcHBsZS10YXJnZXR9OjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgICAgdG9wOiB2YXIoLS1tZGMtcmlwcGxlLXRvcCwgMCk7XG4gICAgICAgIC8qIEBub2ZsaXAgKi9cbiAgICAgICAgbGVmdDogdmFyKC0tbWRjLXJpcHBsZS1sZWZ0LCAwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLm1kYy1yaXBwbGUtdXBncmFkZWQtLWZvcmVncm91bmQtYWN0aXZhdGlvbiB7XG4gICAgI3skcmlwcGxlLXRhcmdldH06OmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LWFuaW1hdGlvbikge1xuICAgICAgICBhbmltYXRpb246XG4gICAgICAgICAgbWRjLXJpcHBsZS1mZy1yYWRpdXMtaW4gdmFyaWFibGVzLiR0cmFuc2xhdGUtZHVyYXRpb24gZm9yd2FyZHMsXG4gICAgICAgICAgbWRjLXJpcHBsZS1mZy1vcGFjaXR5LWluIHZhcmlhYmxlcy4kZmFkZS1pbi1kdXJhdGlvbiBmb3J3YXJkcztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLm1kYy1yaXBwbGUtdXBncmFkZWQtLWZvcmVncm91bmQtZGVhY3RpdmF0aW9uIHtcbiAgICAjeyRyaXBwbGUtdGFyZ2V0fTo6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtYW5pbWF0aW9uKSB7XG4gICAgICAgIGFuaW1hdGlvbjogbWRjLXJpcHBsZS1mZy1vcGFjaXR5LW91dCB2YXJpYWJsZXMuJGZhZGUtb3V0LWR1cmF0aW9uO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgICAgLy8gUmV0YWluIHRyYW5zZm9ybSBmcm9tIG1kYy1yaXBwbGUtZmctcmFkaXVzLWluIGFjdGl2YXRpb25cbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUodmFyKC0tbWRjLXJpcHBsZS1mZy10cmFuc2xhdGUtZW5kLCAwKSkgc2NhbGUodmFyKC0tbWRjLXJpcHBsZS1mZy1zY2FsZSwgMSkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gc3RhdGVzLWJhc2UtY29sb3IoXG4gICRjb2xvciwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCksICRyaXBwbGUtdGFyZ2V0OiBcIiZcIikge1xuICAkZmVhdC1jb2xvcjogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBjb2xvcik7XG5cbiAgI3skcmlwcGxlLXRhcmdldH06OmJlZm9yZSxcbiAgI3skcmlwcGxlLXRhcmdldH06OmFmdGVyIHtcbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1jb2xvcikge1xuICAgICAgQGlmIGNvbG9yLmFscGhhKHRoZW1lLXZhcmlhYmxlcy5wcm9wLXZhbHVlKCRjb2xvcikpID4gMCB7XG4gICAgICAgIEBpbmNsdWRlIHRoZW1lLW1peGlucy5wcm9wKGJhY2tncm91bmQtY29sb3IsICRjb2xvcik7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgLy8gSWYgYSBjb2xvciB3aXRoIDAgYWxwaGEgaXMgc3BlY2lmaWVkLCBkb24ndCByZW5kZXIgdGhlIHJpcHBsZSBwc2V1ZG8tZWxlbWVudHMgYXQgYWxsLlxuICAgICAgICAvLyBUaGlzIGF2b2lkcyB1bm5lY2Vzc2FyeSB0cmFuc2l0aW9ucyBhbmQgb3ZlcmZsb3cuXG4gICAgICAgIGNvbnRlbnQ6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vL1xuLy8vIEN1c3RvbWl6ZXMgcmlwcGxlIG9wYWNpdGllcyBpbiBgaG92ZXJgLCBgZm9jdXNgLCBvciBgcHJlc3NgIHN0YXRlc1xuLy8vIEBwYXJhbSB7bWFwfSAkb3BhY2l0eS1tYXAgLSBtYXAgc3BlY2lmeWluZyBjdXN0b20gb3BhY2l0eSBvZiB6ZXJvIG9yIG1vcmUgc3RhdGVzXG4vLy8gQHBhcmFtIHtib29sfSAkaGFzLW5lc3RlZC1mb2N1c2FibGUtZWxlbWVudCAtIHdoZXRoZXIgdGhlIGNvbXBvbmVudCBjb250YWlucyBhIGZvY3VzYWJsZSBlbGVtZW50IGluIHRoZSByb290XG4vLy8gQHBhcmFtIHtzdHJpbmd9ICRyaXBwbGUtdGFyZ2V0IC0gdGhlIG9wdGlvbmFsIHNlbGVjdG9yIGZvciB0aGUgcmlwcGxlIGVsZW1lbnRcbi8vL1xuQG1peGluIHN0YXRlcy1vcGFjaXRpZXMoJG9wYWNpdHktbWFwOiAoKSwgJGhhcy1uZXN0ZWQtZm9jdXNhYmxlLWVsZW1lbnQ6IGZhbHNlLCAkcmlwcGxlLXRhcmdldDogXCImXCIsICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gIC8vIEVuc3VyZSBzdWZmaWNpZW50IHNwZWNpZmljaXR5IHRvIG92ZXJyaWRlIGJhc2Ugc3RhdGUgb3BhY2l0aWVzXG4gIEBpZiBtYXAuaGFzLWtleSgkb3BhY2l0eS1tYXAsIGhvdmVyKSB7XG4gICAgQGluY2x1ZGUgc3RhdGVzLWhvdmVyLW9wYWNpdHkobWFwLmdldCgkb3BhY2l0eS1tYXAsIGhvdmVyKSwgJHJpcHBsZS10YXJnZXQ6ICRyaXBwbGUtdGFyZ2V0LCAkcXVlcnk6ICRxdWVyeSk7XG4gIH1cblxuICBAaWYgbWFwLmhhcy1rZXkoJG9wYWNpdHktbWFwLCBmb2N1cykge1xuICAgIEBpbmNsdWRlIHN0YXRlcy1mb2N1cy1vcGFjaXR5KG1hcC5nZXQoJG9wYWNpdHktbWFwLCBmb2N1cyksICRyaXBwbGUtdGFyZ2V0OiAkcmlwcGxlLXRhcmdldCwgJGhhcy1uZXN0ZWQtZm9jdXNhYmxlLWVsZW1lbnQ6ICRoYXMtbmVzdGVkLWZvY3VzYWJsZS1lbGVtZW50LCAkcXVlcnk6ICRxdWVyeSk7XG4gIH1cblxuICBAaWYgbWFwLmhhcy1rZXkoJG9wYWNpdHktbWFwLCBwcmVzcykge1xuICAgIEBpbmNsdWRlIHN0YXRlcy1wcmVzcy1vcGFjaXR5KG1hcC5nZXQoJG9wYWNpdHktbWFwLCBwcmVzcyksICRyaXBwbGUtdGFyZ2V0OiAkcmlwcGxlLXRhcmdldCwgJHF1ZXJ5OiAkcXVlcnkpO1xuICB9XG59XG5cbkBtaXhpbiBzdGF0ZXMtaG92ZXItb3BhY2l0eShcbiAgJG9wYWNpdHksICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpLCAkcmlwcGxlLXRhcmdldDogXCImXCIpIHtcbiAgJGZlYXQtY29sb3I6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgY29sb3IpO1xuXG4gIC8vIEJhY2tncm91bmQgd2FzaCBzdHlsZXMsIGZvciBib3RoIENTUy1vbmx5IGFuZCB1cGdyYWRlZCBzdGF0ZWZ1bCBzdXJmYWNlc1xuICAmOmhvdmVyIHtcbiAgICAjeyRyaXBwbGUtdGFyZ2V0fTo6YmVmb3JlIHtcbiAgICAgIC8vIE9wYWNpdHkgZmFsbHMgdW5kZXIgY29sb3IgYmVjYXVzZSB0aGUgY2hvc2VuIG9wYWNpdHkgaXMgY29sb3ItZGVwZW5kZW50IGluIHR5cGljYWwgdXNhZ2VcbiAgICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LWNvbG9yKSB7XG4gICAgICAgIG9wYWNpdHk6ICRvcGFjaXR5O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gc3RhdGVzLWZvY3VzLW9wYWNpdHkoXG4gICRvcGFjaXR5LFxuICAkaGFzLW5lc3RlZC1mb2N1c2FibGUtZWxlbWVudDogZmFsc2UsXG4gICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpLFxuICAkcmlwcGxlLXRhcmdldDogXCImXCIpIHtcblxuICAvLyBGb2N1cyBvdmVycmlkZXMgaG92ZXIgYnkgcmV1c2luZyB0aGUgOjpiZWZvcmUgcHNldWRvLWVsZW1lbnQuXG4gIC8vIDpmb2N1cy13aXRoaW4gZ2VuZXJhbGx5IHdvcmtzIG9uIG5vbi1NUyBicm93c2VycyBhbmQgbWF0Y2hlcyB3aGVuIGEgKmNoaWxkKiBvZiB0aGUgZWxlbWVudCBoYXMgZm9jdXMuXG4gIC8vIEl0IGlzIHVzZWZ1bCBmb3IgY2FzZXMgd2hlcmUgYSBjb21wb25lbnQgaGFzIGEgZm9jdXNhYmxlIGVsZW1lbnQgd2l0aGluIHRoZSByb290IG5vZGUsIGUuZy4gdGV4dCBmaWVsZCxcbiAgLy8gYnV0IHVuZGVzaXJhYmxlIGluIGdlbmVyYWwgaW4gY2FzZSBvZiBuZXN0ZWQgc3RhdGVmdWwgY29tcG9uZW50cy5cbiAgLy8gV2UgdXNlIGEgbW9kaWZpZXIgY2xhc3MgZm9yIEpTLWVuYWJsZWQgc3VyZmFjZXMgdG8gc3VwcG9ydCBhbGwgdXNlIGNhc2VzIGluIGFsbCBicm93c2Vycy5cbiAgQGlmICRoYXMtbmVzdGVkLWZvY3VzYWJsZS1lbGVtZW50IHtcbiAgICAvLyBKUy1lbmFibGVkIHNlbGVjdG9ycy5cbiAgICAmLm1kYy1yaXBwbGUtdXBncmFkZWQtLWJhY2tncm91bmQtZm9jdXNlZCxcbiAgICAmLm1kYy1yaXBwbGUtdXBncmFkZWQ6Zm9jdXMtd2l0aGluLFxuICAgIC8vIENTUy1vbmx5IHNlbGVjdG9ycy5cbiAgICAmOm5vdCgubWRjLXJpcHBsZS11cGdyYWRlZCk6Zm9jdXMsXG4gICAgJjpub3QoLm1kYy1yaXBwbGUtdXBncmFkZWQpOmZvY3VzLXdpdGhpbiB7XG4gICAgICAjeyRyaXBwbGUtdGFyZ2V0fTo6YmVmb3JlIHtcbiAgICAgICAgQGluY2x1ZGUgc3RhdGVzLWZvY3VzLW9wYWNpdHktcHJvcGVydGllc18oXG4gICAgICAgICAgJG9wYWNpdHk6ICRvcGFjaXR5LCAkcXVlcnk6ICRxdWVyeSk7XG4gICAgICB9XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICAvLyBKUy1lbmFibGVkIHNlbGVjdG9ycy5cbiAgICAmLm1kYy1yaXBwbGUtdXBncmFkZWQtLWJhY2tncm91bmQtZm9jdXNlZCxcbiAgICAvLyBDU1Mtb25seSBzZWxlY3RvcnMuXG4gICAgJjpub3QoLm1kYy1yaXBwbGUtdXBncmFkZWQpOmZvY3VzIHtcbiAgICAgICN7JHJpcHBsZS10YXJnZXR9OjpiZWZvcmUge1xuICAgICAgICBAaW5jbHVkZSBzdGF0ZXMtZm9jdXMtb3BhY2l0eS1wcm9wZXJ0aWVzXyhcbiAgICAgICAgICAkb3BhY2l0eTogJG9wYWNpdHksICRxdWVyeTogJHF1ZXJ5KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIHN0YXRlcy1mb2N1cy1vcGFjaXR5LXByb3BlcnRpZXNfKCRvcGFjaXR5LCAkcXVlcnkpIHtcbiAgJGZlYXQtYW5pbWF0aW9uOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIGFuaW1hdGlvbik7XG4gIC8vIE9wYWNpdHkgZmFsbHMgdW5kZXIgY29sb3IgYmVjYXVzZSB0aGUgY2hvc2VuIG9wYWNpdHkgaXMgY29sb3ItZGVwZW5kZW50IGluIHR5cGljYWwgdXNhZ2VcbiAgJGZlYXQtY29sb3I6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgY29sb3IpO1xuXG4gIC8vIE5vdGUgdGhhdCB0aGlzIGR1cmF0aW9uIGlzIG9ubHkgZWZmZWN0aXZlIG9uIGZvY3VzLCBub3QgYmx1clxuICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1hbmltYXRpb24pIHtcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA3NW1zO1xuICB9XG5cbiAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtY29sb3IpIHtcbiAgICBvcGFjaXR5OiAkb3BhY2l0eTtcbiAgfVxufVxuXG5AbWl4aW4gc3RhdGVzLXByZXNzLW9wYWNpdHkoJG9wYWNpdHksICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpLCAkcmlwcGxlLXRhcmdldDogXCImXCIpIHtcbiAgJGZlYXQtYW5pbWF0aW9uOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIGFuaW1hdGlvbik7XG4gICRmZWF0LWNvbG9yOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIGNvbG9yKTtcblxuICAvLyBTdHlsZXMgZm9yIG5vbi11cGdyYWRlZCAoQ1NTLW9ubHkpIHN0YXRlZnVsIHN1cmZhY2VzXG5cbiAgJjpub3QoLm1kYy1yaXBwbGUtdXBncmFkZWQpIHtcbiAgICAvLyBBcHBseSBwcmVzcyBhZGRpdGl2ZWx5IGJ5IHVzaW5nIHRoZSA6OmFmdGVyIHBzZXVkby1lbGVtZW50XG4gICAgI3skcmlwcGxlLXRhcmdldH06OmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LWFuaW1hdGlvbikge1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IHZhcmlhYmxlcy4kZmFkZS1vdXQtZHVyYXRpb24gbGluZWFyO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6YWN0aXZlIHtcbiAgICAgICN7JHJpcHBsZS10YXJnZXR9OjphZnRlciB7XG4gICAgICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LWFuaW1hdGlvbikge1xuICAgICAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IHZhcmlhYmxlcy4kZmFkZS1pbi1kdXJhdGlvbjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIE9wYWNpdHkgZmFsbHMgdW5kZXIgY29sb3IgYmVjYXVzZSB0aGUgY2hvc2VuIG9wYWNpdHkgaXMgY29sb3ItZGVwZW5kZW50IGluIHR5cGljYWwgdXNhZ2VcbiAgICAgICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtY29sb3IpIHtcbiAgICAgICAgICBvcGFjaXR5OiAkb3BhY2l0eTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYubWRjLXJpcHBsZS11cGdyYWRlZCB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtY29sb3IpIHtcbiAgICAgIC0tbWRjLXJpcHBsZS1mZy1vcGFjaXR5OiAjeyRvcGFjaXR5fTtcbiAgICB9XG4gIH1cbn1cblxuLy8gU2ltcGxlIG1peGluIGZvciBiYXNlIHN0YXRlcyB3aGljaCBhdXRvbWF0aWNhbGx5IHNlbGVjdHMgb3BhY2l0eSB2YWx1ZXMgYmFzZWQgb24gd2hldGhlciB0aGUgaW5rIGNvbG9yIGlzXG4vLyBsaWdodCBvciBkYXJrLlxuQG1peGluIHN0YXRlcyhcbiAgJGNvbG9yOiB0aGVtZS12YXJpYWJsZXMucHJvcC12YWx1ZShvbi1zdXJmYWNlKSxcbiAgJGhhcy1uZXN0ZWQtZm9jdXNhYmxlLWVsZW1lbnQ6IGZhbHNlLFxuICAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSxcbiAgJHJpcHBsZS10YXJnZXQ6IFwiJlwiLFxuKSB7XG4gIEBpbmNsdWRlIHN0YXRlcy1pbnRlcmFjdGlvbnNfKFxuICAgICRjb2xvcjogJGNvbG9yLFxuICAgICRoYXMtbmVzdGVkLWZvY3VzYWJsZS1lbGVtZW50OiAkaGFzLW5lc3RlZC1mb2N1c2FibGUtZWxlbWVudCxcbiAgICAkcXVlcnk6ICRxdWVyeSxcbiAgICAkcmlwcGxlLXRhcmdldDogJHJpcHBsZS10YXJnZXQpO1xufVxuXG4vLyBTaW1wbGUgbWl4aW4gZm9yIGFjdGl2YXRlZCBzdGF0ZXMgd2hpY2ggYXV0b21hdGljYWxseSBzZWxlY3RzIG9wYWNpdHkgdmFsdWVzIGJhc2VkIG9uIHdoZXRoZXIgdGhlIGluayBjb2xvciBpc1xuLy8gbGlnaHQgb3IgZGFyay5cbkBtaXhpbiBzdGF0ZXMtYWN0aXZhdGVkKFxuICAkY29sb3IsICRoYXMtbmVzdGVkLWZvY3VzYWJsZS1lbGVtZW50OiBmYWxzZSwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCksICRyaXBwbGUtdGFyZ2V0OiBcIiZcIikge1xuICAkZmVhdC1jb2xvcjogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBjb2xvcik7XG4gICRhY3RpdmF0ZWQtb3BhY2l0eTogZnVuY3Rpb25zLnN0YXRlcy1vcGFjaXR5KCRjb2xvciwgYWN0aXZhdGVkKTtcblxuICAmLS1hY3RpdmF0ZWQge1xuICAgIC8vIFN0eWxlbGludCBzZWVtcyB0byB0aGluayB0aGF0ICcmJyBxdWFsaWZpZXMgYXMgYSB0eXBlIHNlbGVjdG9yIGhlcmU/XG4gICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNlbGVjdG9yLW1heC10eXBlXG4gICAgI3skcmlwcGxlLXRhcmdldH06OmJlZm9yZSB7XG4gICAgICAvLyBPcGFjaXR5IGZhbGxzIHVuZGVyIGNvbG9yIGJlY2F1c2UgdGhlIGNob3NlbiBvcGFjaXR5IGlzIGNvbG9yLWRlcGVuZGVudC5cbiAgICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LWNvbG9yKSB7XG4gICAgICAgIG9wYWNpdHk6ICRhY3RpdmF0ZWQtb3BhY2l0eTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBzdGF0ZXMtaW50ZXJhY3Rpb25zXyhcbiAgICAgICRjb2xvcjogJGNvbG9yLFxuICAgICAgJGhhcy1uZXN0ZWQtZm9jdXNhYmxlLWVsZW1lbnQ6ICRoYXMtbmVzdGVkLWZvY3VzYWJsZS1lbGVtZW50LFxuICAgICAgJG9wYWNpdHktbW9kaWZpZXI6ICRhY3RpdmF0ZWQtb3BhY2l0eSxcbiAgICAgICRxdWVyeTogJHF1ZXJ5LFxuICAgICAgJHJpcHBsZS10YXJnZXQ6ICRyaXBwbGUtdGFyZ2V0KTtcbiAgfVxufVxuXG4vLyBTaW1wbGUgbWl4aW4gZm9yIHNlbGVjdGVkIHN0YXRlcyB3aGljaCBhdXRvbWF0aWNhbGx5IHNlbGVjdHMgb3BhY2l0eSB2YWx1ZXMgYmFzZWQgb24gd2hldGhlciB0aGUgaW5rIGNvbG9yIGlzXG4vLyBsaWdodCBvciBkYXJrLlxuQG1peGluIHN0YXRlcy1zZWxlY3RlZChcbiAgJGNvbG9yLFxuICAkaGFzLW5lc3RlZC1mb2N1c2FibGUtZWxlbWVudDogZmFsc2UsXG4gICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpLFxuICAkcmlwcGxlLXRhcmdldDogXCImXCIpIHtcbiAgJGZlYXQtY29sb3I6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgY29sb3IpO1xuICAkc2VsZWN0ZWQtb3BhY2l0eTogZnVuY3Rpb25zLnN0YXRlcy1vcGFjaXR5KCRjb2xvciwgc2VsZWN0ZWQpO1xuXG4gICYtLXNlbGVjdGVkIHtcbiAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2VsZWN0b3ItbWF4LXR5cGVcbiAgICAjeyRyaXBwbGUtdGFyZ2V0fTo6YmVmb3JlIHtcbiAgICAgIC8vIE9wYWNpdHkgZmFsbHMgdW5kZXIgY29sb3IgYmVjYXVzZSB0aGUgY2hvc2VuIG9wYWNpdHkgaXMgY29sb3ItZGVwZW5kZW50LlxuICAgICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtY29sb3IpIHtcbiAgICAgICAgb3BhY2l0eTogJHNlbGVjdGVkLW9wYWNpdHk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgc3RhdGVzLWludGVyYWN0aW9uc18oXG4gICAgICAkY29sb3I6ICRjb2xvcixcbiAgICAgICRoYXMtbmVzdGVkLWZvY3VzYWJsZS1lbGVtZW50OiAkaGFzLW5lc3RlZC1mb2N1c2FibGUtZWxlbWVudCxcbiAgICAgICRvcGFjaXR5LW1vZGlmaWVyOiAkc2VsZWN0ZWQtb3BhY2l0eSxcbiAgICAgICRxdWVyeTogJHF1ZXJ5LFxuICAgICAgJHJpcHBsZS10YXJnZXQ6ICRyaXBwbGUtdGFyZ2V0KTtcbiAgfVxufVxuXG5AbWl4aW4gcmFkaXVzLWJvdW5kZWQoXG4gICRyYWRpdXM6IDEwMCUsICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpLCAkcmlwcGxlLXRhcmdldDogXCImXCIpIHtcbiAgJGZlYXQtc3RydXR1cmU6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcblxuICAjeyRyaXBwbGUtdGFyZ2V0fTo6YmVmb3JlLFxuICAjeyRyaXBwbGUtdGFyZ2V0fTo6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnV0dXJlKSB7XG4gICAgICB0b3A6IGNhbGMoNTAlIC0gI3skcmFkaXVzfSk7XG4gICAgICAvKiBAbm9mbGlwICovXG4gICAgICBsZWZ0OiBjYWxjKDUwJSAtICN7JHJhZGl1c30pO1xuICAgICAgd2lkdGg6ICRyYWRpdXMgKiAyO1xuICAgICAgaGVpZ2h0OiAkcmFkaXVzICogMjtcbiAgICB9XG4gIH1cblxuICAmLm1kYy1yaXBwbGUtdXBncmFkZWQge1xuICAgICN7JHJpcHBsZS10YXJnZXR9OjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1dHVyZSkge1xuICAgICAgICB3aWR0aDogdmFyKC0tbWRjLXJpcHBsZS1mZy1zaXplLCAkcmFkaXVzKTtcbiAgICAgICAgaGVpZ2h0OiB2YXIoLS1tZGMtcmlwcGxlLWZnLXNpemUsICRyYWRpdXMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gcmFkaXVzLXVuYm91bmRlZChcbiAgJHJhZGl1czogMTAwJSwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCksICRyaXBwbGUtdGFyZ2V0OiBcIiZcIikge1xuICAkZmVhdC1zdHJ1dHVyZTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBzdHJ1Y3R1cmUpO1xuXG4gICN7JHJpcHBsZS10YXJnZXR9OjpiZWZvcmUsXG4gICN7JHJpcHBsZS10YXJnZXR9OjphZnRlciB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydXR1cmUpIHtcbiAgICAgIHRvcDogY2FsYyg1MCUgLSAjeyRyYWRpdXMgLyAyfSk7XG4gICAgICAvKiBAbm9mbGlwICovXG4gICAgICBsZWZ0OiBjYWxjKDUwJSAtICN7JHJhZGl1cyAvIDJ9KTtcbiAgICAgIHdpZHRoOiAkcmFkaXVzO1xuICAgICAgaGVpZ2h0OiAkcmFkaXVzO1xuICAgIH1cbiAgfVxuXG4gICYubWRjLXJpcHBsZS11cGdyYWRlZCB7XG4gICAgI3skcmlwcGxlLXRhcmdldH06OmJlZm9yZSxcbiAgICAjeyRyaXBwbGUtdGFyZ2V0fTo6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydXR1cmUpIHtcbiAgICAgICAgdG9wOiB2YXIoLS1tZGMtcmlwcGxlLXRvcCwgY2FsYyg1MCUgLSAjeyRyYWRpdXMgLyAyfSkpO1xuICAgICAgICAvKiBAbm9mbGlwICovXG4gICAgICAgIGxlZnQ6IHZhcigtLW1kYy1yaXBwbGUtbGVmdCwgY2FsYyg1MCUgLSAjeyRyYWRpdXMgLyAyfSkpO1xuICAgICAgICB3aWR0aDogdmFyKC0tbWRjLXJpcHBsZS1mZy1zaXplLCAkcmFkaXVzKTtcbiAgICAgICAgaGVpZ2h0OiB2YXIoLS1tZGMtcmlwcGxlLWZnLXNpemUsICRyYWRpdXMpO1xuICAgICAgfVxuICAgIH1cblxuICAgICN7JHJpcHBsZS10YXJnZXR9OjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1dHVyZSkge1xuICAgICAgICB3aWR0aDogdmFyKC0tbWRjLXJpcHBsZS1mZy1zaXplLCAkcmFkaXVzKTtcbiAgICAgICAgaGVpZ2h0OiB2YXIoLS1tZGMtcmlwcGxlLWZnLXNpemUsICRyYWRpdXMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gc3RhdGVzLWludGVyYWN0aW9uc18oXG4gICRjb2xvcixcbiAgJGhhcy1uZXN0ZWQtZm9jdXNhYmxlLWVsZW1lbnQsXG4gICRvcGFjaXR5LW1vZGlmaWVyOiAwLFxuICAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSxcbiAgJHJpcHBsZS10YXJnZXQ6IFwiJlwiLFxuKSB7XG4gIEBpbmNsdWRlIHRhcmdldC1zZWxlY3RvcigkcmlwcGxlLXRhcmdldCkge1xuICAgIEBpbmNsdWRlIHN0YXRlcy1iYXNlLWNvbG9yKCRjb2xvciwgJHF1ZXJ5KTtcbiAgfVxuXG4gICRvcGFjaXR5LW1hcDogKFxuICAgIGhvdmVyOiBmdW5jdGlvbnMuc3RhdGVzLW9wYWNpdHkoJGNvbG9yLCBob3ZlcikgKyAkb3BhY2l0eS1tb2RpZmllcixcbiAgICBmb2N1czogZnVuY3Rpb25zLnN0YXRlcy1vcGFjaXR5KCRjb2xvciwgZm9jdXMpICsgJG9wYWNpdHktbW9kaWZpZXIsXG4gICAgcHJlc3M6IGZ1bmN0aW9ucy5zdGF0ZXMtb3BhY2l0eSgkY29sb3IsIHByZXNzKSArICRvcGFjaXR5LW1vZGlmaWVyLFxuICApO1xuXG4gIEBpbmNsdWRlIHN0YXRlcy1vcGFjaXRpZXMoJG9wYWNpdHktbWFwLCAkaGFzLW5lc3RlZC1mb2N1c2FibGUtZWxlbWVudDogJGhhcy1uZXN0ZWQtZm9jdXNhYmxlLWVsZW1lbnQsICRyaXBwbGUtdGFyZ2V0OiAkcmlwcGxlLXRhcmdldCwgJHF1ZXJ5OiAkcXVlcnkpO1xufVxuXG4vLyBXcmFwcyBjb250ZW50IGluIHRoZSBgcmlwcGxlLXRhcmdldGAgc2VsZWN0b3IgaWYgaXQgZXhpc3RzLlxuQG1peGluIHRhcmdldC1zZWxlY3RvcigkcmlwcGxlLXRhcmdldDogXCImXCIpIHtcbiAgQGlmICRyaXBwbGUtdGFyZ2V0ID09IFwiJlwiIHtcbiAgICBAY29udGVudDtcbiAgfSBAZWxzZSB7XG4gICAgI3skcmlwcGxlLXRhcmdldH0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vIENvbW1vbiBzdHlsZXMgZm9yIGEgcmlwcGxlIHRhcmdldCBlbGVtZW50LlxuLy8gVXNlZCBmb3IgY29tcG9uZW50cyB3aGljaCBoYXZlIGFuIGlubmVyIHJpcHBsZSB0YXJnZXQgZWxlbWVudC5cbkBtaXhpbiB0YXJnZXQtY29tbW9uKCRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gICRmZWF0LXN0cnVjdHVyZTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBzdHJ1Y3R1cmUpO1xuXG4gIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgLy8gTmVjZXNzYXJ5IGZvciBjbGlja3Mgb24gb3RoZXIgaW5uZXIgZWxlbWVudHMgKGUuZy4gY2xvc2UgaWNvbiBpbiBjaGlwKVxuICAgIC8vIHRvIGdvIHRocm91Z2guXG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIH1cbn1cbiIsIi8vXG4vLyBDb3B5cmlnaHQgMjAxNiBHb29nbGUgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG4vL1xuXG4kZmFkZS1pbi1kdXJhdGlvbjogNzVtcyAhZGVmYXVsdDtcbiRmYWRlLW91dC1kdXJhdGlvbjogMTUwbXMgIWRlZmF1bHQ7XG4kdHJhbnNsYXRlLWR1cmF0aW9uOiAyMjVtcyAhZGVmYXVsdDtcbiRzdGF0ZXMtd2FzaC1kdXJhdGlvbjogMTVtcyAhZGVmYXVsdDtcblxuLy8gTm90ZXMgb24gc3RhdGVzOlxuLy8gKiBmb2N1cyB0YWtlcyBwcmVjZWRlbmNlIG92ZXIgaG92ZXIgKGkuZS4gaWYgYW4gZWxlbWVudCBpcyBib3RoIGZvY3VzZWQgYW5kIGhvdmVyZWQsIG9ubHkgZm9jdXMgdmFsdWUgYXBwbGllcylcbi8vICogcHJlc3Mgc3RhdGUgYXBwbGllcyB0byBhIHNlcGFyYXRlIHBzZXVkby1lbGVtZW50LCBzbyBpdCBoYXMgYW4gYWRkaXRpdmUgZWZmZWN0IG9uIHRvcCBvZiBvdGhlciBzdGF0ZXNcbi8vICogc2VsZWN0ZWQvYWN0aXZhdGVkIGFyZSBhcHBsaWVkIGFkZGl0aXZlbHkgdG8gaG92ZXIvZm9jdXMgdmlhIGNhbGN1bGF0aW9ucyBhdCBwcmVwcm9jZXNzaW5nIHRpbWVcblxuJGRhcmstaW5rLW9wYWNpdGllczogKFxuICBob3ZlcjogLjA0LFxuICBmb2N1czogLjEyLFxuICBwcmVzczogLjEyLFxuICBzZWxlY3RlZDogLjA4LFxuICBhY3RpdmF0ZWQ6IC4xMlxuKSAhZGVmYXVsdDtcblxuJGxpZ2h0LWluay1vcGFjaXRpZXM6IChcbiAgaG92ZXI6IC4wOCxcbiAgZm9jdXM6IC4yNCxcbiAgcHJlc3M6IC4yNCxcbiAgc2VsZWN0ZWQ6IC4xNixcbiAgYWN0aXZhdGVkOiAuMjRcbikgIWRlZmF1bHQ7XG5cbi8vIExlZ2FjeVxuXG4kcHJlc3NlZC1kYXJrLWluay1vcGFjaXR5OiAuMTYgIWRlZmF1bHQ7XG4kcHJlc3NlZC1saWdodC1pbmstb3BhY2l0eTogLjMyICFkZWZhdWx0O1xuIiwiLy9cbi8vIENvcHlyaWdodCAyMDE5IEdvb2dsZSBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cbi8vXG5cbiRoZWlnaHQ6IDQ4cHggIWRlZmF1bHQ7XG4kd2lkdGg6ICRoZWlnaHQgIWRlZmF1bHQ7XG4iLCIvL1xuLy8gQ29weXJpZ2h0IDIwMTcgR29vZ2xlIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuLy9cblxuLy8gTURDIFJpcHBsZSBrZXlmcmFtZXMgYXJlIHNwbGl0IGludG8gdGhlaXIgb3duIGZpbGUgc28gdGhhdCBfbWl4aW5zLnNjc3MgY2FuIHJlbHkgb24gdGhlbS5cblxuQHVzZSBcIkBtYXRlcmlhbC9hbmltYXRpb24vdmFyaWFibGVzXCI7XG5AdXNlIFwiLi92YXJpYWJsZXNcIiBhcyB2YXJpYWJsZXMyO1xuXG5AbWl4aW4ga2V5ZnJhbWVzXyB7XG4gIEBrZXlmcmFtZXMgbWRjLXJpcHBsZS1mZy1yYWRpdXMtaW4ge1xuICAgIGZyb20ge1xuICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogdmFyaWFibGVzLiRzdGFuZGFyZC1jdXJ2ZS10aW1pbmctZnVuY3Rpb247XG4gICAgICAvLyBOT1RFOiBGb3IgdGhlc2Uga2V5ZnJhbWVzLCB3ZSBkbyBub3QgbmVlZCBjdXN0b20gcHJvcGVydHkgZmFsbGJhY2tzIGJlY2F1c2UgdGhleSBhcmUgb25seVxuICAgICAgLy8gdXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoIGAubWRjLXJpcHBsZS11cGdyYWRlZGAuIFNpbmNlIE1EQ1JpcHBsZUZvdW5kYXRpb24gY2hlY2tzIHRvIGVuc3VyZVxuICAgICAgLy8gdGhhdCBjdXN0b20gcHJvcGVydGllcyBhcmUgc3VwcG9ydGVkIHdpdGhpbiB0aGUgYnJvd3NlciBiZWZvcmUgYWRkaW5nIHRoaXMgY2xhc3MsIHdlIGNhblxuICAgICAgLy8gc2FmZWx5IHVzZSB0aGVtIHdpdGhvdXQgYSBmYWxsYmFjay5cbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKHZhcigtLW1kYy1yaXBwbGUtZmctdHJhbnNsYXRlLXN0YXJ0LCAwKSkgc2NhbGUoMSk7XG4gICAgfVxuXG4gICAgdG8ge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUodmFyKC0tbWRjLXJpcHBsZS1mZy10cmFuc2xhdGUtZW5kLCAwKSkgc2NhbGUodmFyKC0tbWRjLXJpcHBsZS1mZy1zY2FsZSwgMSkpO1xuICAgIH1cbiAgfVxuXG4gIEBrZXlmcmFtZXMgbWRjLXJpcHBsZS1mZy1vcGFjaXR5LWluIHtcbiAgICBmcm9tIHtcbiAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxuXG4gICAgdG8ge1xuICAgICAgb3BhY2l0eTogdmFyKC0tbWRjLXJpcHBsZS1mZy1vcGFjaXR5LCAwKTtcbiAgICB9XG4gIH1cblxuICBAa2V5ZnJhbWVzIG1kYy1yaXBwbGUtZmctb3BhY2l0eS1vdXQge1xuICAgIGZyb20ge1xuICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICAgICAgb3BhY2l0eTogdmFyKC0tbWRjLXJpcHBsZS1mZy1vcGFjaXR5LCAwKTtcbiAgICB9XG5cbiAgICB0byB7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgIH1cbiAgfVxufVxuIiwiLy9cbi8vIENvcHlyaWdodCAyMDE3IEdvb2dsZSBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cbi8vXG5cbkB1c2UgXCJzYXNzOm1hcFwiO1xuQHVzZSBcInNhc3M6bWF0aFwiO1xuQHVzZSBcInNhc3M6bWV0YVwiO1xuQHVzZSBcIkBtYXRlcmlhbC9iYXNlL21peGluc1wiIGFzIGJhc2UtbWl4aW5zO1xuQHVzZSBcIkBtYXRlcmlhbC9mZWF0dXJlLXRhcmdldGluZy9mdW5jdGlvbnNcIiBhcyBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnM7XG5AdXNlIFwiQG1hdGVyaWFsL2ZlYXR1cmUtdGFyZ2V0aW5nL21peGluc1wiIGFzIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucztcbkB1c2UgXCJAbWF0ZXJpYWwvdGhlbWUvbWl4aW5zXCIgYXMgdGhlbWUtbWl4aW5zO1xuQHVzZSBcIkBtYXRlcmlhbC90aGVtZS92YXJpYWJsZXNcIiBhcyB0aGVtZS12YXJpYWJsZXM7XG5AdXNlIFwiLi9mdW5jdGlvbnNcIjtcbkB1c2UgXCIuL3ZhcmlhYmxlc1wiO1xuXG5AbWl4aW4gY29yZS1zdHlsZXMoJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJGZlYXQtYW5pbWF0aW9uOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIGFuaW1hdGlvbik7XG4gICRmZWF0LXN0cnVjdHVyZTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBzdHJ1Y3R1cmUpO1xuXG4gIEBmb3IgJHotdmFsdWUgZnJvbSAwIHRocm91Z2ggMjQge1xuICAgIC5tZGMtZWxldmF0aW9uLS16I3skei12YWx1ZX0ge1xuICAgICAgQGluY2x1ZGUgZWxldmF0aW9uKCR6LXZhbHVlLCAkcXVlcnk6ICRxdWVyeSk7XG4gICAgfVxuICB9XG5cbiAgLm1kYy1lbGV2YXRpb24tdHJhbnNpdGlvbiB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtYW5pbWF0aW9uKSB7XG4gICAgICB0cmFuc2l0aW9uOiBmdW5jdGlvbnMudHJhbnNpdGlvbi12YWx1ZSgpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgd2lsbC1jaGFuZ2U6IHZhcmlhYmxlcy4kcHJvcGVydHk7XG4gICAgfVxuICB9XG59XG5cbi8vL1xuLy8vIENhbGxlZCBvbmNlIHBlciBhcHBsaWNhdGlvbiB0byBzZXQgdXAgdGhlIGdsb2JhbCBkZWZhdWx0IGVsZXZhdGlvbiBzdHlsZXMuXG4vLy9cbkBtaXhpbiBvdmVybGF5LWNvbW1vbigkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAkZmVhdC1hbmltYXRpb246IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgYW5pbWF0aW9uKTtcbiAgJGZlYXQtc3RydWN0dXJlOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG5cbiAgQGluY2x1ZGUgb3ZlcmxheS1zZWxlY3Rvcl8ge1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgQGluY2x1ZGUgYmFzZS1taXhpbnMuZW1pdC1vbmNlKFwibWRjLWVsZXZhdGlvbi9jb21tb24vc3RydWN0dXJlXCIpIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3JkZXItcmFkaXVzOiBpbmhlcml0O1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1hbmltYXRpb24pIHtcbiAgICAgIEBpbmNsdWRlIGJhc2UtbWl4aW5zLmVtaXQtb25jZShcIm1kYy1lbGV2YXRpb24vY29tbW9uL2FuaW1hdGlvblwiKSB7XG4gICAgICAgIHRyYW5zaXRpb246IGZ1bmN0aW9ucy5vdmVybGF5LXRyYW5zaXRpb24tdmFsdWUoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBiYXNlLW1peGlucy5lbWl0LW9uY2UoXCJtZGMtZWxldmF0aW9uL2NvbW1vbi9jb2xvclwiKSB7XG4gICAgICBAaW5jbHVkZSBvdmVybGF5LWZpbGwtY29sb3IodmFyaWFibGVzLiRvdmVybGF5LWNvbG9yLCAkcXVlcnk6ICRxdWVyeSk7XG4gICAgfVxuICB9XG59XG5cbi8vL1xuLy8vIFNldHMgdGhlIHNoYWRvdyBvZiB0aGUgZWxlbWVudC5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYm94LXNoYWRvdyAtIFRoZSBzaGFkb3cgdG8gYXBwbHkgdG8gdGhlIGVsZW1lbnQuXG4vLy9cbkBtaXhpbiBzaGFkb3coJGJveC1zaGFkb3csICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gICRmZWF0LWNvbG9yOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIGNvbG9yKTtcblxuICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1jb2xvcikge1xuICAgIC8qIEBhbHRlcm5hdGUgKi9cbiAgICBib3gtc2hhZG93OiAkYm94LXNoYWRvdztcbiAgfVxufVxuXG4vLy9cbi8vLyBTZXRzIHRoZSBlbGV2YXRpb24gb3ZlcmxheSBzdXJmYWNlIHJlcXVpcmVkIHBvc2l0aW9uaW5nLlxuLy8vXG5AbWl4aW4gb3ZlcmxheS1zdXJmYWNlLXBvc2l0aW9uKCRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gICRmZWF0LXN0cnVjdHVyZTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBzdHJ1Y3R1cmUpO1xuXG4gIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgIC8qIEBhbHRlcm5hdGUgKi9cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cbn1cblxuLy8vXG4vLy8gU2V0cyB0aGUgZGltZW5zaW9ucyBvZiB0aGUgZWxldmF0aW9uIG92ZXJsYXksIGluY2x1ZGluZyBwb3NpdGlvbmluZyBhbmQgc2l6aW5nLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCAtIFRoZSB3aWR0aCBvZiB0aGUgZWxldmF0aW9uIG92ZXJsYXlcbi8vLyBAcGFyYW0ge051bWJlcn0gWyRoZWlnaHRdIC0gVGhlIGhlaWdodCBvZiB0aGUgZWxldmF0aW9uIG92ZXJsYXlcbi8vLyBAcGFyYW0ge0Jvb2xlYW59IFskaGFzLWNvbnRlbnQtc2l6aW5nXSAtIFNldCB0byBmYWxzZSBpZiB0aGUgY29udGFpbmVyIGhhcyBubyBjb250ZW50IHNpemluZ1xuLy8vXG5AbWl4aW4gb3ZlcmxheS1kaW1lbnNpb25zKCR3aWR0aCwgJGhlaWdodDogJHdpZHRoLCAkaGFzLWNvbnRlbnQtc2l6aW5nOiB0cnVlLCAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAkZmVhdC1zdHJ1Y3R1cmU6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcblxuICBAaW5jbHVkZSBvdmVybGF5LXNlbGVjdG9yXyB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICB3aWR0aDogJHdpZHRoO1xuICAgICAgaGVpZ2h0OiAkaGVpZ2h0O1xuXG4gICAgICBAaWYgJGhhcy1jb250ZW50LXNpemluZyB7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgLyogQG5vZmxpcCAqL1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICAvKiBAbm9mbGlwICovXG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vL1xuLy8vIFNldHMgdGhlIGVsZXZhdGlvbiBvdmVybGF5IGZpbGwgY29sb3IuXG4vLy8gRXhwZWN0ZWQgdG8gYmUgY2FsbGVkIGRpcmVjdGx5IG9uIHRoZSBlbGV2YXRpb24gb3ZlcmxheSBlbGVtZW50LlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gVGhlIGNvbG9yIG9mIHRoZSBlbGV2YXRpb24gb3ZlcmxheS5cbi8vL1xuQG1peGluIG92ZXJsYXktZmlsbC1jb2xvcigkY29sb3IsICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gICRmZWF0LWNvbG9yOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIGNvbG9yKTtcblxuICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1jb2xvcikge1xuICAgIEBpbmNsdWRlIHRoZW1lLW1peGlucy5wcm9wKGJhY2tncm91bmQtY29sb3IsICRjb2xvcik7XG4gIH1cbn1cblxuLy8vXG4vLy8gU2V0cyB0aGUgZWxldmF0aW9uIG92ZXJsYXkgb3BhY2l0eS5cbi8vLyBFeHBlY3RlZCB0byBiZSBjYWxsZWQgZnJvbSBhIHBhcmVudCBlbGVtZW50LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRvcGFjaXR5IC0gVGhlIG9wYWNpdHkgb2YgdGhlIGVsZXZhdGlvbiBvdmVybGF5LlxuLy8vXG5AbWl4aW4gb3ZlcmxheS1vcGFjaXR5KCRvcGFjaXR5LCAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAkZmVhdC1jb2xvcjogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBjb2xvcik7XG5cbiAgQGluY2x1ZGUgb3ZlcmxheS1zZWxlY3Rvcl8ge1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LWNvbG9yKSB7XG4gICAgICBvcGFjaXR5OiAkb3BhY2l0eTtcbiAgICB9XG4gIH1cbn1cblxuLy8gQXBwbGllcyB0aGUgY29ycmVjdCBDU1MgcnVsZXMgdG8gYW4gZWxlbWVudCB0byBnaXZlIGl0IHRoZSBlbGV2YXRpb24gc3BlY2lmaWVkIGJ5ICR6LXZhbHVlLlxuLy8gVGhlICR6LXZhbHVlIG11c3QgYmUgYmV0d2VlbiAwIGFuZCAyNC5cbi8vIElmICRjb2xvciBoYXMgYW4gYWxwaGEgY2hhbm5lbCwgaXQgd2lsbCBiZSBpZ25vcmVkIGFuZCBvdmVycmlkZGVuLiBUbyBpbmNyZWFzZSB0aGUgb3BhY2l0eSBvZiB0aGUgc2hhZG93LCB1c2Vcbi8vICRvcGFjaXR5LWJvb3N0LlxuQG1peGluIGVsZXZhdGlvbigkei12YWx1ZSwgJGNvbG9yOiB2YXJpYWJsZXMuJGJhc2VsaW5lLWNvbG9yLCAkb3BhY2l0eS1ib29zdDogMCwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgQGlmIG1ldGEudHlwZS1vZigkei12YWx1ZSkgIT0gbnVtYmVyIG9yIG5vdCBtYXRoLmlzLXVuaXRsZXNzKCR6LXZhbHVlKSB7XG4gICAgQGVycm9yIFwiJHotdmFsdWUgbXVzdCBiZSBhIHVuaXRsZXNzIG51bWJlciwgYnV0IHJlY2VpdmVkICcjeyR6LXZhbHVlfSdcIjtcbiAgfVxuXG4gIEBpZiAkei12YWx1ZSA8IDAgb3IgJHotdmFsdWUgPiAyNCB7XG4gICAgQGVycm9yIFwiJHotdmFsdWUgbXVzdCBiZSBiZXR3ZWVuIDAgYW5kIDI0LCBidXQgcmVjZWl2ZWQgJyN7JHotdmFsdWV9J1wiO1xuICB9XG5cbiAgJGZlYXQtY29sb3I6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgY29sb3IpO1xuXG4gICRjb2xvcjogdGhlbWUtdmFyaWFibGVzLnByb3AtdmFsdWUoJGNvbG9yKTtcblxuICAkdW1icmEtei12YWx1ZTogbWFwLmdldCh2YXJpYWJsZXMuJHVtYnJhLW1hcCwgJHotdmFsdWUpO1xuICAkcGVudW1icmEtei12YWx1ZTogbWFwLmdldCh2YXJpYWJsZXMuJHBlbnVtYnJhLW1hcCwgJHotdmFsdWUpO1xuICAkYW1iaWVudC16LXZhbHVlOiBtYXAuZ2V0KHZhcmlhYmxlcy4kYW1iaWVudC1tYXAsICR6LXZhbHVlKTtcblxuICAkdW1icmEtY29sb3I6IHJnYmEoJGNvbG9yLCB2YXJpYWJsZXMuJHVtYnJhLW9wYWNpdHkgKyAkb3BhY2l0eS1ib29zdCk7XG4gICRwZW51bWJyYS1jb2xvcjogcmdiYSgkY29sb3IsIHZhcmlhYmxlcy4kcGVudW1icmEtb3BhY2l0eSArICRvcGFjaXR5LWJvb3N0KTtcbiAgJGFtYmllbnQtY29sb3I6IHJnYmEoJGNvbG9yLCB2YXJpYWJsZXMuJGFtYmllbnQtb3BhY2l0eSArICRvcGFjaXR5LWJvb3N0KTtcblxuICAkYm94LXNoYWRvdzogKFxuICAgICN7XCIjeyR1bWJyYS16LXZhbHVlfSAjeyR1bWJyYS1jb2xvcn1cIn0sXG4gICAgI3tcIiN7JHBlbnVtYnJhLXotdmFsdWV9ICN7JHBlbnVtYnJhLWNvbG9yfVwifSxcbiAgICAjeyRhbWJpZW50LXotdmFsdWV9ICRhbWJpZW50LWNvbG9yLFxuICApO1xuXG4gIEBpbmNsdWRlIHNoYWRvdygkYm94LXNoYWRvdywgJHF1ZXJ5OiAkcXVlcnkpO1xufVxuXG4vLyBQcml2YXRlXG5cbi8vL1xuLy8vIFNldHMgdGhlIGVsZXZhdGlvbiBvdmVybGF5IHRyYW5zaXRpb24gdmFsdWUuXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGR1cmF0aW9uIC0gVGhlIGR1cmF0aW9uIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZWFzaW5nIC0gVGhlIGVhc2luZyBmdW5jdGlvbiBmb3IgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHJldHVybiB7U3RyaW5nfVxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG5AbWl4aW4gb3ZlcmxheS1zZWxlY3Rvcl8ge1xuICAubWRjLWVsZXZhdGlvbi1vdmVybGF5IHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuIiwiLy9cbi8vIENvcHlyaWdodCAyMDE4IEdvb2dsZSBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cbi8vXG5cbkB1c2UgXCJzYXNzOm1hdGhcIjtcbkB1c2UgXCJAbWF0ZXJpYWwvYW5pbWF0aW9uL2Z1bmN0aW9uc1wiIGFzIGFuaW1hdGlvbi1mdW5jdGlvbnM7XG5AdXNlIFwiQG1hdGVyaWFsL2J1dHRvbi92YXJpYWJsZXNcIiBhcyBidXR0b24tdmFyaWFibGVzO1xuQHVzZSBcIkBtYXRlcmlhbC9lbGV2YXRpb24vbWl4aW5zXCIgYXMgZWxldmF0aW9uLW1peGlucztcbkB1c2UgXCJAbWF0ZXJpYWwvZmVhdHVyZS10YXJnZXRpbmcvZnVuY3Rpb25zXCIgYXMgZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zO1xuQHVzZSBcIkBtYXRlcmlhbC9mZWF0dXJlLXRhcmdldGluZy9taXhpbnNcIiBhcyBmZWF0dXJlLXRhcmdldGluZy1taXhpbnM7XG5AdXNlIFwiQG1hdGVyaWFsL3J0bC9taXhpbnNcIiBhcyBydGwtbWl4aW5zO1xuQHVzZSBcIkBtYXRlcmlhbC9zaGFwZS9taXhpbnNcIiBhcyBzaGFwZS1taXhpbnM7XG5AdXNlIFwiQG1hdGVyaWFsL3RoZW1lL21peGluc1wiIGFzIHRoZW1lLW1peGlucztcbkB1c2UgXCJAbWF0ZXJpYWwvdGhlbWUvdmFyaWFibGVzXCIgYXMgdGhlbWUtdmFyaWFibGVzOyAvLyBmb3IgbWRjLXRoZW1lLXByb3AtdmFsdWVcbkB1c2UgXCJAbWF0ZXJpYWwvdG91Y2gtdGFyZ2V0L3ZhcmlhYmxlc1wiIGFzIHRvdWNoLXRhcmdldC12YXJpYWJsZXM7XG5AdXNlIFwiQG1hdGVyaWFsL3R5cG9ncmFwaHkvbWl4aW5zXCIgYXMgdHlwb2dyYXBoeS1taXhpbnM7XG5AdXNlIFwiLi92YXJpYWJsZXNcIjtcblxuQG1peGluIGNvcmUtc3R5bGVzKCRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gICRmZWF0LWFuaW1hdGlvbjogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBhbmltYXRpb24pO1xuICAkZmVhdC1zdHJ1Y3R1cmU6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcblxuICBAaW5jbHVkZSBlbGV2YXRpb24tbWl4aW5zLm92ZXJsYXktY29tbW9uKCRxdWVyeSk7IC8vIENPUFlCQVJBX0NPTU1FTlRfVEhJU19MSU5FXG5cbiAgLy8gcG9zdGNzcy1iZW0tbGludGVyOiBkZWZpbmUgZGlhbG9nXG5cbiAgLm1kYy1kaWFsb2csXG4gIC5tZGMtZGlhbG9nX19zY3JpbSB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cbiAgfVxuXG4gIC5tZGMtZGlhbG9nIHtcbiAgICBAaW5jbHVkZSBjb250YWluZXItZmlsbC1jb2xvcihzdXJmYWNlLCAkcXVlcnk6ICRxdWVyeSk7XG4gICAgQGluY2x1ZGUgc2NyaW0tY29sb3IodmFyaWFibGVzLiRzY3JpbS1jb2xvciwgJHF1ZXJ5OiAkcXVlcnkpO1xuICAgIEBpbmNsdWRlIHRpdGxlLWluay1jb2xvcih2YXJpYWJsZXMuJHRpdGxlLWluay1jb2xvciwgJHF1ZXJ5OiAkcXVlcnkpO1xuICAgIEBpbmNsdWRlIGNvbnRlbnQtaW5rLWNvbG9yKHZhcmlhYmxlcy4kY29udGVudC1pbmstY29sb3IsICRxdWVyeTogJHF1ZXJ5KTtcbiAgICBAaW5jbHVkZSBzY3JvbGwtZGl2aWRlci1jb2xvcih2YXJpYWJsZXMuJHNjcm9sbC1kaXZpZGVyLWNvbG9yLCAkcXVlcnk6ICRxdWVyeSk7XG4gICAgQGluY2x1ZGUgbWluLXdpZHRoKHZhcmlhYmxlcy4kbWluLXdpZHRoLCAkcXVlcnk6ICRxdWVyeSk7XG4gICAgQGluY2x1ZGUgbWF4LXdpZHRoKHZhcmlhYmxlcy4kbWF4LXdpZHRoLCB2YXJpYWJsZXMuJG1hcmdpbiwgJHF1ZXJ5OiAkcXVlcnkpO1xuICAgIEBpbmNsdWRlIG1heC1oZWlnaHQobnVsbCwgdmFyaWFibGVzLiRtYXJnaW4sICRxdWVyeTogJHF1ZXJ5KTtcbiAgICBAaW5jbHVkZSBzaGFwZS1yYWRpdXMobWVkaXVtLCAkcXVlcnk6ICRxdWVyeSk7XG5cbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIC8vIFVzZSBgZGlzcGxheTogbm9uZWAgaW5zdGVhZCBvZiBgdmlzaWJpbGl0eTogaGlkZGVuYCB0byBhdm9pZCByZWNhbGN1bGF0aW5nIGxheW91dCB3aGVuIHRoZSBkaWFsb2cgaXMgY2xvc2VkLlxuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIHotaW5kZXg6IHZhcmlhYmxlcy4kei1pbmRleDtcbiAgICB9XG4gIH1cblxuICAubWRjLWRpYWxvZ19fc2NyaW0ge1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHotaW5kZXg6IC0xO1xuICAgIH1cbiAgfVxuXG4gIC8vIFRoaXMgd3JhcHBlciBlbGVtZW50IGlzIG5lZWRlZCB0byBtYWtlIG1heC1oZWlnaHQgd29yayBpbiBJRSAxMS5cbiAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9waGlsaXB3YWx0b24vZmxleGJ1Z3MvaXNzdWVzLzIxNlxuICAubWRjLWRpYWxvZ19fY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93OyAvLyBJRSAxMVxuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kOyAvLyBFbnN1cmUgU2FmYXJpIGNlbnRlcnMgdGhlIGRpYWxvZyAoYmVjYXVzZSBpdCB0cmVhdHMgdGhlIGNvbnRhaW5lcidzIHdpZHRoIG9kZGx5KVxuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoLjgpO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIC8vIFRoaXMgZWxlbWVudCBpcyBuZWNlc3NhcnkgZm9yIElFIDExIGFuZCBuZWVkcyB0byBoYXZlIGBoZWlnaHQ6IDEwMCVgLlxuICAgICAgLy8gTGV0IGNsaWNrcyBvbiBlbGVtZW50IGZhbGwgdGhyb3VnaCB0byBzY3JpbSBlbGVtZW50IHVuZGVybmVhdGguXG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG4gIH1cblxuICAubWRjLWRpYWxvZ19fc3VyZmFjZSB7XG4gICAgQGluY2x1ZGUgZWxldmF0aW9uLW1peGlucy5vdmVybGF5LXN1cmZhY2UtcG9zaXRpb24oJHF1ZXJ5OiAkcXVlcnkpO1xuICAgIEBpbmNsdWRlIGVsZXZhdGlvbi1taXhpbnMub3ZlcmxheS1kaW1lbnNpb25zKDEwMCUsICRxdWVyeTogJHF1ZXJ5KTtcbiAgICBAaW5jbHVkZSBlbGV2YXRpb24tbWl4aW5zLmVsZXZhdGlvbigyNCwgJHF1ZXJ5OiAkcXVlcnkpO1xuXG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGZsZXgtZ3JvdzogMDsgLy8gSUUgMTFcbiAgICAgIGZsZXgtc2hyaW5rOiAwOyAvLyBJRSAxMVxuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgIG1heC13aWR0aDogMTAwJTsgLy8gSUUgMTFcbiAgICAgIG1heC1oZWlnaHQ6IDEwMCU7IC8vIElFIDExXG4gICAgICBwb2ludGVyLWV2ZW50czogYXV0bzsgLy8gT3ZlcnJpZGUgZnJvbSBgLm1kYy1kaWFsb2dfX2NvbnRhaW5lcmAuXG4gICAgICAvLyBJRSAxMTogT3RoZXJ3aXNlLCBzY3JvbGxpbmcgY29udGVudCBpbiBgbWRjLWRpYWxvZ19fY29udGVudGAgb3ZlcmZsb3dzLlxuICAgICAgb3ZlcmZsb3cteTogYXV0bztcblxuICAgICAgQGluY2x1ZGUgcnRsLW1peGlucy5ydGwoXCIubWRjLWRpYWxvZ1wiKSB7XG4gICAgICAgIC8qIEBub2ZsaXAgKi9cbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm1kYy1kaWFsb2dfX3RpdGxlIHtcbiAgICBAaW5jbHVkZSB0eXBvZ3JhcGh5LW1peGlucy50ZXh0LWJhc2VsaW5lKCR0b3A6IDQwcHgsICRkaXNwbGF5OiBibG9jaywgJHF1ZXJ5OiAkcXVlcnkpO1xuICAgIEBpbmNsdWRlIHR5cG9ncmFwaHktbWl4aW5zLnR5cG9ncmFwaHkoaGVhZGxpbmU2LCAkcXVlcnk6ICRxdWVyeSk7XG5cbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDAgMjRweCB2YXJpYWJsZXMuJHRpdGxlLWJvdHRvbS1wYWRkaW5nO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuXG4gICAgICBAaW5jbHVkZSBydGwtbWl4aW5zLnJ0bChcIi5tZGMtZGlhbG9nXCIpIHtcbiAgICAgICAgLyogQG5vZmxpcCAqL1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcGx1Z2luL3NlbGVjdG9yLWJlbS1wYXR0ZXJuXG4gIC5tZGMtZGlhbG9nLS1zY3JvbGxhYmxlIC5tZGMtZGlhbG9nX190aXRsZSB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICAvLyBBZGp1c3QgYm90dG9tIHBhZGRpbmcgdG8gbWFrZSB0aXRsZSBoZWlnaHQgYWxpZ24gdG8gc3BlYyB3aGVuIGRpdmlkZXIgaXMgcHJlc2VudC5cbiAgICAgIC8vIChUaXRsZXMgZm9yIGFsZXJ0IGRpYWxvZ3Mgdy9vIGRpdmlkZXJzIGFsaWduIGJhc2VkIG9uIHRleHQgYmFzZWxpbmUuIEFsbCBzcGVjIHZhbHVlcyBhcmUgZGl2aXNpYmxlIGJ5IDQuKVxuICAgICAgcGFkZGluZy1ib3R0b206IHZhcmlhYmxlcy4kdGl0bGUtYm90dG9tLXBhZGRpbmcgKyA2cHg7XG4gICAgfVxuICB9XG5cbiAgLm1kYy1kaWFsb2dfX2NvbnRlbnQge1xuICAgIEBpbmNsdWRlIHR5cG9ncmFwaHktbWl4aW5zLnR5cG9ncmFwaHkoYm9keTEsICRxdWVyeTogJHF1ZXJ5KTtcblxuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDIwcHggMjRweDsgLy8gTm90ZTogdGhlIHRvcCBwYWRkaW5nIGlzIG9ubHkgMjBweCBmb3IgZGlhbG9ncyB3aXRob3V0IHRpdGxlczsgc2VlIGJlbG93IGZvciBvdmVycmlkZVxuICAgICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgfVxuXG4gICAgLy8gVGhlIGNvbnRlbnQgZWxlbWVudCBhbHJlYWR5IGhhcyB0b3AvYm90dG9tIHBhZGRpbmcsIHNvIHdlIG5lZWQgdG8gc3VwcHJlc3MgbWFyZ2lucyBvbiBpdHMgZmlyc3QvbGFzdCBjaGlsZHJlbi5cbiAgICA+IDpmaXJzdC1jaGlsZCB7XG4gICAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBUaGUgY29udGVudCBlbGVtZW50IGFscmVhZHkgaGFzIHRvcC9ib3R0b20gcGFkZGluZywgc28gd2UgbmVlZCB0byBzdXBwcmVzcyBtYXJnaW5zIG9uIGl0cyBmaXJzdC9sYXN0IGNoaWxkcmVuLlxuICAgID4gOmxhc3QtY2hpbGQge1xuICAgICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHBsdWdpbi9zZWxlY3Rvci1iZW0tcGF0dGVyblxuICAubWRjLWRpYWxvZ19fdGl0bGUgKyAubWRjLWRpYWxvZ19fY29udGVudCB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICAvLyBFbGltaW5hdGUgcGFkZGluZyB0byBicmluZyBhcyBjbG9zZSB0byBzcGVjIGFzIHBvc3NpYmxlLCByZWx5aW5nIG9uIHRpdGxlIHBhZGRpbmcuXG4gICAgICAvLyAoU3BlYyBzZWVtcyBpbmNvbnNpc3RlbnQgUkUgdGl0bGUvYm9keSBzcGFjaW5nIG9uIGFsZXJ0IHZzLiBzaW1wbGUgdmFyaWFudHMuKVxuICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgfVxuICB9XG5cbiAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHBsdWdpbi9zZWxlY3Rvci1iZW0tcGF0dGVyblxuICAubWRjLWRpYWxvZy0tc2Nyb2xsYWJsZSAubWRjLWRpYWxvZ19fY29udGVudCB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICAvLyBSZWR1Y2UgYW5kIGVxdWFsaXplIHZlcnRpY2FsIHBhZGRpbmdzIHdoZW4gc2Nyb2xsYWJsZSBkaXZpZGVycyBhcmUgcHJlc2VudFxuICAgICAgLy8gKE5vdGU6IHRoaXMgaXMgaW50ZW50aW9uYWxseSBhZnRlciB0aXRsZSArIGNvbnRlbnQgdG8gdGFrZSBwcmVjZWRlbmNlKVxuICAgICAgcGFkZGluZy10b3A6IDhweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA4cHg7XG4gICAgfVxuICB9XG5cbiAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHBsdWdpbi9zZWxlY3Rvci1iZW0tcGF0dGVyblxuICAubWRjLWRpYWxvZ19fY29udGVudCAubWRjLWxpc3Q6Zmlyc3QtY2hpbGQ6bGFzdC1jaGlsZCB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICAvLyBPdmVycmlkZSBkZWZhdWx0IC5tZGMtbGlzdCBwYWRkaW5nIGZvciBjb250ZW50IGNvbnNpc3RpbmcgZXhjbHVzaXZlbHkgb2YgYSBNREMgTGlzdFxuICAgICAgcGFkZGluZzogNnB4IDAgMDsgLy8gVG9wIHBhZGRpbmcgYmFsYW5jZXMgd2l0aCB0aXRsZSBoZWlnaHRcbiAgICB9XG4gIH1cblxuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcGx1Z2luL3NlbGVjdG9yLWJlbS1wYXR0ZXJuLCBzZWxlY3Rvci1tYXgtc3BlY2lmaWNpdHlcbiAgLm1kYy1kaWFsb2ctLXNjcm9sbGFibGUgLm1kYy1kaWFsb2dfX2NvbnRlbnQgLm1kYy1saXN0OmZpcnN0LWNoaWxkOmxhc3QtY2hpbGQge1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgLy8gT3ZlcnJpZGUgZGVmYXVsdCAubWRjLWxpc3QgcGFkZGluZyBmb3IgY29udGVudCBjb25zaXN0aW5nIGV4Y2x1c2l2ZWx5IG9mIGEgTURDIExpc3RcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuICB9XG5cbiAgLm1kYy1kaWFsb2dfX2FjdGlvbnMge1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgbWluLWhlaWdodDogNTJweDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IHZhcmlhYmxlcy4kYWN0aW9ucy1wYWRkaW5nO1xuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIH1cblxuICAgIC5tZGMtZGlhbG9nLS1zdGFja2VkICYge1xuICAgICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubWRjLWRpYWxvZ19fYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIEBpbmNsdWRlIHJ0bC1taXhpbnMucmVmbGV4aXZlLWJveChtYXJnaW4sIGxlZnQsIDhweCk7XG4gICAgfVxuXG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgICAgQGluY2x1ZGUgcnRsLW1peGlucy5yZWZsZXhpdmUtYm94KG1hcmdpbiwgbGVmdCwgMCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7IC8vIFByZXZlbnQgbG9uZyB0ZXh0IGZyb20gb3ZlcmZsb3dpbmcgcGFyZW50IGVsZW1lbnQgaW4gSUUgMTFcbiAgICAgIC8qIEBub2ZsaXAgKi9cbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuXG4gICAgICBAaW5jbHVkZSBydGwtbWl4aW5zLnJ0bChcIi5tZGMtZGlhbG9nXCIpIHtcbiAgICAgICAgLyogQG5vZmxpcCAqL1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5tZGMtZGlhbG9nLS1zdGFja2VkICY6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDEycHg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm1kYy1kaWFsb2ctLW9wZW4sXG4gIC5tZGMtZGlhbG9nLS1vcGVuaW5nLFxuICAubWRjLWRpYWxvZy0tY2xvc2luZyB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgIH1cbiAgfVxuXG4gIC5tZGMtZGlhbG9nLS1vcGVuaW5nIHtcbiAgICAubWRjLWRpYWxvZ19fc2NyaW0ge1xuICAgICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtYW5pbWF0aW9uKSB7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMTUwbXMgbGluZWFyO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5tZGMtZGlhbG9nX19jb250YWluZXIge1xuICAgICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtYW5pbWF0aW9uKSB7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgNzVtcyBsaW5lYXIsIGFuaW1hdGlvbi1mdW5jdGlvbnMuZW50ZXIodHJhbnNmb3JtLCAxNTBtcyk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm1kYy1kaWFsb2ctLWNsb3Npbmcge1xuICAgIC5tZGMtZGlhbG9nX19zY3JpbSxcbiAgICAubWRjLWRpYWxvZ19fY29udGFpbmVyIHtcbiAgICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LWFuaW1hdGlvbikge1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDc1bXMgbGluZWFyO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5tZGMtZGlhbG9nX19jb250YWluZXIge1xuICAgICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICAgIC8vIERpYWxvZyBjb250YWluZXIgc2NhbGVzIHVwIHdoaWxlIG9wZW5pbmcsIGJ1dCBzaG91bGQgcmVtYWluIHNjYWxlZCB1cCB3aGlsZSBjbG9zaW5nXG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm1kYy1kaWFsb2ctLW9wZW4ge1xuICAgIC5tZGMtZGlhbG9nX19zY3JpbSB7XG4gICAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAubWRjLWRpYWxvZ19fY29udGFpbmVyIHtcbiAgICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIHBvc3Rjc3MtYmVtLWxpbnRlcjogZW5kXG5cbiAgLy8gQ2xhc3MgYXBwbGllZCB0byBib2R5IHdoaWxlIGRpYWxvZyBpcyBvcGVuLCB0byBwcmV2ZW50IHNjcm9sbGluZyBiZWhpbmQgdGhlIGRpYWxvZ1xuICAubWRjLWRpYWxvZy1zY3JvbGwtbG9jayB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gY29udGFpbmVyLWZpbGwtY29sb3IoJGNvbG9yLCAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAkZmVhdC1jb2xvcjogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBjb2xvcik7XG5cbiAgLm1kYy1kaWFsb2dfX3N1cmZhY2Uge1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LWNvbG9yKSB7XG4gICAgICBAaW5jbHVkZSB0aGVtZS1taXhpbnMucHJvcChiYWNrZ3JvdW5kLWNvbG9yLCAkY29sb3IpO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gc2NyaW0tY29sb3IoJGNvbG9yLCAkb3BhY2l0eTogdmFyaWFibGVzLiRzY3JpbS1vcGFjaXR5LCAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAkZmVhdC1jb2xvcjogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBjb2xvcik7XG5cbiAgLm1kYy1kaWFsb2dfX3NjcmltIHtcbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1jb2xvcikge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSh0aGVtZS12YXJpYWJsZXMucHJvcC12YWx1ZSgkY29sb3IpLCAkb3BhY2l0eSk7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiB0aXRsZS1pbmstY29sb3IoJGNvbG9yLCAkb3BhY2l0eTogdmFyaWFibGVzLiR0aXRsZS1pbmstb3BhY2l0eSwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJGZlYXQtY29sb3I6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgY29sb3IpO1xuXG4gIC5tZGMtZGlhbG9nX190aXRsZSB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtY29sb3IpIHtcbiAgICAgIGNvbG9yOiByZ2JhKHRoZW1lLXZhcmlhYmxlcy5wcm9wLXZhbHVlKCRjb2xvciksICRvcGFjaXR5KTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGNvbnRlbnQtaW5rLWNvbG9yKCRjb2xvciwgJG9wYWNpdHk6IHZhcmlhYmxlcy4kY29udGVudC1pbmstb3BhY2l0eSwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJGZlYXQtY29sb3I6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgY29sb3IpO1xuXG4gIC5tZGMtZGlhbG9nX19jb250ZW50IHtcbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1jb2xvcikge1xuICAgICAgY29sb3I6IHJnYmEodGhlbWUtdmFyaWFibGVzLnByb3AtdmFsdWUoJGNvbG9yKSwgJG9wYWNpdHkpO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gc2Nyb2xsLWRpdmlkZXItY29sb3IoXG4gICRjb2xvcixcbiAgJG9wYWNpdHk6IHZhcmlhYmxlcy4kc2Nyb2xsLWRpdmlkZXItb3BhY2l0eSxcbiAgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKClcbikge1xuICAkZmVhdC1jb2xvcjogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBjb2xvcik7XG5cbiAgJi5tZGMtZGlhbG9nLS1zY3JvbGxhYmxlIC5tZGMtZGlhbG9nX190aXRsZSxcbiAgJi5tZGMtZGlhbG9nLS1zY3JvbGxhYmxlIC5tZGMtZGlhbG9nX19hY3Rpb25zIHtcbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1jb2xvcikge1xuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKHRoZW1lLXZhcmlhYmxlcy5wcm9wLXZhbHVlKCRjb2xvciksICRvcGFjaXR5KTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIHNoYXBlLXJhZGl1cygkcmFkaXVzLCAkcnRsLXJlZmxleGl2ZTogZmFsc2UsICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gICRmZWF0LXN0cnVjdHVyZTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBzdHJ1Y3R1cmUpO1xuXG4gIC5tZGMtZGlhbG9nX19zdXJmYWNlIHtcbiAgICBAaW5jbHVkZSBzaGFwZS1taXhpbnMucmFkaXVzKCRyYWRpdXMsICRydGwtcmVmbGV4aXZlLCAkcXVlcnk6ICRxdWVyeSk7XG4gIH1cbn1cblxuQG1peGluIG1pbi13aWR0aCgkbWluLXdpZHRoLCAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAkZmVhdC1zdHJ1Y3R1cmU6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcblxuICAubWRjLWRpYWxvZ19fc3VyZmFjZSB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICBtaW4td2lkdGg6ICRtaW4td2lkdGg7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtYXgtd2lkdGgoJG1heC13aWR0aCwgJG1hcmdpbiwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJGZlYXQtc3RydWN0dXJlOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG4gICRtYXgtc2l6ZS1jYWxjLWV4cHI6IGNhbGMoMTAwdncgLSAjeyRtYXJnaW4gKiAyfSk7XG5cbiAgLm1kYy1kaWFsb2dfX3N1cmZhY2Uge1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgQGlmICRtYXgtd2lkdGgge1xuICAgICAgICAkbWF4LXdpZHRoLWJyZWFrcG9pbnQ6ICRtYXgtd2lkdGggKyAoJG1hcmdpbiAqIDIpO1xuXG4gICAgICAgIC8vIEZpdCBzbnVnbHkgd2l0aGluIHRoZSB2aWV3cG9ydCBhdCBzbWFsbGVyIHNjcmVlbiBzaXplcy5cbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtYXgtd2lkdGgtYnJlYWtwb2ludCkge1xuICAgICAgICAgIG1heC13aWR0aDogJG1heC1zaXplLWNhbGMtZXhwcjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIE9uY2UgdGhlIHNjcmVlbiBnZXRzIGJpZyBlbm91Z2gsIGFwcGx5IGEgZml4ZWQgbWF4aW11bSB3aWR0aC5cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRtYXgtd2lkdGgtYnJlYWtwb2ludCkge1xuICAgICAgICAgIG1heC13aWR0aDogJG1heC13aWR0aDtcbiAgICAgICAgfVxuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIG1heC13aWR0aDogJG1heC1zaXplLWNhbGMtZXhwcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1heC1oZWlnaHQoJG1heC1oZWlnaHQsICRtYXJnaW4sICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gICRmZWF0LXN0cnVjdHVyZTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBzdHJ1Y3R1cmUpO1xuICAkbWF4LXNpemUtY2FsYy1leHByOiBjYWxjKDEwMCUgLSAjeyRtYXJnaW4gKiAyfSk7XG5cbiAgLm1kYy1kaWFsb2dfX3N1cmZhY2Uge1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgQGlmICRtYXgtaGVpZ2h0IHtcbiAgICAgICAgJG1heC1oZWlnaHQtYnJlYWtwb2ludDogJG1heC1oZWlnaHQgKyAoJG1hcmdpbiAqIDIpO1xuXG4gICAgICAgIC8vIEZpdCBzbnVnbHkgd2l0aGluIHRoZSB2aWV3cG9ydCBhdCBzbWFsbGVyIHNjcmVlbiBzaXplcy5cbiAgICAgICAgQG1lZGlhIChtYXgtaGVpZ2h0OiAkbWF4LWhlaWdodC1icmVha3BvaW50KSB7XG4gICAgICAgICAgbWF4LWhlaWdodDogJG1heC1zaXplLWNhbGMtZXhwcjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIE9uY2UgdGhlIHNjcmVlbiBnZXRzIGJpZyBlbm91Z2gsIGFwcGx5IGEgZml4ZWQgbWF4aW11bSBoZWlnaHQuXG4gICAgICAgIEBtZWRpYSAobWluLWhlaWdodDogJG1heC1oZWlnaHQtYnJlYWtwb2ludCkge1xuICAgICAgICAgIG1heC1oZWlnaHQ6ICRtYXgtaGVpZ2h0O1xuICAgICAgICB9XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgbWF4LWhlaWdodDogJG1heC1zaXplLWNhbGMtZXhwcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBUYXJnZXQgSUUgMTEuXG4gIEBtZWRpYSBhbGwgYW5kICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSksICgtbXMtaGlnaC1jb250cmFzdDogYWN0aXZlKSB7XG4gICAgLy8gT24gSUUgMTEsIGlmIHN1cmZhY2UgaGVpZ2h0IGlzIGZpeGVkIGFuZCBjb250YWluZXIgaGVpZ2h0IGlzIDEwMCUsXG4gICAgLy8gc2Nyb2xsaW5nIGNvbnRlbnQgb3ZlcmZsb3dzLiBTbywgcmVzZXQgaGVpZ2h0IGlmIHN1cmZhY2UgaGVpZ2h0XG4gICAgLy8gaXMgZml4ZWQuXG4gICAgLm1kYy1kaWFsb2dfX2NvbnRhaW5lciB7XG4gICAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgICAgLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbiAgICAgICAgLy8gRGlzYWJsZSBzdHlsZWxpbnQgaGVyZSwgYXMgbmVzdGluZyBkZXB0aCA+IDMgaXMgcmVxdWlyZWQgdG9cbiAgICAgICAgLy8gd29yayBhcm91bmQgSUUgMTEuXG4gICAgICAgIEBpZiAkbWF4LWhlaWdodCB7XG4gICAgICAgICAgJG1heC1oZWlnaHQtYnJlYWtwb2ludDogJG1heC1oZWlnaHQgKyAoJG1hcmdpbiAqIDIpO1xuXG4gICAgICAgICAgQG1lZGlhIChtaW4taGVpZ2h0OiAkbWF4LWhlaWdodC1icmVha3BvaW50KSB7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLyogc3R5bGVsaW50LWVuYWJsZSovXG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIEFwcGxpZWQgdG8gZGlhbG9ncyB0aGF0IGhhdmUgYnV0dG9ucyB3aXRoIGFuIGluY3JlYXNlZCB0b3VjaCB0YXJnZXQuXG5AbWl4aW4gd2l0aC10b3VjaC10YXJnZXQoJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJGZlYXQtc3RydWN0dXJlOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG4gICR0b3VjaC10YXJnZXQtbWFyZ2luOlxuICAgICh0b3VjaC10YXJnZXQtdmFyaWFibGVzLiRoZWlnaHQgLSBidXR0b24tdmFyaWFibGVzLiRoZWlnaHQpIC8gMjtcbiAgJHZlcnRpY2FsLXBhZGRpbmc6IG1hdGgubWF4KDAsIHZhcmlhYmxlcy4kYWN0aW9ucy1wYWRkaW5nIC0gJHRvdWNoLXRhcmdldC1tYXJnaW4pO1xuXG4gIC8vIEJ1dHRvbnMgd2l0aCBhbiBpbmNyZWFzZWQgdG91Y2ggdGFyZ2V0IGhhdmUgYWRkZWQgdmVydGljYWwgbWFyZ2luLCBzb1xuICAvLyBkZWNyZWFzZSB0aGUgYWN0aW9ucyBlbGVtZW50IHBhZGRpbmcgdG8gY29tcGVuc2F0ZS5cbiAgLm1kYy1kaWFsb2dfX2FjdGlvbnMge1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgcGFkZGluZy10b3A6ICR2ZXJ0aWNhbC1wYWRkaW5nO1xuICAgICAgcGFkZGluZy1ib3R0b206ICR2ZXJ0aWNhbC1wYWRkaW5nO1xuXG4gICAgICAvLyBUaGUgYmVsb3cgc3R5bGVzIG92ZXJyaWRlIHRoZSBkZWZhdWx0IGJ1dHRvbiB0b3VjaCB0YXJnZXQgdmFsdWVzLFxuICAgICAgLy8gd2hpY2ggb3RoZXJ3aXNlIGNhdXNlIGBtZGMtZGlhbG9nX19zdXJmYWNlYCB0byBzY3JvbGwgdW5ubmVjZXNzYXJpbHlcbiAgICAgIC8vIGluIElFIDExLlxuICAgICAgLm1kYy1idXR0b25fX3RvdWNoIHtcbiAgICAgICAgdG9wOiAtJHRvdWNoLXRhcmdldC1tYXJnaW47IC8vIElFIDExXG4gICAgICAgIHRyYW5zZm9ybTogbm9uZTsgLy8gSUUgMTFcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vXG4vLyBDb3B5cmlnaHQgMjAxOCBHb29nbGUgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG4vL1xuXG4kc2NyaW0tY29sb3I6IG9uLXN1cmZhY2UgIWRlZmF1bHQ7XG4kdGl0bGUtaW5rLWNvbG9yOiBvbi1zdXJmYWNlICFkZWZhdWx0O1xuJGNvbnRlbnQtaW5rLWNvbG9yOiBvbi1zdXJmYWNlICFkZWZhdWx0O1xuJHNjcm9sbC1kaXZpZGVyLWNvbG9yOiBvbi1zdXJmYWNlICFkZWZhdWx0O1xuXG4kc2NyaW0tb3BhY2l0eTogLjMyICFkZWZhdWx0O1xuJHRpdGxlLWluay1vcGFjaXR5OiAuODcgIWRlZmF1bHQ7XG4kY29udGVudC1pbmstb3BhY2l0eTogLjYgIWRlZmF1bHQ7XG4kc2Nyb2xsLWRpdmlkZXItb3BhY2l0eTogLjEyICFkZWZhdWx0O1xuXG4kbWluLXdpZHRoOiAyODBweCAhZGVmYXVsdDtcbiRtYXgtd2lkdGg6IDU2MHB4ICFkZWZhdWx0O1xuJG1hcmdpbjogMTZweCAhZGVmYXVsdDtcbiR0aXRsZS1ib3R0b20tcGFkZGluZzogOXB4ICFkZWZhdWx0O1xuJGFjdGlvbnMtcGFkZGluZzogOHB4ICFkZWZhdWx0O1xuXG4kei1pbmRleDogNyAhZGVmYXVsdDtcbiIsIi8vXG4vLyBDb3B5cmlnaHQgMjAxOCBHb29nbGUgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG4vL1xuXG5AdXNlIFwic2FzczpsaXN0XCI7XG5AdXNlIFwiQG1hdGVyaWFsL2ZlYXR1cmUtdGFyZ2V0aW5nL2Z1bmN0aW9uc1wiIGFzIGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucztcbkB1c2UgXCJAbWF0ZXJpYWwvZmVhdHVyZS10YXJnZXRpbmcvbWl4aW5zXCIgYXMgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zO1xuQHVzZSBcIkBtYXRlcmlhbC9ydGwvbWl4aW5zXCIgYXMgcnRsLW1peGlucztcbkB1c2UgXCIuL3ZhcmlhYmxlc1wiO1xuQHVzZSBcIi4vZnVuY3Rpb25zXCI7XG5cbkBtaXhpbiByYWRpdXMoJHJhZGl1cywgJHJ0bC1yZWZsZXhpdmU6IGZhbHNlLCAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAkZmVhdC1zdHJ1Y3R1cmU6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcblxuICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAvLyBFdmVuIGlmICRydGwtcmVmbGV4aXZlIGlzIHRydWUsIG9ubHkgZW1pdCBSVEwgc3R5bGVzIGlmIHdlIGNhbid0IGVhc2lseSB0ZWxsIHRoYXQgdGhlIGdpdmVuIHJhZGl1cyBpcyBzeW1tZXRyaWNhbFxuICAgICRuZWVkcy1mbGlwOiAkcnRsLXJlZmxleGl2ZSBhbmQgbGlzdC5sZW5ndGgoJHJhZGl1cykgPiAxO1xuXG4gICAgQGlmICgkbmVlZHMtZmxpcCkge1xuICAgICAgLyogQG5vZmxpcCAqL1xuICAgIH1cblxuICAgIGJvcmRlci1yYWRpdXM6IGZ1bmN0aW9ucy5wcm9wLXZhbHVlKCRyYWRpdXMpO1xuXG4gICAgQGlmICgkbmVlZHMtZmxpcCkge1xuICAgICAgQGluY2x1ZGUgcnRsLW1peGlucy5ydGwge1xuICAgICAgICAvKiBAbm9mbGlwICovXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IGZ1bmN0aW9ucy5mbGlwLXJhZGl1cyhmdW5jdGlvbnMucHJvcC12YWx1ZSgkcmFkaXVzKSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvL1xuLy8gQ29weXJpZ2h0IDIwMTcgR29vZ2xlIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuLy9cblxuQHVzZSBcInNhc3M6bGlzdFwiO1xuQHVzZSBcIi4vdmFyaWFibGVzXCI7XG5cbi8vIENyZWF0ZXMgYSBydWxlIHRoYXQgd2lsbCBiZSBhcHBsaWVkIHdoZW4gYW4gTURDIFdlYiBjb21wb25lbnQgaXMgd2l0aGluIHRoZSBjb250ZXh0IG9mIGFuIFJUTCBsYXlvdXQuXG4vL1xuLy8gVXNhZ2UgRXhhbXBsZTpcbi8vXG4vLyBgYGBzY3NzXG4vLyAubWRjLWZvbyB7XG4vLyAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbi8vICAgbGVmdDogMDtcbi8vXG4vLyAgIEBpbmNsdWRlIHJ0bCB7XG4vLyAgICAgbGVmdDogYXV0bztcbi8vICAgICByaWdodDogMDtcbi8vICAgfVxuLy9cbi8vICAgJl9fYmFyIHtcbi8vICAgICBtYXJnaW4tbGVmdDogNHB4O1xuLy8gICAgIEBpbmNsdWRlIHJ0bChcIi5tZGMtZm9vXCIpIHtcbi8vICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuLy8gICAgICAgbWFyZ2luLXJpZ2h0OiA0cHg7XG4vLyAgICAgfVxuLy8gICB9XG4vLyB9XG4vL1xuLy8gLm1kYy1mb28tLW1vZCB7XG4vLyAgIHBhZGRpbmctbGVmdDogNHB4O1xuLy9cbi8vICAgQGluY2x1ZGUgcnRsIHtcbi8vICAgICBwYWRkaW5nLWxlZnQ6IGF1dG87XG4vLyAgICAgcGFkZGluZy1yaWdodDogNHB4O1xuLy8gICB9XG4vLyB9XG4vLyBgYGBcbi8vXG4vLyBOb3RlIHRoYXQgdGhpcyBtaXhpbiB3b3JrcyBieSBjaGVja2luZyBmb3IgYW4gYW5jZXN0b3IgZWxlbWVudCB3aXRoIGBbZGlyPVwicnRsXCJdYC5cbi8vIEFzIGEgcmVzdWx0LCBuZXN0ZWQgYGRpcmAgdmFsdWVzIGFyZSBub3Qgc3VwcG9ydGVkOlxuLy9cbi8vIGBgYGh0bWxcbi8vIDxodG1sIGRpcj1cInJ0bFwiPlxuLy8gICA8IS0tIC4uLiAtLT5cbi8vICAgPGRpdiBkaXI9XCJsdHJcIj5cbi8vICAgICA8ZGl2IGNsYXNzPVwibWRjLWZvb1wiPlN0eWxlZCBpbmNvcnJlY3RseSBhcyBSVEwhPC9kaXY+XG4vLyAgIDwvZGl2PlxuLy8gPC9odG1sPlxuLy8gYGBgXG4vL1xuLy8gSW4gdGhlIGZ1dHVyZSwgc2VsZWN0b3JzIHN1Y2ggYXMgdGhlIGA6ZGlyYCBwc2V1ZG8tY2xhc3MgKGh0dHA6Ly9tZG4uaW8vY3NzLzpkaXIpIHdpbGwgaGVscCB1cyBtaXRpZ2F0ZSB0aGlzLlxuQG1peGluIHJ0bCgkcm9vdC1zZWxlY3RvcjogbnVsbCkge1xuICBAaWYgKHZhcmlhYmxlcy4kaW5jbHVkZSkge1xuICAgIEBpZiAoJHJvb3Qtc2VsZWN0b3IpIHtcbiAgICAgIEBhdC1yb290IHtcbiAgICAgICAgI3skcm9vdC1zZWxlY3Rvcn1bZGlyPVwicnRsXCJdICYsXG4gICAgICAgIFtkaXI9XCJydGxcIl0gI3skcm9vdC1zZWxlY3Rvcn0gJiB7XG4gICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IEBlbHNlIHtcbiAgICAgIFtkaXI9XCJydGxcIl0gJixcbiAgICAgICZbZGlyPVwicnRsXCJdIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIFRha2VzIGEgYmFzZSBib3gtbW9kZWwgcHJvcGVydHkgbmFtZSAoYG1hcmdpbmAsIGBib3JkZXJgLCBgcGFkZGluZ2AsIGV0Yy4pIGFsb25nIHdpdGggYVxuLy8gZGVmYXVsdCBkaXJlY3Rpb24gKGBsZWZ0YCBvciBgcmlnaHRgKSBhbmQgdmFsdWUsIGFuZCBlbWl0cyBydWxlcyB3aGljaCBhcHBseSB0aGUgZ2l2ZW4gdmFsdWUgdG8gdGhlXG4vLyBzcGVjaWZpZWQgZGlyZWN0aW9uIGJ5IGRlZmF1bHQgYW5kIHRoZSBvcHBvc2l0ZSBkaXJlY3Rpb24gaW4gUlRMLlxuLy9cbi8vIEZvciBleGFtcGxlOlxuLy9cbi8vIGBgYHNjc3Ncbi8vIC5tZGMtZm9vIHtcbi8vICAgQGluY2x1ZGUgcnRsLXJlZmxleGl2ZS1ib3gobWFyZ2luLCBsZWZ0LCA4cHgpO1xuLy8gfVxuLy8gYGBgXG4vL1xuLy8gaXMgZXF1aXZhbGVudCB0bzpcbi8vXG4vLyBgYGBzY3NzXG4vLyAubWRjLWZvbyB7XG4vLyAgIG1hcmdpbi1sZWZ0OiA4cHg7XG4vLyAgIG1hcmdpbi1yaWdodDogMDtcbi8vXG4vLyAgIEBpbmNsdWRlIHJ0bCB7XG4vLyAgICAgbWFyZ2luLWxlZnQ6IDA7XG4vLyAgICAgbWFyZ2luLXJpZ2h0OiA4cHg7XG4vLyAgIH1cbi8vIH1cbi8vIGBgYFxuLy9cbi8vIHdoZXJlYXM6XG4vL1xuLy8gYGBgc2Nzc1xuLy8gLm1kYy1mb28ge1xuLy8gICBAaW5jbHVkZSBydGwtcmVmbGV4aXZlLWJveChtYXJnaW4sIHJpZ2h0LCA4cHgpO1xuLy8gfVxuLy8gYGBgXG4vL1xuLy8gaXMgZXF1aXZhbGVudCB0bzpcbi8vXG4vLyBgYGBzY3NzXG4vLyAubWRjLWZvbyB7XG4vLyAgIG1hcmdpbi1sZWZ0OiAwO1xuLy8gICBtYXJnaW4tcmlnaHQ6IDhweDtcbi8vXG4vLyAgIEBpbmNsdWRlIHJ0bCB7XG4vLyAgICAgbWFyZ2luLWxlZnQ6IDhweDtcbi8vICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4vLyAgIH1cbi8vIH1cbi8vIGBgYFxuLy9cbi8vIFlvdSBjYW4gYWxzbyBwYXNzIGFuIG9wdGlvbmFsIDR0aCBgJHJvb3Qtc2VsZWN0b3JgIGFyZ3VtZW50IHdoaWNoIHdpbGwgYmUgZm9yd2FyZGVkIHRvIGBtZGMtcnRsYCxcbi8vIGUuZy4gYEBpbmNsdWRlIHJ0bC1yZWZsZXhpdmUtYm94KG1hcmdpbiwgbGVmdCwgOHB4LCBcIi5tZGMtY29tcG9uZW50XCIpYC5cbi8vXG4vLyBOb3RlIHRoYXQgdGhpcyBmdW5jdGlvbiB3aWxsIGFsd2F5cyB6ZXJvIG91dCB0aGUgb3JpZ2luYWwgdmFsdWUgaW4gYW4gUlRMIGNvbnRleHQuXG4vLyBJZiB5b3UncmUgdHJ5aW5nIHRvIGZsaXAgdGhlIHZhbHVlcywgdXNlIGBtZGMtcnRsLXJlZmxleGl2ZS1wcm9wZXJ0eSgpYCBpbnN0ZWFkLlxuQG1peGluIHJlZmxleGl2ZS1ib3goJGJhc2UtcHJvcGVydHksICRkZWZhdWx0LWRpcmVjdGlvbiwgJHZhbHVlLCAkcm9vdC1zZWxlY3RvcjogbnVsbCkge1xuICBAaWYgKGxpc3QuaW5kZXgoKHJpZ2h0LCBsZWZ0KSwgJGRlZmF1bHQtZGlyZWN0aW9uKSA9PSBudWxsKSB7XG4gICAgQGVycm9yIFwiSW52YWxpZCBkZWZhdWx0IGRpcmVjdGlvbjogJyN7JGRlZmF1bHQtZGlyZWN0aW9ufScuIFBsZWFzZSBzcGVjaWZpeSBlaXRoZXIgJ3JpZ2h0JyBvciAnbGVmdCcuXCI7XG4gIH1cblxuICAkbGVmdC12YWx1ZTogJHZhbHVlO1xuICAkcmlnaHQtdmFsdWU6IDA7XG5cbiAgQGlmICgkZGVmYXVsdC1kaXJlY3Rpb24gPT0gcmlnaHQpIHtcbiAgICAkbGVmdC12YWx1ZTogMDtcbiAgICAkcmlnaHQtdmFsdWU6ICR2YWx1ZTtcbiAgfVxuXG4gIEBpbmNsdWRlIHJlZmxleGl2ZS1wcm9wZXJ0eSgkYmFzZS1wcm9wZXJ0eSwgJGxlZnQtdmFsdWUsICRyaWdodC12YWx1ZSwgJHJvb3Qtc2VsZWN0b3IpO1xufVxuXG4vLyBUYWtlcyBhIGJhc2UgcHJvcGVydHkgYW5kIGVtaXRzIHJ1bGVzIHRoYXQgYXNzaWduIDxiYXNlLXByb3BlcnR5Pi1sZWZ0IHRvIDxsZWZ0LXZhbHVlPiBhbmRcbi8vIDxiYXNlLXByb3BlcnR5Pi1yaWdodCB0byA8cmlnaHQtdmFsdWU+IGluIGEgTFRSIGNvbnRleHQsIGFuZCB2aWNlIHZlcnNhIGluIGEgUlRMIGNvbnRleHQuXG4vLyBGb3IgZXhhbXBsZTpcbi8vXG4vLyBgYGBzY3NzXG4vLyAubWRjLWZvbyB7XG4vLyAgIEBpbmNsdWRlIHJ0bC1yZWZsZXhpdmUtcHJvcGVydHkobWFyZ2luLCBhdXRvLCAxMnB4KTtcbi8vIH1cbi8vIGBgYFxuLy9cbi8vIGlzIGVxdWl2YWxlbnQgdG86XG4vL1xuLy8gYGBgc2Nzc1xuLy8gLm1kYy1mb28ge1xuLy8gICBtYXJnaW4tbGVmdDogYXV0bztcbi8vICAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuLy9cbi8vICAgQGluY2x1ZGUgcnRsIHtcbi8vICAgICBtYXJnaW4tbGVmdDogMTJweDtcbi8vICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4vLyAgIH1cbi8vIH1cbi8vIGBgYFxuLy9cbi8vIEFuIG9wdGlvbmFsIDR0aCBgJHJvb3Qtc2VsZWN0b3JgIGFyZ3VtZW50IGNhbiBiZSBnaXZlbiwgd2hpY2ggd2lsbCBiZSBwYXNzZWQgdG8gYG1kYy1ydGxgLlxuQG1peGluIHJlZmxleGl2ZS1wcm9wZXJ0eSgkYmFzZS1wcm9wZXJ0eSwgJGxlZnQtdmFsdWUsICRyaWdodC12YWx1ZSwgJHJvb3Qtc2VsZWN0b3I6IG51bGwpIHtcbiAgJHByb3AtbGVmdDogI3skYmFzZS1wcm9wZXJ0eX0tbGVmdDtcbiAgJHByb3AtcmlnaHQ6ICN7JGJhc2UtcHJvcGVydHl9LXJpZ2h0O1xuXG4gIEBpbmNsdWRlIHJlZmxleGl2ZSgkcHJvcC1sZWZ0LCAkbGVmdC12YWx1ZSwgJHByb3AtcmlnaHQsICRyaWdodC12YWx1ZSwgJHJvb3Qtc2VsZWN0b3IpO1xufVxuXG4vLyBUYWtlcyBhbiBhcmd1bWVudCBzcGVjaWZ5aW5nIGEgaG9yaXpvbnRhbCBwb3NpdGlvbiBwcm9wZXJ0eSAoZWl0aGVyIFwibGVmdFwiIG9yIFwicmlnaHRcIikgYXMgd2VsbFxuLy8gYXMgYSB2YWx1ZSwgYW5kIGFwcGxpZXMgdGhhdCB2YWx1ZSB0byB0aGUgc3BlY2lmaWVkIHBvc2l0aW9uIGluIGEgTFRSIGNvbnRleHQsIGFuZCBmbGlwcyBpdCBpbiBhXG4vLyBSVEwgY29udGV4dC4gRm9yIGV4YW1wbGU6XG4vL1xuLy8gYGBgc2Nzc1xuLy8gLm1kYy1mb28ge1xuLy8gICBAaW5jbHVkZSBydGwtcmVmbGV4aXZlLXBvc2l0aW9uKGxlZnQsIDApO1xuLy8gfVxuLy8gYGBgXG4vL1xuLy8gaXMgZXF1aXZhbGVudCB0bzpcbi8vXG4vLyBgYGBzY3NzXG4vLyAubWRjLWZvbyB7XG4vLyAgIGxlZnQ6IDA7XG4vLyAgIHJpZ2h0OiBpbml0aWFsO1xuLy9cbi8vICAgQGluY2x1ZGUgcnRsIHtcbi8vICAgICBsZWZ0OiBpbml0aWFsO1xuLy8gICAgIHJpZ2h0OiAwO1xuLy8gICB9XG4vLyB9XG4vLyBgYGBcbi8vXG4vLyBBbiBvcHRpb25hbCB0aGlyZCAkcm9vdC1zZWxlY3RvciBhcmd1bWVudCBtYXkgYWxzbyBiZSBnaXZlbiwgd2hpY2ggaXMgcGFzc2VkIHRvIGBtZGMtcnRsYC5cbkBtaXhpbiByZWZsZXhpdmUtcG9zaXRpb24oJHBvc2l0aW9uLXByb3BlcnR5LCAkdmFsdWUsICRyb290LXNlbGVjdG9yOiBudWxsKSB7XG4gIEBpZiAobGlzdC5pbmRleCgocmlnaHQsIGxlZnQpLCAkcG9zaXRpb24tcHJvcGVydHkpID09IG51bGwpIHtcbiAgICBAZXJyb3IgXCJJbnZhbGlkIHBvc2l0aW9uICN7cG9zaXRpb24tcHJvcGVydHl9LiBQbGVhc2Ugc3BlY2lmaXkgZWl0aGVyIHJpZ2h0IG9yIGxlZnRcIjtcbiAgfVxuXG4gIC8vIFRPRE86IFwiaW5pdGlhbFwiIGlzIG5vdCBzdXBwb3J0ZWQgaW4gSUUgMTEuIGh0dHBzOi8vY2FuaXVzZS5jb20vI2ZlYXQ9Y3NzLWluaXRpYWwtdmFsdWVcbiAgJGxlZnQtdmFsdWU6ICR2YWx1ZTtcbiAgJHJpZ2h0LXZhbHVlOiBpbml0aWFsO1xuXG4gIEBpZiAoJHBvc2l0aW9uLXByb3BlcnR5ID09IHJpZ2h0KSB7XG4gICAgJHJpZ2h0LXZhbHVlOiAkdmFsdWU7XG4gICAgJGxlZnQtdmFsdWU6IGluaXRpYWw7XG4gIH1cblxuICBAaW5jbHVkZSByZWZsZXhpdmUobGVmdCwgJGxlZnQtdmFsdWUsIHJpZ2h0LCAkcmlnaHQtdmFsdWUsICRyb290LXNlbGVjdG9yKTtcbn1cblxuLy8gVGFrZXMgcGFpciBvZiBwcm9wZXJ0aWVzIHdpdGggdmFsdWVzIGFzIGFyZ3VtZW50cyBhbmQgZmxpcHMgaXQgaW4gUlRMIGNvbnRleHQuXG4vLyBGb3IgZXhhbXBsZTpcbi8vXG4vLyBgYGBzY3NzXG4vLyAubWRjLWZvbyB7XG4vLyAgIEBpbmNsdWRlIHJ0bC1yZWZsZXhpdmUobGVmdCwgMnB4LCByaWdodCwgNXB4KTtcbi8vIH1cbi8vIGBgYFxuLy9cbi8vIGlzIGVxdWl2YWxlbnQgdG86XG4vL1xuLy8gYGBgc2Nzc1xuLy8gLm1kYy1mb28ge1xuLy8gICBsZWZ0OiAycHg7XG4vLyAgIHJpZ2h0OiA1cHg7XG4vL1xuLy8gICBAaW5jbHVkZSBydGwge1xuLy8gICAgIHJpZ2h0OiAycHg7XG4vLyAgICAgbGVmdDogNXB4O1xuLy8gICB9XG4vLyB9XG4vLyBgYGBcbi8vXG4vLyBBbiBvcHRpb25hbCBmaWZ0aCBgJHJvb3Qtc2VsZWN0b3JgIGFyZ3VtZW50IG1heSBhbHNvIGJlIGdpdmVuLCB3aGljaCBpcyBwYXNzZWQgdG8gYG1kYy1ydGxgLlxuQG1peGluIHJlZmxleGl2ZShcbiAgJGxlZnQtcHJvcGVydHksXG4gICRsZWZ0LXZhbHVlLFxuICAkcmlnaHQtcHJvcGVydHksXG4gICRyaWdodC12YWx1ZSxcbiAgJHJvb3Qtc2VsZWN0b3I6IG51bGxcbikge1xuICBAaW5jbHVkZSBwcm9wZXJ0eV8oJGxlZnQtcHJvcGVydHksICRsZWZ0LXZhbHVlKTtcbiAgQGluY2x1ZGUgcHJvcGVydHlfKCRyaWdodC1wcm9wZXJ0eSwgJHJpZ2h0LXZhbHVlKTtcblxuICBAaW5jbHVkZSBydGwoJHJvb3Qtc2VsZWN0b3IpIHtcbiAgICBAaW5jbHVkZSBwcm9wZXJ0eV8oJGxlZnQtcHJvcGVydHksICRyaWdodC12YWx1ZSk7XG4gICAgQGluY2x1ZGUgcHJvcGVydHlfKCRyaWdodC1wcm9wZXJ0eSwgJGxlZnQtdmFsdWUpO1xuICB9XG59XG5cbi8vL1xuLy8vIEFkZHMgYEBub2ZsaXBgIGFubm90YXRpb24gd2hlbiBgJG1kYy1ydGwtaW5jbHVkZWAgaXMgdHJ1ZS5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkcHJvcGVydHlcbi8vLyBAcGFyYW0ge1N0cmluZ30gJHZhbHVlXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbkBtaXhpbiBwcm9wZXJ0eV8oJHByb3BlcnR5LCAkdmFsdWUpIHtcbiAgQGlmIHZhcmlhYmxlcy4kaW5jbHVkZSB7XG4gICAgLyogQG5vZmxpcCAqL1xuICB9XG5cbiAgI3skcHJvcGVydHl9OiAjeyR2YWx1ZX07XG59XG4iLCIvL1xuLy8gQ29weXJpZ2h0IDIwMTcgR29vZ2xlIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuLy9cblxuQHVzZSBcInNhc3M6bGlzdFwiO1xuQHVzZSBcInNhc3M6bWFwXCI7XG5AdXNlIFwic2FzczpzdHJpbmdcIjtcbkB1c2UgXCJAbWF0ZXJpYWwvZmVhdHVyZS10YXJnZXRpbmcvZnVuY3Rpb25zXCIgYXMgZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zO1xuQHVzZSBcIkBtYXRlcmlhbC9mZWF0dXJlLXRhcmdldGluZy9taXhpbnNcIiBhcyBmZWF0dXJlLXRhcmdldGluZy1taXhpbnM7XG5AdXNlIFwiQG1hdGVyaWFsL3RoZW1lL21peGluc1wiIGFzIHRoZW1lLW1peGlucztcbkB1c2UgXCIuL3ZhcmlhYmxlc1wiO1xuXG5AbWl4aW4gY29yZS1zdHlsZXMoJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgLm1kYy10eXBvZ3JhcGh5IHtcbiAgICBAaW5jbHVkZSBiYXNlKCRxdWVyeTogJHF1ZXJ5KTtcbiAgfVxuXG4gIEBlYWNoICRzdHlsZSBpbiBtYXAua2V5cyh2YXJpYWJsZXMuJHN0eWxlcykge1xuICAgIC5tZGMtdHlwb2dyYXBoeS0tI3skc3R5bGV9IHtcbiAgICAgIEBpbmNsdWRlIHR5cG9ncmFwaHkoJHN0eWxlLCAkcXVlcnk6ICRxdWVyeSk7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBiYXNlKCRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gICRmZWF0LXR5cG9ncmFwaHk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgdHlwb2dyYXBoeSk7XG5cbiAgQGluY2x1ZGUgc21vb3RoLWZvbnQoJHF1ZXJ5OiAkcXVlcnkpO1xuICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC10eXBvZ3JhcGh5KSB7XG4gICAgQGluY2x1ZGUgdGhlbWUtbWl4aW5zLnByb3AoZm9udC1mYW1pbHksIChcbiAgICAgIHZhcm5hbWU6IC0tbWRjLXR5cG9ncmFwaHktZm9udC1mYW1pbHksXG4gICAgICBmYWxsYmFjazogbWFwLmdldCh2YXJpYWJsZXMuJGJhc2UsICdmb250LWZhbWlseScpXG4gICAgKSk7XG4gIH1cbn1cblxuQG1peGluIHR5cG9ncmFwaHkoJHN0eWxlLCAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSwgJGV4Y2x1ZGUtcHJvcHM6ICgpKSB7XG4gICRmZWF0LXR5cG9ncmFwaHk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgdHlwb2dyYXBoeSk7XG4gICRzdHlsZS1wcm9wczogbWFwLmdldCh2YXJpYWJsZXMuJHN0eWxlcywgJHN0eWxlKTtcblxuICBAaWYgbm90IG1hcC5oYXMta2V5KHZhcmlhYmxlcy4kc3R5bGVzLCAkc3R5bGUpIHtcbiAgICBAZXJyb3IgXCJJbnZhbGlkIHN0eWxlIHNwZWNpZmllZCEgI3skc3R5bGV9IGRvZXNuJ3QgZXhpc3QuIENob29zZSBvbmUgb2YgI3ttYXAua2V5cyh2YXJpYWJsZXMuJHN0eWxlcyl9XCI7XG4gIH1cblxuICBAaW5jbHVkZSBzbW9vdGgtZm9udCgkcXVlcnk6ICRxdWVyeSk7XG4gIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXR5cG9ncmFwaHkpIHtcbiAgICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJHN0eWxlLXByb3BzIHtcbiAgICAgIEBpZiBsaXN0LmluZGV4KCRleGNsdWRlLXByb3BzLCAka2V5KSA9PSBudWxsIHtcbiAgICAgICAgJGZhbGxiYWNrOiAkdmFsdWU7XG4gICAgICAgIEBpZiAka2V5ID09IFwiZm9udC1mYW1pbHlcIiB7XG4gICAgICAgICAgLy8gRWFjaCBzdHlsZSBoYXMgaXRzIG93biBmb250LWZhbWlseSBjdXN0b20gcHJvcGVydHksIGJ1dCBzaG91bGRcbiAgICAgICAgICAvLyBmYWxsYmFjayB0byBhIGdlbmVyaWMgZm9udC1mYW1pbHkgcHJvcGVydHkuIFRoaXMgYWxsb3dzXG4gICAgICAgICAgLy8gY3VzdG9taXppbmcgdGhlIGZvbnQtZmFtaWx5IGZvciBhbGwgc3R5bGVzIG9yIG9ubHkgc3BlY2lmaWMgb25lcy5cbiAgICAgICAgICAkZmFsbGJhY2s6IChcbiAgICAgICAgICAgIHZhcm5hbWU6IC0tbWRjLXR5cG9ncmFwaHktZm9udC1mYW1pbHksXG4gICAgICAgICAgICBmYWxsYmFjazogJGZhbGxiYWNrXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIHRoZW1lLW1peGlucy5wcm9wKCRrZXksIChcbiAgICAgICAgICB2YXJuYW1lOiAtLW1kYy10eXBvZ3JhcGh5LSN7JHN0eWxlfS0jeyRrZXl9LFxuICAgICAgICAgIGZhbGxiYWNrOiAkZmFsbGJhY2tcbiAgICAgICAgKSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBBcHBsaWVzIGFudGlhbGlhc2luZyB2aWEgZm9udC1zbW9vdGhpbmcgdG8gdGV4dC5cbkBtaXhpbiBzbW9vdGgtZm9udCgkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAkZmVhdC10eXBvZ3JhcGh5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIHR5cG9ncmFwaHkpO1xuXG4gIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXR5cG9ncmFwaHkpIHtcbiAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICB9XG59XG5cbi8vIEVsZW1lbnQgbXVzdCBiZSBgZGlzcGxheTogYmxvY2tgIG9yIGBkaXNwbGF5OiBpbmxpbmUtYmxvY2tgIGZvciB0aGlzIHRvIHdvcmsuXG5AbWl4aW4gb3ZlcmZsb3ctZWxsaXBzaXMoJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJGZlYXQtc3RydWN0dXJlOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG5cbiAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG59XG5cbi8vLyBTZXRzIGEgY29udGFpbmVyJ3MgYmFzZWxpbmUgdGhhdCB0ZXh0IGNvbnRlbnQgd2lsbCBhbGlnbiB0by5cbi8vL1xuLy8vIElmIHRoZSBgJGRpc3BsYXlgIGlzIHNldCB0byBhIGZsZXhib3ggZGlzcGxheSwgb25seSBgJHRvcGAgYmFzZWxpbmUgbWF5IGJlXG4vLy8gc2V0LiBBIHNlcGFyYXRlIGVsZW1lbnQgbXVzdCBiZSBhZGRlZCBhcyBhIGNoaWxkIG9mIHRoZSBjb250YWluZXIgd2l0aCBhXG4vLy8gYCRib3R0b21gIGJhc2VsaW5lLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR0b3AgLSB0aGUgZGlzdGFuY2UgZnJvbSB0aGUgdG9wIG9mIHRoZSBjb250YWluZXIgdG8gdGhlXG4vLy8gICAgIHRleHQncyBiYXNlbGluZS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJvdHRvbSAtIHRoZSBkaXN0YW5jZSBmcm9tIHRoZSB0ZXh0J3MgYmFzZWxpbmUgdG8gdGhlXG4vLy8gICAgIGJvdHRvbSBvZiB0aGUgY29udGFpbmVyLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZGlzcGxheSAtIHRoZSBkaXNwbGF5IHR5cGUgb2YgdGhlIGNvbnRhaW5lci4gTWF5IGJlIGBmbGV4YCxcbi8vLyAgICAgYGlubGluZS1mbGV4YCwgYGJsb2NrYCwgb3IgYGlubGluZS1ibG9ja2AuXG5AbWl4aW4gYmFzZWxpbmUoJHRvcDogMCwgJGJvdHRvbTogMCwgJGRpc3BsYXk6IGJsb2NrLCAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAkdmFsaWREaXNwbGF5VHlwZXM6IChmbGV4LCBpbmxpbmUtZmxleCwgYmxvY2ssIGlubGluZS1ibG9jayk7XG5cbiAgQGlmIGxpc3QuaW5kZXgoJHZhbGlkRGlzcGxheVR5cGVzLCAkZGlzcGxheSkgPT0gbnVsbCB7XG4gICAgQGVycm9yIFwibWRjLXR5cG9ncmFwaHk6IGludmFsaWQgZGlzcGxheSBzcGVjaWZpZWQhICN7JGRpc3BsYXl9IG11c3QgYmUgb25lIG9mICN7JHZhbGlkRGlzcGxheVR5cGVzfVwiO1xuICB9XG5cbiAgJGlzRmxleGJveDogJGRpc3BsYXkgPT0gXCJmbGV4XCIgb3IgJGRpc3BsYXkgPT0gXCJpbmxpbmUtZmxleFwiO1xuICAkZmVhdC1zdHJ1Y3R1cmU6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcblxuICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICBkaXNwbGF5OiAkZGlzcGxheTtcblxuICAgIEBpZiAkaXNGbGV4Ym94IHtcbiAgICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgICB9XG4gIH1cblxuICBAaWYgJHRvcCA+IDAge1xuICAgIEBpbmNsdWRlIGJhc2VsaW5lLXRvcCgkdG9wLCAkcXVlcnk6ICRxdWVyeSk7XG4gIH1cblxuICBAaWYgJGJvdHRvbSA+IDAge1xuICAgIEBpZiAkaXNGbGV4Ym94IHtcbiAgICAgIEBlcnJvciBcIm1kYy10eXBvZ3JhcGh5OiBpbnZhbGlkIGJhc2VsaW5lIHdpdGggZGlzcGxheSB0eXBlLiAjeyRkaXNwbGF5fSBjYW5ub3Qgc3BlY2lmaXkgJGJvdHRvbS4gQWRkIGEgc2VwYXJhdGUgY2hpbGQgZWxlbWVudCB3aXRoIGl0cyBvd24gJGJvdHRvbS5cIjtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBiYXNlbGluZS1ib3R0b20oJGJvdHRvbSwgJHF1ZXJ5OiAkcXVlcnkpO1xuICB9XG59XG5cbi8vLyBTZXRzIHRoZSBiYXNlbGluZSBvZiBmbG93IHRleHQgY29udGVudC5cbi8vL1xuLy8vIFNlcGFyYXRlIGAkdG9wYCBhbmQgYCRib3R0b21gIGJhc2VsaW5lcyBtYXkgYmUgc3BlY2lmaWVkLiBZb3Ugc2hvdWxkIGVuc3VyZVxuLy8vIHRoYXQgdGhlIGAkdG9wYCBiYXNlbGluZSBtYXRjaGVzIHRoZSBwcmV2aW91cyB0ZXh0IGNvbnRlbnQncyAkYm90dG9tXG4vLy8gYmFzZWxpbmUgdG8gZW5zdXJlIHRleHQgaXMgcG9zaXRpb25lZCBhcHByb3ByaWF0ZWx5LlxuLy8vXG4vLy8gU2VlIGdvL2Nzcy1iYXNlbGluZSBmb3IgcmVmZXJlbmNlIG9uIGhvdyB0aGlzIG1peGluIHdvcmtzLlxuLy8vXG4vLy8gVGhpcyBpcyBpbnRlbmRlZCBmb3IgdGV4dCBmbG93IGNvbnRlbnQgb25seSAoZS5nLiBgPGgxPmAsIGA8cD5gLCBgPHNwYW4+YCxcbi8vLyBvciBgPGRpdj5gIHdpdGggb25seSB0ZXh0IGNvbnRlbnQpLiBVc2UgYGJhc2VsaW5lKClgIHRvIHNldCB0aGUgYmFzZWxpbmUgb2Zcbi8vLyBjb250YWluZXJzIHRoYXQgYXJlIGZsZXhib3ggb3IgaGF2ZSBub24tZmxvdyBjb250ZW50IGNoaWxkcmVuLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR0b3AgLSB0aGUgZGlzdGFuY2UgZnJvbSB0aGUgdG9wIG9mIHRoZSBjb250YWluZXIgdG8gdGhlXG4vLy8gICAgIHRleHQncyBiYXNlbGluZS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJvdHRvbSAtIHRoZSBkaXN0YW5jZSBmcm9tIHRoZSB0ZXh0J3MgYmFzZWxpbmUgdG8gdGhlXG4vLy8gICAgIGJvdHRvbSBvZiB0aGUgY29udGFpbmVyLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGxpbmVIZWlnaHQgLSB0aGUgbGluZS1oZWlnaHQgdG8gdXNlIGZvciB0aGUgdGV4dC4gVGhpc1xuLy8vICAgICBpcyB0aGUgZGlzdGFuY2UgYmV0d2VlbiBiYXNlbGluZXMgb2YgbXVsdGlwbGUgbGluZXMgb2YgdGV4dC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGRpc3BsYXkgLSB0aGUgZGlzcGxheSB0eXBlIG9mIHRoZSBjb250YWluZXIuIE1heSBiZSBgYmxvY2tgXG4vLy8gICAgIG9yIGBpbmxpbmUtYmxvY2tgLlxuQG1peGluIHRleHQtYmFzZWxpbmUoJHRvcDogMCwgJGJvdHRvbTogMCwgJGRpc3BsYXk6IGJsb2NrLCAkbGluZUhlaWdodDogbm9ybWFsLCAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAkdmFsaWREaXNwbGF5VHlwZXM6IChibG9jaywgaW5saW5lLWJsb2NrKTtcblxuICBAaWYgbGlzdC5pbmRleCgkdmFsaWREaXNwbGF5VHlwZXMsICRkaXNwbGF5KSA9PSBudWxsIHtcbiAgICBAZXJyb3IgXCJtZGMtdHlwb2dyYXBoeTogaW52YWxpZCBkaXNwbGF5IHNwZWNpZmllZCEgI3skZGlzcGxheX0gbXVzdCBiZSBvbmUgb2YgI3skdmFsaWREaXNwbGF5VHlwZXN9XCI7XG4gIH1cblxuICAkZmVhdC1zdHJ1Y3R1cmU6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcblxuICBAaW5jbHVkZSBiYXNlbGluZSgkZGlzcGxheTogJGRpc3BsYXksICR0b3A6ICR0b3AsICRib3R0b206ICRib3R0b20sICRxdWVyeTogJHF1ZXJ5KTtcbiAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgQGlmICR0b3AgPiAwIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAvKiBAYWx0ZXJuYXRlICovXG4gICAgICBsaW5lLWhlaWdodDogI3skbGluZUhlaWdodH07XG4gICAgfVxuXG4gICAgQGlmICRib3R0b20gPiAwIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IC0xICogJGJvdHRvbTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBiYXNlbGluZSBzdHJ1dCBmcm9tIHRoZSB0b3Agb2YgYSBjb250YWluZXIuIFRoaXMgbWl4aW4gaXMgZm9yXG4vLy8gYWR2YW5jZWQgdXNlcnMsIHByZWZlciBgYmFzZWxpbmUoKWAuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGRpc3RhbmNlIC0gVGhlIGRpc3RhbmNlIGZyb20gdGhlIHRvcCBvZiB0aGUgY29udGFpbmVyIHRvXG4vLy8gICAgIHRoZSB0ZXh0J3MgYmFzZWxpbmUuXG5AbWl4aW4gYmFzZWxpbmUtdG9wKCRkaXN0YW5jZSwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJGZlYXQtc3RydWN0dXJlOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIEBpbmNsdWRlIGJhc2VsaW5lLXN0cnV0XygkZGlzdGFuY2UpO1xuXG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogMDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBiYXNlbGluZSBzdHJ1dCBmcm9tIHRoZSBiYXNlbGluZSB0byB0aGUgYm90dG9tIG9mIGEgY29udGFpbmVyLlxuLy8vIFRoaXMgbWl4aW4gaXMgZm9yIGFkdmFuY2VkIHVzZXJzLCBwcmVmZXIgYGJhc2VsaW5lKClgLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRkaXN0YW5jZSAtIFRoZSBkaXN0YW5jZSBmcm9tIHRoZSB0ZXh0J3MgYmFzZWxpbmUgdG8gdGhlXG4vLy8gICAgIGJvdHRvbSBvZiB0aGUgY29udGFpbmVyLlxuQG1peGluIGJhc2VsaW5lLWJvdHRvbSgkZGlzdGFuY2UsICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gICRmZWF0LXN0cnVjdHVyZTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBzdHJ1Y3R1cmUpO1xuXG4gICY6OmFmdGVyIHtcbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIEBpbmNsdWRlIGJhc2VsaW5lLXN0cnV0XygkZGlzdGFuY2UpO1xuXG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogLTEgKiAkZGlzdGFuY2U7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBiYXNlbGluZS1zdHJ1dF8oJGRpc3RhbmNlKSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogJGRpc3RhbmNlO1xuICBjb250ZW50OiBcIlwiO1xufVxuIiwiLy9cbi8vIENvcHlyaWdodCAyMDE4IEdvb2dsZSBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cbi8vXG5cbkB1c2UgXCJAbWF0ZXJpYWwvcnRsL21peGluc1wiIGFzIHJ0bC1taXhpbnM7XG5AdXNlIFwiQG1hdGVyaWFsL3RoZW1lL3ZhcmlhYmxlc1wiIGFzIHZhcmlhYmxlczI7XG5AdXNlIFwiQG1hdGVyaWFsL3RoZW1lL21peGluc1wiIGFzIHRoZW1lLW1peGlucztcbkB1c2UgXCJAbWF0ZXJpYWwvZmVhdHVyZS10YXJnZXRpbmcvZnVuY3Rpb25zXCI7XG5AdXNlIFwiQG1hdGVyaWFsL2ZlYXR1cmUtdGFyZ2V0aW5nL21peGluc1wiIGFzIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucztcbkB1c2UgXCJAbWF0ZXJpYWwvYW5pbWF0aW9uL3ZhcmlhYmxlc1wiIGFzIGFuaW1hdGlvbi12YXJpYWJsZXM7XG5AdXNlIFwiQG1hdGVyaWFsL3R5cG9ncmFwaHkvbWl4aW5zXCIgYXMgdHlwb2dyYXBoeS1taXhpbnM7XG5AdXNlIFwiLi92YXJpYWJsZXNcIjtcblxuQG1peGluIGNvcmUtc3R5bGVzKCRxdWVyeTogZnVuY3Rpb25zLmFsbCgpKSB7XG4gICRmZWF0LXN0cnVjdHVyZTogZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBzdHJ1Y3R1cmUpO1xuICAkZmVhdC1hbmltYXRpb246IGZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgYW5pbWF0aW9uKTtcblxuICAvLyBwb3N0Y3NzLWJlbS1saW50ZXI6IGRlZmluZSBmbG9hdGluZy1sYWJlbFxuICAubWRjLWZsb2F0aW5nLWxhYmVsIHtcbiAgICBAaW5jbHVkZSB0eXBvZ3JhcGh5LW1peGlucy50eXBvZ3JhcGh5KHN1YnRpdGxlMSwgJGV4Y2x1ZGUtcHJvcHM6IChsaW5lLWhlaWdodCksICRxdWVyeTogJHF1ZXJ5KTtcblxuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgLyogQG5vZmxpcCAqL1xuICAgICAgbGVmdDogMDtcbiAgICAgIC8qIEBub2ZsaXAgKi9cbiAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgdG9wO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMTVyZW07XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgY3Vyc29yOiB0ZXh0O1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICAgLyogQGFsdGVybmF0ZSAqL1xuICAgICAgLy8gRm9yY2UgdGhlIGxhYmVsIGludG8gaXRzIG93biBsYXllciB0byBwcmV2ZW50IHZpc2libGUgbGF5ZXIgcHJvbW90aW9uIGFkanVzdG1lbnRzXG4gICAgICAvLyB3aGVuIHRoZSByaXBwbGUgaXMgYWN0aXZhdGVkIGJlaGluZCBpdC5cbiAgICAgIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07XG5cbiAgICAgIEBpbmNsdWRlIHJ0bC1taXhpbnMucnRsIHtcbiAgICAgICAgLyogQG5vZmxpcCAqL1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgLyogQG5vZmxpcCAqL1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICAvKiBAbm9mbGlwICovXG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IHRvcDtcbiAgICAgICAgLyogQG5vZmxpcCAqL1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1hbmltYXRpb24pIHtcbiAgICAgIHRyYW5zaXRpb246XG4gICAgICAgIHRyYW5zZm9ybSB2YXJpYWJsZXMuJHRyYW5zaXRpb24tZHVyYXRpb24gYW5pbWF0aW9uLXZhcmlhYmxlcy4kc3RhbmRhcmQtY3VydmUtdGltaW5nLWZ1bmN0aW9uLFxuICAgICAgICBjb2xvciB2YXJpYWJsZXMuJHRyYW5zaXRpb24tZHVyYXRpb24gYW5pbWF0aW9uLXZhcmlhYmxlcy4kc3RhbmRhcmQtY3VydmUtdGltaW5nLWZ1bmN0aW9uO1xuICAgIH1cbiAgfVxuXG4gIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlIHtcbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIGN1cnNvcjogYXV0bztcbiAgICB9XG4gIH1cblxuICBAYXQtcm9vdCB7XG4gICAgQGluY2x1ZGUgZmxvYXQtcG9zaXRpb24odmFyaWFibGVzLiRwb3NpdGlvbi15LCAkcXVlcnk6ICRxdWVyeSk7XG4gICAgQGluY2x1ZGUgc2hha2UtYW5pbWF0aW9uKHN0YW5kYXJkLCAkcXVlcnk6ICRxdWVyeSk7XG4gIH1cblxuICBAaW5jbHVkZSBzaGFrZS1rZXlmcmFtZXMoc3RhbmRhcmQsIHZhcmlhYmxlcy4kcG9zaXRpb24teSwgJHF1ZXJ5OiAkcXVlcnkpO1xufVxuXG5AbWl4aW4gaW5rLWNvbG9yKCRjb2xvciwgJHF1ZXJ5OiBmdW5jdGlvbnMuYWxsKCkpIHtcbiAgJGZlYXQtY29sb3I6IGZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgY29sb3IpO1xuXG4gIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LWNvbG9yKSB7XG4gICAgQGluY2x1ZGUgdGhlbWUtbWl4aW5zLnByb3AoY29sb3IsICRjb2xvcik7XG4gIH1cbn1cblxuLy8gVXNlZCBmb3IgdGV4dGFyZWEgaW4gY2FzZSBvZiBzY3JvbGxpbmdcbkBtaXhpbiBmaWxsLWNvbG9yKCRjb2xvciwgJHF1ZXJ5OiBmdW5jdGlvbnMuYWxsKCkpIHtcbiAgJGZlYXQtY29sb3I6IGZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgY29sb3IpO1xuXG4gIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LWNvbG9yKSB7XG4gICAgQGluY2x1ZGUgdGhlbWUtbWl4aW5zLnByb3AoYmFja2dyb3VuZC1jb2xvciwgJGNvbG9yKTtcbiAgfVxufVxuXG5AbWl4aW4gc2hha2Uta2V5ZnJhbWVzKFxuICAkbW9kaWZpZXIsICRwb3NpdGlvblksICRwb3NpdGlvblg6IDAlLCAkc2NhbGU6IHZhcmlhYmxlcy4kZmxvYXQtc2NhbGUsICRxdWVyeTogZnVuY3Rpb25zLmFsbCgpKSB7XG4gICRmZWF0LWFuaW1hdGlvbjogZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBhbmltYXRpb24pO1xuXG4gIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LWFuaW1hdGlvbikge1xuICAgIEBrZXlmcmFtZXMgbWRjLWZsb2F0aW5nLWxhYmVsLXNoYWtlLWZsb2F0LWFib3ZlLSN7JG1vZGlmaWVyfSB7XG4gICAgICAwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChjYWxjKDAgLSAjeyRwb3NpdGlvblh9KSkgdHJhbnNsYXRlWSgtI3skcG9zaXRpb25ZfSkgc2NhbGUoI3skc2NhbGV9KTtcbiAgICAgIH1cblxuICAgICAgMzMlIHtcbiAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKC41LCAwLCAuNzAxNzMyLCAuNDk1ODE5KTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGNhbGMoNCUgLSAjeyRwb3NpdGlvblh9KSkgdHJhbnNsYXRlWSgtI3skcG9zaXRpb25ZfSkgc2NhbGUoI3skc2NhbGV9KTtcbiAgICAgIH1cblxuICAgICAgNjYlIHtcbiAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKC4zMDI0MzUsIC4zODEzNTIsIC41NSwgLjk1NjM1Mik7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChjYWxjKC00JSAtICN7JHBvc2l0aW9uWH0pKSB0cmFuc2xhdGVZKC0jeyRwb3NpdGlvbll9KSBzY2FsZSgjeyRzY2FsZX0pO1xuICAgICAgfVxuXG4gICAgICAxMDAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGNhbGMoMCAtICN7JHBvc2l0aW9uWH0pKSB0cmFuc2xhdGVZKC0jeyRwb3NpdGlvbll9KSBzY2FsZSgjeyRzY2FsZX0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZmxvYXQtcG9zaXRpb24oJHBvc2l0aW9uWSwgJHBvc2l0aW9uWDogMCUsICRzY2FsZTogdmFyaWFibGVzLiRmbG9hdC1zY2FsZSwgJHF1ZXJ5OiBmdW5jdGlvbnMuYWxsKCkpIHtcbiAgJGZlYXQtc3RydWN0dXJlOiBmdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG5cbiAgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUge1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgQGlmICRwb3NpdGlvblggPiAwIG9yICRwb3NpdGlvblggPCAwIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xICogJHBvc2l0aW9uWSkgdHJhbnNsYXRlWCgtMSAqICRwb3NpdGlvblgpIHNjYWxlKCRzY2FsZSk7XG5cbiAgICAgICAgQGluY2x1ZGUgcnRsLW1peGlucy5ydGwge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMSAqICRwb3NpdGlvblkpIHRyYW5zbGF0ZVgoJHBvc2l0aW9uWCkgc2NhbGUoJHNjYWxlKTtcbiAgICAgICAgfVxuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMSAqICRwb3NpdGlvblkpIHNjYWxlKCRzY2FsZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBzaGFrZS1hbmltYXRpb24oJG1vZGlmaWVyLCAkcXVlcnk6IGZ1bmN0aW9ucy5hbGwoKSkge1xuICAkZmVhdC1hbmltYXRpb246IGZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgYW5pbWF0aW9uKTtcblxuICAubWRjLWZsb2F0aW5nLWxhYmVsLS1zaGFrZSB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtYW5pbWF0aW9uKSB7XG4gICAgICBhbmltYXRpb246IG1kYy1mbG9hdGluZy1sYWJlbC1zaGFrZS1mbG9hdC1hYm92ZS0jeyRtb2RpZmllcn0gMjUwbXMgMTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1heC13aWR0aCgkbWF4LXdpZHRoLCAkcXVlcnk6IGZ1bmN0aW9ucy5hbGwoKSkge1xuICAkZmVhdC1zdHJ1Y3R1cmU6IGZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcblxuICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICBtYXgtd2lkdGg6ICRtYXgtd2lkdGg7XG4gIH1cbn1cblxuLy8vXG4vLy8gU2V0cyB0aGUgQ1NTIHRyYW5zaXRpb24gZm9yIHRoZSBmbG9hdGluZyBhbmltYXRpb24uXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGR1cmF0aW9uLW1zIC0gRHVyYXRpb24gKGluIG1zKSBvZiB0aGUgYW5pbWF0aW9uLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkdGltaW5nLWZ1bmN0aW9uIC0gT3B0aW9uYWxseSBvdmVycmlkZXMgdGhlIGRlZmF1bHQgYW5pbWF0aW9uIHRpbWluZyBmdW5jdGlvbi5cbi8vL1xuQG1peGluIGZsb2F0LXRyYW5zaXRpb24oXG4gICRkdXJhdGlvbi1tcyxcbiAgJHRpbWluZy1mdW5jdGlvbjogYW5pbWF0aW9uLXZhcmlhYmxlcy4kc3RhbmRhcmQtY3VydmUtdGltaW5nLWZ1bmN0aW9uLFxuICAkcXVlcnk6IGZ1bmN0aW9ucy5hbGwoKVxuKSB7XG4gICRmZWF0LWFuaW1hdGlvbjogZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBhbmltYXRpb24pO1xuXG4gIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LWFuaW1hdGlvbikge1xuICAgIHRyYW5zaXRpb246XG4gICAgICBjb2xvciAkZHVyYXRpb24tbXMgJHRpbWluZy1mdW5jdGlvbixcbiAgICAgIHRyYW5zZm9ybSAkZHVyYXRpb24tbXMgJHRpbWluZy1mdW5jdGlvbjtcbiAgfVxufVxuIiwiLy9cbi8vIENvcHlyaWdodCAyMDE5IEdvb2dsZSBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cbi8vXG5cbkB1c2UgXCJAbWF0ZXJpYWwvZmVhdHVyZS10YXJnZXRpbmcvZnVuY3Rpb25zXCI7XG5AdXNlIFwiQG1hdGVyaWFsL2ZlYXR1cmUtdGFyZ2V0aW5nL21peGluc1wiIGFzIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucztcbkB1c2UgXCJAbWF0ZXJpYWwvcnRsL21peGluc1wiIGFzIHJ0bC1taXhpbnM7XG5AdXNlIFwiQG1hdGVyaWFsL3RoZW1lL21peGluc1wiIGFzIHRoZW1lLW1peGlucztcbkB1c2UgXCJAbWF0ZXJpYWwvdHlwb2dyYXBoeS9taXhpbnNcIiBhcyB0eXBvZ3JhcGh5LW1peGlucztcbkB1c2UgXCIuL3ZhcmlhYmxlc1wiO1xuXG5AbWl4aW4gY29yZS1zdHlsZXMoJHF1ZXJ5OiBmdW5jdGlvbnMuYWxsKCkpIHtcbiAgJGZlYXQtY29sb3I6IGZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgY29sb3IpO1xuICAkZmVhdC1zdHJ1Y3R1cmU6IGZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcblxuICAubWRjLWZvcm0tZmllbGQge1xuICAgIEBpbmNsdWRlIHR5cG9ncmFwaHktbWl4aW5zLnR5cG9ncmFwaHkoYm9keTIsICRxdWVyeSk7XG5cbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1jb2xvcikge1xuICAgICAgQGluY2x1ZGUgdGhlbWUtbWl4aW5zLnByb3AoY29sb3IsIHRleHQtcHJpbWFyeS1vbi1iYWNrZ3JvdW5kKTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuXG4gICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNlbGVjdG9yLW1heC10eXBlXG4gICAgPiBsYWJlbCB7XG4gICAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgICAgQGluY2x1ZGUgcnRsLW1peGlucy5yZWZsZXhpdmUtcHJvcGVydHkobWFyZ2luLCAwLCBhdXRvKTtcbiAgICAgICAgQGluY2x1ZGUgcnRsLW1peGlucy5yZWZsZXhpdmUtcHJvcGVydHkocGFkZGluZywgdmFyaWFibGVzLiRpdGVtLXNwYWNpbmcsIDApO1xuXG4gICAgICAgIG9yZGVyOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5tZGMtZm9ybS1maWVsZC0tbm93cmFwIHtcbiAgICA+IGxhYmVsIHtcbiAgICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubWRjLWZvcm0tZmllbGQtLWFsaWduLWVuZCB7XG4gICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNlbGVjdG9yLW1heC10eXBlXG4gICAgPiBsYWJlbCB7XG4gICAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgICAgQGluY2x1ZGUgcnRsLW1peGlucy5yZWZsZXhpdmUtcHJvcGVydHkobWFyZ2luLCBhdXRvLCAwKTtcbiAgICAgICAgQGluY2x1ZGUgcnRsLW1peGlucy5yZWZsZXhpdmUtcHJvcGVydHkocGFkZGluZywgMCwgdmFyaWFibGVzLiRpdGVtLXNwYWNpbmcpO1xuXG4gICAgICAgIG9yZGVyOiAtMTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubWRjLWZvcm0tZmllbGQtLXNwYWNlLWJldHdlZW4ge1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIH1cblxuICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzZWxlY3Rvci1tYXgtdHlwZVxuICAgID4gbGFiZWwge1xuICAgICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICBAaW5jbHVkZSBydGwtbWl4aW5zLnJ0bCB7XG4gICAgICAgICAgLy8gUlRMIG5lZWRlZCBmb3Igc3BlY2lmaWNpdHlcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIENvcHlyaWdodCAyMDE2IEdvb2dsZSBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cblxuQHVzZSBcInNhc3M6bWFwXCI7XG5AdXNlIFwiQG1hdGVyaWFsL2RlbnNpdHkvZnVuY3Rpb25zXCIgYXMgZGVuc2l0eS1mdW5jdGlvbnM7XG5AdXNlIFwiQG1hdGVyaWFsL3J0bC9taXhpbnNcIiBhcyBydGwtbWl4aW5zO1xuQHVzZSBcIkBtYXRlcmlhbC90aGVtZS9taXhpbnNcIiBhcyB0aGVtZS1taXhpbnM7XG5AdXNlIFwiQG1hdGVyaWFsL3NoYXBlL2Z1bmN0aW9uc1wiIGFzIHNoYXBlLWZ1bmN0aW9ucztcbkB1c2UgXCJAbWF0ZXJpYWwvc2hhcGUvbWl4aW5zXCIgYXMgc2hhcGUtbWl4aW5zO1xuQHVzZSBcIkBtYXRlcmlhbC9yaXBwbGUvbWl4aW5zXCIgYXMgcmlwcGxlLW1peGlucztcbkB1c2UgXCJAbWF0ZXJpYWwvdGhlbWUvZnVuY3Rpb25zXCIgYXMgdGhlbWUtZnVuY3Rpb25zO1xuQHVzZSBcIkBtYXRlcmlhbC90eXBvZ3JhcGh5L21peGluc1wiIGFzIHR5cG9ncmFwaHktbWl4aW5zO1xuQHVzZSBcIkBtYXRlcmlhbC90eXBvZ3JhcGh5L3ZhcmlhYmxlc1wiIGFzIHR5cG9ncmFwaHktdmFyaWFibGVzO1xuQHVzZSBcIkBtYXRlcmlhbC9mZWF0dXJlLXRhcmdldGluZy9mdW5jdGlvbnNcIiBhcyBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnM7XG5AdXNlIFwiQG1hdGVyaWFsL2ZlYXR1cmUtdGFyZ2V0aW5nL21peGluc1wiIGFzIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucztcbkB1c2UgXCIuL3ZhcmlhYmxlc1wiO1xuQHVzZSBcIkBtYXRlcmlhbC9yaXBwbGUvZnVuY3Rpb25zXCIgYXMgcmlwcGxlLWZ1bmN0aW9ucztcbkB1c2UgXCJAbWF0ZXJpYWwvdGhlbWUvdmFyaWFibGVzXCIgYXMgdGhlbWUtdmFyaWFibGVzO1xuXG4vL1xuLy8gUHVibGljXG4vL1xuXG5AbWl4aW4gY29yZS1zdHlsZXMoJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgQGluY2x1ZGUgd2l0aG91dC1yaXBwbGUoJHF1ZXJ5KTtcbiAgQGluY2x1ZGUgcmlwcGxlKCRxdWVyeSk7XG59XG5cbi8vIFRoaXMgQVBJIGlzIGludGVuZGVkIGZvciB1c2UgYnkgZnJhbWV3b3JrcyB0aGF0IG1heSB3YW50IHRvIHNlcGFyYXRlIHRoZSByaXBwbGUtcmVsYXRlZCBzdHlsZXMgZnJvbSB0aGUgb3RoZXJcbi8vIGxpc3Qgc3R5bGVzLiBJdCBpcyByZWNvbW1lbmRlZCB0aGF0IG1vc3QgdXNlcnMgdXNlIGBtZGMtbGlzdC1jb3JlLXN0eWxlc2AgaW5zdGVhZC5cbkBtaXhpbiB3aXRob3V0LXJpcHBsZSgkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAkZmVhdC1jb2xvcjogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBjb2xvcik7XG4gICRmZWF0LXN0cnVjdHVyZTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBzdHJ1Y3R1cmUpO1xuICAkZmVhdC10eXBvZ3JhcGh5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIHR5cG9ncmFwaHkpO1xuXG4gICRpdGVtLXByaW1hcnktdGV4dC1iYXNlbGluZS1oZWlnaHQ6IDMycHg7XG4gICRpdGVtLXNlY29uZGFyeS10ZXh0LWJhc2VsaW5lLWhlaWdodDogMjBweDtcbiAgJGRlbnNlLWl0ZW0tcHJpbWFyeS10ZXh0LWJhc2VsaW5lLWhlaWdodDogMjRweDtcbiAgJGRpdmlkZXItY29sb3I6IGlmKFxuICAgIHRoZW1lLWZ1bmN0aW9ucy50b25lKHRoZW1lLXZhcmlhYmxlcy4kYmFja2dyb3VuZCkgPT0gXCJkYXJrXCIsXG4gICAgdmFyaWFibGVzLiRkaXZpZGVyLWNvbG9yLW9uLWRhcmstYmcsXG4gICAgdmFyaWFibGVzLiRkaXZpZGVyLWNvbG9yLW9uLWxpZ2h0LWJnXG4gICk7XG5cbiAgLm1kYy1saXN0IHtcbiAgICBAaW5jbHVkZSBiYXNlXygkcXVlcnkpO1xuICB9XG5cbiAgQGluY2x1ZGUgc2luZ2xlLWxpbmUtZGVuc2l0eSh2YXJpYWJsZXMuJHNpbmdsZS1saW5lLWRlbnNpdHktc2NhbGUsICRxdWVyeTogJHF1ZXJ5KTtcbiAgQGluY2x1ZGUgaXRlbS1zZWNvbmRhcnktdGV4dC1pbmstY29sb3IodGV4dC1zZWNvbmRhcnktb24tYmFja2dyb3VuZCwgJHF1ZXJ5KTtcbiAgQGluY2x1ZGUgaXRlbS1ncmFwaGljLWZpbGwtY29sb3IodHJhbnNwYXJlbnQsICRxdWVyeSk7XG4gIEBpbmNsdWRlIGl0ZW0tZ3JhcGhpYy1pbmstY29sb3IodGV4dC1pY29uLW9uLWJhY2tncm91bmQsICRxdWVyeSk7XG4gIEBpbmNsdWRlIGl0ZW0tbWV0YS1pbmstY29sb3IodGV4dC1oaW50LW9uLWJhY2tncm91bmQsICRxdWVyeSk7XG4gIEBpbmNsdWRlIGdyb3VwLXN1YmhlYWRlci1pbmstY29sb3IodGV4dC1wcmltYXJ5LW9uLWJhY2tncm91bmQsICRxdWVyeSk7XG4gIEBpbmNsdWRlIGl0ZW0tZGlzYWJsZWQtdGV4dC1vcGFjaXR5KHZhcmlhYmxlcy4kdGV4dC1kaXNhYmxlZC1vcGFjaXR5LCAkcXVlcnkpO1xuICBAaW5jbHVkZSBpdGVtLWRpc2FibGVkLXRleHQtY29sb3IodmFyaWFibGVzLiR0ZXh0LWRpc2FibGVkLWNvbG9yLCAkcXVlcnkpO1xuXG4gIC5tZGMtbGlzdC0tZGVuc2Uge1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgcGFkZGluZy10b3A6IDRweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA0cHg7XG4gICAgICBmb250LXNpemU6IC44MTJyZW07XG4gICAgfVxuICB9XG5cbiAgLm1kYy1saXN0LWl0ZW0ge1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgQGluY2x1ZGUgaXRlbS1iYXNlXztcbiAgICB9XG4gIH1cblxuICAvLyBcIlNlbGVjdGVkXCIgaXMgZXBoZW1lcmFsIGFuZCBsaWtlbHkgdG8gY2hhbmdlIHNvb24uIEUuZy4sIHNlbGVjdGluZyBvbmUgb3IgbW9yZSBwaG90b3MgdG8gc2hhcmUgaW4gR29vZ2xlIFBob3Rvcy5cbiAgLy8gXCJBY3RpdmF0ZWRcIiBpcyBtb3JlIHBlcm1hbmVudC4gRS5nLiwgdGhlIGN1cnJlbnRseSBoaWdobGlnaHRlZCBuYXZpZ2F0aW9uIGRlc3RpbmF0aW9uIGluIGEgZHJhd2VyLlxuICAubWRjLWxpc3QtaXRlbS0tc2VsZWN0ZWQsXG4gIC5tZGMtbGlzdC1pdGVtLS1hY3RpdmF0ZWQge1xuICAgIEBpbmNsdWRlIGl0ZW0tcHJpbWFyeS10ZXh0LWluay1jb2xvcihwcmltYXJ5LCAkcXVlcnkpO1xuICAgIEBpbmNsdWRlIGl0ZW0tZ3JhcGhpYy1pbmstY29sb3IocHJpbWFyeSwgJHF1ZXJ5KTtcbiAgfVxuXG4gIC5tZGMtbGlzdC1pdGVtX19ncmFwaGljIHtcbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIEBpbmNsdWRlIGdyYXBoaWMtc2l6ZV8oMjRweCk7XG5cbiAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgZmlsbDogY3VycmVudENvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC8vIEV4dHJhIHNwZWNpZmljaXR5IGlzIHRvIG92ZXJyaWRlIC5tYXRlcmlhbC1pY29ucyBkaXNwbGF5IHN0eWxlIGlmIHVzZWQgaW5cbiAgLy8gY29uanVuY3Rpb24gd2l0aCBtZGMtbGlzdC1pdGVtX19ncmFwaGljXG4gIC8vIHN0eWxlbGludC1kaXNhYmxlIHBsdWdpbi9zZWxlY3Rvci1iZW0tcGF0dGVyblxuICAubWRjLWxpc3QgLm1kYy1saXN0LWl0ZW1fX2dyYXBoaWMge1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgfVxuICB9XG4gIC8vIHN0eWxlbGludC1lbmFibGUgcGx1Z2luL3NlbGVjdG9yLWJlbS1wYXR0ZXJuXG5cbiAgLm1kYy1saXN0LWl0ZW1fX21ldGEge1xuICAgIC8vIHN0eWxlbGludC1kaXNhYmxlIHNlbGVjdG9yLWNsYXNzLXBhdHRlcm5cbiAgICAmOm5vdCgubWF0ZXJpYWwtaWNvbnMpIHtcbiAgICAgIEBpbmNsdWRlIHR5cG9ncmFwaHktbWl4aW5zLnR5cG9ncmFwaHkoY2FwdGlvbiwgJHF1ZXJ5KTtcbiAgICB9XG4gICAgLy8gc3R5bGVsaW50LWVuYWJsZSBzZWxlY3Rvci1jbGFzcy1wYXR0ZXJuXG5cbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIEBpbmNsdWRlIHJ0bC1taXhpbnMucmVmbGV4aXZlLXByb3BlcnR5KG1hcmdpbiwgYXV0bywgMCwgXCIubWRjLWxpc3QtaXRlbVwiKTtcbiAgICB9XG4gIH1cblxuICAubWRjLWxpc3QtaXRlbV9fdGV4dCB7XG4gICAgQGluY2x1ZGUgdHlwb2dyYXBoeS1taXhpbnMub3ZlcmZsb3ctZWxsaXBzaXMoJHF1ZXJ5KTtcbiAgfVxuXG4gIC8vIERpc2FibGUgaW50ZXJhY3Rpb24gb24gbGFiZWwgZWxlbWVudHMgdGhhdCBtYXkgYXV0b21hdGljYWxseVxuICAvLyB0b2dnbGUgY29ycmVzcG9uZGluZyBjaGVja2JveCAvIHJhZGlvIGlucHV0LlxuICAubWRjLWxpc3QtaXRlbV9fdGV4dFtmb3JdIHtcbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC5tZGMtbGlzdC1pdGVtX19wcmltYXJ5LXRleHQge1xuICAgIEBpbmNsdWRlIHR5cG9ncmFwaHktbWl4aW5zLm92ZXJmbG93LWVsbGlwc2lzKCRxdWVyeSk7XG4gICAgQGluY2x1ZGUgdHlwb2dyYXBoeS1taXhpbnMudGV4dC1iYXNlbGluZShcbiAgICAgICR0b3A6ICRpdGVtLXByaW1hcnktdGV4dC1iYXNlbGluZS1oZWlnaHQsXG4gICAgICAkYm90dG9tOiAkaXRlbS1zZWNvbmRhcnktdGV4dC1iYXNlbGluZS1oZWlnaHQsXG4gICAgICAkZGlzcGxheTogYmxvY2ssXG4gICAgICAkcXVlcnk6ICRxdWVyeVxuICAgICk7XG5cbiAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZSBwbHVnaW4vc2VsZWN0b3ItYmVtLXBhdHRlcm5cbiAgICAubWRjLWxpc3QtLWRlbnNlICYge1xuICAgICAgQGluY2x1ZGUgdHlwb2dyYXBoeS1taXhpbnMudGV4dC1iYXNlbGluZShcbiAgICAgICAgJHRvcDogJGRlbnNlLWl0ZW0tcHJpbWFyeS10ZXh0LWJhc2VsaW5lLWhlaWdodCxcbiAgICAgICAgJGJvdHRvbTogJGl0ZW0tc2Vjb25kYXJ5LXRleHQtYmFzZWxpbmUtaGVpZ2h0LFxuICAgICAgICAkcXVlcnk6ICRxdWVyeVxuICAgICAgKTtcbiAgICB9XG4gICAgLy8gc3R5bGVsaW50LWVuYWJsZSBwbHVnaW4vc2VsZWN0b3ItYmVtLXBhdHRlcm5cbiAgfVxuXG4gIC5tZGMtbGlzdC1pdGVtX19zZWNvbmRhcnktdGV4dCB7XG4gICAgQGluY2x1ZGUgdHlwb2dyYXBoeS1taXhpbnMudHlwb2dyYXBoeShib2R5MiwgJHF1ZXJ5KTtcbiAgICBAaW5jbHVkZSB0eXBvZ3JhcGh5LW1peGlucy5vdmVyZmxvdy1lbGxpcHNpcygkcXVlcnkpO1xuICAgIEBpbmNsdWRlIHR5cG9ncmFwaHktbWl4aW5zLnRleHQtYmFzZWxpbmUoXG4gICAgICAkdG9wOiAkaXRlbS1zZWNvbmRhcnktdGV4dC1iYXNlbGluZS1oZWlnaHQsXG4gICAgICAkZGlzcGxheTogYmxvY2ssXG4gICAgICAkcXVlcnk6ICRxdWVyeVxuICAgICk7XG5cbiAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZSBwbHVnaW4vc2VsZWN0b3ItYmVtLXBhdHRlcm5cbiAgICAubWRjLWxpc3QtLWRlbnNlICYge1xuICAgICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICAgIH1cbiAgICB9XG4gICAgLy8gc3R5bGVsaW50LWVuYWJsZSBwbHVnaW4vc2VsZWN0b3ItYmVtLXBhdHRlcm5cbiAgfVxuXG4gIC8vIHN0eWxlbGludC1kaXNhYmxlIHBsdWdpbi9zZWxlY3Rvci1iZW0tcGF0dGVyblxuICAubWRjLWxpc3QtLWRlbnNlIC5tZGMtbGlzdC1pdGVtIHtcbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIGhlaWdodDogNDBweDtcbiAgICB9XG4gIH1cblxuICAubWRjLWxpc3QtLWRlbnNlIC5tZGMtbGlzdC1pdGVtX19ncmFwaGljIHtcbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIEBpbmNsdWRlIGdyYXBoaWMtc2l6ZV8oMjBweCk7XG4gICAgfVxuICB9XG5cbiAgLm1kYy1saXN0LS1hdmF0YXItbGlzdCAubWRjLWxpc3QtaXRlbSB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICBoZWlnaHQ6IDU2cHg7XG4gICAgfVxuICB9XG5cbiAgLm1kYy1saXN0LS1hdmF0YXItbGlzdCAubWRjLWxpc3QtaXRlbV9fZ3JhcGhpYyB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICBAaW5jbHVkZSBncmFwaGljLXNpemVfKDQwcHgpO1xuXG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgfVxuICB9XG5cbiAgLm1kYy1saXN0LS10d28tbGluZSAubWRjLWxpc3QtaXRlbV9fdGV4dCB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xuICAgIH1cbiAgfVxuXG4gIC5tZGMtbGlzdC0tdHdvLWxpbmUgLm1kYy1saXN0LWl0ZW0ge1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgaGVpZ2h0OiA3MnB4O1xuICAgIH1cbiAgfVxuXG4gIC5tZGMtbGlzdC0tdHdvLWxpbmUubWRjLWxpc3QtLWRlbnNlIC5tZGMtbGlzdC1pdGVtLFxuICAubWRjLWxpc3QtLWF2YXRhci1saXN0Lm1kYy1saXN0LS1kZW5zZSAubWRjLWxpc3QtaXRlbSB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICBoZWlnaHQ6IDYwcHg7XG4gICAgfVxuICB9XG5cbiAgLm1kYy1saXN0LS1hdmF0YXItbGlzdC5tZGMtbGlzdC0tZGVuc2UgLm1kYy1saXN0LWl0ZW1fX2dyYXBoaWMge1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgQGluY2x1ZGUgZ3JhcGhpYy1zaXplXygzNnB4KTtcbiAgICB9XG4gIH1cblxuICAvLyBPbmx5IGNoYW5nZSBtb3VzZSBjdXJzb3IgZm9yIGludGVyYWN0aXZlIGxpc3QgaXRlbXMgd2hpY2ggYXJlIG5vdCBkaXNhYmxlZC5cbiAgOm5vdCgubWRjLWxpc3QtLW5vbi1pbnRlcmFjdGl2ZSkgPiA6bm90KC5tZGMtbGlzdC1pdGVtLS1kaXNhYmxlZCkubWRjLWxpc3QtaXRlbSB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuICB9XG5cbiAgLy8gT3ZlcnJpZGUgYW5jaG9yIHRhZyBzdHlsZXMgZm9yIHRoZSB1c2UtY2FzZSBvZiBhIGxpc3QgYmVpbmcgdXNlZCBmb3IgbmF2aWdhdGlvblxuICAvLyBzdHlsZWxpbnQtZGlzYWJsZSBzZWxlY3Rvci1tYXgtdHlwZSxzZWxlY3Rvci1uby1xdWFsaWZ5aW5nLXR5cGVcbiAgYS5tZGMtbGlzdC1pdGVtIHtcbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbiAgfVxuICAvLyBzdHlsZWxpbnQtZW5hYmxlIHNlbGVjdG9yLW1heC10eXBlLHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZVxuXG4gIC5tZGMtbGlzdC1kaXZpZGVyIHtcbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDFweDtcbiAgICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkO1xuICAgIH1cbiAgfVxuXG4gIC8vIE5vdGU6IGlkZWFsbHkgd2UnZCBiZSBhYmxlIHRvIGhvaXN0IHRoaXMgdG8gdGhlIHRvcC1sZXZlbCBgJGZlYXQtY29sb3JgLCBidXQgZG9pbmcgc29cbiAgLy8gd2lsbCBjYXVzZSB0aGUgYGJvcmRlcmAgZGVjbGFyYXRpb24gb24gYC5tZGMtbGlzdC1kaXZpZGVyYCBhYm92ZSB0byBvdmVycmlkZSBpdC5cbiAgQGluY2x1ZGUgZGl2aWRlci1jb2xvcigkZGl2aWRlci1jb2xvciwgJHF1ZXJ5KTtcblxuICAubWRjLWxpc3QtZGl2aWRlci0tcGFkZGVkIHtcbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIC8vIExlYXZlIGdhcHMgb24gZWFjaCBzaWRlIHRvIG1hdGNoIHRoZSBwYWRkaW5nIG9uIGxpc3QgaXRlbXNcbiAgICAgIG1hcmdpbjogMCB2YXJpYWJsZXMuJHNpZGUtcGFkZGluZztcbiAgICB9XG4gIH1cblxuICAubWRjLWxpc3QtZGl2aWRlci0taW5zZXQge1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgQGluY2x1ZGUgcnRsLW1peGlucy5yZWZsZXhpdmUtYm94KG1hcmdpbiwgbGVmdCwgdmFyaWFibGVzLiR0ZXh0LW9mZnNldCwgXCIubWRjLWxpc3QtZ3JvdXBcIik7XG5cbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAje3ZhcmlhYmxlcy4kdGV4dC1vZmZzZXR9KTtcbiAgICB9XG4gIH1cblxuICAubWRjLWxpc3QtZGl2aWRlci0taW5zZXQubWRjLWxpc3QtZGl2aWRlci0tcGFkZGVkIHtcbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAje3ZhcmlhYmxlcy4kdGV4dC1vZmZzZXR9IC0gI3t2YXJpYWJsZXMuJHNpZGUtcGFkZGluZ30pO1xuICAgIH1cbiAgfVxuXG4gIC5tZGMtbGlzdC1ncm91cCB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICAvLyBDYW5jZWwgdG9wL2JvdHRvbSBwYWRkaW5nIG9uIGluZGl2aWR1YWwgbGlzdHMgd2l0aGluIGdyb3VwXG4gICAgICAubWRjLWxpc3Qge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5tZGMtbGlzdC1ncm91cF9fc3ViaGVhZGVyIHtcbiAgICAkbWRjLWxpc3Qtc3ViaGVhZGVyLXZpcnR1YWwtaGVpZ2h0OiAzcmVtO1xuICAgICRtZGMtbGlzdC1zdWJoZWFkZXItbGVhZGluZzogbWFwLmdldChtYXAuZ2V0KHR5cG9ncmFwaHktdmFyaWFibGVzLiRzdHlsZXMsIGJvZHkxKSwgbGluZS1oZWlnaHQpO1xuICAgICRtZGMtbGlzdC1zdWJoZWFkZXItbWFyZ2luOiBjYWxjKCgjeyRtZGMtbGlzdC1zdWJoZWFkZXItdmlydHVhbC1oZWlnaHR9IC0gI3skbWRjLWxpc3Qtc3ViaGVhZGVyLWxlYWRpbmd9KSAvIDIpO1xuXG4gICAgQGluY2x1ZGUgdHlwb2dyYXBoeS1taXhpbnMudHlwb2dyYXBoeShzdWJ0aXRsZTEsICRxdWVyeSk7XG5cbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIG1hcmdpbjogJG1kYy1saXN0LXN1YmhlYWRlci1tYXJnaW4gdmFyaWFibGVzLiRzaWRlLXBhZGRpbmc7XG4gICAgfVxuICB9XG59XG5cbi8vIFRoaXMgQVBJIGlzIGludGVuZGVkIGZvciB1c2UgYnkgZnJhbWV3b3JrcyB0aGF0IG1heSB3YW50IHRvIHNlcGFyYXRlIHRoZSByaXBwbGUtcmVsYXRlZCBzdHlsZXMgZnJvbSB0aGUgb3RoZXJcbi8vIGxpc3Qgc3R5bGVzLiBJdCBpcyByZWNvbW1lbmRlZCB0aGF0IG1vc3QgdXNlcnMgdXNlIGBtZGMtbGlzdC1jb3JlLXN0eWxlc2AgaW5zdGVhZC5cbkBtaXhpbiByaXBwbGUoJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgQGluY2x1ZGUgcmlwcGxlLW1peGlucy5jb21tb24oJHF1ZXJ5KTsgLy8gQ09QWUJBUkFfQ09NTUVOVF9USElTX0xJTkVcblxuICAvLyBMaXN0IGl0ZW1zIHNob3VsZCBzdXBwb3J0IHN0YXRlcyBieSBkZWZhdWx0LCBidXQgaXQgc2hvdWxkIGJlIHBvc3NpYmxlIHRvIG9wdCBvdXQuXG4gIC8vIERpcmVjdCBjaGlsZCBjb21iaW5hdG9yIGlzIG5lY2Vzc2FyeSBmb3Igbm9uLWludGVyYWN0aXZlIG1vZGlmaWVyIG9uIHBhcmVudCB0byBub3RcbiAgLy8gbWF0Y2ggdGhpcyBzZWxlY3Rvci5cbiAgOm5vdCgubWRjLWxpc3QtLW5vbi1pbnRlcmFjdGl2ZSkgPiA6bm90KC5tZGMtbGlzdC1pdGVtLS1kaXNhYmxlZCkubWRjLWxpc3QtaXRlbSB7XG4gICAgQGluY2x1ZGUgaXRlbS1pbnRlcmFjdGl2ZS1yaXBwbGVfKCRxdWVyeSk7XG4gIH1cblxuICAvLyBTZXQgc3R5bGVzIG9ubHkgZm9yIGZvY3VzIHN0YXRlIG9uIGRpc2FibGVkIGxpc3QgaXRlbS5cbiAgOm5vdCgubWRjLWxpc3QtLW5vbi1pbnRlcmFjdGl2ZSkgPiAubWRjLWxpc3QtaXRlbS0tZGlzYWJsZWQge1xuICAgIEBpbmNsdWRlIHJpcHBsZS1taXhpbnMuc3VyZmFjZSgkcXVlcnk6ICRxdWVyeSk7XG4gICAgQGluY2x1ZGUgcmlwcGxlLW1peGlucy5yYWRpdXMtYm91bmRlZCgkcXVlcnk6ICRxdWVyeSk7XG4gICAgQGluY2x1ZGUgcmlwcGxlLW1peGlucy5zdGF0ZXMtYmFzZS1jb2xvcih0aGVtZS12YXJpYWJsZXMucHJvcC12YWx1ZShvbi1zdXJmYWNlKSwgJHF1ZXJ5OiAkcXVlcnkpO1xuICAgIEBpbmNsdWRlIHJpcHBsZS1taXhpbnMuc3RhdGVzLWZvY3VzLW9wYWNpdHkocmlwcGxlLWZ1bmN0aW9ucy5zdGF0ZXMtb3BhY2l0eShwcmltYXJ5LCBmb2N1cyksICRxdWVyeTogJHF1ZXJ5KTtcbiAgfVxufVxuXG5AbWl4aW4gaXRlbS1wcmltYXJ5LXRleHQtaW5rLWNvbG9yKCRjb2xvciwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJGZlYXQtY29sb3I6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgY29sb3IpO1xuXG4gIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LWNvbG9yKSB7XG4gICAgQGluY2x1ZGUgdGhlbWUtbWl4aW5zLnByb3AoY29sb3IsICRjb2xvcik7XG4gIH1cbn1cblxuQG1peGluIGl0ZW0tc2Vjb25kYXJ5LXRleHQtaW5rLWNvbG9yKCRjb2xvciwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJGZlYXQtY29sb3I6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgY29sb3IpO1xuXG4gIC5tZGMtbGlzdC1pdGVtX19zZWNvbmRhcnktdGV4dCB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtY29sb3IpIHtcbiAgICAgIEBpbmNsdWRlIHRoZW1lLW1peGlucy5wcm9wKGNvbG9yLCAkY29sb3IpO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gaXRlbS1ncmFwaGljLWZpbGwtY29sb3IoJGNvbG9yLCAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAkZmVhdC1jb2xvcjogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBjb2xvcik7XG5cbiAgLm1kYy1saXN0LWl0ZW1fX2dyYXBoaWMge1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LWNvbG9yKSB7XG4gICAgICBAaW5jbHVkZSB0aGVtZS1taXhpbnMucHJvcChiYWNrZ3JvdW5kLWNvbG9yLCAkY29sb3IpO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gaXRlbS1ncmFwaGljLWluay1jb2xvcigkY29sb3IsICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gICRmZWF0LWNvbG9yOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIGNvbG9yKTtcblxuICAubWRjLWxpc3QtaXRlbV9fZ3JhcGhpYyB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtY29sb3IpIHtcbiAgICAgIEBpbmNsdWRlIHRoZW1lLW1peGlucy5wcm9wKGNvbG9yLCAkY29sb3IpO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gaXRlbS1tZXRhLWluay1jb2xvcigkY29sb3IsICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gICRmZWF0LWNvbG9yOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIGNvbG9yKTtcblxuICAubWRjLWxpc3QtaXRlbV9fbWV0YSB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtY29sb3IpIHtcbiAgICAgIEBpbmNsdWRlIHRoZW1lLW1peGlucy5wcm9wKGNvbG9yLCAkY29sb3IpO1xuICAgIH1cbiAgfVxufVxuXG4vLy9cbi8vLyBTZXRzIHNoYXBlIHJhZGl1cyAocm91bmRlZCkgdG8gc2luZ2xlIGxpbmUgbGlzdCB2YXJpYW50LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXIgfCBMaXN0PE51bWJlcj59ICRyYWRpdXMgUmFkaXVzIHNpemUgaW4gYHB4YCBvciBwZXJjZW50YWdlLiBJdCBjYW4gYmUgNCB2YWx1ZSBjb3JuZXIgb3Igc2luZ2xlIHJhZGl1cy5cbi8vLyAgICAgU2V0IHRvIGA1MCVgIGZvciByb3VuZGVkIHNoYXBlLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHJ0bC1yZWZsZXhpdmUgU2V0IHRvIHRydWUgdG8gZmxpcCBib3JkZXIgcmFkaXVzIGluIFJUTCBjb250ZXh0LiBEZWZhdWx0cyB0byBgZmFsc2VgLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZGVuc2l0eS1zY2FsZSBEZW5zaXR5IHNjYWxlIG9mIHNpbmdsZSBsaW5lIGxpc3QuIFNldCB0aGlzIG9ubHkgd2hlbiBjdXN0b20gZGVuc2l0eSBpcyBhcHBsaWVkLlxuLy8vICAgICBEZWZhdWx0cyB0byBgJG1kYy1saXN0LXNpbmdsZS1saW5lLWRlbnNpdHktc2NhbGVgLlxuLy8vXG4vLy8gQGFjY2VzcyBwdWJsaWNcbi8vL1xuQG1peGluIHNpbmdsZS1saW5lLXNoYXBlLXJhZGl1cyhcbiAgJHJhZGl1cyxcbiAgJHJ0bC1yZWZsZXhpdmU6IGZhbHNlLFxuICAkZGVuc2l0eS1zY2FsZTogdmFyaWFibGVzLiRzaW5nbGUtbGluZS1kZW5zaXR5LXNjYWxlLFxuICAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuXG4gICRoZWlnaHQ6IGRlbnNpdHktZnVuY3Rpb25zLnByb3AtdmFsdWUoXG4gICAgJGRlbnNpdHktY29uZmlnOiB2YXJpYWJsZXMuJHNpbmdsZS1saW5lLWRlbnNpdHktY29uZmlnLFxuICAgICRkZW5zaXR5LXNjYWxlOiAkZGVuc2l0eS1zY2FsZSxcbiAgICAkcHJvcGVydHktbmFtZTogaGVpZ2h0LFxuICApO1xuXG4gICRyZXNvbHZlZC1yYWRpdXM6IHNoYXBlLWZ1bmN0aW9ucy5yZXNvbHZlLXBlcmNlbnRhZ2UtcmFkaXVzKCRoZWlnaHQsICRyYWRpdXMpO1xuXG4gIC5tZGMtbGlzdC1pdGVtIHtcbiAgICBAaW5jbHVkZSBzaGFwZS1taXhpbnMucmFkaXVzKCRyZXNvbHZlZC1yYWRpdXMsICRydGwtcmVmbGV4aXZlLCAkcXVlcnk6ICRxdWVyeSk7XG4gIH1cbn1cblxuQG1peGluIGRpdmlkZXItY29sb3IoJGNvbG9yLCAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAkZmVhdC1jb2xvcjogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBjb2xvcik7XG5cbiAgLm1kYy1saXN0LWRpdmlkZXIge1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LWNvbG9yKSB7XG4gICAgICBAaW5jbHVkZSB0aGVtZS1taXhpbnMucHJvcChib3JkZXItYm90dG9tLWNvbG9yLCAkY29sb3IpO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZ3JvdXAtc3ViaGVhZGVyLWluay1jb2xvcigkY29sb3IsICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gICRmZWF0LWNvbG9yOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIGNvbG9yKTtcblxuICAubWRjLWxpc3QtZ3JvdXBfX3N1YmhlYWRlciB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtY29sb3IpIHtcbiAgICAgIEBpbmNsdWRlIHRoZW1lLW1peGlucy5wcm9wKGNvbG9yLCAkY29sb3IpO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gaXRlbS1kaXNhYmxlZC10ZXh0LW9wYWNpdHkoJG9wYWNpdHksICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gICRmZWF0LWNvbG9yOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIGNvbG9yKTtcblxuICAubWRjLWxpc3QtaXRlbS0tZGlzYWJsZWQgLm1kYy1saXN0LWl0ZW1fX3RleHQge1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LWNvbG9yKSB7XG4gICAgICBvcGFjaXR5OiAkb3BhY2l0eTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGl0ZW0tZGlzYWJsZWQtdGV4dC1jb2xvcigkY29sb3IsICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gICRmZWF0LWNvbG9yOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIGNvbG9yKTtcblxuICAubWRjLWxpc3QtaXRlbS0tZGlzYWJsZWQge1xuICAgIC5tZGMtbGlzdC1pdGVtX190ZXh0LFxuICAgIC5tZGMtbGlzdC1pdGVtX19wcmltYXJ5LXRleHQsXG4gICAgLm1kYy1saXN0LWl0ZW1fX3NlY29uZGFyeS10ZXh0IHtcbiAgICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LWNvbG9yKSB7XG4gICAgICAgIEBpbmNsdWRlIHRoZW1lLW1peGlucy5wcm9wKGNvbG9yLCAkY29sb3IpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy9cbi8vLyBTZXRzIGRlbnNpdHkgc2NhbGUgdG8gc2luZ2xlIGxpbmUgbGlzdCB2YXJpYW50LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRkZW5zaXR5LXNjYWxlIERlbnNpdHkgc2NhbGUgZm9yIGxpc3QuIFN1cHBvcnRlZCBkZW5zaXR5IHNjYWxlcyBhcmUgYC00YCwgYC0zYCwgYC0yYCwgYC0xYCBhbmQgIGAwYC5cbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG4vLy9cbkBtaXhpbiBzaW5nbGUtbGluZS1kZW5zaXR5KCRkZW5zaXR5LXNjYWxlLCAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAkaGVpZ2h0OiBkZW5zaXR5LWZ1bmN0aW9ucy5wcm9wLXZhbHVlKFxuICAgICRkZW5zaXR5LWNvbmZpZzogdmFyaWFibGVzLiRzaW5nbGUtbGluZS1kZW5zaXR5LWNvbmZpZyxcbiAgICAkZGVuc2l0eS1zY2FsZTogJGRlbnNpdHktc2NhbGUsXG4gICAgJHByb3BlcnR5LW5hbWU6IGhlaWdodCxcbiAgKTtcblxuICAubWRjLWxpc3QtaXRlbSB7XG4gICAgQGluY2x1ZGUgc2luZ2xlLWxpbmUtaGVpZ2h0KCRoZWlnaHQsICRxdWVyeTogJHF1ZXJ5KTtcbiAgfVxufVxuXG4vLy9cbi8vLyBTZXRzIGhlaWdodCB0byBzaW5nbGUgbGluZSBsaXN0IHZhcmlhbnQuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGhlaWdodCBIZWlnaHQgdmFsdWUgaW4gYHB4YC5cbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG4vLy9cbkBtaXhpbiBzaW5nbGUtbGluZS1oZWlnaHQoJGhlaWdodCwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJGZlYXQtc3RydWN0dXJlOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG5cbiAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgaGVpZ2h0OiAkaGVpZ2h0O1xuICB9XG59XG5cbi8vXG4vLyBQcml2YXRlXG4vL1xuXG5AbWl4aW4gYmFzZV8oJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJGZlYXQtY29sb3I6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgY29sb3IpO1xuICAkZmVhdC1zdHJ1Y3R1cmU6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcbiAgJGZlYXQtdHlwb2dyYXBoeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCB0eXBvZ3JhcGh5KTtcblxuICBAaW5jbHVkZSB0eXBvZ3JhcGh5LW1peGlucy50eXBvZ3JhcGh5KHN1YnRpdGxlMSwgJHF1ZXJ5KTtcblxuICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC10eXBvZ3JhcGh5KSB7XG4gICAgLy8gQWNjb3JkaW5nIHRvIHRoZSBtb2NrcyBhbmQgc3RpY2tlcnNoZWV0LCB0aGUgbGluZS1oZWlnaHQgaXNcbiAgICAvLyBhZGp1c3RlZCB0byAyNHB4IGZvciB0ZXh0IGNvbnRlbnQsIHNhbWUgYXMgZm9yIGJvZHkxLlxuICAgIC8qIEBhbHRlcm5hdGUgKi9cbiAgICBsaW5lLWhlaWdodDogbWFwLmdldChtYXAuZ2V0KHR5cG9ncmFwaHktdmFyaWFibGVzLiRzdHlsZXMsIGJvZHkxKSwgbGluZS1oZWlnaHQpO1xuICB9XG5cbiAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDhweCAwO1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcblxuICAgICY6Zm9jdXMge1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBpdGVtLXByaW1hcnktdGV4dC1pbmstY29sb3IodGV4dC1wcmltYXJ5LW9uLWJhY2tncm91bmQsICRxdWVyeSk7XG59XG5cbkBtaXhpbiBpdGVtLWJhc2VfIHtcbiAgZGlzcGxheTogZmxleDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIHBhZGRpbmc6IDAgdmFyaWFibGVzLiRzaWRlLXBhZGRpbmc7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgfVxufVxuXG4vLyBSaXBwbGUgc3R5bGVzIGZvciBhbiBpbnRlcmFjdGl2ZSBsaXN0IGl0ZW0gKG9uZSB0aGF0IGlzIGVuYWJsZWQgYW5kIGluc2lkZSBhbiBpbnRlcmFjdGl2ZSBsaXN0KS5cbkBtaXhpbiBpdGVtLWludGVyYWN0aXZlLXJpcHBsZV8oJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgQGluY2x1ZGUgcmlwcGxlLW1peGlucy5zdXJmYWNlKCRxdWVyeSk7XG4gIEBpbmNsdWRlIHJpcHBsZS1taXhpbnMucmFkaXVzLWJvdW5kZWQoJHF1ZXJ5OiAkcXVlcnkpO1xuICBAaW5jbHVkZSByaXBwbGUtbWl4aW5zLnN0YXRlcyh0aGVtZS12YXJpYWJsZXMucHJvcC12YWx1ZShvbi1zdXJmYWNlKSwgZmFsc2UsICRxdWVyeSk7XG4gIEBpbmNsdWRlIHJpcHBsZS1taXhpbnMuc3RhdGVzLWFjdGl2YXRlZChwcmltYXJ5LCBmYWxzZSwgJHF1ZXJ5KTtcbiAgQGluY2x1ZGUgcmlwcGxlLW1peGlucy5zdGF0ZXMtc2VsZWN0ZWQocHJpbWFyeSwgZmFsc2UsICRxdWVyeSk7XG59XG5cbi8vIFNldHMgdGhlIHdpZHRoIGFuZCBoZWlnaHQgb2YgdGhlIGdyYXBoaWMgZWxlbWVudCwgYXMgd2VsbCBhcyBjYWxjdWxhdGVzIHRoZSBtYXJnaW5zIGZvclxuLy8gdGhlIGdyYXBoaWMgZWxlbWVudCBzdWNoIHRoYXQgdGhlIHRleHQgaXMgYWx3YXlzIG9mZnNldCBieSA3MnB4LCB3aGljaCBpcyBkZWZpbmVkIHdpdGhpblxuLy8gdGhlIHNwZWMuXG5AbWl4aW4gZ3JhcGhpYy1zaXplXygkc2l6ZSkge1xuICAkdGV4dC1vZmZzZXQ6IDcycHg7XG4gICRzaWRlLXBhZGRpbmc6IHZhcmlhYmxlcy4kc2lkZS1wYWRkaW5nO1xuICAkbWFyZ2luLXZhbHVlOiAkdGV4dC1vZmZzZXQgLSAkc2lkZS1wYWRkaW5nIC0gJHNpemU7XG5cbiAgQGluY2x1ZGUgcnRsLW1peGlucy5yZWZsZXhpdmUtYm94KG1hcmdpbiwgcmlnaHQsICRtYXJnaW4tdmFsdWUsIFwiLm1kYy1saXN0LWl0ZW1cIik7XG5cbiAgd2lkdGg6ICRzaXplO1xuICBoZWlnaHQ6ICRzaXplO1xufVxuIiwiLy8gQ29weXJpZ2h0IDIwMTYgR29vZ2xlIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuXG5AdXNlIFwiQG1hdGVyaWFsL2RlbnNpdHkvdmFyaWFibGVzXCIgYXMgZGVuc2l0eS12YXJpYWJsZXM7XG5AdXNlIFwiQG1hdGVyaWFsL3RoZW1lL3ZhcmlhYmxlc1wiIGFzIHRoZW1lLXZhcmlhYmxlcztcblxuJGRpdmlkZXItY29sb3Itb24tbGlnaHQtYmc6IHJnYmEoMCwgMCwgMCwgLjEyKSAhZGVmYXVsdDtcbiRkaXZpZGVyLWNvbG9yLW9uLWRhcmstYmc6IHJnYmEoMjU1LCAyNTUsIDI1NSwgLjIpICFkZWZhdWx0O1xuJHNpZGUtcGFkZGluZzogMTZweCAhZGVmYXVsdDtcbiR0ZXh0LW9mZnNldDogNzJweCAhZGVmYXVsdDtcbiR0ZXh0LWRpc2FibGVkLW9wYWNpdHk6IHRoZW1lLXZhcmlhYmxlcy50ZXh0LWVtcGhhc2lzKGRpc2FibGVkKSAhZGVmYXVsdDtcbiR0ZXh0LWRpc2FibGVkLWNvbG9yOiBvbi1zdXJmYWNlICFkZWZhdWx0O1xuXG4kc2luZ2xlLWxpbmUtaGVpZ2h0OiA0OHB4ICFkZWZhdWx0O1xuJHNpbmdsZS1saW5lLW1pbmltdW0taGVpZ2h0OiAyNHB4ICFkZWZhdWx0O1xuJHNpbmdsZS1saW5lLW1heGltdW0taGVpZ2h0OiAkc2luZ2xlLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuJHNpbmdsZS1saW5lLWRlbnNpdHktc2NhbGU6IGRlbnNpdHktdmFyaWFibGVzLiRkZWZhdWx0LXNjYWxlICFkZWZhdWx0O1xuJHNpbmdsZS1saW5lLWRlbnNpdHktY29uZmlnOiAoXG4gIGhlaWdodDogKFxuICAgIGRlZmF1bHQ6ICRzaW5nbGUtbGluZS1oZWlnaHQsXG4gICAgbWF4aW11bTogJHNpbmdsZS1saW5lLW1heGltdW0taGVpZ2h0LFxuICAgIG1pbmltdW06ICRzaW5nbGUtbGluZS1taW5pbXVtLWhlaWdodCxcbiAgKSxcbikgIWRlZmF1bHQ7XG4iLCIvL1xuLy8gQ29weXJpZ2h0IDIwMTggR29vZ2xlIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuLy9cblxuQHVzZSBcInNhc3M6bWF0aFwiO1xuQHVzZSBcIkBtYXRlcmlhbC9lbGV2YXRpb24vbWl4aW5zXCIgYXMgZWxldmF0aW9uLW1peGlucztcbkB1c2UgXCJAbWF0ZXJpYWwvZmVhdHVyZS10YXJnZXRpbmcvZnVuY3Rpb25zXCI7XG5AdXNlIFwiQG1hdGVyaWFsL2ZlYXR1cmUtdGFyZ2V0aW5nL21peGluc1wiIGFzIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucztcbkB1c2UgXCJAbWF0ZXJpYWwvcnRsL21peGluc1wiIGFzIHJ0bC1taXhpbnM7XG5AdXNlIFwiQG1hdGVyaWFsL2xpc3QvbWl4aW5zXCIgYXMgbGlzdC1taXhpbnM7XG5AdXNlIFwiQG1hdGVyaWFsL2xpc3QvdmFyaWFibGVzXCIgYXMgbGlzdC12YXJpYWJsZXM7XG5AdXNlIFwiQG1hdGVyaWFsL3JpcHBsZS9taXhpbnNcIiBhcyByaXBwbGUtbWl4aW5zO1xuQHVzZSBcIi4vdmFyaWFibGVzXCI7XG5cbkBtaXhpbiBjb3JlLXN0eWxlcygkcXVlcnk6IGZ1bmN0aW9ucy5hbGwoKSkge1xuICAkZmVhdC1jb2xvcjogZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBjb2xvcik7XG4gICRmZWF0LXN0cnVjdHVyZTogZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBzdHJ1Y3R1cmUpO1xuXG4gIEBpbmNsdWRlIHJpcHBsZS1taXhpbnMuY29tbW9uKCRxdWVyeSk7IC8vIENPUFlCQVJBX0NPTU1FTlRfVEhJU19MSU5FXG4gIEBpbmNsdWRlIGVsZXZhdGlvbi1taXhpbnMub3ZlcmxheS1jb21tb24oJHF1ZXJ5KTsgLy8gQ09QWUJBUkFfQ09NTUVOVF9USElTX0xJTkVcblxuICAvLyBDdXN0b21pemUgdGhlIG1lbnUtc3VyZmFjZSBhbmQgY29udGFpbmVkIGxpc3QgdG8gbWF0Y2ggdGhlIG1kYy1tZW51IHN0eWxlcy5cbiAgLm1kYy1tZW51IHtcbiAgICBAaW5jbHVkZSBsaXN0LW1peGlucy5pdGVtLW1ldGEtaW5rLWNvbG9yKHZhcmlhYmxlcy4kaW5rLWNvbG9yLCAkcXVlcnkpO1xuICAgIEBpbmNsdWRlIGxpc3QtbWl4aW5zLml0ZW0tZ3JhcGhpYy1pbmstY29sb3IodmFyaWFibGVzLiRpbmstY29sb3IsICRxdWVyeSk7XG5cbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIG1pbi13aWR0aDogdmFyaWFibGVzLiRtaW4td2lkdGg7XG4gICAgfVxuXG4gICAgLy8gSW5jbHVkZSBtZGMtbGlzdCBzZWxlY3RvciB0byBlbnN1cmUgbGlzdC1pbnNpZGUtbWVudSBvdmVycmlkZXMgZGVmYXVsdCBsaXN0IHN0eWxlc1xuICAgIC5tZGMtbGlzdCB7XG4gICAgICBAaW5jbHVkZSBsaXN0LW1peGlucy5pdGVtLXByaW1hcnktdGV4dC1pbmstY29sb3IodmFyaWFibGVzLiRpbmstY29sb3IsICRxdWVyeSk7XG4gICAgICBAaW5jbHVkZSBlbGV2YXRpb24tbWl4aW5zLm92ZXJsYXktc3VyZmFjZS1wb3NpdGlvbigkcXVlcnk6ICRxdWVyeSk7XG4gICAgICBAaW5jbHVkZSBlbGV2YXRpb24tbWl4aW5zLm92ZXJsYXktZGltZW5zaW9ucygxMDAlLCAkcXVlcnk6ICRxdWVyeSk7XG4gICAgfVxuXG4gICAgLm1kYy1saXN0LWRpdmlkZXIge1xuICAgICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICAgIG1hcmdpbjogOHB4IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm1kYy1saXN0LWl0ZW0ge1xuICAgICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5tZGMtbGlzdC1pdGVtLS1kaXNhYmxlZCB7XG4gICAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgICAgY3Vyc29yOiBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vc3R5bGVsaW50LWRpc2FibGUgc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlXG4gICAgYS5tZGMtbGlzdC1pdGVtIC5tZGMtbGlzdC1pdGVtX190ZXh0LFxuICAgIGEubWRjLWxpc3QtaXRlbSAubWRjLWxpc3QtaXRlbV9fZ3JhcGhpYyB7XG4gICAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICAgIC8vIHN0eWxlbGludC1lbmFibGUgc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlXG4gIH1cblxuICAvLyBwb3N0Y3NzLWJlbS1saW50ZXI6IGRlZmluZSBtZW51XG4gIC5tZGMtbWVudV9fc2VsZWN0aW9uLWdyb3VwIHtcbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBmaWxsOiBjdXJyZW50Q29sb3I7XG4gICAgfVxuXG4gICAgLm1kYy1saXN0LWl0ZW0ge1xuICAgICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICAgIEBpbmNsdWRlIHJ0bC1taXhpbnMucmVmbGV4aXZlLXByb3BlcnR5KHBhZGRpbmcsIDU2cHgsIGxpc3QtdmFyaWFibGVzLiRzaWRlLXBhZGRpbmcpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEV4dHJhIHNwZWNpZmljaXR5IHJlcXVpcmVkIHRvIG92ZXJyaWRlIGBkaXNwbGF5YCBwcm9wZXJ0eSBvbiBgbWRjLWxpc3QtaXRlbV9fZ3JhcGhpY2AuXG4gICAgLm1kYy1tZW51X19zZWxlY3Rpb24tZ3JvdXAtaWNvbiB7XG4gICAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgICAgQGluY2x1ZGUgcnRsLW1peGlucy5yZWZsZXhpdmUtcG9zaXRpb24obGVmdCwgMTZweCk7XG5cbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAvLyBJRTExIHJlcXVpcmVzIHRoZSBpY29uIHRvIGJlIHZlcnRpY2FsbHkgY2VudGVyZWQgZHVlIHRvIGl0cyBhYnNvbHV0ZSBwb3NpdGlvbmluZ1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAvLyBwb3N0Y3NzLWJlbS1saW50ZXI6IGVuZFxuXG4gIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBwbHVnaW4vc2VsZWN0b3ItYmVtLXBhdHRlcm5cbiAgLm1kYy1tZW51LWl0ZW0tLXNlbGVjdGVkIC5tZGMtbWVudV9fc2VsZWN0aW9uLWdyb3VwLWljb24ge1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gd2lkdGgoJHdpZHRoLCAkcXVlcnk6IGZ1bmN0aW9ucy5hbGwoKSkge1xuICAkZmVhdC1zdHJ1Y3R1cmU6IGZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgY29sb3IpO1xuXG4gIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgIEBpZiBtYXRoLmlzLXVuaXRsZXNzKCR3aWR0aCkge1xuICAgICAgd2lkdGg6ICR3aWR0aCAqIHZhcmlhYmxlcy4kd2lkdGgtYmFzZTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIHdpZHRoOiAkd2lkdGg7XG4gICAgfVxuICB9XG59XG4iLCIvL1xuLy8gQ29weXJpZ2h0IDIwMTggR29vZ2xlIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuLy9cblxuQHVzZSBcIkBtYXRlcmlhbC90aGVtZS9taXhpbnNcIjtcbkB1c2UgXCJAbWF0ZXJpYWwvdGhlbWUvdmFyaWFibGVzXCI7XG5cbiRpbmstY29sb3I6IHJnYmEodmFyaWFibGVzLnByb3AtdmFsdWUob24tc3VyZmFjZSksIHZhcmlhYmxlcy50ZXh0LWVtcGhhc2lzKGhpZ2gpKSAhZGVmYXVsdDtcblxuJHdpZHRoLWJhc2U6IDU2cHggIWRlZmF1bHQ7XG4kbWluLXdpZHRoOiAyICogJHdpZHRoLWJhc2UgIWRlZmF1bHQ7XG4iLCIvL1xuLy8gQ29weXJpZ2h0IDIwMTggR29vZ2xlIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuLy9cblxuQHVzZSBcIkBtYXRlcmlhbC9mZWF0dXJlLXRhcmdldGluZy9mdW5jdGlvbnNcIjtcbkB1c2UgXCJAbWF0ZXJpYWwvZmVhdHVyZS10YXJnZXRpbmcvbWl4aW5zXCIgYXMgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zO1xuQHVzZSBcIkBtYXRlcmlhbC90aGVtZS9taXhpbnNcIiBhcyB0aGVtZS1taXhpbnM7XG5AdXNlIFwiQG1hdGVyaWFsL3NoYXBlL21peGluc1wiIGFzIHNoYXBlLW1peGlucztcbkB1c2UgXCJAbWF0ZXJpYWwvYW5pbWF0aW9uL3ZhcmlhYmxlc1wiIGFzIGFuaW1hdGlvbi12YXJpYWJsZXM7XG5AdXNlIFwiQG1hdGVyaWFsL2VsZXZhdGlvbi9taXhpbnNcIiBhcyBlbGV2YXRpb24tbWl4aW5zO1xuQHVzZSBcIkBtYXRlcmlhbC9ydGwvbWl4aW5zXCIgYXMgcnRsLW1peGlucztcbkB1c2UgXCIuL3ZhcmlhYmxlc1wiO1xuXG4vL1xuLy8gUHVibGljXG4vL1xuXG5AbWl4aW4gY29yZS1zdHlsZXMoJHF1ZXJ5OiBmdW5jdGlvbnMuYWxsKCkpIHtcbiAgJGZlYXQtc3RydWN0dXJlOiBmdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG5cbiAgLy8gcG9zdGNzcy1iZW0tbGludGVyOiBkZWZpbmUgbWVudS1zdXJmYWNlXG4gIC5tZGMtbWVudS1zdXJmYWNlIHtcbiAgICBAaW5jbHVkZSBiYXNlXygkcXVlcnkpO1xuICAgIEBpbmNsdWRlIGVsZXZhdGlvbi1taXhpbnMuZWxldmF0aW9uKCR6LXZhbHVlOiA4LCAkcXVlcnk6ICRxdWVyeSk7XG4gICAgQGluY2x1ZGUgZmlsbC1jb2xvcihzdXJmYWNlLCAkcXVlcnkpO1xuICAgIEBpbmNsdWRlIGluay1jb2xvcihvbi1zdXJmYWNlLCAkcXVlcnkpO1xuICAgIEBpbmNsdWRlIHNoYXBlLXJhZGl1cyhtZWRpdW0sIGZhbHNlLCAkcXVlcnkpO1xuXG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICBAaW5jbHVkZSBydGwtbWl4aW5zLnJlZmxleGl2ZS1wcm9wZXJ0eSh0cmFuc2Zvcm0tb3JpZ2luLCB0b3AgbGVmdCwgdG9wIHJpZ2h0KTtcbiAgICB9XG4gIH1cblxuICAubWRjLW1lbnUtc3VyZmFjZS0tYW5jaG9yIHtcbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIH1cbiAgfVxuXG4gIC5tZGMtbWVudS1zdXJmYWNlLS1maXhlZCB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgfVxuICB9XG4gIC8vIHBvc3Rjc3MtYmVtLWxpbnRlcjogZW5kXG59XG5cbkBtaXhpbiBpbmstY29sb3IoJGNvbG9yLCAkcXVlcnk6IGZ1bmN0aW9ucy5hbGwoKSkge1xuICAkZmVhdC1jb2xvcjogZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBjb2xvcik7XG5cbiAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtY29sb3IpIHtcbiAgICBAaW5jbHVkZSB0aGVtZS1taXhpbnMucHJvcChjb2xvciwgJGNvbG9yKTtcbiAgfVxufVxuXG5AbWl4aW4gZmlsbC1jb2xvcigkY29sb3IsICRxdWVyeTogZnVuY3Rpb25zLmFsbCgpKSB7XG4gICRmZWF0LWNvbG9yOiBmdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIGNvbG9yKTtcblxuICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1jb2xvcikge1xuICAgIEBpbmNsdWRlIHRoZW1lLW1peGlucy5wcm9wKGJhY2tncm91bmQtY29sb3IsICRjb2xvcik7XG4gIH1cbn1cblxuQG1peGluIHNoYXBlLXJhZGl1cygkcmFkaXVzLCAkcnRsLXJlZmxleGl2ZTogZmFsc2UsICRxdWVyeTogZnVuY3Rpb25zLmFsbCgpKSB7XG4gIEBpbmNsdWRlIHNoYXBlLW1peGlucy5yYWRpdXMoJHJhZGl1cywgJHJ0bC1yZWZsZXhpdmUsICRxdWVyeTogJHF1ZXJ5KTtcbn1cblxuLy8gVXNlZCBieSBmaWxsZWQgdmFyaWFudHMgb2YgR00gY29tcG9uZW50cyB0byBjb25kaXRpb25hbGx5IGZsYXR0ZW4gdGhlIHRvcFxuLy8gY29ybmVycyBvZiB0aGUgbWVudS5cbkBtaXhpbiBmbGF0dGVuLXRvcC13aGVuLW9wZW5lZC1iZWxvdyB7XG4gIC5tZGMtbWVudS1zdXJmYWNlLS1pcy1vcGVuLWJlbG93IHtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwcHg7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDBweDtcbiAgfVxufVxuXG4vL1xuLy8gUHJpdmF0ZVxuLy9cblxuQG1peGluIGJhc2VfKCRxdWVyeTogZnVuY3Rpb25zLmFsbCgpKSB7XG4gICRmZWF0LXN0cnVjdHVyZTogZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBzdHJ1Y3R1cmUpO1xuICAkZmVhdC1hbmltYXRpb246IGZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgYW5pbWF0aW9uKTtcblxuICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIG1heC13aWR0aDogY2FsYygxMDB2dyAtICN7dmFyaWFibGVzLiRtaW4tZGlzdGFuY2UtZnJvbS1lZGdlfSk7XG4gICAgbWF4LWhlaWdodDogY2FsYygxMDB2aCAtICN7dmFyaWFibGVzLiRtaW4tZGlzdGFuY2UtZnJvbS1lZGdlfSk7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgei1pbmRleDogdmFyaWFibGVzLiR6LWluZGV4O1xuICB9XG5cbiAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtYW5pbWF0aW9uKSB7XG4gICAgdHJhbnNpdGlvbjpcbiAgICAgIG9wYWNpdHkgdmFyaWFibGVzLiRmYWRlLWluLWR1cmF0aW9uIGxpbmVhcixcbiAgICAgIHRyYW5zZm9ybSB2YXJpYWJsZXMuJHNjYWxlLWR1cmF0aW9uIGFuaW1hdGlvbi12YXJpYWJsZXMuJGRlY2VsZXJhdGlvbi1jdXJ2ZS10aW1pbmctZnVuY3Rpb247XG4gIH1cblxuICAmOmZvY3VzIHtcbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNlbGVjdG9yLW1heC10eXBlXG4gICYtLW9wZW4ge1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuICB9XG5cbiAgJi0tYW5pbWF0aW5nLW9wZW4ge1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSguOCk7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgIH1cbiAgfVxuXG4gICYtLWFuaW1hdGluZy1jbG9zZWQge1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1hbmltYXRpb24pIHtcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgdmFyaWFibGVzLiRmYWRlLW91dC1kdXJhdGlvbiBsaW5lYXI7XG4gICAgfVxuICB9XG59XG4iLCIvL1xuLy8gQ29weXJpZ2h0IDIwMTggR29vZ2xlIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuLy9cblxuJGZhZGUtaW4tZHVyYXRpb246IC4wM3MgIWRlZmF1bHQ7XG4kZmFkZS1vdXQtZHVyYXRpb246IC4wNzVzICFkZWZhdWx0O1xuJHNjYWxlLWR1cmF0aW9uOiAuMTJzICFkZWZhdWx0O1xuJG1pbi1kaXN0YW5jZS1mcm9tLWVkZ2U6IDMycHggIWRlZmF1bHQ7XG4kei1pbmRleDogOCAhZGVmYXVsdDsgLy8gT25lIGFib3ZlIG1kYy1kaWFsb2dcbiIsIi8vXG4vLyBDb3B5cmlnaHQgMjAxNiBHb29nbGUgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG4vL1xuXG5AdXNlIFwic2FzczptYXBcIjtcbkB1c2UgXCJAbWF0ZXJpYWwvYW5pbWF0aW9uL2Z1bmN0aW9uc1wiIGFzIGZ1bmN0aW9uczI7XG5AdXNlIFwiQG1hdGVyaWFsL2RlbnNpdHkvZnVuY3Rpb25zXCIgYXMgZGVuc2l0eS1mdW5jdGlvbnM7XG5AdXNlIFwiQG1hdGVyaWFsL2ZlYXR1cmUtdGFyZ2V0aW5nL2Z1bmN0aW9uc1wiIGFzIGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucztcbkB1c2UgXCJAbWF0ZXJpYWwvZmVhdHVyZS10YXJnZXRpbmcvbWl4aW5zXCIgYXMgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zO1xuQHVzZSBcIkBtYXRlcmlhbC9yaXBwbGUvbWl4aW5zXCIgYXMgcmlwcGxlLW1peGlucztcbkB1c2UgXCJAbWF0ZXJpYWwvcmlwcGxlL3ZhcmlhYmxlc1wiIGFzIHJpcHBsZS12YXJpYWJsZXM7XG5AdXNlIFwiQG1hdGVyaWFsL3RoZW1lL21peGluc1wiIGFzIHRoZW1lLW1peGlucztcbkB1c2UgXCJAbWF0ZXJpYWwvdGhlbWUvdmFyaWFibGVzXCIgYXMgdmFyaWFibGVzMjtcbkB1c2UgXCJAbWF0ZXJpYWwvdG91Y2gtdGFyZ2V0L21peGluc1wiIGFzIHRvdWNoLXRhcmdldC1taXhpbnM7XG5AdXNlIFwiQG1hdGVyaWFsL3RvdWNoLXRhcmdldC92YXJpYWJsZXNcIiBhcyB0b3VjaC10YXJnZXQtdmFyaWFibGVzO1xuQHVzZSBcIi4vZnVuY3Rpb25zXCI7XG5AdXNlIFwiLi92YXJpYWJsZXNcIjtcblxuJHJpcHBsZS10YXJnZXQ6IFwiLm1kYy1yYWRpb19fcmlwcGxlXCI7XG5cbi8vL1xuLy8vIFJhZGlvIGNvcmUgc3R5bGVzLlxuLy8vXG5AbWl4aW4gY29yZS1zdHlsZXMoJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgQGluY2x1ZGUgd2l0aG91dC1yaXBwbGUoJHF1ZXJ5KTtcbiAgQGluY2x1ZGUgcmlwcGxlKCRxdWVyeSk7XG59XG5cbi8vIFRoaXMgQVBJIGlzIGludGVuZGVkIGZvciB1c2UgYnkgZnJhbWV3b3JrcyB0aGF0IG1heSB3YW50IHRvIHNlcGFyYXRlIHRoZSByaXBwbGUtcmVsYXRlZCBzdHlsZXMgZnJvbSB0aGUgb3RoZXJcbi8vIHJhZGlvIHN0eWxlcy4gSXQgaXMgcmVjb21tZW5kZWQgdGhhdCBtb3N0IHVzZXJzIHVzZSBgbWRjLXJhZGlvLWNvcmUtc3R5bGVzYCBpbnN0ZWFkLlxuQG1peGluIHdpdGhvdXQtcmlwcGxlKCRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gIC8vIHBvc3Rjc3MtYmVtLWxpbnRlcjogZGVmaW5lIHJhZGlvXG5cbiAgJGZlYXQtYW5pbWF0aW9uOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIGFuaW1hdGlvbik7XG4gICRmZWF0LWNvbG9yOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIGNvbG9yKTtcbiAgJGZlYXQtc3RydWN0dXJlOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG5cbiAgQGluY2x1ZGUgdG91Y2gtdGFyZ2V0LW1peGlucy53cmFwcGVyKCRxdWVyeSk7IC8vIENPUFlCQVJBX0NPTU1FTlRfVEhJU19MSU5FXG5cbiAgLm1kYy1yYWRpbyB7XG4gICAgQGluY2x1ZGUgdW5jaGVja2VkLXN0cm9rZS1jb2xvcih2YXJpYWJsZXMuJHVuY2hlY2tlZC1jb2xvciwgJHF1ZXJ5OiAkcXVlcnkpO1xuICAgIEBpbmNsdWRlIGNoZWNrZWQtc3Ryb2tlLWNvbG9yKHZhcmlhYmxlcy4kYmFzZWxpbmUtdGhlbWUtY29sb3IsICRxdWVyeTogJHF1ZXJ5KTtcbiAgICBAaW5jbHVkZSBpbmstY29sb3IodmFyaWFibGVzLiRiYXNlbGluZS10aGVtZS1jb2xvciwgJHF1ZXJ5OiAkcXVlcnkpO1xuICAgIEBpbmNsdWRlIGRpc2FibGVkLXVuY2hlY2tlZC1zdHJva2UtY29sb3IodmFyaWFibGVzLiRkaXNhYmxlZC1jaXJjbGUtY29sb3IsICRxdWVyeTogJHF1ZXJ5KTtcbiAgICBAaW5jbHVkZSBkaXNhYmxlZC1jaGVja2VkLXN0cm9rZS1jb2xvcih2YXJpYWJsZXMuJGRpc2FibGVkLWNpcmNsZS1jb2xvciwgJHF1ZXJ5OiAkcXVlcnkpO1xuICAgIEBpbmNsdWRlIGRpc2FibGVkLWluay1jb2xvcih2YXJpYWJsZXMuJGRpc2FibGVkLWNpcmNsZS1jb2xvciwgJHF1ZXJ5OiAkcXVlcnkpO1xuICAgIEBpbmNsdWRlIGZvY3VzLWluZGljYXRvci1jb2xvcih2YXJpYWJsZXMuJGJhc2VsaW5lLXRoZW1lLWNvbG9yLCAkcXVlcnk6ICRxdWVyeSk7XG4gICAgQGluY2x1ZGUgZGVuc2l0eSh2YXJpYWJsZXMuJGRlbnNpdHktc2NhbGUsICRxdWVyeTogJHF1ZXJ5KTtcblxuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICAgIHdpZHRoOiB2YXJpYWJsZXMuJGljb24tc2l6ZTtcbiAgICAgIGhlaWdodDogdmFyaWFibGVzLiRpY29uLXNpemU7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAvKiBAYWx0ZXJuYXRlICovXG4gICAgICB3aWxsLWNoYW5nZTogb3BhY2l0eSwgdHJhbnNmb3JtLCBib3JkZXItY29sb3IsIGNvbG9yO1xuICAgIH1cblxuICAgIC8vIENvbnRhaW5lciBmb3IgcmFkaW8gY2lyY2xlcyBhbmQgcmlwcGxlLlxuICAgICZfX2JhY2tncm91bmQge1xuICAgICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICB3aWR0aDogdmFyaWFibGVzLiRpY29uLXNpemU7XG4gICAgICAgIGhlaWdodDogdmFyaWFibGVzLiRpY29uLXNpemU7XG4gICAgICB9XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDAsIDApO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1hbmltYXRpb24pIHtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBmdW5jdGlvbnMuZXhpdChvcGFjaXR5KSwgZnVuY3Rpb25zLmV4aXQodHJhbnNmb3JtKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICZfX291dGVyLWNpcmNsZSB7XG4gICAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGJvcmRlci13aWR0aDogMnB4O1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LWFuaW1hdGlvbikge1xuICAgICAgICB0cmFuc2l0aW9uOiBmdW5jdGlvbnMuZXhpdChib3JkZXItY29sb3IpO1xuICAgICAgfVxuICAgIH1cblxuICAgICZfX2lubmVyLWNpcmNsZSB7XG4gICAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMCwgMCk7XG4gICAgICAgIGJvcmRlci13aWR0aDogMTBweDtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1hbmltYXRpb24pIHtcbiAgICAgICAgdHJhbnNpdGlvbjpcbiAgICAgICAgICBmdW5jdGlvbnMuZXhpdCh0cmFuc2Zvcm0pLFxuICAgICAgICAgIGZ1bmN0aW9ucy5leGl0KGJvcmRlci1jb2xvcik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJl9fbmF0aXZlLWNvbnRyb2wge1xuICAgICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICBjdXJzb3I6IGluaGVyaXQ7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi0tdG91Y2gge1xuICAgICAgQGluY2x1ZGUgdG91Y2gtdGFyZ2V0LW1peGlucy5tYXJnaW4oXG4gICAgICAgICRjb21wb25lbnQtaGVpZ2h0OiB2YXJpYWJsZXMuJHJpcHBsZS1zaXplLFxuICAgICAgICAkY29tcG9uZW50LXdpZHRoOiB2YXJpYWJsZXMuJHJpcHBsZS1zaXplLFxuICAgICAgICAkcXVlcnk6ICRxdWVyeSk7XG4gICAgICBAaW5jbHVkZSB0b3VjaC10YXJnZXQoJHNpemU6IHRvdWNoLXRhcmdldC12YXJpYWJsZXMuJGhlaWdodCwgJHF1ZXJ5OiAkcXVlcnkpO1xuICAgIH1cbiAgfVxuXG4gIC5tZGMtcmFkaW9fX25hdGl2ZS1jb250cm9sOmNoZWNrZWQsXG4gIC5tZGMtcmFkaW9fX25hdGl2ZS1jb250cm9sOmRpc2FibGVkIHtcbiAgICArIC5tZGMtcmFkaW9fX2JhY2tncm91bmQge1xuICAgICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtYW5pbWF0aW9uKSB7XG4gICAgICAgIHRyYW5zaXRpb246XG4gICAgICAgICAgZnVuY3Rpb25zLmVudGVyKG9wYWNpdHkpLFxuICAgICAgICAgIGZ1bmN0aW9ucy5lbnRlcih0cmFuc2Zvcm0pO1xuICAgICAgfVxuXG4gICAgICAubWRjLXJhZGlvX19vdXRlci1jaXJjbGUge1xuICAgICAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1hbmltYXRpb24pIHtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBmdW5jdGlvbnMuZW50ZXIoYm9yZGVyLWNvbG9yKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAubWRjLXJhZGlvX19pbm5lci1jaXJjbGUge1xuICAgICAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1hbmltYXRpb24pIHtcbiAgICAgICAgICB0cmFuc2l0aW9uOlxuICAgICAgICAgICAgZnVuY3Rpb25zLmVudGVyKHRyYW5zZm9ybSksXG4gICAgICAgICAgICBmdW5jdGlvbnMuZW50ZXIoYm9yZGVyLWNvbG9yKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5tZGMtcmFkaW8tLWRpc2FibGVkIHtcbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC5tZGMtcmFkaW9fX25hdGl2ZS1jb250cm9sOmNoZWNrZWQge1xuICAgICsgLm1kYy1yYWRpb19fYmFja2dyb3VuZCB7XG4gICAgICAubWRjLXJhZGlvX19pbm5lci1jaXJjbGUge1xuICAgICAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKC41KTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LWFuaW1hdGlvbikge1xuICAgICAgICAgIHRyYW5zaXRpb246XG4gICAgICAgICAgICBmdW5jdGlvbnMuZW50ZXIodHJhbnNmb3JtKSxcbiAgICAgICAgICAgIGZ1bmN0aW9ucy5lbnRlcihib3JkZXItY29sb3IpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm1kYy1yYWRpb19fbmF0aXZlLWNvbnRyb2w6ZGlzYWJsZWQsXG4gIFthcmlhLWRpc2FibGVkPVwidHJ1ZVwiXSAubWRjLXJhZGlvX19uYXRpdmUtY29udHJvbCB7XG4gICAgKyAubWRjLXJhZGlvX19iYWNrZ3JvdW5kIHtcbiAgICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm1kYy1yYWRpb19fbmF0aXZlLWNvbnRyb2w6Zm9jdXMge1xuICAgICsgLm1kYy1yYWRpb19fYmFja2dyb3VuZDo6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgICAgICBvcGFjaXR5OiBtYXAuZ2V0KHJpcHBsZS12YXJpYWJsZXMuJGRhcmstaW5rLW9wYWNpdGllcywgZm9jdXMpO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1hbmltYXRpb24pIHtcbiAgICAgICAgdHJhbnNpdGlvbjpcbiAgICAgICAgICBmdW5jdGlvbnMuZW50ZXIob3BhY2l0eSksXG4gICAgICAgICAgZnVuY3Rpb25zLmVudGVyKHRyYW5zZm9ybSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gcG9zdGNzcy1iZW0tbGludGVyOiBlbmRcbn1cblxuLy8gVGhpcyBBUEkgaXMgaW50ZW5kZWQgZm9yIHVzZSBieSBmcmFtZXdvcmtzIHRoYXQgbWF5IHdhbnQgdG8gc2VwYXJhdGUgdGhlIHJpcHBsZS1yZWxhdGVkIHN0eWxlcyBmcm9tIHRoZSBvdGhlclxuLy8gcmFkaW8gc3R5bGVzLiBJdCBpcyByZWNvbW1lbmRlZCB0aGF0IG1vc3QgdXNlcnMgdXNlIGBtZGMtcmFkaW8tY29yZS1zdHlsZXNgIGluc3RlYWQuXG5AbWl4aW4gcmlwcGxlKCRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gICRmZWF0LXN0cnVjdHVyZTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBzdHJ1Y3R1cmUpO1xuXG4gIEBpbmNsdWRlIHJpcHBsZS1taXhpbnMuY29tbW9uKCRxdWVyeSk7IC8vIENPUFlCQVJBX0NPTU1FTlRfVEhJU19MSU5FXG5cbiAgLm1kYy1yYWRpbyB7XG4gICAgQGluY2x1ZGUgcmlwcGxlLW1peGlucy5zdXJmYWNlKCRxdWVyeTogJHF1ZXJ5LCAkcmlwcGxlLXRhcmdldDogJHJpcHBsZS10YXJnZXQpO1xuICAgIEBpbmNsdWRlIHJpcHBsZS1taXhpbnMucmFkaXVzLXVuYm91bmRlZCgkcXVlcnk6ICRxdWVyeSwgJHJpcHBsZS10YXJnZXQ6ICRyaXBwbGUtdGFyZ2V0KTtcbiAgICBAaW5jbHVkZSByaXBwbGUtbWl4aW5zLnN0YXRlcyhcbiAgICAgICRjb2xvcjogdmFyaWFibGVzLiRiYXNlbGluZS10aGVtZS1jb2xvciwgJHF1ZXJ5OiAkcXVlcnksICRyaXBwbGUtdGFyZ2V0OiAkcmlwcGxlLXRhcmdldCk7XG5cbiAgICAmLm1kYy1yaXBwbGUtdXBncmFkZWQtLWJhY2tncm91bmQtZm9jdXNlZCB7XG4gICAgICAubWRjLXJhZGlvX19iYWNrZ3JvdW5kOjpiZWZvcmUge1xuICAgICAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgICAgICBjb250ZW50OiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgI3skcmlwcGxlLXRhcmdldH0ge1xuICAgIEBpbmNsdWRlIHJpcHBsZS1taXhpbnMudGFyZ2V0LWNvbW1vbigkcXVlcnk6ICRxdWVyeSk7XG4gIH1cbn1cblxuLy8vXG4vLy8gU2V0cyB0aGUgc3Ryb2tlIGNvbG9yIG9mIGFuIHVuY2hlY2tlZCwgZW5hYmxlZCByYWRpbyBidXR0b24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gVGhlIGRlc2lyZWQgc3Ryb2tlIGNvbG9yLlxuLy8vXG5AbWl4aW4gdW5jaGVja2VkLXN0cm9rZS1jb2xvcigkY29sb3IsICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gIEBpbmNsdWRlIGlmLWVuYWJsZWQtdW5jaGVja2VkXyB7XG4gICAgQGluY2x1ZGUgc3Ryb2tlLWNvbG9yXygkY29sb3IsICRxdWVyeTogJHF1ZXJ5KTtcbiAgfVxufVxuXG4vLy9cbi8vLyBTZXRzIHRoZSBzdHJva2UgY29sb3Igb2YgYSBjaGVja2VkLCBlbmFibGVkIHJhZGlvIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBUaGUgZGVzaXJlZCBzdHJva2UgY29sb3IuXG4vLy9cbkBtaXhpbiBjaGVja2VkLXN0cm9rZS1jb2xvcigkY29sb3IsICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gIEBpbmNsdWRlIGlmLWVuYWJsZWQtY2hlY2tlZF8ge1xuICAgIEBpbmNsdWRlIHN0cm9rZS1jb2xvcl8oJGNvbG9yLCAkcXVlcnk6JHF1ZXJ5KTtcbiAgfVxufVxuXG4vLy9cbi8vLyBTZXRzIHRoZSBpbmsgY29sb3Igb2YgYW4gZW5hYmxlZCByYWRpbyBidXR0b24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gVGhlIGRlc2lyZWQgaW5rIGNvbG9yLlxuLy8vXG5AbWl4aW4gaW5rLWNvbG9yKCRjb2xvciwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgQGluY2x1ZGUgaWYtZW5hYmxlZF8ge1xuICAgIEBpbmNsdWRlIGluay1jb2xvcl8oJGNvbG9yLCAkcXVlcnk6ICRxdWVyeSk7XG4gIH1cbn1cblxuLy8vXG4vLy8gU2V0cyB0aGUgc3Ryb2tlIGNvbG9yIG9mIGFuIHVuY2hlY2tlZCwgZGlzYWJsZWQgcmFkaW8gYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIFRoZSBkZXNpcmVkIHN0cm9rZSBjb2xvci5cbi8vL1xuQG1peGluIGRpc2FibGVkLXVuY2hlY2tlZC1zdHJva2UtY29sb3IoJGNvbG9yLCAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICBAaW5jbHVkZSBpZi1kaXNhYmxlZC11bmNoZWNrZWRfIHtcbiAgICBAaW5jbHVkZSBzdHJva2UtY29sb3JfKCRjb2xvciwgJHF1ZXJ5OiAkcXVlcnkpO1xuICB9XG59XG5cbi8vL1xuLy8vIFNldHMgdGhlIHN0cm9rZSBjb2xvciBvZiBhIGNoZWNrZWQsIGRpc2FibGVkIHJhZGlvIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBUaGUgZGVzaXJlZCBzdHJva2UgY29sb3IuXG4vLy9cbkBtaXhpbiBkaXNhYmxlZC1jaGVja2VkLXN0cm9rZS1jb2xvcigkY29sb3IsICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gIEBpbmNsdWRlIGlmLWRpc2FibGVkLWNoZWNrZWRfIHtcbiAgICBAaW5jbHVkZSBzdHJva2UtY29sb3JfKCRjb2xvciwgJHF1ZXJ5OiAkcXVlcnkpO1xuICB9XG59XG5cbi8vL1xuLy8vIFNldHMgdGhlIGluayBjb2xvciBvZiBhIGRpc2FibGVkIHJhZGlvIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBUaGUgZGVzaXJlZCBpbmsgY29sb3Jcbi8vL1xuQG1peGluIGRpc2FibGVkLWluay1jb2xvcigkY29sb3IsICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gIEBpbmNsdWRlIGlmLWRpc2FibGVkXyB7XG4gICAgQGluY2x1ZGUgaW5rLWNvbG9yXygkY29sb3IsICRxdWVyeTogJHF1ZXJ5KTtcbiAgfVxufVxuXG5AbWl4aW4gZm9jdXMtaW5kaWNhdG9yLWNvbG9yKCRjb2xvciwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJGZlYXQtY29sb3I6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgY29sb3IpO1xuXG4gIC5tZGMtcmFkaW9fX2JhY2tncm91bmQ6OmJlZm9yZSB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtY29sb3IpIHtcbiAgICAgIEBpbmNsdWRlIHRoZW1lLW1peGlucy5wcm9wKGJhY2tncm91bmQtY29sb3IsICRjb2xvcik7XG4gICAgfVxuICB9XG59XG5cbi8vL1xuLy8vIFNldHMgcmFkaW8gdG91Y2ggdGFyZ2V0IHNpemUgd2hpY2ggY2FuIGJlIG1vcmUgdGhhbiB0aGUgcmlwcGxlIHNpemUuIFBhcmFtIGAkcmlwcGxlLXNpemVgIGlzIHJlcXVpcmVkIGZvciBjdXN0b21cbi8vLyByaXBwbGUgc2l6ZS5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc2l6ZSBTaXplIG9mIHRvdWNoIHRhcmdldCAoTmF0aXZlIGlucHV0KSBpbiBgcHhgLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcmlwcGxlLXNpemUgU2l6ZSBvZiByaXBwbGUgaW4gYHB4YC4gUmVxdWlyZWQgb25seSBmb3IgY3VzdG9tIHJpcHBsZSBzaXplLlxuLy8vXG5AbWl4aW4gdG91Y2gtdGFyZ2V0KFxuICAkc2l6ZTogdmFyaWFibGVzLiRyaXBwbGUtc2l6ZSxcbiAgJHJpcHBsZS1zaXplOiB2YXJpYWJsZXMuJHJpcHBsZS1zaXplLFxuICAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAkZmVhdC1zdHJ1Y3R1cmU6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcbiAgJG9mZnNldDogKCRyaXBwbGUtc2l6ZSAtICRzaXplKSAvIDI7XG5cbiAgLm1kYy1yYWRpb19fbmF0aXZlLWNvbnRyb2wge1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgdG9wOiAkb2Zmc2V0O1xuICAgICAgcmlnaHQ6ICRvZmZzZXQ7XG4gICAgICBsZWZ0OiAkb2Zmc2V0O1xuICAgICAgd2lkdGg6ICRzaXplO1xuICAgICAgaGVpZ2h0OiAkc2l6ZTtcbiAgICB9XG4gIH1cbn1cblxuLy8vXG4vLy8gU2V0cyBkZW5zaXR5IHNjYWxlIGZvciByYWRpby5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyIHwgU3RyaW5nfSAkZGVuc2l0eS1zY2FsZSAtIERlbnNpdHkgc2NhbGUgdmFsdWUgZm9yIGNvbXBvbmVudC4gU3VwcG9ydGVkIGRlbnNpdHkgc2NhbGUgdmFsdWVzXG4vLy8gICAgIGAtM2AsIGAtMmAsIGAtMWAsIGAwYC5cbi8vL1xuQG1peGluIGRlbnNpdHkoJGRlbnNpdHktc2NhbGUsICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gICRzaXplOiBkZW5zaXR5LWZ1bmN0aW9ucy5wcm9wLXZhbHVlKFxuICAgICRkZW5zaXR5LWNvbmZpZzogdmFyaWFibGVzLiRkZW5zaXR5LWNvbmZpZyxcbiAgICAkZGVuc2l0eS1zY2FsZTogJGRlbnNpdHktc2NhbGUsXG4gICAgJHByb3BlcnR5LW5hbWU6IHNpemUsXG4gICk7XG5cbiAgQGluY2x1ZGUgcmlwcGxlLXNpemUoJHNpemUsICRxdWVyeTogJHF1ZXJ5KTtcbiAgLy8gU2V0cyB0b3VjaCB0YXJnZXQgc2l6ZSBzYW1lIGFzIHJpcHBsZSBzaXplLlxuICBAaW5jbHVkZSB0b3VjaC10YXJnZXQoJHNpemU6ICRzaXplLCAkcmlwcGxlLXNpemU6ICRzaXplLCAkcXVlcnk6ICRxdWVyeSk7XG5cbiAgQGlmICRkZW5zaXR5LXNjYWxlICE9IDAge1xuICAgIEBpbmNsdWRlIHRvdWNoLXRhcmdldC1yZXNldF8oJHF1ZXJ5OiAkcXVlcnkpO1xuICB9XG59XG5cbi8vL1xuLy8vIFNldHMgcmFkaW8gcmlwcGxlIHNpemUuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHNpemUgLSBSaXBwbGUgc2l6ZSBpbiBgcHhgLlxuLy8vXG5AbWl4aW4gcmlwcGxlLXNpemUoJHNpemUsICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gICRmZWF0LXN0cnVjdHVyZTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBzdHJ1Y3R1cmUpO1xuICAkcGFkZGluZzogKCRzaXplIC0gdmFyaWFibGVzLiRpY29uLXNpemUpIC8gMjtcblxuICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICBwYWRkaW5nOiAkcGFkZGluZztcbiAgfVxuXG4gIC5tZGMtcmFkaW9fX2JhY2tncm91bmQ6OmJlZm9yZSB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICB0b3A6IC0kcGFkZGluZztcbiAgICAgIGxlZnQ6IC0kcGFkZGluZztcbiAgICAgIHdpZHRoOiAkc2l6ZTtcbiAgICAgIGhlaWdodDogJHNpemU7XG4gICAgfVxuICB9XG59XG5cbi8vL1xuLy8vIFJlc2V0cyB0b3VjaCB0YXJnZXQtcmVsYXRlZCBzdHlsZXMuIFRoaXMgaXMgY2FsbGVkIGZyb20gdGhlIGRlbnNpdHkgbWl4aW4gdG9cbi8vLyBhdXRvbWF0aWNhbGx5IHJlbW92ZSB0aGUgaW5jcmVhc2VkIHRvdWNoIHRhcmdldCwgc2luY2UgZGVuc2UgY29tcG9uZW50c1xuLy8vIGRvbid0IGhhdmUgdGhlIHNhbWUgZGVmYXVsdCBhMTF5IHJlcXVpcmVtZW50cy5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuQG1peGluIHRvdWNoLXRhcmdldC1yZXNldF8oJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJGZlYXQtc3RydWN0dXJlOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG5cbiAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG59XG5cbi8vL1xuLy8vIEhlbHBzIHNlbGVjdCB0aGUgcmFkaW8gYmFja2dyb3VuZCBvbmx5IHdoZW4gaXRzIG5hdGl2ZSBjb250cm9sIGlzIGluIHRoZVxuLy8vIGVuYWJsZWQgc3RhdGUuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbkBtaXhpbiBpZi1lbmFibGVkXyB7XG4gIC5tZGMtcmFkaW9fX25hdGl2ZS1jb250cm9sOmVuYWJsZWQgKyB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8vXG4vLy8gSGVscHMgc2VsZWN0IHRoZSByYWRpbyBiYWNrZ3JvdW5kIG9ubHkgd2hlbiBpdHMgbmF0aXZlIGNvbnRyb2wgaXMgaW4gdGhlXG4vLy8gZW5hYmxlZCAmIHVuY2hlY2tlZCBzdGF0ZS5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuQG1peGluIGlmLWVuYWJsZWQtdW5jaGVja2VkXyB7XG4gIC5tZGMtcmFkaW9fX25hdGl2ZS1jb250cm9sOmVuYWJsZWQ6bm90KDpjaGVja2VkKSArIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLy9cbi8vLyBIZWxwcyBzZWxlY3QgdGhlIHJhZGlvIGJhY2tncm91bmQgb25seSB3aGVuIGl0cyBuYXRpdmUgY29udHJvbCBpcyBpbiB0aGVcbi8vLyBlbmFibGVkICYgY2hlY2tlZCBzdGF0ZS5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuQG1peGluIGlmLWVuYWJsZWQtY2hlY2tlZF8ge1xuICAubWRjLXJhZGlvX19uYXRpdmUtY29udHJvbDplbmFibGVkOmNoZWNrZWQgKyB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8vXG4vLy8gSGVscHMgc2VsZWN0IHRoZSByYWRpbyBiYWNrZ3JvdW5kIG9ubHkgd2hlbiBpdHMgbmF0aXZlIGNvbnRyb2wgaXMgaW4gdGhlXG4vLy8gZGlzYWJsZWQgc3RhdGUuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbkBtaXhpbiBpZi1kaXNhYmxlZF8ge1xuICBbYXJpYS1kaXNhYmxlZD1cInRydWVcIl0gLm1kYy1yYWRpb19fbmF0aXZlLWNvbnRyb2wsXG4gIC5tZGMtcmFkaW9fX25hdGl2ZS1jb250cm9sOmRpc2FibGVkIHtcbiAgICArIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy9cbi8vLyBIZWxwcyBzZWxlY3QgdGhlIHJhZGlvIGJhY2tncm91bmQgb25seSB3aGVuIGl0cyBuYXRpdmUgY29udHJvbCBpcyBpbiB0aGVcbi8vLyBkaXNhYmxlZCAmIHVuY2hlY2tlZCBzdGF0ZS5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuQG1peGluIGlmLWRpc2FibGVkLXVuY2hlY2tlZF8ge1xuICBbYXJpYS1kaXNhYmxlZD1cInRydWVcIl0gLm1kYy1yYWRpb19fbmF0aXZlLWNvbnRyb2wsXG4gIC5tZGMtcmFkaW9fX25hdGl2ZS1jb250cm9sOmRpc2FibGVkIHtcbiAgICAmOm5vdCg6Y2hlY2tlZCkgKyB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vXG4vLy8gSGVscHMgc2VsZWN0IHRoZSByYWRpbyBiYWNrZ3JvdW5kIG9ubHkgd2hlbiBpdHMgbmF0aXZlIGNvbnRyb2wgaXMgaW4gdGhlXG4vLy8gZGlzYWJsZWQgJiBjaGVja2VkIHN0YXRlLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG5AbWl4aW4gaWYtZGlzYWJsZWQtY2hlY2tlZF8ge1xuICBbYXJpYS1kaXNhYmxlZD1cInRydWVcIl0gLm1kYy1yYWRpb19fbmF0aXZlLWNvbnRyb2wsXG4gIC5tZGMtcmFkaW9fX25hdGl2ZS1jb250cm9sOmRpc2FibGVkIHtcbiAgICAmOmNoZWNrZWQgKyB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vXG4vLy8gU2V0cyB0aGUgaW5rIGNvbG9yIGZvciByYWRpby4gVGhpcyBpcyB3cmFwcGVkIGluIGEgbWl4aW5cbi8vLyB0aGF0IHF1YWxpZmllcyBzdGF0ZSBzdWNoIGFzIGBtZGMtcmFkaW8taWYtZW5hYmxlZF9gXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbkBtaXhpbiBpbmstY29sb3JfKCRjb2xvciwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJGZlYXQtY29sb3I6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgY29sb3IpO1xuXG4gIC5tZGMtcmFkaW9fX2JhY2tncm91bmQgLm1kYy1yYWRpb19faW5uZXItY2lyY2xlIHtcbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1jb2xvcikge1xuICAgICAgQGluY2x1ZGUgdGhlbWUtbWl4aW5zLnByb3AoYm9yZGVyLWNvbG9yLCAkY29sb3IpO1xuICAgIH1cbiAgfVxufVxuXG4vLy9cbi8vLyBTZXRzIHRoZSBzdHJva2UgY29sb3IgZm9yIHJhZGlvLiBUaGlzIGlzIHdyYXBwZWQgaW4gYSBtaXhpblxuLy8vIHRoYXQgcXVhbGlmaWVzIHN0YXRlIHN1Y2ggYXMgYG1kYy1yYWRpby1pZi1lbmFibGVkX2Bcbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuQG1peGluIHN0cm9rZS1jb2xvcl8oJGNvbG9yLCAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAkZmVhdC1jb2xvcjogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBjb2xvcik7XG5cbiAgLm1kYy1yYWRpb19fYmFja2dyb3VuZCAubWRjLXJhZGlvX19vdXRlci1jaXJjbGUge1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LWNvbG9yKSB7XG4gICAgICBAaW5jbHVkZSB0aGVtZS1taXhpbnMucHJvcChib3JkZXItY29sb3IsICRjb2xvcik7XG4gICAgfVxuICB9XG59XG4iLCIvL1xuLy8gQ29weXJpZ2h0IDIwMTYgR29vZ2xlIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuLy9cblxuQHVzZSBcIkBtYXRlcmlhbC9kZW5zaXR5L3ZhcmlhYmxlc1wiIGFzIGRlbnNpdHktdmFyaWFibGVzO1xuQHVzZSBcIkBtYXRlcmlhbC90aGVtZS92YXJpYWJsZXNcIiBhcyB0aGVtZS12YXJpYWJsZXM7XG5cbiRyaXBwbGUtc2l6ZTogNDBweCAhZGVmYXVsdDtcbiRpY29uLXNpemU6IDIwcHggIWRlZmF1bHQ7XG4kdHJhbnNpdGlvbi1kdXJhdGlvbjogMTIwbXMgIWRlZmF1bHQ7XG4kcmlwcGxlLW9wYWNpdHk6IC4xNCAhZGVmYXVsdDtcbiRiYXNlbGluZS10aGVtZS1jb2xvcjogc2Vjb25kYXJ5ICFkZWZhdWx0O1xuJHVuY2hlY2tlZC1jb2xvcjogcmdiYSh0aGVtZS12YXJpYWJsZXMucHJvcC12YWx1ZShvbi1zdXJmYWNlKSwgLjU0KSAhZGVmYXVsdDtcbiRkaXNhYmxlZC1jaXJjbGUtY29sb3I6IHJnYmEodGhlbWUtdmFyaWFibGVzLnByb3AtdmFsdWUob24tc3VyZmFjZSksIC4zOCkgIWRlZmF1bHQ7XG5cbiRtaW5pbXVtLXNpemU6IDI4cHggIWRlZmF1bHQ7XG4kbWF4aW11bS1zaXplOiAkcmlwcGxlLXNpemUgIWRlZmF1bHQ7XG4kZGVuc2l0eS1zY2FsZTogZGVuc2l0eS12YXJpYWJsZXMuJGRlZmF1bHQtc2NhbGUgIWRlZmF1bHQ7XG4kZGVuc2l0eS1jb25maWc6IChcbiAgc2l6ZTogKFxuICAgIG1pbmltdW06ICRtaW5pbXVtLXNpemUsXG4gICAgZGVmYXVsdDogJHJpcHBsZS1zaXplLFxuICAgIG1heGltdW06ICRtYXhpbXVtLXNpemUsXG4gICksXG4pICFkZWZhdWx0O1xuIiwiLy8gIENvcHlyaWdodCAyMDE4IEdvb2dsZSBJbmMuXG4vL1xuLy8gIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vICBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyAgaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vICBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vICBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOi9cbi8vXG4vLyAgVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vICBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS4vXG4vL1xuLy8gIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vICBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vICBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vICBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyAgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vICBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyAgVEhFIFNPRlRXQVJFLlxuLy9cblxuQHVzZSBcIkBtYXRlcmlhbC9mZWF0dXJlLXRhcmdldGluZy9mdW5jdGlvbnNcIiBhcyBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnM7XG5AdXNlIFwiQG1hdGVyaWFsL2ZlYXR1cmUtdGFyZ2V0aW5nL21peGluc1wiIGFzIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucztcbkB1c2UgXCJAbWF0ZXJpYWwvdGhlbWUvbWl4aW5zXCIgYXMgdGhlbWUtbWl4aW5zO1xuQHVzZSBcIkBtYXRlcmlhbC90eXBvZ3JhcGh5L21peGluc1wiIGFzIHR5cG9ncmFwaHktbWl4aW5zO1xuQHVzZSBcIi4uL2Z1bmN0aW9uc1wiO1xuXG4vLyBQdWJsaWMgbWl4aW5zXG5cbkBtaXhpbiBoZWxwZXItdGV4dC1jb3JlLXN0eWxlcygkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAkZmVhdC1hbmltYXRpb246IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgYW5pbWF0aW9uKTtcbiAgJGZlYXQtc3RydWN0dXJlOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG5cbiAgLm1kYy1zZWxlY3QtaGVscGVyLXRleHQge1xuICAgIEBpbmNsdWRlIHR5cG9ncmFwaHktbWl4aW5zLnR5cG9ncmFwaHkoY2FwdGlvbiwgJHF1ZXJ5OiAkcXVlcnkpO1xuICAgIEBpbmNsdWRlIHR5cG9ncmFwaHktbWl4aW5zLnRleHQtYmFzZWxpbmUoMTZweCwgJHF1ZXJ5OiAkcXVlcnkpO1xuXG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgd2lsbC1jaGFuZ2U6IG9wYWNpdHk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtYW5pbWF0aW9uKSB7XG4gICAgICB0cmFuc2l0aW9uOiBmdW5jdGlvbnMudHJhbnNpdGlvbihvcGFjaXR5KTtcbiAgICB9XG4gIH1cblxuICAubWRjLXNlbGVjdC1oZWxwZXItdGV4dC0tcGVyc2lzdGVudCB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtYW5pbWF0aW9uKSB7XG4gICAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHdpbGwtY2hhbmdlOiBpbml0aWFsO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gaGVscGVyLXRleHQtY29sb3IoJGNvbG9yLCAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAmOm5vdCgubWRjLXNlbGVjdC0tZGlzYWJsZWQpIHtcbiAgICBAaW5jbHVkZSBoZWxwZXItdGV4dC1jb2xvcl8oJGNvbG9yLCAkcXVlcnk6ICRxdWVyeSk7XG4gIH1cbn1cblxuQG1peGluIGhlbHBlci10ZXh0LXZhbGlkYXRpb24tY29sb3IoJGNvbG9yLCAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAmOm5vdCgubWRjLXNlbGVjdC0tZGlzYWJsZWQpIHtcbiAgICBAaW5jbHVkZSBoZWxwZXItdGV4dC12YWxpZGF0aW9uLWNvbG9yXygkY29sb3IsICRxdWVyeTogJHF1ZXJ5KTtcbiAgfVxufVxuXG4vLyBQcml2YXRlIG1peGluc1xuXG5AbWl4aW4gaGVscGVyLXRleHQtY29sb3JfKCRjb2xvciwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJGZlYXQtY29sb3I6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgY29sb3IpO1xuXG4gIC5tZGMtc2VsZWN0X19hbmNob3IgKyAubWRjLXNlbGVjdC1oZWxwZXItdGV4dCB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtY29sb3IpIHtcbiAgICAgIEBpbmNsdWRlIHRoZW1lLW1peGlucy5wcm9wKGNvbG9yLCAkY29sb3IpO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gaGVscGVyLXRleHQtdmFsaWRhdGlvbi1jb2xvcl8oJGNvbG9yLCAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAkZmVhdC1jb2xvcjogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBjb2xvcik7XG5cbiAgJi5tZGMtc2VsZWN0LS1pbnZhbGlkIC5tZGMtc2VsZWN0X19hbmNob3IgKyAubWRjLXNlbGVjdC1oZWxwZXItdGV4dC0tdmFsaWRhdGlvbi1tc2cge1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LWNvbG9yKSB7XG4gICAgICBAaW5jbHVkZSB0aGVtZS1taXhpbnMucHJvcChjb2xvciwgJGNvbG9yKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vICBDb3B5cmlnaHQgMjAxOCBHb29nbGUgSW5jLlxuLy9cbi8vICBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyAgb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vICB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyAgY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyAgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczovXG4vL1xuLy8gIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyAgYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuL1xuLy9cbi8vICBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyAgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyAgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyAgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyAgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gIFRIRSBTT0ZUV0FSRS5cbi8vXG5cbkB1c2UgXCJAbWF0ZXJpYWwvZmVhdHVyZS10YXJnZXRpbmcvZnVuY3Rpb25zXCIgYXMgZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zO1xuQHVzZSBcIkBtYXRlcmlhbC9mZWF0dXJlLXRhcmdldGluZy9taXhpbnNcIiBhcyBmZWF0dXJlLXRhcmdldGluZy1taXhpbnM7XG5AdXNlIFwiQG1hdGVyaWFsL3J0bC9taXhpbnNcIiBhcyBydGwtbWl4aW5zO1xuQHVzZSBcIkBtYXRlcmlhbC90aGVtZS9taXhpbnNcIiBhcyB0aGVtZS1taXhpbnM7XG5AdXNlIFwiLi92YXJpYWJsZXNcIjtcblxuLy8gUHVibGljIG1peGluc1xuXG5AbWl4aW4gaWNvbi1jb3JlLXN0eWxlcygkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAkZmVhdC1zdHJ1Y3R1cmU6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcblxuICAubWRjLXNlbGVjdC0td2l0aC1sZWFkaW5nLWljb24ge1xuICAgIEBpbmNsdWRlIGljb25fKCRxdWVyeTogJHF1ZXJ5KTtcbiAgICBAaW5jbHVkZSBpY29uLWhvcml6b250YWwtbWFyZ2luc18oXG4gICAgICAkbGVmdDogdmFyaWFibGVzLiRpY29uLWhvcml6b250YWwtbWFyZ2luLFxuICAgICAgJHJpZ2h0OiB2YXJpYWJsZXMuJGljb24taG9yaXpvbnRhbC1tYXJnaW4sXG4gICAgICAkcXVlcnk6ICRxdWVyeSk7XG4gICAgQGluY2x1ZGUgaWNvbi1jb2xvcihvbi1zdXJmYWNlLCAkcXVlcnk6ICRxdWVyeSk7XG4gIH1cblxuICAubWRjLXNlbGVjdF9faWNvbjpub3QoW3RhYmluZGV4XSksXG4gIC5tZGMtc2VsZWN0X19pY29uW3RhYmluZGV4PVwiLTFcIl0ge1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBpY29uLWNvbG9yKCRjb2xvciwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJjpub3QoLm1kYy1zZWxlY3QtLWRpc2FibGVkKSB7XG4gICAgQGluY2x1ZGUgaWNvbi1jb2xvcl8oJGNvbG9yLCAkcXVlcnk6ICRxdWVyeSk7XG4gIH1cbn1cblxuLy8gUHJpdmF0ZSBtaXhpbnNcblxuQG1peGluIGljb25fKCRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gICRmZWF0LXN0cnVjdHVyZTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBzdHJ1Y3R1cmUpO1xuICAkZmVhdC1jb2xvcjogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBjb2xvcik7XG5cbiAgLm1kYy1zZWxlY3RfX2ljb24ge1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgIHdpZHRoOiB2YXJpYWJsZXMuJGljb24tc2l6ZTtcbiAgICAgIGhlaWdodDogdmFyaWFibGVzLiRpY29uLXNpemU7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICBvcGFjaXR5OiB2YXJpYWJsZXMuJGljb24tb3BhY2l0eTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtY29sb3IpIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgZmlsbDogY3VycmVudENvbG9yO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gaWNvbi1jb2xvcl8oJGNvbG9yLCAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAkZmVhdC1jb2xvcjogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBjb2xvcik7XG5cbiAgLm1kYy1zZWxlY3RfX2ljb24ge1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LWNvbG9yKSB7XG4gICAgICBAaW5jbHVkZSB0aGVtZS1taXhpbnMucHJvcChjb2xvciwgJGNvbG9yKTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGljb24taG9yaXpvbnRhbC1tYXJnaW5zXygkbGVmdCwgJHJpZ2h0LCAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAkZmVhdC1zdHJ1Y3R1cmU6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcbiAgLm1kYy1zZWxlY3RfX2ljb24ge1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgQGluY2x1ZGUgcnRsLW1peGlucy5yZWZsZXhpdmUtcHJvcGVydHkoXG4gICAgICAgIG1hcmdpbixcbiAgICAgICAgJGxlZnQsXG4gICAgICAgICRyaWdodFxuICAgICAgKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vICBDb3B5cmlnaHQgMjAxOCBHb29nbGUgSW5jLlxuLy9cbi8vICBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyAgb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vICB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyAgY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyAgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczovXG4vL1xuLy8gIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyAgYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuL1xuLy9cbi8vICBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyAgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyAgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyAgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyAgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gIFRIRSBTT0ZUV0FSRS5cbi8vXG5cbiRpY29uLXNpemU6IDI0cHggIWRlZmF1bHQ7XG4kaWNvbi1vcGFjaXR5OiAuNTQgIWRlZmF1bHQ7XG4kaWNvbi1ob3Jpem9udGFsLW1hcmdpbjogMTJweCAhZGVmYXVsdDtcbiIsIi8vXG4vLyBDb3B5cmlnaHQgMjAxOCBHb29nbGUgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG4vL1xuXG5AdXNlIFwiQG1hdGVyaWFsL2ZlYXR1cmUtdGFyZ2V0aW5nL2Z1bmN0aW9uc1wiIGFzIGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucztcbkB1c2UgXCJAbWF0ZXJpYWwvZmVhdHVyZS10YXJnZXRpbmcvbWl4aW5zXCIgYXMgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zO1xuQHVzZSBcIkBtYXRlcmlhbC90aGVtZS9taXhpbnNcIiBhcyB0aGVtZS1taXhpbnM7XG5AdXNlIFwiLi9mdW5jdGlvbnNcIjtcblxuLy8gUHVibGljXG5cbkBtaXhpbiBjb3JlLXN0eWxlcygkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAkZmVhdC1zdHJ1Y3R1cmU6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcbiAgJGZlYXQtYW5pbWF0aW9uOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIGFuaW1hdGlvbik7XG5cbiAgLy8gcG9zdGNzcy1iZW0tbGludGVyOiBkZWZpbmUgbGluZS1yaXBwbGVcbiAgLm1kYy1saW5lLXJpcHBsZSB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICAmOjpiZWZvcmUsXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICB9XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDFweDtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgIH1cblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWCgwKTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMnB4O1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LWFuaW1hdGlvbikge1xuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICB0cmFuc2l0aW9uOiBmdW5jdGlvbnMudHJhbnNpdGlvbi12YWx1ZSh0cmFuc2Zvcm0pLCBmdW5jdGlvbnMudHJhbnNpdGlvbi12YWx1ZShvcGFjaXR5KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubWRjLWxpbmUtcmlwcGxlLS1hY3RpdmU6OmFmdGVyIHtcbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGVYKDEpO1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG4gIH1cblxuICAubWRjLWxpbmUtcmlwcGxlLS1kZWFjdGl2YXRpbmc6OmFmdGVyIHtcbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBhY3RpdmUtY29sb3IoJGNvbG9yLCAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAkZmVhdC1jb2xvcjogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBjb2xvcik7XG5cbiAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtY29sb3IpIHtcbiAgICAmOjphZnRlciB7XG4gICAgICBAaW5jbHVkZSB0aGVtZS1taXhpbnMucHJvcChib3JkZXItYm90dG9tLWNvbG9yLCAkY29sb3IpO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gaW5hY3RpdmUtY29sb3IoJGNvbG9yLCAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAkZmVhdC1jb2xvcjogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBjb2xvcik7XG5cbiAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtY29sb3IpIHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgdGhlbWUtbWl4aW5zLnByb3AoYm9yZGVyLWJvdHRvbS1jb2xvciwgJGNvbG9yKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vXG4vLyBDb3B5cmlnaHQgMjAxOCBHb29nbGUgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG4vL1xuXG5AdXNlIFwic2FzczpsaXN0XCI7XG5AdXNlIFwiQG1hdGVyaWFsL3RoZW1lL21peGluc1wiIGFzIHRoZW1lLW1peGlucztcbkB1c2UgXCJAbWF0ZXJpYWwvc2hhcGUvbWl4aW5zXCIgYXMgc2hhcGUtbWl4aW5zO1xuQHVzZSBcIkBtYXRlcmlhbC9mbG9hdGluZy1sYWJlbC9taXhpbnNcIiBhcyBmbG9hdGluZy1sYWJlbC1taXhpbnM7XG5AdXNlIFwiQG1hdGVyaWFsL3NoYXBlL2Z1bmN0aW9uc1wiIGFzIHNoYXBlLWZ1bmN0aW9ucztcbkB1c2UgXCJAbWF0ZXJpYWwvZmVhdHVyZS10YXJnZXRpbmcvZnVuY3Rpb25zXCIgYXMgZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zO1xuQHVzZSBcIkBtYXRlcmlhbC9mZWF0dXJlLXRhcmdldGluZy9taXhpbnNcIiBhcyBmZWF0dXJlLXRhcmdldGluZy1taXhpbnM7XG5AdXNlIFwiQG1hdGVyaWFsL3J0bC9taXhpbnNcIiBhcyBydGwtbWl4aW5zO1xuQHVzZSBcIi4vdmFyaWFibGVzXCI7XG5cbkBtaXhpbiBjb3JlLXN0eWxlcygkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAkZmVhdC1zdHJ1Y3R1cmU6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcblxuICAubWRjLW5vdGNoZWQtb3V0bGluZSB7XG4gICAgQGluY2x1ZGUgYmFzZV8oJHF1ZXJ5KTtcblxuICAgICZfX2xlYWRpbmcsXG4gICAgJl9fbm90Y2gsXG4gICAgJl9fdHJhaWxpbmcge1xuICAgICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgYm9yZGVyLXRvcDogdmFyaWFibGVzLiRib3JkZXItd2lkdGggc29saWQ7XG4gICAgICAgIGJvcmRlci1ib3R0b206IHZhcmlhYmxlcy4kYm9yZGVyLXdpZHRoIHNvbGlkO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmX19sZWFkaW5nIHtcbiAgICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgICBAaW5jbHVkZSBydGwtbWl4aW5zLnJlZmxleGl2ZS1wcm9wZXJ0eShib3JkZXIsIHZhcmlhYmxlcy4kYm9yZGVyLXdpZHRoIHNvbGlkLCBub25lKTtcblxuICAgICAgICB3aWR0aDogdmFyaWFibGVzLiRsZWFkaW5nLXdpZHRoO1xuICAgICAgfVxuICAgIH1cblxuICAgICZfX3RyYWlsaW5nIHtcbiAgICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgICBAaW5jbHVkZSBydGwtbWl4aW5zLnJlZmxleGl2ZS1wcm9wZXJ0eShib3JkZXIsIG5vbmUsIHZhcmlhYmxlcy4kYm9yZGVyLXdpZHRoIHNvbGlkKTtcblxuICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJl9fbm90Y2gge1xuICAgICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAje3ZhcmlhYmxlcy4kbGVhZGluZy13aWR0aH0gKiAyKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAubWRjLWZsb2F0aW5nLWxhYmVsIHtcbiAgICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlIHtcbiAgICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgICB0ZXh0LW92ZXJmbG93OiBjbGlwO1xuICAgICAgfVxuICAgIH1cblxuICAgICYtLXVwZ3JhZGVkIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlIHtcbiAgICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAvIC43NSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm1kYy1ub3RjaGVkLW91dGxpbmUtLW5vdGNoZWQge1xuICAgIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19ub3RjaCB7XG4gICAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgICAgQGluY2x1ZGUgcnRsLW1peGlucy5yZWZsZXhpdmUtYm94KHBhZGRpbmcsIHJpZ2h0LCA4cHgpO1xuXG4gICAgICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm1kYy1ub3RjaGVkLW91dGxpbmUtLW5vLWxhYmVsIHtcbiAgICAubWRjLW5vdGNoZWQtb3V0bGluZV9fbm90Y2gge1xuICAgICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBjb2xvcigkY29sb3IsICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gICRmZWF0LWNvbG9yOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIGNvbG9yKTtcblxuICAubWRjLW5vdGNoZWQtb3V0bGluZV9fbGVhZGluZyxcbiAgLm1kYy1ub3RjaGVkLW91dGxpbmVfX25vdGNoLFxuICAubWRjLW5vdGNoZWQtb3V0bGluZV9fdHJhaWxpbmcge1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LWNvbG9yKSB7XG4gICAgICBAaW5jbHVkZSB0aGVtZS1taXhpbnMucHJvcChib3JkZXItY29sb3IsICRjb2xvcik7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBzdHJva2Utd2lkdGgoJHdpZHRoLCAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAkZmVhdC1zdHJ1Y3R1cmU6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcblxuICAubWRjLW5vdGNoZWQtb3V0bGluZV9fbGVhZGluZyxcbiAgLm1kYy1ub3RjaGVkLW91dGxpbmVfX25vdGNoLFxuICAubWRjLW5vdGNoZWQtb3V0bGluZV9fdHJhaWxpbmcge1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgYm9yZGVyLXdpZHRoOiAkd2lkdGg7XG4gICAgfVxuICB9XG59XG5cbi8vL1xuLy8vIEFkZHMgdG9wIG9mZnNldCB0byBjb21wZW5zYXRlIGZvciBib3JkZXIgd2lkdGggYm94IHNpemUgd2hlbiBpdCBpcyBub3RjaGVkLlxuLy8vIFVzZSB0aGlzIHdoZW4gZmxvYXRpbmcgbGFiZWwgaXMgYWxpZ25lZCB0byBjZW50ZXIgdG8gcHJldmVudCBsYWJlbCBqdW1wIG9uIGZvY3VzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc3Ryb2tlLXdpZHRoIFN0cm9rZSB3aWR0aCBvZiBub3RjaGVkIG91dGxpbmUgdGhhdCBuZWVkcyB0byBiZSBvZmZzZXQuXG4vLy9cbkBtaXhpbiBub3RjaC1vZmZzZXQoJHN0cm9rZS13aWR0aCwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJGZlYXQtc3RydWN0dXJlOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG5cbiAgLm1kYy1ub3RjaGVkLW91dGxpbmUtLW5vdGNoZWQgLm1kYy1ub3RjaGVkLW91dGxpbmVfX25vdGNoIHtcbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIHBhZGRpbmctdG9wOiAkc3Ryb2tlLXdpZHRoO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gc2hhcGUtcmFkaXVzKCRyYWRpdXMsICRydGwtcmVmbGV4aXZlOiBmYWxzZSwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJGZlYXQtc3RydWN0dXJlOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG4gICRyYWRpdXM6IHNoYXBlLWZ1bmN0aW9ucy5wcm9wLXZhbHVlKCRyYWRpdXMpO1xuXG4gIEBpZiAobGlzdC5sZW5ndGgoJHJhZGl1cykgPiAxKSB7XG4gICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIG1heC1saW5lLWxlbmd0aFxuICAgIEB3YXJuIFwibWRjLW5vdGNoZWQtb3V0bGluZS1zaGFwZS1yYWRpdXMgb25seSBzdXBwb3J0cyBhIHNpbmdsZSByYWRpdXM7IHNlZSBodHRwczovL2dpdGh1Yi5jb20vbWF0ZXJpYWwtY29tcG9uZW50cy9tYXRlcmlhbC1jb21wb25lbnRzLXdlYi9pc3N1ZXMvNDE0MFwiO1xuICB9XG5cbiAgJHJhZGl1czogbGlzdC5udGgoJHJhZGl1cywgMSk7XG5cbiAgLm1kYy1ub3RjaGVkLW91dGxpbmVfX2xlYWRpbmcge1xuICAgIEBpbmNsdWRlIHNoYXBlLW1peGlucy5yYWRpdXMoc2hhcGUtZnVuY3Rpb25zLm1hc2stcmFkaXVzKCRyYWRpdXMsIDEgMCAwIDEpLCAkcnRsLXJlZmxleGl2ZTogdHJ1ZSwgJHF1ZXJ5OiAkcXVlcnkpO1xuXG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICBAaWYgKCRyYWRpdXMgPiB2YXJpYWJsZXMuJGxlYWRpbmctd2lkdGgpIHtcbiAgICAgICAgd2lkdGg6ICRyYWRpdXM7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmICgkcmFkaXVzID4gdmFyaWFibGVzLiRsZWFkaW5nLXdpZHRoKSB7XG4gICAgLm1kYy1ub3RjaGVkLW91dGxpbmVfX25vdGNoIHtcbiAgICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtICN7JHJhZGl1c30gKiAyKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubWRjLW5vdGNoZWQtb3V0bGluZV9fdHJhaWxpbmcge1xuICAgIEBpbmNsdWRlIHNoYXBlLW1peGlucy5yYWRpdXMoc2hhcGUtZnVuY3Rpb25zLm1hc2stcmFkaXVzKCRyYWRpdXMsIDAgMSAxIDApLCAkcnRsLXJlZmxleGl2ZTogdHJ1ZSwgJHF1ZXJ5OiAkcXVlcnkpO1xuICB9XG59XG5cbkBtaXhpbiBmbG9hdGluZy1sYWJlbC1mbG9hdC1wb3NpdGlvbihcbiAgJHBvc2l0aW9uWSwgJHBvc2l0aW9uWDogMCUsICRzY2FsZTogLjc1LCAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAkZmVhdC1zdHJ1Y3R1cmU6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcblxuICBAaW5jbHVkZSBmbG9hdGluZy1sYWJlbC1taXhpbnMuZmxvYXQtcG9zaXRpb24oXG4gICAgJHBvc2l0aW9uWSArIHZhcmlhYmxlcy4kbGFiZWwtYWRqdXN0LCAkcG9zaXRpb25YLCAxLCAkcXVlcnk6ICRxdWVyeSk7XG5cbiAgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUge1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgZm9udC1zaXplOiAoJHNjYWxlICogMXJlbSk7XG4gICAgfVxuICB9XG5cbiAgLy8gVHdvIHNlbGVjdG9ycyB0byBlbnN1cmUgd2Ugc2VsZWN0IHRoZSBhcHByb3ByaWF0ZSBjbGFzcyB3aGVuIGFwcGxpZWQgZnJvbSB0aGlzIGNvbXBvbmVudCBvciBhIHBhcmVudCBjb21wb25lbnQuXG4gICYubWRjLW5vdGNoZWQtb3V0bGluZS0tdXBncmFkZWQsXG4gIC5tZGMtbm90Y2hlZC1vdXRsaW5lLS11cGdyYWRlZCB7XG4gICAgQGluY2x1ZGUgZmxvYXRpbmctbGFiZWwtbWl4aW5zLmZsb2F0LXBvc2l0aW9uKCRwb3NpdGlvblksICRwb3NpdGlvblgsICRzY2FsZSwgJHF1ZXJ5OiAkcXVlcnkpO1xuXG4gICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWRlc2NlbmRpbmctc3BlY2lmaWNpdHlcbiAgICAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSB7XG4gICAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy9cbi8vLyBTZXRzIGZsb2F0aW5nIGxhYmVsIHBvc2l0aW9uIGluIG5vdGNoZWQgb3V0bGluZSB3aGVuIGxhYmVsIGlzIGFmbG9hdC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcG9zaXRpb25ZIEFic29sdXRlIFktYXhpcyBwb3NpdGlvbiBpbiBgcHhgLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcG9zaXRpb25YIEFic29sdXRlIFgtYXhpcyBwb3NpdGlvbiBpbiBgcHhgLiBEZWZhdWx0cyB0byBgMGAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzY2FsZSBEZWZhdWx0cyB0byBgLjc1YC5cbi8vL1xuLy8vIEB0b2RvIFJlcGxhY2UgbWl4aW4gYG1kYy1ub3RjaGVkLW91dGxpbmUtZmxvYXRpbmctbGFiZWwtZmxvYXQtcG9zaXRpb25gIHdpdGggdGhpcyBtaXhpbiB3aGVuIGZsb2F0aW5nIGxhYmVsIGlzXG4vLy8gICAgIGNlbnRlciBhbGlnbmVkIGluIGFsbCB0aGUgcGxhY2VzLlxuLy8vXG5AbWl4aW4gZmxvYXRpbmctbGFiZWwtZmxvYXQtcG9zaXRpb24tYWJzb2x1dGUoXG4gICRwb3NpdGlvblksICRwb3NpdGlvblg6IDAsICRzY2FsZTogLjc1LCAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAkZmVhdC1zdHJ1Y3R1cmU6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcblxuICBAaW5jbHVkZSBmbG9hdGluZy1sYWJlbC1taXhpbnMuZmxvYXQtcG9zaXRpb24oXG4gICAgJHBvc2l0aW9uWSArIHZhcmlhYmxlcy4kbGFiZWwtYWRqdXN0LWFic29sdXRlLCAkcG9zaXRpb25YLCAxLCAkcXVlcnk6ICRxdWVyeSk7XG5cbiAgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUge1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgZm9udC1zaXplOiAoJHNjYWxlICogMXJlbSk7XG4gICAgfVxuICB9XG5cbiAgLy8gVHdvIHNlbGVjdG9ycyB0byBlbnN1cmUgd2Ugc2VsZWN0IHRoZSBhcHByb3ByaWF0ZSBjbGFzcyB3aGVuIGFwcGxpZWQgZnJvbSB0aGlzIGNvbXBvbmVudCBvciBhIHBhcmVudCBjb21wb25lbnQuXG4gICYubWRjLW5vdGNoZWQtb3V0bGluZS0tdXBncmFkZWQsXG4gIC5tZGMtbm90Y2hlZC1vdXRsaW5lLS11cGdyYWRlZCB7XG4gICAgQGluY2x1ZGUgZmxvYXRpbmctbGFiZWwtbWl4aW5zLmZsb2F0LXBvc2l0aW9uKFxuICAgICAgJHBvc2l0aW9uWSwgJHBvc2l0aW9uWCwgJHNjYWxlLCAkcXVlcnk6ICRxdWVyeSk7XG5cbiAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tZGVzY2VuZGluZy1zcGVjaWZpY2l0eVxuICAgIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlIHtcbiAgICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vL1xuLy8vIFNldHMgdGhlIG1heC13aWR0aCBmb3IgdGhlIG5vdGNoXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1heC13aWR0aCBNYXgtd2lkdGggZm9yIHRoZSBub3RjaFxuLy8vXG5AbWl4aW4gbm90Y2gtbWF4LXdpZHRoKCRtYXgtd2lkdGgsICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gICRmZWF0LXN0cnVjdHVyZTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBzdHJ1Y3R1cmUpO1xuXG4gIDpub3QoLm1kYy1ub3RjaGVkLW91dGxpbmUtLW5vdGNoZWQpIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19ub3RjaCB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICBtYXgtd2lkdGg6ICRtYXgtd2lkdGg7XG4gICAgfVxuICB9XG59XG5cbi8vXG4vLyBQcml2YXRlXG4vL1xuQG1peGluIGJhc2VfKCRxdWVyeSkge1xuICAkZmVhdC1zdHJ1Y3R1cmU6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcblxuICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogMDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgLyogQG5vZmxpcCAqL1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgICBAaW5jbHVkZSBydGwtbWl4aW5zLnJ0bCB7XG4gICAgICAvKiBAbm9mbGlwICovXG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vXG4vLyBDb3B5cmlnaHQgMjAxOCBHb29nbGUgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG4vL1xuXG4vLyBLZWVwIHRoaXMgaW4gc3luYyB3aXRoIGNvbnN0YW50cy5udW1iZXJzLk1JTl9MRUFESU5HX1NUUk9LRV9FREdFX1BPU0lUSU9OXG4kbWluLWxlYWRpbmctc3Ryb2tlLWVkZ2UtcG9zaXRpb246IDEycHggIWRlZmF1bHQ7XG4vLyBUaGUgZ2FwIGJldHdlZW4gdGhlIHN0cm9rZSBlbmQgYW5kIGZsb2F0aW5nIGxhYmVsXG4vLyBLZWVwIHRoaXMgaW4gc3luYyB3aXRoIGNvbnN0YW50cy5udW1iZXJzLk5PVENIX0dVVFRFUl9TSVpFXG4kbm90Y2gtZ3V0dGVyLXNpemU6IDRweCAhZGVmYXVsdDtcbiRib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcbiRsZWFkaW5nLXdpZHRoOiAxMnB4ICFkZWZhdWx0O1xuJHBhZGRpbmc6IDRweCAhZGVmYXVsdDtcbi8vIFRoaXMgdmFyaWFibGUga2VlcHMgdGhlIGJlZm9yZS9hZnRlciBKUyBsYWJlbCBjZW50ZXJlZCBpbiB0aGUgbm90Y2ggd2hlbiB0aGUgZm9udC1zaXplIGlzIGNoYW5nZWQuXG4kbGFiZWwtYWRqdXN0OiAxNCUgIWRlZmF1bHQ7XG5cbi8vLyBMYWJlbCBib3ggaGVpZ2h0IHdoZW4gaXQgaXMgZmxvYXRpbmcgYWJvdmUgZm9yIG5vdGNoZWQgdXBncmFkZWQuIFRoaXMgdmFsdWUgaXMgdXNlZCB0byBwdXQgdGhlIGxhYmVsIHZlcnRpY2FsbHkgaW5cbi8vLyB0aGUgbWlkZGxlIHdoZW4gaXQgaXMgbm90Y2hlZC5cbiRsYWJlbC1ib3gtaGVpZ2h0OiAxMy41cHggIWRlZmF1bHQ7XG5cbi8vLyBMYWJlbCBhZGp1c3Qgb2Zmc2V0IGFwcGxpZWQgdG8gZmxvYXRpbmcgbGFiZWwgd2hlbiBpdCBpcyBub3RjaGVkLiBTaW5jZSBub3RjaCB3aXRob3V0IHVwZ3JhZGVkIGhhcyBkaWZmZXJlbnQgZm9udFxuLy8vIHNpemUgd2UgYWRkIGFkZGl0aW9uYWwgb2Zmc2V0IHZhbHVlLlxuJGxhYmVsLWFkanVzdC1hYnNvbHV0ZTogMi41cHggIWRlZmF1bHQ7XG4iLCIvL1xuLy8gQ29weXJpZ2h0IDIwMTggR29vZ2xlIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuLy9cblxuQHVzZSBcInNhc3M6bGlzdFwiO1xuQHVzZSBcInNhc3M6c3RyaW5nXCI7XG5AdXNlIFwiQG1hdGVyaWFsL2FuaW1hdGlvbi92YXJpYWJsZXNcIiBhcyBhbmltYXRpb24tdmFyaWFibGVzO1xuQHVzZSBcIkBtYXRlcmlhbC9mZWF0dXJlLXRhcmdldGluZy9mdW5jdGlvbnNcIiBhcyBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnM7XG5AdXNlIFwiQG1hdGVyaWFsL2ZlYXR1cmUtdGFyZ2V0aW5nL21peGluc1wiIGFzIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucztcbkB1c2UgXCJAbWF0ZXJpYWwvZmxvYXRpbmctbGFiZWwvbWl4aW5zXCIgYXMgZmxvYXRpbmctbGFiZWwtbWl4aW5zO1xuQHVzZSBcIkBtYXRlcmlhbC9saW5lLXJpcHBsZS9taXhpbnNcIiBhcyBsaW5lLXJpcHBsZS1taXhpbnM7XG5AdXNlIFwiQG1hdGVyaWFsL25vdGNoZWQtb3V0bGluZS9taXhpbnNcIiBhcyBub3RjaGVkLW91dGxpbmUtbWl4aW5zO1xuQHVzZSBcIkBtYXRlcmlhbC9ub3RjaGVkLW91dGxpbmUvdmFyaWFibGVzXCIgYXMgbm90Y2hlZC1vdXRsaW5lLXZhcmlhYmxlcztcbkB1c2UgXCJAbWF0ZXJpYWwvcmlwcGxlL21peGluc1wiIGFzIHJpcHBsZS1taXhpbnM7XG5AdXNlIFwiQG1hdGVyaWFsL3JpcHBsZS9mdW5jdGlvbnNcIiBhcyByaXBwbGUtZnVuY3Rpb25zO1xuQHVzZSBcIkBtYXRlcmlhbC9ydGwvbWl4aW5zXCIgYXMgcnRsLW1peGlucztcbkB1c2UgXCJAbWF0ZXJpYWwvc2hhcGUvbWl4aW5zXCIgYXMgc2hhcGUtbWl4aW5zO1xuQHVzZSBcIkBtYXRlcmlhbC9zaGFwZS9mdW5jdGlvbnNcIjtcbkB1c2UgXCJAbWF0ZXJpYWwvdGhlbWUvbWl4aW5zXCIgYXMgdGhlbWUtbWl4aW5zO1xuQHVzZSBcIkBtYXRlcmlhbC90aGVtZS92YXJpYWJsZXNcIiBhcyB0aGVtZS12YXJpYWJsZXM7XG5AdXNlIFwiQG1hdGVyaWFsL3R5cG9ncmFwaHkvbWl4aW5zXCIgYXMgdHlwb2dyYXBoeS1taXhpbnM7XG5AdXNlIFwiLi9oZWxwZXItdGV4dC9taXhpbnNcIiBhcyBoZWxwZXItdGV4dC1taXhpbnM7XG5AdXNlIFwiLi9pY29uL3ZhcmlhYmxlc1wiIGFzIGljb24tdmFyaWFibGVzO1xuQHVzZSBcIi4vdmFyaWFibGVzXCI7XG5cbkBtaXhpbiBjb3JlLXN0eWxlcygkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICBAaW5jbHVkZSByaXBwbGUoJHF1ZXJ5KTtcbiAgQGluY2x1ZGUgd2l0aG91dC1yaXBwbGUoJHF1ZXJ5KTtcbn1cblxuQG1peGluIHdpdGhvdXQtcmlwcGxlKCRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gICAkZmVhdC1hbmltYXRpb246IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgYW5pbWF0aW9uKTtcbiAgICRmZWF0LWNvbG9yOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIGNvbG9yKTtcbiAgICRmZWF0LXN0cnVjdHVyZTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBzdHJ1Y3R1cmUpO1xuXG4gIC5tZGMtc2VsZWN0IHtcbiAgICBAaW5jbHVkZSBjb250YWluZXItZmlsbC1jb2xvcih2YXJpYWJsZXMuJGZpbGwtY29sb3IsICRxdWVyeTogJHF1ZXJ5KTtcbiAgICBAaW5jbHVkZSBpbmstY29sb3IodmFyaWFibGVzLiRpbmstY29sb3IsICRxdWVyeTogJHF1ZXJ5KTtcbiAgICBAaW5jbHVkZSBsYWJlbC1jb2xvcih2YXJpYWJsZXMuJGxhYmVsLWNvbG9yLCAkcXVlcnk6ICRxdWVyeSk7XG4gICAgQGluY2x1ZGUgYm90dG9tLWxpbmUtY29sb3IodmFyaWFibGVzLiRib3R0b20tbGluZS1pZGxlLWNvbG9yLCAkcXVlcnk6ICRxdWVyeSk7XG4gICAgQGluY2x1ZGUgaGVscGVyLXRleHQtbWl4aW5zLmhlbHBlci10ZXh0LWNvbG9yKHZhcmlhYmxlcy4kaGVscGVyLXRleHQtY29sb3IsICRxdWVyeTogJHF1ZXJ5KTtcblxuICAgIC8vIEZvY3VzZWQgc3RhdGUgY29sb3JzXG4gICAgQGluY2x1ZGUgZm9jdXNlZC1ib3R0b20tbGluZS1jb2xvcihwcmltYXJ5LCAkcXVlcnk6ICRxdWVyeSk7XG4gICAgQGluY2x1ZGUgZm9jdXNlZC1sYWJlbC1jb2xvcih2YXJpYWJsZXMuJGZvY3VzZWQtbGFiZWwtY29sb3IsICRxdWVyeTogJHF1ZXJ5KTtcblxuICAgIC8vIEhvdmVyIHN0YXRlIGNvbG9yc1xuICAgIEBpbmNsdWRlIGhvdmVyLWJvdHRvbS1saW5lLWNvbG9yKHZhcmlhYmxlcy4kYm90dG9tLWxpbmUtaG92ZXItY29sb3IsICRxdWVyeTogJHF1ZXJ5KTtcblxuICAgIC8vIEZsb2F0aW5nIGxhYmVsIHByaXZhdGUgbWl4aW5cbiAgICBAaW5jbHVkZSBmbG9hdGluZy1sYWJlbF8oJHF1ZXJ5OiAkcXVlcnkpO1xuXG4gICAgLy8gc3RydWN0dXJhbFxuICAgIEBpbmNsdWRlIHNoYXBlLXJhZGl1cyhzbWFsbCwgJHF1ZXJ5OiAkcXVlcnkpO1xuICAgIEBpbmNsdWRlIHBhZGRpbmctaG9yaXpvbnRhbF8oXG4gICAgICAkbGVmdDogdmFyaWFibGVzLiRhbmNob3ItcGFkZGluZy1sZWZ0LFxuICAgICAgJGxlZnQtd2l0aC1sZWFkaW5nLWljb246IHZhcmlhYmxlcy4kYW5jaG9yLXBhZGRpbmctbGVmdC13aXRoLWxlYWRpbmctaWNvbixcbiAgICAgICRyaWdodDogdmFyaWFibGVzLiRhbmNob3ItcGFkZGluZy1yaWdodCxcbiAgICAgICRxdWVyeTogJHF1ZXJ5XG4gICAgKTtcblxuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyAvLyBNZW51IGlzIGFic29sdXRlbHkgcG9zaXRpb25lZCByZWxhdGl2ZSB0byB0aGlzLlxuICAgIH1cblxuICAgICZfX2Ryb3Bkb3duLWljb24ge1xuICAgICAgQGluY2x1ZGUgZGQtYXJyb3ctc3ZnLWJnXyh2YXJpYWJsZXMuJGRyb3Bkb3duLWNvbG9yLCB2YXJpYWJsZXMuJGRyb3Bkb3duLW9wYWNpdHksICRxdWVyeTogJHF1ZXJ5KTtcblxuICAgICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICAgIEBpbmNsdWRlIHJ0bC1taXhpbnMucmVmbGV4aXZlLXByb3BlcnR5KG1hcmdpbixcbiAgICAgICAgICBpY29uLXZhcmlhYmxlcy4kaWNvbi1ob3Jpem9udGFsLW1hcmdpbixcbiAgICAgICAgICBpY29uLXZhcmlhYmxlcy4kaWNvbi1ob3Jpem9udGFsLW1hcmdpbik7XG4gICAgICAgIHdpZHRoOiAyNHB4O1xuICAgICAgICBoZWlnaHQ6IDI0cHg7XG4gICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1hbmltYXRpb24pIHtcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIHZhcmlhYmxlcy4kZHJvcGRvd24tdHJhbnNpdGlvbi1kdXJhdGlvbiBhbmltYXRpb24tdmFyaWFibGVzLiRzdGFuZGFyZC1jdXJ2ZS10aW1pbmctZnVuY3Rpb247XG4gICAgICB9XG5cbiAgICAgIC5tZGMtc2VsZWN0LS1mb2N1c2VkICYge1xuICAgICAgICBAaW5jbHVkZSBkZC1hcnJvdy1zdmctYmdfKHRoZW1lLXZhcmlhYmxlcy5wcm9wLXZhbHVlKHByaW1hcnkpLCAxLCAkcXVlcnk6ICRxdWVyeSk7XG4gICAgICB9XG5cbiAgICAgIC5tZGMtc2VsZWN0LS1hY3RpdmF0ZWQgJiB7XG4gICAgICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZykgdHJhbnNsYXRlWSgtNXB4KTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LWFuaW1hdGlvbikge1xuICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSB2YXJpYWJsZXMuJGRyb3Bkb3duLXRyYW5zaXRpb24tZHVyYXRpb24gYW5pbWF0aW9uLXZhcmlhYmxlcy4kc3RhbmRhcmQtY3VydmUtdGltaW5nLWZ1bmN0aW9uO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm1kYy1zZWxlY3RfX2FuY2hvciB7XG4gICAgQGluY2x1ZGUgaGVpZ2h0KHZhcmlhYmxlcy4kaGVpZ2h0LCAkcXVlcnk6ICRxdWVyeSk7XG4gICAgQGluY2x1ZGUgZmxvYXRpbmctbGFiZWwtbWl4aW5zLmZsb2F0LXBvc2l0aW9uKHZhcmlhYmxlcy4kbGFiZWwtcG9zaXRpb24teSwgJHF1ZXJ5OiAkcXVlcnkpO1xuXG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIG1pbi13aWR0aDogMjAwcHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgZm9jdXNlZC1saW5lLXJpcHBsZV8ge1xuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEsIDIpO1xuICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBoZWxwZXItdGV4dF8oJHF1ZXJ5OiAkcXVlcnkpO1xuICBAaW5jbHVkZSB0ZXh0XygkcXVlcnk6ICRxdWVyeSk7XG5cbiAgLm1kYy1zZWxlY3QtLW91dGxpbmVkIHtcbiAgICBAaW5jbHVkZSBvdXRsaW5lZF8oJHF1ZXJ5OiAkcXVlcnkpO1xuICB9XG5cbiAgLm1kYy1zZWxlY3QtLWludmFsaWQge1xuICAgIEBpbmNsdWRlIGxhYmVsLWNvbG9yKHZhcmlhYmxlcy4kZXJyb3ItY29sb3IsICRxdWVyeTogJHF1ZXJ5KTtcbiAgICBAaW5jbHVkZSBib3R0b20tbGluZS1jb2xvcih2YXJpYWJsZXMuJGVycm9yLWNvbG9yLCAkcXVlcnk6ICRxdWVyeSk7XG4gICAgQGluY2x1ZGUgZm9jdXNlZC1ib3R0b20tbGluZS1jb2xvcih2YXJpYWJsZXMuJGVycm9yLWNvbG9yLCAkcXVlcnk6ICRxdWVyeSk7XG4gICAgQGluY2x1ZGUgZm9jdXNlZC1sYWJlbC1jb2xvcih2YXJpYWJsZXMuJGVycm9yLWNvbG9yLCAkcXVlcnk6ICRxdWVyeSk7XG4gICAgQGluY2x1ZGUgaGVscGVyLXRleHQtbWl4aW5zLmhlbHBlci10ZXh0LXZhbGlkYXRpb24tY29sb3IodmFyaWFibGVzLiRlcnJvci1jb2xvciwgJHF1ZXJ5OiAkcXVlcnkpO1xuXG4gICAgLy8gSG92ZXIgc3RhdGUgY29sb3JzXG4gICAgQGluY2x1ZGUgaG92ZXItYm90dG9tLWxpbmUtY29sb3IodmFyaWFibGVzLiRlcnJvci1jb2xvciwgJHF1ZXJ5OiAkcXVlcnkpO1xuXG4gICAgJi5tZGMtc2VsZWN0LS1vdXRsaW5lZCB7XG4gICAgICBAaW5jbHVkZSBvdXRsaW5lLWNvbG9yKHZhcmlhYmxlcy4kZXJyb3ItY29sb3IsICRxdWVyeTogJHF1ZXJ5KTtcbiAgICAgIEBpbmNsdWRlIGhvdmVyLW91dGxpbmUtY29sb3IodmFyaWFibGVzLiRlcnJvci1jb2xvciwgJHF1ZXJ5OiAkcXVlcnkpO1xuICAgICAgQGluY2x1ZGUgZm9jdXNlZC1vdXRsaW5lLWNvbG9yKHZhcmlhYmxlcy4kZXJyb3ItY29sb3IsICRxdWVyeTogJHF1ZXJ5KTtcbiAgICB9XG5cbiAgICAubWRjLXNlbGVjdF9fZHJvcGRvd24taWNvbiB7XG4gICAgICBAaW5jbHVkZSBkZC1hcnJvdy1zdmctYmdfKHZhcmlhYmxlcy4kZXJyb3ItY29sb3IsIDEsICRxdWVyeTogJHF1ZXJ5KTtcbiAgICB9XG5cbiAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcGx1Z2luL3NlbGVjdG9yLWJlbS1wYXR0ZXJuXG4gICAgKyAubWRjLXNlbGVjdC1oZWxwZXItdGV4dC0tdmFsaWRhdGlvbi1tc2cge1xuICAgICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm1kYy1zZWxlY3QtLXJlcXVpcmVkIHtcbiAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcGx1Z2luL3NlbGVjdG9yLWJlbS1wYXR0ZXJuXG4gICAgLm1kYy1mbG9hdGluZy1sYWJlbDo6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiKlwiO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5tZGMtc2VsZWN0LS1kaXNhYmxlZCB7XG4gICAgQGluY2x1ZGUgZGlzYWJsZWRfKCRxdWVyeTogJHF1ZXJ5KTtcbiAgfVxuXG4gIC5tZGMtc2VsZWN0LS13aXRoLWxlYWRpbmctaWNvbiB7XG4gICAgQGluY2x1ZGUgd2l0aC1sZWFkaW5nLWljb25fKCRxdWVyeTogJHF1ZXJ5KTtcbiAgfVxuXG4gIC5tZGMtc2VsZWN0X19tZW51IC5tZGMtbGlzdCAubWRjLWxpc3QtaXRlbS0tc2VsZWN0ZWQge1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LWNvbG9yKSB7XG4gICAgICBAaW5jbHVkZSB0aGVtZS1taXhpbnMucHJvcChjb2xvciwgb24tc3VyZmFjZSk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgZmxvYXRpbmctbGFiZWwtbWl4aW5zLnNoYWtlLWtleWZyYW1lcyhcbiAgICBzZWxlY3Qtb3V0bGluZWQtbGVhZGluZy1pY29uLFxuICAgIHZhcmlhYmxlcy4kb3V0bGluZWQtbGFiZWwtcG9zaXRpb24teSxcbiAgICB2YXJpYWJsZXMuJG91dGxpbmVkLXdpdGgtbGVhZGluZy1pY29uLWxhYmVsLXBvc2l0aW9uLXgsXG4gICAgJHF1ZXJ5OiAkcXVlcnlcbiAgKTtcbiAgQGluY2x1ZGUgZmxvYXRpbmctbGFiZWwtbWl4aW5zLnNoYWtlLWtleWZyYW1lcyhcbiAgICBzZWxlY3Qtb3V0bGluZWQtbGVhZGluZy1pY29uLXJ0bCxcbiAgICB2YXJpYWJsZXMuJG91dGxpbmVkLWxhYmVsLXBvc2l0aW9uLXksXG4gICAgLSh2YXJpYWJsZXMuJG91dGxpbmVkLXdpdGgtbGVhZGluZy1pY29uLWxhYmVsLXBvc2l0aW9uLXgpLFxuICAgICRxdWVyeTogJHF1ZXJ5XG4gICk7XG59XG5cbkBtaXhpbiByaXBwbGUoJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgLm1kYy1zZWxlY3RfX2FuY2hvciB7XG4gICAgQGluY2x1ZGUgcmlwcGxlLW1peGlucy5zdXJmYWNlKCRyaXBwbGUtdGFyZ2V0OiB2YXJpYWJsZXMuJHJpcHBsZS10YXJnZXQsICRxdWVyeTogJHF1ZXJ5KTtcbiAgICBAaW5jbHVkZSByaXBwbGUtbWl4aW5zLnJhZGl1cy1ib3VuZGVkKCRyaXBwbGUtdGFyZ2V0OiB2YXJpYWJsZXMuJHJpcHBsZS10YXJnZXQsICRxdWVyeTogJHF1ZXJ5KTtcbiAgICBAaW5jbHVkZSByaXBwbGUtbWl4aW5zLnN0YXRlcy1iYXNlLWNvbG9yKHZhcmlhYmxlcy4kaW5rLWNvbG9yLCAkcmlwcGxlLXRhcmdldDogdmFyaWFibGVzLiRyaXBwbGUtdGFyZ2V0LCAkcXVlcnk6ICRxdWVyeSk7XG4gICAgQGluY2x1ZGUgcmlwcGxlLW1peGlucy5zdGF0ZXMtb3BhY2l0aWVzKFxuICAgICAgKFxuICAgICAgICBob3ZlcjogcmlwcGxlLWZ1bmN0aW9ucy5zdGF0ZXMtb3BhY2l0eSh2YXJpYWJsZXMuJGluay1jb2xvciwgaG92ZXIpLFxuICAgICAgICBmb2N1czogcmlwcGxlLWZ1bmN0aW9ucy5zdGF0ZXMtb3BhY2l0eSh2YXJpYWJsZXMuJGluay1jb2xvciwgZm9jdXMpLFxuICAgICAgKSxcbiAgICAgICRyaXBwbGUtdGFyZ2V0OiB2YXJpYWJsZXMuJHJpcHBsZS10YXJnZXQsXG4gICAgICAkcXVlcnk6ICRxdWVyeVxuICAgICk7XG5cbiAgICAje3ZhcmlhYmxlcy4kcmlwcGxlLXRhcmdldH0ge1xuICAgICAgQGluY2x1ZGUgcmlwcGxlLW1peGlucy50YXJnZXQtY29tbW9uKCRxdWVyeTogJHF1ZXJ5KTtcbiAgICB9XG4gIH1cblxuICAubWRjLXNlbGVjdF9fbWVudSAubWRjLWxpc3QgLm1kYy1saXN0LWl0ZW0tLXNlbGVjdGVkIHtcbiAgICBAaW5jbHVkZSByaXBwbGUtbWl4aW5zLnN0YXRlcyhvbi1zdXJmYWNlLCAkcXVlcnk6ICRxdWVyeSk7XG4gIH1cbn1cblxuQG1peGluIGluay1jb2xvcigkY29sb3IsICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gICY6bm90KC5tZGMtc2VsZWN0LS1kaXNhYmxlZCkge1xuICAgIEBpbmNsdWRlIGluay1jb2xvcl8oJGNvbG9yLCAkcXVlcnk6ICRxdWVyeSk7XG4gIH1cbn1cblxuQG1peGluIGNvbnRhaW5lci1maWxsLWNvbG9yKCRjb2xvciwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJjpub3QoLm1kYy1zZWxlY3QtLWRpc2FibGVkKSB7XG4gICAgQGluY2x1ZGUgY29udGFpbmVyLWZpbGwtY29sb3JfKCRjb2xvciwgJHF1ZXJ5OiAkcXVlcnkpO1xuICB9XG59XG5cbkBtaXhpbiBmb2N1c2VkLWxhYmVsLWNvbG9yKCRjb2xvciwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJjpub3QoLm1kYy1zZWxlY3QtLWRpc2FibGVkKSB7XG4gICAgJi5tZGMtc2VsZWN0LS1mb2N1c2VkIC5tZGMtZmxvYXRpbmctbGFiZWwge1xuICAgICAgQGluY2x1ZGUgZmxvYXRpbmctbGFiZWwtbWl4aW5zLmluay1jb2xvcih0aGVtZS12YXJpYWJsZXMucHJvcC12YWx1ZSgkY29sb3IpLCAkcXVlcnk6ICRxdWVyeSk7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBob3Zlci1ib3R0b20tbGluZS1jb2xvcigkY29sb3IsICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gICY6bm90KC5tZGMtc2VsZWN0LS1kaXNhYmxlZCk6aG92ZXIge1xuICAgIEBpbmNsdWRlIGJvdHRvbS1saW5lLWNvbG9yXygkY29sb3IsICRxdWVyeTogJHF1ZXJ5KTtcbiAgfVxufVxuXG5AbWl4aW4gYm90dG9tLWxpbmUtY29sb3IoJGNvbG9yLCAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAmOm5vdCgubWRjLXNlbGVjdC0tZGlzYWJsZWQpIHtcbiAgICBAaW5jbHVkZSBib3R0b20tbGluZS1jb2xvcl8oJGNvbG9yLCAkcXVlcnk6ICRxdWVyeSk7XG4gIH1cbn1cblxuQG1peGluIGZvY3VzZWQtYm90dG9tLWxpbmUtY29sb3IoJGNvbG9yLCAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAmOm5vdCgubWRjLXNlbGVjdC0tZGlzYWJsZWQpIHtcbiAgICBAaW5jbHVkZSBmb2N1c2VkLWxpbmUtcmlwcGxlLWNvbG9yXygkY29sb3IsICRxdWVyeTogJHF1ZXJ5KTtcbiAgfVxufVxuXG5AbWl4aW4gbGFiZWwtY29sb3IoJGNvbG9yLCAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAmOm5vdCgubWRjLXNlbGVjdC0tZGlzYWJsZWQpIC5tZGMtZmxvYXRpbmctbGFiZWwge1xuICAgIEBpbmNsdWRlIGZsb2F0aW5nLWxhYmVsLW1peGlucy5pbmstY29sb3IoJGNvbG9yLCAkcXVlcnk6ICRxdWVyeSk7XG4gIH1cbn1cblxuQG1peGluIG91dGxpbmUtY29sb3IoJGNvbG9yLCAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAmOm5vdCgubWRjLXNlbGVjdC0tZGlzYWJsZWQpIHtcbiAgICBAaW5jbHVkZSBvdXRsaW5lLWNvbG9yXygkY29sb3IsICRxdWVyeTogJHF1ZXJ5KTtcbiAgfVxufVxuXG5AbWl4aW4gaG92ZXItb3V0bGluZS1jb2xvcigkY29sb3IsICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gICY6bm90KC5tZGMtc2VsZWN0LS1kaXNhYmxlZCkge1xuICAgIEBpbmNsdWRlIGhvdmVyLW91dGxpbmUtY29sb3JfKCRjb2xvciwgJHF1ZXJ5OiAkcXVlcnkpO1xuICB9XG59XG5cbkBtaXhpbiBmb2N1c2VkLW91dGxpbmUtY29sb3IoJGNvbG9yLCAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAmOm5vdCgubWRjLXNlbGVjdC0tZGlzYWJsZWQpIHtcbiAgICBAaW5jbHVkZSBmb2N1c2VkLW91dGxpbmUtY29sb3JfKCRjb2xvciwgJHF1ZXJ5OiAkcXVlcnkpO1xuICB9XG59XG5cbkBtaXhpbiBzaGFwZS1yYWRpdXMoJHJhZGl1cywgJHJ0bC1yZWZsZXhpdmU6IGZhbHNlLCAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICBAaWYgbGlzdC5sZW5ndGgoJHJhZGl1cykgPiAyIHtcbiAgICBAZXJyb3IgXCJJbnZhbGlkIHJhZGl1czogJyN7JHJhZGl1c30nIGNvbXBvbmVudCBkb2Vzbid0IGFsbG93IGN1c3RvbWl6aW5nIGFsbCBjb3JuZXJzXCI7XG4gIH1cblxuICAkbWFza2VkLXJhZGl1czogZnVuY3Rpb25zLm1hc2stcmFkaXVzKCRyYWRpdXMsIDEgMSAwIDApO1xuXG4gIC5tZGMtc2VsZWN0X19hbmNob3Ige1xuICAgIEBpbmNsdWRlIHNoYXBlLW1peGlucy5yYWRpdXMoZnVuY3Rpb25zLnJlc29sdmUtcGVyY2VudGFnZS1yYWRpdXModmFyaWFibGVzLiRoZWlnaHQsICRtYXNrZWQtcmFkaXVzKSwgJHJ0bC1yZWZsZXhpdmUsICRxdWVyeTogJHF1ZXJ5KTtcbiAgfVxufVxuXG5AbWl4aW4gb3V0bGluZS1zaGFwZS1yYWRpdXMoJHJhZGl1cywgJHJ0bC1yZWZsZXhpdmU6IGZhbHNlLCAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAkZmVhdC1zdHJ1Y3R1cmU6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcblxuICAkcmVzb2x2ZWQtcmFkaXVzOiBsaXN0Lm50aChmdW5jdGlvbnMucmVzb2x2ZS1wZXJjZW50YWdlLXJhZGl1cyh2YXJpYWJsZXMuJGhlaWdodCwgZnVuY3Rpb25zLnByb3AtdmFsdWUoJHJhZGl1cykpLCAxKTtcblxuICBAaWYgKGxpc3QubGVuZ3RoKGZ1bmN0aW9ucy5wcm9wLXZhbHVlKCRyYWRpdXMpKSA+IDEpIHtcbiAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbWF4LWxpbmUtbGVuZ3RoXG4gICAgQHdhcm4gXCJtZGMtc2VsZWN0LW91dGxpbmUtc2hhcGUtcmFkaXVzIG9ubHkgc3VwcG9ydHMgYSBzaW5nbGUgcmFkaXVzOyBzZWUgaHR0cHM6Ly9naXRodWIuY29tL21hdGVyaWFsLWNvbXBvbmVudHMvbWF0ZXJpYWwtY29tcG9uZW50cy13ZWIvaXNzdWVzLzQxNDBcIjtcbiAgfVxuXG4gIC5tZGMtbm90Y2hlZC1vdXRsaW5lIHtcbiAgICBAaW5jbHVkZSBub3RjaGVkLW91dGxpbmUtbWl4aW5zLnNoYXBlLXJhZGl1cygkcmVzb2x2ZWQtcmFkaXVzLCAkcnRsLXJlZmxleGl2ZSwgJHF1ZXJ5OiAkcXVlcnkpO1xuICB9XG5cbiAgLm1kYy1zZWxlY3RfX3NlbGVjdGVkLXRleHQge1xuICAgIEBpbmNsdWRlIHNoYXBlLW1peGlucy5yYWRpdXMoJHJlc29sdmVkLXJhZGl1cywgJHJ0bC1yZWZsZXhpdmUsICRxdWVyeTogJHF1ZXJ5KTtcbiAgfVxuXG4gIEBpZiAoJHJlc29sdmVkLXJhZGl1cyA+IG5vdGNoZWQtb3V0bGluZS12YXJpYWJsZXMuJGxlYWRpbmctd2lkdGgpIHtcbiAgICAubWRjLXNlbGVjdF9fYW5jaG9yIHtcbiAgICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgICBAaW5jbHVkZSBydGwtbWl4aW5zLnJlZmxleGl2ZS1wcm9wZXJ0eShcbiAgICAgICAgICBwYWRkaW5nLFxuICAgICAgICAgICRyZXNvbHZlZC1yYWRpdXMgKyBub3RjaGVkLW91dGxpbmUtdmFyaWFibGVzLiRwYWRkaW5nLFxuICAgICAgICAgIDBcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICArIC5tZGMtc2VsZWN0LWhlbHBlci10ZXh0IHtcbiAgICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgICBAaW5jbHVkZSBydGwtbWl4aW5zLnJlZmxleGl2ZS1wcm9wZXJ0eShcbiAgICAgICAgICBtYXJnaW4sXG4gICAgICAgICAgJHJlc29sdmVkLXJhZGl1cyArIG5vdGNoZWQtb3V0bGluZS12YXJpYWJsZXMuJHBhZGRpbmcsXG4gICAgICAgICAgdmFyaWFibGVzLiRvdXRsaW5lLWxhYmVsLW9mZnNldFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBQcml2YXRlXG5AbWl4aW4gZm9jdXNlZC1saW5lLXJpcHBsZV8ge1xuICAmLm1kYy1zZWxlY3QtLWZvY3VzZWQgLm1kYy1saW5lLXJpcHBsZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuQG1peGluIGZvY3VzZWQtb3V0bGluZV8ge1xuICAmLm1kYy1zZWxlY3QtLWZvY3VzZWQgLm1kYy1ub3RjaGVkLW91dGxpbmUge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiBmb2N1c2VkLW91dGxpbmUtaWRsZV8ge1xuICAmLm1kYy1zZWxlY3QtLWZvY3VzZWQge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiBpbmstY29sb3JfKCRjb2xvciwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJGZlYXQtY29sb3I6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgY29sb3IpO1xuXG4gIC5tZGMtc2VsZWN0X19zZWxlY3RlZC10ZXh0IHtcbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1jb2xvcikge1xuICAgICAgQGluY2x1ZGUgdGhlbWUtbWl4aW5zLnByb3AoY29sb3IsICRjb2xvcik7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBjb250YWluZXItZmlsbC1jb2xvcl8oJGNvbG9yLCAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAkZmVhdC1jb2xvcjogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBjb2xvcik7XG5cbiAgLm1kYy1zZWxlY3RfX2FuY2hvciB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtY29sb3IpIHtcbiAgICAgIEBpbmNsdWRlIHRoZW1lLW1peGlucy5wcm9wKGJhY2tncm91bmQtY29sb3IsICRjb2xvcik7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBib3R0b20tbGluZS1jb2xvcl8oJGNvbG9yLCAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAubWRjLWxpbmUtcmlwcGxlIHtcbiAgICBAaW5jbHVkZSBsaW5lLXJpcHBsZS1taXhpbnMuaW5hY3RpdmUtY29sb3IoJGNvbG9yLCAkcXVlcnk6ICRxdWVyeSk7XG4gIH1cbn1cblxuQG1peGluIGZvY3VzZWQtbGluZS1yaXBwbGUtY29sb3JfKCRjb2xvciwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgQGluY2x1ZGUgZm9jdXNlZC1saW5lLXJpcHBsZV8ge1xuICAgIEBpbmNsdWRlIGxpbmUtcmlwcGxlLW1peGlucy5hY3RpdmUtY29sb3IoJGNvbG9yLCAkcXVlcnk6ICRxdWVyeSk7XG4gIH1cbn1cblxuQG1peGluIGRkLWFycm93LXN2Zy1iZ18oJGZpbGwtaGV4LW51bWJlciwgJG9wYWNpdHksICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gIC8vIExvb2t1cCBjb2xvciBhbmQgcmVtb3ZlIGxlYWRpbmcgIy5cbiAgJGZpbGwtaGV4LW51bWJlcjogdGhlbWUtdmFyaWFibGVzLnByb3AtdmFsdWUoJGZpbGwtaGV4LW51bWJlcik7XG4gICRmaWxsLWhleC1udW1iZXI6IHN0cmluZy5zbGljZShzdHJpbmcudW5xdW90ZShcIiN7JGZpbGwtaGV4LW51bWJlcn1cIiksIDIpO1xuXG4gICRmZWF0LXN0cnVjdHVyZTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBzdHJ1Y3R1cmUpO1xuXG4gIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBmdW5jdGlvbi11cmwtcXVvdGVzXG4gICAgYmFja2dyb3VuZDogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnJTIwd2lkdGglM0QlMjIxMHB4JTIyJTIwaGVpZ2h0JTNEJTIyNXB4JTIyJTIwdmlld0JveCUzRCUyMjclMjAxMCUyMDEwJTIwNSUyMiUyMHZlcnNpb24lM0QlMjIxLjElMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUyMHhtbG5zJTNBeGxpbmslM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjE5OTklMkZ4bGluayUyMiUzRSUwQSUyMCUyMCUyMCUyMCUzQ3BvbHlnb24lMjBpZCUzRCUyMlNoYXBlJTIyJTIwc3Ryb2tlJTNEJTIybm9uZSUyMiUyMGZpbGwlM0QlMjIlMjMjeyRmaWxsLWhleC1udW1iZXJ9JTIyJTIwZmlsbC1ydWxlJTNEJTIyZXZlbm9kZCUyMiUyMG9wYWNpdHklM0QlMjIjeyRvcGFjaXR5fSUyMiUyMHBvaW50cyUzRCUyMjclMjAxMCUyMDEyJTIwMTUlMjAxNyUyMDEwJTIyJTNFJTNDJTJGcG9seWdvbiUzRSUwQSUzQyUyRnN2ZyUzRScpXG4gICAgICBuby1yZXBlYXRcbiAgICAgIGNlbnRlcjtcbiAgfVxufVxuXG5AbWl4aW4gb3V0bGluZS1jb2xvcl8oJGNvbG9yLCAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICBAaW5jbHVkZSBub3RjaGVkLW91dGxpbmUtbWl4aW5zLmNvbG9yKCRjb2xvciwgJHF1ZXJ5OiAkcXVlcnkpO1xufVxuXG5AbWl4aW4gaG92ZXItb3V0bGluZS1jb2xvcl8oJGNvbG9yLCAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2VsZWN0b3ItY29tYmluYXRvci1zcGFjZS1hZnRlclxuICAmOm5vdCgubWRjLXNlbGVjdC0tZm9jdXNlZCkgLm1kYy1zZWxlY3RfX2FuY2hvcjpob3ZlciB7XG4gICAgLm1kYy1ub3RjaGVkLW91dGxpbmUge1xuICAgICAgQGluY2x1ZGUgbm90Y2hlZC1vdXRsaW5lLW1peGlucy5jb2xvcigkY29sb3IsICRxdWVyeTogJHF1ZXJ5KTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvY3VzZWQtb3V0bGluZS1jb2xvcl8oJGNvbG9yLCAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICBAaW5jbHVkZSBmb2N1c2VkLW91dGxpbmVfIHtcbiAgICBAaW5jbHVkZSBub3RjaGVkLW91dGxpbmUtbWl4aW5zLnN0cm9rZS13aWR0aCh2YXJpYWJsZXMuJG91dGxpbmVkLXN0cm9rZS13aWR0aCwgJHF1ZXJ5OiAkcXVlcnkpO1xuICAgIEBpbmNsdWRlIG5vdGNoZWQtb3V0bGluZS1taXhpbnMuY29sb3IoJGNvbG9yLCAkcXVlcnk6ICRxdWVyeSk7XG4gIH1cbn1cblxuQG1peGluIGZsb2F0aW5nLWxhYmVsXygkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAkZmVhdC1zdHJ1Y3R1cmU6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcblxuICAubWRjLWZsb2F0aW5nLWxhYmVsIHtcbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIEBpbmNsdWRlIHJ0bC1taXhpbnMucmVmbGV4aXZlLXBvc2l0aW9uKGxlZnQsIHZhcmlhYmxlcy4kb3V0bGluZS1sYWJlbC1vZmZzZXQpO1xuXG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cbiAgfVxuXG4gICYubWRjLXNlbGVjdC0tb3V0bGluZWQge1xuICAgIC5tZGMtZmxvYXRpbmctbGFiZWwge1xuICAgICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICAgIEBpbmNsdWRlIHJ0bC1taXhpbnMucmVmbGV4aXZlLXBvc2l0aW9uKGxlZnQsIG5vdGNoZWQtb3V0bGluZS12YXJpYWJsZXMuJHBhZGRpbmcpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gd2l0aC1sZWFkaW5nLWljb25fKCRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gICRmZWF0LXN0cnVjdHVyZTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBzdHJ1Y3R1cmUpO1xuXG4gICRpY29uLXRvdGFsLXdpZHRoOiBpY29uLXZhcmlhYmxlcy4kaWNvbi1zaXplICsgMiAqIGljb24tdmFyaWFibGVzLiRpY29uLWhvcml6b250YWwtbWFyZ2luO1xuXG4gIC5tZGMtZmxvYXRpbmctbGFiZWwge1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgQGluY2x1ZGUgcnRsLW1peGlucy5yZWZsZXhpdmUtcG9zaXRpb24obGVmdCwgJGljb24tdG90YWwtd2lkdGgpO1xuICAgIH1cbiAgfVxuXG4gICYubWRjLXNlbGVjdC0tb3V0bGluZWQge1xuICAgIC5tZGMtZmxvYXRpbmctbGFiZWwge1xuICAgICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICAgIEBpbmNsdWRlIHJ0bC1taXhpbnMucmVmbGV4aXZlLXBvc2l0aW9uKGxlZnQsICRpY29uLXRvdGFsLXdpZHRoIC0gbm90Y2hlZC1vdXRsaW5lLXZhcmlhYmxlcy4kbGVhZGluZy13aWR0aCk7XG4gICAgICB9XG5cbiAgICAgICYtLWZsb2F0LWFib3ZlIHtcbiAgICAgICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICAgICAgQGluY2x1ZGUgcnRsLW1peGlucy5yZWZsZXhpdmUtcG9zaXRpb24obGVmdCwgJGljb24tdG90YWwtd2lkdGggLSBub3RjaGVkLW91dGxpbmUtdmFyaWFibGVzLiRsZWFkaW5nLXdpZHRoKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG5vdGNoZWQtb3V0bGluZS1taXhpbnMuZmxvYXRpbmctbGFiZWwtZmxvYXQtcG9zaXRpb24tYWJzb2x1dGUoXG4gICAgICB2YXJpYWJsZXMuJG91dGxpbmVkLWxhYmVsLXBvc2l0aW9uLXksXG4gICAgICAkaWNvbi10b3RhbC13aWR0aCAtIGljb24tdmFyaWFibGVzLiRpY29uLWhvcml6b250YWwtbWFyZ2luIC0gbm90Y2hlZC1vdXRsaW5lLXZhcmlhYmxlcy4kbm90Y2gtZ3V0dGVyLXNpemUsXG4gICAgICAkcXVlcnk6ICRxdWVyeVxuICAgICk7XG4gICAgQGluY2x1ZGUgZmxvYXRpbmctbGFiZWwtbWl4aW5zLnNoYWtlLWFuaW1hdGlvbihzZWxlY3Qtb3V0bGluZWQtbGVhZGluZy1pY29uLCAkcXVlcnk6ICRxdWVyeSk7XG5cbiAgICBAaW5jbHVkZSBydGwtbWl4aW5zLnJ0bCB7XG4gICAgICBAaW5jbHVkZSBmbG9hdGluZy1sYWJlbC1taXhpbnMuc2hha2UtYW5pbWF0aW9uKHNlbGVjdC1vdXRsaW5lZC1sZWFkaW5nLWljb24tcnRsLCAkcXVlcnk6ICRxdWVyeSk7XG4gICAgfVxuICB9XG5cbiAgJi5tZGMtc2VsZWN0X19tZW51IC5tZGMtbGlzdC1pdGVtX190ZXh0IHtcbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIEBpbmNsdWRlIHJ0bC1taXhpbnMucmVmbGV4aXZlLXByb3BlcnR5KHBhZGRpbmcsIDMycHggLyogbGVmdC12YWx1ZSAqLywgMzJweCAvKiByaWdodC12YWx1ZSAqLyk7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiB0ZXh0XygkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAkZmVhdC1zdHJ1Y3R1cmU6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcbiAgJGZlYXQtY29sb3I6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgY29sb3IpO1xuXG4gIC5tZGMtc2VsZWN0X19zZWxlY3RlZC10ZXh0IHtcbiAgICBAaW5jbHVkZSB0eXBvZ3JhcGh5LW1peGlucy50eXBvZ3JhcGh5KHN1YnRpdGxlMSwgJHF1ZXJ5OiAkcXVlcnkpO1xuXG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICAmOjotbXMtZXhwYW5kIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cblxuICAgICAgJjo6LW1zLXZhbHVlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgfVxuXG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgd2lkdGg6IDA7XG4gICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICBoZWlnaHQ6IHZhcmlhYmxlcy4kc2VsZWN0ZWQtdGV4dC1oZWlnaHQ7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1jb2xvcikge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBjb2xvcjogaW5oZXJpdDsgLy8gT3ZlcnJpZGUgZGVmYXVsdCB1c2VyIGFnZW50IHN0eWxlc2hlZXRcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGRpc2FibGVkXygkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAkZmVhdC1jb2xvcjogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBjb2xvcik7XG4gICRmZWF0LXN0cnVjdHVyZTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBzdHJ1Y3R1cmUpO1xuXG4gIEBpbmNsdWRlIGNvbnRhaW5lci1maWxsLWNvbG9yXyh2YXJpYWJsZXMuJGRpc2FibGVkLWZpbGwtY29sb3IsICRxdWVyeTogJHF1ZXJ5KTtcblxuICAubWRjLWZsb2F0aW5nLWxhYmVsIHtcbiAgICBAaW5jbHVkZSBmbG9hdGluZy1sYWJlbC1taXhpbnMuaW5rLWNvbG9yKHZhcmlhYmxlcy4kZGlzYWJsZWQtbGFiZWwtY29sb3IsICRxdWVyeTogJHF1ZXJ5KTtcbiAgfVxuXG4gIC5tZGMtc2VsZWN0X19kcm9wZG93bi1pY29uIHtcbiAgICBAaW5jbHVkZSBkZC1hcnJvdy1zdmctYmdfKHZhcmlhYmxlcy4kZHJvcGRvd24tY29sb3IsIHZhcmlhYmxlcy4kZGlzYWJsZWQtZHJvcGRvd24tb3BhY2l0eSwgJHF1ZXJ5OiAkcXVlcnkpO1xuICB9XG5cbiAgLm1kYy1saW5lLXJpcHBsZSB7XG4gICAgQGluY2x1ZGUgbGluZS1yaXBwbGUtbWl4aW5zLmluYWN0aXZlLWNvbG9yKHZhcmlhYmxlcy4kZGlzYWJsZWQtaW5rLWNvbG9yLCAkcXVlcnk6ICRxdWVyeSk7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICAgIC8vIFRPRE8oYi8xNDYwODAwMDYpOiBGaXggaW5jb3JyZWN0IHN0eWxpbmdcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogZG90dGVkO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5tZGMtc2VsZWN0X19pY29uIHtcbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1jb2xvcikge1xuICAgICAgQGluY2x1ZGUgdGhlbWUtbWl4aW5zLnByb3AoY29sb3IsIHZhcmlhYmxlcy4kZGlzYWJsZWQtaWNvbi1jb2xvcik7XG4gICAgfVxuICB9XG5cbiAgLm1kYy1zZWxlY3RfX3NlbGVjdGVkLXRleHQge1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LWNvbG9yKSB7XG4gICAgICBAaW5jbHVkZSB0aGVtZS1taXhpbnMucHJvcChjb2xvciwgdmFyaWFibGVzLiRkaXNhYmxlZC1pbmstY29sb3IpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgJi5tZGMtc2VsZWN0LS1vdXRsaW5lZCB7XG4gICAgQGluY2x1ZGUgY29udGFpbmVyLWZpbGwtY29sb3JfKHRyYW5zcGFyZW50LCAkcXVlcnk6ICRxdWVyeSk7XG4gICAgQGluY2x1ZGUgb3V0bGluZS1jb2xvcl8odmFyaWFibGVzLiRvdXRsaW5lZC1kaXNhYmxlZC1ib3JkZXIsICRxdWVyeTogJHF1ZXJ5KTtcbiAgfVxuXG4gIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgfVxufVxuXG5AbWl4aW4gb3V0bGluZWRfKCRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gICRmZWF0LXN0cnVjdHVyZTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBzdHJ1Y3R1cmUpO1xuICAkZmVhdC1jb2xvcjogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBjb2xvcik7XG5cbiAgQGluY2x1ZGUgY29udGFpbmVyLWZpbGwtY29sb3IodHJhbnNwYXJlbnQsICRxdWVyeTogJHF1ZXJ5KTtcbiAgQGluY2x1ZGUgb3V0bGluZS1jb2xvcih2YXJpYWJsZXMuJG91dGxpbmVkLWlkbGUtYm9yZGVyLCAkcXVlcnk6ICRxdWVyeSk7XG4gIEBpbmNsdWRlIGhvdmVyLW91dGxpbmUtY29sb3IodmFyaWFibGVzLiRvdXRsaW5lZC1ob3Zlci1ib3JkZXIsICRxdWVyeTogJHF1ZXJ5KTtcbiAgQGluY2x1ZGUgZm9jdXNlZC1vdXRsaW5lLWNvbG9yKHByaW1hcnksICRxdWVyeTogJHF1ZXJ5KTtcbiAgQGluY2x1ZGUgb3V0bGluZS1zaGFwZS1yYWRpdXMoc21hbGwsICRxdWVyeTogJHF1ZXJ5KTtcbiAgQGluY2x1ZGUgY29udGFpbmVyLWZpbGwtY29sb3IodHJhbnNwYXJlbnQsICRxdWVyeTogJHF1ZXJ5KTtcblxuICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICBib3JkZXI6IG5vbmU7XG4gIH1cblxuICAubWRjLXNlbGVjdF9fYW5jaG9yIHtcbiAgICBAaW5jbHVkZSBmbG9hdGluZy1sYWJlbC1taXhpbnMuc2hha2UtYW5pbWF0aW9uKHNlbGVjdC1vdXRsaW5lZCwgJHF1ZXJ5OiAkcXVlcnkpO1xuICAgIEBpbmNsdWRlIG5vdGNoZWQtb3V0bGluZS1taXhpbnMuZmxvYXRpbmctbGFiZWwtZmxvYXQtcG9zaXRpb24tYWJzb2x1dGUodmFyaWFibGVzLiRvdXRsaW5lZC1sYWJlbC1wb3NpdGlvbi15LCAkcXVlcnk6ICRxdWVyeSk7XG4gICAgQGluY2x1ZGUgbm90Y2hlZC1vdXRsaW5lLW1peGlucy5ub3RjaC1vZmZzZXQobm90Y2hlZC1vdXRsaW5lLXZhcmlhYmxlcy4kYm9yZGVyLXdpZHRoLCAkcXVlcnk6ICRxdWVyeSk7XG5cbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIH1cbiAgfVxuXG4gIC5tZGMtc2VsZWN0X19zZWxlY3RlZC10ZXh0IHtcbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICB6LWluZGV4OiAxO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LWNvbG9yKSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG4gIH1cblxuICAubWRjLXNlbGVjdF9faWNvbiB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICB6LWluZGV4OiAyO1xuICAgIH1cbiAgfVxuXG4gIC5tZGMtZmxvYXRpbmctbGFiZWwge1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMTVyZW07XG4gICAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICB9XG4gIH1cblxuICAmLm1kYy1zZWxlY3QtLWZvY3VzZWQge1xuICAgIEBpbmNsdWRlIG5vdGNoZWQtb3V0bGluZS1taXhpbnMubm90Y2gtb2Zmc2V0KHZhcmlhYmxlcy4kb3V0bGluZWQtc3Ryb2tlLXdpZHRoLCAkcXVlcnk6ICRxdWVyeSk7XG4gIH1cbn1cblxuQG1peGluIGhlbHBlci10ZXh0XygkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAkZmVhdC1zdHJ1Y3R1cmU6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcblxuICAubWRjLXNlbGVjdC1oZWxwZXItdGV4dCB7XG4gICAgLy8gc3R5bGVsaW50LWRpc2FibGUgcGx1Z2luL3NlbGVjdG9yLWJlbS1wYXR0ZXJuXG4gICAgLm1kYy1zZWxlY3RfX2FuY2hvciArICYge1xuICAgICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTZweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDE2cHg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm1kYy1zZWxlY3QtLWZvY3VzZWQgLm1kYy1zZWxlY3RfX2FuY2hvciArIC5tZGMtc2VsZWN0LWhlbHBlci10ZXh0Om5vdCgubWRjLXNlbGVjdC1oZWxwZXItdGV4dC0tdmFsaWRhdGlvbi1tc2cpIHtcbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIGhvcml6b250YWwgcGFkZGluZyB0byB0aGUgc2VsZWN0ZWQgdGV4dFxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRsZWZ0IC0gbGVmdCBzaWRlIHBhZGRpbmdcbi8vLyBAcGFyYW0ge051bWJlcn0gJGxlZnQtd2l0aC1sZWFkaW5nLWljb24gLSBsZWZ0LXNpZGUgcGFkZGluZyB3aGVuIGEgbGVhZGluZ1xuLy8vICAgICBpY29uIGlzIHByZXNlbnRcbi8vLyBAcGFyYW0ge051bWJlcn0gJHJpZ2h0IC0gcmlnaHQtc2lkZSBwYWRkaW5nOyBub3RlIHRoYXQgYSB0cmFpbGluZyBpY29uIGlzXG4vLy8gICAgIGFsd2F5cyBwcmVzZW50LlxuQG1peGluIHBhZGRpbmctaG9yaXpvbnRhbF8oXG4gICRsZWZ0LFxuICAkbGVmdC13aXRoLWxlYWRpbmctaWNvbixcbiAgJHJpZ2h0LFxuICAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKVxuKSB7XG4gICRmZWF0LXN0cnVjdHVyZTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBzdHJ1Y3R1cmUpO1xuXG4gIC5tZGMtc2VsZWN0X19hbmNob3Ige1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgQGluY2x1ZGUgcnRsLW1peGlucy5yZWZsZXhpdmUtcHJvcGVydHkoXG4gICAgICAgIHBhZGRpbmcsXG4gICAgICAgICRsZWZ0LFxuICAgICAgICAkcmlnaHRcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgJi5tZGMtc2VsZWN0LS13aXRoLWxlYWRpbmctaWNvbiAubWRjLXNlbGVjdF9fYW5jaG9yIHtcbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIEBpbmNsdWRlIHJ0bC1taXhpbnMucmVmbGV4aXZlLXByb3BlcnR5KFxuICAgICAgICBwYWRkaW5nLFxuICAgICAgICAkbGVmdC13aXRoLWxlYWRpbmctaWNvbixcbiAgICAgICAgJHJpZ2h0XG4gICAgICApO1xuICAgIH1cbiAgfVxufVxuXG4vLy9cbi8vLyBTZXRzIGhlaWdodCBvZiBkZWZhdWx0IHNlbGVjdCB2YXJpYW50LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRoZWlnaHRcbi8vLyBAcGFyYW0ge051bWJlcn0gJG1pbmltdW0taGVpZ2h0LWZvci1maWxsZWQtbGFiZWwgU2V0cyB0aGUgbWluaW11bSBoZWlnaHQgZm9yXG4vLy8gICAgIGZpbGxlZCBzZWxlY3RzIGF0IHdoaWNoIHRvIGFsbG93IGZsb2F0aW5nIGxhYmVscy5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGZpbGxlZC1iYXNlbGluZS10b3AgVGhlIGJhc2VsaW5lIGZyb20gdGhlIHRvcCBvZiB0aGUgYW5jaG9yXG4vLy8gICAgIHRoYXQgdGhlIGlucHV0IHNob3VsZCBiZSBhbGlnbmVkIHRvIGZvciBhIGZpbGxlZCB2YXJpYW50IHdpdGggYSBsYWJlbFxuLy8vIEBhY2Nlc3MgcHVibGljXG4vLy9cbkBtaXhpbiBoZWlnaHQoXG4gICRoZWlnaHQsXG4gICRtaW5pbXVtLWhlaWdodC1mb3ItZmlsbGVkLWxhYmVsOiB2YXJpYWJsZXMuJG1pbmltdW0taGVpZ2h0LWZvci1maWxsZWQtbGFiZWwsXG4gICRmaWxsZWQtYmFzZWxpbmUtdG9wOiB2YXJpYWJsZXMuJGZpbGxlZC1iYXNlbGluZS10b3AsXG4gICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpXG4pIHtcbiAgJGZlYXQtc3RydWN0dXJlOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG4gIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgIGhlaWdodDogJGhlaWdodDtcbiAgfVxuXG4gIC8vIEZpbGxlZCB2YXJpYW50IGlzIGFsaWduZWQgdG8gYmFzZWxpbmUuLi5cbiAgQGluY2x1ZGUgdHlwb2dyYXBoeS1taXhpbnMuYmFzZWxpbmUoJHRvcDogJGZpbGxlZC1iYXNlbGluZS10b3AsICRkaXNwbGF5OiBpbmxpbmUtZmxleCwgJHF1ZXJ5OiAkcXVlcnkpO1xuICAvLyAuLi51bmxlc3MgaXQgaXMgdG9vIHNtYWxsIHRvIGRpc3BsYXkgYSBsYWJlbFxuICBAaWYgJGhlaWdodCA8ICRtaW5pbXVtLWhlaWdodC1mb3ItZmlsbGVkLWxhYmVsIHtcbiAgICBAaW5jbHVkZSBjZW50ZXItYWxpZ25lZF8oJHF1ZXJ5OiAkcXVlcnkpO1xuXG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICAmOm5vdCgubWRjLXNlbGVjdC0tb3V0bGluZWQpIHtcbiAgICAgICAgLm1kYy1mbG9hdGluZy1sYWJlbCB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIE91dGxpbmVkIGFuZCBuby1sYWJlbCB2YXJpYW50cyBhcmUgYWx3YXlzIGNlbnRlcmVkXG4gIC5tZGMtc2VsZWN0LS1vdXRsaW5lZCAmLFxuICAubWRjLXNlbGVjdC0tbm8tbGFiZWwgJiB7XG4gICAgQGluY2x1ZGUgY2VudGVyLWFsaWduZWRfKCRxdWVyeTogJHF1ZXJ5KTtcbiAgfVxufVxuXG4vLyBSZW1vdmVzIGZpbGxlZCBiYXNlbGluZSBhbGlnbm1lbnRcbkBtaXhpbiBjZW50ZXItYWxpZ25lZF8oJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJGZlYXQtc3RydWN0dXJlOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG5cbiAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgLy8gSW4gb3JkZXIgZm9yIGEgZmxleGJveCBjb250YWluZXIgdG8gcGFydGljaXBhdGUgaW4gYmFzZWxpbmUgYWxpZ25tZW50LFxuICAgIC8vIGl0IGZvbGxvd3MgdGhlc2UgcnVsZXMgdG8gZGV0ZXJtaW5lIHdoZXJlIGl0cyBiYXNlbGluZSBpczpcbiAgICAvLyBodHRwczovL3d3dy53My5vcmcvVFIvY3NzLWZsZXhib3gtMS8jZmxleC1iYXNlbGluZXNcbiAgICAvL1xuICAgIC8vIEluIG9yZGVyIHRvIGF2b2lkIGxlYWRpbmcgaWNvbnMgXCJjb250cm9sbGluZ1wiIHRoZSBiYXNlbGluZSAoc2luY2UgdGhleVxuICAgIC8vIGFyZSB0aGUgZmlyc3QgY2hpbGQpLCBmbGV4Ym94IHdpbGwgZ2VuZXJhdGUgYSBiYXNlbGluZSBmcm9tIGFueSBjaGlsZFxuICAgIC8vIGZsZXggaXRlbXMgdGhhdCBwYXJ0aWNpcGF0ZSBpbiBiYXNlbGluZSBhbGlnbm1lbnQuXG4gICAgLy9cbiAgICAvLyBJY29ucyBhcmUgc2V0IHRvIFwiYWxpZ24tc2VsZjogY2VudGVyXCIsIHdoaWxlIGFsbCBvdGhlciBjaGlsZHJlbiBhcmVcbiAgICAvLyBhbGlnbmVkIHRvIGJhc2VsaW5lLiBUaGUgbmV4dCBwcm9ibGVtIGlzIGRlY2lkaW5nIHdoaWNoIGNoaWxkIGlzXG4gICAgLy8gdXNlZCB0byBkZXRlcm1pbmUgdGhlIGJhc2VsaW5lLlxuICAgIC8vXG4gICAgLy8gQWNjb3JkaW5nIHRvIHNwZWMsIHRoZSBpdGVtIHdpdGggdGhlIGxhcmdlc3QgZGlzdGFuY2UgYmV0d2VlbiBpdHNcbiAgICAvLyBiYXNlbGluZSBhbmQgdGhlIGVkZ2Ugb2YgdGhlIGNyb3NzIGF4aXMgaXMgcGxhY2VkIGZsdXNoIHdpdGggdGhhdCBlZGdlLFxuICAgIC8vIG1ha2luZyBpdCB0aGUgYmFzZWxpbmUgb2YgdGhlIGNvbnRhaW5lci5cbiAgICAvLyBodHRwczovL3d3dy53My5vcmcvVFIvY3NzLWZsZXhib3gtMS8jYmFzZWxpbmUtcGFydGljaXBhdGlvblxuICAgIC8vXG4gICAgLy8gRm9yIHRoZSBmaWxsZWQgdmFyaWFudCwgdGhlIHBzZXVkbyA6OmJlZm9yZSBzdHJ1dCBpcyB0aGUgXCJsYXJnZXN0XCJcbiAgICAvLyBjaGlsZCBzaW5jZSB0aGUgaW5wdXQgaGFzIGEgaGVpZ2h0IG9mIDI4cHggYW5kIHRoZSBzdHJ1dCBpcyA0MHB4LiBXZVxuICAgIC8vIGNhbiBlbXVsYXRlIGNlbnRlciBhbGlnbm1lbnQgYW5kIGZvcmNlIHRoZSBiYXNlbGluZSB0byB1c2UgdGhlIGlucHV0XG4gICAgLy8gdGV4dCBieSBtYWtpbmcgdGhlIGlucHV0IHRoZSBmdWxsIGhlaWdodCBvZiB0aGUgY29udGFpbmVyIGFuZCByZW1vdmluZ1xuICAgIC8vIHRoZSBiYXNlbGluZSBzdHJ1dC5cbiAgICAvL1xuICAgIC8vIElFMTEgZG9lcyBub3QgcmVzcGVjdCB0aGlzLCBhbmQgbWFrZXMgdGhlIGxlYWRpbmcgaWNvbiAoaWYgcHJlc2VudClcbiAgICAvLyB0aGUgYmFzZWxpbmUuXG4gICAgLm1kYy1zZWxlY3RfX3NlbGVjdGVkLXRleHQge1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxufVxuIiwiLy9cbi8vIENvcHlyaWdodCAyMDE3IEdvb2dsZSBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cbi8vXG5cbkB1c2UgXCJzYXNzOmNvbG9yXCI7XG5AdXNlIFwiQG1hdGVyaWFsL25vdGNoZWQtb3V0bGluZS92YXJpYWJsZXNcIiBhcyBub3RjaGVkLW91dGxpbmUtdmFyaWFibGVzO1xuQHVzZSBcIkBtYXRlcmlhbC90aGVtZS92YXJpYWJsZXNcIjtcblxuQGZ1bmN0aW9uIGdldC1vdXRsaW5lZC1sYWJlbC1wb3NpdGlvbi15KCRzZWxlY3QtYW5jaG9yLWhlaWdodCkge1xuICBAcmV0dXJuICRzZWxlY3QtYW5jaG9yLWhlaWdodCAvIDIgKyBub3RjaGVkLW91dGxpbmUtdmFyaWFibGVzLiRsYWJlbC1ib3gtaGVpZ2h0IC8gMjtcbn1cbiRyaXBwbGUtdGFyZ2V0OiAnLm1kYy1zZWxlY3RfX3JpcHBsZSc7XG4kYXJyb3ctcGFkZGluZzogNTJweCAhZGVmYXVsdDtcbiRsYWJlbC1wYWRkaW5nOiAxNnB4ICFkZWZhdWx0O1xuJGhlaWdodDogNTZweCAhZGVmYXVsdDtcbiRtaW5pbXVtLWhlaWdodC1mb3ItZmlsbGVkLWxhYmVsOiA1MnB4ICFkZWZhdWx0O1xuJGZpbGxlZC1iYXNlbGluZS10b3A6IDQwcHggIWRlZmF1bHQ7XG4kc2VsZWN0ZWQtdGV4dC1oZWlnaHQ6IDI4cHggIWRlZmF1bHQ7XG4kYW5jaG9yLXBhZGRpbmctbGVmdDogMTZweCAhZGVmYXVsdDtcbiRhbmNob3ItcGFkZGluZy1sZWZ0LXdpdGgtbGVhZGluZy1pY29uOiAwICFkZWZhdWx0O1xuJGFuY2hvci1wYWRkaW5nLXJpZ2h0OiAwICFkZWZhdWx0O1xuJG91dGxpbmVkLXN0cm9rZS13aWR0aDogMnB4ICFkZWZhdWx0O1xuXG4kaW5rLWNvbG9yOiByZ2JhKHZhcmlhYmxlcy5wcm9wLXZhbHVlKG9uLXN1cmZhY2UpLCAuODcpICFkZWZhdWx0O1xuJGRyb3Bkb3duLWNvbG9yOiB2YXJpYWJsZXMucHJvcC12YWx1ZShvbi1zdXJmYWNlKSAhZGVmYXVsdDtcbiRpY29uLWNvbG9yOiByZ2JhKHZhcmlhYmxlcy5wcm9wLXZhbHVlKG9uLXN1cmZhY2UpLCAuNTQpICFkZWZhdWx0O1xuJGxhYmVsLWNvbG9yOiByZ2JhKHZhcmlhYmxlcy5wcm9wLXZhbHVlKG9uLXN1cmZhY2UpLCAuNikgIWRlZmF1bHQ7XG4kZm9jdXNlZC1sYWJlbC1jb2xvcjogcmdiYSh2YXJpYWJsZXMucHJvcC12YWx1ZShwcmltYXJ5KSwgLjg3KSAhZGVmYXVsdDtcbiRib3R0b20tbGluZS1pZGxlLWNvbG9yOiByZ2JhKHZhcmlhYmxlcy5wcm9wLXZhbHVlKG9uLXN1cmZhY2UpLCAuNDIpICFkZWZhdWx0O1xuJGJvdHRvbS1saW5lLWhvdmVyLWNvbG9yOiByZ2JhKHZhcmlhYmxlcy5wcm9wLXZhbHVlKG9uLXN1cmZhY2UpLCAuODcpICFkZWZhdWx0O1xuJGhlbHBlci10ZXh0LWNvbG9yOiByZ2JhKHZhcmlhYmxlcy5wcm9wLXZhbHVlKG9uLXN1cmZhY2UpLCAuNikgIWRlZmF1bHQ7XG5cbiRmaWxsLWNvbG9yOiBjb2xvci5taXgodmFyaWFibGVzLnByb3AtdmFsdWUob24tc3VyZmFjZSksIHZhcmlhYmxlcy5wcm9wLXZhbHVlKHN1cmZhY2UpLCA0JSkgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1vcGFjaXR5OiAuNTQgIWRlZmF1bHQ7XG5cbi8vIERpc2FibGVkIFN0eWxlc1xuJGRpc2FibGVkLWxhYmVsLWNvbG9yOiByZ2JhKHZhcmlhYmxlcy5wcm9wLXZhbHVlKG9uLXN1cmZhY2UpLCAuMzgpICFkZWZhdWx0O1xuJGRpc2FibGVkLWljb24tY29sb3I6IHJnYmEodmFyaWFibGVzLnByb3AtdmFsdWUob24tc3VyZmFjZSksIC4zOCkgIWRlZmF1bHQ7XG4kZGlzYWJsZWQtaW5rLWNvbG9yOiByZ2JhKHZhcmlhYmxlcy5wcm9wLXZhbHVlKG9uLXN1cmZhY2UpLCAuMzgpICFkZWZhdWx0O1xuJGRpc2FibGVkLWZpbGwtY29sb3I6IGNvbG9yLm1peCh2YXJpYWJsZXMucHJvcC12YWx1ZShvbi1zdXJmYWNlKSwgdmFyaWFibGVzLnByb3AtdmFsdWUoc3VyZmFjZSksIDIlKSAhZGVmYXVsdDtcbiRkaXNhYmxlZC1kcm9wZG93bi1vcGFjaXR5OiAuMzggIWRlZmF1bHQ7XG5cbiRvdXRsaW5lZC1pZGxlLWJvcmRlcjogcmdiYSh2YXJpYWJsZXMucHJvcC12YWx1ZShvbi1zdXJmYWNlKSwgLjM4KSAhZGVmYXVsdDtcbiRvdXRsaW5lZC1ob3Zlci1ib3JkZXI6IHJnYmEodmFyaWFibGVzLnByb3AtdmFsdWUob24tc3VyZmFjZSksIC44NykgIWRlZmF1bHQ7XG5cbi8vIHNob3VsZCBiZSAuMDYgYWZ0ZXIgbWRjLXNlbGVjdCBvcGFjaXR5IGlzIGFwcGxpZWRcbiRvdXRsaW5lZC1kaXNhYmxlZC1ib3JkZXI6IHJnYmEodmFyaWFibGVzLnByb3AtdmFsdWUob24tc3VyZmFjZSksIC4xNikgIWRlZmF1bHQ7XG5cbiRsYWJlbC1wb3NpdGlvbi15OiAxMDYlICFkZWZhdWx0O1xuJG91dGxpbmUtbGFiZWwtb2Zmc2V0OiAxNnB4ICFkZWZhdWx0O1xuJG91dGxpbmVkLWxhYmVsLXBvc2l0aW9uLXk6IGdldC1vdXRsaW5lZC1sYWJlbC1wb3NpdGlvbi15KCRoZWlnaHQpICFkZWZhdWx0O1xuJG91dGxpbmVkLXdpdGgtbGVhZGluZy1pY29uLWxhYmVsLXBvc2l0aW9uLXg6IDMycHggIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi10cmFuc2l0aW9uLWR1cmF0aW9uOiAxNTBtcyAhZGVmYXVsdDtcblxuLy8gRXJyb3IgY29sb3JzXG4kZXJyb3ItY29sb3I6IGVycm9yICFkZWZhdWx0O1xuIiwiLy8gRmlsZWlucHV0XG4vLyBDU1MgZm9yIGZpbGUgdXBsb2FkIGJ1dHRvbiBhbmQgZmlsZWlucHV0IHdpZGdldFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4kYm9yZGVyLXJhZGl1cy1iYXNlOiAwO1xuJGJvcmRlci1yYWRpdXMtc21hbGw6IDA7XG4kYm9yZGVyLXJhZGl1cy1sYXJnZTogMDtcbiRzdGF0ZS13YXJuaW5nLXRleHQ6ICRwcm9qZWN0LXJlZDtcbiRzdGF0ZS13YXJuaW5nLWJvcmRlcjogJHByb2plY3QtcmVkO1xuJHN0YXRlLWRhbmdlci10ZXh0OiAkcHJvamVjdC1yZWQ7XG4kc3RhdGUtZGFuZ2VyLWJvcmRlcjogJHByb2plY3QtcmVkO1xuJHN0YXRlLXN1Y2Nlc3MtdGV4dDogJHByb2plY3QtYmx1ZTtcbiRzdGF0ZS1zdWNjZXNzLWJvcmRlcjogJHByb2plY3QtYmx1ZTtcblxuLmZpbGVpbnB1dC1jb250YWluZXIge1xuICAgIG1hcmdpbjogMCAwIDI4cHggMDtcbn1cblxuLmJ0bi1maWxlIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICBsaW5lLWhlaWdodDogMzBweDtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcblxuICAgIEBpbmNsdWRlIG1kYy1yaXBwbGUtc3VyZmFjZTtcbiAgICBAaW5jbHVkZSBtZGMtcmlwcGxlLXJhZGl1cy1ib3VuZGVkO1xuICAgIEBpbmNsdWRlIG1kYy1zdGF0ZXMtYmFzZS1jb2xvcigkcHJvamVjdC1ibHVlKTtcbiAgICBAaW5jbHVkZSBtZGMtc3RhdGVzLW9wYWNpdGllcygoaG92ZXI6IC4wLCBmb2N1czogLjAsIHByZXNzOiAuMDgpKTtcblxuICAgID4gaW5wdXQge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTApO1xuICAgICAgICBmb250LXNpemU6IDIzcHg7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGRpcmVjdGlvbjogbHRyO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICAgJjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJjpmb2N1cy13aXRoaW4ge1xuICAgICAgICAudGFiLW5hdmlnYXRpb24gJiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRwcm9qZWN0LWJsdWUsIDAuMDgpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uZmlsZWlucHV0IHtcbiAgICBtYXgtd2lkdGg6IDEwMHZ3O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBtaW4taGVpZ2h0OiA0OHB4O1xuXG4gICAgLmZvcm0tY29udHJvbCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiA3cHg7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA1cHg7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgY3Vyc29yOiB0ZXh0O1xuICAgIH1cbiAgICAudGh1bWJuYWlsIHtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgPiBpbWcge1xuICAgICAgICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuYnRuIHtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG4gICAgLmZvcm0tZ3JvdXAge1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAuZmlsZWlucHV0LWZpbGVuYW1lIHtcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAyMHB4KTtcbiAgICAgICAgfVxuICAgIH1cbn1cbi5maWxlaW5wdXQtZXhpc3RzIC5maWxlaW5wdXQtbmV3LFxuLmZpbGVpbnB1dC1uZXcgLmZpbGVpbnB1dC1leGlzdHMge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8vY2xvc2UgWCBidXR0b24gYWxpZ25tZW50XG4uZmlsZWlucHV0LWV4aXN0cy5jbG9zZSB7XG4gICAgZmxvYXQ6IG5vbmU7XG59XG5cbi5maWxlaW5wdXQtaW5saW5lIC5maWxlaW5wdXQtY29udHJvbHMge1xuICAgIGRpc3BsYXk6IGlubGluZTtcbn1cblxuLmZpbGVpbnB1dC1maWxlbmFtZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIG1heC13aWR0aDogMTUwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IDE1cHg7XG59XG5cbi5mb3JtLWNvbnRyb2wgLmZpbGVpbnB1dC1maWxlbmFtZSB7XG4gICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG59XG5cbi5maWxlaW5wdXQuaW5wdXQtZ3JvdXAge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuXG4gICAgPiAqIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB6LWluZGV4OiAyO1xuICAgIH1cbiAgICA+IC5idG4tZmlsZSB7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgfVxufVxuXG4vLyBOb3QgMTAwJSBjb3JyZWN0LCBidXQgaGVscHMgaW4gdHlwaWNhbCB1c2UgY2FzZVxuLmZpbGVpbnB1dC1uZXcuaW5wdXQtZ3JvdXAgLmJ0bi1maWxlLFxuLmZpbGVpbnB1dC1uZXcgLmlucHV0LWdyb3VwIC5idG4tZmlsZSB7XG4gICAgYm9yZGVyLXJhZGl1czogMCAkYm9yZGVyLXJhZGl1cy1iYXNlICRib3JkZXItcmFkaXVzLWJhc2UgMDtcblxuICAgICYuYnRuLXhzLFxuICAgICYuYnRuLXNtIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMCAkYm9yZGVyLXJhZGl1cy1zbWFsbCAkYm9yZGVyLXJhZGl1cy1zbWFsbCAwO1xuICAgIH1cbiAgICAmLmJ0bi1sZyB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAgJGJvcmRlci1yYWRpdXMtbGFyZ2UgJGJvcmRlci1yYWRpdXMtbGFyZ2UgMDtcbiAgICB9XG59XG5cbi5mb3JtLWdyb3VwLmhhcy13YXJuaW5nIC5maWxlaW5wdXQge1xuICAgIC5maWxlaW5wdXQtcHJldmlldyB7XG4gICAgICAgIGNvbG9yOiAkc3RhdGUtd2FybmluZy10ZXh0O1xuICAgIH1cbiAgICAudGh1bWJuYWlsIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkc3RhdGUtd2FybmluZy1ib3JkZXI7XG4gICAgfVxufVxuLmZvcm0tZ3JvdXAuaGFzLWVycm9yIC5maWxlaW5wdXQge1xuICAgIC5maWxlaW5wdXQtcHJldmlldyB7XG4gICAgICAgIGNvbG9yOiAkc3RhdGUtZGFuZ2VyLXRleHQ7XG4gICAgfVxuICAgIC50aHVtYm5haWwge1xuICAgICAgICBib3JkZXItY29sb3I6ICRzdGF0ZS1kYW5nZXItYm9yZGVyO1xuICAgIH1cbn1cbi5mb3JtLWdyb3VwLmhhcy1zdWNjZXNzIC5maWxlaW5wdXQge1xuICAgIC5maWxlaW5wdXQtcHJldmlldyB7XG4gICAgICAgIGNvbG9yOiAkc3RhdGUtc3VjY2Vzcy10ZXh0O1xuICAgIH1cbiAgICAudGh1bWJuYWlsIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkc3RhdGUtc3VjY2Vzcy1ib3JkZXI7XG4gICAgfVxufVxuXG5cbi8vIElucHV0IGdyb3VwIGZpeGVzXG5cbi5pbnB1dC1ncm91cC1hZGRvbjpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgYm9yZGVyLWxlZnQ6IDA7XG59XG4iLCIvLyBDdXN0b20gdmFyaWFibGVzIGhlcmVcblxuLy8gY29sb3JzIGJyYW5kYm9va1xuJHByb2plY3QtdW5pY2VmOiAjMDBBRUVGO1xuJHByb2plY3QtcGFudG9uZS0zNTY6ICMwMDgzM0Q7XG4kcHJvamVjdC1wYW50b25lLTM3NjogIzgwQkQ0MTtcbiRwcm9qZWN0LXBhbnRvbmUtNzU0ODogI0ZGQzIwRTtcbiRwcm9qZWN0LXBhbnRvbmUtMTUwNTogI0YyNkEyMTtcbiRwcm9qZWN0LXBhbnRvbmUtNDg1OiAjRTIyMzFBO1xuJHByb2plY3QtcGFudG9uZS0yMjE6ICM5NjFBNDk7XG4kcHJvamVjdC1wYW50b25lLTI2MTM6ICM2QTFFNzQ7XG4kcHJvamVjdC1wYW50b25lLXdhcm0tZ3JleS0xOiAjRDhEMUM5O1xuJHByb2plY3QtcGFudG9uZS1jb29sLWdyZXktOTogIzc3Nzc3OTtcbiRwcm9qZWN0LXBhbnRvbmUtYmxhY2s6ICMyRDI5MjY7XG4kcHJvamVjdC1wYW50b25lLTc2ODU6ICMzNzRFQTI7XG5cbi8vIHBzZCB3ZWJwYWdlIGNvbG9yc1xuJHByb2plY3Qtd2hpdGU6ICNmZmY7XG4kcHJvamVjdC1ibHVlOiAkcHJvamVjdC11bmljZWY7XG4kcHJvamVjdC1ibHVlLWhvdmVyOiAjMDA5YWUwO1xuJHByb2plY3QtYmx1ZS1sODAwOiAjZDJlZWY5O1xuJHByb2plY3QtYmx1ZS1sNzAwOiAjN2ZkMmYxO1xuJHByb2plY3QtYmx1ZS1sOTAwOiAjZTFmNGZkO1xuJHByb2plY3QtYmx1ZS1sOTUwOiAjZjVmY2ZlO1xuJHByb2plY3QtYmx1ZS1sNTAwOiAjMDdiYWZkO1xuJHByb2plY3QtYmx1ZS1sNjAwOiAjMjJiOWYxO1xuJHByb2plY3QtYmx1ZS1sNjUwOiAjOWJkYWYyO1xuJHByb2plY3QtYmx1ZS1kNTAwOiAjMDBhNWUzO1xuJHByb2plY3QtYmx1ZS1kNjAwOiAjMDBhM2UwO1xuJHByb2plY3QtYmxhY2s6ICMyMDFkMWQ7XG4kcHJvamVjdC1ncmF5LWwzMDA6ICNjNGM0YzQ7XG4kcHJvamVjdC1ncmF5LWw0MDA6ICNkMGQyZDM7XG4kcHJvamVjdC1ncmF5LWw1MDA6ICNkNmQ4ZGE7XG4kcHJvamVjdC1ncmF5LWw2MDA6ICNlNmU2ZTY7XG4kcHJvamVjdC1ncmF5LWQyMDA6ICM4MDdlN2U7XG4kcHJvamVjdC1ncmF5LWQzMDA6ICM3YTdhN2E7XG4kcHJvamVjdC1ncmF5LWQ0MDA6ICM0MTQwNDI7XG4kcHJvamVjdC1ncmF5LWQ1MDA6ICMzZDQyNDQ7XG4kcHJvamVjdC1ncmF5LWQ2MDA6ICMxODE4MTk7XG4kcHJvamVjdC1ncmF5LWQ3MDA6ICMwZTBlMGU7XG4kcHJvamVjdC1uYXZ5Ymx1ZTogIzI2NTNCOTtcbiRwcm9qZWN0LW5hdnlibHVlLWhvdmVyOiBsaWdodGVuKCRwcm9qZWN0LW5hdnlibHVlLCA2JSk7XG4kcHJvamVjdC1uYXZ5Ymx1ZS1sMjAwOiAjMzE0MmFkO1xuJHByb2plY3QtbmF2eWJsdWUtbDMwMDogIzQ5NWE5NDtcbiRwcm9qZWN0LW5hdnlibHVlLWw0MDA6ICM1OTVmOGU7XG4kcHJvamVjdC1uYXZ5Ymx1ZS1sNTAwOiAjYTNhZGVjO1xuJHByb2plY3QtbmF2eS1ibHVlLWRhcms6ICMyOTNiOTU7XG4kcHJvamVjdC1yZWQ6ICNGRkZGMDA7XG4kcHJvamVjdC1yZWQtaG92ZXI6ICNkN2Q3MDA7XG4kcHJvamVjdC1vbGQtcmVkOiAjZmY0NTAwOztcbiRwcm9qZWN0LW9sZC1yZWQtaG92ZXI6ICNmNTJlMDA7XG4kcHJvamVjdC1uZXctcmVkOiAjZmYwMDAwOztcbiRwcm9qZWN0LW5ldy1yZWQtaG92ZXI6ICNmMDAwMDA7XG4kcHJvamVjdC1ncmVlbjogIzZlYzAxZTtcbiRwcm9qZWN0LWdyZWVuLWhvdmVyOiAjNTZiNjE2O1xuJHByb2plY3Qtb3JhbmdlOiAjRjI2QTIxO1xuJHByb2plY3Qtb3JhbmdlLWhvdmVyOiAjRDM1QjFGO1xuJHByb2plY3QteWVsbG93OiAjZjljNDEyO1xuJHByb2plY3Qtb3JhbmdlOiAkcHJvamVjdC1wYW50b25lLTE1MDU7XG5cbi8vXG4kcHJvamVjdC1wcmltYXJ5OiAkcHJvamVjdC1ibHVlO1xuJHByb2plY3QtcHJpbWFyeS13ZWxsOiAjMDBhM2UwOyAvLyBtZW51IHBhbmVsIG1vYmlsZVxuJHByb2plY3QtdGV4dDogJHByb2plY3QtYmxhY2s7XG4kcHJvamVjdC10cmFuc3BhcmVudDogcmdiYSgwLCAwLCAwLCAwKTtcbiRwcm9qZWN0LXRyYW5zcGFyZW50LWhvdmVyOiByZ2JhKDAsIDAsIDAsIDAuMSk7XG4kcHJvamVjdC1lcnJvcjogJHByb2plY3QtbmV3LXJlZDtcbiRwcm9qZWN0LXdhcm5pbmc6ICRwcm9qZWN0LW9yYW5nZTtcbiRwcm9qZWN0LWRpc2FibGVkOiAkcHJvamVjdC1ncmF5LWw1MDA7XG5cbi8vIGdyaWRcbiRzaXRlLWNvbnRhaW5lcjogMTM2OXB4O1xuJHNpdGUtY29udGFpbmVyLW5hcnJvdzogMTI4NHB4O1xuXG4kc2NyZWVuLXh4eHM6IDMyMHB4O1xuJHNjcmVlbi14eHM6IDM3NXB4O1xuJHNjcmVlbi14czogNDgwcHg7XG4kc2NyZWVuLXNtOiA3NjhweDtcbiRzY3JlZW4tbWQ6IDk5MnB4O1xuJHNjcmVlbi1sZzogMTIwMHB4O1xuJHNjcmVlbi14bDogMTQwMHB4O1xuJHNjcmVlbi14eGw6IDE2NTZweDtcbiRzY3JlZW4taGQ6IDE4OTBweDtcbiIsIi5hY2NvcmRpb241IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcblxuICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4teGwpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICB9XG5cbiAgICAmX190b2dnbGUge1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgICAgICAgdXNlci1zZWxlY3Q6IHRleHQ7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgIHRleHQtYWxpZ246bGVmdDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICBwYWRkaW5nOiAwIDAgMTBweDtcblxuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLW1kKSB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3BhbmVsIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBsaWdodGVuKCRwcm9qZWN0LXVuaWNlZiwgNDAlKTtcblxuICAgICAgICAmLWNvbnRlbnQge1xuICAgICAgICAgICAgcGFkZGluZzogNDBweCAzMHB4IDA7XG4gICAgICAgIH1cblxuICAgICAgICAmLWJvcmRlciB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB6LWluZGV4OiAwO1xuICAgICAgICAgICAgdG9wOiAxOHB4O1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiA2cHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBsaWdodGVuKCRwcm9qZWN0LXVuaWNlZiwgMTUlKTtcblxuICAgICAgICAgICAgJjpiZWZvcmUsICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIGJvdHRvbTogMTAwJTtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxOHB4IHNvbGlkIGxpZ2h0ZW4oJHByb2plY3QtdW5pY2VmLCAxNSUpO1xuICAgICAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByb2plY3Qtd2hpdGU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodDogMThweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICB3aWR0aDogNDVweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDE4cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDQ1cHgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjpiZWZvcmUsICY6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgICB0b3A6IDRweDtcbiAgICAgICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDIwcHggc29saWQgbGlnaHRlbigkcHJvamVjdC11bmljZWYsIDQwJSk7XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICB9XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodDogMjBweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIHdpZHRoOiA0NXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAyMHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDQ1cHgpO1xuICAgICAgICB9XG4gICAgfVxufSIsIi5hY2NvcmRpb242IHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgkcHJvamVjdC13aGl0ZSwgMC40KTtcblxuICAgICZfX3BhbmVsIHtcbiAgICAgICAgcGFkZGluZzogMCAxNXB4O1xuXG4gICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tbGcpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19wYW5lbC1zcGFjZSB7XG4gICAgICAgIHBhZGRpbmc6IDI1cHggMDtcbiAgICB9XG5cbiAgICAmX190b2dnbGUge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgY29sb3I6ICRwcm9qZWN0LXBhbnRvbmUtYmxhY2sgIWltcG9ydGFudDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMjRweCAyNHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAxNnB4IHRvcCAxNXB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBpY29ucy1wcm9qZWN0X19hcnJvdy10b3AoJHByb2plY3QtcGFudG9uZS1ibGFjayk7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgICAgcGFkZGluZzogOXB4IDU1cHggOXB4IDA7XG5cbiAgICAgICAgJjpmb2N1cywgJjphY3RpdmUge1xuICAgICAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuY29sbGFwc2VkIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGljb25zLXByb2plY3RfX2Fycm93LWJvdHRvbSgkcHJvamVjdC1wYW50b25lLWJsYWNrKTtcbiAgICAgICAgfVxuICAgIH1cbn0iLCIubWRjLWxpc3QtaXRlbS0tZGlzYWJsZWQge1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGNvbG9yOiByZ2JhKCRwcm9qZWN0LWJsYWNrLCAwLjMpO1xufVxuXG4ubWRjLW1lbnUtc3VyZmFjZSB7XG4gICAgc2Nyb2xsYmFyLXdpZHRoOiB0aGluO1xuICAgIHNjcm9sbGJhci1jb2xvcjogJHByb2plY3QtZ3JheS1sNTAwICRwcm9qZWN0LXdoaXRlO1xuICAgIHotaW5kZXg6IDIwO1xuXG4gICAgJjo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICAgICAgICB3aWR0aDogOHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvamVjdC13aGl0ZTtcbiAgICB9XG5cbiAgICAmOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgIHdpZHRoOiA3cHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDdweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByb2plY3QtZ3JheS1sNTAwO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkcHJvamVjdC13aGl0ZTtcbiAgICB9XG5cbiAgICAmLS1hbmNob3Ige1xuICAgICAgICA+IGJ1dHRvbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLm1kYy1pY29uLWJ1dHRvbiB7XG4gICAgJi5tYXRlcmlhbC1pY29ucyB7XG4gICAgICAgIHdpZHRoOiA0OHB4O1xuICAgICAgICBmb250LWZhbWlseTogbWF0ZXJpYWxJY29uc1JvdW5kV2ViLCBzYW5zLXNlcmlmO1xuICAgIH1cbn1cblxuLm1kYy1yYWRpbyB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLm1kYy1yYWRpb19fcmlwcGxlIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwMHB4O1xufVxuXG4ubWRjLW1lbnUge1xuICAgIC5tZGMtbGlzdC1pdGVtIHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgcGFkZGluZy10b3A6IDZweDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDZweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcblxuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLW1kKSB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMTBweDtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLmJyZWFkY3J1bWIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLW1kKSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBtYXJnaW46IDMwcHggYXV0byAxNXB4IGF1dG87XG4gICAgICAgIGZvbnQtc2l6ZTogMDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmc6IDAgMTVweDtcbiAgICAgICAgbWF4LXdpZHRoOiAkc2l0ZS1jb250YWluZXItbmFycm93O1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMC40cHg7XG4gICAgfVxuXG4gICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi1sZykge1xuICAgICAgICBtYXJnaW46IDM1cHggYXV0byAyMHB4IGF1dG87XG4gICAgfVxuXG4gICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi14bCkge1xuICAgICAgICBtYXJnaW46IDc1cHggYXV0byAyMHB4IGF1dG87XG4gICAgfVxuICAgIFxuICAgIC5oZXJvLTM2NSArICYge1xuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLW1kKSB7XG4gICAgICAgICAgICBtYXJnaW46IDE1cHggYXV0byAxNnB4IGF1dG87XG4gICAgICAgIH1cbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi1sZykge1xuICAgICAgICAgICAgbWFyZ2luOiAyNXB4IGF1dG8gMjZweCBhdXRvO1xuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi14bCkge1xuICAgICAgICAgICAgbWFyZ2luOiAzNnB4IGF1dG8gMzVweCBhdXRvO1xuICAgICAgICB9XG4gICAgfVxuICAgIFxuICAgIC5oZXJvLXBhZ2UgKyAmIHtcbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi1tZCkge1xuICAgICAgICAgICAgbWFyZ2luOiAxNXB4IGF1dG87XG4gICAgICAgIH1cbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi1sZykge1xuICAgICAgICAgICAgbWFyZ2luOiAyNXB4IGF1dG8gMjBweCBhdXRvO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXhsKSB7XG4gICAgICAgICAgICBtYXJnaW46IDM2cHggYXV0byAyMHB4IGF1dG87XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuaGVyby1zZWN0aW9uICsgJiB7XG4gICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tbWQpIHtcbiAgICAgICAgICAgIG1hcmdpbjogMzBweCBhdXRvIDE1cHggYXV0bztcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tbGcpIHtcbiAgICAgICAgICAgIG1hcmdpbjogMjVweCBhdXRvIDQ1cHggYXV0bztcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4teGwpIHtcbiAgICAgICAgICAgIG1hcmdpbjogMzZweCBhdXRvIDk1cHggYXV0bztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5sYW5kaW5ncGFnZS12aWV3ICYge1xuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLW1kKSB7XG4gICAgICAgICAgICBtYXJnaW46IDE1cHggYXV0bztcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi1sZykge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDgwcHg7XG4gICAgICAgICAgICBtYXJnaW46IDI1cHggYXV0byAyM3B4IGF1dG87XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXhsKSB7XG4gICAgICAgICAgICBtYXJnaW46IDM2cHggYXV0byAzNHB4IGF1dG87XG4gICAgICAgICAgICBtYXgtd2lkdGg6ICRzaXRlLWNvbnRhaW5lci1uYXJyb3c7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19saXN0IHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgICZfX2l0ZW0ge1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIFxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiPlwiO1xuICAgICAgICAgICAgbWFyZ2luOiAwIDVweCAwIDRweDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkcHJvamVjdC1ibHVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgXG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fbGluayB7XG4gICAgICAgIGNvbG9yOiAkcHJvamVjdC1ibGFjaztcblxuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICB9XG4gICAgfVxufSIsIi5hc2lkZS1zZWN0aW9uIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAyNHB4O1xuICAgIC8vYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRwcm9qZWN0LWdyYXktbDUwMDtcblxuICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tbWQpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogODBweDtcbiAgICB9XG5cbiAgICAmX190aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTYuNXB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTVweDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRwcm9qZWN0LWdyYXktbDUwMDtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuOHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAycHg7XG5cbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi1zbSkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAyMXB4O1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDE4cHg7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA4cHg7XG4gICAgICAgIH1cbiAgICB9XG59IiwiLmZpbGUtZG93bmxvYWQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn0iLCIuYXNpZGUtaGVhZGVyLWJ1dHRvbiB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBhZGRpbmc6IDI0cHggNDJweDtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuXG4gICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi1tZCkge1xuICAgICAgICBwYWRkaW5nOiAzNnB4IDQycHg7XG4gICAgfVxuXG4gICAgJl9fdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDIycHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDM4cHg7XG5cbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi1tZCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAyOHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYWN0aW9uIHtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG5cbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi1tZCkge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIuYXJ0aWNsZSB7XG4gICAgcGFkZGluZzogMCAyM3B4O1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG5cbiAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLW1kKSB7XG4gICAgICAgIHBhZGRpbmc6IDAgMTVweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICB9XG5cbiAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLW1kKSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICAgIH1cblxuICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4teHhsKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDgwcHg7XG4gICAgfVxuXG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tbWQpIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLWxnKSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAzNXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi14bCkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogNTVweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5icmVhZGNydW1iICsgJiB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxuXG4gICAgJl9faGVhZGVyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNjBweDtcblxuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLW1kKSB7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogNzhweDtcbiAgICAgICAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IDc1cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcm9qZWN0LWdyYXktbDUwMDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGJvdHRvbTogMzBweDtcblxuICAgICAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi1tZCkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAyODNweDtcbiAgICAgICAgICAgICAgICBib3R0b206IDQ1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuYXJ0aWNsZS0tb25lLWNvbHVtbiAmIHtcbiAgICAgICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tbWQpIHtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDgwMHB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLW5vLWluZm8gLmFydGljbGVfX2hlYWRsaW5lIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19jb250ZW50IHtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IDgwMHB4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi1tZCkge1xuICAgICAgICAgICAgZmxleDogMCAwIGNhbGMoMTAwJSAtIDQxNHB4KTtcbiAgICAgICAgICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gNDE0cHgpO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi14bCkge1xuICAgICAgICAgICAgZmxleDogMCAwIDgwMHB4O1xuICAgICAgICAgICAgbWF4LXdpZHRoOiA4MDBweDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLW1kKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19hc2lkZSB7XG4gICAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgICAgICBtYXJnaW4tdG9wOiA0MHB4O1xuXG4gICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tbWQpIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgICBmbGV4OiAwIDAgMzY0cHg7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDM2NHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi14bCkge1xuICAgICAgICAgICAgZmxleDogMCAwIDM4NHB4O1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAzODRweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5uZXdzbGV0dGVyX19oZWFkZXIge1xuICAgICAgICAgICAgbWluLWhlaWdodDogNjBweDtcblxuICAgICAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi14bCkge1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAudGVhc2VyIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvIDQ1cHg7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDQwMHB4O1xuXG4gICAgICAgICAgICAmLm5ld3NsZXR0ZXIge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAtMjNweCA0NXB4O1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAgICAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi1tZCkge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgLTE1cHggNDVweDtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLW1kKSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDQ1cHggMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAudGVhc2VyLTM2NSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLW1kKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHByb2plY3QtZ3JheS1sNTAwO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDU0cHggMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5yZWFkLXRvbyB7XG4gICAgICAgICAgICBtYXJnaW46IDAgLTIzcHggMjVweDtcblxuICAgICAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi1tZCkge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAtMTVweCAyNXB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLW1kKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgNDBweCAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmX190aXRsZSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCAyM3B4O1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICAgICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tbWQpIHtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAudGVhc2VyLXNob3J0IHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMjNweDtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDIzcHg7XG5cbiAgICAgICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tbWQpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMTVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2FzaWRlLWNvbnRlbnQge1xuICAgICAgICAmLS1zdGlja3kge1xuICAgICAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi1tZCkge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgICAgICAgICAgICAgdG9wOiAxMDBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2hlYWRsaW5lIHtcbiAgICAgICAgZm9udC1zaXplOiAyOXB4O1xuICAgICAgICBtYXJnaW4tdG9wOiA0MHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA1NXB4O1xuXG4gICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tbWQpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogNTZweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA1cHg7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA3NXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgKyAuYXJ0aWNsZV9faW5mbyB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAtNDNweDtcblxuICAgICAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi1tZCkge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IC02M3B4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9faW5mbyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICB9XG5cbiAgICAmX19sYWJlbCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgY29sb3I6ICRwcm9qZWN0LXdoaXRlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvamVjdC1wcmltYXJ5O1xuICAgICAgICBmb250LXNpemU6IDEwLjVweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE3cHg7XG4gICAgICAgIGhlaWdodDogMTdweDtcbiAgICAgICAgcGFkZGluZzogMCA2cHg7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgLjJzO1xuICAgICAgICBtYXJnaW46IDAgMjBweCAwIDA7XG5cbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi1tZCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxN3B4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDMzcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDMzcHg7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDhweDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNTJweDtcbiAgICAgICAgfVxuXG4gICAgICAgICZbaHJlZl06aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6ICRwcm9qZWN0LXdoaXRlO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByb2plY3QtYmx1ZS1ob3ZlcjtcbiAgICAgICAgfVxuXG4gICAgICAgICZbaHJlZl06Zm9jdXMge1xuICAgICAgICAgICAgLnRhYi1uYXZpZ2F0aW9uICYge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkcHJvamVjdC13aGl0ZTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvamVjdC1ibHVlLWhvdmVyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fdGltZSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgY29sb3I6ICRwcm9qZWN0LWJsYWNrO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICBmb250LXNpemU6IDEwLjVweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE3cHg7XG4gICAgICAgIGhlaWdodDogMTdweDtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMjBweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcblxuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLW1kKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE3cHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMzNweDtcbiAgICAgICAgICAgIGhlaWdodDogMzNweDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNTJweDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19tYWluIHtcbiAgICAgICAgcGFkZGluZzogMCA4cHg7XG5cbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi1tZCkge1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2hlcm8taW1nIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgICZfX25hdnRpdGxlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLW1kKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzNXB4O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjJweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX25hdiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkcHJvamVjdC1ncmF5LWw0MDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XG5cbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi1tZCkge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBib3JkZXItdG9wOiBub25lO1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX25hdi1saW5rIHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIC4ycztcbiAgICAgICAgQGluY2x1ZGUgbWRjLWJ1dHRvbi1jb250YWluZXItZmlsbC1jb2xvcigkcHJvamVjdC13aGl0ZSk7XG4gICAgICAgIEBpbmNsdWRlIG1kYy1idXR0b24taW5rLWNvbG9yKCRwcm9qZWN0LWJsYWNrKTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMS41O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjJweDtcbiAgICAgICAgbWluLWhlaWdodDogNDhweDtcblxuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLW1kKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE5cHg7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJi0taGlkZGVuIHtcbiAgICAgICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tbWQpIHtcbiAgICAgICAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi1tZCkge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJHByb2plY3QtYmxhY2ssIDAuMDQpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAubWRjLWJ1dHRvbl9fcmlwcGxlOmJlZm9yZSxcbiAgICAgICAgICAgIC5tZGMtYnV0dG9uX19yaXBwbGU6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLm1kYy1yaXBwbGUtdXBncmFkZWQge1xuICAgICAgICAgICAgLS1tZGMtcmlwcGxlLWZnLW9wYWNpdHk6IDAuMDQ7XG4gICAgICAgIH1cblxuICAgICAgICAubWRjLWJ1dHRvbl9fcmlwcGxlIHtcbiAgICAgICAgICAgICY6YmVmb3JlLFxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByb2plY3QtYmxhY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubWRjLWJ1dHRvbl9fbGFiZWwge1xuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgLm1kYy1idXR0b25fX3JpcHBsZTpiZWZvcmUsXG4gICAgICAgICAgICAubWRjLWJ1dHRvbl9fcmlwcGxlOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xuXG4gICAgICAgICAgICAgICAgLnRhYi1uYXZpZ2F0aW9uICYge1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLjA0O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgIC5tZGMtYnV0dG9uX19yaXBwbGU6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAubmF2LXBpbGxzICYge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkcHJvamVjdC1ibGFjaztcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRwcm9qZWN0LWJsYWNrLCAwLjA4KTtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuXG4gICAgICAgICAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi1tZCkge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRwcm9qZWN0LWJsYWNrLCAwLjA0KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tbWQpIHtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi1tZCkge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDNweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgICAgICAgICByaWdodDogNXB4O1xuICAgICAgICAgICAgICAgIHRvcDogLTEwMCU7XG4gICAgICAgICAgICAgICAgYm90dG9tOiAtMTAwJTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvamVjdC1ibHVlO1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGhlaWdodCAuMnM7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19uYXYtc2VsZWN0LXRvZ2dsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgaGVpZ2h0OiA0OHB4O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjJweDtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgcGFkZGluZzogMCA0MHB4IDAgMjBweDtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgMTJweCBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTJweCAyNXB4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGljb25zLXByb2plY3RfX3NlbGVjdC1jYXJldCgkcHJvamVjdC13aGl0ZSk7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cbiAgICAgICAgJjpub3QoOmRpc2FibGVkKSB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRwcm9qZWN0LXByaW1hcnktd2VsbDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcm9qZWN0LXByaW1hcnktd2VsbDtcbiAgICAgICAgICAgIGNvbG9yOiAkcHJvamVjdC13aGl0ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX25hdi1zZWxlY3Qge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcblxuICAgICAgICBidXR0b24ge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3RhYnMtbmF2IHtcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvamVjdC13aGl0ZTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgei1pbmRleDogMjtcblxuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLW1kKSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICAgICAgei1pbmRleDogYXV0bztcbiAgICAgICAgICAgIGJvdHRvbTogYXV0bztcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgcGFkZGluZzogMTRweCAxNXB4O1xuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgICBmbGV4OiAwIDAgMjYwcHg7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDI2MHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fbW9iaWxlLW5hdiB7XG4gICAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuXG4gICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tbWQpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAubWRjLW1lbnUge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByb2plY3QtcHJpbWFyeTtcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRwcm9qZWN0LXByaW1hcnk7XG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgICAgdG9wOiA0OHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAubWRjLWxpc3QtaXRlbSB7XG4gICAgICAgICAgICBjb2xvcjogJHByb2plY3Qtd2hpdGU7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuXG4gICAgICAgICAgICAmLnNlbGVjdGVkIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvamVjdC1wcmltYXJ5LXdlbGw7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubWRjLW1lbnUtc3VyZmFjZS0tYW5jaG9yIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fcmVhZC10aW1lIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGNvbG9yOiAkcHJvamVjdC1ibGFjaztcbiAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgICAgZm9udC1zaXplOiAxMC41cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxN3B4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRvcDogLTIwcHg7XG5cbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi1tZCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE0cHg7XG4gICAgICAgICAgICB0b3A6IC0zMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICB9XG4gICAgfVxufSIsIi8vXG4vLyBDb3B5cmlnaHQgMjAxNiBHb29nbGUgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG4vL1xuXG5AdXNlIFwic2FzczptYXRoXCI7XG5AdXNlIFwiQG1hdGVyaWFsL2VsZXZhdGlvbi9taXhpbnNcIiBhcyBlbGV2YXRpb24tbWl4aW5zO1xuQHVzZSBcIkBtYXRlcmlhbC9mZWF0dXJlLXRhcmdldGluZy9mdW5jdGlvbnNcIiBhcyBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnM7XG5AdXNlIFwiQG1hdGVyaWFsL2ZlYXR1cmUtdGFyZ2V0aW5nL21peGluc1wiIGFzIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucztcbkB1c2UgXCJAbWF0ZXJpYWwvcmlwcGxlL21peGluc1wiIGFzIHJpcHBsZS1taXhpbnM7XG5AdXNlIFwiQG1hdGVyaWFsL3J0bC9taXhpbnNcIiBhcyBydGwtbWl4aW5zO1xuQHVzZSBcIkBtYXRlcmlhbC90aGVtZS9mdW5jdGlvbnNcIiBhcyB0aGVtZS1mdW5jdGlvbnM7XG5AdXNlIFwiQG1hdGVyaWFsL3RoZW1lL21peGluc1wiIGFzIHRoZW1lLW1peGlucztcbkB1c2UgXCJAbWF0ZXJpYWwvdG91Y2gtdGFyZ2V0L21peGluc1wiIGFzIHRvdWNoLXRhcmdldC1taXhpbnM7XG5AdXNlIFwiQG1hdGVyaWFsL3R5cG9ncmFwaHkvbWl4aW5zXCIgYXMgdHlwb2dyYXBoeS1taXhpbnM7XG5AdXNlIFwiQG1hdGVyaWFsL3NoYXBlL21peGluc1wiIGFzIHNoYXBlLW1peGlucztcbkB1c2UgXCJAbWF0ZXJpYWwvc2hhcGUvZnVuY3Rpb25zXCIgYXMgc2hhcGUtZnVuY3Rpb25zO1xuQHVzZSBcIkBtYXRlcmlhbC9kZW5zaXR5L2Z1bmN0aW9uc1wiIGFzIGRlbnNpdHktZnVuY3Rpb25zO1xuQHVzZSBcIi4vdmFyaWFibGVzXCI7XG5AdXNlIFwiQG1hdGVyaWFsL2VsZXZhdGlvbi9mdW5jdGlvbnNcIiBhcyBlbGV2YXRpb24tZnVuY3Rpb25zO1xuXG4kcmlwcGxlLXRhcmdldDogXCIubWRjLWJ1dHRvbl9fcmlwcGxlXCI7XG5cbkBtaXhpbiBjb3JlLXN0eWxlcygkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICBAaW5jbHVkZSB3aXRob3V0LXJpcHBsZSgkcXVlcnkpO1xuICBAaW5jbHVkZSByaXBwbGUoJHF1ZXJ5KTtcbn1cblxuQG1peGluIHRoZW1lLWJhc2VsaW5lKCRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gIC5tZGMtYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBkZW5zaXR5KHZhcmlhYmxlcy4kZGVuc2l0eS1zY2FsZSwgJHF1ZXJ5OiAkcXVlcnkpO1xuICB9XG59XG5cbi8vIFRoaXMgQVBJIGlzIGludGVuZGVkIGZvciB1c2UgYnkgZnJhbWV3b3JrcyB0aGF0IG1heSB3YW50IHRvIHNlcGFyYXRlIHRoZSByaXBwbGUtcmVsYXRlZCBzdHlsZXMgZnJvbSB0aGUgb3RoZXJcbi8vIGJ1dHRvbiBzdHlsZXMuIEl0IGlzIHJlY29tbWVuZGVkIHRoYXQgbW9zdCB1c2VycyB1c2UgYG1kYy1idXR0b24tY29yZS1zdHlsZXNgIGluc3RlYWQuXG5AbWl4aW4gd2l0aG91dC1yaXBwbGUoJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJGZlYXQtY29sb3I6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgY29sb3IpO1xuICAkZmVhdC1zdHJ1Y3R1cmU6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcblxuICBAaW5jbHVkZSB0b3VjaC10YXJnZXQtbWl4aW5zLndyYXBwZXIoJHF1ZXJ5KTsgLy8gQ09QWUJBUkFfQ09NTUVOVF9USElTX0xJTkVcbiAgQGluY2x1ZGUgZWxldmF0aW9uLW1peGlucy5vdmVybGF5LWNvbW1vbigkcXVlcnkpOyAvLyBDT1BZQkFSQV9DT01NRU5UX1RISVNfTElORVxuXG4gIC8vIHBvc3Rjc3MtYmVtLWxpbnRlcjogZGVmaW5lIGJ1dHRvblxuICAubWRjLWJ1dHRvbiB7XG4gICAgQGluY2x1ZGUgYmFzZV8oJHF1ZXJ5KTtcbiAgICBAaW5jbHVkZSBzaGFwZS1yYWRpdXMoc21hbGwsICRxdWVyeTogJHF1ZXJ5KTtcbiAgICBAaW5jbHVkZSBjb250YWluZXItZmlsbC1jb2xvcih0cmFuc3BhcmVudCwgJHF1ZXJ5KTtcbiAgICBAaW5jbHVkZSBkaXNhYmxlZC1jb250YWluZXItZmlsbC1jb2xvcih0cmFuc3BhcmVudCwgJHF1ZXJ5KTtcbiAgICAvLyBUaGUgaWNvbiBDU1MgY2xhc3Mgb3ZlcnJpZGVzIHN0eWxlcyBkZWZpbmVkIGluIHRoZSAubWF0ZXJpYWwtaWNvbnMgQ1NTXG4gICAgLy8gY2xhc3MsIHdoaWNoIGlzIGxvYWRlZCBzZXBhcmF0ZWx5IHNvIHRoZSBvcmRlciBvZiBDU1MgZGVmaW5pdGlvbnMgaXMgbm90XG4gICAgLy8gZ3VhcmFudGVlZC4gVGhlcmVmb3JlLCBpbmNyZWFzZSBzcGVjaWZpdHkgYnkgbmVzdGluZyB0aGlzIGNsYXNzIHRvIGVuc3VyZVxuICAgIC8vIG92ZXJyaWRlcyBhcHBseS5cbiAgICAubWRjLWJ1dHRvbl9faWNvbiB7XG4gICAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgICAgQGluY2x1ZGUgaWNvbl87XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm1kYy1idXR0b25fX3RvdWNoIHtcbiAgICAgIEBpbmNsdWRlIHRvdWNoLXRhcmdldC1taXhpbnMudG91Y2gtdGFyZ2V0KCRxdWVyeTogJHF1ZXJ5KTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBpbmstY29sb3IocHJpbWFyeSwgJHF1ZXJ5KTtcbiAgICBAaW5jbHVkZSBkaXNhYmxlZC1pbmstY29sb3IodmFyaWFibGVzLiRkaXNhYmxlZC1pbmstY29sb3IsICRxdWVyeSk7XG4gIH1cblxuICAubWRjLWJ1dHRvbl9fbGFiZWwgKyAubWRjLWJ1dHRvbl9faWNvbiB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICBAaW5jbHVkZSBpY29uLXRyYWlsaW5nXztcbiAgICB9XG4gIH1cblxuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlXG4gIHN2Zy5tZGMtYnV0dG9uX19pY29uIHtcbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIEBpbmNsdWRlIGljb24tc3ZnXztcbiAgICB9XG4gIH1cblxuICAubWRjLWJ1dHRvbi0tcmFpc2VkLFxuICAubWRjLWJ1dHRvbi0tdW5lbGV2YXRlZCxcbiAgLm1kYy1idXR0b24tLW91dGxpbmVkIHtcbiAgICAubWRjLWJ1dHRvbl9faWNvbiB7XG4gICAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgICAgLy8gSWNvbnMgaW5zaWRlIGNvbnRhaW5lZCBidXR0b25zIGhhdmUgZGlmZmVyZW50IHN0eWxlcyBkdWUgdG8gaW5jcmVhc2VkIGJ1dHRvbiBwYWRkaW5nXG4gICAgICAgIEBpbmNsdWRlIGljb24tY29udGFpbmVkXztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAubWRjLWJ1dHRvbl9fbGFiZWwgKyAubWRjLWJ1dHRvbl9faWNvbiB7XG4gICAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgICAgQGluY2x1ZGUgaWNvbi1jb250YWluZWQtdHJhaWxpbmdfO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5tZGMtYnV0dG9uLS1yYWlzZWQsXG4gIC5tZGMtYnV0dG9uLS11bmVsZXZhdGVkIHtcbiAgICBAaW5jbHVkZSBmaWxsZWRfKCRxdWVyeSk7XG4gIH1cblxuICAubWRjLWJ1dHRvbi0tcmFpc2VkIHtcbiAgICBAaW5jbHVkZSByYWlzZWRfKCRxdWVyeSk7XG4gIH1cblxuICAubWRjLWJ1dHRvbi0tb3V0bGluZWQge1xuICAgIEBpbmNsdWRlIG91dGxpbmVkXygkcXVlcnkpO1xuICB9XG5cbiAgLm1kYy1idXR0b24tLXRvdWNoIHtcbiAgICBAaW5jbHVkZSB0b3VjaC10YXJnZXQtbWl4aW5zLm1hcmdpbihcbiAgICAgICRjb21wb25lbnQtaGVpZ2h0OiB2YXJpYWJsZXMuJGhlaWdodCwgJHF1ZXJ5OiAkcXVlcnkpO1xuICB9XG4gIC8vIHBvc3Rjc3MtYmVtLWxpbnRlcjogZW5kXG59XG5cbi8vIFRoaXMgQVBJIGlzIGludGVuZGVkIGZvciB1c2UgYnkgZnJhbWV3b3JrcyB0aGF0IG1heSB3YW50IHRvIHNlcGFyYXRlIHRoZSByaXBwbGUtcmVsYXRlZCBzdHlsZXMgZnJvbSB0aGUgb3RoZXJcbi8vIGJ1dHRvbiBzdHlsZXMuIEl0IGlzIHJlY29tbWVuZGVkIHRoYXQgbW9zdCB1c2VycyB1c2UgYG1kYy1idXR0b24tY29yZS1zdHlsZXNgIGluc3RlYWQuXG5AbWl4aW4gcmlwcGxlKCRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gICRmZWF0LXN0cnVjdHVyZTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBzdHJ1Y3R1cmUpO1xuXG4gIEBpbmNsdWRlIHJpcHBsZS1taXhpbnMuY29tbW9uKCRxdWVyeSk7IC8vIENPUFlCQVJBX0NPTU1FTlRfVEhJU19MSU5FXG5cbiAgLm1kYy1idXR0b24ge1xuICAgIEBpbmNsdWRlIHJpcHBsZS1taXhpbnMuc3VyZmFjZSgkcXVlcnk6ICRxdWVyeSwgJHJpcHBsZS10YXJnZXQ6ICRyaXBwbGUtdGFyZ2V0KTtcbiAgICBAaW5jbHVkZSByaXBwbGUtbWl4aW5zLnJhZGl1cy1ib3VuZGVkKFxuICAgICAgJHF1ZXJ5OiAkcXVlcnksICRyaXBwbGUtdGFyZ2V0OiAkcmlwcGxlLXRhcmdldCk7XG4gICAgQGluY2x1ZGUgcmlwcGxlLW1peGlucy5zdGF0ZXMoXG4gICAgICAkY29sb3I6IHByaW1hcnksICRxdWVyeTogJHF1ZXJ5LCAkcmlwcGxlLXRhcmdldDogJHJpcHBsZS10YXJnZXQpO1xuXG4gICAgI3skcmlwcGxlLXRhcmdldH0ge1xuICAgICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgLy8gUmlwcGxlIG5lZWRzIGNvbnRlbnQtYm94IGFzIHRoZSBib3ggc2l6aW5nIGFuZCBib3gtc2l6aW5nOiBib3JkZXItYm94XG4gICAgICAgIC8vIGlzIG9mdGVuIHNldCBhcyBhIGRlZmF1bHQsIHNvIHdlIG92ZXJyaWRlIHRoYXQgaGVyZS5cbiAgICAgICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gUmlwcGxlIHRhcmdldHMgaW5zaWRlIG91dGxpbmVkIGJ1dHRvbnMgc2V0IHRoZWlyIG93biBgdG9wYC9gbGVmdGAsXG4gICAgLy8gZGVwZW5kaW5nIG9uIHRoZSBib3JkZXIgd2lkdGguXG4gICAgJjpub3QoLm1kYy1idXR0b24tLW91dGxpbmVkKSAjeyRyaXBwbGUtdGFyZ2V0fSB7XG4gICAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5tZGMtYnV0dG9uLS1yYWlzZWQsXG4gIC5tZGMtYnV0dG9uLS11bmVsZXZhdGVkIHtcbiAgICBAaW5jbHVkZSByaXBwbGUtbWl4aW5zLnN0YXRlcyhcbiAgICAgICRjb2xvcjogb24tcHJpbWFyeSwgJHF1ZXJ5OiAkcXVlcnksICRyaXBwbGUtdGFyZ2V0OiAkcmlwcGxlLXRhcmdldCk7XG4gIH1cbn1cblxuQG1peGluIGZpbGxlZC1hY2Nlc3NpYmxlKCRjb250YWluZXItZmlsbC1jb2xvciwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJGZpbGwtdG9uZTogdGhlbWUtZnVuY3Rpb25zLnRvbmUoJGNvbnRhaW5lci1maWxsLWNvbG9yKTtcblxuICBAaW5jbHVkZSBjb250YWluZXItZmlsbC1jb2xvcigkY29udGFpbmVyLWZpbGwtY29sb3IsICRxdWVyeSk7XG5cbiAgQGlmICgkZmlsbC10b25lID09IFwiZGFya1wiKSB7XG4gICAgQGluY2x1ZGUgaW5rLWNvbG9yKHRleHQtcHJpbWFyeS1vbi1kYXJrLCAkcXVlcnkpO1xuICAgIEBpbmNsdWRlIHJpcHBsZS1taXhpbnMuc3RhdGVzKFxuICAgICAgJGNvbG9yOiB0ZXh0LXByaW1hcnktb24tZGFyaywgJHF1ZXJ5OiAkcXVlcnksICRyaXBwbGUtdGFyZ2V0OiAkcmlwcGxlLXRhcmdldCk7XG4gIH0gQGVsc2Uge1xuICAgIEBpbmNsdWRlIGluay1jb2xvcih0ZXh0LXByaW1hcnktb24tbGlnaHQsICRxdWVyeSk7XG4gICAgQGluY2x1ZGUgcmlwcGxlLW1peGlucy5zdGF0ZXMoXG4gICAgICAkY29sb3I6IHRleHQtcHJpbWFyeS1vbi1saWdodCwgJHF1ZXJ5OiAkcXVlcnksICRyaXBwbGUtdGFyZ2V0OiAkcmlwcGxlLXRhcmdldCk7XG4gIH1cbn1cblxuLy8vXG4vLy8gU2V0cyB0aGUgY29udGFpbmVyIGZpbGwgY29sb3IgdG8gdGhlIGdpdmVuIGNvbG9yIGZvciBhbiBlbmFibGVkIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBUaGUgZGVzaXJlZCBjb250YWluZXIgZmlsbCBjb2xvci5cbi8vL1xuQG1peGluIGNvbnRhaW5lci1maWxsLWNvbG9yKCRjb2xvciwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgLy8gOm5vdCg6ZGlzYWJsZWQpIGlzIHVzZWQgdG8gc3VwcG9ydCBsaW5rIHN0eWxlZCBhcyBidXR0b25cbiAgLy8gYXMgbGluayBkb2VzIG5vdCBzdXBwb3J0IDplbmFibGVkIHN0eWxlXG4gICY6bm90KDpkaXNhYmxlZCkge1xuICAgIEBpbmNsdWRlIGNvbnRhaW5lci1maWxsLWNvbG9yXygkY29sb3IsICRxdWVyeTogJHF1ZXJ5KTtcbiAgfVxufVxuXG4vLy9cbi8vLyBTZXRzIHRoZSBjb250YWluZXIgZmlsbCBjb2xvciB0byB0aGUgZ2l2ZW4gY29sb3IgZm9yIGEgZGlzYWJsZWQgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIFRoZSBkZXNpcmVkIGNvbnRhaW5lciBmaWxsIGNvbG9yLlxuLy8vXG5AbWl4aW4gZGlzYWJsZWQtY29udGFpbmVyLWZpbGwtY29sb3IoJGNvbG9yLCAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAmOmRpc2FibGVkIHtcbiAgICBAaW5jbHVkZSBjb250YWluZXItZmlsbC1jb2xvcl8oJGNvbG9yLCAkcXVlcnk6ICRxdWVyeSk7XG4gIH1cbn1cblxuLy8vXG4vLy8gU2V0cyB0aGUgb3V0bGluZSBjb2xvciB0byB0aGUgZ2l2ZW4gY29sb3IgZm9yIGFuIGVuYWJsZWQgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIFRoZSBkZXNpcmVkIG91dGxpbmUgY29sb3IuXG4vLy9cbkBtaXhpbiBvdXRsaW5lLWNvbG9yKCRjb2xvciwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJjpub3QoOmRpc2FibGVkKSB7XG4gICAgQGluY2x1ZGUgb3V0bGluZS1jb2xvcl8oJGNvbG9yLCAkcXVlcnk6ICRxdWVyeSk7XG4gIH1cbn1cblxuLy8vXG4vLy8gU2V0cyB0aGUgb3V0bGluZSBjb2xvciB0byB0aGUgZ2l2ZW4gY29sb3IgZm9yIGEgZGlzYWJsZWQgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIFRoZSBkZXNpcmVkIG91dGxpbmUgY29sb3IuXG4vLy9cbkBtaXhpbiBkaXNhYmxlZC1vdXRsaW5lLWNvbG9yKCRjb2xvciwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJjpkaXNhYmxlZCB7XG4gICAgQGluY2x1ZGUgb3V0bGluZS1jb2xvcl8oJGNvbG9yLCAkcXVlcnk6ICRxdWVyeSk7XG4gIH1cbn1cblxuLy8vXG4vLy8gU2V0cyB0aGUgaWNvbiBjb2xvciB0byB0aGUgZ2l2ZW4gY29sb3IgZm9yIGFuIGVuYWJsZWQgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIFRoZSBkZXNpcmVkIGljb24gY29sb3IuXG4vLy9cbkBtaXhpbiBpY29uLWNvbG9yKCRjb2xvciwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJjpub3QoOmRpc2FibGVkKSB7XG4gICAgQGluY2x1ZGUgaWNvbi1jb2xvcl8oJGNvbG9yLCAkcXVlcnk6ICRxdWVyeSk7XG4gIH1cbn1cblxuLy8vXG4vLy8gU2V0cyB0aGUgaWNvbiBjb2xvciB0byB0aGUgZ2l2ZW4gY29sb3IgZm9yIGEgZGlzYWJsZWQgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIFRoZSBkZXNpcmVkIGljb24gY29sb3IuXG4vLy9cbkBtaXhpbiBkaXNhYmxlZC1pY29uLWNvbG9yKCRjb2xvciwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJjpkaXNhYmxlZCB7XG4gICAgQGluY2x1ZGUgaWNvbi1jb2xvcl8oJGNvbG9yLCAkcXVlcnk6ICRxdWVyeSk7XG4gIH1cbn1cblxuLy8vXG4vLy8gU2V0cyB0aGUgaW5rIGNvbG9yIHRvIHRoZSBnaXZlbiBjb2xvciBmb3IgYW4gZW5hYmxlZCBidXR0b24sXG4vLy8gYW5kIHNldHMgdGhlIGljb24gY29sb3IgdG8gdGhlIGdpdmVuIGNvbG9yIHVubGVzcyBgbWRjLWJ1dHRvbi1pY29uLWNvbG9yYFxuLy8vIGlzIGFsc28gdXNlZC5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBUaGUgZGVzaXJlZCBpbmsgY29sb3IuXG4vLy9cbkBtaXhpbiBpbmstY29sb3IoJGNvbG9yLCAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAmOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICBAaW5jbHVkZSBpbmstY29sb3JfKCRjb2xvciwgJHF1ZXJ5OiAkcXVlcnkpO1xuICB9XG59XG5cbi8vL1xuLy8vIFNldHMgdGhlIGluayBjb2xvciB0byB0aGUgZ2l2ZW4gY29sb3IgZm9yIGEgZGlzYWJsZWQgYnV0dG9uLFxuLy8vIGFuZCBzZXRzIHRoZSBpY29uIGNvbG9yIHRvIHRoZSBnaXZlbiBjb2xvciB1bmxlc3MgYG1kYy1idXR0b24taWNvbi1jb2xvcmBcbi8vLyBpcyBhbHNvIHVzZWQuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gVGhlIGRlc2lyZWQgaW5rIGNvbG9yLlxuLy8vXG5AbWl4aW4gZGlzYWJsZWQtaW5rLWNvbG9yKCRjb2xvciwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJjpkaXNhYmxlZCB7XG4gICAgQGluY2x1ZGUgaW5rLWNvbG9yXygkY29sb3IsICRxdWVyeTogJHF1ZXJ5KTtcbiAgfVxufVxuXG4vLy9cbi8vLyBTZXRzIGRlbnNpdHkgc2NhbGUgZm9yIGJ1dHRvbi5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyIHwgU3RyaW5nfSAkZGVuc2l0eS1zY2FsZSAtIERlbnNpdHkgc2NhbGUgdmFsdWUgZm9yIGNvbXBvbmVudC4gU3VwcG9ydGVkIGRlbnNpdHkgc2NhbGUgdmFsdWVzIGAtM2AsXG4vLy8gICAgIGAtMmAsIGAtMWAsIGAwYC5cbi8vL1xuQG1peGluIGRlbnNpdHkoJGRlbnNpdHktc2NhbGUsICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG5cbiAgJGhlaWdodDogZGVuc2l0eS1mdW5jdGlvbnMucHJvcC12YWx1ZShcbiAgICAkZGVuc2l0eS1jb25maWc6IHZhcmlhYmxlcy4kZGVuc2l0eS1jb25maWcsXG4gICAgJGRlbnNpdHktc2NhbGU6ICRkZW5zaXR5LXNjYWxlLFxuICAgICRwcm9wZXJ0eS1uYW1lOiBoZWlnaHQsXG4gICk7XG5cbiAgQGluY2x1ZGUgaGVpZ2h0KCRoZWlnaHQsICRxdWVyeTogJHF1ZXJ5KTtcblxuICBAaWYgJGRlbnNpdHktc2NhbGUgIT0gMCB7XG4gICAgQGluY2x1ZGUgdG91Y2gtdGFyZ2V0LXJlc2V0XygkcXVlcnk6ICRxdWVyeSk7XG4gIH1cbn1cblxuLy8vXG4vLy8gUmVzZXRzIHRvdWNoIHRhcmdldC1yZWxhdGVkIHN0eWxlcy4gVGhpcyBpcyBjYWxsZWQgZnJvbSB0aGUgZGVuc2l0eSBtaXhpbiB0b1xuLy8vIGF1dG9tYXRpY2FsbHkgcmVtb3ZlIHRoZSBpbmNyZWFzZWQgdG91Y2ggdGFyZ2V0LCBzaW5jZSBkZW5zZSBjb21wb25lbnRzXG4vLy8gZG9uJ3QgaGF2ZSB0aGUgc2FtZSBkZWZhdWx0IGExMXkgcmVxdWlyZW1lbnRzLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG5AbWl4aW4gdG91Y2gtdGFyZ2V0LXJlc2V0XygkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAkZmVhdC1zdHJ1Y3R1cmU6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcblxuICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICAubWRjLWJ1dHRvbl9fdG91Y2gge1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuLy8vXG4vLy8gU2V0cyBjdXN0b20gaGVpZ2h0IGZvciBidXR0b24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRoZWlnaHQgLSBIZWlnaHQgb2YgYnV0dG9uIGluIGBweGAuXG4vLy9cbkBtaXhpbiBoZWlnaHQoJGhlaWdodCwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJGZlYXQtc3RydWN0dXJlOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG5cbiAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgaGVpZ2h0OiAkaGVpZ2h0O1xuICB9XG59XG5cbkBtaXhpbiBzaGFwZS1yYWRpdXMoJHJhZGl1cyxcbiRydGwtcmVmbGV4aXZlOiBmYWxzZSxcbiRkZW5zaXR5LXNjYWxlOiB2YXJpYWJsZXMuJGRlbnNpdHktc2NhbGUsXG4kcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuXG4gICRoZWlnaHQ6IGRlbnNpdHktZnVuY3Rpb25zLnByb3AtdmFsdWUoXG4gICAgJGRlbnNpdHktY29uZmlnOiB2YXJpYWJsZXMuJGRlbnNpdHktY29uZmlnLFxuICAgICRkZW5zaXR5LXNjYWxlOiAkZGVuc2l0eS1zY2FsZSxcbiAgICAkcHJvcGVydHktbmFtZTogaGVpZ2h0LFxuICApO1xuICAkcmVzb2x2ZWQtcmFkaXVzOiBzaGFwZS1mdW5jdGlvbnMucmVzb2x2ZS1wZXJjZW50YWdlLXJhZGl1cygkaGVpZ2h0LCAkcmFkaXVzKTtcblxuICBAaW5jbHVkZSBzaGFwZS1taXhpbnMucmFkaXVzKCRyZXNvbHZlZC1yYWRpdXMsICRydGwtcmVmbGV4aXZlLCAkcXVlcnk6ICRxdWVyeSk7XG5cbiAgI3skcmlwcGxlLXRhcmdldH0ge1xuICAgIEBpbmNsdWRlIHNoYXBlLW1peGlucy5yYWRpdXMoJHJlc29sdmVkLXJhZGl1cywgJHJ0bC1yZWZsZXhpdmUsICRxdWVyeTogJHF1ZXJ5KTtcbiAgfVxufVxuXG4vLy9cbi8vLyBTZXRzIGhvcml6b250YWwgcGFkZGluZyB0byB0aGUgZ2l2ZW4gbnVtYmVyLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcGFkZGluZ1xuLy8vXG5AbWl4aW4gaG9yaXpvbnRhbC1wYWRkaW5nKCRwYWRkaW5nLCAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAkZmVhdC1zdHJ1Y3R1cmU6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcblxuICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAvLyAkcGFkZGluZyBzaG91bGQgYmUgYSBzaW5nbGUgdmFsdWU7IGVuZm9yY2UgaXQgYnkgc3BlY2lmeWluZyBhbGwgNCBzaWRlcyBpbiB0aGUgb3V0cHV0XG4gICAgcGFkZGluZzogMCAkcGFkZGluZyAwICRwYWRkaW5nO1xuICB9XG59XG5cbkBtaXhpbiBvdXRsaW5lLXdpZHRoKFxuICAkb3V0bGluZS13aWR0aCxcbiAgJHBhZGRpbmc6IHZhcmlhYmxlcy4kY29udGFpbmVkLWhvcml6b250YWwtcGFkZGluZyxcbiAgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKClcbikge1xuICAkZmVhdC1zdHJ1Y3R1cmU6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcbiAgLy8gTm90ZTogQWRqdXN0IHBhZGRpbmcgdG8gbWFpbnRhaW4gY29uc2lzdGVudCB3aWR0aCB3aXRoIG5vbi1vdXRsaW5lZCBidXR0b25zXG4gICRwYWRkaW5nLXZhbHVlOiBtYXRoLm1heCgkcGFkZGluZyAtICRvdXRsaW5lLXdpZHRoLCAwKTtcblxuICBAaW5jbHVkZSBob3Jpem9udGFsLXBhZGRpbmcoJHBhZGRpbmctdmFsdWUsICRxdWVyeSk7XG5cbiAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgYm9yZGVyLXdpZHRoOiAkb3V0bGluZS13aWR0aDtcbiAgfVxuXG4gICN7JHJpcHBsZS10YXJnZXR9IHtcbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIHRvcDogLSRvdXRsaW5lLXdpZHRoO1xuICAgICAgbGVmdDogLSRvdXRsaW5lLXdpZHRoO1xuICAgICAgYm9yZGVyOiAkb3V0bGluZS13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICB9XG4gIH1cblxuICAubWRjLWJ1dHRvbl9fdG91Y2gge1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgbGVmdDogLSRvdXRsaW5lLXdpZHRoO1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSArIDIgKiAjeyRvdXRsaW5lLXdpZHRofSk7XG4gICAgfVxuICB9XG59XG5cbi8vL1xuLy8vIFNldHMgdGhlIGJ1dHRvbiBsYWJlbCB0byBvdmVyZmxvdyBhcyBlbGxpcHNpc1xuLy8vXG5AbWl4aW4gbGFiZWwtb3Zlcmxvdy1lbGxpcHNpcygkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAubWRjLWJ1dHRvbl9fbGFiZWwge1xuICAgIEBpbmNsdWRlIHR5cG9ncmFwaHktbWl4aW5zLm92ZXJmbG93LWVsbGlwc2lzKCRxdWVyeTogJHF1ZXJ5KTtcbiAgfVxufVxuXG5AbWl4aW4gYmFzZV8oJHF1ZXJ5KSB7XG4gICRmZWF0LWNvbG9yOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIGNvbG9yKTtcbiAgJGZlYXQtc3RydWN0dXJlOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG5cbiAgQGluY2x1ZGUgdHlwb2dyYXBoeS1taXhpbnMudHlwb2dyYXBoeShidXR0b24sICRxdWVyeSk7XG4gIEBpbmNsdWRlIGhvcml6b250YWwtcGFkZGluZyh2YXJpYWJsZXMuJGhvcml6b250YWwtcGFkZGluZywgJHF1ZXJ5KTtcbiAgQGluY2x1ZGUgZWxldmF0aW9uLW1peGlucy5vdmVybGF5LXN1cmZhY2UtcG9zaXRpb24oJHF1ZXJ5OiAkcXVlcnkpO1xuICBAaW5jbHVkZSBlbGV2YXRpb24tbWl4aW5zLm92ZXJsYXktZGltZW5zaW9ucygxMDAlLCAkcXVlcnk6ICRxdWVyeSk7XG5cbiAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgLy8gcG9zaXRpb246IHJlbGF0aXZlOyBhbHJlYWR5IHNldCBpbiBtZGMtZWxldmF0aW9uLW92ZXJsYXktc3VyZmFjZS1wb3NpdGlvblxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBtaW4td2lkdGg6IDY0cHg7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgLyogQGFsdGVybmF0ZSAqL1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAvLyBFdmVuIHRob3VnaCBgdmlzaWJsZWAgaXMgdGhlIGRlZmF1bHQsIElFIDExIGNvbXB1dGVzIHRoZSBwcm9wZXJ0eSBhc1xuICAgIC8vIGBoaWRkZW5gIGluIHNvbWUgY2FzZXMsIHVubGVzcyBpdCdzIGV4cGxpY2l0bHkgZGVmaW5lZCBoZXJlLlxuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIH1cblxuICAmOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBib3JkZXI6IDA7XG4gICAgfVxuICB9XG5cbiAgLy8gcG9zdGNzcy1iZW0tbGludGVyOiBpZ25vcmVcbiAgJjphY3RpdmUge1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAmOmhvdmVyIHtcbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG4gIH1cblxuICAmOmRpc2FibGVkIHtcbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gaWNvbl8ge1xuICBAaW5jbHVkZSBydGwtbWl4aW5zLnJlZmxleGl2ZS1ib3gobWFyZ2luLCByaWdodCwgOHB4KTtcblxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAxOHB4O1xuICBoZWlnaHQ6IDE4cHg7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbn1cblxuQG1peGluIGljb24tdHJhaWxpbmdfIHtcbiAgQGluY2x1ZGUgcnRsLW1peGlucy5yZWZsZXhpdmUtYm94KG1hcmdpbiwgbGVmdCwgOHB4KTtcbn1cblxuQG1peGluIGljb24tc3ZnXyB7XG4gIGZpbGw6IGN1cnJlbnRDb2xvcjtcbn1cblxuQG1peGluIGljb24tY29udGFpbmVkXyB7XG4gIEBpbmNsdWRlIHJ0bC1taXhpbnMucmVmbGV4aXZlLXByb3BlcnR5KG1hcmdpbiwgLTRweCwgOHB4KTtcbn1cblxuQG1peGluIGljb24tY29udGFpbmVkLXRyYWlsaW5nXyB7XG4gIEBpbmNsdWRlIHJ0bC1taXhpbnMucmVmbGV4aXZlLXByb3BlcnR5KG1hcmdpbiwgOHB4LCAtNHB4KTtcbn1cblxuQG1peGluIG91dGxpbmVkXygkcXVlcnkpIHtcbiAgJGZlYXQtc3RydWN0dXJlOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG5cbiAgQGluY2x1ZGUgb3V0bGluZS13aWR0aCh2YXJpYWJsZXMuJG91dGxpbmVkLWJvcmRlci13aWR0aCwgJHF1ZXJ5OiAkcXVlcnkpO1xuICBAaW5jbHVkZSBvdXRsaW5lLWNvbG9yKHZhcmlhYmxlcy4kb3V0bGluZS1jb2xvciwgJHF1ZXJ5KTtcbiAgQGluY2x1ZGUgZGlzYWJsZWQtb3V0bGluZS1jb2xvcih2YXJpYWJsZXMuJGRpc2FibGVkLWNvbnRhaW5lci1jb2xvciwgJHF1ZXJ5KTtcblxuICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICB9XG59XG5cbkBtaXhpbiBmaWxsZWRfKCRxdWVyeSkge1xuICBAaW5jbHVkZSBob3Jpem9udGFsLXBhZGRpbmcodmFyaWFibGVzLiRjb250YWluZWQtaG9yaXpvbnRhbC1wYWRkaW5nLCAkcXVlcnkpO1xuICBAaW5jbHVkZSBjb250YWluZXItZmlsbC1jb2xvcihwcmltYXJ5LCAkcXVlcnkpO1xuICBAaW5jbHVkZSBpbmstY29sb3Iob24tcHJpbWFyeSwgJHF1ZXJ5KTtcbiAgQGluY2x1ZGUgZGlzYWJsZWQtY29udGFpbmVyLWZpbGwtY29sb3IodmFyaWFibGVzLiRkaXNhYmxlZC1jb250YWluZXItY29sb3IsICRxdWVyeSk7XG4gIEBpbmNsdWRlIGRpc2FibGVkLWluay1jb2xvcih2YXJpYWJsZXMuJGRpc2FibGVkLWluay1jb2xvciwgJHF1ZXJ5KTtcbn1cblxuQG1peGluIHJhaXNlZF8oJHF1ZXJ5KSB7XG4gICRmZWF0LWFuaW1hdGlvbjogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBhbmltYXRpb24pO1xuICAkZmVhdC1jb2xvcjogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBjb2xvcik7XG5cbiAgQGluY2x1ZGUgZWxldmF0aW9uLW1peGlucy5lbGV2YXRpb24oMiwgJHF1ZXJ5OiAkcXVlcnkpO1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIEBpbmNsdWRlIGVsZXZhdGlvbi1taXhpbnMuZWxldmF0aW9uKDQsICRxdWVyeTogJHF1ZXJ5KTtcbiAgfVxuXG4gICY6YWN0aXZlIHtcbiAgICBAaW5jbHVkZSBlbGV2YXRpb24tbWl4aW5zLmVsZXZhdGlvbig4LCAkcXVlcnk6ICRxdWVyeSk7XG4gIH1cblxuICAmOmRpc2FibGVkIHtcbiAgICBAaW5jbHVkZSBlbGV2YXRpb24tbWl4aW5zLmVsZXZhdGlvbigwLCAkcXVlcnk6ICRxdWVyeSk7XG4gIH1cblxuICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1hbmltYXRpb24pIHtcbiAgICB0cmFuc2l0aW9uOiBlbGV2YXRpb24tZnVuY3Rpb25zLnRyYW5zaXRpb24tdmFsdWUoKTtcbiAgfVxufVxuXG4vLy9cbi8vLyBTZXRzIHRoZSBjb250YWluZXIgZmlsbCBjb2xvciB0byB0aGUgZ2l2ZW4gY29sb3IuIFRoaXMgbWl4aW4gc2hvdWxkIGJlXG4vLy8gd3JhcHBlZCBpbiBhIHNlbGVjdG9yIHRoYXQgcXVhbGlmaWVzIGJ1dHRvbiBzdGF0ZS5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuQG1peGluIGNvbnRhaW5lci1maWxsLWNvbG9yXygkY29sb3IsICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gICRmZWF0LWNvbG9yOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIGNvbG9yKTtcblxuICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1jb2xvcikge1xuICAgIEBpbmNsdWRlIHRoZW1lLW1peGlucy5wcm9wKGJhY2tncm91bmQtY29sb3IsICRjb2xvcik7XG4gIH1cbn1cblxuLy8vXG4vLy8gU2V0cyB0aGUgb3V0bGluZSBjb2xvciB0byB0aGUgZ2l2ZW4gY29sb3IuIFRoaXMgbWl4aW4gc2hvdWxkIGJlXG4vLy8gd3JhcHBlZCBpbiBhIHNlbGVjdG9yIHRoYXQgcXVhbGlmaWVzIGJ1dHRvbiBzdGF0ZS5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuQG1peGluIG91dGxpbmUtY29sb3JfKCRjb2xvciwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJGZlYXQtY29sb3I6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgY29sb3IpO1xuXG4gIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LWNvbG9yKSB7XG4gICAgQGluY2x1ZGUgdGhlbWUtbWl4aW5zLnByb3AoYm9yZGVyLWNvbG9yLCAkY29sb3IpO1xuICB9XG59XG5cbi8vL1xuLy8vIFNldHMgdGhlIGljb24gY29sb3IgdG8gdGhlIGdpdmVuIGNvbG9yLiBUaGlzIG1peGluIHNob3VsZCBiZVxuLy8vIHdyYXBwZWQgaW4gYSBzZWxlY3RvciB0aGF0IHF1YWxpZmllcyBidXR0b24gc3RhdGUuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbkBtaXhpbiBpY29uLWNvbG9yXygkY29sb3IsICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gICRmZWF0LWNvbG9yOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIGNvbG9yKTtcblxuICAubWRjLWJ1dHRvbl9faWNvbiB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtY29sb3IpIHtcbiAgICAgIEBpbmNsdWRlIHRoZW1lLW1peGlucy5wcm9wKGNvbG9yLCAkY29sb3IpO1xuICAgIH1cbiAgfVxufVxuXG4vLy9cbi8vLyBTZXRzIHRoZSBpbmsgY29sb3IgdG8gdGhlIGdpdmVuIGNvbG9yLiBUaGlzIG1peGluIHNob3VsZCBiZVxuLy8vIHdyYXBwZWQgaW4gYSBzZWxlY3RvciB0aGF0IHF1YWxpZmllcyBidXR0b24gc3RhdGUuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbkBtaXhpbiBpbmstY29sb3JfKCRjb2xvciwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJGZlYXQtY29sb3I6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgY29sb3IpO1xuXG4gIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LWNvbG9yKSB7XG4gICAgQGluY2x1ZGUgdGhlbWUtbWl4aW5zLnByb3AoY29sb3IsICRjb2xvcik7XG4gIH1cbn1cbiIsIi5zaGFyZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBjb2xvcjogJHByb2plY3QtYmxhY2s7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBmb250LXNpemU6IDEwLjVweDtcbiAgICBsaW5lLWhlaWdodDogMTdweDtcblxuICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tbWQpIHtcbiAgICAgICAgZm9udC1zaXplOiAxN3B4O1xuICAgICAgICBsaW5lLWhlaWdodDogMzNweDtcbiAgICB9XG5cbiAgICAmX19saW5rcyB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICB9XG5cbiAgICAmX19sYWJlbCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMjVweDtcbiAgICB9XG5cbiAgICAmX19saW5rICsgJl9fbGluayB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxNXB4O1xuICAgIH1cblxuICAgICZfX2ljb24ge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAyMHB4O1xuICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDIwcHggMjBweDtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIC4ycztcblxuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLW1kKSB7XG4gICAgICAgICAgICB3aWR0aDogMzVweDtcbiAgICAgICAgICAgIGhlaWdodDogMzVweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMzVweCAzNXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJi0tZmFjZWJvb2sge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogaWNvbnMtcHJvamVjdF9fZmFjZWJvb2stLXdoaXRlKCM0MzY5YjIpO1xuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBpY29ucy1wcm9qZWN0X19mYWNlYm9vay0td2hpdGUoZGFya2VuKCM0MzY5YjIsIDYlKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS1saW5rZWRpbiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBpY29ucy1wcm9qZWN0X19saW5rZWRpbigjMDA3YmI1KTtcblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogaWNvbnMtcHJvamVjdF9fbGlua2VkaW4oZGFya2VuKCMwMDdiYjUsIDYlKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS10d2l0dGVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGljb25zLXByb2plY3RfX3R3aXR0ZXItLXdoaXRlKCMxZGExZjMpO1xuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBpY29ucy1wcm9qZWN0X190d2l0dGVyLS13aGl0ZShkYXJrZW4oIzFkYTFmMywgNiUpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLWVtYWlsIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGljb25zLXByb2plY3RfX2VtYWlsLS13aGl0ZSgjNzc3Nzc5KTtcblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogaWNvbnMtcHJvamVjdF9fZW1haWwtLXdoaXRlKGRhcmtlbigjNzc3Nzc5LCA2JSkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnBheW1lbnQtc2VjdGlvbi10ZWFzZXIgJiB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMTQuNXB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcblxuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLW1kKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE3cHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMzNweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnNoYXJlLWJsb2NrIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuXG4gICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi1tZCkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgIH1cbn0iLCJAaW1wb3J0IFwiQG1hdGVyaWFsL2NoZWNrYm94L2Z1bmN0aW9uc1wiO1xuQGltcG9ydCBcIkBtYXRlcmlhbC9jaGVja2JveC9taXhpbnNcIjtcbkBpbXBvcnQgXCJAbWF0ZXJpYWwvY2hlY2tib3gvdmFyaWFibGVzXCI7XG5cbkBpbXBvcnQgXCJAbWF0ZXJpYWwvcmFkaW8vZnVuY3Rpb25zXCI7XG5AaW1wb3J0IFwiQG1hdGVyaWFsL3JhZGlvL21peGluc1wiO1xuQGltcG9ydCBcIkBtYXRlcmlhbC9yYWRpby92YXJpYWJsZXNcIjtcblxuQGltcG9ydCBcIkBtYXRlcmlhbC9zZWxlY3QvZnVuY3Rpb25zXCI7XG5AaW1wb3J0IFwiQG1hdGVyaWFsL3NlbGVjdC9taXhpbnNcIjtcbkBpbXBvcnQgXCJAbWF0ZXJpYWwvc2VsZWN0L3ZhcmlhYmxlc1wiO1xuXG4uc2l0ZS1mb3JtIHtcblxuICAgIC5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQ6bm90KC5tZGMtdGV4dC1maWVsZC0taW52YWxpZCk6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpIGlucHV0Oi13ZWJraXQtYXV0b2ZpbGwge1xuICAgICAgICAtd2Via2l0LXRleHQtZmlsbC1jb2xvcjogJHByb2plY3QtcHJpbWFyeSAhaW1wb3J0YW50O1xuICAgICAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMCAwIDYwcHggJHByb2plY3QtYmx1ZS1sOTUwIGluc2V0ICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgJl9fY2hlY2tib3gge1xuICAgICAgICAmLS1yZWFkb25seSB7XG4gICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICAgICAgb3BhY2l0eTogMC4zO1xuXG4gICAgICAgICAgICB+IGxhYmVsIHtcbiAgICAgICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcblxuICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubWRjLWZsb2F0aW5nLWxhYmVsIHtcbiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4ycHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXNtKSB7XG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4teHhsKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE5cHg7XG4gICAgICAgIH1cblxuICAgICAgICAmLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUge1xuICAgICAgICAgICAgdGV4dC1vdmVyZmxvdzogY2xpcDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBpbnB1dFtyZWFkb25seV0gKyAubWRjLW5vdGNoZWQtb3V0bGluZS0tbm90Y2hlZCB7XG4gICAgICAgIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19sZWFkaW5nLFxuICAgICAgICAubWRjLW5vdGNoZWQtb3V0bGluZV9fbm90Y2gsXG4gICAgICAgIC5tZGMtbm90Y2hlZC1vdXRsaW5lX190cmFpbGluZyB7XG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDFweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5tZGMtZmxvYXRpbmctbGFiZWwge1xuICAgICAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubWRjLXNlbGVjdC0tb3V0bGluZWQge1xuICAgICAgICAubWRjLWZsb2F0aW5nLWxhYmVsIHtcbiAgICAgICAgICAgICYubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSB7XG4gICAgICAgICAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5tZGMtY2hlY2tib3gge1xuICAgICAgICBtYXJnaW4tbGVmdDogLTExcHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IC04cHg7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICAvL0BpbmNsdWRlIG1kYy1jaGVja2JveC1jb250YWluZXItY29sb3JzKCR1bm1hcmtlZC1zdHJva2UtY29sb3IsICR1bm1hcmtlZC1maWxsLWNvbG9yLCAkbWFya2VkLXN0cm9rZS1jb2xvciwgJG1hcmtlZC1maWxsLWNvbG9yLCAkZ2VuZXJhdGUta2V5ZnJhbWVzKTtcbiAgICAgICAgQGluY2x1ZGUgbWRjLWNoZWNrYm94LWNvbnRhaW5lci1jb2xvcnMoJHByb2plY3QtYmx1ZS1kNTAwLCAkcHJvamVjdC10cmFuc3BhcmVudCwgJHByb2plY3QtYmx1ZS1kNTAwLCAkcHJvamVjdC1ibHVlLWQ1MDAsICdmYWxzZScpO1xuICAgICAgICBAaW5jbHVkZSBtZGMtY2hlY2tib3gtaW5rLWNvbG9yKCRwcm9qZWN0LXdoaXRlKTtcbiAgICAgICAgQGluY2x1ZGUgbWRjLWNoZWNrYm94LWZvY3VzLWluZGljYXRvci1jb2xvcigkcHJvamVjdC1ibHVlLWQ1MDApO1xuXG4gICAgICAgIC5tZGMtY2hlY2tib3hfX3JpcHBsZSB7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMDBweDtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XG5cbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvamVjdC1ibHVlO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB3aWR0aDoxMDAlO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICBsZWZ0OjA7XG4gICAgICAgICAgICAgICAgdG9wOjA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcm9qZWN0LWJsdWU7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHdpZHRoOjEwMCU7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgIGxlZnQ6MDtcbiAgICAgICAgICAgICAgICB0b3A6MDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgLm1kYy1jaGVja2JveF9fcmlwcGxlIHtcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IC4wODtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByb2plY3QtYmx1ZTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByb2plY3QtYmx1ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC5tZGMtcmFkaW8ge1xuICAgICAgICBtYXJnaW4tbGVmdDogLTExcHg7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgICAgQGluY2x1ZGUgbWRjLXJhZGlvLXVuY2hlY2tlZC1zdHJva2UtY29sb3IoJHByb2plY3QtYmx1ZS1kNTAwKTsgLy9TZXRzIHRoZSBzdHJva2UgY29sb3Igb2YgYW4gdW5jaGVja2VkIHJhZGlvIGJ1dHRvblxuICAgICAgICBAaW5jbHVkZSBtZGMtcmFkaW8tY2hlY2tlZC1zdHJva2UtY29sb3IoJHByb2plY3QtYmx1ZS1kNTAwKTsgLy9TZXRzIHRoZSBzdHJva2UgY29sb3Igb2YgYSBjaGVja2VkIHJhZGlvIGJ1dHRvblxuICAgICAgICBAaW5jbHVkZSBtZGMtcmFkaW8taW5rLWNvbG9yKCRwcm9qZWN0LWJsdWUtZDUwMCk7IC8vU2V0cyB0aGUgaW5rIGNvbG9yIG9mIGEgcmFkaW8gYnV0dG9uXG4gICAgICAgIEBpbmNsdWRlIG1kYy1yYWRpby1mb2N1cy1pbmRpY2F0b3ItY29sb3IoJHByb2plY3QtYmx1ZSk7IC8vU2V0cyB0aGUgY29sb3Igb2YgdGhlIGZvY3VzIGluZGljYXRvclxuXG4gICAgICAgIC8vQGluY2x1ZGUgbWRjLXJhZGlvLWZvY3VzLWluZGljYXRvci1jb2xvcigkY29sb3IpO1xuXG4gICAgICAgICsgbGFiZWwge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxMi41cHg7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcblxuICAgICAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi1zbSkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi14eGwpIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE5cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubWRjLXJhZGlvX19yaXBwbGUge1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwcHg7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xuXG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByb2plY3QtYmx1ZTtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgd2lkdGg6MTAwJTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgbGVmdDowO1xuICAgICAgICAgICAgICAgIHRvcDowO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvamVjdC1ibHVlO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB3aWR0aDoxMDAlO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICBsZWZ0OjA7XG4gICAgICAgICAgICAgICAgdG9wOjA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIC5tZGMtcmFkaW9fX3JpcHBsZSB7XG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvamVjdC1ibHVlO1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAuMDg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICAubWRjLXJhZGlvLWZpZWxkIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTVweDtcbiAgICB9XG5cbiAgICAubWRjLWZvcm0tZmllbGQge1xuICAgICAgICAubWRjLXJhZGlvIHtcbiAgICAgICAgICAgICsgbGFiZWwge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDExLjVweDtcblxuICAgICAgICAgICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tc20pIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogOHB4O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4teHhsKSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDZweDtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA1cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm1kYy10ZXh0LWZpZWxkIC5tZGMtdGV4dC1maWVsZF9faW5wdXQge1xuICAgICAgICBjYXJldC1jb2xvcjogJHByb2plY3QtYmxhY2sgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAubWRjLXRleHQtZmllbGQ6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpIC5tZGMtZmxvYXRpbmctbGFiZWwubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSB7XG4gICAgICAgIGNvbG9yOiAkcHJvamVjdC1ibHVlLWQ1MDA7XG4gICAgfVxuXG4gICAgLm1kYy10ZXh0LWZpZWxkLS1pbnZhbGlkOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKSAubWRjLWZsb2F0aW5nLWxhYmVsIHtcbiAgICAgICAgY29sb3I6IHJnYmEoMCwwLDAsLjYpO1xuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgY29sb3I6IHJnYmEoMCwwLDAsLjYpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm1kYy10ZXh0LWZpZWxkLS1pbnZhbGlkOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKSAubWRjLXRleHQtZmllbGRfX2lucHV0OnJlcXVpcmVkIHtcbiAgICAgICAgJiB+IC5tZGMtbm90Y2hlZC1vdXRsaW5lIHtcbiAgICAgICAgICAgIC5tZGMtZmxvYXRpbmctbGFiZWwge1xuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogcmdiYSgwLDAsMCwuNik7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlIHtcbiAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHByb2plY3QtYmx1ZS1kNTAwO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLndhcy12YWxpZGF0ZWQgJixcbiAgICAmLndhcy12YWxpZGF0ZWQge1xuXG4gICAgICAgIC5tZGMtdGV4dC1maWVsZC0taW52YWxpZCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA2cHg7XG5cbiAgICAgICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4teHhsKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5tZGMtY2hlY2tib3gge1xuICAgICAgICAgICAgLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2w6aW52YWxpZCB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQge1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJHByb2plY3QtbmV3LXJlZCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAubWRjLWNoZWNrYm94X19uYXRpdmUtY29udHJvbDppbnZhbGlkIH4gbGFiZWwge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkcHJvamVjdC1uZXctcmVkO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLm1kYy1yYWRpbyB7XG4gICAgICAgICAgICAubWRjLXJhZGlvX19uYXRpdmUtY29udHJvbDppbnZhbGlkIH4gLm1kYy1yYWRpb19fYmFja2dyb3VuZCB7XG4gICAgICAgICAgICAgICAgLm1kYy1yYWRpb19fb3V0ZXItY2lyY2xlLCAubWRjLXJhZGlvX19pbm5lci1jaXJjbGUge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRwcm9qZWN0LW5ldy1yZWQgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5tZGMtcmFkaW9fX25hdGl2ZS1jb250cm9sOmludmFsaWQgfiBsYWJlbCB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRwcm9qZWN0LW5ldy1yZWQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubWRjLXRleHQtZmllbGRfX2lucHV0OmludmFsaWQgfiAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbGVhZGluZyxcbiAgICAgICAgLm1kYy10ZXh0LWZpZWxkX19pbnB1dDppbnZhbGlkIH4gLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX25vdGNoLFxuICAgICAgICAubWRjLXRleHQtZmllbGRfX2lucHV0OmludmFsaWQgfiAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fdHJhaWxpbmcge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkcHJvamVjdC1uZXctcmVkICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuXG4gICAgICAgIC5tZGMtdGV4dC1maWVsZF9faW5wdXQ6aW52YWxpZCB+IC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtZmxvYXRpbmctbGFiZWwge1xuICAgICAgICAgICAgY29sb3I6ICRwcm9qZWN0LW5ldy1yZWQgIWltcG9ydGFudDtcblxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRwcm9qZWN0LW5ldy1yZWQgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5zaXRlLWZvcm1fX2NoZWNrYm94LS1yZXF1aXJlZC5zaXRlLWZvcm1fX2NoZWNrYm94LS11bmNoZWNrZWQgfiBsYWJlbCB7XG4gICAgICAgICAgICBjb2xvcjogJHByb2plY3QtbmV3LXJlZDtcblxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRwcm9qZWN0LW5ldy1yZWQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkcHJvamVjdC1uZXctcmVkO1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnNpdGUtZm9ybV9fcmFkaW8tLXJlcXVpcmVkLnNpdGUtZm9ybV9fcmFkaW8tLXVuY2hlY2tlZCB+IGxhYmVsIHtcbiAgICAgICAgICAgIGNvbG9yOiAkcHJvamVjdC1uZXctcmVkO1xuXG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHByb2plY3QtbmV3LXJlZDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRwcm9qZWN0LW5ldy1yZWQ7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubWRjLXNlbGVjdC0tb3V0bGluZWQubWRjLXNlbGVjdC0taW52YWxpZCB7XG4gICAgICAgICAgICAubWRjLXNlbGVjdF9fYW5jaG9yIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBpY29ucy1wcm9qZWN0X19zZWxlY3QtY2FyZXQoJHByb2plY3QtbmV3LXJlZCk7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkcHJvamVjdC1uZXctcmVkLCAwKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgIC5tZGMtc2VsZWN0X19hbmNob3Ige1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRwcm9qZWN0LW5ldy1yZWQsIDApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLm1kYy1ub3RjaGVkLW91dGxpbmVfX2xlYWRpbmcsXG4gICAgICAgICAgICAubWRjLW5vdGNoZWQtb3V0bGluZV9fbm90Y2gsXG4gICAgICAgICAgICAubWRjLW5vdGNoZWQtb3V0bGluZV9fdHJhaWxpbmcge1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJHByb2plY3QtbmV3LXJlZCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAubWRjLWZsb2F0aW5nLWxhYmVsIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHByb2plY3QtbmV3LXJlZCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuc2l0ZS1mb3JtX192YWxpZGF0aW9uLXRleHQge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLm1kYy1yYWRpby1maWVsZCB7XG4gICAgICAgICAgICAuc2l0ZS1mb3JtX192YWxpZGF0aW9uLXRleHQge1xuICAgICAgICAgICAgICAgIGxlZnQ6IDM1cHg7XG4gICAgICAgICAgICAgICAgYm90dG9tOiAxMHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLS1pbnZhbGlkIHtcbiAgICAgICAgICAgICAgICAuc2l0ZS1mb3JtX192YWxpZGF0aW9uLXRleHQge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubWRjLWZvcm0tZmllbGQtLWludmFsaWQge1xuICAgICAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkcHJvamVjdC1uZXctcmVkO1xuXG4gICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkcHJvamVjdC1uZXctcmVkO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHByb2plY3QtbmV3LXJlZDtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmIH4gLnNpdGUtZm9ybV9fdmFsaWRhdGlvbi10ZXh0IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgIG1hcmdpbjogNnB4IDAgMCAwO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG5cbiAgICAgICAgICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXh4bCkge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDQ0cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmIH4gLm5ld3NsZXR0ZXItYWdyZWVtZW50c19faW5mbyB+IC5zaXRlLWZvcm1fX3ZhbGlkYXRpb24tdGV4dCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogLTEwcHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMThweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuc2VydmVyLXNpZGUtdmFsaWRhdGVkIHtcbiAgICAgICAgLnNlcnZlci1zaWRlLS1pbnZhbGlkIH4gLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX2xlYWRpbmcsXG4gICAgICAgIC5zZXJ2ZXItc2lkZS0taW52YWxpZCB+IC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19ub3RjaCxcbiAgICAgICAgLnNlcnZlci1zaWRlLS1pbnZhbGlkIH4gLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX3RyYWlsaW5nIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJHByb2plY3QtbmV3LXJlZCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgY29sb3I6ICRwcm9qZWN0LW5ldy1yZWQgIWltcG9ydGFudDtcblxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRwcm9qZWN0LW5ldy1yZWQgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5zZXJ2ZXItc2lkZS0taW52YWxpZCB+IC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtZmxvYXRpbmctbGFiZWwge1xuICAgICAgICAgICAgY29sb3I6ICRwcm9qZWN0LW5ldy1yZWQgIWltcG9ydGFudDtcblxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRwcm9qZWN0LW5ldy1yZWQgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5tZGMtc2VsZWN0LS1vdXRsaW5lZC5zZXJ2ZXItc2lkZS0taW52YWxpZCB7XG4gICAgICAgICAgICAubWRjLXNlbGVjdF9fYW5jaG9yIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBpY29ucy1wcm9qZWN0X19zZWxlY3QtY2FyZXQoJHByb2plY3QtbmV3LXJlZCk7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkcHJvamVjdC1uZXctcmVkLCAwKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgIC5tZGMtc2VsZWN0X19hbmNob3Ige1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRwcm9qZWN0LW5ldy1yZWQsIDApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLm1kYy1ub3RjaGVkLW91dGxpbmVfX2xlYWRpbmcsXG4gICAgICAgICAgICAubWRjLW5vdGNoZWQtb3V0bGluZV9fbm90Y2gsXG4gICAgICAgICAgICAubWRjLW5vdGNoZWQtb3V0bGluZV9fdHJhaWxpbmcge1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJHByb2plY3QtbmV3LXJlZCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAubWRjLWZsb2F0aW5nLWxhYmVsIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHByb2plY3QtbmV3LXJlZCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuc2l0ZS1mb3JtX192YWxpZGF0aW9uLXRleHQge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmZpbGVpbnB1dC1jb250YWluZXIuZmlsZWlucHV0LWNvbnRhaW5lci0taW52YWxpZCB7XG4gICAgICAgICAgICAuZmlsZWlucHV0Om5vdCguZmlsZWlucHV0LWV4aXN0cykgfiAuc2l0ZS1mb3JtX19zZXJ2ZXItdmFsaWRhdGlvbi10ZXh0IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBib3R0b206IC01cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLmpzLXNpZGUtdmFsaWRhdGVkIHtcbiAgICAgICAgLmpzLXNpZGUtLWludmFsaWQgfiAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbGVhZGluZyxcbiAgICAgICAgLmpzLXNpZGUtLWludmFsaWQgfiAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbm90Y2gsXG4gICAgICAgIC5qcy1zaWRlLS1pbnZhbGlkIH4gLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX3RyYWlsaW5nIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJHByb2plY3QtbmV3LXJlZCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgY29sb3I6ICRwcm9qZWN0LW5ldy1yZWQgIWltcG9ydGFudDtcblxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRwcm9qZWN0LW5ldy1yZWQgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5qcy1zaWRlLS1pbnZhbGlkIH4gLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1mbG9hdGluZy1sYWJlbCB7XG4gICAgICAgICAgICBjb2xvcjogJHByb2plY3QtbmV3LXJlZCAhaW1wb3J0YW50O1xuXG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHByb2plY3QtbmV3LXJlZCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLm1kYy1zZWxlY3QtLW91dGxpbmVkLmpzLXNpZGUtLWludmFsaWQge1xuICAgICAgICAgICAgLm1kYy1zZWxlY3RfX2FuY2hvciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogaWNvbnMtcHJvamVjdF9fc2VsZWN0LWNhcmV0KCRwcm9qZWN0LW5ldy1yZWQpO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJHByb2plY3QtbmV3LXJlZCwgMCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICAubWRjLXNlbGVjdF9fYW5jaG9yIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkcHJvamVjdC1uZXctcmVkLCAwKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19sZWFkaW5nLFxuICAgICAgICAgICAgLm1kYy1ub3RjaGVkLW91dGxpbmVfX25vdGNoLFxuICAgICAgICAgICAgLm1kYy1ub3RjaGVkLW91dGxpbmVfX3RyYWlsaW5nIHtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRwcm9qZWN0LW5ldy1yZWQgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLm1kYy1mbG9hdGluZy1sYWJlbCB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRwcm9qZWN0LW5ldy1yZWQgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnNpdGUtZm9ybV9fdmFsaWRhdGlvbi10ZXh0IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5tZGMtZm9ybS1maWVsZCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuXG4gICAgICAgICYtLWNoZWNrYm94IHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgICAgICBjb2xvcjogJHByb2plY3QtZ3JheS1kNDAwO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcblxuICAgICAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi14eHMpIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE3cHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4teHhsKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxOXB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE0cHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSA0MHB4KTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA2cHggIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS41MjtcblxuICAgICAgICAgICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4teGwpIHtcbiAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTc4O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5lenJpY2h0ZXh0LWZpZWxkIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lO1xuXG4gICAgICAgICAgICAgICAgICAgIHA6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICBtYXJnaW46IDlweCAwIDAgMDtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMnB4O1xuXG4gICAgICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXh4cykge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNXB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbjogOHB4IDAgMCAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXh4bCkge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogNnB4IDAgMCAwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTRweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkcHJvamVjdC1uYXZ5Ymx1ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubWRjLXRleHQtZmllbGQge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTU7XG4gICAgICAgIGhlaWdodDogNDhweDtcblxuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXh4bCkge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTU7XG4gICAgICAgICAgICBoZWlnaHQ6IDY0cHg7XG4gICAgICAgICAgICBmb250LXNpemU6IDE5cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubWRjLXRleHQtZmllbGRfX2lucHV0IHtcbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi14eGwpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTlweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC50ZXh0LWZpZWxkLXJvdyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICB9XG5cbiAgICAudGV4dC1maWVsZC1oZWxwZXIge1xuICAgICAgICBmb250LXNpemU6IDAuOXJlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICB9XG5cbiAgICAudGV4dC1maWVsZC1kZXNjcmlwdGlvbiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgfVxuXG4gICAgLnRleHQtZmllbGQtY29udGFpbmVyIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTNweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXh4bCkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjhweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5tZGMtdGV4dC1maWVsZCB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIC50ZXh0LWZpZWxkLWNvbnRhaW5lciB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJi0tZnVsbCB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLWhhbGYge1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gNnB4KTtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTJweDtcblxuICAgICAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi1zbSkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEwcHgpO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMjBweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgKyAudGV4dC1maWVsZC1jb250YWluZXItLWhhbGYge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLWhhbGYtc2xhc2gge1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMTZweCk7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAmLS1kZXNrdG9wLWhhbGYge1xuICAgICAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi1zbSkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEwcHgpO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMjBweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgKyAudGV4dC1maWVsZC1jb250YWluZXItLWRlc2t0b3AtaGFsZiB7XG4gICAgICAgICAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi1zbSkge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi0tbW9iaWxlLWZ1bGwge1xuICAgICAgICAgICAgQG1lZGlhKG1heC13aWR0aDogJHNjcmVlbi1zbSAtIDAuMSkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLXJvdy1zbGFzaCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGljb25zLXByb2plY3RfX3NsYXNoKCRwcm9qZWN0LWdyYXktZDMwMCk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgMTZweCBjZW50ZXI7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiA5cHggMThweDtcblxuICAgICAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi14eGwpIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgMjFweCBjZW50ZXI7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMHB4IDIwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubWRjLWJ1dHRvbiB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDQ4cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcblxuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXh4bCkge1xuICAgICAgICAgICAgbWluLWhlaWdodDogNjRweDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQgLm1kYy1mbG9hdGluZy1sYWJlbCxcbiAgICAubWRjLXRleHQtZmllbGQtLXRleHRhcmVhIC5tZGMtZmxvYXRpbmctbGFiZWwge1xuICAgICAgICB0b3A6IDE0cHg7XG4gICAgICAgIHRyYW5zZm9ybTogbm9uZTtcblxuICAgICAgICAuZmlyZWZveCAmIHtcbiAgICAgICAgICAgIHRvcDogMTNweDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4teHhsKSB7XG4gICAgICAgICAgICB0b3A6IDE5cHg7XG5cbiAgICAgICAgICAgIC5maXJlZm94ICYge1xuICAgICAgICAgICAgICAgIHRvcDogMThweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIG5vdCBmb2N1c2VkIGJvcmRlciAxcHhcbiAgICAubWRjLXRleHQtZmllbGQtLW91dGxpbmVkIC5tZGMtbm90Y2hlZC1vdXRsaW5lLS11cGdyYWRlZCAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSxcbiAgICAubWRjLXRleHQtZmllbGQtLW91dGxpbmVkLm1kYy1ub3RjaGVkLW91dGxpbmUtLXVwZ3JhZGVkIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xNTAlKSBzY2FsZSguNzUpO1xuICAgICAgICB0b3A6IDIxcHg7XG5cbiAgICAgICAgLmZpcmVmb3ggJiB7XG4gICAgICAgICAgICB0b3A6IDIwcHg7XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXh4bCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxOXB4O1xuICAgICAgICAgICAgdG9wOiAyNHB4O1xuXG4gICAgICAgICAgICAuZmlyZWZveCAmIHtcbiAgICAgICAgICAgICAgICB0b3A6IDIwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubWRjLXRleHQtZmllbGQtLXRleHRhcmVhIC5tZGMtbm90Y2hlZC1vdXRsaW5lLS11cGdyYWRlZCAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTUwJSkgc2NhbGUoLjc1KTtcbiAgICAgICAgdG9wOiAyM3B4O1xuXG4gICAgICAgIC5maXJlZm94ICYge1xuICAgICAgICAgICAgdG9wOiAyMnB4O1xuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi14eGwpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTlweDtcbiAgICAgICAgICAgIHRvcDogMjVweDtcblxuICAgICAgICAgICAgLmZpcmVmb3ggJiB7XG4gICAgICAgICAgICAgICAgdG9wOiAyMXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC8vXG5cbiAgICAvLyBmb2N1c2VkIGJvcmRlciAycHhcbiAgICAubWRjLXRleHQtZmllbGQtLW91dGxpbmVkLm1kYy10ZXh0LWZpZWxkLS1mb2N1c2VkIC5tZGMtbm90Y2hlZC1vdXRsaW5lLS11cGdyYWRlZCAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSxcbiAgICAubWRjLXRleHQtZmllbGQtLW91dGxpbmVkLm1kYy10ZXh0LWZpZWxkLS1mb2N1c2VkLm1kYy1ub3RjaGVkLW91dGxpbmUtLXVwZ3JhZGVkIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlIHtcbiAgICAgICAgdG9wOiAyMHB4O1xuXG4gICAgICAgIC5maXJlZm94ICYge1xuICAgICAgICAgICAgdG9wOiAxOXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi14eGwpIHtcbiAgICAgICAgICAgIHRvcDogMjNweDtcblxuICAgICAgICAgICAgLmZpcmVmb3ggJiB7XG4gICAgICAgICAgICAgICAgdG9wOiAxOXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYS5tZGMtdGV4dC1maWVsZC0tZm9jdXNlZCAubWRjLW5vdGNoZWQtb3V0bGluZS0tdXBncmFkZWQgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUge1xuICAgICAgICB0b3A6IDIzcHg7XG5cbiAgICAgICAgLmZpcmVmb3ggJiB7XG4gICAgICAgICAgICB0b3A6IDIycHg7XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXh4bCkge1xuICAgICAgICAgICAgdG9wOiAyNXB4O1xuXG4gICAgICAgICAgICAuZmlyZWZveCAmIHtcbiAgICAgICAgICAgICAgICB0b3A6IDIxcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLy9cblxuXG4gICAgLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZCAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbGVhZGluZyxcbiAgICAubWRjLXRleHQtZmllbGQtLXRleHRhcmVhIC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19sZWFkaW5nLFxuICAgIC5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQgLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX3RyYWlsaW5nLFxuICAgIC5tZGMtdGV4dC1maWVsZC0tdGV4dGFyZWEgLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX3RyYWlsaW5nIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICB9XG5cbiAgICAubWRjLXRleHQtZmllbGQtLW91dGxpbmVkOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKTpub3QoLm1kYy10ZXh0LWZpZWxkLS1pbnZhbGlkKSB7XG4gICAgICAgIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19sZWFkaW5nLFxuICAgICAgICAubWRjLW5vdGNoZWQtb3V0bGluZV9fbm90Y2gsXG4gICAgICAgIC5tZGMtbm90Y2hlZC1vdXRsaW5lX190cmFpbGluZyB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRwcm9qZWN0LWJsdWUtZDUwMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5tZGMtdGV4dC1maWVsZC0tdGV4dGFyZWE6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpOm5vdCgubWRjLXRleHQtZmllbGQtLWludmFsaWQpIHtcbiAgICAgICAgLm1kYy1ub3RjaGVkLW91dGxpbmVfX2xlYWRpbmcsXG4gICAgICAgIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19ub3RjaCxcbiAgICAgICAgLm1kYy1ub3RjaGVkLW91dGxpbmVfX3RyYWlsaW5nIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJHByb2plY3QtYmx1ZS1kNTAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZDpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCkubWRjLXRleHQtZmllbGQtLWludmFsaWQge1xuICAgICAgICAubWRjLW5vdGNoZWQtb3V0bGluZV9fbGVhZGluZyxcbiAgICAgICAgLm1kYy1ub3RjaGVkLW91dGxpbmVfX25vdGNoLFxuICAgICAgICAubWRjLW5vdGNoZWQtb3V0bGluZV9fdHJhaWxpbmcge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkcHJvamVjdC1ibHVlLWQ1MDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubWRjLXRleHQtZmllbGQtLXRleHRhcmVhOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKS5tZGMtdGV4dC1maWVsZC0taW52YWxpZCB7XG4gICAgICAgIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19sZWFkaW5nLFxuICAgICAgICAubWRjLW5vdGNoZWQtb3V0bGluZV9fbm90Y2gsXG4gICAgICAgIC5tZGMtbm90Y2hlZC1vdXRsaW5lX190cmFpbGluZyB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRwcm9qZWN0LWJsdWUtZDUwMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5tZGMtdGV4dC1maWVsZDpub3QoLm1kYy10ZXh0LWZpZWxkLS1mb2N1c2VkKTpub3QoLm1kYy10ZXh0LWZpZWxkLS1pbnZhbGlkKSB7XG4gICAgICAgIC5tZGMtdGV4dC1maWVsZF9faW5wdXQ6aG92ZXIgfiAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbGVhZGluZyxcbiAgICAgICAgLm1kYy10ZXh0LWZpZWxkX19pbnB1dDpob3ZlciB+IC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19ub3RjaCxcbiAgICAgICAgLm1kYy10ZXh0LWZpZWxkX19pbnB1dDpob3ZlciB+IC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX190cmFpbGluZyB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRwcm9qZWN0LWJsdWUtZDUwMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5tZGMtdGV4dC1maWVsZDpub3QoLm1kYy10ZXh0LWZpZWxkLS1mb2N1c2VkKS5tZGMtdGV4dC1maWVsZC0taW52YWxpZCB7XG4gICAgICAgIC5tZGMtdGV4dC1maWVsZF9faW5wdXQ6aG92ZXIgfiAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbGVhZGluZyxcbiAgICAgICAgLm1kYy10ZXh0LWZpZWxkX19pbnB1dDpob3ZlciB+IC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19ub3RjaCxcbiAgICAgICAgLm1kYy10ZXh0LWZpZWxkX19pbnB1dDpob3ZlciB+IC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX190cmFpbGluZyB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRwcm9qZWN0LWJsdWUtZDUwMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3ZhbGlkYXRpb24tdGV4dCB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDI2cHgpO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg1MCUpO1xuICAgICAgICBsZWZ0OiAxM3B4O1xuICAgICAgICBjb2xvcjogJHByb2plY3QtbmV3LXJlZDtcbiAgICAgICAgZm9udC1zaXplOiAxMC41cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDJweDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMnB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvamVjdC13aGl0ZTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG5cbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi14eHMpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4teHhsKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAgIH1cblxuICAgICAgICBpbnB1dDp2YWxpZCB+ICYge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgLndhcy12YWxpZGF0ZWQgaW5wdXQ6aW52YWxpZCB+ICYge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgIC53YXMtdmFsaWRhdGVkIC5tZGMtdGV4dC1maWVsZC0taW52YWxpZCAmIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG5cbiAgICAgICAgLndhcy12YWxpZGF0ZWQgLnNpdGUtZm9ybV9fY2hlY2tib3gtLXJlcXVpcmVkLnNpdGUtZm9ybV9fY2hlY2tib3gtLXVuY2hlY2tlZCB+ICYge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgbWFyZ2luOiA2cHggMCAwIDA7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogbm9uZTtcblxuICAgICAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi14eGwpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDQ0cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19zZXJ2ZXItZXJyb3Ige1xuICAgICAgICBjb2xvcjogJHByb2plY3QtbmV3LXJlZDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICB9XG5cbiAgICAmX19zZXJ2ZXItdmFsaWRhdGlvbi10ZXh0IHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gMjZweCk7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDUwJSk7XG4gICAgICAgIGxlZnQ6IDEzcHg7XG4gICAgICAgIGNvbG9yOiAkcHJvamVjdC1uZXctcmVkO1xuICAgICAgICBmb250LXNpemU6IDEwLjVweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMnB4O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAycHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcm9qZWN0LXdoaXRlO1xuICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcblxuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXh4cykge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi14eGwpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zZXJ2ZXItc2lkZS12YWxpZGF0ZWQgLnNlcnZlci1zaWRlLS1pbnZhbGlkIH4gJiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2pzLXZhbGlkYXRpb24tdGV4dCB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDI2cHgpO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg1MCUpO1xuICAgICAgICBsZWZ0OiAxM3B4O1xuICAgICAgICBjb2xvcjogJHByb2plY3QtbmV3LXJlZDtcbiAgICAgICAgZm9udC1zaXplOiAxMC41cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDJweDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMnB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvamVjdC13aGl0ZTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG5cbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi14eHMpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4teHhsKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAgIH1cblxuICAgICAgICAuanMtc2lkZS12YWxpZGF0ZWQgLmpzLXNpZGUtLWludmFsaWQgfiAmIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm1kYy1tZW51IHtcbiAgICAgICAgei1pbmRleDogMjAwMDtcblxuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLW1kKSB7XG4gICAgICAgICAgICB6LWluZGV4OiAxMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5tZGMtbGlzdC1pdGVtIHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBtaW4taGVpZ2h0OiA0OHB4O1xuICAgICAgICBwYWRkaW5nLXRvcDogMTBweDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLm1kYy1zZWxlY3QtLW91dGxpbmVkIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gICAgICAgIEBpbmNsdWRlIG1kYy1zZWxlY3Qtb3V0bGluZS1zaGFwZS1yYWRpdXMoMCwgZmFsc2UpO1xuICAgICAgICBAaW5jbHVkZSBtZGMtc2VsZWN0LW91dGxpbmUtY29sb3IoJHByb2plY3QtYmx1ZS1kNTAwKTtcbiAgICAgICAgQGluY2x1ZGUgbWRjLXNlbGVjdC1mb2N1c2VkLW91dGxpbmUtY29sb3IoJHByb2plY3QtYmx1ZS1kNTAwKTtcbiAgICAgICAgQGluY2x1ZGUgbWRjLXNlbGVjdC1ob3Zlci1vdXRsaW5lLWNvbG9yKCRwcm9qZWN0LWJsdWUtZDUwMCk7XG4gICAgICAgIC8vQGluY2x1ZGUgbWRjLXNlbGVjdC1sYWJlbC1jb2xvcigkcHJvamVjdC1ibHVlLWQ1MDApO1xuICAgICAgICBAaW5jbHVkZSBtZGMtc2VsZWN0LWZvY3VzZWQtbGFiZWwtY29sb3IoJHByb2plY3QtYmx1ZS1kNTAwKTtcblxuICAgICAgICBsaW5lLWhlaWdodDogMS4xNTtcbiAgICAgICAgaGVpZ2h0OiA0OHB4O1xuXG4gICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4teHhsKSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDE1cHggMzFweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IDE0cHggY2VudGVyO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICAgICAgICAgIGhlaWdodDogNjRweDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTlweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5tZGMtbWVudSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5tZGMtc2VsZWN0X19hbmNob3Ige1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDQ4cHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAxMnB4IGNlbnRlcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTJweCAyNXB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogaWNvbnMtcHJvamVjdF9fc2VsZWN0LWNhcmV0KCRwcm9qZWN0LXByaW1hcnkpO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcm9qZWN0LXdoaXRlO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzO1xuXG4gICAgICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXh4bCkge1xuICAgICAgICAgICAgICAgIGhlaWdodDogNjRweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5tZGMtc2VsZWN0X19zZWxlY3RlZC10ZXh0IHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiA0N3B4O1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMjhweDtcbiAgICAgICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuXG4gICAgICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXh4bCkge1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiA2MnB4O1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTlweDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA1MnB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLm1kYy1mbG9hdGluZy1sYWJlbCB7XG4gICAgICAgICAgICB0b3A6IDIycHg7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4teHhsKSB7XG4gICAgICAgICAgICAgICAgdG9wOiAzMHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUge1xuICAgICAgICAgICAgICAgIHRvcDogMTNweDtcblxuICAgICAgICAgICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4teHhsKSB7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogMjRweDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuZmlyZWZveCAmIHtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAxMnB4O1xuXG4gICAgICAgICAgICAgICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4teHhsKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDIycHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubWRjLXNlbGVjdF9fYW5jaG9yIC5tZGMtbm90Y2hlZC1vdXRsaW5lLS11cGdyYWRlZCAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSxcbiAgICAgICAgLm1kYy1zZWxlY3RfX2FuY2hvci5tZGMtbm90Y2hlZC1vdXRsaW5lLS11cGdyYWRlZCAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwNiUpIHNjYWxlKC43NSk7XG4gICAgICAgICAgICBjb2xvcjogJHByb2plY3QtYmx1ZS1kNTAwO1xuXG4gICAgICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXh4bCkge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTQ3JSkgc2NhbGUoLjc1KTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE5cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIC5tZGMtc2VsZWN0X19hbmNob3Ige1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJHByb2plY3QtYmx1ZSwgMC4wNik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOm5vdCgubWRjLXNlbGVjdC0tZGlzYWJsZWQpIC5tZGMtZmxvYXRpbmctbGFiZWwge1xuICAgICAgICAgICAgY29sb3I6ICRwcm9qZWN0LWJsdWUtZDUwMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5tZGMtc2VsZWN0LWlucHV0LWhpZGRlbiB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IC0xMDBweDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm1kYy1zZWxlY3QtLWNvbXBhY3Qge1xuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXh4bCkge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxNXB4IDMxcHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAxNHB4IGNlbnRlcjtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgICAgICAgICBoZWlnaHQ6IDU0cHg7XG4gICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIH1cblxuICAgICAgICAubWRjLXNlbGVjdF9fYW5jaG9yIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiA0OHB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgMTJweCBjZW50ZXI7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEycHggMjVweDtcblxuICAgICAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi14eGwpIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDU0cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubWRjLXNlbGVjdF9fc2VsZWN0ZWQtdGV4dCB7XG4gICAgICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXh4bCkge1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiA1M3B4O1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5tZGMtZmxvYXRpbmctbGFiZWwge1xuICAgICAgICAgICAgJi5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlIHtcbiAgICAgICAgICAgICAgICB0b3A6IDEzcHg7XG5cbiAgICAgICAgICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXh4bCkge1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDE5cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLm1kYy1zZWxlY3RfX2FuY2hvciAubWRjLW5vdGNoZWQtb3V0bGluZS0tdXBncmFkZWQgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUsXG4gICAgICAgIC5tZGMtc2VsZWN0X19hbmNob3IubWRjLW5vdGNoZWQtb3V0bGluZS0tdXBncmFkZWQgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDQlKSBzY2FsZSguNzUpO1xuXG4gICAgICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXh4bCkge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTQ3JSkgc2NhbGUoLjc1KTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIC5tZGMtdGV4dC1maWVsZC0tY29tcGFjdCB7XG4gICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4teHhsKSB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS41NTtcbiAgICAgICAgICAgIGhlaWdodDogNTRweDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5tZGMtZmxvYXRpbmctbGFiZWwge1xuICAgICAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi14eGwpIHtcbiAgICAgICAgICAgICAgICB0b3A6IDE3cHg7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuZmlyZWZveCAmIHtcbiAgICAgICAgICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXh4bCkge1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDE2cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gbm90IGZvY3VzZWQgMXB4IGJvcmRlclxuICAgICAgICAubWRjLW5vdGNoZWQtb3V0bGluZS0tdXBncmFkZWQge1xuICAgICAgICAgICAgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUge1xuICAgICAgICAgICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4teHhsKSB7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogMjBweDtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5maXJlZm94ICYge1xuICAgICAgICAgICAgICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXh4bCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAxOXB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gZm9jdXNlZCAycHggYm9yZGVyXG4gICAgICAgICYubWRjLXRleHQtZmllbGQtLWZvY3VzZWQge1xuICAgICAgICAgICAgLm1kYy1ub3RjaGVkLW91dGxpbmUtLXVwZ3JhZGVkIHtcbiAgICAgICAgICAgICAgICAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSB7XG4gICAgICAgICAgICAgICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4teHhsKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDE5cHg7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAuZmlyZWZveCAmIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4teHhsKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAxOHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLm1kYy10ZXh0LWZpZWxkX19pbnB1dCB7XG4gICAgICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXh4bCkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIHRleHRhcmVhXG4gICAgLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYSB7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgLm1kYy10ZXh0LWZpZWxkX19pbnB1dCB7XG4gICAgICAgICAgICByZXNpemU6IG5vbmU7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuXG5cbiAgICAgICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4teHhsKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMTdweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2hlbHAtdGV4dCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG5cbiAgICAgICAgLm1kYy1mb3JtLWZpZWxkLS1jaGVja2JveCA+ICYge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA0NXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJi0tc21hbGwge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxMC41cHg7XG4gICAgICAgICAgICBmb250LXdlaWdodDogMzAwO1xuXG4gICAgICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXh4cykge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi14eGwpIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pbmZvIHtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgICAgZm9udC1zaXplOiAxMi41cHg7XG4gICAgICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDM7XG5cbiAgICAgICAgJi0tY2VudGVyIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLXNwYWNlZCB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAzMnB4O1xuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi14eGwpIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNztcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgfVxuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm1kYy10ZXh0LWZpZWxkX19pbnB1dDpyZXF1aXJlZH4ubWRjLWZsb2F0aW5nLWxhYmVsOm5vdCgucmVxdWlyZWQpOjphZnRlciwgLm1kYy10ZXh0LWZpZWxkX19pbnB1dDpyZXF1aXJlZH4ubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLWZsb2F0aW5nLWxhYmVsOm5vdCgucmVxdWlyZWQpOjphZnRlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuXG4vLyBDdXN0b20gS2FsaW9wIGZvcm1zXG4ua2FsaW9wY3VzdG9tZm9ybXMtZm9ybSB7XG4gICAgJi0tZGVmYXVsdCB7XG4gICAgICAgIG1heC13aWR0aDogNjIwcHg7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuXG4gICAgICAgIGJ1dHRvblt0eXBlPVwic3VibWl0XCJdIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cblxuICAgICAgICAuYnRuLS1ibHVlOmRpc2FibGVkIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcm9qZWN0LW5hdnlibHVlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fbWVzc2FnZS1jb250YWluZXIge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuXG4gICAgICAgICYtLWVycm9yIHtcbiAgICAgICAgICAgIGNvbG9yOiAkcHJvamVjdC1lcnJvcjtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLXdhcm5pbmcge1xuICAgICAgICAgICAgY29sb3I6ICRwcm9qZWN0LXdhcm5pbmc7XG4gICAgICAgIH1cblxuICAgICAgICAmLS1zdWNjZXNzIHtcbiAgICAgICAgICAgIGNvbG9yOiAkcHJvamVjdC1ncmVlbjtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmN1c3RvbS1maWVsZCB7XG4gICAgJi0taW5kZW50ZWQge1xuICAgICAgICBtYXJnaW4tbGVmdDogMzVweDtcbiAgICB9XG59XG5cbi5zdGF0aWNfdGV4dC1maWVsZCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICAgJi0tc21hbGwge1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgfVxuXG4gICAgJi0tbm9ybWFsIHtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgIH1cblxuICAgICYtLWxhcmdlIHtcbiAgICAgICAgZm9udC1zaXplOiAxOXB4O1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgIH1cbn1cblxuLnRpbWVsZXNzLWZvcm0ge1xuICAgIG1heC13aWR0aDogNjgycHg7XG4gICAgbWFyZ2luOiAwIGF1dG87XG5cbiAgICAmX19hY3Rpb25zIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbn1cblxuLmFubnVhbC1mb3JtIHtcbiAgICBtYXgtd2lkdGg6IDQwMHB4O1xufVxuXG4ubmV3c2xldHRlci1hZ3JlZW1lbnRzIHtcbiAgICAuZXpyaWNodGV4dC1maWVsZCwgLm5nbC1yaWNoX3RleHQge1xuICAgICAgICBmb250LXNpemU6IDE1cHg7XG5cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4teHhzKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE3cHg7XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi14eGwpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTlweDtcbiAgICAgICAgfVxuXG4gICAgICAgIHA6bm90KFtjbGFzc10pIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX190aXRsZSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgIHBhZGRpbmctdG9wOiA4cHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAuOHJlbTtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcblxuICAgICAgICAuZXpyaWNodGV4dC1maWVsZCwgLm5nbC1yaWNoX3RleHQsICYge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNXB4O1xuXG4gICAgICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXh4cykge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTdweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi14eGwpIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE5cHg7XG4gICAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuNHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi0tYm9sZCB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fY2hvaWNlcyB7XG4gICAgICAgIC8qcGFkZGluZy1sZWZ0OiA0OHB4O1xuICAgICAgICAubmV3c2xldHRlci1hZ3JlZW1lbnRzLS1jb2xsYXBzYWJsZSAmIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgfSovXG5cbiAgICAgICAgLmNsaWVudC1zZXR0aW5ncyAmIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cbiAgICAgICAgICAgIC5uZXdzbGV0dGVyLWFncmVlbWVudHNfX2Nob2ljZSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLWxnKSB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiA0NyU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fY2hvaWNlIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cblxuICAgICZfX3RvZ2dsZSB7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxOHB4IDE4cHg7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IDAgY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBpY29ucy1wcm9qZWN0X19hcnJvdy10b3AoJHByb2plY3QtYmxhY2spO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogN3B4O1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMzBweDtcbiAgICAgICAgY29sb3I6ICRwcm9qZWN0LWJsdWU7XG4gICAgICAgIGZvbnQtc2l6ZTogMTVweDtcblxuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXh4cykge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxN3B4O1xuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi14eGwpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTlweDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5uZXdzbGV0dGVyLWFncmVlbWVudHNfX3RvZ2dsZS0tY29sbGFwc2VkIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAubmV3c2xldHRlci1hZ3JlZW1lbnRzX190b2dnbGUtLXNob3duIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuY29sbGFwc2VkIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGljb25zLXByb2plY3RfX2Fycm93LWJvdHRvbSgkcHJvamVjdC1ibGFjayk7XG5cbiAgICAgICAgICAgIC5uZXdzbGV0dGVyLWFncmVlbWVudHNfX3RvZ2dsZS0tY29sbGFwc2VkIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5uZXdzbGV0dGVyLWFncmVlbWVudHNfX3RvZ2dsZS0tc2hvd24ge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19wYW5lbCB7XG4gICAgICAgIC5uZXdzbGV0dGVyLWFncmVlbWVudHNfX2luZm8ge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDI4cHg7XG5cbiAgICAgICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4teHhsKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDE2cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pbmZvIHtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgICAgbWFyZ2luLXRvcDogMjJweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjhweDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDM7XG5cbiAgICAgICAgJi0tc3BhY2VkIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDMycHg7XG5cbiAgICAgICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4teHhsKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMjJweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLWluZGVudGVkLCAubmV3c2xldHRlci1hZ3JlZW1lbnRzX19jaG9pY2UgJiB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDM1cHg7XG5cbiAgICAgICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4teHhsKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA0NXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmV6cmljaHRleHQtZmllbGQsIC5uZ2wtcmljaF90ZXh0LCAmIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTIuNXB4O1xuXG4gICAgICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXh4bCkge1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjc7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi14eGwpIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gICAgICAgIH1cblxuICAgICAgICBhIHtcbiAgICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLm1kYy1jaGVja2JveC1tdWx0aXBsZSB7XG5cdC5zaXRlLWZvcm1fX3ZhbGlkYXRpb24tdGV4dCB7XG5cdFx0bGVmdDogMDtcblx0XHRib3R0b206IDA7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdG1hcmdpbi1ib3R0b206IDE0cHg7XG5cdFx0bWF4LXdpZHRoOiB1bnNldDtcblx0fVxufVxuXG4uc2VydmVyLXNpZGUtLWludmFsaWQge1xuXHQuc2l0ZS1mb3JtX192YWxpZGF0aW9uLXRleHQge1xuXHRcdGRpc3BsYXk6YmxvY2s7XG5cdH1cbn1cblxuLndhcy12YWxpZGF0ZWQgLm5ld3NsZXR0ZXItYWdyZWVtZW50cyAuc2l0ZS1mb3JtX19jaGVja2JveC0tcmVxdWlyZWQuc2l0ZS1mb3JtX19jaGVja2JveC0tdW5jaGVja2VkIH4gLnNpdGUtZm9ybV9fdmFsaWRhdGlvbi10ZXh0IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDM1cHg7XG5cbiAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXh4bCkge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDQ0cHg7XG4gICAgfVxufSIsIi5zb2NpYWwtY29udGVudCB7XG4gICAgZGlzcGxheTogbm9uZTtcblxuICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tbWQpIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgbWFyZ2luLXRvcDogNDBweDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMTJweDtcbiAgICB9XG5cbiAgICA+ICoge1xuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLW1kKSB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMjVweDtcbiAgICAgICAgfVxuICAgIH1cbn0iLCIuc2VlLWFsc28ge1xuICAgIG1hcmdpbi1ib3R0b206IC0zMHB4O1xuICAgIFxuICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tbWQpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogLTQwcHg7XG4gICAgfVxuICAgIFxuICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tbGcpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogLTUwcHg7XG4gICAgfVxuICAgIFxuICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4teGwpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogLTEwMHB4O1xuICAgIH1cblxuICAgICZfX3RpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAyOHB4O1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBjb2xvcjogJHByb2plY3QtcHJpbWFyeTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzVweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBtYXJnaW4tdG9wOiAzNXB4O1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4ycHg7XG5cbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi1tZCkge1xuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuNXB4O1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogNDhweDtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDQwcHg7XG4gICAgICAgIH1cblxuXG4gICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tbGcpIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDI4cHg7XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXh4bCkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMzVweDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDU4cHg7XG4gICAgICAgIH1cblxuICAgICAgICAuYWNjb3JkaW9uM19fc2VjdGlvbiAmIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG5cbiAgICAgICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tbWQpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAyOHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICAmX19yb3cge1xuICAgICAgICBtYXJnaW46IDAgLTIzcHg7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKCRwcm9qZWN0LXByaW1hcnksIDAuMyk7XG5cbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi1tZCkge1xuICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pdGVtIHtcbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi1tZCkge1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoMzMlIC0gMTdweCk7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDMwcHg7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi1sZykge1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoMzMlIC0gMTdweCk7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi14bCkge1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoMzMlIC0gMTUuNjY2cHgpO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTAwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAmOm50aC1vZi10eXBlKDNuKSB7XG4gICAgICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLW1kKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufSIsIi5jYXJkLTIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoJHByb2plY3QtcHJpbWFyeSwgMC4zKTtcblxuICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tbWQpIHtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgfVxuXG4gICAgJl9faGVhZGVyIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDExMnB4KTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgcGFkZGluZzogMTdweCAzM3B4IDE3cHggMjJweDtcblxuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLW1kKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi1sZykge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4teGwpIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXh4bCkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNTBweDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi1tZCkge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDczcHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkcHJvamVjdC1ncmF5LWw1MDA7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIGJvdHRvbTogLTEwcHg7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi1sZykge1xuICAgICAgICAgICAgICAgIGJvdHRvbTogLTE1cHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4teGwpIHtcbiAgICAgICAgICAgICAgICBib3R0b206IC0yMHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXh4bCkge1xuICAgICAgICAgICAgICAgIGJvdHRvbTogLTI1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19oZWFkbGluZSB7XG4gICAgICAgIGNvbG9yOiAkcHJvamVjdC1ibGFjaztcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjc7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMC40cHg7XG4gICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgICAgICAtd2Via2l0LWxpbmUtY2xhbXA6IDM7XG4gICAgICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICBvcmRlcjogMjtcbiAgICAgICAgaGVpZ2h0OiA3NnB4O1xuXG4gICAgICAgIC5zaG93ICYge1xuICAgICAgICAgICAgaGVpZ2h0OiA3NXB4O1xuICAgICAgICB9XG5cblxuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLW1kKSB7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCA4cHggMDtcbiAgICAgICAgICAgIG9yZGVyOiAxO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDI2cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDUycHg7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuNnB4O1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICAgICAgICAgIC13ZWJraXQtbGluZS1jbGFtcDogMjtcbiAgICAgICAgICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gICAgICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tbGcpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyOHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiA1NnB4O1xuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi14bCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAyMnB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDYwcHg7XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXh4bCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gICAgICAgICAgICBoZWlnaHQ6IDYwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pbmZvIHtcbiAgICAgICAgb3JkZXI6IDA7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMThweDtcblxuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLW1kKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fbGFiZWwge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgIGNvbG9yOiAkcHJvamVjdC13aGl0ZTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByb2plY3QtcHJpbWFyeTtcbiAgICAgICAgZm9udC1zaXplOiAxMC41cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxN3B4O1xuICAgICAgICBoZWlnaHQ6IDE3cHg7XG4gICAgICAgIHBhZGRpbmc6IDAgNnB4O1xuICAgICAgICBtYXJnaW46IDA7XG5cbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi1tZCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDI3cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDI3cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX190aW1lIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICBjb2xvcjogJHByb2plY3QtYmxhY2s7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMTAuNXB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMTdweDtcbiAgICAgICAgaGVpZ2h0OiAxN3B4O1xuXG4gICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tbWQpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyN3B4O1xuICAgICAgICAgICAgaGVpZ2h0OiAyN3B4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fZGVzY3JpcHRpb24ge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tbWQpIHtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMjBweDsgLy8gMzFcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4zcHg7XG4gICAgICAgICAgICBoeXBoZW5zOiBhdXRvO1xuICAgICAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgICAgICAgICAtd2Via2l0LWxpbmUtY2xhbXA6IDM7XG4gICAgICAgICAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAgICAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLWxnKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMjJweDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4teGwpIHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyNnB4O1xuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi14eGwpIHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ3NjsgLy8gMzFcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2ZpZ3VyZSB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgb3JkZXI6IDA7XG4gICAgICAgIHdpZHRoOiAxMTJweDtcblxuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLW1kKSB7XG4gICAgICAgICAgICBvcmRlcjogdW5zZXQ7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19jYW52YXMge1xuICAgICAgICAmLS1kZXNrdG9wLFxuICAgICAgICAmLS1tb2JpbGV7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvamVjdC1wYW50b25lLXdhcm0tZ3JleS0xO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLWRlc2t0b3Age1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi1tZCkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi0tbW9iaWxlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLW1kKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2ltZyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG5cbiAgICAgICAgY2FudmFzICsgcGljdHVyZSAmIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19vdmVybGluayB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBAaW5jbHVkZSBtZGMtcmlwcGxlLXN1cmZhY2U7XG4gICAgICAgIEBpbmNsdWRlIG1kYy1yaXBwbGUtcmFkaXVzLWJvdW5kZWQ7XG4gICAgICAgIEBpbmNsdWRlIG1kYy1zdGF0ZXMtaG92ZXItb3BhY2l0eSguMCk7XG4gICAgICAgIEBpbmNsdWRlIG1kYy1zdGF0ZXMtZm9jdXMtb3BhY2l0eSguMCk7XG4gICAgICAgIEBpbmNsdWRlIG1kYy1zdGF0ZXMtYmFzZS1jb2xvcigkcHJvamVjdC1ibGFjayk7XG4gICAgICAgIEBpbmNsdWRlIG1kYy1zdGF0ZXMtcHJlc3Mtb3BhY2l0eSguMDQpO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMsIGJvcmRlci1jb2xvciAwLjJzO1xuICAgICAgICBAaW5jbHVkZSBidXR0b24tdGFiLW5hdmlnYXRpb247XG4gICAgICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG5cbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi1tZCkge1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogNHB4IHNvbGlkIHJnYmEoJHByb2plY3QtYmx1ZSwgMCk7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiA0cHggc29saWQgcmdiYSgkcHJvamVjdC1ibHVlLCAwKTtcbiAgICAgICAgICAgIHRvcDogLTE1cHg7XG4gICAgICAgICAgICBsZWZ0OiAtMTVweDtcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgKyAzMHB4KTtcbiAgICAgICAgICAgIGhlaWdodDogY2FsYygxMDAlICsgMzBweCk7XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJHByb2plY3QtYmxhY2ssIDAuMDMpO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNhcmQtMjpob3ZlciAmIHtcbiAgICAgICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tbWQpIHtcbiAgICAgICAgICAgICAgICBib3JkZXItdG9wOiA0cHggc29saWQgJHByb2plY3QtYmx1ZTtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiA0cHggc29saWQgJHByb2plY3QtYmx1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLXZlcnRpY2FsIHtcbiAgICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgICAgICAuY2FyZC0yX19oZWFkZXIge1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jYXJkLTJfX2ZpZ3VyZSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jYXJkLTJfX2Rlc2NyaXB0aW9uIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uc2xpZGVyX19pdGVtIC5jYXJkLTIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoJHByb2plY3QtcHJpbWFyeSwgMC4zKTtcblxuICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tc20pIHtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgfVxuXG4gICAgJl9faGVhZGVyIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDExMnB4KTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgcGFkZGluZzogMTdweCAzM3B4IDE3cHggMjJweDtcblxuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXNtKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi1sZykge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4teGwpIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXh4bCkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNTBweDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi1zbSkge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDczcHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkcHJvamVjdC1ncmF5LWw1MDA7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIGJvdHRvbTogLTEwcHg7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi1sZykge1xuICAgICAgICAgICAgICAgIGJvdHRvbTogLTE1cHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4teGwpIHtcbiAgICAgICAgICAgICAgICBib3R0b206IC0yMHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXh4bCkge1xuICAgICAgICAgICAgICAgIGJvdHRvbTogLTI1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19oZWFkbGluZSB7XG4gICAgICAgIGNvbG9yOiAkcHJvamVjdC1ibGFjaztcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjc7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMC40cHg7XG4gICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgICAgICAtd2Via2l0LWxpbmUtY2xhbXA6IDM7XG4gICAgICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICBvcmRlcjogMjtcbiAgICAgICAgaGVpZ2h0OiA3NnB4O1xuXG4gICAgICAgIC5zaG93ICYge1xuICAgICAgICAgICAgaGVpZ2h0OiA3NXB4O1xuICAgICAgICB9XG5cblxuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXNtKSB7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCA4cHggMDtcbiAgICAgICAgICAgIG9yZGVyOiAxO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDI2cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDUycHg7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuNnB4O1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICAgICAgICAgIC13ZWJraXQtbGluZS1jbGFtcDogMjtcbiAgICAgICAgICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gICAgICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tbGcpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyOHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiA1NnB4O1xuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi14bCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAyMnB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDYwcHg7XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXh4bCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gICAgICAgICAgICBoZWlnaHQ6IDYwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pbmZvIHtcbiAgICAgICAgb3JkZXI6IDA7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMThweDtcblxuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXNtKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fbGFiZWwge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgIGNvbG9yOiAkcHJvamVjdC13aGl0ZTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByb2plY3QtcHJpbWFyeTtcbiAgICAgICAgZm9udC1zaXplOiAxMC41cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxN3B4O1xuICAgICAgICBoZWlnaHQ6IDE3cHg7XG4gICAgICAgIHBhZGRpbmc6IDAgNnB4O1xuICAgICAgICBtYXJnaW46IDA7XG5cbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi1zbSkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDI3cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDI3cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX190aW1lIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICBjb2xvcjogJHByb2plY3QtYmxhY2s7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMTAuNXB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMTdweDtcbiAgICAgICAgaGVpZ2h0OiAxN3B4O1xuXG4gICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tc20pIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyN3B4O1xuICAgICAgICAgICAgaGVpZ2h0OiAyN3B4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fZGVzY3JpcHRpb24ge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tc20pIHtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMjBweDsgLy8gMzFcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4zcHg7XG4gICAgICAgICAgICBoeXBoZW5zOiBhdXRvO1xuICAgICAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgICAgICAgICAtd2Via2l0LWxpbmUtY2xhbXA6IDM7XG4gICAgICAgICAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAgICAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLWxnKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMjJweDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4teGwpIHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyNnB4O1xuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi14eGwpIHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ3NjsgLy8gMzFcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2ZpZ3VyZSB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgb3JkZXI6IDA7XG4gICAgICAgIHdpZHRoOiAxMTJweDtcblxuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXNtKSB7XG4gICAgICAgICAgICBvcmRlcjogdW5zZXQ7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19jYW52YXMge1xuICAgICAgICAmLS1kZXNrdG9wLFxuICAgICAgICAmLS1tb2JpbGV7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvamVjdC1wYW50b25lLXdhcm0tZ3JleS0xO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLWRlc2t0b3Age1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi1zbSkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi0tbW9iaWxlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXNtKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2ltZyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG5cbiAgICAgICAgY2FudmFzICsgcGljdHVyZSAmIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19vdmVybGluayB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBAaW5jbHVkZSBtZGMtcmlwcGxlLXN1cmZhY2U7XG4gICAgICAgIEBpbmNsdWRlIG1kYy1yaXBwbGUtcmFkaXVzLWJvdW5kZWQ7XG4gICAgICAgIEBpbmNsdWRlIG1kYy1zdGF0ZXMtaG92ZXItb3BhY2l0eSguMCk7XG4gICAgICAgIEBpbmNsdWRlIG1kYy1zdGF0ZXMtZm9jdXMtb3BhY2l0eSguMCk7XG4gICAgICAgIEBpbmNsdWRlIG1kYy1zdGF0ZXMtYmFzZS1jb2xvcigkcHJvamVjdC1ibGFjayk7XG4gICAgICAgIEBpbmNsdWRlIG1kYy1zdGF0ZXMtcHJlc3Mtb3BhY2l0eSguMDQpO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMsIGJvcmRlci1jb2xvciAwLjJzO1xuICAgICAgICBAaW5jbHVkZSBidXR0b24tdGFiLW5hdmlnYXRpb247XG4gICAgICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG5cbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi1zbSkge1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogNHB4IHNvbGlkIHJnYmEoJHByb2plY3QtYmx1ZSwgMCk7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiA0cHggc29saWQgcmdiYSgkcHJvamVjdC1ibHVlLCAwKTtcbiAgICAgICAgICAgIHRvcDogLTE1cHg7XG4gICAgICAgICAgICBsZWZ0OiAtMTVweDtcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgKyAzMHB4KTtcbiAgICAgICAgICAgIGhlaWdodDogY2FsYygxMDAlICsgMzBweCk7XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJHByb2plY3QtYmxhY2ssIDAuMDMpO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNhcmQtMjpob3ZlciAmIHtcbiAgICAgICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tc20pIHtcbiAgICAgICAgICAgICAgICBib3JkZXItdG9wOiA0cHggc29saWQgJHByb2plY3QtYmx1ZTtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiA0cHggc29saWQgJHByb2plY3QtYmx1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLXZlcnRpY2FsIHtcbiAgICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgICAgICAuY2FyZC0yX19oZWFkZXIge1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jYXJkLTJfX2ZpZ3VyZSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jYXJkLTJfX2Rlc2NyaXB0aW9uIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDBweDtcbiAgICAgICAgICAgIEBtZWRpYShtYXgtd2lkdGg6ICRzY3JlZW4tc20pIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMTZweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn0iLCJAbWl4aW4gYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgcGFkZGluZzogNXB4IDI1cHg7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1pbi1oZWlnaHQ6IDQycHg7XG4gICAgbWluLXdpZHRoOiAxNTBweDtcbiAgICBcbiAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXNtKSB7XG4gICAgICAgIG1pbi13aWR0aDogMTgwcHg7XG4gICAgfVxuICAgIFxuICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tbWQpIHtcbiAgICAgICAgcGFkZGluZzogNXB4IDQ0cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgbWluLWhlaWdodDogNTZweDtcbiAgICB9XG4gICAgXG4gICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi14eGwpIHtcbiAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgIH1cbiAgICBcbiAgICAuaWUgJiB7XG4gICAgICAgIGhlaWdodDogNDJweDtcbiAgICBcbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi1tZCkge1xuICAgICAgICAgICAgaGVpZ2h0OiA1NnB4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG5AbWl4aW4gYnV0dG9uLWxnIHtcbiAgICBtaW4taGVpZ2h0OiA0MnB4O1xuICAgIFxuICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tbWQpIHtcbiAgICAgICAgbWluLWhlaWdodDogNTZweDtcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgIH1cbiAgICBcbiAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXh4bCkge1xuICAgICAgICBtaW4taGVpZ2h0OiA3NnB4O1xuICAgICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgfVxuICAgIFxuICAgIC5pZSAmIHtcbiAgICAgICAgaGVpZ2h0OiA0MnB4O1xuICAgIFxuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLW1kKSB7XG4gICAgICAgICAgICBoZWlnaHQ6IDc2cHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtaXhpbiBidXR0b24taHVnZSB7XG4gICAgbWluLWhlaWdodDogNjZweDtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICBsZXR0ZXItc3BhY2luZzogMC40cHg7XG5cbiAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXh4cykge1xuICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgfVxuXG4gICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi14eGwpIHtcbiAgICAgICAgbWluLWhlaWdodDogNzZweDtcbiAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgIH1cbiAgICBcbiAgICAuaWUgJiB7XG4gICAgICAgIGhlaWdodDogNjZweDtcbiAgICBcbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi14eGwpIHtcbiAgICAgICAgICAgIGhlaWdodDogNzZweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQG1peGluIGJ1dHRvbi1zbSB7XG4gICAgbWluLWhlaWdodDogNDBweDtcbiAgICBmb250LXNpemU6IDE5cHg7XG4gICAgcGFkZGluZy10b3A6IDRweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogNHB4O1xuXG4gICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi1tZCkge1xuICAgICAgICBmb250LXNpemU6IDE5cHg7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDM5cHg7XG4gICAgICAgIHBhZGRpbmctdG9wOiA0cHg7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA0cHg7XG4gICAgfVxuICAgIFxuICAgIC5pZSAmIHtcbiAgICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgIFxuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLW1kKSB7XG4gICAgICAgICAgICBoZWlnaHQ6IDM5cHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtaXhpbiBidXR0b24teHMge1xuICAgIG1pbi1oZWlnaHQ6IDM4cHg7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIHBhZGRpbmctdG9wOiAzcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDNweDtcblxuICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tbWQpIHtcbiAgICAgICAgZm9udC1zaXplOiAxOXB4O1xuICAgIH1cbiAgICBcbiAgICAuaWUgJiB7XG4gICAgICAgIGhlaWdodDogMzhweDtcbiAgICB9XG59XG5cbkBtaXhpbiBidXR0b24taGVybyB7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgICBmb250LXNpemU6IDE2cHg7XG5cbiAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXNtKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgbWluLXdpZHRoOiAxODBweDtcbiAgICB9XG5cbiAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLWxnKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4yNDZ2dzsgLy8gMjRweDtcbiAgICAgICAgaGVpZ2h0OiA0LjUxNXZ3OyAvLyA4N3B4XG4gICAgICAgIG1pbi13aWR0aDogMTMuMzg4dnc7IC8vIDI1OHB4XG4gICAgfVxuICAgIFxuICAgIC5pZSAmIHtcbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi1sZykge1xuICAgICAgICAgICAgaGVpZ2h0OiA4N3B4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG5AbWl4aW4gYnV0dG9uLXNoYWRvdy00MCB7XG4gICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi1zbSkge1xuICAgICAgICBib3gtc2hhZG93OiAwIDhweCAyMHB4IHJnYmEoMCwwLDAsLjMpO1xuICAgIH1cblxuICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tbGcpIHtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwLjc3OXZ3IDIuMDc2dncgcmdiYSgwLDAsMCwuMyk7IC8vIDAgMTVweCA0MHB4XG4gICAgfVxufVxuXG5AbWl4aW4gYnV0dG9uLXJlZCB7XG4gICAgQGluY2x1ZGUgbWRjLWJ1dHRvbi1jb250YWluZXItZmlsbC1jb2xvcigkcHJvamVjdC1yZWQpO1xuXG4gICAgJjpub3QoOmRpc2FibGVkKSB7XG4gICAgICAgIGNvbG9yOiAkcHJvamVjdC1ibGFjaztcbiAgICB9XG5cbiAgICAmOmRpc2FibGVkIHtcbiAgICAgICAgY29sb3I6IHJnYmEoJHByb2plY3QtYmxhY2ssMC4zKTtcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgQGluY2x1ZGUgbWRjLWJ1dHRvbi1jb250YWluZXItZmlsbC1jb2xvcigkcHJvamVjdC1yZWQtaG92ZXIpO1xuICAgIH1cbn1cblxuQG1peGluIGJ1dHRvbi1vbGQtcmVkIHtcbiAgICBAaW5jbHVkZSBtZGMtYnV0dG9uLWNvbnRhaW5lci1maWxsLWNvbG9yKCRwcm9qZWN0LW9sZC1yZWQpO1xuXG4gICAgJjpub3QoOmRpc2FibGVkKSB7XG4gICAgICAgIGNvbG9yOiAkcHJvamVjdC13aGl0ZTtcbiAgICB9XG5cbiAgICAmOmRpc2FibGVkIHtcbiAgICAgICAgY29sb3I6IHJnYmEoJHByb2plY3Qtd2hpdGUsMC4zKTtcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgQGluY2x1ZGUgbWRjLWJ1dHRvbi1jb250YWluZXItZmlsbC1jb2xvcigkcHJvamVjdC1vbGQtcmVkLWhvdmVyKTtcbiAgICB9XG59XG5cbkBtaXhpbiBidXR0b24tbmV3LXJlZCB7XG5cdEBpbmNsdWRlIG1kYy1idXR0b24tY29udGFpbmVyLWZpbGwtY29sb3IoJHByb2plY3QtbmV3LXJlZCk7XG5cblx0Jjpub3QoOmRpc2FibGVkKSB7XG5cdFx0Y29sb3I6ICRwcm9qZWN0LXdoaXRlO1xuXHR9XG5cblx0JjpkaXNhYmxlZCB7XG5cdFx0Y29sb3I6IHJnYmEoJHByb2plY3Qtd2hpdGUsMC4zKTtcblx0fVxuXG5cdCY6aG92ZXIge1xuXHRcdEBpbmNsdWRlIG1kYy1idXR0b24tY29udGFpbmVyLWZpbGwtY29sb3IoJHByb2plY3QtbmV3LXJlZC1ob3Zlcik7XG5cdH1cbn1cblxuQG1peGluIGJ1dHRvbi10cmFuc3BhcmVudCB7XG4gICAgQGluY2x1ZGUgbWRjLWJ1dHRvbi1jb250YWluZXItZmlsbC1jb2xvcigkcHJvamVjdC10cmFuc3BhcmVudCk7XG5cbiAgICAmOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICAgICAgY29sb3I6ICRwcm9qZWN0LXdoaXRlO1xuICAgICAgICBAbWVkaWEobWF4LXdpZHRoOiAkc2NyZWVuLXNtKSB7XG4gICAgICAgICAgICBjb2xvcjogJHByb2plY3QtYmx1ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICY6ZGlzYWJsZWQge1xuICAgICAgICBjb2xvcjogcmdiYSgkcHJvamVjdC13aGl0ZSwwLjMpO1xuICAgICAgICBAbWVkaWEobWF4LXdpZHRoOiAkc2NyZWVuLXNtKSB7XG4gICAgICAgICAgICBjb2xvcjogcmdiYSgkcHJvamVjdC1ibHVlLDAuMyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgQGluY2x1ZGUgbWRjLWJ1dHRvbi1jb250YWluZXItZmlsbC1jb2xvcigkcHJvamVjdC10cmFuc3BhcmVudC1ob3Zlcik7XG4gICAgICAgIEBtZWRpYShtYXgtd2lkdGg6ICRzY3JlZW4tc20pIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1kYy1idXR0b24tY29udGFpbmVyLWZpbGwtY29sb3IoJHByb2plY3QtYmx1ZS1ob3Zlcik7XG4gICAgICAgICAgICBjb2xvcjogJHByb2plY3Qtd2hpdGU7XG4gICAgICAgIH1cbiAgICB9XG5cbn1cblxuQG1peGluIGJ1dHRvbi1ibHVlIHtcbiAgICBAaW5jbHVkZSBtZGMtYnV0dG9uLWNvbnRhaW5lci1maWxsLWNvbG9yKCRwcm9qZWN0LWJsdWUpO1xuXG4gICAgJjpub3QoOmRpc2FibGVkKSB7XG4gICAgICAgIGNvbG9yOiAkcHJvamVjdC13aGl0ZTtcbiAgICB9XG5cbiAgICAmOmRpc2FibGVkIHtcbiAgICAgICAgY29sb3I6IHJnYmEoJHByb2plY3Qtd2hpdGUsMC4zKTtcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgQGluY2x1ZGUgbWRjLWJ1dHRvbi1jb250YWluZXItZmlsbC1jb2xvcigkcHJvamVjdC1ibHVlLWhvdmVyKTtcbiAgICB9XG59XG5cbkBtaXhpbiBidXR0b24tbmF2eWJsdWUge1xuICAgIEBpbmNsdWRlIG1kYy1idXR0b24tY29udGFpbmVyLWZpbGwtY29sb3IoJHByb2plY3QtbmF2eWJsdWUpO1xuICAgIEBpbmNsdWRlIG1kYy1zdGF0ZXMtYmFzZS1jb2xvcigkcHJvamVjdC13aGl0ZSk7XG4gICAgQGluY2x1ZGUgbWRjLXN0YXRlcy1ob3Zlci1vcGFjaXR5KC4wKTtcbiAgICBAaW5jbHVkZSBtZGMtc3RhdGVzLWZvY3VzLW9wYWNpdHkoLjApO1xuICAgIEBpbmNsdWRlIG1kYy1zdGF0ZXMtcHJlc3Mtb3BhY2l0eSguMTIpO1xuXG4gICAgJjpub3QoOmRpc2FibGVkKSB7XG4gICAgICAgIGNvbG9yOiAkcHJvamVjdC13aGl0ZTtcbiAgICB9XG5cbiAgICAmOmRpc2FibGVkIHtcbiAgICAgICAgY29sb3I6IHJnYmEoJHByb2plY3Qtd2hpdGUsMC4zKTtcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgQGluY2x1ZGUgbWRjLWJ1dHRvbi1jb250YWluZXItZmlsbC1jb2xvcigkcHJvamVjdC1uYXZ5Ymx1ZS1ob3Zlcik7XG4gICAgfVxufVxuXG5AbWl4aW4gYnV0dG9uLWdyZWVuIHtcbiAgICBAaW5jbHVkZSBtZGMtYnV0dG9uLWNvbnRhaW5lci1maWxsLWNvbG9yKCRwcm9qZWN0LWdyZWVuKTtcblxuICAgICY6bm90KDpkaXNhYmxlZCkge1xuICAgICAgICBjb2xvcjogJHByb2plY3Qtd2hpdGU7XG4gICAgfVxuXG4gICAgJjpkaXNhYmxlZCB7XG4gICAgICAgIGNvbG9yOiByZ2JhKCRwcm9qZWN0LXdoaXRlLDAuMyk7XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIEBpbmNsdWRlIG1kYy1idXR0b24tY29udGFpbmVyLWZpbGwtY29sb3IoJHByb2plY3QtZ3JlZW4taG92ZXIpO1xuICAgIH1cbn1cblxuQG1peGluIGJ1dHRvbi1vcmFuZ2Uge1xuICAgIEBpbmNsdWRlIG1kYy1idXR0b24tY29udGFpbmVyLWZpbGwtY29sb3IoJHByb2plY3Qtb3JhbmdlKTtcblxuICAgICY6bm90KDpkaXNhYmxlZCkge1xuICAgICAgICBjb2xvcjogJHByb2plY3Qtd2hpdGU7XG4gICAgfVxuXG4gICAgJjpkaXNhYmxlZCB7XG4gICAgICAgIGNvbG9yOiByZ2JhKCRwcm9qZWN0LXdoaXRlLDAuMyk7XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIEBpbmNsdWRlIG1kYy1idXR0b24tY29udGFpbmVyLWZpbGwtY29sb3IoJHByb2plY3Qtb3JhbmdlLWhvdmVyKTtcbiAgICB9XG59XG5cbkBtaXhpbiBidXR0b24tb3JhbmdlLW91dGxpbmVkIHtcbiAgICBib3JkZXItd2lkdGg6IDJweDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuXG4gICAgQGluY2x1ZGUgbWRjLWJ1dHRvbi1jb250YWluZXItZmlsbC1jb2xvcigkcHJvamVjdC13aGl0ZSk7XG4gICAgQGluY2x1ZGUgbWRjLWJ1dHRvbi1vdXRsaW5lLWNvbG9yKCRwcm9qZWN0LW9yYW5nZSk7XG4gICAgQGluY2x1ZGUgbWRjLXN0YXRlcy1iYXNlLWNvbG9yKCRwcm9qZWN0LW9yYW5nZSk7XG4gICAgQGluY2x1ZGUgbWRjLXN0YXRlcy1vcGFjaXRpZXMoKGhvdmVyOiAuMCwgZm9jdXM6IC4wLCBwcmVzczogLjA4KSk7XG5cbiAgICAmOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICAgICAgY29sb3I6ICRwcm9qZWN0LW9yYW5nZTtcbiAgICB9XG5cbiAgICAmOmRpc2FibGVkIHtcbiAgICAgICAgY29sb3I6IHJnYmEoJHByb2plY3Qtb3JhbmdlLDAuMyk7XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcm9qZWN0LWJsdWUtbDk1MDtcbiAgICB9XG59XG5cbkBtaXhpbiBidXR0b24tb3V0bGluZWQge1xuICAgIEBpbmNsdWRlIG1kYy1idXR0b24tY29udGFpbmVyLWZpbGwtY29sb3IoJHByb2plY3Qtd2hpdGUpO1xuICAgIEBpbmNsdWRlIG1kYy1idXR0b24tb3V0bGluZS1jb2xvcigkcHJvamVjdC1ibHVlKTtcbiAgICBAaW5jbHVkZSBtZGMtc3RhdGVzLWJhc2UtY29sb3IoJHByb2plY3QtYmx1ZSk7XG4gICAgQGluY2x1ZGUgbWRjLXN0YXRlcy1vcGFjaXRpZXMoKGhvdmVyOiAuMCwgZm9jdXM6IC4wLCBwcmVzczogLjA4KSk7XG5cbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcblxuICAgICY6bm90KDpkaXNhYmxlZCkge1xuICAgICAgICBjb2xvcjogJHByb2plY3QtbmF2eWJsdWU7XG4gICAgfVxuXG4gICAgJjpkaXNhYmxlZCB7XG4gICAgICAgIGNvbG9yOiByZ2JhKCRwcm9qZWN0LW5hdnlibHVlLDAuMyk7XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcm9qZWN0LWJsdWUtbDk1MDtcbiAgICB9XG59XG5cblxuQG1peGluIGJ1dHRvbi13aGl0ZS1vdXRsaW5lZCB7XG4gICAgQGluY2x1ZGUgbWRjLWJ1dHRvbi1vdXRsaW5lLWNvbG9yKCRwcm9qZWN0LXdoaXRlKTtcbiAgICBAaW5jbHVkZSBtZGMtc3RhdGVzLWJhc2UtY29sb3IoJHByb2plY3QtYmxhY2spO1xuICAgIEBpbmNsdWRlIG1kYy1zdGF0ZXMtb3BhY2l0aWVzKChob3ZlcjogLjAsIGZvY3VzOiAuMCwgcHJlc3M6IC4wOCkpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJHByb2plY3Qtd2hpdGUsIDApO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuXG4gICAgJjpub3QoOmRpc2FibGVkKSB7XG4gICAgICAgIGNvbG9yOiAkcHJvamVjdC13aGl0ZTtcbiAgICB9XG5cbiAgICAmOmRpc2FibGVkIHtcbiAgICAgICAgY29sb3I6IHJnYmEoJHByb2plY3Qtd2hpdGUsMC4zKTtcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkcHJvamVjdC13aGl0ZSwgMC4wNik7XG4gICAgfVxuXG59XG5cbkBtaXhpbiBidXR0b24tYmx1ZS1vdXRsaW5lZCB7XG4gICAgQGluY2x1ZGUgbWRjLWJ1dHRvbi1vdXRsaW5lLWNvbG9yKCRwcm9qZWN0LWJsdWUpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJHByb2plY3Qtd2hpdGUsIDApO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgLjJzO1xuXG4gICAgJjpub3QoOmRpc2FibGVkKSB7XG4gICAgICAgIGNvbG9yOiAkcHJvamVjdC1ibHVlO1xuICAgIH1cblxuICAgICY6ZGlzYWJsZWQge1xuICAgICAgICBjb2xvcjogcmdiYSgkcHJvamVjdC1ibHVlLDAuMyk7XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJHByb2plY3QtYmx1ZSwgMC4wNik7XG4gICAgfVxuXG59XG5cbkBtaXhpbiBidXR0b24tYmx1ZS13aGl0ZSB7XG4gICAgQGluY2x1ZGUgbWRjLWJ1dHRvbi1jb250YWluZXItZmlsbC1jb2xvcihyZ2JhKCRwcm9qZWN0LXdoaXRlLCAwKSk7XG4gICAgQGluY2x1ZGUgbWRjLWJ1dHRvbi1vdXRsaW5lLWNvbG9yKCRwcm9qZWN0LXdoaXRlKTtcbiAgICBAaW5jbHVkZSBtZGMtc3RhdGVzLWJhc2UtY29sb3IoJHByb2plY3QtYmx1ZSk7XG4gICAgQGluY2x1ZGUgbWRjLXN0YXRlcy1ob3Zlci1vcGFjaXR5KC4wKTtcbiAgICBAaW5jbHVkZSBtZGMtc3RhdGVzLWZvY3VzLW9wYWNpdHkoLjApO1xuICAgIEBpbmNsdWRlIG1kYy1zdGF0ZXMtcHJlc3Mtb3BhY2l0eSguMDcpO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjRweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZDtcblxuICAgICY6bm90KDpkaXNhYmxlZCkge1xuICAgICAgICBjb2xvcjogJHByb2plY3QtYmx1ZTtcbiAgICB9XG5cbiAgICAmOmRpc2FibGVkIHtcbiAgICAgICAgY29sb3I6IHJnYmEoJHByb2plY3QtYmx1ZSwwLjMpO1xuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgICBAaW5jbHVkZSBtZGMtYnV0dG9uLWNvbnRhaW5lci1maWxsLWNvbG9yKHJnYmEoJHByb2plY3QtYmx1ZSwgMC4wNikpO1xuICAgIH1cbn1cblxuQG1peGluIGJ1dHRvbi1vdXRsaW5lZC1ibHVlLWJsYWNrIHtcbiAgICBAaW5jbHVkZSBtZGMtYnV0dG9uLWNvbnRhaW5lci1maWxsLWNvbG9yKCRwcm9qZWN0LXdoaXRlKTtcbiAgICBAaW5jbHVkZSBtZGMtYnV0dG9uLW91dGxpbmUtY29sb3IoJHByb2plY3QtYmx1ZSk7XG4gICAgQGluY2x1ZGUgbWRjLXN0YXRlcy1iYXNlLWNvbG9yKCRwcm9qZWN0LWJsdWUpO1xuICAgIEBpbmNsdWRlIG1kYy1zdGF0ZXMtb3BhY2l0aWVzKChob3ZlcjogLjAsIGZvY3VzOiAuMCwgcHJlc3M6IC4wOCkpO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuXG4gICAgJjpub3QoOmRpc2FibGVkKSB7XG4gICAgICAgIGNvbG9yOiAkcHJvamVjdC1ibGFjaztcbiAgICB9XG5cbiAgICAmOmRpc2FibGVkIHtcbiAgICAgICAgY29sb3I6IHJnYmEoJHByb2plY3QtYmxhY2ssMC4zKTtcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkcHJvamVjdC1ibHVlLDAuMDYpO1xuICAgIH1cbn1cblxuQG1peGluIGJ1dHRvbi10YWItbmF2aWdhdGlvbiB7XG4gICAgJjpmb2N1cyB7XG4gICAgICAgIC50YWItbmF2aWdhdGlvbiAmIHtcbiAgICAgICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZGMtc3RhdGVzLWZvY3VzLW9wYWNpdHkoLjIpO1xuICAgICAgICB9XG4gICAgfVxufSIsIi5wcm9ncmFtcyB7XG4gICAgbWFyZ2luLXRvcDogMjdweDtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXNtKSB7XG4gICAgICAgIHBhZGRpbmc6IDAgMTVweDtcbiAgICB9XG5cbiAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXh4bCkge1xuICAgICAgICBtYXJnaW4tdG9wOiA4NXB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICAgIH1cblxuICAgICZfX3RpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAyOHB4O1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICAgICAgICBjb2xvcjogJHByb2plY3QtcHJpbWFyeTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzVweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tbGcpIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICBmb250LXNpemU6IDQ4cHg7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDM1cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19yb3cge1xuICAgICAgICAmLS1tb3JlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tbGcpIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgb3JkZXI6IDE7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNjBweDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA3MHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9faXRlbSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgbWluLWhlaWdodDogMjkwcHg7XG5cbiAgICAgICAgLnByb2dyYW0ge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fc2xpZGVyIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEwMHB4KTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcblxuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXh4bCkge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc3BsaWRlX19zbGlkZSB7XG4gICAgICAgICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgIGxlZnQ6IC01cHg7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgcmdiYSgkcHJvamVjdC1wcmltYXJ5LCAwLjMpO1xuXG4gICAgICAgICAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi14cykge1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAtMTBweDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXNtKSB7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IC0xNXB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6YmVmb3JlICB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIHJpZ2h0OiAtNXB4O1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgcmdiYSgkcHJvamVjdC1wcmltYXJ5LCAwLjMpO1xuXG4gICAgICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXhzKSB7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IC0xMHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXNtKSB7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IC0xNXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufSIsIi5wcm9ncmFtIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuXG4gICAgJl9fY2FudmFzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByb2plY3Qtd2hpdGU7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIH1cblxuICAgICZfX2xvZ28ge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgdG9wOiAtMTAwJTtcbiAgICAgICAgYm90dG9tOiAtMTAwJTtcbiAgICAgICAgbGVmdDogLTEwMCU7XG4gICAgICAgIHJpZ2h0OiAtMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIH1cblxuICAgICZfX292ZXJsaW5rIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIEBpbmNsdWRlIG1kYy1yaXBwbGUtc3VyZmFjZTtcbiAgICAgICAgQGluY2x1ZGUgbWRjLXJpcHBsZS1yYWRpdXMtYm91bmRlZDtcbiAgICAgICAgQGluY2x1ZGUgbWRjLXN0YXRlcy1ob3Zlci1vcGFjaXR5KC4wKTtcbiAgICAgICAgQGluY2x1ZGUgbWRjLXN0YXRlcy1mb2N1cy1vcGFjaXR5KC4wKTtcbiAgICAgICAgQGluY2x1ZGUgbWRjLXN0YXRlcy1iYXNlLWNvbG9yKCRwcm9qZWN0LWJsYWNrKTtcbiAgICAgICAgQGluY2x1ZGUgbWRjLXN0YXRlcy1wcmVzcy1vcGFjaXR5KC4wNCk7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycztcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLXRhYi1uYXZpZ2F0aW9uO1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkcHJvamVjdC1ibGFjaywgMC4wMyk7XG4gICAgICAgIH1cbiAgICB9XG59IiwiLnBldGl0aW9uIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRwcm9qZWN0LXBhbnRvbmUtNzU0ODtcbiAgICBwYWRkaW5nOiAzMHB4O1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgbWFyZ2luOiAwIDAgNDVweDtcblxuICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tbWQpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgJi0tbW9iaWxlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi1tZCkge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3RpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAyN3B4O1xuICAgICAgICBtYXJnaW46IDAgMCAyMHB4O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDQwcHg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLW1kKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDMycHg7XG4gICAgICAgIH1cblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogaWNvbnMtcHJvamVjdF9fYXJyb3ctYm90dG9tKCRwcm9qZWN0LWJsYWNrKTtcbiAgICAgICAgICAgIHdpZHRoOiA0MHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgICAgICAgdG9wOiA1cHg7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2Rlc2NyaXB0aW9uIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICAgIH1cblxuICAgICZfX3Byb2dyZXNzIHtcbiAgICAgICAgaGVpZ2h0OiA1NXB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvamVjdC13aGl0ZTtcbiAgICAgICAgYm9yZGVyOiAycHggc29saWQgJHByb2plY3Qtd2hpdGU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgbWFyZ2luOiAzMHB4IDA7XG5cbiAgICAgICAgJiAmLWJhciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgIG1pbi13aWR0aDogMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDUxcHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogNTFweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcm9qZWN0LXVuaWNlZjtcbiAgICAgICAgICAgIGNvbG9yOiAkcHJvamVjdC13aGl0ZTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgICAgcGFkZGluZzogMCA1cHg7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBtaW4td2lkdGggM3MgZWFzZS1pbiwgd2lkdGggM3MgZWFzZS1pbjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2NvbnNlbnQge1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG5cbiAgICAgICAgJi1kZXRhaWxzIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX25ld3NsZXRlci1kZXRhaWxzIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDMwcHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIH1cblxuICAgICZfX2Zvcm0ge1xuICAgICAgICAubWRjLWJ1dHRvbiB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGEge1xuICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cbiAgICAgICAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgIGNvbG9yOiAkcHJvamVjdC13aGl0ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC53YXMtdmFsaWRhdGVkIC5tZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sW3JlcXVpcmVkXSB7XG4gICAgICAgICY6aW52YWxpZCB7XG4gICAgICAgICAgICB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQge1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJHByb2plY3QtcGFudG9uZS0xNTA1ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubWRjLXRleHQtZmllbGQtLWZvY3VzZWQgLm1kYy10ZXh0LWZpZWxkX19pbnB1dDpyZXF1aXJlZCB+IC5tZGMtZmxvYXRpbmctbGFiZWw6YWZ0ZXIge1xuICAgICAgICBjb2xvcjogJHByb2plY3QtZ3JheS1kMzAwO1xuICAgIH1cblxuICAgIC5tZGMtdGV4dC1maWVsZC0taW52YWxpZDpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCkgLm1kYy10ZXh0LWZpZWxkX19pbnB1dDpyZXF1aXJlZCB+IC5tZGMtZmxvYXRpbmctbGFiZWwsXG4gICAgLm1kYy10ZXh0LWZpZWxkLS1pbnZhbGlkOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKSAubWRjLXRleHQtZmllbGRfX2lucHV0OnJlcXVpcmVkIH4gLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1mbG9hdGluZy1sYWJlbCB7XG4gICAgICAgIGNvbG9yOiAkcHJvamVjdC1ncmF5LWQzMDA7XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBjb2xvcjogJHByb2plY3QtZ3JheS1kMzAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm1kYy10ZXh0LWZpZWxkLS1pbnZhbGlkOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKSAubWRjLWxpbmUtcmlwcGxlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByb2plY3QtYmx1ZTtcbiAgICB9XG5cbiAgICAud2FzLXZhbGlkYXRlZCAubWRjLXRleHQtZmllbGQtLWludmFsaWQ6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpIC5tZGMtbGluZS1yaXBwbGUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvamVjdC1wYW50b25lLTE1MDU7XG4gICAgfVxuXG4gICAgLndhcy12YWxpZGF0ZWQgLm1kYy10ZXh0LWZpZWxkLS1pbnZhbGlkOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKSAubWRjLXRleHQtZmllbGRfX2lucHV0OnJlcXVpcmVkIH4gLm1kYy1mbG9hdGluZy1sYWJlbCxcbiAgICAud2FzLXZhbGlkYXRlZCAubWRjLXRleHQtZmllbGQtLWludmFsaWQ6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpIC5tZGMtdGV4dC1maWVsZF9faW5wdXQ6cmVxdWlyZWQgfiAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLWZsb2F0aW5nLWxhYmVsLFxuICAgIC53YXMtdmFsaWRhdGVkIC5tZGMtdGV4dC1maWVsZC0taW52YWxpZDpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCkgLm1kYy10ZXh0LWZpZWxkX19pbnB1dFtkYXRhLXZhbGlkYXRpb25dIH4gLm1kYy1mbG9hdGluZy1sYWJlbCxcbiAgICAud2FzLXZhbGlkYXRlZCAubWRjLXRleHQtZmllbGQtLWludmFsaWQ6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpIC5tZGMtdGV4dC1maWVsZF9faW5wdXRbZGF0YS12YWxpZGF0aW9uXSB+IC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtZmxvYXRpbmctbGFiZWwge1xuICAgICAgICBjb2xvcjogJHByb2plY3QtcGFudG9uZS0xNTA1O1xuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgY29sb3I6ICRwcm9qZWN0LXBhbnRvbmUtMTUwNTtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLm1kYy1mb3JtLWZpZWxkIHtcbiAgICAgICAgY29sb3I6ICRwcm9qZWN0LW5hdnlibHVlLWw1MDA7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAycHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxMXB4O1xuICAgICAgICAgICAgY29sb3I6ICRwcm9qZWN0LWJsYWNrO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8ubWRjLWNoZWNrYm94LS1pbnZhbGlkIHtcbiAgICAvLyAgICB+IGxhYmVsIHtcbiAgICAvLyAgICAgICAgLy9jb2xvcjogJHByb2plY3QtcGFudG9uZS0xNTA1O1xuICAgIC8vXG4gICAgLy8gICAgICAgIGEge1xuICAgIC8vICAgICAgICAgICAgLy9jb2xvcjogJHByb2plY3QtcGFudG9uZS0xNTA1O1xuICAgIC8vICAgICAgICAgICAgLy90ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAvLyAgICAgICAgfVxuICAgIC8vICAgIH1cbiAgICAvL31cblxuICAgIC5tZGMtdGV4dC1maWVsZCB7XG4gICAgICAgIEBpbmNsdWRlIG1kYy10ZXh0LWZpZWxkLWluay1jb2xvcigkcHJvamVjdC1ibGFjayk7XG4gICAgICAgIEBpbmNsdWRlIG1kYy10ZXh0LWZpZWxkLWxhYmVsLWNvbG9yKCRwcm9qZWN0LWdyYXktZDMwMCk7XG4gICAgICAgIEBpbmNsdWRlIG1kYy10ZXh0LWZpZWxkLWZpbGwtY29sb3IoJHByb2plY3Qtd2hpdGUpO1xuXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4ICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgQG1lZGlhKG1heC13aWR0aDogJHNjcmVlbi1sZyAtIDEpIHtcbiAgICAgICAgICAgIGhlaWdodDogNDhweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vLm1kYy1mbG9hdGluZy1sYWJlbCB7XG4gICAgICAgIC8vICAgIEBtZWRpYShtYXgtd2lkdGg6ICRzY3JlZW4tbGcgLSAxKSB7XG4gICAgICAgIC8vICAgICAgICB0b3A6IDE0cHg7XG4gICAgICAgIC8vICAgIH1cbiAgICAgICAgLy99XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG5cblxuICAgICAgICAmOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKTpub3QoLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZCk6bm90KC5tZGMtdGV4dC1maWVsZC0tdGV4dGFyZWEpIHtcbiAgICAgICAgICAgIC5tZGMtdGV4dC1maWVsZF9faW5wdXQge1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHJnYmEoMCwgMCwgMCwgMCkgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5tZGMtbGluZS1yaXBwbGUge1xuICAgICAgICBoZWlnaHQ6IDNweDtcbiAgICB9XG5cblxuICAgIC5tZGMtZm9ybS1maWVsZCA+IGxhYmVsIHtcblxuICAgICAgICBhIHtcbiAgICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHByb2plY3Qtd2hpdGU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubWRjLWNoZWNrYm94IHtcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5tZGMtZmxvYXRpbmctbGFiZWwge1xuICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIH1cblxuICAgIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMTAlKSBzY2FsZSguNyk7XG4gICAgfVxuXG4gICAgLm1kYy10ZXh0LWZpZWxkLWhlbHBlci10ZXh0IHtcbiAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgIH1cblxuICAgIC5tZGMtdGV4dC1maWVsZC0taW52YWxpZCB7XG4gICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIH1cblxuICAgIC5zaXRlLWZvcm1fX3ZhbGlkYXRpb24tdGV4dCB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDI2cHgpO1xuICAgICAgICBib3R0b206IC0xM3B4O1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNTAlKTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgY29sb3I6ICRwcm9qZWN0LXdoaXRlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvamVjdC1wYW50b25lLTE1MDU7XG4gICAgICAgIHBhZGRpbmc6IDNweCA1cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMTAuNXB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG5cbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi14eHMpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlucHV0OnZhbGlkIH4gJiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAud2FzLXZhbGlkYXRlZCBpbnB1dDppbnZhbGlkIH4gLnNpdGUtZm9ybV9fdmFsaWRhdGlvbi10ZXh0IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAud2FzLXZhbGlkYXRlZCAubWRjLXRleHQtZmllbGQtLWludmFsaWQgLnNpdGUtZm9ybV9fdmFsaWRhdGlvbi10ZXh0IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLndhcy12YWxpZGF0ZWQgLnNpdGUtZm9ybV9fY2hlY2tib3gtLXJlcXVpcmVkLnNpdGUtZm9ybV9fY2hlY2tib3gtLXVuY2hlY2tlZCB+IC5zaXRlLWZvcm1fX3ZhbGlkYXRpb24tdGV4dCB7XG4gICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgIG1hcmdpbjogNnB4IDAgMCAwO1xuICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByb2plY3QtcGFudG9uZS0xNTA1O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBwYWRkaW5nOiAzcHggNXB4O1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuXG4gICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4teHhsKSB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMzBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zaXRlLWZvcm1fX3NlcnZlci12YWxpZGF0aW9uLXRleHQge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAyNnB4KTtcbiAgICAgICAgYm90dG9tOiAtMTBweDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDUwJSk7XG4gICAgICAgIGxlZnQ6IC0ycHg7XG4gICAgICAgIGNvbG9yOiAkcHJvamVjdC1wYW50b25lLTE1MDU7XG4gICAgICAgIGZvbnQtc2l6ZTogMTAuNXB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAycHg7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDJweDtcbiAgICAgICAgLy9iYWNrZ3JvdW5kLWNvbG9yOiAkcHJvamVjdC13aGl0ZTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG5cbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi14eHMpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zZXJ2ZXItc2lkZS12YWxpZGF0ZWQgLnNlcnZlci1zaWRlLS1pbnZhbGlkIH4gLnNpdGUtZm9ybV9fc2VydmVyLXZhbGlkYXRpb24tdGV4dCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC53YXMtdmFsaWRhdGVkIHtcbiAgICAgICAgLm1kYy1jaGVja2JveC0taW52YWxpZCB7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMjVweDtcblxuICAgICAgICAgICAgJiB+IC5zaXRlLWZvcm1fX3ZhbGlkYXRpb24tdGV4dCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgYm90dG9tOiA1cHg7XG4gICAgICAgICAgICAgICAgbGVmdDogMjZweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5tZGMtY2hlY2tib3hfX3JpcHBsZSwgLm1kYy1yYWRpb19fcmlwcGxlIHtcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByb2plY3Qtd2hpdGUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkcHJvamVjdC13aGl0ZSwgMC4zKSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm1kYy10ZXh0LWZpZWxkOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKSAubWRjLWZsb2F0aW5nLWxhYmVsLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUge1xuICAgICAgICBjb2xvcjogJHByb2plY3QtYmxhY2s7XG4gICAgfVxuXG4gICAgJl9fY2hlY2tib3gge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuXG4gICAgICAgIC5tZGMtY2hlY2tib3gge1xuICAgICAgICAgICAgLy9AaW5jbHVkZSBtZGMtY2hlY2tib3gtY29udGFpbmVyLWNvbG9ycygkdW5tYXJrZWQtc3Ryb2tlLWNvbG9yLCAkdW5tYXJrZWQtZmlsbC1jb2xvciwgJG1hcmtlZC1zdHJva2UtY29sb3IsICRtYXJrZWQtZmlsbC1jb2xvciwgJGdlbmVyYXRlLWtleWZyYW1lcyk7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZGMtY2hlY2tib3gtY29udGFpbmVyLWNvbG9ycygkcHJvamVjdC1ibGFjaywgJHByb2plY3QtdHJhbnNwYXJlbnQsICRwcm9qZWN0LWJsYWNrLCAkcHJvamVjdC10cmFuc3BhcmVudCwgJ2ZhbHNlJyk7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZGMtY2hlY2tib3gtaW5rLWNvbG9yKCRwcm9qZWN0LWJsYWNrKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1kYy1jaGVja2JveC1mb2N1cy1pbmRpY2F0b3ItY29sb3IoJHByb2plY3Qtd2hpdGUpO1xuICAgICAgICB9XG5cbiAgICAgICAgLm1kYy1mb3JtLWZpZWxkIGxhYmVsIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3JhZGlvIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcblxuICAgICAgICAubWRjLXJhZGlvIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1kYy1yYWRpby11bmNoZWNrZWQtc3Ryb2tlLWNvbG9yKCRwcm9qZWN0LWJsYWNrKTsgLy9TZXRzIHRoZSBzdHJva2UgY29sb3Igb2YgYW4gdW5jaGVja2VkIHJhZGlvIGJ1dHRvblxuICAgICAgICAgICAgQGluY2x1ZGUgbWRjLXJhZGlvLWNoZWNrZWQtc3Ryb2tlLWNvbG9yKCRwcm9qZWN0LWJsYWNrKTsgLy9TZXRzIHRoZSBzdHJva2UgY29sb3Igb2YgYSBjaGVja2VkIHJhZGlvIGJ1dHRvblxuICAgICAgICAgICAgQGluY2x1ZGUgbWRjLXJhZGlvLWluay1jb2xvcigkcHJvamVjdC1ibGFjayk7IC8vU2V0cyB0aGUgaW5rIGNvbG9yIG9mIGEgcmFkaW8gYnV0dG9uXG4gICAgICAgICAgICBAaW5jbHVkZSBtZGMtcmFkaW8tZm9jdXMtaW5kaWNhdG9yLWNvbG9yKCRwcm9qZWN0LWJsYWNrKTsgLy9TZXRzIHRoZSBjb2xvciBvZiB0aGUgZm9jdXMgaW5kaWNhdG9yXG5cbiAgICAgICAgICAgICsgbGFiZWwge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDExLjVweDtcblxuICAgICAgICAgICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tc20pIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogOHB4O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4teHhsKSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDEwcHggIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLm1kYy1mb3JtLWZpZWxkIGxhYmVsIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zaXRlLWZvcm1fX3ZhbGlkYXRpb24tdGV4dCB7XG4gICAgICAgICAgICBib3R0b206IDVweCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgbGVmdDogMjZweCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLndhcy12YWxpZGF0ZWQgLm1kYy1mb3JtLWZpZWxkLS1pbnZhbGlkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcblxuICAgICAgICAmIH4gLnNpdGUtZm9ybV9fdmFsaWRhdGlvbi10ZXh0IHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gMjZweCk7XG4gICAgICAgICAgICBib3R0b206IC0xMHB4O1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDUwJSk7XG4gICAgICAgICAgICBsZWZ0OiAyNnB4O1xuICAgICAgICAgICAgY29sb3I6ICRwcm9qZWN0LXdoaXRlO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByb2plY3QtcGFudG9uZS0xNTA1O1xuICAgICAgICAgICAgcGFkZGluZzogM3B4IDVweDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTAuNXB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcblxuICAgICAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi14eHMpIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubmV3c2xldHRlci1hZ3JlZW1lbnRzIHtcbiAgICAgICAgLmV6cmljaHRleHQtZmllbGQsIC5uZ2wtcmljaF90ZXh0IHtcbiAgICAgICAgICAgIHA6bm90KFtjbGFzc10pIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJl9fdGl0bGUge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuXG4gICAgICAgICAgICAuZXpyaWNodGV4dC1maWVsZCwgLm5nbC1yaWNoX3RleHQsICYge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4ycHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmX19pbmZvIHtcbiAgICAgICAgICAgIC5lenJpY2h0ZXh0LWZpZWxkLCAubmdsLXJpY2hfdGV4dCwgJiB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJl9faW5mby0tc3BhY2VkIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAmX19pbmZvLS1pbmRlbnRlZCB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAmX19jaG9pY2VzIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX2Nob2ljZSB7XG4gICAgICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiA3cHggMCAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5lenJpY2h0ZXh0LWZpZWxkLCAubmdsLXJpY2hfdGV4dCB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnNpdGUtZm9ybV9faW5mbyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgfVxufSIsIi8vXG4vLyBDb3B5cmlnaHQgMjAxNyBHb29nbGUgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG4vL1xuXG5AdXNlIFwic2FzczpsaXN0XCI7XG5AdXNlIFwiQG1hdGVyaWFsL2RlbnNpdHkvZnVuY3Rpb25zXCIgYXMgZGVuc2l0eS1mdW5jdGlvbnM7XG5AdXNlIFwiQG1hdGVyaWFsL2Zsb2F0aW5nLWxhYmVsL21peGluc1wiIGFzIGZsb2F0aW5nLWxhYmVsLW1peGlucztcbkB1c2UgXCJAbWF0ZXJpYWwvZmxvYXRpbmctbGFiZWwvdmFyaWFibGVzXCIgYXMgZmxvYXRpbmctbGFiZWwtdmFyaWFibGVzO1xuQHVzZSBcIkBtYXRlcmlhbC9saW5lLXJpcHBsZS9taXhpbnNcIiBhcyBsaW5lLXJpcHBsZS1taXhpbnM7XG5AdXNlIFwiQG1hdGVyaWFsL25vdGNoZWQtb3V0bGluZS9taXhpbnNcIiBhcyBub3RjaGVkLW91dGxpbmUtbWl4aW5zO1xuQHVzZSBcIkBtYXRlcmlhbC9ub3RjaGVkLW91dGxpbmUvdmFyaWFibGVzXCIgYXMgbm90Y2hlZC1vdXRsaW5lLXZhcmlhYmxlcztcbkB1c2UgXCJAbWF0ZXJpYWwvcmlwcGxlL21peGluc1wiIGFzIHJpcHBsZS1taXhpbnM7XG5AdXNlIFwiQG1hdGVyaWFsL3JpcHBsZS9mdW5jdGlvbnNcIiBhcyByaXBwbGUtZnVuY3Rpb25zO1xuQHVzZSBcIkBtYXRlcmlhbC90aGVtZS9taXhpbnNcIiBhcyB0aGVtZS1taXhpbnM7XG5AdXNlIFwiQG1hdGVyaWFsL3NoYXBlL21peGluc1wiIGFzIHNoYXBlLW1peGlucztcbkB1c2UgXCJAbWF0ZXJpYWwvc2hhcGUvZnVuY3Rpb25zXCIgYXMgc2hhcGUtZnVuY3Rpb25zO1xuQHVzZSBcIkBtYXRlcmlhbC9mZWF0dXJlLXRhcmdldGluZy9mdW5jdGlvbnNcIiBhcyBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnM7XG5AdXNlIFwiQG1hdGVyaWFsL2ZlYXR1cmUtdGFyZ2V0aW5nL21peGluc1wiIGFzIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucztcbkB1c2UgXCJAbWF0ZXJpYWwvdHlwb2dyYXBoeS9taXhpbnNcIiBhcyB0eXBvZ3JhcGh5LW1peGlucztcbkB1c2UgXCJoZWxwZXItdGV4dC9taXhpbnNcIiBhcyBoZWxwZXItdGV4dC1taXhpbnM7XG5AdXNlIFwiY2hhcmFjdGVyLWNvdW50ZXIvbWl4aW5zXCIgYXMgY2hhcmFjdGVyLWNvdW50ZXItbWl4aW5zO1xuQHVzZSBcImljb24vbWl4aW5zXCIgYXMgaWNvbi1taXhpbnM7XG5AdXNlIFwiaWNvbi92YXJpYWJsZXNcIiBhcyBpY29uLXZhcmlhYmxlcztcbkB1c2UgXCIuL3ZhcmlhYmxlc1wiO1xuQHVzZSBcIi4vZnVuY3Rpb25zXCI7XG5AdXNlIFwiQG1hdGVyaWFsL3J0bC9taXhpbnNcIiBhcyBydGwtbWl4aW5zO1xuXG5AbWl4aW4gY29yZS1zdHlsZXMoJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgQGluY2x1ZGUgcmlwcGxlKCRxdWVyeSk7XG4gIEBpbmNsdWRlIHdpdGhvdXQtcmlwcGxlKCRxdWVyeSk7XG59XG5cbkBtaXhpbiB3aXRob3V0LXJpcHBsZSgkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAkZmVhdC1zdHJ1Y3R1cmU6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcblxuICAvLyBCYXNlbGluZVxuICAvLyBwb3N0Y3NzLWJlbS1saW50ZXI6IGRlZmluZSB0ZXh0LWZpZWxkXG4gIC5tZGMtdGV4dC1maWVsZCB7XG4gICAgQGluY2x1ZGUgX2Jhc2UoJHF1ZXJ5KTtcbiAgfVxuXG4gIC5tZGMtdGV4dC1maWVsZF9faW5wdXQge1xuICAgIEBpbmNsdWRlIF9pbnB1dCgkcXVlcnkpO1xuXG4gICAgQGluY2x1ZGUgcGxhY2Vob2xkZXItc2VsZWN0b3JfIHtcbiAgICAgIEBpbmNsdWRlIF9pbnB1dC1wbGFjZWhvbGRlcigkcXVlcnkpO1xuICAgIH1cblxuICAgIC8vIEFsd2F5cyBzaG93IHBsYWNlaG9sZGVyIGZvciB0ZXh0IGZpZWxkcyB0aGF0IGhhcyBub1xuICAgIC8vIGxhYmVsIGFuZCBzaG93IG9ubHkgb24gZm9jdXNlZCBzdGF0ZSB3aGVuIGxhYmVsIGlzIHByZXNlbnQuXG4gICAgLm1kYy10ZXh0LWZpZWxkLS1mdWxsd2lkdGggJixcbiAgICAubWRjLXRleHQtZmllbGQtLW5vLWxhYmVsICYsXG4gICAgLm1kYy10ZXh0LWZpZWxkLS1mb2N1c2VkICYge1xuICAgICAgQGluY2x1ZGUgcGxhY2Vob2xkZXItc2VsZWN0b3JfIHtcbiAgICAgICAgQGluY2x1ZGUgX2lucHV0LXBsYWNlaG9sZGVyLXZpc2libGUoJHF1ZXJ5KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubWRjLXRleHQtZmllbGRfX2FmZml4IHtcbiAgICBAaW5jbHVkZSBfYWZmaXgoJHF1ZXJ5OiAkcXVlcnkpO1xuXG4gICAgLm1kYy10ZXh0LWZpZWxkLS1sYWJlbC1mbG9hdGluZyAmLFxuICAgIC5tZGMtdGV4dC1maWVsZC0tbm8tbGFiZWwgJiB7XG4gICAgICBAaW5jbHVkZSBfYWZmaXgtdmlzaWJsZSgkcXVlcnk6ICRxdWVyeSk7XG4gICAgfVxuICB9XG5cbiAgLm1kYy10ZXh0LWZpZWxkX19hZmZpeC0tcHJlZml4IHtcbiAgICBAaW5jbHVkZSBfcHJlZml4KCRxdWVyeTogJHF1ZXJ5KTtcblxuICAgIC5tZGMtdGV4dC1maWVsZC0tZW5kLWFsaWduZWQgJiB7XG4gICAgICBAaW5jbHVkZSBfcHJlZml4LWVuZC1hbGlnbmVkKCRxdWVyeTogJHF1ZXJ5KTtcbiAgICB9XG4gIH1cblxuICAubWRjLXRleHQtZmllbGRfX2FmZml4LS1zdWZmaXgge1xuICAgIEBpbmNsdWRlIF9zdWZmaXgoJHF1ZXJ5OiAkcXVlcnkpO1xuXG4gICAgLm1kYy10ZXh0LWZpZWxkLS1lbmQtYWxpZ25lZCAmIHtcbiAgICAgIEBpbmNsdWRlIF9zdWZmaXgtZW5kLWFsaWduZWQoJHF1ZXJ5OiAkcXVlcnkpO1xuICAgIH1cbiAgfVxuXG4gIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBwbHVnaW4vc2VsZWN0b3ItYmVtLXBhdHRlcm5cbiAgLy8gTW92ZSBsYWJlbCB3aGVuIHRleHQtZmllbGQgZ2V0cyBhdXRvLWZpbGxlZCBpbiBDaHJvbWUuXG4gIC5tZGMtdGV4dC1maWVsZF9faW5wdXQ6LXdlYmtpdC1hdXRvZmlsbCArIC5tZGMtZmxvYXRpbmctbGFiZWwge1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHNjYWxlKC43NSk7XG4gICAgICBjdXJzb3I6IGF1dG87XG4gICAgfVxuICB9XG5cbiAgLy8gVmFyaWFudHNcblxuICAubWRjLXRleHQtZmllbGQtLWZpbGxlZCB7XG4gICAgQGluY2x1ZGUgX2ZpbGxlZCgkcXVlcnkpO1xuXG4gICAgJi5tZGMtdGV4dC1maWVsZC0tbm8tbGFiZWwge1xuICAgICAgQGluY2x1ZGUgX2ZpbGxlZC1uby1sYWJlbCgkcXVlcnkpO1xuICAgIH1cbiAgfVxuXG4gIC5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQge1xuICAgIEBpbmNsdWRlIG91dGxpbmVkXygkcXVlcnkpO1xuICB9XG5cbiAgLy8gT3RoZXIgVmFyaWF0aW9uc1xuXG4gIC5tZGMtdGV4dC1maWVsZC0tdGV4dGFyZWEge1xuICAgIEBpbmNsdWRlIHRleHRhcmVhXygkcXVlcnkpO1xuICB9XG5cbiAgLm1kYy10ZXh0LWZpZWxkLS1mdWxsd2lkdGgge1xuICAgIEBpbmNsdWRlIGZ1bGx3aWR0aF8oJHF1ZXJ5KTtcbiAgfVxuXG4gIC5tZGMtdGV4dC1maWVsZC0td2l0aC1sZWFkaW5nLWljb24ge1xuICAgICYubWRjLXRleHQtZmllbGQtLWZpbGxlZCB7XG4gICAgICBAaW5jbHVkZSB3aXRoLWxlYWRpbmctaWNvbl8oJHF1ZXJ5KTtcbiAgICB9XG5cbiAgICAmLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZCB7XG4gICAgICBAaW5jbHVkZSBvdXRsaW5lZC13aXRoLWxlYWRpbmctaWNvbl8oJHF1ZXJ5KTtcbiAgICB9XG4gIH1cblxuICAubWRjLXRleHQtZmllbGQtLXdpdGgtdHJhaWxpbmctaWNvbiB7XG4gICAgJi5tZGMtdGV4dC1maWVsZC0tZmlsbGVkIHtcbiAgICAgIEBpbmNsdWRlIF93aXRoLXRyYWlsaW5nLWljb24oJHF1ZXJ5KTtcbiAgICB9XG5cbiAgICAmLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZCB7XG4gICAgICBAaW5jbHVkZSBfb3V0bGluZWQtd2l0aC10cmFpbGluZy1pY29uKCRxdWVyeSk7XG4gICAgfVxuICB9XG5cbiAgLm1kYy10ZXh0LWZpZWxkLS13aXRoLWxlYWRpbmctaWNvbi5tZGMtdGV4dC1maWVsZC0td2l0aC10cmFpbGluZy1pY29uIHtcbiAgICAmLm1kYy10ZXh0LWZpZWxkLS1maWxsZWQge1xuICAgICAgQGluY2x1ZGUgX3dpdGgtbGVhZGluZy1hbmQtdHJhaWxpbmctaWNvbigkcXVlcnkpO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIHJlcXVpcmVkLWxhYmVsLWFzdGVyaXNrXyB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICBtYXJnaW4tbGVmdDogMXB4O1xuICAgICAgY29udGVudDogXCIqXCI7XG4gICAgfVxuICB9XG5cbiAgLy8gcG9zdGNzcy1iZW0tbGludGVyOiBkZWZpbmUgdGV4dC1maWVsZC1oZWxwZXItdGV4dFxuICAvLyBzdHlsZWxpbnQtZGlzYWJsZSBwbHVnaW4vc2VsZWN0b3ItYmVtLXBhdHRlcm5cbiAgLm1kYy10ZXh0LWZpZWxkLWhlbHBlci1saW5lIHtcbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIH1cblxuICAgIC5tZGMtdGV4dC1maWVsZCArICYge1xuICAgICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IHZhcmlhYmxlcy4kaGVscGVyLWxpbmUtcGFkZGluZztcbiAgICAgICAgcGFkZGluZy1sZWZ0OiB2YXJpYWJsZXMuJGhlbHBlci1saW5lLXBhZGRpbmc7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC8vIHN0eWxlbGludC1lbmFibGUgcGx1Z2luL3NlbGVjdG9yLWJlbS1wYXR0ZXJuXG4gIC8vIHBvc3Rjc3MtYmVtLWxpbnRlcjogZW5kXG5cbiAgLy8gbWRjLWZvcm0tZmllbGQgdHdlYWtzIHRvIGFsaWduIHRleHQgZmllbGQgbGFiZWwgY29ycmVjdGx5XG4gIC8vIHN0eWxlbGludC1kaXNhYmxlIHNlbGVjdG9yLW1heC10eXBlXG4gIC5tZGMtZm9ybS1maWVsZCA+IC5tZGMtdGV4dC1maWVsZCArIGxhYmVsIHtcbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7XG4gICAgfVxuICB9XG4gIC8vIHN0eWxlbGludC1lbmFibGUgc2VsZWN0b3ItbWF4LXR5cGVcblxuICAvLyBTdGF0ZXNcbiAgLm1kYy10ZXh0LWZpZWxkLS1mb2N1c2VkIHtcbiAgICBAaW5jbHVkZSBmb2N1c2VkXygkcXVlcnkpO1xuICB9XG5cbiAgLm1kYy10ZXh0LWZpZWxkLS1pbnZhbGlkIHtcbiAgICBAaW5jbHVkZSBpbnZhbGlkXygkcXVlcnkpO1xuICB9XG5cbiAgLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCB7XG4gICAgQGluY2x1ZGUgZGlzYWJsZWRfKCRxdWVyeSk7XG5cbiAgICAmLm1kYy10ZXh0LWZpZWxkLS1maWxsZWQge1xuICAgICAgQGluY2x1ZGUgX2Rpc2FibGVkLWZpbGxlZCgkcXVlcnkpO1xuICAgIH1cbiAgfVxuXG4gIC5tZGMtdGV4dC1maWVsZC0tZW5kLWFsaWduZWQge1xuICAgIEBpbmNsdWRlIGVuZC1hbGlnbmVkXygkcXVlcnkpO1xuICB9XG5cbiAgLm1kYy10ZXh0LWZpZWxkLS1sdHItdGV4dCB7XG4gICAgQGluY2x1ZGUgX2x0ci10ZXh0KCRxdWVyeSk7XG5cbiAgICAmLm1kYy10ZXh0LWZpZWxkLS1lbmQtYWxpZ25lZCB7XG4gICAgICBAaW5jbHVkZSBfbHRyLXRleHQtZW5kLWFsaWduZWQoJHF1ZXJ5KTtcbiAgICB9XG4gIH1cbn1cblxuLy8gVGhpcyBBUEkgaXMgaW50ZW5kZWQgZm9yIHVzZSBieSBmcmFtZXdvcmtzIHRoYXQgbWF5IHdhbnQgdG8gc2VwYXJhdGUgdGhlIHJpcHBsZS1yZWxhdGVkIHN0eWxlc1xuLy8gZnJvbSB0aGUgb3RoZXIgdGV4dCBmaWVsZCBzdHlsZXMuIEl0IGlzIHJlY29tbWVuZGVkIHRoYXQgbW9zdCB1c2VycyB1c2UgYG1kYy10ZXh0LWZpZWxkLWNvcmUtc3R5bGVzYCBpbnN0ZWFkLlxuQG1peGluIHJpcHBsZSgkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICBAaW5jbHVkZSByaXBwbGUtbWl4aW5zLmNvbW1vbigkcXVlcnkpOyAvLyBDT1BZQkFSQV9DT01NRU5UX1RISVNfTElORVxuXG4gIC5tZGMtdGV4dC1maWVsZC0tZmlsbGVkIHtcbiAgICBAaW5jbHVkZSByaXBwbGUtbWl4aW5zLnN1cmZhY2UoJHF1ZXJ5OiAkcXVlcnksICRyaXBwbGUtdGFyZ2V0OiB2YXJpYWJsZXMuJHJpcHBsZS10YXJnZXQpO1xuICAgIEBpbmNsdWRlIHJpcHBsZS1taXhpbnMucmFkaXVzLWJvdW5kZWQoJHF1ZXJ5OiAkcXVlcnksICRyaXBwbGUtdGFyZ2V0OiB2YXJpYWJsZXMuJHJpcHBsZS10YXJnZXQpO1xuICB9XG5cbiAgI3t2YXJpYWJsZXMuJHJpcHBsZS10YXJnZXR9IHtcbiAgICBAaW5jbHVkZSByaXBwbGUtbWl4aW5zLnRhcmdldC1jb21tb24oJHF1ZXJ5OiAkcXVlcnkpO1xuICB9XG59XG5cbi8vL1xuLy8vIFNldHMgZGVuc2l0eSBzY2FsZSBmb3IgZGVmYXVsdCB0ZXh0IGZpZWxkIHZhcmlhbnQuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlciB8IFN0cmluZ30gJGRlbnNpdHktc2NhbGUgLSBEZW5zaXR5IHNjYWxlIHZhbHVlIGZvciBjb21wb25lbnQuIFN1cHBvcnRlZCBkZW5zaXR5IHNjYWxlIHZhbHVlcyBgLTRgLFxuLy8vICAgICBgLTNgLCBgLTJgLCBgLTFgLCBgMGAuIERlZmF1bHQgaXMgYDBgLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWluaW11bS1oZWlnaHQtZm9yLWZpbGxlZC1sYWJlbCBTZXRzIHRoZSBtaW5pbXVtIGhlaWdodCBmb3Jcbi8vLyAgICAgZmlsbGVkIHRleHRmaWVsZHMgYXQgd2hpY2ggdG8gYWxsb3cgZmxvYXRpbmcgbGFiZWxzLlxuLy8vXG5AbWl4aW4gZGVuc2l0eSgkZGVuc2l0eS1zY2FsZSwgJG1pbmltdW0taGVpZ2h0LWZvci1maWxsZWQtbGFiZWw6IHZhcmlhYmxlcy4kbWluaW11bS1oZWlnaHQtZm9yLWZpbGxlZC1sYWJlbCwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJGhlaWdodDogZGVuc2l0eS1mdW5jdGlvbnMucHJvcC12YWx1ZShcbiAgICAkZGVuc2l0eS1jb25maWc6IHZhcmlhYmxlcy4kZGVuc2l0eS1jb25maWcsXG4gICAgJGRlbnNpdHktc2NhbGU6ICRkZW5zaXR5LXNjYWxlLFxuICAgICRwcm9wZXJ0eS1uYW1lOiBoZWlnaHQsXG4gICk7XG5cbiAgQGluY2x1ZGUgaGVpZ2h0KCRoZWlnaHQsICRtaW5pbXVtLWhlaWdodC1mb3ItZmlsbGVkLWxhYmVsOiAkbWluaW11bS1oZWlnaHQtZm9yLWZpbGxlZC1sYWJlbCwgJHF1ZXJ5OiAkcXVlcnkpO1xuICAvLyBUT0RPKGIvMTUxODM5MjE5KTogcmVzaXplIGljb25zIGFuZCBhZGp1c3QgbGFiZWwgcG9zaXRpb25cbiAgLy8gQGlmICRkZW5zaXR5LXNjYWxlIDwgMCB7XG4gIC8vICAgQGluY2x1ZGUgaWNvbi1taXhpbnMuc2l6ZShpY29uLXZhcmlhYmxlcy4kZGVuc2UtaWNvbi1zaXplKTtcbiAgLy8gfVxufVxuXG4vLy9cbi8vLyBTZXRzIGRlbnNpdHkgc2NhbGUgZm9yIG91dGxpbmVkIHRleHQgZmllbGQgKEV4Y2x1ZGluZyBvdXRsaW5lZCB0ZXh0IGZpZWxkIHdpdGggbGVhZGluZyBpY29uKS5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyIHwgU3RyaW5nfSAkZGVuc2l0eS1zY2FsZSAtIERlbnNpdHkgc2NhbGUgdmFsdWUgZm9yIGNvbXBvbmVudC4gU3VwcG9ydGVkIGRlbnNpdHkgc2NhbGUgdmFsdWVzIGAtNGAsXG4vLy8gICAgIGAtM2AsIGAtMmAsIGAtMWAsIGAwYC4gRGVmYXVsdCBpcyBgMGAuXG4vLy9cbkBtaXhpbiBvdXRsaW5lZC1kZW5zaXR5KCRkZW5zaXR5LXNjYWxlLCAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAkaGVpZ2h0OiBkZW5zaXR5LWZ1bmN0aW9ucy5wcm9wLXZhbHVlKFxuICAgICRkZW5zaXR5LWNvbmZpZzogdmFyaWFibGVzLiRkZW5zaXR5LWNvbmZpZyxcbiAgICAkZGVuc2l0eS1zY2FsZTogJGRlbnNpdHktc2NhbGUsXG4gICAgJHByb3BlcnR5LW5hbWU6IGhlaWdodCxcbiAgKTtcblxuICBAaW5jbHVkZSBvdXRsaW5lZC1oZWlnaHQoJGhlaWdodCwgJHF1ZXJ5OiAkcXVlcnkpO1xuICAvLyBUT0RPKGIvMTUxODM5MjE5KTogcmVzaXplIGljb25zIGFuZCBhZGp1c3QgbGFiZWwgcG9zaXRpb25cbiAgLy8gQGlmICRkZW5zaXR5LXNjYWxlIDwgMCB7XG4gIC8vICAgQGluY2x1ZGUgaWNvbi1taXhpbnMuc2l6ZShpY29uLXZhcmlhYmxlcy4kZGVuc2UtaWNvbi1zaXplKTtcbiAgLy8gfVxufVxuXG4vLy9cbi8vLyBTZXRzIGRlbnNpdHkgc2NhbGUgZm9yIG91dGxpbmVkIHRleHQgZmllbGQgd2l0aCBsZWFkaW5nIGljb24uXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlciB8IFN0cmluZ30gJGRlbnNpdHktc2NhbGUgLSBEZW5zaXR5IHNjYWxlIHZhbHVlIGZvciBjb21wb25lbnQuIFN1cHBvcnRlZCBkZW5zaXR5IHNjYWxlIHZhbHVlcyBgLTRgLFxuLy8vICAgICBgLTNgLCBgLTJgLCBgLTFgLCBgMGAuIERlZmF1bHQgaXMgYDBgLlxuLy8vXG5AbWl4aW4gb3V0bGluZWQtd2l0aC1sZWFkaW5nLWljb24tZGVuc2l0eSgkZGVuc2l0eS1zY2FsZSwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJGhlaWdodDogZGVuc2l0eS1mdW5jdGlvbnMucHJvcC12YWx1ZShcbiAgICAkZGVuc2l0eS1jb25maWc6IHZhcmlhYmxlcy4kZGVuc2l0eS1jb25maWcsXG4gICAgJGRlbnNpdHktc2NhbGU6ICRkZW5zaXR5LXNjYWxlLFxuICAgICRwcm9wZXJ0eS1uYW1lOiBoZWlnaHQsXG4gICk7XG5cbiAgQGluY2x1ZGUgb3V0bGluZWQtd2l0aC1sZWFkaW5nLWljb24taGVpZ2h0KCRoZWlnaHQsICRxdWVyeTogJHF1ZXJ5KTtcbiAgLy8gVE9ETyhiLzE1MTgzOTIxOSk6IHJlc2l6ZSBpY29ucyBhbmQgYWRqdXN0IGxhYmVsIHBvc2l0aW9uXG4gIC8vIEBpZiAkZGVuc2l0eS1zY2FsZSA8IDAge1xuICAvLyAgIEBpbmNsdWRlIGljb24tbWl4aW5zLnNpemUoaWNvbi12YXJpYWJsZXMuJGRlbnNlLWljb24tc2l6ZSk7XG4gIC8vIH1cbn1cblxuLy8vXG4vLy8gU2V0cyBoZWlnaHQgb2YgZGVmYXVsdCB0ZXh0IGZpZWxkIHZhcmlhbnQuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGhlaWdodFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWluaW11bS1oZWlnaHQtZm9yLWZpbGxlZC1sYWJlbCBTZXRzIHRoZSBtaW5pbXVtIGhlaWdodCBmb3Jcbi8vLyAgICAgZmlsbGVkIHRleHRmaWVsZHMgYXQgd2hpY2ggdG8gYWxsb3cgZmxvYXRpbmcgbGFiZWxzLlxuLy8vIEBhY2Nlc3MgcHVibGljXG4vLy9cbkBtaXhpbiBoZWlnaHQoXG4gICRoZWlnaHQsXG4gICRtaW5pbXVtLWhlaWdodC1mb3ItZmlsbGVkLWxhYmVsOiB2YXJpYWJsZXMuJG1pbmltdW0taGVpZ2h0LWZvci1maWxsZWQtbGFiZWwsXG4gICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpXG4pIHtcbiAgJGZlYXQtc3RydWN0dXJlOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG4gIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgIGhlaWdodDogJGhlaWdodDtcbiAgfVxuXG4gIEBpZiAkaGVpZ2h0IDwgJG1pbmltdW0taGVpZ2h0LWZvci1maWxsZWQtbGFiZWwge1xuICAgIEBpbmNsdWRlIF9maWxsZWQtbm8tbGFiZWwoJHF1ZXJ5OiAkcXVlcnkpO1xuICB9XG59XG5cbi8vL1xuLy8vIFNldHMgaGVpZ2h0IG9mIG91dGxpbmVkIHRleHQgZmllbGQgdmFyaWFudCAoRXhjbHVkaW5nIG91dGxpbmVkIHRleHQgZmllbGQgd2l0aCBsZWFkaW5nIGljb24pLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRoZWlnaHRcbi8vLyBAcGFyYW0ge1N0cmluZ30gJGtleWZyYW1lLXN1ZmZpeCAtIE9wdGlvbmFsIHN1ZmZpeCB0byB1c2UgZm9yIGdlbmVyYXRlZFxuLy8vICAgICBmbG9hdGluZyBsYWJlbCBrZXlmcmFtZXNcbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vXG5AbWl4aW4gb3V0bGluZWQtaGVpZ2h0KFxuICAkaGVpZ2h0LFxuICAka2V5ZnJhbWUtc3VmZml4OiB0ZXh0LWZpZWxkLW91dGxpbmVkLSN7JGhlaWdodH0sXG4gICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpXG4pIHtcbiAgJGZlYXQtc3RydWN0dXJlOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG4gICRwb3NpdGlvblk6IHZhcmlhYmxlcy5nZXQtb3V0bGluZWQtbGFiZWwtcG9zaXRpb24teSgkaGVpZ2h0KTtcblxuICAvLyBGbG9hdGluZyBsYWJlbCBwb3NpdGlvblxuICBAaW5jbHVkZSBub3RjaGVkLW91dGxpbmUtbWl4aW5zLmZsb2F0aW5nLWxhYmVsLWZsb2F0LXBvc2l0aW9uLWFic29sdXRlKCRwb3NpdGlvblksICRxdWVyeTogJHF1ZXJ5KTtcblxuICAvLyBGbG9hdGluZyBsYWJlbCBhbmltYXRpb25cbiAgQGluY2x1ZGUgZmxvYXRpbmctbGFiZWwtbWl4aW5zLnNoYWtlLWFuaW1hdGlvbigka2V5ZnJhbWUtc3VmZml4LCAkcXVlcnk6ICRxdWVyeSk7XG4gIEBhdC1yb290IHtcbiAgICBAaW5jbHVkZSBmbG9hdGluZy1sYWJlbC1taXhpbnMuc2hha2Uta2V5ZnJhbWVzKCRrZXlmcmFtZS1zdWZmaXgsICRwb3NpdGlvblksICRxdWVyeTogJHF1ZXJ5KTtcbiAgfVxuXG4gIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgIGhlaWdodDogJGhlaWdodDtcbiAgfVxufVxuXG4vLy9cbi8vLyBTZXRzIGhlaWdodCBvZiBvdXRsaW5lZCB0ZXh0IGZpZWxkIHdpdGggbGVhZGluZyBpY29uIHZhcmlhbnQuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGhlaWdodFxuLy8vIEBwYXJhbSB7U3RyaW5nfSAka2V5ZnJhbWUtc3VmZml4IC0gT3B0aW9uYWwgc3VmZml4IHRvIHVzZSBmb3IgZ2VuZXJhdGVkXG4vLy8gICAgIGZsb2F0aW5nIGxhYmVsIGtleWZyYW1lc1xuLy8vIEBhY2Nlc3MgcHVibGljXG4vLy9cbkBtaXhpbiBvdXRsaW5lZC13aXRoLWxlYWRpbmctaWNvbi1oZWlnaHQoXG4gICRoZWlnaHQsXG4gICRrZXlmcmFtZS1zdWZmaXg6IG51bGwsXG4gICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpXG4pIHtcbiAgJGZlYXQtc3RydWN0dXJlOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG5cbiAgLy8gVGhpcyBleHRyYSBzcGVjaWZpY2l0eSBpcyBuZWVkZWQgYmVjYXVzZSB0ZXh0ZmllbGQgYXBwbGllcyB0aGUgYmVsb3cgbWl4aW5cbiAgLy8gYWxyZWFkeSB0byB0d28gc2VsZWN0b3JzIChvdXRsaW5lZCArIHdpdGgtbGVhZGluZy1pY29uKS4gVG8gb3ZlcnJpZGVcbiAgLy8gdGhlbSB3aXRoIGEgbmV3IGxhYmVsIHBvc2l0aW9uIGFuZCBhbmltYXRpb24sIGFub3RoZXIgc2VsZWN0b3IgaXMgbmVlZGVkLlxuICAmLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZCB7XG4gICAgQGluY2x1ZGUgX291dGxpbmVkLXdpdGgtbGVhZGluZy1pY29uLWZsb2F0aW5nLWxhYmVsLXBvc2l0aW9uLWFuaW1hdGlvbigkaGVpZ2h0LCAka2V5ZnJhbWUtc3VmZml4LCAkcXVlcnkpO1xuICB9XG5cbiAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgaGVpZ2h0OiAkaGVpZ2h0O1xuICB9XG59XG5cbi8vIE1peGluIHRoYXQgc2V0cyB0aGUgZmxvYXRpbmcgbGFiZWwgcG9zaXRpb24gYW5kIGFuaW1hdGlvbnMgZm9yIGEgZ2l2ZW4gaGVpZ2h0LlxuLy8gVGhpcyBtaXhpbiBpcyBzZXBhcmF0ZSB0byBhbGxvdyBvdXRsaW5lZC13aXRoLWxlYWRpbmctaWNvbi1oZWlnaHQoKSB0b1xuLy8gcHJvdmlkZSBncmVhdGVyIHNwZWNpZmljaXR5IG92ZXIgdGhlIGRlZmF1bHQgbWl4aW4gdGhhdCBhZGRzIHN0eWxlcyBmb3Jcbi8vIG91dGxpbmVkIHdpdGggbGVhZGluZyBpY29ucy5cbkBtaXhpbiBfb3V0bGluZWQtd2l0aC1sZWFkaW5nLWljb24tZmxvYXRpbmctbGFiZWwtcG9zaXRpb24tYW5pbWF0aW9uKFxuICAkaGVpZ2h0LFxuICAka2V5ZnJhbWUtc3VmZml4OiB0ZXh0LWZpZWxkLW91dGxpbmVkLXdpdGgtbGVhZGluZy1pY29uLSN7JGhlaWdodH0sXG4gICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpXG4pIHtcbiAgJHBvc2l0aW9uWTogdmFyaWFibGVzLmdldC1vdXRsaW5lZC1sYWJlbC1wb3NpdGlvbi15KCRoZWlnaHQpO1xuXG4gIC8vIEZsb2F0aW5nIGxhYmVsIHBvc2l0aW9uXG4gIEBpbmNsdWRlIG5vdGNoZWQtb3V0bGluZS1taXhpbnMuZmxvYXRpbmctbGFiZWwtZmxvYXQtcG9zaXRpb24tYWJzb2x1dGUoXG4gICAgJHBvc2l0aW9uWSxcbiAgICB2YXJpYWJsZXMuJG91dGxpbmVkLXdpdGgtbGVhZGluZy1pY29uLWxhYmVsLXBvc2l0aW9uLXgsXG4gICAgJHF1ZXJ5OiAkcXVlcnlcbiAgKTtcblxuICAvLyBGbG9hdGluZyBsYWJlbCBhbmltYXRpb25cbiAgQGluY2x1ZGUgZmxvYXRpbmctbGFiZWwtbWl4aW5zLnNoYWtlLWFuaW1hdGlvbigka2V5ZnJhbWUtc3VmZml4LCAkcXVlcnk6ICRxdWVyeSk7XG4gIEBhdC1yb290IHtcbiAgICBAaW5jbHVkZSBmbG9hdGluZy1sYWJlbC1taXhpbnMuc2hha2Uta2V5ZnJhbWVzKFxuICAgICAgJGtleWZyYW1lLXN1ZmZpeCxcbiAgICAgICRwb3NpdGlvblksXG4gICAgICB2YXJpYWJsZXMuJG91dGxpbmVkLXdpdGgtbGVhZGluZy1pY29uLWxhYmVsLXBvc2l0aW9uLXgsXG4gICAgICAkcXVlcnk6ICRxdWVyeVxuICAgICk7XG4gIH1cblxuICAka2V5ZnJhbWUtc3VmZml4LXJ0bDogI3ska2V5ZnJhbWUtc3VmZml4fS1ydGw7XG4gIEBpbmNsdWRlIHJ0bC1taXhpbnMucnRsIHtcbiAgICBAaW5jbHVkZSBmbG9hdGluZy1sYWJlbC1taXhpbnMuc2hha2UtYW5pbWF0aW9uKCRrZXlmcmFtZS1zdWZmaXgsICRxdWVyeTogJHF1ZXJ5KTtcbiAgfVxuICBAYXQtcm9vdCB7XG4gICAgQGluY2x1ZGUgZmxvYXRpbmctbGFiZWwtbWl4aW5zLnNoYWtlLWtleWZyYW1lcyhcbiAgICAgICRrZXlmcmFtZS1zdWZmaXgtcnRsLFxuICAgICAgJHBvc2l0aW9uWSxcbiAgICAgIC0odmFyaWFibGVzLiRvdXRsaW5lZC13aXRoLWxlYWRpbmctaWNvbi1sYWJlbC1wb3NpdGlvbi14KSxcbiAgICAgICRxdWVyeTogJHF1ZXJ5XG4gICAgKTtcbiAgfVxufVxuXG4vLy9cbi8vLyBTZXRzIHNoYXBlIHJhZGl1cyBvZiBkZWZhdWx0IHRleHQgZmllbGQgdmFyaWFudC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcmFkaXVzIFNoYXBlIHJhZGl1cyB2YWx1ZSBpbiBgcHhgIG9yIGluIHBlcmNlbnRhZ2UuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR0ZXh0LWZpZWxkLWhlaWdodCBIZWlnaHQgb2YgZGVmYXVsdCB0ZXh0IGZpZWxkIHZhcmlhbnQuIFJlcXVpcmVkIG9ubHkgd2hlbiBgJHJhZGl1c2AgaXMgaW5cbi8vLyAgICAgcGVyY2VudGFnZSB1bml0IGFuZCBpZiB0ZXh0IGZpZWxkIGhhcyBjdXN0b20gaGVpZ2h0LiBEZWZhdWx0cyB0byBgdmFyaWFibGVzLiRoZWlnaHRgLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHJ0bC1yZWZsZXhpdmUgU2V0IHRvIHRydWUgdG8gZmxpcCBzaGFwZSByYWRpdXMgaW4gUlRMIGNvbnRleHQuIERlZmF1bHRzIHRvIGBmYWxzZWAuXG4vLy9cbkBtaXhpbiBzaGFwZS1yYWRpdXMoXG4gICRyYWRpdXMsXG4gICRkZW5zaXR5LXNjYWxlOiB2YXJpYWJsZXMuJGRlbnNpdHktc2NhbGUsXG4gICRydGwtcmVmbGV4aXZlOiBmYWxzZSxcbiAgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgQGlmIGxpc3QubGVuZ3RoKCRyYWRpdXMpID4gMiB7XG4gICAgQGVycm9yIFwiSW52YWxpZCByYWRpdXM6ICcjeyRyYWRpdXN9JyBjb21wb25lbnQgZG9lc24ndCBhbGxvdyBjdXN0b21pemluZyBhbGwgY29ybmVyc1wiO1xuICB9XG5cbiAgJGhlaWdodDogZGVuc2l0eS1mdW5jdGlvbnMucHJvcC12YWx1ZShcbiAgICAkZGVuc2l0eS1jb25maWc6IHZhcmlhYmxlcy4kZGVuc2l0eS1jb25maWcsXG4gICAgJGRlbnNpdHktc2NhbGU6ICRkZW5zaXR5LXNjYWxlLFxuICAgICRwcm9wZXJ0eS1uYW1lOiBoZWlnaHQsXG4gICk7XG5cbiAgJG1hc2tlZC1yYWRpdXM6IHNoYXBlLWZ1bmN0aW9ucy5tYXNrLXJhZGl1cygkcmFkaXVzLCAxIDEgMCAwKTtcblxuICBAaW5jbHVkZSBzaGFwZS1taXhpbnMucmFkaXVzKFxuICAgIHNoYXBlLWZ1bmN0aW9ucy5yZXNvbHZlLXBlcmNlbnRhZ2UtcmFkaXVzKCRoZWlnaHQsICRtYXNrZWQtcmFkaXVzKSxcbiAgICAkcnRsLXJlZmxleGl2ZSxcbiAgICAkcXVlcnk6ICRxdWVyeVxuICApO1xufVxuXG5AbWl4aW4gdGV4dGFyZWEtc2hhcGUtcmFkaXVzKCRyYWRpdXMsICRydGwtcmVmbGV4aXZlOiBmYWxzZSwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgQGluY2x1ZGUgbm90Y2hlZC1vdXRsaW5lLW1peGlucy5zaGFwZS1yYWRpdXMoJHJhZGl1cywgJHJ0bC1yZWZsZXhpdmUsICRxdWVyeTogJHF1ZXJ5KTtcbn1cblxuLy8vXG4vLy8gQ3VzdG9taXplcyB0aGUgY29sb3Igb2YgdGhlIHRleHQgZW50ZXJlZCBpbnRvIGFuIGVuYWJsZWQgdGV4dCBmaWVsZC5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBUaGUgZGVzaXJlZCBpbnB1dCB0ZXh0IGNvbG9yLlxuLy8vXG5AbWl4aW4gaW5rLWNvbG9yKCRjb2xvciwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgQGluY2x1ZGUgaWYtZW5hYmxlZF8ge1xuICAgIEBpbmNsdWRlIGluay1jb2xvcl8oJGNvbG9yLCAkcXVlcnk6ICRxdWVyeSk7XG4gIH1cbn1cblxuLy8vXG4vLy8gQ3VzdG9taXplcyB0aGUgY29sb3Igb2YgdGhlIGVudGVyZWQgdGV4dCBpbiBhIGRpc2FibGVkIHRleHQgZmllbGQuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gVGhlIGRlc2lyZWQgaW5wdXQgdGV4dCBjb2xvci5cbi8vL1xuQG1peGluIGRpc2FibGVkLWluay1jb2xvcigkY29sb3IsICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gIEBpbmNsdWRlIGlmLWRpc2FibGVkXyB7XG4gICAgQGluY2x1ZGUgaW5rLWNvbG9yXygkY29sb3IsICRxdWVyeTogJHF1ZXJ5KTtcbiAgfVxufVxuXG4vLy9cbi8vLyBDdXN0b21pemVzIHRoZSBjb2xvciBvZiB0aGUgcGxhY2Vob2xkZXIgaW4gYW4gZW5hYmxlZCB0ZXh0IGZpZWxkLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIFRoZSBkZXNpcmVkIHBsYWNlaG9sZGVyIHRleHQgY29sb3IuXG4vLy9cbkBtaXhpbiBwbGFjZWhvbGRlci1jb2xvcigkY29sb3IsICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gIEBpbmNsdWRlIGlmLWVuYWJsZWRfIHtcbiAgICBAaW5jbHVkZSBwbGFjZWhvbGRlci1jb2xvcl8oJGNvbG9yLCAkcXVlcnk6ICRxdWVyeSk7XG4gIH1cbn1cblxuLy8vXG4vLy8gQ3VzdG9taXplcyB0aGUgY29sb3Igb2YgdGhlIHBsYWNlaG9sZGVyIGluIGEgZGlzYWJsZWQgdGV4dCBmaWVsZC5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBUaGUgZGVzaXJlZCBwbGFjZWhvbGRlciB0ZXh0IGNvbG9yLlxuLy8vXG5AbWl4aW4gZGlzYWJsZWQtcGxhY2Vob2xkZXItY29sb3IoJGNvbG9yLCAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICBAaW5jbHVkZSBpZi1kaXNhYmxlZF8ge1xuICAgIEBpbmNsdWRlIHBsYWNlaG9sZGVyLWNvbG9yXygkY29sb3IsICRxdWVyeTogJHF1ZXJ5KTtcbiAgfVxufVxuXG4vLy9cbi8vLyBDdXN0b21pemVzIHRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSB0ZXh0IGZpZWxkIG9yIHRleHRhcmVhIHdoZW4gZW5hYmxlZC5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBUaGUgZGVzaXJlZCBiYWNrZ3JvdW5kIGNvbG9yLlxuLy8vXG5AbWl4aW4gZmlsbC1jb2xvcigkY29sb3IsICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gIEBpbmNsdWRlIGlmLWVuYWJsZWRfIHtcbiAgICBAaW5jbHVkZSBmaWxsLWNvbG9yXygkY29sb3IsICRxdWVyeTogJHF1ZXJ5KTtcbiAgfVxufVxuXG4vLy9cbi8vLyBDdXN0b21pemVzIHRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSB0ZXh0IGZpZWxkIG9yIHRleHRhcmVhIHdoZW4gZGlzYWJsZWQuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gVGhlIGRlc2lyZWQgYmFja2dyb3VuZCBjb2xvci5cbi8vL1xuQG1peGluIGRpc2FibGVkLWZpbGwtY29sb3IoJGNvbG9yLCAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICBAaW5jbHVkZSBpZi1kaXNhYmxlZF8ge1xuICAgIEBpbmNsdWRlIGZpbGwtY29sb3JfKCRjb2xvciwgJHF1ZXJ5OiAkcXVlcnkpO1xuICB9XG59XG5cbi8vL1xuLy8vIEN1c3RvbWl6ZXMgdGhlIHRleHQgZmllbGQgYm90dG9tIGxpbmUgY29sb3IgZm9yIHRoZSBmaWxsZWQgdmFyaWFudC5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBUaGUgZGVzaXJlZCBib3R0b20gbGluZSBjb2xvci5cbi8vL1xuQG1peGluIGJvdHRvbS1saW5lLWNvbG9yKCRjb2xvciwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgQGluY2x1ZGUgaWYtZW5hYmxlZF8ge1xuICAgIEBpbmNsdWRlIGJvdHRvbS1saW5lLWNvbG9yXygkY29sb3IsICRxdWVyeTogJHF1ZXJ5KTtcbiAgfVxufVxuXG4vLy9cbi8vLyBDdXN0b21pemVzIHRoZSBkaXNhYmxlZCB0ZXh0IGZpZWxkIGJvdHRvbSBsaW5lIGNvbG9yIGZvciB0aGUgZmlsbGVkIHZhcmlhbnQuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gVGhlIGRlc2lyZWQgYm90dG9tIGxpbmUgY29sb3IuXG4vLy9cbkBtaXhpbiBkaXNhYmxlZC1ib3R0b20tbGluZS1jb2xvcigkY29sb3IsICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gIEBpbmNsdWRlIGlmLWRpc2FibGVkXyB7XG4gICAgQGluY2x1ZGUgYm90dG9tLWxpbmUtY29sb3JfKCRjb2xvciwgJHF1ZXJ5OiAkcXVlcnkpO1xuICB9XG59XG5cbi8vL1xuLy8vIEN1c3RvbWl6ZXMgdGhlIGhvdmVyIHRleHQgZmllbGQgYm90dG9tIGxpbmUgY29sb3IgZm9yIHRoZSBmaWxsZWQgdmFyaWFudC5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBUaGUgZGVzaXJlZCBib3R0b20gbGluZSBjb2xvci5cbi8vL1xuQG1peGluIGhvdmVyLWJvdHRvbS1saW5lLWNvbG9yKCRjb2xvciwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgQGluY2x1ZGUgaWYtZW5hYmxlZF8ge1xuICAgIEBpbmNsdWRlIGhvdmVyLWJvdHRvbS1saW5lLWNvbG9yXygkY29sb3IsICRxdWVyeTogJHF1ZXJ5KTtcbiAgfVxufVxuXG4vLy9cbi8vLyBDdXN0b21pemVzIHRoZSBjb2xvciBvZiB0aGUgZGVmYXVsdCBsaW5lIHJpcHBsZSBvZiB0aGUgdGV4dCBmaWVsZC5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBUaGUgZGVzaXJlZCBsaW5lIHJpcHBsZSBjb2xvci5cbi8vL1xuQG1peGluIGxpbmUtcmlwcGxlLWNvbG9yKCRjb2xvciwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgQGluY2x1ZGUgaWYtZW5hYmxlZF8ge1xuICAgIEBpbmNsdWRlIGxpbmUtcmlwcGxlLWNvbG9yXygkY29sb3IsICRxdWVyeTogJHF1ZXJ5KTtcbiAgfVxufVxuXG4vLy9cbi8vLyBDdXN0b21pemVzIHRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBsYWJlbCBpbiBhbiBlbmFibGVkIHRleHQgZmllbGQuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gVGhlIGRlc2lyZWQgbGFiZWwgdGV4dCBjb2xvci5cbi8vL1xuQG1peGluIGxhYmVsLWNvbG9yKCRjb2xvciwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgQGluY2x1ZGUgaWYtZW5hYmxlZF8ge1xuICAgIEBpbmNsdWRlIGxhYmVsLWluay1jb2xvcl8oJGNvbG9yLCAkcXVlcnk6ICRxdWVyeSk7XG4gIH1cbn1cblxuLy8vXG4vLy8gQ3VzdG9taXplcyB0aGUgdGV4dCBjb2xvciBvZiB0aGUgbGFiZWwgaW4gYSBkaXNhYmxlZCB0ZXh0IGZpZWxkLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIFRoZSBkZXNpcmVkIGxhYmVsIHRleHQgY29sb3IuXG4vLy9cbkBtaXhpbiBkaXNhYmxlZC1sYWJlbC1jb2xvcigkY29sb3IsICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gIEBpbmNsdWRlIGlmLWRpc2FibGVkXyB7XG4gICAgQGluY2x1ZGUgbGFiZWwtaW5rLWNvbG9yXygkY29sb3IsICRxdWVyeTogJHF1ZXJ5KTtcbiAgfVxufVxuXG4vLy9cbi8vLyBDdXN0b21pemVzIHRoZSBib3JkZXIgY29sb3Igb2YgdGhlIG91dGxpbmVkIHRleHQgZmllbGQgb3IgdGV4dGFyZWEuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gVGhlIGRlc2lyZWQgb3V0bGluZSBib3JkZXIgY29sb3IuXG4vLy9cbkBtaXhpbiBvdXRsaW5lLWNvbG9yKCRjb2xvciwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgQGluY2x1ZGUgaWYtZW5hYmxlZF8ge1xuICAgIEBpbmNsdWRlIG5vdGNoZWQtb3V0bGluZS1taXhpbnMuY29sb3IoJGNvbG9yLCAkcXVlcnk6ICRxdWVyeSk7XG4gIH1cbn1cblxuLy8vXG4vLy8gQ3VzdG9taXplcyB0aGUgb3V0bGluZSBib3JkZXIgY29sb3Igd2hlbiB0aGUgdGV4dCBmaWVsZCBvciB0ZXh0YXJlYSBpcyBob3ZlcmVkLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIFRoZSBkZXNpcmVkIG91dGxpbmUgYm9yZGVyIGNvbG9yLlxuLy8vXG5AbWl4aW4gaG92ZXItb3V0bGluZS1jb2xvcigkY29sb3IsICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gIEBpbmNsdWRlIGlmLWVuYWJsZWRfIHtcbiAgICBAaW5jbHVkZSBob3Zlci1vdXRsaW5lLWNvbG9yXygkY29sb3IsICRxdWVyeTogJHF1ZXJ5KTtcbiAgfVxufVxuXG4vLy9cbi8vLyBDdXN0b21pemVzIHRoZSBvdXRsaW5lIGJvcmRlciBjb2xvciB3aGVuIHRoZSB0ZXh0IGZpZWxkIG9yIHRleHRhcmVhIGlzIGZvY3VzZWQuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gVGhlIGRlc2lyZWQgb3V0bGluZSBib3JkZXIgY29sb3IuXG4vLy9cbkBtaXhpbiBmb2N1c2VkLW91dGxpbmUtY29sb3IoJGNvbG9yLCAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICBAaW5jbHVkZSBpZi1lbmFibGVkXyB7XG4gICAgQGluY2x1ZGUgZm9jdXNlZC1vdXRsaW5lLWNvbG9yXygkY29sb3IsICRxdWVyeTogJHF1ZXJ5KTtcbiAgfVxufVxuXG4vLy9cbi8vLyBDdXN0b21pemVzIHRoZSBvdXRsaW5lIGJvcmRlciBjb2xvciB3aGVuIHRoZSB0ZXh0IGZpZWxkIG9yIHRleHRhcmVhIGlzIGRpc2FibGVkLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIFRoZSBkZXNpcmVkIG91dGxpbmUgYm9yZGVyIGNvbG9yLlxuLy8vXG5AbWl4aW4gZGlzYWJsZWQtb3V0bGluZS1jb2xvcigkY29sb3IsICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gIEBpbmNsdWRlIGlmLWRpc2FibGVkXyB7XG4gICAgQGluY2x1ZGUgbm90Y2hlZC1vdXRsaW5lLW1peGlucy5jb2xvcigkY29sb3IsICRxdWVyeTogJHF1ZXJ5KTtcbiAgfVxufVxuXG4vLy9cbi8vLyBDdXN0b21pemVzIHRoZSBjYXJldCBjb2xvciBvZiB0aGUgdGV4dCBmaWVsZCBvciB0ZXh0YXJlYS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBUaGUgZGVzaXJlZCBjYXJldCBjb2xvci5cbi8vL1xuQG1peGluIGNhcmV0LWNvbG9yKCRjb2xvciwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJGZlYXQtY29sb3I6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgY29sb3IpO1xuXG4gIC5tZGMtdGV4dC1maWVsZF9faW5wdXQge1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LWNvbG9yKSB7XG4gICAgICBAaW5jbHVkZSB0aGVtZS1taXhpbnMucHJvcChjYXJldC1jb2xvciwgJGNvbG9yKTtcbiAgICB9XG4gIH1cbn1cblxuLy8vXG4vLy8gQ3VzdG9taXplcyB0aGUgY29sb3Igb2YgdGhlIHByZWZpeCB0ZXh0IGZvciBhbiBlbmFibGVkIHRleHQgZmllbGQuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gVGhlIGRlc2lyZWQgcHJlZml4IHRleHQgY29sb3IuXG4vLy9cbkBtaXhpbiBwcmVmaXgtY29sb3IoJGNvbG9yLCAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICBAaW5jbHVkZSBpZi1lbmFibGVkXyB7XG4gICAgQGluY2x1ZGUgX3ByZWZpeC1jb2xvcigkY29sb3IsICRxdWVyeTogJHF1ZXJ5KTtcbiAgfVxufVxuXG4vLy9cbi8vLyBDdXN0b21pemVzIHRoZSBjb2xvciBvZiB0aGUgcHJlZml4IHRleHQgZm9yIGEgZGlzYWJsZWQgdGV4dCBmaWVsZC5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBUaGUgZGVzaXJlZCBwcmVmaXggdGV4dCBjb2xvci5cbi8vL1xuQG1peGluIGRpc2FibGVkLXByZWZpeC1jb2xvcigkY29sb3IsICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gIEBpbmNsdWRlIGlmLWRpc2FibGVkXyB7XG4gICAgQGluY2x1ZGUgX3ByZWZpeC1jb2xvcigkY29sb3IsICRxdWVyeTogJHF1ZXJ5KTtcbiAgfVxufVxuXG4vLy9cbi8vLyBDdXN0b21pemVzIHRoZSBjb2xvciBvZiB0aGUgc3VmZml4IHRleHQgZm9yIGFuIGVuYWJsZWQgdGV4dCBmaWVsZC5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBUaGUgZGVzaXJlZCBzdWZmaXggdGV4dCBjb2xvci5cbi8vL1xuQG1peGluIHN1ZmZpeC1jb2xvcigkY29sb3IsICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gIEBpbmNsdWRlIGlmLWVuYWJsZWRfIHtcbiAgICBAaW5jbHVkZSBfc3VmZml4LWNvbG9yKCRjb2xvciwgJHF1ZXJ5OiAkcXVlcnkpO1xuICB9XG59XG5cbi8vL1xuLy8vIEN1c3RvbWl6ZXMgdGhlIGNvbG9yIG9mIHRoZSBzdWZmaXggdGV4dCBmb3IgYSBkaXNhYmxlZCB0ZXh0IGZpZWxkLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIFRoZSBkZXNpcmVkIHN1ZmZpeCB0ZXh0IGNvbG9yLlxuLy8vXG5AbWl4aW4gZGlzYWJsZWQtc3VmZml4LWNvbG9yKCRjb2xvciwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgQGluY2x1ZGUgaWYtZGlzYWJsZWRfIHtcbiAgICBAaW5jbHVkZSBfc3VmZml4LWNvbG9yKCRjb2xvciwgJHF1ZXJ5OiAkcXVlcnkpO1xuICB9XG59XG5cbi8vL1xuLy8vIFNldHMgc2hhcGUgcmFkaXVzIG9mIG91dGxpbmVkIHRleHQgZmllbGQgdmFyaWFudC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcmFkaXVzIFNoYXBlIHJhZGl1cyB2YWx1ZSBpbiBgcHhgIG9yIGluIHBlcmNlbnRhZ2UuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR0ZXh0LWZpZWxkLWhlaWdodCBIZWlnaHQgb2Ygb3V0bGluZWQgdGV4dCBmaWVsZCB2YXJpYW50LiBSZXF1aXJlZCBvbmx5IHdoZW4gYCRyYWRpdXNgIGlzIGluXG4vLy8gICAgIHBlcmNlbnRhZ2UgdW5pdCBhbmQgaWYgdGV4dCBmaWVsZCBoYXMgY3VzdG9tIGhlaWdodC4gRGVmYXVsdHMgdG8gYHZhcmlhYmxlcy4kaGVpZ2h0YC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRydGwtcmVmbGV4aXZlIFNldCB0byB0cnVlIHRvIGZsaXAgc2hhcGUgcmFkaXVzIGluIFJUTCBjb250ZXh0LiBEZWZhdWx0cyB0byBgZmFsc2VgLlxuLy8vXG5AbWl4aW4gb3V0bGluZS1zaGFwZS1yYWRpdXMoXG4gICRyYWRpdXMsXG4gICRkZW5zaXR5LXNjYWxlOiB2YXJpYWJsZXMuJGRlbnNpdHktc2NhbGUsXG4gICRydGwtcmVmbGV4aXZlOiBmYWxzZSxcbiAgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJGZlYXQtc3RydWN0dXJlOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG4gICRoZWlnaHQ6IGRlbnNpdHktZnVuY3Rpb25zLnByb3AtdmFsdWUoXG4gICAgJGRlbnNpdHktY29uZmlnOiB2YXJpYWJsZXMuJGRlbnNpdHktY29uZmlnLFxuICAgICRkZW5zaXR5LXNjYWxlOiAkZGVuc2l0eS1zY2FsZSxcbiAgICAkcHJvcGVydHktbmFtZTogaGVpZ2h0LFxuICApO1xuXG4gICRyZXNvbHZlZC1yYWRpdXM6IGxpc3QubnRoKHNoYXBlLWZ1bmN0aW9ucy5yZXNvbHZlLXBlcmNlbnRhZ2UtcmFkaXVzKCRoZWlnaHQsIHNoYXBlLWZ1bmN0aW9ucy5wcm9wLXZhbHVlKCRyYWRpdXMpKSwgMSk7XG5cbiAgQGlmIChsaXN0Lmxlbmd0aChzaGFwZS1mdW5jdGlvbnMucHJvcC12YWx1ZSgkcmFkaXVzKSkgPiAxKSB7XG4gICAgLy8gc3R5bGVsaW50LWRpc2FibGUgbWF4LWxpbmUtbGVuZ3RoXG4gICAgQHdhcm4gXCJtZGMtdGV4dC1maWVsZC1vdXRsaW5lLXNoYXBlLXJhZGl1cyBvbmx5IHN1cHBvcnRzIGEgc2luZ2xlIHJhZGl1czsgc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9tYXRlcmlhbC1jb21wb25lbnRzL21hdGVyaWFsLWNvbXBvbmVudHMtd2ViL2lzc3Vlcy80MTQwXCI7XG4gICAgLy8gc3R5bGVsaW50LWVuYWJsZVxuICB9XG5cbiAgLm1kYy1ub3RjaGVkLW91dGxpbmUge1xuICAgIEBpbmNsdWRlIG5vdGNoZWQtb3V0bGluZS1taXhpbnMuc2hhcGUtcmFkaXVzKCRyZXNvbHZlZC1yYWRpdXMsICRydGwtcmVmbGV4aXZlLCAkcXVlcnk6ICRxdWVyeSk7XG4gIH1cblxuICBAaWYgKCRyZXNvbHZlZC1yYWRpdXMgPiBub3RjaGVkLW91dGxpbmUtdmFyaWFibGVzLiRsZWFkaW5nLXdpZHRoKSB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICBAaW5jbHVkZSBydGwtbWl4aW5zLnJlZmxleGl2ZS1wcm9wZXJ0eShwYWRkaW5nLCAkcmVzb2x2ZWQtcmFkaXVzICsgbm90Y2hlZC1vdXRsaW5lLXZhcmlhYmxlcy4kcGFkZGluZywgMCk7XG4gICAgfVxuXG4gICAgKyAubWRjLXRleHQtZmllbGQtaGVscGVyLWxpbmUge1xuICAgICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICAgIEBpbmNsdWRlIHJ0bC1taXhpbnMucmVmbGV4aXZlLXByb3BlcnR5KHBhZGRpbmcsICRyZXNvbHZlZC1yYWRpdXMgKyBub3RjaGVkLW91dGxpbmUtdmFyaWFibGVzLiRwYWRkaW5nLCAkcmVzb2x2ZWQtcmFkaXVzKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vXG4vLy8gU2V0cyB0aGUgQ1NTIHRyYW5zaXRpb24gZm9yIHRoZSBmbG9hdGluZyBsYWJlbCdzIFwiZmxvYXRcIiBhbmltYXRpb24uXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGR1cmF0aW9uLW1zIC0gRHVyYXRpb24gKGluIG1zKSBvZiB0aGUgYW5pbWF0aW9uLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkdGltaW5nLWZ1bmN0aW9uIC0gT3B0aW9uYWxseSBvdmVycmlkZXMgdGhlIGRlZmF1bHQgYW5pbWF0aW9uIHRpbWluZyBmdW5jdGlvbi5cbi8vL1xuQG1peGluIGZsb2F0aW5nLWxhYmVsLWZsb2F0LXRyYW5zaXRpb24oJGR1cmF0aW9uLW1zLCAkdGltaW5nLWZ1bmN0aW9uOiBudWxsLCAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAubWRjLWZsb2F0aW5nLWxhYmVsIHtcbiAgICBAaW5jbHVkZSBmbG9hdGluZy1sYWJlbC1taXhpbnMuZmxvYXQtdHJhbnNpdGlvbigkZHVyYXRpb24tbXMsICR0aW1pbmctZnVuY3Rpb24sICRxdWVyeTogJHF1ZXJ5KTtcbiAgfVxufVxuXG4vLyBQcml2YXRlIG1peGluc1xuXG4vLyBCYXNlIHNoYXJlZCBzdHlsZXNcbkBtaXhpbiBfYmFzZSgkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAkZmVhdC1zdHJ1Y3R1cmU6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcblxuICAvLyBTaGFwZVxuICBAaW5jbHVkZSBzaGFwZS1yYWRpdXMoc21hbGwsICRxdWVyeTogJHF1ZXJ5KTtcblxuICAvLyBDb2xvcnNcbiAgQGluY2x1ZGUgbGFiZWwtY29sb3IodmFyaWFibGVzLiRsYWJlbCwgJHF1ZXJ5OiAkcXVlcnkpO1xuICBAaW5jbHVkZSBpbmstY29sb3IodmFyaWFibGVzLiRpbmstY29sb3IsICRxdWVyeTogJHF1ZXJ5KTtcbiAgQGluY2x1ZGUgcGxhY2Vob2xkZXItY29sb3IodmFyaWFibGVzLiRwbGFjZWhvbGRlci1pbmstY29sb3IsICRxdWVyeTogJHF1ZXJ5KTtcbiAgQGluY2x1ZGUgY2FyZXQtY29sb3IocHJpbWFyeSwgJHF1ZXJ5OiAkcXVlcnkpO1xuICBAaW5jbHVkZSBoZWxwZXItdGV4dC1taXhpbnMuaGVscGVyLXRleHQtY29sb3IodmFyaWFibGVzLiRoZWxwZXItdGV4dC1jb2xvciwgJHF1ZXJ5OiAkcXVlcnkpO1xuICBAaW5jbHVkZSBjaGFyYWN0ZXItY291bnRlci1taXhpbnMuY2hhcmFjdGVyLWNvdW50ZXItY29sb3IodmFyaWFibGVzLiRoZWxwZXItdGV4dC1jb2xvciwgJHF1ZXJ5OiAkcXVlcnkpO1xuICBAaW5jbHVkZSBpY29uLW1peGlucy5sZWFkaW5nLWljb24tY29sb3IodmFyaWFibGVzLiRpY29uLWNvbG9yLCAkcXVlcnk6ICRxdWVyeSk7XG4gIEBpbmNsdWRlIGljb24tbWl4aW5zLnRyYWlsaW5nLWljb24tY29sb3IodmFyaWFibGVzLiRpY29uLWNvbG9yLCAkcXVlcnk6ICRxdWVyeSk7XG4gIEBpbmNsdWRlIHByZWZpeC1jb2xvcih2YXJpYWJsZXMuJGFmZml4LWNvbG9yLCAkcXVlcnk6ICRxdWVyeSk7XG4gIEBpbmNsdWRlIHN1ZmZpeC1jb2xvcih2YXJpYWJsZXMuJGFmZml4LWNvbG9yLCAkcXVlcnk6ICRxdWVyeSk7XG5cbiAgLy8gRmxvYXRpbmcgTGFiZWxcbiAgQGluY2x1ZGUgZmxvYXRpbmctbGFiZWxfKCRxdWVyeSk7XG5cbiAgLy8gU3RydWN0dXJhbFxuICBAaW5jbHVkZSBwYWRkaW5nLWhvcml6b250YWxfKFxuICAgIHZhcmlhYmxlcy4kcGFkZGluZy1ob3Jpem9udGFsLFxuICAgIDAsXG4gICAgMCxcbiAgICAkcXVlcnk6ICRxdWVyeVxuICApO1xuXG4gIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgIC8vIGRpc3BsYXkgYW5kIGFsaWduLWl0ZW1zIGFyZSBuZWNlc3NhcnkgdG8gbWFrZSB0aGUgdGV4dCBmaWVsZCBwYXJ0aWNpcGF0ZVxuICAgIC8vIGluIGJhc2VsaW5lIGFsaWdubWVudCwgZXZlbiB0aG91Z2ggc29tZSB2YXJpYW50cyBhcmUgXCJjZW50ZXJlZFwiLiBUaG9zZVxuICAgIC8vIHZhcmlhbnRzIHNob3VsZCB1c2UgdGhlIF9iYXNlbGluZS1jZW50ZXItYWxpZ25lZCgpIG1peGluXG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgLyogQGFsdGVybmF0ZSAqL1xuICAgIHdpbGwtY2hhbmdlOiBvcGFjaXR5LCB0cmFuc2Zvcm0sIGNvbG9yO1xuICB9XG59XG5cbi8vIFRoaXMgbWl4aW4gYWRkcyBzdHlsZXMgdG8gdmlzdWFsbHkgY2VudGVyIHRoZSB0ZXh0IHdpdGhpbiB0aGUgdGV4dCBmaWVsZC5cbi8vIFNpYmxpbmcgdGV4dCB3aWxsIGFsaWduIHRvIHRoZSBiYXNlbGluZSBhbmQgYXBwZWFyIGNlbnRlcmVkIG5leHQgdG8gdGhlXG4vLyB0ZXh0IGZpZWxkLlxuQG1peGluIF9iYXNlbGluZS1jZW50ZXItYWxpZ25lZCgkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAkZmVhdC1zdHJ1Y3R1cmU6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcblxuICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAvLyBJbiBvcmRlciBmb3IgYSBmbGV4Ym94IGNvbnRhaW5lciB0byBwYXJ0aWNpcGF0ZSBpbiBiYXNlbGluZSBhbGlnbm1lbnQsXG4gICAgLy8gaXQgZm9sbG93cyB0aGVzZSBydWxlcyB0byBkZXRlcm1pbmUgd2hlcmUgaXRzIGJhc2VsaW5lIGlzOlxuICAgIC8vIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9jc3MtZmxleGJveC0xLyNmbGV4LWJhc2VsaW5lc1xuICAgIC8vXG4gICAgLy8gSW4gb3JkZXIgdG8gYXZvaWQgbGVhZGluZyBpY29ucyBcImNvbnRyb2xsaW5nXCIgdGhlIGJhc2VsaW5lIChzaW5jZSB0aGV5XG4gICAgLy8gYXJlIHRoZSBmaXJzdCBjaGlsZCksIGZsZXhib3ggd2lsbCBnZW5lcmF0ZSBhIGJhc2VsaW5lIGZyb20gYW55IGNoaWxkXG4gICAgLy8gZmxleCBpdGVtcyB0aGF0IHBhcnRpY2lwYXRlIGluIGJhc2VsaW5lIGFsaWdubWVudC5cbiAgICAvL1xuICAgIC8vIEljb25zIGFyZSBzZXQgdG8gXCJhbGlnbi1zZWxmOiBjZW50ZXJcIiwgd2hpbGUgYWxsIG90aGVyIGNoaWxkcmVuIGFyZVxuICAgIC8vIGFsaWduZWQgdG8gYmFzZWxpbmUuIFRoZSBuZXh0IHByb2JsZW0gaXMgZGVjaWRpbmcgd2hpY2ggY2hpbGQgaXNcbiAgICAvLyB1c2VkIHRvIGRldGVybWluZSB0aGUgYmFzZWxpbmUuXG4gICAgLy9cbiAgICAvLyBBY2NvcmRpbmcgdG8gc3BlYywgdGhlIGl0ZW0gd2l0aCB0aGUgbGFyZ2VzdCBkaXN0YW5jZSBiZXR3ZWVuIGl0c1xuICAgIC8vIGJhc2VsaW5lIGFuZCB0aGUgZWRnZSBvZiB0aGUgY3Jvc3MgYXhpcyBpcyBwbGFjZWQgZmx1c2ggd2l0aCB0aGF0IGVkZ2UsXG4gICAgLy8gbWFraW5nIGl0IHRoZSBiYXNlbGluZSBvZiB0aGUgY29udGFpbmVyLlxuICAgIC8vIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9jc3MtZmxleGJveC0xLyNiYXNlbGluZS1wYXJ0aWNpcGF0aW9uXG4gICAgLy9cbiAgICAvLyBGb3IgdGhlIGZpbGxlZCB2YXJpYW50LCB0aGUgcHNldWRvIDo6YmVmb3JlIHN0cnV0IGlzIHRoZSBcImxhcmdlc3RcIlxuICAgIC8vIGNoaWxkIHNpbmNlIHRoZSBpbnB1dCBoYXMgYSBoZWlnaHQgb2YgMjhweCBhbmQgdGhlIHN0cnV0IGlzIDQwcHguIFdlXG4gICAgLy8gY2FuIGVtdWxhdGUgY2VudGVyIGFsaWdubWVudCBhbmQgZm9yY2UgdGhlIGJhc2VsaW5lIHRvIHVzZSB0aGUgaW5wdXRcbiAgICAvLyB0ZXh0IGJ5IG1ha2luZyB0aGUgaW5wdXQgdGhlIGZ1bGwgaGVpZ2h0IG9mIHRoZSBjb250YWluZXIgYW5kIHJlbW92aW5nXG4gICAgLy8gdGhlIGJhc2VsaW5lIHN0cnV0LlxuXG4gICAgLy8gSUUxMSBkb2VzIG5vdCByZXNwZWN0IHRoaXMsIGFuZCBtYWtlcyB0aGUgbGVhZGluZyBpY29uIChpZiBwcmVzZW50KSB0aGVcbiAgICAvLyBiYXNlbGluZS4gVGhpcyBpcyBhIGdhcCB3aXRoIElFMTEgdGhhdCB3ZSBoYXZlIGFjY2VwdGVkLlxuICAgIC5tZGMtdGV4dC1maWVsZF9faW5wdXQge1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBob3Jpem9udGFsIHBhZGRpbmcgdG8gdGhlIHRleHQgZmllbGRcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcGFkZGluZyAtIGxlZnQgYW5kIHJpZ2h0LXNpZGUgcGFkZGluZ1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbGVmdC13aXRoLWxlYWRpbmctaWNvbiAtIGxlZnQtc2lkZSBwYWRkaW5nIHdoZW4gYSBsZWFkaW5nXG4vLy8gICAgIGljb24gaXMgcHJlc2VudFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcmlnaHQtd2l0aC10cmFpbGluZy1pY29uIC0gcmlnaHQtc2lkZSBwYWRkaW5nIHdoZW4gYVxuLy8vICAgICB0cmFpbGluZyBpY29uIGlzIHByZXNlbnRcbkBtaXhpbiBwYWRkaW5nLWhvcml6b250YWxfKFxuICAkcGFkZGluZyxcbiAgJGxlZnQtd2l0aC1sZWFkaW5nLWljb24sXG4gICRyaWdodC13aXRoLXRyYWlsaW5nLWljb24sXG4gICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpXG4pIHtcbiAgJGZlYXQtc3RydWN0dXJlOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG5cbiAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgcGFkZGluZzogMCAkcGFkZGluZztcblxuICAgICYubWRjLXRleHQtZmllbGQtLXdpdGgtbGVhZGluZy1pY29uIHtcbiAgICAgIEBpbmNsdWRlIHJ0bC1taXhpbnMucmVmbGV4aXZlLXByb3BlcnR5KFxuICAgICAgICBwYWRkaW5nLFxuICAgICAgICAkbGVmdC13aXRoLWxlYWRpbmctaWNvbixcbiAgICAgICAgJHBhZGRpbmdcbiAgICAgICk7XG4gICAgfVxuXG4gICAgJi5tZGMtdGV4dC1maWVsZC0td2l0aC10cmFpbGluZy1pY29uIHtcbiAgICAgIEBpbmNsdWRlIHJ0bC1taXhpbnMucmVmbGV4aXZlLXByb3BlcnR5KFxuICAgICAgICBwYWRkaW5nLFxuICAgICAgICAkcGFkZGluZyxcbiAgICAgICAgJHJpZ2h0LXdpdGgtdHJhaWxpbmctaWNvblxuICAgICAgKTtcbiAgICB9XG5cbiAgICAmLm1kYy10ZXh0LWZpZWxkLS13aXRoLWxlYWRpbmctaWNvbi5tZGMtdGV4dC1maWVsZC0td2l0aC10cmFpbGluZy1pY29uIHtcbiAgICAgIEBpbmNsdWRlIHJ0bC1taXhpbnMucmVmbGV4aXZlLXByb3BlcnR5KFxuICAgICAgICBwYWRkaW5nLFxuICAgICAgICAkbGVmdC13aXRoLWxlYWRpbmctaWNvbixcbiAgICAgICAgJHJpZ2h0LXdpdGgtdHJhaWxpbmctaWNvblxuICAgICAgKTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZsb2F0aW5nLWxhYmVsXygkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAkZmVhdC1zdHJ1Y3R1cmU6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcblxuICAubWRjLWZsb2F0aW5nLWxhYmVsIHtcbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbi8vIEZpbGxlZFxuXG5AbWl4aW4gX2ZpbGxlZCgkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAvLyBUZXh0IEZpZWxkIGludGVudGlvbmFsbHkgb21pdHMgcHJlc3MgcmlwcGxlLCBzbyBlYWNoIHN0YXRlIG5lZWRzIHRvIGJlIHNwZWNpZmllZCBpbmRpdmlkdWFsbHkuXG4gIEBpbmNsdWRlIHJpcHBsZS1taXhpbnMuc3RhdGVzLWJhc2UtY29sb3IodmFyaWFibGVzLiRpbmstY29sb3IsICRxdWVyeTogJHF1ZXJ5LCAkcmlwcGxlLXRhcmdldDogdmFyaWFibGVzLiRyaXBwbGUtdGFyZ2V0KTtcbiAgQGluY2x1ZGUgcmlwcGxlLW1peGlucy5zdGF0ZXMtaG92ZXItb3BhY2l0eShyaXBwbGUtZnVuY3Rpb25zLnN0YXRlcy1vcGFjaXR5KHZhcmlhYmxlcy4kaW5rLWNvbG9yLCBob3ZlciksICRxdWVyeTogJHF1ZXJ5LCAkcmlwcGxlLXRhcmdldDogdmFyaWFibGVzLiRyaXBwbGUtdGFyZ2V0KTtcbiAgQGluY2x1ZGUgcmlwcGxlLW1peGlucy5zdGF0ZXMtZm9jdXMtb3BhY2l0eShyaXBwbGUtZnVuY3Rpb25zLnN0YXRlcy1vcGFjaXR5KHZhcmlhYmxlcy4kaW5rLWNvbG9yLCBmb2N1cyksICRxdWVyeTogJHF1ZXJ5LCAkcmlwcGxlLXRhcmdldDogdmFyaWFibGVzLiRyaXBwbGUtdGFyZ2V0KTtcblxuICBAaW5jbHVkZSBoZWlnaHQodmFyaWFibGVzLiRoZWlnaHQsICRxdWVyeTogJHF1ZXJ5KTtcbiAgQGluY2x1ZGUgdHlwb2dyYXBoeS1taXhpbnMuYmFzZWxpbmUtdG9wKHZhcmlhYmxlcy4kZmlsbGVkLWJhc2VsaW5lLXRvcCwgJHF1ZXJ5OiAkcXVlcnkpO1xuICBAaW5jbHVkZSBmaWxsLWNvbG9yKHZhcmlhYmxlcy4kYmFja2dyb3VuZCwgJHF1ZXJ5OiAkcXVlcnkpO1xuICBAaW5jbHVkZSBib3R0b20tbGluZS1jb2xvcih2YXJpYWJsZXMuJGJvdHRvbS1saW5lLWlkbGUsICRxdWVyeTogJHF1ZXJ5KTtcbiAgQGluY2x1ZGUgaG92ZXItYm90dG9tLWxpbmUtY29sb3IodmFyaWFibGVzLiRib3R0b20tbGluZS1ob3ZlciwgJHF1ZXJ5OiAkcXVlcnkpO1xuICBAaW5jbHVkZSBsaW5lLXJpcHBsZS1jb2xvcl8ocHJpbWFyeSwgJHF1ZXJ5OiAkcXVlcnkpO1xuICBAaW5jbHVkZSBfZmlsbGVkLWZsb2F0aW5nLWxhYmVsKCRxdWVyeSk7XG59XG5cbkBtaXhpbiBfZmlsbGVkLWZsb2F0aW5nLWxhYmVsKCRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gICRmZWF0LXN0cnVjdHVyZTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBzdHJ1Y3R1cmUpO1xuXG4gIC5tZGMtZmxvYXRpbmctbGFiZWwge1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgQGluY2x1ZGUgcnRsLW1peGlucy5yZWZsZXhpdmUtcG9zaXRpb24obGVmdCwgdmFyaWFibGVzLiRsYWJlbC1vZmZzZXQpO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGZsb2F0aW5nLWxhYmVsLW1peGlucy5mbG9hdC1wb3NpdGlvbih2YXJpYWJsZXMuJGxhYmVsLXBvc2l0aW9uLXksICRxdWVyeTogJHF1ZXJ5KTtcbn1cblxuLy8gRmlsbGVkIHZhcmlhbnQgd2l0aCBubyBsYWJlbC4gVGhpcyB2YXJpYW50IGNlbnRlcnMgdGhlIHRleHQgZWxlbWVudHMgYW5kXG4vLyBoaWRlcyB0aGUgbGFiZWwgYW5kIGlzIHVzZWQgd2l0aCB0aGVyZSBpcyBleHBsaWNpdGx5IG5vIGxhYmVsIHByb3ZpZGVkIG9yXG4vLyB3aGVuIHRoZSBoZWlnaHQgb2YgdGhlIHRleHQgZmllbGQgaXMgdG9vIHNtYWxsIGZvciBhIGxhYmVsIHRvIGJlIGFsbG93ZWQuXG5AbWl4aW4gX2ZpbGxlZC1uby1sYWJlbCgkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAkZmVhdC1zdHJ1Y3R1cmU6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcblxuICBAaW5jbHVkZSBfYmFzZWxpbmUtY2VudGVyLWFsaWduZWQoJHF1ZXJ5KTtcbiAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgLm1kYy1mbG9hdGluZy1sYWJlbCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgICY6OmJlZm9yZSB7XG4gICAgICAvLyBSZW1vdmUgYmFzZWxpbmUtdG9wIHN0cnV0XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxufVxuXG4vLyBPdXRsaW5lZFxuXG5AbWl4aW4gb3V0bGluZWRfKCRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gICRmZWF0LXN0cnVjdHVyZTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBzdHJ1Y3R1cmUpO1xuXG4gIEBpbmNsdWRlIG91dGxpbmVkLWhlaWdodChcbiAgICAkaGVpZ2h0OiB2YXJpYWJsZXMuJGhlaWdodCxcbiAgICAka2V5ZnJhbWUtc3VmZml4OiB0ZXh0LWZpZWxkLW91dGxpbmVkLFxuICAgICRxdWVyeTogJHF1ZXJ5XG4gICk7XG4gIEBpbmNsdWRlIF9iYXNlbGluZS1jZW50ZXItYWxpZ25lZCgkcXVlcnk6ICRxdWVyeSk7XG4gIEBpbmNsdWRlIG91dGxpbmUtY29sb3IodmFyaWFibGVzLiRvdXRsaW5lZC1pZGxlLWJvcmRlciwgJHF1ZXJ5OiAkcXVlcnkpO1xuICBAaW5jbHVkZSBob3Zlci1vdXRsaW5lLWNvbG9yKHZhcmlhYmxlcy4kb3V0bGluZWQtaG92ZXItYm9yZGVyLCAkcXVlcnk6ICRxdWVyeSk7XG4gIEBpbmNsdWRlIGZvY3VzZWQtb3V0bGluZS1jb2xvcihwcmltYXJ5LCAkcXVlcnk6ICRxdWVyeSk7XG4gIEBpbmNsdWRlIG91dGxpbmUtc2hhcGUtcmFkaXVzKHNtYWxsLCAkcXVlcnk6ICRxdWVyeSk7XG4gIEBpbmNsdWRlIG5vdGNoZWQtb3V0bGluZS1taXhpbnMubm90Y2gtb2Zmc2V0KG5vdGNoZWQtb3V0bGluZS12YXJpYWJsZXMuJGJvcmRlci13aWR0aCwgJHF1ZXJ5OiAkcXVlcnkpO1xuICBAaW5jbHVkZSByaXBwbGUtbWl4aW5zLnN0YXRlcy1iYXNlLWNvbG9yKHRyYW5zcGFyZW50LCAkcXVlcnk6ICRxdWVyeSwgJHJpcHBsZS10YXJnZXQ6IHZhcmlhYmxlcy4kcmlwcGxlLXRhcmdldCk7XG4gIEBpbmNsdWRlIF9vdXRsaW5lZC1mbG9hdGluZy1sYWJlbCgkcXVlcnkpO1xuXG4gIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICB9XG5cbiAgLm1kYy10ZXh0LWZpZWxkX19pbnB1dCB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICAvLyBUT0RPKGIvMTU0MzQ5NzM1KTogSW52ZXN0aWdhdGUgdGhlIG5lY2Nlc3NpdHkgb2YgdGhlc2Ugc3R5bGVzXG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7IC8vIEZGIGFkZHMgdW53YW50ZWQgYm9yZGVyIGluIEhDIG1vZGUgb24gd2luZG93cy5cbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgei1pbmRleDogMTtcbiAgICB9XG4gIH1cblxuICAubWRjLXRleHQtZmllbGRfX2ljb24ge1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgei1pbmRleDogMjtcbiAgICB9XG4gIH1cblxuICAmLm1kYy10ZXh0LWZpZWxkLS1mb2N1c2VkIHtcbiAgICBAaW5jbHVkZSBub3RjaGVkLW91dGxpbmUtbWl4aW5zLm5vdGNoLW9mZnNldCh2YXJpYWJsZXMuJG91dGxpbmVkLXN0cm9rZS13aWR0aCwgJHF1ZXJ5OiAkcXVlcnkpO1xuICB9XG59XG5cbkBtaXhpbiBfb3V0bGluZWQtZmxvYXRpbmctbGFiZWwoJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJGZlYXQtc3RydWN0dXJlOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG5cbiAgLm1kYy1mbG9hdGluZy1sYWJlbCB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICBAaW5jbHVkZSBydGwtbWl4aW5zLnJlZmxleGl2ZS1wb3NpdGlvbihsZWZ0LCBub3RjaGVkLW91dGxpbmUtdmFyaWFibGVzLiRwYWRkaW5nKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gU3RhdGVzXG5cbkBtaXhpbiBkaXNhYmxlZF8oJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJGZlYXQtc3RydWN0dXJlOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG5cbiAgQGluY2x1ZGUgaW5rLWNvbG9yXyh2YXJpYWJsZXMuJGRpc2FibGVkLWluay1jb2xvciwgJHF1ZXJ5OiAkcXVlcnkpO1xuICBAaW5jbHVkZSBwbGFjZWhvbGRlci1jb2xvcl8odmFyaWFibGVzLiRkaXNhYmxlZC1wbGFjZWhvbGRlci1pbmstY29sb3IsICRxdWVyeTogJHF1ZXJ5KTtcbiAgQGluY2x1ZGUgbGFiZWwtaW5rLWNvbG9yXyh2YXJpYWJsZXMuJGRpc2FibGVkLWxhYmVsLWNvbG9yLCAkcXVlcnk6ICRxdWVyeSk7XG4gIEBpbmNsdWRlIGhlbHBlci10ZXh0LW1peGlucy5oZWxwZXItdGV4dC1jb2xvcl8odmFyaWFibGVzLiRkaXNhYmxlZC1oZWxwZXItdGV4dC1jb2xvciwgJHF1ZXJ5OiAkcXVlcnkpO1xuICBAaW5jbHVkZSBjaGFyYWN0ZXItY291bnRlci1taXhpbnMuY2hhcmFjdGVyLWNvdW50ZXItY29sb3JfKHZhcmlhYmxlcy4kZGlzYWJsZWQtaGVscGVyLXRleHQtY29sb3IsICRxdWVyeTogJHF1ZXJ5KTtcbiAgQGluY2x1ZGUgaWNvbi1taXhpbnMubGVhZGluZy1pY29uLWNvbG9yXyh2YXJpYWJsZXMuJGRpc2FibGVkLWljb24sICRxdWVyeTogJHF1ZXJ5KTtcbiAgQGluY2x1ZGUgaWNvbi1taXhpbnMudHJhaWxpbmctaWNvbi1jb2xvcl8odmFyaWFibGVzLiRkaXNhYmxlZC1pY29uLCAkcXVlcnk6ICRxdWVyeSk7XG4gIEBpbmNsdWRlIF9wcmVmaXgtY29sb3IodmFyaWFibGVzLiRkaXNhYmxlZC1hZmZpeC1jb2xvciwgJHF1ZXJ5OiAkcXVlcnkpO1xuICBAaW5jbHVkZSBfc3VmZml4LWNvbG9yKHZhcmlhYmxlcy4kZGlzYWJsZWQtYWZmaXgtY29sb3IsICRxdWVyeTogJHF1ZXJ5KTtcblxuICAvLyBNaXhpbnMgdGhhdCBhcmUgb2sgdG8gaW5jbHVkZSBzaW5jZSB0aGV5IHRhcmdldCB2YXJpYW50LXNwZWNpZmljIGVsZW1lbnRzXG4gIEBpbmNsdWRlIGJvdHRvbS1saW5lLWNvbG9yXyh2YXJpYWJsZXMuJGRpc2FibGVkLWJvcmRlciwgJHF1ZXJ5OiAkcXVlcnkpO1xuICBAaW5jbHVkZSBub3RjaGVkLW91dGxpbmUtbWl4aW5zLmNvbG9yKHZhcmlhYmxlcy4kb3V0bGluZWQtZGlzYWJsZWQtYm9yZGVyLCAkcXVlcnk6ICRxdWVyeSk7XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBhY3RpdmUpIHtcbiAgICBAaW5jbHVkZSBwbGFjZWhvbGRlci1jb2xvcl8oR3JheVRleHQsICRxdWVyeTogJHF1ZXJ5KTtcbiAgICBAaW5jbHVkZSBsYWJlbC1pbmstY29sb3JfKEdyYXlUZXh0LCAkcXVlcnk6ICRxdWVyeSk7XG4gICAgQGluY2x1ZGUgaGVscGVyLXRleHQtbWl4aW5zLmhlbHBlci10ZXh0LWNvbG9yXyhHcmF5VGV4dCwgJHF1ZXJ5OiAkcXVlcnkpO1xuICAgIEBpbmNsdWRlIGNoYXJhY3Rlci1jb3VudGVyLW1peGlucy5jaGFyYWN0ZXItY291bnRlci1jb2xvcl8oR3JheVRleHQsICRxdWVyeTogJHF1ZXJ5KTtcbiAgICBAaW5jbHVkZSBpY29uLW1peGlucy5sZWFkaW5nLWljb24tY29sb3JfKEdyYXlUZXh0LCAkcXVlcnk6ICRxdWVyeSk7XG4gICAgQGluY2x1ZGUgaWNvbi1taXhpbnMudHJhaWxpbmctaWNvbi1jb2xvcl8oR3JheVRleHQsICRxdWVyeTogJHF1ZXJ5KTtcbiAgICBAaW5jbHVkZSBfcHJlZml4LWNvbG9yKEdyYXlUZXh0LCAkcXVlcnk6ICRxdWVyeSk7XG4gICAgQGluY2x1ZGUgX3N1ZmZpeC1jb2xvcihHcmF5VGV4dCwgJHF1ZXJ5OiAkcXVlcnkpO1xuXG4gICAgLy8gTWl4aW5zIHRoYXQgYXJlIG9rIHRvIGluY2x1ZGUgc2luY2UgdGhleSB0YXJnZXQgdmFyaWFudC1zcGVjaWZpYyBlbGVtZW50c1xuICAgIEBpbmNsdWRlIGJvdHRvbS1saW5lLWNvbG9yXyhHcmF5VGV4dCwgJHF1ZXJ5OiAkcXVlcnkpO1xuICAgIEBpbmNsdWRlIG5vdGNoZWQtb3V0bGluZS1taXhpbnMuY29sb3IoR3JheVRleHQsICRxdWVyeTogJHF1ZXJ5KTtcbiAgfVxuXG4gIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB9XG5cbiAgLm1kYy1mbG9hdGluZy1sYWJlbCB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBfZGlzYWJsZWQtZmlsbGVkKCRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gIEBpbmNsdWRlIGZpbGwtY29sb3JfKHZhcmlhYmxlcy4kZGlzYWJsZWQtYmFja2dyb3VuZCwgJHF1ZXJ5OiAkcXVlcnkpO1xufVxuXG5AbWl4aW4gaW52YWxpZF8oJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJGZlYXQtc3RydWN0dXJlOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG5cbiAgQGluY2x1ZGUgaG92ZXItYm90dG9tLWxpbmUtY29sb3IodmFyaWFibGVzLiRlcnJvciwgJHF1ZXJ5OiAkcXVlcnkpO1xuICBAaW5jbHVkZSBsaW5lLXJpcHBsZS1jb2xvcih2YXJpYWJsZXMuJGVycm9yLCAkcXVlcnk6ICRxdWVyeSk7XG4gIEBpbmNsdWRlIGxhYmVsLWNvbG9yKHZhcmlhYmxlcy4kZXJyb3IsICRxdWVyeTogJHF1ZXJ5KTtcbiAgQGluY2x1ZGUgaGVscGVyLXRleHQtbWl4aW5zLmhlbHBlci10ZXh0LXZhbGlkYXRpb24tY29sb3IodmFyaWFibGVzLiRlcnJvciwgJHF1ZXJ5OiAkcXVlcnkpO1xuICBAaW5jbHVkZSBjYXJldC1jb2xvcih2YXJpYWJsZXMuJGVycm9yLCAkcXVlcnk6ICRxdWVyeSk7XG4gIEBpbmNsdWRlIGljb24tbWl4aW5zLnRyYWlsaW5nLWljb24tY29sb3IodmFyaWFibGVzLiRlcnJvciwgJHF1ZXJ5OiAkcXVlcnkpO1xuXG4gIC8vIE1peGlucyB0aGF0IGFyZSBvayB0byBpbmNsdWRlIHNpbmNlIHRoZXkgdGFyZ2V0IHZhcmlhbnQtc3BlY2lmaWMgZWxlbWVudHNcbiAgQGluY2x1ZGUgYm90dG9tLWxpbmUtY29sb3IodmFyaWFibGVzLiRlcnJvciwgJHF1ZXJ5OiAkcXVlcnkpO1xuICBAaW5jbHVkZSBvdXRsaW5lLWNvbG9yKHZhcmlhYmxlcy4kZXJyb3IsICRxdWVyeTogJHF1ZXJ5KTtcbiAgQGluY2x1ZGUgaG92ZXItb3V0bGluZS1jb2xvcih2YXJpYWJsZXMuJGVycm9yLCAkcXVlcnk6ICRxdWVyeSk7XG4gIEBpbmNsdWRlIGZvY3VzZWQtb3V0bGluZS1jb2xvcih2YXJpYWJsZXMuJGVycm9yLCAkcXVlcnk6ICRxdWVyeSk7XG5cbiAgKyAubWRjLXRleHQtZmllbGQtaGVscGVyLWxpbmUgLm1kYy10ZXh0LWZpZWxkLWhlbHBlci10ZXh0LS12YWxpZGF0aW9uLW1zZyB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm9jdXNlZF8oJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJGZlYXQtc3RydWN0dXJlOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG5cbiAgQGluY2x1ZGUgbGFiZWwtY29sb3IodmFyaWFibGVzLiRmb2N1c2VkLWxhYmVsLWNvbG9yLCAkcXVlcnk6ICRxdWVyeSk7XG5cbiAgLy8gTWl4aW5zIHRoYXQgYXJlIG9rIHRvIGluY2x1ZGUgc2luY2UgdGhleSB0YXJnZXQgdmFyaWFudC1zcGVjaWZpYyBlbGVtZW50c1xuICBAaW5jbHVkZSBub3RjaGVkLW91dGxpbmUtbWl4aW5zLnN0cm9rZS13aWR0aCh2YXJpYWJsZXMuJG91dGxpbmVkLXN0cm9rZS13aWR0aCwgJHF1ZXJ5OiAkcXVlcnkpO1xuXG4gICsgLm1kYy10ZXh0LWZpZWxkLWhlbHBlci1saW5lIC5tZGMtdGV4dC1maWVsZC1oZWxwZXItdGV4dDpub3QoLm1kYy10ZXh0LWZpZWxkLWhlbHBlci10ZXh0LS12YWxpZGF0aW9uLW1zZykge1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG4gIH1cbn1cblxuLy8gSWNvbnNcblxuQG1peGluIHdpdGgtbGVhZGluZy1pY29uXygkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAkZmVhdC1zdHJ1Y3R1cmU6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcblxuICAkaWNvbi1wYWRkaW5nOiBpY29uLXZhcmlhYmxlcy4kbGVhZGluZy1pY29uLXBhZGRpbmctbGVmdCArIGljb24tdmFyaWFibGVzLiRpY29uLXNpemUgKyBpY29uLXZhcmlhYmxlcy4kbGVhZGluZy1pY29uLXBhZGRpbmctcmlnaHQ7XG5cbiAgLm1kYy1mbG9hdGluZy1sYWJlbCB7XG4gICAgQGluY2x1ZGUgX3RydW5jYXRlLWZsb2F0aW5nLWxhYmVsLW1heC13aWR0aCgkaWNvbi1wYWRkaW5nLCAkcXVlcnk6ICRxdWVyeSk7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICBAaW5jbHVkZSBydGwtbWl4aW5zLnJlZmxleGl2ZS1wb3NpdGlvbihsZWZ0LCAkaWNvbi1wYWRkaW5nKTtcbiAgICB9XG4gIH1cblxuICAkdHJ1bmNhdGlvbjogJGljb24tcGFkZGluZyArIHZhcmlhYmxlcy4kcGFkZGluZy1ob3Jpem9udGFsO1xuXG4gIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlIHtcbiAgICBAaW5jbHVkZSBfdHJ1bmNhdGUtZmxvYXRpbmctbGFiZWwtZmxvYXRlZC1tYXgtd2lkdGgoJHRydW5jYXRpb24sICRxdWVyeTogJHF1ZXJ5KTtcbiAgfVxufVxuXG5AbWl4aW4gX3dpdGgtdHJhaWxpbmctaWNvbigkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAkdHJ1bmNhdGlvbjogaWNvbi12YXJpYWJsZXMuJHRyYWlsaW5nLWljb24tcGFkZGluZy1sZWZ0ICsgaWNvbi12YXJpYWJsZXMuJGljb24tc2l6ZSArIGljb24tdmFyaWFibGVzLiR0cmFpbGluZy1pY29uLXBhZGRpbmctcmlnaHQgKyB2YXJpYWJsZXMuJGxhYmVsLW9mZnNldDtcblxuICAubWRjLWZsb2F0aW5nLWxhYmVsIHtcbiAgICBAaW5jbHVkZSBfdHJ1bmNhdGUtZmxvYXRpbmctbGFiZWwtbWF4LXdpZHRoKCR0cnVuY2F0aW9uLCAkcXVlcnk6ICRxdWVyeSk7XG4gIH1cblxuICAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSB7XG4gICAgQGluY2x1ZGUgX3RydW5jYXRlLWZsb2F0aW5nLWxhYmVsLWZsb2F0ZWQtbWF4LXdpZHRoKCR0cnVuY2F0aW9uLCAkcXVlcnk6ICRxdWVyeSk7XG4gIH1cbn1cblxuQG1peGluIF93aXRoLWxlYWRpbmctYW5kLXRyYWlsaW5nLWljb24oJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJGxlYWRpbmctaWNvbjogaWNvbi12YXJpYWJsZXMuJGxlYWRpbmctaWNvbi1wYWRkaW5nLWxlZnQgKyBpY29uLXZhcmlhYmxlcy4kaWNvbi1zaXplICsgaWNvbi12YXJpYWJsZXMuJGxlYWRpbmctaWNvbi1wYWRkaW5nLXJpZ2h0O1xuICAkdHJhaWxpbmctaWNvbjogaWNvbi12YXJpYWJsZXMuJHRyYWlsaW5nLWljb24tcGFkZGluZy1sZWZ0ICsgaWNvbi12YXJpYWJsZXMuJGljb24tc2l6ZSArIGljb24tdmFyaWFibGVzLiR0cmFpbGluZy1pY29uLXBhZGRpbmctcmlnaHQ7XG4gICR0cnVuY2F0aW9uOiAkbGVhZGluZy1pY29uICsgJHRyYWlsaW5nLWljb247XG5cbiAgLm1kYy1mbG9hdGluZy1sYWJlbCB7XG4gICAgQGluY2x1ZGUgX3RydW5jYXRlLWZsb2F0aW5nLWxhYmVsLW1heC13aWR0aCgkdHJ1bmNhdGlvbiwgJHF1ZXJ5OiAkcXVlcnkpO1xuICB9XG5cbiAgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUge1xuICAgIEBpbmNsdWRlIF90cnVuY2F0ZS1mbG9hdGluZy1sYWJlbC1mbG9hdGVkLW1heC13aWR0aCgkdHJ1bmNhdGlvbiwgJHF1ZXJ5OiAkcXVlcnkpO1xuICB9XG59XG5cbkBtaXhpbiBvdXRsaW5lZC13aXRoLWxlYWRpbmctaWNvbl8oJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJGZlYXQtc3RydWN0dXJlOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG5cbiAgLy8gUmVzdGluZyBsYWJlbCBwb3NpdGlvblxuICAkaWNvbi1wYWRkaW5nOiBpY29uLXZhcmlhYmxlcy4kbGVhZGluZy1pY29uLXBhZGRpbmctbGVmdCArIGljb24tdmFyaWFibGVzLiRpY29uLXNpemUgKyBpY29uLXZhcmlhYmxlcy4kbGVhZGluZy1pY29uLXBhZGRpbmctcmlnaHQ7XG4gICRsZWZ0LXNwYWNpbmc6ICRpY29uLXBhZGRpbmcgLSBub3RjaGVkLW91dGxpbmUtdmFyaWFibGVzLiRsZWFkaW5nLXdpZHRoO1xuXG4gIC5tZGMtZmxvYXRpbmctbGFiZWwge1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgQGluY2x1ZGUgcnRsLW1peGlucy5yZWZsZXhpdmUtcG9zaXRpb24obGVmdCwgJGxlZnQtc3BhY2luZyk7XG4gICAgfVxuICB9XG5cbiAgLy8gTm90Y2ggd2lkdGhcbiAgJG5vdGNoLXRydW5jYXRpb246ICRpY29uLXBhZGRpbmcgKyBub3RjaGVkLW91dGxpbmUtdmFyaWFibGVzLiRsZWFkaW5nLXdpZHRoO1xuICBAaW5jbHVkZSBfdHJ1bmNhdGUtbm90Y2hlZC1vdXRsaW5lLW1heC13aWR0aCgkbm90Y2gtdHJ1bmNhdGlvbiwgJHF1ZXJ5OiAkcXVlcnkpO1xuXG4gIC8vIEZsb2F0aW5nIGxhYmVsIHBvc2l0aW9uIGFuZCBhbmltYXRpb25cbiAgQGluY2x1ZGUgX291dGxpbmVkLXdpdGgtbGVhZGluZy1pY29uLWZsb2F0aW5nLWxhYmVsLXBvc2l0aW9uLWFuaW1hdGlvbihcbiAgICAkaGVpZ2h0OiB2YXJpYWJsZXMuJGhlaWdodCxcbiAgICAka2V5ZnJhbWUtc3VmZml4OiB0ZXh0LWZpZWxkLW91dGxpbmVkLWxlYWRpbmctaWNvbixcbiAgICAkcXVlcnk6ICRxdWVyeVxuICApO1xufVxuXG4vLy9cbi8vLyBBcHBsaWVkIHRvIHRoZSBvdXRsaW5lZCB0ZXh0IGZpZWxkIHdpdGggYSB0cmFpbGluZyBpY29uXG4vLy9cbkBtaXhpbiBfb3V0bGluZWQtd2l0aC10cmFpbGluZy1pY29uKCRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gIC8vIFJlc3RpbmcgbGFiZWwgcG9zaXRpb25cbiAgJGljb24tcGFkZGluZzogaWNvbi12YXJpYWJsZXMuJHRyYWlsaW5nLWljb24tcGFkZGluZy1sZWZ0ICsgaWNvbi12YXJpYWJsZXMuJGljb24tc2l6ZSArIGljb24tdmFyaWFibGVzLiR0cmFpbGluZy1pY29uLXBhZGRpbmctcmlnaHQ7XG4gIC8vIE5vdGNoIHdpZHRoXG4gICRub3RjaC10cnVuY2F0aW9uOiAkaWNvbi1wYWRkaW5nICsgbm90Y2hlZC1vdXRsaW5lLXZhcmlhYmxlcy4kbGVhZGluZy13aWR0aDtcblxuICBAaW5jbHVkZSBfdHJ1bmNhdGUtbm90Y2hlZC1vdXRsaW5lLW1heC13aWR0aCgkbm90Y2gtdHJ1bmNhdGlvbiwgJHF1ZXJ5OiAkcXVlcnkpO1xufVxuXG4vLy9cbi8vLyBUcnVuY2F0ZXMgdGhlIG1heC13aWR0aCBvZiB0aGUgbm90Y2hlZCBvdXRsaW5lIGJ5IHRoZSBnaXZlbiBhbW91bnRcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdHJ1bmNhdGlvbiAtIEFtb3VudCB0byB0cnVuY2F0ZSB0aGUgbm90Y2hlZCBvdXRsaW5lIG1heC13aWR0aFxuLy8vXG5AbWl4aW4gX3RydW5jYXRlLW5vdGNoZWQtb3V0bGluZS1tYXgtd2lkdGgoJHRydW5jYXRpb24sICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gIEBpbmNsdWRlIG5vdGNoZWQtb3V0bGluZS1taXhpbnMubm90Y2gtbWF4LXdpZHRoKGNhbGMoMTAwJSAtICN7JHRydW5jYXRpb259KSwgJHF1ZXJ5OiAkcXVlcnkpO1xufVxuXG4vLy9cbi8vLyBUcnVuY2F0ZXMgdGhlIG1heC13aWR0aCBvZiB0aGUgZmxvYXRpbmcgbGFiZWwgYnkgdGhlIGdpdmVuIGFtb3VudFxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR0cnVuY2F0aW9uIC0gQW1vdW50IHRvIHRydW5jYXRlIHRoZSBmbG9hdGluZyBsYWJlbCBtYXgtd2lkdGhcbi8vL1xuQG1peGluIF90cnVuY2F0ZS1mbG9hdGluZy1sYWJlbC1tYXgtd2lkdGgoJHRydW5jYXRpb24sICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gIEBpbmNsdWRlIGZsb2F0aW5nLWxhYmVsLW1peGlucy5tYXgtd2lkdGgoY2FsYygxMDAlIC0gI3skdHJ1bmNhdGlvbn0pLCAkcXVlcnk6ICRxdWVyeSk7XG59XG5cbi8vL1xuLy8vIFRydW5jYXRlcyB0aGUgbWF4LXdpZHRoIG9mIHRoZSBmbG9hdGluZyBsYWJlbCBieSB0aGUgZ2l2ZW4gYW1vdW50IHdoaWxlIHNjYWxpbmcgYnkgdGhlIGdpdmVuIHNjYWxlIHZhbHVlXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHRydW5jYXRpb24gLSBBbW91bnQgdG8gdHJ1bmNhdGUgdGhlIGZsb2F0aW5nIGxhYmVsIG1heC13aWR0aFxuLy8vXG5AbWl4aW4gX3RydW5jYXRlLWZsb2F0aW5nLWxhYmVsLWZsb2F0ZWQtbWF4LXdpZHRoKCR0cnVuY2F0aW9uLCAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAkc2NhbGU6IGZsb2F0aW5nLWxhYmVsLXZhcmlhYmxlcy4kZmxvYXQtc2NhbGU7XG4gIEBpbmNsdWRlIGZsb2F0aW5nLWxhYmVsLW1peGlucy5tYXgtd2lkdGgoY2FsYygxMDAlIC8gI3skc2NhbGV9IC0gI3skdHJ1bmNhdGlvbn0gLyAjeyRzY2FsZX0pLCAkcXVlcnk6ICRxdWVyeSk7XG59XG5cbi8vIEZ1bGwgV2lkdGhcbkBtaXhpbiBmdWxsd2lkdGhfKCRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gICRmZWF0LXN0cnVjdHVyZTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBzdHJ1Y3R1cmUpO1xuXG4gIEBpbmNsdWRlIGJvdHRvbS1saW5lLWNvbG9yKHZhcmlhYmxlcy4kYm90dG9tLWxpbmUtaWRsZSwgJHF1ZXJ5OiAkcXVlcnkpO1xuICBAaW5jbHVkZSBkaXNhYmxlZC1ib3R0b20tbGluZS1jb2xvcih2YXJpYWJsZXMuJGJvdHRvbS1saW5lLWlkbGUsICRxdWVyeTogJHF1ZXJ5KTtcblxuICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgJjpub3QoLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYSkge1xuICAgIEBpbmNsdWRlIF9maWxsZWQtbm8tbGFiZWwoJHF1ZXJ5KTtcbiAgICBAaW5jbHVkZSByaXBwbGUtbWl4aW5zLnN0YXRlcy1iYXNlLWNvbG9yKHRyYW5zcGFyZW50LCAkcXVlcnk6ICRxdWVyeSwgJHJpcHBsZS10YXJnZXQ6IHZhcmlhYmxlcy4kcmlwcGxlLXRhcmdldCk7XG4gICAgQGluY2x1ZGUgZmlsbC1jb2xvcih0cmFuc3BhcmVudCwgJHF1ZXJ5OiAkcXVlcnkpO1xuXG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgIH1cbiAgfVxuXG4gICYubWRjLXRleHQtZmllbGQtLXRleHRhcmVhIC5tZGMtdGV4dC1maWVsZF9faW5wdXQge1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgcmVzaXplOiB2ZXJ0aWNhbDtcbiAgICB9XG4gIH1cbn1cblxuLy8gVGV4dGFyZWFcblxuQG1peGluIHRleHRhcmVhXygkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAvLyBOb3RlOiBUaGUgcmVmYWN0b3IgdG8gYWRkIHRoZSBmaWxsZWQgdGV4dGFyZWEgc3R5bGUgd2lsbCByZXN1bHQgaW4gYSBsb3Qgb2YgdGhlIHNwZWNpZmljaXR5IGlzc3VlcyB0aGF0IHRoZVxuICAvLyB0ZXh0YXJlYSBoYXMgYmVpbmcgcmVzb2x2ZWQgYnkgdXNpbmcgdGhlIHNhbWUgLS1vdXRsaW5lZCB2YXJpYW50IGNsYXNzIGFzIHRoZSB0ZXh0IGZpZWxkLlxuICBAaW5jbHVkZSBvdXRsaW5lLWNvbG9yKHZhcmlhYmxlcy4kb3V0bGluZWQtaWRsZS1ib3JkZXIsICRxdWVyeTogJHF1ZXJ5KTtcbiAgQGluY2x1ZGUgaG92ZXItb3V0bGluZS1jb2xvcih2YXJpYWJsZXMuJG91dGxpbmVkLWhvdmVyLWJvcmRlciwgJHF1ZXJ5OiAkcXVlcnkpO1xuICBAaW5jbHVkZSBmb2N1c2VkLW91dGxpbmUtY29sb3IocHJpbWFyeSwgJHF1ZXJ5OiAkcXVlcnkpO1xuICBAaW5jbHVkZSBvdXRsaW5lLXNoYXBlLXJhZGl1cyhzbWFsbCwgJHF1ZXJ5OiAkcXVlcnkpO1xuICBAaW5jbHVkZSByaXBwbGUtbWl4aW5zLnN0YXRlcy1iYXNlLWNvbG9yKHRyYW5zcGFyZW50LCAkcXVlcnk6ICRxdWVyeSwgJHJpcHBsZS10YXJnZXQ6IHZhcmlhYmxlcy4kcmlwcGxlLXRhcmdldCk7XG4gIEBpbmNsdWRlIGZpbGwtY29sb3IodHJhbnNwYXJlbnQsICRxdWVyeTogJHF1ZXJ5KTtcbiAgQGluY2x1ZGUgY2hhcmFjdGVyLWNvdW50ZXItbWl4aW5zLmNoYXJhY3Rlci1jb3VudGVyLXBvc2l0aW9uKDE2cHgsIDEzcHgsICRxdWVyeTogJHF1ZXJ5KTtcbiAgQGluY2x1ZGUgX3RleHRhcmVhLWZsb2F0aW5nLWxhYmVsKCRxdWVyeSk7XG5cbiAgJGZlYXQtc3RydWN0dXJlOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG4gICRmZWF0LWFuaW1hdGlvbjogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBhbmltYXRpb24pO1xuICAkZmVhdC10eXBvZ3JhcGh5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIHR5cG9ncmFwaHkpO1xuXG4gIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHBhZGRpbmc6IDA7IC8vIHNlZSBiZWxvdyBmb3IgZXhwbGFuYXRpb25cbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgfVxuXG4gIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gIH1cblxuICAubWRjLXRleHQtZmllbGRfX2lucHV0IHtcbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgLy8gVG9wIG1hcmdpbiBpcyB1c2VkIHRvIGtlZXAgdGhlIHRleHQgZnJvbSBvdmVybGFwcGluZyB0aGUgZmxvYXRpbmcgbGFiZWxcbiAgICAgIC8vIHdoZW4gc2Nyb2xsaW5nXG4gICAgICBtYXJnaW4tdG9wOiB2YXJpYWJsZXMuJHRleHRhcmVhLWlucHV0LW1hcmdpbi10b3A7XG4gICAgICAvLyBCb3R0b20gYW5kIGxlZnQvcmlnaHQgbWFyZ2lucyBhcmUgdXNlZCB0byBhZGQgc3BhY2UgZm9yIHRoZSByZXNpemUgaGFuZGxlXG4gICAgICBtYXJnaW4tYm90dG9tOiB2YXJpYWJsZXMuJHRleHRhcmVhLWlucHV0LWhhbmRsZS1tYXJnaW47XG4gICAgICBAaW5jbHVkZSBydGwtbWl4aW5zLnJlZmxleGl2ZS1ib3gobWFyZ2luLCByaWdodCwgdmFyaWFibGVzLiR0ZXh0YXJlYS1pbnB1dC1oYW5kbGUtbWFyZ2luKTtcbiAgICAgIC8vIFRleHRhcmVhIGhhcyBob3Jpem9udGFsIHBhZGRpbmcgaW5zdGVhZCBvZiB0aGUgY29udGFpbmVyLiBUaGlzIGFsbG93cyB0aGVcbiAgICAgIC8vIHJlc2l6ZSBoYW5kbGUgdG8gZXh0ZW5kIHRvIHRoZSBlZGdlIG9mIHRoZSBjb250YWluZXIuXG4gICAgICBwYWRkaW5nOiAwIHZhcmlhYmxlcy4kcGFkZGluZy1ob3Jpem9udGFsIHZhcmlhYmxlcy4kdGV4dGFyZWEtaW5wdXQtcGFkZGluZy1ib3R0b207XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtdHlwb2dyYXBoeSkge1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNzVyZW07IC8vIDI4c3BcbiAgICB9XG4gIH1cblxuICAubWRjLXRleHQtZmllbGQtY2hhcmFjdGVyLWNvdW50ZXIgKyAubWRjLXRleHQtZmllbGRfX2lucHV0IHtcbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDI4cHg7IC8vIExlYXZlcyBzcGFjZSBmb3IgY2hhcmFjdGVyIGNvdW50ZXIgaWYgaXQgZXhpc3RzLlxuICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBfdGV4dGFyZWEtZmxvYXRpbmctbGFiZWwoJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJGZlYXQtc3RydWN0dXJlOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG5cbiAgLy8gUmVzdGluZyBsYWJlbCBwb3NpdGlvblxuICAubWRjLWZsb2F0aW5nLWxhYmVsIHtcbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIEBpbmNsdWRlIHJ0bC1taXhpbnMucmVmbGV4aXZlLXBvc2l0aW9uKGxlZnQsIG5vdGNoZWQtb3V0bGluZS12YXJpYWJsZXMuJHBhZGRpbmcpO1xuXG4gICAgICB0b3A6IDE3cHg7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG5cbiAgICAvLyBSZXNldHMgY2VudGVyIGFsaWduaW5nIHRoZSBmbG9hdGluZyBsYWJlbC5cbiAgICAmOm5vdCgubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSkge1xuICAgICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBGbG9hdGluZyBsYWJlbCBwb3NpdGlvblxuICBAaW5jbHVkZSBub3RjaGVkLW91dGxpbmUtbWl4aW5zLmZsb2F0aW5nLWxhYmVsLWZsb2F0LXBvc2l0aW9uKHZhcmlhYmxlcy4kdGV4dGFyZWEtbGFiZWwtcG9zaXRpb24teSwgJHF1ZXJ5OiAkcXVlcnkpO1xuXG4gIC8vIEZsb2F0aW5nIGxhYmVsIGFuaW1hdGlvblxuICBAaW5jbHVkZSBmbG9hdGluZy1sYWJlbC1taXhpbnMuc2hha2UtYW5pbWF0aW9uKHRleHRhcmVhLCAkcXVlcnk6ICRxdWVyeSk7XG4gIEBpbmNsdWRlIGZsb2F0aW5nLWxhYmVsLW1peGlucy5zaGFrZS1rZXlmcmFtZXMoXG4gICAgdGV4dGFyZWEsXG4gICAgdmFyaWFibGVzLiR0ZXh0YXJlYS1sYWJlbC1wb3NpdGlvbi15LFxuICAgIDAlLFxuICAgICRxdWVyeTogJHF1ZXJ5XG4gICk7XG59XG5cbi8vIFRleHQsIFByZWZpeCBhbmQgU3VmZml4XG5cbi8vIENvbW1vbiBzdHlsZXMgZm9yIHRoZSB0ZXh0IG9mIHRoZSB0ZXh0IGZpZWxkLCBpbmNsdWRpbmcgdGhlIHByZWZpeCwgc3VmZml4LFxuLy8gYW5kIGlucHV0LlxuQG1peGluIF90ZXh0KCRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gICRmZWF0LWFuaW1hdGlvbjogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBhbmltYXRpb24pO1xuICAkZmVhdC1zdHJ1Y3R1cmU6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcblxuICAvLyBFeGNsdWRlIHNldHRpbmcgbGluZS1oZWlnaHQgdG8ga2VlcCBjYXJldCAodGV4dCBjdXJzb3IpIHNhbWUgaGVpZ2h0IGFzIHRoZSBpbnB1dCB0ZXh0IGluIGlPUyBicm93c2VyLlxuICBAaW5jbHVkZSB0eXBvZ3JhcGh5LW1peGlucy50eXBvZ3JhcGh5KHN1YnRpdGxlMSwgJGV4Y2x1ZGUtcHJvcHM6IChsaW5lLWhlaWdodCksICRxdWVyeTogJHF1ZXJ5KTtcbiAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgaGVpZ2h0OiB2YXJpYWJsZXMuJGlucHV0LWhlaWdodDtcbiAgfVxuXG4gIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LWFuaW1hdGlvbikge1xuICAgIHRyYW5zaXRpb246IGZ1bmN0aW9ucy50cmFuc2l0aW9uKG9wYWNpdHkpO1xuICB9XG59XG5cbkBtaXhpbiBfaW5wdXQoJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJGZlYXQtc3RydWN0dXJlOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG5cbiAgQGluY2x1ZGUgX3RleHQoJHF1ZXJ5OiAkcXVlcnkpO1xuICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtaW4td2lkdGg6IDA7IC8vIEZpeGVzIGZsZXggaXNzdWVzIG9uIEZpcmVmb3hcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgcGFkZGluZzogMDtcblxuICAgIC8vIFJlbW92ZSBidWlsdC1pbiB0cmFpbGluZyBjbGVhciBpY29uIG9uIElFMTFcbiAgICAmOjotbXMtY2xlYXIge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgfVxuXG4gICAgLy8gUmVtb3ZlIHJlZCBvdXRsaW5lIG9uIGZpcmVmb3hcbiAgICAmOmludmFsaWQge1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICB9XG5cbiAgICAvLyBLZWVwIENocm9tZSBhdXRvZmlsbCBiZWhpbmQgdGhlIG5vdGNoZWQgb3V0bGluZVxuICAgICY6LXdlYmtpdC1hdXRvZmlsbCB7XG4gICAgICB6LWluZGV4OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBfaW5wdXQtcGxhY2Vob2xkZXIoJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJGZlYXQtYW5pbWF0aW9uOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIGFuaW1hdGlvbik7XG4gICRmZWF0LXN0cnVjdHVyZTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBzdHJ1Y3R1cmUpO1xuXG4gIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LWFuaW1hdGlvbikge1xuICAgIHRyYW5zaXRpb246IGZ1bmN0aW9ucy50cmFuc2l0aW9uKG9wYWNpdHksICRkdXJhdGlvbjogNjdtcyk7XG4gIH1cblxuICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbkBtaXhpbiBfaW5wdXQtcGxhY2Vob2xkZXItdmlzaWJsZSgkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAkZmVhdC1hbmltYXRpb246IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgYW5pbWF0aW9uKTtcbiAgJGZlYXQtc3RydWN0dXJlOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG5cbiAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtYW5pbWF0aW9uKSB7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogNDBtcztcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAxMTBtcztcbiAgfVxuXG4gIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuQG1peGluIF9hZmZpeCgkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAkZmVhdC1zdHJ1Y3R1cmU6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcblxuICBAaW5jbHVkZSBfdGV4dCgkcXVlcnk6ICRxdWVyeSk7XG4gIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgfVxufVxuXG5AbWl4aW4gX2FmZml4LXZpc2libGUoJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJGZlYXQtc3RydWN0dXJlOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG5cbiAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG5AbWl4aW4gX3ByZWZpeCgkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAkZmVhdC1zdHJ1Y3R1cmU6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcblxuICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICBAaW5jbHVkZSBydGwtbWl4aW5zLnJlZmxleGl2ZS1ib3gocGFkZGluZywgcmlnaHQsIHZhcmlhYmxlcy4kcHJlZml4LXBhZGRpbmcpO1xuICB9XG59XG5cbkBtaXhpbiBfcHJlZml4LWVuZC1hbGlnbmVkKCRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gICRmZWF0LXN0cnVjdHVyZTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBzdHJ1Y3R1cmUpO1xuXG4gIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgIEBpbmNsdWRlIHJ0bC1taXhpbnMucmVmbGV4aXZlLWJveChwYWRkaW5nLCByaWdodCwgdmFyaWFibGVzLiRwcmVmaXgtZW5kLWFsaWduZWQtcGFkZGluZyk7XG4gIH1cbn1cblxuQG1peGluIF9zdWZmaXgoJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJGZlYXQtc3RydWN0dXJlOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG5cbiAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgQGluY2x1ZGUgcnRsLW1peGlucy5yZWZsZXhpdmUtYm94KHBhZGRpbmcsIGxlZnQsIHZhcmlhYmxlcy4kc3VmZml4LXBhZGRpbmcpO1xuICB9XG59XG5cbkBtaXhpbiBfc3VmZml4LWVuZC1hbGlnbmVkKCRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gICRmZWF0LXN0cnVjdHVyZTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBzdHJ1Y3R1cmUpO1xuXG4gIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgIEBpbmNsdWRlIHJ0bC1taXhpbnMucmVmbGV4aXZlLWJveChwYWRkaW5nLCBsZWZ0LCB2YXJpYWJsZXMuJHN1ZmZpeC1lbmQtYWxpZ25lZC1wYWRkaW5nKTtcbiAgfVxufVxuXG4vLyBFbmQgYWxpZ25lZFxuQG1peGluIGVuZC1hbGlnbmVkXygkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAkZmVhdC1zdHJ1Y3R1cmU6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcblxuICAubWRjLXRleHQtZmllbGRfX2lucHV0IHtcbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIC8vIElFMTEgZG9lcyBub3Qgc3VwcG9ydCB0ZXh0LWFsaWduOiBlbmRcbiAgICAgIC8qIEBub2ZsaXAgKi9cbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIHJ0bC1taXhpbnMucnRsIHtcbiAgICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgICAvKiBAbm9mbGlwICovXG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIEZvcmNlcyBpbnB1dCwgcHJlZml4LCBhbmQgc3VmZml4IHRvIGJlIExUUiB3aGVuIGluIGFuIFJUTCBlbnZpcm9ubWVudC4gT3RoZXJcbi8vIGVsZW1lbnRzIHN1Y2ggYXMgbGFiZWxzIGFuZCBpY29ucyB3aWxsIHJlbWFpbiBSVEwuXG5AbWl4aW4gX2x0ci10ZXh0KCRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gICRmZWF0LXN0cnVjdHVyZTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBzdHJ1Y3R1cmUpO1xuXG4gIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgIEBpbmNsdWRlIHJ0bC1taXhpbnMucnRsIHtcbiAgICAgIC5tZGMtdGV4dC1maWVsZF9faW5wdXQsXG4gICAgICAubWRjLXRleHQtZmllbGRfX2FmZml4IHtcbiAgICAgICAgLyogQG5vZmxpcCAqL1xuICAgICAgICBkaXJlY3Rpb246IGx0cjtcbiAgICAgIH1cblxuICAgICAgLm1kYy10ZXh0LWZpZWxkX19hZmZpeC0tcHJlZml4IHtcbiAgICAgICAgLyogQG5vZmxpcCAqL1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIC8qIEBub2ZsaXAgKi9cbiAgICAgICAgcGFkZGluZy1yaWdodDogdmFyaWFibGVzLiRwcmVmaXgtcGFkZGluZztcbiAgICAgIH1cblxuICAgICAgLm1kYy10ZXh0LWZpZWxkX19hZmZpeC0tc3VmZml4IHtcbiAgICAgICAgLyogQG5vZmxpcCAqL1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IHZhcmlhYmxlcy4kc3VmZml4LXBhZGRpbmc7XG4gICAgICAgIC8qIEBub2ZsaXAgKi9cbiAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgIH1cblxuICAgICAgLy8gTmVlZCB0byBzcGVjaWZ5IGFuIG9yZGVyIGZvciBhbGwgZWxlbWVudHMgc2luY2UgaWNvbnMgbWFpbnRhaW4gdGhlaXJcbiAgICAgIC8vIG9yaWdpbmFsIHBvc2l0aW9ucy4gV2UgY2FuJ3QganVzdCByZXZlcnNlIHRoZSBjb250YWluZXIuXG4gICAgICAubWRjLXRleHQtZmllbGRfX2ljb24tLWxlYWRpbmcge1xuICAgICAgICBvcmRlcjogMTtcbiAgICAgIH1cblxuICAgICAgLm1kYy10ZXh0LWZpZWxkX19hZmZpeC0tc3VmZml4IHtcbiAgICAgICAgb3JkZXI6IDI7XG4gICAgICB9XG5cbiAgICAgIC5tZGMtdGV4dC1maWVsZF9faW5wdXQge1xuICAgICAgICBvcmRlcjogMztcbiAgICAgIH1cblxuICAgICAgLm1kYy10ZXh0LWZpZWxkX19hZmZpeC0tcHJlZml4IHtcbiAgICAgICAgb3JkZXI6IDQ7XG4gICAgICB9XG5cbiAgICAgIC5tZGMtdGV4dC1maWVsZF9faWNvbi0tdHJhaWxpbmcge1xuICAgICAgICBvcmRlcjogNTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gRm9yY2VzIGlucHV0LCBwcmVmaXgsIGFuZCBzdWZmaXggdGhhdCBhcmUgYWxyZWFkeSBmb3JjZWQgdG8gTFRSIHRvIGFsc28gYmVcbi8vIGVuZC1hbGlnbmVkLiBUaGlzIG1peGluIHNob3VsZCBiZSB1c2VkIGFsb25nc2lkZSB0aGUgc3R5bGVzIHByb3ZpZGVkIGluXG4vLyBfbHRyLXRleHQoKS5cbkBtaXhpbiBfbHRyLXRleHQtZW5kLWFsaWduZWQoJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJGZlYXQtc3RydWN0dXJlOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG5cbiAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgQGluY2x1ZGUgcnRsLW1peGlucy5ydGwge1xuICAgICAgLm1kYy10ZXh0LWZpZWxkX19pbnB1dCB7XG4gICAgICAgIC8vIElFMTEgZG9lcyBub3Qgc3VwcG9ydCB0ZXh0LWFsaWduOiBlbmQsIHNvIHdlIG5lZWQgdG8gZHVwbGljYXRlXG4gICAgICAgIC8vIHRoZSBMVFIgZW5kLWFsaWduZWQgc3R5bGUgaGVyZS5cbiAgICAgICAgLyogQG5vZmxpcCAqL1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgIH1cblxuICAgICAgLm1kYy10ZXh0LWZpZWxkX19hZmZpeC0tcHJlZml4IHtcbiAgICAgICAgLy8gcGFkZGluZy1sZWZ0OiAwIHByb3ZpZGVkIGJ5IF9sdHItdGV4dCBtaXhpblxuICAgICAgICAvKiBAbm9mbGlwICovXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IHZhcmlhYmxlcy4kcHJlZml4LWVuZC1hbGlnbmVkLXBhZGRpbmc7XG4gICAgICB9XG5cbiAgICAgIC5tZGMtdGV4dC1maWVsZF9fYWZmaXgtLXN1ZmZpeCB7XG4gICAgICAgIC8qIEBub2ZsaXAgKi9cbiAgICAgICAgcGFkZGluZy1sZWZ0OiB2YXJpYWJsZXMuJHN1ZmZpeC1lbmQtYWxpZ25lZC1wYWRkaW5nO1xuICAgICAgICAvLyBwYWRkaW5nLXJpZ2h0OiAwIHByb3ZpZGVkIGJ5IF9sdHItdGV4dCBtaXhpblxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBDdXN0b21pemF0aW9uXG5cbkBtaXhpbiBpbmstY29sb3JfKCRjb2xvciwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJGZlYXQtY29sb3I6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgY29sb3IpO1xuXG4gIC5tZGMtdGV4dC1maWVsZF9faW5wdXQge1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LWNvbG9yKSB7XG4gICAgICBAaW5jbHVkZSB0aGVtZS1taXhpbnMucHJvcChjb2xvciwgJGNvbG9yKTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIHBsYWNlaG9sZGVyLWNvbG9yXygkY29sb3IsICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gICRmZWF0LWNvbG9yOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIGNvbG9yKTtcblxuICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1jb2xvcikge1xuICAgIC5tZGMtdGV4dC1maWVsZF9faW5wdXQge1xuICAgICAgQGluY2x1ZGUgcGxhY2Vob2xkZXItc2VsZWN0b3JfIHtcbiAgICAgICAgQGluY2x1ZGUgdGhlbWUtbWl4aW5zLnByb3AoY29sb3IsICRjb2xvcik7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmaWxsLWNvbG9yXygkY29sb3IsICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpLCAkYWRkQWx0ZXJuYXRlOiBmYWxzZSkge1xuICAkZmVhdC1jb2xvcjogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBjb2xvcik7XG5cbiAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtY29sb3IpIHtcbiAgICBAaWYgKCRhZGRBbHRlcm5hdGUpIHtcbiAgICAgIC8qIEBhbHRlcm5hdGUgKi9cbiAgICB9XG4gICAgQGluY2x1ZGUgdGhlbWUtbWl4aW5zLnByb3AoYmFja2dyb3VuZC1jb2xvciwgJGNvbG9yKTtcbiAgfVxufVxuXG5AbWl4aW4gYm90dG9tLWxpbmUtY29sb3JfKCRjb2xvciwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgLm1kYy1saW5lLXJpcHBsZSB7XG4gICAgQGluY2x1ZGUgbGluZS1yaXBwbGUtbWl4aW5zLmluYWN0aXZlLWNvbG9yKCRjb2xvciwgJHF1ZXJ5OiAkcXVlcnkpO1xuICB9XG59XG5cbkBtaXhpbiBob3Zlci1ib3R0b20tbGluZS1jb2xvcl8oJGNvbG9yLCAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAkZmVhdC1jb2xvcjogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBjb2xvcik7XG5cbiAgJjpob3ZlciAubWRjLWxpbmUtcmlwcGxlIHtcbiAgICBAaW5jbHVkZSBsaW5lLXJpcHBsZS1taXhpbnMuaW5hY3RpdmUtY29sb3IoJGNvbG9yLCAkcXVlcnk6ICRxdWVyeSk7XG4gIH1cbn1cblxuQG1peGluIGxpbmUtcmlwcGxlLWNvbG9yXygkY29sb3IsICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gIC5tZGMtbGluZS1yaXBwbGUge1xuICAgIEBpbmNsdWRlIGxpbmUtcmlwcGxlLW1peGlucy5hY3RpdmUtY29sb3IoJGNvbG9yLCAkcXVlcnk6ICRxdWVyeSk7XG4gIH1cbn1cblxuQG1peGluIGhvdmVyLW91dGxpbmUtY29sb3JfKCRjb2xvciwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJjpub3QoLm1kYy10ZXh0LWZpZWxkLS1mb2N1c2VkKTpob3ZlciB7XG4gICAgLm1kYy1ub3RjaGVkLW91dGxpbmUge1xuICAgICAgQGluY2x1ZGUgbm90Y2hlZC1vdXRsaW5lLW1peGlucy5jb2xvcigkY29sb3IsICRxdWVyeTogJHF1ZXJ5KTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvY3VzZWQtb3V0bGluZS1jb2xvcl8oJGNvbG9yLCAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAmLm1kYy10ZXh0LWZpZWxkLS1mb2N1c2VkIHtcbiAgICBAaW5jbHVkZSBub3RjaGVkLW91dGxpbmUtbWl4aW5zLmNvbG9yKCRjb2xvciwgJHF1ZXJ5OiAkcXVlcnkpO1xuICB9XG59XG5cbkBtaXhpbiBsYWJlbC1pbmstY29sb3JfKCRjb2xvciwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgLm1kYy1mbG9hdGluZy1sYWJlbCB7XG4gICAgQGluY2x1ZGUgZmxvYXRpbmctbGFiZWwtbWl4aW5zLmluay1jb2xvcigkY29sb3IsICRxdWVyeTogJHF1ZXJ5KTtcbiAgfVxufVxuXG5AbWl4aW4gX3ByZWZpeC1jb2xvcigkY29sb3IsICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gICRmZWF0LWNvbG9yOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIGNvbG9yKTtcblxuICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1jb2xvcikge1xuICAgIC5tZGMtdGV4dC1maWVsZF9fYWZmaXgtLXByZWZpeCB7XG4gICAgICBAaW5jbHVkZSB0aGVtZS1taXhpbnMucHJvcChjb2xvciwgJGNvbG9yKTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIF9zdWZmaXgtY29sb3IoJGNvbG9yLCAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAkZmVhdC1jb2xvcjogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBjb2xvcik7XG5cbiAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtY29sb3IpIHtcbiAgICAubWRjLXRleHQtZmllbGRfX2FmZml4LS1zdWZmaXgge1xuICAgICAgQGluY2x1ZGUgdGhlbWUtbWl4aW5zLnByb3AoY29sb3IsICRjb2xvcik7XG4gICAgfVxuICB9XG59XG5cbi8vIFNlbGVjdG9yc1xuXG5AbWl4aW4gcmVxdWlyZWQtbGFiZWwtYXN0ZXJpc2tfKCkge1xuICAubWRjLXRleHQtZmllbGRfX2lucHV0OnJlcXVpcmVkIH4ge1xuICAgIC5tZGMtZmxvYXRpbmctbGFiZWw6OmFmdGVyLFxuICAgIC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtZmxvYXRpbmctbGFiZWw6OmFmdGVyIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gcGxhY2Vob2xkZXItc2VsZWN0b3JfIHtcbiAgLy8gR1NTIHdpbGwgY29tYmluZSBzZWxlY3RvcnMgd2l0aCB0aGUgc2FtZSBjb250ZW50LCBhbmQgc29tZSBicm93c2VycyBoYXZlIGFcbiAgLy8gQ1NTIHF1aXJrIHdoZXJlIGl0IGRyb3BzIGEgcnVsZSBpZiBpdCBkb2VzIG5vdCByZWNvZ25pemUgb25lIG9mIHRoZVxuICAvLyBzZWxlY3RvcnMuXG4gIC8vIFRvIGF2b2lkIEdTUyBjb21iaW5pbmcgdGhlIDo6cGxhY2Vob2xkZXIgYW5kIDotbXMtaW5wdXQtcGxhY2Vob2xkZXJcbiAgLy8gc2VsZWN0b3JzLCB3ZSB3cmFwIHRoZW0gaW4gYEBtZWRpYSBhbGxgLlxuICAvLyBUT0RPKGIvMTQyMzI5MDUxKVxuICBAbWVkaWEgYWxsIHtcbiAgICAvLyA6OnBsYWNlaG9sZGVyIG5lZWRzIHRvIGJlIHdyYXBwZWQgYmVjYXVzZSBJRTExIHdpbGwgZHJvcCBvdGhlciBzZWxlY3RvcnNcbiAgICAvLyB3aXRoIHRoZSBzYW1lIGNvbnRlbnRcbiAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cblxuICBAbWVkaWEgYWxsIHtcbiAgICAvLyA6LW1zLWlucHV0LXBsYWNlaG9sZGVyIG5lZWRzIHRvIGJlIHdyYXBwZWQgYmVjYXVzZSBGaXJlZm94IHdpbGwgZHJvcFxuICAgIC8vIG90aGVyIHNlbGVjdG9ycyB3aXRoIHRoZSBzYW1lIGNvbnRlbnRcbiAgICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBTdGF0ZSBxdWFsaWZpZXJzXG5cbi8vL1xuLy8vIEhlbHBzIHN0eWxlIHRoZSB0ZXh0LWZpZWxkIG9ubHkgd2hlbiBpdCdzIGVuYWJsZWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbkBtaXhpbiBpZi1lbmFibGVkXyB7XG4gICY6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLy9cbi8vLyBIZWxwcyBzdHlsZSB0aGUgdGV4dC1maWVsZCBvbmx5IHdoZW4gaXQncyBkaXNhYmxlZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuQG1peGluIGlmLWRpc2FibGVkXyB7XG4gICYubWRjLXRleHQtZmllbGQtLWRpc2FibGVkIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuIiwiLm5ld3NsZXR0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRwcm9qZWN0LW5hdnlibHVlO1xuICAgIGNvbG9yOiAkcHJvamVjdC13aGl0ZTtcbiAgICBwYWRkaW5nOiAwIDIwcHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tbGcpIHtcbiAgICAgICAgcGFkZGluZzogMCAzNXB4O1xuICAgIH1cblxuICAgICZfX2ZpZ3VyZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgICZfX2NhbnZhcyB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgICZfX2ltZyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG5cbiAgICAgICAgY2FudmFzICsgcGljdHVyZSAmIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19jb250ZW50IHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IDQwMHB4O1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB6LWluZGV4OiAyO1xuXG4gICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tbWQpIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3NwYWNlciB7XG4gICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICB9XG5cbiAgICAmX19idXR0b24ge1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcblxuICAgICAgICBAbWVkaWEobWF4LXdpZHRoOiAkc2NyZWVuLWxnIC0gMSkge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgcmlnaHQ6IC0wLjJweDtcbiAgICAgICAgICAgIHdpZHRoOiA0OC4ycHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDQ4LjJweDtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBpY29ucy1wcm9qZWN0X19hcnJvdy1yaWdodCgkcHJvamVjdC13aGl0ZSk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAyNHB4IDI0cHg7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiAwO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tbGcpIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTRweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5tZGMtYnV0dG9uX19sYWJlbCB7XG4gICAgICAgICAgICBAbWVkaWEobWF4LXdpZHRoOiAkc2NyZWVuLWxnIC0gMSkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxcHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICAgICAgY2xpcDogcmVjdCgwLDAsMCwwKTtcbiAgICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9faGVhZGVyIHtcbiAgICAgICAgY29sb3I6ICRwcm9qZWN0LXdoaXRlO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGhlaWdodDogNTJweDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmc6IDVweCAwO1xuXG4gICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tbGcpIHtcbiAgICAgICAgICAgIGhlaWdodDogNjhweDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4teGwpIHtcbiAgICAgICAgICAgIGhlaWdodDogMTEwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX190aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTlweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tbGcpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjFweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2Rlc2NyaXB0aW9uIHtcbiAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICBjb2xvcjokcHJvamVjdC13aGl0ZTtcbiAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tbGcpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19jaGVja2JveCB7XG4gICAgICAgIC8vQGluY2x1ZGUgbWRjLWNoZWNrYm94LWNvbnRhaW5lci1jb2xvcnMoJHVubWFya2VkLXN0cm9rZS1jb2xvciwgJHVubWFya2VkLWZpbGwtY29sb3IsICRtYXJrZWQtc3Ryb2tlLWNvbG9yLCAkbWFya2VkLWZpbGwtY29sb3IsICRnZW5lcmF0ZS1rZXlmcmFtZXMpO1xuICAgICAgICBAaW5jbHVkZSBtZGMtY2hlY2tib3gtY29udGFpbmVyLWNvbG9ycygkcHJvamVjdC1uYXZ5Ymx1ZS1sNTAwLCAkcHJvamVjdC10cmFuc3BhcmVudCwgJHByb2plY3QtbmF2eWJsdWUtbDUwMCwgJHByb2plY3QtdHJhbnNwYXJlbnQsICdmYWxzZScpO1xuICAgICAgICBAaW5jbHVkZSBtZGMtY2hlY2tib3gtaW5rLWNvbG9yKCRwcm9qZWN0LW5hdnlibHVlLWw1MDApO1xuICAgICAgICBAaW5jbHVkZSBtZGMtY2hlY2tib3gtZm9jdXMtaW5kaWNhdG9yLWNvbG9yKCRwcm9qZWN0LXdoaXRlKTtcblxuICAgIH1cblxuICAgIC53YXMtdmFsaWRhdGVkIC5tZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sW3JlcXVpcmVkXSB7XG4gICAgICAgICY6aW52YWxpZCB7XG4gICAgICAgICAgICB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQge1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJHByb2plY3QtcGFudG9uZS0xNTA1ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubWRjLXRleHQtZmllbGQtLWZvY3VzZWQgLm1kYy10ZXh0LWZpZWxkX19pbnB1dDpyZXF1aXJlZCB+IC5tZGMtZmxvYXRpbmctbGFiZWw6YWZ0ZXIge1xuICAgICAgICBjb2xvcjogJHByb2plY3QtZ3JheS1kMzAwO1xuICAgIH1cblxuICAgIC5tZGMtdGV4dC1maWVsZC0taW52YWxpZDpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCkgLm1kYy10ZXh0LWZpZWxkX19pbnB1dDpyZXF1aXJlZCB+IC5tZGMtZmxvYXRpbmctbGFiZWwsXG4gICAgLm1kYy10ZXh0LWZpZWxkLS1pbnZhbGlkOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKSAubWRjLXRleHQtZmllbGRfX2lucHV0OnJlcXVpcmVkIH4gLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1mbG9hdGluZy1sYWJlbCB7XG4gICAgICAgIGNvbG9yOiAkcHJvamVjdC1ncmF5LWQzMDA7XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBjb2xvcjogJHByb2plY3QtZ3JheS1kMzAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm1kYy10ZXh0LWZpZWxkLS1pbnZhbGlkOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKSAubWRjLWxpbmUtcmlwcGxlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByb2plY3QtYmx1ZTtcbiAgICB9XG5cbiAgICAud2FzLXZhbGlkYXRlZCAubWRjLXRleHQtZmllbGQtLWludmFsaWQ6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpIC5tZGMtbGluZS1yaXBwbGUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvamVjdC1wYW50b25lLTE1MDU7XG4gICAgfVxuXG4gICAgLndhcy12YWxpZGF0ZWQgLm1kYy10ZXh0LWZpZWxkLS1pbnZhbGlkOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKSAubWRjLXRleHQtZmllbGRfX2lucHV0OnJlcXVpcmVkIH4gLm1kYy1mbG9hdGluZy1sYWJlbCxcbiAgICAud2FzLXZhbGlkYXRlZCAubWRjLXRleHQtZmllbGQtLWludmFsaWQ6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpIC5tZGMtdGV4dC1maWVsZF9faW5wdXQ6cmVxdWlyZWQgfiAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLWZsb2F0aW5nLWxhYmVsIHtcbiAgICAgICAgY29sb3I6ICRwcm9qZWN0LXBhbnRvbmUtMTUwNTtcblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbG9yOiAkcHJvamVjdC1wYW50b25lLTE1MDU7XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC5tZGMtZm9ybS1maWVsZCB7XG4gICAgICAgIGNvbG9yOiAkcHJvamVjdC1uYXZ5Ymx1ZS1sNTAwO1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMnB4O1xuICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMTFweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vLm1kYy1jaGVja2JveC0taW52YWxpZCB7XG4gICAgLy8gICAgfiBsYWJlbCB7XG4gICAgLy8gICAgICAgIC8vY29sb3I6ICRwcm9qZWN0LXBhbnRvbmUtMTUwNTtcbiAgICAvL1xuICAgIC8vICAgICAgICBhIHtcbiAgICAvLyAgICAgICAgICAgIC8vY29sb3I6ICRwcm9qZWN0LXBhbnRvbmUtMTUwNTtcbiAgICAvLyAgICAgICAgICAgIC8vdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgLy8gICAgICAgIH1cbiAgICAvLyAgICB9XG4gICAgLy99XG5cbiAgICAubWRjLXRleHQtZmllbGQge1xuICAgICAgICBAaW5jbHVkZSBtZGMtdGV4dC1maWVsZC1pbmstY29sb3IoJHByb2plY3QtYmxhY2spO1xuICAgICAgICBAaW5jbHVkZSBtZGMtdGV4dC1maWVsZC1sYWJlbC1jb2xvcigkcHJvamVjdC1ncmF5LWQzMDApO1xuICAgICAgICBAaW5jbHVkZSBtZGMtdGV4dC1maWVsZC1maWxsLWNvbG9yKCRwcm9qZWN0LXdoaXRlKTtcblxuICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjNweDtcblxuICAgICAgICBAbWVkaWEobWF4LXdpZHRoOiAkc2NyZWVuLWxnIC0gMSkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgICAgIGhlaWdodDogNDhweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vLm1kYy1mbG9hdGluZy1sYWJlbCB7XG4gICAgICAgIC8vICAgIEBtZWRpYShtYXgtd2lkdGg6ICRzY3JlZW4tbGcgLSAxKSB7XG4gICAgICAgIC8vICAgICAgICB0b3A6IDE0cHg7XG4gICAgICAgIC8vICAgIH1cbiAgICAgICAgLy99XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG5cblxuICAgICAgICAmOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKTpub3QoLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZCk6bm90KC5tZGMtdGV4dC1maWVsZC0tdGV4dGFyZWEpIHtcbiAgICAgICAgICAgIC5tZGMtdGV4dC1maWVsZF9faW5wdXQge1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHJnYmEoMCwgMCwgMCwgMCkgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5tZGMtbGluZS1yaXBwbGUge1xuICAgICAgICBoZWlnaHQ6IDNweDtcbiAgICB9XG5cblxuICAgIC5tZGMtZm9ybS1maWVsZCA+IGxhYmVsIHtcblxuICAgICAgICBhIHtcbiAgICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHByb2plY3Qtd2hpdGU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubWRjLWNoZWNrYm94IHtcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5tZGMtZmxvYXRpbmctbGFiZWwge1xuICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIH1cblxuICAgIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMTAlKSBzY2FsZSguNyk7XG4gICAgfVxuXG4gICAgLm1kYy10ZXh0LWZpZWxkLWhlbHBlci10ZXh0IHtcbiAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgIH1cblxuICAgICZfX21vcmUge1xuICAgICAgICBtYXJnaW46IDE2cHggMCAwIDA7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkcHJvamVjdC1wcmltYXJ5O1xuICAgICAgICBwYWRkaW5nOiAxNHB4IDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICAgICAgY29sb3I6ICRwcm9qZWN0LWJsdWU7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG5cbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi1sZykge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxOXB4O1xuICAgICAgICAgICAgbWFyZ2luOiAyNHB4IDAgMCAwO1xuICAgICAgICAgICAgcGFkZGluZzogMTVweCAwO1xuICAgICAgICB9XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBjb2xvcjogJHByb2plY3Qtd2hpdGU7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuXG4gICAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuYXJ0aWNsZS12aWV3ICYgIHtcbiAgICAgICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tbGcpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxOHB4IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19ncm91cCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgbWF4LXdpZHRoOiA0MDBweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgICB9XG5cbiAgICAubWRjLXRleHQtZmllbGQtLWludmFsaWQge1xuICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICB9XG5cbiAgICAuc2l0ZS1mb3JtX192YWxpZGF0aW9uLXRleHQge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAyNnB4KTtcbiAgICAgICAgYm90dG9tOiAtMTBweDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDUwJSk7XG4gICAgICAgIGxlZnQ6IC0ycHg7XG4gICAgICAgIGNvbG9yOiAkcHJvamVjdC1wYW50b25lLTE1MDU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBmb250LXNpemU6IDEwLjVweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMnB4O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAycHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuXG4gICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4teHhzKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIH1cblxuICAgICAgICBpbnB1dDp2YWxpZCB+ICYge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLndhcy12YWxpZGF0ZWQgaW5wdXQ6aW52YWxpZCB+IC5zaXRlLWZvcm1fX3ZhbGlkYXRpb24tdGV4dCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLndhcy12YWxpZGF0ZWQgLm1kYy10ZXh0LWZpZWxkLS1pbnZhbGlkIC5zaXRlLWZvcm1fX3ZhbGlkYXRpb24tdGV4dCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC53YXMtdmFsaWRhdGVkIC5zaXRlLWZvcm1fX2NoZWNrYm94LS1yZXF1aXJlZC5zaXRlLWZvcm1fX2NoZWNrYm94LS11bmNoZWNrZWQgfiAuc2l0ZS1mb3JtX192YWxpZGF0aW9uLXRleHQge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgbWFyZ2luOiA2cHggMCAwIDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICAgIHRyYW5zZm9ybTogbm9uZTtcblxuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXh4bCkge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA0NHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnNpdGUtZm9ybV9fc2VydmVyLXZhbGlkYXRpb24tdGV4dCB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDI2cHgpO1xuICAgICAgICBib3R0b206IC0xMHB4O1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNTAlKTtcbiAgICAgICAgbGVmdDogLTJweDtcbiAgICAgICAgY29sb3I6ICRwcm9qZWN0LXBhbnRvbmUtMTUwNTtcbiAgICAgICAgZm9udC1zaXplOiAxMC41cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDJweDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMnB4O1xuICAgICAgICAvL2JhY2tncm91bmQtY29sb3I6ICRwcm9qZWN0LXdoaXRlO1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcblxuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXh4cykge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnNlcnZlci1zaWRlLXZhbGlkYXRlZCAuc2VydmVyLXNpZGUtLWludmFsaWQgfiAuc2l0ZS1mb3JtX19zZXJ2ZXItdmFsaWRhdGlvbi10ZXh0IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLndhcy12YWxpZGF0ZWQgLm1kYy1jaGVja2JveC0taW52YWxpZCB+IC5zaXRlLWZvcm1fX3ZhbGlkYXRpb24tdGV4dCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGxlZnQ6IDQxcHg7XG4gICAgfVxuXG4gICAgLm1kYy1jaGVja2JveF9fcmlwcGxlIHtcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByb2plY3Qtd2hpdGUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkcHJvamVjdC13aGl0ZSwgMC4zKSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxufVxuXG5cblxuXG4iLCIudGVhc2VyIHtcbiAgICBmbGV4OiAxIDAgMTAwJTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4teHMpIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAyNHB4O1xuICAgICAgICBmbGV4OiAxIDAgY2FsYyg1MCUgLSAxMnB4KTtcbiAgICB9XG5cbiAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLW1kKSB7XG5cdFx0LmdsaWRlLS1zd2lwZWFibGUge1xuXHRcdFx0Y3Vyc29yOiBhdXRvICFpbXBvcnRhbnQ7XG5cdFx0fVxuXG4gICAgICAgIG1hcmdpbi1yaWdodDogMzBweDtcbiAgICAgICAgZmxleDogMSAwIGNhbGMoMzMuMzMzJSAtIDMwcHgpO1xuICAgIH1cblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICB9XG5cbiAgICAmLS1tb2JpbGUge1xuICAgICAgICBtYXJnaW46IDAgMjBweCA1MHB4O1xuICAgICAgICBmbGV4OiAxIDAgYXV0bztcblxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi1tZCkge1xuICAgICAgICAgICAgbWFyZ2luOiAwIDMwcHggMCAwO1xuICAgICAgICAgICAgZmxleDogMSAwIGNhbGMoMzMuMzMzJSAtIDMwcHgpO1xuXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2NhbnZhcyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcm9qZWN0LXBhbnRvbmUtd2FybS1ncmV5LTE7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuXG4gICAgICAgIC5pZSAmIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19oZWFkbGluZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcm9qZWN0LXByaW1hcnk7XG4gICAgICAgIGNvbG9yOiAkcHJvamVjdC13aGl0ZTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICAgIHBhZGRpbmc6IDEycHggMjBweDtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuNnB4O1xuICAgICAgICBoZWlnaHQ6IDg5cHg7XG5cbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi1tZCkge1xuICAgICAgICAgICAgaGVpZ2h0OiAxMTBweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDVweCA0MHB4O1xuICAgICAgICAgICAgZm9udC1zaXplOiAyMXB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9faGVhZGxpbmUtdGV4dCB7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgICAgICAtd2Via2l0LWxpbmUtY2xhbXA6IDM7XG4gICAgICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIH1cblxuICAgICZfX2ZpZ3VyZSB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAmLS1ncmFkaWVudDphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsIHJnYmEoMCwwLDAsMCkgMjAlLCAkcHJvamVjdC1uYXZ5Ymx1ZSAxMDAlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGZpZ3VyZSB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19jb250ZW50IHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogMjBweDtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgIGNvbG9yOiAkcHJvamVjdC13aGl0ZTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICBib3R0b206IDgwcHg7XG5cbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi1zbSkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAyNXB4O1xuICAgICAgICAgICAgYm90dG9tOiAxMDBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2J1dHRvbiB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDIwcHg7XG4gICAgICAgIGJvdHRvbTogMjBweDtcbiAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvamVjdC1yZWQgIWltcG9ydGFudDtcbiAgICAgICAgY29sb3I6ICRwcm9qZWN0LWJsYWNrICFpbXBvcnRhbnQ7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgcGFkZGluZzogMjBweCAyNnB4O1xuXG4gICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tc20pIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTlweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDMwcHggMzZweDtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLXllbGxvdyB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvamVjdC15ZWxsb3cgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGNvbG9yOiAkcHJvamVjdC1ibGFjayAhaW1wb3J0YW50O1xuICAgICAgICAgICAgYm90dG9tOiAyOHB4O1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgICAgcGFkZGluZzogMjBweCAyNnB4O1xuXG4gICAgICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXNtKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxOXB4O1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDI0cHggMjRweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2ltZyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG5cbiAgICAgICAgY2FudmFzICsgcGljdHVyZSAmIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19vdmVybGluayB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBAaW5jbHVkZSBtZGMtcmlwcGxlLXN1cmZhY2U7XG4gICAgICAgIEBpbmNsdWRlIG1kYy1yaXBwbGUtcmFkaXVzLWJvdW5kZWQ7XG4gICAgICAgIEBpbmNsdWRlIG1kYy1zdGF0ZXMtYmFzZS1jb2xvcigkcHJvamVjdC13aGl0ZSk7XG4gICAgICAgIEBpbmNsdWRlIG1kYy1zdGF0ZXMtaG92ZXItb3BhY2l0eSguMCk7XG4gICAgICAgIEBpbmNsdWRlIG1kYy1zdGF0ZXMtZm9jdXMtb3BhY2l0eSguMCk7XG4gICAgICAgIEBpbmNsdWRlIG1kYy1zdGF0ZXMtcHJlc3Mtb3BhY2l0eSguMTUpO1xuICAgICAgICBAaW5jbHVkZSBidXR0b24tdGFiLW5hdmlnYXRpb247XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycztcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJHByb2plY3Qtd2hpdGUsIDAuMDgpO1xuICAgICAgICB9XG4gICAgfVxufSIsIi5kZWNvLTM2NSB7XG4gICAgd2lkdGg6IDEwMHB4O1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBwYWRkaW5nOiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGljb25zLXByb2plY3RfXzM2NSgkcHJvamVjdC13aGl0ZSk7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgcGFkZGluZy10b3A6IDEwNy4zNiU7XG4gICAgfVxufSIsIi50ZWFzZXItMzY1IHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkcHJvamVjdC1ncmF5LWw1MDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBhZGRpbmc6IDM4cHggMjVweCA0N3B4IDI1cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogNTRweDtcblxuICAgICZfX3RpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAyMXB4O1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMC42cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM1O1xuICAgICAgICBjb2xvcjogJHByb2plY3QtZ3JheS1kNDAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgIH1cblxuICAgICZfX2RlY28ge1xuICAgICAgICB3aWR0aDogMTU5cHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDM4cHg7XG4gICAgfVxufSIsIi50ZWFzZXItc2hvcnQge1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkcHJvamVjdC1ncmF5LWw1MDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcGFkZGluZzogMTVweCAxNXB4IDI4cHggMTVweDtcbiAgICBcbiAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLW1kKSB7XG4gICAgICAgIHBhZGRpbmc6IDE1cHggMTVweCAzNHB4IDE1cHg7XG4gICAgfVxuICAgIFxuICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRwcm9qZWN0LWdyYXktbDUwMDtcbiAgICB9XG4gICAgXG4gICAgJl9faGVhZGxpbmUge1xuICAgICAgICBmb250LXNpemU6IDE2LjVweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBcbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi1tZCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAyMXB4O1xuICAgICAgICB9XG4gICAgfVxuICAgIFxuICAgICZfX2luZm8ge1xuICAgICAgICBvcmRlcjogMDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxOHB4O1xuICAgICAgICBcbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi1tZCkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjZweDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBcbiAgICAmX19sYWJlbCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgY29sb3I6ICRwcm9qZWN0LXdoaXRlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvamVjdC1wcmltYXJ5O1xuICAgICAgICBmb250LXNpemU6IDEwLjVweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE3cHg7XG4gICAgICAgIGhlaWdodDogMTdweDtcbiAgICAgICAgcGFkZGluZzogMCA2cHg7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgXG4gICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tbWQpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyN3B4O1xuICAgICAgICAgICAgaGVpZ2h0OiAyN3B4O1xuICAgICAgICB9XG4gICAgICAgIFxuICAgIH1cbiAgICBcbiAgICAmX190aW1lIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICBjb2xvcjogJHByb2plY3QtYmxhY2s7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMTAuNXB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMTdweDtcbiAgICAgICAgaGVpZ2h0OiAxN3B4O1xuICAgICAgICBcbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi1tZCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDI3cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDI3cHg7XG4gICAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgJl9fb3Zlcmxpbmsge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAuMnM7XG4gICAgICAgIEBpbmNsdWRlIG1kYy1yaXBwbGUtc3VyZmFjZTtcbiAgICAgICAgQGluY2x1ZGUgbWRjLXJpcHBsZS1yYWRpdXMtYm91bmRlZDtcbiAgICAgICAgQGluY2x1ZGUgbWRjLXN0YXRlcy1iYXNlLWNvbG9yKCRwcm9qZWN0LWJsYWNrKTtcbiAgICAgICAgQGluY2x1ZGUgbWRjLXN0YXRlcy1ob3Zlci1vcGFjaXR5KC4wKTtcbiAgICAgICAgQGluY2x1ZGUgbWRjLXN0YXRlcy1mb2N1cy1vcGFjaXR5KC4wKTtcbiAgICAgICAgQGluY2x1ZGUgbWRjLXN0YXRlcy1wcmVzcy1vcGFjaXR5KC4wNCk7XG4gICAgICAgIFxuICAgICAgICBAaW5jbHVkZSBidXR0b24tdGFiLW5hdmlnYXRpb247XG4gICAgICAgIFxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4wMik7XG4gICAgICAgIH1cbiAgICB9XG59IiwiLnJlYWQtdG9vIHtcbiAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuXG4gICAgJl9fdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDI4cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGNvbG9yOiAkcHJvamVjdC11bmljZWY7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDM1cHg7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjZweDtcblxuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXNtKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDIxcHg7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi1tZCkge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICB9XG4gICAgfVxufSIsIi5nYWxsZXJ5LXNldCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi1sZWZ0OiAtMjNweDtcbiAgICBtYXJnaW4tcmlnaHQ6IC0yM3B4O1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXNtKSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgfVxuXG4gICAgZmlndXJlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICAmX19jb3VudCB7XG4gICAgICAgIGNvbG9yOiAkcHJvamVjdC13aGl0ZTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByb2plY3QtYmx1ZS1kNTAwO1xuICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzNHB4O1xuICAgICAgICB3aWR0aDogMzVweDtcbiAgICAgICAgaGVpZ2h0OiAzNHB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmc6IDAgM3B4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMjBweDtcbiAgICAgICAgcmlnaHQ6IDE0cHg7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcblxuXG4gICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tc20pIHtcbiAgICAgICAgICAgIHRvcDogMzNweDtcbiAgICAgICAgICAgIHJpZ2h0OiAzM3B4O1xuICAgICAgICAgICAgd2lkdGg6IDQ1cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDQ0cHg7XG4gICAgICAgICAgICBmb250LXNpemU6IDIycHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogNDRweDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IDM0cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDM0cHg7XG4gICAgICAgICAgICBib3JkZXItdG9wOiA0cHggc29saWQgJHByb2plY3QtYmx1ZS1kNTAwO1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDRweCBzb2xpZCAkcHJvamVjdC1ibHVlLWQ1MDA7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBsZWZ0OiAtNnB4O1xuICAgICAgICAgICAgdG9wOiAtNnB4O1xuXG4gICAgICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXNtKSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDQ0cHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA0NHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fZmlnY2FwdGlvbiB7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDIzcHg7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDIzcHg7XG5cbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi1zbSkge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgfVxuICAgIH1cbn0iLCIvKiEgUGhvdG9Td2lwZSBtYWluIENTUyBieSBEbWl0cnkgU2VtZW5vdiB8IHBob3Rvc3dpcGUuY29tIHwgTUlUIGxpY2Vuc2UgKi9cbi8qXG5cdFN0eWxlcyBmb3IgYmFzaWMgUGhvdG9Td2lwZSBmdW5jdGlvbmFsaXR5IChzbGlkaW5nIGFyZWEsIG9wZW4vY2xvc2UgdHJhbnNpdGlvbnMpXG4qL1xuLyogcHN3cCA9IHBob3Rvc3dpcGUgKi9cbi5wc3dwIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAtbXMtdG91Y2gtYWN0aW9uOiBub25lO1xuICAgIHRvdWNoLWFjdGlvbjogbm9uZTtcbiAgICB6LWluZGV4OiAxNTAwO1xuICAgIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgICAvKiBjcmVhdGUgc2VwYXJhdGUgbGF5ZXIsIHRvIGF2b2lkIHBhaW50IG9uIHdpbmRvdy5vbnNjcm9sbCBpbiB3ZWJraXQvYmxpbmsgKi9cbiAgICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICBvdXRsaW5lOiBub25lO1xufVxuXG4ucHN3cCAqIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4ucHN3cCBpbWcge1xuICAgIG1heC13aWR0aDogbm9uZTtcbn1cblxuLyogc3R5bGUgaXMgYWRkZWQgd2hlbiBKUyBvcHRpb24gc2hvd0hpZGVPcGFjaXR5IGlzIHNldCB0byB0cnVlICovXG4ucHN3cC0tYW5pbWF0ZV9vcGFjaXR5IHtcbiAgICAvKiAwLjAwMSwgYmVjYXVzZSBvcGFjaXR5OjAgZG9lc24ndCB0cmlnZ2VyIFBhaW50IGFjdGlvbiwgd2hpY2ggY2F1c2VzIGxhZyBhdCBzdGFydCBvZiB0cmFuc2l0aW9uICovXG4gICAgb3BhY2l0eTogMC4wMDE7XG4gICAgd2lsbC1jaGFuZ2U6IG9wYWNpdHk7XG4gICAgLyogZm9yIG9wZW4vY2xvc2UgdHJhbnNpdGlvbiAqL1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMzMzbXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yMiwgMSk7XG59XG5cbi5wc3dwLS1vcGVuIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxuLnBzd3AtLXpvb20tYWxsb3dlZCAucHN3cF9faW1nIHtcbiAgICAvKiBhdXRvcHJlZml4ZXI6IG9mZiAqL1xuICAgIGN1cnNvcjogLXdlYmtpdC16b29tLWluO1xuICAgIGN1cnNvcjogLW1vei16b29tLWluO1xuICAgIGN1cnNvcjogem9vbS1pbjtcbn1cblxuLnBzd3AtLXpvb21lZC1pbiAucHN3cF9faW1nIHtcbiAgICAvKiBhdXRvcHJlZml4ZXI6IG9mZiAqL1xuICAgIGN1cnNvcjogLXdlYmtpdC1ncmFiO1xuICAgIGN1cnNvcjogLW1vei1ncmFiO1xuICAgIGN1cnNvcjogZ3JhYjtcbn1cblxuLnBzd3AtLWRyYWdnaW5nIC5wc3dwX19pbWcge1xuICAgIC8qIGF1dG9wcmVmaXhlcjogb2ZmICovXG4gICAgY3Vyc29yOiAtd2Via2l0LWdyYWJiaW5nO1xuICAgIGN1cnNvcjogLW1vei1ncmFiYmluZztcbiAgICBjdXJzb3I6IGdyYWJiaW5nO1xufVxuXG4vKlxuXHRCYWNrZ3JvdW5kIGlzIGFkZGVkIGFzIGEgc2VwYXJhdGUgZWxlbWVudC5cblx0QXMgYW5pbWF0aW5nIG9wYWNpdHkgaXMgbXVjaCBmYXN0ZXIgdGhhbiBhbmltYXRpbmcgcmdiYSgpIGJhY2tncm91bmQtY29sb3IuXG4qL1xuLnBzd3BfX2JnIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJhY2tncm91bmQ6ICRwcm9qZWN0LWJsYWNrO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xuICAgIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIHdpbGwtY2hhbmdlOiBvcGFjaXR5O1xufVxuXG4ucHN3cF9fc2Nyb2xsLXdyYXAge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLnBzd3BfX2NvbnRhaW5lcixcbi5wc3dwX196b29tLXdyYXAge1xuICAgIC1tcy10b3VjaC1hY3Rpb246IG5vbmU7XG4gICAgdG91Y2gtYWN0aW9uOiBub25lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG59XG5cbi8qIFByZXZlbnQgc2VsZWN0aW9uIGFuZCB0YXAgaGlnaGxpZ2h0cyAqL1xuLnBzd3BfX2NvbnRhaW5lcixcbi5wc3dwX19pbWcge1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xufVxuXG4ucHN3cF9fem9vbS13cmFwIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCB0b3A7XG4gICAgLyogZm9yIG9wZW4vY2xvc2UgdHJhbnNpdGlvbiAqL1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAzMzNtcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIyLCAxKTtcbn1cblxuLnBzd3BfX2JnIHtcbiAgICB3aWxsLWNoYW5nZTogb3BhY2l0eTtcbiAgICAvKiBmb3Igb3Blbi9jbG9zZSB0cmFuc2l0aW9uICovXG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAzMzNtcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIyLCAxKTtcbn1cblxuLnBzd3AtLWFuaW1hdGVkLWluIC5wc3dwX19iZyxcbi5wc3dwLS1hbmltYXRlZC1pbiAucHN3cF9fem9vbS13cmFwIHtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xufVxuXG4ucHN3cF9fY29udGFpbmVyLFxuLnBzd3BfX3pvb20td3JhcCB7XG4gICAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi5wc3dwX19pdGVtIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5wc3dwX19pbWcge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogYXV0bztcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG59XG5cbi8qXG5cdHN0cmV0Y2hlZCB0aHVtYm5haWwgb3IgZGl2IHBsYWNlaG9sZGVyIGVsZW1lbnQgKHNlZSBiZWxvdylcblx0c3R5bGUgaXMgYWRkZWQgdG8gYXZvaWQgZmxpY2tlcmluZyBpbiB3ZWJraXQvYmxpbmsgd2hlbiBsYXllcnMgb3ZlcmxhcFxuKi9cbi5wc3dwX19pbWctLXBsYWNlaG9sZGVyIHtcbiAgICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLypcblx0ZGl2IGVsZW1lbnQgdGhhdCBtYXRjaGVzIHNpemUgb2YgbGFyZ2UgaW1hZ2Vcblx0bGFyZ2UgaW1hZ2UgbG9hZHMgb24gdG9wIG9mIGl0XG4qL1xuLnBzd3BfX2ltZy0tcGxhY2Vob2xkZXItLWJsYW5rIHtcbiAgICBiYWNrZ3JvdW5kOiAjMjIyO1xufVxuXG4ucHN3cC0taWUgLnBzd3BfX2ltZyB7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMDtcbn1cblxuLypcblx0RXJyb3IgbWVzc2FnZSBhcHBlYXJzIHdoZW4gaW1hZ2UgaXMgbm90IGxvYWRlZFxuXHQoSlMgb3B0aW9uIGVycm9yTXNnIGNvbnRyb2xzIG1hcmt1cClcbiovXG4ucHN3cF9fZXJyb3ItbXNnIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDUwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxNnB4O1xuICAgIG1hcmdpbi10b3A6IC04cHg7XG4gICAgY29sb3I6ICNjY2M7XG59XG5cbi5wc3dwX19lcnJvci1tc2cgYSB7XG4gICAgY29sb3I6ICNjY2M7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLyohIFBob3RvU3dpcGUgRGVmYXVsdCBVSSBDU1MgYnkgRG1pdHJ5IFNlbWVub3YgfCBwaG90b3N3aXBlLmNvbSB8IE1JVCBsaWNlbnNlICovXG4vKlxuXG5cdENvbnRlbnRzOlxuXG5cdDEuIEJ1dHRvbnNcblx0Mi4gU2hhcmUgbW9kYWwgYW5kIGxpbmtzXG5cdDMuIEluZGV4IGluZGljYXRvciAoXCIxIG9mIFhcIiBjb3VudGVyKVxuXHQ0LiBDYXB0aW9uXG5cdDUuIExvYWRpbmcgaW5kaWNhdG9yXG5cdDYuIEFkZGl0aW9uYWwgc3R5bGVzIChyb290IGVsZW1lbnQsIHRvcCBiYXIsIGlkbGUgc3RhdGUsIGhpZGRlbiBzdGF0ZSwgZXRjLilcblxuKi9cbi8qXG5cblx0MS4gQnV0dG9uc1xuXG4gKi9cbi8qIDxidXR0b24+IGNzcyByZXNldCAqL1xuLnBzd3BfX2J1dHRvbiB7XG4gICAgd2lkdGg6IDQ0cHg7XG4gICAgaGVpZ2h0OiA0NHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYm9yZGVyOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBvcGFjaXR5OiAwLjc1O1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycztcbiAgICBib3gtc2hhZG93OiBub25lO1xufVxuXG4ucHN3cF9fYnV0dG9uOmZvY3VzLCAucHN3cF9fYnV0dG9uOmhvdmVyIHtcbiAgICBvcGFjaXR5OiAxO1xufVxuXG4ucHN3cF9fYnV0dG9uOmFjdGl2ZSB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBvcGFjaXR5OiAwLjk7XG59XG5cbi5wc3dwX19idXR0b246Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyOiAwO1xufVxuXG4vKiBwc3dwX191aS0tb3Zlci1jbG9zZSBjbGFzcyBpdCBhZGRlZCB3aGVuIG1vdXNlIGlzIG92ZXIgZWxlbWVudCB0aGF0IHNob3VsZCBjbG9zZSBnYWxsZXJ5ICovXG4ucHN3cF9fdWktLW92ZXItY2xvc2UgLnBzd3BfX2J1dHRvbi0tY2xvc2Uge1xuICAgIG9wYWNpdHk6IDE7XG59XG5cbi5wc3dwX19idXR0b24sXG4ucHN3cF9fYnV0dG9uLS1hcnJvdy0tbGVmdDpiZWZvcmUsXG4ucHN3cF9fYnV0dG9uLS1hcnJvdy0tcmlnaHQ6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uLy4uL2ltYWdlcy9waG90b3N3aXBlL2RlZmF1bHQtc2tpbi5wbmcnKSAwIDAgbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogMjY0cHggODhweDtcbiAgICB3aWR0aDogNDRweDtcbiAgICBoZWlnaHQ6IDQ0cHg7XG59XG5cbkBtZWRpYSAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAxLjEpLCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAxLjA5Mzc1KSwgKG1pbi1yZXNvbHV0aW9uOiAxMDVkcGkpLCAobWluLXJlc29sdXRpb246IDEuMWRwcHgpIHtcbiAgICAvKiBTZXJ2ZSBTVkcgc3ByaXRlIGlmIGJyb3dzZXIgc3VwcG9ydHMgU1ZHIGFuZCByZXNvbHV0aW9uIGlzIG1vcmUgdGhhbiAxMDVkcGkgKi9cbiAgICAucHN3cC0tc3ZnIC5wc3dwX19idXR0b24sXG4gICAgLnBzd3AtLXN2ZyAucHN3cF9fYnV0dG9uLS1hcnJvdy0tbGVmdDpiZWZvcmUsXG4gICAgLnBzd3AtLXN2ZyAucHN3cF9fYnV0dG9uLS1hcnJvdy0tcmlnaHQ6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi8uLi9pbWFnZXMvc3ZnL3Bob3Rvc3dpcGUtZGVmYXVsdC1za2luLnN2ZycpO1xuICAgIH1cbiAgICAucHN3cC0tc3ZnIC5wc3dwX19idXR0b24tLWFycm93LS1sZWZ0LFxuICAgIC5wc3dwLS1zdmcgLnBzd3BfX2J1dHRvbi0tYXJyb3ctLXJpZ2h0IHtcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICB9XG59XG5cbi5wc3dwX19idXR0b24tLWNsb3NlIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC00NHB4O1xufVxuXG4ucHN3cF9fYnV0dG9uLS1zaGFyZSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ0cHggLTQ0cHg7XG59XG5cbi5wc3dwX19idXR0b24tLWZzIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4ucHN3cC0tc3VwcG9ydHMtZnMgLnBzd3BfX2J1dHRvbi0tZnMge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4ucHN3cC0tZnMgLnBzd3BfX2J1dHRvbi0tZnMge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC00NHB4IDA7XG59XG5cbi5wc3dwX19idXR0b24tLXpvb20ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTg4cHggMDtcbn1cblxuLnBzd3AtLXpvb20tYWxsb3dlZCAucHN3cF9fYnV0dG9uLS16b29tIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxuLnBzd3AtLXpvb21lZC1pbiAucHN3cF9fYnV0dG9uLS16b29tIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTMycHggMDtcbn1cblxuLyogbm8gYXJyb3dzIG9uIHRvdWNoIHNjcmVlbnMgKi9cbi5wc3dwLS10b3VjaCAucHN3cF9fYnV0dG9uLS1hcnJvdy0tbGVmdCxcbi5wc3dwLS10b3VjaCAucHN3cF9fYnV0dG9uLS1hcnJvdy0tcmlnaHQge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLypcblx0QXJyb3cgYnV0dG9ucyBoaXQgYXJlYVxuXHQoaWNvbiBpcyBhZGRlZCB0byA6YmVmb3JlIHBzZXVkby1lbGVtZW50KVxuKi9cbi5wc3dwX19idXR0b24tLWFycm93LS1sZWZ0LFxuLnBzd3BfX2J1dHRvbi0tYXJyb3ctLXJpZ2h0IHtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIHRvcDogNTAlO1xuICAgIG1hcmdpbi10b3A6IC01MHB4O1xuICAgIHdpZHRoOiA3MHB4O1xuICAgIGhlaWdodDogMTAwcHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xufVxuXG4ucHN3cF9fYnV0dG9uLS1hcnJvdy0tbGVmdCB7XG4gICAgbGVmdDogMDtcbn1cblxuLnBzd3BfX2J1dHRvbi0tYXJyb3ctLXJpZ2h0IHtcbiAgICByaWdodDogMDtcbn1cblxuLnBzd3BfX2J1dHRvbi0tYXJyb3ctLWxlZnQ6YmVmb3JlLFxuLnBzd3BfX2J1dHRvbi0tYXJyb3ctLXJpZ2h0OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgdG9wOiAzNXB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zKTtcbiAgICBoZWlnaHQ6IDMwcHg7XG4gICAgd2lkdGg6IDMycHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xufVxuXG4ucHN3cF9fYnV0dG9uLS1hcnJvdy0tbGVmdDpiZWZvcmUge1xuICAgIGxlZnQ6IDZweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTM4cHggLTQ0cHg7XG59XG5cbi5wc3dwX19idXR0b24tLWFycm93LS1yaWdodDpiZWZvcmUge1xuICAgIHJpZ2h0OiA2cHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTk0cHggLTQ0cHg7XG59XG5cbi8qXG5cblx0Mi4gU2hhcmUgbW9kYWwvcG9wdXAgYW5kIGxpbmtzXG5cbiAqL1xuLnBzd3BfX2NvdW50ZXIsXG4ucHN3cF9fc2hhcmUtbW9kYWwge1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xufVxuXG4ucHN3cF9fc2hhcmUtbW9kYWwge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcGFkZGluZzogMTBweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogMTYwMDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4yNXMgZWFzZS1vdXQ7XG4gICAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgd2lsbC1jaGFuZ2U6IG9wYWNpdHk7XG59XG5cbi5wc3dwX19zaGFyZS1tb2RhbC0taGlkZGVuIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4ucHN3cF9fc2hhcmUtdG9vbHRpcCB7XG4gICAgei1pbmRleDogMTYyMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICB0b3A6IDU2cHg7XG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIHJpZ2h0OiA0NHB4O1xuICAgIGJveC1zaGFkb3c6IDAgMnB4IDVweCByZ2JhKDAsIDAsIDAsIDAuMjUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg2cHgpO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjI1cztcbiAgICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtO1xufVxuXG4ucHN3cF9fc2hhcmUtdG9vbHRpcCBhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiA4cHggMTJweDtcbiAgICBjb2xvcjogIzAwMDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxOHB4O1xufVxuXG4ucHN3cF9fc2hhcmUtdG9vbHRpcCBhOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgY29sb3I6ICMwMDA7XG59XG5cbi5wc3dwX19zaGFyZS10b29sdGlwIGE6Zmlyc3QtY2hpbGQge1xuICAgIC8qIHJvdW5kIGNvcm5lcnMgb24gdGhlIGZpcnN0L2xhc3QgbGlzdCBpdGVtICovXG4gICAgYm9yZGVyLXJhZGl1czogMnB4IDJweCAwIDA7XG59XG5cbi5wc3dwX19zaGFyZS10b29sdGlwIGE6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwIDJweCAycHg7XG59XG5cbi5wc3dwX19zaGFyZS1tb2RhbC0tZmFkZS1pbiB7XG4gICAgb3BhY2l0eTogMTtcbn1cblxuLnBzd3BfX3NoYXJlLW1vZGFsLS1mYWRlLWluIC5wc3dwX19zaGFyZS10b29sdGlwIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG59XG5cbi8qIGluY3JlYXNlIHNpemUgb2Ygc2hhcmUgbGlua3Mgb24gdG91Y2ggZGV2aWNlcyAqL1xuLnBzd3AtLXRvdWNoIC5wc3dwX19zaGFyZS10b29sdGlwIGEge1xuICAgIHBhZGRpbmc6IDE2cHggMTJweDtcbn1cblxuYS5wc3dwX19zaGFyZS0tZmFjZWJvb2s6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLTEycHg7XG4gICAgcmlnaHQ6IDE1cHg7XG4gICAgYm9yZGVyOiA2cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2ZmZjtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuYS5wc3dwX19zaGFyZS0tZmFjZWJvb2s6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICMzZTVjOWE7XG4gICAgY29sb3I6ICNmZmY7XG59XG5cbmEucHN3cF9fc2hhcmUtLWZhY2Vib29rOmhvdmVyOmJlZm9yZSB7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogIzNlNWM5YTtcbn1cblxuYS5wc3dwX19zaGFyZS0tdHdpdHRlcjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogIzU1YWNlZTtcbiAgICBjb2xvcjogI2ZmZjtcbn1cblxuYS5wc3dwX19zaGFyZS0tcGludGVyZXN0OmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjY2NjO1xuICAgIGNvbG9yOiAjY2UyNzJkO1xufVxuXG5hLnBzd3BfX3NoYXJlLS1kb3dubG9hZDpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogI2RkZDtcbn1cblxuLypcblxuXHQzLiBJbmRleCBpbmRpY2F0b3IgKFwiMSBvZiBYXCIgY291bnRlcilcblxuICovXG4ucHN3cF9fY291bnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIGhlaWdodDogNDRweDtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgbGluZS1oZWlnaHQ6IDQ0cHg7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgb3BhY2l0eTogMC43NTtcbiAgICBwYWRkaW5nOiAwIDEwcHg7XG59XG5cbi8qXG5cblx0NC4gQ2FwdGlvblxuXG4gKi9cbi5wc3dwX19jYXB0aW9uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICBib3R0b206IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWluLWhlaWdodDogNDRweDtcbn1cblxuLnBzd3BfX2NhcHRpb24gc21hbGwge1xuICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICBjb2xvcjogI2JiYjtcbn1cblxuLnBzd3BfX2NhcHRpb25fX2NlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1heC13aWR0aDogNDIwcHg7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgY29sb3I6ICNjY2M7XG59XG5cbi5wc3dwX19jYXB0aW9uLS1lbXB0eSB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLyogRmFrZSBjYXB0aW9uIGVsZW1lbnQsIHVzZWQgdG8gY2FsY3VsYXRlIGhlaWdodCBvZiBuZXh0L3ByZXYgaW1hZ2UgKi9cbi5wc3dwX19jYXB0aW9uLS1mYWtlIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi8qXG5cblx0NS4gTG9hZGluZyBpbmRpY2F0b3IgKHByZWxvYWRlcilcblxuXHRZb3UgY2FuIHBsYXkgd2l0aCBpdCBoZXJlIC0gaHR0cDovL2NvZGVwZW4uaW8vZGltc2VtZW5vdi9wZW4veXlCV29SXG5cbiAqL1xuLnBzd3BfX3ByZWxvYWRlciB7XG4gICAgd2lkdGg6IDQ0cHg7XG4gICAgaGVpZ2h0OiA0NHB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogNTAlO1xuICAgIG1hcmdpbi1sZWZ0OiAtMjJweDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4yNXMgZWFzZS1vdXQ7XG4gICAgd2lsbC1jaGFuZ2U6IG9wYWNpdHk7XG4gICAgZGlyZWN0aW9uOiBsdHI7XG59XG5cbi5wc3dwX19wcmVsb2FkZXJfX2ljbiB7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIG1hcmdpbjogMTJweDtcbn1cblxuLnBzd3BfX3ByZWxvYWRlci0tYWN0aXZlIHtcbiAgICBvcGFjaXR5OiAxO1xufVxuXG4ucHN3cF9fcHJlbG9hZGVyLS1hY3RpdmUgLnBzd3BfX3ByZWxvYWRlcl9faWNuIHtcbiAgICAvKiBXZSB1c2UgLmdpZiBpbiBicm93c2VycyB0aGF0IGRvbid0IHN1cHBvcnQgQ1NTIGFuaW1hdGlvbiAqL1xuICAgIGJhY2tncm91bmQ6IHVybCgnLi4vLi4vaW1hZ2VzL3Bob3Rvc3dpcGUvcHJlbG9hZGVyLmdpZicpIDAgMCBuby1yZXBlYXQ7XG59XG5cbi5wc3dwLS1jc3NfYW5pbWF0aW9uIC5wc3dwX19wcmVsb2FkZXItLWFjdGl2ZSB7XG4gICAgb3BhY2l0eTogMTtcbn1cblxuLnBzd3AtLWNzc19hbmltYXRpb24gLnBzd3BfX3ByZWxvYWRlci0tYWN0aXZlIC5wc3dwX19wcmVsb2FkZXJfX2ljbiB7XG4gICAgLXdlYmtpdC1hbmltYXRpb246IGNsb2Nrd2lzZSA1MDBtcyBsaW5lYXIgaW5maW5pdGU7XG4gICAgYW5pbWF0aW9uOiBjbG9ja3dpc2UgNTAwbXMgbGluZWFyIGluZmluaXRlO1xufVxuXG4ucHN3cC0tY3NzX2FuaW1hdGlvbiAucHN3cF9fcHJlbG9hZGVyLS1hY3RpdmUgLnBzd3BfX3ByZWxvYWRlcl9fZG9udXQge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uOiBkb251dC1yb3RhdGUgMTAwMG1zIGN1YmljLWJlemllcigwLjQsIDAsIDAuMjIsIDEpIGluZmluaXRlO1xuICAgIGFuaW1hdGlvbjogZG9udXQtcm90YXRlIDEwMDBtcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIyLCAxKSBpbmZpbml0ZTtcbn1cblxuLnBzd3AtLWNzc19hbmltYXRpb24gLnBzd3BfX3ByZWxvYWRlcl9faWNuIHtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIG9wYWNpdHk6IDAuNzU7XG4gICAgd2lkdGg6IDE0cHg7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAxNXB4O1xuICAgIHRvcDogMTVweDtcbiAgICBtYXJnaW46IDA7XG59XG5cbi5wc3dwLS1jc3NfYW5pbWF0aW9uIC5wc3dwX19wcmVsb2FkZXJfX2N1dCB7XG4gICAgLypcbiAgICAgICAgICAgICAgVGhlIGlkZWEgb2YgYW5pbWF0aW5nIGlubmVyIGNpcmNsZSBpcyBiYXNlZCBvbiBQb2x5bWVyIChcIm1hdGVyaWFsXCIpIGxvYWRpbmcgaW5kaWNhdG9yXG4gICAgICAgICAgICAgICBieSBLZWFudSBMZWUgaHR0cHM6Ly9ibG9nLmtlYW51bGVlLmNvbS8yMDE0LzEwLzIwL3RoZS10YWxlLW9mLXRocmVlLXNwaW5uZXJzLmh0bWxcbiAgICAgICAgICAqL1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogN3B4O1xuICAgIGhlaWdodDogMTRweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4ucHN3cC0tY3NzX2FuaW1hdGlvbiAucHN3cF9fcHJlbG9hZGVyX19kb251dCB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogMTRweDtcbiAgICBoZWlnaHQ6IDE0cHg7XG4gICAgYm9yZGVyOiAycHggc29saWQgI2ZmZjtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYm9yZGVyLWxlZnQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIG1hcmdpbjogMDtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyNHB4KSB7XG4gICAgLnBzd3BfX3ByZWxvYWRlciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICB9XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBjbG9ja3dpc2Uge1xuICAgIDAlIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIGNsb2Nrd2lzZSB7XG4gICAgMCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgICB9XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBkb251dC1yb3RhdGUge1xuICAgIDAlIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgfVxuICAgIDUwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTE0MGRlZyk7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC0xNDBkZWcpO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIGRvbnV0LXJvdGF0ZSB7XG4gICAgMCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDApO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICB9XG4gICAgNTAlIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtMTQwZGVnKTtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTE0MGRlZyk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDApO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICB9XG59XG5cbi8qXG5cblx0Ni4gQWRkaXRpb25hbCBzdHlsZXNcblxuICovXG4vKiByb290IGVsZW1lbnQgb2YgVUkgKi9cbi5wc3dwX191aSB7XG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYXV0bztcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgei1pbmRleDogMTU1MDtcbn1cblxuLyogdG9wIGJsYWNrIGJhciB3aXRoIGJ1dHRvbnMgYW5kIFwiMSBvZiBYXCIgaW5kaWNhdG9yICovXG4ucHN3cF9fdG9wLWJhciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIGhlaWdodDogNDRweDtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLnBzd3BfX2NhcHRpb24sXG4ucHN3cF9fdG9wLWJhcixcbi5wc3dwLS1oYXNfbW91c2UgLnBzd3BfX2J1dHRvbi0tYXJyb3ctLWxlZnQsXG4ucHN3cC0taGFzX21vdXNlIC5wc3dwX19idXR0b24tLWFycm93LS1yaWdodCB7XG4gICAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgd2lsbC1jaGFuZ2U6IG9wYWNpdHk7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAzMzNtcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIyLCAxKTtcbn1cblxuLyogcHN3cC0taGFzX21vdXNlIGNsYXNzIGlzIGFkZGVkIG9ubHkgd2hlbiB0d28gc3Vic2VxdWVudCBtb3VzZW1vdmUgZXZlbnRzIG9jY3VyICovXG4ucHN3cC0taGFzX21vdXNlIC5wc3dwX19idXR0b24tLWFycm93LS1sZWZ0LFxuLnBzd3AtLWhhc19tb3VzZSAucHN3cF9fYnV0dG9uLS1hcnJvdy0tcmlnaHQge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG59XG5cbi5wc3dwX190b3AtYmFyLFxuLnBzd3BfX2NhcHRpb24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTtcbn1cblxuLyogcHN3cF9fdWktLWZpdCBjbGFzcyBpcyBhZGRlZCB3aGVuIG1haW4gaW1hZ2UgXCJmaXRzXCIgYmV0d2VlbiB0b3AgYmFyIGFuZCBib3R0b20gYmFyIChjYXB0aW9uKSAqL1xuLnBzd3BfX3VpLS1maXQgLnBzd3BfX3RvcC1iYXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7XG59XG5cbi5wc3dwX191aS0tZml0IC5wc3dwX19jYXB0aW9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApO1xufVxuXG4vKiBwc3dwX191aS0taWRsZSBjbGFzcyBpcyBhZGRlZCB3aGVuIG1vdXNlIGlzbid0IG1vdmluZyBmb3Igc2V2ZXJhbCBzZWNvbmRzIChKUyBvcHRpb24gdGltZVRvSWRsZSkgKi9cbi5wc3dwX191aS0taWRsZSAucHN3cF9fdG9wLWJhciB7XG4gICAgb3BhY2l0eTogMDtcbn1cblxuLnBzd3BfX3VpLS1pZGxlIC5wc3dwX19idXR0b24tLWFycm93LS1sZWZ0LFxuLnBzd3BfX3VpLS1pZGxlIC5wc3dwX19idXR0b24tLWFycm93LS1yaWdodCB7XG4gICAgb3BhY2l0eTogMDtcbn1cblxuLypcblx0cHN3cF9fdWktLWhpZGRlbiBjbGFzcyBpcyBhZGRlZCB3aGVuIGNvbnRyb2xzIGFyZSBoaWRkZW5cblx0ZS5nLiB3aGVuIHVzZXIgdGFwcyB0byB0b2dnbGUgdmlzaWJpbGl0eSBvZiBjb250cm9sc1xuKi9cbi5wc3dwX191aS0taGlkZGVuIC5wc3dwX190b3AtYmFyLFxuLnBzd3BfX3VpLS1oaWRkZW4gLnBzd3BfX2NhcHRpb24sXG4ucHN3cF9fdWktLWhpZGRlbiAucHN3cF9fYnV0dG9uLS1hcnJvdy0tbGVmdCxcbi5wc3dwX191aS0taGlkZGVuIC5wc3dwX19idXR0b24tLWFycm93LS1yaWdodCB7XG4gICAgLyogRm9yY2UgcGFpbnQgJiBjcmVhdGUgY29tcG9zaXRpb24gbGF5ZXIgZm9yIGNvbnRyb2xzLiAqL1xuICAgIG9wYWNpdHk6IDAuMDAxO1xufVxuXG4vKiBwc3dwX191aS0tb25lLXNsaWRlIGNsYXNzIGlzIGFkZGVkIHdoZW4gdGhlcmUgaXMganVzdCBvbmUgaXRlbSBpbiBnYWxsZXJ5ICovXG4ucHN3cF9fdWktLW9uZS1zbGlkZSAucHN3cF9fYnV0dG9uLS1hcnJvdy0tbGVmdCxcbi5wc3dwX191aS0tb25lLXNsaWRlIC5wc3dwX19idXR0b24tLWFycm93LS1yaWdodCxcbi5wc3dwX191aS0tb25lLXNsaWRlIC5wc3dwX19jb3VudGVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4ucHN3cF9fZWxlbWVudC0tZGlzYWJsZWQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLnBzd3AtLW1pbmltYWwtLWRhcmsgLnBzd3BfX3RvcC1iYXIge1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PSBtb2Rcbi5wc3dwIHtcbiAgICB6LWluZGV4OiAxOTAwO1xufVxuXG4ucGhvdG9zd2lwZS1pbWFnZSB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4ucHMtZ2FsbGVyeSA+IC5waG90b3N3aXBlLWltYWdlLm5vLXRodW1ibmFpbCB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2lkdGg6IDFweDtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgei1pbmRleDogLTE7XG5cbiAgICAucHN3cC0tdmlzaWJsZSB+ICYge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICB9XG5cbiAgICBpbWcge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cblxufVxuLnBzd3BfX3VpLS1maXQgLnBzd3BfX2NhcHRpb24sXG4ucHN3cF9fdWktLWZpdCAucHN3cF9fdG9wLWJhciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgjMjAxZDFkLCAuNSk7XG59XG5cbi5wc3dwX19jYXB0aW9uIHtcbiAgICBoMSwgaDIsIGgzLCBoNCwgaDUsIGg2LCBwIHtcbiAgICAgICAgY29sb3I6ICNlZWU7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgIC5nYWxsZXJ5LXNldF9fY291bnQge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cblxuLnBzd3BfX2NhcHRpb25fX2NlbnRlciB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuXG4gICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi1sZykge1xuICAgICAgICBwYWRkaW5nOiAxNXB4IDEwcHggMjhweCAxMHB4O1xuICAgICAgICBtYXgtd2lkdGg6IDY2JTtcbiAgICB9XG5cbiAgICBAbWVkaWEobWluLXdpZHRoOiAxOTAwcHgpIHtcbiAgICAgICAgbWF4LXdpZHRoOiA2MyU7XG4gICAgfVxuXG4gICAgQG1lZGlhKG1pbi13aWR0aDogMjAwMHB4KSB7XG4gICAgICAgIG1heC13aWR0aDogNjQlO1xuICAgIH1cbn1cbiIsIkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnZmlsZS10eXBlcyc7XG4gICAgc3JjOiB1cmwoJy4uLy4uL2ZvbnRzL2ZpbGUtdHlwZXMvZmlsZS10eXBlcy53b2ZmJykgZm9ybWF0KCd3b2ZmJyk7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5cbltjbGFzc149XCJpY29uLWZpbGVcIl0sIFtjbGFzcyo9XCIgaWNvbi1maWxlXCJdIHtcbiAgICBmb250LWZhbWlseTogJ2ZpbGUtdHlwZXMnLCBzYW5zLXNlcmlmO1xuICAgIHNwZWFrOiBub25lO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtdmFyaWFudDogbm9ybWFsO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG59XG5cbi5pY29uLWZpbGUtc3ByZWFkc2hlZXQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTYwMFwiO1xufVxuXG4uaWNvbi1maWxlLWVtcHR5OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MjRcIjtcbn1cblxuLmljb24tZmlsZS10ZXh0OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MjZcIjtcbn1cblxuLmljb24tZmlsZS1waWN0dXJlOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MjdcIjtcbn1cblxuLmljb24tZmlsZS1tdXNpYzpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTI4XCI7XG59XG5cbi5pY29uLWZpbGUtdmlkZW86YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkyYVwiO1xufVxuXG4uaWNvbi1maWxlLWFyY2hpdmU6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkyYlwiO1xufVxuXG4uaWNvbi1maWxlLXBkZjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlYWRhXCI7XG59XG5cbi8vIGhyZWYgaWNvbnNcblxuLmljby1saW5rIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlxcZTkyNFwiO1xuICAgICAgICBmb250LWZhbWlseTogJ2ZpbGUtdHlwZXMnLCBzYW5zLXNlcmlmO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogN3B4O1xuICAgICAgICBtYXJnaW4tbGVmdDogN3B4O1xuICAgICAgICBzcGVhazogbm9uZTtcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICAgICAgZm9udC1zaXplOiAyOHB4O1xuICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICB9XG59XG5cbltocmVmKj1cIi5wZGZcIl0sXG5baHJlZio9XCIuUERGXCJdIHtcbiAgICAuaWNvLWxpbms6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcXGVhZGFcIjtcbiAgICB9XG59XG5cbltocmVmKj1cIi5kb2NcIl0sIFtocmVmKj1cIi5ET0NcIl0sIFtocmVmKj1cIi50eHRcIl0sIFtocmVmKj1cIi5UWFRcIl0sIFtocmVmKj1cIi5ydGZcIl0sIFtocmVmKj1cIi5SVEZcIl0sIFtocmVmKj1cIi5kb2N4XCJdLCBbaHJlZio9XCIuRE9DWFwiXSxbaHJlZio9XCIub2R0XCJdLCBbaHJlZio9XCIuT0RUXCJdIHtcbiAgICAuaWNvLWxpbms6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcXGU5MjZcIjtcbiAgICB9XG59XG5cbltocmVmKj1cIi5tcDNcIl0sIFtocmVmKj1cIi53YXZcIl0sIFtocmVmKj1cIi5hYWNcIl0sXG5baHJlZio9XCIuTVAzXCJdLCBbaHJlZio9XCIuV0FWXCJdLCBbaHJlZio9XCIuQUFDXCJdIHtcbiAgICAuaWNvLWxpbms6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcXGU5MjhcIjtcbiAgICB9XG59XG5cbltocmVmKj1cIi5hdmlcIl0sIFtocmVmKj1cIi5tcDRcIl0sIFtocmVmKj1cIi5tcGdcIl0sIFtocmVmKj1cIi5tb3ZcIl0sIFtocmVmKj1cIi5tcGVnXCJdLCBbaHJlZio9XCIucHB0XCJdLCBbaHJlZio9XCIucHB0eFwiXSwgW2hyZWYqPVwiLm9nZ1wiXSxcbltocmVmKj1cIi5BVklcIl0sIFtocmVmKj1cIi5NUDRcIl0sIFtocmVmKj1cIi5NUEdcIl0sIFtocmVmKj1cIi5NT1ZcIl0sIFtocmVmKj1cIi5NUEVHXCJdLCBbaHJlZio9XCIuUFBUXCJdLCBbaHJlZio9XCIuUFBUWFwiXSwgW2hyZWYqPVwiLk9HR1wiXSB7XG4gICAgLmljby1saW5rOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXFxlOTJhXCI7XG4gICAgfVxufVxuXG5baHJlZio9XCIuemlwXCJdLCBbaHJlZio9XCIucmFyXCJdLCBbaHJlZio9XCIuN3pcIl0sIFtocmVmKj1cIi50YXJcIl0sIFtocmVmKj1cIi5nelwiXSxcbltocmVmKj1cIi5aSVBcIl0sIFtocmVmKj1cIi5SQVJcIl0sIFtocmVmKj1cIi43WlwiXSwgW2hyZWYqPVwiLlRBUlwiXSwgW2hyZWYqPVwiLkdaXCJdIHtcbiAgICAuaWNvLWxpbms6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcXGU5MmJcIjtcbiAgICB9XG59XG5cbltocmVmKj1cIi5jc3ZcIl0sIFtocmVmKj1cIi54bHNcIl0sIFtocmVmKj1cIi54bHN4XCJdLCBbaHJlZio9XCIuc3hjXCJdLFxuW2hyZWYqPVwiLkNTVlwiXSwgW2hyZWYqPVwiLlhMU1wiXSwgW2hyZWYqPVwiLlhMU1hcIl0sIFtocmVmKj1cIi5TWENcIl0sIFtocmVmKj1cIi5vZHNcIl0sIFtocmVmKj1cIi5PRFNcIl0ge1xuICAgIC5pY28tbGluazpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlxcZTYwMFwiO1xuICAgIH1cbn1cblxuLy8gc3RhcmUgbmF6ZXduaWN0d28gZXpcblxuLmNvbnRlbnRfdHlwZV9wZGY6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZWFkYVwiO1xufVxuXG4uY29udGVudF90eXBlX3ZuZF9tcy1leGNlbDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlNjAwXCI7XG59XG5cbi5jb250ZW50X3R5cGVfemlwOmJlZm9yZSxcbi5jb250ZW50X3R5cGVfcmFyOmJlZm9yZSxcbi5jb250ZW50X3R5cGVfeC1nemlwOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MmJcIjtcbn1cblxuLmNvbnRlbnRfdHlwZV92aWRlbzpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTJhXCI7XG59XG5cbi5jb250ZW50X3R5cGVfaW1hZ2U6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkyN1wiO1xufVxuXG4uY29udGVudF90eXBlX3ZuZF9vYXNpc19vcGVuZG9jdW1lbnRfc3ByZWFkc2hlZXQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTYwMFwiO1xufVxuXG4uY29udGVudF90eXBlX3BkZjI6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZWFkYVwiO1xufVxuXG4uY29udGVudF90eXBlX3ZuZF9tcy1wb3dlcnBvaW50OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MmFcIjtcbn1cblxuLmNvbnRlbnRfdHlwZV9wbGFpbjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTI0XCI7XG59XG5cbi5jb250ZW50X3R5cGVfYXVkaW86YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkyOFwiO1xufVxuXG4uY29udGVudF90eXBlX21zd29yZDpiZWZvcmUsXG4uY29udGVudF90eXBlX3J0ZjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTI2XCI7XG59XG5cbiIsIiRnYWxsZXJ5LW1vZHVsZS1lbmFibGVkOiB0cnVlO1xuXG4vLyBnYWxsZXJ5XG5cbiRnYWxsZXJ5LXNwYWNlLXRvcC1waG9uZTogMDtcbiRnYWxsZXJ5LXNwYWNlLXRvcC10YWJsZXQ6IDA7XG4kZ2FsbGVyeS1zcGFjZS10b3AtZGVza3RvcDogMDtcblxuJGdhbGxlcnktc3BhY2UtYm90dG9tLXBob25lOiAzMHB4O1xuJGdhbGxlcnktc3BhY2UtYm90dG9tLXRhYmxldDogMzBweDtcbiRnYWxsZXJ5LXNwYWNlLWJvdHRvbS1kZXNrdG9wOiAzMHB4O1xuXG4kZ2FsbGVyeS1ndXR0ZXItcGhvbmU6IDExLjVweDtcbiRnYWxsZXJ5LWd1dHRlci10YWJsZXQ6IDcuNXB4O1xuJGdhbGxlcnktZ3V0dGVyLWRlc2t0b3A6IDhweDtcblxuLy8gZGlzcGxheSBmaWdjYXB0aW9uIHBhcmFtZXRlcjogdGFibGUtY2FwdGlvbiBvciBub25lXG4kZ2FsbGVyeS1maWdjYXB0aW9uLWRpc3BsYXktcGhvbmU6IG5vbmU7XG4kZ2FsbGVyeS1maWdjYXB0aW9uLWRpc3BsYXktdGFibGV0OiBub25lO1xuJGdhbGxlcnktZmlnY2FwdGlvbi1kaXNwbGF5LWRlc2t0b3A6IG5vbmU7XG5cbi5hcnJhbmdlbWVudCB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi10b3A6ICRnYWxsZXJ5LXNwYWNlLXRvcC1waG9uZTtcbiAgICBtYXJnaW4tYm90dG9tOiAkZ2FsbGVyeS1zcGFjZS1ib3R0b20tcGhvbmU7XG4gICAgY2xlYXI6IGJvdGg7XG5cbiAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXNtKSB7XG4gICAgICAgIG1hcmdpbi10b3A6ICRnYWxsZXJ5LXNwYWNlLXRvcC10YWJsZXQ7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRnYWxsZXJ5LXNwYWNlLWJvdHRvbS10YWJsZXQ7XG4gICAgfVxuICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4teGwpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogJGdhbGxlcnktc3BhY2UtdG9wLWRlc2t0b3A7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRnYWxsZXJ5LXNwYWNlLWJvdHRvbS1kZXNrdG9wO1xuICAgIH1cblxuICAgICZfX2NvbnRlbnQge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgICAgICBwYWRkaW5nOiAwICRnYWxsZXJ5LWd1dHRlci1waG9uZSAkZ2FsbGVyeS1ndXR0ZXItcGhvbmUgJGdhbGxlcnktZ3V0dGVyLXBob25lO1xuICAgICAgICBtYXJnaW46IC0jeyRnYWxsZXJ5LWd1dHRlci1waG9uZSoyfTtcblxuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXNtKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwICRnYWxsZXJ5LWd1dHRlci10YWJsZXQgJGdhbGxlcnktZ3V0dGVyLXRhYmxldCAkZ2FsbGVyeS1ndXR0ZXItdGFibGV0O1xuICAgICAgICAgICAgbWFyZ2luOiAtI3skZ2FsbGVyeS1ndXR0ZXItdGFibGV0KjJ9O1xuICAgICAgICB9XG4gICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4teGwpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgJGdhbGxlcnktZ3V0dGVyLWRlc2t0b3AgJGdhbGxlcnktZ3V0dGVyLWRlc2t0b3AgJGdhbGxlcnktZ3V0dGVyLWRlc2t0b3A7XG4gICAgICAgICAgICBtYXJnaW46IC0jeyRnYWxsZXJ5LWd1dHRlci1kZXNrdG9wKjJ9O1xuICAgICAgICB9XG5cbiAgICAgICAgPiBkaXYsXG4gICAgICAgID4gZmlndXJlIHtcbiAgICAgICAgICAgIG1hcmdpbjogJGdhbGxlcnktZ3V0dGVyLXBob25lO1xuXG4gICAgICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXNtKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAkZ2FsbGVyeS1ndXR0ZXItdGFibGV0O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi14bCkge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogJGdhbGxlcnktZ3V0dGVyLWRlc2t0b3A7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5maWd1cmVfX2ltYWdlIHtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5maWd1cmVfX2ZpZ2NhcHRpb24ge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6ICRnYWxsZXJ5LWZpZ2NhcHRpb24tZGlzcGxheS1waG9uZTtcblxuICAgICAgICAgICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4teHMpIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogJGdhbGxlcnktZmlnY2FwdGlvbi1kaXNwbGF5LXRhYmxldDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi14bCkge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiAkZ2FsbGVyeS1maWdjYXB0aW9uLWRpc3BsYXktZGVza3RvcDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBmaWd1cmUge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS0xeCB7XG4gICAgICAgIC5hcnJhbmdlbWVudF9fY29udGVudCA+IGRpdixcbiAgICAgICAgLmFycmFuZ2VtZW50X19jb250ZW50ID4gZmlndXJlIHtcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAjeyRnYWxsZXJ5LWd1dHRlci1waG9uZSoyfSk7XG5cbiAgICAgICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4teHMpIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gI3skZ2FsbGVyeS1ndXR0ZXItcGhvbmUqMn0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi1zbSkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAjeyRnYWxsZXJ5LWd1dHRlci10YWJsZXQqMn0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi14bCkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAjeyRnYWxsZXJ5LWd1dHRlci1kZXNrdG9wKjJ9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAmLS0yeCB7XG4gICAgICAgIC5hcnJhbmdlbWVudF9fY29udGVudCA+IGRpdixcbiAgICAgICAgLmFycmFuZ2VtZW50X19jb250ZW50ID4gZmlndXJlIHtcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKDUwJSAtICN7JGdhbGxlcnktZ3V0dGVyLXBob25lKjJ9KTtcblxuICAgICAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi14cykge1xuICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDUwJSAtICN7JGdhbGxlcnktZ3V0dGVyLXBob25lKjJ9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tc20pIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogY2FsYyg1MCUgLSAjeyRnYWxsZXJ5LWd1dHRlci10YWJsZXQqMn0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi14bCkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDUwJSAtICN7JGdhbGxlcnktZ3V0dGVyLWRlc2t0b3AqMn0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgICYtLTN4IHtcbiAgICAgICAgLmFycmFuZ2VtZW50X19jb250ZW50ID4gZGl2LFxuICAgICAgICAuYXJyYW5nZW1lbnRfX2NvbnRlbnQgPiBmaWd1cmUge1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoMzMuMzMzJSAtICN7JGdhbGxlcnktZ3V0dGVyLXBob25lKjJ9KTtcblxuICAgICAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi14cykge1xuICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDMzLjMzMyUgLSAjeyRnYWxsZXJ5LWd1dHRlci1waG9uZSoyfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXNtKSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoMzMuMzMzJSAtICN7JGdhbGxlcnktZ3V0dGVyLXRhYmxldCoyfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXhsKSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoMzMuMzMzJSAtICN7JGdhbGxlcnktZ3V0dGVyLWRlc2t0b3AqMn0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgICYtLTR4IHtcbiAgICAgICAgLmFycmFuZ2VtZW50X19jb250ZW50ID4gZGl2LFxuICAgICAgICAuYXJyYW5nZW1lbnRfX2NvbnRlbnQgPiBmaWd1cmUge1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gI3skZ2FsbGVyeS1ndXR0ZXItcGhvbmUqMn0pO1xuXG4gICAgICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXhzKSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gI3skZ2FsbGVyeS1ndXR0ZXItcGhvbmUqMn0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi1zbSkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDI1JSAtICN7JGdhbGxlcnktZ3V0dGVyLXRhYmxldCoyfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXhsKSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoMjUlIC0gI3skZ2FsbGVyeS1ndXR0ZXItZGVza3RvcCoyfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgJi0tNXgge1xuICAgICAgICAuYXJyYW5nZW1lbnRfX2NvbnRlbnQgPiBkaXYsXG4gICAgICAgIC5hcnJhbmdlbWVudF9fY29udGVudCA+IGZpZ3VyZSB7XG4gICAgICAgICAgICB3aWR0aDogY2FsYygyNSUgLSAjeyRnYWxsZXJ5LWd1dHRlci1waG9uZSoyfSk7XG5cbiAgICAgICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4teHMpIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogY2FsYygyMCUgLSAjeyRnYWxsZXJ5LWd1dHRlci1waG9uZSoyfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXNtKSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoMjAlIC0gI3skZ2FsbGVyeS1ndXR0ZXItdGFibGV0KjJ9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4teGwpIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogY2FsYygyMCUgLSAjeyRnYWxsZXJ5LWd1dHRlci1kZXNrdG9wKjJ9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAmLS02eCB7XG4gICAgICAgIC5hcnJhbmdlbWVudF9fY29udGVudCA+IGRpdixcbiAgICAgICAgLmFycmFuZ2VtZW50X19jb250ZW50ID4gZmlndXJlIHtcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKDI1JSAtICN7JGdhbGxlcnktZ3V0dGVyLXBob25lKjJ9KTtcblxuICAgICAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi14cykge1xuICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDE2LjY2NiUgLSAjeyRnYWxsZXJ5LWd1dHRlci1waG9uZSoyfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXNtKSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTYuNjY2JSAtICN7JGdhbGxlcnktZ3V0dGVyLXRhYmxldCoyfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXhsKSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTYuNjY2JSAtICN7JGdhbGxlcnktZ3V0dGVyLWRlc2t0b3AqMn0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgICYtLTd4IHtcbiAgICAgICAgLmFycmFuZ2VtZW50X19jb250ZW50ID4gZGl2LFxuICAgICAgICAuYXJyYW5nZW1lbnRfX2NvbnRlbnQgPiBmaWd1cmUge1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoMjUlIC0gI3skZ2FsbGVyeS1ndXR0ZXItcGhvbmUqMn0pO1xuXG4gICAgICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXhzKSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTYuNjY2JSAtICN7JGdhbGxlcnktZ3V0dGVyLXBob25lKjJ9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tc20pIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogY2FsYygxNC4yODUlIC0gI3skZ2FsbGVyeS1ndXR0ZXItdGFibGV0KjJ9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4teGwpIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogY2FsYygxNC4yODUlIC0gI3skZ2FsbGVyeS1ndXR0ZXItZGVza3RvcCoyfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgJi0tOHgge1xuICAgICAgICAuYXJyYW5nZW1lbnRfX2NvbnRlbnQgPiBkaXYsXG4gICAgICAgIC5hcnJhbmdlbWVudF9fY29udGVudCA+IGZpZ3VyZSB7XG4gICAgICAgICAgICB3aWR0aDogY2FsYygyNSUgLSAjeyRnYWxsZXJ5LWd1dHRlci1waG9uZSoyfSk7XG5cbiAgICAgICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4teHMpIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogY2FsYygxNi42NjYlIC0gI3skZ2FsbGVyeS1ndXR0ZXItcGhvbmUqMn0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi1zbSkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEyLjUlIC0gI3skZ2FsbGVyeS1ndXR0ZXItdGFibGV0KjJ9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4teGwpIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogY2FsYygxMi41JSAtICN7JGdhbGxlcnktZ3V0dGVyLWRlc2t0b3AqMn0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgICYtLTl4IHtcbiAgICAgICAgLmFycmFuZ2VtZW50X19jb250ZW50ID4gZGl2LFxuICAgICAgICAuYXJyYW5nZW1lbnRfX2NvbnRlbnQgPiBmaWd1cmUge1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoMjUlIC0gI3skZ2FsbGVyeS1ndXR0ZXItcGhvbmUqMn0pO1xuXG4gICAgICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXhzKSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTYuNjY2JSAtICN7JGdhbGxlcnktZ3V0dGVyLXBob25lKjJ9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tc20pIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogY2FsYygxMS4xMTElIC0gI3skZ2FsbGVyeS1ndXR0ZXItdGFibGV0KjJ9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4teGwpIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogY2FsYygxMS4xMTElIC0gI3skZ2FsbGVyeS1ndXR0ZXItZGVza3RvcCoyfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgJi0tMTB4IHtcbiAgICAgICAgLmFycmFuZ2VtZW50X19jb250ZW50ID4gZGl2LFxuICAgICAgICAuYXJyYW5nZW1lbnRfX2NvbnRlbnQgPiBmaWd1cmUge1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoMjUlIC0gI3skZ2FsbGVyeS1ndXR0ZXItcGhvbmUqMn0pO1xuXG4gICAgICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXhzKSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTYuNjY2JSAtICN7JGdhbGxlcnktZ3V0dGVyLXBob25lKjJ9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tc20pIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogY2FsYygxMCUgLSAjeyRnYWxsZXJ5LWd1dHRlci10YWJsZXQqMn0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi14bCkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwJSAtICN7JGdhbGxlcnktZ3V0dGVyLWRlc2t0b3AqMn0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4iLCIudG9hc3RzIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIC8vIHotaW5kZXg6IDE4MTI7IGNoYW5nZWQgdG8gYmUgb3ZlciBtb2RhbFxuICAgIHotaW5kZXg6IDE5MTI7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG5cbiAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLW1kKSB7XG4gICAgICAgIC8vIHotaW5kZXg6IDEyO1xuICAgICAgICB6LWluZGV4OiAxOTEyO1xuICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgaGVpZ2h0OiAxMDB2aDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgfVxufVxuXG4udG9hc3Qge1xuICAgIGNvbG9yOiAkcHJvamVjdC13aGl0ZTtcbiAgICBmb250LXdlaWdodDogMzAwO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgICBsaW5lLWhlaWdodDogMS40O1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKCRwcm9qZWN0LXdoaXRlLCAwLjUpO1xuICAgIGZsZXgtYmFzaXM6IGF1dG87XG5cbiAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLW1kKSB7XG4gICAgICAgIHdpZHRoOiAyNDBweDtcbiAgICAgICAgbWFyZ2luOiAyMHB4IDIwcHggMTBweCAwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvamVjdC1ncmVlbjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgICAgICBib3gtc2hhZG93OiAtM3B4IDNweCA2cHggcmdiYSgwLCAwLCAwLCAwLjEyKTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICB9XG4gICAgXG4gICAgJi50b2FzdC0td2FybmluZyB7XG4gICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tbWQpIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcm9qZWN0LXdhcm5pbmc7XG4gICAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgJi50b2FzdC0tYWxlcnQge1xuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLW1kKSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvamVjdC1lcnJvcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGEge1xuICAgICAgICBjb2xvcjogJHByb2plY3Qtd2hpdGU7XG4gICAgfVxuXG4gICAgJi1oZWFkZXIge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByb2plY3QtYmx1ZTtcbiAgICAgICAgY29sb3I6ICRwcm9qZWN0LXdoaXRlO1xuICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICBmb250LXNpemU6IDE2LjVweDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogNThweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDU4cHg7XG4gICAgICAgIHBhZGRpbmc6IDAgNTVweCAwIDUwcHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogLTNweDtcbiAgICBcbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi1tZCkge1xuICAgICAgICAgICAgcGFkZGluZzogMTVweCAyNXB4IDAgMTVweDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTlweDtcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIH1cbiAgICBcbiAgICAgICAgLnRvYXN0LS13YXJuaW5nICYge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByb2plY3Qtd2FybmluZztcbiAgICBcbiAgICAgICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tbWQpIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIFxuICAgICAgICAudG9hc3QtLWFsZXJ0ICYge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByb2plY3QtZXJyb3I7XG4gICAgXG4gICAgICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLW1kKSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICAgIHdpZHRoOiAxOHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAxOHB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogaWNvbnMtcHJvamVjdF9fY2hlY2stY2lyY2xlLWludmVydCgkcHJvamVjdC1ibHVlKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi1tZCkge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGljb25zLXByb2plY3RfX2NoZWNrLWNpcmNsZS1pbnZlcnQoJHByb2plY3QtZ3JlZW4pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgXG4gICAgICAgICAgICAudG9hc3QtLXdhcm5pbmcgJiB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGljb25zLW1hdGVyaWFsX193YXJuaW5nKCRwcm9qZWN0LXdoaXRlKTtcbiAgICBcbiAgICAgICAgICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLW1kKSB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGljb25zLW1hdGVyaWFsX193YXJuaW5nKCRwcm9qZWN0LXdoaXRlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgXG4gICAgICAgICAgICAudG9hc3QtLWFsZXJ0ICYge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBpY29ucy1tYXRlcmlhbF9fZXJyb3IoJHByb2plY3Qtd2hpdGUpO1xuICAgIFxuICAgICAgICAgICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tbWQpIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogaWNvbnMtbWF0ZXJpYWxfX2Vycm9yKCRwcm9qZWN0LXdoaXRlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLWJvZHkge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvamVjdC1ibHVlO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICAgICAgZm9udC1zaXplOiAxNi41cHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogNXB4IDIzcHggMjNweCAyM3B4O1xuICAgIFxuICAgICAgICAudG9hc3QtLXdhcm5pbmcgJiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvamVjdC13YXJuaW5nO1xuICAgICAgICB9XG4gICAgXG4gICAgICAgIC50b2FzdC0tYWxlcnQgJiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvamVjdC1lcnJvcjtcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tbWQpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDE1cHg7XG4gICAgICAgICAgICBmb250LXNpemU6IDE5cHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgfVxuICAgIFxuICAgICAgICAudG9hc3QtLXdhcm5pbmcgJiB7XG4gICAgICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLW1kKSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICBcbiAgICAgICAgLnRvYXN0LS1hbGVydCAmIHtcbiAgICAgICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tbWQpIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jbG9zZSB7XG4gICAgICAgIGNvbG9yOiAkcHJvamVjdC13aGl0ZTtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG59XG4iLCIubW9kYWwtZnVsbCB7XG5cbiAgICAubWRjLWRpYWxvZ19fc2NyaW0ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRwcm9qZWN0LW5hdnlibHVlLCAwLjUpO1xuICAgIH1cblxuICAgIC5tZGMtZGlhbG9nX19zdXJmYWNlIHtcbiAgICAgICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSA0MHB4KTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tc20pIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogNzIwcHg7XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLW1kKSB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDg4MHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi1sZykge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDgwcHg7XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXhsKSB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEyODBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4teHhsKSB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDE1MDBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2NvbnRlbnQge1xuICAgICAgICAubWRjLWRpYWxvZyAmIHtcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjJweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDVweDtcblxuICAgICAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi1zbSkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tbGcpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAyMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fY2xvc2Uge1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgei1pbmRleDogNTA7XG4gICAgICAgIHRvcDogMnB4O1xuICAgICAgICByaWdodDogMnB4O1xuICAgICAgICB3aWR0aDogNDhweDtcbiAgICAgICAgaGVpZ2h0OiA0OHB4O1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogaWNvbnMtcHJvamVjdF9fY2xvc2UoJHByb2plY3QtYmxhY2spO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDE4cHggMThweDtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuXG4gICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tc20pIHtcbiAgICAgICAgICAgIHRvcDogMjRweDtcbiAgICAgICAgICAgIHJpZ2h0OiAyNHB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAyMnB4IDIycHg7XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCJib2R5IHtcbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuXG4ubWFpbiB7XG4gICAgb3BhY2l0eTogMTtcbn1cblxuLnNsaWNrLXNsaWRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgXG4gICAgJi5wcm9kdWN0LWNhcmRfX2NvbnRyb2wge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIFxuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLW1kKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgIH1cbn0iLCIubW9kYWwtZnVsbC0tbmV3c2xldHRlciB7XG4gIC5tb2RhbC1mdWxsIHtcbiAgICAmX19jb250ZW50IHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgJl9fY2xvc2Uge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogaWNvbnMtcHJvamVjdF9fY2xvc2UoJHByb2plY3Qtd2hpdGUpO1xuICAgIH1cbiAgfVxuXG4gIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgIC5tZGMtZGlhbG9nX19zdXJmYWNlIHtcbiAgICAgIG1heC13aWR0aDogNzUwcHg7XG4gICAgfVxuICB9XG59XG5cbi5tb2RhbC1uZXdzbGV0dGVyIHtcbiAgJl9fcm93IHtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICYtLWNlbnRlciB7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICB9XG4gIH1cblxuICAmX19mb3JtIHtcbiAgICBwYWRkaW5nOiAwIDUwcHg7XG4gICAgbWFyZ2luLXRvcDogLTQ1cHg7XG5cbiAgICAubWRjLXRleHQtZmllbGQge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgJHByb2plY3QtdW5pY2VmO1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAuY3VzdG9tLXZhbGlkYXRpb24tdGV4dCB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBtYXJnaW46IGF1dG87XG4gICAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDI2cHgpO1xuICAgICAgYm90dG9tOiAtMTRweDtcbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDUwJSk7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNTAlKTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBmb250LXNpemU6IDEwLjVweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIHBhZGRpbmctbGVmdDogMnB4O1xuICAgICAgcGFkZGluZy1yaWdodDogMnB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAgICAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICBjb2xvcjogJHByb2plY3QtbmV3LXJlZCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5tZGMtdGV4dC1maWVsZC0taW52YWxpZCB7XG4gICAgICBib3JkZXItY29sb3I6ICRwcm9qZWN0LW5ldy1yZWQgIWltcG9ydGFudDtcblxuICAgICAgbGFiZWwge1xuICAgICAgICBjb2xvcjogJHByb2plY3QtbmV3LXJlZCAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5tZGMtY2hlY2tib3gtLWludmFsaWQge1xuICAgICAgJiB+IGxhYmVsIHtcbiAgICAgICAgY29sb3I6ICRwcm9qZWN0LW5ldy1yZWQgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAubWRjLXRleHQtZmllbGQtLWludmFsaWQgfiAuY3VzdG9tLXZhbGlkYXRpb24tdGV4dCxcbiAgICAubWRjLWNoZWNrYm94LS1pbnZhbGlkIH4gLmN1c3RvbS12YWxpZGF0aW9uLXRleHQge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG5cbiAgJl9fc2VuZCB7XG4gICAgd2lkdGg6IDYwJTtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIH1cblxuICAmX19pbmZvIHtcbiAgICBmb250LXdlaWdodDogMzAwO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBsaW5lLWhlaWdodDogMTZweDtcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICB9XG5cbiAgLnNpdGUtZm9ybSAubWRjLWZvcm0tZmllbGQtLWNoZWNrYm94IGxhYmVsIHtcbiAgICBmb250LXNpemU6IDE0cHggIWltcG9ydGFudDtcbiAgfVxuXG4gICZfX2ZpZ3VyZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgJl9fY2FudmFzIHtcbiAgICBtYXJnaW46IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgJl9faW1nIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcblxuICAgIGNhbnZhcyArIHBpY3R1cmUgJiB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgdG9wOiAwO1xuICAgIH1cbiAgfVxufVxuXG4ubW9kYWwtbmV3c2xldHRlci10aGFua3Mge1xuICAmX19maWd1cmUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gICZfX2NhbnZhcyB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gICZfX2ltZyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG5cbiAgICBjYW52YXMgKyBwaWN0dXJlICYge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHRvcDogMDtcbiAgICB9XG4gIH1cbn0iLCIubWF0ZXJpYWxzLWxpc3Qge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIEBtZWRpYShtYXgtd2lkdGg6ICRzY3JlZW4tbWQgLSAwLjEpIHtcbiAgICAgICAgcGFkZGluZzogMCAyM3B4O1xuICAgIH1cblxuICAgICYtLWJvcmRlcmVkIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IGRvdHRlZCAkcHJvamVjdC1ibHVlO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgIH1cblxuICAgICZfX3RpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAyOHB4O1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuXG4gICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tbGcpIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDI4cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19idXR0b24ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4ICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgJl9fYnV0dG9uLWljb24ge1xuICAgICAgICB3aWR0aDogMjdweDtcbiAgICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBpY29ucy1wcm9qZWN0X19hcnJvdygkcHJvamVjdC1ncmF5LWw0MDApO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDI0cHggMjRweDtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IC4ycztcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgICB9XG59IiwiLm1hdGVyaWFsIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4ICFpbXBvcnRhbnQ7XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm90dG9tOiA4MHB4O1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApIDgwJSwgcmdiYSgkcHJvamVjdC1uYXZ5Ymx1ZSwgLjgpIDEwMCUpO1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICB0cmFuc2l0aW9uOiBib3R0b20gMzAwbXMgZWFzZSAwcztcblxuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLWxnKSB7XG4gICAgICAgICAgICBib3R0b206IDk1cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19jYW52YXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvamVjdC1wYW50b25lLXdhcm0tZ3JleS0xO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICB9XG5cbiAgICAmX19vdmVybGF5IHtcbiAgICAgICAgdHJhbnNpdGlvbjogdG9wIDMwMG1zIGVhc2UgMHM7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiBjYWxjKDEwMCUgLSA4MHB4KTtcbiAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgcGFkZGluZzogMTVweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkcHJvamVjdC1uYXZ5Ymx1ZSwgLjgpO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tbGcpIHtcbiAgICAgICAgICAgIHRvcDogY2FsYygxMDAlIC0gOTVweCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgLm1hdGVyaWFsX19vdmVybGF5IHtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgYm90dG9tOiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fdGl0bGUge1xuICAgICAgICBjb2xvcjogJHByb2plY3Qtd2hpdGU7XG4gICAgICAgIG1hcmdpbjogMCAwIDEwcHg7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBtaW4taGVpZ2h0OiA1NXB4O1xuXG4gICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tbWQpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tbGcpIHtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDcwcHg7XG4gICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19maWd1cmUge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cblxuICAgICZfX2ltZyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG5cbiAgICAgICAgY2FudmFzICsgcGljdHVyZSAmIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19kZXNjcmlwdGlvbiB7XG4gICAgICAgIGNvbG9yOiAkcHJvamVjdC13aGl0ZTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDEwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZmxleC1ncm93OiAyO1xuICAgICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi14eHMpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLW1kKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLWxnKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19kZXNjcmlwdGlvbi10ZXh0IHtcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgICAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAtd2Via2l0LWxpbmUtY2xhbXA6IDM7XG5cbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi14cykge1xuICAgICAgICAgICAgLXdlYmtpdC1saW5lLWNsYW1wOiA1O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fbW9yZSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDQ1cHg7XG4gICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgkcHJvamVjdC13aGl0ZSwgLjUpICFpbXBvcnRhbnQ7XG4gICAgICAgIGNvbG9yOiAkcHJvamVjdC13aGl0ZSAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6ICRwcm9qZWN0LW5hdnlibHVlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvamVjdC13aGl0ZTtcbiAgICAgICAgfVxuICAgIH1cbn0iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=*/