[class^=ant-]::-ms-clear,
[class*= ant-]::-ms-clear,
[class^=ant-] input::-ms-clear,
[class*= ant-] input::-ms-clear,
[class^=ant-] input::-ms-reveal,
[class*= ant-] input::-ms-reveal {
  display: none;
}
[class^=ant-],
[class*= ant-],
[class^=ant-] *,
[class*= ant-] *,
[class^=ant-] *::before,
[class*= ant-] *::before,
[class^=ant-] *::after,
[class*= ant-] *::after {
  box-sizing: border-box;
}
/* stylelint-disable at-rule-no-unknown */
html,
body {
  width: 100%;
  height: 100%;
}
input::-ms-clear,
input::-ms-reveal {
  display: none;
}
*,
*::before,
*::after {
  box-sizing: border-box;
}
html {
  font-family: sans-serif;
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  -ms-overflow-style: scrollbar;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
body {
  margin: 0;
  color: var(--uni-contrast-500);
  font-size: 14px;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';
  font-variant: tabular-nums;
  line-height: 1.5715;
  background-color: #000;
  font-feature-settings: 'tnum';
}
[tabindex='-1']:focus {
  outline: none !important;
}
hr {
  box-sizing: content-box;
  height: 0;
  overflow: visible;
}
h1,
h2,
h3,
h4,
h5,
h6 {
  margin-top: 0;
  margin-bottom: 0.5em;
  color: rgba(255, 255, 255, 0.85);
  font-weight: 500;
}
p {
  margin-top: 0;
  margin-bottom: 1em;
}
abbr[title],
abbr[data-original-title] {
  text-decoration: underline;
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
  border-bottom: 0;
  cursor: help;
}
address {
  margin-bottom: 1em;
  font-style: normal;
  line-height: inherit;
}
input[type='text'],
input[type='password'],
input[type='number'],
textarea {
  -webkit-appearance: none;
}
ol,
ul,
dl {
  margin-top: 0;
  margin-bottom: 1em;
}
ol ol,
ul ul,
ol ul,
ul ol {
  margin-bottom: 0;
}
dt {
  font-weight: 500;
}
dd {
  margin-bottom: 0.5em;
  margin-left: 0;
}
blockquote {
  margin: 0 0 1em;
}
dfn {
  font-style: italic;
}
b,
strong {
  font-weight: bolder;
}
small {
  font-size: 80%;
}
sub,
sup {
  position: relative;
  font-size: 75%;
  line-height: 0;
  vertical-align: baseline;
}
sub {
  bottom: -0.25em;
}
sup {
  top: -0.5em;
}
a {
  color: #177ddc;
  text-decoration: none;
  background-color: transparent;
  outline: none;
  cursor: pointer;
  transition: color 0.3s;
  -webkit-text-decoration-skip: objects;
}
a:hover {
  color: #165996;
}
a:active {
  color: #388ed3;
}
a:active,
a:hover {
  text-decoration: none;
  outline: 0;
}
a:focus {
  text-decoration: none;
  outline: 0;
}
a[disabled] {
  color: rgba(255, 255, 255, 0.3);
  cursor: not-allowed;
  pointer-events: none;
}
pre,
code,
kbd,
samp {
  font-size: 1em;
  font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, Courier, monospace;
}
pre {
  margin-top: 0;
  margin-bottom: 1em;
  overflow: auto;
}
figure {
  margin: 0 0 1em;
}
img {
  vertical-align: middle;
  border-style: none;
}
svg:not(:root) {
  overflow: hidden;
}
a,
area,
button,
[role='button'],
input:not([type='range']),
label,
select,
summary,
textarea {
  touch-action: manipulation;
}
table {
  border-collapse: collapse;
}
caption {
  padding-top: 0.75em;
  padding-bottom: 0.3em;
  color: rgba(255, 255, 255, 0.45);
  text-align: left;
  caption-side: bottom;
}
th {
  text-align: inherit;
}
input,
button,
select,
optgroup,
textarea {
  margin: 0;
  color: inherit;
  font-size: inherit;
  font-family: inherit;
  line-height: inherit;
}
button,
input {
  overflow: visible;
}
button,
select {
  text-transform: none;
}
button,
html [type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
}
button::-moz-focus-inner,
[type='button']::-moz-focus-inner,
[type='reset']::-moz-focus-inner,
[type='submit']::-moz-focus-inner {
  padding: 0;
  border-style: none;
}
input[type='radio'],
input[type='checkbox'] {
  box-sizing: border-box;
  padding: 0;
}
input[type='date'],
input[type='time'],
input[type='datetime-local'],
input[type='month'] {
  -webkit-appearance: listbox;
}
textarea {
  overflow: auto;
  resize: vertical;
}
fieldset {
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
}
legend {
  display: block;
  width: 100%;
  max-width: 100%;
  margin-bottom: 0.5em;
  padding: 0;
  color: inherit;
  font-size: 1.5em;
  line-height: inherit;
  white-space: normal;
}
progress {
  vertical-align: baseline;
}
[type='number']::-webkit-inner-spin-button,
[type='number']::-webkit-outer-spin-button {
  height: auto;
}
[type='search'] {
  outline-offset: -2px;
  -webkit-appearance: none;
}
[type='search']::-webkit-search-cancel-button,
[type='search']::-webkit-search-decoration {
  -webkit-appearance: none;
}
::-webkit-file-upload-button {
  font: inherit;
  -webkit-appearance: button;
}
output {
  display: inline-block;
}
summary {
  display: list-item;
}
template {
  display: none;
}
[hidden] {
  display: none !important;
}
mark {
  padding: 0.2em;
  background-color: #2b2611;
}
::-moz-selection {
  color: #fff;
  background: #177ddc;
}
::selection {
  color: #fff;
  background: #177ddc;
}
.clearfix::before {
  display: table;
  content: '';
}
.clearfix::after {
  display: table;
  clear: both;
  content: '';
}
.anticon {
  display: inline-block;
  color: inherit;
  font-style: normal;
  line-height: 0;
  text-align: center;
  text-transform: none;
  vertical-align: -0.125em;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.anticon > * {
  line-height: 1;
}
.anticon svg {
  display: inline-block;
}
.anticon::before {
  display: none;
}
.anticon .anticon-icon {
  display: block;
}
.anticon[tabindex] {
  cursor: pointer;
}
.anticon-spin::before {
  display: inline-block;
  -webkit-animation: loadingCircle 1s infinite linear;
          animation: loadingCircle 1s infinite linear;
}
.anticon-spin {
  display: inline-block;
  -webkit-animation: loadingCircle 1s infinite linear;
          animation: loadingCircle 1s infinite linear;
}
.fade-enter,
.fade-appear {
  -webkit-animation-duration: 0.2s;
          animation-duration: 0.2s;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
  -webkit-animation-play-state: paused;
          animation-play-state: paused;
}
.fade-leave {
  -webkit-animation-duration: 0.2s;
          animation-duration: 0.2s;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
  -webkit-animation-play-state: paused;
          animation-play-state: paused;
}
.fade-enter.fade-enter-active,
.fade-appear.fade-appear-active {
  -webkit-animation-name: antFadeIn;
          animation-name: antFadeIn;
  -webkit-animation-play-state: running;
          animation-play-state: running;
}
.fade-leave.fade-leave-active {
  -webkit-animation-name: antFadeOut;
          animation-name: antFadeOut;
  -webkit-animation-play-state: running;
          animation-play-state: running;
  pointer-events: none;
}
.fade-enter,
.fade-appear {
  opacity: 0;
  -webkit-animation-timing-function: linear;
          animation-timing-function: linear;
}
.fade-leave {
  -webkit-animation-timing-function: linear;
          animation-timing-function: linear;
}
@-webkit-keyframes antFadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes antFadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@-webkit-keyframes antFadeOut {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@keyframes antFadeOut {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
.move-up-enter,
.move-up-appear {
  -webkit-animation-duration: 0.2s;
          animation-duration: 0.2s;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
  -webkit-animation-play-state: paused;
          animation-play-state: paused;
}
.move-up-leave {
  -webkit-animation-duration: 0.2s;
          animation-duration: 0.2s;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
  -webkit-animation-play-state: paused;
          animation-play-state: paused;
}
.move-up-enter.move-up-enter-active,
.move-up-appear.move-up-appear-active {
  -webkit-animation-name: antMoveUpIn;
          animation-name: antMoveUpIn;
  -webkit-animation-play-state: running;
          animation-play-state: running;
}
.move-up-leave.move-up-leave-active {
  -webkit-animation-name: antMoveUpOut;
          animation-name: antMoveUpOut;
  -webkit-animation-play-state: running;
          animation-play-state: running;
  pointer-events: none;
}
.move-up-enter,
.move-up-appear {
  opacity: 0;
  -webkit-animation-timing-function: cubic-bezier(0.08, 0.82, 0.17, 1);
          animation-timing-function: cubic-bezier(0.08, 0.82, 0.17, 1);
}
.move-up-leave {
  -webkit-animation-timing-function: cubic-bezier(0.6, 0.04, 0.98, 0.34);
          animation-timing-function: cubic-bezier(0.6, 0.04, 0.98, 0.34);
}
.move-down-enter,
.move-down-appear {
  -webkit-animation-duration: 0.2s;
          animation-duration: 0.2s;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
  -webkit-animation-play-state: paused;
          animation-play-state: paused;
}
.move-down-leave {
  -webkit-animation-duration: 0.2s;
          animation-duration: 0.2s;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
  -webkit-animation-play-state: paused;
          animation-play-state: paused;
}
.move-down-enter.move-down-enter-active,
.move-down-appear.move-down-appear-active {
  -webkit-animation-name: antMoveDownIn;
          animation-name: antMoveDownIn;
  -webkit-animation-play-state: running;
          animation-play-state: running;
}
.move-down-leave.move-down-leave-active {
  -webkit-animation-name: antMoveDownOut;
          animation-name: antMoveDownOut;
  -webkit-animation-play-state: running;
          animation-play-state: running;
  pointer-events: none;
}
.move-down-enter,
.move-down-appear {
  opacity: 0;
  -webkit-animation-timing-function: cubic-bezier(0.08, 0.82, 0.17, 1);
          animation-timing-function: cubic-bezier(0.08, 0.82, 0.17, 1);
}
.move-down-leave {
  -webkit-animation-timing-function: cubic-bezier(0.6, 0.04, 0.98, 0.34);
          animation-timing-function: cubic-bezier(0.6, 0.04, 0.98, 0.34);
}
.move-left-enter,
.move-left-appear {
  -webkit-animation-duration: 0.2s;
          animation-duration: 0.2s;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
  -webkit-animation-play-state: paused;
          animation-play-state: paused;
}
.move-left-leave {
  -webkit-animation-duration: 0.2s;
          animation-duration: 0.2s;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
  -webkit-animation-play-state: paused;
          animation-play-state: paused;
}
.move-left-enter.move-left-enter-active,
.move-left-appear.move-left-appear-active {
  -webkit-animation-name: antMoveLeftIn;
          animation-name: antMoveLeftIn;
  -webkit-animation-play-state: running;
          animation-play-state: running;
}
.move-left-leave.move-left-leave-active {
  -webkit-animation-name: antMoveLeftOut;
          animation-name: antMoveLeftOut;
  -webkit-animation-play-state: running;
          animation-play-state: running;
  pointer-events: none;
}
.move-left-enter,
.move-left-appear {
  opacity: 0;
  -webkit-animation-timing-function: cubic-bezier(0.08, 0.82, 0.17, 1);
          animation-timing-function: cubic-bezier(0.08, 0.82, 0.17, 1);
}
.move-left-leave {
  -webkit-animation-timing-function: cubic-bezier(0.6, 0.04, 0.98, 0.34);
          animation-timing-function: cubic-bezier(0.6, 0.04, 0.98, 0.34);
}
.move-right-enter,
.move-right-appear {
  -webkit-animation-duration: 0.2s;
          animation-duration: 0.2s;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
  -webkit-animation-play-state: paused;
          animation-play-state: paused;
}
.move-right-leave {
  -webkit-animation-duration: 0.2s;
          animation-duration: 0.2s;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
  -webkit-animation-play-state: paused;
          animation-play-state: paused;
}
.move-right-enter.move-right-enter-active,
.move-right-appear.move-right-appear-active {
  -webkit-animation-name: antMoveRightIn;
          animation-name: antMoveRightIn;
  -webkit-animation-play-state: running;
          animation-play-state: running;
}
.move-right-leave.move-right-leave-active {
  -webkit-animation-name: antMoveRightOut;
          animation-name: antMoveRightOut;
  -webkit-animation-play-state: running;
          animation-play-state: running;
  pointer-events: none;
}
.move-right-enter,
.move-right-appear {
  opacity: 0;
  -webkit-animation-timing-function: cubic-bezier(0.08, 0.82, 0.17, 1);
          animation-timing-function: cubic-bezier(0.08, 0.82, 0.17, 1);
}
.move-right-leave {
  -webkit-animation-timing-function: cubic-bezier(0.6, 0.04, 0.98, 0.34);
          animation-timing-function: cubic-bezier(0.6, 0.04, 0.98, 0.34);
}
@-webkit-keyframes antMoveDownIn {
  0% {
    transform: translateY(100%);
    transform-origin: 0 0;
    opacity: 0;
  }
  100% {
    transform: translateY(0%);
    transform-origin: 0 0;
    opacity: 1;
  }
}
@keyframes antMoveDownIn {
  0% {
    transform: translateY(100%);
    transform-origin: 0 0;
    opacity: 0;
  }
  100% {
    transform: translateY(0%);
    transform-origin: 0 0;
    opacity: 1;
  }
}
@-webkit-keyframes antMoveDownOut {
  0% {
    transform: translateY(0%);
    transform-origin: 0 0;
    opacity: 1;
  }
  100% {
    transform: translateY(100%);
    transform-origin: 0 0;
    opacity: 0;
  }
}
@keyframes antMoveDownOut {
  0% {
    transform: translateY(0%);
    transform-origin: 0 0;
    opacity: 1;
  }
  100% {
    transform: translateY(100%);
    transform-origin: 0 0;
    opacity: 0;
  }
}
@-webkit-keyframes antMoveLeftIn {
  0% {
    transform: translateX(-100%);
    transform-origin: 0 0;
    opacity: 0;
  }
  100% {
    transform: translateX(0%);
    transform-origin: 0 0;
    opacity: 1;
  }
}
@keyframes antMoveLeftIn {
  0% {
    transform: translateX(-100%);
    transform-origin: 0 0;
    opacity: 0;
  }
  100% {
    transform: translateX(0%);
    transform-origin: 0 0;
    opacity: 1;
  }
}
@-webkit-keyframes antMoveLeftOut {
  0% {
    transform: translateX(0%);
    transform-origin: 0 0;
    opacity: 1;
  }
  100% {
    transform: translateX(-100%);
    transform-origin: 0 0;
    opacity: 0;
  }
}
@keyframes antMoveLeftOut {
  0% {
    transform: translateX(0%);
    transform-origin: 0 0;
    opacity: 1;
  }
  100% {
    transform: translateX(-100%);
    transform-origin: 0 0;
    opacity: 0;
  }
}
@-webkit-keyframes antMoveRightIn {
  0% {
    transform: translateX(100%);
    transform-origin: 0 0;
    opacity: 0;
  }
  100% {
    transform: translateX(0%);
    transform-origin: 0 0;
    opacity: 1;
  }
}
@keyframes antMoveRightIn {
  0% {
    transform: translateX(100%);
    transform-origin: 0 0;
    opacity: 0;
  }
  100% {
    transform: translateX(0%);
    transform-origin: 0 0;
    opacity: 1;
  }
}
@-webkit-keyframes antMoveRightOut {
  0% {
    transform: translateX(0%);
    transform-origin: 0 0;
    opacity: 1;
  }
  100% {
    transform: translateX(100%);
    transform-origin: 0 0;
    opacity: 0;
  }
}
@keyframes antMoveRightOut {
  0% {
    transform: translateX(0%);
    transform-origin: 0 0;
    opacity: 1;
  }
  100% {
    transform: translateX(100%);
    transform-origin: 0 0;
    opacity: 0;
  }
}
@-webkit-keyframes antMoveUpIn {
  0% {
    transform: translateY(-100%);
    transform-origin: 0 0;
    opacity: 0;
  }
  100% {
    transform: translateY(0%);
    transform-origin: 0 0;
    opacity: 1;
  }
}
@keyframes antMoveUpIn {
  0% {
    transform: translateY(-100%);
    transform-origin: 0 0;
    opacity: 0;
  }
  100% {
    transform: translateY(0%);
    transform-origin: 0 0;
    opacity: 1;
  }
}
@-webkit-keyframes antMoveUpOut {
  0% {
    transform: translateY(0%);
    transform-origin: 0 0;
    opacity: 1;
  }
  100% {
    transform: translateY(-100%);
    transform-origin: 0 0;
    opacity: 0;
  }
}
@keyframes antMoveUpOut {
  0% {
    transform: translateY(0%);
    transform-origin: 0 0;
    opacity: 1;
  }
  100% {
    transform: translateY(-100%);
    transform-origin: 0 0;
    opacity: 0;
  }
}
@-webkit-keyframes loadingCircle {
  100% {
    transform: rotate(360deg);
  }
}
@keyframes loadingCircle {
  100% {
    transform: rotate(360deg);
  }
}
[ant-click-animating='true'],
[ant-click-animating-without-extra-node='true'] {
  position: relative;
}
html {
  --antd-wave-shadow-color: #177ddc;
  --scroll-bar: 0;
}
[ant-click-animating-without-extra-node='true']::after,
.ant-click-animating-node {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: block;
  border-radius: inherit;
  box-shadow: 0 0 0 0 #177ddc;
  box-shadow: 0 0 0 0 var(--antd-wave-shadow-color);
  opacity: 0.2;
  -webkit-animation: fadeEffect 2s cubic-bezier(0.08, 0.82, 0.17, 1), waveEffect 0.4s cubic-bezier(0.08, 0.82, 0.17, 1);
          animation: fadeEffect 2s cubic-bezier(0.08, 0.82, 0.17, 1), waveEffect 0.4s cubic-bezier(0.08, 0.82, 0.17, 1);
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  content: '';
  pointer-events: none;
}
@-webkit-keyframes waveEffect {
  100% {
    box-shadow: 0 0 0 #177ddc;
    box-shadow: 0 0 0 6px var(--antd-wave-shadow-color);
  }
}
@keyframes waveEffect {
  100% {
    box-shadow: 0 0 0 #177ddc;
    box-shadow: 0 0 0 6px var(--antd-wave-shadow-color);
  }
}
@-webkit-keyframes fadeEffect {
  100% {
    opacity: 0;
  }
}
@keyframes fadeEffect {
  100% {
    opacity: 0;
  }
}
.slide-up-enter,
.slide-up-appear {
  -webkit-animation-duration: 0.2s;
          animation-duration: 0.2s;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
  -webkit-animation-play-state: paused;
          animation-play-state: paused;
}
.slide-up-leave {
  -webkit-animation-duration: 0.2s;
          animation-duration: 0.2s;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
  -webkit-animation-play-state: paused;
          animation-play-state: paused;
}
.slide-up-enter.slide-up-enter-active,
.slide-up-appear.slide-up-appear-active {
  -webkit-animation-name: antSlideUpIn;
          animation-name: antSlideUpIn;
  -webkit-animation-play-state: running;
          animation-play-state: running;
}
.slide-up-leave.slide-up-leave-active {
  -webkit-animation-name: antSlideUpOut;
          animation-name: antSlideUpOut;
  -webkit-animation-play-state: running;
          animation-play-state: running;
  pointer-events: none;
}
.slide-up-enter,
.slide-up-appear {
  opacity: 0;
  -webkit-animation-timing-function: cubic-bezier(0.23, 1, 0.32, 1);
          animation-timing-function: cubic-bezier(0.23, 1, 0.32, 1);
}
.slide-up-leave {
  -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
          animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
}
.slide-down-enter,
.slide-down-appear {
  -webkit-animation-duration: 0.2s;
          animation-duration: 0.2s;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
  -webkit-animation-play-state: paused;
          animation-play-state: paused;
}
.slide-down-leave {
  -webkit-animation-duration: 0.2s;
          animation-duration: 0.2s;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
  -webkit-animation-play-state: paused;
          animation-play-state: paused;
}
.slide-down-enter.slide-down-enter-active,
.slide-down-appear.slide-down-appear-active {
  -webkit-animation-name: antSlideDownIn;
          animation-name: antSlideDownIn;
  -webkit-animation-play-state: running;
          animation-play-state: running;
}
.slide-down-leave.slide-down-leave-active {
  -webkit-animation-name: antSlideDownOut;
          animation-name: antSlideDownOut;
  -webkit-animation-play-state: running;
          animation-play-state: running;
  pointer-events: none;
}
.slide-down-enter,
.slide-down-appear {
  opacity: 0;
  -webkit-animation-timing-function: cubic-bezier(0.23, 1, 0.32, 1);
          animation-timing-function: cubic-bezier(0.23, 1, 0.32, 1);
}
.slide-down-leave {
  -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
          animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
}
.slide-left-enter,
.slide-left-appear {
  -webkit-animation-duration: 0.2s;
          animation-duration: 0.2s;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
  -webkit-animation-play-state: paused;
          animation-play-state: paused;
}
.slide-left-leave {
  -webkit-animation-duration: 0.2s;
          animation-duration: 0.2s;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
  -webkit-animation-play-state: paused;
          animation-play-state: paused;
}
.slide-left-enter.slide-left-enter-active,
.slide-left-appear.slide-left-appear-active {
  -webkit-animation-name: antSlideLeftIn;
          animation-name: antSlideLeftIn;
  -webkit-animation-play-state: running;
          animation-play-state: running;
}
.slide-left-leave.slide-left-leave-active {
  -webkit-animation-name: antSlideLeftOut;
          animation-name: antSlideLeftOut;
  -webkit-animation-play-state: running;
          animation-play-state: running;
  pointer-events: none;
}
.slide-left-enter,
.slide-left-appear {
  opacity: 0;
  -webkit-animation-timing-function: cubic-bezier(0.23, 1, 0.32, 1);
          animation-timing-function: cubic-bezier(0.23, 1, 0.32, 1);
}
.slide-left-leave {
  -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
          animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
}
.slide-right-enter,
.slide-right-appear {
  -webkit-animation-duration: 0.2s;
          animation-duration: 0.2s;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
  -webkit-animation-play-state: paused;
          animation-play-state: paused;
}
.slide-right-leave {
  -webkit-animation-duration: 0.2s;
          animation-duration: 0.2s;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
  -webkit-animation-play-state: paused;
          animation-play-state: paused;
}
.slide-right-enter.slide-right-enter-active,
.slide-right-appear.slide-right-appear-active {
  -webkit-animation-name: antSlideRightIn;
          animation-name: antSlideRightIn;
  -webkit-animation-play-state: running;
          animation-play-state: running;
}
.slide-right-leave.slide-right-leave-active {
  -webkit-animation-name: antSlideRightOut;
          animation-name: antSlideRightOut;
  -webkit-animation-play-state: running;
          animation-play-state: running;
  pointer-events: none;
}
.slide-right-enter,
.slide-right-appear {
  opacity: 0;
  -webkit-animation-timing-function: cubic-bezier(0.23, 1, 0.32, 1);
          animation-timing-function: cubic-bezier(0.23, 1, 0.32, 1);
}
.slide-right-leave {
  -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
          animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
}
@-webkit-keyframes antSlideUpIn {
  0% {
    transform: scaleY(0.8);
    transform-origin: 0% 0%;
    opacity: 0;
  }
  100% {
    transform: scaleY(1);
    transform-origin: 0% 0%;
    opacity: 1;
  }
}
@keyframes antSlideUpIn {
  0% {
    transform: scaleY(0.8);
    transform-origin: 0% 0%;
    opacity: 0;
  }
  100% {
    transform: scaleY(1);
    transform-origin: 0% 0%;
    opacity: 1;
  }
}
@-webkit-keyframes antSlideUpOut {
  0% {
    transform: scaleY(1);
    transform-origin: 0% 0%;
    opacity: 1;
  }
  100% {
    transform: scaleY(0.8);
    transform-origin: 0% 0%;
    opacity: 0;
  }
}
@keyframes antSlideUpOut {
  0% {
    transform: scaleY(1);
    transform-origin: 0% 0%;
    opacity: 1;
  }
  100% {
    transform: scaleY(0.8);
    transform-origin: 0% 0%;
    opacity: 0;
  }
}
@-webkit-keyframes antSlideDownIn {
  0% {
    transform: scaleY(0.8);
    transform-origin: 100% 100%;
    opacity: 0;
  }
  100% {
    transform: scaleY(1);
    transform-origin: 100% 100%;
    opacity: 1;
  }
}
@keyframes antSlideDownIn {
  0% {
    transform: scaleY(0.8);
    transform-origin: 100% 100%;
    opacity: 0;
  }
  100% {
    transform: scaleY(1);
    transform-origin: 100% 100%;
    opacity: 1;
  }
}
@-webkit-keyframes antSlideDownOut {
  0% {
    transform: scaleY(1);
    transform-origin: 100% 100%;
    opacity: 1;
  }
  100% {
    transform: scaleY(0.8);
    transform-origin: 100% 100%;
    opacity: 0;
  }
}
@keyframes antSlideDownOut {
  0% {
    transform: scaleY(1);
    transform-origin: 100% 100%;
    opacity: 1;
  }
  100% {
    transform: scaleY(0.8);
    transform-origin: 100% 100%;
    opacity: 0;
  }
}
@-webkit-keyframes antSlideLeftIn {
  0% {
    transform: scaleX(0.8);
    transform-origin: 0% 0%;
    opacity: 0;
  }
  100% {
    transform: scaleX(1);
    transform-origin: 0% 0%;
    opacity: 1;
  }
}
@keyframes antSlideLeftIn {
  0% {
    transform: scaleX(0.8);
    transform-origin: 0% 0%;
    opacity: 0;
  }
  100% {
    transform: scaleX(1);
    transform-origin: 0% 0%;
    opacity: 1;
  }
}
@-webkit-keyframes antSlideLeftOut {
  0% {
    transform: scaleX(1);
    transform-origin: 0% 0%;
    opacity: 1;
  }
  100% {
    transform: scaleX(0.8);
    transform-origin: 0% 0%;
    opacity: 0;
  }
}
@keyframes antSlideLeftOut {
  0% {
    transform: scaleX(1);
    transform-origin: 0% 0%;
    opacity: 1;
  }
  100% {
    transform: scaleX(0.8);
    transform-origin: 0% 0%;
    opacity: 0;
  }
}
@-webkit-keyframes antSlideRightIn {
  0% {
    transform: scaleX(0.8);
    transform-origin: 100% 0%;
    opacity: 0;
  }
  100% {
    transform: scaleX(1);
    transform-origin: 100% 0%;
    opacity: 1;
  }
}
@keyframes antSlideRightIn {
  0% {
    transform: scaleX(0.8);
    transform-origin: 100% 0%;
    opacity: 0;
  }
  100% {
    transform: scaleX(1);
    transform-origin: 100% 0%;
    opacity: 1;
  }
}
@-webkit-keyframes antSlideRightOut {
  0% {
    transform: scaleX(1);
    transform-origin: 100% 0%;
    opacity: 1;
  }
  100% {
    transform: scaleX(0.8);
    transform-origin: 100% 0%;
    opacity: 0;
  }
}
@keyframes antSlideRightOut {
  0% {
    transform: scaleX(1);
    transform-origin: 100% 0%;
    opacity: 1;
  }
  100% {
    transform: scaleX(0.8);
    transform-origin: 100% 0%;
    opacity: 0;
  }
}
.zoom-enter,
.zoom-appear {
  -webkit-animation-duration: 0.2s;
          animation-duration: 0.2s;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
  -webkit-animation-play-state: paused;
          animation-play-state: paused;
}
.zoom-leave {
  -webkit-animation-duration: 0.2s;
          animation-duration: 0.2s;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
  -webkit-animation-play-state: paused;
          animation-play-state: paused;
}
.zoom-enter.zoom-enter-active,
.zoom-appear.zoom-appear-active {
  -webkit-animation-name: antZoomIn;
          animation-name: antZoomIn;
  -webkit-animation-play-state: running;
          animation-play-state: running;
}
.zoom-leave.zoom-leave-active {
  -webkit-animation-name: antZoomOut;
          animation-name: antZoomOut;
  -webkit-animation-play-state: running;
          animation-play-state: running;
  pointer-events: none;
}
.zoom-enter,
.zoom-appear {
  transform: scale(0);
  opacity: 0;
  -webkit-animation-timing-function: cubic-bezier(0.08, 0.82, 0.17, 1);
          animation-timing-function: cubic-bezier(0.08, 0.82, 0.17, 1);
}
.zoom-enter-prepare,
.zoom-appear-prepare {
  transform: none;
}
.zoom-leave {
  -webkit-animation-timing-function: cubic-bezier(0.78, 0.14, 0.15, 0.86);
          animation-timing-function: cubic-bezier(0.78, 0.14, 0.15, 0.86);
}
.zoom-big-enter,
.zoom-big-appear {
  -webkit-animation-duration: 0.2s;
          animation-duration: 0.2s;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
  -webkit-animation-play-state: paused;
          animation-play-state: paused;
}
.zoom-big-leave {
  -webkit-animation-duration: 0.2s;
          animation-duration: 0.2s;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
  -webkit-animation-play-state: paused;
          animation-play-state: paused;
}
.zoom-big-enter.zoom-big-enter-active,
.zoom-big-appear.zoom-big-appear-active {
  -webkit-animation-name: antZoomBigIn;
          animation-name: antZoomBigIn;
  -webkit-animation-play-state: running;
          animation-play-state: running;
}
.zoom-big-leave.zoom-big-leave-active {
  -webkit-animation-name: antZoomBigOut;
          animation-name: antZoomBigOut;
  -webkit-animation-play-state: running;
          animation-play-state: running;
  pointer-events: none;
}
.zoom-big-enter,
.zoom-big-appear {
  transform: scale(0);
  opacity: 0;
  -webkit-animation-timing-function: cubic-bezier(0.08, 0.82, 0.17, 1);
          animation-timing-function: cubic-bezier(0.08, 0.82, 0.17, 1);
}
.zoom-big-enter-prepare,
.zoom-big-appear-prepare {
  transform: none;
}
.zoom-big-leave {
  -webkit-animation-timing-function: cubic-bezier(0.78, 0.14, 0.15, 0.86);
          animation-timing-function: cubic-bezier(0.78, 0.14, 0.15, 0.86);
}
.zoom-big-fast-enter,
.zoom-big-fast-appear {
  -webkit-animation-duration: 0.1s;
          animation-duration: 0.1s;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
  -webkit-animation-play-state: paused;
          animation-play-state: paused;
}
.zoom-big-fast-leave {
  -webkit-animation-duration: 0.1s;
          animation-duration: 0.1s;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
  -webkit-animation-play-state: paused;
          animation-play-state: paused;
}
.zoom-big-fast-enter.zoom-big-fast-enter-active,
.zoom-big-fast-appear.zoom-big-fast-appear-active {
  -webkit-animation-name: antZoomBigIn;
          animation-name: antZoomBigIn;
  -webkit-animation-play-state: running;
          animation-play-state: running;
}
.zoom-big-fast-leave.zoom-big-fast-leave-active {
  -webkit-animation-name: antZoomBigOut;
          animation-name: antZoomBigOut;
  -webkit-animation-play-state: running;
          animation-play-state: running;
  pointer-events: none;
}
.zoom-big-fast-enter,
.zoom-big-fast-appear {
  transform: scale(0);
  opacity: 0;
  -webkit-animation-timing-function: cubic-bezier(0.08, 0.82, 0.17, 1);
          animation-timing-function: cubic-bezier(0.08, 0.82, 0.17, 1);
}
.zoom-big-fast-enter-prepare,
.zoom-big-fast-appear-prepare {
  transform: none;
}
.zoom-big-fast-leave {
  -webkit-animation-timing-function: cubic-bezier(0.78, 0.14, 0.15, 0.86);
          animation-timing-function: cubic-bezier(0.78, 0.14, 0.15, 0.86);
}
.zoom-up-enter,
.zoom-up-appear {
  -webkit-animation-duration: 0.2s;
          animation-duration: 0.2s;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
  -webkit-animation-play-state: paused;
          animation-play-state: paused;
}
.zoom-up-leave {
  -webkit-animation-duration: 0.2s;
          animation-duration: 0.2s;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
  -webkit-animation-play-state: paused;
          animation-play-state: paused;
}
.zoom-up-enter.zoom-up-enter-active,
.zoom-up-appear.zoom-up-appear-active {
  -webkit-animation-name: antZoomUpIn;
          animation-name: antZoomUpIn;
  -webkit-animation-play-state: running;
          animation-play-state: running;
}
.zoom-up-leave.zoom-up-leave-active {
  -webkit-animation-name: antZoomUpOut;
          animation-name: antZoomUpOut;
  -webkit-animation-play-state: running;
          animation-play-state: running;
  pointer-events: none;
}
.zoom-up-enter,
.zoom-up-appear {
  transform: scale(0);
  opacity: 0;
  -webkit-animation-timing-function: cubic-bezier(0.08, 0.82, 0.17, 1);
          animation-timing-function: cubic-bezier(0.08, 0.82, 0.17, 1);
}
.zoom-up-enter-prepare,
.zoom-up-appear-prepare {
  transform: none;
}
.zoom-up-leave {
  -webkit-animation-timing-function: cubic-bezier(0.78, 0.14, 0.15, 0.86);
          animation-timing-function: cubic-bezier(0.78, 0.14, 0.15, 0.86);
}
.zoom-down-enter,
.zoom-down-appear {
  -webkit-animation-duration: 0.2s;
          animation-duration: 0.2s;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
  -webkit-animation-play-state: paused;
          animation-play-state: paused;
}
.zoom-down-leave {
  -webkit-animation-duration: 0.2s;
          animation-duration: 0.2s;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
  -webkit-animation-play-state: paused;
          animation-play-state: paused;
}
.zoom-down-enter.zoom-down-enter-active,
.zoom-down-appear.zoom-down-appear-active {
  -webkit-animation-name: antZoomDownIn;
          animation-name: antZoomDownIn;
  -webkit-animation-play-state: running;
          animation-play-state: running;
}
.zoom-down-leave.zoom-down-leave-active {
  -webkit-animation-name: antZoomDownOut;
          animation-name: antZoomDownOut;
  -webkit-animation-play-state: running;
          animation-play-state: running;
  pointer-events: none;
}
.zoom-down-enter,
.zoom-down-appear {
  transform: scale(0);
  opacity: 0;
  -webkit-animation-timing-function: cubic-bezier(0.08, 0.82, 0.17, 1);
          animation-timing-function: cubic-bezier(0.08, 0.82, 0.17, 1);
}
.zoom-down-enter-prepare,
.zoom-down-appear-prepare {
  transform: none;
}
.zoom-down-leave {
  -webkit-animation-timing-function: cubic-bezier(0.78, 0.14, 0.15, 0.86);
          animation-timing-function: cubic-bezier(0.78, 0.14, 0.15, 0.86);
}
.zoom-left-enter,
.zoom-left-appear {
  -webkit-animation-duration: 0.2s;
          animation-duration: 0.2s;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
  -webkit-animation-play-state: paused;
          animation-play-state: paused;
}
.zoom-left-leave {
  -webkit-animation-duration: 0.2s;
          animation-duration: 0.2s;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
  -webkit-animation-play-state: paused;
          animation-play-state: paused;
}
.zoom-left-enter.zoom-left-enter-active,
.zoom-left-appear.zoom-left-appear-active {
  -webkit-animation-name: antZoomLeftIn;
          animation-name: antZoomLeftIn;
  -webkit-animation-play-state: running;
          animation-play-state: running;
}
.zoom-left-leave.zoom-left-leave-active {
  -webkit-animation-name: antZoomLeftOut;
          animation-name: antZoomLeftOut;
  -webkit-animation-play-state: running;
          animation-play-state: running;
  pointer-events: none;
}
.zoom-left-enter,
.zoom-left-appear {
  transform: scale(0);
  opacity: 0;
  -webkit-animation-timing-function: cubic-bezier(0.08, 0.82, 0.17, 1);
          animation-timing-function: cubic-bezier(0.08, 0.82, 0.17, 1);
}
.zoom-left-enter-prepare,
.zoom-left-appear-prepare {
  transform: none;
}
.zoom-left-leave {
  -webkit-animation-timing-function: cubic-bezier(0.78, 0.14, 0.15, 0.86);
          animation-timing-function: cubic-bezier(0.78, 0.14, 0.15, 0.86);
}
.zoom-right-enter,
.zoom-right-appear {
  -webkit-animation-duration: 0.2s;
          animation-duration: 0.2s;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
  -webkit-animation-play-state: paused;
          animation-play-state: paused;
}
.zoom-right-leave {
  -webkit-animation-duration: 0.2s;
          animation-duration: 0.2s;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
  -webkit-animation-play-state: paused;
          animation-play-state: paused;
}
.zoom-right-enter.zoom-right-enter-active,
.zoom-right-appear.zoom-right-appear-active {
  -webkit-animation-name: antZoomRightIn;
          animation-name: antZoomRightIn;
  -webkit-animation-play-state: running;
          animation-play-state: running;
}
.zoom-right-leave.zoom-right-leave-active {
  -webkit-animation-name: antZoomRightOut;
          animation-name: antZoomRightOut;
  -webkit-animation-play-state: running;
          animation-play-state: running;
  pointer-events: none;
}
.zoom-right-enter,
.zoom-right-appear {
  transform: scale(0);
  opacity: 0;
  -webkit-animation-timing-function: cubic-bezier(0.08, 0.82, 0.17, 1);
          animation-timing-function: cubic-bezier(0.08, 0.82, 0.17, 1);
}
.zoom-right-enter-prepare,
.zoom-right-appear-prepare {
  transform: none;
}
.zoom-right-leave {
  -webkit-animation-timing-function: cubic-bezier(0.78, 0.14, 0.15, 0.86);
          animation-timing-function: cubic-bezier(0.78, 0.14, 0.15, 0.86);
}
@-webkit-keyframes antZoomIn {
  0% {
    transform: scale(0.2);
    opacity: 0;
  }
  100% {
    transform: scale(1);
    opacity: 1;
  }
}
@keyframes antZoomIn {
  0% {
    transform: scale(0.2);
    opacity: 0;
  }
  100% {
    transform: scale(1);
    opacity: 1;
  }
}
@-webkit-keyframes antZoomOut {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(0.2);
    opacity: 0;
  }
}
@keyframes antZoomOut {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(0.2);
    opacity: 0;
  }
}
@-webkit-keyframes antZoomBigIn {
  0% {
    transform: scale(0.8);
    opacity: 0;
  }
  100% {
    transform: scale(1);
    opacity: 1;
  }
}
@keyframes antZoomBigIn {
  0% {
    transform: scale(0.8);
    opacity: 0;
  }
  100% {
    transform: scale(1);
    opacity: 1;
  }
}
@-webkit-keyframes antZoomBigOut {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(0.8);
    opacity: 0;
  }
}
@keyframes antZoomBigOut {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(0.8);
    opacity: 0;
  }
}
@-webkit-keyframes antZoomUpIn {
  0% {
    transform: scale(0.8);
    transform-origin: 50% 0%;
    opacity: 0;
  }
  100% {
    transform: scale(1);
    transform-origin: 50% 0%;
  }
}
@keyframes antZoomUpIn {
  0% {
    transform: scale(0.8);
    transform-origin: 50% 0%;
    opacity: 0;
  }
  100% {
    transform: scale(1);
    transform-origin: 50% 0%;
  }
}
@-webkit-keyframes antZoomUpOut {
  0% {
    transform: scale(1);
    transform-origin: 50% 0%;
  }
  100% {
    transform: scale(0.8);
    transform-origin: 50% 0%;
    opacity: 0;
  }
}
@keyframes antZoomUpOut {
  0% {
    transform: scale(1);
    transform-origin: 50% 0%;
  }
  100% {
    transform: scale(0.8);
    transform-origin: 50% 0%;
    opacity: 0;
  }
}
@-webkit-keyframes antZoomLeftIn {
  0% {
    transform: scale(0.8);
    transform-origin: 0% 50%;
    opacity: 0;
  }
  100% {
    transform: scale(1);
    transform-origin: 0% 50%;
  }
}
@keyframes antZoomLeftIn {
  0% {
    transform: scale(0.8);
    transform-origin: 0% 50%;
    opacity: 0;
  }
  100% {
    transform: scale(1);
    transform-origin: 0% 50%;
  }
}
@-webkit-keyframes antZoomLeftOut {
  0% {
    transform: scale(1);
    transform-origin: 0% 50%;
  }
  100% {
    transform: scale(0.8);
    transform-origin: 0% 50%;
    opacity: 0;
  }
}
@keyframes antZoomLeftOut {
  0% {
    transform: scale(1);
    transform-origin: 0% 50%;
  }
  100% {
    transform: scale(0.8);
    transform-origin: 0% 50%;
    opacity: 0;
  }
}
@-webkit-keyframes antZoomRightIn {
  0% {
    transform: scale(0.8);
    transform-origin: 100% 50%;
    opacity: 0;
  }
  100% {
    transform: scale(1);
    transform-origin: 100% 50%;
  }
}
@keyframes antZoomRightIn {
  0% {
    transform: scale(0.8);
    transform-origin: 100% 50%;
    opacity: 0;
  }
  100% {
    transform: scale(1);
    transform-origin: 100% 50%;
  }
}
@-webkit-keyframes antZoomRightOut {
  0% {
    transform: scale(1);
    transform-origin: 100% 50%;
  }
  100% {
    transform: scale(0.8);
    transform-origin: 100% 50%;
    opacity: 0;
  }
}
@keyframes antZoomRightOut {
  0% {
    transform: scale(1);
    transform-origin: 100% 50%;
  }
  100% {
    transform: scale(0.8);
    transform-origin: 100% 50%;
    opacity: 0;
  }
}
@-webkit-keyframes antZoomDownIn {
  0% {
    transform: scale(0.8);
    transform-origin: 50% 100%;
    opacity: 0;
  }
  100% {
    transform: scale(1);
    transform-origin: 50% 100%;
  }
}
@keyframes antZoomDownIn {
  0% {
    transform: scale(0.8);
    transform-origin: 50% 100%;
    opacity: 0;
  }
  100% {
    transform: scale(1);
    transform-origin: 50% 100%;
  }
}
@-webkit-keyframes antZoomDownOut {
  0% {
    transform: scale(1);
    transform-origin: 50% 100%;
  }
  100% {
    transform: scale(0.8);
    transform-origin: 50% 100%;
    opacity: 0;
  }
}
@keyframes antZoomDownOut {
  0% {
    transform: scale(1);
    transform-origin: 50% 100%;
  }
  100% {
    transform: scale(0.8);
    transform-origin: 50% 100%;
    opacity: 0;
  }
}
.ant-motion-collapse-legacy {
  overflow: hidden;
}
.ant-motion-collapse-legacy-active {
  transition: height 0.2s cubic-bezier(0.645, 0.045, 0.355, 1), opacity 0.2s cubic-bezier(0.645, 0.045, 0.355, 1) !important;
}
.ant-motion-collapse {
  overflow: hidden;
  transition: height 0.2s cubic-bezier(0.645, 0.045, 0.355, 1), opacity 0.2s cubic-bezier(0.645, 0.045, 0.355, 1) !important;
}
/* stylelint-disable at-rule-empty-line-before,at-rule-name-space-after,at-rule-no-unknown */
/* stylelint-disable no-duplicate-selectors */
/* stylelint-disable */
/* stylelint-disable declaration-bang-space-before,no-duplicate-selectors,string-no-newline */
.cdk-overlay-container {
  pointer-events: none;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  position: fixed;
  z-index: 1000;
}
.cdk-visually-hidden {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  outline: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
}
.cdk-overlay-backdrop {
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  -webkit-tap-highlight-color: transparent;
  transition: opacity 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
  opacity: 0;
  position: absolute;
  pointer-events: auto;
  z-index: 1000;
}
.cdk-overlay-backdrop.ant-modal-mask {
  opacity: 1;
}
.cdk-overlay-pane {
  position: absolute;
  pointer-events: auto;
  z-index: 1000;
}
.cdk-overlay-connected-position-bounding-box {
  position: absolute;
  z-index: 1000;
  display: flex;
  flex-direction: column;
  min-width: 1px;
  min-height: 1px;
}
.cdk-global-scrollblock {
  position: fixed;
  width: 100%;
  overflow-y: scroll;
}
.cdk-global-scrollblock body {
  overflow-x: visible;
}
.nz-overlay-transparent-backdrop,
.nz-overlay-transparent-backdrop.cdk-overlay-backdrop-showing {
  opacity: 0;
}
.nz-animate-disabled.ant-drawer.ant-drawer-open .ant-drawer-mask {
  -webkit-animation: none;
          animation: none;
  transition: none;
}
.nz-animate-disabled.ant-drawer > * {
  transition: none;
}
.nz-animate-disabled .ant-modal-mask,
.nz-animate-disabled .ant-modal {
  -webkit-animation: none;
          animation: none;
  transition: none;
}
.nz-animate-disabled .ant-modal-mask.zoom-enter,
.nz-animate-disabled .ant-modal.zoom-enter,
.nz-animate-disabled .ant-modal-mask.zoom-leave,
.nz-animate-disabled .ant-modal.zoom-leave,
.nz-animate-disabled .ant-modal-mask.zoom-enter-active,
.nz-animate-disabled .ant-modal.zoom-enter-active,
.nz-animate-disabled .ant-modal-mask.zoom-leave-active,
.nz-animate-disabled .ant-modal.zoom-leave-active {
  -webkit-animation: none;
          animation: none;
  transition: none;
}
.nz-animate-disabled.ant-menu {
  transition: none;
}
.nz-animate-disabled.ant-menu .ant-menu-item,
.nz-animate-disabled.ant-menu .ant-menu-submenu-title {
  transition: none;
}
.nz-animate-disabled.ant-menu .ant-menu-item .anticon,
.nz-animate-disabled.ant-menu .ant-menu-submenu-title .anticon {
  transition: none;
}
.nz-animate-disabled.ant-menu .ant-menu-item .anticon + span,
.nz-animate-disabled.ant-menu .ant-menu-submenu-title .anticon + span {
  transition: none;
}
.nz-animate-disabled.ant-tabs .ant-tabs-top-content.ant-tabs-content-animated,
.nz-animate-disabled.ant-tabs .ant-tabs-bottom-content.ant-tabs-content-animated,
.nz-animate-disabled.ant-tabs .ant-tabs-top-content > .ant-tabs-tabpane,
.nz-animate-disabled.ant-tabs .ant-tabs-bottom-content > .ant-tabs-tabpane,
.nz-animate-disabled.ant-tabs.ant-tabs-left .ant-tabs-ink-bar-animated,
.nz-animate-disabled.ant-tabs.ant-tabs-right .ant-tabs-ink-bar-animated,
.nz-animate-disabled.ant-tabs.ant-tabs-top .ant-tabs-ink-bar-animated,
.nz-animate-disabled.ant-tabs.ant-tabs-bottom .ant-tabs-ink-bar-animated {
  transition: none;
}
.nz-animate-disabled.ant-collapse > .ant-collapse-item > .ant-collapse-header .ant-collapse-arrow svg {
  transition: none;
}
.ant-btn {
  line-height: 1.5715;
  position: relative;
  display: inline-block;
  font-weight: 400;
  white-space: nowrap;
  text-align: center;
  background-image: none;
  border: 1px solid transparent;
  box-shadow: 0 2px 0 rgba(0, 0, 0, 0.015);
  cursor: pointer;
  transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  touch-action: manipulation;
  height: 32px;
  padding: 4px 15px;
  font-size: 14px;
  border-radius: 2px;
  color: var(--uni-contrast-500);
  background: transparent;
  border-color: #434343;
}
.ant-btn > .anticon {
  line-height: 1;
}
.ant-btn,
.ant-btn:active,
.ant-btn:focus {
  outline: 0;
}
.ant-btn:not([disabled]):hover {
  text-decoration: none;
}
.ant-btn:not([disabled]):active {
  outline: 0;
  box-shadow: none;
}
.ant-btn[disabled] {
  cursor: not-allowed;
}
.ant-btn[disabled] > * {
  pointer-events: none;
}
.ant-btn-lg {
  height: 40px;
  padding: 6.4px 15px;
  font-size: 16px;
  border-radius: 2px;
}
.ant-btn-sm {
  height: 24px;
  padding: 0px 7px;
  font-size: 14px;
  border-radius: 2px;
}
.ant-btn > a:only-child {
  color: currentColor;
}
.ant-btn > a:only-child::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: transparent;
  content: '';
}
.ant-btn:hover,
.ant-btn:focus {
  color: #165996;
  background: transparent;
  border-color: #165996;
}
.ant-btn:hover > a:only-child,
.ant-btn:focus > a:only-child {
  color: currentColor;
}
.ant-btn:hover > a:only-child::after,
.ant-btn:focus > a:only-child::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: transparent;
  content: '';
}
.ant-btn:active {
  color: #388ed3;
  background: transparent;
  border-color: #388ed3;
}
.ant-btn:active > a:only-child {
  color: currentColor;
}
.ant-btn:active > a:only-child::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: transparent;
  content: '';
}
.ant-btn[disabled],
.ant-btn[disabled]:hover,
.ant-btn[disabled]:focus,
.ant-btn[disabled]:active {
  color: rgba(255, 255, 255, 0.3);
  background: rgba(255, 255, 255, 0.08);
  border-color: #434343;
  text-shadow: none;
  box-shadow: none;
}
.ant-btn[disabled] > a:only-child,
.ant-btn[disabled]:hover > a:only-child,
.ant-btn[disabled]:focus > a:only-child,
.ant-btn[disabled]:active > a:only-child {
  color: currentColor;
}
.ant-btn[disabled] > a:only-child::after,
.ant-btn[disabled]:hover > a:only-child::after,
.ant-btn[disabled]:focus > a:only-child::after,
.ant-btn[disabled]:active > a:only-child::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: transparent;
  content: '';
}
.ant-btn:hover,
.ant-btn:focus,
.ant-btn:active {
  text-decoration: none;
  background: transparent;
}
.ant-btn > span {
  display: inline-block;
}
.ant-btn-primary {
  color: #fff;
  background: #177ddc;
  border-color: #177ddc;
  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.12);
  box-shadow: 0 2px 0 rgba(0, 0, 0, 0.045);
}
.ant-btn-primary > a:only-child {
  color: currentColor;
}
.ant-btn-primary > a:only-child::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: transparent;
  content: '';
}
.ant-btn-primary:hover,
.ant-btn-primary:focus {
  color: #fff;
  background: #095cb5;
  border-color: #095cb5;
}
.ant-btn-primary:hover > a:only-child,
.ant-btn-primary:focus > a:only-child {
  color: currentColor;
}
.ant-btn-primary:hover > a:only-child::after,
.ant-btn-primary:focus > a:only-child::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: transparent;
  content: '';
}
.ant-btn-primary:active {
  color: #fff;
  background: #3c9be8;
  border-color: #3c9be8;
}
.ant-btn-primary:active > a:only-child {
  color: currentColor;
}
.ant-btn-primary:active > a:only-child::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: transparent;
  content: '';
}
.ant-btn-primary[disabled],
.ant-btn-primary[disabled]:hover,
.ant-btn-primary[disabled]:focus,
.ant-btn-primary[disabled]:active {
  color: rgba(255, 255, 255, 0.3);
  background: rgba(255, 255, 255, 0.08);
  border-color: #434343;
  text-shadow: none;
  box-shadow: none;
}
.ant-btn-primary[disabled] > a:only-child,
.ant-btn-primary[disabled]:hover > a:only-child,
.ant-btn-primary[disabled]:focus > a:only-child,
.ant-btn-primary[disabled]:active > a:only-child {
  color: currentColor;
}
.ant-btn-primary[disabled] > a:only-child::after,
.ant-btn-primary[disabled]:hover > a:only-child::after,
.ant-btn-primary[disabled]:focus > a:only-child::after,
.ant-btn-primary[disabled]:active > a:only-child::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: transparent;
  content: '';
}
.ant-btn-group .ant-btn-primary:not(:first-child):not(:last-child) {
  border-right-color: #165996;
  border-left-color: #165996;
}
.ant-btn-group .ant-btn-primary:not(:first-child):not(:last-child):disabled {
  border-color: #434343;
}
.ant-btn-group .ant-btn-primary:first-child:not(:last-child) {
  border-right-color: #165996;
}
.ant-btn-group .ant-btn-primary:first-child:not(:last-child)[disabled] {
  border-right-color: #434343;
}
.ant-btn-group .ant-btn-primary:last-child:not(:first-child),
.ant-btn-group .ant-btn-primary + .ant-btn-primary {
  border-left-color: #165996;
}
.ant-btn-group .ant-btn-primary:last-child:not(:first-child)[disabled],
.ant-btn-group .ant-btn-primary + .ant-btn-primary[disabled] {
  border-left-color: #434343;
}
.ant-btn-ghost {
  color: var(--uni-contrast-500);
  background: transparent;
  border-color: #434343;
}
.ant-btn-ghost > a:only-child {
  color: currentColor;
}
.ant-btn-ghost > a:only-child::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: transparent;
  content: '';
}
.ant-btn-ghost:hover,
.ant-btn-ghost:focus {
  color: #165996;
  background: transparent;
  border-color: #165996;
}
.ant-btn-ghost:hover > a:only-child,
.ant-btn-ghost:focus > a:only-child {
  color: currentColor;
}
.ant-btn-ghost:hover > a:only-child::after,
.ant-btn-ghost:focus > a:only-child::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: transparent;
  content: '';
}
.ant-btn-ghost:active {
  color: #388ed3;
  background: transparent;
  border-color: #388ed3;
}
.ant-btn-ghost:active > a:only-child {
  color: currentColor;
}
.ant-btn-ghost:active > a:only-child::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: transparent;
  content: '';
}
.ant-btn-ghost[disabled],
.ant-btn-ghost[disabled]:hover,
.ant-btn-ghost[disabled]:focus,
.ant-btn-ghost[disabled]:active {
  color: rgba(255, 255, 255, 0.3);
  background: rgba(255, 255, 255, 0.08);
  border-color: #434343;
  text-shadow: none;
  box-shadow: none;
}
.ant-btn-ghost[disabled] > a:only-child,
.ant-btn-ghost[disabled]:hover > a:only-child,
.ant-btn-ghost[disabled]:focus > a:only-child,
.ant-btn-ghost[disabled]:active > a:only-child {
  color: currentColor;
}
.ant-btn-ghost[disabled] > a:only-child::after,
.ant-btn-ghost[disabled]:hover > a:only-child::after,
.ant-btn-ghost[disabled]:focus > a:only-child::after,
.ant-btn-ghost[disabled]:active > a:only-child::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: transparent;
  content: '';
}
.ant-btn-dashed {
  color: var(--uni-contrast-500);
  background: transparent;
  border-color: #434343;
  border-style: dashed;
}
.ant-btn-dashed > a:only-child {
  color: currentColor;
}
.ant-btn-dashed > a:only-child::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: transparent;
  content: '';
}
.ant-btn-dashed:hover,
.ant-btn-dashed:focus {
  color: #165996;
  background: transparent;
  border-color: #165996;
}
.ant-btn-dashed:hover > a:only-child,
.ant-btn-dashed:focus > a:only-child {
  color: currentColor;
}
.ant-btn-dashed:hover > a:only-child::after,
.ant-btn-dashed:focus > a:only-child::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: transparent;
  content: '';
}
.ant-btn-dashed:active {
  color: #388ed3;
  background: transparent;
  border-color: #388ed3;
}
.ant-btn-dashed:active > a:only-child {
  color: currentColor;
}
.ant-btn-dashed:active > a:only-child::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: transparent;
  content: '';
}
.ant-btn-dashed[disabled],
.ant-btn-dashed[disabled]:hover,
.ant-btn-dashed[disabled]:focus,
.ant-btn-dashed[disabled]:active {
  color: rgba(255, 255, 255, 0.3);
  background: rgba(255, 255, 255, 0.08);
  border-color: #434343;
  text-shadow: none;
  box-shadow: none;
}
.ant-btn-dashed[disabled] > a:only-child,
.ant-btn-dashed[disabled]:hover > a:only-child,
.ant-btn-dashed[disabled]:focus > a:only-child,
.ant-btn-dashed[disabled]:active > a:only-child {
  color: currentColor;
}
.ant-btn-dashed[disabled] > a:only-child::after,
.ant-btn-dashed[disabled]:hover > a:only-child::after,
.ant-btn-dashed[disabled]:focus > a:only-child::after,
.ant-btn-dashed[disabled]:active > a:only-child::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: transparent;
  content: '';
}
.ant-btn-danger {
  color: #fff;
  background: #a61d24;
  border-color: #a61d24;
  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.12);
  box-shadow: 0 2px 0 rgba(0, 0, 0, 0.045);
}
.ant-btn-danger > a:only-child {
  color: currentColor;
}
.ant-btn-danger > a:only-child::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: transparent;
  content: '';
}
.ant-btn-danger:hover,
.ant-btn-danger:focus {
  color: #fff;
  background: #800f19;
  border-color: #800f19;
}
.ant-btn-danger:hover > a:only-child,
.ant-btn-danger:focus > a:only-child {
  color: currentColor;
}
.ant-btn-danger:hover > a:only-child::after,
.ant-btn-danger:focus > a:only-child::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: transparent;
  content: '';
}
.ant-btn-danger:active {
  color: #fff;
  background: #b33b3d;
  border-color: #b33b3d;
}
.ant-btn-danger:active > a:only-child {
  color: currentColor;
}
.ant-btn-danger:active > a:only-child::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: transparent;
  content: '';
}
.ant-btn-danger[disabled],
.ant-btn-danger[disabled]:hover,
.ant-btn-danger[disabled]:focus,
.ant-btn-danger[disabled]:active {
  color: rgba(255, 255, 255, 0.3);
  background: rgba(255, 255, 255, 0.08);
  border-color: #434343;
  text-shadow: none;
  box-shadow: none;
}
.ant-btn-danger[disabled] > a:only-child,
.ant-btn-danger[disabled]:hover > a:only-child,
.ant-btn-danger[disabled]:focus > a:only-child,
.ant-btn-danger[disabled]:active > a:only-child {
  color: currentColor;
}
.ant-btn-danger[disabled] > a:only-child::after,
.ant-btn-danger[disabled]:hover > a:only-child::after,
.ant-btn-danger[disabled]:focus > a:only-child::after,
.ant-btn-danger[disabled]:active > a:only-child::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: transparent;
  content: '';
}
.ant-btn-link {
  color: #177ddc;
  background: transparent;
  border-color: transparent;
  box-shadow: none;
}
.ant-btn-link > a:only-child {
  color: currentColor;
}
.ant-btn-link > a:only-child::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: transparent;
  content: '';
}
.ant-btn-link:hover,
.ant-btn-link:focus {
  color: #165996;
  background: transparent;
  border-color: #165996;
}
.ant-btn-link:hover > a:only-child,
.ant-btn-link:focus > a:only-child {
  color: currentColor;
}
.ant-btn-link:hover > a:only-child::after,
.ant-btn-link:focus > a:only-child::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: transparent;
  content: '';
}
.ant-btn-link:active {
  color: #388ed3;
  background: transparent;
  border-color: #388ed3;
}
.ant-btn-link:active > a:only-child {
  color: currentColor;
}
.ant-btn-link:active > a:only-child::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: transparent;
  content: '';
}
.ant-btn-link[disabled],
.ant-btn-link[disabled]:hover,
.ant-btn-link[disabled]:focus,
.ant-btn-link[disabled]:active {
  color: rgba(255, 255, 255, 0.3);
  background: rgba(255, 255, 255, 0.08);
  border-color: #434343;
  text-shadow: none;
  box-shadow: none;
}
.ant-btn-link[disabled] > a:only-child,
.ant-btn-link[disabled]:hover > a:only-child,
.ant-btn-link[disabled]:focus > a:only-child,
.ant-btn-link[disabled]:active > a:only-child {
  color: currentColor;
}
.ant-btn-link[disabled] > a:only-child::after,
.ant-btn-link[disabled]:hover > a:only-child::after,
.ant-btn-link[disabled]:focus > a:only-child::after,
.ant-btn-link[disabled]:active > a:only-child::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: transparent;
  content: '';
}
.ant-btn-link:hover {
  background: transparent;
}
.ant-btn-link:hover,
.ant-btn-link:focus,
.ant-btn-link:active {
  border-color: transparent;
}
.ant-btn-link[disabled],
.ant-btn-link[disabled]:hover,
.ant-btn-link[disabled]:focus,
.ant-btn-link[disabled]:active {
  color: rgba(255, 255, 255, 0.3);
  background: transparent;
  border-color: transparent;
  text-shadow: none;
  box-shadow: none;
}
.ant-btn-link[disabled] > a:only-child,
.ant-btn-link[disabled]:hover > a:only-child,
.ant-btn-link[disabled]:focus > a:only-child,
.ant-btn-link[disabled]:active > a:only-child {
  color: currentColor;
}
.ant-btn-link[disabled] > a:only-child::after,
.ant-btn-link[disabled]:hover > a:only-child::after,
.ant-btn-link[disabled]:focus > a:only-child::after,
.ant-btn-link[disabled]:active > a:only-child::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: transparent;
  content: '';
}
.ant-btn-text {
  color: var(--uni-contrast-500);
  background: transparent;
  border-color: transparent;
  box-shadow: none;
}
.ant-btn-text > a:only-child {
  color: currentColor;
}
.ant-btn-text > a:only-child::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: transparent;
  content: '';
}
.ant-btn-text:hover,
.ant-btn-text:focus {
  color: #165996;
  background: transparent;
  border-color: #165996;
}
.ant-btn-text:hover > a:only-child,
.ant-btn-text:focus > a:only-child {
  color: currentColor;
}
.ant-btn-text:hover > a:only-child::after,
.ant-btn-text:focus > a:only-child::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: transparent;
  content: '';
}
.ant-btn-text:active {
  color: #388ed3;
  background: transparent;
  border-color: #388ed3;
}
.ant-btn-text:active > a:only-child {
  color: currentColor;
}
.ant-btn-text:active > a:only-child::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: transparent;
  content: '';
}
.ant-btn-text[disabled],
.ant-btn-text[disabled]:hover,
.ant-btn-text[disabled]:focus,
.ant-btn-text[disabled]:active {
  color: rgba(255, 255, 255, 0.3);
  background: rgba(255, 255, 255, 0.08);
  border-color: #434343;
  text-shadow: none;
  box-shadow: none;
}
.ant-btn-text[disabled] > a:only-child,
.ant-btn-text[disabled]:hover > a:only-child,
.ant-btn-text[disabled]:focus > a:only-child,
.ant-btn-text[disabled]:active > a:only-child {
  color: currentColor;
}
.ant-btn-text[disabled] > a:only-child::after,
.ant-btn-text[disabled]:hover > a:only-child::after,
.ant-btn-text[disabled]:focus > a:only-child::after,
.ant-btn-text[disabled]:active > a:only-child::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: transparent;
  content: '';
}
.ant-btn-text:hover,
.ant-btn-text:focus {
  color: var(--uni-contrast-500);
  background: rgba(255, 255, 255, 0.03);
  border-color: transparent;
}
.ant-btn-text:active {
  color: var(--uni-contrast-500);
  background: rgba(255, 255, 255, 0.04);
  border-color: transparent;
}
.ant-btn-text[disabled],
.ant-btn-text[disabled]:hover,
.ant-btn-text[disabled]:focus,
.ant-btn-text[disabled]:active {
  color: rgba(255, 255, 255, 0.3);
  background: transparent;
  border-color: transparent;
  text-shadow: none;
  box-shadow: none;
}
.ant-btn-text[disabled] > a:only-child,
.ant-btn-text[disabled]:hover > a:only-child,
.ant-btn-text[disabled]:focus > a:only-child,
.ant-btn-text[disabled]:active > a:only-child {
  color: currentColor;
}
.ant-btn-text[disabled] > a:only-child::after,
.ant-btn-text[disabled]:hover > a:only-child::after,
.ant-btn-text[disabled]:focus > a:only-child::after,
.ant-btn-text[disabled]:active > a:only-child::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: transparent;
  content: '';
}
.ant-btn-dangerous {
  color: #a61d24;
  background: transparent;
  border-color: #a61d24;
}
.ant-btn-dangerous > a:only-child {
  color: currentColor;
}
.ant-btn-dangerous > a:only-child::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: transparent;
  content: '';
}
.ant-btn-dangerous:hover,
.ant-btn-dangerous:focus {
  color: #800f19;
  background: transparent;
  border-color: #800f19;
}
.ant-btn-dangerous:hover > a:only-child,
.ant-btn-dangerous:focus > a:only-child {
  color: currentColor;
}
.ant-btn-dangerous:hover > a:only-child::after,
.ant-btn-dangerous:focus > a:only-child::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: transparent;
  content: '';
}
.ant-btn-dangerous:active {
  color: #b33b3d;
  background: transparent;
  border-color: #b33b3d;
}
.ant-btn-dangerous:active > a:only-child {
  color: currentColor;
}
.ant-btn-dangerous:active > a:only-child::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: transparent;
  content: '';
}
.ant-btn-dangerous[disabled],
.ant-btn-dangerous[disabled]:hover,
.ant-btn-dangerous[disabled]:focus,
.ant-btn-dangerous[disabled]:active {
  color: rgba(255, 255, 255, 0.3);
  background: rgba(255, 255, 255, 0.08);
  border-color: #434343;
  text-shadow: none;
  box-shadow: none;
}
.ant-btn-dangerous[disabled] > a:only-child,
.ant-btn-dangerous[disabled]:hover > a:only-child,
.ant-btn-dangerous[disabled]:focus > a:only-child,
.ant-btn-dangerous[disabled]:active > a:only-child {
  color: currentColor;
}
.ant-btn-dangerous[disabled] > a:only-child::after,
.ant-btn-dangerous[disabled]:hover > a:only-child::after,
.ant-btn-dangerous[disabled]:focus > a:only-child::after,
.ant-btn-dangerous[disabled]:active > a:only-child::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: transparent;
  content: '';
}
.ant-btn-dangerous.ant-btn-primary {
  color: #fff;
  background: #a61d24;
  border-color: #a61d24;
  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.12);
  box-shadow: 0 2px 0 rgba(0, 0, 0, 0.045);
}
.ant-btn-dangerous.ant-btn-primary > a:only-child {
  color: currentColor;
}
.ant-btn-dangerous.ant-btn-primary > a:only-child::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: transparent;
  content: '';
}
.ant-btn-dangerous.ant-btn-primary:hover,
.ant-btn-dangerous.ant-btn-primary:focus {
  color: #fff;
  background: #800f19;
  border-color: #800f19;
}
.ant-btn-dangerous.ant-btn-primary:hover > a:only-child,
.ant-btn-dangerous.ant-btn-primary:focus > a:only-child {
  color: currentColor;
}
.ant-btn-dangerous.ant-btn-primary:hover > a:only-child::after,
.ant-btn-dangerous.ant-btn-primary:focus > a:only-child::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: transparent;
  content: '';
}
.ant-btn-dangerous.ant-btn-primary:active {
  color: #fff;
  background: #b33b3d;
  border-color: #b33b3d;
}
.ant-btn-dangerous.ant-btn-primary:active > a:only-child {
  color: currentColor;
}
.ant-btn-dangerous.ant-btn-primary:active > a:only-child::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: transparent;
  content: '';
}
.ant-btn-dangerous.ant-btn-primary[disabled],
.ant-btn-dangerous.ant-btn-primary[disabled]:hover,
.ant-btn-dangerous.ant-btn-primary[disabled]:focus,
.ant-btn-dangerous.ant-btn-primary[disabled]:active {
  color: rgba(255, 255, 255, 0.3);
  background: rgba(255, 255, 255, 0.08);
  border-color: #434343;
  text-shadow: none;
  box-shadow: none;
}
.ant-btn-dangerous.ant-btn-primary[disabled] > a:only-child,
.ant-btn-dangerous.ant-btn-primary[disabled]:hover > a:only-child,
.ant-btn-dangerous.ant-btn-primary[disabled]:focus > a:only-child,
.ant-btn-dangerous.ant-btn-primary[disabled]:active > a:only-child {
  color: currentColor;
}
.ant-btn-dangerous.ant-btn-primary[disabled] > a:only-child::after,
.ant-btn-dangerous.ant-btn-primary[disabled]:hover > a:only-child::after,
.ant-btn-dangerous.ant-btn-primary[disabled]:focus > a:only-child::after,
.ant-btn-dangerous.ant-btn-primary[disabled]:active > a:only-child::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: transparent;
  content: '';
}
.ant-btn-dangerous.ant-btn-link {
  color: #a61d24;
  background: transparent;
  border-color: transparent;
  box-shadow: none;
}
.ant-btn-dangerous.ant-btn-link > a:only-child {
  color: currentColor;
}
.ant-btn-dangerous.ant-btn-link > a:only-child::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: transparent;
  content: '';
}
.ant-btn-dangerous.ant-btn-link:hover,
.ant-btn-dangerous.ant-btn-link:focus {
  color: #165996;
  background: transparent;
  border-color: #165996;
}
.ant-btn-dangerous.ant-btn-link:hover > a:only-child,
.ant-btn-dangerous.ant-btn-link:focus > a:only-child {
  color: currentColor;
}
.ant-btn-dangerous.ant-btn-link:hover > a:only-child::after,
.ant-btn-dangerous.ant-btn-link:focus > a:only-child::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: transparent;
  content: '';
}
.ant-btn-dangerous.ant-btn-link:active {
  color: #388ed3;
  background: transparent;
  border-color: #388ed3;
}
.ant-btn-dangerous.ant-btn-link:active > a:only-child {
  color: currentColor;
}
.ant-btn-dangerous.ant-btn-link:active > a:only-child::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: transparent;
  content: '';
}
.ant-btn-dangerous.ant-btn-link[disabled],
.ant-btn-dangerous.ant-btn-link[disabled]:hover,
.ant-btn-dangerous.ant-btn-link[disabled]:focus,
.ant-btn-dangerous.ant-btn-link[disabled]:active {
  color: rgba(255, 255, 255, 0.3);
  background: rgba(255, 255, 255, 0.08);
  border-color: #434343;
  text-shadow: none;
  box-shadow: none;
}
.ant-btn-dangerous.ant-btn-link[disabled] > a:only-child,
.ant-btn-dangerous.ant-btn-link[disabled]:hover > a:only-child,
.ant-btn-dangerous.ant-btn-link[disabled]:focus > a:only-child,
.ant-btn-dangerous.ant-btn-link[disabled]:active > a:only-child {
  color: currentColor;
}
.ant-btn-dangerous.ant-btn-link[disabled] > a:only-child::after,
.ant-btn-dangerous.ant-btn-link[disabled]:hover > a:only-child::after,
.ant-btn-dangerous.ant-btn-link[disabled]:focus > a:only-child::after,
.ant-btn-dangerous.ant-btn-link[disabled]:active > a:only-child::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: transparent;
  content: '';
}
.ant-btn-dangerous.ant-btn-link:hover,
.ant-btn-dangerous.ant-btn-link:focus {
  color: #800f19;
  background: transparent;
  border-color: transparent;
}
.ant-btn-dangerous.ant-btn-link:hover > a:only-child,
.ant-btn-dangerous.ant-btn-link:focus > a:only-child {
  color: currentColor;
}
.ant-btn-dangerous.ant-btn-link:hover > a:only-child::after,
.ant-btn-dangerous.ant-btn-link:focus > a:only-child::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: transparent;
  content: '';
}
.ant-btn-dangerous.ant-btn-link:active {
  color: #b33b3d;
  background: transparent;
  border-color: transparent;
}
.ant-btn-dangerous.ant-btn-link:active > a:only-child {
  color: currentColor;
}
.ant-btn-dangerous.ant-btn-link:active > a:only-child::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: transparent;
  content: '';
}
.ant-btn-dangerous.ant-btn-link[disabled],
.ant-btn-dangerous.ant-btn-link[disabled]:hover,
.ant-btn-dangerous.ant-btn-link[disabled]:focus,
.ant-btn-dangerous.ant-btn-link[disabled]:active {
  color: rgba(255, 255, 255, 0.3);
  background: transparent;
  border-color: transparent;
  text-shadow: none;
  box-shadow: none;
}
.ant-btn-dangerous.ant-btn-link[disabled] > a:only-child,
.ant-btn-dangerous.ant-btn-link[disabled]:hover > a:only-child,
.ant-btn-dangerous.ant-btn-link[disabled]:focus > a:only-child,
.ant-btn-dangerous.ant-btn-link[disabled]:active > a:only-child {
  color: currentColor;
}
.ant-btn-dangerous.ant-btn-link[disabled] > a:only-child::after,
.ant-btn-dangerous.ant-btn-link[disabled]:hover > a:only-child::after,
.ant-btn-dangerous.ant-btn-link[disabled]:focus > a:only-child::after,
.ant-btn-dangerous.ant-btn-link[disabled]:active > a:only-child::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: transparent;
  content: '';
}
.ant-btn-dangerous.ant-btn-text {
  color: #a61d24;
  background: transparent;
  border-color: transparent;
  box-shadow: none;
}
.ant-btn-dangerous.ant-btn-text > a:only-child {
  color: currentColor;
}
.ant-btn-dangerous.ant-btn-text > a:only-child::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: transparent;
  content: '';
}
.ant-btn-dangerous.ant-btn-text:hover,
.ant-btn-dangerous.ant-btn-text:focus {
  color: #165996;
  background: transparent;
  border-color: #165996;
}
.ant-btn-dangerous.ant-btn-text:hover > a:only-child,
.ant-btn-dangerous.ant-btn-text:focus > a:only-child {
  color: currentColor;
}
.ant-btn-dangerous.ant-btn-text:hover > a:only-child::after,
.ant-btn-dangerous.ant-btn-text:focus > a:only-child::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: transparent;
  content: '';
}
.ant-btn-dangerous.ant-btn-text:active {
  color: #388ed3;
  background: transparent;
  border-color: #388ed3;
}
.ant-btn-dangerous.ant-btn-text:active > a:only-child {
  color: currentColor;
}
.ant-btn-dangerous.ant-btn-text:active > a:only-child::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: transparent;
  content: '';
}
.ant-btn-dangerous.ant-btn-text[disabled],
.ant-btn-dangerous.ant-btn-text[disabled]:hover,
.ant-btn-dangerous.ant-btn-text[disabled]:focus,
.ant-btn-dangerous.ant-btn-text[disabled]:active {
  color: rgba(255, 255, 255, 0.3);
  background: rgba(255, 255, 255, 0.08);
  border-color: #434343;
  text-shadow: none;
  box-shadow: none;
}
.ant-btn-dangerous.ant-btn-text[disabled] > a:only-child,
.ant-btn-dangerous.ant-btn-text[disabled]:hover > a:only-child,
.ant-btn-dangerous.ant-btn-text[disabled]:focus > a:only-child,
.ant-btn-dangerous.ant-btn-text[disabled]:active > a:only-child {
  color: currentColor;
}
.ant-btn-dangerous.ant-btn-text[disabled] > a:only-child::after,
.ant-btn-dangerous.ant-btn-text[disabled]:hover > a:only-child::after,
.ant-btn-dangerous.ant-btn-text[disabled]:focus > a:only-child::after,
.ant-btn-dangerous.ant-btn-text[disabled]:active > a:only-child::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: transparent;
  content: '';
}
.ant-btn-dangerous.ant-btn-text:hover,
.ant-btn-dangerous.ant-btn-text:focus {
  color: #800f19;
  background: rgba(255, 255, 255, 0.03);
  border-color: transparent;
}
.ant-btn-dangerous.ant-btn-text:hover > a:only-child,
.ant-btn-dangerous.ant-btn-text:focus > a:only-child {
  color: currentColor;
}
.ant-btn-dangerous.ant-btn-text:hover > a:only-child::after,
.ant-btn-dangerous.ant-btn-text:focus > a:only-child::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: transparent;
  content: '';
}
.ant-btn-dangerous.ant-btn-text:active {
  color: #b33b3d;
  background: rgba(255, 255, 255, 0.04);
  border-color: transparent;
}
.ant-btn-dangerous.ant-btn-text:active > a:only-child {
  color: currentColor;
}
.ant-btn-dangerous.ant-btn-text:active > a:only-child::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: transparent;
  content: '';
}
.ant-btn-dangerous.ant-btn-text[disabled],
.ant-btn-dangerous.ant-btn-text[disabled]:hover,
.ant-btn-dangerous.ant-btn-text[disabled]:focus,
.ant-btn-dangerous.ant-btn-text[disabled]:active {
  color: rgba(255, 255, 255, 0.3);
  background: transparent;
  border-color: transparent;
  text-shadow: none;
  box-shadow: none;
}
.ant-btn-dangerous.ant-btn-text[disabled] > a:only-child,
.ant-btn-dangerous.ant-btn-text[disabled]:hover > a:only-child,
.ant-btn-dangerous.ant-btn-text[disabled]:focus > a:only-child,
.ant-btn-dangerous.ant-btn-text[disabled]:active > a:only-child {
  color: currentColor;
}
.ant-btn-dangerous.ant-btn-text[disabled] > a:only-child::after,
.ant-btn-dangerous.ant-btn-text[disabled]:hover > a:only-child::after,
.ant-btn-dangerous.ant-btn-text[disabled]:focus > a:only-child::after,
.ant-btn-dangerous.ant-btn-text[disabled]:active > a:only-child::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: transparent;
  content: '';
}
.ant-btn-icon-only {
  width: 32px;
  height: 32px;
  padding: 2.4px 0;
  font-size: 16px;
  border-radius: 2px;
  vertical-align: -1px;
}
.ant-btn-icon-only > * {
  font-size: 16px;
}
.ant-btn-icon-only.ant-btn-lg {
  width: 40px;
  height: 40px;
  padding: 4.9px 0;
  font-size: 18px;
  border-radius: 2px;
}
.ant-btn-icon-only.ant-btn-lg > * {
  font-size: 18px;
}
.ant-btn-icon-only.ant-btn-sm {
  width: 24px;
  height: 24px;
  padding: 0px 0;
  font-size: 14px;
  border-radius: 2px;
}
.ant-btn-icon-only.ant-btn-sm > * {
  font-size: 14px;
}
.ant-btn-round {
  height: 32px;
  padding: 4px 16px;
  font-size: 14px;
  border-radius: 32px;
}
.ant-btn-round.ant-btn-lg {
  height: 40px;
  padding: 6.4px 20px;
  font-size: 16px;
  border-radius: 40px;
}
.ant-btn-round.ant-btn-sm {
  height: 24px;
  padding: 0px 12px;
  font-size: 14px;
  border-radius: 24px;
}
.ant-btn-round.ant-btn-icon-only {
  width: auto;
}
.ant-btn-circle {
  min-width: 32px;
  padding-right: 0;
  padding-left: 0;
  text-align: center;
  border-radius: 50%;
}
.ant-btn-circle.ant-btn-lg {
  min-width: 40px;
  border-radius: 50%;
}
.ant-btn-circle.ant-btn-sm {
  min-width: 24px;
  border-radius: 50%;
}
.ant-btn::before {
  position: absolute;
  top: -1px;
  right: -1px;
  bottom: -1px;
  left: -1px;
  z-index: 1;
  display: none;
  background: #141414;
  border-radius: inherit;
  opacity: 0.35;
  transition: opacity 0.2s;
  content: '';
  pointer-events: none;
}
.ant-btn .anticon {
  transition: margin-left 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
}
.ant-btn .anticon.anticon-plus > svg,
.ant-btn .anticon.anticon-minus > svg {
  shape-rendering: optimizeSpeed;
}
.ant-btn.ant-btn-loading {
  position: relative;
}
.ant-btn.ant-btn-loading:not([disabled]) {
  pointer-events: none;
}
.ant-btn.ant-btn-loading::before {
  display: block;
}
.ant-btn > .ant-btn-loading-icon {
  transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
}
.ant-btn > .ant-btn-loading-icon .anticon {
  padding-right: 8px;
  -webkit-animation: none;
          animation: none;
}
.ant-btn > .ant-btn-loading-icon .anticon svg {
  -webkit-animation: loadingCircle 1s infinite linear;
          animation: loadingCircle 1s infinite linear;
}
.ant-btn > .ant-btn-loading-icon:only-child .anticon {
  padding-right: 0;
}
.ant-btn-group {
  position: relative;
  display: inline-flex;
}
.ant-btn-group > .ant-btn,
.ant-btn-group > span > .ant-btn {
  position: relative;
}
.ant-btn-group > .ant-btn:hover,
.ant-btn-group > span > .ant-btn:hover,
.ant-btn-group > .ant-btn:focus,
.ant-btn-group > span > .ant-btn:focus,
.ant-btn-group > .ant-btn:active,
.ant-btn-group > span > .ant-btn:active {
  z-index: 2;
}
.ant-btn-group > .ant-btn[disabled],
.ant-btn-group > span > .ant-btn[disabled] {
  z-index: 0;
}
.ant-btn-group .ant-btn-icon-only {
  font-size: 14px;
}
.ant-btn-group-lg > .ant-btn,
.ant-btn-group-lg > span > .ant-btn {
  height: 40px;
  padding: 6.4px 15px;
  font-size: 16px;
  border-radius: 0;
}
.ant-btn-group-lg .ant-btn.ant-btn-icon-only {
  width: 40px;
  height: 40px;
  padding-right: 0;
  padding-left: 0;
}
.ant-btn-group-sm > .ant-btn,
.ant-btn-group-sm > span > .ant-btn {
  height: 24px;
  padding: 0px 7px;
  font-size: 14px;
  border-radius: 0;
}
.ant-btn-group-sm > .ant-btn > .anticon,
.ant-btn-group-sm > span > .ant-btn > .anticon {
  font-size: 14px;
}
.ant-btn-group-sm .ant-btn.ant-btn-icon-only {
  width: 24px;
  height: 24px;
  padding-right: 0;
  padding-left: 0;
}
.ant-btn-group .ant-btn + .ant-btn,
.ant-btn + .ant-btn-group,
.ant-btn-group span + .ant-btn,
.ant-btn-group .ant-btn + span,
.ant-btn-group > span + span,
.ant-btn-group + .ant-btn,
.ant-btn-group + .ant-btn-group {
  margin-left: -1px;
}
.ant-btn-group .ant-btn-primary + .ant-btn:not(.ant-btn-primary):not([disabled]) {
  border-left-color: transparent;
}
.ant-btn-group .ant-btn {
  border-radius: 0;
}
.ant-btn-group > .ant-btn:first-child,
.ant-btn-group > span:first-child > .ant-btn {
  margin-left: 0;
}
.ant-btn-group > .ant-btn:only-child {
  border-radius: 2px;
}
.ant-btn-group > span:only-child > .ant-btn {
  border-radius: 2px;
}
.ant-btn-group > .ant-btn:first-child:not(:last-child),
.ant-btn-group > span:first-child:not(:last-child) > .ant-btn {
  border-top-left-radius: 2px;
  border-bottom-left-radius: 2px;
}
.ant-btn-group > .ant-btn:last-child:not(:first-child),
.ant-btn-group > span:last-child:not(:first-child) > .ant-btn {
  border-top-right-radius: 2px;
  border-bottom-right-radius: 2px;
}
.ant-btn-group-sm > .ant-btn:only-child {
  border-radius: 2px;
}
.ant-btn-group-sm > span:only-child > .ant-btn {
  border-radius: 2px;
}
.ant-btn-group-sm > .ant-btn:first-child:not(:last-child),
.ant-btn-group-sm > span:first-child:not(:last-child) > .ant-btn {
  border-top-left-radius: 2px;
  border-bottom-left-radius: 2px;
}
.ant-btn-group-sm > .ant-btn:last-child:not(:first-child),
.ant-btn-group-sm > span:last-child:not(:first-child) > .ant-btn {
  border-top-right-radius: 2px;
  border-bottom-right-radius: 2px;
}
.ant-btn-group > .ant-btn-group {
  float: left;
}
.ant-btn-group > .ant-btn-group:not(:first-child):not(:last-child) > .ant-btn {
  border-radius: 0;
}
.ant-btn-group > .ant-btn-group:first-child:not(:last-child) > .ant-btn:last-child {
  padding-right: 8px;
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.ant-btn-group > .ant-btn-group:last-child:not(:first-child) > .ant-btn:first-child {
  padding-left: 8px;
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
.ant-btn-rtl.ant-btn-group .ant-btn + .ant-btn,
.ant-btn-rtl.ant-btn + .ant-btn-group,
.ant-btn-rtl.ant-btn-group span + .ant-btn,
.ant-btn-rtl.ant-btn-group .ant-btn + span,
.ant-btn-rtl.ant-btn-group > span + span,
.ant-btn-rtl.ant-btn-group + .ant-btn,
.ant-btn-rtl.ant-btn-group + .ant-btn-group,
.ant-btn-group-rtl.ant-btn-group .ant-btn + .ant-btn,
.ant-btn-group-rtl.ant-btn + .ant-btn-group,
.ant-btn-group-rtl.ant-btn-group span + .ant-btn,
.ant-btn-group-rtl.ant-btn-group .ant-btn + span,
.ant-btn-group-rtl.ant-btn-group > span + span,
.ant-btn-group-rtl.ant-btn-group + .ant-btn,
.ant-btn-group-rtl.ant-btn-group + .ant-btn-group {
  margin-right: -1px;
  margin-left: auto;
}
.ant-btn-group.ant-btn-group-rtl {
  direction: rtl;
}
.ant-btn-group-rtl.ant-btn-group > .ant-btn:first-child:not(:last-child),
.ant-btn-group-rtl.ant-btn-group > span:first-child:not(:last-child) > .ant-btn {
  border-top-left-radius: 0;
  border-top-right-radius: 2px;
  border-bottom-right-radius: 2px;
  border-bottom-left-radius: 0;
}
.ant-btn-group-rtl.ant-btn-group > .ant-btn:last-child:not(:first-child),
.ant-btn-group-rtl.ant-btn-group > span:last-child:not(:first-child) > .ant-btn {
  border-top-left-radius: 2px;
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 2px;
}
.ant-btn-group-rtl.ant-btn-group-sm > .ant-btn:first-child:not(:last-child),
.ant-btn-group-rtl.ant-btn-group-sm > span:first-child:not(:last-child) > .ant-btn {
  border-top-left-radius: 0;
  border-top-right-radius: 2px;
  border-bottom-right-radius: 2px;
  border-bottom-left-radius: 0;
}
.ant-btn-group-rtl.ant-btn-group-sm > .ant-btn:last-child:not(:first-child),
.ant-btn-group-rtl.ant-btn-group-sm > span:last-child:not(:first-child) > .ant-btn {
  border-top-left-radius: 2px;
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 2px;
}
.ant-btn:focus > span,
.ant-btn:active > span {
  position: relative;
}
.ant-btn > .anticon + span,
.ant-btn > span + .anticon {
  margin-left: 8px;
}
.ant-btn-background-ghost {
  color: var(--uni-contrast-500);
  background: transparent !important;
  border-color: rgba(255, 255, 255, 0.25);
}
.ant-btn-background-ghost.ant-btn-primary {
  color: #177ddc;
  background: transparent;
  border-color: #177ddc;
  text-shadow: none;
}
.ant-btn-background-ghost.ant-btn-primary > a:only-child {
  color: currentColor;
}
.ant-btn-background-ghost.ant-btn-primary > a:only-child::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: transparent;
  content: '';
}
.ant-btn-background-ghost.ant-btn-primary:hover,
.ant-btn-background-ghost.ant-btn-primary:focus {
  color: #095cb5;
  background: transparent;
  border-color: #095cb5;
}
.ant-btn-background-ghost.ant-btn-primary:hover > a:only-child,
.ant-btn-background-ghost.ant-btn-primary:focus > a:only-child {
  color: currentColor;
}
.ant-btn-background-ghost.ant-btn-primary:hover > a:only-child::after,
.ant-btn-background-ghost.ant-btn-primary:focus > a:only-child::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: transparent;
  content: '';
}
.ant-btn-background-ghost.ant-btn-primary:active {
  color: #3c9be8;
  background: transparent;
  border-color: #3c9be8;
}
.ant-btn-background-ghost.ant-btn-primary:active > a:only-child {
  color: currentColor;
}
.ant-btn-background-ghost.ant-btn-primary:active > a:only-child::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: transparent;
  content: '';
}
.ant-btn-background-ghost.ant-btn-primary[disabled],
.ant-btn-background-ghost.ant-btn-primary[disabled]:hover,
.ant-btn-background-ghost.ant-btn-primary[disabled]:focus,
.ant-btn-background-ghost.ant-btn-primary[disabled]:active {
  color: rgba(255, 255, 255, 0.3);
  background: rgba(255, 255, 255, 0.08);
  border-color: #434343;
  text-shadow: none;
  box-shadow: none;
}
.ant-btn-background-ghost.ant-btn-primary[disabled] > a:only-child,
.ant-btn-background-ghost.ant-btn-primary[disabled]:hover > a:only-child,
.ant-btn-background-ghost.ant-btn-primary[disabled]:focus > a:only-child,
.ant-btn-background-ghost.ant-btn-primary[disabled]:active > a:only-child {
  color: currentColor;
}
.ant-btn-background-ghost.ant-btn-primary[disabled] > a:only-child::after,
.ant-btn-background-ghost.ant-btn-primary[disabled]:hover > a:only-child::after,
.ant-btn-background-ghost.ant-btn-primary[disabled]:focus > a:only-child::after,
.ant-btn-background-ghost.ant-btn-primary[disabled]:active > a:only-child::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: transparent;
  content: '';
}
.ant-btn-background-ghost.ant-btn-danger {
  color: #a61d24;
  background: transparent;
  border-color: #a61d24;
  text-shadow: none;
}
.ant-btn-background-ghost.ant-btn-danger > a:only-child {
  color: currentColor;
}
.ant-btn-background-ghost.ant-btn-danger > a:only-child::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: transparent;
  content: '';
}
.ant-btn-background-ghost.ant-btn-danger:hover,
.ant-btn-background-ghost.ant-btn-danger:focus {
  color: #800f19;
  background: transparent;
  border-color: #800f19;
}
.ant-btn-background-ghost.ant-btn-danger:hover > a:only-child,
.ant-btn-background-ghost.ant-btn-danger:focus > a:only-child {
  color: currentColor;
}
.ant-btn-background-ghost.ant-btn-danger:hover > a:only-child::after,
.ant-btn-background-ghost.ant-btn-danger:focus > a:only-child::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: transparent;
  content: '';
}
.ant-btn-background-ghost.ant-btn-danger:active {
  color: #b33b3d;
  background: transparent;
  border-color: #b33b3d;
}
.ant-btn-background-ghost.ant-btn-danger:active > a:only-child {
  color: currentColor;
}
.ant-btn-background-ghost.ant-btn-danger:active > a:only-child::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: transparent;
  content: '';
}
.ant-btn-background-ghost.ant-btn-danger[disabled],
.ant-btn-background-ghost.ant-btn-danger[disabled]:hover,
.ant-btn-background-ghost.ant-btn-danger[disabled]:focus,
.ant-btn-background-ghost.ant-btn-danger[disabled]:active {
  color: rgba(255, 255, 255, 0.3);
  background: rgba(255, 255, 255, 0.08);
  border-color: #434343;
  text-shadow: none;
  box-shadow: none;
}
.ant-btn-background-ghost.ant-btn-danger[disabled] > a:only-child,
.ant-btn-background-ghost.ant-btn-danger[disabled]:hover > a:only-child,
.ant-btn-background-ghost.ant-btn-danger[disabled]:focus > a:only-child,
.ant-btn-background-ghost.ant-btn-danger[disabled]:active > a:only-child {
  color: currentColor;
}
.ant-btn-background-ghost.ant-btn-danger[disabled] > a:only-child::after,
.ant-btn-background-ghost.ant-btn-danger[disabled]:hover > a:only-child::after,
.ant-btn-background-ghost.ant-btn-danger[disabled]:focus > a:only-child::after,
.ant-btn-background-ghost.ant-btn-danger[disabled]:active > a:only-child::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: transparent;
  content: '';
}
.ant-btn-background-ghost.ant-btn-dangerous {
  color: #a61d24;
  background: transparent;
  border-color: #a61d24;
  text-shadow: none;
}
.ant-btn-background-ghost.ant-btn-dangerous > a:only-child {
  color: currentColor;
}
.ant-btn-background-ghost.ant-btn-dangerous > a:only-child::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: transparent;
  content: '';
}
.ant-btn-background-ghost.ant-btn-dangerous:hover,
.ant-btn-background-ghost.ant-btn-dangerous:focus {
  color: #800f19;
  background: transparent;
  border-color: #800f19;
}
.ant-btn-background-ghost.ant-btn-dangerous:hover > a:only-child,
.ant-btn-background-ghost.ant-btn-dangerous:focus > a:only-child {
  color: currentColor;
}
.ant-btn-background-ghost.ant-btn-dangerous:hover > a:only-child::after,
.ant-btn-background-ghost.ant-btn-dangerous:focus > a:only-child::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: transparent;
  content: '';
}
.ant-btn-background-ghost.ant-btn-dangerous:active {
  color: #b33b3d;
  background: transparent;
  border-color: #b33b3d;
}
.ant-btn-background-ghost.ant-btn-dangerous:active > a:only-child {
  color: currentColor;
}
.ant-btn-background-ghost.ant-btn-dangerous:active > a:only-child::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: transparent;
  content: '';
}
.ant-btn-background-ghost.ant-btn-dangerous[disabled],
.ant-btn-background-ghost.ant-btn-dangerous[disabled]:hover,
.ant-btn-background-ghost.ant-btn-dangerous[disabled]:focus,
.ant-btn-background-ghost.ant-btn-dangerous[disabled]:active {
  color: rgba(255, 255, 255, 0.3);
  background: rgba(255, 255, 255, 0.08);
  border-color: #434343;
  text-shadow: none;
  box-shadow: none;
}
.ant-btn-background-ghost.ant-btn-dangerous[disabled] > a:only-child,
.ant-btn-background-ghost.ant-btn-dangerous[disabled]:hover > a:only-child,
.ant-btn-background-ghost.ant-btn-dangerous[disabled]:focus > a:only-child,
.ant-btn-background-ghost.ant-btn-dangerous[disabled]:active > a:only-child {
  color: currentColor;
}
.ant-btn-background-ghost.ant-btn-dangerous[disabled] > a:only-child::after,
.ant-btn-background-ghost.ant-btn-dangerous[disabled]:hover > a:only-child::after,
.ant-btn-background-ghost.ant-btn-dangerous[disabled]:focus > a:only-child::after,
.ant-btn-background-ghost.ant-btn-dangerous[disabled]:active > a:only-child::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: transparent;
  content: '';
}
.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link {
  color: #a61d24;
  background: transparent;
  border-color: transparent;
  text-shadow: none;
}
.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link > a:only-child {
  color: currentColor;
}
.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link > a:only-child::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: transparent;
  content: '';
}
.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link:hover,
.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link:focus {
  color: #800f19;
  background: transparent;
  border-color: transparent;
}
.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link:hover > a:only-child,
.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link:focus > a:only-child {
  color: currentColor;
}
.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link:hover > a:only-child::after,
.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link:focus > a:only-child::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: transparent;
  content: '';
}
.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link:active {
  color: #b33b3d;
  background: transparent;
  border-color: transparent;
}
.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link:active > a:only-child {
  color: currentColor;
}
.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link:active > a:only-child::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: transparent;
  content: '';
}
.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled],
.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled]:hover,
.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled]:focus,
.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled]:active {
  color: rgba(255, 255, 255, 0.3);
  background: rgba(255, 255, 255, 0.08);
  border-color: #434343;
  text-shadow: none;
  box-shadow: none;
}
.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled] > a:only-child,
.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled]:hover > a:only-child,
.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled]:focus > a:only-child,
.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled]:active > a:only-child {
  color: currentColor;
}
.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled] > a:only-child::after,
.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled]:hover > a:only-child::after,
.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled]:focus > a:only-child::after,
.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled]:active > a:only-child::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: transparent;
  content: '';
}
.ant-btn-two-chinese-chars::first-letter {
  letter-spacing: 0.34em;
}
.ant-btn-two-chinese-chars > *:not(.anticon) {
  margin-right: -0.34em;
  letter-spacing: 0.34em;
}
.ant-btn-block {
  width: 100%;
}
.ant-btn:empty {
  display: inline-block;
  width: 0;
  visibility: hidden;
  content: '\a0';
}
a.ant-btn {
  padding-top: 0.1px;
  line-height: 30px;
}
a.ant-btn-lg {
  line-height: 38px;
}
a.ant-btn-sm {
  line-height: 22px;
}
.ant-btn-rtl {
  direction: rtl;
}
.ant-btn-group-rtl.ant-btn-group .ant-btn-primary:last-child:not(:first-child),
.ant-btn-group-rtl.ant-btn-group .ant-btn-primary + .ant-btn-primary {
  border-right-color: #165996;
  border-left-color: #434343;
}
.ant-btn-group-rtl.ant-btn-group .ant-btn-primary:last-child:not(:first-child)[disabled],
.ant-btn-group-rtl.ant-btn-group .ant-btn-primary + .ant-btn-primary[disabled] {
  border-right-color: #434343;
  border-left-color: #165996;
}
.ant-btn-rtl.ant-btn > .ant-btn-loading-icon .anticon {
  padding-right: 0;
  padding-left: 8px;
}
.ant-btn > .ant-btn-loading-icon:only-child .anticon {
  padding-right: 0;
  padding-left: 0;
}
.ant-btn-rtl.ant-btn > .anticon + span,
.ant-btn-rtl.ant-btn > span + .anticon {
  margin-right: 8px;
  margin-left: 0;
}
.ant-spin {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  color: var(--uni-contrast-500);
  font-size: 14px;
  font-variant: tabular-nums;
  line-height: 1.5715;
  list-style: none;
  font-feature-settings: 'tnum';
  position: absolute;
  display: none;
  color: #177ddc;
  text-align: center;
  vertical-align: middle;
  opacity: 0;
  transition: transform 0.3s cubic-bezier(0.78, 0.14, 0.15, 0.86);
}
.ant-spin-spinning {
  position: static;
  display: inline-block;
  opacity: 1;
}
.ant-spin-nested-loading {
  position: relative;
}
.ant-spin-nested-loading > div > .ant-spin {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 4;
  display: block;
  width: 100%;
  height: 100%;
  max-height: 400px;
}
.ant-spin-nested-loading > div > .ant-spin .ant-spin-dot {
  position: absolute;
  top: 50%;
  left: 50%;
  margin: -10px;
}
.ant-spin-nested-loading > div > .ant-spin .ant-spin-text {
  position: absolute;
  top: 50%;
  width: 100%;
  padding-top: 5px;
  text-shadow: 0 1px 2px #141414;
}
.ant-spin-nested-loading > div > .ant-spin.ant-spin-show-text .ant-spin-dot {
  margin-top: -20px;
}
.ant-spin-nested-loading > div > .ant-spin-sm .ant-spin-dot {
  margin: -7px;
}
.ant-spin-nested-loading > div > .ant-spin-sm .ant-spin-text {
  padding-top: 2px;
}
.ant-spin-nested-loading > div > .ant-spin-sm.ant-spin-show-text .ant-spin-dot {
  margin-top: -17px;
}
.ant-spin-nested-loading > div > .ant-spin-lg .ant-spin-dot {
  margin: -16px;
}
.ant-spin-nested-loading > div > .ant-spin-lg .ant-spin-text {
  padding-top: 11px;
}
.ant-spin-nested-loading > div > .ant-spin-lg.ant-spin-show-text .ant-spin-dot {
  margin-top: -26px;
}
.ant-spin-container {
  position: relative;
  transition: opacity 0.3s;
}
.ant-spin-container::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 10;
  display: none \9;
  width: 100%;
  height: 100%;
  background: #141414;
  opacity: 0;
  transition: all 0.3s;
  content: '';
  pointer-events: none;
}
.ant-spin-blur {
  clear: both;
  overflow: hidden;
  opacity: 0.5;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  pointer-events: none;
}
.ant-spin-blur::after {
  opacity: 0.4;
  pointer-events: auto;
}
.ant-spin-tip {
  color: rgba(255, 255, 255, 0.45);
}
.ant-spin-dot {
  position: relative;
  display: inline-block;
  font-size: 20px;
  width: 1em;
  height: 1em;
}
.ant-spin-dot-item {
  position: absolute;
  display: block;
  width: 9px;
  height: 9px;
  background-color: #177ddc;
  border-radius: 100%;
  transform: scale(0.75);
  transform-origin: 50% 50%;
  opacity: 0.3;
  -webkit-animation: antSpinMove 1s infinite linear alternate;
          animation: antSpinMove 1s infinite linear alternate;
}
.ant-spin-dot-item:nth-child(1) {
  top: 0;
  left: 0;
}
.ant-spin-dot-item:nth-child(2) {
  top: 0;
  right: 0;
  -webkit-animation-delay: 0.4s;
          animation-delay: 0.4s;
}
.ant-spin-dot-item:nth-child(3) {
  right: 0;
  bottom: 0;
  -webkit-animation-delay: 0.8s;
          animation-delay: 0.8s;
}
.ant-spin-dot-item:nth-child(4) {
  bottom: 0;
  left: 0;
  -webkit-animation-delay: 1.2s;
          animation-delay: 1.2s;
}
.ant-spin-dot-spin {
  transform: rotate(45deg);
  -webkit-animation: antRotate 1.2s infinite linear;
          animation: antRotate 1.2s infinite linear;
}
.ant-spin-sm .ant-spin-dot {
  font-size: 14px;
}
.ant-spin-sm .ant-spin-dot i {
  width: 6px;
  height: 6px;
}
.ant-spin-lg .ant-spin-dot {
  font-size: 32px;
}
.ant-spin-lg .ant-spin-dot i {
  width: 14px;
  height: 14px;
}
.ant-spin.ant-spin-show-text .ant-spin-text {
  display: block;
}
@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
  /* IE10+ */
  .ant-spin-blur {
    background: #141414;
    opacity: 0.5;
  }
}
@-webkit-keyframes antSpinMove {
  to {
    opacity: 1;
  }
}
@keyframes antSpinMove {
  to {
    opacity: 1;
  }
}
@-webkit-keyframes antRotate {
  to {
    transform: rotate(405deg);
  }
}
@keyframes antRotate {
  to {
    transform: rotate(405deg);
  }
}
.ant-spin-rtl {
  direction: rtl;
}
.ant-spin-rtl .ant-spin-dot-spin {
  transform: rotate(-45deg);
  -webkit-animation-name: antRotateRtl;
          animation-name: antRotateRtl;
}
@-webkit-keyframes antRotateRtl {
  to {
    transform: rotate(-405deg);
  }
}
@keyframes antRotateRtl {
  to {
    transform: rotate(-405deg);
  }
}
nz-spin {
  display: block;
}
.ant-input-affix-wrapper {
  position: relative;
  display: inline-block;
  width: 100%;
  min-width: 0;
  padding: 4px 11px;
  color: var(--uni-contrast-500);
  font-size: 14px;
  line-height: 1.5715;
  background-color: transparent;
  background-image: none;
  border: 1px solid #434343;
  border-radius: 2px;
  transition: all 0.3s;
  display: inline-flex;
}
.ant-input-affix-wrapper::-moz-placeholder {
  opacity: 1;
}
.ant-input-affix-wrapper::placeholder {
  color: rgba(255, 255, 255, 0.3);
}
.ant-input-affix-wrapper:-moz-placeholder-shown {
  text-overflow: ellipsis;
}
.ant-input-affix-wrapper:placeholder-shown {
  text-overflow: ellipsis;
}
.ant-input-affix-wrapper:hover {
  border-color: #165996;
  border-right-width: 1px !important;
}
.ant-input-rtl .ant-input-affix-wrapper:hover {
  border-right-width: 0;
  border-left-width: 1px !important;
}
.ant-input-affix-wrapper:focus,
.ant-input-affix-wrapper-focused {
  border-color: #177ddc;
  border-right-width: 1px !important;
  outline: 0;
  box-shadow: 0 0 0 2px rgba(23, 125, 220, 0.2);
}
.ant-input-rtl .ant-input-affix-wrapper:focus,
.ant-input-rtl .ant-input-affix-wrapper-focused {
  border-right-width: 0;
  border-left-width: 1px !important;
}
.ant-input-affix-wrapper-disabled {
  color: rgba(255, 255, 255, 0.3);
  background-color: rgba(255, 255, 255, 0.08);
  cursor: not-allowed;
  opacity: 1;
}
.ant-input-affix-wrapper-disabled:hover {
  border-color: #434343;
  border-right-width: 1px !important;
}
.ant-input-affix-wrapper[disabled] {
  color: rgba(255, 255, 255, 0.3);
  background-color: rgba(255, 255, 255, 0.08);
  cursor: not-allowed;
  opacity: 1;
}
.ant-input-affix-wrapper[disabled]:hover {
  border-color: #434343;
  border-right-width: 1px !important;
}
.ant-input-affix-wrapper-borderless,
.ant-input-affix-wrapper-borderless:hover,
.ant-input-affix-wrapper-borderless:focus,
.ant-input-affix-wrapper-borderless-focused,
.ant-input-affix-wrapper-borderless-disabled,
.ant-input-affix-wrapper-borderless[disabled] {
  background-color: transparent;
  border: none;
  box-shadow: none;
}
textarea.ant-input-affix-wrapper {
  max-width: 100%;
  height: auto;
  min-height: 32px;
  line-height: 1.5715;
  vertical-align: bottom;
  transition: all 0.3s, height 0s;
}
.ant-input-affix-wrapper-lg {
  padding: 6.5px 11px;
  font-size: 16px;
}
.ant-input-affix-wrapper-sm {
  padding: 0px 7px;
}
.ant-input-affix-wrapper-rtl {
  direction: rtl;
}
.ant-input-affix-wrapper:hover {
  border-color: #165996;
  border-right-width: 1px !important;
  z-index: 1;
}
.ant-input-rtl .ant-input-affix-wrapper:hover {
  border-right-width: 0;
  border-left-width: 1px !important;
}
.ant-input-search-with-button .ant-input-affix-wrapper:hover {
  z-index: 0;
}
.ant-input-affix-wrapper-focused,
.ant-input-affix-wrapper:focus {
  z-index: 1;
}
.ant-input-affix-wrapper-disabled .ant-input[disabled] {
  background: transparent;
}
.ant-input-affix-wrapper > input.ant-input {
  padding: 0;
  border: none;
  outline: none;
}
.ant-input-affix-wrapper > input.ant-input:focus {
  box-shadow: none;
}
.ant-input-affix-wrapper::before {
  width: 0;
  visibility: hidden;
  content: '\a0';
}
.ant-input-prefix,
.ant-input-suffix {
  display: flex;
  flex: none;
  align-items: center;
}
.ant-input-prefix {
  margin-right: 4px;
}
.ant-input-suffix {
  margin-left: 4px;
}
.ant-input-clear-icon {
  margin: 0 4px;
  color: rgba(255, 255, 255, 0.3);
  font-size: 12px;
  vertical-align: -1px;
  cursor: pointer;
  transition: color 0.3s;
}
.ant-input-clear-icon:hover {
  color: rgba(255, 255, 255, 0.45);
}
.ant-input-clear-icon:active {
  color: var(--uni-contrast-500);
}
.ant-input-clear-icon-hidden {
  visibility: hidden;
}
.ant-input-clear-icon:last-child {
  margin-right: 0;
}
.ant-input-affix-wrapper-textarea-with-clear-btn {
  padding: 0 !important;
  border: 0 !important;
}
.ant-input-affix-wrapper-textarea-with-clear-btn .ant-input-clear-icon {
  position: absolute;
  top: 8px;
  right: 8px;
  z-index: 1;
}
.ant-input {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  font-variant: tabular-nums;
  list-style: none;
  font-feature-settings: 'tnum';
  position: relative;
  display: inline-block;
  width: 100%;
  min-width: 0;
  padding: 4px 11px;
  color: var(--uni-contrast-500);
  font-size: 14px;
  line-height: 1.5715;
  background-color: transparent;
  background-image: none;
  border: 1px solid #434343;
  border-radius: 2px;
  transition: all 0.3s;
}
.ant-input::-moz-placeholder {
  opacity: 1;
}
.ant-input::placeholder {
  color: rgba(255, 255, 255, 0.3);
}
.ant-input:-moz-placeholder-shown {
  text-overflow: ellipsis;
}
.ant-input:placeholder-shown {
  text-overflow: ellipsis;
}
.ant-input:hover {
  border-color: #165996;
  border-right-width: 1px !important;
}
.ant-input-rtl .ant-input:hover {
  border-right-width: 0;
  border-left-width: 1px !important;
}
.ant-input:focus,
.ant-input-focused {
  border-color: #177ddc;
  border-right-width: 1px !important;
  outline: 0;
  box-shadow: 0 0 0 2px rgba(23, 125, 220, 0.2);
}
.ant-input-rtl .ant-input:focus,
.ant-input-rtl .ant-input-focused {
  border-right-width: 0;
  border-left-width: 1px !important;
}
.ant-input-disabled {
  color: rgba(255, 255, 255, 0.3);
  background-color: rgba(255, 255, 255, 0.08);
  cursor: not-allowed;
  opacity: 1;
}
.ant-input-disabled:hover {
  border-color: #434343;
  border-right-width: 1px !important;
}
.ant-input[disabled] {
  color: rgba(255, 255, 255, 0.3);
  background-color: rgba(255, 255, 255, 0.08);
  cursor: not-allowed;
  opacity: 1;
}
.ant-input[disabled]:hover {
  border-color: #434343;
  border-right-width: 1px !important;
}
.ant-input-borderless,
.ant-input-borderless:hover,
.ant-input-borderless:focus,
.ant-input-borderless-focused,
.ant-input-borderless-disabled,
.ant-input-borderless[disabled] {
  background-color: transparent;
  border: none;
  box-shadow: none;
}
textarea.ant-input {
  max-width: 100%;
  height: auto;
  min-height: 32px;
  line-height: 1.5715;
  vertical-align: bottom;
  transition: all 0.3s, height 0s;
}
.ant-input-lg {
  padding: 6.5px 11px;
  font-size: 16px;
}
.ant-input-sm {
  padding: 0px 7px;
}
.ant-input-rtl {
  direction: rtl;
}
.ant-input-group {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  color: var(--uni-contrast-500);
  font-size: 14px;
  font-variant: tabular-nums;
  line-height: 1.5715;
  list-style: none;
  font-feature-settings: 'tnum';
  position: relative;
  display: table;
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
}
.ant-input-group[class*='col-'] {
  float: none;
  padding-right: 0;
  padding-left: 0;
}
.ant-input-group > [class*='col-'] {
  padding-right: 8px;
}
.ant-input-group > [class*='col-']:last-child {
  padding-right: 0;
}
.ant-input-group-addon,
.ant-input-group-wrap,
.ant-input-group > .ant-input {
  display: table-cell;
}
.ant-input-group-addon:not(:first-child):not(:last-child),
.ant-input-group-wrap:not(:first-child):not(:last-child),
.ant-input-group > .ant-input:not(:first-child):not(:last-child) {
  border-radius: 0;
}
.ant-input-group-addon,
.ant-input-group-wrap {
  width: 1px;
  white-space: nowrap;
  vertical-align: middle;
}
.ant-input-group-wrap > * {
  display: block !important;
}
.ant-input-group .ant-input {
  float: left;
  width: 100%;
  margin-bottom: 0;
  text-align: inherit;
}
.ant-input-group .ant-input:focus {
  z-index: 1;
  border-right-width: 1px;
}
.ant-input-group .ant-input:hover {
  z-index: 1;
  border-right-width: 1px;
}
.ant-input-search-with-button .ant-input-group .ant-input:hover {
  z-index: 0;
}
.ant-input-group-addon {
  position: relative;
  padding: 0 11px;
  color: var(--uni-contrast-500);
  font-weight: normal;
  font-size: 14px;
  text-align: center;
  background-color: rgba(255, 255, 255, 0.04);
  border: 1px solid #434343;
  border-radius: 2px;
  transition: all 0.3s;
}
.ant-input-group-addon .ant-select {
  margin: -5px -11px;
}
.ant-input-group-addon .ant-select.ant-select-single:not(.ant-select-customize-input) .ant-select-selector {
  background-color: inherit;
  border: 1px solid transparent;
  box-shadow: none;
}
.ant-input-group-addon .ant-select-open .ant-select-selector,
.ant-input-group-addon .ant-select-focused .ant-select-selector {
  color: #177ddc;
}
.ant-input-group > .ant-input:first-child,
.ant-input-group-addon:first-child {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.ant-input-group > .ant-input:first-child .ant-select .ant-select-selector,
.ant-input-group-addon:first-child .ant-select .ant-select-selector {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.ant-input-group > .ant-input-affix-wrapper:not(:first-child) .ant-input {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
.ant-input-group > .ant-input-affix-wrapper:not(:last-child) .ant-input {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.ant-input-group-addon:first-child {
  border-right: 0;
}
.ant-input-group-addon:last-child {
  border-left: 0;
}
.ant-input-group > .ant-input:last-child,
.ant-input-group-addon:last-child {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
.ant-input-group > .ant-input:last-child .ant-select .ant-select-selector,
.ant-input-group-addon:last-child .ant-select .ant-select-selector {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
.ant-input-group-lg .ant-input,
.ant-input-group-lg > .ant-input-group-addon {
  padding: 6.5px 11px;
  font-size: 16px;
}
.ant-input-group-sm .ant-input,
.ant-input-group-sm > .ant-input-group-addon {
  padding: 0px 7px;
}
.ant-input-group-lg .ant-select-single .ant-select-selector {
  height: 40px;
}
.ant-input-group-sm .ant-select-single .ant-select-selector {
  height: 24px;
}
.ant-input-group .ant-input-affix-wrapper:not(:first-child) {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
.ant-input-group .ant-input-affix-wrapper:not(:last-child) {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.ant-input-search .ant-input-group .ant-input-affix-wrapper:not(:last-child) {
  border-top-left-radius: 2px;
  border-bottom-left-radius: 2px;
}
.ant-input-group.ant-input-group-compact {
  display: block;
}
.ant-input-group.ant-input-group-compact::before {
  display: table;
  content: '';
}
.ant-input-group.ant-input-group-compact::after {
  display: table;
  clear: both;
  content: '';
}
.ant-input-group.ant-input-group-compact::before {
  display: table;
  content: '';
}
.ant-input-group.ant-input-group-compact::after {
  display: table;
  clear: both;
  content: '';
}
.ant-input-group.ant-input-group-compact-addon:not(:first-child):not(:last-child),
.ant-input-group.ant-input-group-compact-wrap:not(:first-child):not(:last-child),
.ant-input-group.ant-input-group-compact > .ant-input:not(:first-child):not(:last-child) {
  border-right-width: 1px;
}
.ant-input-group.ant-input-group-compact-addon:not(:first-child):not(:last-child):hover,
.ant-input-group.ant-input-group-compact-wrap:not(:first-child):not(:last-child):hover,
.ant-input-group.ant-input-group-compact > .ant-input:not(:first-child):not(:last-child):hover {
  z-index: 1;
}
.ant-input-group.ant-input-group-compact-addon:not(:first-child):not(:last-child):focus,
.ant-input-group.ant-input-group-compact-wrap:not(:first-child):not(:last-child):focus,
.ant-input-group.ant-input-group-compact > .ant-input:not(:first-child):not(:last-child):focus {
  z-index: 1;
}
.ant-input-group.ant-input-group-compact > * {
  display: inline-block;
  float: none;
  vertical-align: top;
  border-radius: 0;
}
.ant-input-group.ant-input-group-compact > .ant-input-affix-wrapper {
  display: inline-flex;
}
.ant-input-group.ant-input-group-compact > .ant-picker-range {
  display: inline-flex;
}
.ant-input-group.ant-input-group-compact > *:not(:last-child) {
  margin-right: -1px;
  border-right-width: 1px;
}
.ant-input-group.ant-input-group-compact .ant-input {
  float: none;
}
.ant-input-group.ant-input-group-compact > .ant-select > .ant-select-selector,
.ant-input-group.ant-input-group-compact > .ant-select-auto-complete .ant-input,
.ant-input-group.ant-input-group-compact > .ant-cascader-picker .ant-input,
.ant-input-group.ant-input-group-compact > .ant-input-group-wrapper .ant-input {
  border-right-width: 1px;
  border-radius: 0;
}
.ant-input-group.ant-input-group-compact > .ant-select > .ant-select-selector:hover,
.ant-input-group.ant-input-group-compact > .ant-select-auto-complete .ant-input:hover,
.ant-input-group.ant-input-group-compact > .ant-cascader-picker .ant-input:hover,
.ant-input-group.ant-input-group-compact > .ant-input-group-wrapper .ant-input:hover {
  z-index: 1;
}
.ant-input-group.ant-input-group-compact > .ant-select > .ant-select-selector:focus,
.ant-input-group.ant-input-group-compact > .ant-select-auto-complete .ant-input:focus,
.ant-input-group.ant-input-group-compact > .ant-cascader-picker .ant-input:focus,
.ant-input-group.ant-input-group-compact > .ant-input-group-wrapper .ant-input:focus {
  z-index: 1;
}
.ant-input-group.ant-input-group-compact > .ant-select-focused {
  z-index: 1;
}
.ant-input-group.ant-input-group-compact > .ant-select > .ant-select-arrow {
  z-index: 1;
}
.ant-input-group.ant-input-group-compact > *:first-child,
.ant-input-group.ant-input-group-compact > .ant-select:first-child > .ant-select-selector,
.ant-input-group.ant-input-group-compact > .ant-select-auto-complete:first-child .ant-input,
.ant-input-group.ant-input-group-compact > .ant-cascader-picker:first-child .ant-input {
  border-top-left-radius: 2px;
  border-bottom-left-radius: 2px;
}
.ant-input-group.ant-input-group-compact > *:last-child,
.ant-input-group.ant-input-group-compact > .ant-select:last-child > .ant-select-selector,
.ant-input-group.ant-input-group-compact > .ant-cascader-picker:last-child .ant-input,
.ant-input-group.ant-input-group-compact > .ant-cascader-picker-focused:last-child .ant-input {
  border-right-width: 1px;
  border-top-right-radius: 2px;
  border-bottom-right-radius: 2px;
}
.ant-input-group.ant-input-group-compact > .ant-select-auto-complete .ant-input {
  vertical-align: top;
}
.ant-input-group.ant-input-group-compact .ant-input-group-wrapper + .ant-input-group-wrapper {
  margin-left: -1px;
}
.ant-input-group.ant-input-group-compact .ant-input-group-wrapper + .ant-input-group-wrapper .ant-input-affix-wrapper {
  border-radius: 0;
}
.ant-input-group.ant-input-group-compact .ant-input-group-wrapper:not(:last-child).ant-input-search > .ant-input-group > .ant-input-group-addon > .ant-input-search-button {
  border-radius: 0;
}
.ant-input-group.ant-input-group-compact .ant-input-group-wrapper:not(:last-child).ant-input-search > .ant-input-group > .ant-input {
  border-radius: 2px 0 0 2px;
}
.ant-input-group > .ant-input-rtl:first-child,
.ant-input-group-rtl .ant-input-group-addon:first-child {
  border-radius: 0 2px 2px 0;
}
.ant-input-group-rtl .ant-input-group-addon:first-child {
  border-right: 1px solid #434343;
  border-left: 0;
}
.ant-input-group-rtl .ant-input-group-addon:last-child {
  border-right: 0;
  border-left: 1px solid #434343;
}
.ant-input-group-rtl.ant-input-group > .ant-input:last-child,
.ant-input-group-rtl.ant-input-group-addon:last-child {
  border-radius: 2px 0 0 2px;
}
.ant-input-group-rtl.ant-input-group .ant-input-affix-wrapper:not(:first-child) {
  border-radius: 2px 0 0 2px;
}
.ant-input-group-rtl.ant-input-group .ant-input-affix-wrapper:not(:last-child) {
  border-radius: 0 2px 2px 0;
}
.ant-input-group-rtl.ant-input-group.ant-input-group-compact > *:not(:last-child) {
  margin-right: 0;
  margin-left: -1px;
  border-left-width: 1px;
}
.ant-input-group-rtl.ant-input-group.ant-input-group-compact > *:first-child,
.ant-input-group-rtl.ant-input-group.ant-input-group-compact > .ant-select:first-child > .ant-select-selector,
.ant-input-group-rtl.ant-input-group.ant-input-group-compact > .ant-select-auto-complete:first-child .ant-input,
.ant-input-group-rtl.ant-input-group.ant-input-group-compact > .ant-cascader-picker:first-child .ant-input {
  border-radius: 0 2px 2px 0;
}
.ant-input-group-rtl.ant-input-group.ant-input-group-compact > *:last-child,
.ant-input-group-rtl.ant-input-group.ant-input-group-compact > .ant-select:last-child > .ant-select-selector,
.ant-input-group-rtl.ant-input-group.ant-input-group-compact > .ant-select-auto-complete:last-child .ant-input,
.ant-input-group-rtl.ant-input-group.ant-input-group-compact > .ant-cascader-picker:last-child .ant-input,
.ant-input-group-rtl.ant-input-group.ant-input-group-compact > .ant-cascader-picker-focused:last-child .ant-input {
  border-left-width: 1px;
  border-radius: 2px 0 0 2px;
}
.ant-input-group.ant-input-group-compact .ant-input-group-wrapper-rtl + .ant-input-group-wrapper-rtl {
  margin-right: -1px;
  margin-left: 0;
}
.ant-input-group.ant-input-group-compact .ant-input-group-wrapper-rtl:not(:last-child).ant-input-search > .ant-input-group > .ant-input {
  border-radius: 0 2px 2px 0;
}
.ant-input-group-wrapper {
  display: inline-block;
  width: 100%;
  text-align: start;
  vertical-align: top;
}
.ant-input-password-icon {
  color: rgba(255, 255, 255, 0.45);
  cursor: pointer;
  transition: all 0.3s;
}
.ant-input-password-icon:hover {
  color: rgba(255, 255, 255, 0.85);
}
.ant-input[type='color'] {
  height: 32px;
}
.ant-input[type='color'].ant-input-lg {
  height: 40px;
}
.ant-input[type='color'].ant-input-sm {
  height: 24px;
  padding-top: 3px;
  padding-bottom: 3px;
}
.ant-input-textarea-show-count::after {
  display: block;
  color: rgba(255, 255, 255, 0.45);
  text-align: right;
  content: attr(data-count);
}
.ant-input-search .ant-input:hover,
.ant-input-search .ant-input:focus {
  border-color: #165996;
}
.ant-input-search .ant-input:hover + .ant-input-group-addon .ant-input-search-button:not(.ant-btn-primary),
.ant-input-search .ant-input:focus + .ant-input-group-addon .ant-input-search-button:not(.ant-btn-primary) {
  border-left-color: #165996;
}
.ant-input-search .ant-input-affix-wrapper {
  border-radius: 0;
}
.ant-input-search .ant-input-lg {
  line-height: 1.5713;
}
.ant-input-search > .ant-input-group > .ant-input-group-addon:last-child {
  left: -1px;
  padding: 0;
  border: 0;
}
.ant-input-search > .ant-input-group > .ant-input-group-addon:last-child .ant-input-search-button {
  padding-top: 0;
  padding-bottom: 0;
  border-radius: 0 2px 2px 0;
}
.ant-input-search > .ant-input-group > .ant-input-group-addon:last-child .ant-input-search-button:not(.ant-btn-primary) {
  color: rgba(255, 255, 255, 0.45);
}
.ant-input-search > .ant-input-group > .ant-input-group-addon:last-child .ant-input-search-button:not(.ant-btn-primary).ant-btn-loading::before {
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}
.ant-input-search-button {
  height: 32px;
}
.ant-input-search-button:hover,
.ant-input-search-button:focus {
  z-index: 1;
}
.ant-input-search-large .ant-input-search-button {
  height: 40px;
}
.ant-input-search-small .ant-input-search-button {
  height: 24px;
}
.ant-input-group-wrapper-rtl {
  direction: rtl;
}
.ant-input-group-rtl {
  direction: rtl;
}
.ant-input-affix-wrapper.ant-input-affix-wrapper-rtl > input.ant-input {
  border: none;
  outline: none;
}
.ant-input-affix-wrapper-rtl .ant-input-prefix {
  margin: 0 0 0 4px;
}
.ant-input-affix-wrapper-rtl .ant-input-suffix {
  margin: 0 4px 0 0;
}
.ant-input-textarea-rtl {
  direction: rtl;
}
.ant-input-textarea-rtl.ant-input-textarea-show-count::after {
  text-align: left;
}
.ant-input-affix-wrapper-rtl .ant-input-clear-icon:last-child {
  margin-right: 4px;
  margin-left: 0;
}
.ant-input-affix-wrapper-rtl .ant-input-clear-icon {
  right: auto;
  left: 8px;
}
.ant-input-search-rtl {
  direction: rtl;
}
.ant-input-search-rtl .ant-input:hover + .ant-input-group-addon .ant-input-search-button:not(.ant-btn-primary),
.ant-input-search-rtl .ant-input:focus + .ant-input-group-addon .ant-input-search-button:not(.ant-btn-primary) {
  border-right-color: #165996;
  border-left-color: #434343;
}
.ant-input-search-rtl > .ant-input-group > .ant-input-affix-wrapper:hover,
.ant-input-search-rtl > .ant-input-group > .ant-input-affix-wrapper-focused {
  border-right-color: #165996;
}
.ant-input-search-rtl > .ant-input-group > .ant-input-group-addon {
  right: -1px;
  left: auto;
}
.ant-input-search-rtl > .ant-input-group > .ant-input-group-addon .ant-input-search-button {
  border-radius: 2px 0 0 2px;
}
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
  .ant-input {
    height: 32px;
  }
  .ant-input-lg {
    height: 40px;
  }
  .ant-input-sm {
    height: 24px;
  }
  .ant-input-affix-wrapper > input.ant-input {
    height: auto;
  }
}
textarea.nz-textarea-autosize-measuring {
  height: auto !important;
  overflow: hidden !important;
  padding: 2px 0 !important;
  box-sizing: content-box !important;
}
.ant-input-search-rtl.ant-input-search-enter-button + .ant-input-group-addon .ant-input-search-button.ant-btn-icon-only,
.ant-input-search-rtl.ant-input-search-enter-button input + .ant-input-group-addon .ant-input-search-button.ant-btn-icon-only {
  width: 32px;
  height: 32px;
}
.ant-input-search-rtl.ant-input-search-enter-button + .ant-input-group-addon .ant-input-search-button.ant-btn-icon-only.ant-btn-sm,
.ant-input-search-rtl.ant-input-search-enter-button input + .ant-input-group-addon .ant-input-search-button.ant-btn-icon-only.ant-btn-sm {
  width: 24px;
  height: 24px;
}
.ant-input-search-rtl.ant-input-search-enter-button + .ant-input-group-addon .ant-input-search-button.ant-btn-icon-only.ant-btn-lg,
.ant-input-search-rtl.ant-input-search-enter-button input + .ant-input-group-addon .ant-input-search-button.ant-btn-icon-only.ant-btn-lg {
  width: 40px;
  height: 40px;
}
@-webkit-keyframes antCheckboxEffect {
  0% {
    transform: scale(1);
    opacity: 0.5;
  }
  100% {
    transform: scale(1.6);
    opacity: 0;
  }
}
@keyframes antCheckboxEffect {
  0% {
    transform: scale(1);
    opacity: 0.5;
  }
  100% {
    transform: scale(1.6);
    opacity: 0;
  }
}
.ant-checkbox {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  color: var(--uni-contrast-500);
  font-size: 14px;
  font-variant: tabular-nums;
  line-height: 1.5715;
  list-style: none;
  font-feature-settings: 'tnum';
  position: relative;
  top: -0.09em;
  display: inline-block;
  line-height: 1;
  white-space: nowrap;
  vertical-align: middle;
  outline: none;
  cursor: pointer;
}
.ant-checkbox-wrapper:hover .ant-checkbox-inner,
.ant-checkbox:hover .ant-checkbox-inner,
.ant-checkbox-input:focus + .ant-checkbox-inner {
  border-color: #177ddc;
}
.ant-checkbox-checked::after {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 1px solid #177ddc;
  border-radius: 2px;
  visibility: hidden;
  -webkit-animation: antCheckboxEffect 0.36s ease-in-out;
          animation: antCheckboxEffect 0.36s ease-in-out;
  -webkit-animation-fill-mode: backwards;
          animation-fill-mode: backwards;
  content: '';
}
.ant-checkbox:hover::after,
.ant-checkbox-wrapper:hover .ant-checkbox::after {
  visibility: visible;
}
.ant-checkbox-inner {
  position: relative;
  top: 0;
  left: 0;
  display: block;
  width: 16px;
  height: 16px;
  direction: ltr;
  background-color: transparent;
  border: 1px solid #434343;
  border-radius: 2px;
  border-collapse: separate;
  transition: all 0.3s;
}
.ant-checkbox-inner::after {
  position: absolute;
  top: 50%;
  left: 22%;
  display: table;
  width: 5.71428571px;
  height: 9.14285714px;
  border: 2px solid #fff;
  border-top: 0;
  border-left: 0;
  transform: rotate(45deg) scale(0) translate(-50%, -50%);
  opacity: 0;
  transition: all 0.1s cubic-bezier(0.71, -0.46, 0.88, 0.6), opacity 0.1s;
  content: ' ';
}
.ant-checkbox-input {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  cursor: pointer;
  opacity: 0;
}
.ant-checkbox-checked .ant-checkbox-inner::after {
  position: absolute;
  display: table;
  border: 2px solid #fff;
  border-top: 0;
  border-left: 0;
  transform: rotate(45deg) scale(1) translate(-50%, -50%);
  opacity: 1;
  transition: all 0.2s cubic-bezier(0.12, 0.4, 0.29, 1.46) 0.1s;
  content: ' ';
}
.ant-checkbox-checked .ant-checkbox-inner {
  background-color: #177ddc;
  border-color: #177ddc;
}
.ant-checkbox-disabled {
  cursor: not-allowed;
}
.ant-checkbox-disabled.ant-checkbox-checked .ant-checkbox-inner::after {
  border-color: rgba(255, 255, 255, 0.3);
  -webkit-animation-name: none;
          animation-name: none;
}
.ant-checkbox-disabled .ant-checkbox-input {
  cursor: not-allowed;
}
.ant-checkbox-disabled .ant-checkbox-inner {
  background-color: rgba(255, 255, 255, 0.08);
  border-color: #434343 !important;
}
.ant-checkbox-disabled .ant-checkbox-inner::after {
  border-color: rgba(255, 255, 255, 0.08);
  border-collapse: separate;
  -webkit-animation-name: none;
          animation-name: none;
}
.ant-checkbox-disabled + span {
  color: rgba(255, 255, 255, 0.3);
  cursor: not-allowed;
}
.ant-checkbox-disabled:hover::after,
.ant-checkbox-wrapper:hover .ant-checkbox-disabled::after {
  visibility: hidden;
}
.ant-checkbox-wrapper {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  color: var(--uni-contrast-500);
  font-size: 14px;
  font-variant: tabular-nums;
  line-height: 1.5715;
  list-style: none;
  font-feature-settings: 'tnum';
  display: inline-block;
  line-height: unset;
  cursor: pointer;
}
.ant-checkbox-wrapper.ant-checkbox-wrapper-disabled {
  cursor: not-allowed;
}
.ant-checkbox-wrapper + .ant-checkbox-wrapper {
  margin-left: 8px;
}
.ant-checkbox + span {
  padding-right: 8px;
  padding-left: 8px;
}
.ant-checkbox-group {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  color: var(--uni-contrast-500);
  font-size: 14px;
  font-variant: tabular-nums;
  line-height: 1.5715;
  list-style: none;
  font-feature-settings: 'tnum';
  display: inline-block;
}
.ant-checkbox-group-item {
  display: inline-block;
  margin-right: 8px;
}
.ant-checkbox-group-item:last-child {
  margin-right: 0;
}
.ant-checkbox-group-item + .ant-checkbox-group-item {
  margin-left: 0;
}
.ant-checkbox-indeterminate .ant-checkbox-inner {
  background-color: transparent;
  border-color: #434343;
}
.ant-checkbox-indeterminate .ant-checkbox-inner::after {
  top: 50%;
  left: 50%;
  width: 8px;
  height: 8px;
  background-color: #177ddc;
  border: 0;
  transform: translate(-50%, -50%) scale(1);
  opacity: 1;
  content: ' ';
}
.ant-checkbox-indeterminate.ant-checkbox-disabled .ant-checkbox-inner::after {
  background-color: rgba(255, 255, 255, 0.3);
  border-color: rgba(255, 255, 255, 0.3);
}
.ant-checkbox-rtl {
  direction: rtl;
}
.ant-checkbox-group-rtl .ant-checkbox-group-item {
  margin-right: 0;
  margin-left: 8px;
}
.ant-checkbox-group-rtl .ant-checkbox-group-item:last-child {
  margin-left: 0 !important;
}
.ant-checkbox-group-rtl .ant-checkbox-group-item + .ant-checkbox-group-item {
  margin-left: 8px;
}
.ant-checkbox + span:empty {
  display: none;
}
.ant-notification .ant-picker-clear,
.ant-notification .ant-slider-handle,
.ant-notification .ant-anchor-wrapper,
.ant-notification .ant-collapse-content,
.ant-notification .ant-timeline-item-head,
.ant-notification .ant-card {
  background-color: #1f1f1f;
}
.ant-notification .ant-transfer-list-header {
  background: #1f1f1f;
  border-bottom: 1px solid #3a3a3a;
}
.ant-notification .ant-transfer-list-content-item:not(.ant-transfer-list-content-item-disabled):hover {
  background-color: rgba(255, 255, 255, 0.08);
}
.ant-notification tr.ant-table-expanded-row > td,
.ant-notification tr.ant-table-expanded-row:hover > td {
  background: #272727;
}
.ant-notification .ant-table.ant-table-small thead > tr > th {
  background-color: #1f1f1f;
  border-bottom: 1px solid #3a3a3a;
}
.ant-notification .ant-table {
  background-color: #1f1f1f;
}
.ant-notification .ant-table .ant-table-row-expand-icon {
  border: 1px solid #3a3a3a;
}
.ant-notification .ant-table tfoot > tr > th,
.ant-notification .ant-table tfoot > tr > td {
  border-bottom: 1px solid #3a3a3a;
}
.ant-notification .ant-table thead > tr > th {
  background-color: #272727;
  border-bottom: 1px solid #3a3a3a;
}
.ant-notification .ant-table tbody > tr > td {
  border-bottom: 1px solid #3a3a3a;
}
.ant-notification .ant-table tbody > tr > td.ant-table-cell-fix-left,
.ant-notification .ant-table tbody > tr > td.ant-table-cell-fix-right {
  background-color: #1f1f1f;
}
.ant-notification .ant-table tbody > tr.ant-table-row:hover > td {
  background: #303030;
}
.ant-notification .ant-table.ant-table-bordered .ant-table-title {
  border: 1px solid #3a3a3a;
}
.ant-notification .ant-table.ant-table-bordered thead > tr > th,
.ant-notification .ant-table.ant-table-bordered tbody > tr > td,
.ant-notification .ant-table.ant-table-bordered tfoot > tr > th,
.ant-notification .ant-table.ant-table-bordered tfoot > tr > td {
  border-right: 1px solid #3a3a3a;
}
.ant-notification .ant-table.ant-table-bordered .ant-table-cell-fix-right-first::after {
  border-right: 1px solid #3a3a3a;
}
.ant-notification .ant-table.ant-table-bordered table thead > tr:not(:last-child) > th {
  border-bottom: 1px solid #303030;
}
.ant-notification .ant-table.ant-table-bordered .ant-table-container {
  border: 1px solid #3a3a3a;
}
.ant-notification .ant-table.ant-table-bordered .ant-table-expanded-row-fixed::after {
  border-right: 1px solid #3a3a3a;
}
.ant-notification .ant-table.ant-table-bordered .ant-table-footer {
  border: 1px solid #3a3a3a;
}
.ant-notification .ant-table .ant-table-filter-trigger-container-open {
  background-color: #525252;
}
.ant-notification .ant-picker-calendar-full {
  background-color: #1f1f1f;
}
.ant-notification .ant-picker-calendar-full .ant-picker-panel {
  background-color: #1f1f1f;
}
.ant-notification .ant-picker-calendar-full .ant-picker-panel .ant-picker-calendar-date {
  border-top: 2px solid #3a3a3a;
}
.ant-notification .ant-tabs.ant-tabs-card .ant-tabs-card-bar .ant-tabs-tab-active {
  background-color: #1f1f1f;
  border-bottom: 1px solid #1f1f1f;
}
.ant-notification .ant-badge-count {
  box-shadow: 0 0 0 1px #1f1f1f;
}
.ant-notification .ant-tree-show-line .ant-tree-switcher {
  background: #1f1f1f;
}
.ant-notification {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  color: var(--uni-contrast-500);
  font-size: 14px;
  font-variant: tabular-nums;
  line-height: 1.5715;
  list-style: none;
  font-feature-settings: 'tnum';
  position: fixed;
  z-index: 1010;
  margin-right: 24px;
}
.ant-notification-topLeft,
.ant-notification-bottomLeft {
  margin-right: 0;
  margin-left: 24px;
}
.ant-notification-topLeft .ant-notification-fade-enter.ant-notification-fade-enter-active,
.ant-notification-bottomLeft .ant-notification-fade-enter.ant-notification-fade-enter-active,
.ant-notification-topLeft .ant-notification-fade-appear.ant-notification-fade-appear-active,
.ant-notification-bottomLeft .ant-notification-fade-appear.ant-notification-fade-appear-active {
  -webkit-animation-name: NotificationLeftFadeIn;
          animation-name: NotificationLeftFadeIn;
}
.ant-notification-close-icon {
  font-size: 14px;
  cursor: pointer;
}
.ant-notification-hook-holder,
.ant-notification-notice {
  position: relative;
  width: 384px;
  max-width: calc(100vw - 24px * 2);
  margin-bottom: 16px;
  margin-left: auto;
  overflow: hidden;
  word-wrap: break-word;
  background: #1f1f1f;
  border-radius: 2px;
  box-shadow: 0 3px 6px -4px rgba(0, 0, 0, 0.48), 0 6px 16px 0 rgba(0, 0, 0, 0.32), 0 9px 28px 8px rgba(0, 0, 0, 0.2);
}
.ant-notification-topLeft .ant-notification-hook-holder,
.ant-notification-topLeft .ant-notification-notice,
.ant-notification-bottomLeft .ant-notification-hook-holder,
.ant-notification-bottomLeft .ant-notification-notice {
  margin-right: auto;
  margin-left: 0;
}
.ant-notification-hook-holder > .ant-notification-notice {
  margin-bottom: 0;
  box-shadow: none;
}
.ant-notification-notice {
  padding: 16px 24px;
  line-height: 1.5715;
}
.ant-notification-notice-message {
  margin-bottom: 8px;
  color: rgba(255, 255, 255, 0.85);
  font-size: 16px;
  line-height: 24px;
}
.ant-notification-notice-message-single-line-auto-margin {
  display: block;
  width: calc(384px - 24px * 2 - 24px - 48px - 100%);
  max-width: 4px;
  background-color: transparent;
  pointer-events: none;
}
.ant-notification-notice-message-single-line-auto-margin::before {
  display: block;
  content: '';
}
.ant-notification-notice-description {
  font-size: 14px;
}
.ant-notification-notice-closable .ant-notification-notice-message {
  padding-right: 24px;
}
.ant-notification-notice-with-icon .ant-notification-notice-message {
  margin-bottom: 4px;
  margin-left: 48px;
  font-size: 16px;
}
.ant-notification-notice-with-icon .ant-notification-notice-description {
  margin-left: 48px;
  font-size: 14px;
}
.ant-notification-notice-icon {
  position: absolute;
  margin-left: 4px;
  font-size: 24px;
  line-height: 24px;
}
.anticon.ant-notification-notice-icon-success {
  color: #49aa19;
}
.anticon.ant-notification-notice-icon-info {
  color: #177ddc;
}
.anticon.ant-notification-notice-icon-warning {
  color: #d89614;
}
.anticon.ant-notification-notice-icon-error {
  color: #a61d24;
}
.ant-notification-notice-close {
  position: absolute;
  top: 16px;
  right: 22px;
  color: rgba(255, 255, 255, 0.45);
  outline: none;
}
.ant-notification-notice-close:hover {
  color: rgba(255, 255, 255, 0.85);
}
.ant-notification-notice-btn {
  float: right;
  margin-top: 16px;
}
.ant-notification .notification-fade-effect {
  -webkit-animation-duration: 0.24s;
          animation-duration: 0.24s;
  -webkit-animation-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1);
          animation-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1);
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
}
.ant-notification-fade-enter,
.ant-notification-fade-appear {
  opacity: 0;
  -webkit-animation-duration: 0.24s;
          animation-duration: 0.24s;
  -webkit-animation-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1);
          animation-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1);
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
  -webkit-animation-play-state: paused;
          animation-play-state: paused;
}
.ant-notification-fade-leave {
  -webkit-animation-duration: 0.24s;
          animation-duration: 0.24s;
  -webkit-animation-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1);
          animation-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1);
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
  -webkit-animation-duration: 0.2s;
          animation-duration: 0.2s;
  -webkit-animation-play-state: paused;
          animation-play-state: paused;
}
.ant-notification-fade-enter.ant-notification-fade-enter-active,
.ant-notification-fade-appear.ant-notification-fade-appear-active {
  -webkit-animation-name: NotificationFadeIn;
          animation-name: NotificationFadeIn;
  -webkit-animation-play-state: running;
          animation-play-state: running;
}
.ant-notification-fade-leave.ant-notification-fade-leave-active {
  -webkit-animation-name: NotificationFadeOut;
          animation-name: NotificationFadeOut;
  -webkit-animation-play-state: running;
          animation-play-state: running;
}
@-webkit-keyframes NotificationFadeIn {
  0% {
    left: 384px;
    opacity: 0;
  }
  100% {
    left: 0;
    opacity: 1;
  }
}
@keyframes NotificationFadeIn {
  0% {
    left: 384px;
    opacity: 0;
  }
  100% {
    left: 0;
    opacity: 1;
  }
}
@-webkit-keyframes NotificationLeftFadeIn {
  0% {
    right: 384px;
    opacity: 0;
  }
  100% {
    right: 0;
    opacity: 1;
  }
}
@keyframes NotificationLeftFadeIn {
  0% {
    right: 384px;
    opacity: 0;
  }
  100% {
    right: 0;
    opacity: 1;
  }
}
@-webkit-keyframes NotificationFadeOut {
  0% {
    max-height: 150px;
    margin-bottom: 16px;
    opacity: 1;
  }
  100% {
    max-height: 0;
    margin-bottom: 0;
    padding-top: 0;
    padding-bottom: 0;
    opacity: 0;
  }
}
@keyframes NotificationFadeOut {
  0% {
    max-height: 150px;
    margin-bottom: 16px;
    opacity: 1;
  }
  100% {
    max-height: 0;
    margin-bottom: 0;
    padding-top: 0;
    padding-bottom: 0;
    opacity: 0;
  }
}
.ant-notification-rtl {
  direction: rtl;
}
.ant-notification-rtl .ant-notification-notice-closable .ant-notification-notice-message {
  padding-right: 0;
  padding-left: 24px;
}
.ant-notification-rtl .ant-notification-notice-with-icon .ant-notification-notice-message {
  margin-right: 48px;
  margin-left: 0;
}
.ant-notification-rtl .ant-notification-notice-with-icon .ant-notification-notice-description {
  margin-right: 48px;
  margin-left: 0;
}
.ant-notification-rtl .ant-notification-notice-icon {
  margin-right: 4px;
  margin-left: 0;
}
.ant-notification-rtl .ant-notification-notice-close {
  right: auto;
  left: 22px;
}
.ant-notification-rtl .ant-notification-notice-btn {
  float: left;
}
.ant-rate {
  box-sizing: border-box;
  color: var(--uni-contrast-500);
  font-size: 14px;
  font-variant: tabular-nums;
  line-height: 1.5715;
  font-feature-settings: 'tnum';
  display: inline-block;
  margin: 0;
  padding: 0;
  color: #d8bd14;
  font-size: 20px;
  line-height: unset;
  list-style: none;
  outline: none;
}
.ant-rate-disabled .ant-rate-star {
  cursor: default;
}
.ant-rate-disabled .ant-rate-star:hover {
  transform: scale(1);
}
.ant-rate-star {
  position: relative;
  display: inline-block;
  color: inherit;
  cursor: pointer;
  transition: all 0.3s;
}
.ant-rate-star:not(:last-child) {
  margin-right: 8px;
}
.ant-rate-star > div:focus {
  outline: 0;
}
.ant-rate-star > div:hover,
.ant-rate-star > div:focus {
  transform: scale(1.1);
}
.ant-rate-star-first,
.ant-rate-star-second {
  color: rgba(255, 255, 255, 0.12);
  transition: all 0.3s;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.ant-rate-star-first .anticon,
.ant-rate-star-second .anticon {
  vertical-align: middle;
}
.ant-rate-star-first {
  position: absolute;
  top: 0;
  left: 0;
  width: 50%;
  height: 100%;
  overflow: hidden;
  opacity: 0;
}
.ant-rate-star-half .ant-rate-star-first,
.ant-rate-star-half .ant-rate-star-second {
  opacity: 1;
}
.ant-rate-star-half .ant-rate-star-first,
.ant-rate-star-full .ant-rate-star-second {
  color: inherit;
}
.ant-rate-text {
  display: inline-block;
  margin: 0 8px;
  font-size: 14px;
}
.ant-rate-rtl {
  direction: rtl;
}
.ant-rate-rtl .ant-rate-star:not(:last-child) {
  margin-right: 0;
  margin-left: 8px;
}
.ant-rate-rtl .ant-rate-star-first {
  right: 0;
  left: auto;
}
.ant-tooltip {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  color: var(--uni-contrast-500);
  font-size: 14px;
  font-variant: tabular-nums;
  line-height: 1.5715;
  list-style: none;
  font-feature-settings: 'tnum';
  position: absolute;
  z-index: 1070;
  display: block;
  max-width: 250px;
  visibility: visible;
}
.ant-tooltip-hidden {
  display: none;
}
.ant-tooltip-placement-top,
.ant-tooltip-placement-topLeft,
.ant-tooltip-placement-topRight {
  padding-bottom: 8px;
}
.ant-tooltip-placement-right,
.ant-tooltip-placement-rightTop,
.ant-tooltip-placement-rightBottom {
  padding-left: 8px;
}
.ant-tooltip-placement-bottom,
.ant-tooltip-placement-bottomLeft,
.ant-tooltip-placement-bottomRight {
  padding-top: 8px;
}
.ant-tooltip-placement-left,
.ant-tooltip-placement-leftTop,
.ant-tooltip-placement-leftBottom {
  padding-right: 8px;
}
.ant-tooltip-inner {
  min-width: 30px;
  min-height: 32px;
  padding: 6px 8px;
  color: #fff;
  text-align: left;
  text-decoration: none;
  word-wrap: break-word;
  background-color: #434343;
  border-radius: 2px;
  box-shadow: 0 3px 6px -4px rgba(0, 0, 0, 0.48), 0 6px 16px 0 rgba(0, 0, 0, 0.32), 0 9px 28px 8px rgba(0, 0, 0, 0.2);
}
.ant-tooltip-arrow {
  position: absolute;
  display: block;
  width: 13.07106781px;
  height: 13.07106781px;
  overflow: hidden;
  background: transparent;
  pointer-events: none;
}
.ant-tooltip-arrow-content {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: block;
  width: 5px;
  height: 5px;
  margin: auto;
  background-color: #434343;
  content: '';
  pointer-events: auto;
}
.ant-tooltip-placement-top .ant-tooltip-arrow,
.ant-tooltip-placement-topLeft .ant-tooltip-arrow,
.ant-tooltip-placement-topRight .ant-tooltip-arrow {
  bottom: -5.07106781px;
}
.ant-tooltip-placement-top .ant-tooltip-arrow-content,
.ant-tooltip-placement-topLeft .ant-tooltip-arrow-content,
.ant-tooltip-placement-topRight .ant-tooltip-arrow-content {
  box-shadow: 3px 3px 7px rgba(0, 0, 0, 0.07);
  transform: translateY(-6.53553391px) rotate(45deg);
}
.ant-tooltip-placement-top .ant-tooltip-arrow {
  left: 50%;
  transform: translateX(-50%);
}
.ant-tooltip-placement-topLeft .ant-tooltip-arrow {
  left: 13px;
}
.ant-tooltip-placement-topRight .ant-tooltip-arrow {
  right: 13px;
}
.ant-tooltip-placement-right .ant-tooltip-arrow,
.ant-tooltip-placement-rightTop .ant-tooltip-arrow,
.ant-tooltip-placement-rightBottom .ant-tooltip-arrow {
  left: -5.07106781px;
}
.ant-tooltip-placement-right .ant-tooltip-arrow-content,
.ant-tooltip-placement-rightTop .ant-tooltip-arrow-content,
.ant-tooltip-placement-rightBottom .ant-tooltip-arrow-content {
  box-shadow: -3px 3px 7px rgba(0, 0, 0, 0.07);
  transform: translateX(6.53553391px) rotate(45deg);
}
.ant-tooltip-placement-right .ant-tooltip-arrow {
  top: 50%;
  transform: translateY(-50%);
}
.ant-tooltip-placement-rightTop .ant-tooltip-arrow {
  top: 5px;
}
.ant-tooltip-placement-rightBottom .ant-tooltip-arrow {
  bottom: 5px;
}
.ant-tooltip-placement-left .ant-tooltip-arrow,
.ant-tooltip-placement-leftTop .ant-tooltip-arrow,
.ant-tooltip-placement-leftBottom .ant-tooltip-arrow {
  right: -5.07106781px;
}
.ant-tooltip-placement-left .ant-tooltip-arrow-content,
.ant-tooltip-placement-leftTop .ant-tooltip-arrow-content,
.ant-tooltip-placement-leftBottom .ant-tooltip-arrow-content {
  box-shadow: 3px -3px 7px rgba(0, 0, 0, 0.07);
  transform: translateX(-6.53553391px) rotate(45deg);
}
.ant-tooltip-placement-left .ant-tooltip-arrow {
  top: 50%;
  transform: translateY(-50%);
}
.ant-tooltip-placement-leftTop .ant-tooltip-arrow {
  top: 5px;
}
.ant-tooltip-placement-leftBottom .ant-tooltip-arrow {
  bottom: 5px;
}
.ant-tooltip-placement-bottom .ant-tooltip-arrow,
.ant-tooltip-placement-bottomLeft .ant-tooltip-arrow,
.ant-tooltip-placement-bottomRight .ant-tooltip-arrow {
  top: -5.07106781px;
}
.ant-tooltip-placement-bottom .ant-tooltip-arrow-content,
.ant-tooltip-placement-bottomLeft .ant-tooltip-arrow-content,
.ant-tooltip-placement-bottomRight .ant-tooltip-arrow-content {
  box-shadow: -3px -3px 7px rgba(0, 0, 0, 0.07);
  transform: translateY(6.53553391px) rotate(45deg);
}
.ant-tooltip-placement-bottom .ant-tooltip-arrow {
  left: 50%;
  transform: translateX(-50%);
}
.ant-tooltip-placement-bottomLeft .ant-tooltip-arrow {
  left: 13px;
}
.ant-tooltip-placement-bottomRight .ant-tooltip-arrow {
  right: 13px;
}
.ant-tooltip-pink .ant-tooltip-inner {
  background-color: #cb2b83;
}
.ant-tooltip-pink .ant-tooltip-arrow-content {
  background-color: #cb2b83;
}
.ant-tooltip-magenta .ant-tooltip-inner {
  background-color: #cb2b83;
}
.ant-tooltip-magenta .ant-tooltip-arrow-content {
  background-color: #cb2b83;
}
.ant-tooltip-red .ant-tooltip-inner {
  background-color: #d32029;
}
.ant-tooltip-red .ant-tooltip-arrow-content {
  background-color: #d32029;
}
.ant-tooltip-volcano .ant-tooltip-inner {
  background-color: #d84a1b;
}
.ant-tooltip-volcano .ant-tooltip-arrow-content {
  background-color: #d84a1b;
}
.ant-tooltip-orange .ant-tooltip-inner {
  background-color: #d87a16;
}
.ant-tooltip-orange .ant-tooltip-arrow-content {
  background-color: #d87a16;
}
.ant-tooltip-yellow .ant-tooltip-inner {
  background-color: #d8bd14;
}
.ant-tooltip-yellow .ant-tooltip-arrow-content {
  background-color: #d8bd14;
}
.ant-tooltip-gold .ant-tooltip-inner {
  background-color: #d89614;
}
.ant-tooltip-gold .ant-tooltip-arrow-content {
  background-color: #d89614;
}
.ant-tooltip-cyan .ant-tooltip-inner {
  background-color: #13a8a8;
}
.ant-tooltip-cyan .ant-tooltip-arrow-content {
  background-color: #13a8a8;
}
.ant-tooltip-lime .ant-tooltip-inner {
  background-color: #8bbb11;
}
.ant-tooltip-lime .ant-tooltip-arrow-content {
  background-color: #8bbb11;
}
.ant-tooltip-green .ant-tooltip-inner {
  background-color: #49aa19;
}
.ant-tooltip-green .ant-tooltip-arrow-content {
  background-color: #49aa19;
}
.ant-tooltip-blue .ant-tooltip-inner {
  background-color: #177ddc;
}
.ant-tooltip-blue .ant-tooltip-arrow-content {
  background-color: #177ddc;
}
.ant-tooltip-geekblue .ant-tooltip-inner {
  background-color: #2b4acb;
}
.ant-tooltip-geekblue .ant-tooltip-arrow-content {
  background-color: #2b4acb;
}
.ant-tooltip-purple .ant-tooltip-inner {
  background-color: #642ab5;
}
.ant-tooltip-purple .ant-tooltip-arrow-content {
  background-color: #642ab5;
}
.ant-tooltip-rtl {
  direction: rtl;
}
.ant-tooltip-rtl .ant-tooltip-inner {
  text-align: right;
}
.ant-tooltip {
  position: relative;
}
.ant-slider {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  color: var(--uni-contrast-500);
  font-size: 14px;
  font-variant: tabular-nums;
  line-height: 1.5715;
  list-style: none;
  font-feature-settings: 'tnum';
  position: relative;
  height: 12px;
  margin: 10px 6px 10px;
  padding: 4px 0;
  cursor: pointer;
  touch-action: none;
}
.ant-slider-vertical {
  width: 12px;
  height: 100%;
  margin: 6px 10px;
  padding: 0 4px;
}
.ant-slider-vertical .ant-slider-rail {
  width: 4px;
  height: 100%;
}
.ant-slider-vertical .ant-slider-track {
  width: 4px;
}
.ant-slider-vertical .ant-slider-handle {
  margin-top: -6px;
  margin-left: -5px;
}
.ant-slider-vertical .ant-slider-mark {
  top: 0;
  left: 12px;
  width: 18px;
  height: 100%;
}
.ant-slider-vertical .ant-slider-mark-text {
  left: 4px;
  white-space: nowrap;
}
.ant-slider-vertical .ant-slider-step {
  width: 4px;
  height: 100%;
}
.ant-slider-vertical .ant-slider-dot {
  top: auto;
  left: 2px;
  margin-bottom: -4px;
}
.ant-slider-tooltip .ant-tooltip-inner {
  min-width: unset;
}
.ant-slider-rtl.ant-slider-vertical .ant-slider-handle {
  margin-right: -5px;
  margin-left: 0;
}
.ant-slider-rtl.ant-slider-vertical .ant-slider-mark {
  right: 12px;
  left: auto;
}
.ant-slider-rtl.ant-slider-vertical .ant-slider-mark-text {
  right: 4px;
  left: auto;
}
.ant-slider-rtl.ant-slider-vertical .ant-slider-dot {
  right: 2px;
  left: auto;
}
.ant-slider-with-marks {
  margin-bottom: 28px;
}
.ant-slider-rail {
  position: absolute;
  width: 100%;
  height: 4px;
  background-color: #262626;
  border-radius: 2px;
  transition: background-color 0.3s;
}
.ant-slider-track {
  position: absolute;
  height: 4px;
  background-color: var(--uni-blue-100);
  border-radius: 2px;
  transition: background-color 0.3s;
}
.ant-slider-handle {
  position: absolute;
  width: 14px;
  height: 14px;
  margin-top: -5px;
  background-color: var(--uni-blue-100);
  border: solid 2px var(--uni-blue-100);
  border-radius: 50%;
  box-shadow: 0;
  cursor: pointer;
  transition: border-color 0.3s, box-shadow 0.6s, transform 0.3s cubic-bezier(0.18, 0.89, 0.32, 1.28);
}
.ant-slider-handle-dragging.ant-slider-handle-dragging.ant-slider-handle-dragging {
  border-color: #4697e3;
  box-shadow: 0 0 0 5px rgba(23, 125, 220, 0.12);
}
.ant-slider-handle:focus {
  border-color: #4697e3;
  outline: none;
  box-shadow: 0 0 0 5px rgba(23, 125, 220, 0.12);
}
.ant-slider-handle.ant-tooltip-open {
  border-color: #177ddc;
}
.ant-slider:hover .ant-slider-rail {
  background-color: #434343;
}
.ant-slider:hover .ant-slider-track {
  background-color: var(--uni-blue-100);
}
.ant-slider:hover .ant-slider-handle:not(.ant-tooltip-open) {
  border-color: var(--uni-blue-100);
}
.ant-slider-mark {
  position: absolute;
  top: 14px;
  left: 0;
  width: 100%;
  font-size: 14px;
}
.ant-slider-mark-text {
  position: absolute;
  display: inline-block;
  color: rgba(255, 255, 255, 0.45);
  text-align: center;
  word-break: keep-all;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.ant-slider-mark-text-active {
  color: var(--uni-contrast-500);
}
.ant-slider-step {
  position: absolute;
  width: 100%;
  height: 4px;
  background: transparent;
}
.ant-slider-dot {
  position: absolute;
  top: -2px;
  width: 8px;
  height: 8px;
  margin-left: -4px;
  background-color: #141414;
  border: 2px solid #303030;
  border-radius: 50%;
  cursor: pointer;
}
.ant-slider-dot:first-child {
  margin-left: -4px;
}
.ant-slider-dot:last-child {
  margin-left: -4px;
}
.ant-slider-dot-active {
  border-color: #16436e;
}
.ant-slider-disabled {
  cursor: not-allowed;
}
.ant-slider-disabled .ant-slider-track {
  background-color: rgba(255, 255, 255, 0.3) !important;
}
.ant-slider-disabled .ant-slider-handle,
.ant-slider-disabled .ant-slider-dot {
  background-color: #141414;
  border-color: rgba(255, 255, 255, 0.3) !important;
  box-shadow: none;
  cursor: not-allowed;
}
.ant-slider-disabled .ant-slider-mark-text,
.ant-slider-disabled .ant-slider-dot {
  cursor: not-allowed !important;
}
.ant-slider-rtl {
  direction: rtl;
}
.ant-slider-rtl .ant-slider-mark {
  right: 0;
  left: auto;
}
.ant-slider-rtl .ant-slider-dot {
  margin-right: -4px;
  margin-left: 0;
}
.ant-slider-rtl .ant-slider-dot:first-child {
  margin-right: -4px;
  margin-left: 0;
}
.ant-slider-rtl .ant-slider-dot:last-child {
  margin-right: -4px;
  margin-left: 0;
}
.ant-modal {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  color: var(--uni-contrast-500);
  font-size: 14px;
  font-variant: tabular-nums;
  line-height: 1.5715;
  list-style: none;
  font-feature-settings: 'tnum';
  pointer-events: none;
  position: relative;
  top: 100px;
  width: auto;
  max-width: calc(100vw - 32px);
  margin: 0 auto;
  padding-bottom: 24px;
}
.ant-modal.zoom-enter,
.ant-modal.zoom-appear {
  transform: none;
  opacity: 0;
  -webkit-animation-duration: 0.3s;
          animation-duration: 0.3s;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.ant-modal-mask {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1000;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.45);
}
.ant-modal-mask-hidden {
  display: none;
}
.ant-modal-wrap {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  overflow: auto;
  outline: 0;
  -webkit-overflow-scrolling: touch;
}
.ant-modal-wrap {
  z-index: 1000;
}
.ant-modal-title {
  margin: 0;
  color: rgba(255, 255, 255, 0.85);
  font-weight: 500;
  font-size: 16px;
  line-height: 22px;
  word-wrap: break-word;
}
.ant-modal-content {
  position: relative;
  background-color: #1f1f1f;
  background-clip: padding-box;
  border: 0;
  border-radius: 2px;
  box-shadow: 0 3px 6px -4px rgba(0, 0, 0, 0.48), 0 6px 16px 0 rgba(0, 0, 0, 0.32), 0 9px 28px 8px rgba(0, 0, 0, 0.2);
  pointer-events: auto;
}
.ant-modal-close {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 10;
  padding: 0;
  color: rgba(255, 255, 255, 0.45);
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
  background: transparent;
  border: 0;
  outline: 0;
  cursor: pointer;
  transition: color 0.3s;
}
.ant-modal-close-x {
  display: block;
  width: 56px;
  height: 56px;
  font-size: 16px;
  font-style: normal;
  line-height: 56px;
  text-align: center;
  text-transform: none;
  text-rendering: auto;
}
.ant-modal-close:focus,
.ant-modal-close:hover {
  color: rgba(255, 255, 255, 0.75);
  text-decoration: none;
}
.ant-modal-header {
  padding: 16px 24px;
  color: var(--uni-contrast-500);
  background: #1f1f1f;
  border-bottom: 1px solid #303030;
  border-radius: 2px 2px 0 0;
}
.ant-modal-body {
  padding: 24px;
  font-size: 14px;
  line-height: 1.5715;
  word-wrap: break-word;
}
.ant-modal-footer {
  padding: 10px 16px;
  text-align: right;
  background: transparent;
  border-top: 1px solid #303030;
  border-radius: 0 0 2px 2px;
}
.ant-modal-footer button + button {
  margin-bottom: 0;
  margin-left: 8px;
}
.ant-modal-open {
  overflow: hidden;
}
.ant-modal-centered {
  text-align: center;
}
.ant-modal-centered::before {
  display: inline-block;
  width: 0;
  height: 100%;
  vertical-align: middle;
  content: '';
}
.ant-modal-centered .ant-modal {
  top: 0;
  display: inline-block;
  text-align: left;
  vertical-align: middle;
}
@media (max-width: 767px) {
  .ant-modal {
    max-width: calc(100vw - 16px);
    margin: 8px auto;
  }
  .ant-modal-centered .ant-modal {
    flex: 1;
  }
}
.ant-modal-confirm .ant-modal-header {
  display: none;
}
.ant-modal-confirm .ant-modal-body {
  padding: 32px 32px 24px;
}
.ant-modal-confirm-body-wrapper::before {
  display: table;
  content: '';
}
.ant-modal-confirm-body-wrapper::after {
  display: table;
  clear: both;
  content: '';
}
.ant-modal-confirm-body-wrapper::before {
  display: table;
  content: '';
}
.ant-modal-confirm-body-wrapper::after {
  display: table;
  clear: both;
  content: '';
}
.ant-modal-confirm-body .ant-modal-confirm-title {
  display: block;
  overflow: hidden;
  color: rgba(255, 255, 255, 0.85);
  font-weight: 500;
  font-size: 16px;
  line-height: 1.4;
}
.ant-modal-confirm-body .ant-modal-confirm-content {
  margin-top: 8px;
  color: var(--uni-contrast-500);
  font-size: 14px;
}
.ant-modal-confirm-body > .anticon {
  float: left;
  margin-right: 16px;
  font-size: 22px;
}
.ant-modal-confirm-body > .anticon + .ant-modal-confirm-title + .ant-modal-confirm-content {
  margin-left: 38px;
}
.ant-modal-confirm .ant-modal-confirm-btns {
  float: right;
  margin-top: 24px;
}
.ant-modal-confirm .ant-modal-confirm-btns button + button {
  margin-bottom: 0;
  margin-left: 8px;
}
.ant-modal-confirm-error .ant-modal-confirm-body > .anticon {
  color: #a61d24;
}
.ant-modal-confirm-warning .ant-modal-confirm-body > .anticon,
.ant-modal-confirm-confirm .ant-modal-confirm-body > .anticon {
  color: #d89614;
}
.ant-modal-confirm-info .ant-modal-confirm-body > .anticon {
  color: #177ddc;
}
.ant-modal-confirm-success .ant-modal-confirm-body > .anticon {
  color: #49aa19;
}
.ant-modal .ant-picker-clear,
.ant-modal .ant-slider-handle,
.ant-modal .ant-anchor-wrapper,
.ant-modal .ant-collapse-content,
.ant-modal .ant-timeline-item-head,
.ant-modal .ant-card {
  background-color: #1f1f1f;
}
.ant-modal .ant-transfer-list-header {
  background: #1f1f1f;
  border-bottom: 1px solid #3a3a3a;
}
.ant-modal .ant-transfer-list-content-item:not(.ant-transfer-list-content-item-disabled):hover {
  background-color: rgba(255, 255, 255, 0.08);
}
.ant-modal tr.ant-table-expanded-row > td,
.ant-modal tr.ant-table-expanded-row:hover > td {
  background: #272727;
}
.ant-modal .ant-table.ant-table-small thead > tr > th {
  background-color: #1f1f1f;
  border-bottom: 1px solid #3a3a3a;
}
.ant-modal .ant-table {
  background-color: #1f1f1f;
}
.ant-modal .ant-table .ant-table-row-expand-icon {
  border: 1px solid #3a3a3a;
}
.ant-modal .ant-table tfoot > tr > th,
.ant-modal .ant-table tfoot > tr > td {
  border-bottom: 1px solid #3a3a3a;
}
.ant-modal .ant-table thead > tr > th {
  background-color: #272727;
  border-bottom: 1px solid #3a3a3a;
}
.ant-modal .ant-table tbody > tr > td {
  border-bottom: 1px solid #3a3a3a;
}
.ant-modal .ant-table tbody > tr > td.ant-table-cell-fix-left,
.ant-modal .ant-table tbody > tr > td.ant-table-cell-fix-right {
  background-color: #1f1f1f;
}
.ant-modal .ant-table tbody > tr.ant-table-row:hover > td {
  background: #303030;
}
.ant-modal .ant-table.ant-table-bordered .ant-table-title {
  border: 1px solid #3a3a3a;
}
.ant-modal .ant-table.ant-table-bordered thead > tr > th,
.ant-modal .ant-table.ant-table-bordered tbody > tr > td,
.ant-modal .ant-table.ant-table-bordered tfoot > tr > th,
.ant-modal .ant-table.ant-table-bordered tfoot > tr > td {
  border-right: 1px solid #3a3a3a;
}
.ant-modal .ant-table.ant-table-bordered .ant-table-cell-fix-right-first::after {
  border-right: 1px solid #3a3a3a;
}
.ant-modal .ant-table.ant-table-bordered table thead > tr:not(:last-child) > th {
  border-bottom: 1px solid #303030;
}
.ant-modal .ant-table.ant-table-bordered .ant-table-container {
  border: 1px solid #3a3a3a;
}
.ant-modal .ant-table.ant-table-bordered .ant-table-expanded-row-fixed::after {
  border-right: 1px solid #3a3a3a;
}
.ant-modal .ant-table.ant-table-bordered .ant-table-footer {
  border: 1px solid #3a3a3a;
}
.ant-modal .ant-table .ant-table-filter-trigger-container-open {
  background-color: #525252;
}
.ant-modal .ant-picker-calendar-full {
  background-color: #1f1f1f;
}
.ant-modal .ant-picker-calendar-full .ant-picker-panel {
  background-color: #1f1f1f;
}
.ant-modal .ant-picker-calendar-full .ant-picker-panel .ant-picker-calendar-date {
  border-top: 2px solid #3a3a3a;
}
.ant-modal .ant-tabs.ant-tabs-card .ant-tabs-card-bar .ant-tabs-tab-active {
  background-color: #1f1f1f;
  border-bottom: 1px solid #1f1f1f;
}
.ant-modal .ant-badge-count {
  box-shadow: 0 0 0 1px #1f1f1f;
}
.ant-modal .ant-tree-show-line .ant-tree-switcher {
  background: #1f1f1f;
}
.ant-modal-wrap-rtl {
  direction: rtl;
}
.ant-modal-wrap-rtl .ant-modal-close {
  right: initial;
  left: 0;
}
.ant-modal-wrap-rtl .ant-modal-footer {
  text-align: left;
}
.ant-modal-wrap-rtl .ant-modal-footer button + button {
  margin-right: 8px;
  margin-left: 0;
}
.ant-modal-wrap-rtl .ant-modal-confirm-body {
  direction: rtl;
}
.ant-modal-wrap-rtl .ant-modal-confirm-body > .anticon {
  float: right;
  margin-right: 0;
  margin-left: 16px;
}
.ant-modal-wrap-rtl .ant-modal-confirm-body > .anticon + .ant-modal-confirm-title + .ant-modal-confirm-content {
  margin-right: 38px;
  margin-left: 0;
}
.ant-modal-wrap-rtl .ant-modal-confirm-btns {
  float: left;
}
.ant-modal-wrap-rtl .ant-modal-confirm-btns button + button {
  margin-right: 8px;
  margin-left: 0;
}
.ant-modal-wrap-rtl.ant-modal-centered .ant-modal {
  text-align: right;
}
.ant-select-single .ant-select-selector {
  display: flex;
}
.ant-select-single .ant-select-selector .ant-select-selection-search {
  position: absolute;
  top: 0;
  right: 11px;
  bottom: 0;
  left: 11px;
}
.ant-select-single .ant-select-selector .ant-select-selection-search-input {
  width: 100%;
}
.ant-select-single .ant-select-selector .ant-select-selection-item,
.ant-select-single .ant-select-selector .ant-select-selection-placeholder {
  padding: 0;
  line-height: 30px;
  transition: all 0.3s;
}
@supports (-moz-appearance: meterbar) {
  .ant-select-single .ant-select-selector .ant-select-selection-item,
  .ant-select-single .ant-select-selector .ant-select-selection-placeholder {
    line-height: 30px;
  }
}
.ant-select-single .ant-select-selector .ant-select-selection-item {
  position: relative;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.ant-select-single .ant-select-selector .ant-select-selection-placeholder {
  pointer-events: none;
}
.ant-select-single .ant-select-selector::after,
.ant-select-single .ant-select-selector .ant-select-selection-item::after,
.ant-select-single .ant-select-selector .ant-select-selection-placeholder::after {
  display: inline-block;
  width: 0;
  visibility: hidden;
  content: '\a0';
}
.ant-select-single.ant-select-show-arrow .ant-select-selection-search {
  right: 25px;
}
.ant-select-single.ant-select-show-arrow .ant-select-selection-item,
.ant-select-single.ant-select-show-arrow .ant-select-selection-placeholder {
  padding-right: 18px;
}
.ant-select-single.ant-select-open .ant-select-selection-item {
  color: rgba(255, 255, 255, 0.3);
}
.ant-select-single:not(.ant-select-customize-input) .ant-select-selector {
  width: 100%;
  height: 32px;
  padding: 0 11px;
}
.ant-select-single:not(.ant-select-customize-input) .ant-select-selector .ant-select-selection-search-input {
  height: 30px;
}
.ant-select-single:not(.ant-select-customize-input) .ant-select-selector::after {
  line-height: 30px;
}
.ant-select-single.ant-select-customize-input .ant-select-selector::after {
  display: none;
}
.ant-select-single.ant-select-customize-input .ant-select-selector .ant-select-selection-search {
  position: static;
  width: 100%;
}
.ant-select-single.ant-select-customize-input .ant-select-selector .ant-select-selection-placeholder {
  position: absolute;
  right: 0;
  left: 0;
  padding: 0 11px;
}
.ant-select-single.ant-select-customize-input .ant-select-selector .ant-select-selection-placeholder::after {
  display: none;
}
.ant-select-single.ant-select-lg:not(.ant-select-customize-input) .ant-select-selector {
  height: 40px;
}
.ant-select-single.ant-select-lg:not(.ant-select-customize-input) .ant-select-selector::after,
.ant-select-single.ant-select-lg:not(.ant-select-customize-input) .ant-select-selector .ant-select-selection-item,
.ant-select-single.ant-select-lg:not(.ant-select-customize-input) .ant-select-selector .ant-select-selection-placeholder {
  line-height: 38px;
}
.ant-select-single.ant-select-lg:not(.ant-select-customize-input):not(.ant-select-customize-input) .ant-select-selection-search-input {
  height: 38px;
}
.ant-select-single.ant-select-sm:not(.ant-select-customize-input) .ant-select-selector {
  height: 24px;
}
.ant-select-single.ant-select-sm:not(.ant-select-customize-input) .ant-select-selector::after,
.ant-select-single.ant-select-sm:not(.ant-select-customize-input) .ant-select-selector .ant-select-selection-item,
.ant-select-single.ant-select-sm:not(.ant-select-customize-input) .ant-select-selector .ant-select-selection-placeholder {
  line-height: 22px;
}
.ant-select-single.ant-select-sm:not(.ant-select-customize-input):not(.ant-select-customize-input) .ant-select-selection-search-input {
  height: 22px;
}
.ant-select-single.ant-select-sm:not(.ant-select-customize-input) .ant-select-selection-search {
  right: 7px;
  left: 7px;
}
.ant-select-single.ant-select-sm:not(.ant-select-customize-input) .ant-select-selector {
  padding: 0 7px;
}
.ant-select-single.ant-select-sm:not(.ant-select-customize-input).ant-select-show-arrow .ant-select-selection-search {
  right: 28px;
}
.ant-select-single.ant-select-sm:not(.ant-select-customize-input).ant-select-show-arrow .ant-select-selection-item,
.ant-select-single.ant-select-sm:not(.ant-select-customize-input).ant-select-show-arrow .ant-select-selection-placeholder {
  padding-right: 21px;
}
.ant-select-single.ant-select-lg:not(.ant-select-customize-input) .ant-select-selector {
  padding: 0 11px;
}
/**
 * Do not merge `height` & `line-height` under style with `selection` & `search`,
 * since chrome may update to redesign with its align logic.
 */
.ant-select-selection-overflow {
  position: relative;
  display: flex;
  flex: auto;
  flex-wrap: wrap;
  max-width: 100%;
}
.ant-select-selection-overflow-item {
  flex: none;
  max-width: 100%;
}
.ant-select-multiple .ant-select-selector {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  padding: 1px 4px;
}
.ant-select-show-search.ant-select-multiple .ant-select-selector {
  cursor: text;
}
.ant-select-disabled.ant-select-multiple .ant-select-selector {
  background: #141414;
  cursor: not-allowed;
}
.ant-select-multiple .ant-select-selector::after {
  display: inline-block;
  width: 0;
  margin: 2px 0;
  line-height: 24px;
  content: '\a0';
}
.ant-select-multiple.ant-select-show-arrow .ant-select-selector,
.ant-select-multiple.ant-select-allow-clear .ant-select-selector {
  padding-right: 24px;
}
.ant-select-multiple .ant-select-selection-item {
  position: relative;
  display: flex;
  flex: none;
  box-sizing: border-box;
  max-width: 100%;
  height: 24px;
  margin-top: 2px;
  -webkit-margin-end: 4px;
          margin-inline-end: 4px;
  margin-bottom: 2px;
  -webkit-padding-start: 8px;
          padding-inline-start: 8px;
  -webkit-padding-end: 4px;
          padding-inline-end: 4px;
  line-height: 22px;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid #303030;
  border-radius: 2px;
  cursor: default;
  transition: font-size 0.3s, line-height 0.3s, height 0.3s;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.ant-select-disabled.ant-select-multiple .ant-select-selection-item {
  color: #595959;
  border-color: #1f1f1f;
  cursor: not-allowed;
}
.ant-select-multiple .ant-select-selection-item-content {
  display: inline-block;
  margin-right: 4px;
  overflow: hidden;
  white-space: pre;
  text-overflow: ellipsis;
}
.ant-select-multiple .ant-select-selection-item-remove {
  color: inherit;
  font-style: normal;
  line-height: 0;
  text-align: center;
  text-transform: none;
  vertical-align: -0.125em;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  display: inline-block;
  color: rgba(255, 255, 255, 0.45);
  font-weight: bold;
  font-size: 10px;
  line-height: inherit;
  cursor: pointer;
}
.ant-select-multiple .ant-select-selection-item-remove > * {
  line-height: 1;
}
.ant-select-multiple .ant-select-selection-item-remove svg {
  display: inline-block;
}
.ant-select-multiple .ant-select-selection-item-remove::before {
  display: none;
}
.ant-select-multiple .ant-select-selection-item-remove .ant-select-multiple .ant-select-selection-item-remove-icon {
  display: block;
}
.ant-select-multiple .ant-select-selection-item-remove > .anticon {
  vertical-align: -0.2em;
}
.ant-select-multiple .ant-select-selection-item-remove:hover {
  color: rgba(255, 255, 255, 0.75);
}
.ant-select-multiple .ant-select-selection-overflow-item + .ant-select-selection-overflow-item .ant-select-selection-search {
  -webkit-margin-start: 0;
          margin-inline-start: 0;
}
.ant-select-multiple .ant-select-selection-search {
  position: relative;
  max-width: 100%;
  margin-top: 2px;
  margin-bottom: 2px;
  -webkit-margin-start: 7px;
          margin-inline-start: 7px;
}
.ant-select-multiple .ant-select-selection-search-input,
.ant-select-multiple .ant-select-selection-search-mirror {
  height: 24px;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';
  line-height: 24px;
  transition: all 0.3s;
}
.ant-select-multiple .ant-select-selection-search-input {
  width: 100%;
  min-width: 4.1px;
}
.ant-select-multiple .ant-select-selection-search-mirror {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 999;
  white-space: pre;
  visibility: hidden;
}
.ant-select-multiple .ant-select-selection-placeholder {
  position: absolute;
  top: 50%;
  right: 11px;
  left: 11px;
  transform: translateY(-50%);
  transition: all 0.3s;
}
.ant-select-multiple.ant-select-lg .ant-select-selector::after {
  line-height: 32px;
}
.ant-select-multiple.ant-select-lg .ant-select-selection-item {
  height: 32px;
  line-height: 30px;
}
.ant-select-multiple.ant-select-lg .ant-select-selection-search {
  height: 33px;
  line-height: 33px;
}
.ant-select-multiple.ant-select-lg .ant-select-selection-search-input,
.ant-select-multiple.ant-select-lg .ant-select-selection-search-mirror {
  height: 32px;
  line-height: 30px;
}
.ant-select-multiple.ant-select-sm .ant-select-selector::after {
  line-height: 16px;
}
.ant-select-multiple.ant-select-sm .ant-select-selection-item {
  height: 16px;
  line-height: 14px;
}
.ant-select-multiple.ant-select-sm .ant-select-selection-search {
  height: 17px;
  line-height: 17px;
}
.ant-select-multiple.ant-select-sm .ant-select-selection-search-input,
.ant-select-multiple.ant-select-sm .ant-select-selection-search-mirror {
  height: 16px;
  line-height: 14px;
}
.ant-select-multiple.ant-select-sm .ant-select-selection-placeholder {
  left: 7px;
}
.ant-select-multiple.ant-select-sm .ant-select-selection-search:first-child .ant-select-selection-search-input {
  margin-left: 3px;
}
.ant-select-multiple.ant-select-lg .ant-select-selection-item {
  height: 32px;
  line-height: 32px;
}
.ant-select-disabled .ant-select-selection-item-remove {
  display: none;
}
/* Reset search input style */
.ant-select {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  color: var(--uni-contrast-500);
  font-size: 14px;
  font-variant: tabular-nums;
  line-height: 1.5715;
  list-style: none;
  font-feature-settings: 'tnum';
  position: relative;
  display: inline-block;
  cursor: pointer;
}
.ant-select:not(.ant-select-customize-input) .ant-select-selector {
  position: relative;
  background-color: transparent;
  border: 1px solid #434343;
  border-radius: 2px;
  transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
}
.ant-select:not(.ant-select-customize-input) .ant-select-selector input {
  cursor: pointer;
}
.ant-select-show-search.ant-select:not(.ant-select-customize-input) .ant-select-selector {
  cursor: text;
}
.ant-select-show-search.ant-select:not(.ant-select-customize-input) .ant-select-selector input {
  cursor: auto;
}
.ant-select-focused:not(.ant-select-disabled).ant-select:not(.ant-select-customize-input) .ant-select-selector {
  border-color: #177ddc;
  border-right-width: 1px !important;
  outline: 0;
  box-shadow: 0 0 0 2px rgba(23, 125, 220, 0.2);
}
.ant-input-rtl .ant-select-focused:not(.ant-select-disabled).ant-select:not(.ant-select-customize-input) .ant-select-selector {
  border-right-width: 0;
  border-left-width: 1px !important;
}
.ant-select-disabled.ant-select:not(.ant-select-customize-input) .ant-select-selector {
  color: rgba(255, 255, 255, 0.3);
  background: rgba(255, 255, 255, 0.08);
  cursor: not-allowed;
}
.ant-select-disabled.ant-select:not(.ant-select-customize-input) .ant-select-selector input {
  cursor: not-allowed;
}
.ant-select:not(.ant-select-customize-input) .ant-select-selector .ant-select-selection-search-input {
  margin: 0;
  padding: 0;
  background: transparent;
  border: none;
  outline: none;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
.ant-select:not(.ant-select-customize-input) .ant-select-selector .ant-select-selection-search-input::-webkit-search-cancel-button {
  display: none;
  -webkit-appearance: none;
}
.ant-select:not(.ant-select-disabled):hover .ant-select-selector {
  border-color: #165996;
  border-right-width: 1px !important;
}
.ant-input-rtl .ant-select:not(.ant-select-disabled):hover .ant-select-selector {
  border-right-width: 0;
  border-left-width: 1px !important;
}
.ant-select-selection-item {
  flex: 1;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
@media all and (-ms-high-contrast: none) {
  .ant-select-selection-item *::-ms-backdrop,
  .ant-select-selection-item {
    flex: auto;
  }
}
.ant-select-selection-placeholder {
  flex: 1;
  overflow: hidden;
  color: rgba(255, 255, 255, 0.3);
  white-space: nowrap;
  text-overflow: ellipsis;
  pointer-events: none;
}
@media all and (-ms-high-contrast: none) {
  .ant-select-selection-placeholder *::-ms-backdrop,
  .ant-select-selection-placeholder {
    flex: auto;
  }
}
.ant-select-arrow {
  display: inline-block;
  color: inherit;
  font-style: normal;
  line-height: 0;
  text-transform: none;
  vertical-align: -0.125em;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  position: absolute;
  top: 53%;
  right: 11px;
  width: 12px;
  height: 12px;
  margin-top: -6px;
  color: rgba(255, 255, 255, 0.3);
  font-size: 12px;
  line-height: 1;
  text-align: center;
  pointer-events: none;
}
.ant-select-arrow > * {
  line-height: 1;
}
.ant-select-arrow svg {
  display: inline-block;
}
.ant-select-arrow::before {
  display: none;
}
.ant-select-arrow .ant-select-arrow-icon {
  display: block;
}
.ant-select-arrow .anticon {
  vertical-align: top;
  transition: transform 0.3s;
}
.ant-select-arrow .anticon > svg {
  vertical-align: top;
}
.ant-select-arrow .anticon:not(.ant-select-suffix) {
  pointer-events: auto;
}
.ant-select-disabled .ant-select-arrow {
  cursor: not-allowed;
}
.ant-select-clear {
  position: absolute;
  top: 50%;
  right: 11px;
  z-index: 1;
  display: inline-block;
  width: 12px;
  height: 12px;
  margin-top: -6px;
  color: rgba(255, 255, 255, 0.3);
  font-size: 12px;
  font-style: normal;
  line-height: 1;
  text-align: center;
  text-transform: none;
  background: #141414;
  cursor: pointer;
  opacity: 0;
  transition: color 0.3s ease, opacity 0.15s ease;
  text-rendering: auto;
}
.ant-select-clear::before {
  display: block;
}
.ant-select-clear:hover {
  color: rgba(255, 255, 255, 0.45);
}
.ant-select:hover .ant-select-clear {
  opacity: 1;
}
.ant-select-dropdown {
  margin: 0;
  padding: 0;
  color: var(--uni-contrast-500);
  font-variant: tabular-nums;
  line-height: 1.5715;
  list-style: none;
  font-feature-settings: 'tnum';
  position: absolute;
  top: -9999px;
  left: -9999px;
  z-index: 1050;
  box-sizing: border-box;
  padding: 4px 0;
  overflow: hidden;
  font-size: 14px;
  font-variant: initial;
  background-color: #1f1f1f;
  border-radius: 2px;
  outline: none;
  box-shadow: 0 3px 6px -4px rgba(0, 0, 0, 0.48), 0 6px 16px 0 rgba(0, 0, 0, 0.32), 0 9px 28px 8px rgba(0, 0, 0, 0.2);
}
.ant-select-dropdown.slide-up-enter.slide-up-enter-active.ant-select-dropdown-placement-bottomLeft,
.ant-select-dropdown.slide-up-appear.slide-up-appear-active.ant-select-dropdown-placement-bottomLeft {
  -webkit-animation-name: antSlideUpIn;
          animation-name: antSlideUpIn;
}
.ant-select-dropdown.slide-up-enter.slide-up-enter-active.ant-select-dropdown-placement-topLeft,
.ant-select-dropdown.slide-up-appear.slide-up-appear-active.ant-select-dropdown-placement-topLeft {
  -webkit-animation-name: antSlideDownIn;
          animation-name: antSlideDownIn;
}
.ant-select-dropdown.slide-up-leave.slide-up-leave-active.ant-select-dropdown-placement-bottomLeft {
  -webkit-animation-name: antSlideUpOut;
          animation-name: antSlideUpOut;
}
.ant-select-dropdown.slide-up-leave.slide-up-leave-active.ant-select-dropdown-placement-topLeft {
  -webkit-animation-name: antSlideDownOut;
          animation-name: antSlideDownOut;
}
.ant-select-dropdown-hidden {
  display: none;
}
.ant-select-dropdown-empty {
  color: rgba(255, 255, 255, 0.3);
}
.ant-select-item-empty {
  position: relative;
  display: block;
  min-height: 32px;
  padding: 5px 12px;
  color: var(--uni-contrast-500);
  font-weight: normal;
  font-size: 14px;
  line-height: 22px;
  color: rgba(255, 255, 255, 0.3);
}
.ant-select-item {
  position: relative;
  display: block;
  min-height: 32px;
  padding: 5px 12px;
  color: var(--uni-contrast-500);
  font-weight: normal;
  font-size: 14px;
  line-height: 22px;
  cursor: pointer;
  transition: background 0.3s ease;
}
.ant-select-item-group {
  color: rgba(255, 255, 255, 0.45);
  font-size: 12px;
  cursor: default;
}
.ant-select-item-option {
  display: flex;
}
.ant-select-item-option-content {
  flex: auto;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.ant-select-item-option-state {
  flex: none;
}
.ant-select-item-option-active:not(.ant-select-item-option-disabled) {
  background-color: rgba(255, 255, 255, 0.08);
}
.ant-select-item-option-selected:not(.ant-select-item-option-disabled) {
  color: var(--uni-contrast-500);
  font-weight: 600;
  background-color: #111b26;
}
.ant-select-item-option-selected:not(.ant-select-item-option-disabled) .ant-select-item-option-state {
  color: #177ddc;
}
.ant-select-item-option-disabled {
  color: rgba(255, 255, 255, 0.3);
  cursor: not-allowed;
}
.ant-select-item-option-grouped {
  padding-left: 24px;
}
.ant-select-lg {
  font-size: 16px;
}
.ant-select-borderless .ant-select-selector {
  background-color: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
}
.ant-select-rtl {
  direction: rtl;
}
.ant-select-rtl .ant-select-arrow {
  right: initial;
  left: 11px;
}
.ant-select-rtl .ant-select-clear {
  right: initial;
  left: 11px;
}
.ant-select-dropdown-rtl {
  direction: rtl;
}
.ant-select-dropdown-rtl .ant-select-item-option-grouped {
  padding-right: 24px;
  padding-left: 12px;
}
.ant-select-rtl.ant-select-multiple.ant-select-show-arrow .ant-select-selector,
.ant-select-rtl.ant-select-multiple.ant-select-allow-clear .ant-select-selector {
  padding-right: 4px;
  padding-left: 24px;
}
.ant-select-rtl.ant-select-multiple .ant-select-selection-item {
  text-align: right;
}
.ant-select-rtl.ant-select-multiple .ant-select-selection-item-content {
  margin-right: 0;
  margin-left: 4px;
  text-align: right;
}
.ant-select-rtl.ant-select-multiple .ant-select-selection-search-mirror {
  right: 0;
  left: auto;
}
.ant-select-rtl.ant-select-multiple .ant-select-selection-search:first-child > .ant-select-selection-search-input {
  margin-right: 5px !important;
  margin-left: 0 !important;
}
.ant-select-rtl.ant-select-multiple .ant-select-selection-placeholder {
  right: 11px;
  left: auto;
}
.ant-select-rtl.ant-select-multiple.ant-select-sm .ant-select-selection-placeholder {
  right: 7px;
}
.ant-select-rtl.ant-select-single .ant-select-selector .ant-select-selection-item,
.ant-select-rtl.ant-select-single .ant-select-selector .ant-select-selection-placeholder {
  right: 0;
  left: 9px;
  text-align: right;
}
.ant-select-rtl.ant-select-single.ant-select-show-arrow .ant-select-selection-search {
  right: 11px;
  left: 25px;
}
.ant-select-rtl.ant-select-single.ant-select-show-arrow .ant-select-selection-item,
.ant-select-rtl.ant-select-single.ant-select-show-arrow .ant-select-selection-placeholder {
  padding-right: 0;
  padding-left: 18px;
}
.ant-select-rtl.ant-select-single:not(.ant-select-customize-input) .ant-select-selector {
  padding: 0 11px;
}
.ant-select-rtl.ant-select-single.ant-select-sm:not(.ant-select-customize-input).ant-select-show-arrow .ant-select-selection-search {
  right: 0;
}
.ant-select-rtl.ant-select-single.ant-select-sm:not(.ant-select-customize-input).ant-select-show-arrow .ant-select-selection-item,
.ant-select-rtl.ant-select-single.ant-select-sm:not(.ant-select-customize-input).ant-select-show-arrow .ant-select-selection-placeholder {
  padding-right: 0;
  padding-left: 21px;
}
.ant-empty {
  margin: 0 8px;
  font-size: 14px;
  line-height: 1.5715;
  text-align: center;
}
.ant-empty-image {
  height: 100px;
  margin-bottom: 8px;
}
.ant-empty-image img {
  height: 100%;
}
.ant-empty-image svg {
  height: 100%;
  margin: auto;
}
.ant-empty-footer {
  margin-top: 16px;
}
.ant-empty-normal {
  margin: 32px 0;
  color: rgba(255, 255, 255, 0.3);
}
.ant-empty-normal .ant-empty-image {
  height: 40px;
}
.ant-empty-small {
  margin: 8px 0;
  color: rgba(255, 255, 255, 0.3);
}
.ant-empty-small .ant-empty-image {
  height: 35px;
}
.ant-empty-img-default-ellipse {
  fill-opacity: 0.08;
  fill: #fff;
}
.ant-empty-img-default-path-1 {
  fill: #262626;
}
.ant-empty-img-default-path-2 {
  fill: url(#linearGradient-1);
}
.ant-empty-img-default-path-3 {
  fill: #595959;
}
.ant-empty-img-default-path-4 {
  fill: #434343;
}
.ant-empty-img-default-path-5 {
  fill: #595959;
}
.ant-empty-img-default-g {
  fill: #434343;
}
.ant-empty-img-simple-ellipse {
  fill: #fff;
  fill-opacity: 0.08;
}
.ant-empty-img-simple-g {
  stroke: #434343;
}
.ant-empty-img-simple-path {
  fill: #262626;
  stroke: #434343;
}
.ant-empty-rtl {
  direction: rtl;
}
nz-empty {
  display: block;
}
.ant-select-dropdown {
  top: 100%;
  left: 0;
  position: relative;
  width: 100%;
  margin-top: 4px;
  margin-bottom: 4px;
  display: block;
}
.ant-select-dropdown .cdk-virtual-scroll-content-wrapper {
  right: 0;
}
.ant-select-dropdown .full-width {
  contain: initial;
}
.ant-select-dropdown .full-width .cdk-virtual-scroll-content-wrapper {
  position: static;
}
.ant-alert {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  color: var(--uni-contrast-500);
  font-size: 14px;
  font-variant: tabular-nums;
  line-height: 1.5715;
  list-style: none;
  font-feature-settings: 'tnum';
  position: relative;
  display: flex;
  align-items: center;
  padding: 8px 15px;
  word-wrap: break-word;
  border-radius: 2px;
}
.ant-alert-content {
  flex: 1;
  min-width: 0;
}
.ant-alert-icon {
  margin-right: 8px;
}
.ant-alert-description {
  display: none;
  font-size: 14px;
  line-height: 22px;
}
.ant-alert-success {
  background-color: #162312;
  border: 1px solid #274916;
}
.ant-alert-success .ant-alert-icon {
  color: #49aa19;
}
.ant-alert-info {
  background-color: #111b26;
  border: 1px solid #153450;
}
.ant-alert-info .ant-alert-icon {
  color: #177ddc;
}
.ant-alert-warning {
  background-color: #2b2111;
  border: 1px solid #594214;
}
.ant-alert-warning .ant-alert-icon {
  color: #d89614;
}
.ant-alert-error {
  background-color: #2a1215;
  border: 1px solid #58181c;
}
.ant-alert-error .ant-alert-icon {
  color: #a61d24;
}
.ant-alert-error .ant-alert-description > pre {
  margin: 0;
  padding: 0;
}
.ant-alert-action {
  margin-left: 8px;
}
.ant-alert-close-icon {
  margin-left: 8px;
  padding: 0;
  overflow: hidden;
  font-size: 12px;
  line-height: 12px;
  background-color: transparent;
  border: none;
  outline: none;
  cursor: pointer;
}
.ant-alert-close-icon .anticon-close {
  color: rgba(255, 255, 255, 0.45);
  transition: color 0.3s;
}
.ant-alert-close-icon .anticon-close:hover {
  color: rgba(255, 255, 255, 0.75);
}
.ant-alert-close-text {
  color: rgba(255, 255, 255, 0.45);
  transition: color 0.3s;
}
.ant-alert-close-text:hover {
  color: rgba(255, 255, 255, 0.75);
}
.ant-alert-with-description {
  align-items: flex-start;
  padding: 15px 15px 15px 24px;
}
.ant-alert-with-description.ant-alert-no-icon {
  padding: 15px 15px;
}
.ant-alert-with-description .ant-alert-icon {
  margin-right: 15px;
  font-size: 24px;
}
.ant-alert-with-description .ant-alert-message {
  display: block;
  margin-bottom: 4px;
  color: rgba(255, 255, 255, 0.85);
  font-size: 16px;
}
.ant-alert-message {
  color: rgba(255, 255, 255, 0.85);
}
.ant-alert-with-description .ant-alert-description {
  display: block;
}
.ant-alert.ant-alert-motion-leave {
  overflow: hidden;
  opacity: 1;
  transition: max-height 0.3s cubic-bezier(0.78, 0.14, 0.15, 0.86), opacity 0.3s cubic-bezier(0.78, 0.14, 0.15, 0.86), padding-top 0.3s cubic-bezier(0.78, 0.14, 0.15, 0.86), padding-bottom 0.3s cubic-bezier(0.78, 0.14, 0.15, 0.86), margin-bottom 0.3s cubic-bezier(0.78, 0.14, 0.15, 0.86);
}
.ant-alert.ant-alert-motion-leave-active {
  max-height: 0;
  margin-bottom: 0 !important;
  padding-top: 0;
  padding-bottom: 0;
  opacity: 0;
}
.ant-alert-banner {
  margin-bottom: 0;
  border: 0;
  border-radius: 0;
}
.ant-alert.ant-alert-rtl {
  direction: rtl;
}
.ant-alert-rtl.ant-alert.ant-alert-no-icon {
  padding: 8px 15px;
}
.ant-alert-rtl .ant-alert-icon {
  margin-right: auto;
  margin-left: 8px;
}
.ant-alert-rtl .ant-alert-action {
  margin-right: 8px;
  margin-left: auto;
}
.ant-alert-rtl .ant-alert-close-icon {
  margin-right: 8px;
  margin-left: auto;
}
.ant-alert-rtl.ant-alert-with-description .ant-alert-icon {
  margin-right: auto;
  margin-left: 15px;
}
nz-alert {
  display: block;
}
.ant-carousel {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  color: var(--uni-contrast-500);
  font-size: 14px;
  font-variant: tabular-nums;
  line-height: 1.5715;
  list-style: none;
  font-feature-settings: 'tnum';
}
.ant-carousel .slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-touch-callout: none;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
}
.ant-carousel .slick-list {
  position: relative;
  display: block;
  margin: 0;
  padding: 0;
  overflow: hidden;
}
.ant-carousel .slick-list:focus {
  outline: none;
}
.ant-carousel .slick-list.dragging {
  cursor: pointer;
}
.ant-carousel .slick-list .slick-slide {
  pointer-events: none;
}
.ant-carousel .slick-list .slick-slide input.ant-radio-input,
.ant-carousel .slick-list .slick-slide input.ant-checkbox-input {
  visibility: hidden;
}
.ant-carousel .slick-list .slick-slide.slick-active {
  pointer-events: auto;
}
.ant-carousel .slick-list .slick-slide.slick-active input.ant-radio-input,
.ant-carousel .slick-list .slick-slide.slick-active input.ant-checkbox-input {
  visibility: visible;
}
.ant-carousel .slick-list .slick-slide > div > div {
  vertical-align: bottom;
}
.ant-carousel .slick-slider .slick-track,
.ant-carousel .slick-slider .slick-list {
  transform: translate3d(0, 0, 0);
  touch-action: pan-y;
}
.ant-carousel .slick-track {
  position: relative;
  top: 0;
  left: 0;
  display: block;
}
.ant-carousel .slick-track::before,
.ant-carousel .slick-track::after {
  display: table;
  content: '';
}
.ant-carousel .slick-track::after {
  clear: both;
}
.slick-loading .ant-carousel .slick-track {
  visibility: hidden;
}
.ant-carousel .slick-slide {
  display: none;
  float: left;
  height: 100%;
  min-height: 1px;
}
.ant-carousel .slick-slide img {
  display: block;
}
.ant-carousel .slick-slide.slick-loading img {
  display: none;
}
.ant-carousel .slick-slide.dragging img {
  pointer-events: none;
}
.ant-carousel .slick-initialized .slick-slide {
  display: block;
}
.ant-carousel .slick-loading .slick-slide {
  visibility: hidden;
}
.ant-carousel .slick-vertical .slick-slide {
  display: block;
  height: auto;
}
.ant-carousel .slick-arrow.slick-hidden {
  display: none;
}
.ant-carousel .slick-prev,
.ant-carousel .slick-next {
  position: absolute;
  top: 50%;
  display: block;
  width: 20px;
  height: 20px;
  margin-top: -10px;
  padding: 0;
  color: transparent;
  font-size: 0;
  line-height: 0;
  background: transparent;
  border: 0;
  outline: none;
  cursor: pointer;
}
.ant-carousel .slick-prev:hover,
.ant-carousel .slick-next:hover,
.ant-carousel .slick-prev:focus,
.ant-carousel .slick-next:focus {
  color: transparent;
  background: transparent;
  outline: none;
}
.ant-carousel .slick-prev:hover::before,
.ant-carousel .slick-next:hover::before,
.ant-carousel .slick-prev:focus::before,
.ant-carousel .slick-next:focus::before {
  opacity: 1;
}
.ant-carousel .slick-prev.slick-disabled::before,
.ant-carousel .slick-next.slick-disabled::before {
  opacity: 0.25;
}
.ant-carousel .slick-prev {
  left: -25px;
}
.ant-carousel .slick-prev::before {
  content: '←';
}
.ant-carousel .slick-next {
  right: -25px;
}
.ant-carousel .slick-next::before {
  content: '→';
}
.ant-carousel .slick-dots {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 15;
  display: flex !important;
  justify-content: center;
  margin-right: 15%;
  margin-left: 15%;
  padding-left: 0;
  list-style: none;
}
.ant-carousel .slick-dots-bottom {
  bottom: 12px;
}
.ant-carousel .slick-dots-top {
  top: 12px;
}
.ant-carousel .slick-dots li {
  position: relative;
  display: inline-block;
  flex: 0 1 auto;
  box-sizing: content-box;
  width: 16px;
  height: 3px;
  margin: 0 2px;
  margin-right: 3px;
  margin-left: 3px;
  padding: 0;
  text-align: center;
  text-indent: -999px;
  vertical-align: top;
  transition: all 0.5s;
}
.ant-carousel .slick-dots li button {
  display: block;
  width: 100%;
  height: 3px;
  padding: 0;
  color: transparent;
  font-size: 0;
  background: #141414;
  border: 0;
  border-radius: 1px;
  outline: none;
  cursor: pointer;
  opacity: 0.3;
  transition: all 0.5s;
}
.ant-carousel .slick-dots li button:hover,
.ant-carousel .slick-dots li button:focus {
  opacity: 0.75;
}
.ant-carousel .slick-dots li.slick-active {
  width: 24px;
}
.ant-carousel .slick-dots li.slick-active button {
  background: #141414;
  opacity: 1;
}
.ant-carousel .slick-dots li.slick-active:hover,
.ant-carousel .slick-dots li.slick-active:focus {
  opacity: 1;
}
.ant-carousel-vertical .slick-dots {
  top: 50%;
  bottom: auto;
  flex-direction: column;
  width: 3px;
  height: auto;
  margin: 0;
  transform: translateY(-50%);
}
.ant-carousel-vertical .slick-dots-left {
  right: auto;
  left: 12px;
}
.ant-carousel-vertical .slick-dots-right {
  right: 12px;
  left: auto;
}
.ant-carousel-vertical .slick-dots li {
  width: 3px;
  height: 16px;
  margin: 4px 2px;
  vertical-align: baseline;
}
.ant-carousel-vertical .slick-dots li button {
  width: 3px;
  height: 16px;
}
.ant-carousel-vertical .slick-dots li.slick-active {
  width: 3px;
  height: 24px;
}
.ant-carousel-vertical .slick-dots li.slick-active button {
  width: 3px;
  height: 24px;
}
.ant-carousel-rtl {
  direction: rtl;
}
.ant-carousel-rtl .ant-carousel .slick-track {
  right: 0;
  left: auto;
}
.ant-carousel-rtl .ant-carousel .slick-prev {
  right: -25px;
  left: auto;
}
.ant-carousel-rtl .ant-carousel .slick-prev::before {
  content: '→';
}
.ant-carousel-rtl .ant-carousel .slick-next {
  right: auto;
  left: -25px;
}
.ant-carousel-rtl .ant-carousel .slick-next::before {
  content: '←';
}
.ant-carousel-rtl.ant-carousel .slick-dots {
  flex-direction: row-reverse;
}
.ant-carousel-rtl.ant-carousel-vertical .slick-dots {
  flex-direction: column;
}
nz-carousel {
  display: block;
  position: relative;
  overflow: hidden;
  width: 100%;
  height: 100%;
}
.slick-dots {
  display: block;
}
.slick-track {
  opacity: 1;
}
.slick-list {
  direction: ltr;
}
.ant-popover {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  color: var(--uni-contrast-500);
  font-size: 14px;
  font-variant: tabular-nums;
  line-height: 1.5715;
  list-style: none;
  font-feature-settings: 'tnum';
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1030;
  font-weight: normal;
  white-space: normal;
  text-align: left;
  cursor: auto;
  -webkit-user-select: text;
     -moz-user-select: text;
          user-select: text;
}
.ant-popover::after {
  position: absolute;
  background: rgba(255, 255, 255, 0.01);
  content: '';
}
.ant-popover-hidden {
  display: none;
}
.ant-popover-placement-top,
.ant-popover-placement-topLeft,
.ant-popover-placement-topRight {
  padding-bottom: 10px;
}
.ant-popover-placement-right,
.ant-popover-placement-rightTop,
.ant-popover-placement-rightBottom {
  padding-left: 10px;
}
.ant-popover-placement-bottom,
.ant-popover-placement-bottomLeft,
.ant-popover-placement-bottomRight {
  padding-top: 10px;
}
.ant-popover-placement-left,
.ant-popover-placement-leftTop,
.ant-popover-placement-leftBottom {
  padding-right: 10px;
}
.ant-popover-inner {
  background-color: #1f1f1f;
  background-clip: padding-box;
  border-radius: 2px;
  box-shadow: 0 3px 6px -4px rgba(0, 0, 0, 0.48), 0 6px 16px 0 rgba(0, 0, 0, 0.32), 0 9px 28px 8px rgba(0, 0, 0, 0.2);
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.45) \9;
}
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
  .ant-popover {
    /* IE10+ */
  }
  .ant-popover-inner {
    box-shadow: 0 3px 6px -4px rgba(0, 0, 0, 0.48), 0 6px 16px 0 rgba(0, 0, 0, 0.32), 0 9px 28px 8px rgba(0, 0, 0, 0.2);
  }
}
.ant-popover-title {
  min-width: 177px;
  min-height: 32px;
  margin: 0;
  padding: 5px 16px 4px;
  color: rgba(255, 255, 255, 0.85);
  font-weight: 500;
  border-bottom: 1px solid #303030;
}
.ant-popover-inner-content {
  padding: 12px 16px;
  color: var(--uni-contrast-500);
}
.ant-popover-message {
  position: relative;
  padding: 4px 0 12px;
  color: var(--uni-contrast-500);
  font-size: 14px;
}
.ant-popover-message > .anticon {
  position: absolute;
  top: 8.0005px;
  color: #d89614;
  font-size: 14px;
}
.ant-popover-message-title {
  padding-left: 22px;
}
.ant-popover-buttons {
  margin-bottom: 4px;
  text-align: right;
}
.ant-popover-buttons button {
  margin-left: 8px;
}
.ant-popover-arrow {
  position: absolute;
  display: block;
  width: 8.48528137px;
  height: 8.48528137px;
  background: transparent;
  border-style: solid;
  border-width: 4.24264069px;
  transform: rotate(45deg);
}
.ant-popover-placement-top > .ant-popover-content > .ant-popover-arrow,
.ant-popover-placement-topLeft > .ant-popover-content > .ant-popover-arrow,
.ant-popover-placement-topRight > .ant-popover-content > .ant-popover-arrow {
  bottom: 6.2px;
  border-top-color: transparent;
  border-right-color: #1f1f1f;
  border-bottom-color: #1f1f1f;
  border-left-color: transparent;
  box-shadow: 3px 3px 7px rgba(0, 0, 0, 0.07);
}
.ant-popover-placement-top > .ant-popover-content > .ant-popover-arrow {
  left: 50%;
  transform: translateX(-50%) rotate(45deg);
}
.ant-popover-placement-topLeft > .ant-popover-content > .ant-popover-arrow {
  left: 16px;
}
.ant-popover-placement-topRight > .ant-popover-content > .ant-popover-arrow {
  right: 16px;
}
.ant-popover-placement-right > .ant-popover-content > .ant-popover-arrow,
.ant-popover-placement-rightTop > .ant-popover-content > .ant-popover-arrow,
.ant-popover-placement-rightBottom > .ant-popover-content > .ant-popover-arrow {
  left: 6px;
  border-top-color: transparent;
  border-right-color: transparent;
  border-bottom-color: #1f1f1f;
  border-left-color: #1f1f1f;
  box-shadow: -3px 3px 7px rgba(0, 0, 0, 0.07);
}
.ant-popover-placement-right > .ant-popover-content > .ant-popover-arrow {
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
}
.ant-popover-placement-rightTop > .ant-popover-content > .ant-popover-arrow {
  top: 12px;
}
.ant-popover-placement-rightBottom > .ant-popover-content > .ant-popover-arrow {
  bottom: 12px;
}
.ant-popover-placement-bottom > .ant-popover-content > .ant-popover-arrow,
.ant-popover-placement-bottomLeft > .ant-popover-content > .ant-popover-arrow,
.ant-popover-placement-bottomRight > .ant-popover-content > .ant-popover-arrow {
  top: 6px;
  border-top-color: #1f1f1f;
  border-right-color: transparent;
  border-bottom-color: transparent;
  border-left-color: #1f1f1f;
  box-shadow: -2px -2px 5px rgba(0, 0, 0, 0.06);
}
.ant-popover-placement-bottom > .ant-popover-content > .ant-popover-arrow {
  left: 50%;
  transform: translateX(-50%) rotate(45deg);
}
.ant-popover-placement-bottomLeft > .ant-popover-content > .ant-popover-arrow {
  left: 16px;
}
.ant-popover-placement-bottomRight > .ant-popover-content > .ant-popover-arrow {
  right: 16px;
}
.ant-popover-placement-left > .ant-popover-content > .ant-popover-arrow,
.ant-popover-placement-leftTop > .ant-popover-content > .ant-popover-arrow,
.ant-popover-placement-leftBottom > .ant-popover-content > .ant-popover-arrow {
  right: 6px;
  border-top-color: #1f1f1f;
  border-right-color: #1f1f1f;
  border-bottom-color: transparent;
  border-left-color: transparent;
  box-shadow: 3px -3px 7px rgba(0, 0, 0, 0.07);
}
.ant-popover-placement-left > .ant-popover-content > .ant-popover-arrow {
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
}
.ant-popover-placement-leftTop > .ant-popover-content > .ant-popover-arrow {
  top: 12px;
}
.ant-popover-placement-leftBottom > .ant-popover-content > .ant-popover-arrow {
  bottom: 12px;
}
.ant-popover-rtl {
  direction: rtl;
  text-align: right;
}
.ant-popover-rtl .ant-popover-message-title {
  padding-right: 22px;
  padding-left: 16px;
}
.ant-popover-rtl .ant-popover-buttons {
  text-align: left;
}
.ant-popover-rtl .ant-popover-buttons button {
  margin-right: 8px;
  margin-left: 0;
}
.ant-popover {
  position: relative;
}
/* stylelint-disable at-rule-empty-line-before,at-rule-name-space-after,at-rule-no-unknown */
/* stylelint-disable no-duplicate-selectors */
/* stylelint-disable */
/* stylelint-disable declaration-bang-space-before,no-duplicate-selectors,string-no-newline */
.uni--blockquote {
  border-left: 5px solid var(--uni-blue-100);
}
.uni--buttonold {
  width: 100%;
  --background: var(--uni-color-blue-dark);
  color: white;
}
.uni--buttonold__outline {
  margin-top: 2rem;
  border: var(--uni-color-blue-dark);
  --background: white;
  color: var(--uni-color-blue-dark);
  border: 1px solid var(--uni-color-blue-dark);
  border-radius: 4px;
}
.uni-link-button {
  outline: none;
  border: 1px solid #FFFFFF;
  min-height: 3rem;
  height: 3rem;
  border-radius: 1.5rem;
  background: transparent;
  color: #FFFFFF;
  opacity: 0.65;
  padding-left: 3rem;
  padding-right: 3rem;
}
.uni-link-button:hover,
.uni-link-button:focus,
.uni-link-button:active {
  color: #FFFFFF;
}
.uni--button {
  outline: none;
  border: none;
  min-height: 3rem;
  height: 3rem;
  border-radius: 37px;
  background-color: var(--uni-blue-100);
  padding-left: 3rem;
  padding-right: 3rem;
}
.uni--button:hover {
  box-shadow: 0 3px 6px #0000003B;
}
.uni--button:focus,
.uni--button:active {
  background-color: var(--uni-primary-800);
}
.uni--button__free-courses {
  background-color: var(--uni-free-course-primary);
  border: 1px solid var(--uni-free-course-dark);
}
.uni--button__free-courses:hover,
.uni--button__free-courses:focus,
.uni--button__free-courses:active {
  background-color: var(--uni-free-course-secondary);
}
.uni--button__small {
  min-height: 2rem;
  height: 2rem;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
textarea:-webkit-autofill,
textarea:-webkit-autofill:hover textarea:-webkit-autofill:focus,
select:-webkit-autofill,
select:-webkit-autofill:hover,
select:-webkit-autofill:focus {
  -webkit-text-fill-color: white !important;
  -webkit-transition: background-color 5000s ease-in-out 0s;
  transition: background-color 5000s ease-in-out 0s;
}
.uni--new-button {
  transition: ease-in 0.3s;
  min-height: 3rem;
  height: 3rem;
  border-radius: 37px;
  border: none;
  background-color: transparent;
  text-transform: uppercase;
  color: var(--uni-blue-200);
  font-weight: bold;
  padding-left: 3rem;
  padding-right: 3rem;
}
.uni--new-button:hover,
.uni--new-button:focus,
.uni--new-button:active {
  background-color: var(--uni-primary-800);
}
.uni--new-button__free-courses {
  background-color: var(--uni-free-course-primary);
  border: none;
}
.uni--new-button__free-courses:hover,
.uni--new-button__free-courses:focus,
.uni--new-button__free-courses:active {
  background-color: var(--uni-free-course-secondary);
}
.uni--new-button__small {
  min-height: 2rem;
  height: 2rem;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}
.uni--new-button-news:hover,
.uni--new-button-news:active,
.uni--new-button-news:focus {
  color: var(--uni-blue-200) !important;
  background-color: var(--uni-black-400) !important;
  box-shadow: none !important;
}
button {
  cursor: pointer !important;
}
.uni--primary-button {
  transition: ease-in 0.3s;
  color: var(--uni-grey-100);
  background-color: var(--uni-blue-100);
  border-radius: 25px;
  border: none;
  text-align: center;
  font-size: 0.9rem;
  min-width: 12rem;
  width: 12rem;
  min-height: 2.5rem;
  height: 3rem;
}
.uni--primary-button:hover {
  box-shadow: 0 0 10px 1px rgba(1, 169, 240, 0.44);
}
.uni--primary-button:active {
  box-shadow: none;
  background-color: var(--uni-blue-400);
  transition: none;
}
.uni--primary-button:disabled {
  background-color: var(--uni-grey-100);
  color: var(--uni-grey-300);
}
.uni--primary-button:disabled:hover {
  box-shadow: none;
}
.uni--secondary-button {
  transition: ease-in 0.3s;
  color: var(--uni-blue-100);
  background-color: transparent;
  border-radius: 25px;
  border: 1px solid var(--uni-blue-100);
  margin: 10px;
  text-align: center;
  font-size: 0.9rem;
  min-width: 8rem;
  width: 9rem;
  min-height: 2.7rem;
  height: 3rem;
}
.uni--secondary-button:hover {
  color: var(--uni-grey-100);
  border: 1px solid var(--uni-blue-400);
}
.uni--secondary-button:active {
  box-shadow: none;
  background-color: var(--uni-blue-400);
  color: var(--uni-grey-100);
  transition: none;
}
.uni--secondary-button:disabled {
  border: 1px solid var(--uni-grey-100);
  color: var(--uni-grey-100);
}
.uni--secondary-button:disabled:hover {
  box-shadow: none;
}
.ant-carousel .slick-dots li {
  background: #FFF;
}
.ant-carousel .slick-dots li.slick-active button {
  background: var(--uni-blue-100);
}
.uni--input {
  background-color: var(--uni-light-400);
  min-height: 3.5rem;
  height: 3.5rem;
  position: relative;
  padding: 1rem 1.5rem;
  border-radius: 37px;
  box-shadow: 0px 3px 6px #00000029;
  border: none;
  transition: none !important;
}
.uni--input .ant-input-affix-wrapper,
.uni--input .ant-input {
  transition: none !important;
}
.uni--input input {
  font-family: 'Segoe UI';
  font-size: 1rem;
  padding: 0;
  border: none;
}
.uni--input input::-moz-placeholder {
  -webkit-text-fill-color: var(--uni-contrast-300) !important;
  color: var(--uni-contrast-300) !important;
  background-color: var(--uni-light-400) !important;
  -webkit-box-shadow: 0 0 0 30px var(--uni-light-400) inset !important;
}
.uni--input input::placeholder {
  -webkit-text-fill-color: var(--uni-contrast-300) !important;
  color: var(--uni-contrast-300) !important;
  background-color: var(--uni-light-400) !important;
  -webkit-box-shadow: 0 0 0 30px var(--uni-light-400) inset !important;
}
.uni--input input,
.uni--input input:-internal-autofill-selected,
.uni--input input:-webkit-autofill,
.uni--input input:-webkit-autofill:hover,
.uni--input input:-webkit-autofill:focus,
.uni--input input:-webkit-autofill:active {
  -webkit-text-fill-color: var(--uni-contrast-500) !important;
  color: var(--uni-contrast-500) !important;
  background-color: var(--uni-light-400) !important;
  -webkit-box-shadow: 0 0 0 30px var(--uni-light-400) inset !important;
}
.uni--input input[type="text"]:hover,
.uni--input input[type="text"]:focus {
  outline: none !important;
}
.uni--input input:-moz-read-only {
  opacity: 0.6;
}
.uni--input input:disabled,
.uni--input input:read-only {
  opacity: 0.6;
}
.uni--input nz-spin {
  position: absolute;
  display: flex;
  justify-content: center;
  align-items: center;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  z-index: 10;
}
.uni--input .ant-input-prefix {
  margin-right: 0.5rem;
}
.uni--input .ant-input-group-addon {
  background-color: transparent;
  border: none;
}
.uni--input .ant-input-group-addon > * {
  margin-right: -2.2rem;
  margin-top: -1rem;
}
.uni--new-input {
  background-color: transparent;
  margin-bottom: 20px;
  min-height: 3.5rem;
  height: 3.5rem;
  position: relative;
  padding: 1rem 1.5rem;
  border-radius: 37px;
  box-shadow: 0px 3px 6px #00000029;
  border: 1px solid var(--uni-grey-100);
  transition: none !important;
}
.uni--new-input .ant-input-affix-wrapper,
.uni--new-input .ant-input {
  transition: none !important;
}
.uni--new-input input {
  font-size: 1rem;
  background-color: transparent;
  padding: 0;
  border: none;
}
.uni--new-input input::-moz-placeholder {
  -webkit-text-fill-color: var(--uni-contrast-300) !important;
  color: var(--uni-grey-100) !important;
  background-color: transparent !important;
}
.uni--new-input input::placeholder {
  -webkit-text-fill-color: var(--uni-contrast-300) !important;
  color: var(--uni-grey-100) !important;
  background-color: transparent !important;
}
.uni--new-input input,
.uni--new-input input:-internal-autofill-selected,
.uni--new-input input:-webkit-autofill,
.uni--new-input input:-webkit-autofill:hover,
.uni--new-input input:-webkit-autofill:focus,
.uni--new-input input:-webkit-autofill:active {
  -webkit-text-fill-color: var(--uni-contrast-500) !important;
  color: var(--uni-grey-300) !important;
  background-color: transparent !important;
}
.uni--new-input input[type="text"]:hover,
.uni--new-input input[type="text"]:focus {
  outline: none !important;
}
.uni--new-input input:-moz-read-only {
  opacity: 0.6;
}
.uni--new-input input:disabled,
.uni--new-input input:read-only {
  opacity: 0.6;
}
.uni--new-input nz-spin {
  position: absolute;
  display: flex;
  justify-content: center;
  align-items: center;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  z-index: 10;
}
.uni--new-input .ant-input-prefix {
  margin-right: 0.5rem;
}
.uni--new-input .ant-input-group-addon {
  background-color: transparent;
  border: none;
}
.uni--new-input .ant-input-group-addon > * {
  margin-right: -2.2rem;
  margin-top: -1rem;
}
.uni--box-label-float {
  position: relative;
  padding-top: 13px;
  width: var(--uni-input-width, 330px);
  display: flex;
  align-items: flex-end;
}
.uni--box-label-float .uni--input-text,
.uni--box-label-float .login--input-password {
  width: var(--uni-input-width, 330px);
  border: 0;
  border-bottom: 1px solid var(--uni-grey-300);
  background-color: transparent;
  outline: none;
  font-size: 15px;
  padding-left: 1rem;
  margin-top: 20px;
  transition: all 0.3s cubic-bezier(0.64, 0.09, 0.08, 1);
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none;
  min-height: 2.5rem;
  height: 2.5rem;
}
.uni--box-label-float .uni--input-text:-webkit-autofill,
.uni--box-label-float .login--input-password:-webkit-autofill {
  -webkit-box-shadow: 0 0 0 50px transparent inset;
  -webkit-text-fill-color: var(--uni-grey-300);
  /* Cor do texto */
}
.uni--box-label-float .uni--input-text:focus,
.uni--box-label-float .login--input-password:focus {
  border-bottom: 1px solid var(--uni-blue-200) !important;
}
.uni--box-label-float .uni--input-text::-moz-placeholder, .uni--box-label-float .login--input-password::-moz-placeholder {
  color: transparent;
}
.uni--box-label-float .uni--input-text::placeholder,
.uni--box-label-float .login--input-password::placeholder {
  color: transparent;
}
.uni--box-label-float .uni--label {
  position: absolute;
  top: 20px;
  left: 10px;
  margin-top: 20px;
  font-weight: lighter;
  font-size: 15px;
  transition: all 0.1s ease-out;
  -webkit-transition: all 0.1s ease-out;
  -moz-transition: all 0.1s ease-out;
}
.uni--box-label-float .uni--input-text:required:invalid + .uni--label {
  color: var(--uni-grey-300);
}
.uni--box-label-float .uni--input-text:focus:required:invalid {
  border-bottom: 1px solid var(--uni-grey-300);
}
.uni--box-label-float .uni--input-text:required:invalid + .uni--label {
  content: '*';
}
.uni--box-label-float .uni--input-text:-webkit-autofill + .uni--label,
.uni--box-label-float .uni--input-text:focus + .uni--label,
.uni--box-label-float .uni--input-text:not(:placeholder-shown) + .uni--label {
  font-size: 12px;
  margin-top: 0;
  color: var(--uni-grey-300);
}
.password-input {
  padding-right: 2.8rem;
}
label[nz-checkbox] {
  color: var(--uni-contrast-500);
  font-weight: normal;
}
label[nz-checkbox] span,
label[nz-checkbox] .ant-checkbox-checked::after {
  border-radius: 4px;
}
.uni--checkbox-container {
  width: 330px;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  margin-top: 40px;
}
.uni--checkbox-container .uni--checkbox-label {
  display: block;
  align-items: center;
  position: relative;
  padding-left: 25px;
  font-size: 14px;
  font-weight: lighter;
  color: var(--uni-grey-100);
}
.uni--checkbox-container .uni--checkbox-label .uni--checkbox {
  position: absolute;
  opacity: 0;
  height: 0;
  width: 0;
}
.uni--checkbox-container .uni--checkbox-label .uni--checkbox:checked ~ .checkmark {
  background-color: var(--uni-blue-200);
  border: none;
  opacity: 1;
  -webkit-animation: fadeOpacity 1s ease-in-out;
  animation: fadeOpacity 1s ease-in-out;
}
.uni--checkbox-container .uni--checkbox-label .uni--checkbox:disabled ~ .checkmark {
  background-color: var(--uni-grey-200);
  border: none;
}
.uni--checkbox-container .uni--checkbox-label .uni--checkbox:checked ~ .checkmark::after {
  display: block;
}
.uni--checkbox-container .uni--checkbox-label .checkmark::after {
  content: '';
  left: 6px;
  top: 0;
  width: 8px;
  height: 17px;
  transform: rotate(45deg);
  border-right: 3px solid #fff;
  border-bottom: 3px solid #fff;
}
.uni--checkbox-container .uni--checkbox-label .checkmark {
  position: absolute;
  top: 0;
  left: 0;
  height: 20px;
  width: 20px;
  background-color: transparent;
  border: 1px solid var(--uni-grey-100);
  border-radius: 2px;
}
.uni--checkbox-container .uni--checkbox-label .checkmark::after {
  display: none;
  content: '';
  position: absolute;
}
@-webkit-keyframes fadeOpacity {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes fadeOpacity {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.uni--primary-500 {
  color: var(--uni-blue-100);
}
.uni--fieldset {
  padding-bottom: 0.5rem;
}
.uni--fieldset legend {
  border-color: var(--uni-blue-100);
}
.uni--fieldset ul {
  padding-left: 0;
  list-style: none;
}
.uni--fieldset li {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.uni--fieldset .subscription-period {
  font-size: 0.85rem;
}
.uni--fieldset p,
.uni--fieldset label {
  font-weight: normal;
  margin-top: 0.25rem;
  margin-bottom: 0.25rem;
}
.uni--fieldset p {
  margin-left: 0.25rem;
}
.uni--fieldset label {
  margin-right: 0.25rem;
}
.uni--fieldset h4 {
  margin: 0;
}
.uni--form--item {
  width: 100%;
  margin-bottom: 1.5rem;
}
.uni--form--item small {
  display: inline-block;
  margin-top: 1rem;
  text-align: center;
}
.uni--form--item nz-select {
  width: 100%;
}
.uni--form .uni--input input.ng-touched.ng-invalid {
  -webkit-text-fill-color: red !important;
  color: red !important;
}
.uni--profile--header {
  display: flex;
  align-items: center;
  margin-bottom: 1.5rem;
}
.uni--profile--header h2 {
  font-size: 1.2rem;
  line-height: 1.8rem;
  font-family: 'Segoe UI';
  margin-bottom: 0;
}
.uni--profile--header h2 span {
  font-weight: bold;
  font-family: 'Segoe UI';
  font-size: 1.5rem;
}
.uni--profile--header hr {
  flex: 1;
  border-radius: 8px;
  height: 0.25rem;
  margin-left: 1.5rem;
  border: none;
  background-color: var(--uni-blue-100);
}
.uni--profile--header a {
  border-radius: 50%;
  background-color: var(--uni-light-100);
  min-height: 2rem;
  height: 2rem;
  min-width: 2rem;
  width: 2rem;
  margin-left: 1.5rem;
  display: flex;
  justify-content: center;
  align-items: center;
}
.uni--profile--header a.uni--header--a__invert-margin {
  margin-left: 0;
  margin-right: 1.5rem;
}
.uni--profile--header a i {
  font-size: 1.25rem;
}
.uni--hr {
  width: 100%;
  height: 1px;
  background-color: var(--uni-blue-100);
  margin: 0.75rem 0;
  border: none;
}
.fix-inner-html iframe {
  max-width: 100%;
}
.fix-inner-html p,
.fix-inner-html span,
.fix-inner-html label,
.fix-inner-html h1,
.fix-inner-html h2,
.fix-inner-html h3,
.fix-inner-html h4,
.fix-inner-html h4,
.fix-inner-html h5,
.fix-inner-html h6 {
  color: var(--uni-contrast-500) !important;
  background: none !important;
  word-break: break-word;
}
.fix-inner-html a {
  color: var(--uni-primary-400) !important;
  background: none !important;
  word-break: break-word;
}
a[href] {
  color: var(--uni-blue-100);
}
a[href]:visited {
  color: var(--uni-contrast-500);
  font-weight: bold;
  text-decoration: underline;
}
.uni--modal--no-content .ant-modal-content {
  background-color: transparent;
  box-shadow: none;
}
.uni--modal--default .ant-modal-content {
  border-radius: 20px;
  padding: 1.5rem;
}
.create-note-modal .ant-modal-content {
  background-color: var(--uni-black-500);
  border-radius: 16px;
  padding: 23px 37px;
}
.create-note-modal .ant-modal-close-x {
  font-weight: 900;
  color: var(--uni-blue-100);
}
.uni--modal--default .ant-modal-content {
  background: radial-gradient(at top, #212429 10%, #101010 50%);
}
.uni--nav {
  padding-right: 1.5rem;
  padding-bottom: 2rem;
  font-family: "Open Sans", sans-serif;
}
.uni--nav ul {
  display: flex;
  list-style: none;
  padding-left: 0;
  margin: 0;
}
.uni--nav li {
  padding-right: 2rem;
}
.uni--nav a {
  font-size: 1rem;
  color: var(--uni-grey-300);
  border-bottom-style: solid;
  border-bottom-width: 2px;
  border-bottom-color: transparent;
}
.uni--nav__selected {
  color: var(--uni-contrast-500) !important;
}
.background--domestika {
  background-color: #F02D00 !important;
}
.progress-bar {
  position: absolute;
  height: 100%;
  width: 33%;
  background: linear-gradient(0deg, var(--uni-color-orange) 0%, var(--uni-color-orange-dark) 100%);
  border-radius: 10px;
  left: 0;
  z-index: 3;
}
.hide-scrollbar {
  -ms-overflow-style: none;
  scrollbar-width: none;
  scrollbar-height: none;
}
.hide-scrollbar::-webkit-scrollbar {
  width: 0;
  height: 0;
  background: transparent;
}
.uni--scrollbar {
  --thumb-color: var(--scrollbar-thumb-color, var(--uni-blue-100));
  --thumb-background: var(--scrollbar-thumb-background, var(--uni-light-200));
}
.uni--scrollbar::-webkit-scrollbar-track {
  -webkit-box-shadow: inset 0 0 4px var(--thumb-background);
  border-radius: 0.6rem;
  background-color: var(--thumb-background);
}
.uni--scrollbar::-webkit-scrollbar {
  width: 0.4rem;
  border-radius: 0.6rem;
  background-color: var(--thumb-background);
}
.uni--scrollbar::-webkit-scrollbar-thumb {
  border-radius: 0.4rem;
  -webkit-box-shadow: inset 0 0 4px var(--thumb-color);
  background-color: var(--thumb-color);
}
* {
  scrollbar-width: thin;
  scrollbar-color: var(--uni-blue-200) var(--uni-black-200);
}
/* Works on Chrome, Edge, and Safari */
*::-webkit-scrollbar {
  width: 3px;
  height: 5px;
}
*::-webkit-scrollbar-track {
  background: var(--uni-black-100);
}
*::-webkit-scrollbar-thumb {
  background-color: var(--uni-blue-200);
  border-radius: 20px;
}
.uni--select {
  background-color: transparent;
  color: var(--uni-contrast-500);
  border-radius: 2rem;
  border: 1px solid var(--uni-contrast-500);
  min-height: 3.5rem;
  height: 3.5rem;
  position: relative;
  padding: 1rem 1.5rem;
  box-shadow: 0 3px 6px #00000029;
  font-size: 1rem;
}
.uni--select nz-select-placeholder {
  color: var(--uni-grey-300);
}
.uni--select nz-select-top-control {
  border: none !important;
  box-shadow: none !important;
  background-color: transparent !important;
  padding-left: 0 !important;
}
.uni--select nz-select-search {
  left: 0 !important;
}
.uni--select nz-select-item,
.uni--select nz-select-placeholder {
  line-height: 1.5rem !important;
}
.uni--select nz-select-arrow {
  right: 24px;
  color: var(--uni-contrast-500);
  font-size: 1rem;
  vertical-align: 0;
  top: calc(50% - 0.5rem);
  height: 1rem;
  width: 1rem;
  margin-top: 0;
}
.uni--new-select {
  position: relative;
  width: 250px;
  margin-right: 1rem;
  margin-top: 30px;
  font-size: 0.9rem;
}
.uni--new-select[open] {
  z-index: 1;
}
.uni--new-select summary {
  padding: 1rem;
  cursor: pointer;
  border-radius: 5px;
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  background-color: var(--uni-black-400);
  color: var(--uni-grey-200);
  min-height: 2.5rem;
  height: 2.5rem;
  border-radius: 37px;
  border: 1px solid var(--uni-grey-100);
}
.uni--new-select summary::-webkit-details-marker {
  display: none;
}
.uni--new-select[open] summary:before {
  content: '';
  display: block;
  width: 100vw;
  height: 100vh;
  background: transparent;
  position: fixed;
  top: 0;
  left: 0;
}
.uni--new-select summary:after {
  content: '';
  display: inline-block;
  width: 0.5rem;
  height: 0.5rem;
  border-bottom: 2px solid currentColor;
  border-left: 2px solid currentColor;
  border-bottom-left-radius: 2px;
  transform-origin: center center;
  transition: transform ease-in-out 100ms;
  transform: rotate(-45deg) translate(0%, 0%);
}
.uni--new-select summary:focus {
  outline: none;
}
.uni--new-select[open] summary:after {
  transform: rotate(135deg) translate(50%, 0%);
  color: var(--uni-blue-200);
}
.uni--new-select ul {
  width: 100%;
  background: var(--uni-black-100);
  color: var(--uni-grey-300);
  position: absolute;
  top: calc(100% + 0.5rem);
  left: 0;
  margin: 0;
  box-sizing: border-box;
  border-radius: 10px;
  max-height: 200px;
  overflow-y: auto;
  list-style: none;
  padding: 0;
  z-index: 2;
}
.uni--new-select li {
  margin: 0;
  height: 3rem;
  padding: 10px 20px;
}
.uni--new-select li:hover {
  background-color: var(--uni-grey-400);
  color: var(--uni-grey-100);
}
.uni--new-select li:active {
  background-color: var(--uni-blue-200);
  color: var(--uni-grey-100);
}
.nowrap {
  max-width: 100%;
  overflow-x: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.ngx-ui-tour_backdrop {
  pointer-events: none;
}
.switch__container {
  margin: 30px auto;
}
.switch__container .switch {
  visibility: hidden;
  position: absolute;
  margin-left: -9999px;
}
.switch__container .switch + label {
  display: block;
  position: relative;
  cursor: pointer;
  outline: none;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.switch__container .switch--shadow:checked + label:before {
  color: var(--uni-grey-100);
}
.switch__container .switch--shadow:checked + label:after {
  transform: translateX(60px);
}
.switch__container .switch--shadow + label {
  padding: 2px;
  width: 120px;
  height: 60px;
  background-color: #dddddd;
  border-radius: 60px;
}
.switch__container .switch--shadow + label:before,
.switch__container .switch--shadow + label :after {
  display: block;
  position: absolute;
  top: 1px;
  left: 1px;
  bottom: 1px;
  content: "";
}
.switch__container .switch--shadow + label:before {
  right: 1px;
  border-radius: 60px;
  transition: background 0.4s;
}
.switch__container .switch--shadow + label:after {
  width: 62px;
  background-color: #fff;
  border-radius: 100%;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.3);
  transition: all 0.4s;
}
.switch--flat + label {
  padding: 2px;
  width: 200px;
  height: 50px;
  border-radius: 60px;
  transition: background 0.4s;
  font-weight: lighter;
}
.switch--flat + label:before,
.switch--flat + label:after {
  display: block;
  position: absolute;
  content: "";
}
.switch--flat + label:before {
  top: 2px;
  left: 2px;
  bottom: 2px;
  right: 2px;
  background-color: var(--uni-black-400);
  border-radius: 60px;
  transition: background 0.4s;
  display: flex;
  justify-content: space-between;
}
.switch--flat + label:after {
  top: 4px;
  left: 4px;
  bottom: 4px;
  width: 100px;
  background-color: var(--uni-blue-200);
  border-radius: 52px;
  transition: margin 0.4s, background 0.4s;
  content: "Entrar";
  color: var(--uni-grey-100);
  font-size: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.switch--flat:checked + label:after {
  margin-left: 92px;
  background-color: var(--uni-blue-200);
  content: "Registrar";
  color: var(--uni-grey-100);
  display: flex;
  align-items: center;
  justify-content: center;
}
.switch__container label .can-toggle__switch:before {
  left: 100px;
  top: 6px;
  font-size: 12px;
  line-height: 36px;
  width: 100px;
  padding: 0 12px;
}
.switch__container label .can-toggle__switch:after {
  top: 2px;
  left: 2px;
  border-radius: 2px;
  width: 65px;
  line-height: 32px;
  font-size: 14px;
}
.switch__container label .can-toggle__switch:before {
  content: attr(data-checked);
  position: absolute;
  top: 7px;
  text-align: center;
  font-size: 14px;
}
.switch__container label .can-toggle__switch:after {
  content: attr(data-unchecked);
  position: absolute;
  top: 10px;
  left: 20px;
  text-align: center;
  transform: translate3d(0, 0, 0);
}
.tooltip {
  position: relative;
  display: inline-block;
  border-radius: 50%;
  cursor: pointer;
  opacity: 100;
  margin-top: 80px;
}
.tooltip svg {
  width: 20px;
  fill: var(--uni-grey-100);
  margin-left: 50px;
}
.tooltip svg:hover {
  fill: var(--uni-blue-200);
}
.tooltip .tooltiptext {
  visibility: hidden;
  background-color: var(--uni-black-100);
  color: var(--uni-grey-100);
  text-align: left;
  padding: 20px;
  border-radius: 6px;
  min-width: 110px;
  position: absolute;
  z-index: 1;
  bottom: 200%;
  left: 0%;
  opacity: 0;
  transition: opacity 0.3s;
}
.tooltip .tooltiptext::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -5px;
  border-width: 10px;
  border-style: solid;
  border-color: var(--uni-black-100) transparent transparent transparent;
}
.tooltip:hover .tooltiptext {
  visibility: visible;
  opacity: 1;
}
.tag {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #212429;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  min-width: 7rem;
  border-radius: 10px;
  padding: 0.5rem 1rem;
  height: 2.5rem;
  box-shadow: 0 0 20px 2px rgba(0, 0, 0, 0.2);
  margin: 1rem 0;
}
@media (max-width: 900px) {
  .tag {
    margin: 0.2rem 0;
  }
}
.tag--bullet {
  display: block;
  background: #de4242;
  border-radius: 100%;
  margin: 0 1rem 0 0;
  height: 0.5rem;
  width: 0.5rem;
}
.tag--live {
  background: #de4242;
}
.tag--online {
  background: #027BC5;
}
.tag--presential {
  background: #0D0D0D;
}
.tag--title {
  padding: 0;
  margin: 0;
  font-size: small;
}
.tag--title--time {
  padding: 0 1rem;
  margin: 0;
}
.tag--star {
  font-size: small;
}
.ant-rate-star-full path:first-child {
  fill: var(--uni-yellow-100) !important;
}
.ant-rate-star-full path:last-child {
  fill: var(--uni-yellow-100) !important;
}
.ant-rate-star-first path:first-child {
  fill: var(--uni-yellow-100) !important;
}
.ant-rate-star-half path:last-child {
  fill: var(--uni-yellow-100) !important;
}
.ant-rate-star-zero path:first-child {
  display: none !important;
}
.ant-rate-star-zero path:nth-child(2) {
  fill: white !important;
}
.category-icon {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: 0.5rem;
  border-radius: 9px;
  background: transparent linear-gradient(227deg, #F15754 0%, #B7302E 100%) 0% 0% no-repeat padding-box;
}
.category-icon-white {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: 0.5rem;
  border-radius: 9px;
  background: transparent linear-gradient(227deg, var(--uni-grey-200) 0%, var(--uni-grey-300) 100%) 0% 0% no-repeat padding-box;
}
.category-icon-white img {
  filter: invert(50%) brightness(80%);
}
.category-icon-blue {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: 0.5rem;
  border-radius: 9px;
  background: transparent linear-gradient(216deg, #01A9F0 0%, #0357A5 100%) 0% 0% no-repeat padding-box;
}
.category-icon-green {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: 0.5rem;
  border-radius: 9px;
  background: transparent linear-gradient(227deg, #44C18A 0%, #1C704C 100%) 0% 0% no-repeat padding-box;
}
.category-icon-yellow {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: 0.5rem;
  border-radius: 9px;
  background: transparent linear-gradient(227deg, #F9C057 0%, #DB9537 100%) 0% 0% no-repeat padding-box;
}
.category-icon-red {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: 0.5rem;
  border-radius: 9px;
  background: transparent linear-gradient(227deg, #F15754 0%, #B7302E 100%) 0% 0% no-repeat padding-box;
}
.category-icon-purple {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: 0.5rem;
  border-radius: 9px;
  background: transparent linear-gradient(227deg, #BC00F4 0%, #8400AB 100%) 0% 0% no-repeat padding-box;
}
.dropdown {
  position: relative;
  display: inline-block;
  background-color: var(--uni-black-100);
  top: 0;
}
.dropdown button {
  background-color: transparent;
  border: none;
  width: 75px;
  height: 60px;
  padding-top: 5px;
}
.dropdown button .icon--notifications {
  width: 20px;
}
.dropdown button .icon--arrow {
  width: 10px;
}
.dropdown button .user--avatar {
  width: 35px;
  margin-right: 10px;
  border-radius: 50%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media (max-width: 426px) {
  .dropdown button {
    height: 50px;
    width: 50px;
  }
}
.dropdown--notifications {
  border-bottom-left-radius: 20px;
}
.dropdown--notifications button {
  width: 60px;
}
.dropdown--profile {
  border-bottom-right-radius: 20px;
  border-left: 0.5px solid var(--uni-grey-400);
}
.dropdown--icons {
  width: 20px;
  margin-right: 20px;
}
.dropdown-content {
  border-radius: 20px;
  position: absolute;
  right: 0;
  top: 62px;
  background-color: var(--uni-black-100);
  min-width: 200px;
  box-shadow: 0 8px 16px 0 rgba(0, 0, 0, 0.2);
  z-index: 1;
  -webkit-animation: fadeIn 0.3s linear;
          animation: fadeIn 0.3s linear;
}
.dropdown-content a,
.dropdown-content a img {
  opacity: 1 !important;
}
.dropdown-content-notifications {
  padding: 20px;
  min-width: 500px;
  background: #15161a;
  background: linear-gradient(90deg, #15161a 0%, #212429 50%, #15161a 100%);
}
.dropdown-content-notifications--header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 10px;
}
.dropdown-content-notifications--header span {
  font-size: 14px;
}
.dropdown-content-notifications--footer {
  width: 100%;
  text-align: center;
  opacity: 75%;
}
.dropdown-content-notifications--footer span {
  font-size: 14px;
}
.dropdown-content a {
  color: black;
  padding: 12px 16px;
  text-decoration: none;
  display: block;
  opacity: 80%;
  transition: background 0.3s;
  transition-timing-function: linear;
}
.dropdown-content a img {
  opacity: 50%;
}
.dropdown-content a:last-child {
  border-top: 1px solid var(--uni-grey-400);
}
.dropdown-content a:first-child {
  border-radius: 20px 20px 0 0;
}
.dropdown-content a:last-child {
  border-radius: 0 0 20px 20px;
}
.dropdown-content a:hover {
  background-color: var(--uni-grey-400);
  opacity: 90%;
}
.dropdown-content a:hover img {
  opacity: 90%;
}
.dropdown-content a:hover:first-child {
  border-radius: 20px 20px 0 0;
}
.dropdown-content a:hover:last-child {
  border-radius: 0 0 20px 20px;
}
.dropdown:hover .dropbtn {
  background-color: #3e8e41;
}
.uni-notification {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 20px;
  margin-bottom: 8px;
  border-radius: 8px;
}
.uni-notification--content {
  display: flex;
  align-items: center;
}
.uni-notification--content--icon {
  width: 20px;
  margin-right: 20px;
}
.uni-notification--content--text {
  font-size: 17px;
  font-weight: bold;
}
.uni-notification--content--text span {
  font-size: 15px;
  font-weight: normal;
  color: var(--uni-grey-200) !important;
}
.uni-notification--icon {
  width: 30px;
  opacity: 70%;
  cursor: pointer;
}
.uni-notification-type-notification {
  border: 0.5px solid var(--uni-blue-100);
  background: #1d4252;
  background: linear-gradient(90deg, #1d4252 0%, #1f2227 51%, #15161a 100%);
}
.uni-notification-type-notification h3 {
  color: var(--uni-blue-200);
}
.uni-notification-type-success {
  border: 0.5px solid var(--uni-green-100);
  background: #1d523a;
  background: linear-gradient(90deg, #1d523a 0%, #1f2227 51%, #15161a 100%);
}
.uni-notification-type-success h3 {
  color: var(--uni-green-200);
}
.uni-notification-type-error {
  border: 0.5px solid var(--uni-red-100);
  background: #521d1c;
  background: linear-gradient(90deg, #521d1c 0%, #1f2227 51%, #15161a 100%);
}
.uni-notification-type-error h3 {
  color: var(--uni-red-200);
}
.uni-notification-type-warning {
  border: 0.5px solid var(--uni-yellow-100);
  background: #513f1d;
  background: linear-gradient(90deg, #513f1d 0%, #1f2227 51%, #15161a 100%);
}
.uni-notification-type-warning h3 {
  color: var(--uni-yellow-200);
}
:root {
  --uni-light-100: #000000;
  --uni-light-150: #91949b;
  --uni-light-200: #485063;
  --uni-light-250: #313c53;
  --uni-light-400: #283248;
  --uni-light-600: #1e273a;
  --uni-light-750: #222937;
  --uni-light-800: #1b1b1b;
  --uni-contrast-300: #c3c3c3;
  --uni-contrast-500: #ffffff;
  --uni-primary-contrast-500: #ffffff;
  --uni-primary-400: #01a8ec;
  --uni-primary-800: #004479;
  --uni-primary-900: #033a65;
  --uni-black-500: #101010;
  --uni-black-400: #15161a;
  --uni-black-100: #212429;
  --uni-grey-400: #495057;
  --uni-grey-300: #acb5bd;
  --uni-grey-200: #dde2e5;
  --uni-grey-100: #f8f9fa;
  --uni-blue-400: #0357a5;
  --uni-blue-200: #01a9f0;
  --uni-blue-100: #469ec3;
  --uni-yellow-400: #db7d00;
  --uni-yellow-200: #f9a200;
  --uni-yellow-100: #f9c057;
  --uni-purple-400: #8400ab;
  --uni-purple-200: #bc00f4;
  --uni-green-400: #017040;
  --uni-green-200: #00c16d;
  --uni-green-100: #44c18a80;
  --uni-red-400: #b72a28;
  --uni-red-200: #f15754;
  --uni-red-100: #f1575480;
}

/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL25vZGVfbW9kdWxlcy9uZy16b3Jyby1hbnRkL3N0eWxlL2NvcmUvYmFzZS5sZXNzIiwiZGFyay5sZXNzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL25nLXpvcnJvLWFudGQvc3JjL3N0eWxlL2NvbG9yL3RpbnlDb2xvci5sZXNzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL25nLXpvcnJvLWFudGQvc3R5bGUvbWl4aW5zL3NpemUubGVzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9uZy16b3Jyby1hbnRkL3N0eWxlL2NvcmUvZ2xvYmFsLmxlc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvbmctem9ycm8tYW50ZC9zdHlsZS9taXhpbnMvY2xlYXJmaXgubGVzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9uZy16b3Jyby1hbnRkL3N0eWxlL21peGlucy9pY29uZm9udC5sZXNzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL25nLXpvcnJvLWFudGQvc3R5bGUvY29yZS9pY29uZm9udC5sZXNzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL25nLXpvcnJvLWFudGQvc3R5bGUvbWl4aW5zL21vdGlvbi5sZXNzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL25nLXpvcnJvLWFudGQvc3R5bGUvY29yZS9tb3Rpb24vZmFkZS5sZXNzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL25nLXpvcnJvLWFudGQvc3R5bGUvY29yZS9tb3Rpb24vbW92ZS5sZXNzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL25nLXpvcnJvLWFudGQvc3R5bGUvY29yZS9tb3Rpb24vb3RoZXIubGVzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9uZy16b3Jyby1hbnRkL3N0eWxlL2NvcmUvbW90aW9uL3NsaWRlLmxlc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvbmctem9ycm8tYW50ZC9zdHlsZS9jb3JlL21vdGlvbi96b29tLmxlc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvbmctem9ycm8tYW50ZC9zdHlsZS9jb3JlL21vdGlvbi5sZXNzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL25nLXpvcnJvLWFudGQvc3R5bGUvcGF0Y2gubGVzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9uZy16b3Jyby1hbnRkL2J1dHRvbi9zdHlsZS9pbmRleC5sZXNzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL25nLXpvcnJvLWFudGQvYnV0dG9uL3N0eWxlL21peGluLmxlc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvbmctem9ycm8tYW50ZC9idXR0b24vc3R5bGUvcnRsLmxlc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvbmctem9ycm8tYW50ZC9zdHlsZS9taXhpbnMvcmVzZXQubGVzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9uZy16b3Jyby1hbnRkL3NwaW4vc3R5bGUvaW5kZXgubGVzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9uZy16b3Jyby1hbnRkL3NwaW4vc3R5bGUvcnRsLmxlc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvbmctem9ycm8tYW50ZC9zcGluL3N0eWxlL3BhdGNoLmxlc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvbmctem9ycm8tYW50ZC9pbnB1dC9zdHlsZS9hZmZpeC5sZXNzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL25nLXpvcnJvLWFudGQvaW5wdXQvc3R5bGUvbWl4aW4ubGVzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9uZy16b3Jyby1hbnRkL3N0eWxlL21peGlucy9jb21wYXRpYmlsaXR5Lmxlc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvbmctem9ycm8tYW50ZC9pbnB1dC9zdHlsZS9ydGwubGVzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9uZy16b3Jyby1hbnRkL2lucHV0L3N0eWxlL2FsbG93LWNsZWFyLmxlc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvbmctem9ycm8tYW50ZC9pbnB1dC9zdHlsZS9pbmRleC5sZXNzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL25nLXpvcnJvLWFudGQvaW5wdXQvc3R5bGUvc2VhcmNoLWlucHV0Lmxlc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvbmctem9ycm8tYW50ZC9pbnB1dC9zdHlsZS9JRTExLmxlc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvbmctem9ycm8tYW50ZC9pbnB1dC9zdHlsZS9wYXRjaC5sZXNzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL25nLXpvcnJvLWFudGQvY2hlY2tib3gvc3R5bGUvbWl4aW4ubGVzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9uZy16b3Jyby1hbnRkL2NoZWNrYm94L3N0eWxlL3J0bC5sZXNzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL25nLXpvcnJvLWFudGQvY2hlY2tib3gvc3R5bGUvcGF0Y2gubGVzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9uZy16b3Jyby1hbnRkL3N0eWxlL21peGlucy9jdXN0b21pemUubGVzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9uZy16b3Jyby1hbnRkL25vdGlmaWNhdGlvbi9zdHlsZS9pbmRleC5sZXNzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL25nLXpvcnJvLWFudGQvbm90aWZpY2F0aW9uL3N0eWxlL3J0bC5sZXNzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL25nLXpvcnJvLWFudGQvcmF0ZS9zdHlsZS9pbmRleC5sZXNzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL25nLXpvcnJvLWFudGQvcmF0ZS9zdHlsZS9ydGwubGVzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9uZy16b3Jyby1hbnRkL3Rvb2x0aXAvc3R5bGUvaW5kZXgubGVzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9uZy16b3Jyby1hbnRkL3Rvb2x0aXAvc3R5bGUvcnRsLmxlc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvbmctem9ycm8tYW50ZC90b29sdGlwL3N0eWxlL3BhdGNoLmxlc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvbmctem9ycm8tYW50ZC9zbGlkZXIvc3R5bGUvaW5kZXgubGVzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9uZy16b3Jyby1hbnRkL3NsaWRlci9zdHlsZS9ydGwubGVzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9uZy16b3Jyby1hbnRkL3N0eWxlL21peGlucy9tb2RhbC1tYXNrLmxlc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvbmctem9ycm8tYW50ZC9tb2RhbC9zdHlsZS9tb2RhbC5sZXNzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL25nLXpvcnJvLWFudGQvc3R5bGUvbWl4aW5zL2JveC5sZXNzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL25nLXpvcnJvLWFudGQvbW9kYWwvc3R5bGUvY29uZmlybS5sZXNzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL25nLXpvcnJvLWFudGQvbW9kYWwvc3R5bGUvcnRsLmxlc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvbmctem9ycm8tYW50ZC9zZWxlY3Qvc3R5bGUvc2luZ2xlLmxlc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvbmctem9ycm8tYW50ZC9zZWxlY3Qvc3R5bGUvbXVsdGlwbGUubGVzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9uZy16b3Jyby1hbnRkL3NlbGVjdC9zdHlsZS9pbmRleC5sZXNzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL25nLXpvcnJvLWFudGQvc2VsZWN0L3N0eWxlL3J0bC5sZXNzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL25nLXpvcnJvLWFudGQvZW1wdHkvc3R5bGUvaW5kZXgubGVzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9uZy16b3Jyby1hbnRkL2VtcHR5L3N0eWxlL3J0bC5sZXNzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL25nLXpvcnJvLWFudGQvZW1wdHkvc3R5bGUvcGF0Y2gubGVzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9uZy16b3Jyby1hbnRkL3NlbGVjdC9zdHlsZS9wYXRjaC5sZXNzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL25nLXpvcnJvLWFudGQvYWxlcnQvc3R5bGUvaW5kZXgubGVzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9uZy16b3Jyby1hbnRkL2FsZXJ0L3N0eWxlL3J0bC5sZXNzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL25nLXpvcnJvLWFudGQvYWxlcnQvc3R5bGUvcGF0Y2gubGVzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9uZy16b3Jyby1hbnRkL2Nhcm91c2VsL3N0eWxlL2luZGV4Lmxlc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvbmctem9ycm8tYW50ZC9jYXJvdXNlbC9zdHlsZS9ydGwubGVzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9uZy16b3Jyby1hbnRkL2Nhcm91c2VsL3N0eWxlL3BhdGNoLmxlc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvbmctem9ycm8tYW50ZC9wb3BvdmVyL3N0eWxlL2luZGV4Lmxlc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvbmctem9ycm8tYW50ZC9wb3BvdmVyL3N0eWxlL3J0bC5sZXNzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL25nLXpvcnJvLWFudGQvcG9wb3Zlci9zdHlsZS9wYXRjaC5sZXNzIiwiY29tcG9uZW50cy9ibG9ja3F1b3RlLmxlc3MiLCJjb21wb25lbnRzL2J1dHRvbnMubGVzcyIsImNvbXBvbmVudHMvbmV3LWJ1dHRvbnMubGVzcyIsImNvbXBvbmVudHMvY2Fyb3VzZWwubGVzcyIsImNvbXBvbmVudHMvaW5wdXQubGVzcyIsImNvbXBvbmVudHMvbmV3LWlucHV0cy5sZXNzIiwiY29tcG9uZW50cy9jaGVja2JveC5sZXNzIiwiY29tcG9uZW50cy9uZXctY2hlY2tib3gubGVzcyIsImNvbXBvbmVudHMvY29sb3JzLmxlc3MiLCJjb21wb25lbnRzL2ZpZWxkc2V0Lmxlc3MiLCJjb21wb25lbnRzL2Zvcm0ubGVzcyIsImNvbXBvbmVudHMvaGVhZGVyLmxlc3MiLCJjb21wb25lbnRzL2hyLmxlc3MiLCJjb21wb25lbnRzL2lubmVyLWh0bWwubGVzcyIsImNvbXBvbmVudHMvbGluay5sZXNzIiwiY29tcG9uZW50cy9tb2RhbC5sZXNzIiwiY29tcG9uZW50cy9uYXYubGVzcyIsImNvbXBvbmVudHMvcHJvZ3Jlc3MubGVzcyIsImNvbXBvbmVudHMvc2Nyb2xsLmxlc3MiLCJjb21wb25lbnRzL3NlbGVjdC5sZXNzIiwiY29tcG9uZW50cy9uZXctc2VsZWN0Lmxlc3MiLCJjb21wb25lbnRzL3RleHQubGVzcyIsImNvbXBvbmVudHMvdG91ci5sZXNzIiwiY29tcG9uZW50cy90b2dnbGUubGVzcyIsImNvbXBvbmVudHMvdG9vbHRpcC5sZXNzIiwiY29tcG9uZW50cy90YWcubGVzcyIsImNvbXBvbmVudHMvY2F0ZWdvcnktaWNvbi5sZXNzIiwiY29tcG9uZW50cy9kcm9wZG93bi5sZXNzIiwiY29tcG9uZW50cy9ub3RpZmljYXRpb24ubGVzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJRTs7Ozs7O0VBR0UsYUFBQTtBQ0FKO0FER0U7Ozs7Ozs7O0VBSUUsc0JBQUE7QUNHSjtBQUNBLHlDQUF5QztBQ2xCeEM7O0VDR0MsV0FBQTtFQUNBLFlBQUE7QUZtQkY7QUdQQTs7RUFFRSxhQUFBO0FIU0Y7QUdJQTs7O0VBR0Usc0JBQUE7QUhGRjtBQ2hDQztFRXNDQyx1QkFBQTtFQUNBLGlCQUFBO0VBQ0EsOEJBQUE7RUFDQSwwQkFBQTtFQUNBLDZCQUFBO0VBQ0EsNkNBQUE7QUhIRjtBR2dCQTtFQUNFLFNBQUE7RUFDQSw4QkFBQTtFQUNBLGVBQUE7RUFDQSxrTUFBQTtFQUNBLDBCQUFBO0VBQ0EsbUJBQUE7RUFDQSxzQkFBQTtFQUNBLDZCQUFBO0FIWEY7QUdtQkE7RUFDRSx3QkFBQTtBSGpCRjtBR3lCQTtFQUNFLHVCQUFBO0VBQ0EsU0FBQTtFQUNBLGlCQUFBO0FIdkJGO0FHa0NBOzs7Ozs7RUFNRSxhQUFBO0VBQ0Esb0JBQUE7RUFDQSxnQ0FBQTtFQUNBLGdCQUFBO0FIaENGO0FHdUNBO0VBQ0UsYUFBQTtFQUNBLGtCQUFBO0FIckNGO0FHK0NBOztFQUdFLDBCQUFBO0VBQ0EseUNBQUE7VUFBQSxpQ0FBQTtFQUNBLGdCQUFBO0VBQ0EsWUFBQTtBSDlDRjtBR2lEQTtFQUNFLGtCQUFBO0VBQ0Esa0JBQUE7RUFDQSxvQkFBQTtBSC9DRjtBR2tEQTs7OztFQUlFLHdCQUFBO0FIaERGO0FHbURBOzs7RUFHRSxhQUFBO0VBQ0Esa0JBQUE7QUhqREY7QUdvREE7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QUNFLDRCQUFBO0lBQ0EscUJBQUE7SUFDQSxVQUFBO0VUeWZGO0VTdmZBO0lBQ0UseUJBQUE7SUFDQSxxQkFBQTtJQUNBLFVBQUE7RVR5ZkY7QUFDRjtBU3RmQTtFQUNFO0lBQ0UseUJBQUE7SUFDQSxxQkFBQTtJQUNBLFVBQUE7RVR3ZkY7RVN0ZkE7SUFDRSw0QkFBQTtJQUNBLHFCQUFBO0lBQ0EsVUFBQTtFVHdmRjtBQUNGO0FTbGdCQTtFQUNFO0lBQ0UseUJBQUE7SUFDQSxxQkFBQTtJQUNBLFVBQUE7RVR3ZkY7RVN0ZkE7SUFDRSw0QkFBQTtJQUNBLHFCQUFBO0lBQ0EsVUFBQTtFVHdmRjtBQUNGO0FTcmZBO0VBQ0U7SUFDRSwyQkFBQTtJQUNBLHFCQUFBO0lBQ0EsVUFBQTtFVHVmRjtFU3JmQTtJQUNFLHlCQUFBO0lBQ0EscUJBQUE7SUFDQSxVQUFBO0VUdWZGO0FBQ0Y7QVNqZ0JBO0VBQ0U7SUFDRSwyQkFBQTtJQUNBLHFCQUFBO0lBQ0EsVUFBQTtFVHVmRjtFU3JmQTtJQUNFLHlCQUFBO0lBQ0EscUJBQUE7SUFDQSxVQUFBO0VUdWZGO0FBQ0Y7QVNwZkE7RUFDRTtJQUNFLHlCQUFBO0lBQ0EscUJBQUE7SUFDQSxVQUFBO0VUc2ZGO0VTcGZBO0lBQ0UsMkJBQUE7SUFDQSxxQkFBQTtJQUNBLFVBQUE7RVRzZkY7QUFDRjtBU2hnQkE7RUFDRTtJQUNFLHlCQUFBO0lBQ0EscUJBQUE7SUFDQSxVQUFBO0VUc2ZGO0VTcGZBO0lBQ0UsMkJBQUE7SUFDQSxxQkFBQTtJQUNBLFVBQUE7RVRzZkY7QUFDRjtBU25mQTtFQUNFO0lBQ0UsNEJBQUE7SUFDQSxxQkFBQTtJQUNBLFVBQUE7RVRxZkY7RVNuZkE7SUFDRSx5QkFBQTtJQUNBLHFCQUFBO0lBQ0EsVUFBQTtFVHFmRjtBQUNGO0FTL2ZBO0VBQ0U7SUFDRSw0QkFBQTtJQUNBLHFCQUFBO0lBQ0EsVUFBQTtFVHFmRjtFU25mQTtJQUNFLHlCQUFBO0lBQ0EscUJBQUE7SUFDQSxVQUFBO0VUcWZGO0FBQ0Y7QVNsZkE7RUFDRTtJQUNFLHlCQUFBO0lBQ0Es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Q0Y7RVlyakNBO0lBQ0UscUJBQUE7SUFDQSxVQUFBO0VadWpDRjtBQUNGO0FZcGpDQTtFQUNFO0lBQ0UscUJBQUE7SUFDQSx3QkFBQTtJQUNBLFVBQUE7RVpzakNGO0VZcGpDQTtJQUNFLG1CQUFBO0lBQ0Esd0JBQUE7RVpzakNGO0FBQ0Y7QVkvakNBO0VBQ0U7SUFDRSxxQkFBQTtJQUNBLHdCQUFBO0lBQ0EsVUFBQTtFWnNqQ0Y7RVlwakNBO0lBQ0UsbUJBQUE7SUFDQSx3QkFBQTtFWnNqQ0Y7QUFDRjtBWW5qQ0E7RUFDRTtJQUNFLG1CQUFBO0lBQ0Esd0JBQUE7RVpxakNGO0VZbmpDQTtJQUNFLHFCQUFBO0lBQ0Esd0JBQUE7SUFDQSxVQUFBO0VacWpDRjtBQUNGO0FZOWpDQTtFQUNFO0lBQ0UsbUJBQUE7SUFDQSx3QkFBQTtFWnFqQ0Y7RVluakNBO0lBQ0UscUJBQUE7SUFDQSx3QkFBQTtJQUNBLFVBQUE7RVpxakNGO0FBQ0Y7QVlsakNBO0VBQ0U7SUFDRSxxQkFBQTtJQUNBLHdCQUFBO0lBQ0EsVUFBQTtFWm9qQ0Y7RVlsakNBO0lBQ0UsbUJBQUE7SUFDQSx3QkFBQTtFWm9qQ0Y7QUFDRjtBWTdqQ0E7RUFDRTtJQUNFLHFCQUFBO0lBQ0Esd0JBQUE7SUFDQSxVQUFBO0Vab2pDRjtFWWxqQ0E7SUFDRSxtQkFBQTtJQUNBLHdCQUFBO0Vab2pDRjtBQUNGO0FZampDQTtFQUNFO0lBQ0UsbUJBQUE7SUFDQSx3QkFBQTtFWm1qQ0Y7RVlqakNBO0lBQ0UscUJBQUE7SUFDQSx3QkFBQTtJQUNBLFVBQUE7RVptakNGO0FBQ0Y7QVk1akNBO0VBQ0U7SUFDRSxtQkFBQTtJQUNBLHdCQUFBO0VabWpDRjtFWWpqQ0E7SUFDRSxxQkFBQTtJQUNBLHdCQUFBO0lBQ0EsVUFBQTtFWm1qQ0Y7QUFDRjtBWWhqQ0E7RUFDRTtJQUNFLHFCQUFBO0lBQ0EsMEJBQUE7SUFDQSxVQUFBO0Vaa2pDRjtFWWhqQ0E7SUFDRSxtQkFBQTtJQUNBLDBCQUFBO0Vaa2pDRjtBQUNGO0FZM2pDQTtFQUNFO0lBQ0UscUJBQUE7SUFDQSww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ZXY4RUU7RUFDRSxrQkFBQTtBZnk4RUo7QWV4OEVJO0VBQ0Usb0JBQUE7QWYwOEVOO0FldjhFSTtFQUNFLGNBQUE7QWZ5OEVOO0FlcjhFRTtFQUNFLHlEQUFBO0FmdThFSjtBZXg4RUU7RUFJSSxrQkFBQTtFQUNBLHVCQUFBO1VBQUEsZUFBQTtBZnU4RU47QWU1OEVFO0VBUU0sbURBQUE7VUFBQSwyQ0FBQTtBZnU4RVI7QWVuOEVJO0VBRUksZ0JBQUE7QWZvOEVSO0FlLzdFRTtFQ2hCQSxrQkFBQTtFQUNBLG9CQUFBO0FoQms5RUY7QWVuOEVFOztFQ1pFLGtCQUFBO0FoQm05RUo7QWdCbDlFSTs7Ozs7O0VBR0UsVUFBQTtBaEJ1OUVOO0FnQnI5RUk7O0VBQ0UsVUFBQTtBaEJ3OUVOO0FlbjlFRTtFQ0RFLGVBQUE7QWhCdTlFSjtBQ3RvRkM7O0VlT0MsWUFBQTtFQUNBLG1CQUFBO0VBQ0EsZUFBQTtFQUNBLGdCQUFBO0FoQm1vRkY7QUM3b0ZDO0VDR0MsV0FBQTtFQUNBLFlBQUE7RWNvTEUsZ0JBQUE7RUFDQSxlQUFBO0FoQjA5RUo7QUNucEZDOztFZU9DLFlBQUE7RUFDQSxnQkFBQTtFQUNBLGVBQUE7RUFDQSxnQkFBQTtBaEJncEZGO0FDMXBGQzs7RWUrTEssZUFBQTtBaEIrOUVOO0FDOXBGQztFQ0dDLFdBQUE7RUFDQSxZQUFBO0VjZ01FLGdCQUFBO0VBQ0EsZUFBQTtBaEIrOUVKO0FlcC9FRTs7Ozs7OztFQ3FSRSxpQkFBQTtBaEJ3dUVKO0FlNy9FRTtFQ3dSRSw4QkFBQTtBaEJ3dUVKO0FlaGdGRTtFQzJSRSxnQkFBQTtBaEJ3dUVKO0FlbmdGRTs7RUMrUkUsY0FBQTtBaEJ3dUVKO0FldmdGRTtFQ2tTRSxrQkFBQTtBaEJ3dUVKO0FlMWdGRTtFQ3FTRSxrQkFBQTtBaEJ3dUVKO0FlN2dGRTs7RUN5U0UsMkJBQUE7RUFDQSw4QkFBQTtBaEJ3dUVKO0FlbGhGRTs7RUM4U0UsNEJBQUE7RUFDQSwrQkFBQTtBaEJ3dUVKO0FnQnR1RUU7RUFFSSxrQkFBQTtBaEJ1dUVOO0FnQnp1RUU7RUFLSSxrQkFB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O0FJNXdIRTtFQUVFLGNBQUE7RUFDQSxXQUFBO0VBQ0EsV0FBQTtBSjZ3SEo7QXVCaC9HTTs7O0VBQ0UsdUJBQUE7QXZCby9HUjtBdUJsL0dROzs7RUFDRSxVQUFBO0F2QnMvR1Y7QXVCbi9HUTs7O0VBQ0UsVUFBQTtBdkJ1L0dWO0F1QmwvR0k7RUFDRSxxQkFBQTtFQUNBLFdBQUE7RUFDQSxtQkFBQTtFQUNBLGdCQUFBO0F2Qm8vR047QUM5eUhDO0VzQjhUSyxvQkFBQTtBdkJtL0dOO0FDanpIQztFc0JrVUssb0JBQUE7QXZCay9HTjtBdUIvK0dJO0VBQ0Usa0JBQUE7RUFDQSx1QkFBQTtBdkJpL0dOO0F1QnRoSEU7RUEwQ0ksV0FBQTtBdkIrK0dOO0FDM3pIQzs7OztFc0JvVkssdUJBQUE7RUFDQSxnQkFBQTtBdkI2K0dOO0F1QjMrR007Ozs7RUFDRSxVQUFBO0F2QmcvR1I7QXVCNytHTTs7OztFQUNFLFVBQUE7QXZCay9HUjtBQzkwSEM7RXNCaVdLLFVBQUE7QXZCZy9HTjtBQ2oxSEM7RXNCc1dLLFVBQUE7QXZCOCtHTjtBQ3AxSEM7Ozs7RXNCNldLLDJCQUFBO0VBQ0EsOEJBQUE7QXZCNitHTjtBQzMxSEM7Ozs7RXNCcVhLLHVCQUFBO0VBQ0EsNEJBQUE7RUFDQSwrQkFBQTtBdkI0K0dOO0FDbjJIQztFc0I0WEssbUJBQUE7QXZCMCtHTjtBdUJwa0hFO0VBOEZJLGlCQUFBO0F2QnkrR047QXVCdmtIRTtFQWdHTSxnQkFBQTtBdkIwK0dSO0FDNTJIQztFc0J5WVMsZ0JBQUE7QXZCcytHVjtBQy8ySEM7RXNCNllTLDBCQUFBO0F2QnErR1Y7QTJCdDJIRTs7RUY2RUUsMEJBQUE7QXpCNnhISjtBQ3QzSEM7RXdCOEZLLCtCQUFBO0VBQ0EsY0FBQTtBekIyeEhOO0FDMTNIQztFd0JxR0ssZUFBQTtFQUNBLDhCQUFBO0F6Qnd4SE47QUM5M0hDOztFd0I2R0ssMEJBQUE7QXpCcXhITjtBQ2w0SEM7RXdCb0hPLDBCQUFBO0F6Qml4SFI7QUNyNEhDO0V3QjBITywwQkFBQTtBekI4d0hSO0FDeDRIQztFd0Jr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OEI2TUssMENBQUE7RUFDQSxzQ0FBQTtBL0I0aklOO0FDMXdJQztFK0JJRyxjQUFBO0FoQ3l3SUo7QUM3d0lDO0UrQlVPLGVBQUE7RUFDQSxnQkFBQTtBaENzd0lSO0FDanhJQztFK0JlUyx5QkFBQTtBaENxd0lWO0FDcHhJQztFK0JxQk8sZ0JBQUE7QWhDa3dJUjtBaUN0eElFO0VBQ0UsYUFBQTtBakN3eElKO0FDMXhJQzs7Ozs7O0VpQzRCSyx5QkFBQTtBbENzd0lOO0FrQ2p3SVE7RUFDRSxtQkFBQTtFQUNBLGdDQUFBO0FsQ213SVY7QWtDandJUTtFQUNFLDJDQUFBO0FsQ213SVY7QWtDN3ZJTTs7RUFHSSxtQkFBQTtBbEM4dklWO0FDN3lJQztFaUN1RFcseUJBQUE7RUFDQSxnQ0FBQTtBbEN5dklaO0FDanpJQztFaUM4REsseUJBQUE7QWxDc3ZJTjtBQ3B6SUM7RWlDZ0VPLHlCQUFBO0FsQ3V2SVI7QUN2eklDOztFaUNzRVcsZ0NBQUE7QWxDcXZJWjtBQzN6SUM7RWlDNkVXLHlCQUFBO0VBQ0EsZ0NBQUE7QWxDaXZJWjtBQy96SUM7RWlDcUZXLGdDQUFBO0FsQzZ1SVo7QUNsMElDOztFaUN3RmEseUJBQUE7QWxDOHVJZDtBQ3QwSUM7RWlDNkZhLG1CQUFBO0FsQzR1SWQ7QUN6MElDO0VpQ29HUyx5QkFBQTtBbEN3dUlWO0FDNTBJQzs7OztFaUM0R1MsK0JBQUE7QWxDc3VJVjtBQ2wxSUM7RWlDaUhTLCtCQUFBO0FsQ291SVY7QUNyMUlDO0VpQ3dIYSxnQ0FBQTtBbENndUlkO0FDeDFJQztFaUMrSFMseUJBQUE7QWxDNHRJVjtBa0N2dElVO0VBQ0UsK0JBQUE7QWxDeXRJWjtBQzkxSUM7RWlDMElTLHlCQUFBO0FsQ3V0SVY7QUNqMklDO0VpQzhJTyx5QkFBQTtBbENzdElSO0FDcDJJQztFaUNtSksseUJBQUE7QWxDb3RJTjtBQ3YySUM7RWlDcUpPLHlCQUFBO0FsQ3F0SVI7QUMxMklDO0VpQ3VKUyw2QkFBQTtBbENzdElWO0FDNzJJQztFaUM4Sk8seUJBQUE7RUFDQSxnQ0FBQTtBbENrdElSO0Fr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dm5KTTtFQUNFLHlCQUFBO0F2Q3luSlI7QUMvekpDO0VzQ2tNSyx5QkFBQTtBdkNnb0pOO0F1QzduSk07RUFDRSx5QkFBQTtBdkMrbkpSO0FDcjBKQztFc0NrTUsseUJBQUE7QXZDc29KTjtBdUNub0pNO0VBQ0UseUJBQUE7QXZDcW9KUjtBQzMwSkM7RXNDa01LLHlCQUFBO0F2QzRvSk47QXVDem9KTTtFQUNFLHlCQUFBO0F2QzJvSlI7QUNqMUpDO0VzQ2tNSyx5QkFBQTtBdkNrcEpOO0F1Qy9vSk07RUFDRSx5QkFBQTtBdkNpcEpSO0FDdjFKQztFc0NrTUsseUJBQUE7QXZDd3BKTjtBdUNycEpNO0VBQ0UseUJBQUE7QXZDdXBKUjtBQzcxSkM7RXNDa01LLHlCQUFBO0F2QzhwSk47QXVDM3BKTTtFQUNFLHlCQUFBO0F2QzZwSlI7QUNuMkpDO0VzQ2tNSyx5QkFBQTtBdkNvcUpOO0F1Q2pxSk07RUFDRSx5QkFBQTtBdkNtcUpSO0FDejJKQztFc0NrTUsseUJBQUE7QXZDMHFKTjtBdUN2cUpNO0VBQ0UseUJBQUE7QXZDeXFKUjtBQy8ySkM7RXNDa01LLHlCQUFBO0F2Q2dySk47QXVDN3FKTTtFQUNFLHlCQUFBO0F2QytxSlI7QUNyM0pDO0VzQ2tNSyx5QkFBQTtBdkNzckpOO0F1Q25ySk07RUFDRSx5QkFBQTtBdkNxckpSO0FDMzNKQztFc0NrTUsseUJBQUE7QXZDNHJKTjtBdUN6ckpNO0VBQ0UseUJBQUE7QXZDMnJKUjtBQ2o0SkM7RXNDa01LLHlCQUFBO0F2Q2tzSk47QXVDL3JKTTtFQUNFLHlCQUFBO0F2Q2lzSlI7QXdDbjRKRTtFQUNFLGNBQUE7QXhDcTRKSjtBQzE0SkM7RXVDVUssaUJBQUE7QXhDbTRKTjtBeUM3NEpBO0VBQ0Usa0JBQUE7QXpDKzRKRjtBQ2g1SkM7RWlCR0Msc0JBQUE7RUFDQSxTQUFBO0VBQ0EsVUFBQTtFQUNBLDhCQUFBO0VBQ0EsZUFBQTtFQUNBLDBCQUFBO0VBQ0EsbUJBQUE7RUFDQSxnQkFBQTtFQUNBLDZCQUFBO0V3QkhBLGtCQUFBO0VBQ0EsWUFBQTtFQUNBLHFCQUFB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QSxlQUFBO0VBQ0EsZ0JBQUE7QS9DMHZLTjtBK0Nud0tFO0VBYUksZUFBQTtFQUNBLDhCQUFBO0VBQ0EsZUFBQTtBL0N5dktOO0ErQ3h3S0U7RUFtQkksV0FBQTtFQUNBLGtCQUFBO0VBQ0EsZUFBQTtBL0N3dktOO0ErQzd3S0U7RUF5Qk0saUJBQUE7QS9DdXZLUjtBQ2p5S0M7RThDZ0RHLFlBQUE7RUFDQSxnQkFBQTtBL0NvdktKO0FDcnlLQztFOENvREssZ0JBQUE7RUFDQSxnQkFBQTtBL0NvdktOO0FDenlLQztFOEMwREcsY0FBQTtBL0NrdktKO0FDNXlLQzs7RThDK0RHLGNBQUE7QS9DaXZLSjtBQ2h6S0M7RThDbUVHLGNBQUE7QS9DZ3ZLSjtBQ256S0M7RThDdUVHLGNBQUE7QS9DK3VLSjtBQ3R6S0M7Ozs7OztFaUM0QksseUJBQUE7QWxDa3lLTjtBa0M3eEtRO0VBQ0UsbUJBQUE7RUFDQSxnQ0FBQTtBbEMreEtWO0FrQzd4S1E7RUFDRSwyQ0FBQTtBbEMreEtWO0FrQ3p4S007O0VBR0ksbUJBQUE7QWxDMHhLVjtBQ3owS0M7RWlDdURXLHlCQUFBO0VBQ0EsZ0NBQUE7QWxDcXhLWjtBQzcwS0M7RWlDOERLLHlCQUFBO0FsQ2t4S047QUNoMUtDO0VpQ2dFTyx5QkFBQTtBbENteEtSO0FDbjFLQzs7RWlDc0VXLGdDQUFBO0FsQ2l4S1o7QUN2MUtDO0VpQzZFVyx5QkFBQTtFQUNBLGdDQUFBO0FsQzZ3S1o7QUMzMUtDO0VpQ3FGVyxnQ0FBQTtBbEN5d0taO0FDOTFLQzs7RWlDd0ZhLHlCQUFBO0FsQzB3S2Q7QUNsMktDO0VpQzZGYSxtQkFBQTtBbEN3d0tkO0FDcjJLQztFaUNvR1MseUJBQUE7QWxDb3dLVjtBQ3gyS0M7Ozs7RWlDNEdTLCtCQUFBO0FsQ2t3S1Y7QUM5MktDO0VpQ2lIUywrQkFBQTtBbENnd0tWO0FDajNLQztFaUN3SGEsZ0NBQUE7QWxDNHZLZDtBQ3AzS0M7RWlDK0hTLHlCQUFBO0FsQ3d2S1Y7QWtDbnZLVTtFQUNFLCtCQUFBO0FsQ3F2S1o7QUMxM0tDO0VpQzBJUyx5QkFBQTtBbENtdktWO0FDNzNLQztFaUM4SU8seUJBQUE7QWxDa3ZLUjtBQ2g0S0M7RWlDbUpLLHlCQUFBO0FsQ2d2S047QUNuNEtDO0VpQ3FKTyx5QkFBQTtBbENpdktSO0FDdDRLQztFaUN1SlMsNkJBQUE7QWxDa3ZLVjtBQ3o0S0M7RWlDOEpPLHlCQUFBO0VBQ0EsZ0NBQUE7QWxDOHVLUjtBa0N6dUtNO0VBQ0UsNkJBQUE7QWxDMnVLUjtBa0N0dUtNO0VBRUksbUJBQUE7QWxDdXVLVjtBZ0QxNEtJO0VBQ0UsY0FBQTtBaEQ0NEtOO0FDdDVLQztFK0NnQkssY0FBQTtFQUNBLE9BQUE7QWhEeTRLTjtBQzE1S0M7RStDdUJLLGdCQUFBO0FoRHM0S047QUM3NUtDO0UrQzJCTyxpQkFBQTtFQUNBLGNBQUE7QWhEcTRLUjtBQ2o2S0M7RStDb0NPLGNBQUE7QWhEZzRLUjtBQ3A2S0M7RStDd0NTLFlBQUE7RUFDQSxlQUFBO0VBQ0EsaUJBQUE7QWhEKzNLVjtBQ3o2S0M7RStDOENXLGtCQUFBO0VBQ0EsY0FBQTtBaEQ4M0taO0FDNzZLQztFK0NzRE8sV0FBQTtBaEQwM0tSO0FDaDdLQztFK0MwRFMsaUJBQUE7RUFDQSxjQUFBO0FoRHkzS1Y7QUNwN0tDO0UrQ3FFSyxpQkFBQTtBaERrM0tOO0FDdjdLQztFZ0RPRyxhQUFBO0FqRG03S0o7QUMxN0tDO0VnRFVLLGtCQUFBO0VBQ0EsTUFBQTtFQUNBLFdBQUE7RUFDQSxTQUFBO0VBQ0EsVUFBQTtBakRtN0tOO0FpRGo3S007RUFDRSxXQUFBO0FqRG03S1I7QUNwOEtDOztFZ0R1QkssVUFBQTtFQUNBLGlCQUFBO0VBQ0Esb0JBQUE7QWpEaTdLTjtBaUQ5NktNO0VBQUE7O0lBRUksaUJBQUE7RWpEaTdLUjtBQUNGO0FDaDlLQztFZ0RvQ0ssa0JBQUE7RUFDQSx5QkFBQTtLQUFBLHNCQUFBO1VBQUEsaUJBQUE7QWpEKzZLTjtBQ3A5S0M7RWdEeUNLLG9CQUFBO0FqRDg2S047QUN2OUtDOzs7RWdEa0RLLHFCQUFBO0VBQ0EsUUFBQTtFQUNBLGtCQUFBO0VBQ0EsY0FBQTtBakQw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NC9QTjtBQWpqUUE7RUFDRSx3QkFBQTtFQUNBLHdCQUFBO0VBQ0Esd0JBQUE7RUFDQSx3QkFBQTtFQUNBLHdCQUFBO0VBQ0Esd0JBQUE7RUFDQSx3QkFBQTtFQUNBLHdCQUFBO0VBRUEsMkJBQUE7RUFDQSwyQkFBQTtFQUNBLG1DQUFBO0VBRUEsMEJBQUE7RUFDQSwwQkFBQTtFQUNBLDBCQUFBO0VBRUEsd0JBQUE7RUFDQSx3QkFBQTtFQUNBLHdCQUFBO0VBQ0EsdUJBQUE7RUFDQSx1QkFBQTtFQUNBLHVCQUFBO0VBQ0EsdUJBQUE7RUFDQSx1QkFBQTtFQUNBLHVCQUFBO0VBQ0EsdUJBQUE7RUFDQSx5QkFBQTtFQUNBLHlCQUFBO0VBQ0EseUJBQUE7RUFDQSx5QkFBQTtFQUNBLHlCQUFBO0VBQ0Esd0JBQUE7RUFDQSx3QkFBQTtFQUNBLDBCQUFBO0VBQ0Esc0JBQUE7RUFDQSxzQkFBQTtFQUNBLHdCQUFBO0FBZ2pRRiIsImZpbGUiOiJkYXJrLmxlc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb25maWcgZ2xvYmFsIGxlc3MgdW5kZXIgYW50ZFxuW2NsYXNzXj1+J0B7YW50LXByZWZpeH0tJ10sXG5bY2xhc3MqPX4nIEB7YW50LXByZWZpeH0tJ10ge1xuICAvLyByZW1vdmUgdGhlIGNsZWFyIGJ1dHRvbiBvZiBhIHRleHQgaW5wdXQgY29udHJvbCBpbiBJRTEwK1xuICAmOjotbXMtY2xlYXIsXG4gIGlucHV0OjotbXMtY2xlYXIsXG4gIGlucHV0OjotbXMtcmV2ZWFsIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgJixcbiAgKixcbiAgKjo6YmVmb3JlLFxuICAqOjphZnRlciB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLy8gMVxuICB9XG59XG4iLCJAaW1wb3J0IFwifm5vZGVfbW9kdWxlcy9uZy16b3Jyby1hbnRkL3N0eWxlL2VudHJ5XCI7XG5AaW1wb3J0IFwifm5vZGVfbW9kdWxlcy9uZy16b3Jyby1hbnRkL2J1dHRvbi9zdHlsZS9lbnRyeVwiO1xuQGltcG9ydCBcIn5ub2RlX21vZHVsZXMvbmctem9ycm8tYW50ZC9zcGluL3N0eWxlL2VudHJ5XCI7XG5AaW1wb3J0IFwifm5vZGVfbW9kdWxlcy9uZy16b3Jyby1hbnRkL2lucHV0L3N0eWxlL2VudHJ5XCI7XG5AaW1wb3J0IFwifm5vZGVfbW9kdWxlcy9uZy16b3Jyby1hbnRkL2ljb24vc3R5bGUvZW50cnlcIjtcbkBpbXBvcnQgXCJ+bm9kZV9tb2R1bGVzL25nLXpvcnJvLWFudGQvY2hlY2tib3gvc3R5bGUvZW50cnlcIjtcbkBpbXBvcnQgXCJ+bm9kZV9tb2R1bGVzL25nLXpvcnJvLWFudGQvbm90aWZpY2F0aW9uL3N0eWxlL2VudHJ5XCI7XG5AaW1wb3J0IFwifm5vZGVfbW9kdWxlcy9uZy16b3Jyby1hbnRkL3JhdGUvc3R5bGUvZW50cnlcIjtcbkBpbXBvcnQgXCJ+bm9kZV9tb2R1bGVzL25nLXpvcnJvLWFudGQvc2xpZGVyL3N0eWxlL2VudHJ5XCI7XG5AaW1wb3J0IFwifm5vZGVfbW9kdWxlcy9uZy16b3Jyby1hbnRkL21vZGFsL3N0eWxlL2VudHJ5XCI7XG5AaW1wb3J0IFwifm5vZGVfbW9kdWxlcy9uZy16b3Jyby1hbnRkL3NlbGVjdC9zdHlsZS9lbnRyeVwiO1xuQGltcG9ydCBcIn5ub2RlX21vZHVsZXMvbmctem9ycm8tYW50ZC9hbGVydC9zdHlsZS9lbnRyeVwiO1xuQGltcG9ydCBcIn5ub2RlX21vZHVsZXMvbmctem9ycm8tYW50ZC9jYXJvdXNlbC9zdHlsZS9lbnRyeVwiO1xuQGltcG9ydCBcIn5ub2RlX21vZHVsZXMvbmctem9ycm8tYW50ZC9wb3BvdmVyL3N0eWxlL2VudHJ5XCI7XG5AaW1wb3J0IFwiLi90aGVtZXMvZGFya1wiO1xuXG5AaW1wb3J0IFwiY29tcG9uZW50cy9pbmRleFwiO1xuXG46cm9vdCB7XG4gIC0tdW5pLWxpZ2h0LTEwMDogIzAwMDAwMDtcbiAgLS11bmktbGlnaHQtMTUwOiAjOTE5NDliO1xuICAtLXVuaS1saWdodC0yMDA6ICM0ODUwNjM7XG4gIC0tdW5pLWxpZ2h0LTI1MDogIzMxM2M1MztcbiAgLS11bmktbGlnaHQtNDAwOiAjMjgzMjQ4O1xuICAtLXVuaS1saWdodC02MDA6ICMxZTI3M2E7XG4gIC0tdW5pLWxpZ2h0LTc1MDogIzIyMjkzNztcbiAgLS11bmktbGlnaHQtODAwOiAjMWIxYjFiO1xuXG4gIC0tdW5pLWNvbnRyYXN0LTMwMDogI2MzYzNjMztcbiAgLS11bmktY29udHJhc3QtNTAwOiAjZmZmZmZmO1xuICAtLXVuaS1wcmltYXJ5LWNvbnRyYXN0LTUwMDogI2ZmZmZmZjtcblxuICAtLXVuaS1wcmltYXJ5LTQwMDogIzAxYThlYztcbiAgLS11bmktcHJpbWFyeS04MDA6ICMwMDQ0Nzk7XG4gIC0tdW5pLXByaW1hcnktOTAwOiAjMDMzYTY1O1xuXG4gIC0tdW5pLWJsYWNrLTUwMDogIzEwMTAxMDtcbiAgLS11bmktYmxhY2stNDAwOiAjMTUxNjFhO1xuICAtLXVuaS1ibGFjay0xMDA6ICMyMTI0Mjk7XG4gIC0tdW5pLWdyZXktNDAwOiAjNDk1MDU3O1xuICAtLXVuaS1ncmV5LTMwMDogI2FjYjViZDtcbiAgLS11bmktZ3JleS0yMDA6ICNkZGUyZTU7XG4gIC0tdW5pLWdyZXktMTAwOiAjZjhmOWZhO1xuICAtLXVuaS1ibHVlLTQwMDogIzAzNTdhNTtcbiAgLS11bmktYmx1ZS0yMDA6ICMwMWE5ZjA7XG4gIC0tdW5pLWJsdWUtMTAwOiAjNDY5ZWMzO1xuICAtLXVuaS15ZWxsb3ctNDAwOiAjZGI3ZDAwO1xuICAtLXVuaS15ZWxsb3ctMjAwOiAjZjlhMjAwO1xuICAtLXVuaS15ZWxsb3ctMTAwOiAjZjljMDU3O1xuICAtLXVuaS1wdXJwbGUtNDAwOiAjODQwMGFiO1xuICAtLXVuaS1wdXJwbGUtMjAwOiAjYmMwMGY0O1xuICAtLXVuaS1ncmVlbi00MDA6ICMwMTcwNDA7XG4gIC0tdW5pLWdyZWVuLTIwMDogIzAwYzE2ZDtcbiAgLS11bmktZ3JlZW4tMTAwOiAjNDRjMThhODA7XG4gIC0tdW5pLXJlZC00MDA6ICNiNzJhMjg7XG4gIC0tdW5pLXJlZC0yMDA6ICNmMTU3NTQ7XG4gIC0tdW5pLXJlZC0xMDA6ICNmMTU3NTQ4MDtcbn1cbiIsIi8qIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLWJhbmctc3BhY2UtYmVmb3JlLG5vLWR1cGxpY2F0ZS1zZWxlY3RvcnMsc3RyaW5nLW5vLW5ld2xpbmUgKi9cbi50aW55Q29sb3JNaXhpbigpIHtcbkBmdW5jdGlvbnM6IH5gKGZ1bmN0aW9uKCkge1xuLy8gVGlueUNvbG9yIHYxLjQuMVxuLy8gaHR0cHM6Ly9naXRodWIuY29tL2Jncmlucy9UaW55Q29sb3Jcbi8vIDIwMTYtMDctMDcsIEJyaWFuIEdyaW5zdGVhZCwgTUlUIExpY2Vuc2VcbnZhciB0cmltTGVmdCA9IC9eXFxzKy8sXG4gICAgdHJpbVJpZ2h0ID0gL1xccyskLyxcbiAgICB0aW55Q291bnRlciA9IDAsXG4gICAgbWF0aFJvdW5kID0gTWF0aC5yb3VuZCxcbiAgICBtYXRoTWluID0gTWF0aC5taW4sXG4gICAgbWF0aE1heCA9IE1hdGgubWF4LFxuICAgIG1hdGhSYW5kb20gPSBNYXRoLnJhbmRvbTtcblxuZnVuY3Rpb24gdGlueWNvbG9yIChjb2xvciwgb3B0cykge1xuXG4gICAgY29sb3IgPSAoY29sb3IpID8gY29sb3IgOiAnJztcbiAgICBvcHRzID0gb3B0cyB8fCB7IH07XG5cbiAgICAvLyBJZiBpbnB1dCBpcyBhbHJlYWR5IGEgdGlueWNvbG9yLCByZXR1cm4gaXRzZWxmXG4gICAgaWYgKGNvbG9yIGluc3RhbmNlb2YgdGlueWNvbG9yKSB7XG4gICAgICAgcmV0dXJuIGNvbG9yO1xuICAgIH1cbiAgICAvLyBJZiB3ZSBhcmUgY2FsbGVkIGFzIGEgZnVuY3Rpb24sIGNhbGwgdXNpbmcgbmV3IGluc3RlYWRcbiAgICBpZiAoISh0aGlzIGluc3RhbmNlb2YgdGlueWNvbG9yKSkge1xuICAgICAgICByZXR1cm4gbmV3IHRpbnljb2xvcihjb2xvciwgb3B0cyk7XG4gICAgfVxuXG4gICAgdmFyIHJnYiA9IGlucHV0VG9SR0IoY29sb3IpO1xuICAgIHRoaXMuX29yaWdpbmFsSW5wdXQgPSBjb2xvcixcbiAgICB0aGlzLl9yID0gcmdiLnIsXG4gICAgdGhpcy5fZyA9IHJnYi5nLFxuICAgIHRoaXMuX2IgPSByZ2IuYixcbiAgICB0aGlzLl9hID0gcmdiLmEsXG4gICAgdGhpcy5fcm91bmRBID0gbWF0aFJvdW5kKDEwMCp0aGlzLl9hKSAvIDEwMCxcbiAgICB0aGlzLl9mb3JtYXQgPSBvcHRzLmZvcm1hdCB8fCByZ2IuZm9ybWF0O1xuICAgIHRoaXMuX2dyYWRpZW50VHlwZSA9IG9wdHMuZ3JhZGllbnRUeXBlO1xuXG4gICAgLy8gRG9uJ3QgbGV0IHRoZSByYW5nZSBvZiBbMCwyNTVdIGNvbWUgYmFjayBpbiBbMCwxXS5cbiAgICAvLyBQb3RlbnRpYWxseSBsb3NlIGEgbGl0dGxlIGJpdCBvZiBwcmVjaXNpb24gaGVyZSwgYnV0IHdpbGwgZml4IGlzc3VlcyB3aGVyZVxuICAgIC8vIC41IGdldHMgaW50ZXJwcmV0ZWQgYXMgaGFsZiBvZiB0aGUgdG90YWwsIGluc3RlYWQgb2YgaGFsZiBvZiAxXG4gICAgLy8gSWYgaXQgd2FzIHN1cHBvc2VkIHRvIGJlIDEyOCwgdGhpcyB3YXMgYWxyZWFkeSB0YWtlbiBjYXJlIG9mIGJ5IGlucHV0VG9SZ2JcbiAgICBpZiAodGhpcy5fciA8IDEpIHsgdGhpcy5fciA9IG1hdGhSb3VuZCh0aGlzLl9yKTsgfVxuICAgIGlmICh0aGlzLl9nIDwgMSkgeyB0aGlzLl9nID0gbWF0aFJvdW5kKHRoaXMuX2cpOyB9XG4gICAgaWYgKHRoaXMuX2IgPCAxKSB7IHRoaXMuX2IgPSBtYXRoUm91bmQodGhpcy5fYik7IH1cblxuICAgIHRoaXMuX29rID0gcmdiLm9rO1xuICAgIHRoaXMuX3RjX2lkID0gdGlueUNvdW50ZXIrKztcbn1cblxudGlueWNvbG9yLnByb3RvdHlwZSA9IHtcbiAgICBpc0Rhcms6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRCcmlnaHRuZXNzKCkgPCAxMjg7XG4gICAgfSxcbiAgICBpc0xpZ2h0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuICF0aGlzLmlzRGFyaygpO1xuICAgIH0sXG4gICAgaXNWYWxpZDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9vaztcbiAgICB9LFxuICAgIGdldE9yaWdpbmFsSW5wdXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgcmV0dXJuIHRoaXMuX29yaWdpbmFsSW5wdXQ7XG4gICAgfSxcbiAgICBnZXRGb3JtYXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fZm9ybWF0O1xuICAgIH0sXG4gICAgZ2V0QWxwaGE6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fYTtcbiAgICB9LFxuICAgIGdldEJyaWdodG5lc3M6IGZ1bmN0aW9uKCkge1xuICAgICAgICAvL2h0dHA6Ly93d3cudzMub3JnL1RSL0FFUlQjY29sb3ItY29udHJhc3RcbiAgICAgICAgdmFyIHJnYiA9IHRoaXMudG9SZ2IoKTtcbiAgICAgICAgcmV0dXJuIChyZ2IuciAqIDI5OSArIHJnYi5nICogNTg3ICsgcmdiLmIgKiAxMTQpIC8gMTAwMDtcbiAgICB9LFxuICAgIGdldEx1bWluYW5jZTogZnVuY3Rpb24oKSB7XG4gICAgICAgIC8vaHR0cDovL3d3dy53My5vcmcvVFIvMjAwOC9SRUMtV0NBRzIwLTIwMDgxMjExLyNyZWxhdGl2ZWx1bWluYW5jZWRlZlxuICAgICAgICB2YXIgcmdiID0gdGhpcy50b1JnYigpO1xuICAgICAgICB2YXIgUnNSR0IsIEdzUkdCLCBCc1JHQiwgUiwgRywgQjtcbiAgICAgICAgUnNSR0IgPSByZ2Iuci8yNTU7XG4gICAgICAgIEdzUkdCID0gcmdiLmcvMjU1O1xuICAgICAgICBCc1JHQiA9IHJnYi5iLzI1NTtcblxuICAgICAgICBpZiAoUnNSR0IgPD0gMC4wMzkyOCkge1IgPSBSc1JHQiAvIDEyLjkyO30gZWxzZSB7UiA9IE1hdGgucG93KCgoUnNSR0IgKyAwLjA1NSkgLyAxLjA1NSksIDIuNCk7fVxuICAgICAgICBpZiAoR3NSR0IgPD0gMC4wMzkyOCkge0cgPSBHc1JHQiAvIDEyLjkyO30gZWxzZSB7RyA9IE1hdGgucG93KCgoR3NSR0IgKyAwLjA1NSkgLyAxLjA1NSksIDIuNCk7fVxuICAgICAgICBpZiAoQnNSR0IgPD0gMC4wMzkyOCkge0IgPSBCc1JHQiAvIDEyLjkyO30gZWxzZSB7QiA9IE1hdGgucG93KCgoQnNSR0IgKyAwLjA1NSkgLyAxLjA1NSksIDIuNCk7fVxuICAgICAgICByZXR1cm4gKDAuMjEyNiAqIFIpICsgKDAuNzE1MiAqIEcpICsgKDAuMDcyMiAqIEIpO1xuICAgIH0sXG4gICAgc2V0QWxwaGE6IGZ1bmN0aW9uKHZhbHVlKSB7XG4gICAgICAgIHRoaXMuX2EgPSBib3VuZEFscGhhKHZhbHVlKTtcbiAgICAgICAgdGhpcy5fcm91bmRBID0gbWF0aFJvdW5kKDEwMCp0aGlzLl9hKSAvIDEwMDtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfSxcbiAgICB0b0hzdjogZnVuY3Rpb24oKSB7XG4gICAgICAgIHZhciBoc3YgPSByZ2JUb0hzdih0aGlzLl9yLCB0aGlzLl9nLCB0aGlzLl9iKTtcbiAgICAgICAgcmV0dXJuIHsgaDogaHN2LmggKiAzNjAsIHM6IGhzdi5zLCB2OiBoc3YudiwgYTogdGhpcy5fYSB9O1xuICAgIH0sXG4gICAgdG9Ic3ZTdHJpbmc6IGZ1bmN0aW9uKCkge1xuICAgICAgICB2YXIgaHN2ID0gcmdiVG9Ic3YodGhpcy5fciwgdGhpcy5fZywgdGhpcy5fYik7XG4gICAgICAgIHZhciBoID0gbWF0aFJvdW5kKGhzdi5oICogMzYwKSwgcyA9IG1hdGhSb3VuZChoc3YucyAqIDEwMCksIHYgPSBtYXRoUm91bmQoaHN2LnYgKiAxMDApO1xuICAgICAgICByZXR1cm4gKHRoaXMuX2EgPT0gMSkgP1xuICAgICAgICAgIFwiaHN2KFwiICArIGggKyBcIiwgXCIgKyBzICsgXCIlLCBcIiArIHYgKyBcIiUpXCIgOlxuICAgICAgICAgIFwiaHN2YShcIiArIGggKyBcIiwgXCIgKyBzICsgXCIlLCBcIiArIHYgKyBcIiUsIFwiKyB0aGlzLl9yb3VuZEEgKyBcIilcIjtcbiAgICB9LFxuICAgIHRvSHNsOiBmdW5jdGlvbigpIHtcbiAgICAgICAgdmFyIGhzbCA9IHJnYlRvSHNsKHRoaXMuX3IsIHRoaXMuX2csIHRoaXMuX2IpO1xuICAgICAgICByZXR1cm4geyBoOiBoc2wuaCAqIDM2MCwgczogaHNsLnMsIGw6IGhzbC5sLCBhOiB0aGlzLl9hIH07XG4gICAgfSxcbiAgICB0b0hzbFN0cmluZzogZnVuY3Rpb24oKSB7XG4gICAgICAgIHZhciBoc2wgPSByZ2JUb0hzbCh0aGlzLl9yLCB0aGlzLl9nLCB0aGlzLl9iKTtcbiAgICAgICAgdmFyIGggPSBtYXRoUm91bmQoaHNsLmggKiAzNjApLCBzID0gbWF0aFJvdW5kKGhzbC5zICogMTAwKSwgbCA9IG1hdGhSb3VuZChoc2wubCAqIDEwMCk7XG4gICAgICAgIHJldHVybiAodGhpcy5fYSA9PSAxKSA/XG4gICAgICAgICAgXCJoc2woXCIgICsgaCArIFwiLCBcIiArIHMgKyBcIiUsIFwiICsgbCArIFwiJSlcIiA6XG4gICAgICAgICAgXCJoc2xhKFwiICsgaCArIFwiLCBcIiArIHMgKyBcIiUsIFwiICsgbCArIFwiJSwgXCIrIHRoaXMuX3JvdW5kQSArIFwiKVwiO1xuICAgIH0sXG4gICAgdG9IZXg6IGZ1bmN0aW9uKGFsbG93M0NoYXIpIHtcbiAgICAgICAgcmV0dXJuIHJnYlRvSGV4KHRoaXMuX3IsIHRoaXMuX2csIHRoaXMuX2IsIGFsbG93M0NoYXIpO1xuICAgIH0sXG4gICAgdG9IZXhTdHJpbmc6IGZ1bmN0aW9uKGFsbG93M0NoYXIpIHtcbiAgICAgICAgcmV0dXJuICcjJyArIHRoaXMudG9IZXgoYWxsb3czQ2hhcik7XG4gICAgfSxcbiAgICB0b0hleDg6IGZ1bmN0aW9uKGFsbG93NENoYXIpIHtcbiAgICAgICAgcmV0dXJuIHJnYmFUb0hleCh0aGlzLl9yLCB0aGlzLl9nLCB0aGlzLl9iLCB0aGlzLl9hLCBhbGxvdzRDaGFyKTtcbiAgICB9LFxuICAgIHRvSGV4OFN0cmluZzogZnVuY3Rpb24oYWxsb3c0Q2hhcikge1xuICAgICAgICByZXR1cm4gJyMnICsgdGhpcy50b0hleDgoYWxsb3c0Q2hhcik7XG4gICAgfSxcbiAgICB0b1JnYjogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiB7IHI6IG1hdGhSb3VuZCh0aGlzLl9yKSwgZzogbWF0aFJvdW5kKHRoaXMuX2cpLCBiOiBtYXRoUm91bmQodGhpcy5fYiksIGE6IHRoaXMuX2EgfTtcbiAgICB9LFxuICAgIHRvUmdiU3RyaW5nOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuICh0aGlzLl9hID09IDEpID9cbiAgICAgICAgICBcInJnYihcIiAgKyBtYXRoUm91bmQodGhpcy5fcikgKyBcIiwgXCIgKyBtYXRoUm91bmQodGhpcy5fZykgKyBcIiwgXCIgKyBtYXRoUm91bmQodGhpcy5fYikgKyBcIilcIiA6XG4gICAgICAgICAgXCJyZ2JhKFwiICsgbWF0aFJvdW5kKHRoaXMuX3IpICsgXCIsIFwiICsgbWF0aFJvdW5kKHRoaXMuX2cpICsgXCIsIFwiICsgbWF0aFJvdW5kKHRoaXMuX2IpICsgXCIsIFwiICsgdGhpcy5fcm91bmRBICsgXCIpXCI7XG4gICAgfSxcbiAgICB0b1BlcmNlbnRhZ2VSZ2I6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4geyByOiBtYXRoUm91bmQoYm91bmQwMSh0aGlzLl9yLCAyNTUpICogMTAwKSArIFwiJVwiLCBnOiBtYXRoUm91bmQoYm91bmQwMSh0aGlzLl9nLCAyNTUpICogMTAwKSArIFwiJVwiLCBiOiBtYXRoUm91bmQoYm91bmQwMSh0aGlzLl9iLCAyNTUpICogMTAwKSArIFwiJVwiLCBhOiB0aGlzLl9hIH07XG4gICAgfSxcbiAgICB0b1BlcmNlbnRhZ2VSZ2JTdHJpbmc6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gKHRoaXMuX2EgPT0gMSkgP1xuICAgICAgICAgIFwicmdiKFwiICArIG1hdGhSb3VuZChib3VuZDAxKHRoaXMuX3IsIDI1NSkgKiAxMDApICsgXCIlLCBcIiArIG1hdGhSb3VuZChib3VuZDAxKHRoaXMuX2csIDI1NSkgKiAxMDApICsgXCIlLCBcIiArIG1hdGhSb3VuZChib3VuZDAxKHRoaXMuX2IsIDI1NSkgKiAxMDApICsgXCIlKVwiIDpcbiAgICAgICAgICBcInJnYmEoXCIgKyBtYXRoUm91bmQoYm91bmQwMSh0aGlzLl9yLCAyNTUpICogMTAwKSArIFwiJSwgXCIgKyBtYXRoUm91bmQoYm91bmQwMSh0aGlzLl9nLCAyNTUpICogMTAwKSArIFwiJSwgXCIgKyBtYXRoUm91bmQoYm91bmQwMSh0aGlzLl9iLCAyNTUpICogMTAwKSArIFwiJSwgXCIgKyB0aGlzLl9yb3VuZEEgKyBcIilcIjtcbiAgICB9LFxuICAgIHRvTmFtZTogZnVuY3Rpb24oKSB7XG4gICAgICAgIGlmICh0aGlzLl9hID09PSAwKSB7XG4gICAgICAgICAgICByZXR1cm4gXCJ0cmFuc3BhcmVudFwiO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuX2EgPCAxKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gaGV4TmFtZXNbcmdiVG9IZXgodGhpcy5fciwgdGhpcy5fZywgdGhpcy5fYiwgdHJ1ZSldIHx8IGZhbHNlO1xuICAgIH0sXG4gICAgdG9GaWx0ZXI6IGZ1bmN0aW9uKHNlY29uZENvbG9yKSB7XG4gICAgICAgIHZhciBoZXg4U3RyaW5nID0gJyMnICsgcmdiYVRvQXJnYkhleCh0aGlzLl9yLCB0aGlzLl9nLCB0aGlzLl9iLCB0aGlzLl9hKTtcbiAgICAgICAgdmFyIHNlY29uZEhleDhTdHJpbmcgPSBoZXg4U3RyaW5nO1xuICAgICAgICB2YXIgZ3JhZGllbnRUeXBlID0gdGhpcy5fZ3JhZGllbnRUeXBlID8gXCJHcmFkaWVudFR5cGUgPSAxLCBcIiA6IFwiXCI7XG5cbiAgICAgICAgaWYgKHNlY29uZENvbG9yKSB7XG4gICAgICAgICAgICB2YXIgcyA9IHRpbnljb2xvcihzZWNvbmRDb2xvcik7XG4gICAgICAgICAgICBzZWNvbmRIZXg4U3RyaW5nID0gJyMnICsgcmdiYVRvQXJnYkhleChzLl9yLCBzLl9nLCBzLl9iLCBzLl9hKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBcInByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChcIitncmFkaWVudFR5cGUrXCJzdGFydENvbG9yc3RyPVwiK2hleDhTdHJpbmcrXCIsZW5kQ29sb3JzdHI9XCIrc2Vjb25kSGV4OFN0cmluZytcIilcIjtcbiAgICB9LFxuICAgIHRvU3RyaW5nOiBmdW5jdGlvbihmb3JtYXQpIHtcbiAgICAgICAgdmFyIGZvcm1hdFNldCA9ICEhZm9ybWF0O1xuICAgICAgICBmb3JtYXQgPSBmb3JtYXQgfHwgdGhpcy5fZm9ybWF0O1xuXG4gICAgICAgIHZhciBmb3JtYXR0ZWRTdHJpbmcgPSBmYWxzZTtcbiAgICAgICAgdmFyIGhhc0FscGhhID0gdGhpcy5fYSA8IDEgJiYgdGhpcy5fYSA+PSAwO1xuICAgICAgICB2YXIgbmVlZHNBbHBoYUZvcm1hdCA9ICFmb3JtYXRTZXQgJiYgaGFzQWxwaGEgJiYgKGZvcm1hdCA9PT0gXCJoZXhcIiB8fCBmb3JtYXQgPT09IFwiaGV4NlwiIHx8IGZvcm1hdCA9PT0gXCJoZXgzXCIgfHwgZm9ybWF0ID09PSBcImhleDRcIiB8fCBmb3JtYXQgPT09IFwiaGV4OFwiIHx8IGZvcm1hdCA9PT0gXCJuYW1lXCIpO1xuXG4gICAgICAgIGlmIChuZWVkc0FscGhhRm9ybWF0KSB7XG4gICAgICAgICAgICAvLyBTcGVjaWFsIGNhc2UgZm9yIFwidHJhbnNwYXJlbnRcIiwgYWxsIG90aGVyIG5vbi1hbHBoYSBmb3JtYXRzXG4gICAgICAgICAgICAvLyB3aWxsIHJldHVybiByZ2JhIHdoZW4gdGhlcmUgaXMgdHJhbnNwYXJlbmN5LlxuICAgICAgICAgICAgaWYgKGZvcm1hdCA9PT0gXCJuYW1lXCIgJiYgdGhpcy5fYSA9PT0gMCkge1xuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnRvTmFtZSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHRoaXMudG9SZ2JTdHJpbmcoKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZm9ybWF0ID09PSBcInJnYlwiKSB7XG4gICAgICAgICAgICBmb3JtYXR0ZWRTdHJpbmcgPSB0aGlzLnRvUmdiU3RyaW5nKCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGZvcm1hdCA9PT0gXCJwcmdiXCIpIHtcbiAgICAgICAgICAgIGZvcm1hdHRlZFN0cmluZyA9IHRoaXMudG9QZXJjZW50YWdlUmdiU3RyaW5nKCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGZvcm1hdCA9PT0gXCJoZXhcIiB8fCBmb3JtYXQgPT09IFwiaGV4NlwiKSB7XG4gICAgICAgICAgICBmb3JtYXR0ZWRTdHJpbmcgPSB0aGlzLnRvSGV4U3RyaW5nKCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGZvcm1hdCA9PT0gXCJoZXgzXCIpIHtcbiAgICAgICAgICAgIGZvcm1hdHRlZFN0cmluZyA9IHRoaXMudG9IZXhTdHJpbmcodHJ1ZSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGZvcm1hdCA9PT0gXCJoZXg0XCIpIHtcbiAgICAgICAgICAgIGZvcm1hdHRlZFN0cmluZyA9IHRoaXMudG9IZXg4U3RyaW5nKHRydWUpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChmb3JtYXQgPT09IFwiaGV4OFwiKSB7XG4gICAgICAgICAgICBmb3JtYXR0ZWRTdHJpbmcgPSB0aGlzLnRvSGV4OFN0cmluZygpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChmb3JtYXQgPT09IFwibmFtZVwiKSB7XG4gICAgICAgICAgICBmb3JtYXR0ZWRTdHJpbmcgPSB0aGlzLnRvTmFtZSgpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChmb3JtYXQgPT09IFwiaHNsXCIpIHtcbiAgICAgICAgICAgIGZvcm1hdHRlZFN0cmluZyA9IHRoaXMudG9Ic2xTdHJpbmcoKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZm9ybWF0ID09PSBcImhzdlwiKSB7XG4gICAgICAgICAgICBmb3JtYXR0ZWRTdHJpbmcgPSB0aGlzLnRvSHN2U3RyaW5nKCk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZm9ybWF0dGVkU3RyaW5nIHx8IHRoaXMudG9IZXhTdHJpbmcoKTtcbiAgICB9LFxuICAgIGNsb25lOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHRpbnljb2xvcih0aGlzLnRvU3RyaW5nKCkpO1xuICAgIH0sXG5cbiAgICBfYXBwbHlNb2RpZmljYXRpb246IGZ1bmN0aW9uKGZuLCBhcmdzKSB7XG4gICAgICAgIHZhciBjb2xvciA9IGZuLmFwcGx5KG51bGwsIFt0aGlzXS5jb25jYXQoW10uc2xpY2UuY2FsbChhcmdzKSkpO1xuICAgICAgICB0aGlzLl9yID0gY29sb3IuX3I7XG4gICAgICAgIHRoaXMuX2cgPSBjb2xvci5fZztcbiAgICAgICAgdGhpcy5fYiA9IGNvbG9yLl9iO1xuICAgICAgICB0aGlzLnNldEFscGhhKGNvbG9yLl9hKTtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfSxcbiAgICBsaWdodGVuOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwcGx5TW9kaWZpY2F0aW9uKGxpZ2h0ZW4sIGFyZ3VtZW50cyk7XG4gICAgfSxcbiAgICBicmlnaHRlbjogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcHBseU1vZGlmaWNhdGlvbihicmlnaHRlbiwgYXJndW1lbnRzKTtcbiAgICB9LFxuICAgIGRhcmtlbjogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcHBseU1vZGlmaWNhdGlvbihkYXJrZW4sIGFyZ3VtZW50cyk7XG4gICAgfSxcbiAgICBkZXNhdHVyYXRlOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwcGx5TW9kaWZpY2F0aW9uKGRlc2F0dXJhdGUsIGFyZ3VtZW50cyk7XG4gICAgfSxcbiAgICBzYXR1cmF0ZTogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcHBseU1vZGlmaWNhdGlvbihzYXR1cmF0ZSwgYXJndW1lbnRzKTtcbiAgICB9LFxuICAgIGdyZXlzY2FsZTogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcHBseU1vZGlmaWNhdGlvbihncmV5c2NhbGUsIGFyZ3VtZW50cyk7XG4gICAgfSxcbiAgICBzcGluOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwcGx5TW9kaWZpY2F0aW9uKHNwaW4sIGFyZ3VtZW50cyk7XG4gICAgfSxcblxuICAgIF9hcHBseUNvbWJpbmF0aW9uOiBmdW5jdGlvbihmbiwgYXJncykge1xuICAgICAgICByZXR1cm4gZm4uYXBwbHkobnVsbCwgW3RoaXNdLmNvbmNhdChbXS5zbGljZS5jYWxsKGFyZ3MpKSk7XG4gICAgfSxcbiAgICBhbmFsb2dvdXM6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBwbHlDb21iaW5hdGlvbihhbmFsb2dvdXMsIGFyZ3VtZW50cyk7XG4gICAgfSxcbiAgICBjb21wbGVtZW50OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwcGx5Q29tYmluYXRpb24oY29tcGxlbWVudCwgYXJndW1lbnRzKTtcbiAgICB9LFxuICAgIG1vbm9jaHJvbWF0aWM6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBwbHlDb21iaW5hdGlvbihtb25vY2hyb21hdGljLCBhcmd1bWVudHMpO1xuICAgIH0sXG4gICAgc3BsaXRjb21wbGVtZW50OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwcGx5Q29tYmluYXRpb24oc3BsaXRjb21wbGVtZW50LCBhcmd1bWVudHMpO1xuICAgIH0sXG4gICAgdHJpYWQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBwbHlDb21iaW5hdGlvbih0cmlhZCwgYXJndW1lbnRzKTtcbiAgICB9LFxuICAgIHRldHJhZDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcHBseUNvbWJpbmF0aW9uKHRldHJhZCwgYXJndW1lbnRzKTtcbiAgICB9XG59O1xuXG4vLyBJZiBpbnB1dCBpcyBhbiBvYmplY3QsIGZvcmNlIDEgaW50byBcIjEuMFwiIHRvIGhhbmRsZSByYXRpb3MgcHJvcGVybHlcbi8vIFN0cmluZyBpbnB1dCByZXF1aXJlcyBcIjEuMFwiIGFzIGlucHV0LCBzbyAxIHdpbGwgYmUgdHJlYXRlZCBhcyAxXG50aW55Y29sb3IuZnJvbVJhdGlvID0gZnVuY3Rpb24oY29sb3IsIG9wdHMpIHtcbiAgICBpZiAodHlwZW9mIGNvbG9yID09IFwib2JqZWN0XCIpIHtcbiAgICAgICAgdmFyIG5ld0NvbG9yID0ge307XG4gICAgICAgIGZvciAodmFyIGkgaW4gY29sb3IpIHtcbiAgICAgICAgICAgIGlmIChjb2xvci5oYXNPd25Qcm9wZXJ0eShpKSkge1xuICAgICAgICAgICAgICAgIGlmIChpID09PSBcImFcIikge1xuICAgICAgICAgICAgICAgICAgICBuZXdDb2xvcltpXSA9IGNvbG9yW2ldO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgbmV3Q29sb3JbaV0gPSBjb252ZXJ0VG9QZXJjZW50YWdlKGNvbG9yW2ldKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgY29sb3IgPSBuZXdDb2xvcjtcbiAgICB9XG5cbiAgICByZXR1cm4gdGlueWNvbG9yKGNvbG9yLCBvcHRzKTtcbn07XG5cbi8vIEdpdmVuIGEgc3RyaW5nIG9yIG9iamVjdCwgY29udmVydCB0aGF0IGlucHV0IHRvIFJHQlxuLy8gUG9zc2libGUgc3RyaW5nIGlucHV0czpcbi8vXG4vLyAgICAgXCJyZWRcIlxuLy8gICAgIFwiI2YwMFwiIG9yIFwiZjAwXCJcbi8vICAgICBcIiNmZjAwMDBcIiBvciBcImZmMDAwMFwiXG4vLyAgICAgXCIjZmYwMDAwMDBcIiBvciBcImZmMDAwMDAwXCJcbi8vICAgICBcInJnYiAyNTUgMCAwXCIgb3IgXCJyZ2IgKDI1NSwgMCwgMClcIlxuLy8gICAgIFwicmdiIDEuMCAwIDBcIiBvciBcInJnYiAoMSwgMCwgMClcIlxuLy8gICAgIFwicmdiYSAoMjU1LCAwLCAwLCAxKVwiIG9yIFwicmdiYSAyNTUsIDAsIDAsIDFcIlxuLy8gICAgIFwicmdiYSAoMS4wLCAwLCAwLCAxKVwiIG9yIFwicmdiYSAxLjAsIDAsIDAsIDFcIlxuLy8gICAgIFwiaHNsKDAsIDEwMCUsIDUwJSlcIiBvciBcImhzbCAwIDEwMCUgNTAlXCJcbi8vICAgICBcImhzbGEoMCwgMTAwJSwgNTAlLCAxKVwiIG9yIFwiaHNsYSAwIDEwMCUgNTAlLCAxXCJcbi8vICAgICBcImhzdigwLCAxMDAlLCAxMDAlKVwiIG9yIFwiaHN2IDAgMTAwJSAxMDAlXCJcbi8vXG5mdW5jdGlvbiBpbnB1dFRvUkdCKGNvbG9yKSB7XG5cbiAgICB2YXIgcmdiID0geyByOiAwLCBnOiAwLCBiOiAwIH07XG4gICAgdmFyIGEgPSAxO1xuICAgIHZhciBzID0gbnVsbDtcbiAgICB2YXIgdiA9IG51bGw7XG4gICAgdmFyIGwgPSBudWxsO1xuICAgIHZhciBvayA9IGZhbHNlO1xuICAgIHZhciBmb3JtYXQgPSBmYWxzZTtcblxuICAgIGlmICh0eXBlb2YgY29sb3IgPT0gXCJzdHJpbmdcIikge1xuICAgICAgICBjb2xvciA9IHN0cmluZ0lucHV0VG9PYmplY3QoY29sb3IpO1xuICAgIH1cblxuICAgIGlmICh0eXBlb2YgY29sb3IgPT0gXCJvYmplY3RcIikge1xuICAgICAgICBpZiAoaXNWYWxpZENTU1VuaXQoY29sb3IucikgJiYgaXNWYWxpZENTU1VuaXQoY29sb3IuZykgJiYgaXNWYWxpZENTU1VuaXQoY29sb3IuYikpIHtcbiAgICAgICAgICAgIHJnYiA9IHJnYlRvUmdiKGNvbG9yLnIsIGNvbG9yLmcsIGNvbG9yLmIpO1xuICAgICAgICAgICAgb2sgPSB0cnVlO1xuICAgICAgICAgICAgZm9ybWF0ID0gU3RyaW5nKGNvbG9yLnIpLnN1YnN0cigtMSkgPT09IFwiJVwiID8gXCJwcmdiXCIgOiBcInJnYlwiO1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKGlzVmFsaWRDU1NVbml0KGNvbG9yLmgpICYmIGlzVmFsaWRDU1NVbml0KGNvbG9yLnMpICYmIGlzVmFsaWRDU1NVbml0KGNvbG9yLnYpKSB7XG4gICAgICAgICAgICBzID0gY29udmVydFRvUGVyY2VudGFnZShjb2xvci5zKTtcbiAgICAgICAgICAgIHYgPSBjb252ZXJ0VG9QZXJjZW50YWdlKGNvbG9yLnYpO1xuICAgICAgICAgICAgcmdiID0gaHN2VG9SZ2IoY29sb3IuaCwgcywgdik7XG4gICAgICAgICAgICBvayA9IHRydWU7XG4gICAgICAgICAgICBmb3JtYXQgPSBcImhzdlwiO1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKGlzVmFsaWRDU1NVbml0KGNvbG9yLmgpICYmIGlzVmFsaWRDU1NVbml0KGNvbG9yLnMpICYmIGlzVmFsaWRDU1NVbml0KGNvbG9yLmwpKSB7XG4gICAgICAgICAgICBzID0gY29udmVydFRvUGVyY2VudGFnZShjb2xvci5zKTtcbiAgICAgICAgICAgIGwgPSBjb252ZXJ0VG9QZXJjZW50YWdlKGNvbG9yLmwpO1xuICAgICAgICAgICAgcmdiID0gaHNsVG9SZ2IoY29sb3IuaCwgcywgbCk7XG4gICAgICAgICAgICBvayA9IHRydWU7XG4gICAgICAgICAgICBmb3JtYXQgPSBcImhzbFwiO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGNvbG9yLmhhc093blByb3BlcnR5KFwiYVwiKSkge1xuICAgICAgICAgICAgYSA9IGNvbG9yLmE7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBhID0gYm91bmRBbHBoYShhKTtcblxuICAgIHJldHVybiB7XG4gICAgICAgIG9rOiBvayxcbiAgICAgICAgZm9ybWF0OiBjb2xvci5mb3JtYXQgfHwgZm9ybWF0LFxuICAgICAgICByOiBtYXRoTWluKDI1NSwgbWF0aE1heChyZ2IuciwgMCkpLFxuICAgICAgICBnOiBtYXRoTWluKDI1NSwgbWF0aE1heChyZ2IuZywgMCkpLFxuICAgICAgICBiOiBtYXRoTWluKDI1NSwgbWF0aE1heChyZ2IuYiwgMCkpLFxuICAgICAgICBhOiBhXG4gICAgfTtcbn1cblxuLy8gQ29udmVyc2lvbiBGdW5jdGlvbnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIHJnYlRvSHNsLCByZ2JUb0hzdiwgaHNsVG9SZ2IsIGhzdlRvUmdiIG1vZGlmaWVkIGZyb206XG4vLyA8aHR0cDovL21qaWphY2tzb24uY29tLzIwMDgvMDIvcmdiLXRvLWhzbC1hbmQtcmdiLXRvLWhzdi1jb2xvci1tb2RlbC1jb252ZXJzaW9uLWFsZ29yaXRobXMtaW4tamF2YXNjcmlwdD5cblxuLy8gcmdiVG9SZ2Jcbi8vIEhhbmRsZSBib3VuZHMgLyBwZXJjZW50YWdlIGNoZWNraW5nIHRvIGNvbmZvcm0gdG8gQ1NTIGNvbG9yIHNwZWNcbi8vIDxodHRwOi8vd3d3LnczLm9yZy9UUi9jc3MzLWNvbG9yLz5cbi8vICpBc3N1bWVzOiogciwgZywgYiBpbiBbMCwgMjU1XSBvciBbMCwgMV1cbi8vICpSZXR1cm5zOiogeyByLCBnLCBiIH0gaW4gWzAsIDI1NV1cbmZ1bmN0aW9uIHJnYlRvUmdiKHIsIGcsIGIpe1xuICAgIHJldHVybiB7XG4gICAgICAgIHI6IGJvdW5kMDEociwgMjU1KSAqIDI1NSxcbiAgICAgICAgZzogYm91bmQwMShnLCAyNTUpICogMjU1LFxuICAgICAgICBiOiBib3VuZDAxKGIsIDI1NSkgKiAyNTVcbiAgICB9O1xufVxuXG4vLyByZ2JUb0hzbFxuLy8gQ29udmVydHMgYW4gUkdCIGNvbG9yIHZhbHVlIHRvIEhTTC5cbi8vICpBc3N1bWVzOiogciwgZywgYW5kIGIgYXJlIGNvbnRhaW5lZCBpbiBbMCwgMjU1XSBvciBbMCwgMV1cbi8vICpSZXR1cm5zOiogeyBoLCBzLCBsIH0gaW4gWzAsMV1cbmZ1bmN0aW9uIHJnYlRvSHNsKHIsIGcsIGIpIHtcblxuICAgIHIgPSBib3VuZDAxKHIsIDI1NSk7XG4gICAgZyA9IGJvdW5kMDEoZywgMjU1KTtcbiAgICBiID0gYm91bmQwMShiLCAyNTUpO1xuXG4gICAgdmFyIG1heCA9IG1hdGhNYXgociwgZywgYiksIG1pbiA9IG1hdGhNaW4ociwgZywgYik7XG4gICAgdmFyIGgsIHMsIGwgPSAobWF4ICsgbWluKSAvIDI7XG5cbiAgICBpZihtYXggPT0gbWluKSB7XG4gICAgICAgIGggPSBzID0gMDsgLy8gYWNocm9tYXRpY1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgdmFyIGQgPSBtYXggLSBtaW47XG4gICAgICAgIHMgPSBsID4gMC41ID8gZCAvICgyIC0gbWF4IC0gbWluKSA6IGQgLyAobWF4ICsgbWluKTtcbiAgICAgICAgc3dpdGNoKG1heCkge1xuICAgICAgICAgICAgY2FzZSByOiBoID0gKGcgLSBiKSAvIGQgKyAoZyA8IGIgPyA2IDogMCk7IGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBnOiBoID0gKGIgLSByKSAvIGQgKyAyOyBicmVhaztcbiAgICAgICAgICAgIGNhc2UgYjogaCA9IChyIC0gZykgLyBkICsgNDsgYnJlYWs7XG4gICAgICAgIH1cblxuICAgICAgICBoIC89IDY7XG4gICAgfVxuXG4gICAgcmV0dXJuIHsgaDogaCwgczogcywgbDogbCB9O1xufVxuXG4vLyBoc2xUb1JnYlxuLy8gQ29udmVydHMgYW4gSFNMIGNvbG9yIHZhbHVlIHRvIFJHQi5cbi8vICpBc3N1bWVzOiogaCBpcyBjb250YWluZWQgaW4gWzAsIDFdIG9yIFswLCAzNjBdIGFuZCBzIGFuZCBsIGFyZSBjb250YWluZWQgWzAsIDFdIG9yIFswLCAxMDBdXG4vLyAqUmV0dXJuczoqIHsgciwgZywgYiB9IGluIHRoZSBzZXQgWzAsIDI1NV1cbmZ1bmN0aW9uIGhzbFRvUmdiKGgsIHMsIGwpIHtcbiAgICB2YXIgciwgZywgYjtcblxuICAgIGggPSBib3VuZDAxKGgsIDM2MCk7XG4gICAgcyA9IGJvdW5kMDEocywgMTAwKTtcbiAgICBsID0gYm91bmQwMShsLCAxMDApO1xuXG4gICAgZnVuY3Rpb24gaHVlMnJnYihwLCBxLCB0KSB7XG4gICAgICAgIGlmKHQgPCAwKSB0ICs9IDE7XG4gICAgICAgIGlmKHQgPiAxKSB0IC09IDE7XG4gICAgICAgIGlmKHQgPCAxLzYpIHJldHVybiBwICsgKHEgLSBwKSAqIDYgKiB0O1xuICAgICAgICBpZih0IDwgMS8yKSByZXR1cm4gcTtcbiAgICAgICAgaWYodCA8IDIvMykgcmV0dXJuIHAgKyAocSAtIHApICogKDIvMyAtIHQpICogNjtcbiAgICAgICAgcmV0dXJuIHA7XG4gICAgfVxuXG4gICAgaWYocyA9PT0gMCkge1xuICAgICAgICByID0gZyA9IGIgPSBsOyAvLyBhY2hyb21hdGljXG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICB2YXIgcSA9IGwgPCAwLjUgPyBsICogKDEgKyBzKSA6IGwgKyBzIC0gbCAqIHM7XG4gICAgICAgIHZhciBwID0gMiAqIGwgLSBxO1xuICAgICAgICByID0gaHVlMnJnYihwLCBxLCBoICsgMS8zKTtcbiAgICAgICAgZyA9IGh1ZTJyZ2IocCwgcSwgaCk7XG4gICAgICAgIGIgPSBodWUycmdiKHAsIHEsIGggLSAxLzMpO1xuICAgIH1cblxuICAgIHJldHVybiB7IHI6IHIgKiAyNTUsIGc6IGcgKiAyNTUsIGI6IGIgKiAyNTUgfTtcbn1cblxuLy8gcmdiVG9Ic3Zcbi8vIENvbnZlcnRzIGFuIFJHQiBjb2xvciB2YWx1ZSB0byBIU1Zcbi8vICpBc3N1bWVzOiogciwgZywgYW5kIGIgYXJlIGNvbnRhaW5lZCBpbiB0aGUgc2V0IFswLCAyNTVdIG9yIFswLCAxXVxuLy8gKlJldHVybnM6KiB7IGgsIHMsIHYgfSBpbiBbMCwxXVxuZnVuY3Rpb24gcmdiVG9Ic3YociwgZywgYikge1xuXG4gICAgciA9IGJvdW5kMDEociwgMjU1KTtcbiAgICBnID0gYm91bmQwMShnLCAyNTUpO1xuICAgIGIgPSBib3VuZDAxKGIsIDI1NSk7XG5cbiAgICB2YXIgbWF4ID0gbWF0aE1heChyLCBnLCBiKSwgbWluID0gbWF0aE1pbihyLCBnLCBiKTtcbiAgICB2YXIgaCwgcywgdiA9IG1heDtcblxuICAgIHZhciBkID0gbWF4IC0gbWluO1xuICAgIHMgPSBtYXggPT09IDAgPyAwIDogZCAvIG1heDtcblxuICAgIGlmKG1heCA9PSBtaW4pIHtcbiAgICAgICAgaCA9IDA7IC8vIGFjaHJvbWF0aWNcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIHN3aXRjaChtYXgpIHtcbiAgICAgICAgICAgIGNhc2UgcjogaCA9IChnIC0gYikgLyBkICsgKGcgPCBiID8gNiA6IDApOyBicmVhaztcbiAgICAgICAgICAgIGNhc2UgZzogaCA9IChiIC0gcikgLyBkICsgMjsgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIGI6IGggPSAociAtIGcpIC8gZCArIDQ7IGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIGggLz0gNjtcbiAgICB9XG4gICAgcmV0dXJuIHsgaDogaCwgczogcywgdjogdiB9O1xufVxuXG4vLyBoc3ZUb1JnYlxuLy8gQ29udmVydHMgYW4gSFNWIGNvbG9yIHZhbHVlIHRvIFJHQi5cbi8vICpBc3N1bWVzOiogaCBpcyBjb250YWluZWQgaW4gWzAsIDFdIG9yIFswLCAzNjBdIGFuZCBzIGFuZCB2IGFyZSBjb250YWluZWQgaW4gWzAsIDFdIG9yIFswLCAxMDBdXG4vLyAqUmV0dXJuczoqIHsgciwgZywgYiB9IGluIHRoZSBzZXQgWzAsIDI1NV1cbiBmdW5jdGlvbiBoc3ZUb1JnYihoLCBzLCB2KSB7XG5cbiAgICBoID0gYm91bmQwMShoLCAzNjApICogNjtcbiAgICBzID0gYm91bmQwMShzLCAxMDApO1xuICAgIHYgPSBib3VuZDAxKHYsIDEwMCk7XG5cbiAgICB2YXIgaSA9IE1hdGguZmxvb3IoaCksXG4gICAgICAgIGYgPSBoIC0gaSxcbiAgICAgICAgcCA9IHYgKiAoMSAtIHMpLFxuICAgICAgICBxID0gdiAqICgxIC0gZiAqIHMpLFxuICAgICAgICB0ID0gdiAqICgxIC0gKDEgLSBmKSAqIHMpLFxuICAgICAgICBtb2QgPSBpICUgNixcbiAgICAgICAgciA9IFt2LCBxLCBwLCBwLCB0LCB2XVttb2RdLFxuICAgICAgICBnID0gW3QsIHYsIHYsIHEsIHAsIHBdW21vZF0sXG4gICAgICAgIGIgPSBbcCwgcCwgdCwgdiwgdiwgcV1bbW9kXTtcblxuICAgIHJldHVybiB7IHI6IHIgKiAyNTUsIGc6IGcgKiAyNTUsIGI6IGIgKiAyNTUgfTtcbn1cblxuLy8gcmdiVG9IZXhcbi8vIENvbnZlcnRzIGFuIFJHQiBjb2xvciB0byBoZXhcbi8vIEFzc3VtZXMgciwgZywgYW5kIGIgYXJlIGNvbnRhaW5lZCBpbiB0aGUgc2V0IFswLCAyNTVdXG4vLyBSZXR1cm5zIGEgMyBvciA2IGNoYXJhY3RlciBoZXhcbmZ1bmN0aW9uIHJnYlRvSGV4KHIsIGcsIGIsIGFsbG93M0NoYXIpIHtcblxuICAgIHZhciBoZXggPSBbXG4gICAgICAgIHBhZDIobWF0aFJvdW5kKHIpLnRvU3RyaW5nKDE2KSksXG4gICAgICAgIHBhZDIobWF0aFJvdW5kKGcpLnRvU3RyaW5nKDE2KSksXG4gICAgICAgIHBhZDIobWF0aFJvdW5kKGIpLnRvU3RyaW5nKDE2KSlcbiAgICBdO1xuXG4gICAgLy8gUmV0dXJuIGEgMyBjaGFyYWN0ZXIgaGV4IGlmIHBvc3NpYmxlXG4gICAgaWYgKGFsbG93M0NoYXIgJiYgaGV4WzBdLmNoYXJBdCgwKSA9PSBoZXhbMF0uY2hhckF0KDEpICYmIGhleFsxXS5jaGFyQXQoMCkgPT0gaGV4WzFdLmNoYXJBdCgxKSAmJiBoZXhbMl0uY2hhckF0KDApID09IGhleFsyXS5jaGFyQXQoMSkpIHtcbiAgICAgICAgcmV0dXJuIGhleFswXS5jaGFyQXQoMCkgKyBoZXhbMV0uY2hhckF0KDApICsgaGV4WzJdLmNoYXJBdCgwKTtcbiAgICB9XG5cbiAgICByZXR1cm4gaGV4LmpvaW4oXCJcIik7XG59XG5cbi8vIHJnYmFUb0hleFxuLy8gQ29udmVydHMgYW4gUkdCQSBjb2xvciBwbHVzIGFscGhhIHRyYW5zcGFyZW5jeSB0byBoZXhcbi8vIEFzc3VtZXMgciwgZywgYiBhcmUgY29udGFpbmVkIGluIHRoZSBzZXQgWzAsIDI1NV0gYW5kXG4vLyBhIGluIFswLCAxXS4gUmV0dXJucyBhIDQgb3IgOCBjaGFyYWN0ZXIgcmdiYSBoZXhcbmZ1bmN0aW9uIHJnYmFUb0hleChyLCBnLCBiLCBhLCBhbGxvdzRDaGFyKSB7XG5cbiAgICB2YXIgaGV4ID0gW1xuICAgICAgICBwYWQyKG1hdGhSb3VuZChyKS50b1N0cmluZygxNikpLFxuICAgICAgICBwYWQyKG1hdGhSb3VuZChnKS50b1N0cmluZygxNikpLFxuICAgICAgICBwYWQyKG1hdGhSb3VuZChiKS50b1N0cmluZygxNikpLFxuICAgICAgICBwYWQyKGNvbnZlcnREZWNpbWFsVG9IZXgoYSkpXG4gICAgXTtcblxuICAgIC8vIFJldHVybiBhIDQgY2hhcmFjdGVyIGhleCBpZiBwb3NzaWJsZVxuICAgIGlmIChhbGxvdzRDaGFyICYmIGhleFswXS5jaGFyQXQoMCkgPT0gaGV4WzBdLmNoYXJBdCgxKSAmJiBoZXhbMV0uY2hhckF0KDApID09IGhleFsxXS5jaGFyQXQoMSkgJiYgaGV4WzJdLmNoYXJBdCgwKSA9PSBoZXhbMl0uY2hhckF0KDEpICYmIGhleFszXS5jaGFyQXQoMCkgPT0gaGV4WzNdLmNoYXJBdCgxKSkge1xuICAgICAgICByZXR1cm4gaGV4WzBdLmNoYXJBdCgwKSArIGhleFsxXS5jaGFyQXQoMCkgKyBoZXhbMl0uY2hhckF0KDApICsgaGV4WzNdLmNoYXJBdCgwKTtcbiAgICB9XG5cbiAgICByZXR1cm4gaGV4LmpvaW4oXCJcIik7XG59XG5cbi8vIHJnYmFUb0FyZ2JIZXhcbi8vIENvbnZlcnRzIGFuIFJHQkEgY29sb3IgdG8gYW4gQVJHQiBIZXg4IHN0cmluZ1xuLy8gUmFyZWx5IHVzZWQsIGJ1dCByZXF1aXJlZCBmb3IgXCJ0b0ZpbHRlcigpXCJcbmZ1bmN0aW9uIHJnYmFUb0FyZ2JIZXgociwgZywgYiwgYSkge1xuXG4gICAgdmFyIGhleCA9IFtcbiAgICAgICAgcGFkMihjb252ZXJ0RGVjaW1hbFRvSGV4KGEpKSxcbiAgICAgICAgcGFkMihtYXRoUm91bmQocikudG9TdHJpbmcoMTYpKSxcbiAgICAgICAgcGFkMihtYXRoUm91bmQoZykudG9TdHJpbmcoMTYpKSxcbiAgICAgICAgcGFkMihtYXRoUm91bmQoYikudG9TdHJpbmcoMTYpKVxuICAgIF07XG5cbiAgICByZXR1cm4gaGV4LmpvaW4oXCJcIik7XG59XG5cbi8vIGVxdWFsc1xuLy8gQ2FuIGJlIGNhbGxlZCB3aXRoIGFueSB0aW55Y29sb3IgaW5wdXRcbnRpbnljb2xvci5lcXVhbHMgPSBmdW5jdGlvbiAoY29sb3IxLCBjb2xvcjIpIHtcbiAgICBpZiAoIWNvbG9yMSB8fCAhY29sb3IyKSB7IHJldHVybiBmYWxzZTsgfVxuICAgIHJldHVybiB0aW55Y29sb3IoY29sb3IxKS50b1JnYlN0cmluZygpID09IHRpbnljb2xvcihjb2xvcjIpLnRvUmdiU3RyaW5nKCk7XG59O1xuXG50aW55Y29sb3IucmFuZG9tID0gZnVuY3Rpb24oKSB7XG4gICAgcmV0dXJuIHRpbnljb2xvci5mcm9tUmF0aW8oe1xuICAgICAgICByOiBtYXRoUmFuZG9tKCksXG4gICAgICAgIGc6IG1hdGhSYW5kb20oKSxcbiAgICAgICAgYjogbWF0aFJhbmRvbSgpXG4gICAgfSk7XG59O1xuXG4vLyBNb2RpZmljYXRpb24gRnVuY3Rpb25zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBUaGFua3MgdG8gbGVzcy5qcyBmb3Igc29tZSBvZiB0aGUgYmFzaWNzIGhlcmVcbi8vIDxodHRwczovL2dpdGh1Yi5jb20vY2xvdWRoZWFkL2xlc3MuanMvYmxvYi9tYXN0ZXIvbGliL2xlc3MvZnVuY3Rpb25zLmpzPlxuXG5mdW5jdGlvbiBkZXNhdHVyYXRlKGNvbG9yLCBhbW91bnQpIHtcbiAgICBhbW91bnQgPSAoYW1vdW50ID09PSAwKSA/IDAgOiAoYW1vdW50IHx8IDEwKTtcbiAgICB2YXIgaHNsID0gdGlueWNvbG9yKGNvbG9yKS50b0hzbCgpO1xuICAgIGhzbC5zIC09IGFtb3VudCAvIDEwMDtcbiAgICBoc2wucyA9IGNsYW1wMDEoaHNsLnMpO1xuICAgIHJldHVybiB0aW55Y29sb3IoaHNsKTtcbn1cblxuZnVuY3Rpb24gc2F0dXJhdGUoY29sb3IsIGFtb3VudCkge1xuICAgIGFtb3VudCA9IChhbW91bnQgPT09IDApID8gMCA6IChhbW91bnQgfHwgMTApO1xuICAgIHZhciBoc2wgPSB0aW55Y29sb3IoY29sb3IpLnRvSHNsKCk7XG4gICAgaHNsLnMgKz0gYW1vdW50IC8gMTAwO1xuICAgIGhzbC5zID0gY2xhbXAwMShoc2wucyk7XG4gICAgcmV0dXJuIHRpbnljb2xvcihoc2wpO1xufVxuXG5mdW5jdGlvbiBncmV5c2NhbGUoY29sb3IpIHtcbiAgICByZXR1cm4gdGlueWNvbG9yKGNvbG9yKS5kZXNhdHVyYXRlKDEwMCk7XG59XG5cbmZ1bmN0aW9uIGxpZ2h0ZW4gKGNvbG9yLCBhbW91bnQpIHtcbiAgICBhbW91bnQgPSAoYW1vdW50ID09PSAwKSA/IDAgOiAoYW1vdW50IHx8IDEwKTtcbiAgICB2YXIgaHNsID0gdGlueWNvbG9yKGNvbG9yKS50b0hzbCgpO1xuICAgIGhzbC5sICs9IGFtb3VudCAvIDEwMDtcbiAgICBoc2wubCA9IGNsYW1wMDEoaHNsLmwpO1xuICAgIHJldHVybiB0aW55Y29sb3IoaHNsKTtcbn1cblxuZnVuY3Rpb24gYnJpZ2h0ZW4oY29sb3IsIGFtb3VudCkge1xuICAgIGFtb3VudCA9IChhbW91bnQgPT09IDApID8gMCA6IChhbW91bnQgfHwgMTApO1xuICAgIHZhciByZ2IgPSB0aW55Y29sb3IoY29sb3IpLnRvUmdiKCk7XG4gICAgcmdiLnIgPSBtYXRoTWF4KDAsIG1hdGhNaW4oMjU1LCByZ2IuciAtIG1hdGhSb3VuZCgyNTUgKiAtIChhbW91bnQgLyAxMDApKSkpO1xuICAgIHJnYi5nID0gbWF0aE1heCgwLCBtYXRoTWluKDI1NSwgcmdiLmcgLSBtYXRoUm91bmQoMjU1ICogLSAoYW1vdW50IC8gMTAwKSkpKTtcbiAgICByZ2IuYiA9IG1hdGhNYXgoMCwgbWF0aE1pbigyNTUsIHJnYi5iIC0gbWF0aFJvdW5kKDI1NSAqIC0gKGFtb3VudCAvIDEwMCkpKSk7XG4gICAgcmV0dXJuIHRpbnljb2xvcihyZ2IpO1xufVxuXG5mdW5jdGlvbiBkYXJrZW4gKGNvbG9yLCBhbW91bnQpIHtcbiAgICBhbW91bnQgPSAoYW1vdW50ID09PSAwKSA/IDAgOiAoYW1vdW50IHx8IDEwKTtcbiAgICB2YXIgaHNsID0gdGlueWNvbG9yKGNvbG9yKS50b0hzbCgpO1xuICAgIGhzbC5sIC09IGFtb3VudCAvIDEwMDtcbiAgICBoc2wubCA9IGNsYW1wMDEoaHNsLmwpO1xuICAgIHJldHVybiB0aW55Y29sb3IoaHNsKTtcbn1cblxuLy8gU3BpbiB0YWtlcyBhIHBvc2l0aXZlIG9yIG5lZ2F0aXZlIGFtb3VudCB3aXRoaW4gWy0zNjAsIDM2MF0gaW5kaWNhdGluZyB0aGUgY2hhbmdlIG9mIGh1ZS5cbi8vIFZhbHVlcyBvdXRzaWRlIG9mIHRoaXMgcmFuZ2Ugd2lsbCBiZSB3cmFwcGVkIGludG8gdGhpcyByYW5nZS5cbmZ1bmN0aW9uIHNwaW4oY29sb3IsIGFtb3VudCkge1xuICAgIHZhciBoc2wgPSB0aW55Y29sb3IoY29sb3IpLnRvSHNsKCk7XG4gICAgdmFyIGh1ZSA9IChoc2wuaCArIGFtb3VudCkgJSAzNjA7XG4gICAgaHNsLmggPSBodWUgPCAwID8gMzYwICsgaHVlIDogaHVlO1xuICAgIHJldHVybiB0aW55Y29sb3IoaHNsKTtcbn1cblxuLy8gQ29tYmluYXRpb24gRnVuY3Rpb25zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFRoYW5rcyB0byBqUXVlcnkgeENvbG9yIGZvciBzb21lIG9mIHRoZSBpZGVhcyBiZWhpbmQgdGhlc2Vcbi8vIDxodHRwczovL2dpdGh1Yi5jb20vaW5mdXNpb24valF1ZXJ5LXhjb2xvci9ibG9iL21hc3Rlci9qcXVlcnkueGNvbG9yLmpzPlxuXG5mdW5jdGlvbiBjb21wbGVtZW50KGNvbG9yKSB7XG4gICAgdmFyIGhzbCA9IHRpbnljb2xvcihjb2xvcikudG9Ic2woKTtcbiAgICBoc2wuaCA9IChoc2wuaCArIDE4MCkgJSAzNjA7XG4gICAgcmV0dXJuIHRpbnljb2xvcihoc2wpO1xufVxuXG5mdW5jdGlvbiB0cmlhZChjb2xvcikge1xuICAgIHZhciBoc2wgPSB0aW55Y29sb3IoY29sb3IpLnRvSHNsKCk7XG4gICAgdmFyIGggPSBoc2wuaDtcbiAgICByZXR1cm4gW1xuICAgICAgICB0aW55Y29sb3IoY29sb3IpLFxuICAgICAgICB0aW55Y29sb3IoeyBoOiAoaCArIDEyMCkgJSAzNjAsIHM6IGhzbC5zLCBsOiBoc2wubCB9KSxcbiAgICAgICAgdGlueWNvbG9yKHsgaDogKGggKyAyNDApICUgMzYwLCBzOiBoc2wucywgbDogaHNsLmwgfSlcbiAgICBdO1xufVxuXG5mdW5jdGlvbiB0ZXRyYWQoY29sb3IpIHtcbiAgICB2YXIgaHNsID0gdGlueWNvbG9yKGNvbG9yKS50b0hzbCgpO1xuICAgIHZhciBoID0gaHNsLmg7XG4gICAgcmV0dXJuIFtcbiAgICAgICAgdGlueWNvbG9yKGNvbG9yKSxcbiAgICAgICAgdGlueWNvbG9yKHsgaDogKGggKyA5MCkgJSAzNjAsIHM6IGhzbC5zLCBsOiBoc2wubCB9KSxcbiAgICAgICAgdGlueWNvbG9yKHsgaDogKGggKyAxODApICUgMzYwLCBzOiBoc2wucywgbDogaHNsLmwgfSksXG4gICAgICAgIHRpbnljb2xvcih7IGg6IChoICsgMjcwKSAlIDM2MCwgczogaHNsLnMsIGw6IGhzbC5sIH0pXG4gICAgXTtcbn1cblxuZnVuY3Rpb24gc3BsaXRjb21wbGVtZW50KGNvbG9yKSB7XG4gICAgdmFyIGhzbCA9IHRpbnljb2xvcihjb2xvcikudG9Ic2woKTtcbiAgICB2YXIgaCA9IGhzbC5oO1xuICAgIHJldHVybiBbXG4gICAgICAgIHRpbnljb2xvcihjb2xvciksXG4gICAgICAgIHRpbnljb2xvcih7IGg6IChoICsgNzIpICUgMzYwLCBzOiBoc2wucywgbDogaHNsLmx9KSxcbiAgICAgICAgdGlueWNvbG9yKHsgaDogKGggKyAyMTYpICUgMzYwLCBzOiBoc2wucywgbDogaHNsLmx9KVxuICAgIF07XG59XG5cbmZ1bmN0aW9uIGFuYWxvZ291cyhjb2xvciwgcmVzdWx0cywgc2xpY2VzKSB7XG4gICAgcmVzdWx0cyA9IHJlc3VsdHMgfHwgNjtcbiAgICBzbGljZXMgPSBzbGljZXMgfHwgMzA7XG5cbiAgICB2YXIgaHNsID0gdGlueWNvbG9yKGNvbG9yKS50b0hzbCgpO1xuICAgIHZhciBwYXJ0ID0gMzYwIC8gc2xpY2VzO1xuICAgIHZhciByZXQgPSBbdGlueWNvbG9yKGNvbG9yKV07XG5cbiAgICBmb3IgKGhzbC5oID0gKChoc2wuaCAtIChwYXJ0ICogcmVzdWx0cyA+PiAxKSkgKyA3MjApICUgMzYwOyAtLXJlc3VsdHM7ICkge1xuICAgICAgICBoc2wuaCA9IChoc2wuaCArIHBhcnQpICUgMzYwO1xuICAgICAgICByZXQucHVzaCh0aW55Y29sb3IoaHNsKSk7XG4gICAgfVxuICAgIHJldHVybiByZXQ7XG59XG5cbmZ1bmN0aW9uIG1vbm9jaHJvbWF0aWMoY29sb3IsIHJlc3VsdHMpIHtcbiAgICByZXN1bHRzID0gcmVzdWx0cyB8fCA2O1xuICAgIHZhciBoc3YgPSB0aW55Y29sb3IoY29sb3IpLnRvSHN2KCk7XG4gICAgdmFyIGggPSBoc3YuaCwgcyA9IGhzdi5zLCB2ID0gaHN2LnY7XG4gICAgdmFyIHJldCA9IFtdO1xuICAgIHZhciBtb2RpZmljYXRpb24gPSAxIC8gcmVzdWx0cztcblxuICAgIHdoaWxlIChyZXN1bHRzLS0pIHtcbiAgICAgICAgcmV0LnB1c2godGlueWNvbG9yKHsgaDogaCwgczogcywgdjogdn0pKTtcbiAgICAgICAgdiA9ICh2ICsgbW9kaWZpY2F0aW9uKSAlIDE7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJldDtcbn1cblxuLy8gVXRpbGl0eSBGdW5jdGlvbnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG50aW55Y29sb3IubWl4ID0gZnVuY3Rpb24oY29sb3IxLCBjb2xvcjIsIGFtb3VudCkge1xuICAgIGFtb3VudCA9IChhbW91bnQgPT09IDApID8gMCA6IChhbW91bnQgfHwgNTApO1xuXG4gICAgdmFyIHJnYjEgPSB0aW55Y29sb3IoY29sb3IxKS50b1JnYigpO1xuICAgIHZhciByZ2IyID0gdGlueWNvbG9yKGNvbG9yMikudG9SZ2IoKTtcblxuICAgIHZhciBwID0gYW1vdW50IC8gMTAwO1xuXG4gICAgdmFyIHJnYmEgPSB7XG4gICAgICAgIHI6ICgocmdiMi5yIC0gcmdiMS5yKSAqIHApICsgcmdiMS5yLFxuICAgICAgICBnOiAoKHJnYjIuZyAtIHJnYjEuZykgKiBwKSArIHJnYjEuZyxcbiAgICAgICAgYjogKChyZ2IyLmIgLSByZ2IxLmIpICogcCkgKyByZ2IxLmIsXG4gICAgICAgIGE6ICgocmdiMi5hIC0gcmdiMS5hKSAqIHApICsgcmdiMS5hXG4gICAgfTtcblxuICAgIHJldHVybiB0aW55Y29sb3IocmdiYSk7XG59O1xuXG4vLyBSZWFkYWJpbGl0eSBGdW5jdGlvbnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gPGh0dHA6Ly93d3cudzMub3JnL1RSLzIwMDgvUkVDLVdDQUcyMC0yMDA4MTIxMS8jY29udHJhc3QtcmF0aW9kZWYgKFdDQUcgVmVyc2lvbiAyKVxuXG4vLyBjb250cmFzdFxuLy8gQW5hbHl6ZSB0aGUgMiBjb2xvcnMgYW5kIHJldHVybnMgdGhlIGNvbG9yIGNvbnRyYXN0IGRlZmluZWQgYnkgKFdDQUcgVmVyc2lvbiAyKVxudGlueWNvbG9yLnJlYWRhYmlsaXR5ID0gZnVuY3Rpb24oY29sb3IxLCBjb2xvcjIpIHtcbiAgICB2YXIgYzEgPSB0aW55Y29sb3IoY29sb3IxKTtcbiAgICB2YXIgYzIgPSB0aW55Y29sb3IoY29sb3IyKTtcbiAgICByZXR1cm4gKE1hdGgubWF4KGMxLmdldEx1bWluYW5jZSgpLGMyLmdldEx1bWluYW5jZSgpKSswLjA1KSAvIChNYXRoLm1pbihjMS5nZXRMdW1pbmFuY2UoKSxjMi5nZXRMdW1pbmFuY2UoKSkrMC4wNSk7XG59O1xuXG4vLyBpc1JlYWRhYmxlXG4vLyBFbnN1cmUgdGhhdCBmb3JlZ3JvdW5kIGFuZCBiYWNrZ3JvdW5kIGNvbG9yIGNvbWJpbmF0aW9ucyBtZWV0IFdDQUcyIGd1aWRlbGluZXMuXG4vLyBUaGUgdGhpcmQgYXJndW1lbnQgaXMgYW4gb3B0aW9uYWwgT2JqZWN0LlxuLy8gICAgICB0aGUgJ2xldmVsJyBwcm9wZXJ0eSBzdGF0ZXMgJ0FBJyBvciAnQUFBJyAtIGlmIG1pc3Npbmcgb3IgaW52YWxpZCwgaXQgZGVmYXVsdHMgdG8gJ0FBJztcbi8vICAgICAgdGhlICdzaXplJyBwcm9wZXJ0eSBzdGF0ZXMgJ2xhcmdlJyBvciAnc21hbGwnIC0gaWYgbWlzc2luZyBvciBpbnZhbGlkLCBpdCBkZWZhdWx0cyB0byAnc21hbGwnLlxuLy8gSWYgdGhlIGVudGlyZSBvYmplY3QgaXMgYWJzZW50LCBpc1JlYWRhYmxlIGRlZmF1bHRzIHRvIHtsZXZlbDpcIkFBXCIsc2l6ZTpcInNtYWxsXCJ9LlxuXG4vLyAqRXhhbXBsZSpcbi8vICAgIHRpbnljb2xvci5pc1JlYWRhYmxlKFwiIzAwMFwiLCBcIiMxMTFcIikgPT4gZmFsc2Vcbi8vICAgIHRpbnljb2xvci5pc1JlYWRhYmxlKFwiIzAwMFwiLCBcIiMxMTFcIix7bGV2ZWw6XCJBQVwiLHNpemU6XCJsYXJnZVwifSkgPT4gZmFsc2VcbnRpbnljb2xvci5pc1JlYWRhYmxlID0gZnVuY3Rpb24oY29sb3IxLCBjb2xvcjIsIHdjYWcyKSB7XG4gICAgdmFyIHJlYWRhYmlsaXR5ID0gdGlueWNvbG9yLnJlYWRhYmlsaXR5KGNvbG9yMSwgY29sb3IyKTtcbiAgICB2YXIgd2NhZzJQYXJtcywgb3V0O1xuXG4gICAgb3V0ID0gZmFsc2U7XG5cbiAgICB3Y2FnMlBhcm1zID0gdmFsaWRhdGVXQ0FHMlBhcm1zKHdjYWcyKTtcbiAgICBzd2l0Y2ggKHdjYWcyUGFybXMubGV2ZWwgKyB3Y2FnMlBhcm1zLnNpemUpIHtcbiAgICAgICAgY2FzZSBcIkFBc21hbGxcIjpcbiAgICAgICAgY2FzZSBcIkFBQWxhcmdlXCI6XG4gICAgICAgICAgICBvdXQgPSByZWFkYWJpbGl0eSA+PSA0LjU7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSBcIkFBbGFyZ2VcIjpcbiAgICAgICAgICAgIG91dCA9IHJlYWRhYmlsaXR5ID49IDM7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSBcIkFBQXNtYWxsXCI6XG4gICAgICAgICAgICBvdXQgPSByZWFkYWJpbGl0eSA+PSA3O1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgfVxuICAgIHJldHVybiBvdXQ7XG5cbn07XG5cbi8vIG1vc3RSZWFkYWJsZVxuLy8gR2l2ZW4gYSBiYXNlIGNvbG9yIGFuZCBhIGxpc3Qgb2YgcG9zc2libGUgZm9yZWdyb3VuZCBvciBiYWNrZ3JvdW5kXG4vLyBjb2xvcnMgZm9yIHRoYXQgYmFzZSwgcmV0dXJucyB0aGUgbW9zdCByZWFkYWJsZSBjb2xvci5cbi8vIE9wdGlvbmFsbHkgcmV0dXJucyBCbGFjayBvciBXaGl0ZSBpZiB0aGUgbW9zdCByZWFkYWJsZSBjb2xvciBpcyB1bnJlYWRhYmxlLlxuLy8gKkV4YW1wbGUqXG4vLyAgICB0aW55Y29sb3IubW9zdFJlYWRhYmxlKHRpbnljb2xvci5tb3N0UmVhZGFibGUoXCIjMTIzXCIsIFtcIiMxMjRcIiwgXCIjMTI1XCJdLHtpbmNsdWRlRmFsbGJhY2tDb2xvcnM6ZmFsc2V9KS50b0hleFN0cmluZygpOyAvLyBcIiMxMTIyNTVcIlxuLy8gICAgdGlueWNvbG9yLm1vc3RSZWFkYWJsZSh0aW55Y29sb3IubW9zdFJlYWRhYmxlKFwiIzEyM1wiLCBbXCIjMTI0XCIsIFwiIzEyNVwiXSx7aW5jbHVkZUZhbGxiYWNrQ29sb3JzOnRydWV9KS50b0hleFN0cmluZygpOyAgLy8gXCIjZmZmZmZmXCJcbi8vICAgIHRpbnljb2xvci5tb3N0UmVhZGFibGUoXCIjYTgwMTVhXCIsIFtcIiNmYWYzZjNcIl0se2luY2x1ZGVGYWxsYmFja0NvbG9yczp0cnVlLGxldmVsOlwiQUFBXCIsc2l6ZTpcImxhcmdlXCJ9KS50b0hleFN0cmluZygpOyAvLyBcIiNmYWYzZjNcIlxuLy8gICAgdGlueWNvbG9yLm1vc3RSZWFkYWJsZShcIiNhODAxNWFcIiwgW1wiI2ZhZjNmM1wiXSx7aW5jbHVkZUZhbGxiYWNrQ29sb3JzOnRydWUsbGV2ZWw6XCJBQUFcIixzaXplOlwic21hbGxcIn0pLnRvSGV4U3RyaW5nKCk7IC8vIFwiI2ZmZmZmZlwiXG50aW55Y29sb3IubW9zdFJlYWRhYmxlID0gZnVuY3Rpb24oYmFzZUNvbG9yLCBjb2xvckxpc3QsIGFyZ3MpIHtcbiAgICB2YXIgYmVzdENvbG9yID0gbnVsbDtcbiAgICB2YXIgYmVzdFNjb3JlID0gMDtcbiAgICB2YXIgcmVhZGFiaWxpdHk7XG4gICAgdmFyIGluY2x1ZGVGYWxsYmFja0NvbG9ycywgbGV2ZWwsIHNpemUgO1xuICAgIGFyZ3MgPSBhcmdzIHx8IHt9O1xuICAgIGluY2x1ZGVGYWxsYmFja0NvbG9ycyA9IGFyZ3MuaW5jbHVkZUZhbGxiYWNrQ29sb3JzIDtcbiAgICBsZXZlbCA9IGFyZ3MubGV2ZWw7XG4gICAgc2l6ZSA9IGFyZ3Muc2l6ZTtcblxuICAgIGZvciAodmFyIGk9IDA7IGkgPCBjb2xvckxpc3QubGVuZ3RoIDsgaSsrKSB7XG4gICAgICAgIHJlYWRhYmlsaXR5ID0gdGlueWNvbG9yLnJlYWRhYmlsaXR5KGJhc2VDb2xvciwgY29sb3JMaXN0W2ldKTtcbiAgICAgICAgaWYgKHJlYWRhYmlsaXR5ID4gYmVzdFNjb3JlKSB7XG4gICAgICAgICAgICBiZXN0U2NvcmUgPSByZWFkYWJpbGl0eTtcbiAgICAgICAgICAgIGJlc3RDb2xvciA9IHRpbnljb2xvcihjb2xvckxpc3RbaV0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHRpbnljb2xvci5pc1JlYWRhYmxlKGJhc2VDb2xvciwgYmVzdENvbG9yLCB7XCJsZXZlbFwiOmxldmVsLFwic2l6ZVwiOnNpemV9KSB8fCAhaW5jbHVkZUZhbGxiYWNrQ29sb3JzKSB7XG4gICAgICAgIHJldHVybiBiZXN0Q29sb3I7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICBhcmdzLmluY2x1ZGVGYWxsYmFja0NvbG9ycz1mYWxzZTtcbiAgICAgICAgcmV0dXJuIHRpbnljb2xvci5tb3N0UmVhZGFibGUoYmFzZUNvbG9yLFtcIiNmZmZcIiwgXCIjMDAwXCJdLGFyZ3MpO1xuICAgIH1cbn07XG5cbi8vIEJpZyBMaXN0IG9mIENvbG9yc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyA8aHR0cDovL3d3dy53My5vcmcvVFIvY3NzMy1jb2xvci8jc3ZnLWNvbG9yPlxudmFyIG5hbWVzID0gdGlueWNvbG9yLm5hbWVzID0ge1xuICAgIGFsaWNlYmx1ZTogXCJmMGY4ZmZcIixcbiAgICBhbnRpcXVld2hpdGU6IFwiZmFlYmQ3XCIsXG4gICAgYXF1YTogXCIwZmZcIixcbiAgICBhcXVhbWFyaW5lOiBcIjdmZmZkNFwiLFxuICAgIGF6dXJlOiBcImYwZmZmZlwiLFxuICAgIGJlaWdlOiBcImY1ZjVkY1wiLFxuICAgIGJpc3F1ZTogXCJmZmU0YzRcIixcbiAgICBibGFjazogXCIwMDBcIixcbiAgICBibGFuY2hlZGFsbW9uZDogXCJmZmViY2RcIixcbiAgICBibHVlOiBcIjAwZlwiLFxuICAgIGJsdWV2aW9sZXQ6IFwiOGEyYmUyXCIsXG4gICAgYnJvd246IFwiYTUyYTJhXCIsXG4gICAgYnVybHl3b29kOiBcImRlYjg4N1wiLFxuICAgIGJ1cm50c2llbm5hOiBcImVhN2U1ZFwiLFxuICAgIGNhZGV0Ymx1ZTogXCI1ZjllYTBcIixcbiAgICBjaGFydHJldXNlOiBcIjdmZmYwMFwiLFxuICAgIGNob2NvbGF0ZTogXCJkMjY5MWVcIixcbiAgICBjb3JhbDogXCJmZjdmNTBcIixcbiAgICBjb3JuZmxvd2VyYmx1ZTogXCI2NDk1ZWRcIixcbiAgICBjb3Juc2lsazogXCJmZmY4ZGNcIixcbiAgICBjcmltc29uOiBcImRjMTQzY1wiLFxuICAgIGN5YW46IFwiMGZmXCIsXG4gICAgZGFya2JsdWU6IFwiMDAwMDhiXCIsXG4gICAgZGFya2N5YW46IFwiMDA4YjhiXCIsXG4gICAgZGFya2dvbGRlbnJvZDogXCJiODg2MGJcIixcbiAgICBkYXJrZ3JheTogXCJhOWE5YTlcIixcbiAgICBkYXJrZ3JlZW46IFwiMDA2NDAwXCIsXG4gICAgZGFya2dyZXk6IFwiYTlhOWE5XCIsXG4gICAgZGFya2toYWtpOiBcImJkYjc2YlwiLFxuICAgIGRhcmttYWdlbnRhOiBcIjhiMDA4YlwiLFxuICAgIGRhcmtvbGl2ZWdyZWVuOiBcIjU1NmIyZlwiLFxuICAgIGRhcmtvcmFuZ2U6IFwiZmY4YzAwXCIsXG4gICAgZGFya29yY2hpZDogXCI5OTMyY2NcIixcbiAgICBkYXJrcmVkOiBcIjhiMDAwMFwiLFxuICAgIGRhcmtzYWxtb246IFwiZTk5NjdhXCIsXG4gICAgZGFya3NlYWdyZWVuOiBcIjhmYmM4ZlwiLFxuICAgIGRhcmtzbGF0ZWJsdWU6IFwiNDgzZDhiXCIsXG4gICAgZGFya3NsYXRlZ3JheTogXCIyZjRmNGZcIixcbiAgICBkYXJrc2xhdGVncmV5OiBcIjJmNGY0ZlwiLFxuICAgIGRhcmt0dXJxdW9pc2U6IFwiMDBjZWQxXCIsXG4gICAgZGFya3Zpb2xldDogXCI5NDAwZDNcIixcbiAgICBkZWVwcGluazogXCJmZjE0OTNcIixcbiAgICBkZWVwc2t5Ymx1ZTogXCIwMGJmZmZcIixcbiAgICBkaW1ncmF5OiBcIjY5Njk2OVwiLFxuICAgIGRpbWdyZXk6IFwiNjk2OTY5XCIsXG4gICAgZG9kZ2VyYmx1ZTogXCIxZTkwZmZcIixcbiAgICBmaXJlYnJpY2s6IFwiYjIyMjIyXCIsXG4gICAgZmxvcmFsd2hpdGU6IFwiZmZmYWYwXCIsXG4gICAgZm9yZXN0Z3JlZW46IFwiMjI4YjIyXCIsXG4gICAgZnVjaHNpYTogXCJmMGZcIixcbiAgICBnYWluc2Jvcm86IFwiZGNkY2RjXCIsXG4gICAgZ2hvc3R3aGl0ZTogXCJmOGY4ZmZcIixcbiAgICBnb2xkOiBcImZmZDcwMFwiLFxuICAgIGdvbGRlbnJvZDogXCJkYWE1MjBcIixcbiAgICBncmF5OiBcIjgwODA4MFwiLFxuICAgIGdyZWVuOiBcIjAwODAwMFwiLFxuICAgIGdyZWVueWVsbG93OiBcImFkZmYyZlwiLFxuICAgIGdyZXk6IFwiODA4MDgwXCIsXG4gICAgaG9uZXlkZXc6IFwiZjBmZmYwXCIsXG4gICAgaG90cGluazogXCJmZjY5YjRcIixcbiAgICBpbmRpYW5yZWQ6IFwiY2Q1YzVjXCIsXG4gICAgaW5kaWdvOiBcIjRiMDA4MlwiLFxuICAgIGl2b3J5OiBcImZmZmZmMFwiLFxuICAgIGtoYWtpOiBcImYwZTY4Y1wiLFxuICAgIGxhdmVuZGVyOiBcImU2ZTZmYVwiLFxuICAgIGxhdmVuZGVyYmx1c2g6IFwiZmZmMGY1XCIsXG4gICAgbGF3bmdyZWVuOiBcIjdjZmMwMFwiLFxuICAgIGxlbW9uY2hpZmZvbjogXCJmZmZhY2RcIixcbiAgICBsaWdodGJsdWU6IFwiYWRkOGU2XCIsXG4gICAgbGlnaHRjb3JhbDogXCJmMDgwODBcIixcbiAgICBsaWdodGN5YW46IFwiZTBmZmZmXCIsXG4gICAgbGlnaHRnb2xkZW5yb2R5ZWxsb3c6IFwiZmFmYWQyXCIsXG4gICAgbGlnaHRncmF5OiBcImQzZDNkM1wiLFxuICAgIGxpZ2h0Z3JlZW46IFwiOTBlZTkwXCIsXG4gICAgbGlnaHRncmV5OiBcImQzZDNkM1wiLFxuICAgIGxpZ2h0cGluazogXCJmZmI2YzFcIixcbiAgICBsaWdodHNhbG1vbjogXCJmZmEwN2FcIixcbiAgICBsaWdodHNlYWdyZWVuOiBcIjIwYjJhYVwiLFxuICAgIGxpZ2h0c2t5Ymx1ZTogXCI4N2NlZmFcIixcbiAgICBsaWdodHNsYXRlZ3JheTogXCI3ODlcIixcbiAgICBsaWdodHNsYXRlZ3JleTogXCI3ODlcIixcbiAgICBsaWdodHN0ZWVsYmx1ZTogXCJiMGM0ZGVcIixcbiAgICBsaWdodHllbGxvdzogXCJmZmZmZTBcIixcbiAgICBsaW1lOiBcIjBmMFwiLFxuICAgIGxpbWVncmVlbjogXCIzMmNkMzJcIixcbiAgICBsaW5lbjogXCJmYWYwZTZcIixcbiAgICBtYWdlbnRhOiBcImYwZlwiLFxuICAgIG1hcm9vbjogXCI4MDAwMDBcIixcbiAgICBtZWRpdW1hcXVhbWFyaW5lOiBcIjY2Y2RhYVwiLFxuICAgIG1lZGl1bWJsdWU6IFwiMDAwMGNkXCIsXG4gICAgbWVkaXVtb3JjaGlkOiBcImJhNTVkM1wiLFxuICAgIG1lZGl1bXB1cnBsZTogXCI5MzcwZGJcIixcbiAgICBtZWRpdW1zZWFncmVlbjogXCIzY2IzNzFcIixcbiAgICBtZWRpdW1zbGF0ZWJsdWU6IFwiN2I2OGVlXCIsXG4gICAgbWVkaXVtc3ByaW5nZ3JlZW46IFwiMDBmYTlhXCIsXG4gICAgbWVkaXVtdHVycXVvaXNlOiBcIjQ4ZDFjY1wiLFxuICAgIG1lZGl1bXZpb2xldHJlZDogXCJjNzE1ODVcIixcbiAgICBtaWRuaWdodGJsdWU6IFwiMTkxOTcwXCIsXG4gICAgbWludGNyZWFtOiBcImY1ZmZmYVwiLFxuICAgIG1pc3R5cm9zZTogXCJmZmU0ZTFcIixcbiAgICBtb2NjYXNpbjogXCJmZmU0YjVcIixcbiAgICBuYXZham93aGl0ZTogXCJmZmRlYWRcIixcbiAgICBuYXZ5OiBcIjAwMDA4MFwiLFxuICAgIG9sZGxhY2U6IFwiZmRmNWU2XCIsXG4gICAgb2xpdmU6IFwiODA4MDAwXCIsXG4gICAgb2xpdmVkcmFiOiBcIjZiOGUyM1wiLFxuICAgIG9yYW5nZTogXCJmZmE1MDBcIixcbiAgICBvcmFuZ2VyZWQ6IFwiZmY0NTAwXCIsXG4gICAgb3JjaGlkOiBcImRhNzBkNlwiLFxuICAgIHBhbGVnb2xkZW5yb2Q6IFwiZWVlOGFhXCIsXG4gICAgcGFsZWdyZWVuOiBcIjk4ZmI5OFwiLFxuICAgIHBhbGV0dXJxdW9pc2U6IFwiYWZlZWVlXCIsXG4gICAgcGFsZXZpb2xldHJlZDogXCJkYjcwOTNcIixcbiAgICBwYXBheWF3aGlwOiBcImZmZWZkNVwiLFxuICAgIHBlYWNocHVmZjogXCJmZmRhYjlcIixcbiAgICBwZXJ1OiBcImNkODUzZlwiLFxuICAgIHBpbms6IFwiZmZjMGNiXCIsXG4gICAgcGx1bTogXCJkZGEwZGRcIixcbiAgICBwb3dkZXJibHVlOiBcImIwZTBlNlwiLFxuICAgIHB1cnBsZTogXCI4MDAwODBcIixcbiAgICByZWJlY2NhcHVycGxlOiBcIjY2MzM5OVwiLFxuICAgIHJlZDogXCJmMDBcIixcbiAgICByb3N5YnJvd246IFwiYmM4ZjhmXCIsXG4gICAgcm95YWxibHVlOiBcIjQxNjllMVwiLFxuICAgIHNhZGRsZWJyb3duOiBcIjhiNDUxM1wiLFxuICAgIHNhbG1vbjogXCJmYTgwNzJcIixcbiAgICBzYW5keWJyb3duOiBcImY0YTQ2MFwiLFxuICAgIHNlYWdyZWVuOiBcIjJlOGI1N1wiLFxuICAgIHNlYXNoZWxsOiBcImZmZjVlZVwiLFxuICAgIHNpZW5uYTogXCJhMDUyMmRcIixcbiAgICBzaWx2ZXI6IFwiYzBjMGMwXCIsXG4gICAgc2t5Ymx1ZTogXCI4N2NlZWJcIixcbiAgICBzbGF0ZWJsdWU6IFwiNmE1YWNkXCIsXG4gICAgc2xhdGVncmF5OiBcIjcwODA5MFwiLFxuICAgIHNsYXRlZ3JleTogXCI3MDgwOTBcIixcbiAgICBzbm93OiBcImZmZmFmYVwiLFxuICAgIHNwcmluZ2dyZWVuOiBcIjAwZmY3ZlwiLFxuICAgIHN0ZWVsYmx1ZTogXCI0NjgyYjRcIixcbiAgICB0YW46IFwiZDJiNDhjXCIsXG4gICAgdGVhbDogXCIwMDgwODBcIixcbiAgICB0aGlzdGxlOiBcImQ4YmZkOFwiLFxuICAgIHRvbWF0bzogXCJmZjYzNDdcIixcbiAgICB0dXJxdW9pc2U6IFwiNDBlMGQwXCIsXG4gICAgdmlvbGV0OiBcImVlODJlZVwiLFxuICAgIHdoZWF0OiBcImY1ZGViM1wiLFxuICAgIHdoaXRlOiBcImZmZlwiLFxuICAgIHdoaXRlc21va2U6IFwiZjVmNWY1XCIsXG4gICAgeWVsbG93OiBcImZmMFwiLFxuICAgIHllbGxvd2dyZWVuOiBcIjlhY2QzMlwiXG59O1xuXG4vLyBNYWtlIGl0IGVhc3kgdG8gYWNjZXNzIGNvbG9ycyB2aWEgaGV4TmFtZXNbaGV4XVxudmFyIGhleE5hbWVzID0gdGlueWNvbG9yLmhleE5hbWVzID0gZmxpcChuYW1lcyk7XG5cbi8vIFV0aWxpdGllc1xuLy8gLS0tLS0tLS0tXG5cbi8vIHsgJ25hbWUxJzogJ3ZhbDEnIH0gYmVjb21lcyB7ICd2YWwxJzogJ25hbWUxJyB9XG5mdW5jdGlvbiBmbGlwKG8pIHtcbiAgICB2YXIgZmxpcHBlZCA9IHsgfTtcbiAgICBmb3IgKHZhciBpIGluIG8pIHtcbiAgICAgICAgaWYgKG8uaGFzT3duUHJvcGVydHkoaSkpIHtcbiAgICAgICAgICAgIGZsaXBwZWRbb1tpXV0gPSBpO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBmbGlwcGVkO1xufVxuXG4vLyBSZXR1cm4gYSB2YWxpZCBhbHBoYSB2YWx1ZSBbMCwxXSB3aXRoIGFsbCBpbnZhbGlkIHZhbHVlcyBiZWluZyBzZXQgdG8gMVxuZnVuY3Rpb24gYm91bmRBbHBoYShhKSB7XG4gICAgYSA9IHBhcnNlRmxvYXQoYSk7XG5cbiAgICBpZiAoaXNOYU4oYSkgfHwgYSA8IDAgfHwgYSA+IDEpIHtcbiAgICAgICAgYSA9IDE7XG4gICAgfVxuXG4gICAgcmV0dXJuIGE7XG59XG5cbi8vIFRha2UgaW5wdXQgZnJvbSBbMCwgbl0gYW5kIHJldHVybiBpdCBhcyBbMCwgMV1cbmZ1bmN0aW9uIGJvdW5kMDEobiwgbWF4KSB7XG4gICAgaWYgKGlzT25lUG9pbnRaZXJvKG4pKSB7IG4gPSBcIjEwMCVcIjsgfVxuXG4gICAgdmFyIHByb2Nlc3NQZXJjZW50ID0gaXNQZXJjZW50YWdlKG4pO1xuICAgIG4gPSBtYXRoTWluKG1heCwgbWF0aE1heCgwLCBwYXJzZUZsb2F0KG4pKSk7XG5cbiAgICAvLyBBdXRvbWF0aWNhbGx5IGNvbnZlcnQgcGVyY2VudGFnZSBpbnRvIG51bWJlclxuICAgIGlmIChwcm9jZXNzUGVyY2VudCkge1xuICAgICAgICBuID0gcGFyc2VJbnQobiAqIG1heCwgMTApIC8gMTAwO1xuICAgIH1cblxuICAgIC8vIEhhbmRsZSBmbG9hdGluZyBwb2ludCByb3VuZGluZyBlcnJvcnNcbiAgICBpZiAoKE1hdGguYWJzKG4gLSBtYXgpIDwgMC4wMDAwMDEpKSB7XG4gICAgICAgIHJldHVybiAxO1xuICAgIH1cblxuICAgIC8vIENvbnZlcnQgaW50byBbMCwgMV0gcmFuZ2UgaWYgaXQgaXNuJ3QgYWxyZWFkeVxuICAgIHJldHVybiAobiAlIG1heCkgLyBwYXJzZUZsb2F0KG1heCk7XG59XG5cbi8vIEZvcmNlIGEgbnVtYmVyIGJldHdlZW4gMCBhbmQgMVxuZnVuY3Rpb24gY2xhbXAwMSh2YWwpIHtcbiAgICByZXR1cm4gbWF0aE1pbigxLCBtYXRoTWF4KDAsIHZhbCkpO1xufVxuXG4vLyBQYXJzZSBhIGJhc2UtMTYgaGV4IHZhbHVlIGludG8gYSBiYXNlLTEwIGludGVnZXJcbmZ1bmN0aW9uIHBhcnNlSW50RnJvbUhleCh2YWwpIHtcbiAgICByZXR1cm4gcGFyc2VJbnQodmFsLCAxNik7XG59XG5cbi8vIE5lZWQgdG8gaGFuZGxlIDEuMCBhcyAxMDAlLCBzaW5jZSBvbmNlIGl0IGlzIGEgbnVtYmVyLCB0aGVyZSBpcyBubyBkaWZmZXJlbmNlIGJldHdlZW4gaXQgYW5kIDFcbi8vIDxodHRwOi8vc3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zLzc0MjIwNzIvamF2YXNjcmlwdC1ob3ctdG8tZGV0ZWN0LW51bWJlci1hcy1hLWRlY2ltYWwtaW5jbHVkaW5nLTEtMD5cbmZ1bmN0aW9uIGlzT25lUG9pbnRaZXJvKG4pIHtcbiAgICByZXR1cm4gdHlwZW9mIG4gPT0gXCJzdHJpbmdcIiAmJiBuLmluZGV4T2YoJy4nKSAhPSAtMSAmJiBwYXJzZUZsb2F0KG4pID09PSAxO1xufVxuXG4vLyBDaGVjayB0byBzZWUgaWYgc3RyaW5nIHBhc3NlZCBpbiBpcyBhIHBlcmNlbnRhZ2VcbmZ1bmN0aW9uIGlzUGVyY2VudGFnZShuKSB7XG4gICAgcmV0dXJuIHR5cGVvZiBuID09PSBcInN0cmluZ1wiICYmIG4uaW5kZXhPZignJScpICE9IC0xO1xufVxuXG4vLyBGb3JjZSBhIGhleCB2YWx1ZSB0byBoYXZlIDIgY2hhcmFjdGVyc1xuZnVuY3Rpb24gcGFkMihjKSB7XG4gICAgcmV0dXJuIGMubGVuZ3RoID09IDEgPyAnMCcgKyBjIDogJycgKyBjO1xufVxuXG4vLyBSZXBsYWNlIGEgZGVjaW1hbCB3aXRoIGl0J3MgcGVyY2VudGFnZSB2YWx1ZVxuZnVuY3Rpb24gY29udmVydFRvUGVyY2VudGFnZShuKSB7XG4gICAgaWYgKG4gPD0gMSkge1xuICAgICAgICBuID0gKG4gKiAxMDApICsgXCIlXCI7XG4gICAgfVxuXG4gICAgcmV0dXJuIG47XG59XG5cbi8vIENvbnZlcnRzIGEgZGVjaW1hbCB0byBhIGhleCB2YWx1ZVxuZnVuY3Rpb24gY29udmVydERlY2ltYWxUb0hleChkKSB7XG4gICAgcmV0dXJuIE1hdGgucm91bmQocGFyc2VGbG9hdChkKSAqIDI1NSkudG9TdHJpbmcoMTYpO1xufVxuLy8gQ29udmVydHMgYSBoZXggdmFsdWUgdG8gYSBkZWNpbWFsXG5mdW5jdGlvbiBjb252ZXJ0SGV4VG9EZWNpbWFsKGgpIHtcbiAgICByZXR1cm4gKHBhcnNlSW50RnJvbUhleChoKSAvIDI1NSk7XG59XG5cbnZhciBtYXRjaGVycyA9IChmdW5jdGlvbigpIHtcblxuICAgIC8vIDxodHRwOi8vd3d3LnczLm9yZy9UUi9jc3MzLXZhbHVlcy8jaW50ZWdlcnM+XG4gICAgdmFyIENTU19JTlRFR0VSID0gXCJbLVxcXFwrXT9cXFxcZCslP1wiO1xuXG4gICAgLy8gPGh0dHA6Ly93d3cudzMub3JnL1RSL2NzczMtdmFsdWVzLyNudW1iZXItdmFsdWU+XG4gICAgdmFyIENTU19OVU1CRVIgPSBcIlstXFxcXCtdP1xcXFxkKlxcXFwuXFxcXGQrJT9cIjtcblxuICAgIC8vIEFsbG93IHBvc2l0aXZlL25lZ2F0aXZlIGludGVnZXIvbnVtYmVyLiAgRG9uJ3QgY2FwdHVyZSB0aGUgZWl0aGVyL29yLCBqdXN0IHRoZSBlbnRpcmUgb3V0Y29tZS5cbiAgICB2YXIgQ1NTX1VOSVQgPSBcIig/OlwiICsgQ1NTX05VTUJFUiArIFwiKXwoPzpcIiArIENTU19JTlRFR0VSICsgXCIpXCI7XG5cbiAgICAvLyBBY3R1YWwgbWF0Y2hpbmcuXG4gICAgLy8gUGFyZW50aGVzZXMgYW5kIGNvbW1hcyBhcmUgb3B0aW9uYWwsIGJ1dCBub3QgcmVxdWlyZWQuXG4gICAgLy8gV2hpdGVzcGFjZSBjYW4gdGFrZSB0aGUgcGxhY2Ugb2YgY29tbWFzIG9yIG9wZW5pbmcgcGFyZW5cbiAgICB2YXIgUEVSTUlTU0lWRV9NQVRDSDMgPSBcIltcXFxcc3xcXFxcKF0rKFwiICsgQ1NTX1VOSVQgKyBcIilbLHxcXFxcc10rKFwiICsgQ1NTX1VOSVQgKyBcIilbLHxcXFxcc10rKFwiICsgQ1NTX1VOSVQgKyBcIilcXFxccypcXFxcKT9cIjtcbiAgICB2YXIgUEVSTUlTU0lWRV9NQVRDSDQgPSBcIltcXFxcc3xcXFxcKF0rKFwiICsgQ1NTX1VOSVQgKyBcIilbLHxcXFxcc10rKFwiICsgQ1NTX1VOSVQgKyBcIilbLHxcXFxcc10rKFwiICsgQ1NTX1VOSVQgKyBcIilbLHxcXFxcc10rKFwiICsgQ1NTX1VOSVQgKyBcIilcXFxccypcXFxcKT9cIjtcblxuICAgIHJldHVybiB7XG4gICAgICAgIENTU19VTklUOiBuZXcgUmVnRXhwKENTU19VTklUKSxcbiAgICAgICAgcmdiOiBuZXcgUmVnRXhwKFwicmdiXCIgKyBQRVJNSVNTSVZFX01BVENIMyksXG4gICAgICAgIHJnYmE6IG5ldyBSZWdFeHAoXCJyZ2JhXCIgKyBQRVJNSVNTSVZFX01BVENINCksXG4gICAgICAgIGhzbDogbmV3IFJlZ0V4cChcImhzbFwiICsgUEVSTUlTU0lWRV9NQVRDSDMpLFxuICAgICAgICBoc2xhOiBuZXcgUmVnRXhwKFwiaHNsYVwiICsgUEVSTUlTU0lWRV9NQVRDSDQpLFxuICAgICAgICBoc3Y6IG5ldyBSZWdFeHAoXCJoc3ZcIiArIFBFUk1JU1NJVkVfTUFUQ0gzKSxcbiAgICAgICAgaHN2YTogbmV3IFJlZ0V4cChcImhzdmFcIiArIFBFUk1JU1NJVkVfTUFUQ0g0KSxcbiAgICAgICAgaGV4MzogL14jPyhbMC05YS1mQS1GXXsxfSkoWzAtOWEtZkEtRl17MX0pKFswLTlhLWZBLUZdezF9KSQvLFxuICAgICAgICBoZXg2OiAvXiM/KFswLTlhLWZBLUZdezJ9KShbMC05YS1mQS1GXXsyfSkoWzAtOWEtZkEtRl17Mn0pJC8sXG4gICAgICAgIGhleDQ6IC9eIz8oWzAtOWEtZkEtRl17MX0pKFswLTlhLWZBLUZdezF9KShbMC05YS1mQS1GXXsxfSkoWzAtOWEtZkEtRl17MX0pJC8sXG4gICAgICAgIGhleDg6IC9eIz8oWzAtOWEtZkEtRl17Mn0pKFswLTlhLWZBLUZdezJ9KShbMC05YS1mQS1GXXsyfSkoWzAtOWEtZkEtRl17Mn0pJC9cbiAgICB9O1xufSkoKTtcblxuLy8gaXNWYWxpZENTU1VuaXRcbi8vIFRha2UgaW4gYSBzaW5nbGUgc3RyaW5nIC8gbnVtYmVyIGFuZCBjaGVjayB0byBzZWUgaWYgaXQgbG9va3MgbGlrZSBhIENTUyB1bml0XG4vLyAoc2VlIG1hdGNoZXJzIGFib3ZlIGZvciBkZWZpbml0aW9uKS5cbmZ1bmN0aW9uIGlzVmFsaWRDU1NVbml0KGNvbG9yKSB7XG4gICAgcmV0dXJuICEhbWF0Y2hlcnMuQ1NTX1VOSVQuZXhlYyhjb2xvcik7XG59XG5cbi8vIHN0cmluZ0lucHV0VG9PYmplY3Rcbi8vIFBlcm1pc3NpdmUgc3RyaW5nIHBhcnNpbmcuICBUYWtlIGluIGEgbnVtYmVyIG9mIGZvcm1hdHMsIGFuZCBvdXRwdXQgYW4gb2JqZWN0XG4vLyBiYXNlZCBvbiBkZXRlY3RlZCBmb3JtYXQuICBSZXR1cm5zIHsgciwgZywgYiB9IG9yIHsgaCwgcywgbCB9IG9yIHsgaCwgcywgdn1cbmZ1bmN0aW9uIHN0cmluZ0lucHV0VG9PYmplY3QoY29sb3IpIHtcblxuICAgIGNvbG9yID0gY29sb3IucmVwbGFjZSh0cmltTGVmdCwgJycpLnJlcGxhY2UodHJpbVJpZ2h0LCAnJykudG9Mb3dlckNhc2UoKTtcbiAgICB2YXIgbmFtZWQgPSBmYWxzZTtcbiAgICBpZiAobmFtZXNbY29sb3JdKSB7XG4gICAgICAgIGNvbG9yID0gbmFtZXNbY29sb3JdO1xuICAgICAgICBuYW1lZCA9IHRydWU7XG4gICAgfVxuICAgIGVsc2UgaWYgKGNvbG9yID09ICd0cmFuc3BhcmVudCcpIHtcbiAgICAgICAgcmV0dXJuIHsgcjogMCwgZzogMCwgYjogMCwgYTogMCwgZm9ybWF0OiBcIm5hbWVcIiB9O1xuICAgIH1cblxuICAgIC8vIFRyeSB0byBtYXRjaCBzdHJpbmcgaW5wdXQgdXNpbmcgcmVndWxhciBleHByZXNzaW9ucy5cbiAgICAvLyBLZWVwIG1vc3Qgb2YgdGhlIG51bWJlciBib3VuZGluZyBvdXQgb2YgdGhpcyBmdW5jdGlvbiAtIGRvbid0IHdvcnJ5IGFib3V0IFswLDFdIG9yIFswLDEwMF0gb3IgWzAsMzYwXVxuICAgIC8vIEp1c3QgcmV0dXJuIGFuIG9iamVjdCBhbmQgbGV0IHRoZSBjb252ZXJzaW9uIGZ1bmN0aW9ucyBoYW5kbGUgdGhhdC5cbiAgICAvLyBUaGlzIHdheSB0aGUgcmVzdWx0IHdpbGwgYmUgdGhlIHNhbWUgd2hldGhlciB0aGUgdGlueWNvbG9yIGlzIGluaXRpYWxpemVkIHdpdGggc3RyaW5nIG9yIG9iamVjdC5cbiAgICB2YXIgbWF0Y2g7XG4gICAgaWYgKChtYXRjaCA9IG1hdGNoZXJzLnJnYi5leGVjKGNvbG9yKSkpIHtcbiAgICAgICAgcmV0dXJuIHsgcjogbWF0Y2hbMV0sIGc6IG1hdGNoWzJdLCBiOiBtYXRjaFszXSB9O1xuICAgIH1cbiAgICBpZiAoKG1hdGNoID0gbWF0Y2hlcnMucmdiYS5leGVjKGNvbG9yKSkpIHtcbiAgICAgICAgcmV0dXJuIHsgcjogbWF0Y2hbMV0sIGc6IG1hdGNoWzJdLCBiOiBtYXRjaFszXSwgYTogbWF0Y2hbNF0gfTtcbiAgICB9XG4gICAgaWYgKChtYXRjaCA9IG1hdGNoZXJzLmhzbC5leGVjKGNvbG9yKSkpIHtcbiAgICAgICAgcmV0dXJuIHsgaDogbWF0Y2hbMV0sIHM6IG1hdGNoWzJdLCBsOiBtYXRjaFszXSB9O1xuICAgIH1cbiAgICBpZiAoKG1hdGNoID0gbWF0Y2hlcnMuaHNsYS5leGVjKGNvbG9yKSkpIHtcbiAgICAgICAgcmV0dXJuIHsgaDogbWF0Y2hbMV0sIHM6IG1hdGNoWzJdLCBsOiBtYXRjaFszXSwgYTogbWF0Y2hbNF0gfTtcbiAgICB9XG4gICAgaWYgKChtYXRjaCA9IG1hdGNoZXJzLmhzdi5leGVjKGNvbG9yKSkpIHtcbiAgICAgICAgcmV0dXJuIHsgaDogbWF0Y2hbMV0sIHM6IG1hdGNoWzJdLCB2OiBtYXRjaFszXSB9O1xuICAgIH1cbiAgICBpZiAoKG1hdGNoID0gbWF0Y2hlcnMuaHN2YS5leGVjKGNvbG9yKSkpIHtcbiAgICAgICAgcmV0dXJuIHsgaDogbWF0Y2hbMV0sIHM6IG1hdGNoWzJdLCB2OiBtYXRjaFszXSwgYTogbWF0Y2hbNF0gfTtcbiAgICB9XG4gICAgaWYgKChtYXRjaCA9IG1hdGNoZXJzLmhleDguZXhlYyhjb2xvcikpKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICByOiBwYXJzZUludEZyb21IZXgobWF0Y2hbMV0pLFxuICAgICAgICAgICAgZzogcGFyc2VJbnRGcm9tSGV4KG1hdGNoWzJdKSxcbiAgICAgICAgICAgIGI6IHBhcnNlSW50RnJvbUhleChtYXRjaFszXSksXG4gICAgICAgICAgICBhOiBjb252ZXJ0SGV4VG9EZWNpbWFsKG1hdGNoWzRdKSxcbiAgICAgICAgICAgIGZvcm1hdDogbmFtZWQgPyBcIm5hbWVcIiA6IFwiaGV4OFwiXG4gICAgICAgIH07XG4gICAgfVxuICAgIGlmICgobWF0Y2ggPSBtYXRjaGVycy5oZXg2LmV4ZWMoY29sb3IpKSkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgcjogcGFyc2VJbnRGcm9tSGV4KG1hdGNoWzFdKSxcbiAgICAgICAgICAgIGc6IHBhcnNlSW50RnJvbUhleChtYXRjaFsyXSksXG4gICAgICAgICAgICBiOiBwYXJzZUludEZyb21IZXgobWF0Y2hbM10pLFxuICAgICAgICAgICAgZm9ybWF0OiBuYW1lZCA/IFwibmFtZVwiIDogXCJoZXhcIlxuICAgICAgICB9O1xuICAgIH1cbiAgICBpZiAoKG1hdGNoID0gbWF0Y2hlcnMuaGV4NC5leGVjKGNvbG9yKSkpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHI6IHBhcnNlSW50RnJvbUhleChtYXRjaFsxXSArICcnICsgbWF0Y2hbMV0pLFxuICAgICAgICAgICAgZzogcGFyc2VJbnRGcm9tSGV4KG1hdGNoWzJdICsgJycgKyBtYXRjaFsyXSksXG4gICAgICAgICAgICBiOiBwYXJzZUludEZyb21IZXgobWF0Y2hbM10gKyAnJyArIG1hdGNoWzNdKSxcbiAgICAgICAgICAgIGE6IGNvbnZlcnRIZXhUb0RlY2ltYWwobWF0Y2hbNF0gKyAnJyArIG1hdGNoWzRdKSxcbiAgICAgICAgICAgIGZvcm1hdDogbmFtZWQgPyBcIm5hbWVcIiA6IFwiaGV4OFwiXG4gICAgICAgIH07XG4gICAgfVxuICAgIGlmICgobWF0Y2ggPSBtYXRjaGVycy5oZXgzLmV4ZWMoY29sb3IpKSkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgcjogcGFyc2VJbnRGcm9tSGV4KG1hdGNoWzFdICsgJycgKyBtYXRjaFsxXSksXG4gICAgICAgICAgICBnOiBwYXJzZUludEZyb21IZXgobWF0Y2hbMl0gKyAnJyArIG1hdGNoWzJdKSxcbiAgICAgICAgICAgIGI6IHBhcnNlSW50RnJvbUhleChtYXRjaFszXSArICcnICsgbWF0Y2hbM10pLFxuICAgICAgICAgICAgZm9ybWF0OiBuYW1lZCA/IFwibmFtZVwiIDogXCJoZXhcIlxuICAgICAgICB9O1xuICAgIH1cblxuICAgIHJldHVybiBmYWxzZTtcbn1cblxuZnVuY3Rpb24gdmFsaWRhdGVXQ0FHMlBhcm1zKHBhcm1zKSB7XG4gICAgLy8gcmV0dXJuIHZhbGlkIFdDQUcyIHBhcm1zIGZvciBpc1JlYWRhYmxlLlxuICAgIC8vIElmIGlucHV0IHBhcm1zIGFyZSBpbnZhbGlkLCByZXR1cm4ge1wibGV2ZWxcIjpcIkFBXCIsIFwic2l6ZVwiOlwic21hbGxcIn1cbiAgICB2YXIgbGV2ZWwsIHNpemU7XG4gICAgcGFybXMgPSBwYXJtcyB8fCB7XCJsZXZlbFwiOlwiQUFcIiwgXCJzaXplXCI6XCJzbWFsbFwifTtcbiAgICBsZXZlbCA9IChwYXJtcy5sZXZlbCB8fCBcIkFBXCIpLnRvVXBwZXJDYXNlKCk7XG4gICAgc2l6ZSA9IChwYXJtcy5zaXplIHx8IFwic21hbGxcIikudG9Mb3dlckNhc2UoKTtcbiAgICBpZiAobGV2ZWwgIT09IFwiQUFcIiAmJiBsZXZlbCAhPT0gXCJBQUFcIikge1xuICAgICAgICBsZXZlbCA9IFwiQUFcIjtcbiAgICB9XG4gICAgaWYgKHNpemUgIT09IFwic21hbGxcIiAmJiBzaXplICE9PSBcImxhcmdlXCIpIHtcbiAgICAgICAgc2l6ZSA9IFwic21hbGxcIjtcbiAgICB9XG4gICAgcmV0dXJuIHtcImxldmVsXCI6bGV2ZWwsIFwic2l6ZVwiOnNpemV9O1xufVxuXG50aGlzLnRpbnljb2xvciA9IHRpbnljb2xvcjtcblxufSkoKWA7XG59XG4vLyBJdCBpcyBoYWNreSB3YXkgdG8gbWFrZSB0aGlzIGZ1bmN0aW9uIHdpbGwgYmUgY29tcGlsZWQgcHJlZmVyZW50aWFsbHkgYnkgbGVzc1xuLy8gcmVzb2x2ZSBlcnJvcjogYFJlZmVyZW5jZUVycm9yOiBjb2xvclBhbGV0dGUgaXMgbm90IGRlZmluZWRgXG4vLyBodHRwczovL2dpdGh1Yi5jb20vYW50LWRlc2lnbi9hbnQtbW90aW9uL2lzc3Vlcy80NFxuLnRpbnlDb2xvck1peGluKCk7XG4iLCIvLyBTaXppbmcgc2hvcnRjdXRzXG5cbi5zaXplKEB3aWR0aDsgQGhlaWdodCkge1xuICB3aWR0aDogQHdpZHRoO1xuICBoZWlnaHQ6IEBoZWlnaHQ7XG59XG5cbi5zcXVhcmUoQHNpemUpIHtcbiAgLnNpemUoQHNpemU7IEBzaXplKTtcbn1cbiIsIi8qIHN0eWxlbGludC1kaXNhYmxlIGF0LXJ1bGUtbm8tdW5rbm93biAqL1xuXG4vLyBSZWJvb3Rcbi8vXG4vLyBOb3JtYWxpemF0aW9uIG9mIEhUTUwgZWxlbWVudHMsIG1hbnVhbGx5IGZvcmtlZCBmcm9tIE5vcm1hbGl6ZS5jc3MgdG8gcmVtb3ZlXG4vLyBzdHlsZXMgdGFyZ2V0aW5nIGlycmVsZXZhbnQgYnJvd3NlcnMgd2hpbGUgYXBwbHlpbmcgbmV3IHN0eWxlcy5cbi8vXG4vLyBOb3JtYWxpemUgaXMgbGljZW5zZWQgTUlULiBodHRwczovL2dpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzXG5cbi8vIEhUTUwgJiBCb2R5IHJlc2V0XG5Ae2h0bWwtc2VsZWN0b3J9LFxuYm9keSB7XG4gIC5zcXVhcmUoMTAwJSk7XG59XG5cbi8vIHJlbW92ZSB0aGUgY2xlYXIgYnV0dG9uIG9mIGEgdGV4dCBpbnB1dCBjb250cm9sIGluIElFMTArXG5pbnB1dDo6LW1zLWNsZWFyLFxuaW5wdXQ6Oi1tcy1yZXZlYWwge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vLyBEb2N1bWVudFxuLy9cbi8vIDEuIENoYW5nZSBmcm9tIGBib3gtc2l6aW5nOiBjb250ZW50LWJveGAgc28gdGhhdCBgd2lkdGhgIGlzIG5vdCBhZmZlY3RlZCBieSBgcGFkZGluZ2Agb3IgYGJvcmRlcmAuXG4vLyAyLiBDaGFuZ2UgdGhlIGRlZmF1bHQgZm9udCBmYW1pbHkgaW4gYWxsIGJyb3dzZXJzLlxuLy8gMy4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxuLy8gNC4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpbiBJRSBvbiBXaW5kb3dzIFBob25lIGFuZCBpbiBpT1MuXG4vLyA1LiBTZXR0aW5nIEB2aWV3cG9ydCBjYXVzZXMgc2Nyb2xsYmFycyB0byBvdmVybGFwIGNvbnRlbnQgaW4gSUUxMSBhbmQgRWRnZSwgc29cbi8vICAgIHdlIGZvcmNlIGEgbm9uLW92ZXJsYXBwaW5nLCBub24tYXV0by1oaWRpbmcgc2Nyb2xsYmFyIHRvIGNvdW50ZXJhY3QuXG4vLyA2LiBDaGFuZ2UgdGhlIGRlZmF1bHQgdGFwIGhpZ2hsaWdodCB0byBiZSBjb21wbGV0ZWx5IHRyYW5zcGFyZW50IGluIGlPUy5cblxuKixcbio6OmJlZm9yZSxcbio6OmFmdGVyIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLy8gMVxufVxuXG5Ae2h0bWwtc2VsZWN0b3J9IHtcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7IC8vIDJcbiAgbGluZS1oZWlnaHQ6IDEuMTU7IC8vIDNcbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvLyA0XG4gIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvLyA0XG4gIC1tcy1vdmVyZmxvdy1zdHlsZTogc2Nyb2xsYmFyOyAvLyA1XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogZmFkZShAYmxhY2ssIDAlKTsgLy8gNlxufVxuXG4vLyBJRTEwKyBkb2Vzbid0IGhvbm9yIGA8bWV0YSBuYW1lPVwidmlld3BvcnRcIj5gIGluIHNvbWUgY2FzZXMuXG5ALW1zLXZpZXdwb3J0IHtcbiAgd2lkdGg6IGRldmljZS13aWR0aDtcbn1cblxuLy8gQm9keVxuLy9cbi8vIDEuIHJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2Vycy5cbi8vIDIuIEFzIGEgYmVzdCBwcmFjdGljZSwgYXBwbHkgYSBkZWZhdWx0IGBib2R5LWJhY2tncm91bmRgLlxuXG5ib2R5IHtcbiAgbWFyZ2luOiAwOyAvLyAxXG4gIGNvbG9yOiBAdGV4dC1jb2xvcjtcbiAgZm9udC1zaXplOiBAZm9udC1zaXplLWJhc2U7XG4gIGZvbnQtZmFtaWx5OiBAZm9udC1mYW1pbHk7XG4gIGZvbnQtdmFyaWFudDogQGZvbnQtdmFyaWFudC1iYXNlO1xuICBsaW5lLWhlaWdodDogQGxpbmUtaGVpZ2h0LWJhc2U7XG4gIGJhY2tncm91bmQtY29sb3I6IEBib2R5LWJhY2tncm91bmQ7IC8vIDJcbiAgZm9udC1mZWF0dXJlLXNldHRpbmdzOiBAZm9udC1mZWF0dXJlLXNldHRpbmdzLWJhc2U7XG59XG5cbi8vIFN1cHByZXNzIHRoZSBmb2N1cyBvdXRsaW5lIG9uIGVsZW1lbnRzIHRoYXQgY2Fubm90IGJlIGFjY2Vzc2VkIHZpYSBrZXlib2FyZC5cbi8vIFRoaXMgcHJldmVudHMgYW4gdW53YW50ZWQgZm9jdXMgb3V0bGluZSBmcm9tIGFwcGVhcmluZyBhcm91bmQgZWxlbWVudHMgdGhhdFxuLy8gbWlnaHQgc3RpbGwgcmVzcG9uZCB0byBwb2ludGVyIGV2ZW50cy5cbi8vXG4vLyBDcmVkaXQ6IGh0dHBzOi8vZ2l0aHViLmNvbS9zdWl0Y3NzL2Jhc2Vcblt0YWJpbmRleD0nLTEnXTpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLy8gQ29udGVudCBncm91cGluZ1xuLy9cbi8vIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4vLyAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cblxuaHIge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLy8gMVxuICBoZWlnaHQ6IDA7IC8vIDFcbiAgb3ZlcmZsb3c6IHZpc2libGU7IC8vIDJcbn1cblxuLy9cbi8vIFR5cG9ncmFwaHlcbi8vXG5cbi8vIHJlbW92ZSB0b3AgbWFyZ2lucyBmcm9tIGhlYWRpbmdzXG4vL1xuLy8gQnkgZGVmYXVsdCwgYDxoMT5gLWA8aDY+YCBhbGwgcmVjZWl2ZSB0b3AgYW5kIGJvdHRvbSBtYXJnaW5zLiBXZSBudWtlIHRoZSB0b3Bcbi8vIG1hcmdpbiBmb3IgZWFzaWVyIGNvbnRyb2wgd2l0aGluIHR5cGUgc2NhbGVzIGFzIGl0IGF2b2lkcyBtYXJnaW4gY29sbGFwc2luZy5cbmgxLFxuaDIsXG5oMyxcbmg0LFxuaDUsXG5oNiB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDAuNWVtO1xuICBjb2xvcjogQGhlYWRpbmctY29sb3I7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5cbi8vIFJlc2V0IG1hcmdpbnMgb24gcGFyYWdyYXBoc1xuLy9cbi8vIFNpbWlsYXJseSwgdGhlIHRvcCBtYXJnaW4gb24gYDxwPmBzIGdldCByZXNldC4gSG93ZXZlciwgd2UgYWxzbyByZXNldCB0aGVcbi8vIGJvdHRvbSBtYXJnaW4gdG8gdXNlIGBlbWAgdW5pdHMgaW5zdGVhZCBvZiBgZW1gLlxucCB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDFlbTtcbn1cblxuLy8gQWJicmV2aWF0aW9uc1xuLy9cbi8vIDEuIHJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBGaXJlZm94IDM5LS5cbi8vIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXG4vLyAzLiBBZGQgZXhwbGljaXQgY3Vyc29yIHRvIGluZGljYXRlIGNoYW5nZWQgYmVoYXZpb3IuXG4vLyA0LiBEdXBsaWNhdGUgYmVoYXZpb3IgdG8gdGhlIGRhdGEtKiBhdHRyaWJ1dGUgZm9yIG91ciB0b29sdGlwIHBsdWdpblxuXG5hYmJyW3RpdGxlXSxcbmFiYnJbZGF0YS1vcmlnaW5hbC10aXRsZV0ge1xuICAvLyA0XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyAvLyAyXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDsgLy8gMlxuICBib3JkZXItYm90dG9tOiAwOyAvLyAxXG4gIGN1cnNvcjogaGVscDsgLy8gM1xufVxuXG5hZGRyZXNzIHtcbiAgbWFyZ2luLWJvdHRvbTogMWVtO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xufVxuXG5pbnB1dFt0eXBlPSd0ZXh0J10sXG5pbnB1dFt0eXBlPSdwYXNzd29yZCddLFxuaW5wdXRbdHlwZT0nbnVtYmVyJ10sXG50ZXh0YXJlYSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxub2wsXG51bCxcbmRsIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMWVtO1xufVxuXG5vbCBvbCxcbnVsIHVsLFxub2wgdWwsXG51bCBvbCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbmR0IHtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuZGQge1xuICBtYXJnaW4tYm90dG9tOiAwLjVlbTtcbiAgbWFyZ2luLWxlZnQ6IDA7IC8vIFVuZG8gYnJvd3NlciBkZWZhdWx0XG59XG5cbmJsb2NrcXVvdGUge1xuICBtYXJnaW46IDAgMCAxZW07XG59XG5cbmRmbiB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYzsgLy8gQWRkIHRoZSBjb3JyZWN0IGZvbnQgc3R5bGUgaW4gQW5kcm9pZCA0LjMtXG59XG5cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZGVyOyAvLyBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpXG59XG5cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7IC8vIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzXG59XG5cbi8vXG4vLyBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cbi8vIGFsbCBicm93c2Vycy5cbi8vXG5cbnN1YixcbnN1cCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTtcbn1cbnN1cCB7XG4gIHRvcDogLTAuNWVtO1xufVxuXG4vL1xuLy8gTGlua3Ncbi8vXG5cbmEge1xuICBjb2xvcjogQGxpbmstY29sb3I7XG4gIHRleHQtZGVjb3JhdGlvbjogQGxpbmstZGVjb3JhdGlvbjtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IC8vIHJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAgb3V0bGluZTogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjNzO1xuICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbi1za2lwOiBvYmplY3RzOyAvLyByZW1vdmUgZ2FwcyBpbiBsaW5rcyB1bmRlcmxpbmUgaW4gaU9TIDgrIGFuZCBTYWZhcmkgOCsuXG5cbiAgJjpob3ZlciB7XG4gICAgY29sb3I6IEBsaW5rLWhvdmVyLWNvbG9yO1xuICB9XG5cbiAgJjphY3RpdmUge1xuICAgIGNvbG9yOiBAbGluay1hY3RpdmUtY29sb3I7XG4gIH1cblxuICAmOmFjdGl2ZSxcbiAgJjpob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBAbGluay1ob3Zlci1kZWNvcmF0aW9uO1xuICAgIG91dGxpbmU6IDA7XG4gIH1cblxuICAvLyBodHRwczovL2dpdGh1Yi5jb20vYW50LWRlc2lnbi9hbnQtZGVzaWduL2lzc3Vlcy8yMjUwM1xuICAmOmZvY3VzIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IEBsaW5rLWZvY3VzLWRlY29yYXRpb247XG4gICAgb3V0bGluZTogQGxpbmstZm9jdXMtb3V0bGluZTtcbiAgfVxuXG4gICZbZGlzYWJsZWRdIHtcbiAgICBjb2xvcjogQGRpc2FibGVkLWNvbG9yO1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIH1cbn1cblxuLy9cbi8vIENvZGVcbi8vXG5cbnByZSxcbmNvZGUsXG5rYmQsXG5zYW1wIHtcbiAgZm9udC1zaXplOiAxZW07IC8vIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAgZm9udC1mYW1pbHk6IEBjb2RlLWZhbWlseTtcbn1cblxucHJlIHtcbiAgLy8gcmVtb3ZlIGJyb3dzZXIgZGVmYXVsdCB0b3AgbWFyZ2luXG4gIG1hcmdpbi10b3A6IDA7XG4gIC8vIFJlc2V0IGJyb3dzZXIgZGVmYXVsdCBvZiBgMWVtYCB0byB1c2UgYGVtYHNcbiAgbWFyZ2luLWJvdHRvbTogMWVtO1xuICAvLyBEb24ndCBhbGxvdyBjb250ZW50IHRvIGJyZWFrIG91dHNpZGVcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbi8vXG4vLyBGaWd1cmVzXG4vL1xuZmlndXJlIHtcbiAgLy8gQXBwbHkgYSBjb25zaXN0ZW50IG1hcmdpbiBzdHJhdGVneSAobWF0Y2hlcyBvdXIgdHlwZSBzdHlsZXMpLlxuICBtYXJnaW46IDAgMCAxZW07XG59XG5cbi8vXG4vLyBJbWFnZXMgYW5kIGNvbnRlbnRcbi8vXG5cbmltZyB7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGJvcmRlci1zdHlsZTogbm9uZTsgLy8gcmVtb3ZlIHRoZSBib3JkZXIgb24gaW1hZ2VzIGluc2lkZSBsaW5rcyBpbiBJRSAxMC0uXG59XG5cbnN2Zzpub3QoOnJvb3QpIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgLy8gSGlkZSB0aGUgb3ZlcmZsb3cgaW4gSUVcbn1cblxuLy8gQXZvaWQgMzAwbXMgY2xpY2sgZGVsYXkgb24gdG91Y2ggZGV2aWNlcyB0aGF0IHN1cHBvcnQgdGhlIGB0b3VjaC1hY3Rpb25gIENTUyBwcm9wZXJ0eS5cbi8vXG4vLyBJbiBwYXJ0aWN1bGFyLCB1bmxpa2UgbW9zdCBvdGhlciBicm93c2VycywgSUUxMStFZGdlIG9uIFdpbmRvd3MgMTAgb24gdG91Y2ggZGV2aWNlcyBhbmQgSUUgTW9iaWxlIDEwLTExXG4vLyBET04nVCByZW1vdmUgdGhlIGNsaWNrIGRlbGF5IHdoZW4gYDxtZXRhIG5hbWU9XCJ2aWV3cG9ydFwiIGNvbnRlbnQ9XCJ3aWR0aD1kZXZpY2Utd2lkdGhcIj5gIGlzIHByZXNlbnQuXG4vLyBIb3dldmVyLCB0aGV5IERPIHN1cHBvcnQgZW1vdmluZyB0aGUgY2xpY2sgZGVsYXkgdmlhIGB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbmAuXG4vLyBTZWU6XG4vLyAqIGh0dHBzOi8vZ2V0Ym9vdHN0cmFwLmNvbS9kb2NzLzQuMC9jb250ZW50L3JlYm9vdC8jY2xpY2stZGVsYXktb3B0aW1pemF0aW9uLWZvci10b3VjaFxuLy8gKiBodHRwOi8vY2FuaXVzZS5jb20vI2ZlYXQ9Y3NzLXRvdWNoLWFjdGlvblxuLy8gKiBodHRwczovL3BhdHJpY2tobGF1a2UuZ2l0aHViLmlvL3RvdWNoL3Rlc3RzL3Jlc3VsdHMvI3N1cHByZXNzaW5nLTMwMG1zLWRlbGF5XG5cbmEsXG5hcmVhLFxuYnV0dG9uLFxuW3JvbGU9J2J1dHRvbiddLFxuaW5wdXQ6bm90KFt0eXBlPSdyYW5nZSddKSxcbmxhYmVsLFxuc2VsZWN0LFxuc3VtbWFyeSxcbnRleHRhcmVhIHtcbiAgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XG59XG5cbi8vXG4vLyBUYWJsZXNcbi8vXG5cbnRhYmxlIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTsgLy8gUHJldmVudCBkb3VibGUgYm9yZGVyc1xufVxuXG5jYXB0aW9uIHtcbiAgcGFkZGluZy10b3A6IDAuNzVlbTtcbiAgcGFkZGluZy1ib3R0b206IDAuM2VtO1xuICBjb2xvcjogQHRleHQtY29sb3Itc2Vjb25kYXJ5O1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBjYXB0aW9uLXNpZGU6IGJvdHRvbTtcbn1cblxudGgge1xuICAvLyBNYXRjaGVzIGRlZmF1bHQgYDx0ZD5gIGFsaWdubWVudCBieSBpbmhlcml0aW5nIGZyb20gdGhlIGA8Ym9keT5gLCBvciB0aGVcbiAgLy8gY2xvc2VzdCBwYXJlbnQgd2l0aCBhIHNldCBgdGV4dC1hbGlnbmAuXG4gIHRleHQtYWxpZ246IGluaGVyaXQ7XG59XG5cbi8vXG4vLyBGb3Jtc1xuLy9cblxuaW5wdXQsXG5idXR0b24sXG5zZWxlY3QsXG5vcHRncm91cCxcbnRleHRhcmVhIHtcbiAgbWFyZ2luOiAwOyAvLyByZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmlcbiAgY29sb3I6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xufVxuXG5idXR0b24sXG5pbnB1dCB7XG4gIG92ZXJmbG93OiB2aXNpYmxlOyAvLyBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlXG59XG5cbmJ1dHRvbixcbnNlbGVjdCB7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lOyAvLyByZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3hcbn1cblxuLy8gMS4gUHJldmVudCBhIFdlYktpdCBidWcgd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gIGFuZCBgdmlkZW9gXG4vLyAgICBjb250cm9scyBpbiBBbmRyb2lkIDQuXG4vLyAyLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuYnV0dG9uLFxuQHtodG1sLXNlbGVjdG9yfSBbdHlwZT1cImJ1dHRvblwiXSwgLyogMSAqL1xuW3R5cGU9XCJyZXNldFwiXSxcblt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8vIDJcbn1cblxuLy8gcmVtb3ZlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBmcm9tIEZpcmVmb3gsIGJ1dCBkb24ndCByZXN0b3JlIHRoZSBvdXRsaW5lIGxpa2UgTm9ybWFsaXplLlxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9J2J1dHRvbiddOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9J3Jlc2V0J106Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT0nc3VibWl0J106Oi1tb3otZm9jdXMtaW5uZXIge1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG59XG5cbmlucHV0W3R5cGU9J3JhZGlvJ10sXG5pbnB1dFt0eXBlPSdjaGVja2JveCddIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLy8gMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAtXG4gIHBhZGRpbmc6IDA7IC8vIDIuIHJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMC1cbn1cblxuaW5wdXRbdHlwZT0nZGF0ZSddLFxuaW5wdXRbdHlwZT0ndGltZSddLFxuaW5wdXRbdHlwZT0nZGF0ZXRpbWUtbG9jYWwnXSxcbmlucHV0W3R5cGU9J21vbnRoJ10ge1xuICAvLyByZW1vdmUgdGhlIGRlZmF1bHQgYXBwZWFyYW5jZSBvZiB0ZW1wb3JhbCBpbnB1dHMgdG8gYXZvaWQgYSBNb2JpbGUgU2FmYXJpXG4gIC8vIGJ1ZyB3aGVyZSBzZXR0aW5nIGEgY3VzdG9tIGxpbmUtaGVpZ2h0IHByZXZlbnRzIHRleHQgZnJvbSBiZWluZyB2ZXJ0aWNhbGx5XG4gIC8vIGNlbnRlcmVkIHdpdGhpbiB0aGUgaW5wdXQuXG4gIC8vIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM5ODQ4XG4gIC8vIGFuZCBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzExMjY2XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbGlzdGJveDtcbn1cblxudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bzsgLy8gcmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRS5cbiAgLy8gVGV4dGFyZWFzIHNob3VsZCByZWFsbHkgb25seSByZXNpemUgdmVydGljYWxseSBzbyB0aGV5IGRvbid0IGJyZWFrIHRoZWlyIChob3Jpem9udGFsKSBjb250YWluZXJzLlxuICByZXNpemU6IHZlcnRpY2FsO1xufVxuXG5maWVsZHNldCB7XG4gIC8vIEJyb3dzZXJzIHNldCBhIGRlZmF1bHQgYG1pbi13aWR0aDogbWluLWNvbnRlbnQ7YCBvbiBmaWVsZHNldHMsXG4gIC8vIHVubGlrZSBlLmcuIGA8ZGl2PmBzLCB3aGljaCBoYXZlIGBtaW4td2lkdGg6IDA7YCBieSBkZWZhdWx0LlxuICAvLyBTbyB3ZSByZXNldCB0aGF0IHRvIGVuc3VyZSBmaWVsZHNldHMgYmVoYXZlIG1vcmUgbGlrZSBhIHN0YW5kYXJkIGJsb2NrIGVsZW1lbnQuXG4gIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzEyMzU5XG4gIC8vIGFuZCBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS8jdGhlLWZpZWxkc2V0LWFuZC1sZWdlbmQtZWxlbWVudHNcbiAgbWluLXdpZHRoOiAwO1xuICBtYXJnaW46IDA7XG4gIC8vIFJlc2V0IHRoZSBkZWZhdWx0IG91dGxpbmUgYmVoYXZpb3Igb2YgZmllbGRzZXRzIHNvIHRoZXkgZG9uJ3QgYWZmZWN0IHBhZ2UgbGF5b3V0LlxuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7XG59XG5cbi8vIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuXG4vLyAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG5sZWdlbmQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTsgLy8gMVxuICBtYXJnaW4tYm90dG9tOiAwLjVlbTtcbiAgcGFkZGluZzogMDtcbiAgY29sb3I6IGluaGVyaXQ7IC8vIDJcbiAgZm9udC1zaXplOiAxLjVlbTtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7IC8vIDFcbn1cblxucHJvZ3Jlc3Mge1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IC8vIEFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG59XG5cbi8vIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNlbWVudCBhbmQgZGVjZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG5bdHlwZT0nbnVtYmVyJ106Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5bdHlwZT0nbnVtYmVyJ106Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cblt0eXBlPSdzZWFyY2gnXSB7XG4gIC8vIFRoaXMgb3ZlcnJpZGVzIHRoZSBleHRyYSByb3VuZGVkIGNvcm5lcnMgb24gc2VhcmNoIGlucHV0cyBpbiBpT1Mgc28gdGhhdCBvdXJcbiAgLy8gYC5mb3JtLWNvbnRyb2xgIGNsYXNzIGNhbiBwcm9wZXJseSBzdHlsZSB0aGVtLiBOb3RlIHRoYXQgdGhpcyBjYW5ub3Qgc2ltcGx5XG4gIC8vIGJlIGFkZGVkIHRvIGAuZm9ybS1jb250cm9sYCBhcyBpdCdzIG5vdCBzcGVjaWZpYyBlbm91Z2guIEZvciBkZXRhaWxzLCBzZWVcbiAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMTU4Ni5cbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8vIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi8vXG4vLyByZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgYW5kIGNhbmNlbCBidXR0b25zIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxuLy9cblxuW3R5cGU9J3NlYXJjaCddOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuW3R5cGU9J3NlYXJjaCddOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4vL1xuLy8gMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbi8vIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cbi8vXG5cbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICBmb250OiBpbmhlcml0OyAvLyAyXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvLyAxXG59XG5cbi8vXG4vLyBDb3JyZWN0IGVsZW1lbnQgZGlzcGxheXNcbi8vXG5cbm91dHB1dCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGxpc3QtaXRlbTsgLy8gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzXG59XG5cbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTsgLy8gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUVcbn1cblxuLy8gQWx3YXlzIGhpZGUgYW4gZWxlbWVudCB3aXRoIHRoZSBgaGlkZGVuYCBIVE1MIGF0dHJpYnV0ZSAoZnJvbSBQdXJlQ1NTKS5cbi8vIE5lZWRlZCBmb3IgcHJvcGVyIGRpc3BsYXkgaW4gSUUgMTAtLlxuW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbm1hcmsge1xuICBwYWRkaW5nOiAwLjJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogQHllbGxvdy0xO1xufVxuXG46OnNlbGVjdGlvbiB7XG4gIGNvbG9yOiBAdGV4dC1jb2xvci1pbnZlcnNlO1xuICBiYWNrZ3JvdW5kOiBAdGV4dC1zZWxlY3Rpb24tYmc7XG59XG5cbi8vIFV0aWxpdHkgY2xhc3Nlc1xuLmNsZWFyZml4IHtcbiAgLmNsZWFyZml4KCk7XG59XG4iLCIvLyBtaXhpbnMgZm9yIGNsZWFyZml4XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5jbGVhcmZpeCgpIHtcbiAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2FudC1kZXNpZ24vYW50LWRlc2lnbi9pc3N1ZXMvMjEzMDEjaXNzdWVjb21tZW50LTU4Mzk1NTIyOVxuICAmOjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcnO1xuICB9XG4gICY6OmFmdGVyIHtcbiAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vYW50LWRlc2lnbi9hbnQtZGVzaWduL2lzc3Vlcy8yMTg2NFxuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGNvbnRlbnQ6ICcnO1xuICB9XG59XG4iLCIuaWNvbmZvbnQtbWl4aW4oKSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgY29sb3I6IEBpY29uLWNvbG9yO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICB2ZXJ0aWNhbC1hbGlnbjogLTAuMTI1ZW07IC8vIGZvciBTVkcgaWNvbiwgc2VlIGh0dHBzOi8vYmxvZy5wcm90b3R5cHIuaW8vYWxpZ24tc3ZnLWljb25zLXRvLXRleHQtYW5kLXNheS1nb29kYnllLXRvLWZvbnQtaWNvbnMtZDQ0YjNkN2IyNmI0XG4gIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuXG4gID4gKiB7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gIH1cblxuICBzdmcge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgfVxuXG4gICY6OmJlZm9yZSB7XG4gICAgZGlzcGxheTogbm9uZTsgLy8gZG9udCBkaXNwbGF5IG9sZCBpY29uLlxuICB9XG5cbiAgJiAmLWljb24ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG4iLCJAaW1wb3J0ICcuLi90aGVtZXMvaW5kZXgnO1xuQGltcG9ydCAnLi4vbWl4aW5zL2ljb25mb250JztcblxuLkB7aWNvbmZvbnQtY3NzLXByZWZpeH0ge1xuICAuaWNvbmZvbnQtbWl4aW4oKTtcblxuICAmW3RhYmluZGV4XSB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG59XG5cbi5Ae2ljb25mb250LWNzcy1wcmVmaXh9LXNwaW46OmJlZm9yZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYW5pbWF0aW9uOiBsb2FkaW5nQ2lyY2xlIDFzIGluZmluaXRlIGxpbmVhcjtcbn1cbi5Ae2ljb25mb250LWNzcy1wcmVmaXh9LXNwaW4ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGFuaW1hdGlvbjogbG9hZGluZ0NpcmNsZSAxcyBpbmZpbml0ZSBsaW5lYXI7XG59XG4iLCJAaW1wb3J0ICcuLi90aGVtZXMvaW5kZXgnO1xuXG4ubW90aW9uLWNvbW1vbihAZHVyYXRpb246IEBhbmltYXRpb24tZHVyYXRpb24tYmFzZSkge1xuICBhbmltYXRpb24tZHVyYXRpb246IEBkdXJhdGlvbjtcbiAgYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcbn1cblxuLm1vdGlvbi1jb21tb24tbGVhdmUoQGR1cmF0aW9uOiBAYW5pbWF0aW9uLWR1cmF0aW9uLWJhc2UpIHtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiBAZHVyYXRpb247XG4gIGFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XG59XG5cbi5tYWtlLW1vdGlvbihAY2xhc3NOYW1lLCBAa2V5ZnJhbWVOYW1lLCBAZHVyYXRpb246IEBhbmltYXRpb24tZHVyYXRpb24tYmFzZSkge1xuICAuQHtjbGFzc05hbWV9LWVudGVyLFxuICAuQHtjbGFzc05hbWV9LWFwcGVhciB7XG4gICAgLm1vdGlvbi1jb21tb24oQGR1cmF0aW9uKTtcblxuICAgIGFuaW1hdGlvbi1wbGF5LXN0YXRlOiBwYXVzZWQ7XG4gIH1cbiAgLkB7Y2xhc3NOYW1lfS1sZWF2ZSB7XG4gICAgLm1vdGlvbi1jb21tb24tbGVhdmUoQGR1cmF0aW9uKTtcblxuICAgIGFuaW1hdGlvbi1wbGF5LXN0YXRlOiBwYXVzZWQ7XG4gIH1cbiAgLkB7Y2xhc3NOYW1lfS1lbnRlci5Ae2NsYXNzTmFtZX0tZW50ZXItYWN0aXZlLFxuICAuQHtjbGFzc05hbWV9LWFwcGVhci5Ae2NsYXNzTmFtZX0tYXBwZWFyLWFjdGl2ZSB7XG4gICAgYW5pbWF0aW9uLW5hbWU6IH4nQHtrZXlmcmFtZU5hbWV9SW4nO1xuICAgIGFuaW1hdGlvbi1wbGF5LXN0YXRlOiBydW5uaW5nO1xuICB9XG4gIC5Ae2NsYXNzTmFtZX0tbGVhdmUuQHtjbGFzc05hbWV9LWxlYXZlLWFjdGl2ZSB7XG4gICAgYW5pbWF0aW9uLW5hbWU6IH4nQHtrZXlmcmFtZU5hbWV9T3V0JztcbiAgICBhbmltYXRpb24tcGxheS1zdGF0ZTogcnVubmluZztcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgfVxufVxuIiwiLmZhZGUtbW90aW9uKEBjbGFzc05hbWUsIEBrZXlmcmFtZU5hbWUpIHtcbiAgLm1ha2UtbW90aW9uKEBjbGFzc05hbWUsIEBrZXlmcmFtZU5hbWUpO1xuICAuQHtjbGFzc05hbWV9LWVudGVyLFxuICAuQHtjbGFzc05hbWV9LWFwcGVhciB7XG4gICAgb3BhY2l0eTogMDtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIH1cbiAgLkB7Y2xhc3NOYW1lfS1sZWF2ZSB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB9XG59XG5cbi5mYWRlLW1vdGlvbihmYWRlLCBhbnRGYWRlKTtcblxuQGtleWZyYW1lcyBhbnRGYWRlSW4ge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgYW50RmFkZU91dCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cbiIsIi5tb3ZlLW1vdGlvbihAY2xhc3NOYW1lLCBAa2V5ZnJhbWVOYW1lKSB7XG4gIC5tYWtlLW1vdGlvbihAY2xhc3NOYW1lLCBAa2V5ZnJhbWVOYW1lKTtcbiAgLkB7Y2xhc3NOYW1lfS1lbnRlcixcbiAgLkB7Y2xhc3NOYW1lfS1hcHBlYXIge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogQGVhc2Utb3V0LWNpcmM7XG4gIH1cbiAgLkB7Y2xhc3NOYW1lfS1sZWF2ZSB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogQGVhc2UtaW4tY2lyYztcbiAgfVxufVxuXG4ubW92ZS1tb3Rpb24obW92ZS11cCwgYW50TW92ZVVwKTtcbi5tb3ZlLW1vdGlvbihtb3ZlLWRvd24sIGFudE1vdmVEb3duKTtcbi5tb3ZlLW1vdGlvbihtb3ZlLWxlZnQsIGFudE1vdmVMZWZ0KTtcbi5tb3ZlLW1vdGlvbihtb3ZlLXJpZ2h0LCBhbnRNb3ZlUmlnaHQpO1xuXG5Aa2V5ZnJhbWVzIGFudE1vdmVEb3duSW4ge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IDAgMDtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwJSk7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogMCAwO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBhbnRNb3ZlRG93bk91dCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCUpO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IDAgMDtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiAwIDA7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGFudE1vdmVMZWZ0SW4ge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiAwIDA7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IDAgMDtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgYW50TW92ZUxlZnRPdXQge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiAwIDA7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IDAgMDtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgYW50TW92ZVJpZ2h0SW4ge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IDAgMDtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSk7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogMCAwO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBhbnRNb3ZlUmlnaHRPdXQge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiAwIDA7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogMCAwO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBhbnRNb3ZlVXBJbiB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IDAgMDtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwJSk7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogMCAwO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBhbnRNb3ZlVXBPdXQge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAlKTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiAwIDA7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IDAgMDtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG4iLCJAa2V5ZnJhbWVzIGxvYWRpbmdDaXJjbGUge1xuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICB9XG59XG5cbkBjbGljay1hbmltYXRpbmctdHJ1ZTogflwiW0B7YW50LXByZWZpeH0tY2xpY2stYW5pbWF0aW5nPSd0cnVlJ11cIjtcbkBjbGljay1hbmltYXRpbmctd2l0aC1leHRyYS1ub2RlLXRydWU6IH5cIltAe2FudC1wcmVmaXh9LWNsaWNrLWFuaW1hdGluZy13aXRob3V0LWV4dHJhLW5vZGU9J3RydWUnXVwiO1xuXG5Ae2NsaWNrLWFuaW1hdGluZy10cnVlfSxcbkB7Y2xpY2stYW5pbWF0aW5nLXdpdGgtZXh0cmEtbm9kZS10cnVlfSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuaHRtbCB7XG4gIC0tYW50ZC13YXZlLXNoYWRvdy1jb2xvcjogQHByaW1hcnktY29sb3I7XG4gIC0tc2Nyb2xsLWJhcjogMDtcbn1cblxuQGNsaWNrLWFuaW1hdGluZy13aXRoLWV4dHJhLW5vZGUtdHJ1ZS1hZnRlcjogfidAe2NsaWNrLWFuaW1hdGluZy13aXRoLWV4dHJhLW5vZGUtdHJ1ZX06OmFmdGVyJztcblxuQHtjbGljay1hbmltYXRpbmctd2l0aC1leHRyYS1ub2RlLXRydWUtYWZ0ZXJ9LFxuLkB7YW50LXByZWZpeH0tY2xpY2stYW5pbWF0aW5nLW5vZGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJvcmRlci1yYWRpdXM6IGluaGVyaXQ7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDAgQHByaW1hcnktY29sb3I7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDAgdmFyKC0tYW50ZC13YXZlLXNoYWRvdy1jb2xvcik7XG4gIG9wYWNpdHk6IDAuMjtcbiAgYW5pbWF0aW9uOiBmYWRlRWZmZWN0IDJzIEBlYXNlLW91dC1jaXJjLCB3YXZlRWZmZWN0IDAuNHMgQGVhc2Utb3V0LWNpcmM7XG4gIGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xuICBjb250ZW50OiAnJztcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbkBrZXlmcmFtZXMgd2F2ZUVmZmVjdCB7XG4gIDEwMCUge1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIEBwcmltYXJ5LWNvbG9yO1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIEB3YXZlLWFuaW1hdGlvbi13aWR0aCB2YXIoLS1hbnRkLXdhdmUtc2hhZG93LWNvbG9yKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVFZmZlY3Qge1xuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG4iLCIuc2xpZGUtbW90aW9uKEBjbGFzc05hbWUsIEBrZXlmcmFtZU5hbWUpIHtcbiAgLm1ha2UtbW90aW9uKEBjbGFzc05hbWUsIEBrZXlmcmFtZU5hbWUpO1xuICAuQHtjbGFzc05hbWV9LWVudGVyLFxuICAuQHtjbGFzc05hbWV9LWFwcGVhciB7XG4gICAgb3BhY2l0eTogMDtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBAZWFzZS1vdXQtcXVpbnQ7XG4gIH1cbiAgLkB7Y2xhc3NOYW1lfS1sZWF2ZSB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogQGVhc2UtaW4tcXVpbnQ7XG4gIH1cbn1cblxuLnNsaWRlLW1vdGlvbihzbGlkZS11cCwgYW50U2xpZGVVcCk7XG4uc2xpZGUtbW90aW9uKHNsaWRlLWRvd24sIGFudFNsaWRlRG93bik7XG4uc2xpZGUtbW90aW9uKHNsaWRlLWxlZnQsIGFudFNsaWRlTGVmdCk7XG4uc2xpZGUtbW90aW9uKHNsaWRlLXJpZ2h0LCBhbnRTbGlkZVJpZ2h0KTtcblxuQGtleWZyYW1lcyBhbnRTbGlkZVVwSW4ge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZVkoMC44KTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiAwJSAwJTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGVZKDEpO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IDAlIDAlO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBhbnRTbGlkZVVwT3V0IHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGVZKDEpO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IDAlIDAlO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZVkoMC44KTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiAwJSAwJTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgYW50U2xpZGVEb3duSW4ge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZVkoMC44KTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiAxMDAlIDEwMCU7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlWSgxKTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiAxMDAlIDEwMCU7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGFudFNsaWRlRG93bk91dCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlWSgxKTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiAxMDAlIDEwMCU7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlWSgwLjgpO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IDEwMCUgMTAwJTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgYW50U2xpZGVMZWZ0SW4ge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZVgoMC44KTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiAwJSAwJTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGVYKDEpO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IDAlIDAlO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBhbnRTbGlkZUxlZnRPdXQge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZVgoMSk7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogMCUgMCU7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlWCgwLjgpO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IDAlIDAlO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBhbnRTbGlkZVJpZ2h0SW4ge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZVgoMC44KTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiAxMDAlIDAlO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZVgoMSk7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogMTAwJSAwJTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgYW50U2xpZGVSaWdodE91dCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlWCgxKTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiAxMDAlIDAlO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZVgoMC44KTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiAxMDAlIDAlO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cbiIsIi56b29tLW1vdGlvbihAY2xhc3NOYW1lLCBAa2V5ZnJhbWVOYW1lLCBAZHVyYXRpb246IEBhbmltYXRpb24tZHVyYXRpb24tYmFzZSkge1xuICAubWFrZS1tb3Rpb24oQGNsYXNzTmFtZSwgQGtleWZyYW1lTmFtZSwgQGR1cmF0aW9uKTtcbiAgLkB7Y2xhc3NOYW1lfS1lbnRlcixcbiAgLkB7Y2xhc3NOYW1lfS1hcHBlYXIge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7IC8vIG5lZWQgdGhpcyBieSB5aW1pbmdoZVxuICAgIG9wYWNpdHk6IDA7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogQGVhc2Utb3V0LWNpcmM7XG5cbiAgICAmLXByZXBhcmUge1xuICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgIH1cbiAgfVxuICAuQHtjbGFzc05hbWV9LWxlYXZlIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBAZWFzZS1pbi1vdXQtY2lyYztcbiAgfVxufVxuXG4vLyBGb3IgTW9kYWwsIFNlbGVjdCBjaG9vc2VuIGl0ZW1cbi56b29tLW1vdGlvbih6b29tLCBhbnRab29tKTtcbi8vIEZvciBQb3BvdmVyLCBQb3Bjb25maXJtLCBEcm9wZG93blxuLnpvb20tbW90aW9uKHpvb20tYmlnLCBhbnRab29tQmlnKTtcbi8vIEZvciBUb29sdGlwXG4uem9vbS1tb3Rpb24oem9vbS1iaWctZmFzdCwgYW50Wm9vbUJpZywgQGFuaW1hdGlvbi1kdXJhdGlvbi1mYXN0KTtcblxuLnpvb20tbW90aW9uKHpvb20tdXAsIGFudFpvb21VcCk7XG4uem9vbS1tb3Rpb24oem9vbS1kb3duLCBhbnRab29tRG93bik7XG4uem9vbS1tb3Rpb24oem9vbS1sZWZ0LCBhbnRab29tTGVmdCk7XG4uem9vbS1tb3Rpb24oem9vbS1yaWdodCwgYW50Wm9vbVJpZ2h0KTtcblxuQGtleWZyYW1lcyBhbnRab29tSW4ge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjIpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgYW50Wm9vbU91dCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC4yKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgYW50Wm9vbUJpZ0luIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC44KTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGFudFpvb21CaWdPdXQge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOCk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGFudFpvb21VcEluIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC44KTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgMCU7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IDUwJSAwJTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGFudFpvb21VcE91dCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IDUwJSAwJTtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOCk7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDAlO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBhbnRab29tTGVmdEluIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC44KTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiAwJSA1MCU7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IDAlIDUwJTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGFudFpvb21MZWZ0T3V0IHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogMCUgNTAlO1xuICB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC44KTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiAwJSA1MCU7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGFudFpvb21SaWdodEluIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC44KTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiAxMDAlIDUwJTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogMTAwJSA1MCU7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBhbnRab29tUmlnaHRPdXQge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiAxMDAlIDUwJTtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOCk7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogMTAwJSA1MCU7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGFudFpvb21Eb3duSW4ge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjgpO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IDUwJSAxMDAlO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgMTAwJTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGFudFpvb21Eb3duT3V0IHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDEwMCU7XG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjgpO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IDUwJSAxMDAlO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cbiIsIkBpbXBvcnQgJy4uL21peGlucy9tb3Rpb24nO1xuQGltcG9ydCAnbW90aW9uL2ZhZGUnO1xuQGltcG9ydCAnbW90aW9uL21vdmUnO1xuQGltcG9ydCAnbW90aW9uL290aGVyJztcbkBpbXBvcnQgJ21vdGlvbi9zbGlkZSc7XG5AaW1wb3J0ICdtb3Rpb24vem9vbSc7XG5cbi8vIEZvciBjb21tb24vb3BlbkFuaW1hdGlvblxuLmFudC1tb3Rpb24tY29sbGFwc2UtbGVnYWN5IHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgJi1hY3RpdmUge1xuICAgIHRyYW5zaXRpb246IGhlaWdodCBAYW5pbWF0aW9uLWR1cmF0aW9uLWJhc2UgQGVhc2UtaW4tb3V0LFxuICAgICAgb3BhY2l0eSBAYW5pbWF0aW9uLWR1cmF0aW9uLWJhc2UgQGVhc2UtaW4tb3V0ICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLmFudC1tb3Rpb24tY29sbGFwc2Uge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0cmFuc2l0aW9uOiBoZWlnaHQgQGFuaW1hdGlvbi1kdXJhdGlvbi1iYXNlIEBlYXNlLWluLW91dCxcbiAgICBvcGFjaXR5IEBhbmltYXRpb24tZHVyYXRpb24tYmFzZSBAZWFzZS1pbi1vdXQgIWltcG9ydGFudDtcbn1cbiIsIkBpbXBvcnQgJy4vdGhlbWVzL2RlZmF1bHQubGVzcyc7XG5cbi8vIGNkayBvdmVybGF5XG4uY2RrLW92ZXJsYXktY29udGFpbmVyIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB6LWluZGV4OiAxMDAwO1xufVxuXG4uY2RrLXZpc3VhbGx5LWhpZGRlbiB7XG4gIGJvcmRlcjogMDtcbiAgY2xpcDogcmVjdCgwIDAgMCAwKTtcbiAgaGVpZ2h0OiAxcHg7XG4gIG1hcmdpbjogLTFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZzogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMXB4O1xuICBvdXRsaW5lOiAwO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLmNkay1vdmVybGF5LWJhY2tkcm9wIHtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IC40cyBjdWJpYy1iZXppZXIoLjI1LCAuOCwgLjI1LCAxKTtcbiAgb3BhY2l0eTogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgei1pbmRleDogMTAwMDtcblxuICAmLmFudC1tb2RhbC1tYXNrIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbi5jZGstb3ZlcmxheS1wYW5lIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgei1pbmRleDogMTAwMDsgLy8gR2l2ZSBhbiBvcHBvcnR1bml0eSB0byB0aGUgY29udGVudCBvd24gdG8gbWFuYWdlIHRoZWlyIHotaW5kZXggc3VjaCBhcyBNb2RhbFxufVxuXG4uY2RrLW92ZXJsYXktY29ubmVjdGVkLXBvc2l0aW9uLWJvdW5kaW5nLWJveCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTAwMDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWluLXdpZHRoOiAxcHg7XG4gIG1pbi1oZWlnaHQ6IDFweDtcbn1cblxuLy8gVXNlZCB3aGVuIGRpc2FibGluZyBnbG9iYWwgc2Nyb2xsaW5nLlxuLmNkay1nbG9iYWwtc2Nyb2xsYmxvY2sge1xuICBwb3NpdGlvbjogZml4ZWQ7XG5cbiAgLy8gTmVjZXNzYXJ5IGZvciB0aGUgY29udGVudCBub3QgdG8gbG9zZSBpdHMgd2lkdGguIE5vdGUgdGhhdCB3ZSdyZSB1c2luZyAxMDAlLCBpbnN0ZWFkIG9mXG4gIC8vIDEwMHZ3LCBiZWNhdXNlIDEwMHZ3IGluY2x1ZGVzIHRoZSB3aWR0aCBwbHVzIHRoZSBzY3JvbGxiYXIsIHdoZXJlYXMgMTAwJSBpcyB0aGUgd2lkdGhcbiAgLy8gdGhhdCB0aGUgZWxlbWVudCBoYWQgYmVmb3JlIHdlIG1hZGUgaXQgYGZpeGVkYC5cbiAgd2lkdGg6IDEwMCU7XG5cbiAgLy8gTm90ZTogdGhpcyB3aWxsIGFsd2F5cyBhZGQgYSBzY3JvbGxiYXIgdG8gd2hhdGV2ZXIgZWxlbWVudCBpdCBpcyBvbiwgd2hpY2ggY2FuXG4gIC8vIHBvdGVudGlhbGx5IHJlc3VsdCBpbiBkb3VibGUgc2Nyb2xsYmFycy4gSXQgc2hvdWxkbid0IGJlIGFuIGlzc3VlLCBiZWNhdXNlIHdlIHdvbid0XG4gIC8vIGJsb2NrIHNjcm9sbGluZyBvbiBhIHBhZ2UgdGhhdCBkb2Vzbid0IGhhdmUgYSBzY3JvbGxiYXIgaW4gdGhlIGZpcnN0IHBsYWNlLlxuICBvdmVyZmxvdy15OiBzY3JvbGw7XG5cbiAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2FuZ3VsYXIvbWF0ZXJpYWwyL2lzc3Vlcy8xNTA1MVxuICBib2R5IHtcbiAgICBvdmVyZmxvdy14OiB2aXNpYmxlO1xuICB9XG59XG5cbi5uei1vdmVybGF5LXRyYW5zcGFyZW50LWJhY2tkcm9wIHtcbiAgJiwgJi5jZGstb3ZlcmxheS1iYWNrZHJvcC1zaG93aW5nIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbi5uei1hbmltYXRlLWRpc2FibGVkIHtcbiAgLy8gZHJhd2VyXG4gICYuYW50LWRyYXdlciB7XG4gICAgJi5hbnQtZHJhd2VyLW9wZW4gLmFudC1kcmF3ZXItbWFzayB7XG4gICAgICBhbmltYXRpb246IG5vbmU7XG4gICAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIH1cblxuICAgICYgPiAqIHtcbiAgICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLy8gbW9kYWxcbiAgLmFudC1tb2RhbC1tYXNrLCAuYW50LW1vZGFsIHtcbiAgICBhbmltYXRpb246IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcblxuICAgICYuem9vbS1lbnRlciwgJi56b29tLWxlYXZlLFxuICAgICYuem9vbS1lbnRlci1hY3RpdmUsICYuem9vbS1sZWF2ZS1hY3RpdmUge1xuICAgICAgYW5pbWF0aW9uOiBub25lO1xuICAgICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB9XG4gIH1cblxuICAvLyBtZW51XG4gICYuYW50LW1lbnUge1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG5cbiAgICAuYW50LW1lbnUtaXRlbSwgLmFudC1tZW51LXN1Ym1lbnUtdGl0bGUge1xuICAgICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB9XG5cbiAgICAuYW50LW1lbnUtaXRlbSAuYW50aWNvbiwgLmFudC1tZW51LXN1Ym1lbnUtdGl0bGUgLmFudGljb24ge1xuICAgICAgdHJhbnNpdGlvbjogbm9uZTtcblxuICAgICAgJiArIHNwYW4ge1xuICAgICAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIHRhYnNcbiAgJi5hbnQtdGFicyB7XG4gICAgLmFudC10YWJzLXRvcC1jb250ZW50LmFudC10YWJzLWNvbnRlbnQtYW5pbWF0ZWQsXG4gICAgLmFudC10YWJzLWJvdHRvbS1jb250ZW50LmFudC10YWJzLWNvbnRlbnQtYW5pbWF0ZWQsXG4gICAgLmFudC10YWJzLXRvcC1jb250ZW50ID4gLmFudC10YWJzLXRhYnBhbmUsXG4gICAgLmFudC10YWJzLWJvdHRvbS1jb250ZW50ID4gLmFudC10YWJzLXRhYnBhbmUsXG4gICAgJi5hbnQtdGFicy1sZWZ0IC5hbnQtdGFicy1pbmstYmFyLWFuaW1hdGVkLFxuICAgICYuYW50LXRhYnMtcmlnaHQgLmFudC10YWJzLWluay1iYXItYW5pbWF0ZWQsXG4gICAgJi5hbnQtdGFicy10b3AgLmFudC10YWJzLWluay1iYXItYW5pbWF0ZWQsXG4gICAgJi5hbnQtdGFicy1ib3R0b20gLmFudC10YWJzLWluay1iYXItYW5pbWF0ZWQge1xuICAgICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB9XG4gIH1cblxuICAvLyBjb2xsYXBzZVxuICAmLmFudC1jb2xsYXBzZSA+IC5hbnQtY29sbGFwc2UtaXRlbSA+IC5hbnQtY29sbGFwc2UtaGVhZGVyIC5hbnQtY29sbGFwc2UtYXJyb3cgc3ZnIHtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICB9XG59XG4iLCJAaW1wb3J0ICcuLi8uLi9zdHlsZS90aGVtZXMvaW5kZXgnO1xuQGltcG9ydCAnLi4vLi4vc3R5bGUvbWl4aW5zL2luZGV4JztcbkBpbXBvcnQgJy4vbWl4aW4nO1xuXG5AYnRuLXByZWZpeC1jbHM6IH4nQHthbnQtcHJlZml4fS1idG4nO1xuXG4vLyBmb3IgY29tcGF0aWJsZVxuQGJ0bi1naG9zdC1jb2xvcjogQHRleHQtY29sb3I7XG5AYnRuLWdob3N0LWJnOiB0cmFuc3BhcmVudDtcbkBidG4tZ2hvc3QtYm9yZGVyOiBAYm9yZGVyLWNvbG9yLWJhc2U7XG5cbi8vIEJ1dHRvbiBzdHlsZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4uQHtidG4tcHJlZml4LWNsc30ge1xuICAvLyBGaXhpbmcgaHR0cHM6Ly9naXRodWIuY29tL2FudC1kZXNpZ24vYW50LWRlc2lnbi9pc3N1ZXMvMTI5NzhcbiAgLy8gRml4aW5nIGh0dHBzOi8vZ2l0aHViLmNvbS9hbnQtZGVzaWduL2FudC1kZXNpZ24vaXNzdWVzLzIwMDU4XG4gIC8vIEZpeGluZyBodHRwczovL2dpdGh1Yi5jb20vYW50LWRlc2lnbi9hbnQtZGVzaWduL2lzc3Vlcy8xOTk3MlxuICAvLyBGaXhpbmcgaHR0cHM6Ly9naXRodWIuY29tL2FudC1kZXNpZ24vYW50LWRlc2lnbi9pc3N1ZXMvMTgxMDdcbiAgLy8gRml4aW5nIGh0dHBzOi8vZ2l0aHViLmNvbS9hbnQtZGVzaWduL2FudC1kZXNpZ24vaXNzdWVzLzEzMjE0XG4gIC8vIEl0IGlzIGEgcmVuZGVyIHByb2JsZW0gb2YgY2hyb21lLCB3aGljaCBpcyBvbmx5IGhhcHBlbmVkIGluIHRoZSBjb2Rlc2FuZGJveCBkZW1vXG4gIC8vIDAuMDAxcHggc29sdXRpb24gd29ya3MgYW5kIEkgZG9uJ3Qgd2h5XG4gIGxpbmUtaGVpZ2h0OiBAYnRuLWxpbmUtaGVpZ2h0O1xuICAuYnRuKCk7XG4gIC5idG4tZGVmYXVsdCgpO1xuXG4gIC8vIEZpeCBsb2FkaW5nIGJ1dHRvbiBhbmltYXRpb25cbiAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2FudC1kZXNpZ24vYW50LWRlc2lnbi9pc3N1ZXMvMjQzMjNcbiAgPiBzcGFuIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIH1cblxuICAmLXByaW1hcnkge1xuICAgIC5idG4tcHJpbWFyeSgpO1xuXG4gICAgLkB7YnRuLXByZWZpeC1jbHN9LWdyb3VwICY6bm90KDpmaXJzdC1jaGlsZCk6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICBib3JkZXItcmlnaHQtY29sb3I6IEBidG4tZ3JvdXAtYm9yZGVyO1xuICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IEBidG4tZ3JvdXAtYm9yZGVyO1xuXG4gICAgICAmOmRpc2FibGVkIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBAYnRuLWRlZmF1bHQtYm9yZGVyO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5Ae2J0bi1wcmVmaXgtY2xzfS1ncm91cCAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogQGJ0bi1ncm91cC1ib3JkZXI7XG5cbiAgICAgICAgJltkaXNhYmxlZF0ge1xuICAgICAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogQGJ0bi1kZWZhdWx0LWJvcmRlcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5Ae2J0bi1wcmVmaXgtY2xzfS1ncm91cCAmOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCksXG4gICAgLkB7YnRuLXByZWZpeC1jbHN9LWdyb3VwICYgKyAmIHtcbiAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiBAYnRuLWdyb3VwLWJvcmRlcjtcblxuICAgICAgJltkaXNhYmxlZF0ge1xuICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogQGJ0bi1kZWZhdWx0LWJvcmRlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLWdob3N0IHtcbiAgICAuYnRuLWdob3N0KCk7XG4gIH1cblxuICAmLWRhc2hlZCB7XG4gICAgLmJ0bi1kYXNoZWQoKTtcbiAgfVxuXG4gIC8vIHR5cGU9XCJkYW5nZXJcIiB3aWxsIGRlcHJlY2F0ZWRcbiAgLy8gdXNlIGRhbmdlciBpbnN0ZWFkXG4gICYtZGFuZ2VyIHtcbiAgICAuYnRuLWRhbmdlcigpO1xuICB9XG5cbiAgJi1saW5rIHtcbiAgICAuYnRuLWxpbmsoKTtcbiAgfVxuXG4gICYtdGV4dCB7XG4gICAgLmJ0bi10ZXh0KCk7XG4gIH1cblxuICAmLWRhbmdlcm91cyB7XG4gICAgLmJ0bi1kYW5nZXItZGVmYXVsdCgpO1xuICB9XG5cbiAgJi1kYW5nZXJvdXMmLXByaW1hcnkge1xuICAgIC5idG4tZGFuZ2VyKCk7XG4gIH1cblxuICAmLWRhbmdlcm91cyYtbGluayB7XG4gICAgLmJ0bi1kYW5nZXItbGluaygpO1xuICB9XG5cbiAgJi1kYW5nZXJvdXMmLXRleHQge1xuICAgIC5idG4tZGFuZ2VyLXRleHQoKTtcbiAgfVxuXG4gICYtaWNvbi1vbmx5IHtcbiAgICAuYnRuLXNxdWFyZShAYnRuLXByZWZpeC1jbHMpO1xuICAgIHZlcnRpY2FsLWFsaWduOiAtMXB4O1xuICB9XG5cbiAgJi1yb3VuZCB7XG4gICAgLmJ0bi1yb3VuZChAYnRuLXByZWZpeC1jbHMpO1xuICAgICYuQHtidG4tcHJlZml4LWNsc30taWNvbi1vbmx5IHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gICYtY2lyY2xlIHtcbiAgICAuYnRuLWNpcmNsZShAYnRuLXByZWZpeC1jbHMpO1xuICB9XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAtQGJ0bi1ib3JkZXItd2lkdGg7XG4gICAgcmlnaHQ6IC1AYnRuLWJvcmRlci13aWR0aDtcbiAgICBib3R0b206IC1AYnRuLWJvcmRlci13aWR0aDtcbiAgICBsZWZ0OiAtQGJ0bi1ib3JkZXItd2lkdGg7XG4gICAgei1pbmRleDogMTtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGJhY2tncm91bmQ6IEBjb21wb25lbnQtYmFja2dyb3VuZDtcbiAgICBib3JkZXItcmFkaXVzOiBpbmhlcml0O1xuICAgIG9wYWNpdHk6IDAuMzU7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB9XG5cbiAgLkB7aWNvbmZvbnQtY3NzLXByZWZpeH0ge1xuICAgIHRyYW5zaXRpb246IG1hcmdpbi1sZWZ0IDAuM3MgQGVhc2UtaW4tb3V0O1xuXG4gICAgLy8gRm9sbG93IGljb24gYmx1ciB1bmRlciB3aW5kb3dzLiBDaGFuZ2UgdGhlIHJlbmRlci5cbiAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vYW50LWRlc2lnbi9hbnQtZGVzaWduL2lzc3Vlcy8xMzkyNFxuICAgICYuQHtpY29uZm9udC1jc3MtcHJlZml4fS1wbHVzLFxuICAgICYuQHtpY29uZm9udC1jc3MtcHJlZml4fS1taW51cyB7XG4gICAgICA+IHN2ZyB7XG4gICAgICAgIHNoYXBlLXJlbmRlcmluZzogb3B0aW1pemVTcGVlZDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmJi1sb2FkaW5nIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgJjpub3QoW2Rpc2FibGVkXSkge1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxuXG4gICYgPiAmLWxvYWRpbmctaWNvbiB7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgQGVhc2UtaW4tb3V0O1xuXG4gICAgLkB7aWNvbmZvbnQtY3NzLXByZWZpeH0ge1xuICAgICAgcGFkZGluZy1yaWdodDogQHBhZGRpbmcteHM7XG4gICAgICBhbmltYXRpb246IG5vbmU7XG4gICAgICAvLyBmb3Igc21vb3RoIGJ1dHRvbiBwYWRkaW5nIHRyYW5zaXRpb25cbiAgICAgIHN2ZyB7XG4gICAgICAgIGFuaW1hdGlvbjogbG9hZGluZ0NpcmNsZSAxcyBpbmZpbml0ZSBsaW5lYXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpvbmx5LWNoaWxkIHtcbiAgICAgIC5Ae2ljb25mb250LWNzcy1wcmVmaXh9IHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLWdyb3VwIHtcbiAgICAuYnRuLWdyb3VwKEBidG4tcHJlZml4LWNscyk7XG4gIH1cblxuICAvLyBodHRwOi8vc3RhY2tvdmVyZmxvdy5jb20vYS8yMTI4MTU1NC8zMDQwNjA1XG4gICY6Zm9jdXMgPiBzcGFuLFxuICAmOmFjdGl2ZSA+IHNwYW4ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gIC8vIFRvIGVuc3VyZSB0aGF0IGEgc3BhY2Ugd2lsbCBiZSBwbGFjZWQgYmV0d2VlbiBjaGFyYWN0ZXIgYW5kIGBJY29uYC5cbiAgPiAuQHtpY29uZm9udC1jc3MtcHJlZml4fSArIHNwYW4sXG4gID4gc3BhbiArIC5Ae2ljb25mb250LWNzcy1wcmVmaXh9IHtcbiAgICBtYXJnaW4tbGVmdDogQG1hcmdpbi14cztcbiAgfVxuXG4gICYtYmFja2dyb3VuZC1naG9zdCB7XG4gICAgY29sb3I6IEBidG4tZGVmYXVsdC1naG9zdC1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kOiBAYnRuLWRlZmF1bHQtZ2hvc3QtYmcgIWltcG9ydGFudDtcbiAgICBib3JkZXItY29sb3I6IEBidG4tZGVmYXVsdC1naG9zdC1ib3JkZXI7XG4gIH1cblxuICAmLWJhY2tncm91bmQtZ2hvc3QmLXByaW1hcnkge1xuICAgIC5idXR0b24tdmFyaWFudC1naG9zdChAYnRuLXByaW1hcnktYmcpO1xuICB9XG5cbiAgJi1iYWNrZ3JvdW5kLWdob3N0Ji1kYW5nZXIge1xuICAgIC5idXR0b24tdmFyaWFudC1naG9zdChAYnRuLWRhbmdlci1ib3JkZXIpO1xuICB9XG5cbiAgJi1iYWNrZ3JvdW5kLWdob3N0Ji1kYW5nZXJvdXMge1xuICAgIC5idXR0b24tdmFyaWFudC1naG9zdChAYnRuLWRhbmdlci1ib3JkZXIpO1xuICB9XG5cbiAgJi1iYWNrZ3JvdW5kLWdob3N0Ji1kYW5nZXJvdXMmLWxpbmsge1xuICAgIC5idXR0b24tdmFyaWFudC1naG9zdChAYnRuLWRhbmdlci1ib3JkZXIsIHRyYW5zcGFyZW50KTtcbiAgfVxuXG4gICYtdHdvLWNoaW5lc2UtY2hhcnM6OmZpcnN0LWxldHRlciB7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMzRlbTtcbiAgfVxuXG4gICYtdHdvLWNoaW5lc2UtY2hhcnMgPiAqOm5vdCguQHtpY29uZm9udC1jc3MtcHJlZml4fSkge1xuICAgIG1hcmdpbi1yaWdodDogLTAuMzRlbTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4zNGVtO1xuICB9XG5cbiAgJi1ibG9jayB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAvLyBodHRwczovL2dpdGh1Yi5jb20vYW50LWRlc2lnbi9hbnQtZGVzaWduL2lzc3Vlcy8xMjY4MVxuICAvLyBzYW1lIG1ldGhvZCBhcyBTZWxlY3RcbiAgJjplbXB0eSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICBjb250ZW50OiAnXFxhMCc7XG4gIH1cbn1cblxuYS5Ae2J0bi1wcmVmaXgtY2xzfSB7XG4gIC8vIEZpeGluZyBodHRwczovL2dpdGh1Yi5jb20vYW50LWRlc2lnbi9hbnQtZGVzaWduL2lzc3Vlcy8xMjk3OFxuICAvLyBJdCBpcyBhIHJlbmRlciBwcm9ibGVtIG9mIGNocm9tZSwgd2hpY2ggaXMgb25seSBoYXBwZW5lZCBpbiB0aGUgY29kZXNhbmRib3ggZGVtb1xuICAvLyAwLjFweCBmb3IgcGFkZGluZy10b3Agc29sdXRpb24gd29ya3MgYW5kIEkgZG9uJ3Qgd2h5XG4gIHBhZGRpbmctdG9wOiAwLjFweDtcbiAgbGluZS1oZWlnaHQ6IEBidG4taGVpZ2h0LWJhc2UgLSAycHg7XG5cbiAgJi1sZyB7XG4gICAgbGluZS1oZWlnaHQ6IEBidG4taGVpZ2h0LWxnIC0gMnB4O1xuICB9XG4gICYtc20ge1xuICAgIGxpbmUtaGVpZ2h0OiBAYnRuLWhlaWdodC1zbSAtIDJweDtcbiAgfVxufVxuXG5AaW1wb3J0ICcuL3J0bCc7XG4iLCIvLyBtaXhpbnMgZm9yIGJ1dHRvblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4uYnV0dG9uLXNpemUoQGhlaWdodDsgQHBhZGRpbmctaG9yaXpvbnRhbDsgQGZvbnQtc2l6ZTsgQGJvcmRlci1yYWRpdXMpIHtcbiAgQHBhZGRpbmctdmVydGljYWw6IG1heChcbiAgICAocm91bmQoKChAaGVpZ2h0IC0gQGZvbnQtc2l6ZSAqIEBsaW5lLWhlaWdodC1iYXNlKSAvIDIpICogMTApIC8gMTApIC0gQGJvcmRlci13aWR0aC1iYXNlLFxuICAgIDBcbiAgKTtcbiAgaGVpZ2h0OiBAaGVpZ2h0O1xuICBwYWRkaW5nOiBAcGFkZGluZy12ZXJ0aWNhbCBAcGFkZGluZy1ob3Jpem9udGFsO1xuICBmb250LXNpemU6IEBmb250LXNpemU7XG4gIGJvcmRlci1yYWRpdXM6IEBib3JkZXItcmFkaXVzO1xufVxuXG4uYnV0dG9uLWRpc2FibGVkKEBjb2xvcjogQGJ0bi1kaXNhYmxlLWNvbG9yOyBAYmFja2dyb3VuZDogQGJ0bi1kaXNhYmxlLWJnOyBAYm9yZGVyOiBAYnRuLWRpc2FibGUtYm9yZGVyKSB7XG4gICZbZGlzYWJsZWRdIHtcbiAgICAmLFxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyxcbiAgICAmOmFjdGl2ZSB7XG4gICAgICAuYnV0dG9uLWNvbG9yKEBjb2xvcjsgQGJhY2tncm91bmQ7IEBib3JkZXIpO1xuXG4gICAgICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbi5idXR0b24tdmFyaWFudC1wcmltYXJ5KEBjb2xvcjsgQGJhY2tncm91bmQpIHtcbiAgLmJ1dHRvbi1jb2xvcihAY29sb3I7IEBiYWNrZ3JvdW5kOyBAYmFja2dyb3VuZCk7XG5cbiAgdGV4dC1zaGFkb3c6IEBidG4tdGV4dC1zaGFkb3c7XG4gIGJveC1zaGFkb3c6IEBidG4tcHJpbWFyeS1zaGFkb3c7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgJiB3aGVuIChAdGhlbWUgPSBkYXJrKSB7XG4gICAgICAuYnV0dG9uLWNvbG9yKFxuICAgICAgICBAY29sb3I7IH5gY29sb3JQYWxldHRlKCdAe2JhY2tncm91bmR9JywgNykgYDsgfmBjb2xvclBhbGV0dGUoJ0B7YmFja2dyb3VuZH0nLCA3KSBgXG4gICAgICApO1xuICAgIH1cbiAgICAmIHdoZW4gbm90IChAdGhlbWUgPSBkYXJrKSB7XG4gICAgICAuYnV0dG9uLWNvbG9yKFxuICAgICAgICBAY29sb3I7IH5gY29sb3JQYWxldHRlKCdAe2JhY2tncm91bmR9JywgNSkgYDsgfmBjb2xvclBhbGV0dGUoJ0B7YmFja2dyb3VuZH0nLCA1KSBgXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gICY6YWN0aXZlIHtcbiAgICAmIHdoZW4gKEB0aGVtZSA9IGRhcmspIHtcbiAgICAgIC5idXR0b24tY29sb3IoXG4gICAgICAgIEBjb2xvcjsgfmBjb2xvclBhbGV0dGUoJ0B7YmFja2dyb3VuZH0nLCA1KSBgOyB+YGNvbG9yUGFsZXR0ZSgnQHtiYWNrZ3JvdW5kfScsIDUpIGBcbiAgICAgICk7XG4gICAgfVxuICAgICYgd2hlbiBub3QgKEB0aGVtZSA9IGRhcmspIHtcbiAgICAgIC5idXR0b24tY29sb3IoXG4gICAgICAgIEBjb2xvcjsgfmBjb2xvclBhbGV0dGUoJ0B7YmFja2dyb3VuZH0nLCA3KSBgOyB+YGNvbG9yUGFsZXR0ZSgnQHtiYWNrZ3JvdW5kfScsIDcpIGBcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgLmJ1dHRvbi1kaXNhYmxlZCgpO1xufVxuXG4uYnV0dG9uLXZhcmlhbnQtb3RoZXIoQGNvbG9yOyBAYmFja2dyb3VuZDsgQGJvcmRlcikge1xuICAuYnV0dG9uLWNvbG9yKEBjb2xvcjsgQGJhY2tncm91bmQ7IEBib3JkZXIpO1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgICYgd2hlbiAoQHRoZW1lID0gZGFyaykge1xuICAgICAgLmJ1dHRvbi1jb2xvcihAcHJpbWFyeS01OyBAYmFja2dyb3VuZDsgQHByaW1hcnktNSk7XG4gICAgfVxuICAgICYgd2hlbiBub3QgKEB0aGVtZSA9IGRhcmspIHtcbiAgICAgIC5idXR0b24tY29sb3IoXG4gICAgICAgIH5gY29sb3JQYWxldHRlKCdAe2J0bi1wcmltYXJ5LWJnfScsIDUpIGA7IEBiYWNrZ3JvdW5kO1xuICAgICAgICAgIH5gY29sb3JQYWxldHRlKCdAe2J0bi1wcmltYXJ5LWJnfScsIDUpIGBcbiAgICAgICk7XG4gICAgfVxuICB9XG4gICY6YWN0aXZlIHtcbiAgICAmIHdoZW4gKEB0aGVtZSA9IGRhcmspIHtcbiAgICAgIC5idXR0b24tY29sb3IoQHByaW1hcnktNzsgQGJhY2tncm91bmQ7IEBwcmltYXJ5LTcpO1xuICAgIH1cbiAgICAmIHdoZW4gbm90IChAdGhlbWUgPSBkYXJrKSB7XG4gICAgICAuYnV0dG9uLWNvbG9yKFxuICAgICAgICB+YGNvbG9yUGFsZXR0ZSgnQHtidG4tcHJpbWFyeS1iZ30nLCA3KSBgOyBAYmFja2dyb3VuZDtcbiAgICAgICAgICB+YGNvbG9yUGFsZXR0ZSgnQHtidG4tcHJpbWFyeS1iZ30nLCA3KSBgXG4gICAgICApO1xuICAgIH1cbiAgfVxuICAuYnV0dG9uLWRpc2FibGVkKCk7XG59XG4uYnV0dG9uLXZhcmlhbnQtZ2hvc3QoQGNvbG9yOyBAYm9yZGVyOiBAY29sb3IpIHtcbiAgLmJ1dHRvbi1jb2xvcihAY29sb3I7IHRyYW5zcGFyZW50OyBAYm9yZGVyKTtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgICYgd2hlbiAoQGJvcmRlciA9IHRyYW5zcGFyZW50KSB7XG4gICAgICAmIHdoZW4gKEB0aGVtZSA9IGRhcmspIHtcbiAgICAgICAgLmJ1dHRvbi1jb2xvcih+YGNvbG9yUGFsZXR0ZSgnQHtjb2xvcn0nLCA3KSBgOyB0cmFuc3BhcmVudDsgdHJhbnNwYXJlbnQpO1xuICAgICAgfVxuICAgICAgJiB3aGVuIG5vdCAoQHRoZW1lID0gZGFyaykge1xuICAgICAgICAuYnV0dG9uLWNvbG9yKH5gY29sb3JQYWxldHRlKCdAe2NvbG9yfScsIDUpIGA7IHRyYW5zcGFyZW50OyB0cmFuc3BhcmVudCk7XG4gICAgICB9XG4gICAgfVxuICAgICYgd2hlbiBub3QgKEBib3JkZXIgPSB0cmFuc3BhcmVudCkge1xuICAgICAgJiB3aGVuIChAdGhlbWUgPSBkYXJrKSB7XG4gICAgICAgIC5idXR0b24tY29sb3IoXG4gICAgICAgICAgfmBjb2xvclBhbGV0dGUoJ0B7Y29sb3J9JywgNykgYDsgdHJhbnNwYXJlbnQ7IH5gY29sb3JQYWxldHRlKCdAe2NvbG9yfScsIDcpIGBcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgICYgd2hlbiBub3QgKEB0aGVtZSA9IGRhcmspIHtcbiAgICAgICAgLmJ1dHRvbi1jb2xvcihcbiAgICAgICAgICB+YGNvbG9yUGFsZXR0ZSgnQHtjb2xvcn0nLCA1KSBgOyB0cmFuc3BhcmVudDsgfmBjb2xvclBhbGV0dGUoJ0B7Y29sb3J9JywgNSkgYFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAmOmFjdGl2ZSB7XG4gICAgJiB3aGVuIChAYm9yZGVyID0gdHJhbnNwYXJlbnQpIHtcbiAgICAgICYgd2hlbiAoQHRoZW1lID0gZGFyaykge1xuICAgICAgICAuYnV0dG9uLWNvbG9yKH5gY29sb3JQYWxldHRlKCdAe2NvbG9yfScsIDUpIGA7IHRyYW5zcGFyZW50OyB0cmFuc3BhcmVudCk7XG4gICAgICB9XG4gICAgICAmIHdoZW4gbm90IChAdGhlbWUgPSBkYXJrKSB7XG4gICAgICAgIC5idXR0b24tY29sb3IofmBjb2xvclBhbGV0dGUoJ0B7Y29sb3J9JywgNykgYDsgdHJhbnNwYXJlbnQ7IHRyYW5zcGFyZW50KTtcbiAgICAgIH1cbiAgICB9XG4gICAgJiB3aGVuIG5vdChAYm9yZGVyID0gdHJhbnNwYXJlbnQpIHtcbiAgICAgICYgd2hlbiAoQHRoZW1lID0gZGFyaykge1xuICAgICAgICAuYnV0dG9uLWNvbG9yKFxuICAgICAgICAgIH5gY29sb3JQYWxldHRlKCdAe2NvbG9yfScsIDUpIGA7IHRyYW5zcGFyZW50OyB+YGNvbG9yUGFsZXR0ZSgnQHtjb2xvcn0nLCA1KSBgXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICAmIHdoZW4gbm90IChAdGhlbWUgPSBkYXJrKSB7XG4gICAgICAgIC5idXR0b24tY29sb3IoXG4gICAgICAgICAgfmBjb2xvclBhbGV0dGUoJ0B7Y29sb3J9JywgNykgYDsgdHJhbnNwYXJlbnQ7IH5gY29sb3JQYWxldHRlKCdAe2NvbG9yfScsIDcpIGBcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLmJ1dHRvbi1kaXNhYmxlZCgpO1xufVxuLmJ1dHRvbi1jb2xvcihAY29sb3I7IEBiYWNrZ3JvdW5kOyBAYm9yZGVyKSB7XG4gIGNvbG9yOiBAY29sb3I7XG4gIGJhY2tncm91bmQ6IEBiYWNrZ3JvdW5kO1xuICBib3JkZXItY29sb3I6IEBib3JkZXI7IC8vIGEgaW5zaWRlIEJ1dHRvbiB3aGljaCBvbmx5IHdvcmsgaW4gQ2hyb21lXG4gIC8vIGh0dHA6Ly9zdGFja292ZXJmbG93LmNvbS9hLzE3MjUzNDU3XG4gID4gYTpvbmx5LWNoaWxkIHtcbiAgICBjb2xvcjogY3VycmVudENvbG9yO1xuICAgICY6OmFmdGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgY29udGVudDogJyc7XG4gICAgfVxuICB9XG59XG4uYnV0dG9uLWdyb3VwLWJhc2UoQGJ0bkNsYXNzTmFtZSkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICA+IC5Ae2J0bkNsYXNzTmFtZX0sXG4gID4gc3BhbiA+IC5Ae2J0bkNsYXNzTmFtZX0ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMsXG4gICAgJjphY3RpdmUge1xuICAgICAgei1pbmRleDogMjtcbiAgICB9XG4gICAgJltkaXNhYmxlZF0ge1xuICAgICAgei1pbmRleDogMDtcbiAgICB9XG4gIH1cbiAgLkB7YnRuQ2xhc3NOYW1lfS1pY29uLW9ubHkge1xuICAgIGZvbnQtc2l6ZTogQGZvbnQtc2l6ZS1iYXNlO1xuICB9XG4gIC8vIHNpemVcbiAgJi1sZyA+IC5Ae2J0bkNsYXNzTmFtZX0sXG4gICYtbGcgPiBzcGFuID4gLkB7YnRuQ2xhc3NOYW1lfSB7XG4gICAgLmJ1dHRvbi1zaXplKEBidG4taGVpZ2h0LWxnOyBAYnRuLXBhZGRpbmctaG9yaXpvbnRhbC1sZzsgQGJ0bi1mb250LXNpemUtbGc7IDApO1xuICB9XG4gICYtbGcgLkB7YnRuQ2xhc3NOYW1lfS5Ae2J0bkNsYXNzTmFtZX0taWNvbi1vbmx5IHtcbiAgICAuc3F1YXJlKEBidG4taGVpZ2h0LWxnKTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgfVxuICAmLXNtID4gLkB7YnRuQ2xhc3NOYW1lfSxcbiAgJi1zbSA+IHNwYW4gPiAuQHtidG5DbGFzc05hbWV9IHtcbiAgICAuYnV0dG9uLXNpemUoQGJ0bi1oZWlnaHQtc207IEBidG4tcGFkZGluZy1ob3Jpem9udGFsLXNtOyBAZm9udC1zaXplLWJhc2U7IDApO1xuICAgID4gLkB7aWNvbmZvbnQtY3NzLXByZWZpeH0ge1xuICAgICAgZm9udC1zaXplOiBAZm9udC1zaXplLWJhc2U7XG4gICAgfVxuICB9XG4gICYtc20gLkB7YnRuQ2xhc3NOYW1lfS5Ae2J0bkNsYXNzTmFtZX0taWNvbi1vbmx5IHtcbiAgICAuc3F1YXJlKEBidG4taGVpZ2h0LXNtKTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgfVxufVxuLy8gQmFzZSBzdHlsZXMgb2YgYnV0dG9uc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5idG4oKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXdlaWdodDogQGJ0bi1mb250LXdlaWdodDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICBib3JkZXI6IEBidG4tYm9yZGVyLXdpZHRoIEBidG4tYm9yZGVyLXN0eWxlIHRyYW5zcGFyZW50O1xuICBib3gtc2hhZG93OiBAYnRuLXNoYWRvdztcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBAZWFzZS1pbi1vdXQ7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjtcbiAgLmJ1dHRvbi1zaXplKFxuICAgIEBidG4taGVpZ2h0LWJhc2U7IEBidG4tcGFkZGluZy1ob3Jpem9udGFsLWJhc2U7IEBmb250LXNpemUtYmFzZTsgQGJ0bi1ib3JkZXItcmFkaXVzLWJhc2VcbiAgKTtcbiAgPiAuQHtpY29uZm9udC1jc3MtcHJlZml4fSB7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gIH1cbiAgJixcbiAgJjphY3RpdmUsXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IDA7XG4gIH1cbiAgJjpub3QoW2Rpc2FibGVkXSk6aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuICAmOm5vdChbZGlzYWJsZWRdKTphY3RpdmUge1xuICAgIG91dGxpbmU6IDA7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgfVxuICAmW2Rpc2FibGVkXSB7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICA+ICoge1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuICB9XG4gICYtbGcge1xuICAgIC5idXR0b24tc2l6ZShcbiAgICAgIEBidG4taGVpZ2h0LWxnOyBAYnRuLXBhZGRpbmctaG9yaXpvbnRhbC1sZzsgQGJ0bi1mb250LXNpemUtbGc7IEBidG4tYm9yZGVyLXJhZGl1cy1iYXNlXG4gICAgKTtcbiAgfVxuICAmLXNtIHtcbiAgICAuYnV0dG9uLXNpemUoXG4gICAgICBAYnRuLWhlaWdodC1zbTsgQGJ0bi1wYWRkaW5nLWhvcml6b250YWwtc207IEBidG4tZm9udC1zaXplLXNtOyBAYnRuLWJvcmRlci1yYWRpdXMtc21cbiAgICApO1xuICB9XG59XG4vLyBwcmltYXJ5IGJ1dHRvbiBzdHlsZVxuLmJ0bi1wcmltYXJ5KCkge1xuICAuYnV0dG9uLXZhcmlhbnQtcHJpbWFyeShAYnRuLXByaW1hcnktY29sb3I7IEBidG4tcHJpbWFyeS1iZyk7XG59XG4vLyBkZWZhdWx0IGJ1dHRvbiBzdHlsZVxuLmJ0bi1kZWZhdWx0KCkge1xuICAuYnV0dG9uLXZhcmlhbnQtb3RoZXIoQGJ0bi1kZWZhdWx0LWNvbG9yOyBAYnRuLWRlZmF1bHQtYmc7IEBidG4tZGVmYXVsdC1ib3JkZXIpO1xuICAmOmhvdmVyLFxuICAmOmZvY3VzLFxuICAmOmFjdGl2ZSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGJhY2tncm91bmQ6IEBidG4tZGVmYXVsdC1iZztcbiAgfVxufVxuLy8gZ2hvc3QgYnV0dG9uIHN0eWxlXG4uYnRuLWdob3N0KCkge1xuICAuYnV0dG9uLXZhcmlhbnQtb3RoZXIoQGJ0bi1naG9zdC1jb2xvciwgQGJ0bi1naG9zdC1iZywgQGJ0bi1naG9zdC1ib3JkZXIpO1xufVxuLy8gZGFzaGVkIGJ1dHRvbiBzdHlsZVxuLmJ0bi1kYXNoZWQoKSB7XG4gIC5idXR0b24tdmFyaWFudC1vdGhlcihAYnRuLWRlZmF1bHQtY29sb3IsIEBidG4tZGVmYXVsdC1iZywgQGJ0bi1kZWZhdWx0LWJvcmRlcik7XG4gIGJvcmRlci1zdHlsZTogZGFzaGVkO1xufVxuLy8gZGFuZ2VyIGJ1dHRvbiBzdHlsZVxuLmJ0bi1kYW5nZXIoKSB7XG4gIC5idXR0b24tdmFyaWFudC1wcmltYXJ5KEBidG4tZGFuZ2VyLWNvbG9yLCBAYnRuLWRhbmdlci1iZyk7XG59XG4vLyBkYW5nZXIgZGVmYXVsdCBidXR0b24gc3R5bGVcbi5idG4tZGFuZ2VyLWRlZmF1bHQoKSB7XG4gIC5idXR0b24tY29sb3IoQGVycm9yLWNvbG9yLCBAYnRuLWRlZmF1bHQtYmcsIEBlcnJvci1jb2xvcik7XG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgICYgd2hlbiAoQHRoZW1lID0gZGFyaykge1xuICAgICAgLmJ1dHRvbi1jb2xvcihcbiAgICAgICAgfmBjb2xvclBhbGV0dGUoJ0B7ZXJyb3ItY29sb3J9JywgNykgYDsgQGJ0bi1kZWZhdWx0LWJnOyB+YGNvbG9yUGFsZXR0ZSgnQHtlcnJvci1jb2xvcn0nLCA3KVxuICAgICAgICAgIGBcbiAgICAgICk7XG4gICAgfVxuICAgICYgd2hlbiBub3QgKEB0aGVtZSA9IGRhcmspIHtcbiAgICAgIC5idXR0b24tY29sb3IoXG4gICAgICAgIH5gY29sb3JQYWxldHRlKCdAe2Vycm9yLWNvbG9yfScsIDUpIGA7IEBidG4tZGVmYXVsdC1iZzsgfmBjb2xvclBhbGV0dGUoJ0B7ZXJyb3ItY29sb3J9JywgNSlcbiAgICAgICAgICBgXG4gICAgICApO1xuICAgIH1cbiAgfVxuICAmOmFjdGl2ZSB7XG4gICAgJiB3aGVuIChAdGhlbWUgPSBkYXJrKSB7XG4gICAgICAuYnV0dG9uLWNvbG9yKFxuICAgICAgICB+YGNvbG9yUGFsZXR0ZSgnQHtlcnJvci1jb2xvcn0nLCA1KSBgOyBAYnRuLWRlZmF1bHQtYmc7IH5gY29sb3JQYWxldHRlKCdAe2Vycm9yLWNvbG9yfScsIDUpXG4gICAgICAgICAgYFxuICAgICAgKTtcbiAgICB9XG4gICAgJiB3aGVuIG5vdCAoQHRoZW1lID0gZGFyaykge1xuICAgICAgLmJ1dHRvbi1jb2xvcihcbiAgICAgICAgfmBjb2xvclBhbGV0dGUoJ0B7ZXJyb3ItY29sb3J9JywgNykgYDsgQGJ0bi1kZWZhdWx0LWJnOyB+YGNvbG9yUGFsZXR0ZSgnQHtlcnJvci1jb2xvcn0nLCA3KVxuICAgICAgICAgIGBcbiAgICAgICk7XG4gICAgfVxuICB9XG4gIC5idXR0b24tZGlzYWJsZWQoKTtcbn1cbi8vIGRhbmdlciBsaW5rIGJ1dHRvbiBzdHlsZVxuLmJ0bi1kYW5nZXItbGluaygpIHtcbiAgLmJ1dHRvbi12YXJpYW50LW90aGVyKEBlcnJvci1jb2xvciwgdHJhbnNwYXJlbnQsIHRyYW5zcGFyZW50KTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgJiB3aGVuIChAdGhlbWUgPSBkYXJrKSB7XG4gICAgICAuYnV0dG9uLWNvbG9yKH5gY29sb3JQYWxldHRlKCdAe2Vycm9yLWNvbG9yfScsIDcpIGA7IHRyYW5zcGFyZW50OyB0cmFuc3BhcmVudCk7XG4gICAgfVxuICAgICYgd2hlbiBub3QgKEB0aGVtZSA9IGRhcmspIHtcbiAgICAgIC5idXR0b24tY29sb3IofmBjb2xvclBhbGV0dGUoJ0B7ZXJyb3ItY29sb3J9JywgNSkgYDsgdHJhbnNwYXJlbnQ7IHRyYW5zcGFyZW50KTtcbiAgICB9XG4gIH1cbiAgJjphY3RpdmUge1xuICAgICYgd2hlbiAoQHRoZW1lID0gZGFyaykge1xuICAgICAgLmJ1dHRvbi1jb2xvcih+YGNvbG9yUGFsZXR0ZSgnQHtlcnJvci1jb2xvcn0nLCA1KSBgOyB0cmFuc3BhcmVudDsgdHJhbnNwYXJlbnQpO1xuICAgIH1cbiAgICAmIHdoZW4gbm90IChAdGhlbWUgPSBkYXJrKSB7XG4gICAgICAuYnV0dG9uLWNvbG9yKH5gY29sb3JQYWxldHRlKCdAe2Vycm9yLWNvbG9yfScsIDcpIGA7IHRyYW5zcGFyZW50OyB0cmFuc3BhcmVudCk7XG4gICAgfVxuICB9XG4gIC5idXR0b24tZGlzYWJsZWQoQGRpc2FibGVkLWNvbG9yOyB0cmFuc3BhcmVudDsgdHJhbnNwYXJlbnQpO1xufVxuLy8gbGluayBidXR0b24gc3R5bGVcbi5idG4tbGluaygpIHtcbiAgLmJ1dHRvbi12YXJpYW50LW90aGVyKEBsaW5rLWNvbG9yLCB0cmFuc3BhcmVudCwgdHJhbnNwYXJlbnQpO1xuICBib3gtc2hhZG93OiBub25lO1xuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiBAYnRuLWxpbmstaG92ZXItYmc7XG4gIH1cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyxcbiAgJjphY3RpdmUge1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cbiAgLmJ1dHRvbi1kaXNhYmxlZChAZGlzYWJsZWQtY29sb3I7IHRyYW5zcGFyZW50OyB0cmFuc3BhcmVudCk7XG59XG4vLyB0ZXh0IGJ1dHRvbiBzdHlsZVxuLmJ0bi10ZXh0KCkge1xuICAuYnV0dG9uLXZhcmlhbnQtb3RoZXIoQHRleHQtY29sb3IsIHRyYW5zcGFyZW50LCB0cmFuc3BhcmVudCk7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiBAdGV4dC1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kOiBAYnRuLXRleHQtaG92ZXItYmc7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxuXG4gICY6YWN0aXZlIHtcbiAgICBjb2xvcjogQHRleHQtY29sb3I7XG4gICAgYmFja2dyb3VuZDogZmFkZWluKEBidG4tdGV4dC1ob3Zlci1iZywgMSUpO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cblxuICAuYnV0dG9uLWRpc2FibGVkKEBkaXNhYmxlZC1jb2xvcjsgdHJhbnNwYXJlbnQ7IHRyYW5zcGFyZW50KTtcbn1cbi5idG4tZGFuZ2VyLXRleHQoKSB7XG4gIC5idXR0b24tdmFyaWFudC1vdGhlcihAZXJyb3ItY29sb3IsIHRyYW5zcGFyZW50LCB0cmFuc3BhcmVudCk7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgICYgd2hlbiAoQHRoZW1lID0gZGFyaykge1xuICAgICAgLmJ1dHRvbi1jb2xvcih+YGNvbG9yUGFsZXR0ZSgnQHtlcnJvci1jb2xvcn0nLCA3KSBgOyBAYnRuLXRleHQtaG92ZXItYmc7IHRyYW5zcGFyZW50KTtcbiAgICB9XG4gICAgJiB3aGVuIG5vdCAoQHRoZW1lID0gZGFyaykge1xuICAgICAgLmJ1dHRvbi1jb2xvcih+YGNvbG9yUGFsZXR0ZSgnQHtlcnJvci1jb2xvcn0nLCA1KSBgOyBAYnRuLXRleHQtaG92ZXItYmc7IHRyYW5zcGFyZW50KTtcbiAgICB9XG4gIH1cblxuICAmOmFjdGl2ZSB7XG4gICAgJiB3aGVuIChAdGhlbWUgPSBkYXJrKSB7XG4gICAgICAuYnV0dG9uLWNvbG9yKH5gY29sb3JQYWxldHRlKCdAe2Vycm9yLWNvbG9yfScsIDUpIGA7IGZhZGVpbihAYnRuLXRleHQtaG92ZXItYmcsIDElKTsgdHJhbnNwYXJlbnQpO1xuICAgIH1cbiAgICAmIHdoZW4gbm90IChAdGhlbWUgPSBkYXJrKSB7XG4gICAgICAuYnV0dG9uLWNvbG9yKH5gY29sb3JQYWxldHRlKCdAe2Vycm9yLWNvbG9yfScsIDcpIGA7IGZhZGVpbihAYnRuLXRleHQtaG92ZXItYmcsIDElKTsgdHJhbnNwYXJlbnQpO1xuICAgIH1cbiAgfVxuICAuYnV0dG9uLWRpc2FibGVkKEBkaXNhYmxlZC1jb2xvcjsgdHJhbnNwYXJlbnQ7IHRyYW5zcGFyZW50KTtcbn1cbi8vIHJvdW5kIGJ1dHRvblxuLmJ0bi1yb3VuZChAYnRuQ2xhc3NOYW1lOiBidG4pIHtcbiAgLmJ1dHRvbi1zaXplKEBidG4tY2lyY2xlLXNpemU7IChAYnRuLWNpcmNsZS1zaXplIC8gMik7IEBmb250LXNpemUtYmFzZTsgQGJ0bi1jaXJjbGUtc2l6ZSk7XG4gICYuQHtidG5DbGFzc05hbWV9LWxnIHtcbiAgICAuYnV0dG9uLXNpemUoXG4gICAgICBAYnRuLWNpcmNsZS1zaXplLWxnOyAoQGJ0bi1jaXJjbGUtc2l6ZS1sZyAvIDIpOyBAYnRuLWZvbnQtc2l6ZS1sZzsgQGJ0bi1jaXJjbGUtc2l6ZS1sZ1xuICAgICk7XG4gIH1cbiAgJi5Ae2J0bkNsYXNzTmFtZX0tc20ge1xuICAgIC5idXR0b24tc2l6ZShcbiAgICAgIEBidG4tY2lyY2xlLXNpemUtc207IChAYnRuLWNpcmNsZS1zaXplLXNtIC8gMik7IEBmb250LXNpemUtYmFzZTsgQGJ0bi1jaXJjbGUtc2l6ZS1zbVxuICAgICk7XG4gIH1cbn1cbi8vIHNxdWFyZSBidXR0b246IHRoZSBjb250ZW50IG9ubHkgY29udGFpbnMgaWNvblxuLmJ0bi1zcXVhcmUoQGJ0bkNsYXNzTmFtZTogYnRuKSB7XG4gIC5zcXVhcmUoQGJ0bi1zcXVhcmUtc2l6ZSk7XG4gIC5idXR0b24tc2l6ZShAYnRuLXNxdWFyZS1zaXplOyAwOyBAYnRuLXNxdWFyZS1vbmx5LWljb24tc2l6ZTsgQGJ0bi1ib3JkZXItcmFkaXVzLWJhc2UpO1xuICAmID4gKiB7XG4gICAgZm9udC1zaXplOiBAYnRuLXNxdWFyZS1vbmx5LWljb24tc2l6ZTtcbiAgfVxuICAmLkB7YnRuQ2xhc3NOYW1lfS1sZyB7XG4gICAgLnNxdWFyZShAYnRuLXNxdWFyZS1zaXplLWxnKTtcbiAgICAuYnV0dG9uLXNpemUoQGJ0bi1zcXVhcmUtc2l6ZS1sZzsgMDsgQGJ0bi1zcXVhcmUtb25seS1pY29uLXNpemUtbGc7IEBidG4tYm9yZGVyLXJhZGl1cy1iYXNlKTtcbiAgICAmID4gKiB7XG4gICAgICBmb250LXNpemU6IEBidG4tc3F1YXJlLW9ubHktaWNvbi1zaXplLWxnO1xuICAgIH1cbiAgfVxuICAmLkB7YnRuQ2xhc3NOYW1lfS1zbSB7XG4gICAgLnNxdWFyZShAYnRuLXNxdWFyZS1zaXplLXNtKTtcbiAgICAuYnV0dG9uLXNpemUoQGJ0bi1zcXVhcmUtc2l6ZS1zbTsgMDsgQGJ0bi1zcXVhcmUtb25seS1pY29uLXNpemUtc207IEBidG4tYm9yZGVyLXJhZGl1cy1iYXNlKTtcbiAgICAmID4gKiB7XG4gICAgICBmb250LXNpemU6IEBidG4tc3F1YXJlLW9ubHktaWNvbi1zaXplLXNtO1xuICAgIH1cbiAgfVxufVxuLy8gY2lyY2xlIGJ1dHRvbjogdGhlIGNvbnRlbnQgb25seSBjb250YWlucyBpY29uXG4uYnRuLWNpcmNsZShAYnRuQ2xhc3NOYW1lOiBidG4pIHtcbiAgbWluLXdpZHRoOiBAYnRuLWhlaWdodC1iYXNlO1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAmLkB7YnRuQ2xhc3NOYW1lfS1sZyB7XG4gICAgbWluLXdpZHRoOiBAYnRuLWhlaWdodC1sZztcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIH1cbiAgJi5Ae2J0bkNsYXNzTmFtZX0tc20ge1xuICAgIG1pbi13aWR0aDogQGJ0bi1oZWlnaHQtc207XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICB9XG59XG4vLyBIb3Jpem9udGFsIGJ1dHRvbiBncm91cHMgc3R5bGVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4uYnRuLWdyb3VwKEBidG5DbGFzc05hbWU6IGJ0bikge1xuICAuYnV0dG9uLWdyb3VwLWJhc2UoQGJ0bkNsYXNzTmFtZSk7XG4gIC5Ae2J0bkNsYXNzTmFtZX0gKyAuQHtidG5DbGFzc05hbWV9LFxuICAuQHtidG5DbGFzc05hbWV9ICsgJixcbiAgc3BhbiArIC5Ae2J0bkNsYXNzTmFtZX0sXG4gIC5Ae2J0bkNsYXNzTmFtZX0gKyBzcGFuLFxuICA+IHNwYW4gKyBzcGFuLFxuICAmICsgLkB7YnRuQ2xhc3NOYW1lfSxcbiAgJiArICYge1xuICAgIG1hcmdpbi1sZWZ0OiAtMXB4O1xuICB9XG4gIC5Ae2J0bkNsYXNzTmFtZX0tcHJpbWFyeSArIC5Ae2J0bkNsYXNzTmFtZX06bm90KC5Ae2J0bkNsYXNzTmFtZX0tcHJpbWFyeSk6bm90KFtkaXNhYmxlZF0pIHtcbiAgICBib3JkZXItbGVmdC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cbiAgLkB7YnRuQ2xhc3NOYW1lfSB7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgfVxuICA+IC5Ae2J0bkNsYXNzTmFtZX06Zmlyc3QtY2hpbGQsXG4gID4gc3BhbjpmaXJzdC1jaGlsZCA+IC5Ae2J0bkNsYXNzTmFtZX0ge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG4gID4gLkB7YnRuQ2xhc3NOYW1lfTpvbmx5LWNoaWxkIHtcbiAgICBib3JkZXItcmFkaXVzOiBAYnRuLWJvcmRlci1yYWRpdXMtYmFzZTtcbiAgfVxuICA+IHNwYW46b25seS1jaGlsZCA+IC5Ae2J0bkNsYXNzTmFtZX0ge1xuICAgIGJvcmRlci1yYWRpdXM6IEBidG4tYm9yZGVyLXJhZGl1cy1iYXNlO1xuICB9XG4gID4gLkB7YnRuQ2xhc3NOYW1lfTpmaXJzdC1jaGlsZDpub3QoOmxhc3QtY2hpbGQpLFxuICA+IHNwYW46Zmlyc3QtY2hpbGQ6bm90KDpsYXN0LWNoaWxkKSA+IC5Ae2J0bkNsYXNzTmFtZX0ge1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IEBidG4tYm9yZGVyLXJhZGl1cy1iYXNlO1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IEBidG4tYm9yZGVyLXJhZGl1cy1iYXNlO1xuICB9XG4gID4gLkB7YnRuQ2xhc3NOYW1lfTpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpLFxuICA+IHNwYW46bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSA+IC5Ae2J0bkNsYXNzTmFtZX0ge1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiBAYnRuLWJvcmRlci1yYWRpdXMtYmFzZTtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogQGJ0bi1ib3JkZXItcmFkaXVzLWJhc2U7XG4gIH1cbiAgJi1zbSB7XG4gICAgPiAuQHtidG5DbGFzc05hbWV9Om9ubHktY2hpbGQge1xuICAgICAgYm9yZGVyLXJhZGl1czogQGJ0bi1ib3JkZXItcmFkaXVzLXNtO1xuICAgIH1cbiAgICA+IHNwYW46b25seS1jaGlsZCA+IC5Ae2J0bkNsYXNzTmFtZX0ge1xuICAgICAgYm9yZGVyLXJhZGl1czogQGJ0bi1ib3JkZXItcmFkaXVzLXNtO1xuICAgIH1cbiAgICA+IC5Ae2J0bkNsYXNzTmFtZX06Zmlyc3QtY2hpbGQ6bm90KDpsYXN0LWNoaWxkKSxcbiAgICA+IHNwYW46Zmlyc3QtY2hpbGQ6bm90KDpsYXN0LWNoaWxkKSA+IC5Ae2J0bkNsYXNzTmFtZX0ge1xuICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogQGJ0bi1ib3JkZXItcmFkaXVzLXNtO1xuICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogQGJ0bi1ib3JkZXItcmFkaXVzLXNtO1xuICAgIH1cbiAgICA+IC5Ae2J0bkNsYXNzTmFtZX06bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSxcbiAgICA+IHNwYW46bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSA+IC5Ae2J0bkNsYXNzTmFtZX0ge1xuICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IEBidG4tYm9yZGVyLXJhZGl1cy1zbTtcbiAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiBAYnRuLWJvcmRlci1yYWRpdXMtc207XG4gICAgfVxuICB9XG4gICYgPiAmIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgfVxuICAmID4gJjpub3QoOmZpcnN0LWNoaWxkKTpub3QoOmxhc3QtY2hpbGQpID4gLkB7YnRuQ2xhc3NOYW1lfSB7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgfVxuICAmID4gJjpmaXJzdC1jaGlsZDpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICA+IC5Ae2J0bkNsYXNzTmFtZX06bGFzdC1jaGlsZCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiA4cHg7XG4gICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuICAgIH1cbiAgfVxuICAmID4gJjpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpID4gLkB7YnRuQ2xhc3NOYW1lfTpmaXJzdC1jaGlsZCB7XG4gICAgcGFkZGluZy1sZWZ0OiA4cHg7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICB9XG59XG4iLCIuQHtidG4tcHJlZml4LWNsc30ge1xuICAmLXJ0bCB7XG4gICAgZGlyZWN0aW9uOiBydGw7XG4gIH1cblxuICAmLXByaW1hcnkge1xuICAgIC5Ae2J0bi1wcmVmaXgtY2xzfS1ncm91cCAmOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCksXG4gICAgLkB7YnRuLXByZWZpeC1jbHN9LWdyb3VwICYgKyAmIHtcbiAgICAgIC5Ae2J0bi1wcmVmaXgtY2xzfS1ncm91cC1ydGwmIHtcbiAgICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiBAYnRuLWdyb3VwLWJvcmRlcjtcbiAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IEBidG4tZGVmYXVsdC1ib3JkZXI7XG4gICAgICB9XG4gICAgICAmW2Rpc2FibGVkXSB7XG4gICAgICAgIC5Ae2J0bi1wcmVmaXgtY2xzfS1ncm91cC1ydGwmIHtcbiAgICAgICAgICBib3JkZXItcmlnaHQtY29sb3I6IEBidG4tZGVmYXVsdC1ib3JkZXI7XG4gICAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IEBidG4tZ3JvdXAtYm9yZGVyO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJiA+ICYtbG9hZGluZy1pY29uIHtcbiAgICAuQHtpY29uZm9udC1jc3MtcHJlZml4fSB7XG4gICAgICAuQHtidG4tcHJlZml4LWNsc30tcnRsJiB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgIHBhZGRpbmctbGVmdDogQG1hcmdpbi14cztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOm9ubHktY2hpbGQge1xuICAgICAgLkB7aWNvbmZvbnQtY3NzLXByZWZpeH0ge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgPiAuQHtpY29uZm9udC1jc3MtcHJlZml4fSArIHNwYW4sXG4gID4gc3BhbiArIC5Ae2ljb25mb250LWNzcy1wcmVmaXh9IHtcbiAgICAuQHtidG4tcHJlZml4LWNsc30tcnRsJiB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDhweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cbiAgfVxufVxuXG4vLyBtaXhpblxuLmJ0bi1ncm91cChAYnRuQ2xhc3NOYW1lOiBidG4pIHtcbiAgLkB7YnRuQ2xhc3NOYW1lfSArIC5Ae2J0bkNsYXNzTmFtZX0sXG4gIC5Ae2J0bkNsYXNzTmFtZX0gKyAmLFxuICBzcGFuICsgLkB7YnRuQ2xhc3NOYW1lfSxcbiAgLkB7YnRuQ2xhc3NOYW1lfSArIHNwYW4sXG4gID4gc3BhbiArIHNwYW4sXG4gICYgKyAuQHtidG5DbGFzc05hbWV9LFxuICAmICsgJiB7XG4gICAgLkB7YnRuQ2xhc3NOYW1lfS1ydGwmLFxuICAgIC5Ae2J0bkNsYXNzTmFtZX0tZ3JvdXAtcnRsJiB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0xcHg7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICB9XG4gIH1cblxuICAmLkB7YnRuQ2xhc3NOYW1lfS1ncm91cC1ydGwge1xuICAgIGRpcmVjdGlvbjogcnRsO1xuICB9XG5cbiAgPiAuQHtidG5DbGFzc05hbWV9OmZpcnN0LWNoaWxkOm5vdCg6bGFzdC1jaGlsZCksXG4gID4gc3BhbjpmaXJzdC1jaGlsZDpub3QoOmxhc3QtY2hpbGQpID4gLkB7YnRuQ2xhc3NOYW1lfSB7XG4gICAgLkB7YnRuQ2xhc3NOYW1lfS1ncm91cC1ydGwmIHtcbiAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogQGJ0bi1ib3JkZXItcmFkaXVzLWJhc2U7XG4gICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogQGJ0bi1ib3JkZXItcmFkaXVzLWJhc2U7XG4gICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICAgIH1cbiAgfVxuXG4gID4gLkB7YnRuQ2xhc3NOYW1lfTpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpLFxuICA+IHNwYW46bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSA+IC5Ae2J0bkNsYXNzTmFtZX0ge1xuICAgIC5Ae2J0bkNsYXNzTmFtZX0tZ3JvdXAtcnRsJiB7XG4gICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiBAYnRuLWJvcmRlci1yYWRpdXMtYmFzZTtcbiAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG4gICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiBAYnRuLWJvcmRlci1yYWRpdXMtYmFzZTtcbiAgICB9XG4gIH1cblxuICAmLXNtIHtcbiAgICA+IC5Ae2J0bkNsYXNzTmFtZX06Zmlyc3QtY2hpbGQ6bm90KDpsYXN0LWNoaWxkKSxcbiAgICA+IHNwYW46Zmlyc3QtY2hpbGQ6bm90KDpsYXN0LWNoaWxkKSA+IC5Ae2J0bkNsYXNzTmFtZX0ge1xuICAgICAgLkB7YnRuQ2xhc3NOYW1lfS1ncm91cC1ydGwmIHtcbiAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IEBidG4tYm9yZGVyLXJhZGl1cy1zbTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IEBidG4tYm9yZGVyLXJhZGl1cy1zbTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICA+IC5Ae2J0bkNsYXNzTmFtZX06bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSxcbiAgICA+IHNwYW46bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSA+IC5Ae2J0bkNsYXNzTmFtZX0ge1xuICAgICAgLkB7YnRuQ2xhc3NOYW1lfS1ncm91cC1ydGwmIHtcbiAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogQGJ0bi1ib3JkZXItcmFkaXVzLXNtO1xuICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG4gICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IEBidG4tYm9yZGVyLXJhZGl1cy1zbTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBpbXBvcnQgJy4uL3RoZW1lcy9pbmRleCc7XG5cbi5yZXNldC1jb21wb25lbnQoKSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgY29sb3I6IEB0ZXh0LWNvbG9yO1xuICBmb250LXNpemU6IEBmb250LXNpemUtYmFzZTtcbiAgZm9udC12YXJpYW50OiBAZm9udC12YXJpYW50LWJhc2U7XG4gIGxpbmUtaGVpZ2h0OiBAbGluZS1oZWlnaHQtYmFzZTtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgZm9udC1mZWF0dXJlLXNldHRpbmdzOiBAZm9udC1mZWF0dXJlLXNldHRpbmdzLWJhc2U7XG59XG4iLCJAaW1wb3J0ICcuLi8uLi9zdHlsZS90aGVtZXMvaW5kZXgnO1xuQGltcG9ydCAnLi4vLi4vc3R5bGUvbWl4aW5zL2luZGV4JztcblxuQHNwaW4tcHJlZml4LWNsczogfidAe2FudC1wcmVmaXh9LXNwaW4nO1xuQHNwaW4tZG90LWRlZmF1bHQ6IEB0ZXh0LWNvbG9yLXNlY29uZGFyeTtcblxuLkB7c3Bpbi1wcmVmaXgtY2xzfSB7XG4gIC5yZXNldC1jb21wb25lbnQoKTtcblxuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGNvbG9yOiBAcHJpbWFyeS1jb2xvcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBAZWFzZS1pbi1vdXQtY2lyYztcblxuICAmLXNwaW5uaW5nIHtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgJi1uZXN0ZWQtbG9hZGluZyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgID4gZGl2ID4gLkB7c3Bpbi1wcmVmaXgtY2xzfSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgei1pbmRleDogNDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBtYXgtaGVpZ2h0OiA0MDBweDtcbiAgICAgIC5Ae3NwaW4tcHJlZml4LWNsc30tZG90IHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICBtYXJnaW46IC0oQHNwaW4tZG90LXNpemUgLyAyKTtcbiAgICAgIH1cbiAgICAgIC5Ae3NwaW4tcHJlZml4LWNsc30tdGV4dCB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nLXRvcDogKChAc3Bpbi1kb3Qtc2l6ZSAtIEBmb250LXNpemUtYmFzZSkgLyAyKSArIDJweDtcbiAgICAgICAgdGV4dC1zaGFkb3c6IDAgMXB4IDJweCBAc2hhZG93LWNvbG9yLWludmVyc2U7XG4gICAgICB9XG4gICAgICAmLkB7c3Bpbi1wcmVmaXgtY2xzfS1zaG93LXRleHQgLkB7c3Bpbi1wcmVmaXgtY2xzfS1kb3Qge1xuICAgICAgICBtYXJnaW4tdG9wOiAtKEBzcGluLWRvdC1zaXplIC8gMikgLSAxMHB4O1xuICAgICAgfVxuICAgIH1cblxuICAgID4gZGl2ID4gLkB7c3Bpbi1wcmVmaXgtY2xzfS1zbSB7XG4gICAgICAuQHtzcGluLXByZWZpeC1jbHN9LWRvdCB7XG4gICAgICAgIG1hcmdpbjogLShAc3Bpbi1kb3Qtc2l6ZS1zbSAvIDIpO1xuICAgICAgfVxuICAgICAgLkB7c3Bpbi1wcmVmaXgtY2xzfS10ZXh0IHtcbiAgICAgICAgcGFkZGluZy10b3A6ICgoQHNwaW4tZG90LXNpemUtc20gLSBAZm9udC1zaXplLWJhc2UpIC8gMikgKyAycHg7XG4gICAgICB9XG4gICAgICAmLkB7c3Bpbi1wcmVmaXgtY2xzfS1zaG93LXRleHQgLkB7c3Bpbi1wcmVmaXgtY2xzfS1kb3Qge1xuICAgICAgICBtYXJnaW4tdG9wOiAtKEBzcGluLWRvdC1zaXplLXNtIC8gMikgLSAxMHB4O1xuICAgICAgfVxuICAgIH1cblxuICAgID4gZGl2ID4gLkB7c3Bpbi1wcmVmaXgtY2xzfS1sZyB7XG4gICAgICAuQHtzcGluLXByZWZpeC1jbHN9LWRvdCB7XG4gICAgICAgIG1hcmdpbjogLShAc3Bpbi1kb3Qtc2l6ZS1sZyAvIDIpO1xuICAgICAgfVxuICAgICAgLkB7c3Bpbi1wcmVmaXgtY2xzfS10ZXh0IHtcbiAgICAgICAgcGFkZGluZy10b3A6ICgoQHNwaW4tZG90LXNpemUtbGcgLSBAZm9udC1zaXplLWJhc2UpIC8gMikgKyAycHg7XG4gICAgICB9XG4gICAgICAmLkB7c3Bpbi1wcmVmaXgtY2xzfS1zaG93LXRleHQgLkB7c3Bpbi1wcmVmaXgtY2xzfS1kb3Qge1xuICAgICAgICBtYXJnaW4tdG9wOiAtKEBzcGluLWRvdC1zaXplLWxnIC8gMikgLSAxMHB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYtY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzO1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgei1pbmRleDogMTA7XG4gICAgICBkaXNwbGF5OiB+J25vbmUgXFw5JztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgYmFja2dyb3VuZDogQGNvbXBvbmVudC1iYWNrZ3JvdW5kO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzO1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG4gIH1cblxuICAmLWJsdXIge1xuICAgIGNsZWFyOiBib3RoO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgb3BhY2l0eTogMC41O1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgb3BhY2l0eTogMC40O1xuICAgICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gICAgfVxuICB9XG5cbiAgLy8gdGlwXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAmLXRpcCB7XG4gICAgY29sb3I6IEBzcGluLWRvdC1kZWZhdWx0O1xuICB9XG5cbiAgLy8gZG90c1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAmLWRvdCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXNpemU6IEBzcGluLWRvdC1zaXplO1xuXG4gICAgLnNxdWFyZSgxZW0pO1xuXG4gICAgJi1pdGVtIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDlweDtcbiAgICAgIGhlaWdodDogOXB4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogQHByaW1hcnktY29sb3I7XG4gICAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjc1KTtcbiAgICAgIHRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7XG4gICAgICBvcGFjaXR5OiAwLjM7XG4gICAgICBhbmltYXRpb246IGFudFNwaW5Nb3ZlIDFzIGluZmluaXRlIGxpbmVhciBhbHRlcm5hdGU7XG5cbiAgICAgICY6bnRoLWNoaWxkKDEpIHtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgfVxuICAgICAgJjpudGgtY2hpbGQoMikge1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBhbmltYXRpb24tZGVsYXk6IDAuNHM7XG4gICAgICB9XG4gICAgICAmOm50aC1jaGlsZCgzKSB7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGFuaW1hdGlvbi1kZWxheTogMC44cztcbiAgICAgIH1cbiAgICAgICY6bnRoLWNoaWxkKDQpIHtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBhbmltYXRpb24tZGVsYXk6IDEuMnM7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi1zcGluIHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICAgIGFuaW1hdGlvbjogYW50Um90YXRlIDEuMnMgaW5maW5pdGUgbGluZWFyO1xuICAgIH1cbiAgfVxuXG4gIC8vIFNpemVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIHNtYWxsXG4gICYtc20gJi1kb3Qge1xuICAgIGZvbnQtc2l6ZTogQHNwaW4tZG90LXNpemUtc207XG5cbiAgICBpIHtcbiAgICAgIHdpZHRoOiA2cHg7XG4gICAgICBoZWlnaHQ6IDZweDtcbiAgICB9XG4gIH1cblxuICAvLyBsYXJnZVxuICAmLWxnICYtZG90IHtcbiAgICBmb250LXNpemU6IEBzcGluLWRvdC1zaXplLWxnO1xuXG4gICAgaSB7XG4gICAgICB3aWR0aDogMTRweDtcbiAgICAgIGhlaWdodDogMTRweDtcbiAgICB9XG4gIH1cblxuICAmJi1zaG93LXRleHQgJi10ZXh0IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG5AbWVkaWEgYWxsIGFuZCAoLW1zLWhpZ2gtY29udHJhc3Q6IG5vbmUpLCAoLW1zLWhpZ2gtY29udHJhc3Q6IGFjdGl2ZSkge1xuICAvKiBJRTEwKyAqL1xuICAuQHtzcGluLXByZWZpeC1jbHN9LWJsdXIge1xuICAgIGJhY2tncm91bmQ6IEBjb21wb25lbnQtYmFja2dyb3VuZDtcbiAgICBvcGFjaXR5OiAwLjU7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBhbnRTcGluTW92ZSB7XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgYW50Um90YXRlIHtcbiAgdG8ge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDQwNWRlZyk7XG4gIH1cbn1cblxuQGltcG9ydCAnLi9ydGwnO1xuIiwiLkB7c3Bpbi1wcmVmaXgtY2xzfSB7XG4gICYtcnRsIHtcbiAgICBkaXJlY3Rpb246IHJ0bDtcbiAgfVxuXG4gICYtZG90IHtcbiAgICAmLXNwaW4ge1xuICAgICAgLkB7c3Bpbi1wcmVmaXgtY2xzfS1ydGwgJiB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgICAgIGFuaW1hdGlvbi1uYW1lOiBhbnRSb3RhdGVSdGw7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBrZXlmcmFtZXMgYW50Um90YXRlUnRsIHtcbiAgdG8ge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC00MDVkZWcpO1xuICB9XG59XG4iLCJuei1zcGluIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4iLCJAaW1wb3J0ICcuL2luZGV4JztcbkBpbXBvcnQgJy4vbWl4aW4nO1xuXG5AaW5wdXQtYWZmaXgtbWFyZ2luOiA0cHg7XG5cbi5Ae2FudC1wcmVmaXh9LWlucHV0IHtcbiAgJi1hZmZpeC13cmFwcGVyIHtcbiAgICAuaW5wdXQoKTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcblxuICAgICY6aG92ZXIge1xuICAgICAgLmhvdmVyKCk7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgLkB7YW50LXByZWZpeH0taW5wdXQtc2VhcmNoLXdpdGgtYnV0dG9uICYge1xuICAgICAgICB6LWluZGV4OiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgICYtZm9jdXNlZCxcbiAgICAmOmZvY3VzIHtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgfVxuXG4gICAgJi1kaXNhYmxlZCB7XG4gICAgICAuQHthbnQtcHJlZml4fS1pbnB1dFtkaXNhYmxlZF0ge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICA+IGlucHV0LkB7YW50LXByZWZpeH0taW5wdXQge1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG5cbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6OmJlZm9yZSB7XG4gICAgICB3aWR0aDogMDtcbiAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgIGNvbnRlbnQ6ICdcXGEwJztcbiAgICB9XG4gIH1cblxuICAmLXByZWZpeCxcbiAgJi1zdWZmaXgge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleDogbm9uZTtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG5cbiAgJi1wcmVmaXgge1xuICAgIG1hcmdpbi1yaWdodDogQGlucHV0LWFmZml4LW1hcmdpbjtcbiAgfVxuXG4gICYtc3VmZml4IHtcbiAgICBtYXJnaW4tbGVmdDogQGlucHV0LWFmZml4LW1hcmdpbjtcbiAgfVxufVxuIiwiQGltcG9ydCAnLi4vLi4vc3R5bGUvdGhlbWVzL2luZGV4JztcbkBpbXBvcnQgJy4uLy4uL3N0eWxlL21peGlucy9pbmRleCc7XG5cbkBpbnB1dC1hZmZpeC13aXRoLWNsZWFyLWJ0bi13aWR0aDogMzhweDtcblxuLy8gc2l6ZSBtaXhpbnMgZm9yIGlucHV0XG4uaW5wdXQtbGcoKSB7XG4gIHBhZGRpbmc6IEBpbnB1dC1wYWRkaW5nLXZlcnRpY2FsLWxnIEBpbnB1dC1wYWRkaW5nLWhvcml6b250YWwtbGc7XG4gIGZvbnQtc2l6ZTogQGZvbnQtc2l6ZS1sZztcbn1cblxuLmlucHV0LXNtKCkge1xuICBwYWRkaW5nOiBAaW5wdXQtcGFkZGluZy12ZXJ0aWNhbC1zbSBAaW5wdXQtcGFkZGluZy1ob3Jpem9udGFsLXNtO1xufVxuXG4vLyBpbnB1dCBzdGF0dXNcbi8vID09IHdoZW4gZm9jdXMgb3IgYWN0aXZlZFxuLmFjdGl2ZShAY29sb3I6IEBvdXRsaW5lLWNvbG9yKSB7XG4gICYgd2hlbiAoQHRoZW1lID0gZGFyaykge1xuICAgIGJvcmRlci1jb2xvcjogQGNvbG9yO1xuICB9XG4gICYgd2hlbiBub3QgKEB0aGVtZSA9IGRhcmspIHtcbiAgICBib3JkZXItY29sb3I6IH5gY29sb3JQYWxldHRlKCdAe2NvbG9yfScsIDUpIGA7XG4gIH1cbiAgYm9yZGVyLXJpZ2h0LXdpZHRoOiBAYm9yZGVyLXdpZHRoLWJhc2UgIWltcG9ydGFudDtcbiAgb3V0bGluZTogMDtcbiAgYm94LXNoYWRvdzogQGlucHV0LW91dGxpbmUtb2Zmc2V0IEBvdXRsaW5lLWJsdXItc2l6ZSBAb3V0bGluZS13aWR0aCBmYWRlKEBjb2xvciwgQG91dGxpbmUtZmFkZSk7XG59XG5cbi8vID09IHdoZW4gaG92ZXJkXG4uaG92ZXIoQGNvbG9yOiBAaW5wdXQtaG92ZXItYm9yZGVyLWNvbG9yKSB7XG4gIGJvcmRlci1jb2xvcjogQGNvbG9yO1xuICBib3JkZXItcmlnaHQtd2lkdGg6IEBib3JkZXItd2lkdGgtYmFzZSAhaW1wb3J0YW50O1xufVxuXG4uZGlzYWJsZWQoKSB7XG4gIGNvbG9yOiBAaW5wdXQtZGlzYWJsZWQtY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6IEBpbnB1dC1kaXNhYmxlZC1iZztcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgb3BhY2l0eTogMTtcblxuICAmOmhvdmVyIHtcbiAgICAuaG92ZXIoQGlucHV0LWJvcmRlci1jb2xvcik7XG4gIH1cbn1cblxuLy8gQmFzaWMgc3R5bGUgZm9yIGlucHV0XG4uaW5wdXQoKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgbWluLXdpZHRoOiAwO1xuICBwYWRkaW5nOiBAaW5wdXQtcGFkZGluZy12ZXJ0aWNhbC1iYXNlIEBpbnB1dC1wYWRkaW5nLWhvcml6b250YWwtYmFzZTtcbiAgY29sb3I6IEBpbnB1dC1jb2xvcjtcbiAgZm9udC1zaXplOiBAZm9udC1zaXplLWJhc2U7XG4gIGxpbmUtaGVpZ2h0OiBAbGluZS1oZWlnaHQtYmFzZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogQGlucHV0LWJnO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICBib3JkZXI6IEBib3JkZXItd2lkdGgtYmFzZSBAYm9yZGVyLXN0eWxlLWJhc2UgQGlucHV0LWJvcmRlci1jb2xvcjtcbiAgYm9yZGVyLXJhZGl1czogQGJvcmRlci1yYWRpdXMtYmFzZTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuM3M7XG4gIC5wbGFjZWhvbGRlcigpOyAvLyBSZXNldCBwbGFjZWhvbGRlclxuXG4gICY6aG92ZXIge1xuICAgIC5ob3ZlcigpO1xuICB9XG5cbiAgJjpmb2N1cyxcbiAgJi1mb2N1c2VkIHtcbiAgICAuYWN0aXZlKCk7XG4gIH1cblxuICAmLWRpc2FibGVkIHtcbiAgICAuZGlzYWJsZWQoKTtcbiAgfVxuXG4gICZbZGlzYWJsZWRdIHtcbiAgICAuZGlzYWJsZWQoKTtcbiAgfVxuXG4gICYtYm9yZGVybGVzcyB7XG4gICAgJixcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMsXG4gICAgJi1mb2N1c2VkLFxuICAgICYtZGlzYWJsZWQsXG4gICAgJltkaXNhYmxlZF0ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC8vIFJlc2V0IGhlaWdodCBmb3IgYHRleHRhcmVhYHNcbiAgdGV4dGFyZWEmIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7IC8vIHByZXZlbnQgdGV4dGVhcmVhIHJlc2l6ZSBmcm9tIGNvbWluZyBvdXQgb2YgaXRzIGNvbnRhaW5lclxuICAgIGhlaWdodDogYXV0bztcbiAgICBtaW4taGVpZ2h0OiBAaW5wdXQtaGVpZ2h0LWJhc2U7XG4gICAgbGluZS1oZWlnaHQ6IEBsaW5lLWhlaWdodC1iYXNlO1xuICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MsIGhlaWdodCAwcztcbiAgfVxuXG4gIC8vIFNpemVcbiAgJi1sZyB7XG4gICAgLmlucHV0LWxnKCk7XG4gIH1cblxuICAmLXNtIHtcbiAgICAuaW5wdXQtc20oKTtcbiAgfVxufVxuXG4vLyBsYWJlbCBpbnB1dFxuLmlucHV0LWdyb3VwKEBpbnB1dENsYXNzKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogdGFibGU7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXItY29sbGFwc2U6IHNlcGFyYXRlO1xuICBib3JkZXItc3BhY2luZzogMDtcblxuICAvLyBVbmRvIHBhZGRpbmcgYW5kIGZsb2F0IG9mIGdyaWQgY2xhc3Nlc1xuICAmW2NsYXNzKj0nY29sLSddIHtcbiAgICBmbG9hdDogbm9uZTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgfVxuXG4gID4gW2NsYXNzKj0nY29sLSddIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA4cHg7XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICB9XG4gIH1cblxuICAmLWFkZG9uLFxuICAmLXdyYXAsXG4gID4gLkB7aW5wdXRDbGFzc30ge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG5cbiAgICAmOm5vdCg6Zmlyc3QtY2hpbGQpOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICB9XG4gIH1cblxuICAmLWFkZG9uLFxuICAmLXdyYXAge1xuICAgIHdpZHRoOiAxcHg7IC8vIFRvIG1ha2UgYWRkb24vd3JhcCBhcyBzbWFsbCBhcyBwb3NzaWJsZVxuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgfVxuXG4gICYtd3JhcCA+ICoge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuQHtpbnB1dENsYXNzfSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB0ZXh0LWFsaWduOiBpbmhlcml0O1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICB6LWluZGV4OiAxOyAvLyBGaXggaHR0cHM6Ly9ndy5hbGlwYXlvYmplY3RzLmNvbS96b3Mvcm1zcG9ydGFsL0RITnBvcWZNWFNmclNubFp2aHNKLnBuZ1xuICAgICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAxcHg7XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAxcHg7XG4gICAgICAuQHthbnQtcHJlZml4fS1pbnB1dC1zZWFyY2gtd2l0aC1idXR0b24gJiB7XG4gICAgICAgIHotaW5kZXg6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi1hZGRvbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmc6IDAgQGlucHV0LXBhZGRpbmctaG9yaXpvbnRhbC1iYXNlO1xuICAgIGNvbG9yOiBAaW5wdXQtY29sb3I7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXNpemU6IEBmb250LXNpemUtYmFzZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQGlucHV0LWFkZG9uLWJnO1xuICAgIGJvcmRlcjogQGJvcmRlci13aWR0aC1iYXNlIEBib3JkZXItc3R5bGUtYmFzZSBAaW5wdXQtYm9yZGVyLWNvbG9yO1xuICAgIGJvcmRlci1yYWRpdXM6IEBib3JkZXItcmFkaXVzLWJhc2U7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3M7XG5cbiAgICAvLyBSZXNldCBTZWxlY3QncyBzdHlsZSBpbiBhZGRvblxuICAgIC5Ae2FudC1wcmVmaXh9LXNlbGVjdCB7XG4gICAgICBtYXJnaW46IC0oQGlucHV0LXBhZGRpbmctdmVydGljYWwtYmFzZSArIDFweCkgKC1AaW5wdXQtcGFkZGluZy1ob3Jpem9udGFsLWJhc2UpO1xuXG4gICAgICAmLkB7YW50LXByZWZpeH0tc2VsZWN0LXNpbmdsZTpub3QoLkB7YW50LXByZWZpeH0tc2VsZWN0LWN1c3RvbWl6ZS1pbnB1dClcbiAgICAgICAgLkB7YW50LXByZWZpeH0tc2VsZWN0LXNlbGVjdG9yIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgYm9yZGVyOiBAYm9yZGVyLXdpZHRoLWJhc2UgQGJvcmRlci1zdHlsZS1iYXNlIHRyYW5zcGFyZW50O1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgfVxuXG4gICAgICAmLW9wZW4sXG4gICAgICAmLWZvY3VzZWQge1xuICAgICAgICAuQHthbnQtcHJlZml4fS1zZWxlY3Qtc2VsZWN0b3Ige1xuICAgICAgICAgIGNvbG9yOiBAcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFJlc2V0IHJvdW5kZWQgY29ybmVyc1xuICA+IC5Ae2lucHV0Q2xhc3N9OmZpcnN0LWNoaWxkLFxuICAmLWFkZG9uOmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcblxuICAgIC8vIFJlc2V0IFNlbGVjdCdzIHN0eWxlIGluIGFkZG9uXG4gICAgLkB7YW50LXByZWZpeH0tc2VsZWN0IC5Ae2FudC1wcmVmaXh9LXNlbGVjdC1zZWxlY3RvciB7XG4gICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuICAgIH1cbiAgfVxuXG4gID4gLkB7aW5wdXRDbGFzc30tYWZmaXgtd3JhcHBlciB7XG4gICAgJjpub3QoOmZpcnN0LWNoaWxkKSAuQHtpbnB1dENsYXNzfSB7XG4gICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgICB9XG5cbiAgICAmOm5vdCg6bGFzdC1jaGlsZCkgLkB7aW5wdXRDbGFzc30ge1xuICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbiAgICB9XG4gIH1cblxuICAmLWFkZG9uOmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItcmlnaHQ6IDA7XG4gIH1cblxuICAmLWFkZG9uOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1sZWZ0OiAwO1xuICB9XG5cbiAgPiAuQHtpbnB1dENsYXNzfTpsYXN0LWNoaWxkLFxuICAmLWFkZG9uOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcblxuICAgIC8vIFJlc2V0IFNlbGVjdCdzIHN0eWxlIGluIGFkZG9uXG4gICAgLkB7YW50LXByZWZpeH0tc2VsZWN0IC5Ae2FudC1wcmVmaXh9LXNlbGVjdC1zZWxlY3RvciB7XG4gICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgICB9XG4gIH1cblxuICAvLyBTaXppbmcgb3B0aW9uc1xuICAmLWxnIC5Ae2lucHV0Q2xhc3N9LFxuICAmLWxnID4gJi1hZGRvbiB7XG4gICAgLmlucHV0LWxnKCk7XG4gIH1cblxuICAmLXNtIC5Ae2lucHV0Q2xhc3N9LFxuICAmLXNtID4gJi1hZGRvbiB7XG4gICAgLmlucHV0LXNtKCk7XG4gIH1cblxuICAvLyBGaXggaHR0cHM6Ly9naXRodWIuY29tL2FudC1kZXNpZ24vYW50LWRlc2lnbi9pc3N1ZXMvNTc1NFxuICAmLWxnIC5Ae2FudC1wcmVmaXh9LXNlbGVjdC1zaW5nbGUgLkB7YW50LXByZWZpeH0tc2VsZWN0LXNlbGVjdG9yIHtcbiAgICBoZWlnaHQ6IEBpbnB1dC1oZWlnaHQtbGc7XG4gIH1cblxuICAmLXNtIC5Ae2FudC1wcmVmaXh9LXNlbGVjdC1zaW5nbGUgLkB7YW50LXByZWZpeH0tc2VsZWN0LXNlbGVjdG9yIHtcbiAgICBoZWlnaHQ6IEBpbnB1dC1oZWlnaHQtc207XG4gIH1cblxuICAuQHtpbnB1dENsYXNzfS1hZmZpeC13cmFwcGVyIHtcbiAgICAmOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICAgIH1cblxuICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuICAgICAgLkB7YW50LXByZWZpeH0taW5wdXQtc2VhcmNoICYge1xuICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiBAYm9yZGVyLXJhZGl1cy1iYXNlO1xuICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiBAYm9yZGVyLXJhZGl1cy1iYXNlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYmLWNvbXBhY3Qge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIC5jbGVhcmZpeCgpO1xuXG4gICAgJi1hZGRvbixcbiAgICAmLXdyYXAsXG4gICAgPiAuQHtpbnB1dENsYXNzfSB7XG4gICAgICAmOm5vdCg6Zmlyc3QtY2hpbGQpOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICBib3JkZXItcmlnaHQtd2lkdGg6IEBib3JkZXItd2lkdGgtYmFzZTtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYgPiAqIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgdmVydGljYWwtYWxpZ246IHRvcDsgLy8gaHR0cHM6Ly9naXRodWIuY29tL2FudC1kZXNpZ24vYW50LWRlc2lnbi1wcm8vaXNzdWVzLzEzOVxuICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICB9XG5cbiAgICAmID4gLkB7aW5wdXRDbGFzc30tYWZmaXgtd3JhcHBlciB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICB9XG5cbiAgICAmID4gLkB7YW50LXByZWZpeH0tcGlja2VyLXJhbmdlIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIH1cblxuICAgICYgPiAqOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtQGJvcmRlci13aWR0aC1iYXNlO1xuICAgICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiBAYm9yZGVyLXdpZHRoLWJhc2U7XG4gICAgfVxuXG4gICAgLy8gVW5kbyBmbG9hdCBmb3IgLmFudC1pbnB1dC1ncm91cCAuYW50LWlucHV0XG4gICAgLkB7aW5wdXRDbGFzc30ge1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgfVxuXG4gICAgLy8gcmVzZXQgYm9yZGVyIGZvciBTZWxlY3QsIERhdGVQaWNrZXIsIEF1dG9Db21wbGV0ZSwgQ2FzY2FkZXIsIE1lbnRpb24sIFRpbWVQaWNrZXIsIElucHV0XG4gICAgJiA+IC5Ae2FudC1wcmVmaXh9LXNlbGVjdCA+IC5Ae2FudC1wcmVmaXh9LXNlbGVjdC1zZWxlY3RvcixcbiAgICAmID4gLkB7YW50LXByZWZpeH0tc2VsZWN0LWF1dG8tY29tcGxldGUgLkB7YW50LXByZWZpeH0taW5wdXQsXG4gICAgJiA+IC5Ae2FudC1wcmVmaXh9LWNhc2NhZGVyLXBpY2tlciAuQHthbnQtcHJlZml4fS1pbnB1dCxcbiAgICAmID4gLkB7YW50LXByZWZpeH0taW5wdXQtZ3JvdXAtd3JhcHBlciAuQHthbnQtcHJlZml4fS1pbnB1dCB7XG4gICAgICBib3JkZXItcmlnaHQtd2lkdGg6IEBib3JkZXItd2lkdGgtYmFzZTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgfVxuXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmID4gLkB7YW50LXByZWZpeH0tc2VsZWN0LWZvY3VzZWQge1xuICAgICAgei1pbmRleDogMTtcbiAgICB9XG5cbiAgICAvLyB1cGRhdGUgei1pbmRleCBmb3IgYXJyb3cgaWNvblxuICAgICYgPiAuQHthbnQtcHJlZml4fS1zZWxlY3QgPiAuQHthbnQtcHJlZml4fS1zZWxlY3QtYXJyb3cge1xuICAgICAgei1pbmRleDogMTsgLy8gaHR0cHM6Ly9naXRodWIuY29tL2FudC1kZXNpZ24vYW50LWRlc2lnbi9pc3N1ZXMvMjAzNzFcbiAgICB9XG5cbiAgICAmID4gKjpmaXJzdC1jaGlsZCxcbiAgICAmID4gLkB7YW50LXByZWZpeH0tc2VsZWN0OmZpcnN0LWNoaWxkID4gLkB7YW50LXByZWZpeH0tc2VsZWN0LXNlbGVjdG9yLFxuICAgICYgPiAuQHthbnQtcHJlZml4fS1zZWxlY3QtYXV0by1jb21wbGV0ZTpmaXJzdC1jaGlsZCAuQHthbnQtcHJlZml4fS1pbnB1dCxcbiAgICAmID4gLkB7YW50LXByZWZpeH0tY2FzY2FkZXItcGlja2VyOmZpcnN0LWNoaWxkIC5Ae2FudC1wcmVmaXh9LWlucHV0IHtcbiAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IEBib3JkZXItcmFkaXVzLWJhc2U7XG4gICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiBAYm9yZGVyLXJhZGl1cy1iYXNlO1xuICAgIH1cblxuICAgICYgPiAqOmxhc3QtY2hpbGQsXG4gICAgJiA+IC5Ae2FudC1wcmVmaXh9LXNlbGVjdDpsYXN0LWNoaWxkID4gLkB7YW50LXByZWZpeH0tc2VsZWN0LXNlbGVjdG9yLFxuICAgICYgPiAuQHthbnQtcHJlZml4fS1jYXNjYWRlci1waWNrZXI6bGFzdC1jaGlsZCAuQHthbnQtcHJlZml4fS1pbnB1dCxcbiAgICAmID4gLkB7YW50LXByZWZpeH0tY2FzY2FkZXItcGlja2VyLWZvY3VzZWQ6bGFzdC1jaGlsZCAuQHthbnQtcHJlZml4fS1pbnB1dCB7XG4gICAgICBib3JkZXItcmlnaHQtd2lkdGg6IEBib3JkZXItd2lkdGgtYmFzZTtcbiAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiBAYm9yZGVyLXJhZGl1cy1iYXNlO1xuICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IEBib3JkZXItcmFkaXVzLWJhc2U7XG4gICAgfVxuXG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2FudC1kZXNpZ24vYW50LWRlc2lnbi9pc3N1ZXMvMTI0OTNcbiAgICAmID4gLkB7YW50LXByZWZpeH0tc2VsZWN0LWF1dG8tY29tcGxldGUgLkB7YW50LXByZWZpeH0taW5wdXQge1xuICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICB9XG5cbiAgICAuQHthbnQtcHJlZml4fS1pbnB1dC1ncm91cC13cmFwcGVyICsgLkB7YW50LXByZWZpeH0taW5wdXQtZ3JvdXAtd3JhcHBlciB7XG4gICAgICBtYXJnaW4tbGVmdDogLTFweDtcbiAgICAgIC5Ae2FudC1wcmVmaXh9LWlucHV0LWFmZml4LXdyYXBwZXIge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5Ae2FudC1wcmVmaXh9LWlucHV0LWdyb3VwLXdyYXBwZXI6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAmLkB7YW50LXByZWZpeH0taW5wdXQtc2VhcmNoID4gLkB7YW50LXByZWZpeH0taW5wdXQtZ3JvdXAge1xuICAgICAgICAmID4gLkB7YW50LXByZWZpeH0taW5wdXQtZ3JvdXAtYWRkb24gPiAuQHthbnQtcHJlZml4fS1pbnB1dC1zZWFyY2gtYnV0dG9uIHtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJiA+IC5Ae2FudC1wcmVmaXh9LWlucHV0IHtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiBAYm9yZGVyLXJhZGl1cy1iYXNlIDAgMCBAYm9yZGVyLXJhZGl1cy1iYXNlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBDb21wYXRpYmlsaXR5IGZvciBicm93c2Vycy5cblxuLy8gUGxhY2Vob2xkZXIgdGV4dFxuLnBsYWNlaG9sZGVyKEBjb2xvcjogQGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yKSB7XG4gIC8vIEZpcmVmb3hcbiAgJjo6LW1vei1wbGFjZWhvbGRlciB7XG4gICAgb3BhY2l0eTogMTsgLy8gT3ZlcnJpZGUgRmlyZWZveCdzIHVudXN1YWwgZGVmYXVsdCBvcGFjaXR5OyBzZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMTE1MjZcbiAgfVxuXG4gICY6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogQGNvbG9yO1xuICB9XG5cbiAgJjpwbGFjZWhvbGRlci1zaG93biB7XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIH1cbn1cbiIsIkBpbXBvcnQgJy4uLy4uL3N0eWxlL3RoZW1lcy9pbmRleCc7XG5AaW1wb3J0ICcuLi8uLi9zdHlsZS9taXhpbnMvaW5kZXgnO1xuXG4vLz09IFN0eWxlIGZvciBpbnB1dC1ncm91cDogaW5wdXQgd2l0aCBsYWJlbCwgd2l0aCBidXR0b24gb3IgZHJvcGRvd24uLi5cbi5Ae2FudC1wcmVmaXh9LWlucHV0LWdyb3VwIHtcbiAgJi13cmFwcGVyIHtcbiAgICAmLXJ0bCB7XG4gICAgICBkaXJlY3Rpb246IHJ0bDtcbiAgICB9XG4gIH1cbiAgJi1ydGwge1xuICAgIGRpcmVjdGlvbjogcnRsO1xuICB9XG59XG5cbi8vIGFmZml4XG5AaW5wdXQtYWZmaXgtbWFyZ2luOiA0cHg7XG5cbi5Ae2FudC1wcmVmaXh9LWlucHV0IHtcbiAgJi1hZmZpeC13cmFwcGVyJi1hZmZpeC13cmFwcGVyLXJ0bCB7XG4gICAgPiBpbnB1dC5Ae2FudC1wcmVmaXh9LWlucHV0IHtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgJi1hZmZpeC13cmFwcGVyLXJ0bCB7XG4gICAgLkB7YW50LXByZWZpeH0taW5wdXQtcHJlZml4IHtcbiAgICAgIG1hcmdpbjogMCAwIDAgQGlucHV0LWFmZml4LW1hcmdpbjtcbiAgICB9XG5cbiAgICAuQHthbnQtcHJlZml4fS1pbnB1dC1zdWZmaXgge1xuICAgICAgbWFyZ2luOiAwIEBpbnB1dC1hZmZpeC1tYXJnaW4gMCAwO1xuICAgIH1cbiAgfVxuXG4gICYtdGV4dGFyZWEge1xuICAgICYtcnRsIHtcbiAgICAgIGRpcmVjdGlvbjogcnRsO1xuICAgIH1cblxuICAgICYtcnRsJi1zaG93LWNvdW50OjphZnRlciB7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIH1cbiAgfVxufVxuXG4vLyBhbGxvdy1jbGVhclxuLkB7YW50LXByZWZpeH0taW5wdXQtY2xlYXItaWNvbiB7XG4gICY6bGFzdC1jaGlsZCB7XG4gICAgLkB7YW50LXByZWZpeH0taW5wdXQtYWZmaXgtd3JhcHBlci1ydGwgJiB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IEBpbnB1dC1hZmZpeC1tYXJnaW47XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG4gIH1cblxuICAuQHthbnQtcHJlZml4fS1pbnB1dC1hZmZpeC13cmFwcGVyLXJ0bCAmIHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiA4cHg7XG4gIH1cbn1cblxuLy8gbWl4aW5cbkBpbnB1dC1ydGwtY2xzOiB+J0B7YW50LXByZWZpeH0taW5wdXQtcnRsJztcblxuLmFjdGl2ZSgpIHtcbiAgLkB7aW5wdXQtcnRsLWNsc30gJiB7XG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiBAYm9yZGVyLXdpZHRoLWJhc2UgIWltcG9ydGFudDtcbiAgfVxufVxuXG4uaG92ZXIoKSB7XG4gIC5Ae2lucHV0LXJ0bC1jbHN9ICYge1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICBib3JkZXItbGVmdC13aWR0aDogQGJvcmRlci13aWR0aC1iYXNlICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLmlucHV0KCkge1xuICAmLXJ0bCB7XG4gICAgZGlyZWN0aW9uOiBydGw7XG4gIH1cbn1cblxuLy8gbGFiZWwgaW5wdXRcbi5pbnB1dC1ncm91cChAaW5wdXRDbGFzcykge1xuICA+IC5Ae2lucHV0Q2xhc3N9LXJ0bDpmaXJzdC1jaGlsZCxcbiAgJi1ydGwgJi1hZGRvbjpmaXJzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXJhZGl1czogMCBAYm9yZGVyLXJhZGl1cy1iYXNlIEBib3JkZXItcmFkaXVzLWJhc2UgMDtcbiAgfVxuXG4gICYtYWRkb246Zmlyc3QtY2hpbGQge1xuICAgIC5Ae2lucHV0Q2xhc3N9LWdyb3VwLXJ0bCAmIHtcbiAgICAgIGJvcmRlci1yaWdodDogQGJvcmRlci13aWR0aC1iYXNlIEBib3JkZXItc3R5bGUtYmFzZSBAaW5wdXQtYm9yZGVyLWNvbG9yO1xuICAgICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgfVxuICB9XG5cbiAgJi1hZGRvbjpsYXN0LWNoaWxkIHtcbiAgICAuQHtpbnB1dENsYXNzfS1ncm91cC1ydGwgJiB7XG4gICAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgICBib3JkZXItbGVmdDogQGJvcmRlci13aWR0aC1iYXNlIEBib3JkZXItc3R5bGUtYmFzZSBAaW5wdXQtYm9yZGVyLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gID4gLkB7aW5wdXRDbGFzc306bGFzdC1jaGlsZCxcbiAgJi1hZGRvbjpsYXN0LWNoaWxkIHtcbiAgICAuQHtpbnB1dENsYXNzfS1ncm91cC1ydGwmIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IEBib3JkZXItcmFkaXVzLWJhc2UgMCAwIEBib3JkZXItcmFkaXVzLWJhc2U7XG4gICAgfVxuICB9XG5cbiAgLkB7aW5wdXRDbGFzc30tYWZmaXgtd3JhcHBlciB7XG4gICAgJjpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAuQHtpbnB1dENsYXNzfS1ncm91cC1ydGwmIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogQGJvcmRlci1yYWRpdXMtYmFzZSAwIDAgQGJvcmRlci1yYWRpdXMtYmFzZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgLkB7aW5wdXRDbGFzc30tZ3JvdXAtcnRsJiB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAgQGJvcmRlci1yYWRpdXMtYmFzZSBAYm9yZGVyLXJhZGl1cy1iYXNlIDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJiYtY29tcGFjdCB7XG4gICAgJiA+ICo6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAuQHtpbnB1dENsYXNzfS1ncm91cC1ydGwmIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICBtYXJnaW4tbGVmdDogLUBib3JkZXItd2lkdGgtYmFzZTtcbiAgICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6IEBib3JkZXItd2lkdGgtYmFzZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmID4gKjpmaXJzdC1jaGlsZCxcbiAgICAmID4gLkB7YW50LXByZWZpeH0tc2VsZWN0OmZpcnN0LWNoaWxkID4gLkB7YW50LXByZWZpeH0tc2VsZWN0LXNlbGVjdG9yLFxuICAgICYgPiAuQHthbnQtcHJlZml4fS1zZWxlY3QtYXV0by1jb21wbGV0ZTpmaXJzdC1jaGlsZCAuQHthbnQtcHJlZml4fS1pbnB1dCxcbiAgICAmID4gLkB7YW50LXByZWZpeH0tY2FzY2FkZXItcGlja2VyOmZpcnN0LWNoaWxkIC5Ae2FudC1wcmVmaXh9LWlucHV0IHtcbiAgICAgIC5Ae2lucHV0Q2xhc3N9LWdyb3VwLXJ0bCYge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwIEBib3JkZXItcmFkaXVzLWJhc2UgQGJvcmRlci1yYWRpdXMtYmFzZSAwO1xuICAgICAgfVxuICAgIH1cblxuICAgICYgPiAqOmxhc3QtY2hpbGQsXG4gICAgJiA+IC5Ae2FudC1wcmVmaXh9LXNlbGVjdDpsYXN0LWNoaWxkID4gLkB7YW50LXByZWZpeH0tc2VsZWN0LXNlbGVjdG9yLFxuICAgICYgPiAuQHthbnQtcHJlZml4fS1zZWxlY3QtYXV0by1jb21wbGV0ZTpsYXN0LWNoaWxkIC5Ae2FudC1wcmVmaXh9LWlucHV0LFxuICAgICYgPiAuQHthbnQtcHJlZml4fS1jYXNjYWRlci1waWNrZXI6bGFzdC1jaGlsZCAuQHthbnQtcHJlZml4fS1pbnB1dCxcbiAgICAmID4gLkB7YW50LXByZWZpeH0tY2FzY2FkZXItcGlja2VyLWZvY3VzZWQ6bGFzdC1jaGlsZCAuQHthbnQtcHJlZml4fS1pbnB1dCB7XG4gICAgICAuQHtpbnB1dENsYXNzfS1ncm91cC1ydGwmIHtcbiAgICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6IEBib3JkZXItd2lkdGgtYmFzZTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogQGJvcmRlci1yYWRpdXMtYmFzZSAwIDAgQGJvcmRlci1yYWRpdXMtYmFzZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuQHthbnQtcHJlZml4fS1pbnB1dC1ncm91cC13cmFwcGVyLXJ0bCArIC5Ae2FudC1wcmVmaXh9LWlucHV0LWdyb3VwLXdyYXBwZXItcnRsIHtcbiAgICAgIG1hcmdpbi1yaWdodDogLTFweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cblxuICAgIC5Ae2FudC1wcmVmaXh9LWlucHV0LWdyb3VwLXdyYXBwZXItcnRsOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgJi5Ae2FudC1wcmVmaXh9LWlucHV0LXNlYXJjaCA+IC5Ae2FudC1wcmVmaXh9LWlucHV0LWdyb3VwIHtcbiAgICAgICAgJiA+IC5Ae2FudC1wcmVmaXh9LWlucHV0IHtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAwIEBib3JkZXItcmFkaXVzLWJhc2UgQGJvcmRlci1yYWRpdXMtYmFzZSAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIHNlYXJjaC1pbnB1dFxuQHNlYXJjaC1wcmVmaXg6IH4nQHthbnQtcHJlZml4fS1pbnB1dC1zZWFyY2gnO1xuQHNlYXJjaC1ydGwtY2xzOiB+J0B7c2VhcmNoLXByZWZpeH0tcnRsJztcblxuLkB7c2VhcmNoLXByZWZpeH0tcnRsIHtcbiAgZGlyZWN0aW9uOiBydGw7XG5cbiAgLkB7YW50LXByZWZpeH0taW5wdXQge1xuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICArIC5Ae2FudC1wcmVmaXh9LWlucHV0LWdyb3VwLWFkZG9uIC5Ae3NlYXJjaC1wcmVmaXh9LWJ1dHRvbjpub3QoLkB7YW50LXByZWZpeH0tYnRuLXByaW1hcnkpIHtcbiAgICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiBAaW5wdXQtaG92ZXItYm9yZGVyLWNvbG9yO1xuICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogQGJvcmRlci1jb2xvci1iYXNlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gID4gLkB7YW50LXByZWZpeH0taW5wdXQtZ3JvdXAge1xuICAgID4gLkB7YW50LXByZWZpeH0taW5wdXQtYWZmaXgtd3JhcHBlciB7XG4gICAgICAmOmhvdmVyLFxuICAgICAgJi1mb2N1c2VkIHtcbiAgICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiBAaW5wdXQtaG92ZXItYm9yZGVyLWNvbG9yO1xuICAgICAgfVxuICAgIH1cblxuICAgID4gLkB7YW50LXByZWZpeH0taW5wdXQtZ3JvdXAtYWRkb24ge1xuICAgICAgcmlnaHQ6IC0xcHg7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgICAgLkB7c2VhcmNoLXByZWZpeH0tYnV0dG9uIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogQGJvcmRlci1yYWRpdXMtYmFzZSAwIDAgQGJvcmRlci1yYWRpdXMtYmFzZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBpbXBvcnQgJy4vaW5kZXgnO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09IElucHV0ID09PT09PT09PT09PT09PT09PT09PT09PT1cbi5Ae2FudC1wcmVmaXh9LWlucHV0LWNsZWFyLWljb24ge1xuICBtYXJnaW46IDAgQGlucHV0LWFmZml4LW1hcmdpbjtcbiAgY29sb3I6IEBkaXNhYmxlZC1jb2xvcjtcbiAgZm9udC1zaXplOiBAZm9udC1zaXplLXNtO1xuICB2ZXJ0aWNhbC1hbGlnbjogLTFweDtcbiAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2FudC1kZXNpZ24vYW50LWRlc2lnbi9wdWxsLzE4MTUxXG4gIC8vIGh0dHBzOi8vY29kZXNhbmRib3guaW8vcy93aXphcmRseS1zdW4tdTEwYnJcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjNzO1xuXG4gICY6aG92ZXIge1xuICAgIGNvbG9yOiBAdGV4dC1jb2xvci1zZWNvbmRhcnk7XG4gIH1cblxuICAmOmFjdGl2ZSB7XG4gICAgY29sb3I6IEB0ZXh0LWNvbG9yO1xuICB9XG5cbiAgJi1oaWRkZW4ge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxuXG4gICY6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICB9XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09IFRleHRBcmVhID09PT09PT09PT09PT09PT09PT09PT09PVxuLkB7YW50LXByZWZpeH0taW5wdXQtYWZmaXgtd3JhcHBlci10ZXh0YXJlYS13aXRoLWNsZWFyLWJ0biB7XG4gIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG5cbiAgLkB7YW50LXByZWZpeH0taW5wdXQtY2xlYXItaWNvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogOHB4O1xuICAgIHJpZ2h0OiA4cHg7XG4gICAgei1pbmRleDogMTtcbiAgfVxufVxuIiwiQGltcG9ydCAnLi4vLi4vc3R5bGUvdGhlbWVzL2luZGV4JztcbkBpbXBvcnQgJy4uLy4uL3N0eWxlL21peGlucy9pbmRleCc7XG5AaW1wb3J0ICcuL21peGluJztcbkBpbXBvcnQgJy4vYWZmaXgnO1xuQGltcG9ydCAnLi9hbGxvdy1jbGVhcic7XG5cbi8vIElucHV0IHN0eWxlc1xuLkB7YW50LXByZWZpeH0taW5wdXQge1xuICAucmVzZXQtY29tcG9uZW50KCk7XG4gIC5pbnB1dCgpO1xuXG4gIC8vPT0gU3R5bGUgZm9yIGlucHV0LWdyb3VwOiBpbnB1dCB3aXRoIGxhYmVsLCB3aXRoIGJ1dHRvbiBvciBkcm9wZG93bi4uLlxuICAmLWdyb3VwIHtcbiAgICAucmVzZXQtY29tcG9uZW50KCk7XG4gICAgLmlucHV0LWdyb3VwKH4nQHthbnQtcHJlZml4fS1pbnB1dCcpO1xuICAgICYtd3JhcHBlciB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHRleHQtYWxpZ246IHN0YXJ0O1xuICAgICAgdmVydGljYWwtYWxpZ246IHRvcDsgLy8gaHR0cHM6Ly9naXRodWIuY29tL2FudC1kZXNpZ24vYW50LWRlc2lnbi9pc3N1ZXMvNjQwM1xuICAgIH1cbiAgfVxuXG4gICYtcGFzc3dvcmQtaWNvbiB7XG4gICAgY29sb3I6IEB0ZXh0LWNvbG9yLXNlY29uZGFyeTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3M7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiBAaW5wdXQtaWNvbi1ob3Zlci1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAmW3R5cGU9J2NvbG9yJ10ge1xuICAgIGhlaWdodDogQGlucHV0LWhlaWdodC1iYXNlO1xuXG4gICAgJi5Ae2FudC1wcmVmaXh9LWlucHV0LWxnIHtcbiAgICAgIGhlaWdodDogQGlucHV0LWhlaWdodC1sZztcbiAgICB9XG4gICAgJi5Ae2FudC1wcmVmaXh9LWlucHV0LXNtIHtcbiAgICAgIGhlaWdodDogQGlucHV0LWhlaWdodC1zbTtcbiAgICAgIHBhZGRpbmctdG9wOiAzcHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogM3B4O1xuICAgIH1cbiAgfVxuXG4gICYtdGV4dGFyZWEge1xuICAgICYtc2hvdy1jb3VudDo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBjb2xvcjogQHRleHQtY29sb3Itc2Vjb25kYXJ5O1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICBjb250ZW50OiBhdHRyKGRhdGEtY291bnQpO1xuICAgIH1cbiAgfVxufVxuXG5AaW1wb3J0ICcuL3NlYXJjaC1pbnB1dCc7XG5AaW1wb3J0ICcuL3J0bCc7XG5AaW1wb3J0ICcuL0lFMTEnO1xuIiwiQGltcG9ydCAnLi4vLi4vc3R5bGUvdGhlbWVzL2luZGV4JztcbkBpbXBvcnQgJy4uLy4uL3N0eWxlL21peGlucy9pbmRleCc7XG5AaW1wb3J0ICcuLi8uLi9idXR0b24vc3R5bGUvbWl4aW4nO1xuQGltcG9ydCAnLi9taXhpbic7XG5cbkBzZWFyY2gtcHJlZml4OiB+J0B7YW50LXByZWZpeH0taW5wdXQtc2VhcmNoJztcblxuLkB7c2VhcmNoLXByZWZpeH0ge1xuICAuQHthbnQtcHJlZml4fS1pbnB1dCB7XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGJvcmRlci1jb2xvcjogQGlucHV0LWhvdmVyLWJvcmRlci1jb2xvcjtcblxuICAgICAgKyAuQHthbnQtcHJlZml4fS1pbnB1dC1ncm91cC1hZGRvbiAuQHtzZWFyY2gtcHJlZml4fS1idXR0b246bm90KC5Ae2FudC1wcmVmaXh9LWJ0bi1wcmltYXJ5KSB7XG4gICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiBAaW5wdXQtaG92ZXItYm9yZGVyLWNvbG9yO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5Ae2FudC1wcmVmaXh9LWlucHV0LWFmZml4LXdyYXBwZXIge1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gIH1cblxuICAvLyBmaXggc2xpZ2h0IGhlaWdodCBkaWZmIGluIEZpcmVmb3g6XG4gIC8vIGh0dHBzOi8vYW50LmRlc2lnbi9jb21wb25lbnRzL2F1dG8tY29tcGxldGUtY24vI2NvbXBvbmVudHMtYXV0by1jb21wbGV0ZS1kZW1vLWNlcnRhaW4tY2F0ZWdvcnlcbiAgLkB7YW50LXByZWZpeH0taW5wdXQtbGcge1xuICAgIGxpbmUtaGVpZ2h0OiBAbGluZS1oZWlnaHQtYmFzZSAtIDAuMDAwMjtcbiAgfVxuXG4gID4gLkB7YW50LXByZWZpeH0taW5wdXQtZ3JvdXAge1xuICAgID4gLkB7YW50LXByZWZpeH0taW5wdXQtZ3JvdXAtYWRkb246bGFzdC1jaGlsZCB7XG4gICAgICBsZWZ0OiAtMXB4O1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGJvcmRlcjogMDtcblxuICAgICAgLkB7c2VhcmNoLXByZWZpeH0tYnV0dG9uIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwIEBib3JkZXItcmFkaXVzLWJhc2UgQGJvcmRlci1yYWRpdXMtYmFzZSAwO1xuICAgICAgfVxuXG4gICAgICAuQHtzZWFyY2gtcHJlZml4fS1idXR0b246bm90KC5Ae2FudC1wcmVmaXh9LWJ0bi1wcmltYXJ5KSB7XG4gICAgICAgIGNvbG9yOiBAdGV4dC1jb2xvci1zZWNvbmRhcnk7XG5cbiAgICAgICAgJi5Ae2FudC1wcmVmaXh9LWJ0bi1sb2FkaW5nOjpiZWZvcmUge1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYtYnV0dG9uIHtcbiAgICBoZWlnaHQ6IEBpbnB1dC1oZWlnaHQtYmFzZTtcblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICB6LWluZGV4OiAxO1xuICAgIH1cbiAgfVxuXG4gICYtbGFyZ2UgJi1idXR0b24ge1xuICAgIGhlaWdodDogQGlucHV0LWhlaWdodC1sZztcbiAgfVxuXG4gICYtc21hbGwgJi1idXR0b24ge1xuICAgIGhlaWdodDogQGlucHV0LWhlaWdodC1zbTtcbiAgfVxufVxuIiwiLy8gRml4IElucHV0IGNvbXBvbmVudCBoZWlnaHQgaXNzdWUgaW4gSUUxMVxuQG1lZGlhIHNjcmVlbiBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBhY3RpdmUpLCAoLW1zLWhpZ2gtY29udHJhc3Q6IG5vbmUpIHtcbiAgLkB7YW50LXByZWZpeH0taW5wdXQge1xuICAgIGhlaWdodDogQGlucHV0LWhlaWdodC1iYXNlO1xuXG4gICAgJi1sZyB7XG4gICAgICBoZWlnaHQ6IEBpbnB1dC1oZWlnaHQtbGc7XG4gICAgfVxuXG4gICAgJi1zbSB7XG4gICAgICBoZWlnaHQ6IEBpbnB1dC1oZWlnaHQtc207XG4gICAgfVxuXG4gICAgJi1hZmZpeC13cmFwcGVyIHtcbiAgICAgID4gaW5wdXQuQHthbnQtcHJlZml4fS1pbnB1dCB7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsInRleHRhcmVhLm56LXRleHRhcmVhLWF1dG9zaXplLW1lYXN1cmluZyB7XG4gIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG4gIC8vIEhhdmluZyAycHggdG9wIGFuZCBib3R0b20gcGFkZGluZyBzZWVtcyB0byBmaXggYSBidWcgd2hlcmUgQ2hyb21lIGdldHMgYW4gaW5jb3JyZWN0XG4gIC8vIG1lYXN1cmVtZW50LiBXZSBqdXN0IGhhdmUgdG8gYWNjb3VudCBmb3IgaXQgbGF0ZXIgYW5kIHN1YnRyYWN0IGl0IG9mZiB0aGUgZmluYWwgcmVzdWx0LlxuICBwYWRkaW5nOiAycHggMCAhaW1wb3J0YW50O1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveCAhaW1wb3J0YW50O1xufVxuXG4uQHtzZWFyY2gtcHJlZml4fSB7XG4gICYtZW50ZXItYnV0dG9uIHtcbiAgICAmICsgLkB7YW50LXByZWZpeH0taW5wdXQtZ3JvdXAtYWRkb24sXG4gICAgaW5wdXQgKyAuQHthbnQtcHJlZml4fS1pbnB1dC1ncm91cC1hZGRvbiB7XG4gICAgICAuQHtzZWFyY2gtcnRsLWNsc30mIHtcbiAgICAgICAgLkB7c2VhcmNoLXByZWZpeH0tYnV0dG9uLkB7YW50LXByZWZpeH0tYnRuLWljb24tb25seSB7XG4gICAgICAgICAgLnNxdWFyZShAYnRuLWhlaWdodC1iYXNlKTtcblxuICAgICAgICAgICYuQHthbnQtcHJlZml4fS1idG4tc217XG4gICAgICAgICAgICAuc3F1YXJlKEBidG4taGVpZ2h0LXNtKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgJi5Ae2FudC1wcmVmaXh9LWJ0bi1sZ3tcbiAgICAgICAgICAgIC5zcXVhcmUoQGJ0bi1oZWlnaHQtbGcpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGltcG9ydCAnLi4vLi4vc3R5bGUvbWl4aW5zL2luZGV4JztcblxuLmFudENoZWNrYm94Rm4oQGNoZWNrYm94LXByZWZpeC1jbHM6IH4nQHthbnQtcHJlZml4fS1jaGVja2JveCcpIHtcbiAgQGNoZWNrYm94LWlubmVyLXByZWZpeC1jbHM6IH4nQHtjaGVja2JveC1wcmVmaXgtY2xzfS1pbm5lcic7XG4gIC8vIOS4gOiIrOeKtuaAgVxuICAuQHtjaGVja2JveC1wcmVmaXgtY2xzfSB7XG4gICAgLnJlc2V0LWNvbXBvbmVudCgpO1xuXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogLTAuMDllbTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgLkB7Y2hlY2tib3gtcHJlZml4LWNsc30td3JhcHBlcjpob3ZlciAmLWlubmVyLFxuICAgICY6aG92ZXIgJi1pbm5lcixcbiAgICAmLWlucHV0OmZvY3VzICsgJi1pbm5lciB7XG4gICAgICBib3JkZXItY29sb3I6IEBjaGVja2JveC1jb2xvcjtcbiAgICB9XG5cbiAgICAmLWNoZWNrZWQ6OmFmdGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIEBjaGVja2JveC1jb2xvcjtcbiAgICAgIGJvcmRlci1yYWRpdXM6IEBib3JkZXItcmFkaXVzLWJhc2U7XG4gICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICBhbmltYXRpb246IGFudENoZWNrYm94RWZmZWN0IDAuMzZzIGVhc2UtaW4tb3V0O1xuICAgICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogYmFja3dhcmRzO1xuICAgICAgY29udGVudDogJyc7XG4gICAgfVxuXG4gICAgJjpob3Zlcjo6YWZ0ZXIsXG4gICAgLkB7Y2hlY2tib3gtcHJlZml4LWNsc30td3JhcHBlcjpob3ZlciAmOjphZnRlciB7XG4gICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIH1cblxuICAgICYtaW5uZXIge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IEBjaGVja2JveC1zaXplO1xuICAgICAgaGVpZ2h0OiBAY2hlY2tib3gtc2l6ZTtcbiAgICAgIGRpcmVjdGlvbjogbHRyO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGNoZWNrYm94LWNoZWNrLWJnO1xuICAgICAgYm9yZGVyOiBAY2hlY2tib3gtYm9yZGVyLXdpZHRoIEBib3JkZXItc3R5bGUtYmFzZSBAYm9yZGVyLWNvbG9yLWJhc2U7XG4gICAgICBib3JkZXItcmFkaXVzOiBAYm9yZGVyLXJhZGl1cy1iYXNlO1xuICAgICAgLy8gRml4IElFIGNoZWNrZWQgc3R5bGVcbiAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbnQtZGVzaWduL2FudC1kZXNpZ24vaXNzdWVzLzEyNTk3XG4gICAgICBib3JkZXItY29sbGFwc2U6IHNlcGFyYXRlO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3M7XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgQGNoZWNrLXdpZHRoOiAoQGNoZWNrYm94LXNpemUgLyAxNCkgKiA1cHg7XG4gICAgICAgIEBjaGVjay1oZWlnaHQ6IChAY2hlY2tib3gtc2l6ZSAvIDE0KSAqIDhweDtcblxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBsZWZ0OiAyMiU7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgICB3aWR0aDogQGNoZWNrLXdpZHRoO1xuICAgICAgICBoZWlnaHQ6IEBjaGVjay1oZWlnaHQ7XG4gICAgICAgIGJvcmRlcjogMnB4IHNvbGlkIEBjaGVja2JveC1jaGVjay1jb2xvcjtcbiAgICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKSBzY2FsZSgwKSB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjFzIEBlYXNlLWluLWJhY2ssIG9wYWNpdHkgMC4xcztcbiAgICAgICAgY29udGVudDogJyAnO1xuICAgICAgfVxuICAgIH1cblxuICAgICYtaW5wdXQge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG4gIH1cblxuICAvLyDpgInkuK3nirbmgIFcbiAgLkB7Y2hlY2tib3gtcHJlZml4LWNsc30tY2hlY2tlZCAuQHtjaGVja2JveC1pbm5lci1wcmVmaXgtY2xzfTo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBib3JkZXI6IDJweCBzb2xpZCBAY2hlY2tib3gtY2hlY2stY29sb3I7XG4gICAgYm9yZGVyLXRvcDogMDtcbiAgICBib3JkZXItbGVmdDogMDtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZykgc2NhbGUoMSkgdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgQGVhc2Utb3V0LWJhY2sgMC4xcztcbiAgICBjb250ZW50OiAnICc7XG4gIH1cblxuICAuQHtjaGVja2JveC1wcmVmaXgtY2xzfS1jaGVja2VkIHtcbiAgICAuQHtjaGVja2JveC1pbm5lci1wcmVmaXgtY2xzfSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAY2hlY2tib3gtY29sb3I7XG4gICAgICBib3JkZXItY29sb3I6IEBjaGVja2JveC1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAuQHtjaGVja2JveC1wcmVmaXgtY2xzfS1kaXNhYmxlZCB7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcblxuICAgICYuQHtjaGVja2JveC1wcmVmaXgtY2xzfS1jaGVja2VkIHtcbiAgICAgIC5Ae2NoZWNrYm94LWlubmVyLXByZWZpeC1jbHN9OjphZnRlciB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogQGRpc2FibGVkLWNvbG9yO1xuICAgICAgICBhbmltYXRpb24tbmFtZTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuQHtjaGVja2JveC1wcmVmaXgtY2xzfS1pbnB1dCB7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIH1cblxuICAgIC5Ae2NoZWNrYm94LWlubmVyLXByZWZpeC1jbHN9IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IEBpbnB1dC1kaXNhYmxlZC1iZztcbiAgICAgIGJvcmRlci1jb2xvcjogQGJvcmRlci1jb2xvci1iYXNlICFpbXBvcnRhbnQ7XG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogQGlucHV0LWRpc2FibGVkLWJnO1xuICAgICAgICBib3JkZXItY29sbGFwc2U6IHNlcGFyYXRlO1xuICAgICAgICBhbmltYXRpb24tbmFtZTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmICsgc3BhbiB7XG4gICAgICBjb2xvcjogQGRpc2FibGVkLWNvbG9yO1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICB9XG5cbiAgICAvLyBOb3Qgc2hvdyBoaWdobGlnaHQgYm9yZGVyIG9mIGNoZWNrYm94IHdoZW4gZGlzYWJsZWRcbiAgICAmOmhvdmVyOjphZnRlcixcbiAgICAuQHtjaGVja2JveC1wcmVmaXgtY2xzfS13cmFwcGVyOmhvdmVyICY6OmFmdGVyIHtcbiAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB9XG4gIH1cblxuICAuQHtjaGVja2JveC1wcmVmaXgtY2xzfS13cmFwcGVyIHtcbiAgICAucmVzZXQtY29tcG9uZW50KCk7XG5cbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbGluZS1oZWlnaHQ6IHVuc2V0O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAmLkB7Y2hlY2tib3gtcHJlZml4LWNsc30td3JhcHBlci1kaXNhYmxlZCB7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIH1cbiAgICAmICsgJiB7XG4gICAgICBtYXJnaW4tbGVmdDogOHB4O1xuICAgIH1cbiAgfVxuXG4gIC5Ae2NoZWNrYm94LXByZWZpeC1jbHN9ICsgc3BhbiB7XG4gICAgcGFkZGluZy1yaWdodDogOHB4O1xuICAgIHBhZGRpbmctbGVmdDogOHB4O1xuICB9XG5cbiAgLkB7Y2hlY2tib3gtcHJlZml4LWNsc30tZ3JvdXAge1xuICAgIC5yZXNldC1jb21wb25lbnQoKTtcblxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAmLWl0ZW0ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLXJpZ2h0OiBAY2hlY2tib3gtZ3JvdXAtaXRlbS1tYXJnaW4tcmlnaHQ7XG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICB9XG4gICAgfVxuICAgICYtaXRlbSArICYtaXRlbSB7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG4gIH1cblxuICAvLyDljYrpgInnirbmgIFcbiAgLkB7Y2hlY2tib3gtcHJlZml4LWNsc30taW5kZXRlcm1pbmF0ZSB7XG4gICAgLkB7Y2hlY2tib3gtaW5uZXItcHJlZml4LWNsc30ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGNoZWNrYm94LWNoZWNrLWJnO1xuICAgICAgYm9yZGVyLWNvbG9yOiBAYm9yZGVyLWNvbG9yLWJhc2U7XG4gICAgfVxuICAgIC5Ae2NoZWNrYm94LWlubmVyLXByZWZpeC1jbHN9OjphZnRlciB7XG4gICAgICBAaW5kZXRlcm1pbmF0ZS13aWR0aDogQGNoZWNrYm94LXNpemUgLSA4cHg7XG4gICAgICBAaW5kZXRlcm1pbmF0ZS1oZWlnaHQ6IEBjaGVja2JveC1zaXplIC0gOHB4O1xuXG4gICAgICB0b3A6IDUwJTtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHdpZHRoOiBAaW5kZXRlcm1pbmF0ZS13aWR0aDtcbiAgICAgIGhlaWdodDogQGluZGV0ZXJtaW5hdGUtaGVpZ2h0O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGNoZWNrYm94LWNvbG9yO1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgc2NhbGUoMSk7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgY29udGVudDogJyAnO1xuICAgIH1cblxuICAgICYuQHtjaGVja2JveC1wcmVmaXgtY2xzfS1kaXNhYmxlZCAuQHtjaGVja2JveC1pbm5lci1wcmVmaXgtY2xzfTo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGRpc2FibGVkLWNvbG9yO1xuICAgICAgYm9yZGVyLWNvbG9yOiBAZGlzYWJsZWQtY29sb3I7XG4gICAgfVxuICB9XG59XG5cbkBrZXlmcmFtZXMgYW50Q2hlY2tib3hFZmZlY3Qge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICBvcGFjaXR5OiAwLjU7XG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjYpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cbiIsIkBpbXBvcnQgJy4uLy4uL3N0eWxlL21peGlucy9pbmRleCc7XG5cbi5hbnRDaGVja2JveEZuKEBjaGVja2JveC1wcmVmaXgtY2xzOiB+J0B7YW50LXByZWZpeH0tY2hlY2tib3gnKSB7XG4gIC5Ae2NoZWNrYm94LXByZWZpeC1jbHN9LXJ0bCB7XG4gICAgZGlyZWN0aW9uOiBydGw7XG4gIH1cblxuICAuQHtjaGVja2JveC1wcmVmaXgtY2xzfS1ncm91cCB7XG4gICAgJi1pdGVtIHtcbiAgICAgIC5Ae2NoZWNrYm94LXByZWZpeC1jbHN9LWdyb3VwLXJ0bCAmIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICBtYXJnaW4tbGVmdDogQGNoZWNrYm94LWdyb3VwLWl0ZW0tbWFyZ2luLXJpZ2h0O1xuICAgICAgfVxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgLkB7Y2hlY2tib3gtcHJlZml4LWNsc30tZ3JvdXAtcnRsICYge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgJi1pdGVtICsgJi1pdGVtIHtcbiAgICAgIC5Ae2NoZWNrYm94LXByZWZpeC1jbHN9LWdyb3VwLXJ0bCAmIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IEBjaGVja2JveC1ncm91cC1pdGVtLW1hcmdpbi1yaWdodDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi5hbnQtY2hlY2tib3ggKyBzcGFuIHtcbiAgJjplbXB0eSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuIiwiLy8gY3VzdG9taXplIGRhcmsgY29tcG9uZW50cyBiYWNrZ3JvdW5kIGluIHBvcG92ZXIgY29udGFpbmVycyhsaWtlIE1vZGFsLCBEcmF3ZXIsIENhcmQsIFBvcG92ZXIsIFBvcGNvbmZpcm0sIE5vdGlmaWNhdGlvbiwgLi4uKVxuLy8gZm9yIGRhcmsgdGhlbWVcbi5wb3BvdmVyLWN1c3RvbWl6ZS1iZyhAY29udGFpbmVyQ2xhc3MsIEBiYWNrZ3JvdW5kOiBAcG9wb3Zlci1iYWNrZ3JvdW5kLCBAcHJlZml4OiBAYW50LXByZWZpeClcbiAgd2hlblxuICAoQHRoZW1lID0gZGFyaykge1xuICBAcGlja2VyLXByZWZpeC1jbHM6IH4nQHtwcmVmaXh9LXBpY2tlcic7XG4gIEBzbGlkZXItcHJlZml4LWNsczogfidAe3ByZWZpeH0tc2xpZGVyJztcbiAgQGFuY2hvci1wcmVmaXgtY2xzOiB+J0B7cHJlZml4fS1hbmNob3InO1xuICBAY29sbGFwc2UtcHJlZml4LWNsczogfidAe3ByZWZpeH0tY29sbGFwc2UnO1xuICBAdGFiLXByZWZpeC1jbHM6IH4nQHtwcmVmaXh9LXRhYnMnO1xuICBAdGltZWxpbmUtcHJlZml4LWNsczogfidAe3ByZWZpeH0tdGltZWxpbmUnO1xuICBAdHJlZS1wcmVmaXgtY2xzOiB+J0B7cHJlZml4fS10cmVlJztcbiAgQGNhcmQtcHJlZml4LWNsczogfidAe3ByZWZpeH0tY2FyZCc7XG4gIEBiYWRnZS1wcmVmaXgtY2xzOiB+J0B7cHJlZml4fS1iYWRnZSc7XG4gIEB0cmFuc2Zlci1wcmVmaXgtY2xzOiB+J0B7cHJlZml4fS10cmFuc2Zlcic7XG4gIEBjYWxlbmRhci1wcmVmaXgtY2xzOiB+J0B7cHJlZml4fS1waWNrZXItY2FsZW5kYXInO1xuICBAY2FsZW5kYXItcGlja2VyLXByZWZpeC1jbHM6IH4nQHtwcmVmaXh9LXBpY2tlcic7XG4gIEB0YWJsZS1wcmVmaXgtY2xzOiB+J0B7cHJlZml4fS10YWJsZSc7XG5cbiAgQHBvcG92ZXItYm9yZGVyOiBAYm9yZGVyLXdpZHRoLWJhc2UgQGJvcmRlci1zdHlsZS1iYXNlIEBwb3BvdmVyLWN1c3RvbWl6ZS1ib3JkZXItY29sb3I7XG5cbiAgLkB7Y29udGFpbmVyQ2xhc3N9IHtcbiAgICAuQHtwaWNrZXItcHJlZml4LWNsc30tY2xlYXIsXG4gICAgLkB7c2xpZGVyLXByZWZpeC1jbHN9LWhhbmRsZSxcbiAgICAuQHthbmNob3ItcHJlZml4LWNsc30td3JhcHBlcixcbiAgICAuQHtjb2xsYXBzZS1wcmVmaXgtY2xzfS1jb250ZW50LFxuICAgIC5Ae3RpbWVsaW5lLXByZWZpeC1jbHN9LWl0ZW0taGVhZCxcbiAgICAuQHtjYXJkLXByZWZpeC1jbHN9IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IEBiYWNrZ3JvdW5kO1xuICAgIH1cblxuICAgIC5Ae3RyYW5zZmVyLXByZWZpeC1jbHN9IHtcbiAgICAgICYtbGlzdCB7XG4gICAgICAgICYtaGVhZGVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiBAYmFja2dyb3VuZDtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiBAcG9wb3Zlci1ib3JkZXI7XG4gICAgICAgIH1cbiAgICAgICAgJi1jb250ZW50LWl0ZW06bm90KC5Ae3RyYW5zZmVyLXByZWZpeC1jbHN9LWxpc3QtY29udGVudC1pdGVtLWRpc2FibGVkKTpob3ZlciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGl0ZW0taG92ZXItYmc7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICB0ci5Ae3RhYmxlLXByZWZpeC1jbHN9LWV4cGFuZGVkLXJvdyB7XG4gICAgICAmLFxuICAgICAgJjpob3ZlciB7XG4gICAgICAgID4gdGQge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICMyNzI3Mjc7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLkB7dGFibGUtcHJlZml4LWNsc30uQHt0YWJsZS1wcmVmaXgtY2xzfS1zbWFsbCB7XG4gICAgICB0aGVhZCB7XG4gICAgICAgID4gdHIge1xuICAgICAgICAgID4gdGgge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGJhY2tncm91bmQ7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiBAcG9wb3Zlci1ib3JkZXI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC5Ae3RhYmxlLXByZWZpeC1jbHN9IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IEBiYWNrZ3JvdW5kO1xuICAgICAgLkB7dGFibGUtcHJlZml4LWNsc30tcm93LWV4cGFuZC1pY29uIHtcbiAgICAgICAgYm9yZGVyOiBAcG9wb3Zlci1ib3JkZXI7XG4gICAgICB9XG4gICAgICB0Zm9vdCB7XG4gICAgICAgID4gdHIge1xuICAgICAgICAgID4gdGgsXG4gICAgICAgICAgPiB0ZCB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiBAcG9wb3Zlci1ib3JkZXI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICB0aGVhZCB7XG4gICAgICAgID4gdHIge1xuICAgICAgICAgID4gdGgge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzI3MjcyNztcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IEBwb3BvdmVyLWJvcmRlcjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHRib2R5IHtcbiAgICAgICAgPiB0ciB7XG4gICAgICAgICAgPiB0ZCB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiBAcG9wb3Zlci1ib3JkZXI7XG4gICAgICAgICAgICAmLkB7dGFibGUtcHJlZml4LWNsc30tY2VsbC1maXgtbGVmdCxcbiAgICAgICAgICAgICYuQHt0YWJsZS1wcmVmaXgtY2xzfS1jZWxsLWZpeC1yaWdodCB7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBiYWNrZ3JvdW5kO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICAmLkB7dGFibGUtcHJlZml4LWNsc30tcm93OmhvdmVyIHtcbiAgICAgICAgICAgID4gdGQge1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBAdGFibGUtaGVhZGVyLXNvcnQtYWN0aXZlLWJnO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5Ae3RhYmxlLXByZWZpeC1jbHN9LWJvcmRlcmVkIHtcbiAgICAgICAgLkB7dGFibGUtcHJlZml4LWNsc30tdGl0bGUge1xuICAgICAgICAgIGJvcmRlcjogQHBvcG92ZXItYm9yZGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gQ2VsbCA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgICAgICB0aGVhZCA+IHRyID4gdGgsXG4gICAgICAgIHRib2R5ID4gdHIgPiB0ZCxcbiAgICAgICAgdGZvb3QgPiB0ciA+IHRoLFxuICAgICAgICB0Zm9vdCA+IHRyID4gdGQge1xuICAgICAgICAgIGJvcmRlci1yaWdodDogQHBvcG92ZXItYm9yZGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gRml4ZWQgcmlnaHQgc2hvdWxkIHByb3ZpZGVzIGFkZGl0aW9uYWwgYm9yZGVyXG4gICAgICAgIC5Ae3RhYmxlLXByZWZpeC1jbHN9LWNlbGwtZml4LXJpZ2h0LWZpcnN0OjphZnRlciB7XG4gICAgICAgICAgYm9yZGVyLXJpZ2h0OiBAcG9wb3Zlci1ib3JkZXI7XG4gICAgICAgIH1cblxuICAgICAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09IEhlYWRlciA9PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgICAgIHRhYmxlID4ge1xuICAgICAgICAgIHRoZWFkIHtcbiAgICAgICAgICAgID4gdHI6bm90KDpsYXN0LWNoaWxkKSA+IHRoIHtcbiAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogQGJvcmRlci13aWR0aC1iYXNlIEBib3JkZXItc3R5bGUtYmFzZSBAYm9yZGVyLWNvbG9yLXNwbGl0O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PSBDb250ZW50ID09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICAgICAgLkB7dGFibGUtcHJlZml4LWNsc30tY29udGFpbmVyIHtcbiAgICAgICAgICBib3JkZXI6IEBwb3BvdmVyLWJvcmRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09IEV4cGFuZGFibGUgPT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICAgICAgLkB7dGFibGUtcHJlZml4LWNsc30tZXhwYW5kZWQtcm93LWZpeGVkIHtcbiAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICBib3JkZXItcmlnaHQ6IEBwb3BvdmVyLWJvcmRlcjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuQHt0YWJsZS1wcmVmaXgtY2xzfS1mb290ZXIge1xuICAgICAgICAgIGJvcmRlcjogQHBvcG92ZXItYm9yZGVyO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAuQHt0YWJsZS1wcmVmaXgtY2xzfS1maWx0ZXItdHJpZ2dlci1jb250YWluZXItb3BlbiB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM1MjUyNTI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLkB7Y2FsZW5kYXItcHJlZml4LWNsc30tZnVsbCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAYmFja2dyb3VuZDtcbiAgICAgIC5Ae2NhbGVuZGFyLXBpY2tlci1wcmVmaXgtY2xzfS1wYW5lbCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBiYWNrZ3JvdW5kO1xuICAgICAgICAuQHtjYWxlbmRhci1wcmVmaXgtY2xzfS1kYXRlIHtcbiAgICAgICAgICBib3JkZXItdG9wOiAycHggc29saWQgQHBvcG92ZXItY3VzdG9taXplLWJvcmRlci1jb2xvcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5Ae3RhYi1wcmVmaXgtY2xzfSB7XG4gICAgICAmLkB7dGFiLXByZWZpeC1jbHN9LWNhcmQgLkB7dGFiLXByZWZpeC1jbHN9LWNhcmQtYmFyIC5Ae3RhYi1wcmVmaXgtY2xzfS10YWItYWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGJhY2tncm91bmQ7XG4gICAgICAgIGJvcmRlci1ib3R0b206IEBib3JkZXItd2lkdGgtYmFzZSBzb2xpZCBAYmFja2dyb3VuZDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuQHtiYWRnZS1wcmVmaXgtY2xzfSB7XG4gICAgICAmLWNvdW50IHtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMXB4IEBiYWNrZ3JvdW5kO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5Ae3RyZWUtcHJlZml4LWNsc30ge1xuICAgICAgJi1zaG93LWxpbmUge1xuICAgICAgICAuQHt0cmVlLXByZWZpeC1jbHN9LXN3aXRjaGVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiBAYmFja2dyb3VuZDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGltcG9ydCAnLi4vLi4vc3R5bGUvdGhlbWVzL2luZGV4JztcbkBpbXBvcnQgJy4uLy4uL3N0eWxlL21peGlucy9pbmRleCc7XG5AaW1wb3J0ICcuL2N1c3RvbWl6ZS5sZXNzJztcblxuQG5vdGlmaWNhdGlvbi1wcmVmaXgtY2xzOiB+J0B7YW50LXByZWZpeH0tbm90aWZpY2F0aW9uJztcbkBub3RpZmljYXRpb24td2lkdGg6IDM4NHB4O1xuQG5vdGlmaWNhdGlvbi1wYWRkaW5nOiBAbm90aWZpY2F0aW9uLXBhZGRpbmctdmVydGljYWwgQG5vdGlmaWNhdGlvbi1wYWRkaW5nLWhvcml6b250YWw7XG5Abm90aWZpY2F0aW9uLW1hcmdpbi1ib3R0b206IDE2cHg7XG5Abm90aWZpY2F0aW9uLW1hcmdpbi1lZGdlOiAyNHB4O1xuXG4uQHtub3RpZmljYXRpb24tcHJlZml4LWNsc30ge1xuICAucmVzZXQtY29tcG9uZW50KCk7XG5cbiAgcG9zaXRpb246IGZpeGVkO1xuICB6LWluZGV4OiBAemluZGV4LW5vdGlmaWNhdGlvbjtcbiAgbWFyZ2luLXJpZ2h0OiBAbm90aWZpY2F0aW9uLW1hcmdpbi1lZGdlO1xuXG4gICYtdG9wTGVmdCxcbiAgJi1ib3R0b21MZWZ0IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IEBub3RpZmljYXRpb24tbWFyZ2luLWVkZ2U7XG5cbiAgICAuQHtub3RpZmljYXRpb24tcHJlZml4LWNsc30tZmFkZS1lbnRlci5Ae25vdGlmaWNhdGlvbi1wcmVmaXgtY2xzfS1mYWRlLWVudGVyLWFjdGl2ZSxcbiAgICAuQHtub3RpZmljYXRpb24tcHJlZml4LWNsc30tZmFkZS1hcHBlYXIuQHtub3RpZmljYXRpb24tcHJlZml4LWNsc30tZmFkZS1hcHBlYXItYWN0aXZlIHtcbiAgICAgIGFuaW1hdGlvbi1uYW1lOiBOb3RpZmljYXRpb25MZWZ0RmFkZUluO1xuICAgIH1cbiAgfVxuXG4gICYtY2xvc2UtaWNvbiB7XG4gICAgZm9udC1zaXplOiBAZm9udC1zaXplLWJhc2U7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG5cbiAgJi1ob29rLWhvbGRlcixcbiAgJi1ub3RpY2Uge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogQG5vdGlmaWNhdGlvbi13aWR0aDtcbiAgICBtYXgtd2lkdGg6IH4nY2FsYygxMDB2dyAtIEB7bm90aWZpY2F0aW9uLW1hcmdpbi1lZGdlfSAqIDIpJztcbiAgICBtYXJnaW4tYm90dG9tOiBAbm90aWZpY2F0aW9uLW1hcmdpbi1ib3R0b207XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gICAgYmFja2dyb3VuZDogQG5vdGlmaWNhdGlvbi1iZztcbiAgICBib3JkZXItcmFkaXVzOiBAYm9yZGVyLXJhZGl1cy1iYXNlO1xuICAgIGJveC1zaGFkb3c6IEBzaGFkb3ctMjtcblxuICAgIC5Ae25vdGlmaWNhdGlvbi1wcmVmaXgtY2xzfS10b3BMZWZ0ICYsXG4gICAgLkB7bm90aWZpY2F0aW9uLXByZWZpeC1jbHN9LWJvdHRvbUxlZnQgJiB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG4gIH1cblxuICAmLWhvb2staG9sZGVyID4gJi1ub3RpY2Uge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgfVxuXG4gICYtbm90aWNlIHtcbiAgICBwYWRkaW5nOiBAbm90aWZpY2F0aW9uLXBhZGRpbmc7XG4gICAgbGluZS1oZWlnaHQ6IEBsaW5lLWhlaWdodC1iYXNlO1xuXG4gICAgJi1tZXNzYWdlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDhweDtcbiAgICAgIGNvbG9yOiBAaGVhZGluZy1jb2xvcjtcbiAgICAgIGZvbnQtc2l6ZTogQGZvbnQtc2l6ZS1sZztcbiAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuXG4gICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vYW50LWRlc2lnbi9hbnQtZGVzaWduL2lzc3Vlcy81ODQ2I2lzc3VlY29tbWVudC0yOTYyNDQxNDBcbiAgICAgICYtc2luZ2xlLWxpbmUtYXV0by1tYXJnaW4ge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IH4nY2FsYyhAe25vdGlmaWNhdGlvbi13aWR0aH0gLSBAe25vdGlmaWNhdGlvbi1wYWRkaW5nLWhvcml6b250YWx9ICogMiAtIDI0cHggLSA0OHB4IC0gMTAwJSknO1xuICAgICAgICBtYXgtd2lkdGg6IDRweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi1kZXNjcmlwdGlvbiB7XG4gICAgICBmb250LXNpemU6IEBmb250LXNpemUtYmFzZTtcbiAgICB9XG5cbiAgICAmLWNsb3NhYmxlICYtbWVzc2FnZSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAyNHB4O1xuICAgIH1cblxuICAgICYtd2l0aC1pY29uICYtbWVzc2FnZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0cHg7XG4gICAgICBtYXJnaW4tbGVmdDogNDhweDtcbiAgICAgIGZvbnQtc2l6ZTogQGZvbnQtc2l6ZS1sZztcbiAgICB9XG5cbiAgICAmLXdpdGgtaWNvbiAmLWRlc2NyaXB0aW9uIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiA0OHB4O1xuICAgICAgZm9udC1zaXplOiBAZm9udC1zaXplLWJhc2U7XG4gICAgfVxuXG4gICAgLy8gSWNvbiAmIGNvbG9yIHN0eWxlIGluIGRpZmZlcmVudCBzZWxlY3RvciBsZXZlbFxuICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbnQtZGVzaWduL2FudC1kZXNpZ24vaXNzdWVzLzE2NTAzXG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2FudC1kZXNpZ24vYW50LWRlc2lnbi9pc3N1ZXMvMTU1MTJcbiAgICAmLWljb24ge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbWFyZ2luLWxlZnQ6IDRweDtcbiAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICAgIH1cblxuICAgIC5Ae2ljb25mb250LWNzcy1wcmVmaXh9Ji1pY29uIHtcbiAgICAgICYtc3VjY2VzcyB7XG4gICAgICAgIGNvbG9yOiBAc3VjY2Vzcy1jb2xvcjtcbiAgICAgIH1cbiAgICAgICYtaW5mbyB7XG4gICAgICAgIGNvbG9yOiBAaW5mby1jb2xvcjtcbiAgICAgIH1cbiAgICAgICYtd2FybmluZyB7XG4gICAgICAgIGNvbG9yOiBAd2FybmluZy1jb2xvcjtcbiAgICAgIH1cbiAgICAgICYtZXJyb3Ige1xuICAgICAgICBjb2xvcjogQGVycm9yLWNvbG9yO1xuICAgICAgfVxuICAgIH1cblxuICAgICYtY2xvc2Uge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAxNnB4O1xuICAgICAgcmlnaHQ6IDIycHg7XG4gICAgICBjb2xvcjogQHRleHQtY29sb3Itc2Vjb25kYXJ5O1xuICAgICAgb3V0bGluZTogbm9uZTtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgICYgd2hlbiAoQHRoZW1lID0gZGFyaykge1xuICAgICAgICAgIGNvbG9yOiBmYWRlKEB3aGl0ZSwgODUlKTtcbiAgICAgICAgfVxuICAgICAgICAmIHdoZW4gbm90IChAdGhlbWUgPSBkYXJrKSB7XG4gICAgICAgICAgY29sb3I6IHNoYWRlKEB0ZXh0LWNvbG9yLXNlY29uZGFyeSwgNDAlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYtYnRuIHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIG1hcmdpbi10b3A6IDE2cHg7XG4gICAgfVxuICB9XG5cbiAgLm5vdGlmaWNhdGlvbi1mYWRlLWVmZmVjdCB7XG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjI0cztcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBAZWFzZS1pbi1vdXQ7XG4gICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcbiAgfVxuXG4gICYtZmFkZS1lbnRlcixcbiAgJi1mYWRlLWFwcGVhciB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAubm90aWZpY2F0aW9uLWZhZGUtZWZmZWN0KCk7XG5cbiAgICBhbmltYXRpb24tcGxheS1zdGF0ZTogcGF1c2VkO1xuICB9XG5cbiAgJi1mYWRlLWxlYXZlIHtcbiAgICAubm90aWZpY2F0aW9uLWZhZGUtZWZmZWN0KCk7XG5cbiAgICBhbmltYXRpb24tZHVyYXRpb246IDAuMnM7XG4gICAgYW5pbWF0aW9uLXBsYXktc3RhdGU6IHBhdXNlZDtcbiAgfVxuXG4gICYtZmFkZS1lbnRlciYtZmFkZS1lbnRlci1hY3RpdmUsXG4gICYtZmFkZS1hcHBlYXImLWZhZGUtYXBwZWFyLWFjdGl2ZSB7XG4gICAgYW5pbWF0aW9uLW5hbWU6IE5vdGlmaWNhdGlvbkZhZGVJbjtcbiAgICBhbmltYXRpb24tcGxheS1zdGF0ZTogcnVubmluZztcbiAgfVxuXG4gICYtZmFkZS1sZWF2ZSYtZmFkZS1sZWF2ZS1hY3RpdmUge1xuICAgIGFuaW1hdGlvbi1uYW1lOiBOb3RpZmljYXRpb25GYWRlT3V0O1xuICAgIGFuaW1hdGlvbi1wbGF5LXN0YXRlOiBydW5uaW5nO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgTm90aWZpY2F0aW9uRmFkZUluIHtcbiAgMCUge1xuICAgIGxlZnQ6IEBub3RpZmljYXRpb24td2lkdGg7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuICAxMDAlIHtcbiAgICBsZWZ0OiAwO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBOb3RpZmljYXRpb25MZWZ0RmFkZUluIHtcbiAgMCUge1xuICAgIHJpZ2h0OiBAbm90aWZpY2F0aW9uLXdpZHRoO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbiAgMTAwJSB7XG4gICAgcmlnaHQ6IDA7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIE5vdGlmaWNhdGlvbkZhZGVPdXQge1xuICAwJSB7XG4gICAgbWF4LWhlaWdodDogMTUwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogQG5vdGlmaWNhdGlvbi1tYXJnaW4tYm90dG9tO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgMTAwJSB7XG4gICAgbWF4LWhlaWdodDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuQGltcG9ydCAnLi9ydGwnO1xuIiwiQGltcG9ydCAnLi4vLi4vc3R5bGUvdGhlbWVzL2luZGV4JztcbkBpbXBvcnQgJy4uLy4uL3N0eWxlL21peGlucy9pbmRleCc7XG5cbkBub3RpZmljYXRpb24tcHJlZml4LWNsczogfidAe2FudC1wcmVmaXh9LW5vdGlmaWNhdGlvbic7XG5cbi5Ae25vdGlmaWNhdGlvbi1wcmVmaXgtY2xzfSB7XG4gICYtcnRsIHtcbiAgICBkaXJlY3Rpb246IHJ0bDtcbiAgfVxuXG4gICYtbm90aWNlIHtcbiAgICAmLWNsb3NhYmxlICYtbWVzc2FnZSB7XG4gICAgICAuQHtub3RpZmljYXRpb24tcHJlZml4LWNsc30tcnRsICYge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDI0cHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi13aXRoLWljb24gJi1tZXNzYWdlIHtcbiAgICAgIC5Ae25vdGlmaWNhdGlvbi1wcmVmaXgtY2xzfS1ydGwgJiB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogNDhweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi13aXRoLWljb24gJi1kZXNjcmlwdGlvbiB7XG4gICAgICAuQHtub3RpZmljYXRpb24tcHJlZml4LWNsc30tcnRsICYge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDQ4cHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgICYtaWNvbiB7XG4gICAgICAuQHtub3RpZmljYXRpb24tcHJlZml4LWNsc30tcnRsICYge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDRweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi1jbG9zZSB7XG4gICAgICAuQHtub3RpZmljYXRpb24tcHJlZml4LWNsc30tcnRsICYge1xuICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgbGVmdDogMjJweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLWJ0biB7XG4gICAgICAuQHtub3RpZmljYXRpb24tcHJlZml4LWNsc30tcnRsICYge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBpbXBvcnQgJy4uLy4uL3N0eWxlL3RoZW1lcy9pbmRleCc7XG5AaW1wb3J0ICcuLi8uLi9zdHlsZS9taXhpbnMvaW5kZXgnO1xuXG5AcmF0ZS1wcmVmaXgtY2xzOiB+J0B7YW50LXByZWZpeH0tcmF0ZSc7XG5cbi5Ae3JhdGUtcHJlZml4LWNsc30ge1xuICAucmVzZXQtY29tcG9uZW50KCk7XG5cbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGNvbG9yOiBAcmF0ZS1zdGFyLWNvbG9yO1xuICBmb250LXNpemU6IEByYXRlLXN0YXItc2l6ZTtcbiAgbGluZS1oZWlnaHQ6IHVuc2V0O1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBvdXRsaW5lOiBub25lO1xuXG4gICYtZGlzYWJsZWQgJi1zdGFyIHtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgJjpob3ZlciB7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIH1cbiAgfVxuXG4gICYtc3RhciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3M7XG5cbiAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgbWFyZ2luLXJpZ2h0OiA4cHg7XG4gICAgfVxuXG4gICAgPiBkaXYge1xuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIG91dGxpbmU6IDA7XG4gICAgICB9XG5cbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgdHJhbnNmb3JtOiBAcmF0ZS1zdGFyLWhvdmVyLXNjYWxlO1xuICAgICAgfVxuICAgIH1cblxuICAgICYtZmlyc3QsXG4gICAgJi1zZWNvbmQge1xuICAgICAgY29sb3I6IEByYXRlLXN0YXItYmc7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcztcbiAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgICAgLkB7aWNvbmZvbnQtY3NzLXByZWZpeH0ge1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgfVxuICAgIH1cblxuICAgICYtZmlyc3Qge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG5cbiAgICAmLWhhbGYgJi1maXJzdCxcbiAgICAmLWhhbGYgJi1zZWNvbmQge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG5cbiAgICAmLWhhbGYgJi1maXJzdCxcbiAgICAmLWZ1bGwgJi1zZWNvbmQge1xuICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgfVxuICB9XG5cbiAgJi10ZXh0IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luOiAwIDhweDtcbiAgICBmb250LXNpemU6IEBmb250LXNpemUtYmFzZTtcbiAgfVxufVxuXG5AaW1wb3J0ICcuL3J0bCc7XG4iLCIuQHtyYXRlLXByZWZpeC1jbHN9IHtcbiAgJi1ydGwge1xuICAgIGRpcmVjdGlvbjogcnRsO1xuICB9XG5cbiAgJi1zdGFyIHtcbiAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgLkB7cmF0ZS1wcmVmaXgtY2xzfS1ydGwgJiB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDhweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLWZpcnN0IHtcbiAgICAgIC5Ae3JhdGUtcHJlZml4LWNsc30tcnRsICYge1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBpbXBvcnQgJy4uLy4uL3N0eWxlL3RoZW1lcy9pbmRleCc7XG5AaW1wb3J0ICcuLi8uLi9zdHlsZS9taXhpbnMvaW5kZXgnO1xuXG5AdG9vbHRpcC1wcmVmaXgtY2xzOiB+J0B7YW50LXByZWZpeH0tdG9vbHRpcCc7XG5cbkB0b29sdGlwLWFycm93LXNoYWRvdy13aWR0aDogM3B4O1xuXG5AdG9vbHRpcC1hcnJvdy1yb3RhdGUtd2lkdGg6IHNxcnQoQHRvb2x0aXAtYXJyb3ctd2lkdGggKiBAdG9vbHRpcC1hcnJvdy13aWR0aCAqIDIpICtcbiAgQHRvb2x0aXAtYXJyb3ctc2hhZG93LXdpZHRoICogMjtcblxuQHRvb2x0aXAtYXJyb3ctb2Zmc2V0LXZlcnRpY2FsOiA1cHg7IC8vIDggLSAzcHhcbkB0b29sdGlwLWFycm93LW9mZnNldC1ob3Jpem9udGFsOiAxM3B4OyAvLyAxNiAtIDNweFxuXG4vLyBCYXNlIGNsYXNzXG4uQHt0b29sdGlwLXByZWZpeC1jbHN9IHtcbiAgLnJlc2V0LWNvbXBvbmVudCgpO1xuXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogQHppbmRleC10b29sdGlwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWF4LXdpZHRoOiBAdG9vbHRpcC1tYXgtd2lkdGg7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG5cbiAgJi1oaWRkZW4ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAmLXBsYWNlbWVudC10b3AsXG4gICYtcGxhY2VtZW50LXRvcExlZnQsXG4gICYtcGxhY2VtZW50LXRvcFJpZ2h0IHtcbiAgICBwYWRkaW5nLWJvdHRvbTogQHRvb2x0aXAtZGlzdGFuY2U7XG4gIH1cblxuICAmLXBsYWNlbWVudC1yaWdodCxcbiAgJi1wbGFjZW1lbnQtcmlnaHRUb3AsXG4gICYtcGxhY2VtZW50LXJpZ2h0Qm90dG9tIHtcbiAgICBwYWRkaW5nLWxlZnQ6IEB0b29sdGlwLWRpc3RhbmNlO1xuICB9XG5cbiAgJi1wbGFjZW1lbnQtYm90dG9tLFxuICAmLXBsYWNlbWVudC1ib3R0b21MZWZ0LFxuICAmLXBsYWNlbWVudC1ib3R0b21SaWdodCB7XG4gICAgcGFkZGluZy10b3A6IEB0b29sdGlwLWRpc3RhbmNlO1xuICB9XG5cbiAgJi1wbGFjZW1lbnQtbGVmdCxcbiAgJi1wbGFjZW1lbnQtbGVmdFRvcCxcbiAgJi1wbGFjZW1lbnQtbGVmdEJvdHRvbSB7XG4gICAgcGFkZGluZy1yaWdodDogQHRvb2x0aXAtZGlzdGFuY2U7XG4gIH1cblxuICAvLyBXcmFwcGVyIGZvciB0aGUgdG9vbHRpcCBjb250ZW50XG4gICYtaW5uZXIge1xuICAgIG1pbi13aWR0aDogMzBweDtcbiAgICBtaW4taGVpZ2h0OiAzMnB4O1xuICAgIHBhZGRpbmc6IDZweCA4cHg7XG4gICAgY29sb3I6IEB0b29sdGlwLWNvbG9yO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAdG9vbHRpcC1iZztcbiAgICBib3JkZXItcmFkaXVzOiBAYm9yZGVyLXJhZGl1cy1iYXNlO1xuICAgIGJveC1zaGFkb3c6IEBib3gtc2hhZG93LWJhc2U7XG4gIH1cblxuICAvLyBBcnJvd3NcbiAgJi1hcnJvdyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiBAdG9vbHRpcC1hcnJvdy1yb3RhdGUtd2lkdGg7XG4gICAgaGVpZ2h0OiBAdG9vbHRpcC1hcnJvdy1yb3RhdGUtd2lkdGg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcblxuICAgICYtY29udGVudCB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiBAdG9vbHRpcC1hcnJvdy13aWR0aDtcbiAgICAgIGhlaWdodDogQHRvb2x0aXAtYXJyb3ctd2lkdGg7XG4gICAgICBtYXJnaW46IGF1dG87XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAdG9vbHRpcC1iZztcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gICAgfVxuICB9XG5cbiAgJi1wbGFjZW1lbnQtdG9wICYtYXJyb3csXG4gICYtcGxhY2VtZW50LXRvcExlZnQgJi1hcnJvdyxcbiAgJi1wbGFjZW1lbnQtdG9wUmlnaHQgJi1hcnJvdyB7XG4gICAgYm90dG9tOiBAdG9vbHRpcC1kaXN0YW5jZSAtIEB0b29sdGlwLWFycm93LXJvdGF0ZS13aWR0aDtcblxuICAgICYtY29udGVudCB7XG4gICAgICBib3gtc2hhZG93OiBAdG9vbHRpcC1hcnJvdy1zaGFkb3ctd2lkdGggQHRvb2x0aXAtYXJyb3ctc2hhZG93LXdpZHRoIDdweCBmYWRlKEBibGFjaywgNyUpO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCgtQHRvb2x0aXAtYXJyb3ctcm90YXRlLXdpZHRoIC8gMikpIHJvdGF0ZSg0NWRlZyk7XG4gICAgfVxuICB9XG5cbiAgJi1wbGFjZW1lbnQtdG9wICYtYXJyb3cge1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gIH1cblxuICAmLXBsYWNlbWVudC10b3BMZWZ0ICYtYXJyb3cge1xuICAgIGxlZnQ6IEB0b29sdGlwLWFycm93LW9mZnNldC1ob3Jpem9udGFsO1xuICB9XG5cbiAgJi1wbGFjZW1lbnQtdG9wUmlnaHQgJi1hcnJvdyB7XG4gICAgcmlnaHQ6IEB0b29sdGlwLWFycm93LW9mZnNldC1ob3Jpem9udGFsO1xuICB9XG5cbiAgJi1wbGFjZW1lbnQtcmlnaHQgJi1hcnJvdyxcbiAgJi1wbGFjZW1lbnQtcmlnaHRUb3AgJi1hcnJvdyxcbiAgJi1wbGFjZW1lbnQtcmlnaHRCb3R0b20gJi1hcnJvdyB7XG4gICAgbGVmdDogQHRvb2x0aXAtZGlzdGFuY2UgLSBAdG9vbHRpcC1hcnJvdy1yb3RhdGUtd2lkdGg7XG5cbiAgICAmLWNvbnRlbnQge1xuICAgICAgYm94LXNoYWRvdzogLUB0b29sdGlwLWFycm93LXNoYWRvdy13aWR0aCBAdG9vbHRpcC1hcnJvdy1zaGFkb3ctd2lkdGggN3B4IGZhZGUoQGJsYWNrLCA3JSk7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoKEB0b29sdGlwLWFycm93LXJvdGF0ZS13aWR0aCAvIDIpKSByb3RhdGUoNDVkZWcpO1xuICAgIH1cbiAgfVxuXG4gICYtcGxhY2VtZW50LXJpZ2h0ICYtYXJyb3cge1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgfVxuXG4gICYtcGxhY2VtZW50LXJpZ2h0VG9wICYtYXJyb3cge1xuICAgIHRvcDogQHRvb2x0aXAtYXJyb3ctb2Zmc2V0LXZlcnRpY2FsO1xuICB9XG5cbiAgJi1wbGFjZW1lbnQtcmlnaHRCb3R0b20gJi1hcnJvdyB7XG4gICAgYm90dG9tOiBAdG9vbHRpcC1hcnJvdy1vZmZzZXQtdmVydGljYWw7XG4gIH1cblxuICAmLXBsYWNlbWVudC1sZWZ0ICYtYXJyb3csXG4gICYtcGxhY2VtZW50LWxlZnRUb3AgJi1hcnJvdyxcbiAgJi1wbGFjZW1lbnQtbGVmdEJvdHRvbSAmLWFycm93IHtcbiAgICByaWdodDogQHRvb2x0aXAtZGlzdGFuY2UgLSBAdG9vbHRpcC1hcnJvdy1yb3RhdGUtd2lkdGg7XG5cbiAgICAmLWNvbnRlbnQge1xuICAgICAgYm94LXNoYWRvdzogQHRvb2x0aXAtYXJyb3ctc2hhZG93LXdpZHRoIC1AdG9vbHRpcC1hcnJvdy1zaGFkb3ctd2lkdGggN3B4IGZhZGUoQGJsYWNrLCA3JSk7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoKC1AdG9vbHRpcC1hcnJvdy1yb3RhdGUtd2lkdGggLyAyKSkgcm90YXRlKDQ1ZGVnKTtcbiAgICB9XG4gIH1cblxuICAmLXBsYWNlbWVudC1sZWZ0ICYtYXJyb3cge1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgfVxuXG4gICYtcGxhY2VtZW50LWxlZnRUb3AgJi1hcnJvdyB7XG4gICAgdG9wOiBAdG9vbHRpcC1hcnJvdy1vZmZzZXQtdmVydGljYWw7XG4gIH1cblxuICAmLXBsYWNlbWVudC1sZWZ0Qm90dG9tICYtYXJyb3cge1xuICAgIGJvdHRvbTogQHRvb2x0aXAtYXJyb3ctb2Zmc2V0LXZlcnRpY2FsO1xuICB9XG5cbiAgJi1wbGFjZW1lbnQtYm90dG9tICYtYXJyb3csXG4gICYtcGxhY2VtZW50LWJvdHRvbUxlZnQgJi1hcnJvdyxcbiAgJi1wbGFjZW1lbnQtYm90dG9tUmlnaHQgJi1hcnJvdyB7XG4gICAgdG9wOiBAdG9vbHRpcC1kaXN0YW5jZSAtIEB0b29sdGlwLWFycm93LXJvdGF0ZS13aWR0aDtcblxuICAgICYtY29udGVudCB7XG4gICAgICBib3gtc2hhZG93OiAtQHRvb2x0aXAtYXJyb3ctc2hhZG93LXdpZHRoIC1AdG9vbHRpcC1hcnJvdy1zaGFkb3ctd2lkdGggN3B4IGZhZGUoQGJsYWNrLCA3JSk7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoKEB0b29sdGlwLWFycm93LXJvdGF0ZS13aWR0aCAvIDIpKSByb3RhdGUoNDVkZWcpO1xuICAgIH1cbiAgfVxuXG4gICYtcGxhY2VtZW50LWJvdHRvbSAmLWFycm93IHtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICB9XG5cbiAgJi1wbGFjZW1lbnQtYm90dG9tTGVmdCAmLWFycm93IHtcbiAgICBsZWZ0OiBAdG9vbHRpcC1hcnJvdy1vZmZzZXQtaG9yaXpvbnRhbDtcbiAgfVxuXG4gICYtcGxhY2VtZW50LWJvdHRvbVJpZ2h0ICYtYXJyb3cge1xuICAgIHJpZ2h0OiBAdG9vbHRpcC1hcnJvdy1vZmZzZXQtaG9yaXpvbnRhbDtcbiAgfVxufVxuXG4uZ2VuZXJhdG9yLXRvb2x0aXAtcHJlc2V0LWNvbG9yKEBpOiBsZW5ndGgoQHByZXNldC1jb2xvcnMpKSB3aGVuIChAaSA+IDApIHtcbiAgLmdlbmVyYXRvci10b29sdGlwLXByZXNldC1jb2xvcihAaSAtIDEpO1xuICBAY29sb3I6IGV4dHJhY3QoQHByZXNldC1jb2xvcnMsIEBpKTtcbiAgQGxpZ2h0Q29sb3I6ICdAe2NvbG9yfS02JztcbiAgLkB7dG9vbHRpcC1wcmVmaXgtY2xzfS1Ae2NvbG9yfSB7XG4gICAgLkB7dG9vbHRpcC1wcmVmaXgtY2xzfS1pbm5lciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAQGxpZ2h0Q29sb3I7XG4gICAgfVxuICAgIC5Ae3Rvb2x0aXAtcHJlZml4LWNsc30tYXJyb3cge1xuICAgICAgJi1jb250ZW50IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQEBsaWdodENvbG9yO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLmdlbmVyYXRvci10b29sdGlwLXByZXNldC1jb2xvcigpO1xuXG5AaW1wb3J0ICcuL3J0bCc7XG4iLCJAdG9vbHRpcC1wcmVmaXgtY2xzOiB+J0B7YW50LXByZWZpeH0tdG9vbHRpcCc7XG5cbi8vIEJhc2UgY2xhc3Ncbi5Ae3Rvb2x0aXAtcHJlZml4LWNsc30ge1xuICAmLXJ0bCB7XG4gICAgZGlyZWN0aW9uOiBydGw7XG4gIH1cbiAgLy8gV3JhcHBlciBmb3IgdGhlIHRvb2x0aXAgY29udGVudFxuICAmLWlubmVyIHtcbiAgICAuQHt0b29sdGlwLXByZWZpeC1jbHN9LXJ0bCAmIHtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cbiAgfVxufVxuIiwiLmFudC10b29sdGlwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuIiwiQGltcG9ydCAnLi4vLi4vc3R5bGUvdGhlbWVzL2luZGV4JztcbkBpbXBvcnQgJy4uLy4uL3N0eWxlL21peGlucy9pbmRleCc7XG5cbkBzbGlkZXItcHJlZml4LWNsczogfidAe2FudC1wcmVmaXh9LXNsaWRlcic7XG5cbi5Ae3NsaWRlci1wcmVmaXgtY2xzfSB7XG4gIC5yZXNldC1jb21wb25lbnQoKTtcblxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMTJweDtcbiAgbWFyZ2luOiBAc2xpZGVyLW1hcmdpbjtcbiAgcGFkZGluZzogNHB4IDA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdG91Y2gtYWN0aW9uOiBub25lO1xuXG4gIC52ZXJ0aWNhbCgpO1xuXG4gICYtd2l0aC1tYXJrcyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjhweDtcbiAgfVxuXG4gICYtcmFpbCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogNHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IEBzbGlkZXItcmFpbC1iYWNrZ3JvdW5kLWNvbG9yO1xuICAgIGJvcmRlci1yYWRpdXM6IEBib3JkZXItcmFkaXVzLWJhc2U7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjNzO1xuICB9XG5cbiAgJi10cmFjayB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGhlaWdodDogNHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IEBzbGlkZXItdHJhY2stYmFja2dyb3VuZC1jb2xvcjtcbiAgICBib3JkZXItcmFkaXVzOiBAYm9yZGVyLXJhZGl1cy1iYXNlO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4zcztcbiAgfVxuXG4gICYtaGFuZGxlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IEBzbGlkZXItaGFuZGxlLXNpemU7XG4gICAgaGVpZ2h0OiBAc2xpZGVyLWhhbmRsZS1zaXplO1xuICAgIG1hcmdpbi10b3A6IEBzbGlkZXItaGFuZGxlLW1hcmdpbi10b3A7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQHNsaWRlci1oYW5kbGUtYmFja2dyb3VuZC1jb2xvcjtcbiAgICBib3JkZXI6IHNvbGlkIEBzbGlkZXItaGFuZGxlLWJvcmRlci13aWR0aCBAc2xpZGVyLWhhbmRsZS1jb2xvcjtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYm94LXNoYWRvdzogQHNsaWRlci1oYW5kbGUtc2hhZG93O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC4zcywgYm94LXNoYWRvdyAwLjZzLFxuICAgICAgdHJhbnNmb3JtIDAuM3MgY3ViaWMtYmV6aWVyKDAuMTgsIDAuODksIDAuMzIsIDEuMjgpO1xuXG4gICAgJi1kcmFnZ2luZyYtZHJhZ2dpbmcmLWRyYWdnaW5nIHtcbiAgICAgIGJvcmRlci1jb2xvcjogQHNsaWRlci1oYW5kbGUtY29sb3ItZm9jdXM7XG4gICAgICBib3gtc2hhZG93OiAwIDAgMCA1cHggQHNsaWRlci1oYW5kbGUtY29sb3ItZm9jdXMtc2hhZG93O1xuICAgIH1cblxuICAgICY6Zm9jdXMge1xuICAgICAgYm9yZGVyLWNvbG9yOiBAc2xpZGVyLWhhbmRsZS1jb2xvci1mb2N1cztcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICBib3gtc2hhZG93OiAwIDAgMCA1cHggQHNsaWRlci1oYW5kbGUtY29sb3ItZm9jdXMtc2hhZG93O1xuICAgIH1cblxuICAgICYuQHthbnQtcHJlZml4fS10b29sdGlwLW9wZW4ge1xuICAgICAgYm9yZGVyLWNvbG9yOiBAc2xpZGVyLWhhbmRsZS1jb2xvci10b29sdGlwLW9wZW47XG4gICAgfVxuICB9XG5cbiAgJjpob3ZlciB7XG4gICAgLkB7c2xpZGVyLXByZWZpeC1jbHN9LXJhaWwge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogQHNsaWRlci1yYWlsLWJhY2tncm91bmQtY29sb3ItaG92ZXI7XG4gICAgfVxuICAgIC5Ae3NsaWRlci1wcmVmaXgtY2xzfS10cmFjayB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAc2xpZGVyLXRyYWNrLWJhY2tncm91bmQtY29sb3ItaG92ZXI7XG4gICAgfVxuICAgIC5Ae3NsaWRlci1wcmVmaXgtY2xzfS1oYW5kbGU6bm90KC5Ae2FudC1wcmVmaXh9LXRvb2x0aXAtb3Blbikge1xuICAgICAgYm9yZGVyLWNvbG9yOiBAc2xpZGVyLWhhbmRsZS1jb2xvci1ob3ZlcjtcbiAgICB9XG4gIH1cblxuICAmLW1hcmsge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDE0cHg7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmb250LXNpemU6IEBmb250LXNpemUtYmFzZTtcbiAgfVxuXG4gICYtbWFyay10ZXh0IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGNvbG9yOiBAdGV4dC1jb2xvci1zZWNvbmRhcnk7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHdvcmQtYnJlYWs6IGtlZXAtYWxsO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcblxuICAgICYtYWN0aXZlIHtcbiAgICAgIGNvbG9yOiBAdGV4dC1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAmLXN0ZXAge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDRweDtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgfVxuXG4gICYtZG90IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAtMnB4O1xuICAgIHdpZHRoOiA4cHg7XG4gICAgaGVpZ2h0OiA4cHg7XG4gICAgbWFyZ2luLWxlZnQ6IC00cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQGNvbXBvbmVudC1iYWNrZ3JvdW5kO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkIEBzbGlkZXItZG90LWJvcmRlci1jb2xvcjtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tbGVmdDogLTRweDtcbiAgICB9XG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtNHB4O1xuICAgIH1cbiAgICAmLWFjdGl2ZSB7XG4gICAgICBib3JkZXItY29sb3I6IEBzbGlkZXItZG90LWJvcmRlci1jb2xvci1hY3RpdmU7XG4gICAgfVxuICB9XG5cbiAgJi1kaXNhYmxlZCB7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcblxuICAgIC5Ae3NsaWRlci1wcmVmaXgtY2xzfS10cmFjayB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAc2xpZGVyLWRpc2FibGVkLWNvbG9yICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLkB7c2xpZGVyLXByZWZpeC1jbHN9LWhhbmRsZSxcbiAgICAuQHtzbGlkZXItcHJlZml4LWNsc30tZG90IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IEBjb21wb25lbnQtYmFja2dyb3VuZDtcbiAgICAgIGJvcmRlci1jb2xvcjogQHNsaWRlci1kaXNhYmxlZC1jb2xvciAhaW1wb3J0YW50O1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgfVxuXG4gICAgLkB7c2xpZGVyLXByZWZpeC1jbHN9LW1hcmstdGV4dCxcbiAgICAuQHtzbGlkZXItcHJlZml4LWNsc30tZG90IHtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuLnZlcnRpY2FsKCkge1xuICAmLXZlcnRpY2FsIHtcbiAgICB3aWR0aDogMTJweDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbWFyZ2luOiA2cHggMTBweDtcbiAgICBwYWRkaW5nOiAwIDRweDtcblxuICAgIC5Ae3NsaWRlci1wcmVmaXgtY2xzfS1yYWlsIHtcbiAgICAgIHdpZHRoOiA0cHg7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgLkB7c2xpZGVyLXByZWZpeC1jbHN9LXRyYWNrIHtcbiAgICAgIHdpZHRoOiA0cHg7XG4gICAgfVxuXG4gICAgLkB7c2xpZGVyLXByZWZpeC1jbHN9LWhhbmRsZSB7XG4gICAgICBtYXJnaW4tdG9wOiAtNnB4OyAvLyB3ZSBjaG91bGQgY29uc2lkZXIgYm9yZGVyIHdpZHRoIGFzIHdlbGw6ICgxMCArIDIgKSAvIDJcbiAgICAgIG1hcmdpbi1sZWZ0OiAtNXB4O1xuICAgIH1cblxuICAgIC5Ae3NsaWRlci1wcmVmaXgtY2xzfS1tYXJrIHtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDEycHg7XG4gICAgICB3aWR0aDogMThweDtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG5cbiAgICAuQHtzbGlkZXItcHJlZml4LWNsc30tbWFyay10ZXh0IHtcbiAgICAgIGxlZnQ6IDRweDtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgfVxuXG4gICAgLkB7c2xpZGVyLXByZWZpeC1jbHN9LXN0ZXAge1xuICAgICAgd2lkdGg6IDRweDtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG5cbiAgICAuQHtzbGlkZXItcHJlZml4LWNsc30tZG90IHtcbiAgICAgIHRvcDogYXV0bztcbiAgICAgIGxlZnQ6IDJweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IC00cHg7XG4gICAgfVxuICB9XG5cbiAgJi10b29sdGlwIHtcbiAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vYW50LWRlc2lnbi9hbnQtZGVzaWduL2lzc3Vlcy8yMDAxNFxuICAgIC5Ae2FudC1wcmVmaXh9LXRvb2x0aXAtaW5uZXIge1xuICAgICAgbWluLXdpZHRoOiB1bnNldDtcbiAgICB9XG4gIH1cbn1cblxuQGltcG9ydCAnLi9ydGwnO1xuIiwiQGltcG9ydCAnLi4vLi4vc3R5bGUvdGhlbWVzL2luZGV4JztcbkBpbXBvcnQgJy4uLy4uL3N0eWxlL21peGlucy9pbmRleCc7XG5cbkBzbGlkZXItcHJlZml4LWNsczogfidAe2FudC1wcmVmaXh9LXNsaWRlcic7XG5cbi5Ae3NsaWRlci1wcmVmaXgtY2xzfSB7XG4gICYtcnRsIHtcbiAgICBkaXJlY3Rpb246IHJ0bDtcbiAgfVxuXG4gICYtbWFyayB7XG4gICAgLkB7c2xpZGVyLXByZWZpeC1jbHN9LXJ0bCAmIHtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgbGVmdDogYXV0bztcbiAgICB9XG4gIH1cblxuICAmLWRvdCB7XG4gICAgLkB7c2xpZGVyLXByZWZpeC1jbHN9LXJ0bCAmIHtcbiAgICAgIG1hcmdpbi1yaWdodDogLTRweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cblxuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgLkB7c2xpZGVyLXByZWZpeC1jbHN9LXJ0bCAmIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtNHB4O1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgLkB7c2xpZGVyLXByZWZpeC1jbHN9LXJ0bCAmIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtNHB4O1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLnZlcnRpY2FsKCkge1xuICAmLXZlcnRpY2FsIHtcbiAgICAuQHtzbGlkZXItcHJlZml4LWNsc30taGFuZGxlIHtcbiAgICAgIC5Ae3NsaWRlci1wcmVmaXgtY2xzfS1ydGwmIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtNXB4O1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuQHtzbGlkZXItcHJlZml4LWNsc30tbWFyayB7XG4gICAgICAuQHtzbGlkZXItcHJlZml4LWNsc30tcnRsJiB7XG4gICAgICAgIHJpZ2h0OiAxMnB4O1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5Ae3NsaWRlci1wcmVmaXgtY2xzfS1tYXJrLXRleHQge1xuICAgICAgLkB7c2xpZGVyLXByZWZpeC1jbHN9LXJ0bCYge1xuICAgICAgICByaWdodDogNHB4O1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5Ae3NsaWRlci1wcmVmaXgtY2xzfS1kb3Qge1xuICAgICAgLkB7c2xpZGVyLXByZWZpeC1jbHN9LXJ0bCYge1xuICAgICAgICByaWdodDogMnB4O1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGltcG9ydCAnYm94JztcblxuLm1vZGFsLW1hc2soKSB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG4gICYuem9vbS1lbnRlcixcbiAgJi56b29tLWFwcGVhciB7XG4gICAgdHJhbnNmb3JtOiBub25lOyAvLyByZXNldCBzY2FsZSBhdm9pZCBtb3VzZVBvc2l0aW9uIGJ1Z1xuICAgIG9wYWNpdHk6IDA7XG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiBAYW5pbWF0aW9uLWR1cmF0aW9uLXNsb3c7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7IC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbnQtZGVzaWduL2FudC1kZXNpZ24vaXNzdWVzLzExNzc3XG4gIH1cblxuICAmLW1hc2sge1xuICAgIC5ib3goZml4ZWQpO1xuICAgIHotaW5kZXg6IEB6aW5kZXgtbW9kYWwtbWFzaztcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQG1vZGFsLW1hc2stYmc7XG5cbiAgICAmLWhpZGRlbiB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gICYtd3JhcCB7XG4gICAgLmJveChmaXhlZCk7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgb3V0bGluZTogMDtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIH1cbn1cbiIsIkBkaWFsb2ctcHJlZml4LWNsczogfidAe2FudC1wcmVmaXh9LW1vZGFsJztcbkB0YWJsZS1wcmVmaXgtY2xzOiB+J0B7YW50LXByZWZpeH0tdGFibGUnO1xuXG4uQHtkaWFsb2ctcHJlZml4LWNsc30ge1xuICAucmVzZXQtY29tcG9uZW50KCk7XG4gIC5tb2RhbC1tYXNrKCk7XG5cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IDEwMHB4O1xuICB3aWR0aDogYXV0bztcbiAgbWF4LXdpZHRoOiBjYWxjKDEwMHZ3IC0gMzJweCk7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBwYWRkaW5nLWJvdHRvbTogMjRweDtcblxuICAmLXdyYXAge1xuICAgIHotaW5kZXg6IEB6aW5kZXgtbW9kYWw7XG4gIH1cblxuICAmLXRpdGxlIHtcbiAgICBtYXJnaW46IDA7XG4gICAgY29sb3I6IEBtb2RhbC1oZWFkaW5nLWNvbG9yO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgZm9udC1zaXplOiBAbW9kYWwtaGVhZGVyLXRpdGxlLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogQG1vZGFsLWhlYWRlci10aXRsZS1saW5lLWhlaWdodDtcbiAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIH1cblxuICAmLWNvbnRlbnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAbW9kYWwtY29udGVudC1iZztcbiAgICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItcmFkaXVzOiBAYm9yZGVyLXJhZGl1cy1iYXNlO1xuICAgIGJveC1zaGFkb3c6IEBzaGFkb3ctMjtcbiAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgfVxuXG4gICYtY2xvc2Uge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgei1pbmRleDogQHppbmRleC1wb3B1cC1jbG9zZTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGNvbG9yOiBAbW9kYWwtY2xvc2UtY29sb3I7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiAwO1xuICAgIG91dGxpbmU6IDA7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuM3M7XG5cbiAgICAmLXgge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogQG1vZGFsLWhlYWRlci1jbG9zZS1zaXplO1xuICAgICAgaGVpZ2h0OiBAbW9kYWwtaGVhZGVyLWNsb3NlLXNpemU7XG4gICAgICBmb250LXNpemU6IEBmb250LXNpemUtbGc7XG4gICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICBsaW5lLWhlaWdodDogQG1vZGFsLWhlYWRlci1jbG9zZS1zaXplO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICB0ZXh0LXJlbmRlcmluZzogYXV0bztcbiAgICB9XG5cbiAgICAmOmZvY3VzLFxuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6IEBpY29uLWNvbG9yLWhvdmVyO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbiAgfVxuXG4gICYtaGVhZGVyIHtcbiAgICBwYWRkaW5nOiBAbW9kYWwtaGVhZGVyLXBhZGRpbmc7XG4gICAgY29sb3I6IEB0ZXh0LWNvbG9yO1xuICAgIGJhY2tncm91bmQ6IEBtb2RhbC1oZWFkZXItYmc7XG4gICAgYm9yZGVyLWJvdHRvbTogQG1vZGFsLWhlYWRlci1ib3JkZXItd2lkdGggQG1vZGFsLWhlYWRlci1ib3JkZXItc3R5bGVcbiAgICAgIEBtb2RhbC1oZWFkZXItYm9yZGVyLWNvbG9yLXNwbGl0O1xuICAgIGJvcmRlci1yYWRpdXM6IEBib3JkZXItcmFkaXVzLWJhc2UgQGJvcmRlci1yYWRpdXMtYmFzZSAwIDA7XG4gIH1cblxuICAmLWJvZHkge1xuICAgIHBhZGRpbmc6IEBtb2RhbC1ib2R5LXBhZGRpbmc7XG4gICAgZm9udC1zaXplOiBAZm9udC1zaXplLWJhc2U7XG4gICAgbGluZS1oZWlnaHQ6IEBsaW5lLWhlaWdodC1iYXNlO1xuICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgfVxuXG4gICYtZm9vdGVyIHtcbiAgICBwYWRkaW5nOiBAbW9kYWwtZm9vdGVyLXBhZGRpbmctdmVydGljYWwgQG1vZGFsLWZvb3Rlci1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgYmFja2dyb3VuZDogQG1vZGFsLWZvb3Rlci1iZztcbiAgICBib3JkZXItdG9wOiBAbW9kYWwtZm9vdGVyLWJvcmRlci13aWR0aCBAbW9kYWwtZm9vdGVyLWJvcmRlci1zdHlsZVxuICAgICAgQG1vZGFsLWZvb3Rlci1ib3JkZXItY29sb3Itc3BsaXQ7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwIEBib3JkZXItcmFkaXVzLWJhc2UgQGJvcmRlci1yYWRpdXMtYmFzZTtcblxuICAgIGJ1dHRvbiArIGJ1dHRvbiB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDhweDtcbiAgICB9XG4gIH1cblxuICAmLW9wZW4ge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cbn1cblxuLkB7ZGlhbG9nLXByZWZpeC1jbHN9LWNlbnRlcmVkIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAmOjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBjb250ZW50OiAnJztcbiAgfVxuICAuQHtkaWFsb2ctcHJlZml4LWNsc30ge1xuICAgIHRvcDogMDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiBAc2NyZWVuLXNtLW1heCkge1xuICAuQHtkaWFsb2ctcHJlZml4LWNsc30ge1xuICAgIG1heC13aWR0aDogY2FsYygxMDB2dyAtIDE2cHgpO1xuICAgIG1hcmdpbjogOHB4IGF1dG87XG4gIH1cbiAgLkB7ZGlhbG9nLXByZWZpeC1jbHN9LWNlbnRlcmVkIHtcbiAgICAuQHtkaWFsb2ctcHJlZml4LWNsc30ge1xuICAgICAgZmxleDogMTtcbiAgICB9XG4gIH1cbn1cbiIsIi5ib3goQHBvc2l0aW9uOiBhYnNvbHV0ZSkge1xuICBwb3NpdGlvbjogQHBvc2l0aW9uO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG59XG4iLCJAaW1wb3J0ICcuLi8uLi9zdHlsZS9taXhpbnMvaW5kZXgnO1xuXG5AY29uZmlybS1wcmVmaXgtY2xzOiB+J0B7YW50LXByZWZpeH0tbW9kYWwtY29uZmlybSc7XG5cbi5Ae2NvbmZpcm0tcHJlZml4LWNsc30ge1xuICAuQHthbnQtcHJlZml4fS1tb2RhbC1oZWFkZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAuQHthbnQtcHJlZml4fS1tb2RhbC1ib2R5IHtcbiAgICBwYWRkaW5nOiBAbW9kYWwtY29uZmlybS1ib2R5LXBhZGRpbmc7XG4gIH1cblxuICAmLWJvZHktd3JhcHBlciB7XG4gICAgLmNsZWFyZml4KCk7XG4gIH1cblxuICAmLWJvZHkge1xuICAgIC5Ae2NvbmZpcm0tcHJlZml4LWNsc30tdGl0bGUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAvLyBjcmVhdGUgQkZDIHRvIGF2b2lkXG4gICAgICAvLyBodHRwczovL3VzZXItaW1hZ2VzLmdpdGh1YnVzZXJjb250ZW50LmNvbS81MDc2MTUvMzc3MDI1MTAtYmE4NDRlMDYtMmQyZC0xMWU4LTliNjctOGUxOWJlNTdmNDQ1LnBuZ1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIGNvbG9yOiBAaGVhZGluZy1jb2xvcjtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICBmb250LXNpemU6IEBmb250LXNpemUtbGc7XG4gICAgICBsaW5lLWhlaWdodDogMS40O1xuICAgIH1cblxuICAgIC5Ae2NvbmZpcm0tcHJlZml4LWNsc30tY29udGVudCB7XG4gICAgICBtYXJnaW4tdG9wOiA4cHg7XG4gICAgICBjb2xvcjogQHRleHQtY29sb3I7XG4gICAgICBmb250LXNpemU6IEBmb250LXNpemUtYmFzZTtcbiAgICB9XG5cbiAgICA+IC5Ae2ljb25mb250LWNzcy1wcmVmaXh9IHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxNnB4O1xuICAgICAgZm9udC1zaXplOiAyMnB4O1xuXG4gICAgICAvLyBgY29udGVudGAgYWZ0ZXIgYGljb25gIHNob3VsZCBzZXQgbWFyZ2luTGVmdFxuICAgICAgKyAuQHtjb25maXJtLXByZWZpeC1jbHN9LXRpdGxlICsgLkB7Y29uZmlybS1wcmVmaXgtY2xzfS1jb250ZW50IHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDM4cHg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLkB7Y29uZmlybS1wcmVmaXgtY2xzfS1idG5zIHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgbWFyZ2luLXRvcDogMjRweDtcblxuICAgIGJ1dHRvbiArIGJ1dHRvbiB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDhweDtcbiAgICB9XG4gIH1cblxuICAmLWVycm9yICYtYm9keSA+IC5Ae2ljb25mb250LWNzcy1wcmVmaXh9IHtcbiAgICBjb2xvcjogQGVycm9yLWNvbG9yO1xuICB9XG5cbiAgJi13YXJuaW5nICYtYm9keSA+IC5Ae2ljb25mb250LWNzcy1wcmVmaXh9LFxuICAmLWNvbmZpcm0gJi1ib2R5ID4gLkB7aWNvbmZvbnQtY3NzLXByZWZpeH0ge1xuICAgIGNvbG9yOiBAd2FybmluZy1jb2xvcjtcbiAgfVxuXG4gICYtaW5mbyAmLWJvZHkgPiAuQHtpY29uZm9udC1jc3MtcHJlZml4fSB7XG4gICAgY29sb3I6IEBpbmZvLWNvbG9yO1xuICB9XG5cbiAgJi1zdWNjZXNzICYtYm9keSA+IC5Ae2ljb25mb250LWNzcy1wcmVmaXh9IHtcbiAgICBjb2xvcjogQHN1Y2Nlc3MtY29sb3I7XG4gIH1cbn1cbiIsIkBpbXBvcnQgJy4uLy4uL3N0eWxlL3RoZW1lcy9pbmRleCc7XG5AaW1wb3J0ICcuLi8uLi9zdHlsZS9taXhpbnMvaW5kZXgnO1xuXG5AZGlhbG9nLXByZWZpeC1jbHM6IH4nQHthbnQtcHJlZml4fS1tb2RhbCc7XG5AY29uZmlybS1wcmVmaXgtY2xzOiB+J0B7YW50LXByZWZpeH0tbW9kYWwtY29uZmlybSc7XG5AZGlhbG9nLXdyYXAtcnRsLWNsczogfidAe2RpYWxvZy1wcmVmaXgtY2xzfS13cmFwLXJ0bCc7XG5cbi5Ae2RpYWxvZy1wcmVmaXgtY2xzfSB7XG4gICYtd3JhcCB7XG4gICAgJi1ydGwge1xuICAgICAgZGlyZWN0aW9uOiBydGw7XG4gICAgfVxuICB9XG5cbiAgJi1jbG9zZSB7XG4gICAgLkB7ZGlhbG9nLXdyYXAtcnRsLWNsc30gJiB7XG4gICAgICByaWdodDogaW5pdGlhbDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgfVxuICB9XG5cbiAgJi1mb290ZXIge1xuICAgIC5Ae2RpYWxvZy13cmFwLXJ0bC1jbHN9ICYge1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB9XG4gICAgYnV0dG9uICsgYnV0dG9uIHtcbiAgICAgIC5Ae2RpYWxvZy13cmFwLXJ0bC1jbHN9ICYge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDhweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi1jb25maXJtIHtcbiAgICAmLWJvZHkge1xuICAgICAgLkB7ZGlhbG9nLXdyYXAtcnRsLWNsc30gJiB7XG4gICAgICAgIGRpcmVjdGlvbjogcnRsO1xuICAgICAgfVxuICAgICAgPiAuQHtpY29uZm9udC1jc3MtcHJlZml4fSB7XG4gICAgICAgIC5Ae2RpYWxvZy13cmFwLXJ0bC1jbHN9ICYge1xuICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDE2cHg7XG4gICAgICAgIH1cbiAgICAgICAgKyAuQHtjb25maXJtLXByZWZpeC1jbHN9LXRpdGxlICsgLkB7Y29uZmlybS1wcmVmaXgtY2xzfS1jb250ZW50IHtcbiAgICAgICAgICAuQHtkaWFsb2ctd3JhcC1ydGwtY2xzfSAmIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMzhweDtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAmLWJ0bnMge1xuICAgICAgLkB7ZGlhbG9nLXdyYXAtcnRsLWNsc30gJiB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgfVxuICAgICAgYnV0dG9uICsgYnV0dG9uIHtcbiAgICAgICAgLkB7ZGlhbG9nLXdyYXAtcnRsLWNsc30gJiB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiA4cHg7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLkB7ZGlhbG9nLXByZWZpeC1jbHN9LWNlbnRlcmVkIHtcbiAgLkB7ZGlhbG9nLXByZWZpeC1jbHN9IHtcbiAgICAuQHtkaWFsb2ctd3JhcC1ydGwtY2xzfSYge1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuICB9XG59XG4iLCJAaW1wb3J0ICcuL2luZGV4JztcblxuQHNlbGVjdGlvbi1pdGVtLXBhZGRpbmc6IGNlaWwoQGZvbnQtc2l6ZS1iYXNlICogMS4yNSk7XG5cbi5Ae3NlbGVjdC1wcmVmaXgtY2xzfS1zaW5nbGUge1xuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09IFNlbGVjdG9yID09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgLkB7c2VsZWN0LXByZWZpeC1jbHN9LXNlbGVjdG9yIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuXG4gICAgLkB7c2VsZWN0LXByZWZpeC1jbHN9LXNlbGVjdGlvbi1zZWFyY2gge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgcmlnaHQ6IEBpbnB1dC1wYWRkaW5nLWhvcml6b250YWwtYmFzZTtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IEBpbnB1dC1wYWRkaW5nLWhvcml6b250YWwtYmFzZTtcblxuICAgICAgJi1pbnB1dCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5Ae3NlbGVjdC1wcmVmaXgtY2xzfS1zZWxlY3Rpb24taXRlbSxcbiAgICAuQHtzZWxlY3QtcHJlZml4LWNsc30tc2VsZWN0aW9uLXBsYWNlaG9sZGVyIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBsaW5lLWhlaWdodDogQHNlbGVjdC1oZWlnaHQtd2l0aG91dC1ib3JkZXI7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcztcblxuICAgICAgLy8gRmlyZWZveCBpbmxpbmUtYmxvY2sgcG9zaXRpb24gY2FsY3VsYXRpb24gaXMgbm90IHNhbWUgYXMgQ2hyb21lICYgU2FmYXJpLiBQYXRjaCB0aGlzOlxuICAgICAgQHN1cHBvcnRzICgtbW96LWFwcGVhcmFuY2U6IG1ldGVyYmFyKSB7XG4gICAgICAgICYge1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiBAc2VsZWN0LWhlaWdodC13aXRob3V0LWJvcmRlcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5Ae3NlbGVjdC1wcmVmaXgtY2xzfS1zZWxlY3Rpb24taXRlbSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICB9XG5cbiAgICAuQHtzZWxlY3QtcHJlZml4LWNsc30tc2VsZWN0aW9uLXBsYWNlaG9sZGVyIHtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cblxuICAgIC8vIEZvciBjb21tb24gYmFzZWxpbmUgYWxpZ25cbiAgICAmOjphZnRlcixcbiAgICAvLyBGb3IgJycgdmFsdWUgYmFzZWxpbmUgYWxpZ25cbiAgICAuQHtzZWxlY3QtcHJlZml4LWNsc30tc2VsZWN0aW9uLWl0ZW06OmFmdGVyLFxuICAgIC8vIEZvciB1bmRlZmluZWQgdmFsdWUgYmFzZWxpbmUgYWxpZ25cbiAgICAuQHtzZWxlY3QtcHJlZml4LWNsc30tc2VsZWN0aW9uLXBsYWNlaG9sZGVyOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB3aWR0aDogMDtcbiAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgIGNvbnRlbnQ6ICdcXGEwJztcbiAgICB9XG4gIH1cblxuICAvLyBXaXRoIGFycm93IHNob3VsZCBwcm92aWRlcyBgcGFkZGluZy1yaWdodGAgdG8gc2hvdyB0aGUgYXJyb3dcbiAgJi5Ae3NlbGVjdC1wcmVmaXgtY2xzfS1zaG93LWFycm93IC5Ae3NlbGVjdC1wcmVmaXgtY2xzfS1zZWxlY3Rpb24tc2VhcmNoIHtcbiAgICByaWdodDogQGlucHV0LXBhZGRpbmctaG9yaXpvbnRhbC1iYXNlICsgQGZvbnQtc2l6ZS1iYXNlO1xuICB9XG5cbiAgJi5Ae3NlbGVjdC1wcmVmaXgtY2xzfS1zaG93LWFycm93IC5Ae3NlbGVjdC1wcmVmaXgtY2xzfS1zZWxlY3Rpb24taXRlbSxcbiAgJi5Ae3NlbGVjdC1wcmVmaXgtY2xzfS1zaG93LWFycm93IC5Ae3NlbGVjdC1wcmVmaXgtY2xzfS1zZWxlY3Rpb24tcGxhY2Vob2xkZXIge1xuICAgIHBhZGRpbmctcmlnaHQ6IEBzZWxlY3Rpb24taXRlbS1wYWRkaW5nO1xuICB9XG5cbiAgLy8gT3BhY2l0eSBzZWxlY3Rpb24gaWYgb3BlblxuICAmLkB7c2VsZWN0LXByZWZpeC1jbHN9LW9wZW4gLkB7c2VsZWN0LXByZWZpeC1jbHN9LXNlbGVjdGlvbi1pdGVtIHtcbiAgICBjb2xvcjogQGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yO1xuICB9XG5cbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT0gSW5wdXQgPT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgLy8gV2Ugb25seSBjaGFuZ2UgdGhlIHN0eWxlIG9mIG5vbi1jdXN0b21pemUgaW5wdXQgd2hpY2ggaXMgb25seSBzdXBwb3J0IGJ5IGBjb21ib2JveGAgbW9kZS5cblxuICAvLyBOb3QgY3VzdG9taXplXG4gICY6bm90KC5Ae3NlbGVjdC1wcmVmaXgtY2xzfS1jdXN0b21pemUtaW5wdXQpIHtcbiAgICAuQHtzZWxlY3QtcHJlZml4LWNsc30tc2VsZWN0b3Ige1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IEBpbnB1dC1oZWlnaHQtYmFzZTtcbiAgICAgIHBhZGRpbmc6IDAgQGlucHV0LXBhZGRpbmctaG9yaXpvbnRhbC1iYXNlO1xuXG4gICAgICAuQHtzZWxlY3QtcHJlZml4LWNsc30tc2VsZWN0aW9uLXNlYXJjaC1pbnB1dCB7XG4gICAgICAgIGhlaWdodDogQHNlbGVjdC1oZWlnaHQtd2l0aG91dC1ib3JkZXI7XG4gICAgICB9XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IEBzZWxlY3QtaGVpZ2h0LXdpdGhvdXQtYm9yZGVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYuQHtzZWxlY3QtcHJlZml4LWNsc30tY3VzdG9taXplLWlucHV0IHtcbiAgICAuQHtzZWxlY3QtcHJlZml4LWNsc30tc2VsZWN0b3Ige1xuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuXG4gICAgICAuQHtzZWxlY3QtcHJlZml4LWNsc30tc2VsZWN0aW9uLXNlYXJjaCB7XG4gICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuXG4gICAgICAuQHtzZWxlY3QtcHJlZml4LWNsc30tc2VsZWN0aW9uLXBsYWNlaG9sZGVyIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcGFkZGluZzogMCBAaW5wdXQtcGFkZGluZy1ob3Jpem9udGFsLWJhc2U7XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgLy8gPT0gICAgICAgICAgICAgICAgICAgICAgICAgIFNpemUgICAgICAgICAgICAgICAgICAgICAgICAgID09XG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAuc2VsZWN0LXNpemUoQHN1ZmZpeCwgQGlucHV0LWhlaWdodCkge1xuICAgIEBtZXJnZWQtY2xzOiB+J0B7c2VsZWN0LXByZWZpeC1jbHN9LUB7c3VmZml4fSc7XG5cbiAgICAmLkB7bWVyZ2VkLWNsc306bm90KC5Ae3NlbGVjdC1wcmVmaXgtY2xzfS1jdXN0b21pemUtaW5wdXQpIHtcbiAgICAgIC5Ae3NlbGVjdC1wcmVmaXgtY2xzfS1zZWxlY3RvciB7XG4gICAgICAgIGhlaWdodDogQGlucHV0LWhlaWdodDtcblxuICAgICAgICAmOjphZnRlcixcbiAgICAgICAgLkB7c2VsZWN0LXByZWZpeC1jbHN9LXNlbGVjdGlvbi1pdGVtLFxuICAgICAgICAuQHtzZWxlY3QtcHJlZml4LWNsc30tc2VsZWN0aW9uLXBsYWNlaG9sZGVyIHtcbiAgICAgICAgICBsaW5lLWhlaWdodDogQGlucHV0LWhlaWdodCAtIDIgKiBAYm9yZGVyLXdpZHRoLWJhc2U7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gTm90IGN1c3RvbWl6ZVxuICAgICAgJjpub3QoLkB7c2VsZWN0LXByZWZpeC1jbHN9LWN1c3RvbWl6ZS1pbnB1dCkge1xuICAgICAgICAuQHtzZWxlY3QtcHJlZml4LWNsc30tc2VsZWN0aW9uLXNlYXJjaC1pbnB1dCB7XG4gICAgICAgICAgaGVpZ2h0OiBAaW5wdXQtaGVpZ2h0IC0gMiAqIEBib3JkZXItd2lkdGgtYmFzZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5zZWxlY3Qtc2l6ZSgnbGcnLCBAc2VsZWN0LXNpbmdsZS1pdGVtLWhlaWdodC1sZyk7XG4gIC5zZWxlY3Qtc2l6ZSgnc20nLCBAaW5wdXQtaGVpZ2h0LXNtKTtcblxuICAvLyBTaXplIHNtYWxsIG5lZWQgYWRkaXRpb25hbCBzZXQgcGFkZGluZ1xuICAmLkB7c2VsZWN0LXByZWZpeC1jbHN9LXNtIHtcbiAgICAmOm5vdCguQHtzZWxlY3QtcHJlZml4LWNsc30tY3VzdG9taXplLWlucHV0KSB7XG4gICAgICAuQHtzZWxlY3QtcHJlZml4LWNsc30tc2VsZWN0aW9uLXNlYXJjaCB7XG4gICAgICAgIHJpZ2h0OiBAaW5wdXQtcGFkZGluZy1ob3Jpem9udGFsLXNtO1xuICAgICAgICBsZWZ0OiBAaW5wdXQtcGFkZGluZy1ob3Jpem9udGFsLXNtO1xuICAgICAgfVxuXG4gICAgICAuQHtzZWxlY3QtcHJlZml4LWNsc30tc2VsZWN0b3Ige1xuICAgICAgICBwYWRkaW5nOiAwIEBpbnB1dC1wYWRkaW5nLWhvcml6b250YWwtc207XG4gICAgICB9XG5cbiAgICAgIC8vIFdpdGggYXJyb3cgc2hvdWxkIHByb3ZpZGVzIGBwYWRkaW5nLXJpZ2h0YCB0byBzaG93IHRoZSBhcnJvd1xuICAgICAgJi5Ae3NlbGVjdC1wcmVmaXgtY2xzfS1zaG93LWFycm93IC5Ae3NlbGVjdC1wcmVmaXgtY2xzfS1zZWxlY3Rpb24tc2VhcmNoIHtcbiAgICAgICAgcmlnaHQ6IEBpbnB1dC1wYWRkaW5nLWhvcml6b250YWwtc20gKyBAZm9udC1zaXplLWJhc2UgKiAxLjU7XG4gICAgICB9XG5cbiAgICAgICYuQHtzZWxlY3QtcHJlZml4LWNsc30tc2hvdy1hcnJvdyAuQHtzZWxlY3QtcHJlZml4LWNsc30tc2VsZWN0aW9uLWl0ZW0sXG4gICAgICAmLkB7c2VsZWN0LXByZWZpeC1jbHN9LXNob3ctYXJyb3cgLkB7c2VsZWN0LXByZWZpeC1jbHN9LXNlbGVjdGlvbi1wbGFjZWhvbGRlciB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IEBmb250LXNpemUtYmFzZSAqIDEuNTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLkB7c2VsZWN0LXByZWZpeC1jbHN9LWxnIHtcbiAgICAmOm5vdCguQHtzZWxlY3QtcHJlZml4LWNsc30tY3VzdG9taXplLWlucHV0KSB7XG4gICAgICAuQHtzZWxlY3QtcHJlZml4LWNsc30tc2VsZWN0b3Ige1xuICAgICAgICBwYWRkaW5nOiAwIEBpbnB1dC1wYWRkaW5nLWhvcml6b250YWwtbGc7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAaW1wb3J0ICcuL2luZGV4JztcblxuQHNlbGVjdC1vdmVyZmxvdy1wcmVmaXgtY2xzOiB+J0B7c2VsZWN0LXByZWZpeC1jbHN9LXNlbGVjdGlvbi1vdmVyZmxvdyc7XG5Ac2VsZWN0LW11bHRpcGxlLWl0ZW0tYm9yZGVyLXdpZHRoOiAxcHg7XG5cbkBzZWxlY3QtbXVsdGlwbGUtcGFkZGluZzogbWF4KFxuICBAaW5wdXQtcGFkZGluZy12ZXJ0aWNhbC1iYXNlIC0gQHNlbGVjdC1tdWx0aXBsZS1pdGVtLWJvcmRlci13aWR0aCAtXG4gICAgQHNlbGVjdC1tdWx0aXBsZS1pdGVtLXNwYWNpbmctaGFsZixcbiAgMFxuKTtcblxuLyoqXG4gKiBEbyBub3QgbWVyZ2UgYGhlaWdodGAgJiBgbGluZS1oZWlnaHRgIHVuZGVyIHN0eWxlIHdpdGggYHNlbGVjdGlvbmAgJiBgc2VhcmNoYCxcbiAqIHNpbmNlIGNocm9tZSBtYXkgdXBkYXRlIHRvIHJlZGVzaWduIHdpdGggaXRzIGFsaWduIGxvZ2ljLlxuICovXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PSBPdmVyZmxvdyA9PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi5Ae3NlbGVjdC1vdmVyZmxvdy1wcmVmaXgtY2xzfSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleDogYXV0bztcbiAgZmxleC13cmFwOiB3cmFwO1xuICBtYXgtd2lkdGg6IDEwMCU7XG5cbiAgJi1pdGVtIHtcbiAgICBmbGV4OiBub25lO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxufVxuXG4uQHtzZWxlY3QtcHJlZml4LWNsc30ge1xuICAmLW11bHRpcGxlIHtcbiAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09IFNlbGVjdG9yID09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICAuQHtzZWxlY3QtcHJlZml4LWNsc30tc2VsZWN0b3Ige1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAvLyBNdWx0aXBsZSBpcyBsaXR0bGUgZGlmZmVyZW50IHRoYXQgaG9yaXpvbnRhbCBpcyBmb2xsb3cgdGhlIHZlcnRpY2FsXG4gICAgICBwYWRkaW5nOiBAc2VsZWN0LW11bHRpcGxlLXBhZGRpbmcgQGlucHV0LXBhZGRpbmctdmVydGljYWwtYmFzZTtcblxuICAgICAgLkB7c2VsZWN0LXByZWZpeC1jbHN9LXNob3ctc2VhcmNoJiB7XG4gICAgICAgIGN1cnNvcjogdGV4dDtcbiAgICAgIH1cblxuICAgICAgLkB7c2VsZWN0LXByZWZpeC1jbHN9LWRpc2FibGVkJiB7XG4gICAgICAgIGJhY2tncm91bmQ6IEBzZWxlY3QtbXVsdGlwbGUtZGlzYWJsZWQtYmFja2dyb3VuZDtcbiAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICAgIH1cblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHdpZHRoOiAwO1xuICAgICAgICBtYXJnaW46IEBzZWxlY3QtbXVsdGlwbGUtaXRlbS1zcGFjaW5nLWhhbGYgMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IEBzZWxlY3QtbXVsdGlwbGUtaXRlbS1oZWlnaHQ7XG4gICAgICAgIGNvbnRlbnQ6ICdcXGEwJztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLkB7c2VsZWN0LXByZWZpeC1jbHN9LXNob3ctYXJyb3cgLkB7c2VsZWN0LXByZWZpeC1jbHN9LXNlbGVjdG9yLFxuICAgICYuQHtzZWxlY3QtcHJlZml4LWNsc30tYWxsb3ctY2xlYXIgLkB7c2VsZWN0LXByZWZpeC1jbHN9LXNlbGVjdG9yIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IEBmb250LXNpemUtc20gKyBAY29udHJvbC1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgfVxuXG4gICAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09IFNlbGVjdGlvbnMgPT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgLkB7c2VsZWN0LXByZWZpeC1jbHN9LXNlbGVjdGlvbi1pdGVtIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4OiBub25lO1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcblxuICAgICAgaGVpZ2h0OiBAc2VsZWN0LW11bHRpcGxlLWl0ZW0taGVpZ2h0O1xuICAgICAgbWFyZ2luLXRvcDogQHNlbGVjdC1tdWx0aXBsZS1pdGVtLXNwYWNpbmctaGFsZjtcbiAgICAgIG1hcmdpbi1pbmxpbmUtZW5kOiBAaW5wdXQtcGFkZGluZy12ZXJ0aWNhbC1iYXNlO1xuICAgICAgbWFyZ2luLWJvdHRvbTogQHNlbGVjdC1tdWx0aXBsZS1pdGVtLXNwYWNpbmctaGFsZjtcbiAgICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiBAcGFkZGluZy14cztcbiAgICAgIHBhZGRpbmctaW5saW5lLWVuZDogKEBwYWRkaW5nLXhzIC8gMik7XG4gICAgICBsaW5lLWhlaWdodDogQHNlbGVjdC1tdWx0aXBsZS1pdGVtLWhlaWdodCAtIEBzZWxlY3QtbXVsdGlwbGUtaXRlbS1ib3JkZXItd2lkdGggKiAyO1xuICAgICAgYmFja2dyb3VuZDogQHNlbGVjdC1zZWxlY3Rpb24taXRlbS1iZztcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIEBzZWxlY3Qtc2VsZWN0aW9uLWl0ZW0tYm9yZGVyLWNvbG9yO1xuICAgICAgYm9yZGVyLXJhZGl1czogQGJvcmRlci1yYWRpdXMtYmFzZTtcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgIHRyYW5zaXRpb246IGZvbnQtc2l6ZSAwLjNzLCBsaW5lLWhlaWdodCAwLjNzLCBoZWlnaHQgMC4zcztcbiAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuXG4gICAgICAuQHtzZWxlY3QtcHJlZml4LWNsc30tZGlzYWJsZWQmIHtcbiAgICAgICAgY29sb3I6IEBzZWxlY3QtbXVsdGlwbGUtaXRlbS1kaXNhYmxlZC1jb2xvcjtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBAc2VsZWN0LW11bHRpcGxlLWl0ZW0tZGlzYWJsZWQtYm9yZGVyLWNvbG9yO1xuICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgICAgfVxuXG4gICAgICAvLyBJdCdzIG9rIG5vdCB0byBkbyB0aGlzLCBidXQgMjRweCBtYWtlcyBib3R0b20gbmFycm93IGluIHZpZXcgc2hvdWxkIGFkanVzdFxuICAgICAgJi1jb250ZW50IHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IChAcGFkZGluZy14cyAvIDIpO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB3aGl0ZS1zcGFjZTogcHJlOyAvLyBmaXggd2hpdGVzcGFjZSB3cmFwcGluZy4gY3VzdG9tIHRhZ3MgZGlzcGxheSBhbGwgd2hpdGVzcGFjZSB3aXRoaW4uXG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgfVxuXG4gICAgICAmLXJlbW92ZSB7XG4gICAgICAgIC5pY29uZm9udC1taXhpbigpO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGNvbG9yOiBAdGV4dC1jb2xvci1zZWNvbmRhcnk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICBmb250LXNpemU6IDEwcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICAgPiAuQHtpY29uZm9udC1jc3MtcHJlZml4fSB7XG4gICAgICAgICAgdmVydGljYWwtYWxpZ246IC0wLjJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGNvbG9yOiBAaWNvbi1jb2xvci1ob3ZlcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09IElucHV0ID09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgLkB7c2VsZWN0LW92ZXJmbG93LXByZWZpeC1jbHN9LWl0ZW0gKyAuQHtzZWxlY3Qtb3ZlcmZsb3ctcHJlZml4LWNsc30taXRlbSB7XG4gICAgICAuQHtzZWxlY3QtcHJlZml4LWNsc30tc2VsZWN0aW9uLXNlYXJjaCB7XG4gICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLkB7c2VsZWN0LXByZWZpeC1jbHN9LXNlbGVjdGlvbi1zZWFyY2gge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luLXRvcDogQHNlbGVjdC1tdWx0aXBsZS1pdGVtLXNwYWNpbmctaGFsZjtcbiAgICAgIG1hcmdpbi1ib3R0b206IEBzZWxlY3QtbXVsdGlwbGUtaXRlbS1zcGFjaW5nLWhhbGY7XG4gICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiBAaW5wdXQtcGFkZGluZy1ob3Jpem9udGFsLWJhc2UgLSBAaW5wdXQtcGFkZGluZy12ZXJ0aWNhbC1iYXNlO1xuXG4gICAgICAmLWlucHV0LFxuICAgICAgJi1taXJyb3Ige1xuICAgICAgICBoZWlnaHQ6IEBzZWxlY3QtbXVsdGlwbGUtaXRlbS1oZWlnaHQ7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBAZm9udC1mYW1pbHk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiBAc2VsZWN0LW11bHRpcGxlLWl0ZW0taGVpZ2h0O1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcztcbiAgICAgIH1cblxuICAgICAgJi1pbnB1dCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtaW4td2lkdGg6IDQuMXB4OyAvLyBmaXggc2VhcmNoIGN1cnNvciBtaXNzaW5nXG4gICAgICB9XG5cbiAgICAgICYtbWlycm9yIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHotaW5kZXg6IDk5OTtcbiAgICAgICAgd2hpdGUtc3BhY2U6IHByZTsgLy8gZml4IHdoaXRlc3BhY2Ugd3JhcHBpbmcgY2F1c2VkIHdpZHRoIGNhbGN1bGF0aW9uIGJ1Z1xuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gPT09PT09PT09PT09PT09PT09PT09PT0gUGxhY2Vob2xkZXIgPT09PT09PT09PT09PT09PT09PT09PT1cbiAgICAuQHtzZWxlY3QtcHJlZml4LWNsc30tc2VsZWN0aW9uLXBsYWNlaG9sZGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgcmlnaHQ6IEBpbnB1dC1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgICBsZWZ0OiBAaW5wdXQtcGFkZGluZy1ob3Jpem9udGFsO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3M7XG4gICAgfVxuXG4gICAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgLy8gPT0gICAgICAgICAgICAgICAgICAgICAgICAgIFNpemUgICAgICAgICAgICAgICAgICAgICAgICAgID09XG4gICAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgLnNlbGVjdC1zaXplKEBzdWZmaXgsIEBpbnB1dC1oZWlnaHQpIHtcbiAgICAgIEBtZXJnZWQtY2xzOiB+J0B7c2VsZWN0LXByZWZpeC1jbHN9LUB7c3VmZml4fSc7XG4gICAgICAmLkB7bWVyZ2VkLWNsc30ge1xuICAgICAgICBAc2VsZWN0LXNlbGVjdGlvbi1oZWlnaHQ6IEBpbnB1dC1oZWlnaHQgLSBAaW5wdXQtcGFkZGluZy12ZXJ0aWNhbC1iYXNlICogMjtcbiAgICAgICAgQHNlbGVjdC1oZWlnaHQtd2l0aG91dC1ib3JkZXI6IEBpbnB1dC1oZWlnaHQgLSBAYm9yZGVyLXdpZHRoLWJhc2UgKiAyO1xuXG4gICAgICAgIC5Ae3NlbGVjdC1wcmVmaXgtY2xzfS1zZWxlY3Rvcjo6YWZ0ZXIge1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiBAc2VsZWN0LXNlbGVjdGlvbi1oZWlnaHQ7XG4gICAgICAgIH1cblxuICAgICAgICAuQHtzZWxlY3QtcHJlZml4LWNsc30tc2VsZWN0aW9uLWl0ZW0ge1xuICAgICAgICAgIGhlaWdodDogQHNlbGVjdC1zZWxlY3Rpb24taGVpZ2h0O1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiBAc2VsZWN0LXNlbGVjdGlvbi1oZWlnaHQgLSBAYm9yZGVyLXdpZHRoLWJhc2UgKiAyO1xuICAgICAgICB9XG5cbiAgICAgICAgLkB7c2VsZWN0LXByZWZpeC1jbHN9LXNlbGVjdGlvbi1zZWFyY2gge1xuICAgICAgICAgIGhlaWdodDogQHNlbGVjdC1zZWxlY3Rpb24taGVpZ2h0ICsgQHNlbGVjdC1tdWx0aXBsZS1wYWRkaW5nO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiBAc2VsZWN0LXNlbGVjdGlvbi1oZWlnaHQgKyBAc2VsZWN0LW11bHRpcGxlLXBhZGRpbmc7XG5cbiAgICAgICAgICAmLWlucHV0LFxuICAgICAgICAgICYtbWlycm9yIHtcbiAgICAgICAgICAgIGhlaWdodDogQHNlbGVjdC1zZWxlY3Rpb24taGVpZ2h0O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IEBzZWxlY3Qtc2VsZWN0aW9uLWhlaWdodCAtIEBib3JkZXItd2lkdGgtYmFzZSAqIDI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnNlbGVjdC1zaXplKCdsZycsIEBpbnB1dC1oZWlnaHQtbGcpO1xuICAgIC5zZWxlY3Qtc2l6ZSgnc20nLCBAaW5wdXQtaGVpZ2h0LXNtKTtcblxuICAgIC8vIFNpemUgc21hbGwgbmVlZCBhZGRpdGlvbmFsIHNldCBwYWRkaW5nXG4gICAgJi5Ae3NlbGVjdC1wcmVmaXgtY2xzfS1zbSB7XG4gICAgICAuQHtzZWxlY3QtcHJlZml4LWNsc30tc2VsZWN0aW9uLXBsYWNlaG9sZGVyIHtcbiAgICAgICAgbGVmdDogQGlucHV0LXBhZGRpbmctaG9yaXpvbnRhbC1zbTtcbiAgICAgIH1cbiAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbnQtZGVzaWduL2FudC1kZXNpZ24vaXNzdWVzLzIyOTA2XG4gICAgICAuQHtzZWxlY3QtcHJlZml4LWNsc30tc2VsZWN0aW9uLXNlYXJjaDpmaXJzdC1jaGlsZFxuICAgICAgICAuQHtzZWxlY3QtcHJlZml4LWNsc30tc2VsZWN0aW9uLXNlYXJjaC1pbnB1dCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAzcHg7XG4gICAgICB9XG4gICAgfVxuICAgICYuQHtzZWxlY3QtcHJlZml4LWNsc30tbGcge1xuICAgICAgLkB7c2VsZWN0LXByZWZpeC1jbHN9LXNlbGVjdGlvbi1pdGVtIHtcbiAgICAgICAgaGVpZ2h0OiBAc2VsZWN0LW11bHRpcGxlLWl0ZW0taGVpZ2h0LWxnO1xuICAgICAgICBsaW5lLWhlaWdodDogQHNlbGVjdC1tdWx0aXBsZS1pdGVtLWhlaWdodC1sZztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLWRpc2FibGVkIC5Ae3NlbGVjdC1wcmVmaXgtY2xzfS1zZWxlY3Rpb24taXRlbS1yZW1vdmUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbiIsIkBpbXBvcnQgJy4uLy4uL3N0eWxlL3RoZW1lcy9pbmRleCc7XG5AaW1wb3J0ICcuLi8uLi9zdHlsZS9taXhpbnMvaW5kZXgnO1xuQGltcG9ydCAnLi4vLi4vaW5wdXQvc3R5bGUvbWl4aW4nO1xuXG5AaW1wb3J0ICcuL3NpbmdsZSc7XG5AaW1wb3J0ICcuL211bHRpcGxlJztcblxuQHNlbGVjdC1wcmVmaXgtY2xzOiB+J0B7YW50LXByZWZpeH0tc2VsZWN0JztcbkBzZWxlY3QtaGVpZ2h0LXdpdGhvdXQtYm9yZGVyOiBAaW5wdXQtaGVpZ2h0LWJhc2UgLSAyICogQGJvcmRlci13aWR0aC1iYXNlO1xuQHNlbGVjdC1kcm9wZG93bi1lZGdlLWNoaWxkLXZlcnRpY2FsLXBhZGRpbmc6IEBkcm9wZG93bi1lZGdlLWNoaWxkLXZlcnRpY2FsLXBhZGRpbmc7XG5cbi5zZWxlY3Qtc2VsZWN0b3IoKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogQHNlbGVjdC1iYWNrZ3JvdW5kO1xuICBib3JkZXI6IEBib3JkZXItd2lkdGgtYmFzZSBAYm9yZGVyLXN0eWxlLWJhc2UgQHNlbGVjdC1ib3JkZXItY29sb3I7XG4gIGJvcmRlci1yYWRpdXM6IEBib3JkZXItcmFkaXVzLWJhc2U7XG4gIHRyYW5zaXRpb246IGFsbCAwLjNzIEBlYXNlLWluLW91dDtcblxuICBpbnB1dCB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG5cbiAgLkB7c2VsZWN0LXByZWZpeC1jbHN9LXNob3ctc2VhcmNoJiB7XG4gICAgY3Vyc29yOiB0ZXh0O1xuXG4gICAgaW5wdXQge1xuICAgICAgY3Vyc29yOiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIC5Ae3NlbGVjdC1wcmVmaXgtY2xzfS1mb2N1c2VkOm5vdCguQHtzZWxlY3QtcHJlZml4LWNsc30tZGlzYWJsZWQpJiB7XG4gICAgLmFjdGl2ZSgpO1xuICB9XG5cbiAgLkB7c2VsZWN0LXByZWZpeC1jbHN9LWRpc2FibGVkJiB7XG4gICAgY29sb3I6IEBkaXNhYmxlZC1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kOiBAaW5wdXQtZGlzYWJsZWQtYmc7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcblxuICAgIGlucHV0IHtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgfVxuICB9XG59XG5cbi8qIFJlc2V0IHNlYXJjaCBpbnB1dCBzdHlsZSAqL1xuLnNlbGVjdC1zZWFyY2gtaW5wdXQtd2l0aG91dC1ib3JkZXIoKSB7XG4gIC5Ae3NlbGVjdC1wcmVmaXgtY2xzfS1zZWxlY3Rpb24tc2VhcmNoLWlucHV0IHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuXG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIH1cbiAgfVxufVxuXG4uQHtzZWxlY3QtcHJlZml4LWNsc30ge1xuICAucmVzZXQtY29tcG9uZW50KCk7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgJjpub3QoJi1jdXN0b21pemUtaW5wdXQpICYtc2VsZWN0b3Ige1xuICAgIC5zZWxlY3Qtc2VsZWN0b3IoKTtcbiAgICAuc2VsZWN0LXNlYXJjaC1pbnB1dC13aXRob3V0LWJvcmRlcigpO1xuICB9XG5cbiAgJjpub3QoJi1kaXNhYmxlZCk6aG92ZXIgJi1zZWxlY3RvciB7XG4gICAgLmhvdmVyKCk7XG4gIH1cblxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT0gU2VsZWN0aW9uID09PT09PT09PT09PT09PT09PT09PT09PVxuICAmLXNlbGVjdGlvbi1pdGVtIHtcbiAgICBmbGV4OiAxO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcblxuICAgIC8vIElFMTEgY3NzIGhhY2suIGAqOjotbXMtYmFja2Ryb3AsYCBpcyBhIG11c3QgaGF2ZVxuICAgIEBtZWRpYSBhbGwgYW5kICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSkge1xuICAgICAgKjo6LW1zLWJhY2tkcm9wLFxuICAgICAgJiB7XG4gICAgICAgIGZsZXg6IGF1dG87XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT0gUGxhY2Vob2xkZXIgPT09PT09PT09PT09PT09PT09PT09PT1cbiAgJi1zZWxlY3Rpb24tcGxhY2Vob2xkZXIge1xuICAgIGZsZXg6IDE7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBjb2xvcjogQGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgICAvLyBJRTExIGNzcyBoYWNrLiBgKjo6LW1zLWJhY2tkcm9wLGAgaXMgYSBtdXN0IGhhdmVcbiAgICBAbWVkaWEgYWxsIGFuZCAoLW1zLWhpZ2gtY29udHJhc3Q6IG5vbmUpIHtcbiAgICAgICo6Oi1tcy1iYWNrZHJvcCxcbiAgICAgICYge1xuICAgICAgICBmbGV4OiBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09IEFycm93ID09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICYtYXJyb3cge1xuICAgIC5pY29uZm9udC1taXhpbigpO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUzJTtcbiAgICByaWdodDogQGNvbnRyb2wtcGFkZGluZy1ob3Jpem9udGFsIC0gMXB4O1xuICAgIHdpZHRoOiBAZm9udC1zaXplLXNtO1xuICAgIGhlaWdodDogQGZvbnQtc2l6ZS1zbTtcbiAgICBtYXJnaW4tdG9wOiAoLUBmb250LXNpemUtc20gLyAyKTtcbiAgICBjb2xvcjogQGRpc2FibGVkLWNvbG9yO1xuICAgIGZvbnQtc2l6ZTogQGZvbnQtc2l6ZS1zbTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgICAuQHtpY29uZm9udC1jc3MtcHJlZml4fSB7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3M7XG5cbiAgICAgID4gc3ZnIHtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgIH1cblxuICAgICAgJjpub3QoLkB7c2VsZWN0LXByZWZpeC1jbHN9LXN1ZmZpeCkge1xuICAgICAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuQHtzZWxlY3QtcHJlZml4LWNsc30tZGlzYWJsZWQgJiB7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIH1cbiAgfVxuXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09IENsZWFyID09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICYtY2xlYXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICByaWdodDogQGNvbnRyb2wtcGFkZGluZy1ob3Jpem9udGFsIC0gMXB4O1xuICAgIHotaW5kZXg6IDE7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiBAZm9udC1zaXplLXNtO1xuICAgIGhlaWdodDogQGZvbnQtc2l6ZS1zbTtcbiAgICBtYXJnaW4tdG9wOiAoLUBmb250LXNpemUtc20gLyAyKTtcbiAgICBjb2xvcjogQGRpc2FibGVkLWNvbG9yO1xuICAgIGZvbnQtc2l6ZTogQGZvbnQtc2l6ZS1zbTtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIGJhY2tncm91bmQ6IEBzZWxlY3QtY2xlYXItYmFja2dyb3VuZDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjNzIGVhc2UsIG9wYWNpdHkgMC4xNXMgZWFzZTtcbiAgICB0ZXh0LXJlbmRlcmluZzogYXV0bztcbiAgICAmOjpiZWZvcmUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6IEB0ZXh0LWNvbG9yLXNlY29uZGFyeTtcbiAgICB9XG5cbiAgICAuQHtzZWxlY3QtcHJlZml4LWNsc306aG92ZXIgJiB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbiAgfVxuXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09IFBvcHVwID09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICYtZHJvcGRvd24ge1xuICAgIC5yZXNldC1jb21wb25lbnQoKTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAtOTk5OXB4O1xuICAgIGxlZnQ6IC05OTk5cHg7XG4gICAgei1pbmRleDogQHppbmRleC1kcm9wZG93bjtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHBhZGRpbmc6IEBzZWxlY3QtZHJvcGRvd24tZWRnZS1jaGlsZC12ZXJ0aWNhbC1wYWRkaW5nIDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBmb250LXNpemU6IEBmb250LXNpemUtYmFzZTtcbiAgICAvLyBGaXggc2VsZWN0IHJlbmRlciBsYWcgb2YgbG9uZyB0ZXh0IGluIGNocm9tZVxuICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbnQtZGVzaWduL2FudC1kZXNpZ24vaXNzdWVzLzExNDU2XG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2FudC1kZXNpZ24vYW50LWRlc2lnbi9pc3N1ZXMvMTE4NDNcbiAgICBmb250LXZhcmlhbnQ6IGluaXRpYWw7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQHNlbGVjdC1kcm9wZG93bi1iZztcbiAgICBib3JkZXItcmFkaXVzOiBAYm9yZGVyLXJhZGl1cy1iYXNlO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm94LXNoYWRvdzogQGJveC1zaGFkb3ctYmFzZTtcblxuICAgICYuc2xpZGUtdXAtZW50ZXIuc2xpZGUtdXAtZW50ZXItYWN0aXZlJi1wbGFjZW1lbnQtYm90dG9tTGVmdCxcbiAgICAmLnNsaWRlLXVwLWFwcGVhci5zbGlkZS11cC1hcHBlYXItYWN0aXZlJi1wbGFjZW1lbnQtYm90dG9tTGVmdCB7XG4gICAgICBhbmltYXRpb24tbmFtZTogYW50U2xpZGVVcEluO1xuICAgIH1cblxuICAgICYuc2xpZGUtdXAtZW50ZXIuc2xpZGUtdXAtZW50ZXItYWN0aXZlJi1wbGFjZW1lbnQtdG9wTGVmdCxcbiAgICAmLnNsaWRlLXVwLWFwcGVhci5zbGlkZS11cC1hcHBlYXItYWN0aXZlJi1wbGFjZW1lbnQtdG9wTGVmdCB7XG4gICAgICBhbmltYXRpb24tbmFtZTogYW50U2xpZGVEb3duSW47XG4gICAgfVxuXG4gICAgJi5zbGlkZS11cC1sZWF2ZS5zbGlkZS11cC1sZWF2ZS1hY3RpdmUmLXBsYWNlbWVudC1ib3R0b21MZWZ0IHtcbiAgICAgIGFuaW1hdGlvbi1uYW1lOiBhbnRTbGlkZVVwT3V0O1xuICAgIH1cblxuICAgICYuc2xpZGUtdXAtbGVhdmUuc2xpZGUtdXAtbGVhdmUtYWN0aXZlJi1wbGFjZW1lbnQtdG9wTGVmdCB7XG4gICAgICBhbmltYXRpb24tbmFtZTogYW50U2xpZGVEb3duT3V0O1xuICAgIH1cblxuICAgICYtaGlkZGVuIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgJi1lbXB0eSB7XG4gICAgICBjb2xvcjogQGRpc2FibGVkLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT0gT3B0aW9ucyA9PT09PT09PT09PT09PT09PT09PT09PT09XG4gIC5pdGVtKCkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtaW4taGVpZ2h0OiBAc2VsZWN0LWRyb3Bkb3duLWhlaWdodDtcbiAgICBwYWRkaW5nOiBAc2VsZWN0LWRyb3Bkb3duLXZlcnRpY2FsLXBhZGRpbmcgQGNvbnRyb2wtcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIGNvbG9yOiBAdGV4dC1jb2xvcjtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtc2l6ZTogQHNlbGVjdC1kcm9wZG93bi1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6IEBzZWxlY3QtZHJvcGRvd24tbGluZS1oZWlnaHQ7XG4gIH1cblxuICAmLWl0ZW0tZW1wdHkge1xuICAgIC5pdGVtKCk7XG4gICAgY29sb3I6IEBkaXNhYmxlZC1jb2xvcjtcbiAgfVxuXG4gICYtaXRlbSB7XG4gICAgLml0ZW0oKTtcblxuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuM3MgZWFzZTtcblxuICAgIC8vID09PT09PT09PT09IEdyb3VwID09PT09PT09PT09PVxuICAgICYtZ3JvdXAge1xuICAgICAgY29sb3I6IEB0ZXh0LWNvbG9yLXNlY29uZGFyeTtcbiAgICAgIGZvbnQtc2l6ZTogQGZvbnQtc2l6ZS1zbTtcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICB9XG5cbiAgICAvLyA9PT09PT09PT09PSBPcHRpb24gPT09PT09PT09PT1cbiAgICAmLW9wdGlvbiB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuXG4gICAgICAmLWNvbnRlbnQge1xuICAgICAgICBmbGV4OiBhdXRvO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgIH1cblxuICAgICAgJi1zdGF0ZSB7XG4gICAgICAgIGZsZXg6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgICYtYWN0aXZlOm5vdCgmLWRpc2FibGVkKSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBzZWxlY3QtaXRlbS1hY3RpdmUtYmc7XG4gICAgICB9XG5cbiAgICAgICYtc2VsZWN0ZWQ6bm90KCYtZGlzYWJsZWQpIHtcbiAgICAgICAgY29sb3I6IEBzZWxlY3QtaXRlbS1zZWxlY3RlZC1jb2xvcjtcbiAgICAgICAgZm9udC13ZWlnaHQ6IEBzZWxlY3QtaXRlbS1zZWxlY3RlZC1mb250LXdlaWdodDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQHNlbGVjdC1pdGVtLXNlbGVjdGVkLWJnO1xuXG4gICAgICAgIC5Ae3NlbGVjdC1wcmVmaXgtY2xzfS1pdGVtLW9wdGlvbi1zdGF0ZSB7XG4gICAgICAgICAgY29sb3I6IEBwcmltYXJ5LWNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYtZGlzYWJsZWQge1xuICAgICAgICBjb2xvcjogQGRpc2FibGVkLWNvbG9yO1xuICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgICAgfVxuXG4gICAgICAmLWdyb3VwZWQge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IEBjb250cm9sLXBhZGRpbmctaG9yaXpvbnRhbCAqIDI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIC8vID09ICAgICAgICAgICAgICAgICAgICAgICAgICBTaXplICAgICAgICAgICAgICAgICAgICAgICAgICA9PVxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgJi1sZyB7XG4gICAgZm9udC1zaXplOiBAZm9udC1zaXplLWxnO1xuICB9XG5cbiAgLy8gbm8gYm9yZGVyIHN0eWxlXG4gICYtYm9yZGVybGVzcyAmLXNlbGVjdG9yIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQGltcG9ydCAnLi9ydGwnO1xuIiwiQGltcG9ydCAnLi4vLi4vc3R5bGUvdGhlbWVzL2luZGV4JztcbkBpbXBvcnQgJy4uLy4uL3N0eWxlL21peGlucy9pbmRleCc7XG5AaW1wb3J0ICcuLi8uLi9pbnB1dC9zdHlsZS9taXhpbic7XG5cbkBzZWxlY3QtcHJlZml4LWNsczogfidAe2FudC1wcmVmaXh9LXNlbGVjdCc7XG5cbi5Ae3NlbGVjdC1wcmVmaXgtY2xzfSB7XG4gICYtcnRsIHtcbiAgICBkaXJlY3Rpb246IHJ0bDtcbiAgfVxuXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09IEFycm93ID09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICYtYXJyb3cge1xuICAgIC5Ae3NlbGVjdC1wcmVmaXgtY2xzfS1ydGwgJiB7XG4gICAgICByaWdodDogaW5pdGlhbDtcbiAgICAgIGxlZnQ6IEBjb250cm9sLXBhZGRpbmctaG9yaXpvbnRhbCAtIDFweDtcbiAgICB9XG4gIH1cblxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PSBDbGVhciA9PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAmLWNsZWFyIHtcbiAgICAuQHtzZWxlY3QtcHJlZml4LWNsc30tcnRsICYge1xuICAgICAgcmlnaHQ6IGluaXRpYWw7XG4gICAgICBsZWZ0OiBAY29udHJvbC1wYWRkaW5nLWhvcml6b250YWwgLSAxcHg7XG4gICAgfVxuICB9XG5cbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT0gUG9wdXAgPT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgJi1kcm9wZG93biB7XG4gICAgJi1ydGwge1xuICAgICAgZGlyZWN0aW9uOiBydGw7XG4gICAgfVxuICB9XG5cbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PSBPcHRpb25zID09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgJi1pdGVtIHtcbiAgICAmLW9wdGlvbiB7XG4gICAgICAmLWdyb3VwZWQge1xuICAgICAgICAuQHtzZWxlY3QtcHJlZml4LWNsc30tZHJvcGRvd24tcnRsICYge1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IEBjb250cm9sLXBhZGRpbmctaG9yaXpvbnRhbCAqIDI7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiBAY29udHJvbC1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gbXVsdGlwbGVcbkBzZWxlY3QtbXVsdGlwbGUtaXRlbS1ib3JkZXItd2lkdGg6IDFweDtcbkBzZWxlY3QtbXVsdGlwbGUtaXRlbS1zcGFjaW5nLWhhbGY6IGNlaWwoKEBpbnB1dC1wYWRkaW5nLXZlcnRpY2FsLWJhc2UgLyAyKSk7XG5Ac2VsZWN0LW11bHRpcGxlLXBhZGRpbmc6IG1heChcbiAgQGlucHV0LXBhZGRpbmctdmVydGljYWwtYmFzZSAtIEBzZWxlY3QtbXVsdGlwbGUtaXRlbS1ib3JkZXItd2lkdGggLVxuICAgIEBzZWxlY3QtbXVsdGlwbGUtaXRlbS1zcGFjaW5nLWhhbGYsXG4gIDBcbik7XG5cbi5Ae3NlbGVjdC1wcmVmaXgtY2xzfS1tdWx0aXBsZSB7XG4gICYuQHtzZWxlY3QtcHJlZml4LWNsc30tc2hvdy1hcnJvdyAuQHtzZWxlY3QtcHJlZml4LWNsc30tc2VsZWN0b3IsXG4gICYuQHtzZWxlY3QtcHJlZml4LWNsc30tYWxsb3ctY2xlYXIgLkB7c2VsZWN0LXByZWZpeC1jbHN9LXNlbGVjdG9yIHtcbiAgICAuQHtzZWxlY3QtcHJlZml4LWNsc30tcnRsJiB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiBAaW5wdXQtcGFkZGluZy12ZXJ0aWNhbC1iYXNlO1xuICAgICAgcGFkZGluZy1sZWZ0OiBAZm9udC1zaXplLXNtICsgQGNvbnRyb2wtcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIH1cbiAgfVxuXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PSBTZWxlY3Rpb25zID09PT09PT09PT09PT09PT09PT09PT09PVxuICAuQHtzZWxlY3QtcHJlZml4LWNsc30tc2VsZWN0aW9uLWl0ZW0ge1xuICAgIC5Ae3NlbGVjdC1wcmVmaXgtY2xzfS1ydGwmIHtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cbiAgICAvLyBJdCdzIG9rIG5vdCB0byBkbyB0aGlzLCBidXQgMjRweCBtYWtlcyBib3R0b20gbmFycm93IGluIHZpZXcgc2hvdWxkIGFkanVzdFxuICAgICYtY29udGVudCB7XG4gICAgICAuQHtzZWxlY3QtcHJlZml4LWNsc30tcnRsJiB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IChAcGFkZGluZy14cyAvIDIpO1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PSBJbnB1dCA9PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAuQHtzZWxlY3QtcHJlZml4LWNsc30tc2VsZWN0aW9uLXNlYXJjaCB7XG4gICAgJi1taXJyb3Ige1xuICAgICAgLkB7c2VsZWN0LXByZWZpeC1jbHN9LXJ0bCYge1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmZpcnN0LWNoaWxkID4gLkB7c2VsZWN0LXByZWZpeC1jbHN9LXNlbGVjdGlvbi1zZWFyY2gtaW5wdXQge1xuICAgICAgLkB7c2VsZWN0LXByZWZpeC1jbHN9LXJ0bCYge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweCAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09IFBsYWNlaG9sZGVyID09PT09PT09PT09PT09PT09PT09PT09XG4gIC5Ae3NlbGVjdC1wcmVmaXgtY2xzfS1zZWxlY3Rpb24tcGxhY2Vob2xkZXIge1xuICAgIC5Ae3NlbGVjdC1wcmVmaXgtY2xzfS1ydGwmIHtcbiAgICAgIHJpZ2h0OiBAaW5wdXQtcGFkZGluZy1ob3Jpem9udGFsO1xuICAgICAgbGVmdDogYXV0bztcbiAgICB9XG4gIH1cblxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgLy8gPT0gICAgICAgICAgICAgICAgICAgICAgICAgIFNpemUgICAgICAgICAgICAgICAgICAgICAgICAgID09XG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIFNpemUgc21hbGwgbmVlZCBhZGRpdGlvbmFsIHNldCBwYWRkaW5nXG4gICYuQHtzZWxlY3QtcHJlZml4LWNsc30tc20ge1xuICAgIC5Ae3NlbGVjdC1wcmVmaXgtY2xzfS1zZWxlY3Rpb24tcGxhY2Vob2xkZXIge1xuICAgICAgLkB7c2VsZWN0LXByZWZpeC1jbHN9LXJ0bCYge1xuICAgICAgICByaWdodDogQGlucHV0LXBhZGRpbmctaG9yaXpvbnRhbC1zbTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gc2luZ2xlXG5Ac2VsZWN0aW9uLWl0ZW0tcGFkZGluZzogY2VpbChAZm9udC1zaXplLWJhc2UgKiAxLjI1KTtcblxuLkB7c2VsZWN0LXByZWZpeC1jbHN9LXNpbmdsZSB7XG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT0gU2VsZWN0b3IgPT09PT09PT09PT09PT09PT09PT09PT09PVxuICAuQHtzZWxlY3QtcHJlZml4LWNsc30tc2VsZWN0b3Ige1xuICAgIC5Ae3NlbGVjdC1wcmVmaXgtY2xzfS1zZWxlY3Rpb24taXRlbSxcbiAgICAuQHtzZWxlY3QtcHJlZml4LWNsc30tc2VsZWN0aW9uLXBsYWNlaG9sZGVyIHtcbiAgICAgIC5Ae3NlbGVjdC1wcmVmaXgtY2xzfS1ydGwmIHtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGxlZnQ6IDlweDtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gV2l0aCBhcnJvdyBzaG91bGQgcHJvdmlkZXMgYHBhZGRpbmctcmlnaHRgIHRvIHNob3cgdGhlIGFycm93XG4gICYuQHtzZWxlY3QtcHJlZml4LWNsc30tc2hvdy1hcnJvdyAuQHtzZWxlY3QtcHJlZml4LWNsc30tc2VsZWN0aW9uLXNlYXJjaCB7XG4gICAgLkB7c2VsZWN0LXByZWZpeC1jbHN9LXJ0bCYge1xuICAgICAgcmlnaHQ6IEBpbnB1dC1wYWRkaW5nLWhvcml6b250YWwtYmFzZTtcbiAgICAgIGxlZnQ6IEBpbnB1dC1wYWRkaW5nLWhvcml6b250YWwtYmFzZSArIEBmb250LXNpemUtYmFzZTtcbiAgICB9XG4gIH1cblxuICAmLkB7c2VsZWN0LXByZWZpeC1jbHN9LXNob3ctYXJyb3cgLkB7c2VsZWN0LXByZWZpeC1jbHN9LXNlbGVjdGlvbi1pdGVtLFxuICAmLkB7c2VsZWN0LXByZWZpeC1jbHN9LXNob3ctYXJyb3cgLkB7c2VsZWN0LXByZWZpeC1jbHN9LXNlbGVjdGlvbi1wbGFjZWhvbGRlciB7XG4gICAgLkB7c2VsZWN0LXByZWZpeC1jbHN9LXJ0bCYge1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgIHBhZGRpbmctbGVmdDogQHNlbGVjdGlvbi1pdGVtLXBhZGRpbmc7XG4gICAgfVxuICB9XG5cbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT0gSW5wdXQgPT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgLy8gV2Ugb25seSBjaGFuZ2UgdGhlIHN0eWxlIG9mIG5vbi1jdXN0b21pemUgaW5wdXQgd2hpY2ggaXMgb25seSBzdXBwb3J0IGJ5IGBjb21ib2JveGAgbW9kZS5cblxuICAvLyBOb3QgY3VzdG9taXplXG4gICY6bm90KC5Ae3NlbGVjdC1wcmVmaXgtY2xzfS1jdXN0b21pemUtaW5wdXQpIHtcbiAgICAuQHtzZWxlY3QtcHJlZml4LWNsc30tc2VsZWN0b3Ige1xuICAgICAgLkB7c2VsZWN0LXByZWZpeC1jbHN9LXJ0bCYge1xuICAgICAgICBwYWRkaW5nOiAwIEBpbnB1dC1wYWRkaW5nLWhvcml6b250YWwtYmFzZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgLy8gPT0gICAgICAgICAgICAgICAgICAgICAgICAgIFNpemUgICAgICAgICAgICAgICAgICAgICAgICAgID09XG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIFNpemUgc21hbGwgbmVlZCBhZGRpdGlvbmFsIHNldCBwYWRkaW5nXG4gICYuQHtzZWxlY3QtcHJlZml4LWNsc30tc20ge1xuICAgICY6bm90KC5Ae3NlbGVjdC1wcmVmaXgtY2xzfS1jdXN0b21pemUtaW5wdXQpIHtcbiAgICAgIC8vIFdpdGggYXJyb3cgc2hvdWxkIHByb3ZpZGVzIGBwYWRkaW5nLXJpZ2h0YCB0byBzaG93IHRoZSBhcnJvd1xuICAgICAgJi5Ae3NlbGVjdC1wcmVmaXgtY2xzfS1zaG93LWFycm93IC5Ae3NlbGVjdC1wcmVmaXgtY2xzfS1zZWxlY3Rpb24tc2VhcmNoIHtcbiAgICAgICAgLkB7c2VsZWN0LXByZWZpeC1jbHN9LXJ0bCYge1xuICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYuQHtzZWxlY3QtcHJlZml4LWNsc30tc2hvdy1hcnJvdyAuQHtzZWxlY3QtcHJlZml4LWNsc30tc2VsZWN0aW9uLWl0ZW0sXG4gICAgICAmLkB7c2VsZWN0LXByZWZpeC1jbHN9LXNob3ctYXJyb3cgLkB7c2VsZWN0LXByZWZpeC1jbHN9LXNlbGVjdGlvbi1wbGFjZWhvbGRlciB7XG4gICAgICAgIC5Ae3NlbGVjdC1wcmVmaXgtY2xzfS1ydGwmIHtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogQGZvbnQtc2l6ZS1iYXNlICogMS41O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAaW1wb3J0ICcuLi8uLi9zdHlsZS90aGVtZXMvaW5kZXgnO1xuQGltcG9ydCAnLi4vLi4vc3R5bGUvbWl4aW5zL2luZGV4JztcblxuQGVtcHR5LXByZWZpeC1jbHM6IH4nQHthbnQtcHJlZml4fS1lbXB0eSc7XG5AZW1wdHktaW1nLXByZWZpeC1jbHM6IH4nQHthbnQtcHJlZml4fS1lbXB0eS1pbWcnO1xuXG4uQHtlbXB0eS1wcmVmaXgtY2xzfSB7XG4gIG1hcmdpbjogMCA4cHg7XG4gIGZvbnQtc2l6ZTogQGVtcHR5LWZvbnQtc2l6ZTtcbiAgbGluZS1oZWlnaHQ6IEBsaW5lLWhlaWdodC1iYXNlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgJi1pbWFnZSB7XG4gICAgaGVpZ2h0OiAxMDBweDtcbiAgICBtYXJnaW4tYm90dG9tOiA4cHg7XG5cbiAgICBpbWcge1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cblxuICAgIHN2ZyB7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBtYXJnaW46IGF1dG87XG4gICAgfVxuICB9XG5cbiAgJi1mb290ZXIge1xuICAgIG1hcmdpbi10b3A6IDE2cHg7XG4gIH1cblxuICAvLyBhbnRkIGludGVybmFsIGVtcHR5IHN0eWxlXG4gICYtbm9ybWFsIHtcbiAgICBtYXJnaW46IDMycHggMDtcbiAgICBjb2xvcjogQGRpc2FibGVkLWNvbG9yO1xuXG4gICAgLkB7ZW1wdHktcHJlZml4LWNsc30taW1hZ2Uge1xuICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgIH1cbiAgfVxuXG4gICYtc21hbGwge1xuICAgIG1hcmdpbjogOHB4IDA7XG4gICAgY29sb3I6IEBkaXNhYmxlZC1jb2xvcjtcblxuICAgIC5Ae2VtcHR5LXByZWZpeC1jbHN9LWltYWdlIHtcbiAgICAgIGhlaWdodDogMzVweDtcbiAgICB9XG4gIH1cbn1cblxuLkB7ZW1wdHktaW1nLXByZWZpeC1jbHN9LWRlZmF1bHQge1xuICAvLyBub3Qgc3VwcG9ydCB0aGUgZGVmaW5pdGlvbiBiZWNhdXNlIHRoZSBsZXNzIHZhcmlhYmxlcyBoYXZlIG5vIG1lYW5pbmdcbiAgJiB3aGVuIChAdGhlbWUgPSBkYXJrKSB7XG4gICAgJi1lbGxpcHNlIHtcbiAgICAgIGZpbGwtb3BhY2l0eTogMC4wODtcbiAgICAgIGZpbGw6IEB3aGl0ZTtcbiAgICB9XG4gICAgJi1wYXRoIHtcbiAgICAgICYtMSB7XG4gICAgICAgIGZpbGw6ICMyNjI2MjY7XG4gICAgICB9XG4gICAgICAmLTIge1xuICAgICAgICBmaWxsOiB1cmwoI2xpbmVhckdyYWRpZW50LTEpO1xuICAgICAgfVxuICAgICAgJi0zIHtcbiAgICAgICAgZmlsbDogIzU5NTk1OTtcbiAgICAgIH1cbiAgICAgICYtNCB7XG4gICAgICAgIGZpbGw6ICM0MzQzNDM7XG4gICAgICB9XG4gICAgICAmLTUge1xuICAgICAgICBmaWxsOiAjNTk1OTU5O1xuICAgICAgfVxuICAgIH1cbiAgICAmLWcge1xuICAgICAgZmlsbDogIzQzNDM0MztcbiAgICB9XG4gIH1cbiAgJiB3aGVuIG5vdCAoQHRoZW1lID0gZGFyaykge1xuICAgICYtZWxsaXBzZSB7XG4gICAgICBmaWxsLW9wYWNpdHk6IDAuODtcbiAgICAgIGZpbGw6ICNmNWY1ZjU7XG4gICAgfVxuICAgICYtcGF0aCB7XG4gICAgICAmLTEge1xuICAgICAgICBmaWxsOiAjYWViOGMyO1xuICAgICAgfVxuICAgICAgJi0yIHtcbiAgICAgICAgZmlsbDogdXJsKCNsaW5lYXJHcmFkaWVudC0xKTtcbiAgICAgIH1cbiAgICAgICYtMyB7XG4gICAgICAgIGZpbGw6ICNmNWY1Zjc7XG4gICAgICB9XG4gICAgICAmLTQge1xuICAgICAgICBmaWxsOiAjZGNlMGU2O1xuICAgICAgfVxuICAgICAgJi01IHtcbiAgICAgICAgZmlsbDogI2RjZTBlNjtcbiAgICAgIH1cbiAgICB9XG4gICAgJi1nIHtcbiAgICAgIGZpbGw6IEB3aGl0ZTtcbiAgICB9XG4gIH1cbn1cblxuLkB7ZW1wdHktaW1nLXByZWZpeC1jbHN9LXNpbXBsZSB7XG4gIC8vIG5vdCBzdXBwb3J0IHRoZSBkZWZpbml0aW9uIGJlY2F1c2UgdGhlIGxlc3MgdmFyaWFibGVzIGhhdmUgbm8gbWVhbmluZ1xuICAmIHdoZW4gKEB0aGVtZSA9IGRhcmspIHtcbiAgICAmLWVsbGlwc2Uge1xuICAgICAgZmlsbDogQHdoaXRlO1xuICAgICAgZmlsbC1vcGFjaXR5OiAwLjA4O1xuICAgIH1cbiAgICAmLWcge1xuICAgICAgc3Ryb2tlOiAjNDM0MzQzO1xuICAgIH1cbiAgICAmLXBhdGgge1xuICAgICAgZmlsbDogIzI2MjYyNjtcbiAgICAgIHN0cm9rZTogIzQzNDM0MztcbiAgICB9XG4gIH1cbiAgJiB3aGVuIG5vdCAoQHRoZW1lID0gZGFyaykge1xuICAgICYtZWxsaXBzZSB7XG4gICAgICBmaWxsOiAjZjVmNWY1O1xuICAgIH1cbiAgICAmLWcge1xuICAgICAgc3Ryb2tlOiAjZDlkOWQ5O1xuICAgIH1cbiAgICAmLXBhdGgge1xuICAgICAgZmlsbDogI2ZhZmFmYTtcbiAgICB9XG4gIH1cbn1cblxuQGltcG9ydCAnLi9ydGwnO1xuIiwiQGltcG9ydCAnLi4vLi4vc3R5bGUvdGhlbWVzL2luZGV4JztcbkBpbXBvcnQgJy4uLy4uL3N0eWxlL21peGlucy9pbmRleCc7XG5cbkBlbXB0eS1wcmVmaXgtY2xzOiB+J0B7YW50LXByZWZpeH0tZW1wdHknO1xuXG4uQHtlbXB0eS1wcmVmaXgtY2xzfSB7XG4gICYtcnRsIHtcbiAgICBkaXJlY3Rpb246IHJ0bDtcbiAgfVxufVxuIiwibnotZW1wdHkge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbiIsIi5hbnQtc2VsZWN0LWRyb3Bkb3duIHtcbiAgdG9wOiAxMDAlO1xuICBsZWZ0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tdG9wOiA0cHg7XG4gIG1hcmdpbi1ib3R0b206IDRweDtcbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgLmNkay12aXJ0dWFsLXNjcm9sbC1jb250ZW50LXdyYXBwZXIge1xuICAgIHJpZ2h0OiAwO1xuICB9XG4gIC5mdWxsLXdpZHRoIHtcbiAgICBjb250YWluOiBpbml0aWFsO1xuICAgIC5jZGstdmlydHVhbC1zY3JvbGwtY29udGVudC13cmFwcGVyIHtcbiAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgfVxuICB9XG59XG4iLCJAaW1wb3J0ICcuLi8uLi9zdHlsZS90aGVtZXMvaW5kZXgnO1xuQGltcG9ydCAnLi4vLi4vc3R5bGUvbWl4aW5zL2luZGV4JztcblxuQGFsZXJ0LXByZWZpeC1jbHM6IH4nQHthbnQtcHJlZml4fS1hbGVydCc7XG5cbi5Ae2FsZXJ0LXByZWZpeC1jbHN9IHtcbiAgLnJlc2V0LWNvbXBvbmVudCgpO1xuXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogOHB4IDE1cHg7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgYm9yZGVyLXJhZGl1czogQGJvcmRlci1yYWRpdXMtYmFzZTtcblxuICAmLWNvbnRlbnQge1xuICAgIGZsZXg6IDE7XG4gICAgbWluLXdpZHRoOiAwO1xuICB9XG5cbiAgJi1pY29uIHtcbiAgICBtYXJnaW4tcmlnaHQ6IEBtYXJnaW4teHM7XG4gIH1cblxuICAmLWRlc2NyaXB0aW9uIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGZvbnQtc2l6ZTogQGZvbnQtc2l6ZS1iYXNlO1xuICAgIGxpbmUtaGVpZ2h0OiBAZm9udC1zaXplLWJhc2UgKyA4cHg7XG4gIH1cblxuICAmLXN1Y2Nlc3Mge1xuICAgIGJhY2tncm91bmQtY29sb3I6IEBhbGVydC1zdWNjZXNzLWJnLWNvbG9yO1xuICAgIGJvcmRlcjogQGJvcmRlci13aWR0aC1iYXNlIEBib3JkZXItc3R5bGUtYmFzZSBAYWxlcnQtc3VjY2Vzcy1ib3JkZXItY29sb3I7XG4gICAgLkB7YWxlcnQtcHJlZml4LWNsc30taWNvbiB7XG4gICAgICBjb2xvcjogQGFsZXJ0LXN1Y2Nlc3MtaWNvbi1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAmLWluZm8ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IEBhbGVydC1pbmZvLWJnLWNvbG9yO1xuICAgIGJvcmRlcjogQGJvcmRlci13aWR0aC1iYXNlIEBib3JkZXItc3R5bGUtYmFzZSBAYWxlcnQtaW5mby1ib3JkZXItY29sb3I7XG4gICAgLkB7YWxlcnQtcHJlZml4LWNsc30taWNvbiB7XG4gICAgICBjb2xvcjogQGFsZXJ0LWluZm8taWNvbi1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAmLXdhcm5pbmcge1xuICAgIGJhY2tncm91bmQtY29sb3I6IEBhbGVydC13YXJuaW5nLWJnLWNvbG9yO1xuICAgIGJvcmRlcjogQGJvcmRlci13aWR0aC1iYXNlIEBib3JkZXItc3R5bGUtYmFzZSBAYWxlcnQtd2FybmluZy1ib3JkZXItY29sb3I7XG4gICAgLkB7YWxlcnQtcHJlZml4LWNsc30taWNvbiB7XG4gICAgICBjb2xvcjogQGFsZXJ0LXdhcm5pbmctaWNvbi1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAmLWVycm9yIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAYWxlcnQtZXJyb3ItYmctY29sb3I7XG4gICAgYm9yZGVyOiBAYm9yZGVyLXdpZHRoLWJhc2UgQGJvcmRlci1zdHlsZS1iYXNlIEBhbGVydC1lcnJvci1ib3JkZXItY29sb3I7XG5cbiAgICAuQHthbGVydC1wcmVmaXgtY2xzfS1pY29uIHtcbiAgICAgIGNvbG9yOiBAYWxlcnQtZXJyb3ItaWNvbi1jb2xvcjtcbiAgICB9XG5cbiAgICAuQHthbGVydC1wcmVmaXgtY2xzfS1kZXNjcmlwdGlvbiA+IHByZSB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cbiAgfVxuXG4gICYtYWN0aW9uIHtcbiAgICBtYXJnaW4tbGVmdDogQG1hcmdpbi14cztcbiAgfVxuXG4gICYtY2xvc2UtaWNvbiB7XG4gICAgbWFyZ2luLWxlZnQ6IEBtYXJnaW4teHM7XG4gICAgcGFkZGluZzogMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGZvbnQtc2l6ZTogQGZvbnQtc2l6ZS1zbTtcbiAgICBsaW5lLWhlaWdodDogQGZvbnQtc2l6ZS1zbTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAuQHtpY29uZm9udC1jc3MtcHJlZml4fS1jbG9zZSB7XG4gICAgICBjb2xvcjogQGFsZXJ0LWNsb3NlLWNvbG9yO1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC4zcztcbiAgICAgICY6aG92ZXIge1xuICAgICAgICBjb2xvcjogQGFsZXJ0LWNsb3NlLWhvdmVyLWNvbG9yO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYtY2xvc2UtdGV4dCB7XG4gICAgY29sb3I6IEBhbGVydC1jbG9zZS1jb2xvcjtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjNzO1xuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6IEBhbGVydC1jbG9zZS1ob3Zlci1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAmLXdpdGgtZGVzY3JpcHRpb24ge1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIHBhZGRpbmc6IEBhbGVydC13aXRoLWRlc2NyaXB0aW9uLXBhZGRpbmc7XG4gIH1cblxuICAmLXdpdGgtZGVzY3JpcHRpb24mLW5vLWljb24ge1xuICAgIHBhZGRpbmc6IEBhbGVydC13aXRoLWRlc2NyaXB0aW9uLW5vLWljb24tcGFkZGluZy12ZXJ0aWNhbCAxNXB4O1xuICB9XG5cbiAgJi13aXRoLWRlc2NyaXB0aW9uICYtaWNvbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiBAYWxlcnQtd2l0aC1kZXNjcmlwdGlvbi1wYWRkaW5nLXZlcnRpY2FsO1xuICAgIGZvbnQtc2l6ZTogQGFsZXJ0LXdpdGgtZGVzY3JpcHRpb24taWNvbi1zaXplO1xuICB9XG4gICYtd2l0aC1kZXNjcmlwdGlvbiAmLW1lc3NhZ2Uge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1ib3R0b206IDRweDtcbiAgICBjb2xvcjogQGFsZXJ0LW1lc3NhZ2UtY29sb3I7XG4gICAgZm9udC1zaXplOiBAZm9udC1zaXplLWxnO1xuICB9XG5cbiAgJi1tZXNzYWdlIHtcbiAgICBjb2xvcjogQGFsZXJ0LW1lc3NhZ2UtY29sb3I7XG4gIH1cblxuICAmLXdpdGgtZGVzY3JpcHRpb24gJi1kZXNjcmlwdGlvbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAmJi1tb3Rpb24tbGVhdmUge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDAuM3MgQGVhc2UtaW4tb3V0LWNpcmMsIG9wYWNpdHkgMC4zcyBAZWFzZS1pbi1vdXQtY2lyYyxcbiAgICAgIHBhZGRpbmctdG9wIDAuM3MgQGVhc2UtaW4tb3V0LWNpcmMsIHBhZGRpbmctYm90dG9tIDAuM3MgQGVhc2UtaW4tb3V0LWNpcmMsXG4gICAgICBtYXJnaW4tYm90dG9tIDAuM3MgQGVhc2UtaW4tb3V0LWNpcmM7XG4gIH1cblxuICAmJi1tb3Rpb24tbGVhdmUtYWN0aXZlIHtcbiAgICBtYXgtaGVpZ2h0OiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgJi1iYW5uZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gIH1cbn1cblxuQGltcG9ydCAnLi9ydGwnO1xuIiwiLkB7YWxlcnQtcHJlZml4LWNsc30ge1xuICAmJi1ydGwge1xuICAgIGRpcmVjdGlvbjogcnRsO1xuICB9XG5cbiAgJiYtbm8taWNvbiB7XG4gICAgLkB7YWxlcnQtcHJlZml4LWNsc30tcnRsJiB7XG4gICAgICBwYWRkaW5nOiBAYWxlcnQtbm8taWNvbi1wYWRkaW5nLXZlcnRpY2FsIDE1cHg7XG4gICAgfVxuICB9XG5cbiAgJi1pY29uIHtcbiAgICAuQHthbGVydC1wcmVmaXgtY2xzfS1ydGwgJiB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICBtYXJnaW4tbGVmdDogQG1hcmdpbi14cztcbiAgICB9XG4gIH1cblxuICAmLWFjdGlvbiB7XG4gICAgLkB7YWxlcnQtcHJlZml4LWNsc30tcnRsICYge1xuICAgICAgbWFyZ2luLXJpZ2h0OiBAbWFyZ2luLXhzO1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgfVxuICB9XG5cbiAgJi1jbG9zZS1pY29uIHtcbiAgICAuQHthbGVydC1wcmVmaXgtY2xzfS1ydGwgJiB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IEBtYXJnaW4teHM7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICB9XG4gIH1cblxuICAmLXdpdGgtZGVzY3JpcHRpb24gJi1pY29uIHtcbiAgICAuQHthbGVydC1wcmVmaXgtY2xzfS1ydGwmIHtcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgIG1hcmdpbi1sZWZ0OiBAYWxlcnQtd2l0aC1kZXNjcmlwdGlvbi1wYWRkaW5nLXZlcnRpY2FsO1xuICAgIH1cbiAgfVxufVxuIiwibnotYWxlcnQge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbiIsIkBpbXBvcnQgJy4uLy4uL3N0eWxlL3RoZW1lcy9pbmRleCc7XG5AaW1wb3J0ICcuLi8uLi9zdHlsZS9taXhpbnMvaW5kZXgnO1xuXG5AY2Fyb3VzZWwtcHJlZml4LWNsczogfidAe2FudC1wcmVmaXh9LWNhcm91c2VsJztcblxuLkB7Y2Fyb3VzZWwtcHJlZml4LWNsc30ge1xuICAucmVzZXQtY29tcG9uZW50KCk7XG5cbiAgLnNsaWNrLXNsaWRlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAgIC1tcy10b3VjaC1hY3Rpb246IHBhbi15O1xuICAgIHRvdWNoLWFjdGlvbjogcGFuLXk7XG4gICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxuXG4gIC5zbGljay1saXN0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICY6Zm9jdXMge1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICB9XG5cbiAgICAmLmRyYWdnaW5nIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG5cbiAgICAuc2xpY2stc2xpZGUge1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbnQtZGVzaWduL2FudC1kZXNpZ24vaXNzdWVzLzIzMjk0XG4gICAgICBpbnB1dC5Ae2FudC1wcmVmaXh9LXJhZGlvLWlucHV0LFxuICAgICAgaW5wdXQuQHthbnQtcHJlZml4fS1jaGVja2JveC1pbnB1dCB7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgIH1cblxuICAgICAgJi5zbGljay1hY3RpdmUge1xuICAgICAgICBwb2ludGVyLWV2ZW50czogYXV0bztcblxuICAgICAgICBpbnB1dC5Ae2FudC1wcmVmaXh9LXJhZGlvLWlucHV0LFxuICAgICAgICBpbnB1dC5Ae2FudC1wcmVmaXh9LWNoZWNrYm94LWlucHV0IHtcbiAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIGZpeCBDYXJvdXNlbCBjb250ZW50IGhlaWdodCBub3QgbWF0Y2ggcGFyZW50IG5vZGVcbiAgICAgIC8vIHdoZW4gY2hpbGRyZW4gaXMgZW1wdHkgbm9kZVxuICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2FudC1kZXNpZ24vYW50LWRlc2lnbi9pc3N1ZXMvMjU4NzhcbiAgICAgID4gZGl2ID4gZGl2IHtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuc2xpY2stc2xpZGVyIC5zbGljay10cmFjayxcbiAgLnNsaWNrLXNsaWRlciAuc2xpY2stbGlzdCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0b3VjaC1hY3Rpb246IHBhbi15O1xuICB9XG5cbiAgLnNsaWNrLXRyYWNrIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAmOjpiZWZvcmUsXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICBjb250ZW50OiAnJztcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBjbGVhcjogYm90aDtcbiAgICB9XG5cbiAgICAuc2xpY2stbG9hZGluZyAmIHtcbiAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB9XG4gIH1cblxuICAuc2xpY2stc2xpZGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDFweDtcblxuICAgIGltZyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAmLnNsaWNrLWxvYWRpbmcgaW1nIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgJi5kcmFnZ2luZyBpbWcge1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLnNsaWNrLWluaXRpYWxpemVkIC5zbGljay1zbGlkZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAuc2xpY2stbG9hZGluZyAuc2xpY2stc2xpZGUge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxuXG4gIC5zbGljay12ZXJ0aWNhbCAuc2xpY2stc2xpZGUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuICAuc2xpY2stYXJyb3cuc2xpY2staGlkZGVuIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLy8gQXJyb3dzXG4gIC5zbGljay1wcmV2LFxuICAuc2xpY2stbmV4dCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAyMHB4O1xuICAgIGhlaWdodDogMjBweDtcbiAgICBtYXJnaW4tdG9wOiAtMTBweDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBmb250LXNpemU6IDA7XG4gICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiAwO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgfVxuICAgIH1cbiAgICAmLnNsaWNrLWRpc2FibGVkOjpiZWZvcmUge1xuICAgICAgb3BhY2l0eTogMC4yNTtcbiAgICB9XG4gIH1cblxuICAuc2xpY2stcHJldiB7XG4gICAgbGVmdDogLTI1cHg7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgY29udGVudDogJ+KGkCc7XG4gICAgfVxuICB9XG5cbiAgLnNsaWNrLW5leHQge1xuICAgIHJpZ2h0OiAtMjVweDtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgY29udGVudDogJ+KGkic7XG4gICAgfVxuICB9XG5cbiAgLy8gRG90c1xuICAuc2xpY2stZG90cyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6IDE1O1xuICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBtYXJnaW4tcmlnaHQ6IDE1JTtcbiAgICBtYXJnaW4tbGVmdDogMTUlO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuXG4gICAgJi1ib3R0b20ge1xuICAgICAgYm90dG9tOiAxMnB4O1xuICAgIH1cbiAgICAmLXRvcCB7XG4gICAgICB0b3A6IDEycHg7XG4gICAgfVxuICAgIGxpIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgICB3aWR0aDogQGNhcm91c2VsLWRvdC13aWR0aDtcbiAgICAgIGhlaWdodDogQGNhcm91c2VsLWRvdC1oZWlnaHQ7XG4gICAgICBtYXJnaW46IDAgMnB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAzcHg7XG4gICAgICBtYXJnaW4tbGVmdDogM3B4O1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHRleHQtaW5kZW50OiAtOTk5cHg7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNXM7XG4gICAgICBidXR0b24ge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogQGNhcm91c2VsLWRvdC1oZWlnaHQ7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgZm9udC1zaXplOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kOiBAY29tcG9uZW50LWJhY2tncm91bmQ7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMXB4O1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIG9wYWNpdHk6IDAuMztcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNXM7XG4gICAgICAgICY6aG92ZXIsXG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgIG9wYWNpdHk6IDAuNzU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYuc2xpY2stYWN0aXZlIHtcbiAgICAgICAgd2lkdGg6IEBjYXJvdXNlbC1kb3QtYWN0aXZlLXdpZHRoO1xuICAgICAgICAmIGJ1dHRvbiB7XG4gICAgICAgICAgYmFja2dyb3VuZDogQGNvbXBvbmVudC1iYWNrZ3JvdW5kO1xuICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIH1cbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uQHthbnQtcHJlZml4fS1jYXJvdXNlbC12ZXJ0aWNhbCB7XG4gIC5zbGljay1kb3RzIHtcbiAgICB0b3A6IDUwJTtcbiAgICBib3R0b206IGF1dG87XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB3aWR0aDogQGNhcm91c2VsLWRvdC1oZWlnaHQ7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbjogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG5cbiAgICAmLWxlZnQge1xuICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICBsZWZ0OiAxMnB4O1xuICAgIH1cbiAgICAmLXJpZ2h0IHtcbiAgICAgIHJpZ2h0OiAxMnB4O1xuICAgICAgbGVmdDogYXV0bztcbiAgICB9XG4gICAgbGkge1xuICAgICAgd2lkdGg6IEBjYXJvdXNlbC1kb3QtaGVpZ2h0O1xuICAgICAgaGVpZ2h0OiBAY2Fyb3VzZWwtZG90LXdpZHRoO1xuICAgICAgbWFyZ2luOiA0cHggMnB4O1xuICAgICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAgICAgYnV0dG9uIHtcbiAgICAgICAgd2lkdGg6IEBjYXJvdXNlbC1kb3QtaGVpZ2h0O1xuICAgICAgICBoZWlnaHQ6IEBjYXJvdXNlbC1kb3Qtd2lkdGg7XG4gICAgICB9XG4gICAgICAmLnNsaWNrLWFjdGl2ZSB7XG4gICAgICAgIHdpZHRoOiBAY2Fyb3VzZWwtZG90LWhlaWdodDtcbiAgICAgICAgaGVpZ2h0OiBAY2Fyb3VzZWwtZG90LWFjdGl2ZS13aWR0aDtcblxuICAgICAgICBidXR0b24ge1xuICAgICAgICAgIHdpZHRoOiBAY2Fyb3VzZWwtZG90LWhlaWdodDtcbiAgICAgICAgICBoZWlnaHQ6IEBjYXJvdXNlbC1kb3QtYWN0aXZlLXdpZHRoO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBpbXBvcnQgJy4vcnRsJztcbiIsIkBpbXBvcnQgJy4uLy4uL3N0eWxlL3RoZW1lcy9pbmRleCc7XG5AaW1wb3J0ICcuLi8uLi9zdHlsZS9taXhpbnMvaW5kZXgnO1xuXG5AY2Fyb3VzZWwtcHJlZml4LWNsczogfidAe2FudC1wcmVmaXh9LWNhcm91c2VsJztcblxuLkB7Y2Fyb3VzZWwtcHJlZml4LWNsc30ge1xuICAmLXJ0bCB7XG4gICAgZGlyZWN0aW9uOiBydGw7XG4gIH1cblxuICAuc2xpY2stdHJhY2sge1xuICAgIC5Ae2Nhcm91c2VsLXByZWZpeC1jbHN9LXJ0bCAmIHtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgbGVmdDogYXV0bztcbiAgICB9XG4gIH1cblxuICAuc2xpY2stcHJldiB7XG4gICAgLkB7Y2Fyb3VzZWwtcHJlZml4LWNsc30tcnRsICYge1xuICAgICAgcmlnaHQ6IC0yNXB4O1xuICAgICAgbGVmdDogYXV0bztcbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICfihpInO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5zbGljay1uZXh0IHtcbiAgICAuQHtjYXJvdXNlbC1wcmVmaXgtY2xzfS1ydGwgJiB7XG4gICAgICByaWdodDogYXV0bztcbiAgICAgIGxlZnQ6IC0yNXB4O1xuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJ+KGkCc7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gRG90c1xuICAuc2xpY2stZG90cyB7XG4gICAgLkB7Y2Fyb3VzZWwtcHJlZml4LWNsc30tcnRsJiB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG4gICAgfVxuICB9XG59XG5cbi5Ae2FudC1wcmVmaXh9LWNhcm91c2VsLXZlcnRpY2FsIHtcbiAgLnNsaWNrLWRvdHMge1xuICAgIC5Ae2Nhcm91c2VsLXByZWZpeC1jbHN9LXJ0bCYge1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB9XG4gIH1cbn1cbiIsIm56LWNhcm91c2VsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuLnNsaWNrLWRvdHMge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLnNsaWNrLXRyYWNrIHtcbiAgb3BhY2l0eTogMTtcbn1cblxuLnNsaWNrLWxpc3Qge1xuICBkaXJlY3Rpb246IGx0cjtcbn1cbiIsIkBpbXBvcnQgJy4uLy4uL3N0eWxlL3RoZW1lcy9pbmRleCc7XG5AaW1wb3J0ICcuLi8uLi9zdHlsZS9taXhpbnMvaW5kZXgnO1xuXG5AcG9wb3Zlci1wcmVmaXgtY2xzOiB+J0B7YW50LXByZWZpeH0tcG9wb3Zlcic7XG5cbi5Ae3BvcG92ZXItcHJlZml4LWNsc30ge1xuICAucmVzZXQtY29tcG9uZW50KCk7XG5cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IEB6aW5kZXgtcG9wb3ZlcjtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgY3Vyc29yOiBhdXRvO1xuICB1c2VyLXNlbGVjdDogdGV4dDtcblxuICAmOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJhY2tncm91bmQ6IGZhZGUoQHdoaXRlLCAxJSk7XG4gICAgY29udGVudDogJyc7XG4gIH1cblxuICAmLWhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC8vIE9mZnNldCB0aGUgcG9wb3ZlciB0byBhY2NvdW50IGZvciB0aGUgcG9wb3ZlciBhcnJvd1xuICAmLXBsYWNlbWVudC10b3AsXG4gICYtcGxhY2VtZW50LXRvcExlZnQsXG4gICYtcGxhY2VtZW50LXRvcFJpZ2h0IHtcbiAgICBwYWRkaW5nLWJvdHRvbTogQHBvcG92ZXItZGlzdGFuY2U7XG4gIH1cblxuICAmLXBsYWNlbWVudC1yaWdodCxcbiAgJi1wbGFjZW1lbnQtcmlnaHRUb3AsXG4gICYtcGxhY2VtZW50LXJpZ2h0Qm90dG9tIHtcbiAgICBwYWRkaW5nLWxlZnQ6IEBwb3BvdmVyLWRpc3RhbmNlO1xuICB9XG5cbiAgJi1wbGFjZW1lbnQtYm90dG9tLFxuICAmLXBsYWNlbWVudC1ib3R0b21MZWZ0LFxuICAmLXBsYWNlbWVudC1ib3R0b21SaWdodCB7XG4gICAgcGFkZGluZy10b3A6IEBwb3BvdmVyLWRpc3RhbmNlO1xuICB9XG5cbiAgJi1wbGFjZW1lbnQtbGVmdCxcbiAgJi1wbGFjZW1lbnQtbGVmdFRvcCxcbiAgJi1wbGFjZW1lbnQtbGVmdEJvdHRvbSB7XG4gICAgcGFkZGluZy1yaWdodDogQHBvcG92ZXItZGlzdGFuY2U7XG4gIH1cblxuICAmLWlubmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAcG9wb3Zlci1iZztcbiAgICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICAgIGJvcmRlci1yYWRpdXM6IEBib3JkZXItcmFkaXVzLWJhc2U7XG4gICAgYm94LXNoYWRvdzogQGJveC1zaGFkb3ctYmFzZTtcbiAgICBib3gtc2hhZG93OiB+JzAgMCA4cHggQHtzaGFkb3ctY29sb3J9IFxcOSc7XG4gIH1cblxuICBAbWVkaWEgc2NyZWVuIGFuZCAoLW1zLWhpZ2gtY29udHJhc3Q6IGFjdGl2ZSksICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSkge1xuICAgIC8qIElFMTArICovXG4gICAgJi1pbm5lciB7XG4gICAgICBib3gtc2hhZG93OiBAYm94LXNoYWRvdy1iYXNlO1xuICAgIH1cbiAgfVxuXG4gICYtdGl0bGUge1xuICAgIG1pbi13aWR0aDogQHBvcG92ZXItbWluLXdpZHRoO1xuICAgIG1pbi1oZWlnaHQ6IEBwb3BvdmVyLW1pbi1oZWlnaHQ7XG4gICAgbWFyZ2luOiAwOyAvLyByZXNldCBoZWFkaW5nIG1hcmdpblxuICAgIHBhZGRpbmc6IDVweCBAcG9wb3Zlci1wYWRkaW5nLWhvcml6b250YWwgNHB4O1xuICAgIGNvbG9yOiBAaGVhZGluZy1jb2xvcjtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBAYm9yZGVyLWNvbG9yLXNwbGl0O1xuICB9XG5cbiAgJi1pbm5lci1jb250ZW50IHtcbiAgICBwYWRkaW5nOiBAcGFkZGluZy1zbSBAcG9wb3Zlci1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgY29sb3I6IEBwb3BvdmVyLWNvbG9yO1xuICB9XG5cbiAgJi1tZXNzYWdlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogNHB4IDAgMTJweDtcbiAgICBjb2xvcjogQHBvcG92ZXItY29sb3I7XG4gICAgZm9udC1zaXplOiBAZm9udC1zaXplLWJhc2U7XG4gICAgPiAuQHtpY29uZm9udC1jc3MtcHJlZml4fSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IChcbiAgICAgICAgNHB4ICsgKChAbGluZS1oZWlnaHQtYmFzZSAqIEBmb250LXNpemUtYmFzZSAtIEBmb250LXNpemUtYmFzZSkgLyAyKVxuICAgICAgKTsgLy8gNHB4IGZvciBwYWRkaW5nLXRvcCwgNHB4IGZvciB2ZXJ0aWNhbCBtaWRkbGVcbiAgICAgIGNvbG9yOiBAd2FybmluZy1jb2xvcjtcbiAgICAgIGZvbnQtc2l6ZTogQGZvbnQtc2l6ZS1iYXNlO1xuICAgIH1cbiAgICAmLXRpdGxlIHtcbiAgICAgIHBhZGRpbmctbGVmdDogQGZvbnQtc2l6ZS1iYXNlICsgOHB4O1xuICAgIH1cbiAgfVxuXG4gICYtYnV0dG9ucyB7XG4gICAgbWFyZ2luLWJvdHRvbTogNHB4O1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuXG4gICAgYnV0dG9uIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7XG4gICAgfVxuICB9XG5cbiAgLy8gQXJyb3dzXG4gIC8vIC5wb3BvdmVyLWFycm93IGlzIG91dGVyLCAucG9wb3Zlci1hcnJvdzphZnRlciBpcyBpbm5lclxuXG4gICYtYXJyb3cge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogc3FydChAcG9wb3Zlci1hcnJvdy13aWR0aCAqIEBwb3BvdmVyLWFycm93LXdpZHRoICogMik7XG4gICAgaGVpZ2h0OiBzcXJ0KEBwb3BvdmVyLWFycm93LXdpZHRoICogQHBvcG92ZXItYXJyb3ctd2lkdGggKiAyKTtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aDogKHNxcnQoQHBvcG92ZXItYXJyb3ctd2lkdGggKiBAcG9wb3Zlci1hcnJvdy13aWR0aCAqIDIpIC8gMik7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICB9XG5cbiAgJi1wbGFjZW1lbnQtdG9wID4gJi1jb250ZW50ID4gJi1hcnJvdyxcbiAgJi1wbGFjZW1lbnQtdG9wTGVmdCA+ICYtY29udGVudCA+ICYtYXJyb3csXG4gICYtcGxhY2VtZW50LXRvcFJpZ2h0ID4gJi1jb250ZW50ID4gJi1hcnJvdyB7XG4gICAgYm90dG9tOiBAcG9wb3Zlci1kaXN0YW5jZSAtIEBwb3BvdmVyLWFycm93LXdpZHRoICsgMi4ycHg7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiBAcG9wb3Zlci1iZztcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiBAcG9wb3Zlci1iZztcbiAgICBib3JkZXItbGVmdC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm94LXNoYWRvdzogM3B4IDNweCA3cHggZmFkZShAYmxhY2ssIDclKTtcbiAgfVxuICAmLXBsYWNlbWVudC10b3AgPiAmLWNvbnRlbnQgPiAmLWFycm93IHtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHJvdGF0ZSg0NWRlZyk7XG4gIH1cbiAgJi1wbGFjZW1lbnQtdG9wTGVmdCA+ICYtY29udGVudCA+ICYtYXJyb3cge1xuICAgIGxlZnQ6IDE2cHg7XG4gIH1cbiAgJi1wbGFjZW1lbnQtdG9wUmlnaHQgPiAmLWNvbnRlbnQgPiAmLWFycm93IHtcbiAgICByaWdodDogMTZweDtcbiAgfVxuXG4gICYtcGxhY2VtZW50LXJpZ2h0ID4gJi1jb250ZW50ID4gJi1hcnJvdyxcbiAgJi1wbGFjZW1lbnQtcmlnaHRUb3AgPiAmLWNvbnRlbnQgPiAmLWFycm93LFxuICAmLXBsYWNlbWVudC1yaWdodEJvdHRvbSA+ICYtY29udGVudCA+ICYtYXJyb3cge1xuICAgIGxlZnQ6IEBwb3BvdmVyLWRpc3RhbmNlIC0gQHBvcG92ZXItYXJyb3ctd2lkdGggKyAycHg7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiBAcG9wb3Zlci1iZztcbiAgICBib3JkZXItbGVmdC1jb2xvcjogQHBvcG92ZXItYmc7XG4gICAgYm94LXNoYWRvdzogLTNweCAzcHggN3B4IGZhZGUoQGJsYWNrLCA3JSk7XG4gIH1cbiAgJi1wbGFjZW1lbnQtcmlnaHQgPiAmLWNvbnRlbnQgPiAmLWFycm93IHtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgcm90YXRlKDQ1ZGVnKTtcbiAgfVxuICAmLXBsYWNlbWVudC1yaWdodFRvcCA+ICYtY29udGVudCA+ICYtYXJyb3cge1xuICAgIHRvcDogMTJweDtcbiAgfVxuICAmLXBsYWNlbWVudC1yaWdodEJvdHRvbSA+ICYtY29udGVudCA+ICYtYXJyb3cge1xuICAgIGJvdHRvbTogMTJweDtcbiAgfVxuXG4gICYtcGxhY2VtZW50LWJvdHRvbSA+ICYtY29udGVudCA+ICYtYXJyb3csXG4gICYtcGxhY2VtZW50LWJvdHRvbUxlZnQgPiAmLWNvbnRlbnQgPiAmLWFycm93LFxuICAmLXBsYWNlbWVudC1ib3R0b21SaWdodCA+ICYtY29udGVudCA+ICYtYXJyb3cge1xuICAgIHRvcDogQHBvcG92ZXItZGlzdGFuY2UgLSBAcG9wb3Zlci1hcnJvdy13aWR0aCArIDJweDtcbiAgICBib3JkZXItdG9wLWNvbG9yOiBAcG9wb3Zlci1iZztcbiAgICBib3JkZXItcmlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1sZWZ0LWNvbG9yOiBAcG9wb3Zlci1iZztcbiAgICBib3gtc2hhZG93OiAtMnB4IC0ycHggNXB4IGZhZGUoQGJsYWNrLCA2JSk7XG4gIH1cbiAgJi1wbGFjZW1lbnQtYm90dG9tID4gJi1jb250ZW50ID4gJi1hcnJvdyB7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSByb3RhdGUoNDVkZWcpO1xuICB9XG4gICYtcGxhY2VtZW50LWJvdHRvbUxlZnQgPiAmLWNvbnRlbnQgPiAmLWFycm93IHtcbiAgICBsZWZ0OiAxNnB4O1xuICB9XG4gICYtcGxhY2VtZW50LWJvdHRvbVJpZ2h0ID4gJi1jb250ZW50ID4gJi1hcnJvdyB7XG4gICAgcmlnaHQ6IDE2cHg7XG4gIH1cblxuICAmLXBsYWNlbWVudC1sZWZ0ID4gJi1jb250ZW50ID4gJi1hcnJvdyxcbiAgJi1wbGFjZW1lbnQtbGVmdFRvcCA+ICYtY29udGVudCA+ICYtYXJyb3csXG4gICYtcGxhY2VtZW50LWxlZnRCb3R0b20gPiAmLWNvbnRlbnQgPiAmLWFycm93IHtcbiAgICByaWdodDogQHBvcG92ZXItZGlzdGFuY2UgLSBAcG9wb3Zlci1hcnJvdy13aWR0aCArIDJweDtcbiAgICBib3JkZXItdG9wLWNvbG9yOiBAcG9wb3Zlci1iZztcbiAgICBib3JkZXItcmlnaHQtY29sb3I6IEBwb3BvdmVyLWJnO1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3gtc2hhZG93OiAzcHggLTNweCA3cHggZmFkZShAYmxhY2ssIDclKTtcbiAgfVxuICAmLXBsYWNlbWVudC1sZWZ0ID4gJi1jb250ZW50ID4gJi1hcnJvdyB7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHJvdGF0ZSg0NWRlZyk7XG4gIH1cbiAgJi1wbGFjZW1lbnQtbGVmdFRvcCA+ICYtY29udGVudCA+ICYtYXJyb3cge1xuICAgIHRvcDogMTJweDtcbiAgfVxuICAmLXBsYWNlbWVudC1sZWZ0Qm90dG9tID4gJi1jb250ZW50ID4gJi1hcnJvdyB7XG4gICAgYm90dG9tOiAxMnB4O1xuICB9XG59XG5cbkBpbXBvcnQgJy4vcnRsJztcbiIsIkBpbXBvcnQgJy4uLy4uL3N0eWxlL3RoZW1lcy9pbmRleCc7XG5AaW1wb3J0ICcuLi8uLi9zdHlsZS9taXhpbnMvaW5kZXgnO1xuXG5AcG9wb3Zlci1wcmVmaXgtY2xzOiB+J0B7YW50LXByZWZpeH0tcG9wb3Zlcic7XG5cbi5Ae3BvcG92ZXItcHJlZml4LWNsc30ge1xuICAmLXJ0bCB7XG4gICAgZGlyZWN0aW9uOiBydGw7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIH1cblxuICAmLW1lc3NhZ2Uge1xuICAgICYtdGl0bGUge1xuICAgICAgLkB7cG9wb3Zlci1wcmVmaXgtY2xzfS1ydGwgJiB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IEBmb250LXNpemUtYmFzZSArIDhweDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiBAcGFkZGluZy1tZDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLWJ1dHRvbnMge1xuICAgIC5Ae3BvcG92ZXItcHJlZml4LWNsc30tcnRsICYge1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB9XG5cbiAgICBidXR0b24ge1xuICAgICAgLkB7cG9wb3Zlci1wcmVmaXgtY2xzfS1ydGwgJiB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogOHB4O1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi5hbnQtcG9wb3ZlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbiIsIi51bmktLWJsb2NrcXVvdGUge1xuICBib3JkZXItbGVmdDogNXB4IHNvbGlkIHZhcigtLXVuaS1ibHVlLTEwMCk7XG59XG4iLCIudW5pLS1idXR0b25vbGQge1xuICB3aWR0aDogMTAwJTtcbiAgLS1iYWNrZ3JvdW5kOiB2YXIoLS11bmktY29sb3ItYmx1ZS1kYXJrKTtcbiAgY29sb3I6IHdoaXRlO1xuXG4gICZfX291dGxpbmUge1xuICAgIG1hcmdpbi10b3A6IDJyZW07XG4gICAgYm9yZGVyOiB2YXIoLS11bmktY29sb3ItYmx1ZS1kYXJrKTtcbiAgICAtLWJhY2tncm91bmQ6IHdoaXRlO1xuICAgIGNvbG9yOiB2YXIoLS11bmktY29sb3ItYmx1ZS1kYXJrKTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS11bmktY29sb3ItYmx1ZS1kYXJrKTtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIH1cbn1cblxuLnVuaS1saW5rLWJ1dHRvbiB7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNGRkZGRkY7XG5cbiAgbWluLWhlaWdodDogM3JlbTtcbiAgaGVpZ2h0OiAzcmVtO1xuXG4gIGJvcmRlci1yYWRpdXM6IDEuNXJlbTtcblxuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIG9wYWNpdHk6IC42NTtcblxuICBwYWRkaW5nLWxlZnQ6IDNyZW07XG4gIHBhZGRpbmctcmlnaHQ6IDNyZW07XG5cbiAgJjpob3ZlciwgJjpmb2N1cywgJjphY3RpdmUge1xuICAgIGNvbG9yOiAjRkZGRkZGO1xuICB9XG59XG5cbi51bmktLWJ1dHRvbiB7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJvcmRlcjogbm9uZTtcblxuICBtaW4taGVpZ2h0OiAzcmVtO1xuICBoZWlnaHQ6IDNyZW07XG5cbiAgYm9yZGVyLXJhZGl1czogMzdweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdW5pLWJsdWUtMTAwKTtcblxuICAmOmhvdmVyIHtcbiAgICBib3gtc2hhZG93OiAwIDNweCA2cHggIzAwMDAwMDNCO1xuICB9XG5cbiAgJjpmb2N1cywgJjphY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXVuaS1wcmltYXJ5LTgwMCk7XG4gIH1cblxuICBwYWRkaW5nLWxlZnQ6IDNyZW07XG4gIHBhZGRpbmctcmlnaHQ6IDNyZW07XG5cbiAgJl9fZnJlZS1jb3Vyc2VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS11bmktZnJlZS1jb3Vyc2UtcHJpbWFyeSk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tdW5pLWZyZWUtY291cnNlLWRhcmspO1xuXG4gICAgJjpob3ZlciwgJjpmb2N1cywgJjphY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdW5pLWZyZWUtY291cnNlLXNlY29uZGFyeSk7XG4gICAgfVxuICB9XG5cbiAgJl9fc21hbGwge1xuICAgIG1pbi1oZWlnaHQ6IDJyZW07XG4gICAgaGVpZ2h0OiAycmVtO1xuXG4gICAgcGFkZGluZy1sZWZ0OiAxLjVyZW07XG4gICAgcGFkZGluZy1yaWdodDogMS41cmVtO1xuICB9XG59XG5cbmlucHV0Oi13ZWJraXQtYXV0b2ZpbGwsXG5pbnB1dDotd2Via2l0LWF1dG9maWxsOmhvdmVyLFxuaW5wdXQ6LXdlYmtpdC1hdXRvZmlsbDpmb2N1cyxcbnRleHRhcmVhOi13ZWJraXQtYXV0b2ZpbGwsXG50ZXh0YXJlYTotd2Via2l0LWF1dG9maWxsOmhvdmVyXG50ZXh0YXJlYTotd2Via2l0LWF1dG9maWxsOmZvY3VzLFxuc2VsZWN0Oi13ZWJraXQtYXV0b2ZpbGwsXG5zZWxlY3Q6LXdlYmtpdC1hdXRvZmlsbDpob3ZlcixcbnNlbGVjdDotd2Via2l0LWF1dG9maWxsOmZvY3VzIHtcbiAgLXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgNTAwMHMgZWFzZS1pbi1vdXQgMHM7XG59XG5cbiIsIi51bmktLW5ldy1idXR0b24ge1xuICB0cmFuc2l0aW9uOiBlYXNlLWluIDAuM3M7XG5cbiAgbWluLWhlaWdodDogM3JlbTtcbiAgaGVpZ2h0OiAzcmVtO1xuXG4gIGJvcmRlci1yYWRpdXM6IDM3cHg7XG4gIGJvcmRlcjogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgY29sb3I6IHZhcigtLXVuaS1ibHVlLTIwMCk7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuXG4gICY6aG92ZXIsICY6Zm9jdXMsICY6YWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS11bmktcHJpbWFyeS04MDApO1xuICB9XG5cbiAgcGFkZGluZy1sZWZ0OiAzcmVtO1xuICBwYWRkaW5nLXJpZ2h0OiAzcmVtO1xuXG4gICZfX2ZyZWUtY291cnNlcyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdW5pLWZyZWUtY291cnNlLXByaW1hcnkpO1xuICAgIGJvcmRlcjogbm9uZTtcblxuICAgICY6aG92ZXIsICY6Zm9jdXMsICY6YWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXVuaS1mcmVlLWNvdXJzZS1zZWNvbmRhcnkpO1xuICAgIH1cbiAgfVxuXG4gICZfX3NtYWxsIHtcbiAgICBtaW4taGVpZ2h0OiAycmVtO1xuICAgIGhlaWdodDogMnJlbTtcblxuICAgIHBhZGRpbmctbGVmdDogMS41cmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTtcbiAgfVxuXG4gICYtbmV3cyB7XG4gICAgJjpob3ZlcixcbiAgICAmOmFjdGl2ZSxcbiAgICAmOmZvY3VzIHtcbiAgICAgIGNvbG9yOiB2YXIoLS11bmktYmx1ZS0yMDApICFpbXBvcnRhbnQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS11bmktYmxhY2stNDAwKSAhaW1wb3J0YW50O1xuICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuXG5idXR0b24ge1xuICBjdXJzb3I6IHBvaW50ZXIgIWltcG9ydGFudDtcbn1cblxuLnVuaS0tcHJpbWFyeS1idXR0b24ge1xuICB0cmFuc2l0aW9uOiBlYXNlLWluIDAuM3M7XG5cbiAgY29sb3I6IHZhcigtLXVuaS1ncmV5LTEwMCk7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXVuaS1ibHVlLTEwMCk7XG4gIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gIGJvcmRlcjogbm9uZTtcblxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtc2l6ZTogMC45cmVtO1xuXG4gIG1pbi13aWR0aDogMTJyZW07XG4gIHdpZHRoOiAxMnJlbTtcbiAgbWluLWhlaWdodDogMi41cmVtO1xuICBoZWlnaHQ6IDNyZW07XG5cbiAgJjpob3ZlciB7XG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDAgMTBweCAxcHggcmdiYSgxLCAxNjksIDI0MCwgMC40NCk7XG4gICAgYm94LXNoYWRvdzogMCAwIDEwcHggMXB4IHJnYmEoMSwgMTY5LCAyNDAsIDAuNDQpO1xuICB9XG5cbiAgJjphY3RpdmUge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdW5pLWJsdWUtNDAwKTtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICB9XG5cbiAgJjpkaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdW5pLWdyZXktMTAwKTtcbiAgICBjb2xvcjogdmFyKC0tdW5pLWdyZXktMzAwKTtcblxuICAgICY6aG92ZXIge1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuLnVuaS0tc2Vjb25kYXJ5LWJ1dHRvbiB7XG4gIHRyYW5zaXRpb246IGVhc2UtaW4gMC4zcztcblxuICBjb2xvcjogdmFyKC0tdW5pLWJsdWUtMTAwKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXVuaS1ibHVlLTEwMCk7XG4gIG1hcmdpbjogMTBweDtcblxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtc2l6ZTogMC45cmVtO1xuXG4gIG1pbi13aWR0aDogOHJlbTtcbiAgd2lkdGg6IDlyZW07XG4gIG1pbi1oZWlnaHQ6IDIuN3JlbTtcbiAgaGVpZ2h0OiAzcmVtO1xuXG4gICY6aG92ZXIge1xuICAgIGNvbG9yOiB2YXIoLS11bmktZ3JleS0xMDApO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXVuaS1ibHVlLTQwMCk7XG4gIH1cblxuICAmOmFjdGl2ZSB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS11bmktYmx1ZS00MDApO1xuICAgIGNvbG9yOiB2YXIoLS11bmktZ3JleS0xMDApO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gIH1cblxuICAmOmRpc2FibGVkIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS11bmktZ3JleS0xMDApO1xuICAgIGNvbG9yOiB2YXIoLS11bmktZ3JleS0xMDApO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgIH1cbiAgfVxufVxuIiwiLmFudC1jYXJvdXNlbCAuc2xpY2stZG90cyBsaSB7XG4gIGJhY2tncm91bmQ6ICNGRkY7XG59XG5cbi5hbnQtY2Fyb3VzZWwgLnNsaWNrLWRvdHMgbGkuc2xpY2stYWN0aXZlIGJ1dHRvbiB7XG4gIGJhY2tncm91bmQ6IHZhcigtLXVuaS1ibHVlLTEwMCk7XG59XG4iLCIudW5pLS1pbnB1dCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXVuaS1saWdodC00MDApO1xuXG4gIG1pbi1oZWlnaHQ6IDMuNXJlbTtcbiAgaGVpZ2h0OiAzLjVyZW07XG5cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIHBhZGRpbmc6IDFyZW0gMS41cmVtO1xuICBib3JkZXItcmFkaXVzOiAzN3B4O1xuICBib3gtc2hhZG93OiAwcHggM3B4IDZweCAjMDAwMDAwMjk7XG4gIGJvcmRlcjogbm9uZTtcblxuICB0cmFuc2l0aW9uOiBub25lICFpbXBvcnRhbnQ7XG5cbiAgLmFudC1pbnB1dC1hZmZpeC13cmFwcGVyLCAuYW50LWlucHV0IHtcbiAgICB0cmFuc2l0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gIH1cblxuICBpbnB1dCB7XG4gICAgZm9udC1mYW1pbHk6ICdTZWdvZSBVSSc7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuXG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXI6IG5vbmU7XG5cbiAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICAtd2Via2l0LXRleHQtZmlsbC1jb2xvcjogdmFyKC0tdW5pLWNvbnRyYXN0LTMwMCkgIWltcG9ydGFudDtcbiAgICAgIGNvbG9yOiB2YXIoLS11bmktY29udHJhc3QtMzAwKSAhaW1wb3J0YW50O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdW5pLWxpZ2h0LTQwMCkgIWltcG9ydGFudDtcbiAgICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAwIDAgMzBweCB2YXIoLS11bmktbGlnaHQtNDAwKSBpbnNldCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgICYsXG4gICAgJjotaW50ZXJuYWwtYXV0b2ZpbGwtc2VsZWN0ZWQsXG4gICAgJjotd2Via2l0LWF1dG9maWxsLFxuICAgICY6LXdlYmtpdC1hdXRvZmlsbDpob3ZlcixcbiAgICAmOi13ZWJraXQtYXV0b2ZpbGw6Zm9jdXMsXG4gICAgJjotd2Via2l0LWF1dG9maWxsOmFjdGl2ZSB7XG4gICAgICAtd2Via2l0LXRleHQtZmlsbC1jb2xvcjogdmFyKC0tdW5pLWNvbnRyYXN0LTUwMCkgIWltcG9ydGFudDtcbiAgICAgIGNvbG9yOiB2YXIoLS11bmktY29udHJhc3QtNTAwKSAhaW1wb3J0YW50O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdW5pLWxpZ2h0LTQwMCkgIWltcG9ydGFudDtcbiAgICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAwIDAgMzBweCB2YXIoLS11bmktbGlnaHQtNDAwKSBpbnNldCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgICZbdHlwZT1cInRleHRcIl06aG92ZXIsICZbdHlwZT1cInRleHRcIl06Zm9jdXMge1xuICAgICAgb3V0bGluZTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgICY6ZGlzYWJsZWQsICY6cmVhZC1vbmx5IHtcbiAgICAgIG9wYWNpdHk6IC42O1xuICAgIH1cbiAgfVxuXG4gIG56LXNwaW4ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuXG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgei1pbmRleDogMTA7XG4gIH1cblxuICAuYW50LWlucHV0LXByZWZpeCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAuNXJlbTtcbiAgfVxuXG4gIC5hbnQtaW5wdXQtZ3JvdXAtYWRkb24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogbm9uZTtcblxuICAgICYgPiAqIHtcbiAgICAgIG1hcmdpbi1yaWdodDogLTIuMnJlbTtcbiAgICAgIG1hcmdpbi10b3A6IC0xcmVtO1xuICAgIH1cbiAgfVxufVxuIiwiLnVuaS0tbmV3LWlucHV0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG5cbiAgbWluLWhlaWdodDogMy41cmVtO1xuICBoZWlnaHQ6IDMuNXJlbTtcblxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgcGFkZGluZzogMXJlbSAxLjVyZW07XG4gIGJvcmRlci1yYWRpdXM6IDM3cHg7XG4gIGJveC1zaGFkb3c6IDBweCAzcHggNnB4ICMwMDAwMDAyOTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tdW5pLWdyZXktMTAwKTtcblxuICB0cmFuc2l0aW9uOiBub25lICFpbXBvcnRhbnQ7XG5cbiAgLmFudC1pbnB1dC1hZmZpeC13cmFwcGVyLCAuYW50LWlucHV0IHtcbiAgICB0cmFuc2l0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gIH1cblxuICBpbnB1dCB7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXI6IG5vbmU7XG5cbiAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICAtd2Via2l0LXRleHQtZmlsbC1jb2xvcjogdmFyKC0tdW5pLWNvbnRyYXN0LTMwMCkgIWltcG9ydGFudDtcbiAgICAgIGNvbG9yOiB2YXIoLS11bmktZ3JleS0xMDApICFpbXBvcnRhbnQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgICYsXG4gICAgJjotaW50ZXJuYWwtYXV0b2ZpbGwtc2VsZWN0ZWQsXG4gICAgJjotd2Via2l0LWF1dG9maWxsLFxuICAgICY6LXdlYmtpdC1hdXRvZmlsbDpob3ZlcixcbiAgICAmOi13ZWJraXQtYXV0b2ZpbGw6Zm9jdXMsXG4gICAgJjotd2Via2l0LWF1dG9maWxsOmFjdGl2ZSB7XG4gICAgICAtd2Via2l0LXRleHQtZmlsbC1jb2xvcjogdmFyKC0tdW5pLWNvbnRyYXN0LTUwMCkgIWltcG9ydGFudDtcbiAgICAgIGNvbG9yOiB2YXIoLS11bmktZ3JleS0zMDApICFpbXBvcnRhbnQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgICZbdHlwZT1cInRleHRcIl06aG92ZXIsICZbdHlwZT1cInRleHRcIl06Zm9jdXMge1xuICAgICAgb3V0bGluZTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgICY6ZGlzYWJsZWQsICY6cmVhZC1vbmx5IHtcbiAgICAgIG9wYWNpdHk6IC42O1xuICAgIH1cbiAgfVxuXG4gIG56LXNwaW4ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuXG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgei1pbmRleDogMTA7XG4gIH1cblxuICAuYW50LWlucHV0LXByZWZpeCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAuNXJlbTtcbiAgfVxuXG4gIC5hbnQtaW5wdXQtZ3JvdXAtYWRkb24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogbm9uZTtcblxuICAgICYgPiAqIHtcbiAgICAgIG1hcmdpbi1yaWdodDogLTIuMnJlbTtcbiAgICAgIG1hcmdpbi10b3A6IC0xcmVtO1xuICAgIH1cbiAgfVxufVxuXG4udW5pLS1ib3gtbGFiZWwtZmxvYXQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctdG9wOiAxM3B4O1xuICB3aWR0aDogdmFyKC0tdW5pLWlucHV0LXdpZHRoLCAzMzBweCk7XG5cbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuXG4gIC51bmktLWlucHV0LXRleHQsIC5sb2dpbi0taW5wdXQtcGFzc3dvcmQge1xuICAgIHdpZHRoOiB2YXIoLS11bmktaW5wdXQtd2lkdGgsIDMzMHB4KTtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLXVuaS1ncmV5LTMwMCk7XG5cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblxuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgZm9udC1zaXplOiAxNXB4O1xuICAgIHBhZGRpbmctbGVmdDogMXJlbTtcblxuICAgIG1hcmdpbi10b3A6IDIwcHg7XG5cbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjNzIGN1YmljLWJlemllcigwLjY0LCAwLjA5LCAwLjA4LCAxKTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBjdWJpYy1iZXppZXIoMC42NCwgMC4wOSwgMC4wOCwgMSk7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG5cbiAgICBtaW4taGVpZ2h0OiAyLjVyZW07XG4gICAgaGVpZ2h0OiAyLjVyZW07XG5cbiAgICAmOi13ZWJraXQtYXV0b2ZpbGwge1xuICAgICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDAgMCA1MHB4IHRyYW5zcGFyZW50IGluc2V0OyAvLyBDb3IgZG8gZnVuZG9cbiAgICAgIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiB2YXIoLS11bmktZ3JleS0zMDApOyAvKiBDb3IgZG8gdGV4dG8gKi9cbiAgICB9XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS11bmktYmx1ZS0yMDApICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cbiAgfVxuXG4gIC51bmktLWxhYmVsIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAyMHB4O1xuICAgIGxlZnQ6IDEwcHg7XG4gICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICBmb250LXdlaWdodDogbGlnaHRlcjtcbiAgICBmb250LXNpemU6IDE1cHg7XG5cbiAgICB0cmFuc2l0aW9uOiBhbGwgLjFzIGVhc2Utb3V0O1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIC4xcyBlYXNlLW91dDtcbiAgICAtbW96LXRyYW5zaXRpb246IGFsbCAuMXMgZWFzZS1vdXQ7XG4gIH1cblxuICAudW5pLS1pbnB1dC10ZXh0OnJlcXVpcmVkOmludmFsaWQgKyAudW5pLS1sYWJlbCB7XG4gICAgY29sb3I6IHZhcigtLXVuaS1ncmV5LTMwMCk7XG4gIH1cblxuICAudW5pLS1pbnB1dC10ZXh0OmZvY3VzOnJlcXVpcmVkOmludmFsaWQge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS11bmktZ3JleS0zMDApO1xuICB9XG5cbiAgLnVuaS0taW5wdXQtdGV4dDpyZXF1aXJlZDppbnZhbGlkICsgLnVuaS0tbGFiZWwge1xuICAgIGNvbnRlbnQ6ICcqJztcbiAgfVxuXG4gIC51bmktLWlucHV0LXRleHQ6LXdlYmtpdC1hdXRvZmlsbCArIC51bmktLWxhYmVsLFxuICAudW5pLS1pbnB1dC10ZXh0OmZvY3VzICsgLnVuaS0tbGFiZWwsXG4gIC51bmktLWlucHV0LXRleHQ6bm90KDpwbGFjZWhvbGRlci1zaG93bikgKyAudW5pLS1sYWJlbCB7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgY29sb3I6IHZhcigtLXVuaS1ncmV5LTMwMCk7XG4gIH1cbn1cblxuLnBhc3N3b3JkLWlucHV0IHtcbiAgcGFkZGluZy1yaWdodDogMi44cmVtO1xufVxuIiwibGFiZWxbbnotY2hlY2tib3hdIHtcbiAgY29sb3I6IHZhcigtLXVuaS1jb250cmFzdC01MDApO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuXG4gIHNwYW4sXG4gIC5hbnQtY2hlY2tib3gtY2hlY2tlZDo6YWZ0ZXIge1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgfVxufVxuIiwiLnVuaS0tY2hlY2tib3gtY29udGFpbmVyIHtcbiAgd2lkdGg6IDMzMHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIG1hcmdpbi10b3A6IDQwcHg7XG5cbiAgLnVuaS0tY2hlY2tib3gtbGFiZWwge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctbGVmdDogMjVweDtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgZm9udC13ZWlnaHQ6IGxpZ2h0ZXI7XG4gICAgY29sb3I6IHZhcigtLXVuaS1ncmV5LTEwMCk7XG5cbiAgICAudW5pLS1jaGVja2JveCB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgaGVpZ2h0OiAwO1xuICAgICAgd2lkdGg6IDA7XG5cbiAgICAgICY6Y2hlY2tlZCB+IC5jaGVja21hcmsge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS11bmktYmx1ZS0yMDApO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIG9wYWNpdHk6IDE7XG5cbiAgICAgICAgLXdlYmtpdC1hbmltYXRpb246IGZhZGVPcGFjaXR5IDFzIGVhc2UtaW4tb3V0O1xuICAgICAgICAtbW96LWFuaW1hdGlvbjogZmFkZU9wYWNpdHkgMXMgZWFzZS1pbi1vdXQ7XG4gICAgICAgIC1vLWFuaW1hdGlvbjogZmFkZU9wYWNpdHkgMXMgZWFzZS1pbi1vdXQ7XG4gICAgICAgIGFuaW1hdGlvbjogZmFkZU9wYWNpdHkgMXMgZWFzZS1pbi1vdXQ7XG4gICAgICB9XG5cbiAgICAgICY6ZGlzYWJsZWQgfiAuY2hlY2ttYXJrIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdW5pLWdyZXktMjAwKTtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgfVxuXG4gICAgICAmOmNoZWNrZWQgfiAuY2hlY2ttYXJrOjphZnRlciB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5jaGVja21hcms6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgbGVmdDogNnB4O1xuICAgICAgdG9wOiAwO1xuICAgICAgd2lkdGg6IDhweDtcbiAgICAgIGhlaWdodDogMTdweDtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICAgIGJvcmRlci1yaWdodDogM3B4IHNvbGlkICNmZmY7XG4gICAgICBib3JkZXItYm90dG9tOiAzcHggc29saWQgI2ZmZjtcbiAgICB9XG5cbiAgICAuY2hlY2ttYXJrIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICB3aWR0aDogMjBweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tdW5pLWdyZXktMTAwKTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDJweDtcblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVPcGFjaXR5IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG4iLCIudW5pLS1wcmltYXJ5LTUwMCB7XG4gIGNvbG9yOiB2YXIoLS11bmktYmx1ZS0xMDApO1xufVxuIiwiLnVuaS0tZmllbGRzZXQge1xuICBwYWRkaW5nLWJvdHRvbTogLjVyZW07XG5cbiAgbGVnZW5kIHtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLXVuaS1ibHVlLTEwMCk7XG4gIH1cblxuICB1bCB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuXG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgfVxuXG4gIGxpIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG5cbiAgLnN1YnNjcmlwdGlvbi1wZXJpb2Qge1xuICAgIGZvbnQtc2l6ZTogMC44NXJlbTtcbiAgfVxuXG4gIHAsIGxhYmVsIHtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIG1hcmdpbi10b3A6IC4yNXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAuMjVyZW07XG4gIH1cblxuICBwIHtcbiAgICBtYXJnaW4tbGVmdDogLjI1cmVtO1xuICB9XG5cbiAgbGFiZWwge1xuICAgIG1hcmdpbi1yaWdodDogLjI1cmVtO1xuICB9XG5cbiAgaDQge1xuICAgIG1hcmdpbjogMDtcbiAgfVxufVxuIiwiLnVuaS0tZm9ybSB7XG4gICYtLWl0ZW0ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcblxuICAgIHNtYWxsIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgICAgbWFyZ2luLXRvcDogMXJlbTtcblxuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cblxuICAgIG56LXNlbGVjdCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cblxuICAudW5pLS1pbnB1dCB7XG4gICAgaW5wdXQge1xuICAgICAgJi5uZy10b3VjaGVkLm5nLWludmFsaWQge1xuICAgICAgICAtd2Via2l0LXRleHQtZmlsbC1jb2xvcjogcmVkICFpbXBvcnRhbnQ7XG4gICAgICAgIGNvbG9yOiByZWQgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi51bmktLXByb2ZpbGUtLWhlYWRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xuXG4gIGgyIHtcbiAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICBsaW5lLWhlaWdodDogMS44cmVtO1xuICAgIGZvbnQtZmFtaWx5OiAnU2Vnb2UgVUknO1xuXG4gICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgIHNwYW4ge1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICBmb250LWZhbWlseTogJ1NlZ29lIFVJJztcblxuICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgfVxuICB9XG5cbiAgaHIge1xuICAgIGZsZXg6IDE7XG5cbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG5cbiAgICBoZWlnaHQ6IC4yNXJlbTtcblxuICAgIG1hcmdpbi1sZWZ0OiAxLjVyZW07XG5cbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdW5pLWJsdWUtMTAwKTtcbiAgfVxuXG4gIGEge1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS11bmktbGlnaHQtMTAwKTtcblxuICAgIG1pbi1oZWlnaHQ6IDJyZW07XG4gICAgaGVpZ2h0OiAycmVtO1xuICAgIG1pbi13aWR0aDogMnJlbTtcbiAgICB3aWR0aDogMnJlbTtcblxuICAgIG1hcmdpbi1sZWZ0OiAxLjVyZW07XG5cbiAgICAmLnVuaS0taGVhZGVyLS1hX19pbnZlcnQtbWFyZ2luIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxLjVyZW07XG4gICAgfVxuXG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgaSB7XG4gICAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgfVxuICB9XG59XG4iLCIudW5pLS1ociB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDFweDtcblxuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS11bmktYmx1ZS0xMDApO1xuICBtYXJnaW46IC43NXJlbSAwO1xuXG4gIGJvcmRlcjogbm9uZTtcbn1cbiIsIi5maXgtaW5uZXItaHRtbCB7XG4gIGlmcmFtZSB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG5cbiAgcCwgc3BhbiwgbGFiZWwsIGgxLCBoMiwgaDMsIGg0LCBoNCwgaDUsIGg2IHtcbiAgICBjb2xvcjogdmFyKC0tdW5pLWNvbnRyYXN0LTUwMCkgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7XG4gICAgd29yZC1icmVhazogYnJlYWstd29yZDtcbiAgfVxuXG4gIGEge1xuICAgIGNvbG9yOiB2YXIoLS11bmktcHJpbWFyeS00MDApICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50O1xuICAgIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG4gIH1cbn1cbiIsImFbaHJlZl0ge1xuICBjb2xvcjogdmFyKC0tdW5pLWJsdWUtMTAwKTtcblxuICAmOnZpc2l0ZWQge1xuICAgIGNvbG9yOiB2YXIoLS11bmktY29udHJhc3QtNTAwKTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgfVxufVxuIiwiLnVuaS0tbW9kYWwtLW5vLWNvbnRlbnQge1xuICAuYW50LW1vZGFsLWNvbnRlbnQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gIH1cbn1cblxuLnVuaS0tbW9kYWwtLWRlZmF1bHQge1xuICAuYW50LW1vZGFsLWNvbnRlbnQge1xuICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gICAgcGFkZGluZzogMS41cmVtO1xuICB9XG59XG5cbi5jcmVhdGUtbm90ZS1tb2RhbHtcbiAgLmFudC1tb2RhbC1jb250ZW50IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS11bmktYmxhY2stNTAwKTtcbiAgICBib3JkZXItcmFkaXVzOiAxNnB4O1xuICAgIHBhZGRpbmc6IDIzcHggMzdweDtcbiAgfVxuXG4gIC5hbnQtbW9kYWwtY2xvc2UteHtcbiAgICBmb250LXdlaWdodDogOTAwO1xuICAgIGNvbG9yOiB2YXIoLS11bmktYmx1ZS0xMDApO1xuICB9XG59XG5cbi51bmktLW1vZGFsLS1kZWZhdWx0IC5hbnQtbW9kYWwtY29udGVudCB7XG4gIGJhY2tncm91bmQ6IHJhZGlhbC1ncmFkaWVudChhdCB0b3AsIzIxMjQyOSAxMCUsIzEwMTAxMCA1MCUpO1xufVxuIiwiLnVuaS0tbmF2IHtcbiAgcGFkZGluZy1yaWdodDogMS41cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMnJlbTtcbiAgZm9udC1mYW1pbHk6IFwiT3BlbiBTYW5zXCIsIHNhbnMtc2VyaWY7XG5cbiAgdWwge1xuICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICBsaXN0LXN0eWxlOiBub25lO1xuXG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIG1hcmdpbjogMDtcblxuICB9XG5cbiAgbGkge1xuICAgIHBhZGRpbmctcmlnaHQ6IDJyZW07XG4gIH1cblxuICBhIHtcbiAgICBmb250LXNpemU6IDFyZW07XG5cbiAgICBjb2xvcjogdmFyKC0tdW5pLWdyZXktMzAwKTtcblxuICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDJweDtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxuXG4gICZfX3NlbGVjdGVke1xuICAgIGNvbG9yOiB2YXIoLS11bmktY29udHJhc3QtNTAwKSAhaW1wb3J0YW50O1xuICB9XG59XG5cblxuLmJhY2tncm91bmQtLWRvbWVzdGlrYXtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0YwMkQwMCAhaW1wb3J0YW50O1xufVxuIiwiLnByb2dyZXNzLWJhciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMzMlO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMGRlZywgdmFyKC0tdW5pLWNvbG9yLW9yYW5nZSkgMCUsIHZhcigtLXVuaS1jb2xvci1vcmFuZ2UtZGFyaykgMTAwJSk7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDM7XG59XG4iLCIuaGlkZS1zY3JvbGxiYXIge1xuICAmOjotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICB9XG5cbiAgLW1zLW92ZXJmbG93LXN0eWxlOiBub25lO1xuICBzY3JvbGxiYXItd2lkdGg6IG5vbmU7XG4gIHNjcm9sbGJhci1oZWlnaHQ6IG5vbmU7XG59XG5cbi51bmktLXNjcm9sbGJhciB7XG4gIC0tdGh1bWItY29sb3I6IHZhcigtLXNjcm9sbGJhci10aHVtYi1jb2xvciwgdmFyKC0tdW5pLWJsdWUtMTAwKSk7XG4gIC0tdGh1bWItYmFja2dyb3VuZDogdmFyKC0tc2Nyb2xsYmFyLXRodW1iLWJhY2tncm91bmQsIHZhcigtLXVuaS1saWdodC0yMDApKTtcblxuICAmOjotd2Via2l0LXNjcm9sbGJhci10cmFjayB7XG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiBpbnNldCAwIDAgNHB4IHZhcigtLXRodW1iLWJhY2tncm91bmQpO1xuICAgIGJvcmRlci1yYWRpdXM6IDAuNnJlbTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10aHVtYi1iYWNrZ3JvdW5kKTtcbiAgfVxuXG4gICY6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICB3aWR0aDogMC40cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDAuNnJlbTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10aHVtYi1iYWNrZ3JvdW5kKTtcbiAgfVxuXG4gICY6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcbiAgICBib3JkZXItcmFkaXVzOiAwLjRyZW07XG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiBpbnNldCAwIDAgNHB4IHZhcigtLXRodW1iLWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10aHVtYi1jb2xvcik7XG4gIH1cbn1cblxuKiB7XG4gIHNjcm9sbGJhci13aWR0aDogdGhpbjtcbiAgc2Nyb2xsYmFyLWNvbG9yOiB2YXIoLS11bmktYmx1ZS0yMDApIHZhcigtLXVuaS1ibGFjay0yMDApO1xufVxuXG4vKiBXb3JrcyBvbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkgKi9cbio6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgd2lkdGg6IDNweDtcbiAgaGVpZ2h0OiA1cHg7XG59XG5cbio6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tdW5pLWJsYWNrLTEwMCk7XG59XG5cbio6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdW5pLWJsdWUtMjAwKTtcbiAgYm9yZGVyLXJhZGl1czogMjBweDtcbn1cbiIsIi51bmktLXNlbGVjdCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXG4gIGNvbG9yOiB2YXIoLS11bmktY29udHJhc3QtNTAwKTtcbiAgYm9yZGVyLXJhZGl1czogMnJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tdW5pLWNvbnRyYXN0LTUwMCk7XG5cbiAgbWluLWhlaWdodDogMy41cmVtO1xuICBoZWlnaHQ6IDMuNXJlbTtcblxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgcGFkZGluZzogMXJlbSAxLjVyZW07XG4gIGJveC1zaGFkb3c6IDAgM3B4IDZweCAjMDAwMDAwMjk7XG5cbiAgZm9udC1zaXplOiAxcmVtO1xuXG4gIG56LXNlbGVjdC1wbGFjZWhvbGRlciB7XG4gICAgY29sb3I6IHZhcigtLXVuaS1ncmV5LTMwMCk7XG4gIH1cblxuICBuei1zZWxlY3QtdG9wLWNvbnRyb2wge1xuICAgIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuXG4gICAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gIH1cblxuICBuei1zZWxlY3Qtc2VhcmNoIHtcbiAgICBsZWZ0OiAwICFpbXBvcnRhbnQ7XG4gIH1cblxuICBuei1zZWxlY3QtaXRlbSwgbnotc2VsZWN0LXBsYWNlaG9sZGVyIHtcbiAgICBsaW5lLWhlaWdodDogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICBuei1zZWxlY3QtYXJyb3cge1xuICAgIHJpZ2h0OiAyNHB4O1xuICAgIGNvbG9yOiB2YXIoLS11bmktY29udHJhc3QtNTAwKTtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgdmVydGljYWwtYWxpZ246IDA7XG4gICAgdG9wOiBjYWxjKDUwJSAtIC41cmVtKTtcblxuICAgIGhlaWdodDogMXJlbTtcbiAgICB3aWR0aDogMXJlbTtcblxuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cbn1cbiIsIi51bmktLW5ldy1zZWxlY3Qge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHdpZHRoOiAyNTBweDtcblx0bWFyZ2luLXJpZ2h0OiAxcmVtO1xuICBtYXJnaW4tdG9wOiAzMHB4O1xuXG4gIGZvbnQtc2l6ZTogMC45cmVtO1xuXG4gICZbb3Blbl0ge1xuICAgIHotaW5kZXg6IDE7XG4gIH1cblxuICBzdW1tYXJ5IHtcbiAgICBwYWRkaW5nOiAxcmVtO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcblxuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS11bmktYmxhY2stNDAwKTtcbiAgICBjb2xvcjogdmFyKC0tdW5pLWdyZXktMjAwKTtcbiAgICBtaW4taGVpZ2h0OiAyLjVyZW07XG4gICAgaGVpZ2h0OiAyLjVyZW07XG4gICAgYm9yZGVyLXJhZGl1czogMzdweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS11bmktZ3JleS0xMDApO1xuICB9XG5cbiAgc3VtbWFyeTo6LXdlYmtpdC1kZXRhaWxzLW1hcmtlciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gICZbb3Blbl0gc3VtbWFyeTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDB2dztcbiAgICBoZWlnaHQ6IDEwMHZoO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgfVxuXG4gIHN1bW1hcnk6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogLjVyZW07XG4gICAgaGVpZ2h0OiAuNXJlbTtcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgY3VycmVudENvbG9yO1xuICAgIGJvcmRlci1sZWZ0OiAycHggc29saWQgY3VycmVudENvbG9yO1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDJweDtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSBlYXNlLWluLW91dCAxMDBtcztcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpIHRyYW5zbGF0ZSgwJSwgMCUpO1xuICB9XG5cbiAgc3VtbWFyeTpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgfVxuXG4gICZbb3Blbl0gc3VtbWFyeTphZnRlciB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMTM1ZGVnKSB0cmFuc2xhdGUoNTAlLCAwJSk7XG4gICAgY29sb3I6IHZhcigtLXVuaS1ibHVlLTIwMCk7XG4gIH1cblxuICB1bCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tdW5pLWJsYWNrLTEwMCk7XG4gICAgY29sb3I6IHZhcigtLXVuaS1ncmV5LTMwMCk7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogY2FsYygxMDAlICsgLjVyZW0pO1xuICAgIGxlZnQ6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICBtYXgtaGVpZ2h0OiAyMDBweDtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgcGFkZGluZzogMDtcbiAgICB6LWluZGV4OiAyO1xuICB9XG5cbiAgbGkge1xuICAgIG1hcmdpbjogMDtcbiAgICBoZWlnaHQ6IDNyZW07XG4gICAgcGFkZGluZzogMTBweCAyMHB4O1xuXG4gICAgJjpob3ZlcntcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXVuaS1ncmV5LTQwMCk7XG4gICAgICBjb2xvcjogdmFyKC0tdW5pLWdyZXktMTAwKTtcbiAgICB9XG5cbiAgICAmOmFjdGl2ZXtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXVuaS1ibHVlLTIwMCk7XG4gICAgICBjb2xvcjogdmFyKC0tdW5pLWdyZXktMTAwKTtcbiAgICB9XG4gIH1cblxufVxuIiwiLm5vd3JhcCB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cbiIsIi5uZ3gtdWktdG91cl9iYWNrZHJvcCB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuIiwiLnN3aXRjaF9fY29udGFpbmVyIHtcbiAgbWFyZ2luOiAzMHB4IGF1dG87XG5cbiAgLnN3aXRjaCB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBtYXJnaW4tbGVmdDogLTk5OTlweDtcblxuICAgICYrbGFiZWwge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLnN3aXRjaC0tc2hhZG93OmNoZWNrZWQrbGFiZWw6YmVmb3JlIHtcbiAgICBjb2xvcjogdmFyKC0tdW5pLWdyZXktMTAwKTtcbiAgfVxuXG4gIC5zd2l0Y2gtLXNoYWRvdzpjaGVja2VkK2xhYmVsOmFmdGVyIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNjBweCk7XG4gIH1cblxuICAuc3dpdGNoLS1zaGFkb3crbGFiZWwge1xuICAgIHBhZGRpbmc6IDJweDtcbiAgICB3aWR0aDogMTIwcHg7XG4gICAgaGVpZ2h0OiA2MHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkZGRkZGQ7XG4gICAgYm9yZGVyLXJhZGl1czogNjBweDtcblxuICAgICY6YmVmb3JlLFxuICAgIDphZnRlciB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMXB4O1xuICAgICAgbGVmdDogMXB4O1xuICAgICAgYm90dG9tOiAxcHg7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgIH1cblxuICAgICY6YmVmb3JlIHtcbiAgICAgIHJpZ2h0OiAxcHg7XG4gICAgICBib3JkZXItcmFkaXVzOiA2MHB4O1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjRzO1xuICAgIH1cblxuICAgICY6YWZ0ZXIge1xuICAgICAgd2lkdGg6IDYycHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICAgIGJveC1zaGFkb3c6IDAgMnB4IDVweCByZ2JhKDAsIDAsIDAsIDAuMyk7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC40cztcbiAgICB9XG4gIH1cbn1cblxuLnN3aXRjaC0tZmxhdCtsYWJlbCB7XG4gIHBhZGRpbmc6IDJweDtcbiAgd2lkdGg6IDIwMHB4O1xuICBoZWlnaHQ6IDUwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDYwcHg7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC40cztcbiAgZm9udC13ZWlnaHQ6IGxpZ2h0ZXI7XG59XG5cbi5zd2l0Y2gtLWZsYXQrbGFiZWw6YmVmb3JlLFxuLnN3aXRjaC0tZmxhdCtsYWJlbDphZnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGNvbnRlbnQ6IFwiXCI7XG59XG5cbi5zd2l0Y2gtLWZsYXQrbGFiZWw6YmVmb3JlIHtcbiAgdG9wOiAycHg7XG4gIGxlZnQ6IDJweDtcbiAgYm90dG9tOiAycHg7XG4gIHJpZ2h0OiAycHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXVuaS1ibGFjay00MDApO1xuICBib3JkZXItcmFkaXVzOiA2MHB4O1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuNHM7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcbn1cblxuLnN3aXRjaC0tZmxhdCtsYWJlbDphZnRlciB7XG4gIHRvcDogNHB4O1xuICBsZWZ0OiA0cHg7XG4gIGJvdHRvbTogNHB4O1xuICB3aWR0aDogMTAwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXVuaS1ibHVlLTIwMCk7XG4gIGJvcmRlci1yYWRpdXM6IDUycHg7XG4gIHRyYW5zaXRpb246IG1hcmdpbiAwLjRzLCBiYWNrZ3JvdW5kIDAuNHM7XG4gIGNvbnRlbnQ6IFwiRW50cmFyXCI7XG4gIGNvbG9yOiB2YXIoLS11bmktZ3JleS0xMDApO1xuICBmb250LXNpemU6IDE0cHg7XG5cbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5zd2l0Y2gtLWZsYXQ6Y2hlY2tlZCtsYWJlbDphZnRlciB7XG4gIG1hcmdpbi1sZWZ0OiA5MnB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS11bmktYmx1ZS0yMDApO1xuICBjb250ZW50OiBcIlJlZ2lzdHJhclwiO1xuICBjb2xvcjogdmFyKC0tdW5pLWdyZXktMTAwKTtcblxuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLnN3aXRjaF9fY29udGFpbmVyIGxhYmVsIC5jYW4tdG9nZ2xlX19zd2l0Y2g6YmVmb3JlIHtcbiAgbGVmdDogMTAwcHg7XG4gIHRvcDogNnB4O1xuICBmb250LXNpemU6IDEycHg7XG4gIGxpbmUtaGVpZ2h0OiAzNnB4O1xuICB3aWR0aDogMTAwcHg7XG4gIHBhZGRpbmc6IDAgMTJweDtcbn1cblxuLnN3aXRjaF9fY29udGFpbmVyIGxhYmVsIC5jYW4tdG9nZ2xlX19zd2l0Y2g6YWZ0ZXIge1xuICB0b3A6IDJweDtcbiAgbGVmdDogMnB4O1xuICBib3JkZXItcmFkaXVzOiAycHg7XG4gIHdpZHRoOiA2NXB4O1xuICBsaW5lLWhlaWdodDogMzJweDtcbiAgZm9udC1zaXplOiAxNHB4O1xufVxuXG4uc3dpdGNoX19jb250YWluZXIgbGFiZWwgLmNhbi10b2dnbGVfX3N3aXRjaDpiZWZvcmUge1xuICBjb250ZW50OiBhdHRyKGRhdGEtY2hlY2tlZCk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA3cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1zaXplOiAxNHB4O1xufVxuXG4uc3dpdGNoX19jb250YWluZXIgbGFiZWwgLmNhbi10b2dnbGVfX3N3aXRjaDphZnRlciB7XG4gIGNvbnRlbnQ6IGF0dHIoZGF0YS11bmNoZWNrZWQpO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTBweDtcbiAgbGVmdDogMjBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xufVxuIiwiLnRvb2x0aXAge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBvcGFjaXR5OiAxMDA7XG4gICAgbWFyZ2luLXRvcDogODBweDtcblxuICAgIHN2Z3tcbiAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgIGZpbGw6IHZhcigtLXVuaS1ncmV5LTEwMCk7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiA1MHB4O1xuXG4gICAgICAgICY6aG92ZXJ7XG4gICAgICAgICAgICBmaWxsOiB2YXIoLS11bmktYmx1ZS0yMDApO1xuICAgICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnRvb2x0aXAgLnRvb2x0aXB0ZXh0IHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdW5pLWJsYWNrLTEwMCk7XG4gICAgY29sb3I6IHZhcigtLXVuaS1ncmV5LTEwMCk7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBwYWRkaW5nOiAyMHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgICBtaW4td2lkdGg6IDExMHB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAxO1xuICAgIGJvdHRvbTogMjAwJTtcbiAgICBsZWZ0OiAwJTtcblxuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzO1xuICB9XG5cbiAgLnRvb2x0aXAgLnRvb2x0aXB0ZXh0OjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxMDAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICBtYXJnaW4tbGVmdDogLTVweDtcbiAgICBib3JkZXItd2lkdGg6IDEwcHg7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLXVuaS1ibGFjay0xMDApIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuXG4gIH1cblxuICAudG9vbHRpcDpob3ZlciAudG9vbHRpcHRleHQge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuIiwiLnRhZyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBiYWNrZ3JvdW5kOiAjMjEyNDI5O1xuICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gIG1pbi13aWR0aDogN3JlbTtcbiAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgcGFkZGluZzogMC41cmVtIDFyZW07XG4gIGhlaWdodDogMi41cmVtO1xuICBib3gtc2hhZG93OiAwIDAgMjBweCAycHggcmdiYSgwLDAsMCwwLjIpO1xuICBtYXJnaW46IDFyZW0gMDtcblxuICBAbWVkaWEgKG1heC13aWR0aDogOTAwcHgpIHtcbiAgICBtYXJnaW46IDAuMnJlbSAwO1xuICB9XG5cbiAgJi0tYnVsbGV0IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBiYWNrZ3JvdW5kOiAjZGU0MjQyO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgbWFyZ2luOiAwIDFyZW0gMCAwO1xuICAgIGhlaWdodDogMC41cmVtO1xuICAgIHdpZHRoOiAwLjVyZW07XG4gIH1cblxuICAmLS1saXZlIHtcbiAgICBiYWNrZ3JvdW5kOiAjZGU0MjQyO1xuICB9XG5cbiAgJi0tb25saW5lIHtcbiAgICBiYWNrZ3JvdW5kOiAjMDI3QkM1O1xuICB9XG5cbiAgJi0tcHJlc2VudGlhbCB7XG4gICAgYmFja2dyb3VuZDogIzBEMEQwRDtcbiAgfVxuXG4gICYtLXRpdGxlIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LXNpemU6IHNtYWxsO1xuXG4gICAgJi0tdGltZSB7XG4gICAgICBwYWRkaW5nOiAwIDFyZW07XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuICB9XG5cbiAgJi0tc3RhciB7XG4gICAgZm9udC1zaXplOiBzbWFsbDtcbiAgfVxufVxuXG4vLyBtdWRhciBjb3IgcHJlZW5jaGltZW50byBlc3RyZWxhXG4uYW50LXJhdGUtc3Rhci1mdWxsIHBhdGg6Zmlyc3QtY2hpbGR7XG4gIGZpbGw6IHZhcigtLXVuaS15ZWxsb3ctMTAwKSAhaW1wb3J0YW50O1xufVxuXG4uYW50LXJhdGUtc3Rhci1mdWxsIHBhdGg6bGFzdC1jaGlsZHtcbiAgZmlsbDogdmFyKC0tdW5pLXllbGxvdy0xMDApICFpbXBvcnRhbnQ7XG59XG5cbi5hbnQtcmF0ZS1zdGFyLWZpcnN0IHBhdGg6Zmlyc3QtY2hpbGR7XG4gIGZpbGw6IHZhcigtLXVuaS15ZWxsb3ctMTAwKSAhaW1wb3J0YW50O1xufVxuXG4uYW50LXJhdGUtc3Rhci1oYWxmIHBhdGg6bGFzdC1jaGlsZHtcbiAgZmlsbDogdmFyKC0tdW5pLXllbGxvdy0xMDApICFpbXBvcnRhbnQ7XG59XG5cbi8vIHJldGlyYXIgcHJlZW5jaGltZW50byBkYSBlc3RyZWxhXG4uYW50LXJhdGUtc3Rhci16ZXJve1xuICBwYXRoOmZpcnN0LWNoaWxkIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbiAgLy8gbXVkYXIgY29yIGRhIGVzdHJlbGEgc2VtIHByZWVuY2hpbWVudG9cbiAgcGF0aDpudGgtY2hpbGQoMil7XG4gICAgZmlsbDogd2hpdGUgIWltcG9ydGFudDtcbiAgfVxufVxuIiwiLmNhdGVnb3J5LWljb257XG4gIHdpZHRoOiBmaXQtY29udGVudDtcbiAgcGFkZGluZzogMC41cmVtO1xuICBib3JkZXItcmFkaXVzOiA5cHg7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50IGxpbmVhci1ncmFkaWVudCgyMjdkZWcsICNGMTU3NTQgMCUsICNCNzMwMkUgMTAwJSkgMCUgMCUgbm8tcmVwZWF0IHBhZGRpbmctYm94O1xuXG4gICYtd2hpdGV7XG4gICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgIHBhZGRpbmc6IDAuNXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiA5cHg7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgbGluZWFyLWdyYWRpZW50KDIyN2RlZywgdmFyKC0tdW5pLWdyZXktMjAwKSAwJSwgdmFyKC0tdW5pLWdyZXktMzAwKSAxMDAlKSAwJSAwJSBuby1yZXBlYXQgcGFkZGluZy1ib3g7XG5cbiAgICBpbWd7XG4gICAgICBmaWx0ZXI6IGludmVydCg1MCUpIGJyaWdodG5lc3MoODAlKTtcbiAgICB9XG4gIH1cblxuICAmLWJsdWV7XG4gICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgIHBhZGRpbmc6IDAuNXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiA5cHg7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgbGluZWFyLWdyYWRpZW50KDIxNmRlZywgIzAxQTlGMCAwJSwgIzAzNTdBNSAxMDAlKSAwJSAwJSBuby1yZXBlYXQgcGFkZGluZy1ib3g7XG4gIH1cblxuICAmLWdyZWVue1xuICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICBwYWRkaW5nOiAwLjVyZW07XG4gICAgYm9yZGVyLXJhZGl1czogOXB4O1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50IGxpbmVhci1ncmFkaWVudCgyMjdkZWcsICM0NEMxOEEgMCUsICMxQzcwNEMgMTAwJSkgMCUgMCUgbm8tcmVwZWF0IHBhZGRpbmctYm94O1xuICB9XG5cbiAgJi15ZWxsb3d7XG4gICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgIHBhZGRpbmc6IDAuNXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiA5cHg7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgbGluZWFyLWdyYWRpZW50KDIyN2RlZywgI0Y5QzA1NyAwJSwgI0RCOTUzNyAxMDAlKSAwJSAwJSBuby1yZXBlYXQgcGFkZGluZy1ib3g7XG4gIH1cblxuICAmLXJlZHtcbiAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgcGFkZGluZzogMC41cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDlweDtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCBsaW5lYXItZ3JhZGllbnQoMjI3ZGVnLCAjRjE1NzU0IDAlLCAjQjczMDJFIDEwMCUpIDAlIDAlIG5vLXJlcGVhdCBwYWRkaW5nLWJveDtcbiAgfVxuXG4gICYtcHVycGxle1xuICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICBwYWRkaW5nOiAwLjVyZW07XG4gICAgYm9yZGVyLXJhZGl1czogOXB4O1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50IGxpbmVhci1ncmFkaWVudCgyMjdkZWcsICNCQzAwRjQgMCUsICM4NDAwQUIgMTAwJSkgMCUgMCUgbm8tcmVwZWF0IHBhZGRpbmctYm94O1xuICB9XG59XG4iLCIuZHJvcGRvd24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdW5pLWJsYWNrLTEwMCk7XG4gIHRvcDogMDtcblxuICBidXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICB3aWR0aDogNzVweDtcbiAgICBoZWlnaHQ6IDYwcHg7XG4gICAgcGFkZGluZy10b3A6IDVweDtcblxuICAgIC5pY29uLS1ub3RpZmljYXRpb25zIHtcbiAgICAgIHdpZHRoOiAyMHB4O1xuICAgIH1cblxuICAgIC5pY29uLS1hcnJvdyB7XG4gICAgICB3aWR0aDogMTBweDtcbiAgICB9XG5cbiAgICAudXNlci0tYXZhdGFyIHtcbiAgICAgIHdpZHRoOiAzNXB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuXG4gICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICB9XG5cbiAgICBAbWVkaWEobWF4LXdpZHRoOiA0MjZweCkge1xuICAgICAgaGVpZ2h0OiA1MHB4O1xuICAgICAgd2lkdGg6IDUwcHg7XG4gICAgfVxuICB9XG5cbiAgJi0tbm90aWZpY2F0aW9ucyB7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMjBweDtcblxuICAgIGJ1dHRvbiB7XG4gICAgICB3aWR0aDogNjBweDtcbiAgICB9XG4gIH1cblxuICAmLS1wcm9maWxlIHtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMjBweDtcbiAgICBib3JkZXItbGVmdDogMC41cHggc29saWQgdmFyKC0tdW5pLWdyZXktNDAwKTtcbiAgfVxuXG4gICYtLWljb25zIHtcbiAgICB3aWR0aDogMjBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gIH1cbn1cblxuLmRyb3Bkb3duLWNvbnRlbnQge1xuICBib3JkZXItcmFkaXVzOiAyMHB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDYycHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXVuaS1ibGFjay0xMDApO1xuICBtaW4td2lkdGg6IDIwMHB4O1xuICBib3gtc2hhZG93OiAwIDhweCAxNnB4IDAgcmdiYSgwLCAwLCAwLCAwLjIpO1xuICB6LWluZGV4OiAxO1xuICBhbmltYXRpb246IGZhZGVJbiAwLjNzIGxpbmVhcjtcblxuICBhLCBhIGltZyB7XG4gICAgb3BhY2l0eTogMSAhaW1wb3J0YW50O1xuICB9XG5cbiAgJi1ub3RpZmljYXRpb25zIHtcbiAgICBwYWRkaW5nOiAyMHB4O1xuICAgIG1pbi13aWR0aDogNTAwcHg7XG4gICAgYmFja2dyb3VuZDogcmdiKDIxLCAyMiwgMjYpO1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgcmdiYSgyMSwgMjIsIDI2LCAxKSAwJSwgcmdiYSgzMywgMzYsIDQxLCAxKSA1MCUsIHJnYmEoMjEsIDIyLCAyNiwgMSkgMTAwJSk7XG5cbiAgICAmLS1oZWFkZXIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuXG4gICAgICBzcGFuIHtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgfVxuICAgIH1cblxuICAgICYtLWZvb3RlciB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIG9wYWNpdHk6IDc1JTtcblxuICAgICAgc3BhbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmRyb3Bkb3duLWNvbnRlbnQgYSB7XG4gIGNvbG9yOiBibGFjaztcbiAgcGFkZGluZzogMTJweCAxNnB4O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBvcGFjaXR5OiA4MCU7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4zcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcblxuICBpbWcge1xuICAgIG9wYWNpdHk6IDUwJTtcbiAgfVxuXG4gICY6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLXVuaS1ncmV5LTQwMCk7XG4gIH1cbiAgXG4gICY6Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci1yYWRpdXM6IDIwcHggMjBweCAwIDA7XG4gIH1cblxuICAmOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAyMHB4IDIwcHg7XG4gIH1cblxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS11bmktZ3JleS00MDApO1xuICAgIG9wYWNpdHk6IDkwJTtcblxuICAgIGltZyB7XG4gICAgICBvcGFjaXR5OiA5MCU7XG4gICAgfVxuXG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICBib3JkZXItcmFkaXVzOiAyMHB4IDIwcHggMCAwO1xuICAgIH1cblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBib3JkZXItcmFkaXVzOiAwIDAgMjBweCAyMHB4O1xuICAgIH1cbiAgfVxufVxuXG4uZHJvcGRvd246aG92ZXIgLmRyb3BidG4ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2U4ZTQxO1xufVxuIiwiLnVuaS1ub3RpZmljYXRpb24ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDIwcHg7XG4gIG1hcmdpbi1ib3R0b206IDhweDtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuXG4gICYtLWNvbnRlbnQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICYtLWljb24ge1xuICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gICAgfVxuXG4gICAgJi0tdGV4dCB7XG4gICAgICBmb250LXNpemU6IDE3cHg7XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcblxuICAgICAgc3BhbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgY29sb3I6IHZhcigtLXVuaS1ncmV5LTIwMCkgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLS1pY29uIHtcbiAgICB3aWR0aDogMzBweDtcbiAgICBvcGFjaXR5OiA3MCU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG5cbiAgJi10eXBlLW5vdGlmaWNhdGlvbiB7XG4gICAgYm9yZGVyOiAwLjVweCBzb2xpZCB2YXIoLS11bmktYmx1ZS0xMDApO1xuICAgIGJhY2tncm91bmQ6IHJnYigyOSwgNjYsIDgyKTtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsIHJnYmEoMjksIDY2LCA4MiwgMSkgMCUsIHJnYmEoMzEsIDM0LCAzOSwgMSkgNTElLCByZ2JhKDIxLCAyMiwgMjYsIDEpIDEwMCUpO1xuXG4gICAgaDMge1xuICAgICAgY29sb3I6IHZhcigtLXVuaS1ibHVlLTIwMCk7XG4gICAgfVxuICB9XG5cbiAgJi10eXBlLXN1Y2Nlc3Mge1xuICAgIGJvcmRlcjogMC41cHggc29saWQgdmFyKC0tdW5pLWdyZWVuLTEwMCk7XG4gICAgYmFja2dyb3VuZDogcmdiKDI5LCA4MiwgNTgpO1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgcmdiYSgyOSwgODIsIDU4LCAxKSAwJSwgcmdiYSgzMSwgMzQsIDM5LCAxKSA1MSUsIHJnYmEoMjEsIDIyLCAyNiwgMSkgMTAwJSk7XG5cbiAgICBoMyB7XG4gICAgICBjb2xvcjogdmFyKC0tdW5pLWdyZWVuLTIwMCk7XG4gICAgfVxuICB9XG5cbiAgJi10eXBlLWVycm9yIHtcbiAgICBib3JkZXI6IDAuNXB4IHNvbGlkIHZhcigtLXVuaS1yZWQtMTAwKTtcbiAgICBiYWNrZ3JvdW5kOiByZ2IoODIsIDI5LCAyOCk7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCByZ2JhKDgyLCAyOSwgMjgsIDEpIDAlLCByZ2JhKDMxLCAzNCwgMzksIDEpIDUxJSwgcmdiYSgyMSwgMjIsIDI2LCAxKSAxMDAlKTtcblxuICAgIGgzIHtcbiAgICAgIGNvbG9yOiB2YXIoLS11bmktcmVkLTIwMCk7XG4gICAgfVxuICB9XG5cbiAgJi10eXBlLXdhcm5pbmcge1xuICAgIGJvcmRlcjogMC41cHggc29saWQgdmFyKC0tdW5pLXllbGxvdy0xMDApO1xuICAgIGJhY2tncm91bmQ6IHJnYig4MSwgNjMsIDI5KTtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsIHJnYmEoODEsIDYzLCAyOSwgMSkgMCUsIHJnYmEoMzEsIDM0LCAzOSwgMSkgNTElLCByZ2JhKDIxLCAyMiwgMjYsIDEpIDEwMCUpO1xuXG4gICAgaDMge1xuICAgICAgY29sb3I6IHZhcigtLXVuaS15ZWxsb3ctMjAwKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ== */
