@font-face {
  font-family: "Juana";
  src: url("/fonts/Juana-BlackIt.woff2") format("woff2");
  font-weight: 900;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "Juana";
  src: url("/fonts/Juana-Black.woff2") format("woff2");
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Noah Head";
  src: url("/fonts/NoahHead-BlackItalic.woff2") format("woff2");
  font-weight: 900;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "Noah Head";
  src: url("/fonts/NoahHead-Black.woff2") format("woff2");
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Noah Text";
  src: url("/fonts/NoahText-RegularItalic.woff2") format("woff2");
  font-weight: normal;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "Noah Text";
  src: url("/fonts/NoahText-Regular.woff2") format("woff2");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
/*---TEXT AND FONT---*/
/*---BACKGROUND---*/
/*---POSITIONING---*/
/*---CONTENT---*/
/*---LISTS---*/
/*---BORDER ARROWS---*/
/**Forms**/
/** DEFAULT OVERRIDES **/
@-webkit-keyframes toggle-grow-in {
  0% {
    border-radius: 0.6875em;
    -webkit-transform: translateX(0) scale(1);
            transform: translateX(0) scale(1);
  }
  100% {
    border-radius: 0.4448529412em / 0.9453125em;
    -webkit-transform: translateX(0.5em) scale(1.5454545455, 0.7272727273);
            transform: translateX(0.5em) scale(1.5454545455, 0.7272727273);
  }
}
@keyframes toggle-grow-in {
  0% {
    border-radius: 0.6875em;
    -webkit-transform: translateX(0) scale(1);
            transform: translateX(0) scale(1);
  }
  100% {
    border-radius: 0.4448529412em / 0.9453125em;
    -webkit-transform: translateX(0.5em) scale(1.5454545455, 0.7272727273);
            transform: translateX(0.5em) scale(1.5454545455, 0.7272727273);
  }
}
@-webkit-keyframes toggle-bounce-in {
  0% {
    border-radius: 0.4448529412em / 0.9453125em;
    -webkit-transform: translateX(0.5em) scale(1.5454545455, 0.7272727273);
            transform: translateX(0.5em) scale(1.5454545455, 0.7272727273);
  }
  100% {
    border-radius: 0.6875em;
    -webkit-transform: translateX(100%) scale(1);
            transform: translateX(100%) scale(1);
  }
}
@keyframes toggle-bounce-in {
  0% {
    border-radius: 0.4448529412em / 0.9453125em;
    -webkit-transform: translateX(0.5em) scale(1.5454545455, 0.7272727273);
            transform: translateX(0.5em) scale(1.5454545455, 0.7272727273);
  }
  100% {
    border-radius: 0.6875em;
    -webkit-transform: translateX(100%) scale(1);
            transform: translateX(100%) scale(1);
  }
}
@-webkit-keyframes toggle-grow-out {
  0% {
    border-radius: 0.6875em;
    -webkit-transform: translateX(100%) scale(1);
            transform: translateX(100%) scale(1);
  }
  100% {
    border-radius: 0.4448529412em / 0.9453125em;
    -webkit-transform: translateX(0.125em) scale(1.5454545455, 0.7272727273);
            transform: translateX(0.125em) scale(1.5454545455, 0.7272727273);
  }
}
@keyframes toggle-grow-out {
  0% {
    border-radius: 0.6875em;
    -webkit-transform: translateX(100%) scale(1);
            transform: translateX(100%) scale(1);
  }
  100% {
    border-radius: 0.4448529412em / 0.9453125em;
    -webkit-transform: translateX(0.125em) scale(1.5454545455, 0.7272727273);
            transform: translateX(0.125em) scale(1.5454545455, 0.7272727273);
  }
}
@-webkit-keyframes toggle-bounce-out {
  0% {
    border-radius: 0.4448529412em / 0.9453125em;
    -webkit-transform: translateX(0.125em) scale(1.5454545455, 0.7272727273);
            transform: translateX(0.125em) scale(1.5454545455, 0.7272727273);
  }
  100% {
    border-radius: 0.6875em;
    -webkit-transform: translateX(0) scale(1);
            transform: translateX(0) scale(1);
  }
}
@keyframes toggle-bounce-out {
  0% {
    border-radius: 0.4448529412em / 0.9453125em;
    -webkit-transform: translateX(0.125em) scale(1.5454545455, 0.7272727273);
            transform: translateX(0.125em) scale(1.5454545455, 0.7272727273);
  }
  100% {
    border-radius: 0.6875em;
    -webkit-transform: translateX(0) scale(1);
            transform: translateX(0) scale(1);
  }
}
*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

*:focus-visible, *.focus-visible {
  outline: 0.16em solid white !important;
  -webkit-box-shadow: 0 0 0 0.32em black !important;
          box-shadow: 0 0 0 0.32em black !important;
}

body[data-reduce-animation=true] *,
body[data-reduce-animation=true] *::before,
body[data-reduce-animation=true] *::after {
  -webkit-animation-duration: 0.01ms !important;
          animation-duration: 0.01ms !important;
  -webkit-animation-iteration-count: 1 !important;
          animation-iteration-count: 1 !important;
  -webkit-transition-duration: 0.01ms !important;
          transition-duration: 0.01ms !important;
  scroll-behavior: auto !important;
}

html {
  min-height: 100vh;
  margin: 0;
  padding: 0;
  overflow-y: auto;
  -webkit-text-size-adjust: 100%;
}

[data-active-zone=slides] {
  overflow-y: scroll;
  scrollbar-gutter: stable;
}

html[data-dialog-hide-overflow=true] {
  overflow: hidden !important;
}

body {
  position: relative;
  margin: 0;
  padding: 0;
  scroll-behavior: smooth;
  text-rendering: optimizeSpeed;
  line-height: 1.1;
  font-size: 16px;
  font-family: "Noah Text", "HelveticaNeue", "Helvetica Neue", "Helvetica", "Arial", sans-serif;
  position: absolute;
  width: 100%;
  height: 100%;
}

img {
  max-width: 100%;
  display: block;
  height: auto;
}

article > * + * {
  margin-top: 1em;
}

input,
button,
textarea,
select {
  font: inherit;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0;
}

p {
  margin: 0.35em 0 0.85em;
  line-height: 1.55em;
}

ol,
ul {
  text-align: left;
  margin: 0.4em 0 0.75em;
}

li {
  line-height: 1.5em;
}

iframe {
  width: 100%;
  margin-bottom: 10px;
  border: 2px solid #ebebec;
}

button {
  margin: 0;
  border: 0;
  border-radius: 0;
  padding: 0;
  background: none;
}

a {
  color: #1D418E;
  background-color: white;
  -webkit-transition: 200ms;
  transition: 200ms;
}
@media (hover: hover) and (pointer: fine) {
  a:hover {
    color: #00325D;
    background-color: white;
  }
}
[data-browser=ie] a:hover {
  color: #00325D;
  background-color: white;
}
.ie a:hover {
  color: #00325D;
  background-color: white;
}
a.focus-visible {
  color: #00325D;
  background-color: white;
}
a:focus-visible {
  color: #00325D;
  background-color: white;
}
a .targetBlankNotifier {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}
a .icon-mail {
  font-size: 0.9em;
  -webkit-transform: translateY(1px);
          transform: translateY(1px);
  display: inline-block;
  margin-right: 0.25em;
}
a .icon-external-link {
  font-size: 0.8em;
  margin-left: 0.25em;
}

@media (max-width: 800px) {
  iframe {
    border: none;
  }
}
willis-zone {
  display: block;
}

[inert] {
  overflow: hidden;
  pointer-events: none;
}

willis-dialog:not([data-open=true]) {
  display: none !important;
}

.dialogBackdrop {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.slide .dialogBackdrop {
  height: 100%;
}

.dialogInner {
  position: relative;
}

[data-dialog-style=modal] {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  overflow-y: auto;
  scrollbar-color: #444444 #f5f5f5;
  scrollbar-width: thin;
}
[data-dialog-style=modal]::-webkit-scrollbar-track {
  -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
  background-color: #f5f5f5;
}
[data-dialog-style=modal]::-webkit-scrollbar {
  width: 5px;
  height: 5px;
  background-color: #f5f5f5;
}
[data-dialog-style=modal]::-webkit-scrollbar-thumb {
  background-color: #444444;
}
[data-dialog-style=modal] div[role=dialog] {
  width: 580px;
  margin: auto;
}
[data-dialog-style=modal] div[role=dialog].reportNeeded {
  width: 80%;
  max-width: 1000px;
}

[data-dialog-style=largeModal] {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  overflow-y: auto;
  scrollbar-color: #444444 #f5f5f5;
  scrollbar-width: thin;
}
[data-dialog-style=largeModal]::-webkit-scrollbar-track {
  -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
  background-color: #f5f5f5;
}
[data-dialog-style=largeModal]::-webkit-scrollbar {
  width: 5px;
  height: 5px;
  background-color: #f5f5f5;
}
[data-dialog-style=largeModal]::-webkit-scrollbar-thumb {
  background-color: #444444;
}
[data-dialog-style=largeModal] div[role=dialog] {
  width: 800px;
  max-width: 100vw;
  margin: auto;
}

[data-dialog-style=shade] {
  overflow-y: scroll;
}
[data-dialog-style=shade] div[role=dialog] {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  text-align: center;
  background-color: #93C2F8;
  color: black;
}
[data-dialog-style=shade] div[role=dialog] .dialogLabel {
  max-width: 800px;
}
[data-dialog-style=shade] div[role=dialog] .dialogContent {
  max-width: 800px;
}
[data-dialog-style=shade] div[role=dialog] .dialogActions {
  max-width: 800px;
}

[data-dialog-style^=sidebar] {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  overflow-y: scroll;
  overflow-x: hidden;
}
[data-dialog-style^=sidebar][data-dialog-style=sidebarLeft] {
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}
[data-dialog-style^=sidebar][data-dialog-style=sidebarRight] {
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}
[data-dialog-style^=sidebar] div[role=dialog] {
  width: 440px;
}

[data-dialog-style^=full] {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  overflow: hidden;
}
[data-dialog-style^=full] div[role=dialog] {
  overflow-y: scroll;
  width: 100%;
  height: 100%;
}

@media (max-width: 600px) {
  [data-dialog-style^=sidebar] div[role=dialog] {
    width: 100%;
    min-width: 0;
  }
  [data-dialog-style=modal] div[role=dialog] {
    width: 100%;
  }
}
div[data-dialog-animation-speed=glacial] {
  -webkit-animation-duration: 3000ms;
          animation-duration: 3000ms;
}

div[data-dialog-animation-speed=verySlow] {
  -webkit-animation-duration: 1000ms;
          animation-duration: 1000ms;
}

div[data-dialog-animation-speed=slow] {
  -webkit-animation-duration: 800ms;
          animation-duration: 800ms;
}

div[data-dialog-animation-speed=medium] {
  -webkit-animation-duration: 500ms;
          animation-duration: 500ms;
}

div[data-dialog-animation-speed=fast] {
  -webkit-animation-duration: 300ms;
          animation-duration: 300ms;
}

div[data-dialog-animation-speed=veryFast] {
  -webkit-animation-duration: 200ms;
          animation-duration: 200ms;
}

.dialogBackdrop {
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
  -webkit-animation-duration: 200ms;
          animation-duration: 200ms;
}
.dialogBackdrop.in {
  -webkit-animation-name: fadeIn;
          animation-name: fadeIn;
}
.dialogBackdrop.out {
  -webkit-animation-name: fadeOut;
          animation-name: fadeOut;
}

div[role=dialog] {
  position: relative;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
}

@-webkit-keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
div[data-dialog-animation-name=fadeIn] {
  -webkit-animation-name: fadeIn;
          animation-name: fadeIn;
}

@-webkit-keyframes fadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}

@keyframes fadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
div[data-dialog-animation-name=fadeOut] {
  -webkit-animation-name: fadeOut;
          animation-name: fadeOut;
}

@-webkit-keyframes fadeTopIn {
  from {
    opacity: 0;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0%);
            transform: translateY(0%);
  }
}

@keyframes fadeTopIn {
  from {
    opacity: 0;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0%);
            transform: translateY(0%);
  }
}
div[data-dialog-animation-name=fadeTopIn] {
  -webkit-animation-name: fadeTopIn;
          animation-name: fadeTopIn;
}

@-webkit-keyframes fadeTopOut {
  from {
    opacity: 1;
    -webkit-transform: translateY(0%);
            transform: translateY(0%);
  }
  to {
    opacity: 0;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
}

@keyframes fadeTopOut {
  from {
    opacity: 1;
    -webkit-transform: translateY(0%);
            transform: translateY(0%);
  }
  to {
    opacity: 0;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
}
div[data-dialog-animation-name=fadeTopOut] {
  -webkit-animation-name: fadeTopOut;
          animation-name: fadeTopOut;
}

@-webkit-keyframes fadeBottomIn {
  from {
    opacity: 0;
    -webkit-transform: translateY(50%);
            transform: translateY(50%);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0%);
            transform: translateY(0%);
  }
}

@keyframes fadeBottomIn {
  from {
    opacity: 0;
    -webkit-transform: translateY(50%);
            transform: translateY(50%);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0%);
            transform: translateY(0%);
  }
}
div[data-dialog-animation-name=fadeBottomIn] {
  -webkit-animation-name: fadeBottomIn;
          animation-name: fadeBottomIn;
}

@-webkit-keyframes fadeBottomOut {
  from {
    opacity: 1;
    -webkit-transform: translateY(0%);
            transform: translateY(0%);
  }
  to {
    opacity: 0;
    -webkit-transform: translateY(50%);
            transform: translateY(50%);
  }
}

@keyframes fadeBottomOut {
  from {
    opacity: 1;
    -webkit-transform: translateY(0%);
            transform: translateY(0%);
  }
  to {
    opacity: 0;
    -webkit-transform: translateY(50%);
            transform: translateY(50%);
  }
}
div[data-dialog-animation-name=fadeBottomOut] {
  -webkit-animation-name: fadeBottomOut;
          animation-name: fadeBottomOut;
}

@-webkit-keyframes fadeRightIn {
  from {
    opacity: 0;
    -webkit-transform: translateX(50%);
            transform: translateX(50%);
  }
  to {
    opacity: 1;
    -webkit-transform: translateX(0%);
            transform: translateX(0%);
  }
}

@keyframes fadeRightIn {
  from {
    opacity: 0;
    -webkit-transform: translateX(50%);
            transform: translateX(50%);
  }
  to {
    opacity: 1;
    -webkit-transform: translateX(0%);
            transform: translateX(0%);
  }
}
div[data-dialog-animation-name=fadeRightIn] {
  -webkit-animation-name: fadeRightIn;
          animation-name: fadeRightIn;
}

@-webkit-keyframes fadeRightOut {
  from {
    opacity: 1;
    -webkit-transform: translateX(0%);
            transform: translateX(0%);
  }
  to {
    opacity: 0;
    -webkit-transform: translateX(50%);
            transform: translateX(50%);
  }
}

@keyframes fadeRightOut {
  from {
    opacity: 1;
    -webkit-transform: translateX(0%);
            transform: translateX(0%);
  }
  to {
    opacity: 0;
    -webkit-transform: translateX(50%);
            transform: translateX(50%);
  }
}
div[data-dialog-animation-name=fadeRightOut] {
  -webkit-animation-name: fadeRightOut;
          animation-name: fadeRightOut;
}

@-webkit-keyframes fadeLeftIn {
  from {
    opacity: 0;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
  to {
    opacity: 1;
    -webkit-transform: translateX(0%);
            transform: translateX(0%);
  }
}

@keyframes fadeLeftIn {
  from {
    opacity: 0;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
  to {
    opacity: 1;
    -webkit-transform: translateX(0%);
            transform: translateX(0%);
  }
}
div[data-dialog-animation-name=fadeLeftIn] {
  -webkit-animation-name: fadeLeftIn;
          animation-name: fadeLeftIn;
}

@-webkit-keyframes fadeLeftOut {
  from {
    opacity: 1;
    -webkit-transform: translateX(0%);
            transform: translateX(0%);
  }
  to {
    opacity: 0;
    -webkit-transform: translateX(50%);
            transform: translateX(50%);
  }
}

@keyframes fadeLeftOut {
  from {
    opacity: 1;
    -webkit-transform: translateX(0%);
            transform: translateX(0%);
  }
  to {
    opacity: 0;
    -webkit-transform: translateX(50%);
            transform: translateX(50%);
  }
}
div[data-dialog-animation-name=fadeLeftOut] {
  -webkit-animation-name: fadeLeftOut;
          animation-name: fadeLeftOut;
}

@-webkit-keyframes slideTopIn {
  from {
    -webkit-transform: translateY(-100%);
            transform: translateY(-100%);
  }
  to {
    -webkit-transform: translateY(0%);
            transform: translateY(0%);
  }
}

@keyframes slideTopIn {
  from {
    -webkit-transform: translateY(-100%);
            transform: translateY(-100%);
  }
  to {
    -webkit-transform: translateY(0%);
            transform: translateY(0%);
  }
}
div[data-dialog-animation-name=slideTopIn] {
  -webkit-animation-name: slideTopIn;
          animation-name: slideTopIn;
}
@media (max-width: 800px) {
  div[data-dialog-animation-name=slideTopIn] {
    -webkit-animation-name: slideBottomIn;
            animation-name: slideBottomIn;
  }
}

@-webkit-keyframes slideTopOut {
  from {
    -webkit-transform: translateY(0%);
            transform: translateY(0%);
  }
  to {
    -webkit-transform: translateY(-100%);
            transform: translateY(-100%);
  }
}

@keyframes slideTopOut {
  from {
    -webkit-transform: translateY(0%);
            transform: translateY(0%);
  }
  to {
    -webkit-transform: translateY(-100%);
            transform: translateY(-100%);
  }
}
div[data-dialog-animation-name=slideTopOut] {
  -webkit-animation-name: slideTopOut;
          animation-name: slideTopOut;
}
@media (max-width: 800px) {
  div[data-dialog-animation-name=slideTopOut] {
    -webkit-animation-name: slideBottomOut;
            animation-name: slideBottomOut;
  }
}

@-webkit-keyframes slideBottomIn {
  from {
    -webkit-transform: translateY(150%);
            transform: translateY(150%);
  }
  to {
    -webkit-transform: translateY(0%);
            transform: translateY(0%);
  }
}

@keyframes slideBottomIn {
  from {
    -webkit-transform: translateY(150%);
            transform: translateY(150%);
  }
  to {
    -webkit-transform: translateY(0%);
            transform: translateY(0%);
  }
}
div[data-dialog-animation-name=slideBottomIn] {
  -webkit-animation-name: slideBottomIn;
          animation-name: slideBottomIn;
}

@-webkit-keyframes slideBottomOut {
  from {
    -webkit-transform: translateY(0%);
            transform: translateY(0%);
  }
  to {
    -webkit-transform: translateY(200%);
            transform: translateY(200%);
  }
}

@keyframes slideBottomOut {
  from {
    -webkit-transform: translateY(0%);
            transform: translateY(0%);
  }
  to {
    -webkit-transform: translateY(200%);
            transform: translateY(200%);
  }
}
div[data-dialog-animation-name=slideBottomOut] {
  -webkit-animation-name: slideBottomOut;
          animation-name: slideBottomOut;
}

@-webkit-keyframes slideRightIn {
  from {
    -webkit-transform: translateX(100%);
            transform: translateX(100%);
  }
  to {
    -webkit-transform: translateX(0%);
            transform: translateX(0%);
  }
}

@keyframes slideRightIn {
  from {
    -webkit-transform: translateX(100%);
            transform: translateX(100%);
  }
  to {
    -webkit-transform: translateX(0%);
            transform: translateX(0%);
  }
}
div[data-dialog-animation-name=slideRightIn] {
  -webkit-animation-name: slideRightIn;
          animation-name: slideRightIn;
}
@media (max-width: 800px) {
  div[data-dialog-animation-name=slideRightIn] {
    -webkit-animation-name: slideBottomIn;
            animation-name: slideBottomIn;
  }
}

@-webkit-keyframes slideRightOut {
  from {
    -webkit-transform: translateX(0%);
            transform: translateX(0%);
  }
  to {
    -webkit-transform: translateX(100%);
            transform: translateX(100%);
  }
}

@keyframes slideRightOut {
  from {
    -webkit-transform: translateX(0%);
            transform: translateX(0%);
  }
  to {
    -webkit-transform: translateX(100%);
            transform: translateX(100%);
  }
}
div[data-dialog-animation-name=slideRightOut] {
  -webkit-animation-name: slideRightOut;
          animation-name: slideRightOut;
}
@media (max-width: 800px) {
  div[data-dialog-animation-name=slideRightOut] {
    -webkit-animation-name: slideBottomOut;
            animation-name: slideBottomOut;
  }
}

@-webkit-keyframes slideLeftIn {
  from {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
  }
  to {
    -webkit-transform: translateX(0%);
            transform: translateX(0%);
  }
}

@keyframes slideLeftIn {
  from {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
  }
  to {
    -webkit-transform: translateX(0%);
            transform: translateX(0%);
  }
}
div[data-dialog-animation-name=slideLeftIn] {
  -webkit-animation-name: slideLeftIn;
          animation-name: slideLeftIn;
}

@-webkit-keyframes slideLeftOut {
  from {
    -webkit-transform: translateX(0%);
            transform: translateX(0%);
  }
  to {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
  }
}

@keyframes slideLeftOut {
  from {
    -webkit-transform: translateX(0%);
            transform: translateX(0%);
  }
  to {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
  }
}
div[data-dialog-animation-name=slideLeftOut] {
  -webkit-animation-name: slideLeftOut;
          animation-name: slideLeftOut;
}

.dialogBackdrop {
  background: rgba(147, 194, 248, 0.7);
}

.dialogContent {
  margin: 10px 0;
}

.dialogActions.generated button.closeDialog .icon:before {
  font-family: "spelman";
  content: "b";
}

button.closeDialog .icon:before {
  font-family: "spelman";
  content: "b";
}

.dialogLabel h2 {
  margin-bottom: 15px;
}

[data-dialog-style=modal] {
  padding: 20px;
}
.safari [data-dialog-style=modal] {
  padding: 20px 20px 150px;
}
[data-dialog-style=modal] .dialogInner {
  border-radius: 0;
  padding: 20px;
  text-align: center;
  background-color: #fff;
  color: black;
  -webkit-box-shadow: 0 0.8px 1.7px rgba(0, 0, 0, 0.014), 0 1.9px 4.1px rgba(0, 0, 0, 0.02), 0 3.6px 7.8px rgba(0, 0, 0, 0.025), 0 6.5px 13.8px rgba(0, 0, 0, 0.03), 0 12.1px 25.9px rgba(0, 0, 0, 0.036), 0 29px 62px rgba(0, 0, 0, 0.05);
          box-shadow: 0 0.8px 1.7px rgba(0, 0, 0, 0.014), 0 1.9px 4.1px rgba(0, 0, 0, 0.02), 0 3.6px 7.8px rgba(0, 0, 0, 0.025), 0 6.5px 13.8px rgba(0, 0, 0, 0.03), 0 12.1px 25.9px rgba(0, 0, 0, 0.036), 0 29px 62px rgba(0, 0, 0, 0.05);
}
[data-dialog-style=modal] button.closeDialog {
  position: relative;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 0.7em 1.5em;
  border-width: 0;
  border-style: solid;
  border-color: #142e64;
  line-height: 1.1em;
  text-align: center;
  border-radius: 0;
  font-family: "Noah Head", "HelveticaNeue", "Helvetica Neue", "Helvetica", "Arial", sans-serif;
  font-weight: 900;
  outline-offset: 0;
  text-decoration: none;
  -webkit-transition: all 200ms;
  transition: all 200ms;
  background-color: #1D418E;
  color: white;
}
@media (hover: hover) and (pointer: fine) {
  [data-dialog-style=modal] button.closeDialog:hover {
    -webkit-transform: scale(1.03);
            transform: scale(1.03);
    text-decoration: none;
    background-color: #FED34C;
    color: black;
    border-color: #fec719;
    cursor: pointer;
  }
}
[data-browser=ie] [data-dialog-style=modal] button.closeDialog:hover {
  -webkit-transform: scale(1.03);
          transform: scale(1.03);
  text-decoration: none;
  background-color: #FED34C;
  color: black;
  border-color: #fec719;
  cursor: pointer;
}
.ie [data-dialog-style=modal] button.closeDialog:hover {
  -webkit-transform: scale(1.03);
          transform: scale(1.03);
  text-decoration: none;
  background-color: #FED34C;
  color: black;
  border-color: #fec719;
  cursor: pointer;
}
[data-dialog-style=modal] button.closeDialog.focus-visible {
  -webkit-transform: scale(1.03);
          transform: scale(1.03);
  text-decoration: none;
  background-color: #FED34C;
  color: black;
  border-color: #fec719;
  cursor: pointer;
}
[data-dialog-style=modal] button.closeDialog:focus-visible {
  -webkit-transform: scale(1.03);
          transform: scale(1.03);
  text-decoration: none;
  background-color: #FED34C;
  color: black;
  border-color: #fec719;
  cursor: pointer;
}
[data-dialog-style=modal] button.closeDialog[disabled], [data-dialog-style=modal] button.closeDialog[aria-disabled=true] {
  opacity: 0.5;
  cursor: not-allowed;
}
[data-dialog-style=modal] button.closeDialog .icon {
  display: none;
}

.safari [data-dialog-style=largeModal] {
  padding: 20px 20px 150px;
}
[data-dialog-style=largeModal] .dialogInner {
  border-radius: 0;
  padding: 20px;
  background-color: #fff;
  color: black;
}
[data-dialog-style=largeModal] .dialogLabel {
  text-align: center;
  margin-bottom: 20px;
  border-bottom: 1px solid #1D418E;
  padding: 8px 10px 20px;
}
[data-dialog-style=largeModal] .dialogLabel h2 {
  margin: 0;
  padding: 0;
  font-size: 1.35em;
  color: #1D418E;
  text-transform: initial;
}

[data-dialog-style=shade] .dialogInner {
  border-radius: 0 0 0 0;
  padding: 20px;
}

[data-dialog-style^=sidebar] .dialogInner {
  min-height: 100%;
}
[data-dialog-style^=sidebar][data-dialog-style=sidebarLeft] .dialogInner {
  border-radius: 0 0 0 0;
  padding: 20px;
}
[data-dialog-style^=sidebar][data-dialog-style=sidebarRight] .dialogInner {
  border-radius: 0 0 0 0;
  padding: 20px;
}

[data-dialog-style^=full] .dialogInner {
  padding: 20px;
}

.simpleDialog {
  background-color: #fff;
  color: black;
  border-radius: 0;
}

@media (max-width: 800px) {
  [data-dialog-style^=sidebar][data-dialog-style=sidebarRight] .dialogInner {
    border-radius: 0;
  }
  [data-dialog-style=modal] div[role=dialog] {
    width: 100%;
  }
}
@media (max-width: 650px) {
  [data-dialog-style=modal] div[role=dialog].reportNeeded {
    width: 100%;
  }
}
@media (max-width: 520px) {
  .safari [data-dialog-style=modal][data-backdrop-for=accessibilityPrefs] {
    padding: 20px 20px 150px;
  }
}
.fieldWrapper,
.umbraco-forms-field.shortanswer,
.umbraco-forms-field.date,
.umbraco-forms-field.password {
  position: relative;
  max-width: 500px;
}
.fieldWrapper label:not(.checkboxLabel),
.umbraco-forms-field.shortanswer label:not(.checkboxLabel),
.umbraco-forms-field.date label:not(.checkboxLabel),
.umbraco-forms-field.password label:not(.checkboxLabel) {
  line-height: 1;
  white-space: normal;
}
.fieldWrapper input:not([type=checkbox]):not([type=radio]),
.umbraco-forms-field.shortanswer input:not([type=checkbox]):not([type=radio]),
.umbraco-forms-field.date input:not([type=checkbox]):not([type=radio]),
.umbraco-forms-field.password input:not([type=checkbox]):not([type=radio]) {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  position: relative;
  white-space: normal;
  line-height: 1;
  min-width: 100%;
  max-width: 100%;
  max-height: 120px;
}
.fieldWrapper input::-ms-reveal,
.fieldWrapper input::-ms-clear,
.umbraco-forms-field.shortanswer input::-ms-reveal,
.umbraco-forms-field.shortanswer input::-ms-clear,
.umbraco-forms-field.date input::-ms-reveal,
.umbraco-forms-field.date input::-ms-clear,
.umbraco-forms-field.password input::-ms-reveal,
.umbraco-forms-field.password input::-ms-clear {
  display: none;
}
.fieldWrapper .description,
.umbraco-forms-field.shortanswer .description,
.umbraco-forms-field.date .description,
.umbraco-forms-field.password .description {
  margin-top: 6px;
  font-size: 0.84em;
  color: rgba(63, 63, 63, 0.85);
}
.fieldWrapper .description > *:first-child,
.umbraco-forms-field.shortanswer .description > *:first-child,
.umbraco-forms-field.date .description > *:first-child,
.umbraco-forms-field.password .description > *:first-child {
  margin-top: 0 !important;
}
.fieldWrapper .description > *:last-child,
.umbraco-forms-field.shortanswer .description > *:last-child,
.umbraco-forms-field.date .description > *:last-child,
.umbraco-forms-field.password .description > *:last-child {
  margin-bottom: 0 !important;
}

.fieldWrapper textarea,
.umbraco-forms-field.longanswer textarea {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  position: relative;
  white-space: normal;
  line-height: 1;
  min-width: 100%;
  max-width: 100%;
  max-height: 120px;
}

.dropdownWrapper,
.umbraco-forms-field.dropdown {
  position: relative;
  max-width: 500px;
  margin: 0 auto;
}
.dropdownWrapper select,
.umbraco-forms-field.dropdown select {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  position: relative;
  white-space: normal;
  line-height: 1;
  min-width: 100%;
  background-image: url("data:image/svg+xml;utf8,<svg fill='black' height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'><path d='M7 10l5 5 5-5z'/><path d='M0 0h24v24H0z' fill='none'/></svg>");
  background-repeat: no-repeat;
  background-position: 100% 50%;
  background-size: 25px 50px;
}
.dropdownWrapper select::-ms-expand,
.umbraco-forms-field.dropdown select::-ms-expand {
  display: none;
}

.controlWrapper,
.adg-umbraco-forms-controlwrapper {
  border-bottom: 1px solid #93C2F8;
  margin-bottom: 15px;
  padding-bottom: 10px;
}
.controlWrapper:last-child,
.adg-umbraco-forms-controlwrapper:last-child {
  margin-bottom: 0;
  padding-bottom: 0;
  border-bottom: 0;
}
.controlWrapper > *:first-child,
.adg-umbraco-forms-controlwrapper > *:first-child {
  margin-top: 0 !important;
}
.controlWrapper > *:last-child,
.adg-umbraco-forms-controlwrapper > *:last-child {
  margin-bottom: 0 !important;
}
.controlWrapper .control,
.adg-umbraco-forms-controlwrapper .control {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.controlWrapper label,
.adg-umbraco-forms-controlwrapper label {
  font-size: 1.2em;
  white-space: nowrap;
  cursor: pointer;
}
.controlWrapper .description,
.adg-umbraco-forms-controlwrapper .description {
  margin-top: 6px;
  font-size: 0.84em;
  color: rgba(63, 63, 63, 0.85);
}
.controlWrapper .description > *:first-child,
.adg-umbraco-forms-controlwrapper .description > *:first-child {
  margin-top: 0 !important;
}
.controlWrapper .description > *:last-child,
.adg-umbraco-forms-controlwrapper .description > *:last-child {
  margin-bottom: 0 !important;
}

.fieldWrapper.enrolleeName {
  opacity: 0;
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 0;
  z-index: -1;
}

.styledFieldset,
.umbraco-forms-fieldset {
  position: relative;
  border: 2px dashed #1D418E;
  padding: 20px;
  background-color: rgba(147, 194, 248, 0.4);
  border-radius: 0;
}
.styledFieldset legend,
.styledFieldset .groupLegend,
.umbraco-forms-fieldset legend,
.umbraco-forms-fieldset .groupLegend {
  display: inline-block;
  padding: 4px 8px 2px;
  border-radius: 0;
  border-left: 5px solid #93C2F8;
  font-size: 1.3em;
  line-height: 1.1em;
  text-transform: uppercase;
  font-family: "Noah Head", "HelveticaNeue", "Helvetica Neue", "Helvetica", "Arial", sans-serif;
  background-color: #1D418E;
  color: white;
}
.styledFieldset .groupLegend,
.umbraco-forms-fieldset .groupLegend {
  display: inline-block;
  margin-bottom: 9px;
}
.styledFieldset .fieldsetGrid,
.umbraco-forms-fieldset .fieldsetGrid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}
.styledFieldset .fieldsetGrid .fieldWrapper,
.styledFieldset .fieldsetGrid .controlWrapper,
.umbraco-forms-fieldset .fieldsetGrid .fieldWrapper,
.umbraco-forms-fieldset .fieldsetGrid .controlWrapper {
  margin: 0;
}
.styledFieldset > :last-child,
.umbraco-forms-fieldset > :last-child {
  margin-bottom: 0 !important;
}

.fieldWrapper,
.umbraco-forms-field.shortanswer,
.umbraco-forms-field.date,
.umbraco-forms-field.password {
  margin: 10px auto;
}
.fieldWrapper label:not(.checkboxLabel),
.umbraco-forms-field.shortanswer label:not(.checkboxLabel),
.umbraco-forms-field.date label:not(.checkboxLabel),
.umbraco-forms-field.password label:not(.checkboxLabel) {
  position: absolute;
  top: 8px;
  left: 9px;
  z-index: 2;
  display: block;
  margin: 0 0 5px;
  border: 0;
  padding: 0;
  font-size: 0.8em;
  font-family: "Noah Head", "HelveticaNeue", "Helvetica Neue", "Helvetica", "Arial", sans-serif;
  color: #54545a;
}
.fieldWrapper input:not([type=checkbox]):not([type=radio]),
.fieldWrapper textarea,
.umbraco-forms-field.shortanswer input:not([type=checkbox]):not([type=radio]),
.umbraco-forms-field.shortanswer textarea,
.umbraco-forms-field.date input:not([type=checkbox]):not([type=radio]),
.umbraco-forms-field.date textarea,
.umbraco-forms-field.password input:not([type=checkbox]):not([type=radio]),
.umbraco-forms-field.password textarea {
  position: relative;
  display: block;
  width: 100%;
  max-width: 100%;
  max-height: 120px;
  min-height: 48px;
  margin: 0;
  border: 2px solid #93C2F8;
  border-width: 0 0 2px 0;
  padding: 23px 8px 6px;
  border-radius: 0;
  background: #fff;
  color: #3f3f3f;
  text-align: left;
}
.fieldWrapper button,
.umbraco-forms-field.shortanswer button,
.umbraco-forms-field.date button,
.umbraco-forms-field.password button {
  position: absolute !important;
  color: #fff;
  top: 0;
  right: 0;
  height: 53px;
  width: 40px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-transform: scale(0.8);
          transform: scale(0.8);
  border-radius: 0;
  background: #93C2F8;
  border: none;
  padding: 0;
  cursor: pointer;
}
.fieldWrapper button[aria-checked=true] .icon:after,
.umbraco-forms-field.shortanswer button[aria-checked=true] .icon:after,
.umbraco-forms-field.date button[aria-checked=true] .icon:after,
.umbraco-forms-field.password button[aria-checked=true] .icon:after {
  content: "";
  width: 3px;
  height: 20px;
  left: 0;
  right: 0;
  margin: auto;
  position: absolute;
  -webkit-transform: skewX(-45deg);
          transform: skewX(-45deg);
  background: #fff;
}
.fieldWrapper button .icon,
.umbraco-forms-field.shortanswer button .icon,
.umbraco-forms-field.date button .icon,
.umbraco-forms-field.password button .icon {
  font-size: 1.2em;
}
.fieldWrapper #Password:focus + #requirements,
.umbraco-forms-field.shortanswer #Password:focus + #requirements,
.umbraco-forms-field.date #Password:focus + #requirements,
.umbraco-forms-field.password #Password:focus + #requirements {
  max-height: 1000px;
}
.fieldWrapper #requirements,
.umbraco-forms-field.shortanswer #requirements,
.umbraco-forms-field.date #requirements,
.umbraco-forms-field.password #requirements {
  list-style: none;
  padding: 10px 0 0 0;
  margin: 0;
  overflow: hidden;
  max-height: 0;
  -webkit-transition: max-height 1s ease-in-out;
  transition: max-height 1s ease-in-out;
}
.fieldWrapper #requirements li,
.umbraco-forms-field.shortanswer #requirements li,
.umbraco-forms-field.date #requirements li,
.umbraco-forms-field.password #requirements li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.fieldWrapper #requirements li.valid .icon,
.umbraco-forms-field.shortanswer #requirements li.valid .icon,
.umbraco-forms-field.date #requirements li.valid .icon,
.umbraco-forms-field.password #requirements li.valid .icon {
  background-color: #D1E000;
  color: black;
  font-size: 0.9em;
}
.fieldWrapper #requirements li.valid .icon:before,
.umbraco-forms-field.shortanswer #requirements li.valid .icon:before,
.umbraco-forms-field.date #requirements li.valid .icon:before,
.umbraco-forms-field.password #requirements li.valid .icon:before {
  content: "a";
}
.fieldWrapper #requirements li .icon,
.umbraco-forms-field.shortanswer #requirements li .icon,
.umbraco-forms-field.date #requirements li .icon,
.umbraco-forms-field.password #requirements li .icon {
  background-color: #E00700;
  color: white;
  border-radius: 50%;
  margin-right: 5px;
  position: relative;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 16px;
  height: 16px;
  font-size: 0.55em;
}

.dropdownWrapper label:not(.checkboxLabel),
.umbraco-forms-field.dropdown label:not(.checkboxLabel) {
  position: absolute;
  top: 8px;
  left: 9px;
  z-index: 2;
  display: block;
  margin: 0 0 5px;
  border: 0;
  padding: 0;
  font-size: 0.8em;
  font-family: "Noah Head", "HelveticaNeue", "Helvetica Neue", "Helvetica", "Arial", sans-serif;
  color: #3f3f3f;
}
.dropdownWrapper select,
.umbraco-forms-field.dropdown select {
  position: relative;
  display: block;
  width: 100%;
  min-height: 52px;
  margin: 0;
  border: 2px solid #93C2F8;
  padding: 26px 45px 8px 8px;
  border-radius: 0;
  background-color: #fff;
  text-align: left;
}

.fieldWrapper textarea,
.umbraco-forms-field.longanswer textarea {
  position: relative;
  display: block;
  width: 100%;
  max-width: 100%;
  max-height: 120px;
  min-height: 48px;
  margin: 0;
  border: 2px solid #93C2F8;
  padding: 6px 8px 6px;
  border-radius: 0;
  background: #fff;
  color: #3f3f3f;
  text-align: left;
}

form .error,
.formWrap .error {
  display: block;
  margin: 4px 0;
  padding: 2px 4px;
  text-align: center;
  background-color: #E00700;
  color: white;
}
form .error:empty,
.formWrap .error:empty {
  display: none;
}

@media (max-width: 650px) {
  .styledFieldset,
  .umbraco-forms-fieldset {
    padding: 10px;
  }
  .styledFieldset .fieldsetGrid,
  .umbraco-forms-fieldset .fieldsetGrid {
    grid-template-columns: none;
  }
}
@media (max-width: 520px) {
  .controlWrapper label {
    font-size: 1em;
    font-weight: 700;
    white-space: normal;
  }
}
@media (max-width: 450px) {
  .controlWrapper label {
    font-size: 0.9em;
  }
}
.buffer {
  overflow: auto;
  min-height: calc(100vh - 40px);
}

footer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  width: 100%;
  height: 40px;
  padding: 0 15px;
  background: #000;
  z-index: 9999;
}
footer .adgLogoWrap a {
  display: block;
  background: #000 !important;
}
footer .adgLogoWrap .adgLogo {
  height: 30px;
  width: auto;
}

.guestLoginMethods .socialMediaTitle {
  margin-bottom: 15px;
  font-weight: 400;
}
.guestLoginMethods .socialMediaLogins {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  gap: 12px;
}
.guestLoginMethods .socialMediaLogins .facebookLogin {
  background: #1877f2 !important;
  color: white !important;
}
.guestLoginMethods .socialMediaLogins .googleLogin {
  background: #ebebec !important;
  color: black !important;
}
.guestLoginMethods .socialMediaLogins .twitterLogin {
  background: #14171a !important;
  color: white !important;
}
.guestLoginMethods .socialMediaLogins .twitterLogin .text {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}
.guestLoginMethods .socialMediaLogins .appleLogin {
  background: black !important;
  color: white !important;
}
.guestLoginMethods .socialMediaLogins > a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  text-decoration: none !important;
  border-radius: 0;
  height: 45px;
  text-align: center;
  padding: 1em !important;
}
.guestLoginMethods .socialMediaLogins > a .svgIcon {
  width: 16px;
  height: auto;
  margin-right: 7px;
}
.guestLoginMethods .socialMediaLogins > a .text {
  font-weight: bold;
  font-size: 1.1em;
}
.guestLoginMethods .socialMediaLogins .appleLogin {
  height: 45px;
  cursor: pointer;
}
.guestLoginMethods .socialMediaLogins .appleLogin > div {
  max-width: 100% !important;
}

.loginWrapper[data-hidden-for-guest=true] {
  display: none !important;
}

.guestWrapperHolder {
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  -webkit-transition: all 800ms;
  transition: all 800ms;
  text-align: left;
}

.fieldWrapper.enrolleeName {
  opacity: 0;
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 0;
  z-index: -1;
}

body {
  background: #93C2F8;
}

#background {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 400px;
  opacity: 1;
}
#background .cover-slider,
#background video,
#background .mainBgImg {
  z-index: 2;
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
}
#background .sectionBgHolder {
  z-index: 1;
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
}
.menuOut #background .sectionBgHolder {
  z-index: 3;
}
#background .sectionBgHolder[data-section-bg-only=true] {
  opacity: 0;
  -webkit-transition: opacity 0.5s;
  transition: opacity 0.5s;
}
.inSection #background .sectionBgHolder[data-section-bg-only=true] {
  opacity: 1;
}
#background .bgImg,
#background .sectionBg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
}
#background .bgImg[data-bg-pos="top left"],
#background .sectionBg[data-bg-pos="top left"] {
  background-position: 0% 0%;
}
#background .bgImg[data-bg-pos="top middle"],
#background .sectionBg[data-bg-pos="top middle"] {
  background-position: 50% 0;
}
#background .bgImg[data-bg-pos="top right"],
#background .sectionBg[data-bg-pos="top right"] {
  background-position: 100% 0%;
}
#background .bgImg[data-bg-pos="center left"],
#background .sectionBg[data-bg-pos="center left"] {
  background-position: 0% 50%;
}
#background .bgImg[data-bg-pos=center],
#background .sectionBg[data-bg-pos=center] {
  background-position: 50% 50%;
}
#background .bgImg[data-bg-pos="center right"],
#background .sectionBg[data-bg-pos="center right"] {
  background-position: 100% 50%;
}
#background .bgImg[data-bg-pos="bottom left"],
#background .sectionBg[data-bg-pos="bottom left"] {
  background-position: 0% 100%;
}
#background .bgImg[data-bg-pos="bottom middle"],
#background .sectionBg[data-bg-pos="bottom middle"] {
  background-position: 50% 100%;
}
#background .bgImg[data-bg-pos="bottom right"],
#background .sectionBg[data-bg-pos="bottom right"] {
  background-position: 100% 100%;
}
#background video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  background-color: #ebebec;
}
[data-is-loading=true] #background {
  opacity: 0;
}

header {
  position: fixed;
  top: 20px;
  right: 0;
  z-index: 15;
  -webkit-transition: all 1000ms;
  transition: all 1000ms;
}
header .logoWrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 280px;
  height: 105px;
  padding: 20px 15px;
  background: #1D418E;
  -webkit-transition: all 1000ms;
  transition: all 1000ms;
}
header .logo {
  max-width: 100%;
  max-height: 100%;
  height: auto;
  -webkit-filter: brightness(0) invert(1);
          filter: brightness(0) invert(1);
  -webkit-transition: all 1000ms;
  transition: all 1000ms;
}
header .orientationTitle {
  text-transform: uppercase;
  background-color: #00325D;
  color: white;
  padding: 10px 9px 8px;
  font-size: 1.2em;
  line-height: 1.1em;
  font-family: "Noah Text", "HelveticaNeue", "Helvetica Neue", "Helvetica", "Arial", sans-serif;
  font-weight: 400;
  text-align: center;
}

#membership {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  min-height: calc(100vh - 280px);
  max-width: 800px;
  margin: 280px auto 0;
  padding-top: 15px;
  padding-bottom: 120px;
  background: #fff;
  -webkit-box-shadow: 0 0.8px 1.7px rgba(0, 0, 0, 0.014), 0 1.9px 4.1px rgba(0, 0, 0, 0.02), 0 3.6px 7.8px rgba(0, 0, 0, 0.025), 0 6.5px 13.8px rgba(0, 0, 0, 0.03), 0 12.1px 25.9px rgba(0, 0, 0, 0.036), 0 29px 62px rgba(0, 0, 0, 0.05);
          box-shadow: 0 0.8px 1.7px rgba(0, 0, 0, 0.014), 0 1.9px 4.1px rgba(0, 0, 0, 0.02), 0 3.6px 7.8px rgba(0, 0, 0, 0.025), 0 6.5px 13.8px rgba(0, 0, 0, 0.03), 0 12.1px 25.9px rgba(0, 0, 0, 0.036), 0 29px 62px rgba(0, 0, 0, 0.05);
  z-index: 5;
}
#membership .titleArea {
  position: relative;
  padding: 30px 20px 10px;
  border-radius: 0;
  text-align: center;
}
#membership .titleArea.accountProfiler {
  font-size: 1.5em;
}
#membership .titleArea h2 {
  font-family: "Noah Head", "HelveticaNeue", "Helvetica Neue", "Helvetica", "Arial", sans-serif;
  font-weight: 900;
  font-size: 2.4em;
  margin: 0 0 5px;
  color: #1D418E;
}
#membership .titleArea p {
  font-size: 1.2em;
  margin: 0;
  color: #00325D;
}
#membership button.returnToSocial {
  display: none;
  position: relative;
  padding: 5px;
  margin: 25px 0 0;
  border: 0;
  background: none;
  color: #93C2F8;
  cursor: pointer;
  -webkit-transition: all 200ms;
  transition: all 200ms;
}
#membership button.returnToSocial .text {
  font-size: 0.9em;
  text-decoration: underline;
}
#membership button.returnToSocial .icon {
  position: relative;
  font-size: 0.8em;
  -webkit-transition: all 500ms;
  transition: all 500ms;
}
@media (hover: hover) and (pointer: fine) {
  #membership button.returnToSocial:hover .text {
    color: #1D418E;
  }
  #membership button.returnToSocial:hover .icon {
    margin-right: 3px;
  }
}
[data-browser=ie] #membership button.returnToSocial:hover .text {
  color: #1D418E;
}
[data-browser=ie] #membership button.returnToSocial:hover .icon {
  margin-right: 3px;
}
.ie #membership button.returnToSocial:hover .text {
  color: #1D418E;
}
.ie #membership button.returnToSocial:hover .icon {
  margin-right: 3px;
}
#membership button.returnToSocial.focus-visible .text {
  color: #1D418E;
}
#membership button.returnToSocial.focus-visible .icon {
  margin-right: 3px;
}
#membership button.returnToSocial:focus-visible .text {
  color: #1D418E;
}
#membership button.returnToSocial:focus-visible .icon {
  margin-right: 3px;
}
#membership .errorMessage,
#membership .field-validation-error {
  display: inline-block;
  text-align: center;
  background-color: #E00700;
  color: white;
  max-width: 100%;
  font-weight: 600;
  padding: 5px 10px;
  margin: 2px auto 10px;
  border-radius: 0;
}
#membership .loginNav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  border-top: 2px solid #ebebec;
  margin-top: 30px;
  padding-top: 10px;
  text-align: center;
  font-size: 0.9em;
}
#membership .loginNav > * {
  margin: 0 5px;
}
#membership .formWrap {
  padding: 25px 40px;
  border-radius: 0;
  text-align: center;
}
#membership .formWrap input[type=radio] {
  position: relative;
  margin: 0;
  -webkit-box-shadow: none;
          box-shadow: none;
  cursor: pointer;
}
@supports ((-webkit-appearance: none) or (-moz-appearance: none) or (appearance: none)) {
  #membership .formWrap input[type=radio] {
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    width: 1em;
    height: 1em;
    min-width: 1em;
    min-height: 1em;
  }
  #membership .formWrap input[type=radio]:before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    border-style: solid;
    border-width: 2px;
    border-color: #3f3f3f;
    background: #fff;
    border-radius: 50%;
    -webkit-transition: all 200ms;
    transition: all 200ms;
  }
  #membership .formWrap input[type=radio]:after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    z-index: 5;
    width: 0;
    height: 0;
    opacity: 0;
    border-radius: 50%;
    -webkit-transition: all 200ms;
    transition: all 200ms;
  }
  #membership .formWrap input[type=radio]:checked:before {
    border-color: #93C2F8;
    background-color: #93C2F8;
  }
  #membership .formWrap input[type=radio]:checked:after {
    opacity: 1;
    background-color: black;
    width: 45%;
    height: 45%;
  }
  #membership .formWrap input[type=radio][disabled] {
    opacity: 0.3;
    cursor: not-allowed;
  }
  #membership .formWrap input[type=radio][disabled]:before {
    background-color: #fefefe;
  }
}
#membership .formWrap input[type=checkbox] {
  position: relative;
  margin: 0;
  cursor: pointer;
}
@supports ((-webkit-appearance: none) or (-moz-appearance: none) or (appearance: none)) {
  #membership .formWrap input[type=checkbox] {
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    width: 1em;
    height: 1em;
    min-width: 1em;
    min-height: 1em;
  }
  #membership .formWrap input[type=checkbox]:before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    border-radius: 3px;
    border-style: solid;
    border-width: 2px;
    border-color: #00325D;
    background: #fff;
    -webkit-transition: all 200ms;
    transition: all 200ms;
  }
  #membership .formWrap input[type=checkbox]:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: block;
    background: transparent url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9 IjAgMCAzMTYuMzggMjUwLjYiPjxwYXRoIGQ9Ik03MC40IDIxOS44YzQuNTUgNC44 NyA5LjIyIDkuNjcgMTQuMTIgMTQuMTkgMy43NSAzLjQ3IDcuNzEgNi44NSAxMS45 MyA5Ljc0IDUuNSAzLjc4IDExLjkyIDcuMDggMTguNzggNi44NSA2LjY2LS4yMyAx Mi43Ny0zLjczIDE3Ljk3LTcuNjIgOC42LTYuNDIgMTYuNjctMTUuMTcgMjMuODQt MjMuMTRMMzA1LjY4IDU0LjY5YzcuMi04IDExLjc5LTE4LjI1IDEwLjQ3LTI5LjE3 LTEuMDQtOC41OS01LjcxLTE2LjU1LTEzLjAxLTIxLjI5LTUuNjUtMy42Ny0xMi4y Ni00Ljk4LTE4LjktMy44Mi04LjkgMS41Ni0xNi41NCA3LjIyLTIyLjQ4IDEzLjc4 LTQ4LjM0IDUzLjMyLTk2LjU5IDEwNi43MS0xNDQuODUgMTYwLjExbC0zLjE5IDMu NTMtNjAuNC02Ni42M2MtOC40Mi05LjI5LTE5LjctMTMuOTQtMzEuOTItOS41Ny00 LjcyIDEuNjktOC45OSA0LjU4LTEyLjQ1IDguMTktMy44NiA0LjA0LTYuNzggOS4w Ni04LjEzIDE0LjQ5LTIuMzEgOS4yNy4zIDE4LjA3IDYuNjIgMjUuMTNsNjIuOTUg NzAuMzVaIiBzdHlsZT0iZmlsbC1ydWxlOmV2ZW5vZGQiLz48L3N2Zz4K") no-repeat;
    background-size: 70%;
    background-position: 50% 50%;
    -webkit-transition: all 200ms;
    transition: all 200ms;
    opacity: 0;
  }
  #membership .formWrap input[type=checkbox]:checked:before {
    border-color: #93C2F8;
    background-color: #93C2F8;
  }
  #membership .formWrap input[type=checkbox]:checked:after {
    opacity: 1;
  }
  #membership .formWrap input[type=checkbox][disabled] {
    opacity: 0.3;
    cursor: not-allowed;
  }
  #membership .formWrap input[type=checkbox][disabled]:before {
    background-color: rgba(63, 63, 63, 0.8);
  }
}
#membership .formWrap input[type=checkbox] ~ label,
#membership .formWrap input[type=radio] ~ label {
  padding-left: 0.35em;
}
#membership .formWrap.login .statusMessage {
  background-color: #000000;
  color: white;
  padding: 5px 10px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 10px auto;
}
#membership .formWrap.login .horzDivider {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 25px 0;
}
#membership .formWrap.login .horzDivider .line {
  height: 2px;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  background: #ebebec;
}
#membership .formWrap.login .horzDivider .or {
  text-transform: uppercase;
  color: #3f3f3f;
  margin-left: 15px;
  margin-right: 15px;
}
#membership .formWrap.login button.continueWithEmail {
  position: relative;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 0.7em 1.5em;
  border-width: 0;
  border-style: solid;
  border-color: #142e64;
  line-height: 1.1em;
  text-align: center;
  border-radius: 0;
  font-family: "Noah Head", "HelveticaNeue", "Helvetica Neue", "Helvetica", "Arial", sans-serif;
  font-weight: 900;
  outline-offset: 0;
  text-decoration: none;
  -webkit-transition: all 200ms;
  transition: all 200ms;
  background-color: #1D418E;
  color: white;
  width: 100%;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  padding: 1.3em 1.8em;
  -webkit-transform: none !important;
          transform: none !important;
}
@media (hover: hover) and (pointer: fine) {
  #membership .formWrap.login button.continueWithEmail:hover {
    -webkit-transform: scale(1.03);
            transform: scale(1.03);
    text-decoration: none;
    background-color: #FED34C;
    color: black;
    border-color: #fec719;
    cursor: pointer;
  }
}
[data-browser=ie] #membership .formWrap.login button.continueWithEmail:hover {
  -webkit-transform: scale(1.03);
          transform: scale(1.03);
  text-decoration: none;
  background-color: #FED34C;
  color: black;
  border-color: #fec719;
  cursor: pointer;
}
.ie #membership .formWrap.login button.continueWithEmail:hover {
  -webkit-transform: scale(1.03);
          transform: scale(1.03);
  text-decoration: none;
  background-color: #FED34C;
  color: black;
  border-color: #fec719;
  cursor: pointer;
}
#membership .formWrap.login button.continueWithEmail.focus-visible {
  -webkit-transform: scale(1.03);
          transform: scale(1.03);
  text-decoration: none;
  background-color: #FED34C;
  color: black;
  border-color: #fec719;
  cursor: pointer;
}
#membership .formWrap.login button.continueWithEmail:focus-visible {
  -webkit-transform: scale(1.03);
          transform: scale(1.03);
  text-decoration: none;
  background-color: #FED34C;
  color: black;
  border-color: #fec719;
  cursor: pointer;
}
#membership .formWrap.login button.continueWithEmail[disabled], #membership .formWrap.login button.continueWithEmail[aria-disabled=true] {
  opacity: 0.5;
  cursor: not-allowed;
}
#membership .formWrap.login button.continueWithEmail .icon {
  font-size: 2.5em;
  margin-bottom: 10px;
}
#membership .formWrap.login button.continueWithEmail .text {
  font-size: 1.2em;
  font-weight: bold;
}
#membership .formWrap.login .fieldWrapper label:not(.checkboxLabel) {
  top: 3px;
  left: 3px;
}
#membership .formWrap.login .fieldWrapper input:not([type=checkbox]):not([type=radio]),
#membership .formWrap.login .fieldWrapper textarea {
  padding-top: 20px;
  padding-left: 3px;
}
#membership .formWrap.login .loginWrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  margin-top: 8px;
}
#membership .formWrap.login .returningWrapper {
  width: calc(60% - 20px);
  text-align: center;
}
#membership .formWrap.login .newAccountWrapper {
  width: 40%;
}
#membership .formWrap.login .newAccountWrapper > a:first-child {
  position: relative;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 0.7em 1.5em;
  border-width: 0;
  border-style: solid;
  border-color: #142e64;
  line-height: 1.1em;
  text-align: center;
  border-radius: 0;
  font-family: "Noah Head", "HelveticaNeue", "Helvetica Neue", "Helvetica", "Arial", sans-serif;
  font-weight: 900;
  outline-offset: 0;
  text-decoration: none;
  -webkit-transition: all 200ms;
  transition: all 200ms;
  background-color: #1D418E;
  color: white;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 100%;
  height: 100%;
}
@media (hover: hover) and (pointer: fine) {
  #membership .formWrap.login .newAccountWrapper > a:first-child:hover {
    -webkit-transform: scale(1.03);
            transform: scale(1.03);
    text-decoration: none;
    background-color: #FED34C;
    color: black;
    border-color: #fec719;
    cursor: pointer;
  }
}
[data-browser=ie] #membership .formWrap.login .newAccountWrapper > a:first-child:hover {
  -webkit-transform: scale(1.03);
          transform: scale(1.03);
  text-decoration: none;
  background-color: #FED34C;
  color: black;
  border-color: #fec719;
  cursor: pointer;
}
.ie #membership .formWrap.login .newAccountWrapper > a:first-child:hover {
  -webkit-transform: scale(1.03);
          transform: scale(1.03);
  text-decoration: none;
  background-color: #FED34C;
  color: black;
  border-color: #fec719;
  cursor: pointer;
}
#membership .formWrap.login .newAccountWrapper > a:first-child.focus-visible {
  -webkit-transform: scale(1.03);
          transform: scale(1.03);
  text-decoration: none;
  background-color: #FED34C;
  color: black;
  border-color: #fec719;
  cursor: pointer;
}
#membership .formWrap.login .newAccountWrapper > a:first-child:focus-visible {
  -webkit-transform: scale(1.03);
          transform: scale(1.03);
  text-decoration: none;
  background-color: #FED34C;
  color: black;
  border-color: #fec719;
  cursor: pointer;
}
#membership .formWrap.login .newAccountWrapper > a:first-child[disabled], #membership .formWrap.login .newAccountWrapper > a:first-child[aria-disabled=true] {
  opacity: 0.5;
  cursor: not-allowed;
}
#membership .formWrap.login .newAccountWrapper > a:first-child[data-type=Student] .icon:before {
  text-transform: lowercase;
  content: "z";
}
#membership .formWrap.login .newAccountWrapper > a:first-child .icon {
  font-size: 2.5em;
  margin-bottom: 10px;
}
#membership .formWrap.login .newAccountWrapper > a:first-child .text {
  font-weight: bold;
  font-size: 1.15em;
}
#membership .formWrap.landingPage {
  padding-bottom: 40px;
  padding-left: 30px;
  padding-right: 30px;
}
#membership .formWrap.landingPage .buttons {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
}
#membership .formWrap.landingPage .buttons a {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  margin: 0 6px;
  height: 350px;
  font-size: 1.4em;
  text-decoration: none;
  overflow: hidden;
}
@media (hover: hover) and (pointer: fine) {
  #membership .formWrap.landingPage .buttons a:hover .iconHolder {
    color: #1D418E;
  }
  #membership .formWrap.landingPage .buttons a:hover .text {
    color: #1D418E;
  }
  #membership .formWrap.landingPage .buttons a:hover .bg {
    -webkit-transform: scale(1.2);
            transform: scale(1.2);
  }
  #membership .formWrap.landingPage .buttons a:hover .overlayGrid span {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 0.7;
  }
}
[data-browser=ie] #membership .formWrap.landingPage .buttons a:hover .iconHolder {
  color: #1D418E;
}
[data-browser=ie] #membership .formWrap.landingPage .buttons a:hover .text {
  color: #1D418E;
}
[data-browser=ie] #membership .formWrap.landingPage .buttons a:hover .bg {
  -webkit-transform: scale(1.2);
          transform: scale(1.2);
}
[data-browser=ie] #membership .formWrap.landingPage .buttons a:hover .overlayGrid span {
  -webkit-transform: scale(1);
          transform: scale(1);
  opacity: 0.7;
}
.ie #membership .formWrap.landingPage .buttons a:hover .iconHolder {
  color: #1D418E;
}
.ie #membership .formWrap.landingPage .buttons a:hover .text {
  color: #1D418E;
}
.ie #membership .formWrap.landingPage .buttons a:hover .bg {
  -webkit-transform: scale(1.2);
          transform: scale(1.2);
}
.ie #membership .formWrap.landingPage .buttons a:hover .overlayGrid span {
  -webkit-transform: scale(1);
          transform: scale(1);
  opacity: 0.7;
}
#membership .formWrap.landingPage .buttons a.focus-visible .iconHolder {
  color: #1D418E;
}
#membership .formWrap.landingPage .buttons a.focus-visible .text {
  color: #1D418E;
}
#membership .formWrap.landingPage .buttons a.focus-visible .bg {
  -webkit-transform: scale(1.2);
          transform: scale(1.2);
}
#membership .formWrap.landingPage .buttons a.focus-visible .overlayGrid span {
  -webkit-transform: scale(1);
          transform: scale(1);
  opacity: 0.7;
}
#membership .formWrap.landingPage .buttons a:focus-visible .iconHolder {
  color: #1D418E;
}
#membership .formWrap.landingPage .buttons a:focus-visible .text {
  color: #1D418E;
}
#membership .formWrap.landingPage .buttons a:focus-visible .bg {
  -webkit-transform: scale(1.2);
          transform: scale(1.2);
}
#membership .formWrap.landingPage .buttons a:focus-visible .overlayGrid span {
  -webkit-transform: scale(1);
          transform: scale(1);
  opacity: 0.7;
}
#membership .formWrap.landingPage .buttons .overlayGrid {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  width: 100%;
  height: 100%;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  grid-template-rows: 1fr 1fr 130px;
}
#membership .formWrap.landingPage .buttons .overlayGrid span {
  width: 100%;
  height: 100%;
  opacity: 0;
  -webkit-transform: scale(0);
          transform: scale(0);
  -webkit-transition: all 600ms;
  transition: all 600ms;
  -webkit-transition-timing-function: cubic-bezier(0.32, -0.05, 0, 1.05);
          transition-timing-function: cubic-bezier(0.32, -0.05, 0, 1.05);
}
#membership .formWrap.landingPage .buttons .overlayGrid span.left {
  background-color: rgba(0, 50, 93, 0.98);
}
#membership .formWrap.landingPage .buttons .overlayGrid span.center {
  background-color: rgba(0, 50, 93, 0.98);
}
#membership .formWrap.landingPage .buttons .overlayGrid span.right {
  background-color: rgba(0, 50, 93, 0.98);
}
#membership .formWrap.landingPage .buttons .overlayGrid span:nth-child(1) {
  -webkit-transition-delay: 30ms;
          transition-delay: 30ms;
}
#membership .formWrap.landingPage .buttons .overlayGrid span:nth-child(2) {
  -webkit-transition-delay: 60ms;
          transition-delay: 60ms;
}
#membership .formWrap.landingPage .buttons .overlayGrid span:nth-child(3) {
  -webkit-transition-delay: 90ms;
          transition-delay: 90ms;
}
#membership .formWrap.landingPage .buttons .overlayGrid span:nth-child(4) {
  -webkit-transition-delay: 120ms;
          transition-delay: 120ms;
}
#membership .formWrap.landingPage .buttons .overlayGrid span:nth-child(5) {
  -webkit-transition-delay: 150ms;
          transition-delay: 150ms;
}
#membership .formWrap.landingPage .buttons .overlayGrid span:nth-child(6) {
  -webkit-transition-delay: 180ms;
          transition-delay: 180ms;
}
#membership .formWrap.landingPage .buttons .overlayGrid span:nth-child(7) {
  -webkit-transition-delay: 210ms;
          transition-delay: 210ms;
}
#membership .formWrap.landingPage .buttons .overlayGrid span:nth-child(8) {
  -webkit-transition-delay: 240ms;
          transition-delay: 240ms;
}
#membership .formWrap.landingPage .buttons .overlayGrid span:nth-child(9) {
  -webkit-transition-delay: 270ms;
          transition-delay: 270ms;
}
#membership .formWrap.landingPage .buttons .bg {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: 50% 50%;
  -webkit-transition: all 600ms;
  transition: all 600ms;
  -webkit-transition-timing-function: cubic-bezier(0.32, -0.05, 0, 1.05);
          transition-timing-function: cubic-bezier(0.32, -0.05, 0, 1.05);
}
#membership .formWrap.landingPage .buttons .textHolder {
  position: absolute;
  bottom: 0;
  right: 0;
  z-index: 5;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  max-width: 66%;
  min-height: 130px;
  border-left: 10px solid #FED34C;
  padding: 20px 15px 5px;
  text-align: left;
  background: #fff;
}
#membership .formWrap.landingPage .buttons .textHolder:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 15px;
  right: 0;
  background-color: #E63690;
  height: 1px;
}
#membership .formWrap.landingPage .buttons .text {
  color: #00325D;
  font-weight: bold;
  font-family: "Juana", serif;
  font-size: 1.5em;
  -webkit-transition: all 200ms;
  transition: all 200ms;
  text-transform: uppercase;
}
#membership .formWrap.landingPage .buttons .iconHolder {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-family: "Noah Head", "HelveticaNeue", "Helvetica Neue", "Helvetica", "Arial", sans-serif;
  -webkit-transition: all 200ms;
  transition: all 200ms;
  font-size: 0.6em;
  color: #E63690;
  -webkit-transition: all 300ms;
  transition: all 300ms;
  text-transform: uppercase;
}
#membership .formWrap.landingPage .buttons .icon {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  width: 30px;
  height: 30px;
  font-family: "spelman";
  text-transform: lowercase;
  font-size: 24px;
  margin-right: 5px;
  margin-bottom: 3px;
}
#membership .formWrap.landingPage .buttons .guestLoginBtn .icon:before {
  content: "k";
}
#membership .formWrap.landingPage .buttons .enrolleeLoginBtn .icon:before {
  content: "z";
}
#membership .formWrap.accountProfiler {
  text-align: left;
}
#membership .formWrap.accountProfiler .profileSettingsExplainer,
#membership .formWrap.accountProfiler .profileErrorWrap {
  text-align: center;
}
#membership .formWrap.accountProfiler .instruction {
  margin-bottom: 15px;
  text-align: center;
}
#membership .formWrap.accountProfiler .buttonHolder {
  margin: 20px 0 20px;
}
#membership .formWrap.accountProfiler .resetAccountTypeBtn {
  border: 0;
  padding: 0;
  background: none;
  border-radius: 0;
  overflow: visible;
  font-size: 0.8em;
  border-bottom: 1px solid #93C2F8;
  cursor: pointer;
  color: #93C2F8;
  background-color: black;
  -webkit-transition: 200ms;
  transition: 200ms;
}
@media (hover: hover) and (pointer: fine) {
  #membership .formWrap.accountProfiler .resetAccountTypeBtn:hover {
    border-color: #1D418E;
    color: #1D418E;
    background-color: white;
  }
}
[data-browser=ie] #membership .formWrap.accountProfiler .resetAccountTypeBtn:hover {
  border-color: #1D418E;
  color: #1D418E;
  background-color: white;
}
.ie #membership .formWrap.accountProfiler .resetAccountTypeBtn:hover {
  border-color: #1D418E;
  color: #1D418E;
  background-color: white;
}
#membership .formWrap.accountProfiler .resetAccountTypeBtn.focus-visible {
  border-color: #1D418E;
  color: #1D418E;
  background-color: white;
}
#membership .formWrap.accountProfiler .resetAccountTypeBtn:focus-visible {
  border-color: #1D418E;
  color: #1D418E;
  background-color: white;
}
#membership .formWrap.twoFactor .singleFieldSubmission {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-bottom: 25px;
}
#membership .formWrap.twoFactor .singleFieldSubmission .fieldWrapper {
  margin: 0 5px 0 0;
}
#membership .formWrap.twoFactor .singleFieldSubmission button {
  position: relative;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 0.7em 1.5em;
  border-width: 0;
  border-style: solid;
  border-color: #142e64;
  line-height: 1.1em;
  text-align: center;
  border-radius: 0;
  font-family: "Noah Head", "HelveticaNeue", "Helvetica Neue", "Helvetica", "Arial", sans-serif;
  font-weight: 900;
  outline-offset: 0;
  text-decoration: none;
  -webkit-transition: all 200ms;
  transition: all 200ms;
  background-color: #1D418E;
  color: white;
}
@media (hover: hover) and (pointer: fine) {
  #membership .formWrap.twoFactor .singleFieldSubmission button:hover {
    -webkit-transform: scale(1.03);
            transform: scale(1.03);
    text-decoration: none;
    background-color: #FED34C;
    color: black;
    border-color: #fec719;
    cursor: pointer;
  }
}
[data-browser=ie] #membership .formWrap.twoFactor .singleFieldSubmission button:hover {
  -webkit-transform: scale(1.03);
          transform: scale(1.03);
  text-decoration: none;
  background-color: #FED34C;
  color: black;
  border-color: #fec719;
  cursor: pointer;
}
.ie #membership .formWrap.twoFactor .singleFieldSubmission button:hover {
  -webkit-transform: scale(1.03);
          transform: scale(1.03);
  text-decoration: none;
  background-color: #FED34C;
  color: black;
  border-color: #fec719;
  cursor: pointer;
}
#membership .formWrap.twoFactor .singleFieldSubmission button.focus-visible {
  -webkit-transform: scale(1.03);
          transform: scale(1.03);
  text-decoration: none;
  background-color: #FED34C;
  color: black;
  border-color: #fec719;
  cursor: pointer;
}
#membership .formWrap.twoFactor .singleFieldSubmission button:focus-visible {
  -webkit-transform: scale(1.03);
          transform: scale(1.03);
  text-decoration: none;
  background-color: #FED34C;
  color: black;
  border-color: #fec719;
  cursor: pointer;
}
#membership .formWrap.twoFactor .singleFieldSubmission button[disabled], #membership .formWrap.twoFactor .singleFieldSubmission button[aria-disabled=true] {
  opacity: 0.5;
  cursor: not-allowed;
}
#membership .formWrap.twoFactor #TFAButtonApp {
  position: relative;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 0.7em 1.5em;
  border-width: 0;
  border-style: solid;
  border-color: #142e64;
  line-height: 1.1em;
  text-align: center;
  border-radius: 0;
  font-family: "Noah Head", "HelveticaNeue", "Helvetica Neue", "Helvetica", "Arial", sans-serif;
  font-weight: 900;
  outline-offset: 0;
  text-decoration: none;
  -webkit-transition: all 200ms;
  transition: all 200ms;
  background-color: #1D418E;
  color: white;
  padding: 0.35em 0.5em;
  margin-bottom: 20px;
}
@media (hover: hover) and (pointer: fine) {
  #membership .formWrap.twoFactor #TFAButtonApp:hover {
    -webkit-transform: scale(1.03);
            transform: scale(1.03);
    text-decoration: none;
    background-color: #FED34C;
    color: black;
    border-color: #fec719;
    cursor: pointer;
  }
}
[data-browser=ie] #membership .formWrap.twoFactor #TFAButtonApp:hover {
  -webkit-transform: scale(1.03);
          transform: scale(1.03);
  text-decoration: none;
  background-color: #FED34C;
  color: black;
  border-color: #fec719;
  cursor: pointer;
}
.ie #membership .formWrap.twoFactor #TFAButtonApp:hover {
  -webkit-transform: scale(1.03);
          transform: scale(1.03);
  text-decoration: none;
  background-color: #FED34C;
  color: black;
  border-color: #fec719;
  cursor: pointer;
}
#membership .formWrap.twoFactor #TFAButtonApp.focus-visible {
  -webkit-transform: scale(1.03);
          transform: scale(1.03);
  text-decoration: none;
  background-color: #FED34C;
  color: black;
  border-color: #fec719;
  cursor: pointer;
}
#membership .formWrap.twoFactor #TFAButtonApp:focus-visible {
  -webkit-transform: scale(1.03);
          transform: scale(1.03);
  text-decoration: none;
  background-color: #FED34C;
  color: black;
  border-color: #fec719;
  cursor: pointer;
}
#membership .formWrap.twoFactor #TFAButtonApp[disabled], #membership .formWrap.twoFactor #TFAButtonApp[aria-disabled=true] {
  opacity: 0.5;
  cursor: not-allowed;
}
#membership .formWrap.twoFactor #TFAButtonEmail,
#membership .formWrap.twoFactor #OTPButton {
  border: 0;
  background: none;
  padding: 0 0 2px;
  margin-top: 15px;
  border-bottom: 1px solid #93C2F8;
  color: #93C2F8;
  background-color: black;
  cursor: pointer;
}
#membership .formWrap.twoFactor #TFAButtonEmail[data-wait-a-few=true],
#membership .formWrap.twoFactor #OTPButton[data-wait-a-few=true] {
  opacity: 0.6;
  cursor: not-allowed;
}
#membership .buttonHolder {
  text-align: center;
}
#membership .buttonHolder button {
  position: relative;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 0.7em 1.5em;
  border-width: 0;
  border-style: solid;
  border-color: #142e64;
  line-height: 1.1em;
  text-align: center;
  border-radius: 0;
  font-family: "Noah Head", "HelveticaNeue", "Helvetica Neue", "Helvetica", "Arial", sans-serif;
  font-weight: 900;
  outline-offset: 0;
  text-decoration: none;
  -webkit-transition: all 200ms;
  transition: all 200ms;
  background-color: #1D418E;
  color: white;
  margin: 0 auto;
}
@media (hover: hover) and (pointer: fine) {
  #membership .buttonHolder button:hover {
    -webkit-transform: scale(1.03);
            transform: scale(1.03);
    text-decoration: none;
    background-color: #FED34C;
    color: black;
    border-color: #fec719;
    cursor: pointer;
  }
}
[data-browser=ie] #membership .buttonHolder button:hover {
  -webkit-transform: scale(1.03);
          transform: scale(1.03);
  text-decoration: none;
  background-color: #FED34C;
  color: black;
  border-color: #fec719;
  cursor: pointer;
}
.ie #membership .buttonHolder button:hover {
  -webkit-transform: scale(1.03);
          transform: scale(1.03);
  text-decoration: none;
  background-color: #FED34C;
  color: black;
  border-color: #fec719;
  cursor: pointer;
}
#membership .buttonHolder button.focus-visible {
  -webkit-transform: scale(1.03);
          transform: scale(1.03);
  text-decoration: none;
  background-color: #FED34C;
  color: black;
  border-color: #fec719;
  cursor: pointer;
}
#membership .buttonHolder button:focus-visible {
  -webkit-transform: scale(1.03);
          transform: scale(1.03);
  text-decoration: none;
  background-color: #FED34C;
  color: black;
  border-color: #fec719;
  cursor: pointer;
}
#membership .buttonHolder button[disabled], #membership .buttonHolder button[aria-disabled=true] {
  opacity: 0.5;
  cursor: not-allowed;
}
#membership .styledFieldset {
  margin-bottom: 20px;
}
#membership .styledFieldset .groupLegend {
  margin-bottom: 10px;
}

.simpleDialog .closeDialog {
  position: relative;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 0.7em 1.5em;
  border-width: 0;
  border-style: solid;
  border-color: #142e64;
  line-height: 1.1em;
  text-align: center;
  border-radius: 0;
  font-family: "Noah Head", "HelveticaNeue", "Helvetica Neue", "Helvetica", "Arial", sans-serif;
  font-weight: 900;
  outline-offset: 0;
  text-decoration: none;
  -webkit-transition: all 200ms;
  transition: all 200ms;
  background-color: #1D418E;
  color: white;
}
@media (hover: hover) and (pointer: fine) {
  .simpleDialog .closeDialog:hover {
    -webkit-transform: scale(1.03);
            transform: scale(1.03);
    text-decoration: none;
    background-color: #FED34C;
    color: black;
    border-color: #fec719;
    cursor: pointer;
  }
}
[data-browser=ie] .simpleDialog .closeDialog:hover {
  -webkit-transform: scale(1.03);
          transform: scale(1.03);
  text-decoration: none;
  background-color: #FED34C;
  color: black;
  border-color: #fec719;
  cursor: pointer;
}
.ie .simpleDialog .closeDialog:hover {
  -webkit-transform: scale(1.03);
          transform: scale(1.03);
  text-decoration: none;
  background-color: #FED34C;
  color: black;
  border-color: #fec719;
  cursor: pointer;
}
.simpleDialog .closeDialog.focus-visible {
  -webkit-transform: scale(1.03);
          transform: scale(1.03);
  text-decoration: none;
  background-color: #FED34C;
  color: black;
  border-color: #fec719;
  cursor: pointer;
}
.simpleDialog .closeDialog:focus-visible {
  -webkit-transform: scale(1.03);
          transform: scale(1.03);
  text-decoration: none;
  background-color: #FED34C;
  color: black;
  border-color: #fec719;
  cursor: pointer;
}
.simpleDialog .closeDialog[disabled], .simpleDialog .closeDialog[aria-disabled=true] {
  opacity: 0.5;
  cursor: not-allowed;
}
.simpleDialog .closeDialog .icon {
  display: none;
}

#resetData button {
  position: relative;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 0.7em 1.5em;
  border-width: 0;
  border-style: solid;
  border-color: #142e64;
  line-height: 1.1em;
  text-align: center;
  border-radius: 0;
  font-family: "Noah Head", "HelveticaNeue", "Helvetica Neue", "Helvetica", "Arial", sans-serif;
  font-weight: 900;
  outline-offset: 0;
  text-decoration: none;
  -webkit-transition: all 200ms;
  transition: all 200ms;
  background-color: #1D418E;
  color: white;
}
@media (hover: hover) and (pointer: fine) {
  #resetData button:hover {
    -webkit-transform: scale(1.03);
            transform: scale(1.03);
    text-decoration: none;
    background-color: #FED34C;
    color: black;
    border-color: #fec719;
    cursor: pointer;
  }
}
[data-browser=ie] #resetData button:hover {
  -webkit-transform: scale(1.03);
          transform: scale(1.03);
  text-decoration: none;
  background-color: #FED34C;
  color: black;
  border-color: #fec719;
  cursor: pointer;
}
.ie #resetData button:hover {
  -webkit-transform: scale(1.03);
          transform: scale(1.03);
  text-decoration: none;
  background-color: #FED34C;
  color: black;
  border-color: #fec719;
  cursor: pointer;
}
#resetData button.focus-visible {
  -webkit-transform: scale(1.03);
          transform: scale(1.03);
  text-decoration: none;
  background-color: #FED34C;
  color: black;
  border-color: #fec719;
  cursor: pointer;
}
#resetData button:focus-visible {
  -webkit-transform: scale(1.03);
          transform: scale(1.03);
  text-decoration: none;
  background-color: #FED34C;
  color: black;
  border-color: #fec719;
  cursor: pointer;
}
#resetData button[disabled], #resetData button[aria-disabled=true] {
  opacity: 0.5;
  cursor: not-allowed;
}

@media (max-width: 1050px) {
  #membership {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    max-width: calc(100% - 40px);
    min-height: auto;
    margin-top: 15px;
    padding-top: 0;
    padding-bottom: 0;
  }
}
@media (max-width: 800px) {
  .guestLoginMethods .socialMediaLogins {
    grid-template-columns: 1fr 1fr;
    gap: 8px;
  }
  header {
    height: auto;
  }
  header .branding {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  header .branding .logoWrap {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: 100%;
    max-width: 280px;
    -webkit-box-flex: 1;
        -ms-flex: auto;
            flex: auto;
    margin-bottom: 10px;
  }
  header .branding .orientationTitle {
    text-align: center;
  }
  #membership .formWrap.login .loginWrapper {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 15px;
  }
  #membership .formWrap.login .newAccountWrapper {
    width: auto;
    margin: auto;
  }
  #membership .formWrap.login .returningWrapper {
    width: auto;
  }
  #membership .formWrap.landingPage .buttons a {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
  }
}
@media (max-width: 650px) {
  #membership .formWrap {
    padding: 25px;
  }
  #membership .formWrap.login .newAccountWrapper {
    width: auto;
  }
  #membership .formWrap.landingPage .buttons {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  #membership .formWrap.landingPage .buttons a {
    width: 100%;
  }
  #membership .formWrap.landingPage .buttons a:first-child {
    margin-bottom: 15px;
  }
  #resetData button {
    width: 100%;
    margin-bottom: 8px;
  }
}
@media (max-width: 520px) {
  .guestLoginMethods .socialMediaLogins {
    grid-template-columns: 1fr;
    gap: 8px;
  }
  #membership .titleArea.accountProfiler {
    font-size: 1.125em;
  }
  header .orientationTitle {
    font-size: 1.8em;
  }
}
@media (max-width: 450px) {
  #membership .formWrap {
    padding: 16px;
  }
  #membership .formWrap.landingPage {
    padding: 20px;
  }
}
.rte h4,
.rte h5 {
  margin: 0.8em 0 0.5em;
}
.rte > *:first-child {
  margin-top: 0 !important;
}
.rte > *:last-child {
  margin-bottom: 0 !important;
}

.rte iframe {
  max-width: calc(100vw - 80px);
  max-height: calc((100vw - 80px) / 1.7778); /* 16:9 */
}
.rte img {
  margin: 10px;
}
.rte img[style*="float: right"] {
  margin: 0 0 20px 20px;
}
.rte img[style*="float: left"] {
  margin: 0 20px 20px 0px;
}
.rte img[style*="float: right"], .rte img[style*="float: left"] {
  max-width: 60%;
}
@media (max-width: 650px) {
  .rte img[style*="float: right"], .rte img[style*="float: left"] {
    max-width: 50%;
  }
}
@media (max-width: 520px) {
  .rte img[style*="float: right"], .rte img[style*="float: left"] {
    max-width: 100%;
    float: none !important;
    margin: 0 auto 8px;
  }
}
.rte figure:not(.termBbl) {
  margin: 20px 0px;
  border-radius: calc(0 + 5px - 0px);
  border: 1px solid #a9a9ad;
  padding: 5px;
  display: inline-block;
}
.rte figure:not(.termBbl) img {
  float: none !important;
  margin: 0px !important;
  max-width: 100% !important;
  border-radius: 0 0 0px 0px;
}
.rte figure:not(.termBbl)[style*="text-align: right"] {
  float: right;
  margin: 0 0 20px 20px;
}
.rte figure:not(.termBbl)[style*="text-align: left"] {
  float: left;
  margin: 0 20px 20px 0px;
}
.rte figure:not(.termBbl)[style*="text-align: left"], .rte figure:not(.termBbl)[style*="text-align: right"] {
  text-align: left !important;
  max-width: 60%;
}
@media (max-width: 650px) {
  .rte figure:not(.termBbl)[style*="text-align: left"], .rte figure:not(.termBbl)[style*="text-align: right"] {
    max-width: 50%;
  }
}
@media (max-width: 520px) {
  .rte figure:not(.termBbl)[style*="text-align: left"], .rte figure:not(.termBbl)[style*="text-align: right"] {
    max-width: 100%;
    float: none !important;
    margin: 0 auto 8px;
  }
}
.rte figure:not(.termBbl) figcaption {
  font-weight: 400;
  padding: 10px;
  border-radius: 0px 0px 0 0;
  background-color: #ebebec;
  color: black;
  font-size: 0.9em;
}
.rte p {
  font-family: "Noah Text", "HelveticaNeue", "Helvetica Neue", "Helvetica", "Arial", sans-serif;
  font-size: 1.1em;
}
.rte h3.heading {
  margin: 0.75em 0 0.4em;
  font-size: 2.3em;
  font-weight: 700;
  letter-spacing: 0.025em;
  color: #00325D;
  background-color: white;
}
.rte .headingList,
.rte .subheadingList {
  margin: 0.85em 0 0.4em;
  padding-bottom: 0.25em;
  border-bottom: 2px solid #93C2F8;
  font-weight: 900;
  font-family: "Noah Head", "HelveticaNeue", "Helvetica Neue", "Helvetica", "Arial", sans-serif;
  letter-spacing: 0.025em;
}
.rte h3.headingList {
  font-size: 1.5em;
  color: #00325D;
  background-color: white;
}
.rte h4.subheadingList {
  font-size: 1.3em;
  color: #1D418E;
  background-color: white;
}
.rte h4.subheading {
  margin: 0.75em 0 0.4em;
  font-size: 1.75em;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: #1D418E;
  background-color: white;
  border-radius: 8px;
}
.rte .largeText {
  position: relative;
  padding: 0;
  margin-top: 20px;
  margin-bottom: 25px;
  display: block;
  font-size: 1.15em;
  line-height: 1.5em;
  padding-left: 20px;
  padding-right: 20px;
  color: #00325D;
  background-color: white;
}
.rte .largeText:before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 4px;
  height: 100%;
  background-image: url(/Images/wiggle-vertical.png);
  background-size: 100% auto;
  background-repeat: no-repeat;
}
.rte .highlight {
  background-color: #ebebec;
  color: black;
}
.rte ul {
  padding: 0;
}
.rte ul > li {
  margin-left: 40px;
  margin-bottom: 5px;
}
.rte ul > li::marker {
  font-size: 1.25em;
  color: #1D418E;
}
.rte ol {
  padding: 0;
  list-style-type: none;
  counter-reset: counter;
}
.rte ol > li {
  position: relative;
  counter-increment: counter;
  margin-left: 40px;
  margin-bottom: 5px;
}
.rte ol > li:before {
  content: counter(counter) ". ";
  position: absolute;
  right: calc(100% + 8px);
  color: #1D418E;
  font-weight: bold;
}
.rte a {
  text-decoration: none;
  color: #1D418E;
  background-color: white;
  border-bottom: 2px solid #93C2F8;
}
@media (hover: hover) and (pointer: fine) {
  .rte a:hover {
    color: #901a9d;
    background-color: white;
    border-bottom-color: #901a9d;
  }
}
[data-browser=ie] .rte a:hover {
  color: #901a9d;
  background-color: white;
  border-bottom-color: #901a9d;
}
.ie .rte a:hover {
  color: #901a9d;
  background-color: white;
  border-bottom-color: #901a9d;
}
.rte a.focus-visible {
  color: #901a9d;
  background-color: white;
  border-bottom-color: #901a9d;
}
.rte a:focus-visible {
  color: #901a9d;
  background-color: white;
  border-bottom-color: #901a9d;
}
.rte .tableWrapper {
  overflow: auto;
  max-width: 100%;
  margin-bottom: 20px;
  background: -webkit-gradient(linear, left top, right top, color-stop(30%, #fff), to(rgba(255, 255, 255, 0))), -webkit-gradient(linear, left top, right top, from(rgba(255, 255, 255, 0)), color-stop(70%, #fff)) 0 100%, radial-gradient(farthest-side at 0% 50%, rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0)), radial-gradient(farthest-side at 100% 50%, rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0)) 0 100%;
  background: linear-gradient(to right, #fff 30%, rgba(255, 255, 255, 0)), linear-gradient(to right, rgba(255, 255, 255, 0), #fff 70%) 0 100%, radial-gradient(farthest-side at 0% 50%, rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0)), radial-gradient(farthest-side at 100% 50%, rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0)) 0 100%;
  background-repeat: no-repeat;
  background-color: #fff;
  background-size: 40px 100%, 40px 100%, 14px 100%, 14px 100%;
  background-position: 0 0, 100%, 0 0, 100%;
  background-attachment: local, local, scroll, scroll;
}
.rte .tableWrapper table {
  min-width: 500px;
  margin-bottom: 5px;
}
.rte .tableWrapper table caption {
  padding: 4px;
  font-weight: 500;
  background-color: #93C2F8;
  color: black;
}
.rte .tableWrapper table tr:nth-child(even) {
  background: rgba(29, 65, 142, 0.17);
}
.rte .tableWrapper table tr:nth-child(odd) {
  background: rgba(29, 65, 142, 0.06);
}
.rte .tableWrapper table th {
  padding: 3px;
  background-color: #1D418E;
  color: white;
  border-color: black;
}
.rte .tableWrapper table td {
  padding: 3px;
  font-size: 0.95em;
}
.rte .tableWrapper table a {
  background: none;
}
.rte .tableWrapper .mobileScrollMessage {
  position: relative;
  display: none;
  margin-top: 8px;
  padding: 5px 8px;
  border-radius: 0;
  background-color: #93C2F8;
  color: black;
}
.rte .tableWrapper .mobileScrollMessage:before {
  content: "";
  position: absolute;
  bottom: 100%;
  left: 8px;
  width: 0px;
  height: 0px;
  border-style: solid;
  border-width: 0 6px 8px 5px;
  border-color: transparent transparent #93C2F8 transparent;
}
.rte.calloutSubtle {
  margin: 0.75em 0 0.9em;
  padding: 10px 15px;
  border-radius: 0;
  background-color: #ebebec;
  color: black;
}
.rte.calloutSubtle a {
  background-color: #ebebec;
  color: black;
  border-bottom: 2px solid black;
}
@media (hover: hover) and (pointer: fine) {
  .rte.calloutSubtle a:hover {
    color: #3f3f3f;
    background-color: white;
    border-bottom-color: #3f3f3f;
  }
}
[data-browser=ie] .rte.calloutSubtle a:hover {
  color: #3f3f3f;
  background-color: white;
  border-bottom-color: #3f3f3f;
}
.ie .rte.calloutSubtle a:hover {
  color: #3f3f3f;
  background-color: white;
  border-bottom-color: #3f3f3f;
}
.rte.calloutSubtle a.focus-visible {
  color: #3f3f3f;
  background-color: white;
  border-bottom-color: #3f3f3f;
}
.rte.calloutSubtle a:focus-visible {
  color: #3f3f3f;
  background-color: white;
  border-bottom-color: #3f3f3f;
}
.rte.calloutSubtle > *:first-child {
  margin-top: 0 !important;
}
.rte.calloutSubtle > *:last-child {
  margin-bottom: 0 !important;
}
.rte.calloutBold {
  margin: 0.75em 0 0.9em;
  padding: 10px 15px;
  border-radius: 0;
  background-color: #93C2F8;
  color: black;
}
.rte.calloutBold a {
  background-color: #93C2F8;
  color: black;
  border-bottom: 2px solid black;
}
@media (hover: hover) and (pointer: fine) {
  .rte.calloutBold a:hover {
    color: #3f3f3f;
    background-color: white;
    border-bottom-color: #3f3f3f;
  }
}
[data-browser=ie] .rte.calloutBold a:hover {
  color: #3f3f3f;
  background-color: white;
  border-bottom-color: #3f3f3f;
}
.ie .rte.calloutBold a:hover {
  color: #3f3f3f;
  background-color: white;
  border-bottom-color: #3f3f3f;
}
.rte.calloutBold a.focus-visible {
  color: #3f3f3f;
  background-color: white;
  border-bottom-color: #3f3f3f;
}
.rte.calloutBold a:focus-visible {
  color: #3f3f3f;
  background-color: white;
  border-bottom-color: #3f3f3f;
}
.rte.calloutBold > *:first-child {
  margin-top: 0 !important;
}
.rte.calloutBold > *:last-child {
  margin-bottom: 0 !important;
}

@media (max-width: 800px) {
  .rte .largeText {
    margin-left: 20px;
  }
}
@media (max-width: 650px) {
  .rte .tableWrapper .mobileScrollMessage {
    display: inline-block;
  }
}
#membership .formWrap.maintenance {
  background: #1D418E;
  border-color: #fff;
}
#membership .formWrap.maintenance .formArea {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: distribute;
      justify-content: space-around;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  background: transparent;
}
#membership .formWrap.maintenance .formArea .rte {
  color: #fff;
  padding-right: 25px;
}
#membership .formWrap.maintenance .formArea .icon {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -webkit-box-flex: 0;
      -ms-flex-positive: 0;
          flex-grow: 0;
  width: 350px;
  height: 350px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 16em;
  border-left: 2px solid #658cdf;
  color: #fff;
}

@media (max-width: 800px) {
  #membership .formWrap.maintenance .formArea .icon {
    width: 30%;
    height: 150px;
    font-size: 6em;
  }
}
@media (max-width: 650px) {
  #membership .formWrap.maintenance .formArea {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  #membership .formWrap.maintenance .formArea .icon {
    width: 75px;
    height: 75px;
    font-size: 3em;
    padding: 0;
    margin-bottom: 25px;
    border-left: 0;
    border-bottom: 2px solid #658cdf;
  }
}
.membershipPage .errorPage .errorWrap {
  background: #1D418E;
  border-radius: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  color: #fff;
  margin-top: 10px;
  padding: 30px;
}
.membershipPage .errorPage .icon {
  padding: 30px;
  font-size: 8em;
  border-left: 2px solid rgb(167, 196, 221);
  width: 50%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.membershipPage .errorPage .rte {
  text-align: center;
  padding: 40px 30px 20px 30px;
  width: 50%;
}
.membershipPage .errorPage .rte h3.heading {
  background: transparent;
  color: white;
  text-transform: none;
}

@media (max-width: 800px) {
  .membershipPage .errorPage .icon {
    font-size: 6em;
  }
}
@media (max-width: 650px) {
  .membershipPage .errorPage .errorWrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding: 0 30px;
  }
  .membershipPage .errorPage .icon {
    font-size: 5em;
    border-left: 0;
    padding-bottom: 15px;
    border-bottom: 2px solid rgb(167, 196, 221);
    width: 100%;
    margin: 0 auto;
    text-align: center;
  }
  .membershipPage .errorPage .rte {
    width: 100%;
    padding: 15px 0;
  }
}
details {
  -webkit-transition: all 500ms;
  transition: all 500ms;
}

details > summary::marker,
details > summary::-webkit-details-marker {
  display: none;
}

.accordionModule .accordionTitle {
  cursor: pointer;
  list-style: none;
}

.accordionModule {
  position: relative;
  margin: 10px 0;
}
.accordionModule[open] > .accordionTitle {
  background-color: #1D418E;
  color: white;
}
.accordionModule[open] > .accordionTitle .icon {
  -webkit-transform: translateY(-50%) rotate(180deg);
          transform: translateY(-50%) rotate(180deg);
  -webkit-transform-origin: center;
          transform-origin: center;
}
.accordionModule[open] > .accordionTitle .icon:before {
  content: "^";
}
.accordionModule .accordionTitle {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
  background-color: #00325D;
  color: white;
  padding: 20px 20px 20px 40px;
  -webkit-transition: all 300ms;
  transition: all 300ms;
}
@media (hover: hover) and (pointer: fine) {
  .accordionModule .accordionTitle:hover {
    background-color: #1D418E;
    color: white;
  }
  .accordionModule .accordionTitle:hover .icon {
    color: white;
  }
}
[data-browser=ie] .accordionModule .accordionTitle:hover {
  background-color: #1D418E;
  color: white;
}
[data-browser=ie] .accordionModule .accordionTitle:hover .icon {
  color: white;
}
.ie .accordionModule .accordionTitle:hover {
  background-color: #1D418E;
  color: white;
}
.ie .accordionModule .accordionTitle:hover .icon {
  color: white;
}
.accordionModule .accordionTitle.focus-visible {
  background-color: #1D418E;
  color: white;
}
.accordionModule .accordionTitle.focus-visible .icon {
  color: white;
}
.accordionModule .accordionTitle:focus-visible {
  background-color: #1D418E;
  color: white;
}
.accordionModule .accordionTitle:focus-visible .icon {
  color: white;
}
.accordionModule .accordionTitle .icon {
  position: absolute;
  top: 50%;
  left: 18px;
  -webkit-transform: rotate(0) translateY(-50%);
          transform: rotate(0) translateY(-50%);
  -webkit-transition: 0.2s -webkit-transform;
  transition: 0.2s -webkit-transform;
  transition: 0.2s transform;
  transition: 0.2s transform, 0.2s -webkit-transform;
}
.accordionModule .accordionTitle .icon:before {
  content: "@";
  font-family: "spelman";
}
.accordionModule .accordionTitle .text {
  font-size: 1.1em;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.accordionModule .accordionWrapper {
  border-top: 8px solid #FED34C;
  padding: 15px 8px 10px;
  border-radius: 0px 0px 0 0;
  background-color: #fff;
  color: black;
}
.accordionModule .accordionWrapper img {
  max-width: 100%;
  height: auto !important;
}
.accordionModule .accordionWrapper h3.heading {
  font-size: 1.8em;
}
.accordionModule .accordionWrapper h3.headingList {
  font-size: 1.4em;
}
.accordionModule .accordionWrapper h4.subheadingList {
  font-size: 1.2em;
}
.accordionModule .accordionWrapper h3.subheading {
  font-size: 1.5em;
}
.accordionModule + .rte {
  margin-top: 25px;
}
/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImZpbGU6Ly8vQzovVXNlcnMvYmVuamFtaW4vc291cmNlL3JlcG9zL1NwZWxtYW4lMjBDb2xsZWdlJTIwLSUyMDY1OTYvU3BlbG1hbi9TYXNzL19mb250cy5zY3NzIiwiLi4vLi4vU2Fzcy9hZGdNZW1iZXJzaGlwLnNjc3MiLCJmaWxlOi8vL0M6L1VzZXJzL2JlbmphbWluL3NvdXJjZS9yZXBvcy9TcGVsbWFuJTIwQ29sbGVnZSUyMC0lMjA2NTk2L1NwZWxtYW4vU2Fzcy9fZ2xvYmFsTWl4aW5zLnNjc3MiLCJmaWxlOi8vL0M6L1VzZXJzL2JlbmphbWluL3NvdXJjZS9yZXBvcy9TcGVsbWFuJTIwQ29sbGVnZSUyMC0lMjA2NTk2L1NwZWxtYW4vU2Fzcy9fbWl4aW5zLnNjc3MiLCJmaWxlOi8vL0M6L1VzZXJzL2JlbmphbWluL3NvdXJjZS9yZXBvcy9TcGVsbWFuJTIwQ29sbGVnZSUyMC0lMjA2NTk2L1NwZWxtYW4vU2Fzcy9fZ2xvYmFsLnNjc3MiLCJmaWxlOi8vL0M6L1VzZXJzL2JlbmphbWluL3NvdXJjZS9yZXBvcy9TcGVsbWFuJTIwQ29sbGVnZSUyMC0lMjA2NTk2L1NwZWxtYW4vU2Fzcy9fdmFyaWFibGVzLnNjc3MiLCJmaWxlOi8vL0M6L1VzZXJzL2JlbmphbWluL3NvdXJjZS9yZXBvcy9TcGVsbWFuJTIwQ29sbGVnZSUyMC0lMjA2NTk2L1NwZWxtYW4vU2Fzcy9fZGlhbG9nLnNjc3MiLCJmaWxlOi8vL0M6L1VzZXJzL2JlbmphbWluL3NvdXJjZS9yZXBvcy9TcGVsbWFuJTIwQ29sbGVnZSUyMC0lMjA2NTk2L1NwZWxtYW4vU2Fzcy9fZm9ybXMuc2NzcyIsImZpbGU6Ly8vQzovVXNlcnMvYmVuamFtaW4vc291cmNlL3JlcG9zL1NwZWxtYW4lMjBDb2xsZWdlJTIwLSUyMDY1OTYvU3BlbG1hbi9TYXNzL19sb2dpbi5zY3NzIiwiZmlsZTovLy9DOi9Vc2Vycy9iZW5qYW1pbi9zb3VyY2UvcmVwb3MvU3BlbG1hbiUyMENvbGxlZ2UlMjAtJTIwNjU5Ni9TcGVsbWFuL1Nhc3MvX3JpY2hUZXh0U3R5bGVzLnNjc3MiLCJmaWxlOi8vL0M6L1VzZXJzL2JlbmphbWluL3NvdXJjZS9yZXBvcy9TcGVsbWFuJTIwQ29sbGVnZSUyMC0lMjA2NTk2L1NwZWxtYW4vU2Fzcy9fbWFpbnRlbmFuY2Uuc2NzcyIsImZpbGU6Ly8vQzovVXNlcnMvYmVuamFtaW4vc291cmNlL3JlcG9zL1NwZWxtYW4lMjBDb2xsZWdlJTIwLSUyMDY1OTYvU3BlbG1hbi9TYXNzL19lcnJvclBhZ2VzLnNjc3MiLCJmaWxlOi8vL0M6L1VzZXJzL2JlbmphbWluL3NvdXJjZS9yZXBvcy9TcGVsbWFuJTIwQ29sbGVnZSUyMC0lMjA2NTk2L1NwZWxtYW4vU2Fzcy9fYWNjb3JkaW9uLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDSSxvQkFBQTtFQUNBLHNEQUFBO0VBQ0EsZ0JBQUE7RUFDQSxrQkFBQTtFQUNBLGtCQUFBO0FDQ0o7QURFQTtFQUNJLG9CQUFBO0VBQ0Esb0RBQUE7RUFDQSxnQkFBQTtFQUNBLGtCQUFBO0VBQ0Esa0JBQUE7QUNBSjtBREdBO0VBQ0ksd0JBQUE7RUFDQSw2REFBQTtFQUNBLGdCQUFBO0VBQ0Esa0JBQUE7RUFDQSxrQkFBQTtBQ0RKO0FESUE7RUFDSSx3QkFBQTtFQUNBLHVEQUFBO0VBQ0EsZ0JBQUE7RUFDQSxrQkFBQTtFQUNBLGtCQUFBO0FDRko7QURLQTtFQUNJLHdCQUFBO0VBQ0EsK0RBQUE7RUFDQSxtQkFBQTtFQUNBLGtCQUFBO0VBQ0Esa0JBQUE7QUNISjtBRE1BO0VBQ0ksd0JBQUE7RUFDQSx5REFBQTtFQUNBLG1CQUFBO0VBQ0Esa0JBQUE7RUFDQSxrQkFBQTtBQ0pKO0FDdENBLHNCQUFBO0FBdUJBLG1CQUFBO0FBbUNBLG9CQUFBO0FBMERBLGdCQUFBO0FBcUJBLGNBQUE7QUFZQSxzQkFBQTtBQXNKQSxVQUFBO0FBNGZBLHdCQUFBO0FDdGdCQTtFQUNFO0lBQ0UsdUJBQUE7SUFDQSx5Q0FBQTtZQUFBLGlDQUFBO0VGalBGO0VFbVBBO0lB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O0VIMmxCUixZQWZxRDtFT2xTakQsbUJBQUE7QVI4akZSO0FRNWpGTTtFQUNFLFlBQUE7RUFDQSxpQkFBQTtBUjhqRlI7QVE1akZNO0VBQ0UsZ0JBQUE7QVI4akZSO0FRMWpGSTtFQUNFLGtCQUFBO0VBQ0EsYUFBQTtFQUNBLGVBQUE7RUFDQSxnQkFBQTtFQUNBLGdCSnZQRztFSDBnQlAseUJHOWtCUTtFSDBsQk4sWUFia0M7QUQ0eUV0QztBUTVqRk07RUFDRSxXQUFBO0VBQ0Esa0JBQUE7RUFDQSxZQUFBO0VBQ0EsU0FBQTtFQUNBLFVBQUE7RUFDQSxXQUFBO0VBQ0EsbUJBQUE7RUFDQSwyQkFBQTtFQUNBLHlEQUFBO0FSOGpGUjtBUXpqRkU7RUFDRSxzQkFBQTtFQUNBLGtCQUFBO0VBQ0EsZ0JKMVFLO0VIMGdCUCx5Qkdqa0JVO0VINmtCUixZQWJrQztBRDh6RXRDO0FRMWpGSTtFUDZQRix5Qkdqa0JVO0VINmtCUixZQWJrQztFTzFQaEMsOEJBQUE7QVI2akZOO0FDbjNFRTtFQUNFO0lBd0VGLGNHcmxCTTtJSG1tQkosdUJBZjJEO0lPOVF2RCw0Qkp0VUE7RUpxNEZOO0FBQ0Y7QUNwM0VFO0VBbUVBLGNHcmxCTTtFSG1tQkosdUJBZjJEO0VPOVF2RCw0Qkp0VUE7QUoyNEZSO0FDcjNFRTtFQStEQSxjR3JsQk07RUhtbUJKLHVCQWYyRDtFTzlRdkQsNEJKdFVBO0FKZzVGUjtBQy8yRUU7RUFvREEsY0dybEJNO0VIbW1CSix1QkFmMkQ7RU85UXZELDRCSnRVQTtBSnE1RlI7QUNoM0VFO0VBZ0RBLGNHcmxCTTtFSG1tQkosdUJBZjJEO0VPOVF2RCw0Qkp0VUE7QUowNUZSO0FRaGxGSTtFQUNFLHdCQUFBO0FSa2xGTjtBUS9rRkk7RUFDRSwyQkFBQTtBUmlsRk47QVE3a0ZFO0VBQ0Usc0JBQUE7RUFDQSxrQkFBQTtFQUNBLGdCSm5TSztFSDBnQlAseUJHOWtCUTtFSDBsQk4sWUFia0M7QUQyMkV0QztBUTlrRkk7RVBvT0YseUJHOWtCUTtFSDBsQk4sWUFia0M7RU9qT2hDLDhCQUFBO0FSaWxGTjtBQ2g2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QSwwQkFBQTtFVnVmRixzQkdsa0JNO0VIOGtCSixZQWJrQztBRHFtRnRDO0FXemxHSTtFQUNFLGVBQUE7RUFDQSx1QkFBQTtBWDJsR047QVd4bEdJO0VBQ0UsZ0JBQUE7QVgwbEdOO0FXdmxHSTtFQUNFLGdCQUFBO0FYeWxHTjtBV3RsR0k7RUFDRSxnQkFBQTtBWHdsR047QVdybEdJO0VBQ0UsZ0JBQUE7QVh1bEdOO0FXbmxHRTtFQUNFLGdCQUFBO0FYcWxHSiIsImZpbGUiOiJhZGdNZW1iZXJzaGlwLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIkBmb250LWZhY2Uge1xyXG4gICAgZm9udC1mYW1pbHk6ICdKdWFuYSc7XHJcbiAgICBzcmM6IHVybCgnL2ZvbnRzL0p1YW5hLUJsYWNrSXQud29mZjInKSBmb3JtYXQoJ3dvZmYyJyk7XHJcbiAgICBmb250LXdlaWdodDogOTAwO1xyXG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xyXG4gICAgZm9udC1kaXNwbGF5OiBzd2FwO1xyXG59XHJcblxyXG5AZm9udC1mYWNlIHtcclxuICAgIGZvbnQtZmFtaWx5OiAnSnVhbmEnO1xyXG4gICAgc3JjOiB1cmwoJy9mb250cy9KdWFuYS1CbGFjay53b2ZmMicpIGZvcm1hdCgnd29mZjInKTtcclxuICAgIGZvbnQtd2VpZ2h0OiA5MDA7XHJcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XHJcbiAgICBmb250LWRpc3BsYXk6IHN3YXA7XHJcbn1cclxuXHJcbkBmb250LWZhY2Uge1xyXG4gICAgZm9udC1mYW1pbHk6ICdOb2FoIEhlYWQnO1xyXG4gICAgc3JjOiB1cmwoJy9mb250cy9Ob2FoSGVhZC1CbGFja0l0YWxpYy53b2ZmMicpIGZvcm1hdCgnd29mZjInKTtcclxuICAgIGZvbnQtd2VpZ2h0OiA5MDA7XHJcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XHJcbiAgICBmb250LWRpc3BsYXk6IHN3YXA7XHJcbn1cclxuXHJcbkBmb250LWZhY2Uge1xyXG4gICAgZm9udC1mYW1pbHk6ICdOb2FoIEhlYWQnO1xyXG4gICAgc3JjOiB1cmwoJy9mb250cy9Ob2FoSGVhZC1CbGFjay53b2ZmMicpIGZvcm1hdCgnd29mZjInKTtcclxuICAgIGZvbnQtd2VpZ2h0OiA5MDA7XHJcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XHJcbiAgICBmb250LWRpc3BsYXk6IHN3YXA7XHJcbn1cclxuXHJcbkBmb250LWZhY2Uge1xyXG4gICAgZm9udC1mYW1pbHk6ICdOb2FoIFRleHQnO1xyXG4gICAgc3JjOiB1cmwoJy9mb250cy9Ob2FoVGV4dC1SZWd1bGFySXRhbGljLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpO1xyXG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcclxuICAgIGZvbnQtZGlzcGxheTogc3dhcDtcclxufVxyXG5cclxuQGZvbnQtZmFjZSB7XHJcbiAgICBmb250LWZhbWlseTogJ05vYWggVGV4dCc7XHJcbiAgICBzcmM6IHVybCgnL2ZvbnRzL05vYWhUZXh0LVJlZ3VsYXIud29mZjInKSBmb3JtYXQoJ3dvZmYyJyk7XHJcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG4gICAgZm9udC1kaXNwbGF5OiBzd2FwO1xyXG59XHJcblxyXG4iLCJAZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiSnVhbmFcIjtcbiAgc3JjOiB1cmwoXCIvZm9udHMvSnVhbmEtQmxhY2tJdC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKTtcbiAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiSnVhbmFcIjtcbiAgc3JjOiB1cmwoXCIvZm9udHMvSnVhbmEtQmxhY2sud29mZjJcIikgZm9ybWF0KFwid29mZjJcIik7XG4gIGZvbnQtd2VpZ2h0OiA5MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIk5vYWggSGVhZFwiO1xuICBzcmM6IHVybChcIi9mb250cy9Ob2FoSGVhZC1CbGFja0l0YWxpYy53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKTtcbiAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiTm9haCBIZWFkXCI7XG4gIHNyYzogdXJsKFwiL2ZvbnRzL05vYWhIZWFkLUJsYWNrLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpO1xuICBmb250LXdlaWdodDogOTAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJOb2FoIFRleHRcIjtcbiAgc3JjOiB1cmwoXCIvZm9udHMvTm9haFRleHQtUmVndWxhckl0YWxpYy53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiTm9haCBUZXh0XCI7XG4gIHNyYzogdXJsKFwiL2ZvbnRzL05vYWhUZXh0LVJlZ3VsYXIud29mZjJcIikgZm9ybWF0KFwid29mZjJcIik7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xufVxuLyotLS1URVhUIEFORCBGT05ULS0tKi9cbi8qLS0tQkFDS0dST1VORC0tLSovXG4vKi0tLVBPU0lUSU9OSU5HLS0tKi9cbi8qLS0tQ09OVEVOVC0tLSovXG4vKi0tLUxJU1RTLS0tKi9cbi8qLS0tQk9SREVSIEFSUk9XUy0tLSovXG4vKipGb3JtcyoqL1xuLyoqIERFRkFVTFQgT1ZFUlJJREVTICoqL1xuQGtleWZyYW1lcyB0b2dnbGUtZ3Jvdy1pbiB7XG4gIDAlIHtcbiAgICBib3JkZXItcmFkaXVzOiAwLjY4NzVlbTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCkgc2NhbGUoMSk7XG4gIH1cbiAgMTAwJSB7XG4gICAgYm9yZGVyLXJhZGl1czogMC40NDQ4NTI5NDEyZW0gLyAwLjk0NTMxMjVlbTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMC41ZW0pIHNjYWxlKDEuNTQ1NDU0NTQ1NSwgMC43MjcyNzI3MjczKTtcbiAgfVxufVxuQGtleWZyYW1lcyB0b2dnbGUtYm91bmNlLWluIHtcbiAgMCUge1xuICAgIGJvcmRlci1yYWRpdXM6IDAuNDQ0ODUyOTQxMmVtIC8gMC45NDUzMTI1ZW07XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAuNWVtKSBzY2FsZSgxLjU0NTQ1NDU0NTUsIDAuNzI3MjcyNzI3Myk7XG4gIH1cbiAgMTAwJSB7XG4gICAgYm9yZGVyLXJhZGl1czogMC42ODc1ZW07XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpIHNjYWxlKDEpO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHRvZ2dsZS1ncm93LW91dCB7XG4gIDAlIHtcbiAgICBib3JkZXItcmFkaXVzOiAwLjY4NzVlbTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSkgc2NhbGUoMSk7XG4gIH1cbiAgMTAwJSB7XG4gICAgYm9yZGVyLXJhZGl1czogMC40NDQ4NTI5NDEyZW0gLyAwLjk0NTMxMjVlbTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMC4xMjVlbSkgc2NhbGUoMS41NDU0NTQ1NDU1LCAwLjcyNzI3MjcyNzMpO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHRvZ2dsZS1ib3VuY2Utb3V0IHtcbiAgMCUge1xuICAgIGJvcmRlci1yYWRpdXM6IDAuNDQ0ODUyOTQxMmVtIC8gMC45NDUzMTI1ZW07XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAuMTI1ZW0pIHNjYWxlKDEuNTQ1NDU0NTQ1NSwgMC43MjcyNzI3MjczKTtcbiAgfVxuICAxMDAlIHtcbiAgICBib3JkZXItcmFkaXVzOiAwLjY4NzVlbTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCkgc2NhbGUoMSk7XG4gIH1cbn1cbiosXG4qOjpiZWZvcmUsXG4qOjphZnRlciB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbio6Zm9jdXMtdmlzaWJsZSwgKi5mb2N1cy12aXNpYmxlIHtcbiAgb3V0bGluZTogMC4xNmVtIHNvbGlkIHdoaXRlICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDAuMzJlbSBibGFjayAhaW1wb3J0YW50O1xufVxuXG5ib2R5W2RhdGEtcmVkdWNlLWFuaW1hdGlvbj10cnVlXSAqLFxuYm9keVtkYXRhLXJlZHVjZS1hbmltYXRpb249dHJ1ZV0gKjo6YmVmb3JlLFxuYm9keVtkYXRhLXJlZHVjZS1hbmltYXRpb249dHJ1ZV0gKjo6YWZ0ZXIge1xuICBhbmltYXRpb24tZHVyYXRpb246IDAuMDFtcyAhaW1wb3J0YW50O1xuICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAxICFpbXBvcnRhbnQ7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMDFtcyAhaW1wb3J0YW50O1xuICBzY3JvbGwtYmVoYXZpb3I6IGF1dG8gIWltcG9ydGFudDtcbn1cblxuaHRtbCB7XG4gIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbn1cblxuW2RhdGEtYWN0aXZlLXpvbmU9c2xpZGVzXSB7XG4gIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgc2Nyb2xsYmFyLWd1dHRlcjogc3RhYmxlO1xufVxuXG5odG1sW2RhdGEtZGlhbG9nLWhpZGUtb3ZlcmZsb3c9dHJ1ZV0ge1xuICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG59XG5cbmJvZHkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgc2Nyb2xsLWJlaGF2aW9yOiBzbW9vdGg7XG4gIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZVNwZWVkO1xuICBsaW5lLWhlaWdodDogMS4xO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZvbnQtZmFtaWx5OiBcIk5vYWggVGV4dFwiLCBcIkhlbHZldGljYU5ldWVcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIkhlbHZldGljYVwiLCBcIkFyaWFsXCIsIHNhbnMtc2VyaWY7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuaW1nIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG5hcnRpY2xlID4gKiArICoge1xuICBtYXJnaW4tdG9wOiAxZW07XG59XG5cbmlucHV0LFxuYnV0dG9uLFxudGV4dGFyZWEsXG5zZWxlY3Qge1xuICBmb250OiBpbmhlcml0O1xufVxuXG5oMSxcbmgyLFxuaDMsXG5oNCxcbmg1LFxuaDYge1xuICBtYXJnaW46IDA7XG59XG5cbnAge1xuICBtYXJnaW46IDAuMzVlbSAwIDAuODVlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNTVlbTtcbn1cblxub2wsXG51bCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIG1hcmdpbjogMC40ZW0gMCAwLjc1ZW07XG59XG5cbmxpIHtcbiAgbGluZS1oZWlnaHQ6IDEuNWVtO1xufVxuXG5pZnJhbWUge1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgYm9yZGVyOiAycHggc29saWQgI2ViZWJlYztcbn1cblxuYnV0dG9uIHtcbiAgbWFyZ2luOiAwO1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG59XG5cbmEge1xuICBjb2xvcjogIzFENDE4RTtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIHRyYW5zaXRpb246IDIwMG1zO1xufVxuQG1lZGlhIChob3ZlcjogaG92ZXIpIGFuZCAocG9pbnRlcjogZmluZSkge1xuICBhOmhvdmVyIHtcbiAgICBjb2xvcjogIzAwMzI1RDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgfVxufVxuW2RhdGEtYnJvd3Nlcj1pZV0gYTpob3ZlciB7XG4gIGNvbG9yOiAjMDAzMjVEO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbn1cbi5pZSBhOmhvdmVyIHtcbiAgY29sb3I6ICMwMDMyNUQ7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xufVxuYS5mb2N1cy12aXNpYmxlIHtcbiAgY29sb3I6ICMwMDMyNUQ7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xufVxuYTpmb2N1cy12aXNpYmxlIHtcbiAgY29sb3I6ICMwMDMyNUQ7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xufVxuYSAudGFyZ2V0QmxhbmtOb3RpZmllciB7XG4gIGJvcmRlcjogMDtcbiAgY2xpcDogcmVjdCgwIDAgMCAwKTtcbiAgaGVpZ2h0OiAxcHg7XG4gIG1hcmdpbjogLTFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZzogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMXB4O1xufVxuYSAuaWNvbi1tYWlsIHtcbiAgZm9udC1zaXplOiAwLjllbTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDFweCk7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLXJpZ2h0OiAwLjI1ZW07XG59XG5hIC5pY29uLWV4dGVybmFsLWxpbmsge1xuICBmb250LXNpemU6IDAuOGVtO1xuICBtYXJnaW4tbGVmdDogMC4yNWVtO1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogODAwcHgpIHtcbiAgaWZyYW1lIHtcbiAgICBib3JkZXI6IG5vbmU7XG4gIH1cbn1cbndpbGxpcy16b25lIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbltpbmVydF0ge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxud2lsbGlzLWRpYWxvZzpub3QoW2RhdGEtb3Blbj10cnVlXSkge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi5kaWFsb2dCYWNrZHJvcCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuLnNsaWRlIC5kaWFsb2dCYWNrZHJvcCB7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuLmRpYWxvZ0lubmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG5bZGF0YS1kaWFsb2ctc3R5bGU9bW9kYWxdIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgc2Nyb2xsYmFyLWNvbG9yOiAjNDQ0NDQ0ICNmNWY1ZjU7XG4gIHNjcm9sbGJhci13aWR0aDogdGhpbjtcbn1cbltkYXRhLWRpYWxvZy1zdHlsZT1tb2RhbF06Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiBpbnNldCAwIDAgNnB4IHJnYmEoMCwgMCwgMCwgMC4zKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNTtcbn1cbltkYXRhLWRpYWxvZy1zdHlsZT1tb2RhbF06Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgd2lkdGg6IDVweDtcbiAgaGVpZ2h0OiA1cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmNWY1ZjU7XG59XG5bZGF0YS1kaWFsb2ctc3R5bGU9bW9kYWxdOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0NDQ0NDQ7XG59XG5bZGF0YS1kaWFsb2ctc3R5bGU9bW9kYWxdIGRpdltyb2xlPWRpYWxvZ10ge1xuICB3aWR0aDogNTgwcHg7XG4gIG1hcmdpbjogYXV0bztcbn1cbltkYXRhLWRpYWxvZy1zdHlsZT1tb2RhbF0gZGl2W3JvbGU9ZGlhbG9nXS5yZXBvcnROZWVkZWQge1xuICB3aWR0aDogODAlO1xuICBtYXgtd2lkdGg6IDEwMDBweDtcbn1cblxuW2RhdGEtZGlhbG9nLXN0eWxlPWxhcmdlTW9kYWxdIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgc2Nyb2xsYmFyLWNvbG9yOiAjNDQ0NDQ0ICNmNWY1ZjU7XG4gIHNjcm9sbGJhci13aWR0aDogdGhpbjtcbn1cbltkYXRhLWRpYWxvZy1zdHlsZT1sYXJnZU1vZGFsXTo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xuICAtd2Via2l0LWJveC1zaGFkb3c6IGluc2V0IDAgMCA2cHggcmdiYSgwLCAwLCAwLCAwLjMpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1O1xufVxuW2RhdGEtZGlhbG9nLXN0eWxlPWxhcmdlTW9kYWxdOjotd2Via2l0LXNjcm9sbGJhciB7XG4gIHdpZHRoOiA1cHg7XG4gIGhlaWdodDogNXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1O1xufVxuW2RhdGEtZGlhbG9nLXN0eWxlPWxhcmdlTW9kYWxdOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0NDQ0NDQ7XG59XG5bZGF0YS1kaWFsb2ctc3R5bGU9bGFyZ2VNb2RhbF0gZGl2W3JvbGU9ZGlhbG9nXSB7XG4gIHdpZHRoOiA4MDBweDtcbiAgbWF4LXdpZHRoOiAxMDB2dztcbiAgbWFyZ2luOiBhdXRvO1xufVxuXG5bZGF0YS1kaWFsb2ctc3R5bGU9c2hhZGVdIHtcbiAgb3ZlcmZsb3cteTogc2Nyb2xsO1xufVxuW2RhdGEtZGlhbG9nLXN0eWxlPXNoYWRlXSBkaXZbcm9sZT1kaWFsb2ddIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgd2lkdGg6IDEwMCU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzkzQzJGODtcbiAgY29sb3I6IGJsYWNrO1xufVxuW2RhdGEtZGlhbG9nLXN0eWxlPXNoYWRlXSBkaXZbcm9sZT1kaWFsb2ddIC5kaWFsb2dMYWJlbCB7XG4gIG1heC13aWR0aDogODAwcHg7XG59XG5bZGF0YS1kaWFsb2ctc3R5bGU9c2hhZGVdIGRpdltyb2xlPWRpYWxvZ10gLmRpYWxvZ0NvbnRlbnQge1xuICBtYXgtd2lkdGg6IDgwMHB4O1xufVxuW2RhdGEtZGlhbG9nLXN0eWxlPXNoYWRlXSBkaXZbcm9sZT1kaWFsb2ddIC5kaWFsb2dBY3Rpb25zIHtcbiAgbWF4LXdpZHRoOiA4MDBweDtcbn1cblxuW2RhdGEtZGlhbG9nLXN0eWxlXj1zaWRlYmFyXSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbn1cbltkYXRhLWRpYWxvZy1zdHlsZV49c2lkZWJhcl1bZGF0YS1kaWFsb2ctc3R5bGU9c2lkZWJhckxlZnRdIHtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xufVxuW2RhdGEtZGlhbG9nLXN0eWxlXj1zaWRlYmFyXVtkYXRhLWRpYWxvZy1zdHlsZT1zaWRlYmFyUmlnaHRdIHtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbn1cbltkYXRhLWRpYWxvZy1zdHlsZV49c2lkZWJhcl0gZGl2W3JvbGU9ZGlhbG9nXSB7XG4gIHdpZHRoOiA0NDBweDtcbn1cblxuW2RhdGEtZGlhbG9nLXN0eWxlXj1mdWxsXSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuW2RhdGEtZGlhbG9nLXN0eWxlXj1mdWxsXSBkaXZbcm9sZT1kaWFsb2ddIHtcbiAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgW2RhdGEtZGlhbG9nLXN0eWxlXj1zaWRlYmFyXSBkaXZbcm9sZT1kaWFsb2ddIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtaW4td2lkdGg6IDA7XG4gIH1cbiAgW2RhdGEtZGlhbG9nLXN0eWxlPW1vZGFsXSBkaXZbcm9sZT1kaWFsb2ddIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuZGl2W2RhdGEtZGlhbG9nLWFuaW1hdGlvbi1zcGVlZD1nbGFjaWFsXSB7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMzAwMG1zO1xufVxuXG5kaXZbZGF0YS1kaWFsb2ctYW5pbWF0aW9uLXNwZWVkPXZlcnlTbG93XSB7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMTAwMG1zO1xufVxuXG5kaXZbZGF0YS1kaWFsb2ctYW5pbWF0aW9uLXNwZWVkPXNsb3ddIHtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiA4MDBtcztcbn1cblxuZGl2W2RhdGEtZGlhbG9nLWFuaW1hdGlvbi1zcGVlZD1tZWRpdW1dIHtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiA1MDBtcztcbn1cblxuZGl2W2RhdGEtZGlhbG9nLWFuaW1hdGlvbi1zcGVlZD1mYXN0XSB7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMzAwbXM7XG59XG5cbmRpdltkYXRhLWRpYWxvZy1hbmltYXRpb24tc3BlZWQ9dmVyeUZhc3RdIHtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAyMDBtcztcbn1cblxuLmRpYWxvZ0JhY2tkcm9wIHtcbiAgYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAyMDBtcztcbn1cbi5kaWFsb2dCYWNrZHJvcC5pbiB7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW47XG59XG4uZGlhbG9nQmFja2Ryb3Aub3V0IHtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXQ7XG59XG5cbmRpdltyb2xlPWRpYWxvZ10ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XG59XG5cbkBrZXlmcmFtZXMgZmFkZUluIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuZGl2W2RhdGEtZGlhbG9nLWFuaW1hdGlvbi1uYW1lPWZhZGVJbl0ge1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluO1xufVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5kaXZbZGF0YS1kaWFsb2ctYW5pbWF0aW9uLW5hbWU9ZmFkZU91dF0ge1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dDtcbn1cblxuQGtleWZyYW1lcyBmYWRlVG9wSW4ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCUpO1xuICB9XG59XG5kaXZbZGF0YS1kaWFsb2ctYW5pbWF0aW9uLW5hbWU9ZmFkZVRvcEluXSB7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlVG9wSW47XG59XG5cbkBrZXlmcmFtZXMgZmFkZVRvcE91dCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAlKTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIH1cbn1cbmRpdltkYXRhLWRpYWxvZy1hbmltYXRpb24tbmFtZT1mYWRlVG9wT3V0XSB7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlVG9wT3V0O1xufVxuXG5Aa2V5ZnJhbWVzIGZhZGVCb3R0b21JbiB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDUwJSk7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAlKTtcbiAgfVxufVxuZGl2W2RhdGEtZGlhbG9nLWFuaW1hdGlvbi1uYW1lPWZhZGVCb3R0b21Jbl0ge1xuICBhbmltYXRpb24tbmFtZTogZmFkZUJvdHRvbUluO1xufVxuXG5Aa2V5ZnJhbWVzIGZhZGVCb3R0b21PdXQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwJSk7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDUwJSk7XG4gIH1cbn1cbmRpdltkYXRhLWRpYWxvZy1hbmltYXRpb24tbmFtZT1mYWRlQm90dG9tT3V0XSB7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlQm90dG9tT3V0O1xufVxuXG5Aa2V5ZnJhbWVzIGZhZGVSaWdodEluIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNTAlKTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpO1xuICB9XG59XG5kaXZbZGF0YS1kaWFsb2ctYW5pbWF0aW9uLW5hbWU9ZmFkZVJpZ2h0SW5dIHtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVSaWdodEluO1xufVxuXG5Aa2V5ZnJhbWVzIGZhZGVSaWdodE91dCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNTAlKTtcbiAgfVxufVxuZGl2W2RhdGEtZGlhbG9nLWFuaW1hdGlvbi1uYW1lPWZhZGVSaWdodE91dF0ge1xuICBhbmltYXRpb24tbmFtZTogZmFkZVJpZ2h0T3V0O1xufVxuXG5Aa2V5ZnJhbWVzIGZhZGVMZWZ0SW4ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpO1xuICB9XG59XG5kaXZbZGF0YS1kaWFsb2ctYW5pbWF0aW9uLW5hbWU9ZmFkZUxlZnRJbl0ge1xuICBhbmltYXRpb24tbmFtZTogZmFkZUxlZnRJbjtcbn1cblxuQGtleWZyYW1lcyBmYWRlTGVmdE91dCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNTAlKTtcbiAgfVxufVxuZGl2W2RhdGEtZGlhbG9nLWFuaW1hdGlvbi1uYW1lPWZhZGVMZWZ0T3V0XSB7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlTGVmdE91dDtcbn1cblxuQGtleWZyYW1lcyBzbGlkZVRvcEluIHtcbiAgZnJvbSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTtcbiAgfVxuICB0byB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAlKTtcbiAgfVxufVxuZGl2W2RhdGEtZGlhbG9nLWFuaW1hdGlvbi1uYW1lPXNsaWRlVG9wSW5dIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlVG9wSW47XG59XG5AbWVkaWEgKG1heC13aWR0aDogODAwcHgpIHtcbiAgZGl2W2RhdGEtZGlhbG9nLWFuaW1hdGlvbi1uYW1lPXNsaWRlVG9wSW5dIHtcbiAgICBhbmltYXRpb24tbmFtZTogc2xpZGVCb3R0b21JbjtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHNsaWRlVG9wT3V0IHtcbiAgZnJvbSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAlKTtcbiAgfVxuICB0byB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTtcbiAgfVxufVxuZGl2W2RhdGEtZGlhbG9nLWFuaW1hdGlvbi1uYW1lPXNsaWRlVG9wT3V0XSB7XG4gIGFuaW1hdGlvbi1uYW1lOiBzbGlkZVRvcE91dDtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA4MDBweCkge1xuICBkaXZbZGF0YS1kaWFsb2ctYW5pbWF0aW9uLW5hbWU9c2xpZGVUb3BPdXRdIHtcbiAgICBhbmltYXRpb24tbmFtZTogc2xpZGVCb3R0b21PdXQ7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBzbGlkZUJvdHRvbUluIHtcbiAgZnJvbSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDE1MCUpO1xuICB9XG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCUpO1xuICB9XG59XG5kaXZbZGF0YS1kaWFsb2ctYW5pbWF0aW9uLW5hbWU9c2xpZGVCb3R0b21Jbl0ge1xuICBhbmltYXRpb24tbmFtZTogc2xpZGVCb3R0b21Jbjtcbn1cblxuQGtleWZyYW1lcyBzbGlkZUJvdHRvbU91dCB7XG4gIGZyb20ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwJSk7XG4gIH1cbiAgdG8ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMDAlKTtcbiAgfVxufVxuZGl2W2RhdGEtZGlhbG9nLWFuaW1hdGlvbi1uYW1lPXNsaWRlQm90dG9tT3V0XSB7XG4gIGFuaW1hdGlvbi1uYW1lOiBzbGlkZUJvdHRvbU91dDtcbn1cblxuQGtleWZyYW1lcyBzbGlkZVJpZ2h0SW4ge1xuICBmcm9tIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG4gIH1cbiAgdG8ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSk7XG4gIH1cbn1cbmRpdltkYXRhLWRpYWxvZy1hbmltYXRpb24tbmFtZT1zbGlkZVJpZ2h0SW5dIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlUmlnaHRJbjtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA4MDBweCkge1xuICBkaXZbZGF0YS1kaWFsb2ctYW5pbWF0aW9uLW5hbWU9c2xpZGVSaWdodEluXSB7XG4gICAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlQm90dG9tSW47XG4gIH1cbn1cblxuQGtleWZyYW1lcyBzbGlkZVJpZ2h0T3V0IHtcbiAgZnJvbSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKTtcbiAgfVxuICB0byB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xuICB9XG59XG5kaXZbZGF0YS1kaWFsb2ctYW5pbWF0aW9uLW5hbWU9c2xpZGVSaWdodE91dF0ge1xuICBhbmltYXRpb24tbmFtZTogc2xpZGVSaWdodE91dDtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA4MDBweCkge1xuICBkaXZbZGF0YS1kaWFsb2ctYW5pbWF0aW9uLW5hbWU9c2xpZGVSaWdodE91dF0ge1xuICAgIGFuaW1hdGlvbi1uYW1lOiBzbGlkZUJvdHRvbU91dDtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHNsaWRlTGVmdEluIHtcbiAgZnJvbSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbiAgfVxuICB0byB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKTtcbiAgfVxufVxuZGl2W2RhdGEtZGlhbG9nLWFuaW1hdGlvbi1uYW1lPXNsaWRlTGVmdEluXSB7XG4gIGFuaW1hdGlvbi1uYW1lOiBzbGlkZUxlZnRJbjtcbn1cblxuQGtleWZyYW1lcyBzbGlkZUxlZnRPdXQge1xuICBmcm9tIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpO1xuICB9XG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xuICB9XG59XG5kaXZbZGF0YS1kaWFsb2ctYW5pbWF0aW9uLW5hbWU9c2xpZGVMZWZ0T3V0XSB7XG4gIGFuaW1hdGlvbi1uYW1lOiBzbGlkZUxlZnRPdXQ7XG59XG5cbi5kaWFsb2dCYWNrZHJvcCB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMTQ3LCAxOTQsIDI0OCwgMC43KTtcbn1cblxuLmRpYWxvZ0NvbnRlbnQge1xuICBtYXJnaW46IDEwcHggMDtcbn1cblxuLmRpYWxvZ0FjdGlvbnMuZ2VuZXJhdGVkIGJ1dHRvbi5jbG9zZURpYWxvZyAuaWNvbjpiZWZvcmUge1xuICBmb250LWZhbWlseTogXCJzcGVsbWFuXCI7XG4gIGNvbnRlbnQ6IFwiYlwiO1xufVxuXG5idXR0b24uY2xvc2VEaWFsb2cgLmljb246YmVmb3JlIHtcbiAgZm9udC1mYW1pbHk6IFwic3BlbG1hblwiO1xuICBjb250ZW50OiBcImJcIjtcbn1cblxuLmRpYWxvZ0xhYmVsIGgyIHtcbiAgbWFyZ2luLWJvdHRvbTogMTVweDtcbn1cblxuW2RhdGEtZGlhbG9nLXN0eWxlPW1vZGFsXSB7XG4gIHBhZGRpbmc6IDIwcHg7XG59XG4uc2FmYXJpIFtkYXRhLWRpYWxvZy1zdHlsZT1tb2RhbF0ge1xuICBwYWRkaW5nOiAyMHB4IDIwcHggMTUwcHg7XG59XG5bZGF0YS1kaWFsb2ctc3R5bGU9bW9kYWxdIC5kaWFsb2dJbm5lciB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIHBhZGRpbmc6IDIwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgY29sb3I6IGJsYWNrO1xuICBib3gtc2hhZG93OiAwIDAuOHB4IDEuN3B4IHJnYmEoMCwgMCwgMCwgMC4wMTQpLCAwIDEuOXB4IDQuMXB4IHJnYmEoMCwgMCwgMCwgMC4wMiksIDAgMy42cHggNy44cHggcmdiYSgwLCAwLCAwLCAwLjAyNSksIDAgNi41cHggMTMuOHB4IHJnYmEoMCwgMCwgMCwgMC4wMyksIDAgMTIuMXB4IDI1LjlweCByZ2JhKDAsIDAsIDAsIDAuMDM2KSwgMCAyOXB4IDYycHggcmdiYSgwLCAwLCAwLCAwLjA1KTtcbn1cbltkYXRhLWRpYWxvZy1zdHlsZT1tb2RhbF0gYnV0dG9uLmNsb3NlRGlhbG9nIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBhZGRpbmc6IDAuN2VtIDEuNWVtO1xuICBib3JkZXItd2lkdGg6IDA7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1jb2xvcjogIzE0MmU2NDtcbiAgbGluZS1oZWlnaHQ6IDEuMWVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGZvbnQtZmFtaWx5OiBcIk5vYWggSGVhZFwiLCBcIkhlbHZldGljYU5ldWVcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIkhlbHZldGljYVwiLCBcIkFyaWFsXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiA5MDA7XG4gIG91dGxpbmUtb2Zmc2V0OiAwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRyYW5zaXRpb246IGFsbCAyMDBtcztcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFENDE4RTtcbiAgY29sb3I6IHdoaXRlO1xufVxuQG1lZGlhIChob3ZlcjogaG92ZXIpIGFuZCAocG9pbnRlcjogZmluZSkge1xuICBbZGF0YS1kaWFsb2ctc3R5bGU9bW9kYWxdIGJ1dHRvbi5jbG9zZURpYWxvZzpob3ZlciB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjAzKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZFRDM0QztcbiAgICBjb2xvcjogYmxhY2s7XG4gICAgYm9yZGVyLWNvbG9yOiAjZmVjNzE5O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxufVxuW2RhdGEtYnJvd3Nlcj1pZV0gW2RhdGEtZGlhbG9nLXN0eWxlPW1vZGFsXSBidXR0b24uY2xvc2VEaWFsb2c6aG92ZXIge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuMDMpO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRUQzNEM7XG4gIGNvbG9yOiBibGFjaztcbiAgYm9yZGVyLWNvbG9yOiAjZmVjNzE5O1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4uaWUgW2RhdGEtZGlhbG9nLXN0eWxlPW1vZGFsXSBidXR0b24uY2xvc2VEaWFsb2c6aG92ZXIge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuMDMpO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRUQzNEM7XG4gIGNvbG9yOiBibGFjaztcbiAgYm9yZGVyLWNvbG9yOiAjZmVjNzE5O1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5bZGF0YS1kaWFsb2ctc3R5bGU9bW9kYWxdIGJ1dHRvbi5jbG9zZURpYWxvZy5mb2N1cy12aXNpYmxlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjAzKTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkVEMzRDO1xuICBjb2xvcjogYmxhY2s7XG4gIGJvcmRlci1jb2xvcjogI2ZlYzcxOTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuW2RhdGEtZGlhbG9nLXN0eWxlPW1vZGFsXSBidXR0b24uY2xvc2VEaWFsb2c6Zm9jdXMtdmlzaWJsZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS4wMyk7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZFRDM0QztcbiAgY29sb3I6IGJsYWNrO1xuICBib3JkZXItY29sb3I6ICNmZWM3MTk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbltkYXRhLWRpYWxvZy1zdHlsZT1tb2RhbF0gYnV0dG9uLmNsb3NlRGlhbG9nW2Rpc2FibGVkXSwgW2RhdGEtZGlhbG9nLXN0eWxlPW1vZGFsXSBidXR0b24uY2xvc2VEaWFsb2dbYXJpYS1kaXNhYmxlZD10cnVlXSB7XG4gIG9wYWNpdHk6IDAuNTtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cbltkYXRhLWRpYWxvZy1zdHlsZT1tb2RhbF0gYnV0dG9uLmNsb3NlRGlhbG9nIC5pY29uIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnNhZmFyaSBbZGF0YS1kaWFsb2ctc3R5bGU9bGFyZ2VNb2RhbF0ge1xuICBwYWRkaW5nOiAyMHB4IDIwcHggMTUwcHg7XG59XG5bZGF0YS1kaWFsb2ctc3R5bGU9bGFyZ2VNb2RhbF0gLmRpYWxvZ0lubmVyIHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgcGFkZGluZzogMjBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgY29sb3I6IGJsYWNrO1xufVxuW2RhdGEtZGlhbG9nLXN0eWxlPWxhcmdlTW9kYWxdIC5kaWFsb2dMYWJlbCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMxRDQxOEU7XG4gIHBhZGRpbmc6IDhweCAxMHB4IDIwcHg7XG59XG5bZGF0YS1kaWFsb2ctc3R5bGU9bGFyZ2VNb2RhbF0gLmRpYWxvZ0xhYmVsIGgyIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBmb250LXNpemU6IDEuMzVlbTtcbiAgY29sb3I6ICMxRDQxOEU7XG4gIHRleHQtdHJhbnNmb3JtOiBpbml0aWFsO1xufVxuXG5bZGF0YS1kaWFsb2ctc3R5bGU9c2hhZGVdIC5kaWFsb2dJbm5lciB7XG4gIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7XG4gIHBhZGRpbmc6IDIwcHg7XG59XG5cbltkYXRhLWRpYWxvZy1zdHlsZV49c2lkZWJhcl0gLmRpYWxvZ0lubmVyIHtcbiAgbWluLWhlaWdodDogMTAwJTtcbn1cbltkYXRhLWRpYWxvZy1zdHlsZV49c2lkZWJhcl1bZGF0YS1kaWFsb2ctc3R5bGU9c2lkZWJhckxlZnRdIC5kaWFsb2dJbm5lciB7XG4gIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7XG4gIHBhZGRpbmc6IDIwcHg7XG59XG5bZGF0YS1kaWFsb2ctc3R5bGVePXNpZGViYXJdW2RhdGEtZGlhbG9nLXN0eWxlPXNpZGViYXJSaWdodF0gLmRpYWxvZ0lubmVyIHtcbiAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDtcbiAgcGFkZGluZzogMjBweDtcbn1cblxuW2RhdGEtZGlhbG9nLXN0eWxlXj1mdWxsXSAuZGlhbG9nSW5uZXIge1xuICBwYWRkaW5nOiAyMHB4O1xufVxuXG4uc2ltcGxlRGlhbG9nIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgY29sb3I6IGJsYWNrO1xuICBib3JkZXItcmFkaXVzOiAwO1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogODAwcHgpIHtcbiAgW2RhdGEtZGlhbG9nLXN0eWxlXj1zaWRlYmFyXVtkYXRhLWRpYWxvZy1zdHlsZT1zaWRlYmFyUmlnaHRdIC5kaWFsb2dJbm5lciB7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgfVxuICBbZGF0YS1kaWFsb2ctc3R5bGU9bW9kYWxdIGRpdltyb2xlPWRpYWxvZ10ge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogNjUwcHgpIHtcbiAgW2RhdGEtZGlhbG9nLXN0eWxlPW1vZGFsXSBkaXZbcm9sZT1kaWFsb2ddLnJlcG9ydE5lZWRlZCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA1MjBweCkge1xuICAuc2FmYXJpIFtkYXRhLWRpYWxvZy1zdHlsZT1tb2RhbF1bZGF0YS1iYWNrZHJvcC1mb3I9YWNjZXNzaWJpbGl0eVByZWZzXSB7XG4gICAgcGFkZGluZzogMjBweCAyMHB4IDE1MHB4O1xuICB9XG59XG4uZmllbGRXcmFwcGVyLFxuLnVtYnJhY28tZm9ybXMtZmllbGQuc2hvcnRhbnN3ZXIsXG4udW1icmFjby1mb3Jtcy1maWVsZC5kYXRlLFxuLnVtYnJhY28tZm9ybXMtZmllbGQucGFzc3dvcmQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1heC13aWR0aDogNTAwcHg7XG59XG4uZmllbGRXcmFwcGVyIGxhYmVsOm5vdCguY2hlY2tib3hMYWJlbCksXG4udW1icmFjby1mb3Jtcy1maWVsZC5zaG9ydGFuc3dlciBsYWJlbDpub3QoLmNoZWNrYm94TGFiZWwpLFxuLnVtYnJhY28tZm9ybXMtZmllbGQuZGF0ZSBsYWJlbDpub3QoLmNoZWNrYm94TGFiZWwpLFxuLnVtYnJhY28tZm9ybXMtZmllbGQucGFzc3dvcmQgbGFiZWw6bm90KC5jaGVja2JveExhYmVsKSB7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xufVxuLmZpZWxkV3JhcHBlciBpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKTpub3QoW3R5cGU9cmFkaW9dKSxcbi51bWJyYWNvLWZvcm1zLWZpZWxkLnNob3J0YW5zd2VyIGlucHV0Om5vdChbdHlwZT1jaGVja2JveF0pOm5vdChbdHlwZT1yYWRpb10pLFxuLnVtYnJhY28tZm9ybXMtZmllbGQuZGF0ZSBpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKTpub3QoW3R5cGU9cmFkaW9dKSxcbi51bWJyYWNvLWZvcm1zLWZpZWxkLnBhc3N3b3JkIGlucHV0Om5vdChbdHlwZT1jaGVja2JveF0pOm5vdChbdHlwZT1yYWRpb10pIHtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMTtcbiAgbWluLXdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1heC1oZWlnaHQ6IDEyMHB4O1xufVxuLmZpZWxkV3JhcHBlciBpbnB1dDo6LW1zLXJldmVhbCxcbi5maWVsZFdyYXBwZXIgaW5wdXQ6Oi1tcy1jbGVhcixcbi51bWJyYWNvLWZvcm1zLWZpZWxkLnNob3J0YW5zd2VyIGlucHV0OjotbXMtcmV2ZWFsLFxuLnVtYnJhY28tZm9ybXMtZmllbGQuc2hvcnRhbnN3ZXIgaW5wdXQ6Oi1tcy1jbGVhcixcbi51bWJyYWNvLWZvcm1zLWZpZWxkLmRhdGUgaW5wdXQ6Oi1tcy1yZXZlYWwsXG4udW1icmFjby1mb3Jtcy1maWVsZC5kYXRlIGlucHV0OjotbXMtY2xlYXIsXG4udW1icmFjby1mb3Jtcy1maWVsZC5wYXNzd29yZCBpbnB1dDo6LW1zLXJldmVhbCxcbi51bWJyYWNvLWZvcm1zLWZpZWxkLnBhc3N3b3JkIGlucHV0OjotbXMtY2xlYXIge1xuICBkaXNwbGF5OiBub25lO1xufVxuLmZpZWxkV3JhcHBlciAuZGVzY3JpcHRpb24sXG4udW1icmFjby1mb3Jtcy1maWVsZC5zaG9ydGFuc3dlciAuZGVzY3JpcHRpb24sXG4udW1icmFjby1mb3Jtcy1maWVsZC5kYXRlIC5kZXNjcmlwdGlvbixcbi51bWJyYWNvLWZvcm1zLWZpZWxkLnBhc3N3b3JkIC5kZXNjcmlwdGlvbiB7XG4gIG1hcmdpbi10b3A6IDZweDtcbiAgZm9udC1zaXplOiAwLjg0ZW07XG4gIGNvbG9yOiByZ2JhKDYzLCA2MywgNjMsIDAuODUpO1xufVxuLmZpZWxkV3JhcHBlciAuZGVzY3JpcHRpb24gPiAqOmZpcnN0LWNoaWxkLFxuLnVtYnJhY28tZm9ybXMtZmllbGQuc2hvcnRhbnN3ZXIgLmRlc2NyaXB0aW9uID4gKjpmaXJzdC1jaGlsZCxcbi51bWJyYWNvLWZvcm1zLWZpZWxkLmRhdGUgLmRlc2NyaXB0aW9uID4gKjpmaXJzdC1jaGlsZCxcbi51bWJyYWNvLWZvcm1zLWZpZWxkLnBhc3N3b3JkIC5kZXNjcmlwdGlvbiA+ICo6Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG59XG4uZmllbGRXcmFwcGVyIC5kZXNjcmlwdGlvbiA+ICo6bGFzdC1jaGlsZCxcbi51bWJyYWNvLWZvcm1zLWZpZWxkLnNob3J0YW5zd2VyIC5kZXNjcmlwdGlvbiA+ICo6bGFzdC1jaGlsZCxcbi51bWJyYWNvLWZvcm1zLWZpZWxkLmRhdGUgLmRlc2NyaXB0aW9uID4gKjpsYXN0LWNoaWxkLFxuLnVtYnJhY28tZm9ybXMtZmllbGQucGFzc3dvcmQgLmRlc2NyaXB0aW9uID4gKjpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xufVxuXG4uZmllbGRXcmFwcGVyIHRleHRhcmVhLFxuLnVtYnJhY28tZm9ybXMtZmllbGQubG9uZ2Fuc3dlciB0ZXh0YXJlYSB7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIG1pbi13aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXgtaGVpZ2h0OiAxMjBweDtcbn1cblxuLmRyb3Bkb3duV3JhcHBlcixcbi51bWJyYWNvLWZvcm1zLWZpZWxkLmRyb3Bkb3duIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXgtd2lkdGg6IDUwMHB4O1xuICBtYXJnaW46IDAgYXV0bztcbn1cbi5kcm9wZG93bldyYXBwZXIgc2VsZWN0LFxuLnVtYnJhY28tZm9ybXMtZmllbGQuZHJvcGRvd24gc2VsZWN0IHtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMTtcbiAgbWluLXdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIGZpbGw9J2JsYWNrJyBoZWlnaHQ9JzI0JyB2aWV3Qm94PScwIDAgMjQgMjQnIHdpZHRoPScyNCcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJz48cGF0aCBkPSdNNyAxMGw1IDUgNS01eicvPjxwYXRoIGQ9J00wIDBoMjR2MjRIMHonIGZpbGw9J25vbmUnLz48L3N2Zz5cIik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDEwMCUgNTAlO1xuICBiYWNrZ3JvdW5kLXNpemU6IDI1cHggNTBweDtcbn1cbi5kcm9wZG93bldyYXBwZXIgc2VsZWN0OjotbXMtZXhwYW5kLFxuLnVtYnJhY28tZm9ybXMtZmllbGQuZHJvcGRvd24gc2VsZWN0OjotbXMtZXhwYW5kIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLmNvbnRyb2xXcmFwcGVyLFxuLmFkZy11bWJyYWNvLWZvcm1zLWNvbnRyb2x3cmFwcGVyIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM5M0MyRjg7XG4gIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gIHBhZGRpbmctYm90dG9tOiAxMHB4O1xufVxuLmNvbnRyb2xXcmFwcGVyOmxhc3QtY2hpbGQsXG4uYWRnLXVtYnJhY28tZm9ybXMtY29udHJvbHdyYXBwZXI6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHBhZGRpbmctYm90dG9tOiAwO1xuICBib3JkZXItYm90dG9tOiAwO1xufVxuLmNvbnRyb2xXcmFwcGVyID4gKjpmaXJzdC1jaGlsZCxcbi5hZGctdW1icmFjby1mb3Jtcy1jb250cm9sd3JhcHBlciA+ICo6Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG59XG4uY29udHJvbFdyYXBwZXIgPiAqOmxhc3QtY2hpbGQsXG4uYWRnLXVtYnJhY28tZm9ybXMtY29udHJvbHdyYXBwZXIgPiAqOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG59XG4uY29udHJvbFdyYXBwZXIgLmNvbnRyb2wsXG4uYWRnLXVtYnJhY28tZm9ybXMtY29udHJvbHdyYXBwZXIgLmNvbnRyb2wge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuLmNvbnRyb2xXcmFwcGVyIGxhYmVsLFxuLmFkZy11bWJyYWNvLWZvcm1zLWNvbnRyb2x3cmFwcGVyIGxhYmVsIHtcbiAgZm9udC1zaXplOiAxLjJlbTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLmNvbnRyb2xXcmFwcGVyIC5kZXNjcmlwdGlvbixcbi5hZGctdW1icmFjby1mb3Jtcy1jb250cm9sd3JhcHBlciAuZGVzY3JpcHRpb24ge1xuICBtYXJnaW4tdG9wOiA2cHg7XG4gIGZvbnQtc2l6ZTogMC44NGVtO1xuICBjb2xvcjogcmdiYSg2MywgNjMsIDYzLCAwLjg1KTtcbn1cbi5jb250cm9sV3JhcHBlciAuZGVzY3JpcHRpb24gPiAqOmZpcnN0LWNoaWxkLFxuLmFkZy11bWJyYWNvLWZvcm1zLWNvbnRyb2x3cmFwcGVyIC5kZXNjcmlwdGlvbiA+ICo6Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG59XG4uY29udHJvbFdyYXBwZXIgLmRlc2NyaXB0aW9uID4gKjpsYXN0LWNoaWxkLFxuLmFkZy11bWJyYWNvLWZvcm1zLWNvbnRyb2x3cmFwcGVyIC5kZXNjcmlwdGlvbiA+ICo6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbn1cblxuLmZpZWxkV3JhcHBlci5lbnJvbGxlZU5hbWUge1xuICBvcGFjaXR5OiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgei1pbmRleDogLTE7XG59XG5cbi5zdHlsZWRGaWVsZHNldCxcbi51bWJyYWNvLWZvcm1zLWZpZWxkc2V0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBib3JkZXI6IDJweCBkYXNoZWQgIzFENDE4RTtcbiAgcGFkZGluZzogMjBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNDcsIDE5NCwgMjQ4LCAwLjQpO1xuICBib3JkZXItcmFkaXVzOiAwO1xufVxuLnN0eWxlZEZpZWxkc2V0IGxlZ2VuZCxcbi5zdHlsZWRGaWVsZHNldCAuZ3JvdXBMZWdlbmQsXG4udW1icmFjby1mb3Jtcy1maWVsZHNldCBsZWdlbmQsXG4udW1icmFjby1mb3Jtcy1maWVsZHNldCAuZ3JvdXBMZWdlbmQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6IDRweCA4cHggMnB4O1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBib3JkZXItbGVmdDogNXB4IHNvbGlkICM5M0MyRjg7XG4gIGZvbnQtc2l6ZTogMS4zZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjFlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC1mYW1pbHk6IFwiTm9haCBIZWFkXCIsIFwiSGVsdmV0aWNhTmV1ZVwiLCBcIkhlbHZldGljYSBOZXVlXCIsIFwiSGVsdmV0aWNhXCIsIFwiQXJpYWxcIiwgc2Fucy1zZXJpZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFENDE4RTtcbiAgY29sb3I6IHdoaXRlO1xufVxuLnN0eWxlZEZpZWxkc2V0IC5ncm91cExlZ2VuZCxcbi51bWJyYWNvLWZvcm1zLWZpZWxkc2V0IC5ncm91cExlZ2VuZCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogOXB4O1xufVxuLnN0eWxlZEZpZWxkc2V0IC5maWVsZHNldEdyaWQsXG4udW1icmFjby1mb3Jtcy1maWVsZHNldCAuZmllbGRzZXRHcmlkIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyO1xuICBnYXA6IDEycHg7XG59XG4uc3R5bGVkRmllbGRzZXQgLmZpZWxkc2V0R3JpZCAuZmllbGRXcmFwcGVyLFxuLnN0eWxlZEZpZWxkc2V0IC5maWVsZHNldEdyaWQgLmNvbnRyb2xXcmFwcGVyLFxuLnVtYnJhY28tZm9ybXMtZmllbGRzZXQgLmZpZWxkc2V0R3JpZCAuZmllbGRXcmFwcGVyLFxuLnVtYnJhY28tZm9ybXMtZmllbGRzZXQgLmZpZWxkc2V0R3JpZCAuY29udHJvbFdyYXBwZXIge1xuICBtYXJnaW46IDA7XG59XG4uc3R5bGVkRmllbGRzZXQgPiA6bGFzdC1jaGlsZCxcbi51bWJyYWNvLWZvcm1zLWZpZWxkc2V0ID4gOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG59XG5cbi5maWVsZFdyYXBwZXIsXG4udW1icmFjby1mb3Jtcy1maWVsZC5zaG9ydGFuc3dlcixcbi51bWJyYWNvLWZvcm1zLWZpZWxkLmRhdGUsXG4udW1icmFjby1mb3Jtcy1maWVsZC5wYXNzd29yZCB7XG4gIG1hcmdpbjogMTBweCBhdXRvO1xufVxuLmZpZWxkV3JhcHBlciBsYWJlbDpub3QoLmNoZWNrYm94TGFiZWwpLFxuLnVtYnJhY28tZm9ybXMtZmllbGQuc2hvcnRhbnN3ZXIgbGFiZWw6bm90KC5jaGVja2JveExhYmVsKSxcbi51bWJyYWNvLWZvcm1zLWZpZWxkLmRhdGUgbGFiZWw6bm90KC5jaGVja2JveExhYmVsKSxcbi51bWJyYWNvLWZvcm1zLWZpZWxkLnBhc3N3b3JkIGxhYmVsOm5vdCguY2hlY2tib3hMYWJlbCkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogOHB4O1xuICBsZWZ0OiA5cHg7XG4gIHotaW5kZXg6IDI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDAgMCA1cHg7XG4gIGJvcmRlcjogMDtcbiAgcGFkZGluZzogMDtcbiAgZm9udC1zaXplOiAwLjhlbTtcbiAgZm9udC1mYW1pbHk6IFwiTm9haCBIZWFkXCIsIFwiSGVsdmV0aWNhTmV1ZVwiLCBcIkhlbHZldGljYSBOZXVlXCIsIFwiSGVsdmV0aWNhXCIsIFwiQXJpYWxcIiwgc2Fucy1zZXJpZjtcbiAgY29sb3I6ICM1NDU0NWE7XG59XG4uZmllbGRXcmFwcGVyIGlucHV0Om5vdChbdHlwZT1jaGVja2JveF0pOm5vdChbdHlwZT1yYWRpb10pLFxuLmZpZWxkV3JhcHBlciB0ZXh0YXJlYSxcbi51bWJyYWNvLWZvcm1zLWZpZWxkLnNob3J0YW5zd2VyIGlucHV0Om5vdChbdHlwZT1jaGVja2JveF0pOm5vdChbdHlwZT1yYWRpb10pLFxuLnVtYnJhY28tZm9ybXMtZmllbGQuc2hvcnRhbnN3ZXIgdGV4dGFyZWEsXG4udW1icmFjby1mb3Jtcy1maWVsZC5kYXRlIGlucHV0Om5vdChbdHlwZT1jaGVja2JveF0pOm5vdChbdHlwZT1yYWRpb10pLFxuLnVtYnJhY28tZm9ybXMtZmllbGQuZGF0ZSB0ZXh0YXJlYSxcbi51bWJyYWNvLWZvcm1zLWZpZWxkLnBhc3N3b3JkIGlucHV0Om5vdChbdHlwZT1jaGVja2JveF0pOm5vdChbdHlwZT1yYWRpb10pLFxuLnVtYnJhY28tZm9ybXMtZmllbGQucGFzc3dvcmQgdGV4dGFyZWEge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXgtaGVpZ2h0OiAxMjBweDtcbiAgbWluLWhlaWdodDogNDhweDtcbiAgbWFyZ2luOiAwO1xuICBib3JkZXI6IDJweCBzb2xpZCAjOTNDMkY4O1xuICBib3JkZXItd2lkdGg6IDAgMCAycHggMDtcbiAgcGFkZGluZzogMjNweCA4cHggNnB4O1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBjb2xvcjogIzNmM2YzZjtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cbi5maWVsZFdyYXBwZXIgYnV0dG9uLFxuLnVtYnJhY28tZm9ybXMtZmllbGQuc2hvcnRhbnN3ZXIgYnV0dG9uLFxuLnVtYnJhY28tZm9ybXMtZmllbGQuZGF0ZSBidXR0b24sXG4udW1icmFjby1mb3Jtcy1maWVsZC5wYXNzd29yZCBidXR0b24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgY29sb3I6ICNmZmY7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGhlaWdodDogNTNweDtcbiAgd2lkdGg6IDQwcHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuOCk7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQ6ICM5M0MyRjg7XG4gIGJvcmRlcjogbm9uZTtcbiAgcGFkZGluZzogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLmZpZWxkV3JhcHBlciBidXR0b25bYXJpYS1jaGVja2VkPXRydWVdIC5pY29uOmFmdGVyLFxuLnVtYnJhY28tZm9ybXMtZmllbGQuc2hvcnRhbnN3ZXIgYnV0dG9uW2FyaWEtY2hlY2tlZD10cnVlXSAuaWNvbjphZnRlcixcbi51bWJyYWNvLWZvcm1zLWZpZWxkLmRhdGUgYnV0dG9uW2FyaWEtY2hlY2tlZD10cnVlXSAuaWNvbjphZnRlcixcbi51bWJyYWNvLWZvcm1zLWZpZWxkLnBhc3N3b3JkIGJ1dHRvblthcmlhLWNoZWNrZWQ9dHJ1ZV0gLmljb246YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICB3aWR0aDogM3B4O1xuICBoZWlnaHQ6IDIwcHg7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBtYXJnaW46IGF1dG87XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdHJhbnNmb3JtOiBza2V3WCgtNDVkZWcpO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xufVxuLmZpZWxkV3JhcHBlciBidXR0b24gLmljb24sXG4udW1icmFjby1mb3Jtcy1maWVsZC5zaG9ydGFuc3dlciBidXR0b24gLmljb24sXG4udW1icmFjby1mb3Jtcy1maWVsZC5kYXRlIGJ1dHRvbiAuaWNvbixcbi51bWJyYWNvLWZvcm1zLWZpZWxkLnBhc3N3b3JkIGJ1dHRvbiAuaWNvbiB7XG4gIGZvbnQtc2l6ZTogMS4yZW07XG59XG4uZmllbGRXcmFwcGVyICNQYXNzd29yZDpmb2N1cyArICNyZXF1aXJlbWVudHMsXG4udW1icmFjby1mb3Jtcy1maWVsZC5zaG9ydGFuc3dlciAjUGFzc3dvcmQ6Zm9jdXMgKyAjcmVxdWlyZW1lbnRzLFxuLnVtYnJhY28tZm9ybXMtZmllbGQuZGF0ZSAjUGFzc3dvcmQ6Zm9jdXMgKyAjcmVxdWlyZW1lbnRzLFxuLnVtYnJhY28tZm9ybXMtZmllbGQucGFzc3dvcmQgI1Bhc3N3b3JkOmZvY3VzICsgI3JlcXVpcmVtZW50cyB7XG4gIG1heC1oZWlnaHQ6IDEwMDBweDtcbn1cbi5maWVsZFdyYXBwZXIgI3JlcXVpcmVtZW50cyxcbi51bWJyYWNvLWZvcm1zLWZpZWxkLnNob3J0YW5zd2VyICNyZXF1aXJlbWVudHMsXG4udW1icmFjby1mb3Jtcy1maWVsZC5kYXRlICNyZXF1aXJlbWVudHMsXG4udW1icmFjby1mb3Jtcy1maWVsZC5wYXNzd29yZCAjcmVxdWlyZW1lbnRzIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMTBweCAwIDAgMDtcbiAgbWFyZ2luOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBtYXgtaGVpZ2h0OiAwO1xuICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDFzIGVhc2UtaW4tb3V0O1xufVxuLmZpZWxkV3JhcHBlciAjcmVxdWlyZW1lbnRzIGxpLFxuLnVtYnJhY28tZm9ybXMtZmllbGQuc2hvcnRhbnN3ZXIgI3JlcXVpcmVtZW50cyBsaSxcbi51bWJyYWNvLWZvcm1zLWZpZWxkLmRhdGUgI3JlcXVpcmVtZW50cyBsaSxcbi51bWJyYWNvLWZvcm1zLWZpZWxkLnBhc3N3b3JkICNyZXF1aXJlbWVudHMgbGkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuLmZpZWxkV3JhcHBlciAjcmVxdWlyZW1lbnRzIGxpLnZhbGlkIC5pY29uLFxuLnVtYnJhY28tZm9ybXMtZmllbGQuc2hvcnRhbnN3ZXIgI3JlcXVpcmVtZW50cyBsaS52YWxpZCAuaWNvbixcbi51bWJyYWNvLWZvcm1zLWZpZWxkLmRhdGUgI3JlcXVpcmVtZW50cyBsaS52YWxpZCAuaWNvbixcbi51bWJyYWNvLWZvcm1zLWZpZWxkLnBhc3N3b3JkICNyZXF1aXJlbWVudHMgbGkudmFsaWQgLmljb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRDFFMDAwO1xuICBjb2xvcjogYmxhY2s7XG4gIGZvbnQtc2l6ZTogMC45ZW07XG59XG4uZmllbGRXcmFwcGVyICNyZXF1aXJlbWVudHMgbGkudmFsaWQgLmljb246YmVmb3JlLFxuLnVtYnJhY28tZm9ybXMtZmllbGQuc2hvcnRhbnN3ZXIgI3JlcXVpcmVtZW50cyBsaS52YWxpZCAuaWNvbjpiZWZvcmUsXG4udW1icmFjby1mb3Jtcy1maWVsZC5kYXRlICNyZXF1aXJlbWVudHMgbGkudmFsaWQgLmljb246YmVmb3JlLFxuLnVtYnJhY28tZm9ybXMtZmllbGQucGFzc3dvcmQgI3JlcXVpcmVtZW50cyBsaS52YWxpZCAuaWNvbjpiZWZvcmUge1xuICBjb250ZW50OiBcImFcIjtcbn1cbi5maWVsZFdyYXBwZXIgI3JlcXVpcmVtZW50cyBsaSAuaWNvbixcbi51bWJyYWNvLWZvcm1zLWZpZWxkLnNob3J0YW5zd2VyICNyZXF1aXJlbWVudHMgbGkgLmljb24sXG4udW1icmFjby1mb3Jtcy1maWVsZC5kYXRlICNyZXF1aXJlbWVudHMgbGkgLmljb24sXG4udW1icmFjby1mb3Jtcy1maWVsZC5wYXNzd29yZCAjcmVxdWlyZW1lbnRzIGxpIC5pY29uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0UwMDcwMDtcbiAgY29sb3I6IHdoaXRlO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIG1hcmdpbi1yaWdodDogNXB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgd2lkdGg6IDE2cHg7XG4gIGhlaWdodDogMTZweDtcbiAgZm9udC1zaXplOiAwLjU1ZW07XG59XG5cbi5kcm9wZG93bldyYXBwZXIgbGFiZWw6bm90KC5jaGVja2JveExhYmVsKSxcbi51bWJyYWNvLWZvcm1zLWZpZWxkLmRyb3Bkb3duIGxhYmVsOm5vdCguY2hlY2tib3hMYWJlbCkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogOHB4O1xuICBsZWZ0OiA5cHg7XG4gIHotaW5kZXg6IDI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDAgMCA1cHg7XG4gIGJvcmRlcjogMDtcbiAgcGFkZGluZzogMDtcbiAgZm9udC1zaXplOiAwLjhlbTtcbiAgZm9udC1mYW1pbHk6IFwiTm9haCBIZWFkXCIsIFwiSGVsdmV0aWNhTmV1ZVwiLCBcIkhlbHZldGljYSBOZXVlXCIsIFwiSGVsdmV0aWNhXCIsIFwiQXJpYWxcIiwgc2Fucy1zZXJpZjtcbiAgY29sb3I6ICMzZjNmM2Y7XG59XG4uZHJvcGRvd25XcmFwcGVyIHNlbGVjdCxcbi51bWJyYWNvLWZvcm1zLWZpZWxkLmRyb3Bkb3duIHNlbGVjdCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4taGVpZ2h0OiA1MnB4O1xuICBtYXJnaW46IDA7XG4gIGJvcmRlcjogMnB4IHNvbGlkICM5M0MyRjg7XG4gIHBhZGRpbmc6IDI2cHggNDVweCA4cHggOHB4O1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4uZmllbGRXcmFwcGVyIHRleHRhcmVhLFxuLnVtYnJhY28tZm9ybXMtZmllbGQubG9uZ2Fuc3dlciB0ZXh0YXJlYSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1heC1oZWlnaHQ6IDEyMHB4O1xuICBtaW4taGVpZ2h0OiA0OHB4O1xuICBtYXJnaW46IDA7XG4gIGJvcmRlcjogMnB4IHNvbGlkICM5M0MyRjg7XG4gIHBhZGRpbmc6IDZweCA4cHggNnB4O1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBjb2xvcjogIzNmM2YzZjtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuZm9ybSAuZXJyb3IsXG4uZm9ybVdyYXAgLmVycm9yIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogNHB4IDA7XG4gIHBhZGRpbmc6IDJweCA0cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0UwMDcwMDtcbiAgY29sb3I6IHdoaXRlO1xufVxuZm9ybSAuZXJyb3I6ZW1wdHksXG4uZm9ybVdyYXAgLmVycm9yOmVtcHR5IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDY1MHB4KSB7XG4gIC5zdHlsZWRGaWVsZHNldCxcbiAgLnVtYnJhY28tZm9ybXMtZmllbGRzZXQge1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gIH1cbiAgLnN0eWxlZEZpZWxkc2V0IC5maWVsZHNldEdyaWQsXG4gIC51bWJyYWNvLWZvcm1zLWZpZWxkc2V0IC5maWVsZHNldEdyaWQge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbm9uZTtcbiAgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDUyMHB4KSB7XG4gIC5jb250cm9sV3JhcHBlciBsYWJlbCB7XG4gICAgZm9udC1zaXplOiAxZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogNDUwcHgpIHtcbiAgLmNvbnRyb2xXcmFwcGVyIGxhYmVsIHtcbiAgICBmb250LXNpemU6IDAuOWVtO1xuICB9XG59XG4uYnVmZmVyIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIG1pbi1oZWlnaHQ6IGNhbGMoMTAwdmggLSA0MHB4KTtcbn1cblxuZm9vdGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA0MHB4O1xuICBwYWRkaW5nOiAwIDE1cHg7XG4gIGJhY2tncm91bmQ6ICMwMDA7XG4gIHotaW5kZXg6IDk5OTk7XG59XG5mb290ZXIgLmFkZ0xvZ29XcmFwIGEge1xuICBkaXNwbGF5OiBibG9jaztcbiAgYmFja2dyb3VuZDogIzAwMCAhaW1wb3J0YW50O1xufVxuZm9vdGVyIC5hZGdMb2dvV3JhcCAuYWRnTG9nbyB7XG4gIGhlaWdodDogMzBweDtcbiAgd2lkdGg6IGF1dG87XG59XG5cbi5ndWVzdExvZ2luTWV0aG9kcyAuc29jaWFsTWVkaWFUaXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG4uZ3Vlc3RMb2dpbk1ldGhvZHMgLnNvY2lhbE1lZGlhTG9naW5zIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyIDFmciAxZnI7XG4gIGdhcDogMTJweDtcbn1cbi5ndWVzdExvZ2luTWV0aG9kcyAuc29jaWFsTWVkaWFMb2dpbnMgLmZhY2Vib29rTG9naW4ge1xuICBiYWNrZ3JvdW5kOiAjMTg3N2YyICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiB3aGl0ZSAhaW1wb3J0YW50O1xufVxuLmd1ZXN0TG9naW5NZXRob2RzIC5zb2NpYWxNZWRpYUxvZ2lucyAuZ29vZ2xlTG9naW4ge1xuICBiYWNrZ3JvdW5kOiAjZWJlYmVjICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiBibGFjayAhaW1wb3J0YW50O1xufVxuLmd1ZXN0TG9naW5NZXRob2RzIC5zb2NpYWxNZWRpYUxvZ2lucyAudHdpdHRlckxvZ2luIHtcbiAgYmFja2dyb3VuZDogIzE0MTcxYSAhaW1wb3J0YW50O1xuICBjb2xvcjogd2hpdGUgIWltcG9ydGFudDtcbn1cbi5ndWVzdExvZ2luTWV0aG9kcyAuc29jaWFsTWVkaWFMb2dpbnMgLnR3aXR0ZXJMb2dpbiAudGV4dCB7XG4gIGJvcmRlcjogMDtcbiAgY2xpcDogcmVjdCgwIDAgMCAwKTtcbiAgaGVpZ2h0OiAxcHg7XG4gIG1hcmdpbjogLTFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZzogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMXB4O1xufVxuLmd1ZXN0TG9naW5NZXRob2RzIC5zb2NpYWxNZWRpYUxvZ2lucyAuYXBwbGVMb2dpbiB7XG4gIGJhY2tncm91bmQ6IGJsYWNrICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiB3aGl0ZSAhaW1wb3J0YW50O1xufVxuLmd1ZXN0TG9naW5NZXRob2RzIC5zb2NpYWxNZWRpYUxvZ2lucyA+IGEge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGhlaWdodDogNDVweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwYWRkaW5nOiAxZW0gIWltcG9ydGFudDtcbn1cbi5ndWVzdExvZ2luTWV0aG9kcyAuc29jaWFsTWVkaWFMb2dpbnMgPiBhIC5zdmdJY29uIHtcbiAgd2lkdGg6IDE2cHg7XG4gIGhlaWdodDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiA3cHg7XG59XG4uZ3Vlc3RMb2dpbk1ldGhvZHMgLnNvY2lhbE1lZGlhTG9naW5zID4gYSAudGV4dCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBmb250LXNpemU6IDEuMWVtO1xufVxuLmd1ZXN0TG9naW5NZXRob2RzIC5zb2NpYWxNZWRpYUxvZ2lucyAuYXBwbGVMb2dpbiB7XG4gIGhlaWdodDogNDVweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLmd1ZXN0TG9naW5NZXRob2RzIC5zb2NpYWxNZWRpYUxvZ2lucyAuYXBwbGVMb2dpbiA+IGRpdiB7XG4gIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xufVxuXG4ubG9naW5XcmFwcGVyW2RhdGEtaGlkZGVuLWZvci1ndWVzdD10cnVlXSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLmd1ZXN0V3JhcHBlckhvbGRlciB7XG4gIG1heC1oZWlnaHQ6IDA7XG4gIG9wYWNpdHk6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRyYW5zaXRpb246IGFsbCA4MDBtcztcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLmZpZWxkV3JhcHBlci5lbnJvbGxlZU5hbWUge1xuICBvcGFjaXR5OiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgei1pbmRleDogLTE7XG59XG5cbmJvZHkge1xuICBiYWNrZ3JvdW5kOiAjOTNDMkY4O1xufVxuXG4jYmFja2dyb3VuZCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwdnc7XG4gIGhlaWdodDogNDAwcHg7XG4gIG9wYWNpdHk6IDE7XG59XG4jYmFja2dyb3VuZCAuY292ZXItc2xpZGVyLFxuI2JhY2tncm91bmQgdmlkZW8sXG4jYmFja2dyb3VuZCAubWFpbkJnSW1nIHtcbiAgei1pbmRleDogMjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG59XG4jYmFja2dyb3VuZCAuc2VjdGlvbkJnSG9sZGVyIHtcbiAgei1pbmRleDogMTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG59XG4ubWVudU91dCAjYmFja2dyb3VuZCAuc2VjdGlvbkJnSG9sZGVyIHtcbiAgei1pbmRleDogMztcbn1cbiNiYWNrZ3JvdW5kIC5zZWN0aW9uQmdIb2xkZXJbZGF0YS1zZWN0aW9uLWJnLW9ubHk9dHJ1ZV0ge1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXM7XG59XG4uaW5TZWN0aW9uICNiYWNrZ3JvdW5kIC5zZWN0aW9uQmdIb2xkZXJbZGF0YS1zZWN0aW9uLWJnLW9ubHk9dHJ1ZV0ge1xuICBvcGFjaXR5OiAxO1xufVxuI2JhY2tncm91bmQgLmJnSW1nLFxuI2JhY2tncm91bmQgLnNlY3Rpb25CZyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xufVxuI2JhY2tncm91bmQgLmJnSW1nW2RhdGEtYmctcG9zPVwidG9wIGxlZnRcIl0sXG4jYmFja2dyb3VuZCAuc2VjdGlvbkJnW2RhdGEtYmctcG9zPVwidG9wIGxlZnRcIl0ge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwJSAwJTtcbn1cbiNiYWNrZ3JvdW5kIC5iZ0ltZ1tkYXRhLWJnLXBvcz1cInRvcCBtaWRkbGVcIl0sXG4jYmFja2dyb3VuZCAuc2VjdGlvbkJnW2RhdGEtYmctcG9zPVwidG9wIG1pZGRsZVwiXSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSAwO1xufVxuI2JhY2tncm91bmQgLmJnSW1nW2RhdGEtYmctcG9zPVwidG9wIHJpZ2h0XCJdLFxuI2JhY2tncm91bmQgLnNlY3Rpb25CZ1tkYXRhLWJnLXBvcz1cInRvcCByaWdodFwiXSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDEwMCUgMCU7XG59XG4jYmFja2dyb3VuZCAuYmdJbWdbZGF0YS1iZy1wb3M9XCJjZW50ZXIgbGVmdFwiXSxcbiNiYWNrZ3JvdW5kIC5zZWN0aW9uQmdbZGF0YS1iZy1wb3M9XCJjZW50ZXIgbGVmdFwiXSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDAlIDUwJTtcbn1cbiNiYWNrZ3JvdW5kIC5iZ0ltZ1tkYXRhLWJnLXBvcz1jZW50ZXJdLFxuI2JhY2tncm91bmQgLnNlY3Rpb25CZ1tkYXRhLWJnLXBvcz1jZW50ZXJdIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTtcbn1cbiNiYWNrZ3JvdW5kIC5iZ0ltZ1tkYXRhLWJnLXBvcz1cImNlbnRlciByaWdodFwiXSxcbiNiYWNrZ3JvdW5kIC5zZWN0aW9uQmdbZGF0YS1iZy1wb3M9XCJjZW50ZXIgcmlnaHRcIl0ge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMDAlIDUwJTtcbn1cbiNiYWNrZ3JvdW5kIC5iZ0ltZ1tkYXRhLWJnLXBvcz1cImJvdHRvbSBsZWZ0XCJdLFxuI2JhY2tncm91bmQgLnNlY3Rpb25CZ1tkYXRhLWJnLXBvcz1cImJvdHRvbSBsZWZ0XCJdIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCUgMTAwJTtcbn1cbiNiYWNrZ3JvdW5kIC5iZ0ltZ1tkYXRhLWJnLXBvcz1cImJvdHRvbSBtaWRkbGVcIl0sXG4jYmFja2dyb3VuZCAuc2VjdGlvbkJnW2RhdGEtYmctcG9zPVwiYm90dG9tIG1pZGRsZVwiXSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSAxMDAlO1xufVxuI2JhY2tncm91bmQgLmJnSW1nW2RhdGEtYmctcG9zPVwiYm90dG9tIHJpZ2h0XCJdLFxuI2JhY2tncm91bmQgLnNlY3Rpb25CZ1tkYXRhLWJnLXBvcz1cImJvdHRvbSByaWdodFwiXSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDEwMCUgMTAwJTtcbn1cbiNiYWNrZ3JvdW5kIHZpZGVvIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWJlYmVjO1xufVxuW2RhdGEtaXMtbG9hZGluZz10cnVlXSAjYmFja2dyb3VuZCB7XG4gIG9wYWNpdHk6IDA7XG59XG5cbmhlYWRlciB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAyMHB4O1xuICByaWdodDogMDtcbiAgei1pbmRleDogMTU7XG4gIHRyYW5zaXRpb246IGFsbCAxMDAwbXM7XG59XG5oZWFkZXIgLmxvZ29XcmFwIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHdpZHRoOiAyODBweDtcbiAgaGVpZ2h0OiAxMDVweDtcbiAgcGFkZGluZzogMjBweCAxNXB4O1xuICBiYWNrZ3JvdW5kOiAjMUQ0MThFO1xuICB0cmFuc2l0aW9uOiBhbGwgMTAwMG1zO1xufVxuaGVhZGVyIC5sb2dvIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXgtaGVpZ2h0OiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG4gIGZpbHRlcjogYnJpZ2h0bmVzcygwKSBpbnZlcnQoMSk7XG4gIHRyYW5zaXRpb246IGFsbCAxMDAwbXM7XG59XG5oZWFkZXIgLm9yaWVudGF0aW9uVGl0bGUge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAzMjVEO1xuICBjb2xvcjogd2hpdGU7XG4gIHBhZGRpbmc6IDEwcHggOXB4IDhweDtcbiAgZm9udC1zaXplOiAxLjJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMWVtO1xuICBmb250LWZhbWlseTogXCJOb2FoIFRleHRcIiwgXCJIZWx2ZXRpY2FOZXVlXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgXCJIZWx2ZXRpY2FcIiwgXCJBcmlhbFwiLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogNDAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbiNtZW1iZXJzaGlwIHtcbiAgZGlzcGxheTogZmxleDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIG1pbi1oZWlnaHQ6IGNhbGMoMTAwdmggLSAyODBweCk7XG4gIG1heC13aWR0aDogODAwcHg7XG4gIG1hcmdpbjogMjgwcHggYXV0byAwO1xuICBwYWRkaW5nLXRvcDogMTVweDtcbiAgcGFkZGluZy1ib3R0b206IDEyMHB4O1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBib3gtc2hhZG93OiAwIDAuOHB4IDEuN3B4IHJnYmEoMCwgMCwgMCwgMC4wMTQpLCAwIDEuOXB4IDQuMXB4IHJnYmEoMCwgMCwgMCwgMC4wMiksIDAgMy42cHggNy44cHggcmdiYSgwLCAwLCAwLCAwLjAyNSksIDAgNi41cHggMTMuOHB4IHJnYmEoMCwgMCwgMCwgMC4wMyksIDAgMTIuMXB4IDI1LjlweCByZ2JhKDAsIDAsIDAsIDAuMDM2KSwgMCAyOXB4IDYycHggcmdiYSgwLCAwLCAwLCAwLjA1KTtcbiAgei1pbmRleDogNTtcbn1cbiNtZW1iZXJzaGlwIC50aXRsZUFyZWEge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IDMwcHggMjBweCAxMHB4O1xuICBib3JkZXItcmFkaXVzOiAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4jbWVtYmVyc2hpcCAudGl0bGVBcmVhLmFjY291bnRQcm9maWxlciB7XG4gIGZvbnQtc2l6ZTogMS41ZW07XG59XG4jbWVtYmVyc2hpcCAudGl0bGVBcmVhIGgyIHtcbiAgZm9udC1mYW1pbHk6IFwiTm9haCBIZWFkXCIsIFwiSGVsdmV0aWNhTmV1ZVwiLCBcIkhlbHZldGljYSBOZXVlXCIsIFwiSGVsdmV0aWNhXCIsIFwiQXJpYWxcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgZm9udC1zaXplOiAyLjRlbTtcbiAgbWFyZ2luOiAwIDAgNXB4O1xuICBjb2xvcjogIzFENDE4RTtcbn1cbiNtZW1iZXJzaGlwIC50aXRsZUFyZWEgcCB7XG4gIGZvbnQtc2l6ZTogMS4yZW07XG4gIG1hcmdpbjogMDtcbiAgY29sb3I6ICMwMDMyNUQ7XG59XG4jbWVtYmVyc2hpcCBidXR0b24ucmV0dXJuVG9Tb2NpYWwge1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IDVweDtcbiAgbWFyZ2luOiAyNXB4IDAgMDtcbiAgYm9yZGVyOiAwO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBjb2xvcjogIzkzQzJGODtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uOiBhbGwgMjAwbXM7XG59XG4jbWVtYmVyc2hpcCBidXR0b24ucmV0dXJuVG9Tb2NpYWwgLnRleHQge1xuICBmb250LXNpemU6IDAuOWVtO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cbiNtZW1iZXJzaGlwIGJ1dHRvbi5yZXR1cm5Ub1NvY2lhbCAuaWNvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZm9udC1zaXplOiAwLjhlbTtcbiAgdHJhbnNpdGlvbjogYWxsIDUwMG1zO1xufVxuQG1lZGlhIChob3ZlcjogaG92ZXIpIGFuZCAocG9pbnRlcjogZmluZSkge1xuICAjbWVtYmVyc2hpcCBidXR0b24ucmV0dXJuVG9Tb2NpYWw6aG92ZXIgLnRleHQge1xuICAgIGNvbG9yOiAjMUQ0MThFO1xuICB9XG4gICNtZW1iZXJzaGlwIGJ1dHRvbi5yZXR1cm5Ub1NvY2lhbDpob3ZlciAuaWNvbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiAzcHg7XG4gIH1cbn1cbltkYXRhLWJyb3dzZXI9aWVdICNtZW1iZXJzaGlwIGJ1dHRvbi5yZXR1cm5Ub1NvY2lhbDpob3ZlciAudGV4dCB7XG4gIGNvbG9yOiAjMUQ0MThFO1xufVxuW2RhdGEtYnJvd3Nlcj1pZV0gI21lbWJlcnNoaXAgYnV0dG9uLnJldHVyblRvU29jaWFsOmhvdmVyIC5pY29uIHtcbiAgbWFyZ2luLXJpZ2h0OiAzcHg7XG59XG4uaWUgI21lbWJlcnNoaXAgYnV0dG9uLnJldHVyblRvU29jaWFsOmhvdmVyIC50ZXh0IHtcbiAgY29sb3I6ICMxRDQxOEU7XG59XG4uaWUgI21lbWJlcnNoaXAgYnV0dG9uLnJldHVyblRvU29jaWFsOmhvdmVyIC5pY29uIHtcbiAgbWFyZ2luLXJpZ2h0OiAzcHg7XG59XG4jbWVtYmVyc2hpcCBidXR0b24ucmV0dXJuVG9Tb2NpYWwuZm9jdXMtdmlzaWJsZSAudGV4dCB7XG4gIGNvbG9yOiAjMUQ0MThFO1xufVxuI21lbWJlcnNoaXAgYnV0dG9uLnJldHVyblRvU29jaWFsLmZvY3VzLXZpc2libGUgLmljb24ge1xuICBtYXJnaW4tcmlnaHQ6IDNweDtcbn1cbiNtZW1iZXJzaGlwIGJ1dHRvbi5yZXR1cm5Ub1NvY2lhbDpmb2N1cy12aXNpYmxlIC50ZXh0IHtcbiAgY29sb3I6ICMxRDQxOEU7XG59XG4jbWVtYmVyc2hpcCBidXR0b24ucmV0dXJuVG9Tb2NpYWw6Zm9jdXMtdmlzaWJsZSAuaWNvbiB7XG4gIG1hcmdpbi1yaWdodDogM3B4O1xufVxuI21lbWJlcnNoaXAgLmVycm9yTWVzc2FnZSxcbiNtZW1iZXJzaGlwIC5maWVsZC12YWxpZGF0aW9uLWVycm9yIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICNFMDA3MDA7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBmb250LXdlaWdodDogNjAwO1xuICBwYWRkaW5nOiA1cHggMTBweDtcbiAgbWFyZ2luOiAycHggYXV0byAxMHB4O1xuICBib3JkZXItcmFkaXVzOiAwO1xufVxuI21lbWJlcnNoaXAgLmxvZ2luTmF2IHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGJvcmRlci10b3A6IDJweCBzb2xpZCAjZWJlYmVjO1xuICBtYXJnaW4tdG9wOiAzMHB4O1xuICBwYWRkaW5nLXRvcDogMTBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LXNpemU6IDAuOWVtO1xufVxuI21lbWJlcnNoaXAgLmxvZ2luTmF2ID4gKiB7XG4gIG1hcmdpbjogMCA1cHg7XG59XG4jbWVtYmVyc2hpcCAuZm9ybVdyYXAge1xuICBwYWRkaW5nOiAyNXB4IDQwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbiNtZW1iZXJzaGlwIC5mb3JtV3JhcCBpbnB1dFt0eXBlPXJhZGlvXSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiAwO1xuICBib3gtc2hhZG93OiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5Ac3VwcG9ydHMgKGFwcGVhcmFuY2U6IG5vbmUpIHtcbiAgI21lbWJlcnNoaXAgLmZvcm1XcmFwIGlucHV0W3R5cGU9cmFkaW9dIHtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIHdpZHRoOiAxZW07XG4gICAgaGVpZ2h0OiAxZW07XG4gICAgbWluLXdpZHRoOiAxZW07XG4gICAgbWluLWhlaWdodDogMWVtO1xuICB9XG4gICNtZW1iZXJzaGlwIC5mb3JtV3JhcCBpbnB1dFt0eXBlPXJhZGlvXTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiAycHg7XG4gICAgYm9yZGVyLWNvbG9yOiAjM2YzZjNmO1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIHRyYW5zaXRpb246IGFsbCAyMDBtcztcbiAgfVxuICAjbWVtYmVyc2hpcCAuZm9ybVdyYXAgaW5wdXRbdHlwZT1yYWRpb106YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICB6LWluZGV4OiA1O1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMjAwbXM7XG4gIH1cbiAgI21lbWJlcnNoaXAgLmZvcm1XcmFwIGlucHV0W3R5cGU9cmFkaW9dOmNoZWNrZWQ6YmVmb3JlIHtcbiAgICBib3JkZXItY29sb3I6ICM5M0MyRjg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzkzQzJGODtcbiAgfVxuICAjbWVtYmVyc2hpcCAuZm9ybVdyYXAgaW5wdXRbdHlwZT1yYWRpb106Y2hlY2tlZDphZnRlciB7XG4gICAgb3BhY2l0eTogMTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBibGFjaztcbiAgICB3aWR0aDogNDUlO1xuICAgIGhlaWdodDogNDUlO1xuICB9XG4gICNtZW1iZXJzaGlwIC5mb3JtV3JhcCBpbnB1dFt0eXBlPXJhZGlvXVtkaXNhYmxlZF0ge1xuICAgIG9wYWNpdHk6IDAuMztcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICB9XG4gICNtZW1iZXJzaGlwIC5mb3JtV3JhcCBpbnB1dFt0eXBlPXJhZGlvXVtkaXNhYmxlZF06YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICB9XG59XG4jbWVtYmVyc2hpcCAuZm9ybVdyYXAgaW5wdXRbdHlwZT1jaGVja2JveF0ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuQHN1cHBvcnRzIChhcHBlYXJhbmNlOiBub25lKSB7XG4gICNtZW1iZXJzaGlwIC5mb3JtV3JhcCBpbnB1dFt0eXBlPWNoZWNrYm94XSB7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICB3aWR0aDogMWVtO1xuICAgIGhlaWdodDogMWVtO1xuICAgIG1pbi13aWR0aDogMWVtO1xuICAgIG1pbi1oZWlnaHQ6IDFlbTtcbiAgfVxuICAjbWVtYmVyc2hpcCAuZm9ybVdyYXAgaW5wdXRbdHlwZT1jaGVja2JveF06YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItd2lkdGg6IDJweDtcbiAgICBib3JkZXItY29sb3I6ICMwMDMyNUQ7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMjAwbXM7XG4gIH1cbiAgI21lbWJlcnNoaXAgLmZvcm1XcmFwIGlucHV0W3R5cGU9Y2hlY2tib3hdOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhacFpYZENiM2c5IElqQWdNQ0F6TVRZdU16Z2dNalV3TGpZaVBqeHdZWFJvSUdROUlrMDNNQzQwSURJeE9TNDRZelF1TlRVZ05DNDQgTnlBNUxqSXlJRGt1TmpjZ01UUXVNVElnTVRRdU1Ua2dNeTQzTlNBekxqUTNJRGN1TnpFZ05pNDROU0F4TVM0NSBNeUE1TGpjMElEVXVOU0F6TGpjNElERXhMamt5SURjdU1EZ2dNVGd1TnpnZ05pNDROU0EyTGpZMkxTNHlNeUF4IE1pNDNOeTB6TGpjeklERTNMamszTFRjdU5qSWdPQzQyTFRZdU5ESWdNVFl1TmpjdE1UVXVNVGNnTWpNdU9EUXQgTWpNdU1UUk1NekExTGpZNElEVTBMalk1WXpjdU1pMDRJREV4TGpjNUxURTRMakkxSURFd0xqUTNMVEk1TGpFMyBMVEV1TURRdE9DNDFPUzAxTGpjeExURTJMalUxTFRFekxqQXhMVEl4TGpJNUxUVXVOalV0TXk0Mk55MHhNaTR5IE5pMDBMams0TFRFNExqa3RNeTQ0TWkwNExqa2dNUzQxTmkweE5pNDFOQ0EzTGpJeUxUSXlMalE0SURFekxqYzQgTFRRNExqTTBJRFV6TGpNeUxUazJMalU1SURFd05pNDNNUzB4TkRRdU9EVWdNVFl3TGpFeGJDMHpMakU1SURNdSBOVE10TmpBdU5DMDJOaTQyTTJNdE9DNDBNaTA1TGpJNUxURTVMamN0TVRNdU9UUXRNekV1T1RJdE9TNDFOeTAwIExqY3lJREV1TmprdE9DNDVPU0EwTGpVNExURXlMalExSURndU1Ua3RNeTQ0TmlBMExqQTBMVFl1TnpnZ09TNHcgTmkwNExqRXpJREUwTGpRNUxUSXVNekVnT1M0eU55NHpJREU0TGpBM0lEWXVOaklnTWpVdU1UTnNOakl1T1RVZyBOekF1TXpWYUlpQnpkSGxzWlQwaVptbHNiQzF5ZFd4bE9tVjJaVzV2WkdRaUx6NDhMM04yWno0S1wiKSBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiA3MCU7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMjAwbXM7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuICAjbWVtYmVyc2hpcCAuZm9ybVdyYXAgaW5wdXRbdHlwZT1jaGVja2JveF06Y2hlY2tlZDpiZWZvcmUge1xuICAgIGJvcmRlci1jb2xvcjogIzkzQzJGODtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTNDMkY4O1xuICB9XG4gICNtZW1iZXJzaGlwIC5mb3JtV3JhcCBpbnB1dFt0eXBlPWNoZWNrYm94XTpjaGVja2VkOmFmdGVyIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gICNtZW1iZXJzaGlwIC5mb3JtV3JhcCBpbnB1dFt0eXBlPWNoZWNrYm94XVtkaXNhYmxlZF0ge1xuICAgIG9wYWNpdHk6IDAuMztcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICB9XG4gICNtZW1iZXJzaGlwIC5mb3JtV3JhcCBpbnB1dFt0eXBlPWNoZWNrYm94XVtkaXNhYmxlZF06YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDYzLCA2MywgNjMsIDAuOCk7XG4gIH1cbn1cbiNtZW1iZXJzaGlwIC5mb3JtV3JhcCBpbnB1dFt0eXBlPWNoZWNrYm94XSB+IGxhYmVsLFxuI21lbWJlcnNoaXAgLmZvcm1XcmFwIGlucHV0W3R5cGU9cmFkaW9dIH4gbGFiZWwge1xuICBwYWRkaW5nLWxlZnQ6IDAuMzVlbTtcbn1cbiNtZW1iZXJzaGlwIC5mb3JtV3JhcC5sb2dpbiAuc3RhdHVzTWVzc2FnZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDAwMDA7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgcGFkZGluZzogNXB4IDEwcHg7XG4gIHdpZHRoOiBmaXQtY29udGVudDtcbiAgbWFyZ2luOiAxMHB4IGF1dG87XG59XG4jbWVtYmVyc2hpcCAuZm9ybVdyYXAubG9naW4gLmhvcnpEaXZpZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWFyZ2luOiAyNXB4IDA7XG59XG4jbWVtYmVyc2hpcCAuZm9ybVdyYXAubG9naW4gLmhvcnpEaXZpZGVyIC5saW5lIHtcbiAgaGVpZ2h0OiAycHg7XG4gIGZsZXgtZ3JvdzogMTtcbiAgYmFja2dyb3VuZDogI2ViZWJlYztcbn1cbiNtZW1iZXJzaGlwIC5mb3JtV3JhcC5sb2dpbiAuaG9yekRpdmlkZXIgLm9yIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgY29sb3I6ICMzZjNmM2Y7XG4gIG1hcmdpbi1pbmxpbmU6IDE1cHg7XG59XG4jbWVtYmVyc2hpcCAuZm9ybVdyYXAubG9naW4gYnV0dG9uLmNvbnRpbnVlV2l0aEVtYWlsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBhZGRpbmc6IDAuN2VtIDEuNWVtO1xuICBib3JkZXItd2lkdGg6IDA7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1jb2xvcjogIzE0MmU2NDtcbiAgbGluZS1oZWlnaHQ6IDEuMWVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGZvbnQtZmFtaWx5OiBcIk5vYWggSGVhZFwiLCBcIkhlbHZldGljYU5ldWVcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIkhlbHZldGljYVwiLCBcIkFyaWFsXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiA5MDA7XG4gIG91dGxpbmUtb2Zmc2V0OiAwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRyYW5zaXRpb246IGFsbCAyMDBtcztcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFENDE4RTtcbiAgY29sb3I6IHdoaXRlO1xuICB3aWR0aDogMTAwJTtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgcGFkZGluZzogMS4zZW0gMS44ZW07XG4gIHRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50O1xufVxuQG1lZGlhIChob3ZlcjogaG92ZXIpIGFuZCAocG9pbnRlcjogZmluZSkge1xuICAjbWVtYmVyc2hpcCAuZm9ybVdyYXAubG9naW4gYnV0dG9uLmNvbnRpbnVlV2l0aEVtYWlsOmhvdmVyIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDMpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkVEMzRDO1xuICAgIGNvbG9yOiBibGFjaztcbiAgICBib3JkZXItY29sb3I6ICNmZWM3MTk7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG59XG5bZGF0YS1icm93c2VyPWllXSAjbWVtYmVyc2hpcCAuZm9ybVdyYXAubG9naW4gYnV0dG9uLmNvbnRpbnVlV2l0aEVtYWlsOmhvdmVyIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjAzKTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkVEMzRDO1xuICBjb2xvcjogYmxhY2s7XG4gIGJvcmRlci1jb2xvcjogI2ZlYzcxOTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLmllICNtZW1iZXJzaGlwIC5mb3JtV3JhcC5sb2dpbiBidXR0b24uY29udGludWVXaXRoRW1haWw6aG92ZXIge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuMDMpO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRUQzNEM7XG4gIGNvbG9yOiBibGFjaztcbiAgYm9yZGVyLWNvbG9yOiAjZmVjNzE5O1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4jbWVtYmVyc2hpcCAuZm9ybVdyYXAubG9naW4gYnV0dG9uLmNvbnRpbnVlV2l0aEVtYWlsLmZvY3VzLXZpc2libGUge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuMDMpO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRUQzNEM7XG4gIGNvbG9yOiBibGFjaztcbiAgYm9yZGVyLWNvbG9yOiAjZmVjNzE5O1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4jbWVtYmVyc2hpcCAuZm9ybVdyYXAubG9naW4gYnV0dG9uLmNvbnRpbnVlV2l0aEVtYWlsOmZvY3VzLXZpc2libGUge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuMDMpO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRUQzNEM7XG4gIGNvbG9yOiBibGFjaztcbiAgYm9yZGVyLWNvbG9yOiAjZmVjNzE5O1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4jbWVtYmVyc2hpcCAuZm9ybVdyYXAubG9naW4gYnV0dG9uLmNvbnRpbnVlV2l0aEVtYWlsW2Rpc2FibGVkXSwgI21lbWJlcnNoaXAgLmZvcm1XcmFwLmxvZ2luIGJ1dHRvbi5jb250aW51ZVdpdGhFbWFpbFthcmlhLWRpc2FibGVkPXRydWVdIHtcbiAgb3BhY2l0eTogMC41O1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuI21lbWJlcnNoaXAgLmZvcm1XcmFwLmxvZ2luIGJ1dHRvbi5jb250aW51ZVdpdGhFbWFpbCAuaWNvbiB7XG4gIGZvbnQtc2l6ZTogMi41ZW07XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG59XG4jbWVtYmVyc2hpcCAuZm9ybVdyYXAubG9naW4gYnV0dG9uLmNvbnRpbnVlV2l0aEVtYWlsIC50ZXh0IHtcbiAgZm9udC1zaXplOiAxLjJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG4jbWVtYmVyc2hpcCAuZm9ybVdyYXAubG9naW4gLmZpZWxkV3JhcHBlciBsYWJlbDpub3QoLmNoZWNrYm94TGFiZWwpIHtcbiAgdG9wOiAzcHg7XG4gIGxlZnQ6IDNweDtcbn1cbiNtZW1iZXJzaGlwIC5mb3JtV3JhcC5sb2dpbiAuZmllbGRXcmFwcGVyIGlucHV0Om5vdChbdHlwZT1jaGVja2JveF0pOm5vdChbdHlwZT1yYWRpb10pLFxuI21lbWJlcnNoaXAgLmZvcm1XcmFwLmxvZ2luIC5maWVsZFdyYXBwZXIgdGV4dGFyZWEge1xuICBwYWRkaW5nLXRvcDogMjBweDtcbiAgcGFkZGluZy1sZWZ0OiAzcHg7XG59XG4jbWVtYmVyc2hpcCAuZm9ybVdyYXAubG9naW4gLmxvZ2luV3JhcHBlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIG1hcmdpbi10b3A6IDhweDtcbn1cbiNtZW1iZXJzaGlwIC5mb3JtV3JhcC5sb2dpbiAucmV0dXJuaW5nV3JhcHBlciB7XG4gIHdpZHRoOiBjYWxjKDYwJSAtIDIwcHgpO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4jbWVtYmVyc2hpcCAuZm9ybVdyYXAubG9naW4gLm5ld0FjY291bnRXcmFwcGVyIHtcbiAgd2lkdGg6IDQwJTtcbn1cbiNtZW1iZXJzaGlwIC5mb3JtV3JhcC5sb2dpbiAubmV3QWNjb3VudFdyYXBwZXIgPiBhOmZpcnN0LWNoaWxkIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBhZGRpbmc6IDAuN2VtIDEuNWVtO1xuICBib3JkZXItd2lkdGg6IDA7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1jb2xvcjogIzE0MmU2NDtcbiAgbGluZS1oZWlnaHQ6IDEuMWVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGZvbnQtZmFtaWx5OiBcIk5vYWggSGVhZFwiLCBcIkhlbHZldGljYU5ldWVcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIkhlbHZldGljYVwiLCBcIkFyaWFsXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiA5MDA7XG4gIG91dGxpbmUtb2Zmc2V0OiAwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRyYW5zaXRpb246IGFsbCAyMDBtcztcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFENDE4RTtcbiAgY29sb3I6IHdoaXRlO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuQG1lZGlhIChob3ZlcjogaG92ZXIpIGFuZCAocG9pbnRlcjogZmluZSkge1xuICAjbWVtYmVyc2hpcCAuZm9ybVdyYXAubG9naW4gLm5ld0FjY291bnRXcmFwcGVyID4gYTpmaXJzdC1jaGlsZDpob3ZlciB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjAzKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZFRDM0QztcbiAgICBjb2xvcjogYmxhY2s7XG4gICAgYm9yZGVyLWNvbG9yOiAjZmVjNzE5O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxufVxuW2RhdGEtYnJvd3Nlcj1pZV0gI21lbWJlcnNoaXAgLmZvcm1XcmFwLmxvZ2luIC5uZXdBY2NvdW50V3JhcHBlciA+IGE6Zmlyc3QtY2hpbGQ6aG92ZXIge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuMDMpO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRUQzNEM7XG4gIGNvbG9yOiBibGFjaztcbiAgYm9yZGVyLWNvbG9yOiAjZmVjNzE5O1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4uaWUgI21lbWJlcnNoaXAgLmZvcm1XcmFwLmxvZ2luIC5uZXdBY2NvdW50V3JhcHBlciA+IGE6Zmlyc3QtY2hpbGQ6aG92ZXIge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuMDMpO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRUQzNEM7XG4gIGNvbG9yOiBibGFjaztcbiAgYm9yZGVyLWNvbG9yOiAjZmVjNzE5O1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4jbWVtYmVyc2hpcCAuZm9ybVdyYXAubG9naW4gLm5ld0FjY291bnRXcmFwcGVyID4gYTpmaXJzdC1jaGlsZC5mb2N1cy12aXNpYmxlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjAzKTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkVEMzRDO1xuICBjb2xvcjogYmxhY2s7XG4gIGJvcmRlci1jb2xvcjogI2ZlYzcxOTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuI21lbWJlcnNoaXAgLmZvcm1XcmFwLmxvZ2luIC5uZXdBY2NvdW50V3JhcHBlciA+IGE6Zmlyc3QtY2hpbGQ6Zm9jdXMtdmlzaWJsZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS4wMyk7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZFRDM0QztcbiAgY29sb3I6IGJsYWNrO1xuICBib3JkZXItY29sb3I6ICNmZWM3MTk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbiNtZW1iZXJzaGlwIC5mb3JtV3JhcC5sb2dpbiAubmV3QWNjb3VudFdyYXBwZXIgPiBhOmZpcnN0LWNoaWxkW2Rpc2FibGVkXSwgI21lbWJlcnNoaXAgLmZvcm1XcmFwLmxvZ2luIC5uZXdBY2NvdW50V3JhcHBlciA+IGE6Zmlyc3QtY2hpbGRbYXJpYS1kaXNhYmxlZD10cnVlXSB7XG4gIG9wYWNpdHk6IDAuNTtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cbiNtZW1iZXJzaGlwIC5mb3JtV3JhcC5sb2dpbiAubmV3QWNjb3VudFdyYXBwZXIgPiBhOmZpcnN0LWNoaWxkW2RhdGEtdHlwZT1TdHVkZW50XSAuaWNvbjpiZWZvcmUge1xuICB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlO1xuICBjb250ZW50OiBcInpcIjtcbn1cbiNtZW1iZXJzaGlwIC5mb3JtV3JhcC5sb2dpbiAubmV3QWNjb3VudFdyYXBwZXIgPiBhOmZpcnN0LWNoaWxkIC5pY29uIHtcbiAgZm9udC1zaXplOiAyLjVlbTtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbn1cbiNtZW1iZXJzaGlwIC5mb3JtV3JhcC5sb2dpbiAubmV3QWNjb3VudFdyYXBwZXIgPiBhOmZpcnN0LWNoaWxkIC50ZXh0IHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGZvbnQtc2l6ZTogMS4xNWVtO1xufVxuI21lbWJlcnNoaXAgLmZvcm1XcmFwLmxhbmRpbmdQYWdlIHtcbiAgcGFkZGluZy1ib3R0b206IDQwcHg7XG4gIHBhZGRpbmctbGVmdDogMzBweDtcbiAgcGFkZGluZy1yaWdodDogMzBweDtcbn1cbiNtZW1iZXJzaGlwIC5mb3JtV3JhcC5sYW5kaW5nUGFnZSAuYnV0dG9ucyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xufVxuI21lbWJlcnNoaXAgLmZvcm1XcmFwLmxhbmRpbmdQYWdlIC5idXR0b25zIGEge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGZsZXgtZ3JvdzogMTtcbiAgbWFyZ2luOiAwIDZweDtcbiAgaGVpZ2h0OiAzNTBweDtcbiAgZm9udC1zaXplOiAxLjRlbTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuQG1lZGlhIChob3ZlcjogaG92ZXIpIGFuZCAocG9pbnRlcjogZmluZSkge1xuICAjbWVtYmVyc2hpcCAuZm9ybVdyYXAubGFuZGluZ1BhZ2UgLmJ1dHRvbnMgYTpob3ZlciAuaWNvbkhvbGRlciB7XG4gICAgY29sb3I6ICMxRDQxOEU7XG4gIH1cbiAgI21lbWJlcnNoaXAgLmZvcm1XcmFwLmxhbmRpbmdQYWdlIC5idXR0b25zIGE6aG92ZXIgLnRleHQge1xuICAgIGNvbG9yOiAjMUQ0MThFO1xuICB9XG4gICNtZW1iZXJzaGlwIC5mb3JtV3JhcC5sYW5kaW5nUGFnZSAuYnV0dG9ucyBhOmhvdmVyIC5iZyB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjIpO1xuICB9XG4gICNtZW1iZXJzaGlwIC5mb3JtV3JhcC5sYW5kaW5nUGFnZSAuYnV0dG9ucyBhOmhvdmVyIC5vdmVybGF5R3JpZCBzcGFuIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIG9wYWNpdHk6IDAuNztcbiAgfVxufVxuW2RhdGEtYnJvd3Nlcj1pZV0gI21lbWJlcnNoaXAgLmZvcm1XcmFwLmxhbmRpbmdQYWdlIC5idXR0b25zIGE6aG92ZXIgLmljb25Ib2xkZXIge1xuICBjb2xvcjogIzFENDE4RTtcbn1cbltkYXRhLWJyb3dzZXI9aWVdICNtZW1iZXJzaGlwIC5mb3JtV3JhcC5sYW5kaW5nUGFnZSAuYnV0dG9ucyBhOmhvdmVyIC50ZXh0IHtcbiAgY29sb3I6ICMxRDQxOEU7XG59XG5bZGF0YS1icm93c2VyPWllXSAjbWVtYmVyc2hpcCAuZm9ybVdyYXAubGFuZGluZ1BhZ2UgLmJ1dHRvbnMgYTpob3ZlciAuYmcge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuMik7XG59XG5bZGF0YS1icm93c2VyPWllXSAjbWVtYmVyc2hpcCAuZm9ybVdyYXAubGFuZGluZ1BhZ2UgLmJ1dHRvbnMgYTpob3ZlciAub3ZlcmxheUdyaWQgc3BhbiB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIG9wYWNpdHk6IDAuNztcbn1cbi5pZSAjbWVtYmVyc2hpcCAuZm9ybVdyYXAubGFuZGluZ1BhZ2UgLmJ1dHRvbnMgYTpob3ZlciAuaWNvbkhvbGRlciB7XG4gIGNvbG9yOiAjMUQ0MThFO1xufVxuLmllICNtZW1iZXJzaGlwIC5mb3JtV3JhcC5sYW5kaW5nUGFnZSAuYnV0dG9ucyBhOmhvdmVyIC50ZXh0IHtcbiAgY29sb3I6ICMxRDQxOEU7XG59XG4uaWUgI21lbWJlcnNoaXAgLmZvcm1XcmFwLmxhbmRpbmdQYWdlIC5idXR0b25zIGE6aG92ZXIgLmJnIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjIpO1xufVxuLmllICNtZW1iZXJzaGlwIC5mb3JtV3JhcC5sYW5kaW5nUGFnZSAuYnV0dG9ucyBhOmhvdmVyIC5vdmVybGF5R3JpZCBzcGFuIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgb3BhY2l0eTogMC43O1xufVxuI21lbWJlcnNoaXAgLmZvcm1XcmFwLmxhbmRpbmdQYWdlIC5idXR0b25zIGEuZm9jdXMtdmlzaWJsZSAuaWNvbkhvbGRlciB7XG4gIGNvbG9yOiAjMUQ0MThFO1xufVxuI21lbWJlcnNoaXAgLmZvcm1XcmFwLmxhbmRpbmdQYWdlIC5idXR0b25zIGEuZm9jdXMtdmlzaWJsZSAudGV4dCB7XG4gIGNvbG9yOiAjMUQ0MThFO1xufVxuI21lbWJlcnNoaXAgLmZvcm1XcmFwLmxhbmRpbmdQYWdlIC5idXR0b25zIGEuZm9jdXMtdmlzaWJsZSAuYmcge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuMik7XG59XG4jbWVtYmVyc2hpcCAuZm9ybVdyYXAubGFuZGluZ1BhZ2UgLmJ1dHRvbnMgYS5mb2N1cy12aXNpYmxlIC5vdmVybGF5R3JpZCBzcGFuIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgb3BhY2l0eTogMC43O1xufVxuI21lbWJlcnNoaXAgLmZvcm1XcmFwLmxhbmRpbmdQYWdlIC5idXR0b25zIGE6Zm9jdXMtdmlzaWJsZSAuaWNvbkhvbGRlciB7XG4gIGNvbG9yOiAjMUQ0MThFO1xufVxuI21lbWJlcnNoaXAgLmZvcm1XcmFwLmxhbmRpbmdQYWdlIC5idXR0b25zIGE6Zm9jdXMtdmlzaWJsZSAudGV4dCB7XG4gIGNvbG9yOiAjMUQ0MThFO1xufVxuI21lbWJlcnNoaXAgLmZvcm1XcmFwLmxhbmRpbmdQYWdlIC5idXR0b25zIGE6Zm9jdXMtdmlzaWJsZSAuYmcge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuMik7XG59XG4jbWVtYmVyc2hpcCAuZm9ybVdyYXAubGFuZGluZ1BhZ2UgLmJ1dHRvbnMgYTpmb2N1cy12aXNpYmxlIC5vdmVybGF5R3JpZCBzcGFuIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgb3BhY2l0eTogMC43O1xufVxuI21lbWJlcnNoaXAgLmZvcm1XcmFwLmxhbmRpbmdQYWdlIC5idXR0b25zIC5vdmVybGF5R3JpZCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAyO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnIgMWZyO1xuICBncmlkLXRlbXBsYXRlLXJvd3M6IDFmciAxZnIgMTMwcHg7XG59XG4jbWVtYmVyc2hpcCAuZm9ybVdyYXAubGFuZGluZ1BhZ2UgLmJ1dHRvbnMgLm92ZXJsYXlHcmlkIHNwYW4ge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2Zvcm06IHNjYWxlKDApO1xuICB0cmFuc2l0aW9uOiBhbGwgNjAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4zMiwgLTAuMDUsIDAsIDEuMDUpO1xufVxuI21lbWJlcnNoaXAgLmZvcm1XcmFwLmxhbmRpbmdQYWdlIC5idXR0b25zIC5vdmVybGF5R3JpZCBzcGFuLmxlZnQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDUwLCA5MywgMC45OCk7XG59XG4jbWVtYmVyc2hpcCAuZm9ybVdyYXAubGFuZGluZ1BhZ2UgLmJ1dHRvbnMgLm92ZXJsYXlHcmlkIHNwYW4uY2VudGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCA1MCwgOTMsIDAuOTgpO1xufVxuI21lbWJlcnNoaXAgLmZvcm1XcmFwLmxhbmRpbmdQYWdlIC5idXR0b25zIC5vdmVybGF5R3JpZCBzcGFuLnJpZ2h0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCA1MCwgOTMsIDAuOTgpO1xufVxuI21lbWJlcnNoaXAgLmZvcm1XcmFwLmxhbmRpbmdQYWdlIC5idXR0b25zIC5vdmVybGF5R3JpZCBzcGFuOm50aC1jaGlsZCgxKSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDMwbXM7XG59XG4jbWVtYmVyc2hpcCAuZm9ybVdyYXAubGFuZGluZ1BhZ2UgLmJ1dHRvbnMgLm92ZXJsYXlHcmlkIHNwYW46bnRoLWNoaWxkKDIpIHtcbiAgdHJhbnNpdGlvbi1kZWxheTogNjBtcztcbn1cbiNtZW1iZXJzaGlwIC5mb3JtV3JhcC5sYW5kaW5nUGFnZSAuYnV0dG9ucyAub3ZlcmxheUdyaWQgc3BhbjpudGgtY2hpbGQoMykge1xuICB0cmFuc2l0aW9uLWRlbGF5OiA5MG1zO1xufVxuI21lbWJlcnNoaXAgLmZvcm1XcmFwLmxhbmRpbmdQYWdlIC5idXR0b25zIC5vdmVybGF5R3JpZCBzcGFuOm50aC1jaGlsZCg0KSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDEyMG1zO1xufVxuI21lbWJlcnNoaXAgLmZvcm1XcmFwLmxhbmRpbmdQYWdlIC5idXR0b25zIC5vdmVybGF5R3JpZCBzcGFuOm50aC1jaGlsZCg1KSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDE1MG1zO1xufVxuI21lbWJlcnNoaXAgLmZvcm1XcmFwLmxhbmRpbmdQYWdlIC5idXR0b25zIC5vdmVybGF5R3JpZCBzcGFuOm50aC1jaGlsZCg2KSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDE4MG1zO1xufVxuI21lbWJlcnNoaXAgLmZvcm1XcmFwLmxhbmRpbmdQYWdlIC5idXR0b25zIC5vdmVybGF5R3JpZCBzcGFuOm50aC1jaGlsZCg3KSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDIxMG1zO1xufVxuI21lbWJlcnNoaXAgLmZvcm1XcmFwLmxhbmRpbmdQYWdlIC5idXR0b25zIC5vdmVybGF5R3JpZCBzcGFuOm50aC1jaGlsZCg4KSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDI0MG1zO1xufVxuI21lbWJlcnNoaXAgLmZvcm1XcmFwLmxhbmRpbmdQYWdlIC5idXR0b25zIC5vdmVybGF5R3JpZCBzcGFuOm50aC1jaGlsZCg5KSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDI3MG1zO1xufVxuI21lbWJlcnNoaXAgLmZvcm1XcmFwLmxhbmRpbmdQYWdlIC5idXR0b25zIC5iZyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaW5zZXQ6IDA7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7XG4gIHRyYW5zaXRpb246IGFsbCA2MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjMyLCAtMC4wNSwgMCwgMS4wNSk7XG59XG4jbWVtYmVyc2hpcCAuZm9ybVdyYXAubGFuZGluZ1BhZ2UgLmJ1dHRvbnMgLnRleHRIb2xkZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMDtcbiAgcmlnaHQ6IDA7XG4gIHotaW5kZXg6IDU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgbWF4LXdpZHRoOiA2NiU7XG4gIG1pbi1oZWlnaHQ6IDEzMHB4O1xuICBib3JkZXItbGVmdDogMTBweCBzb2xpZCAjRkVEMzRDO1xuICBwYWRkaW5nOiAyMHB4IDE1cHggNXB4O1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xufVxuI21lbWJlcnNoaXAgLmZvcm1XcmFwLmxhbmRpbmdQYWdlIC5idXR0b25zIC50ZXh0SG9sZGVyOmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDE1cHg7XG4gIHJpZ2h0OiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTYzNjkwO1xuICBoZWlnaHQ6IDFweDtcbn1cbiNtZW1iZXJzaGlwIC5mb3JtV3JhcC5sYW5kaW5nUGFnZSAuYnV0dG9ucyAudGV4dCB7XG4gIGNvbG9yOiAjMDAzMjVEO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgZm9udC1mYW1pbHk6IFwiSnVhbmFcIiwgc2VyaWY7XG4gIGZvbnQtc2l6ZTogMS41ZW07XG4gIHRyYW5zaXRpb246IGFsbCAyMDBtcztcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cbiNtZW1iZXJzaGlwIC5mb3JtV3JhcC5sYW5kaW5nUGFnZSAuYnV0dG9ucyAuaWNvbkhvbGRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZvbnQtZmFtaWx5OiBcIk5vYWggSGVhZFwiLCBcIkhlbHZldGljYU5ldWVcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIkhlbHZldGljYVwiLCBcIkFyaWFsXCIsIHNhbnMtc2VyaWY7XG4gIHRyYW5zaXRpb246IGFsbCAyMDBtcztcbiAgZm9udC1zaXplOiAwLjZlbTtcbiAgY29sb3I6ICNFNjM2OTA7XG4gIHRyYW5zaXRpb246IGFsbCAzMDBtcztcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cbiNtZW1iZXJzaGlwIC5mb3JtV3JhcC5sYW5kaW5nUGFnZSAuYnV0dG9ucyAuaWNvbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICB3aWR0aDogMzBweDtcbiAgaGVpZ2h0OiAzMHB4O1xuICBmb250LWZhbWlseTogXCJzcGVsbWFuXCI7XG4gIHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2U7XG4gIGZvbnQtc2l6ZTogMjRweDtcbiAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gIG1hcmdpbi1ib3R0b206IDNweDtcbn1cbiNtZW1iZXJzaGlwIC5mb3JtV3JhcC5sYW5kaW5nUGFnZSAuYnV0dG9ucyAuZ3Vlc3RMb2dpbkJ0biAuaWNvbjpiZWZvcmUge1xuICBjb250ZW50OiBcImtcIjtcbn1cbiNtZW1iZXJzaGlwIC5mb3JtV3JhcC5sYW5kaW5nUGFnZSAuYnV0dG9ucyAuZW5yb2xsZWVMb2dpbkJ0biAuaWNvbjpiZWZvcmUge1xuICBjb250ZW50OiBcInpcIjtcbn1cbiNtZW1iZXJzaGlwIC5mb3JtV3JhcC5hY2NvdW50UHJvZmlsZXIge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuI21lbWJlcnNoaXAgLmZvcm1XcmFwLmFjY291bnRQcm9maWxlciAucHJvZmlsZVNldHRpbmdzRXhwbGFpbmVyLFxuI21lbWJlcnNoaXAgLmZvcm1XcmFwLmFjY291bnRQcm9maWxlciAucHJvZmlsZUVycm9yV3JhcCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbiNtZW1iZXJzaGlwIC5mb3JtV3JhcC5hY2NvdW50UHJvZmlsZXIgLmluc3RydWN0aW9uIHtcbiAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuI21lbWJlcnNoaXAgLmZvcm1XcmFwLmFjY291bnRQcm9maWxlciAuYnV0dG9uSG9sZGVyIHtcbiAgbWFyZ2luOiAyMHB4IDAgMjBweDtcbn1cbiNtZW1iZXJzaGlwIC5mb3JtV3JhcC5hY2NvdW50UHJvZmlsZXIgLnJlc2V0QWNjb3VudFR5cGVCdG4ge1xuICBib3JkZXI6IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBmb250LXNpemU6IDAuOGVtO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzkzQzJGODtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogIzkzQzJGODtcbiAgYmFja2dyb3VuZC1jb2xvcjogYmxhY2s7XG4gIHRyYW5zaXRpb246IDIwMG1zO1xufVxuQG1lZGlhIChob3ZlcjogaG92ZXIpIGFuZCAocG9pbnRlcjogZmluZSkge1xuICAjbWVtYmVyc2hpcCAuZm9ybVdyYXAuYWNjb3VudFByb2ZpbGVyIC5yZXNldEFjY291bnRUeXBlQnRuOmhvdmVyIHtcbiAgICBib3JkZXItY29sb3I6ICMxRDQxOEU7XG4gICAgY29sb3I6ICMxRDQxOEU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIH1cbn1cbltkYXRhLWJyb3dzZXI9aWVdICNtZW1iZXJzaGlwIC5mb3JtV3JhcC5hY2NvdW50UHJvZmlsZXIgLnJlc2V0QWNjb3VudFR5cGVCdG46aG92ZXIge1xuICBib3JkZXItY29sb3I6ICMxRDQxOEU7XG4gIGNvbG9yOiAjMUQ0MThFO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbn1cbi5pZSAjbWVtYmVyc2hpcCAuZm9ybVdyYXAuYWNjb3VudFByb2ZpbGVyIC5yZXNldEFjY291bnRUeXBlQnRuOmhvdmVyIHtcbiAgYm9yZGVyLWNvbG9yOiAjMUQ0MThFO1xuICBjb2xvcjogIzFENDE4RTtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG59XG4jbWVtYmVyc2hpcCAuZm9ybVdyYXAuYWNjb3VudFByb2ZpbGVyIC5yZXNldEFjY291bnRUeXBlQnRuLmZvY3VzLXZpc2libGUge1xuICBib3JkZXItY29sb3I6ICMxRDQxOEU7XG4gIGNvbG9yOiAjMUQ0MThFO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbn1cbiNtZW1iZXJzaGlwIC5mb3JtV3JhcC5hY2NvdW50UHJvZmlsZXIgLnJlc2V0QWNjb3VudFR5cGVCdG46Zm9jdXMtdmlzaWJsZSB7XG4gIGJvcmRlci1jb2xvcjogIzFENDE4RTtcbiAgY29sb3I6ICMxRDQxOEU7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xufVxuI21lbWJlcnNoaXAgLmZvcm1XcmFwLnR3b0ZhY3RvciAuc2luZ2xlRmllbGRTdWJtaXNzaW9uIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIG1hcmdpbi1ib3R0b206IDI1cHg7XG59XG4jbWVtYmVyc2hpcCAuZm9ybVdyYXAudHdvRmFjdG9yIC5zaW5nbGVGaWVsZFN1Ym1pc3Npb24gLmZpZWxkV3JhcHBlciB7XG4gIG1hcmdpbjogMCA1cHggMCAwO1xufVxuI21lbWJlcnNoaXAgLmZvcm1XcmFwLnR3b0ZhY3RvciAuc2luZ2xlRmllbGRTdWJtaXNzaW9uIGJ1dHRvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwYWRkaW5nOiAwLjdlbSAxLjVlbTtcbiAgYm9yZGVyLXdpZHRoOiAwO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItY29sb3I6ICMxNDJlNjQ7XG4gIGxpbmUtaGVpZ2h0OiAxLjFlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBmb250LWZhbWlseTogXCJOb2FoIEhlYWRcIiwgXCJIZWx2ZXRpY2FOZXVlXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgXCJIZWx2ZXRpY2FcIiwgXCJBcmlhbFwiLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogOTAwO1xuICBvdXRsaW5lLW9mZnNldDogMDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0cmFuc2l0aW9uOiBhbGwgMjAwbXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxRDQxOEU7XG4gIGNvbG9yOiB3aGl0ZTtcbn1cbkBtZWRpYSAoaG92ZXI6IGhvdmVyKSBhbmQgKHBvaW50ZXI6IGZpbmUpIHtcbiAgI21lbWJlcnNoaXAgLmZvcm1XcmFwLnR3b0ZhY3RvciAuc2luZ2xlRmllbGRTdWJtaXNzaW9uIGJ1dHRvbjpob3ZlciB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjAzKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZFRDM0QztcbiAgICBjb2xvcjogYmxhY2s7XG4gICAgYm9yZGVyLWNvbG9yOiAjZmVjNzE5O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxufVxuW2RhdGEtYnJvd3Nlcj1pZV0gI21lbWJlcnNoaXAgLmZvcm1XcmFwLnR3b0ZhY3RvciAuc2luZ2xlRmllbGRTdWJtaXNzaW9uIGJ1dHRvbjpob3ZlciB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS4wMyk7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZFRDM0QztcbiAgY29sb3I6IGJsYWNrO1xuICBib3JkZXItY29sb3I6ICNmZWM3MTk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5pZSAjbWVtYmVyc2hpcCAuZm9ybVdyYXAudHdvRmFjdG9yIC5zaW5nbGVGaWVsZFN1Ym1pc3Npb24gYnV0dG9uOmhvdmVyIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjAzKTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkVEMzRDO1xuICBjb2xvcjogYmxhY2s7XG4gIGJvcmRlci1jb2xvcjogI2ZlYzcxOTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuI21lbWJlcnNoaXAgLmZvcm1XcmFwLnR3b0ZhY3RvciAuc2luZ2xlRmllbGRTdWJtaXNzaW9uIGJ1dHRvbi5mb2N1cy12aXNpYmxlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjAzKTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkVEMzRDO1xuICBjb2xvcjogYmxhY2s7XG4gIGJvcmRlci1jb2xvcjogI2ZlYzcxOTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuI21lbWJlcnNoaXAgLmZvcm1XcmFwLnR3b0ZhY3RvciAuc2luZ2xlRmllbGRTdWJtaXNzaW9uIGJ1dHRvbjpmb2N1cy12aXNpYmxlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjAzKTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkVEMzRDO1xuICBjb2xvcjogYmxhY2s7XG4gIGJvcmRlci1jb2xvcjogI2ZlYzcxOTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuI21lbWJlcnNoaXAgLmZvcm1XcmFwLnR3b0ZhY3RvciAuc2luZ2xlRmllbGRTdWJtaXNzaW9uIGJ1dHRvbltkaXNhYmxlZF0sICNtZW1iZXJzaGlwIC5mb3JtV3JhcC50d29GYWN0b3IgLnNpbmdsZUZpZWxkU3VibWlzc2lvbiBidXR0b25bYXJpYS1kaXNhYmxlZD10cnVlXSB7XG4gIG9wYWNpdHk6IDAuNTtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cbiNtZW1iZXJzaGlwIC5mb3JtV3JhcC50d29GYWN0b3IgI1RGQUJ1dHRvbkFwcCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwYWRkaW5nOiAwLjdlbSAxLjVlbTtcbiAgYm9yZGVyLXdpZHRoOiAwO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItY29sb3I6ICMxNDJlNjQ7XG4gIGxpbmUtaGVpZ2h0OiAxLjFlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBmb250LWZhbWlseTogXCJOb2FoIEhlYWRcIiwgXCJIZWx2ZXRpY2FOZXVlXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgXCJIZWx2ZXRpY2FcIiwgXCJBcmlhbFwiLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogOTAwO1xuICBvdXRsaW5lLW9mZnNldDogMDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0cmFuc2l0aW9uOiBhbGwgMjAwbXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxRDQxOEU7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgcGFkZGluZzogMC4zNWVtIDAuNWVtO1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuQG1lZGlhIChob3ZlcjogaG92ZXIpIGFuZCAocG9pbnRlcjogZmluZSkge1xuICAjbWVtYmVyc2hpcCAuZm9ybVdyYXAudHdvRmFjdG9yICNURkFCdXR0b25BcHA6aG92ZXIge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wMyk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRUQzNEM7XG4gICAgY29sb3I6IGJsYWNrO1xuICAgIGJvcmRlci1jb2xvcjogI2ZlYzcxOTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cbn1cbltkYXRhLWJyb3dzZXI9aWVdICNtZW1iZXJzaGlwIC5mb3JtV3JhcC50d29GYWN0b3IgI1RGQUJ1dHRvbkFwcDpob3ZlciB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS4wMyk7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZFRDM0QztcbiAgY29sb3I6IGJsYWNrO1xuICBib3JkZXItY29sb3I6ICNmZWM3MTk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5pZSAjbWVtYmVyc2hpcCAuZm9ybVdyYXAudHdvRmFjdG9yICNURkFCdXR0b25BcHA6aG92ZXIge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuMDMpO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRUQzNEM7XG4gIGNvbG9yOiBibGFjaztcbiAgYm9yZGVyLWNvbG9yOiAjZmVjNzE5O1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4jbWVtYmVyc2hpcCAuZm9ybVdyYXAudHdvRmFjdG9yICNURkFCdXR0b25BcHAuZm9jdXMtdmlzaWJsZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS4wMyk7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZFRDM0QztcbiAgY29sb3I6IGJsYWNrO1xuICBib3JkZXItY29sb3I6ICNmZWM3MTk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbiNtZW1iZXJzaGlwIC5mb3JtV3JhcC50d29GYWN0b3IgI1RGQUJ1dHRvbkFwcDpmb2N1cy12aXNpYmxlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjAzKTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkVEMzRDO1xuICBjb2xvcjogYmxhY2s7XG4gIGJvcmRlci1jb2xvcjogI2ZlYzcxOTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuI21lbWJlcnNoaXAgLmZvcm1XcmFwLnR3b0ZhY3RvciAjVEZBQnV0dG9uQXBwW2Rpc2FibGVkXSwgI21lbWJlcnNoaXAgLmZvcm1XcmFwLnR3b0ZhY3RvciAjVEZBQnV0dG9uQXBwW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0ge1xuICBvcGFjaXR5OiAwLjU7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG4jbWVtYmVyc2hpcCAuZm9ybVdyYXAudHdvRmFjdG9yICNURkFCdXR0b25FbWFpbCxcbiNtZW1iZXJzaGlwIC5mb3JtV3JhcC50d29GYWN0b3IgI09UUEJ1dHRvbiB7XG4gIGJvcmRlcjogMDtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgcGFkZGluZzogMCAwIDJweDtcbiAgbWFyZ2luLXRvcDogMTVweDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM5M0MyRjg7XG4gIGNvbG9yOiAjOTNDMkY4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBibGFjaztcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuI21lbWJlcnNoaXAgLmZvcm1XcmFwLnR3b0ZhY3RvciAjVEZBQnV0dG9uRW1haWxbZGF0YS13YWl0LWEtZmV3PXRydWVdLFxuI21lbWJlcnNoaXAgLmZvcm1XcmFwLnR3b0ZhY3RvciAjT1RQQnV0dG9uW2RhdGEtd2FpdC1hLWZldz10cnVlXSB7XG4gIG9wYWNpdHk6IDAuNjtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cbiNtZW1iZXJzaGlwIC5idXR0b25Ib2xkZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4jbWVtYmVyc2hpcCAuYnV0dG9uSG9sZGVyIGJ1dHRvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwYWRkaW5nOiAwLjdlbSAxLjVlbTtcbiAgYm9yZGVyLXdpZHRoOiAwO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItY29sb3I6ICMxNDJlNjQ7XG4gIGxpbmUtaGVpZ2h0OiAxLjFlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBmb250LWZhbWlseTogXCJOb2FoIEhlYWRcIiwgXCJIZWx2ZXRpY2FOZXVlXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgXCJIZWx2ZXRpY2FcIiwgXCJBcmlhbFwiLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogOTAwO1xuICBvdXRsaW5lLW9mZnNldDogMDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0cmFuc2l0aW9uOiBhbGwgMjAwbXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxRDQxOEU7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgbWFyZ2luOiAwIGF1dG87XG59XG5AbWVkaWEgKGhvdmVyOiBob3ZlcikgYW5kIChwb2ludGVyOiBmaW5lKSB7XG4gICNtZW1iZXJzaGlwIC5idXR0b25Ib2xkZXIgYnV0dG9uOmhvdmVyIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDMpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkVEMzRDO1xuICAgIGNvbG9yOiBibGFjaztcbiAgICBib3JkZXItY29sb3I6ICNmZWM3MTk7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG59XG5bZGF0YS1icm93c2VyPWllXSAjbWVtYmVyc2hpcCAuYnV0dG9uSG9sZGVyIGJ1dHRvbjpob3ZlciB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS4wMyk7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZFRDM0QztcbiAgY29sb3I6IGJsYWNrO1xuICBib3JkZXItY29sb3I6ICNmZWM3MTk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5pZSAjbWVtYmVyc2hpcCAuYnV0dG9uSG9sZGVyIGJ1dHRvbjpob3ZlciB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS4wMyk7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZFRDM0QztcbiAgY29sb3I6IGJsYWNrO1xuICBib3JkZXItY29sb3I6ICNmZWM3MTk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbiNtZW1iZXJzaGlwIC5idXR0b25Ib2xkZXIgYnV0dG9uLmZvY3VzLXZpc2libGUge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuMDMpO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRUQzNEM7XG4gIGNvbG9yOiBibGFjaztcbiAgYm9yZGVyLWNvbG9yOiAjZmVjNzE5O1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4jbWVtYmVyc2hpcCAuYnV0dG9uSG9sZGVyIGJ1dHRvbjpmb2N1cy12aXNpYmxlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjAzKTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkVEMzRDO1xuICBjb2xvcjogYmxhY2s7XG4gIGJvcmRlci1jb2xvcjogI2ZlYzcxOTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuI21lbWJlcnNoaXAgLmJ1dHRvbkhvbGRlciBidXR0b25bZGlzYWJsZWRdLCAjbWVtYmVyc2hpcCAuYnV0dG9uSG9sZGVyIGJ1dHRvblthcmlhLWRpc2FibGVkPXRydWVdIHtcbiAgb3BhY2l0eTogMC41O1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuI21lbWJlcnNoaXAgLnN0eWxlZEZpZWxkc2V0IHtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbn1cbiNtZW1iZXJzaGlwIC5zdHlsZWRGaWVsZHNldCAuZ3JvdXBMZWdlbmQge1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuXG4uc2ltcGxlRGlhbG9nIC5jbG9zZURpYWxvZyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwYWRkaW5nOiAwLjdlbSAxLjVlbTtcbiAgYm9yZGVyLXdpZHRoOiAwO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItY29sb3I6ICMxNDJlNjQ7XG4gIGxpbmUtaGVpZ2h0OiAxLjFlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBmb250LWZhbWlseTogXCJOb2FoIEhlYWRcIiwgXCJIZWx2ZXRpY2FOZXVlXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgXCJIZWx2ZXRpY2FcIiwgXCJBcmlhbFwiLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogOTAwO1xuICBvdXRsaW5lLW9mZnNldDogMDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0cmFuc2l0aW9uOiBhbGwgMjAwbXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxRDQxOEU7XG4gIGNvbG9yOiB3aGl0ZTtcbn1cbkBtZWRpYSAoaG92ZXI6IGhvdmVyKSBhbmQgKHBvaW50ZXI6IGZpbmUpIHtcbiAgLnNpbXBsZURpYWxvZyAuY2xvc2VEaWFsb2c6aG92ZXIge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wMyk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRUQzNEM7XG4gICAgY29sb3I6IGJsYWNrO1xuICAgIGJvcmRlci1jb2xvcjogI2ZlYzcxOTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cbn1cbltkYXRhLWJyb3dzZXI9aWVdIC5zaW1wbGVEaWFsb2cgLmNsb3NlRGlhbG9nOmhvdmVyIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjAzKTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkVEMzRDO1xuICBjb2xvcjogYmxhY2s7XG4gIGJvcmRlci1jb2xvcjogI2ZlYzcxOTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLmllIC5zaW1wbGVEaWFsb2cgLmNsb3NlRGlhbG9nOmhvdmVyIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjAzKTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkVEMzRDO1xuICBjb2xvcjogYmxhY2s7XG4gIGJvcmRlci1jb2xvcjogI2ZlYzcxOTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLnNpbXBsZURpYWxvZyAuY2xvc2VEaWFsb2cuZm9jdXMtdmlzaWJsZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS4wMyk7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZFRDM0QztcbiAgY29sb3I6IGJsYWNrO1xuICBib3JkZXItY29sb3I6ICNmZWM3MTk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5zaW1wbGVEaWFsb2cgLmNsb3NlRGlhbG9nOmZvY3VzLXZpc2libGUge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuMDMpO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRUQzNEM7XG4gIGNvbG9yOiBibGFjaztcbiAgYm9yZGVyLWNvbG9yOiAjZmVjNzE5O1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4uc2ltcGxlRGlhbG9nIC5jbG9zZURpYWxvZ1tkaXNhYmxlZF0sIC5zaW1wbGVEaWFsb2cgLmNsb3NlRGlhbG9nW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0ge1xuICBvcGFjaXR5OiAwLjU7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG4uc2ltcGxlRGlhbG9nIC5jbG9zZURpYWxvZyAuaWNvbiB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbiNyZXNldERhdGEgYnV0dG9uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBhZGRpbmc6IDAuN2VtIDEuNWVtO1xuICBib3JkZXItd2lkdGg6IDA7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1jb2xvcjogIzE0MmU2NDtcbiAgbGluZS1oZWlnaHQ6IDEuMWVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGZvbnQtZmFtaWx5OiBcIk5vYWggSGVhZFwiLCBcIkhlbHZldGljYU5ldWVcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIkhlbHZldGljYVwiLCBcIkFyaWFsXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiA5MDA7XG4gIG91dGxpbmUtb2Zmc2V0OiAwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRyYW5zaXRpb246IGFsbCAyMDBtcztcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFENDE4RTtcbiAgY29sb3I6IHdoaXRlO1xufVxuQG1lZGlhIChob3ZlcjogaG92ZXIpIGFuZCAocG9pbnRlcjogZmluZSkge1xuICAjcmVzZXREYXRhIGJ1dHRvbjpob3ZlciB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjAzKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZFRDM0QztcbiAgICBjb2xvcjogYmxhY2s7XG4gICAgYm9yZGVyLWNvbG9yOiAjZmVjNzE5O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxufVxuW2RhdGEtYnJvd3Nlcj1pZV0gI3Jlc2V0RGF0YSBidXR0b246aG92ZXIge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuMDMpO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRUQzNEM7XG4gIGNvbG9yOiBibGFjaztcbiAgYm9yZGVyLWNvbG9yOiAjZmVjNzE5O1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4uaWUgI3Jlc2V0RGF0YSBidXR0b246aG92ZXIge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuMDMpO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRUQzNEM7XG4gIGNvbG9yOiBibGFjaztcbiAgYm9yZGVyLWNvbG9yOiAjZmVjNzE5O1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4jcmVzZXREYXRhIGJ1dHRvbi5mb2N1cy12aXNpYmxlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjAzKTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkVEMzRDO1xuICBjb2xvcjogYmxhY2s7XG4gIGJvcmRlci1jb2xvcjogI2ZlYzcxOTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuI3Jlc2V0RGF0YSBidXR0b246Zm9jdXMtdmlzaWJsZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS4wMyk7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZFRDM0QztcbiAgY29sb3I6IGJsYWNrO1xuICBib3JkZXItY29sb3I6ICNmZWM3MTk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbiNyZXNldERhdGEgYnV0dG9uW2Rpc2FibGVkXSwgI3Jlc2V0RGF0YSBidXR0b25bYXJpYS1kaXNhYmxlZD10cnVlXSB7XG4gIG9wYWNpdHk6IDAuNTtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDEwNTBweCkge1xuICAjbWVtYmVyc2hpcCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDQwcHgpO1xuICAgIG1pbi1oZWlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLXRvcDogMTVweDtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDgwMHB4KSB7XG4gIC5ndWVzdExvZ2luTWV0aG9kcyAuc29jaWFsTWVkaWFMb2dpbnMge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcbiAgICBnYXA6IDhweDtcbiAgfVxuICBoZWFkZXIge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuICBoZWFkZXIgLmJyYW5kaW5nIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB9XG4gIGhlYWRlciAuYnJhbmRpbmcgLmxvZ29XcmFwIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDI4MHB4O1xuICAgIGZsZXg6IGF1dG87XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgfVxuICBoZWFkZXIgLmJyYW5kaW5nIC5vcmllbnRhdGlvblRpdGxlIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbiAgI21lbWJlcnNoaXAgLmZvcm1XcmFwLmxvZ2luIC5sb2dpbldyYXBwZXIge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAxNXB4O1xuICB9XG4gICNtZW1iZXJzaGlwIC5mb3JtV3JhcC5sb2dpbiAubmV3QWNjb3VudFdyYXBwZXIge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG1hcmdpbjogYXV0bztcbiAgfVxuICAjbWVtYmVyc2hpcCAuZm9ybVdyYXAubG9naW4gLnJldHVybmluZ1dyYXBwZXIge1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG4gICNtZW1iZXJzaGlwIC5mb3JtV3JhcC5sYW5kaW5nUGFnZSAuYnV0dG9ucyBhIHtcbiAgICBmbGV4LWdyb3c6IDE7XG4gIH1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA2NTBweCkge1xuICAjbWVtYmVyc2hpcCAuZm9ybVdyYXAge1xuICAgIHBhZGRpbmc6IDI1cHg7XG4gIH1cbiAgI21lbWJlcnNoaXAgLmZvcm1XcmFwLmxvZ2luIC5uZXdBY2NvdW50V3JhcHBlciB7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbiAgI21lbWJlcnNoaXAgLmZvcm1XcmFwLmxhbmRpbmdQYWdlIC5idXR0b25zIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB9XG4gICNtZW1iZXJzaGlwIC5mb3JtV3JhcC5sYW5kaW5nUGFnZSAuYnV0dG9ucyBhIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAjbWVtYmVyc2hpcCAuZm9ybVdyYXAubGFuZGluZ1BhZ2UgLmJ1dHRvbnMgYTpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgfVxuICAjcmVzZXREYXRhIGJ1dHRvbiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogNTIwcHgpIHtcbiAgLmd1ZXN0TG9naW5NZXRob2RzIC5zb2NpYWxNZWRpYUxvZ2lucyB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgZ2FwOiA4cHg7XG4gIH1cbiAgI21lbWJlcnNoaXAgLnRpdGxlQXJlYS5hY2NvdW50UHJvZmlsZXIge1xuICAgIGZvbnQtc2l6ZTogMS4xMjVlbTtcbiAgfVxuICBoZWFkZXIgLm9yaWVudGF0aW9uVGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMS44ZW07XG4gIH1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA0NTBweCkge1xuICAjbWVtYmVyc2hpcCAuZm9ybVdyYXAge1xuICAgIHBhZGRpbmc6IDE2cHg7XG4gIH1cbiAgI21lbWJlcnNoaXAgLmZvcm1XcmFwLmxhbmRpbmdQYWdlIHtcbiAgICBwYWRkaW5nOiAyMHB4O1xuICB9XG59XG4ucnRlIGg0LFxuLnJ0ZSBoNSB7XG4gIG1hcmdpbjogMC44ZW0gMCAwLjVlbTtcbn1cbi5ydGUgPiAqOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xufVxuLnJ0ZSA+ICo6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbn1cblxuLnJ0ZSBpZnJhbWUge1xuICBtYXgtd2lkdGg6IGNhbGMoMTAwdncgLSA4MHB4KTtcbiAgbWF4LWhlaWdodDogY2FsYygoMTAwdncgLSA4MHB4KSAvIDEuNzc3OCk7IC8qIDE2OjkgKi9cbn1cbi5ydGUgaW1nIHtcbiAgbWFyZ2luOiAxMHB4O1xufVxuLnJ0ZSBpbWdbc3R5bGUqPVwiZmxvYXQ6IHJpZ2h0XCJdIHtcbiAgbWFyZ2luOiAwIDAgMjBweCAyMHB4O1xufVxuLnJ0ZSBpbWdbc3R5bGUqPVwiZmxvYXQ6IGxlZnRcIl0ge1xuICBtYXJnaW46IDAgMjBweCAyMHB4IDBweDtcbn1cbi5ydGUgaW1nW3N0eWxlKj1cImZsb2F0OiByaWdodFwiXSwgLnJ0ZSBpbWdbc3R5bGUqPVwiZmxvYXQ6IGxlZnRcIl0ge1xuICBtYXgtd2lkdGg6IDYwJTtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA2NTBweCkge1xuICAucnRlIGltZ1tzdHlsZSo9XCJmbG9hdDogcmlnaHRcIl0sIC5ydGUgaW1nW3N0eWxlKj1cImZsb2F0OiBsZWZ0XCJdIHtcbiAgICBtYXgtd2lkdGg6IDUwJTtcbiAgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDUyMHB4KSB7XG4gIC5ydGUgaW1nW3N0eWxlKj1cImZsb2F0OiByaWdodFwiXSwgLnJ0ZSBpbWdbc3R5bGUqPVwiZmxvYXQ6IGxlZnRcIl0ge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBmbG9hdDogbm9uZSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbjogMCBhdXRvIDhweDtcbiAgfVxufVxuLnJ0ZSBmaWd1cmU6bm90KC50ZXJtQmJsKSB7XG4gIG1hcmdpbjogMjBweCAwcHg7XG4gIGJvcmRlci1yYWRpdXM6IGNhbGMoMCArIDVweCAtIDBweCk7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNhOWE5YWQ7XG4gIHBhZGRpbmc6IDVweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuLnJ0ZSBmaWd1cmU6bm90KC50ZXJtQmJsKSBpbWcge1xuICBmbG9hdDogbm9uZSAhaW1wb3J0YW50O1xuICBtYXJnaW46IDBweCAhaW1wb3J0YW50O1xuICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgYm9yZGVyLXJhZGl1czogMCAwIDBweCAwcHg7XG59XG4ucnRlIGZpZ3VyZTpub3QoLnRlcm1CYmwpW3N0eWxlKj1cInRleHQtYWxpZ246IHJpZ2h0XCJdIHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBtYXJnaW46IDAgMCAyMHB4IDIwcHg7XG59XG4ucnRlIGZpZ3VyZTpub3QoLnRlcm1CYmwpW3N0eWxlKj1cInRleHQtYWxpZ246IGxlZnRcIl0ge1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luOiAwIDIwcHggMjBweCAwcHg7XG59XG4ucnRlIGZpZ3VyZTpub3QoLnRlcm1CYmwpW3N0eWxlKj1cInRleHQtYWxpZ246IGxlZnRcIl0sIC5ydGUgZmlndXJlOm5vdCgudGVybUJibClbc3R5bGUqPVwidGV4dC1hbGlnbjogcmlnaHRcIl0ge1xuICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7XG4gIG1heC13aWR0aDogNjAlO1xufVxuQG1lZGlhIChtYXgtd2lkdGg6IDY1MHB4KSB7XG4gIC5ydGUgZmlndXJlOm5vdCgudGVybUJibClbc3R5bGUqPVwidGV4dC1hbGlnbjogbGVmdFwiXSwgLnJ0ZSBmaWd1cmU6bm90KC50ZXJtQmJsKVtzdHlsZSo9XCJ0ZXh0LWFsaWduOiByaWdodFwiXSB7XG4gICAgbWF4LXdpZHRoOiA1MCU7XG4gIH1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA1MjBweCkge1xuICAucnRlIGZpZ3VyZTpub3QoLnRlcm1CYmwpW3N0eWxlKj1cInRleHQtYWxpZ246IGxlZnRcIl0sIC5ydGUgZmlndXJlOm5vdCgudGVybUJibClbc3R5bGUqPVwidGV4dC1hbGlnbjogcmlnaHRcIl0ge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBmbG9hdDogbm9uZSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbjogMCBhdXRvIDhweDtcbiAgfVxufVxuLnJ0ZSBmaWd1cmU6bm90KC50ZXJtQmJsKSBmaWdjYXB0aW9uIHtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgcGFkZGluZzogMTBweDtcbiAgYm9yZGVyLXJhZGl1czogMHB4IDBweCAwIDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlYmViZWM7XG4gIGNvbG9yOiBibGFjaztcbiAgZm9udC1zaXplOiAwLjllbTtcbn1cbi5ydGUgcCB7XG4gIGZvbnQtZmFtaWx5OiBcIk5vYWggVGV4dFwiLCBcIkhlbHZldGljYU5ldWVcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIkhlbHZldGljYVwiLCBcIkFyaWFsXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMS4xZW07XG59XG4ucnRlIGgzLmhlYWRpbmcge1xuICBtYXJnaW46IDAuNzVlbSAwIDAuNGVtO1xuICBmb250LXNpemU6IDIuM2VtO1xuICBmb250LXdlaWdodDogNzAwO1xuICBsZXR0ZXItc3BhY2luZzogMC4wMjVlbTtcbiAgY29sb3I6ICMwMDMyNUQ7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xufVxuLnJ0ZSAuaGVhZGluZ0xpc3QsXG4ucnRlIC5zdWJoZWFkaW5nTGlzdCB7XG4gIG1hcmdpbjogMC44NWVtIDAgMC40ZW07XG4gIHBhZGRpbmctYm90dG9tOiAwLjI1ZW07XG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjOTNDMkY4O1xuICBmb250LXdlaWdodDogOTAwO1xuICBmb250LWZhbWlseTogXCJOb2FoIEhlYWRcIiwgXCJIZWx2ZXRpY2FOZXVlXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgXCJIZWx2ZXRpY2FcIiwgXCJBcmlhbFwiLCBzYW5zLXNlcmlmO1xuICBsZXR0ZXItc3BhY2luZzogMC4wMjVlbTtcbn1cbi5ydGUgaDMuaGVhZGluZ0xpc3Qge1xuICBmb250LXNpemU6IDEuNWVtO1xuICBjb2xvcjogIzAwMzI1RDtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG59XG4ucnRlIGg0LnN1YmhlYWRpbmdMaXN0IHtcbiAgZm9udC1zaXplOiAxLjNlbTtcbiAgY29sb3I6ICMxRDQxOEU7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xufVxuLnJ0ZSBoNC5zdWJoZWFkaW5nIHtcbiAgbWFyZ2luOiAwLjc1ZW0gMCAwLjRlbTtcbiAgZm9udC1zaXplOiAxLjc1ZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGxldHRlci1zcGFjaW5nOiAwLjAyZW07XG4gIGNvbG9yOiAjMUQ0MThFO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xufVxuLnJ0ZSAubGFyZ2VUZXh0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW4tdG9wOiAyMHB4O1xuICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAxLjE1ZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjVlbTtcbiAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICBjb2xvcjogIzAwMzI1RDtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG59XG4ucnRlIC5sYXJnZVRleHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIHdpZHRoOiA0cHg7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC9JbWFnZXMvd2lnZ2xlLXZlcnRpY2FsLnBuZyk7XG4gIGJhY2tncm91bmQtc2l6ZTogMTAwJSBhdXRvO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xufVxuLnJ0ZSAuaGlnaGxpZ2h0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ViZWJlYztcbiAgY29sb3I6IGJsYWNrO1xufVxuLnJ0ZSB1bCB7XG4gIHBhZGRpbmc6IDA7XG59XG4ucnRlIHVsID4gbGkge1xuICBtYXJnaW4tbGVmdDogNDBweDtcbiAgbWFyZ2luLWJvdHRvbTogNXB4O1xufVxuLnJ0ZSB1bCA+IGxpOjptYXJrZXIge1xuICBmb250LXNpemU6IDEuMjVlbTtcbiAgY29sb3I6ICMxRDQxOEU7XG59XG4ucnRlIG9sIHtcbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBjb3VudGVyLXJlc2V0OiBjb3VudGVyO1xufVxuLnJ0ZSBvbCA+IGxpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBjb3VudGVyLWluY3JlbWVudDogY291bnRlcjtcbiAgbWFyZ2luLWxlZnQ6IDQwcHg7XG4gIG1hcmdpbi1ib3R0b206IDVweDtcbn1cbi5ydGUgb2wgPiBsaTpiZWZvcmUge1xuICBjb250ZW50OiBjb3VudGVyKGNvdW50ZXIpIFwiLiBcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogY2FsYygxMDAlICsgOHB4KTtcbiAgY29sb3I6ICMxRDQxOEU7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuLnJ0ZSBhIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjb2xvcjogIzFENDE4RTtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjOTNDMkY4O1xufVxuQG1lZGlhIChob3ZlcjogaG92ZXIpIGFuZCAocG9pbnRlcjogZmluZSkge1xuICAucnRlIGE6aG92ZXIge1xuICAgIGNvbG9yOiAjOTAxYTlkO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICM5MDFhOWQ7XG4gIH1cbn1cbltkYXRhLWJyb3dzZXI9aWVdIC5ydGUgYTpob3ZlciB7XG4gIGNvbG9yOiAjOTAxYTlkO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogIzkwMWE5ZDtcbn1cbi5pZSAucnRlIGE6aG92ZXIge1xuICBjb2xvcjogIzkwMWE5ZDtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6ICM5MDFhOWQ7XG59XG4ucnRlIGEuZm9jdXMtdmlzaWJsZSB7XG4gIGNvbG9yOiAjOTAxYTlkO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogIzkwMWE5ZDtcbn1cbi5ydGUgYTpmb2N1cy12aXNpYmxlIHtcbiAgY29sb3I6ICM5MDFhOWQ7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBib3JkZXItYm90dG9tLWNvbG9yOiAjOTAxYTlkO1xufVxuLnJ0ZSAudGFibGVXcmFwcGVyIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAjZmZmIDMwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKSksIGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKSwgI2ZmZiA3MCUpIDAgMTAwJSwgcmFkaWFsLWdyYWRpZW50KGZhcnRoZXN0LXNpZGUgYXQgMCUgNTAlLCByZ2JhKDAsIDAsIDAsIDAuMiksIHJnYmEoMCwgMCwgMCwgMCkpLCByYWRpYWwtZ3JhZGllbnQoZmFydGhlc3Qtc2lkZSBhdCAxMDAlIDUwJSwgcmdiYSgwLCAwLCAwLCAwLjIpLCByZ2JhKDAsIDAsIDAsIDApKSAwIDEwMCU7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtc2l6ZTogNDBweCAxMDAlLCA0MHB4IDEwMCUsIDE0cHggMTAwJSwgMTRweCAxMDAlO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDAsIDEwMCUsIDAgMCwgMTAwJTtcbiAgYmFja2dyb3VuZC1hdHRhY2htZW50OiBsb2NhbCwgbG9jYWwsIHNjcm9sbCwgc2Nyb2xsO1xufVxuLnJ0ZSAudGFibGVXcmFwcGVyIHRhYmxlIHtcbiAgbWluLXdpZHRoOiA1MDBweDtcbiAgbWFyZ2luLWJvdHRvbTogNXB4O1xufVxuLnJ0ZSAudGFibGVXcmFwcGVyIHRhYmxlIGNhcHRpb24ge1xuICBwYWRkaW5nOiA0cHg7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICM5M0MyRjg7XG4gIGNvbG9yOiBibGFjaztcbn1cbi5ydGUgLnRhYmxlV3JhcHBlciB0YWJsZSB0cjpudGgtY2hpbGQoZXZlbikge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI5LCA2NSwgMTQyLCAwLjE3KTtcbn1cbi5ydGUgLnRhYmxlV3JhcHBlciB0YWJsZSB0cjpudGgtY2hpbGQob2RkKSB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjksIDY1LCAxNDIsIDAuMDYpO1xufVxuLnJ0ZSAudGFibGVXcmFwcGVyIHRhYmxlIHRoIHtcbiAgcGFkZGluZzogM3B4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMUQ0MThFO1xuICBjb2xvcjogd2hpdGU7XG4gIGJvcmRlci1jb2xvcjogYmxhY2s7XG59XG4ucnRlIC50YWJsZVdyYXBwZXIgdGFibGUgdGQge1xuICBwYWRkaW5nOiAzcHg7XG4gIGZvbnQtc2l6ZTogMC45NWVtO1xufVxuLnJ0ZSAudGFibGVXcmFwcGVyIHRhYmxlIGEge1xuICBiYWNrZ3JvdW5kOiBub25lO1xufVxuLnJ0ZSAudGFibGVXcmFwcGVyIC5tb2JpbGVTY3JvbGxNZXNzYWdlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBub25lO1xuICBtYXJnaW4tdG9wOiA4cHg7XG4gIHBhZGRpbmc6IDVweCA4cHg7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICM5M0MyRjg7XG4gIGNvbG9yOiBibGFjaztcbn1cbi5ydGUgLnRhYmxlV3JhcHBlciAubW9iaWxlU2Nyb2xsTWVzc2FnZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMTAwJTtcbiAgbGVmdDogOHB4O1xuICB3aWR0aDogMHB4O1xuICBoZWlnaHQ6IDBweDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXdpZHRoOiAwIDZweCA4cHggNXB4O1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICM5M0MyRjggdHJhbnNwYXJlbnQ7XG59XG4ucnRlLmNhbGxvdXRTdWJ0bGUge1xuICBtYXJnaW46IDAuNzVlbSAwIDAuOWVtO1xuICBwYWRkaW5nOiAxMHB4IDE1cHg7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlYmViZWM7XG4gIGNvbG9yOiBibGFjaztcbn1cbi5ydGUuY2FsbG91dFN1YnRsZSBhIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ViZWJlYztcbiAgY29sb3I6IGJsYWNrO1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgYmxhY2s7XG59XG5AbWVkaWEgKGhvdmVyOiBob3ZlcikgYW5kIChwb2ludGVyOiBmaW5lKSB7XG4gIC5ydGUuY2FsbG91dFN1YnRsZSBhOmhvdmVyIHtcbiAgICBjb2xvcjogIzNmM2YzZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjM2YzZjNmO1xuICB9XG59XG5bZGF0YS1icm93c2VyPWllXSAucnRlLmNhbGxvdXRTdWJ0bGUgYTpob3ZlciB7XG4gIGNvbG9yOiAjM2YzZjNmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogIzNmM2YzZjtcbn1cbi5pZSAucnRlLmNhbGxvdXRTdWJ0bGUgYTpob3ZlciB7XG4gIGNvbG9yOiAjM2YzZjNmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogIzNmM2YzZjtcbn1cbi5ydGUuY2FsbG91dFN1YnRsZSBhLmZvY3VzLXZpc2libGUge1xuICBjb2xvcjogIzNmM2YzZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6ICMzZjNmM2Y7XG59XG4ucnRlLmNhbGxvdXRTdWJ0bGUgYTpmb2N1cy12aXNpYmxlIHtcbiAgY29sb3I6ICMzZjNmM2Y7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBib3JkZXItYm90dG9tLWNvbG9yOiAjM2YzZjNmO1xufVxuLnJ0ZS5jYWxsb3V0U3VidGxlID4gKjpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbn1cbi5ydGUuY2FsbG91dFN1YnRsZSA+ICo6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbn1cbi5ydGUuY2FsbG91dEJvbGQge1xuICBtYXJnaW46IDAuNzVlbSAwIDAuOWVtO1xuICBwYWRkaW5nOiAxMHB4IDE1cHg7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICM5M0MyRjg7XG4gIGNvbG9yOiBibGFjaztcbn1cbi5ydGUuY2FsbG91dEJvbGQgYSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM5M0MyRjg7XG4gIGNvbG9yOiBibGFjaztcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIGJsYWNrO1xufVxuQG1lZGlhIChob3ZlcjogaG92ZXIpIGFuZCAocG9pbnRlcjogZmluZSkge1xuICAucnRlLmNhbGxvdXRCb2xkIGE6aG92ZXIge1xuICAgIGNvbG9yOiAjM2YzZjNmO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICMzZjNmM2Y7XG4gIH1cbn1cbltkYXRhLWJyb3dzZXI9aWVdIC5ydGUuY2FsbG91dEJvbGQgYTpob3ZlciB7XG4gIGNvbG9yOiAjM2YzZjNmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogIzNmM2YzZjtcbn1cbi5pZSAucnRlLmNhbGxvdXRCb2xkIGE6aG92ZXIge1xuICBjb2xvcjogIzNmM2YzZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6ICMzZjNmM2Y7XG59XG4ucnRlLmNhbGxvdXRCb2xkIGEuZm9jdXMtdmlzaWJsZSB7XG4gIGNvbG9yOiAjM2YzZjNmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogIzNmM2YzZjtcbn1cbi5ydGUuY2FsbG91dEJvbGQgYTpmb2N1cy12aXNpYmxlIHtcbiAgY29sb3I6ICMzZjNmM2Y7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBib3JkZXItYm90dG9tLWNvbG9yOiAjM2YzZjNmO1xufVxuLnJ0ZS5jYWxsb3V0Qm9sZCA+ICo6Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG59XG4ucnRlLmNhbGxvdXRCb2xkID4gKjpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogODAwcHgpIHtcbiAgLnJ0ZSAubGFyZ2VUZXh0IHtcbiAgICBtYXJnaW4tbGVmdDogMjBweDtcbiAgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDY1MHB4KSB7XG4gIC5ydGUgLnRhYmxlV3JhcHBlciAubW9iaWxlU2Nyb2xsTWVzc2FnZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG59XG4jbWVtYmVyc2hpcCAuZm9ybVdyYXAubWFpbnRlbmFuY2Uge1xuICBiYWNrZ3JvdW5kOiAjMUQ0MThFO1xuICBib3JkZXItY29sb3I6ICNmZmY7XG59XG4jbWVtYmVyc2hpcCAuZm9ybVdyYXAubWFpbnRlbmFuY2UgLmZvcm1BcmVhIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cbiNtZW1iZXJzaGlwIC5mb3JtV3JhcC5tYWludGVuYW5jZSAuZm9ybUFyZWEgLnJ0ZSB7XG4gIGNvbG9yOiAjZmZmO1xuICBwYWRkaW5nLXJpZ2h0OiAyNXB4O1xufVxuI21lbWJlcnNoaXAgLmZvcm1XcmFwLm1haW50ZW5hbmNlIC5mb3JtQXJlYSAuaWNvbiB7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBmbGV4LWdyb3c6IDA7XG4gIHdpZHRoOiAzNTBweDtcbiAgaGVpZ2h0OiAzNTBweDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZvbnQtc2l6ZTogMTZlbTtcbiAgYm9yZGVyLWxlZnQ6IDJweCBzb2xpZCAjNjU4Y2RmO1xuICBjb2xvcjogI2ZmZjtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDgwMHB4KSB7XG4gICNtZW1iZXJzaGlwIC5mb3JtV3JhcC5tYWludGVuYW5jZSAuZm9ybUFyZWEgLmljb24ge1xuICAgIHdpZHRoOiAzMCU7XG4gICAgaGVpZ2h0OiAxNTBweDtcbiAgICBmb250LXNpemU6IDZlbTtcbiAgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDY1MHB4KSB7XG4gICNtZW1iZXJzaGlwIC5mb3JtV3JhcC5tYWludGVuYW5jZSAuZm9ybUFyZWEge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgfVxuICAjbWVtYmVyc2hpcCAuZm9ybVdyYXAubWFpbnRlbmFuY2UgLmZvcm1BcmVhIC5pY29uIHtcbiAgICB3aWR0aDogNzVweDtcbiAgICBoZWlnaHQ6IDc1cHg7XG4gICAgZm9udC1zaXplOiAzZW07XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjNjU4Y2RmO1xuICB9XG59XG4ubWVtYmVyc2hpcFBhZ2UgLmVycm9yUGFnZSAuZXJyb3JXcmFwIHtcbiAgYmFja2dyb3VuZDogIzFENDE4RTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcbiAgY29sb3I6ICNmZmY7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG4gIHBhZGRpbmc6IDMwcHg7XG59XG4ubWVtYmVyc2hpcFBhZ2UgLmVycm9yUGFnZSAuaWNvbiB7XG4gIHBhZGRpbmc6IDMwcHg7XG4gIGZvbnQtc2l6ZTogOGVtO1xuICBib3JkZXItbGVmdDogMnB4IHNvbGlkIHJnYigxNjcsIDE5NiwgMjIxKTtcbiAgd2lkdGg6IDUwJTtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG4ubWVtYmVyc2hpcFBhZ2UgLmVycm9yUGFnZSAucnRlIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwYWRkaW5nOiA0MHB4IDMwcHggMjBweCAzMHB4O1xuICB3aWR0aDogNTAlO1xufVxuLm1lbWJlcnNoaXBQYWdlIC5lcnJvclBhZ2UgLnJ0ZSBoMy5oZWFkaW5nIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA4MDBweCkge1xuICAubWVtYmVyc2hpcFBhZ2UgLmVycm9yUGFnZSAuaWNvbiB7XG4gICAgZm9udC1zaXplOiA2ZW07XG4gIH1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA2NTBweCkge1xuICAubWVtYmVyc2hpcFBhZ2UgLmVycm9yUGFnZSAuZXJyb3JXcmFwIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIHBhZGRpbmc6IDAgMzBweDtcbiAgfVxuICAubWVtYmVyc2hpcFBhZ2UgLmVycm9yUGFnZSAuaWNvbiB7XG4gICAgZm9udC1zaXplOiA1ZW07XG4gICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDE1cHg7XG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIHJnYigxNjcsIDE5NiwgMjIxKTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbiAgLm1lbWJlcnNoaXBQYWdlIC5lcnJvclBhZ2UgLnJ0ZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMTVweCAwO1xuICB9XG59XG5kZXRhaWxzIHtcbiAgdHJhbnNpdGlvbjogYWxsIDUwMG1zO1xufVxuXG5kZXRhaWxzID4gc3VtbWFyeTo6bWFya2VyLFxuZGV0YWlscyA+IHN1bW1hcnk6Oi13ZWJraXQtZGV0YWlscy1tYXJrZXIge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uYWNjb3JkaW9uTW9kdWxlIC5hY2NvcmRpb25UaXRsZSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLmFjY29yZGlvbk1vZHVsZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiAxMHB4IDA7XG59XG4uYWNjb3JkaW9uTW9kdWxlW29wZW5dID4gLmFjY29yZGlvblRpdGxlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFENDE4RTtcbiAgY29sb3I6IHdoaXRlO1xufVxuLmFjY29yZGlvbk1vZHVsZVtvcGVuXSA+IC5hY2NvcmRpb25UaXRsZSAuaWNvbiB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSByb3RhdGUoMTgwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xufVxuLmFjY29yZGlvbk1vZHVsZVtvcGVuXSA+IC5hY2NvcmRpb25UaXRsZSAuaWNvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIl5cIjtcbn1cbi5hY2NvcmRpb25Nb2R1bGUgLmFjY29yZGlvblRpdGxlIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAzMjVEO1xuICBjb2xvcjogd2hpdGU7XG4gIHBhZGRpbmc6IDIwcHggMjBweCAyMHB4IDQwcHg7XG4gIHRyYW5zaXRpb246IGFsbCAzMDBtcztcbn1cbkBtZWRpYSAoaG92ZXI6IGhvdmVyKSBhbmQgKHBvaW50ZXI6IGZpbmUpIHtcbiAgLmFjY29yZGlvbk1vZHVsZSAuYWNjb3JkaW9uVGl0bGU6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMxRDQxOEU7XG4gICAgY29sb3I6IHdoaXRlO1xuICB9XG4gIC5hY2NvcmRpb25Nb2R1bGUgLmFjY29yZGlvblRpdGxlOmhvdmVyIC5pY29uIHtcbiAgICBjb2xvcjogd2hpdGU7XG4gIH1cbn1cbltkYXRhLWJyb3dzZXI9aWVdIC5hY2NvcmRpb25Nb2R1bGUgLmFjY29yZGlvblRpdGxlOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFENDE4RTtcbiAgY29sb3I6IHdoaXRlO1xufVxuW2RhdGEtYnJvd3Nlcj1pZV0gLmFjY29yZGlvbk1vZHVsZSAuYWNjb3JkaW9uVGl0bGU6aG92ZXIgLmljb24ge1xuICBjb2xvcjogd2hpdGU7XG59XG4uaWUgLmFjY29yZGlvbk1vZHVsZSAuYWNjb3JkaW9uVGl0bGU6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMUQ0MThFO1xuICBjb2xvcjogd2hpdGU7XG59XG4uaWUgLmFjY29yZGlvbk1vZHVsZSAuYWNjb3JkaW9uVGl0bGU6aG92ZXIgLmljb24ge1xuICBjb2xvcjogd2hpdGU7XG59XG4uYWNjb3JkaW9uTW9kdWxlIC5hY2NvcmRpb25UaXRsZS5mb2N1cy12aXNpYmxlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFENDE4RTtcbiAgY29sb3I6IHdoaXRlO1xufVxuLmFjY29yZGlvbk1vZHVsZSAuYWNjb3JkaW9uVGl0bGUuZm9jdXMtdmlzaWJsZSAuaWNvbiB7XG4gIGNvbG9yOiB3aGl0ZTtcbn1cbi5hY2NvcmRpb25Nb2R1bGUgLmFjY29yZGlvblRpdGxlOmZvY3VzLXZpc2libGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMUQ0MThFO1xuICBjb2xvcjogd2hpdGU7XG59XG4uYWNjb3JkaW9uTW9kdWxlIC5hY2NvcmRpb25UaXRsZTpmb2N1cy12aXNpYmxlIC5pY29uIHtcbiAgY29sb3I6IHdoaXRlO1xufVxuLmFjY29yZGlvbk1vZHVsZSAuYWNjb3JkaW9uVGl0bGUgLmljb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiAxOHB4O1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwKSB0cmFuc2xhdGVZKC01MCUpO1xuICB0cmFuc2l0aW9uOiAwLjJzIHRyYW5zZm9ybTtcbn1cbi5hY2NvcmRpb25Nb2R1bGUgLmFjY29yZGlvblRpdGxlIC5pY29uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiQFwiO1xuICBmb250LWZhbWlseTogXCJzcGVsbWFuXCI7XG59XG4uYWNjb3JkaW9uTW9kdWxlIC5hY2NvcmRpb25UaXRsZSAudGV4dCB7XG4gIGZvbnQtc2l6ZTogMS4xZW07XG4gIHdpZHRoOiBmaXQtY29udGVudDtcbn1cbi5hY2NvcmRpb25Nb2R1bGUgLmFjY29yZGlvbldyYXBwZXIge1xuICBib3JkZXItdG9wOiA4cHggc29saWQgI0ZFRDM0QztcbiAgcGFkZGluZzogMTVweCA4cHggMTBweDtcbiAgYm9yZGVyLXJhZGl1czogMHB4IDBweCAwIDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGNvbG9yOiBibGFjaztcbn1cbi5hY2NvcmRpb25Nb2R1bGUgLmFjY29yZGlvbldyYXBwZXIgaW1nIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbn1cbi5hY2NvcmRpb25Nb2R1bGUgLmFjY29yZGlvbldyYXBwZXIgaDMuaGVhZGluZyB7XG4gIGZvbnQtc2l6ZTogMS44ZW07XG59XG4uYWNjb3JkaW9uTW9kdWxlIC5hY2NvcmRpb25XcmFwcGVyIGgzLmhlYWRpbmdMaXN0IHtcbiAgZm9udC1zaXplOiAxLjRlbTtcbn1cbi5hY2NvcmRpb25Nb2R1bGUgLmFjY29yZGlvbldyYXBwZXIgaDQuc3ViaGVhZGluZ0xpc3Qge1xuICBmb250LXNpemU6IDEuMmVtO1xufVxuLmFjY29yZGlvbk1vZHVsZSAuYWNjb3JkaW9uV3JhcHBlciBoMy5zdWJoZWFkaW5nIHtcbiAgZm9udC1zaXplOiAxLjVlbTtcbn1cbi5hY2NvcmRpb25Nb2R1bGUgKyAucnRlIHtcbiAgbWFyZ2luLXRvcDogMjVweDtcbn0iLCJAdXNlIFwic2FzczptZXRhXCI7XHJcbkB1c2UgXCJzYXNzOm1hdGhcIjtcclxuXHJcbi8qLS0tVEVYVCBBTkQgRk9OVC0tLSovXHJcblxyXG4vLy8gQ3JlYXRlIGEgdGV4dC1zaGFkb3cgd2l0aCBjbGVhcmVyIHByb3BlcnRpZXMuXHJcbi8vLyBAcGFyYW0geyp9ICR4IFswcHhdXHJcbi8vLyBAcGFyYW0geyp9ICR5IFsxcHhdXHJcbi8vLyBAcGFyYW0geyp9ICRibHVyIFswcHhdXHJcbi8vLyBAcGFyYW0geyp9ICRjb2xvciBbcmdiYSgwLCAwLCAwLCAwLjc1KV1cclxuQG1peGluIHRleHRTaGFkb3coJHg6IDBweCwgJHk6IDFweCwgJGJsdXI6IDBweCwgJGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNzUpKSB7XHJcbiAgdGV4dC1zaGFkb3c6ICR4ICR5ICRibHVyICRjb2xvcjtcclxufVxyXG5cclxuLy8vIFNldCBpY29uIGZvbnQgYW5kIG5vcm1hbGl6ZSBhbGwgcHJvcGVydGllcy5cclxuLy8vIEBwYXJhbSB7Kn0gJGZvbnQgWyRpY29uRm9udF1cclxuQG1peGluIGljb25Gb250KCRmb250OiAkaWNvbkZvbnQpIHtcclxuICBmb250LWZhbWlseTogJGZvbnQgIWltcG9ydGFudDtcclxuICBmb250LXN0eWxlOiBub3JtYWwgIWltcG9ydGFudDtcclxuICBmb250LXdlaWdodDogbm9ybWFsICFpbXBvcnRhbnQ7XHJcbiAgZm9udC12YXJpYW50OiBub3JtYWwgIWltcG9ydGFudDtcclxuICB0ZXh0LXRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50O1xyXG4gIGxpbmUtaGVpZ2h0OiAxZW07XHJcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XHJcbn1cclxuXHJcbi8qLS0tQkFDS0dST1VORC0tLSovXHJcblxyXG4vLy8gU2V0cyBiYWNrZ3JvdW5kIHRvIGNvdmVyIHdpdGggNTAlIDUwJSBwb3NpdGlvbi5cclxuQG1peGluIGJhY2tncm91bmRDb3ZlciB7XHJcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG4gIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7XHJcbn1cclxuXHJcbi8vLyBTZXRzIGhlaWdodCBhbmQgd2lkdGggdG8gMTAwJS5cclxuQG1peGluIGZpbGxTcGFjZSB7XHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4vLy8gQ3JlYXRlIGEgYm94IHNoYWRvdyB3aXRoIGNsZWFyZXIgcHJvcGVydGllcy5cclxuLy8vIEBwYXJhbSB7Kn0gJHggWzBweF1cclxuLy8vIEBwYXJhbSB7Kn0gJHkgWzBweF1cclxuLy8vIEBwYXJhbSB7Kn0gJGJsdXIgWzJweF1cclxuLy8vIEBwYXJhbSB7Kn0gJHNwcmVhZCBbMnB4XVxyXG4vLy8gQHBhcmFtIHsqfSAkY29sb3IgW3JnYmEoMCwgMCwgMCwgMC4yKV1cclxuQG1peGluIGJveFNoYWRvdygkeDogMHB4LCAkeTogMHB4LCAkYmx1cjogMnB4LCAkc3ByZWFkOiAycHgsICRjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjIpKSB7XHJcbiAgYm94LXNoYWRvdzogJHggJHkgJGJsdXIgJHNwcmVhZCAkY29sb3I7XHJcbn1cclxuXHJcbi8vLyBDcmVhdGUgYSBib3ggc2hhZG93IHdpdGggY2xlYXJlciBwcm9wZXJ0aWVzLlxyXG4vLy8gQHBhcmFtIHsqfSAkeCBbMHB4XVxyXG4vLy8gQHBhcmFtIHsqfSAkeSBbMXB4XVxyXG4vLy8gQHBhcmFtIHsqfSAkYmx1ciBbM3B4XVxyXG4vLy8gQHBhcmFtIHsqfSAkc3ByZWFkIFswcHhdXHJcbi8vLyBAcGFyYW0geyp9ICRjb2xvciBbcmdiYSgwLCAwLCAwLCAwLjIpXVxyXG5AbWl4aW4gc2hhZG93LWluc2V0KCR4OiAwcHgsICR5OiAxcHgsICRibHVyOiAzcHgsICRzcHJlYWQ6IDBweCwgJGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMikpIHtcclxuICBib3gtc2hhZG93OiBpbnNldCAkeCAkeSAkYmx1ciAkc3ByZWFkICRjb2xvcjtcclxufVxyXG5cclxuLyotLS1QT1NJVElPTklORy0tLSovXHJcblxyXG4vLy8gU2V0cyBlbGVtZW50IHRvIHBvc2l0aW9uIGFic29sdXRlIHRvIHdpdGggdG9wOiAwIGFuZCBsZWZ0OiAwO1xyXG5AbWl4aW4gYWJzb2x1dGUge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IDA7XHJcbiAgbGVmdDogMDtcclxufVxyXG5cclxuLy8vIFNldHMgZWxlbWVudCB0byBwb3NpdGlvbiBmaXhlZCB0byB3aXRoIHRvcDogMCBhbmQgbGVmdDogMDtcclxuQG1peGluIGZpeGVkIHtcclxuICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgdG9wOiAwO1xyXG4gIGxlZnQ6IDA7XHJcbn1cclxuXHJcbi8vLyBSZXNldHMgcG9zaXRpb24gcHJvcGVydGllcyAodG9wLCBib3R0b20sIGxlZnQsIHJpZ2h0KS5cclxuLy8vIEBwYXJhbSB7Kn0gJHBvcyBbcmVsYXRpdmVdIC0gU2V0cyB0aGUgcG9zaXRpb24gcHJvcGVydHkuXHJcbkBtaXhpbiByZXNldFBvcygkcG9zOiByZWxhdGl2ZSkge1xyXG4gIHBvc2l0aW9uOiAkcG9zO1xyXG4gIHRvcDogYXV0bztcclxuICBib3R0b206IGF1dG87XHJcbiAgbGVmdDogYXV0bztcclxuICByaWdodDogYXV0bztcclxufVxyXG5cclxuLy8vIFZlcnRpY2FsbHkgY2VudGVycyBhbiBlbGVtZW50IHVzaW5nIHBvc2l0aW9uIGFic29sdXRlIGFuZCB0cmFuc2Zvcm1zLlxyXG4vLy8gQHBhcmFtIHtudW1iZXJ9ICRwZXJjZW50IFs1MCVdIC0gUHJvcGVydHkgdG9wIHBlcmNlbnRhZ2UuXHJcbi8vLyBAcGFyYW0ge251bWJlcn0gJHRyYW5zIFs1MCVdIC0gUHJvcGVydHkgdHJhbnNsYXRlWSBwZXJjZW50YWdlLlxyXG5AbWl4aW4gdmVydENlbnRlcigkcGVyY2VudDogNTAlLCAkdHJhbnM6IDUwJSkge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6ICRwZXJjZW50O1xyXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtJHRyYW5zKTtcclxuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtJHRyYW5zKTtcclxufVxyXG5cclxuLy8vIFZlcnRpY2FsbHkgY2VudGVycyBhbiBlbGVtZW50IHVzaW5nIHBvc2l0aW9uIGFic29sdXRlIGFuZCB0cmFuc2Zvcm1zLlxyXG4vLy8gQHBhcmFtIHtudW1iZXJ9ICRwZXJjZW50IFs1MCVdIC0gUHJvcGVydHkgbGVmdCBwZXJjZW50YWdlLlxyXG4vLy8gQHBhcmFtIHtudW1iZXJ9ICR0cmFucyBbNTAlXSAtIFByb3BlcnR5IHRyYW5zbGF0ZVggcGVyY2VudGFnZS5cclxuQG1peGluIGhvcnpDZW50ZXIoJHBlcmNlbnQ6IDUwJSwgJHRyYW5zOiA1MCUpIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgbGVmdDogJHBlcmNlbnQ7XHJcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0kdHJhbnMpO1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0kdHJhbnMpO1xyXG59XHJcblxyXG5AbWl4aW4gdmVydEhvcnpDZW50ZXIge1xyXG4gIEBpbmNsdWRlIHZlcnRDZW50ZXI7XHJcbiAgQGluY2x1ZGUgaG9yekNlbnRlcjtcclxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxufVxyXG5cclxuLy8vIERvZXMgd2hhdCBpdCBzYXlzIG9uIHRoZSB0aW4uIFNldHMgbWFyZ2luIGFuZCBwYWRkaW5nIHRvIDAuXHJcbkBtaXhpbiB6ZXJvTWFyZ1BhZCB7XHJcbiAgbWFyZ2luOiAwO1xyXG4gIHBhZGRpbmc6IDA7XHJcbn1cclxuXHJcbi8qLS0tQ09OVEVOVC0tLSovXHJcblxyXG4vLy8gVXNlZCBpbnNpZGUgOjpiZWZvcmUgYW5kIDo6YWZ0ZXIgZWxlbWVudHMuIFNldHMgd2lkdGggYW5kIGhlaWdodCB0byAxMDAlLlxyXG5AbWl4aW4gcHNldWRvQ29udGVudCB7XHJcbiAgY29udGVudDogXCJcIjtcclxuICBoZWlnaHQ6IDEwMCU7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbn1cclxuXHJcbi8vLyBDcmVhdGVzIGFuIDo6YWZ0ZXIgZWxlbWVudCB0byBwcmV2ZW50IGZsb2F0IG92ZXJsYXAuXHJcbkBtaXhpbiBjbGVhcmZpeCB7XHJcbiAgJjphZnRlciB7XHJcbiAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBoZWlnaHQ6IDA7XHJcbiAgICBjbGVhcjogYm90aDtcclxuICB9XHJcbn1cclxuXHJcbi8qLS0tTElTVFMtLS0qL1xyXG5cclxuLy8vIFJlbW92ZSBsaXN0IHN0eWxpbmcsIG1hcmdpbiwgYW5kIHBhZGRpbmcuXHJcbkBtaXhpbiByZWZvcm1hdExpc3Qge1xyXG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcclxuICBAaW5jbHVkZSB6ZXJvTWFyZ1BhZDtcclxuXHJcbiAgbGkge1xyXG4gICAgQGluY2x1ZGUgemVyb01hcmdQYWQ7XHJcbiAgfVxyXG59XHJcblxyXG4vKi0tLUJPUkRFUiBBUlJPV1MtLS0qL1xyXG4vLy8gRHJhdyBhbiBhcnJvdyB1c2luZyBjc3MgYm9yZGVyc1xyXG4vLy8gQHBhcmFtIHt2YXJpYWJsZX0gJGRpciBbdG9wLCByaWdodCwgYm90dG9tLCBsZWZ0LCB0b3BSaWdodCwgYm90dG9tUmlnaHQsIHRvcExlZnQsIGJvdHRvbUxlZnRdXHJcbi8vLyBAcGFyYW0ge2NvbG9yfSAkY29sb3IgWyRsaWdodF1cclxuLy8vIEBwYXJhbSB7bnVtYmVyfSAkaGVpZ2h0IFsyMHB4XVxyXG4vLy8gQHBhcmFtIHtudW1iZXJ9ICR3aWR0aCBbMzBweF1cclxuQG1peGluIGNzc0Fycm93KCRkaXIsICRjb2xvcjogJHByaW1hcnksICRoZWlnaHQ6IDIwcHgsICR3aWR0aDogMjBweCkge1xyXG4gIGNvbnRlbnQ6IFwiXCI7XHJcbiAgd2lkdGg6IDA7XHJcbiAgaGVpZ2h0OiAwO1xyXG4gIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICBAaWYgJGRpciA9PSB0b3Age1xyXG4gICAgYm9yZGVyLXdpZHRoOiAwIGNhbGMoI3skd2lkdGh9IC8gMikgJGhlaWdodCBjYWxjKCN7JHdpZHRofSAvIDIpO1xyXG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGNvbG9yO1xyXG4gIH0gQGVsc2UgaWYgJGRpciA9PSByaWdodCB7XHJcbiAgICBib3JkZXItd2lkdGg6IGNhbGMoI3skaGVpZ2h0fSAvIDIpIDAgY2FsYygjeyRoZWlnaHR9IC8gMikgJHdpZHRoO1xyXG4gICAgYm9yZGVyLWxlZnQtY29sb3I6ICRjb2xvcjtcclxuICB9IEBlbHNlIGlmICRkaXIgPT0gYm90dG9tIHtcclxuICAgIGJvcmRlci13aWR0aDogJGhlaWdodCBjYWxjKCN7JHdpZHRofSAvIDIpIDAgY2FsYygjeyR3aWR0aH0gLyAyKTtcclxuICAgIGJvcmRlci10b3AtY29sb3I6ICRjb2xvcjtcclxuICB9IEBlbHNlIGlmICRkaXIgPT0gbGVmdCB7XHJcbiAgICBib3JkZXItd2lkdGg6IGNhbGMoI3skaGVpZ2h0fSAvIDIpICR3aWR0aCBjYWxjKCN7JGhlaWdodH0gLyAyKSAwO1xyXG4gICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAkY29sb3I7XHJcbiAgfSBAZWxzZSBpZiAkZGlyID09IHRvcFJpZ2h0IHtcclxuICAgIGJvcmRlci13aWR0aDogMCAkaGVpZ2h0ICR3aWR0aCAwO1xyXG4gICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAkY29sb3I7XHJcbiAgfSBAZWxzZSBpZiAkZGlyID09IGJvdHRvbVJpZ2h0IHtcclxuICAgIGJvcmRlci13aWR0aDogMCAwICRoZWlnaHQgJHdpZHRoO1xyXG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGNvbG9yO1xyXG4gIH0gQGVsc2UgaWYgJGRpciA9PSBib3R0b21MZWZ0IHtcclxuICAgIGJvcmRlci13aWR0aDogJGhlaWdodCAwIDAgJHdpZHRoO1xyXG4gICAgYm9yZGVyLWxlZnQtY29sb3I6ICRjb2xvcjtcclxuICB9IEBlbHNlIGlmICRkaXIgPT0gdG9wTGVmdCB7XHJcbiAgICBib3JkZXItd2lkdGg6ICRoZWlnaHQgJHdpZHRoIDAgMDtcclxuICAgIGJvcmRlci10b3AtY29sb3I6ICRjb2xvcjtcclxuICB9IEBlbHNlIHtcclxuICAgIEBlcnJvciBcIlVua25vd24gZGlyZWN0aW9uICN7JGRpcn0uXCI7XHJcbiAgfVxyXG59XHJcblxyXG4vLy8gRHJhdyBhIGRvd24gYXJyb3cgdXNpbmcgY3NzIGJvcmRlcnNcclxuLy8vIEBwYXJhbSB7bnVtYmVyfSAkc2l6ZSBbOHB4XVxyXG4vLy8gQHBhcmFtIHtudW1iZXJ9ICRzaXplTFIgWyRzaXplXVxyXG4vLy8gQHBhcmFtIHtjb2xvcn0gJGNvbG9yIFskbGlnaHRdXHJcbi8vLyBAcGFyYW0ge251bWJlcn0gJHRvcCBbYXV0b11cclxuLy8vIEBwYXJhbSB7bnVtYmVyfSAkbGVmdCBbYXV0b11cclxuQG1peGluIHJpZ2h0QXJyb3coJHNpemU6IDhweCwgJHNpemVUQjogJHNpemUsICRjb2xvcjogJGxpZ2h0LCAkdG9wOiBhdXRvLCAkcmlnaHQ6IGF1dG8pIHtcclxuICBjb250ZW50OiBcIlwiO1xyXG4gIHdpZHRoOiAwO1xyXG4gIGhlaWdodDogMDtcclxuICBib3JkZXItdG9wOiAkc2l6ZVRCIHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gIGJvcmRlci1ib3R0b206ICRzaXplVEIgc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgYm9yZGVyLWxlZnQ6ICRzaXplIHNvbGlkICRjb2xvcjtcclxuICBib3JkZXItcmlnaHQ6IDA7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogJHRvcDtcclxuICByaWdodDogJHJpZ2h0O1xyXG59XHJcblxyXG4vLy8gRHJhdyBhIGRvd24gYXJyb3cgdXNpbmcgY3NzIGJvcmRlcnNcclxuLy8vIEBwYXJhbSB7bnVtYmVyfSAkc2l6ZSBbOHB4XVxyXG4vLy8gQHBhcmFtIHtudW1iZXJ9ICRzaXplTFIgWyRzaXplXVxyXG4vLy8gQHBhcmFtIHtjb2xvcn0gJGNvbG9yIFskbGlnaHRdXHJcbi8vLyBAcGFyYW0ge251bWJlcn0gJHRvcCBbYXV0b11cclxuLy8vIEBwYXJhbSB7bnVtYmVyfSAkbGVmdCBbYXV0b11cclxuQG1peGluIGxlZnRBcnJvdygkc2l6ZTogOHB4LCAkc2l6ZVRCOiAkc2l6ZSwgJGNvbG9yOiAkbGlnaHQsICR0b3A6IGF1dG8sICRsZWZ0OiBhdXRvKSB7XHJcbiAgY29udGVudDogXCJcIjtcclxuICB3aWR0aDogMDtcclxuICBoZWlnaHQ6IDA7XHJcbiAgYm9yZGVyLXRvcDogJHNpemVUQiBzb2xpZCB0cmFuc3BhcmVudDtcclxuICBib3JkZXItYm90dG9tOiAkc2l6ZVRCIHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gIGJvcmRlci1sZWZ0OiAwO1xyXG4gIGJvcmRlci1yaWdodDogJHNpemUgc29saWQgJGNvbG9yO1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6ICR0b3A7XHJcbiAgbGVmdDogJGxlZnQ7XHJcbn1cclxuXHJcbi8vLyBEcmF3IGEgZG93biBhcnJvdyB1c2luZyBjc3MgYm9yZGVyc1xyXG4vLy8gQHBhcmFtIHtudW1iZXJ9ICRzaXplIFs4cHhdXHJcbi8vLyBAcGFyYW0ge251bWJlcn0gJHNpemVMUiBbJHNpemVdXHJcbi8vLyBAcGFyYW0ge2NvbG9yfSAkY29sb3IgWyRsaWdodF1cclxuLy8vIEBwYXJhbSB7bnVtYmVyfSAkdG9wIFthdXRvXVxyXG4vLy8gQHBhcmFtIHtudW1iZXJ9ICRsZWZ0IFthdXRvXVxyXG5AbWl4aW4gdG9wQXJyb3coJHNpemU6IDhweCwgJHNpemVMUjogJHNpemUsICRjb2xvcjogJGxpZ2h0LCAkdG9wOiBhdXRvLCAkbGVmdDogYXV0bykge1xyXG4gIGNvbnRlbnQ6IFwiXCI7XHJcbiAgd2lkdGg6IDA7XHJcbiAgaGVpZ2h0OiAwO1xyXG4gIGJvcmRlci1sZWZ0OiAkc2l6ZUxSIHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gIGJvcmRlci1yaWdodDogJHNpemVMUiBzb2xpZCB0cmFuc3BhcmVudDtcclxuICBib3JkZXItYm90dG9tOiAkc2l6ZSBzb2xpZCAkY29sb3I7XHJcbiAgYm9yZGVyLXRvcDogMDtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiAkdG9wO1xyXG4gIGxlZnQ6ICRsZWZ0O1xyXG59XHJcblxyXG4vLy8gRHJhdyBhIGRvd24gYXJyb3cgdXNpbmcgY3NzIGJvcmRlcnNcclxuLy8vIEBwYXJhbSB7bnVtYmVyfSAkc2l6ZSBbOHB4XVxyXG4vLy8gQHBhcmFtIHtudW1iZXJ9ICRzaXplTFIgWyRzaXplXVxyXG4vLy8gQHBhcmFtIHtjb2xvcn0gJGNvbG9yIFskbGlnaHRdXHJcbi8vLyBAcGFyYW0ge251bWJlcn0gJHRvcCBbYXV0b11cclxuLy8vIEBwYXJhbSB7bnVtYmVyfSAkbGVmdCBbYXV0b11cclxuQG1peGluIGJvdHRvbUFycm93KCRzaXplOiA4cHgsICRzaXplTFI6ICRzaXplLCAkY29sb3I6ICRsaWdodCwgJHRvcDogYXV0bywgJGxlZnQ6IGF1dG8pIHtcclxuICBjb250ZW50OiBcIlwiO1xyXG4gIHdpZHRoOiAwO1xyXG4gIGhlaWdodDogMDtcclxuICBib3JkZXItbGVmdDogJHNpemVMUiBzb2xpZCB0cmFuc3BhcmVudDtcclxuICBib3JkZXItcmlnaHQ6ICRzaXplTFIgc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgYm9yZGVyLXRvcDogJHNpemUgc29saWQgJGNvbG9yO1xyXG4gIGJvcmRlci1ib3R0b206IDA7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogJHRvcDtcclxuICBsZWZ0OiAkbGVmdDtcclxufVxyXG5cclxuLy8vIEEga2luZCBvZiBoYWNreSBtaXhpbiB0byBmb3JjZSB0aGUgYnJvd3NlciB0byB1c2UgYSBHUFUgdG8gcmVuZGVyIHRoZSBlbGVtZW50LlxyXG5AbWl4aW4gdXNlR1BVIHtcclxuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAtd2Via2l0LXBlcnNwZWN0aXZlOiAxMDAwcHg7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xyXG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcclxuICBwZXJzcGVjdGl2ZTogMTAwMHB4O1xyXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xyXG59XHJcblxyXG4vLy8gVmlkZW8gYmFja2dyb3VuZCBzaXplLlxyXG4vLy8gQHBhcmFtIHsqfSAkYmdJbWcgLSBUaGUgYmFja2dyb3VuZCBpbWFnZS4gSW4gdGhlIGZvcm0gb2YgdXJsKC9pbWFnZS9teS1pbWFnZS5qcGcpLlxyXG5AbWl4aW4gdmlkZW9CRygkYmdJbWcpIHtcclxuICB3aWR0aDogMTAwJTtcclxuICBAaW5jbHVkZSBhYnNvbHV0ZTtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG5cclxuICB2aWRlbyB7XHJcbiAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICByaWdodDogMDtcclxuICAgIGJvdHRvbTogMDtcclxuICAgIG1pbi13aWR0aDogMTAwJTtcclxuICAgIG1pbi1oZWlnaHQ6IDEwMCU7XHJcbiAgICB3aWR0aDogYXV0bztcclxuICAgIGhlaWdodDogYXV0bztcclxuICAgIHotaW5kZXg6IC0xMDA7XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAkYmdJbWc7XHJcbiAgICBAaW5jbHVkZSBiYWNrZ3JvdW5kQ292ZXI7XHJcbiAgfVxyXG59XHJcblxyXG4vKipGb3JtcyoqL1xyXG5cclxuLy8vIElucHV0IFBsYWNlaG9sZGVyIHN0eWxpbmdcclxuLy8vIEBwYXJhbSB7Y29sb3J9ICRjb2xvciBbbGlnaHRlbigkYmFzaWMsIDYwJSldIC0gVGhlIGNvbG9yIG9mIHRoZSBwbGFjZWhvbGRlciB0ZXh0LlxyXG4vLy8gQHBhcmFtIHsqfSAkc3R5bGUgW2l0YWxpY10gLSBGb250IHN0eWxlLlxyXG4vLy8gQHBhcmFtIHsqfSAkZm9udCBbJGJhc2ljRm9udF0gLSBGb250IGZhbWlseS5cclxuLy8vIEBwYXJhbSB7Kn0gJHNpemUgWzFlbV0gLSBGb250IHNpemUuXHJcbkBtaXhpbiBwbGFjZWhvbGRlcigkY29sb3I6IGxpZ2h0ZW4oJGJhc2ljLCA3MCUpLCAkc3R5bGU6IGl0YWxpYywgJGZvbnQ6ICRiYXNpY0ZvbnQsICRzaXplOiAxZW0pIHtcclxuICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcclxuICAgIGNvbG9yOiAkY29sb3I7XHJcblxyXG4gICAgZm9udDoge1xyXG4gICAgICBzdHlsZTogJHN0eWxlO1xyXG4gICAgICBmYW1pbHk6ICRmb250O1xyXG4gICAgICBzaXplOiAkc2l6ZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICY6LW1vei1wbGFjZWhvbGRlciB7XHJcbiAgICAvKiBGaXJlZm94IDE4LSAqL1xyXG4gICAgY29sb3I6ICRjb2xvcjtcclxuXHJcbiAgICBmb250OiB7XHJcbiAgICAgIHN0eWxlOiAkc3R5bGU7XHJcbiAgICAgIGZhbWlseTogJGZvbnQ7XHJcbiAgICAgIHNpemU6ICRzaXplO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJjo6LW1vei1wbGFjZWhvbGRlciB7XHJcbiAgICAvKiBGaXJlZm94IDE5KyAqL1xyXG4gICAgY29sb3I6ICRjb2xvcjtcclxuXHJcbiAgICBmb250OiB7XHJcbiAgICAgIHN0eWxlOiAkc3R5bGU7XHJcbiAgICAgIGZhbWlseTogJGZvbnQ7XHJcbiAgICAgIHNpemU6ICRzaXplO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xyXG4gICAgY29sb3I6ICRjb2xvcjtcclxuXHJcbiAgICBmb250OiB7XHJcbiAgICAgIHN0eWxlOiAkc3R5bGU7XHJcbiAgICAgIGZhbWlseTogJGZvbnQ7XHJcbiAgICAgIHNpemU6ICRzaXplO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLy8vIEJyZWFrcyBsb25nIHdvcmRzIGFuZCB1cmxzXHJcbi8vLyBAYXV0aG9yIEthcmwgUm9zc1xyXG5AbWl4aW4gd29yZEJyZWFrIHtcclxuICAvKiBUaGVzZSBhcmUgdGVjaG5pY2FsbHkgdGhlIHNhbWUsIGJ1dCB1c2UgYm90aCAqL1xyXG4gIG92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmQ7XHJcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xyXG5cclxuICAtbXMtd29yZC1icmVhazogYnJlYWstYWxsO1xyXG4gIC8qIEluc3RlYWQgdXNlIHRoaXMgbm9uLXN0YW5kYXJkIG9uZTogKi9cclxuICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xyXG5cclxuICAvKiBBZGRzIGEgaHlwaGVuIHdoZXJlIHRoZSB3b3JkIGJyZWFrcywgaWYgc3VwcG9ydGVkIChObyBCbGluaykgKi9cclxuICAtbXMtaHlwaGVuczogYXV0bztcclxuICAtbW96LWh5cGhlbnM6IGF1dG87XHJcbiAgLXdlYmtpdC1oeXBoZW5zOiBhdXRvO1xyXG4gIGh5cGhlbnM6IGF1dG87XHJcbn1cclxuXHJcbi8vLyBIaWRlcyBhbiBlbGVtZW50IGJ1dCBzdGlsbCBhbGxvd3MgaXQgdG8gYmUgcmVhZCBieSBhIHNjcmVlbiByZWFkZXIuXHJcbi8vLyBAYXV0aG9yIEJlbiBSaWNoYXJkc29uXHJcbkBtaXhpbiBzY3JlZW5SZWFkZXIoKSB7XHJcbiAgYm9yZGVyOiAwO1xyXG4gIGNsaXA6IHJlY3QoMCAwIDAgMCk7XHJcbiAgaGVpZ2h0OiAxcHg7XHJcbiAgbWFyZ2luOiAtMXB4O1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgcGFkZGluZzogMDtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgd2lkdGg6IDFweDtcclxufVxyXG5cclxuLy8gRml4ZXMgbGVnZW5kcyBvbiBvbGRlciBicm93c2VycyBhbmQgc21hbGxlciBicm93c2Vycy5cclxuQG1peGluIGxlZ2VuZEZpeCB7XHJcbiAgLy9UaGlzIGZpeGVzIGZvciByZXNwb25zaXZlXHJcbiAgZGlzcGxheTogdGFibGU7XHJcbiAgLyogRW5hYmxlIGxpbmUtd3JhcHBpbmcgaW4gSUU4KyAqL1xyXG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XHJcbiAgLyogRW5hYmxlIGxpbmUtd3JhcHBpbmcgaW4gb2xkIHZlcnNpb25zIG9mIHNvbWUgb3RoZXIgYnJvd3NlcnMgKi9cclxuICB3aWR0aDogMTAwJTtcclxufVxyXG5cclxuLy8vIFN0eWxlIHNjcm9sbGJhcnMgd2l0aCBhbGwgYnJvd3NlciB2ZW5kb3IgcHJvcGVydGllcy5cclxuLy8vIEBhdXRob3IgS291cnRuZXkgU3RyaWNrbGFuZFxyXG4vLy8gQHBhcmFtIHtudW1iZXJ9ICR3aWR0aCBbNXB4XSAtIFRoZSB3aWR0aCBvZiB0aGUgc2Nyb2xsYmFyLlxyXG4vLy8gQHBhcmFtIHtjb2xvcn0gJGNvbG9yIFsjNDQ0NDQ0XSAtIFRoZSBjb2xvciBvZiB0aGUgc2Nyb2xsIGtub2IuXHJcbi8vLyBAcGFyYW0ge2NvbG9yfSAkYmdDb2xvciBbI2Y1ZjVmNV0gLSBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgc2Nyb2xsYmFyLlxyXG4vLy8gQHBhcmFtIHtib29sZWFufSAkc2hhZG93IFt0cnVlXSAtIFdoZXRoZXIgdG8gZHJhdyBhIGJveCBzaGFkb3cgb24gdGhlIHNjcm9sbGJhci5cclxuQG1peGluIHNjcm9sbGJhcigkd2lkdGg6IDVweCwgJGNvbG9yOiAjNDQ0NDQ0LCAkYmdDb2xvcjogI2Y1ZjVmNSwgJHNoYWRvdzogdHJ1ZSkge1xyXG4gIC8vIE5vbnN0YW5kYXJkIHdlYmtpdCBwcm9wZXJ0aWVzLCB3b3JrcyBvbiBDaHJvbWUsIE1vZGVybiBFZGdlLCBhbmQgU2FmYXJpXHJcbiAgJjo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xyXG4gICAgQGlmICRzaGFkb3cge1xyXG4gICAgICAtd2Via2l0LWJveC1zaGFkb3c6IGluc2V0IDAgMCA2cHggcmdiYSgwLCAwLCAwLCAwLjMpO1xyXG4gICAgfVxyXG5cclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRiZ0NvbG9yO1xyXG4gIH1cclxuXHJcbiAgJjo6LXdlYmtpdC1zY3JvbGxiYXIge1xyXG4gICAgd2lkdGg6ICR3aWR0aDtcclxuICAgIGhlaWdodDogJHdpZHRoO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJnQ29sb3I7XHJcbiAgfVxyXG5cclxuICAmOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XHJcbiAgfVxyXG5cclxuICAvLyBUaGUgcHJvcGVyLCBzdGFuZGFyZCB3YXkgdG8gc3R5bGUgc2Nyb2xsYmFycy4gU3VwcG9ydGVkIGluIEZpcmVmb3gsIEVkZ2UgMTIxKywgYW5kIENocm9tZSAxMjErXHJcbiAgc2Nyb2xsYmFyLWNvbG9yOiAkY29sb3IgJGJnQ29sb3I7XHJcbiAgQGlmICgkd2lkdGggPCAxNXB4KSB7XHJcbiAgICBzY3JvbGxiYXItd2lkdGg6IHRoaW47XHJcbiAgfVxyXG59XHJcblxyXG4vLy8gU2hvcnRoYW5kIGZvciBhIGZsZXhib3ggY29udGFpbmVyIHRoYXQganVzdGlmZXMgY29udGVudCBhdCB0aGUgc3RhcnQuXHJcbi8vLyBAYXV0aG9yIEtvdXJ0bmV5IFN0cmlja2xhbmRcclxuLy8vIEBwYXJhbSB7c3RyaW5nfSAkZGlyIFtyb3ddIC0gVGhlIGZsZXgtZGlyZWN0aW9uIG9mIHRoZSBlbGVtZW50LlxyXG4vLy8gQHBhcmFtIHtzdHJpbmd9ICRqdXN0aWZ5IFtzcGFjZS1iZXR3ZWVuXSAtIFRoZSBqdXN0aWZ5LWNvbnRlbnQgcHJvcGVydHkgb2YgdGhlIGVsZW1lbnQuXHJcbkBtaXhpbiBmbGV4SnVzdGlmeSgkZGlyOiByb3csICRqdXN0aWZ5OiBzcGFjZS1iZXR3ZWVuKSB7XHJcbiAgLy9hbHRlcm5hdGUgd291bGQgYmUgc3BhY2UtYXJvdW5kXHJcbiAgZGlzcGxheTogZmxleDtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6ICRqdXN0aWZ5O1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgZmxleC1kaXJlY3Rpb246ICRkaXI7XHJcbn1cclxuXHJcbi8vLyBTaG9ydGhhbmQgZm9yIGEgZmxleGJveCBjb250YWluZXIgdGhhdCBqdXN0aWZlcyBjb250ZW50IGluIGNlbnRlci5cclxuLy8vIEBhdXRob3IgS291cnRuZXkgU3RyaWNrbGFuZFxyXG4vLy8gQHBhcmFtIHtzdHJpbmd9ICRkaXIgW3Jvd10gLSBUaGUgZmxleC1kaXJlY3Rpb24gb2YgdGhlIGVsZW1lbnQuXHJcbkBtaXhpbiBmbGV4Q2VudGVyKCRkaXI6IHJvdykge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBmbGV4LWRpcmVjdGlvbjogJGRpcjtcclxufVxyXG5cclxuLy8vIFNob3J0aGFuZCBmb3IgYSBmbGV4Ym94IGNvbnRhaW5lciB0aGF0IGp1c3RpZmVzIGNvbnRlbnQgYXQgdGhlIGVuZC5cclxuLy8vIEBhdXRob3IgS291cnRuZXkgU3RyaWNrbGFuZFxyXG4vLy8gQHBhcmFtIHtzdHJpbmd9ICRkaXIgW3Jvd10gLSBUaGUgZmxleC1kaXJlY3Rpb24gb2YgdGhlIGVsZW1lbnQuXHJcbkBtaXhpbiBmbGV4RW5kKCRkaXI6IHJvdykge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIGZsZXgtZGlyZWN0aW9uOiAkZGlyO1xyXG59XHJcblxyXG4vLy8gU2hvcnRoYW5kIGZvciBhIGZsZXhib3ggY29udGFpbmVyIHRoYXQganVzdGlmZXMgY29udGVudCBhdCB0aGUgc3RhcnQuXHJcbi8vLyBAYXV0aG9yIEtvdXJ0bmV5IFN0cmlja2xhbmRcclxuLy8vIEBwYXJhbSB7c3RyaW5nfSAkZGlyIFtyb3ddIC0gVGhlIGZsZXgtZGlyZWN0aW9uIG9mIHRoZSBlbGVtZW50LlxyXG5AbWl4aW4gZmxleFN0YXJ0KCRkaXI6IHJvdykge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgZmxleC1kaXJlY3Rpb246ICRkaXI7XHJcbn1cclxuXHJcbi8vLyBDcmVhdGVzIGEgZmxleGlibGUgaG9yaXpvbnRhbCBsYXlvdXQgb2YgYWJzb2x1dGVseS1wb3NpdGlvbmVkIGNoaWxkIGVsZW1lbnRzIG9mIGVxdWFsIHdpZHRoLlxyXG4vLy8gVmVyeSB1c2VmdWwgZm9yIHNvbWV0aGluZyBsaWtlIGEgbWFpbiBuYXYgdGhhdCB0cmFuc2l0aW9ucy4gQmVjYXVzZSBldmVyeXRoaW5nIGlzIGFscmVhZHkgYWJzb2x1dGUsXHJcbi8vLyB5b3UgY2FuIGVhc2lseSBtb3ZlIHNlY3Rpb25zIG91dCBhbmQgaW4gdXNpbmcgdGhlIHRvcC9sZWZ0IHByb3BlcnRpZXMuXHJcbi8vLyBAYXV0aG9yIEJlbiBSaWNoYXJkc29uXHJcbi8vLyBAcGFyYW0ge251bWJlcn0gJG1heC1udW0tb2YtY2hpbGRyZW4gWzddIC0gSWYgdGhlIG51bWJlciBvZiBjaGlsZHJlbiBleGNlZWRzIHRoaXMgbnVtYmVyLCB0aGUgbGF5b3V0IHdpbGwgYnJlYWsuXHJcbi8vLyBAcGFyYW0ge3N0cmluZ30gJG9yaWVudGF0aW9uIFt2ZXJ0aWNhbF0gLSBUaGUgZGlyZWN0aW9uIG9mIHRoZSBmbGV4IGNvbnRhaW5lci4gRWl0aGVyIFwidmVydGljYWxcIiBvciBcImhvcml6b250YWxcIi5cclxuQG1peGluIGFic29sdXRlRmxleCgkbWF4LW51bS1vZi1jaGlsZHJlbjogNywgJG9yaWVudGF0aW9uOiBcInZlcnRpY2FsXCIsICRndXR0ZXI6IDAlKSB7XHJcbiAgQGlmIHR5cGUtb2YoJG1heC1udW0tb2YtY2hpbGRyZW4pICE9bnVtYmVyIHtcclxuICAgIEBlcnJvciBcIklucHV0IGAkbWF4LW51bS1vZi1jaGlsZHJlbmAgbXVzdCBiZSBhIG51bWJlci5cIjtcclxuICB9XHJcblxyXG4gIEBpZiAkb3JpZW50YXRpb24gIT0gXCJob3Jpem9udGFsXCIgYW5kICRvcmllbnRhdGlvbiAhPSBcInZlcnRpY2FsXCIge1xyXG4gICAgQGVycm9yIFwiSW5wdXQgYCRtYXgtbnVtLW9mLWNoaWxkcmVuYCBtdXN0IGJlIHNldCB0byBlaXRoZXIgYGhvcml6b250YWxgIG9yIGB2ZXJ0aWNhbGBcIjtcclxuICB9XHJcblxyXG4gIEB3aGlsZSAkbWF4LW51bS1vZi1jaGlsZHJlbj4xIHtcclxuICAgICRzaXplOiBtYXRoLmRpdigxMDAlLCAkbWF4LW51bS1vZi1jaGlsZHJlbik7XHJcbiAgICAkZ3V0dGVyU2l6ZU9mZnNldDogbWF0aC5kaXYoJGd1dHRlciwgJG1heC1udW0tb2YtY2hpbGRyZW4pO1xyXG5cclxuICAgIC8vIFdlIGNhbiBkZXRlY3QgdGhlIG51bWJlciBvZiBpdGVtcyBhIHBhcmVudCBoYXMgcHVyZWx5IHdpdGggQ1NTLiBDcmF6eSwgaHVoIVxyXG4gICAgPiAqOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKCN7JG1heC1udW0tb2YtY2hpbGRyZW59KSxcclxuICAgID4gKjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgjeyRtYXgtbnVtLW9mLWNoaWxkcmVufSkgfiAqIHtcclxuICAgICAgQGlmICgkb3JpZW50YXRpb249PSBcImhvcml6b250YWxcIikge1xyXG4gICAgICAgIHdpZHRoOiBjYWxjKCN7JHNpemV9IC0gI3skZ3V0dGVyIC0gJGd1dHRlclNpemVPZmZzZXR9KTtcclxuICAgICAgfSBAZWxzZSBpZiAoJG9yaWVudGF0aW9uPT0gXCJ2ZXJ0aWNhbFwiKSB7XHJcbiAgICAgICAgaGVpZ2h0OiBjYWxjKCN7JHNpemV9IC0gI3skZ3V0dGVyIC0gJGd1dHRlclNpemVPZmZzZXR9KTtcclxuICAgICAgfVxyXG5cclxuICAgICAgLy8gQ2FsY3VsYXRlIGFuZCBzZXQgY2hpbGQgcG9zaXRpb24uXHJcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJG1heC1udW0tb2YtY2hpbGRyZW4ge1xyXG4gICAgICAgICY6bnRoLWNoaWxkKCN7JGl9KSB7XHJcbiAgICAgICAgICBAaWYgKCRvcmllbnRhdGlvbj09IFwiaG9yaXpvbnRhbFwiKSB7XHJcbiAgICAgICAgICAgIGxlZnQ6IGNhbGMoI3skc2l6ZSAqICRpIC0gJHNpemV9ICsgI3skZ3V0dGVyIC0gJGd1dHRlclNpemVPZmZzZXQgKiAkaX0pO1xyXG4gICAgICAgICAgfSBAZWxzZSBpZiAoJG9yaWVudGF0aW9uPT0gXCJ2ZXJ0aWNhbFwiKSB7XHJcbiAgICAgICAgICAgIHRvcDogJHNpemUgKiAkaSAtICRzaXplO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICRtYXgtbnVtLW9mLWNoaWxkcmVuOiAkbWF4LW51bS1vZi1jaGlsZHJlbiAtIDE7XHJcbiAgfVxyXG5cclxuICA+ICoge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIH1cclxufVxyXG5cclxuLy8vIENyZWF0ZSBhIGJsdXIgZWZmZWN0IHdpdGggZmFsbGJhY2tzIGZvciB1bnN1cHBvcnRlZCBicm93c2Vycy5cclxuLy8vIEBhdXRob3IgQmVuIFJpY2hhcmRzb25cclxuLy8vIEBwYXJhbSB7Y29sb3J9ICRjb2xvciAtIFRoZSBiYWNrZ3JvdW5kLWNvbG9yIG9mIHRoZSBlbGVtZW50LlxyXG4vLy8gQHBhcmFtIHtudW19ICRvcGFjaXR5IFs4NSVdIC0gVGhlIGxldmVsIG9mIG9wYWNpdHkgZGVzaXJlZC5cclxuQG1peGluIGZyb3N0ZWRHbGFzcygkY29sb3I6ICRsaWdodCwgJG9wYWNpdHk6IDg1JSkge1xyXG4gIGJhY2tncm91bmQ6IHJnYmEoJGNvbG9yLCAkb3BhY2l0eSk7XHJcblxyXG4gIEBzdXBwb3J0cyAoYmFja2Ryb3AtZmlsdGVyOiBibHVyKDEwcHgpKSB7XHJcbiAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMTBweCk7XHJcblxyXG4gICAgQGlmICgkb3BhY2l0eSAtIDIwJSA+IDApIHtcclxuICAgICAgYmFja2dyb3VuZDogcmdiYSgkY29sb3IsICRvcGFjaXR5IC0gMjAlKTtcclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICBiYWNrZ3JvdW5kOiBub25lO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLy8vIERlbGl2ZXJzIGJ1bGxldHByb29mIGhvdmVyIHN0eWxpbmcgdGhhdCBwcmV2ZW50cyB0b3VjaCBldmVudHMgZnJvbSB0cmlnZ2VyaW5nXHJcbi8vLyBzaW5jZSA5OSUgb2YgdGhlIHRpbWUgdGhhdCdzIG5vdCB3aGF0IHlvdSB3YW50LiBJbmNsdWRlcyBmYWxsYmFja3MgZm9yIG9sZGVyIGJyb3dzZXJzLlxyXG4vLy8gV2UgdXNlZCB0byB1c2UgYW55LXBvaW50ZXI6IGZpbmUgYnV0IGZvciBzb21lIHJlYXNvbiB0aGF0IHdhcyBhbHdheXMgcmV0dXJuaW5nIHRydWVcclxuLy8vIG9uIEFuZHJvaWQgZGV2aWNlcywgZXZlbiB3aXRoIG5vIG1vdXNlIGF0dGFjaGVkLiBTbyBpdCdzIGJhY2sgdG8gcmVndWxhciBvbGQgcG9pbnRlcjogZmluZS5cclxuLy8vIEBhdXRob3IgQmVuIFJpY2hhcmRzb25cclxuLy8vIEBjb250ZW50XHJcbkBtaXhpbiBob3ZlcigpIHtcclxuICBAbWVkaWEgKGhvdmVyOiBob3ZlcikgYW5kIChwb2ludGVyOiBmaW5lKSB7XHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBbZGF0YS1icm93c2VyPVwiaWVcIl0gJjpob3ZlciB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcblxyXG4gIC5pZSAmOmhvdmVyIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxufVxyXG5cclxuLy8vIERlbGl2ZXJzIGJ1bGxldHByb29mIGZvY3VzLXZpc2libGUgc3R5bGluZyB3aXRoIGZhbGxiYWNrcyBmb3Igb2xkZXIgYnJvd3NlcnMuIFJlcXVpcmVzXHJcbi8vLyBhIEpTIHBvbHlmaWxsIChXSUNHIGZvY3VzLXZpc2libGUpIGZvciBvbGRlciBicm93c2Vycy5cclxuLy8vIEBhdXRob3IgQmVuIFJpY2hhcmRzb25cclxuLy8vIEBjb250ZW50XHJcbi8vLyBAbGluayBodHRwczovL2dpdGh1Yi5jb20vV0lDRy9mb2N1cy12aXNpYmxlXHJcbkBtaXhpbiBmb2N1cygpIHtcclxuICAmLmZvY3VzLXZpc2libGUge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG5cclxuICAmOmZvY3VzLXZpc2libGUge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG59XHJcblxyXG4vLy8gQG1peGluIGhvdmVyIGFuZCBAbWl4aW4gZm9jdXMgc3R5bGluZyBpbiBvbmUgbWl4aW4uXHJcbi8vLyBAYXV0aG9yIEJlbiBSaWNoYXJkc29uXHJcbi8vLyBAY29udGVudFxyXG5AbWl4aW4gaG92ZXJBbmRGb2N1cygpIHtcclxuICBAaW5jbHVkZSBob3ZlciB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIGZvY3VzIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxufVxyXG5cclxuLy8vIEFjY2Vzc2libGUgYmFja2dyb3VuZHMhIEVuc3VyZSB5b3VyIGVsZW1lbnRzIGFsd2F5cyBoYXZlIHByb3BlciBjb250cmFzdCBieSBzZXR0aW5nIGJvdGggYmFja2dyb3VuZC1jb2xvciBhbmQgY29sb3IgcHJvcGVydGllcy5cclxuLy8vIEBhdXRob3IgQmVuIFJpY2hhcmRzb25cclxuLy8vIEBwYXJhbSB7c3RyaW5nfSAkYmcgLSBUaGUgYmFja2dyb3VuZCB0byB1c2UgZm9yIHRoZSBlbGVtZW50LlxyXG4vLy8gQHBhcmFtIHtzdHJpbmd9ICR0ZXh0RGFyayBbZGFya10gLSBUZXh0IGNvbG9yIHRvIHVzZSB3aGVuIGVsZW1lbnQncyBiYWNrZ3JvdW5kIGlzIGFib3ZlIGEgY2VydGFpbiB0aHJlc2hvbGQgaW4gbGlnaHRuZXNzLlxyXG4vLy8gQHBhcmFtIHtzdHJpbmd9ICR0ZXh0TGlnaHQgW3doaXRlXSAtIFRleHQgY29sb3IgdG8gdXNlIHdoZW4gZWxlbWVudCdzIGJhY2tncm91bmQgaXMgYmVsb3cgYSBjZXJ0YWluIHRocmVzaG9sZCBpbiBsaWdodG5lc3MuXHJcbkBtaXhpbiBiZ1dpdGhDb250cmFzdCgkYmcsICR0ZXh0RGFyazogYmxhY2ssICR0ZXh0TGlnaHQ6IHdoaXRlKSB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJnO1xyXG5cclxuICAkcmF0aW9XaXRoRGFyazogd2NhZy1jb250cmFzdC1yYXRpbygkYmcsICR0ZXh0RGFyayk7XHJcbiAgJHJhdGlvV2l0aExpZ2h0OiB3Y2FnLWNvbnRyYXN0LXJhdGlvKCRiZywgJHRleHRMaWdodCk7XHJcblxyXG4gIEBpZiAkcmF0aW9XaXRoRGFyayA8IDMgYW5kICRyYXRpb1dpdGhMaWdodCA8IDMge1xyXG4gICAgQGVycm9yIFwiVGhlIGNvbG9yICN7JGJnfSBkb2VzIG5vdCBtZWV0IFdDQUcgQUEgbWluaW11bSBhY2Nlc3NpYmlsaXR5IGNvbnRyYXN0IHJhdGlvIG9mIDM6MS4gUGxlYXNlIGNob29zZSBhIGRpZmZlcmVudCBjb2xvciBjb21iaW5hdGlvbi5cIjtcclxuICB9IEBlbHNlIGlmICRyYXRpb1dpdGhEYXJrIDwgNC41IGFuZCAkcmF0aW9XaXRoTGlnaHQgPCA0LjUge1xyXG4gICAgQHdhcm4gXCJUaGUgY29sb3IgI3skYmd9IGRvZXMgbm90IG1lZXQgV0NBRyBBQSBtaW5pbXVtIGFjY2Vzc2liaWxpdHkgY29udHJhc3QgcmF0aW8gb2YgNC41OjEuIFBsZWFzZSBjb25maXJtIHRoYXQgYW55IHRleHQgaW5zaWRlIHRoaXMgZWxlbWVudCBpcyBncmVhdGVyIHRoYW4gMThweC5cIjtcclxuICB9XHJcblxyXG4gIEBpZiAkcmF0aW9XaXRoRGFyayA+PSAkcmF0aW9XaXRoTGlnaHQge1xyXG4gICAgY29sb3I6ICR0ZXh0RGFyaztcclxuICB9IEBlbHNlIHtcclxuICAgIGNvbG9yOiAkdGV4dExpZ2h0O1xyXG4gIH1cclxufVxyXG5cclxuLy8vIEFjY2Vzc2libGUgdGV4dCEgRW5zdXJlIHlvdXIgZWxlbWVudHMgYWx3YXlzIGhhdmUgcHJvcGVyIGNvbnRyYXN0IGJ5IHNldHRpbmcgYm90aCBjb2xvciBhbmQgYmFja2dyb3VuZC1jb2xvciBwcm9wZXJ0aWVzLlxyXG4vLy8gQGF1dGhvciBCZW4gUmljaGFyZHNvblxyXG4vLy8gQHBhcmFtIHtzdHJpbmd9ICR0ZXh0Q29sb3IgLSBUaGUgdGV4dCBjb2xvciB0byB1c2UgZm9yIHRoZSBlbGVtZW50LlxyXG4vLy8gQHBhcmFtIHtzdHJpbmd9ICRiZ0RhcmsgW2RhcmtdIC0gQmFja2dyb3VuZCBjb2xvciB0byB1c2Ugd2hlbiBlbGVtZW50J3MgdGV4dCBpcyBhYm92ZSBhIGNlcnRhaW4gdGhyZXNob2xkIGluIGxpZ2h0bmVzcy5cclxuLy8vIEBwYXJhbSB7c3RyaW5nfSAkYmdMaWdodCBbd2hpdGVdIC0gQmFja2dyb3VuZCBjb2xvciB0byB1c2Ugd2hlbiBlbGVtZW50J3MgdGV4dCBpcyBiZWxvdyBhIGNlcnRhaW4gdGhyZXNob2xkIGluIGxpZ2h0bmVzcy5cclxuQG1peGluIGNvbG9yV2l0aENvbnRyYXN0KCR0ZXh0Q29sb3IsICRiZ0Rhcms6IGJsYWNrLCAkYmdMaWdodDogd2hpdGUpIHtcclxuICBjb2xvcjogJHRleHRDb2xvcjtcclxuXHJcbiAgJHJhdGlvV2l0aERhcms6IHdjYWctY29udHJhc3QtcmF0aW8oJHRleHRDb2xvciwgJGJnRGFyayk7XHJcbiAgJHJhdGlvV2l0aExpZ2h0OiB3Y2FnLWNvbnRyYXN0LXJhdGlvKCR0ZXh0Q29sb3IsICRiZ0xpZ2h0KTtcclxuXHJcbiAgQGlmICRyYXRpb1dpdGhEYXJrIDwgMyBhbmQgJHJhdGlvV2l0aExpZ2h0IDwgMyB7XHJcbiAgICBAZXJyb3IgXCJUaGUgY29sb3IgI3skdGV4dENvbG9yfSBkb2VzIG5vdCBtZWV0IFdDQUcgQUEgbWluaW11bSBhY2Nlc3NpYmlsaXR5IGNvbnRyYXN0IHJhdGlvIG9mIDM6MS4gUGxlYXNlIGNob29zZSBhIGRpZmZlcmVudCBjb2xvciBjb21iaW5hdGlvbi5cIjtcclxuICB9IEBlbHNlIGlmICRyYXRpb1dpdGhEYXJrIDwgNC41IGFuZCAkcmF0aW9XaXRoTGlnaHQgPCA0LjUge1xyXG4gICAgQHdhcm4gXCJUaGUgY29sb3IgI3skdGV4dENvbG9yfSBkb2VzIG5vdCBtZWV0IFdDQUcgQUEgbWluaW11bSBhY2Nlc3NpYmlsaXR5IGNvbnRyYXN0IHJhdGlvIG9mIDQuNToxLiBQbGVhc2UgY29uZmlybSB0aGF0IGFueSB0ZXh0IGluc2lkZSB0aGlzIGVsZW1lbnQgaXMgZ3JlYXRlciB0aGFuIDE4cHguXCI7XHJcbiAgfVxyXG5cclxuICBAaWYgJHJhdGlvV2l0aERhcmsgPj0gJHJhdGlvV2l0aExpZ2h0IHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRiZ0Rhcms7XHJcbiAgfSBAZWxzZSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmdMaWdodDtcclxuICB9XHJcbn1cclxuXHJcbi8vLyBSZXR1cm5zIGEgY29udHJhc3RpbmcgY29sb3IgdmFsdWUgdG8gdGhlIGdpdmVuIGNvbG9yLlxyXG4vLy8gQGF1dGhvciBCZW4gUmljaGFyZHNvblxyXG4vLy8gQHBhcmFtIHtzdHJpbmd9ICRjb2xvciAtIFRoZSBjb2xvciB0byBjb250cmFzdCBhZ2Fpbi5cclxuLy8vIEBwYXJhbSB7c3RyaW5nfSAkZGFyayBbZGFya10gLSBCYWNrZ3JvdW5kIGNvbG9yIHRvIHVzZSB3aGVuICRjb2xvciBpcyBhYm92ZSBhIGNlcnRhaW4gdGhyZXNob2xkIGluIGxpZ2h0bmVzcy5cclxuLy8vIEBwYXJhbSB7c3RyaW5nfSAkbGlnaHQgW3doaXRlXSAtIEJhY2tncm91bmQgY29sb3IgdG8gdXNlIHdoZW4gJGNvbG9yIGlzIGJlbG93IGEgY2VydGFpbiB0aHJlc2hvbGQgaW4gbGlnaHRuZXNzLlxyXG4vLy8gQHJldHVybiB7c3RyaW5nfSAtIExpZ2h0IG9yIGRhcmsgZGVwZW5kaW5nIG9uIHRoZSBjb2xvciBnaXZlbi5cclxuQGZ1bmN0aW9uIGNvbnRyYXN0KCRjb2xvciwgJGRhcms6IGJsYWNrLCAkbGlnaHQ6IHdoaXRlKSB7XHJcbiAgJHJhdGlvV2l0aERhcms6IHdjYWctY29udHJhc3QtcmF0aW8oJGNvbG9yLCAkZGFyayk7XHJcbiAgJHJhdGlvV2l0aExpZ2h0OiB3Y2FnLWNvbnRyYXN0LXJhdGlvKCRjb2xvciwgJGxpZ2h0KTtcclxuXHJcbiAgQGlmICRyYXRpb1dpdGhEYXJrIDwgMyBhbmQgJHJhdGlvV2l0aExpZ2h0IDwgMyB7XHJcbiAgICBAZXJyb3IgXCJUaGUgY29sb3IgI3skY29sb3J9IGRvZXMgbm90IG1lZXQgV0NBRyBBQSBtaW5pbXVtIGFjY2Vzc2liaWxpdHkgY29udHJhc3QgcmF0aW8gb2YgMzoxLiBQbGVhc2UgY2hvb3NlIGEgZGlmZmVyZW50IGNvbG9yIGNvbWJpbmF0aW9uLlwiO1xyXG4gIH0gQGVsc2UgaWYgJHJhdGlvV2l0aERhcmsgPCA0LjUgYW5kICRyYXRpb1dpdGhMaWdodCA8IDQuNSB7XHJcbiAgICBAd2FybiBcIlRoZSBjb2xvciAjeyRjb2xvcn0gZG9lcyBub3QgbWVldCBXQ0FHIEFBIG1pbmltdW0gYWNjZXNzaWJpbGl0eSBjb250cmFzdCByYXRpbyBvZiA0LjU6MS4gUGxlYXNlIGNvbmZpcm0gdGhhdCBhbnkgdGV4dCBpbnNpZGUgdGhpcyBlbGVtZW50IGlzIGdyZWF0ZXIgdGhhbiAxOHB4LlwiO1xyXG4gIH1cclxuXHJcbiAgQGlmICRyYXRpb1dpdGhEYXJrID49ICRyYXRpb1dpdGhMaWdodCB7XHJcbiAgICBAcmV0dXJuICRkYXJrO1xyXG4gIH0gQGVsc2Uge1xyXG4gICAgQHJldHVybiAkbGlnaHQ7XHJcbiAgfVxyXG59XHJcblxyXG4vLy8gU2V0cyBiYWNrZ3JvdW5kLXBvc2l0aW9uIGNzcyBiYXNlZCBvbiBbZGF0YS1iZy1wb3M9XCJ4IHlcIl0uXHJcbi8vLyBAYXV0aG9yIEJlbiBSaWNoYXJkc29uXHJcbkBtaXhpbiBiZ1BvcygpIHtcclxuICAmW2RhdGEtYmctcG9zPVwidG9wIGxlZnRcIl0ge1xyXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCUgMCU7XHJcbiAgfVxyXG4gICZbZGF0YS1iZy1wb3M9XCJ0b3AgbWlkZGxlXCJdIHtcclxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSAwO1xyXG4gIH1cclxuICAmW2RhdGEtYmctcG9zPVwidG9wIHJpZ2h0XCJdIHtcclxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDEwMCUgMCU7XHJcbiAgfVxyXG4gICZbZGF0YS1iZy1wb3M9XCJjZW50ZXIgbGVmdFwiXSB7XHJcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwJSA1MCU7XHJcbiAgfVxyXG4gICZbZGF0YS1iZy1wb3M9XCJjZW50ZXJcIl0ge1xyXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTtcclxuICB9XHJcbiAgJltkYXRhLWJnLXBvcz1cImNlbnRlciByaWdodFwiXSB7XHJcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMDAlIDUwJTtcclxuICB9XHJcbiAgJltkYXRhLWJnLXBvcz1cImJvdHRvbSBsZWZ0XCJdIHtcclxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAlIDEwMCU7XHJcbiAgfVxyXG4gICZbZGF0YS1iZy1wb3M9XCJib3R0b20gbWlkZGxlXCJdIHtcclxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSAxMDAlO1xyXG4gIH1cclxuICAmW2RhdGEtYmctcG9zPVwiYm90dG9tIHJpZ2h0XCJdIHtcclxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDEwMCUgMTAwJTtcclxuICB9XHJcbn1cclxuXHJcbi8vLyBUcmlnZ2VycyBzdHlsaW5nIGJhc2VkIG9uIHdoZXRoZXIgYSBnaXZlbiBkaWFsb2cgaXMgYWN0aXZlIG9yIG5vdC4gQ2FuIGJlIHVzZWQgbmVzdGVkIG9yIHN0YW5kYWxvbmUuXHJcbi8vLyBAYXV0aG9yIEJlbiBSaWNoYXJkc29uXHJcbi8vLyBAcGFyYW0ge3N0cmluZ30gJGlkIC0gVGhlIGlkIG9mIGEgZGlhbG9nLlxyXG4vLy8gQGNvbnRlbnQgLSBvcHRpb25hbFxyXG5AbWl4aW4gYWN0aXZlRGlhbG9nKCRpZCkge1xyXG4gIEBpZiAmIHtcclxuICAgIFtkYXRhLWFjdGl2ZS1kaWFsb2c9XCIjeyRpZH1cIl0gJiB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH0gQGVsc2Uge1xyXG4gICAgW2RhdGEtYWN0aXZlLWRpYWxvZz1cIiN7JGlkfVwiXSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLy8vIFRyaWdnZXJzIHN0eWxpbmcgYmFzZWQgb24gd2hldGhlciBhIGdpdmVuIHpvbmUgaXMgYWN0aXZlIG9yIG5vdC4gQ2FuIGJlIHVzZWQgbmVzdGVkIG9yIHN0YW5kYWxvbmUuXHJcbi8vLyBAYXV0aG9yIEJlbiBSaWNoYXJkc29uXHJcbi8vLyBAcGFyYW0ge3N0cmluZ30gJGlkIC0gVGhlIGlkIG9mIGEgem9uZS5cclxuLy8vIEBjb250ZW50IC0gb3B0aW9uYWxcclxuQG1peGluIGFjdGl2ZVpvbmUoJGlkKSB7XHJcbiAgQGlmICYge1xyXG4gICAgW2RhdGEtYWN0aXZlLXpvbmU9XCIjeyRpZH1cIl0gJiB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH0gQGVsc2Uge1xyXG4gICAgW2RhdGEtYWN0aXZlLXpvbmU9XCIjeyRpZH1cIl0ge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vLyBSZXR1cm5zIGFzcGVjdC1yYXRpbyB3aXRoIHN1cHBvcnQgZm9yIG9sZGVyIGJyb3dzZXJzIHVzaW5nIHBhZGRpbmctYm90dG9tIHBlcmNlbnRhZ2UgdHJpY2suXHJcbi8vLyBAYXV0aG9yIEJlbiBSaWNoYXJkc29uXHJcbi8vLyBAcGFyYW0ge251bX0gJGggLSBUaGUgaG9yaXpvbnRhbCBhc3BlY3QgcmF0aW8gb2YgdGhlIGVsZW1lbnQuXHJcbi8vLyBAcGFyYW0ge251bX0gJHYgLSBUaGUgdmVydGljYWwgYXNwZWN0IHJhdGlvIG9mIHRoZSBlbGVtZW50LlxyXG5AbWl4aW4gYXNwZWN0UmF0aW8oJGgsICR2KSB7XHJcbiAgQHN1cHBvcnRzIChhc3BlY3QtcmF0aW86IDEgLyAxKSB7XHJcbiAgICBhc3BlY3QtcmF0aW86ICRoICN7XCIvXCJ9ICR2O1xyXG4gIH1cclxuICBAc3VwcG9ydHMgbm90IChhc3BlY3QtcmF0aW86IDEgLyAxKSB7XHJcbiAgICAmOmFmdGVyIHtcclxuICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIHBhZGRpbmctYm90dG9tOiBtYXRoLmRpdigkdiwgJGgpICogMTAwJTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vLyBUcmlnZ2VycyBzdHlsaW5nIGJhc2VkIG9uIHdoZXRoZXIgYW55IGRpc2NvdmVyeSB0b29sIGRpYWxvZ3MgYXJlIGFjdGl2ZS4gQ2FuIGJlIHVzZWQgbmVzdGVkIG9yIHN0YW5kYWxvbmUuXHJcbi8vLyBAYXV0aG9yIEJlbiBSaWNoYXJkc29uXHJcbi8vLyBAY29udGVudCAtIG9wdGlvbmFsXHJcbkBtaXhpbiBkaXNjb3ZlcnlUb29sc0FjdGl2ZSgpIHtcclxuICBAaWYgJiB7XHJcbiAgICBbZGF0YS1hY3RpdmUtZGlhbG9nPVwiY2hlY2tsaXN0QW5kQW5ub3VuY2VtZW50c1wiXSAmLFxyXG4gICAgW2RhdGEtYWN0aXZlLWRpYWxvZz1cImZhcVwiXSAmLFxyXG4gICAgW2RhdGEtYWN0aXZlLWRpYWxvZz1cImdsb3NzYXJ5XCJdICYsXHJcbiAgICBbZGF0YS1hY3RpdmUtZGlhbG9nPVwiYWNoaWV2ZW1lbnRzXCJdICYsXHJcbiAgICBbZGF0YS1hY3RpdmUtZGlhbG9nPVwicmVzb3VyY2VzXCJdICYsXHJcbiAgICBbZGF0YS1hY3RpdmUtZGlhbG9nPVwiZmFxQ29uZmlybVF1ZXN0aW9uTWVzc2FnZVwiXSAmLFxyXG4gICAgW2RhdGEtYWN0aXZlLWRpYWxvZz1cImZhcVF1ZXN0aW9uU3VibWl0dGVkTWVzc2FnZVwiXSAmIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfSBAZWxzZSB7XHJcbiAgICBbZGF0YS1hY3RpdmUtZGlhbG9nPVwiY2hlY2tsaXN0QW5kQW5ub3VuY2VtZW50c1wiXSxcclxuICAgIFtkYXRhLWFjdGl2ZS1kaWFsb2c9XCJmYXFcIl0sXHJcbiAgICBbZGF0YS1hY3RpdmUtZGlhbG9nPVwiZ2xvc3NhcnlcIl0sXHJcbiAgICBbZGF0YS1hY3RpdmUtZGlhbG9nPVwiYWNoaWV2ZW1lbnRzXCJdLFxyXG4gICAgW2RhdGEtYWN0aXZlLWRpYWxvZz1cInJlc291cmNlc1wiXSxcclxuICAgIFtkYXRhLWFjdGl2ZS1kaWFsb2c9XCJmYXFDb25maXJtUXVlc3Rpb25NZXNzYWdlXCJdLFxyXG4gICAgW2RhdGEtYWN0aXZlLWRpYWxvZz1cImZhcVF1ZXN0aW9uU3VibWl0dGVkTWVzc2FnZVwiXSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQGZ1bmN0aW9uIHdjYWctY29udHJhc3QtcmF0aW8oJGNvbG9yMSwgJGNvbG9yMikge1xyXG4gICRsMTogd2NhZy1sdW1pbmFuY2UoJGNvbG9yMSkgKyAwLjA1O1xyXG4gICRsMjogd2NhZy1sdW1pbmFuY2UoJGNvbG9yMikgKyAwLjA1O1xyXG4gICRyYXRpbzogbWF0aC5kaXYoJGwxLCAkbDIpO1xyXG5cclxuICBAaWYgJGwyID4gJGwxIHtcclxuICAgICRyYXRpbzogbWF0aC5kaXYoMSwgJHJhdGlvKTtcclxuICB9XHJcblxyXG4gIEByZXR1cm4gJHJhdGlvO1xyXG59XHJcblxyXG4vLy8gUmV0dXJucyB0aGUgbHVtaW5hbmNlIG9mIGAkY29sb3JgIGFzIGEgZmxvYXQgKGJldHdlZW4gMCBhbmQgMSlcclxuLy8vIDEgaXMgcHVyZSB3aGl0ZSwgMCBpcyBwdXJlIGJsYWNrXHJcbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBDb2xvclxyXG4vLy8gQHJldHVybiB7TnVtYmVyfVxyXG4vLy8gQGxpbmsgaHR0cDovL3d3dy53My5vcmcvVFIvMjAwOC9SRUMtV0NBRzIwLTIwMDgxMjExLyNyZWxhdGl2ZWx1bWluYW5jZWRlZiBSZWZlcmVuY2VcclxuQGZ1bmN0aW9uIHdjYWctbHVtaW5hbmNlKCRjb2xvcikge1xyXG4gICRjb2xvcnM6IChcclxuICAgIFwicmVkXCI6IHJlZCgkY29sb3IpLFxyXG4gICAgXCJncmVlblwiOiBncmVlbigkY29sb3IpLFxyXG4gICAgXCJibHVlXCI6IGJsdWUoJGNvbG9yKVxyXG4gICk7XHJcblxyXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJGNvbG9ycyB7XHJcbiAgICAkYWRqdXN0ZWQ6IDA7XHJcbiAgICAkdmFsdWU6IG1hdGguZGl2KCR2YWx1ZSwgMjU1KTtcclxuXHJcbiAgICBAaWYgJHZhbHVlIDwgMC4wMzkyOCB7XHJcbiAgICAgICR2YWx1ZTogbWF0aC5kaXYoJHZhbHVlLCAxMi45Mik7XHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgJHZhbHVlOiBtYXRoLmRpdigoJHZhbHVlICsgMC4wNTUpLCAxLjA1NSk7XHJcbiAgICAgICR2YWx1ZTogbWF0aC5wb3coJHZhbHVlLCAyLjQpO1xyXG4gICAgfVxyXG5cclxuICAgICRjb2xvcnM6IG1hcC1tZXJnZShcclxuICAgICAgJGNvbG9ycyxcclxuICAgICAgKFxyXG4gICAgICAgICRuYW1lOiAkdmFsdWVcclxuICAgICAgKVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIEByZXR1cm4gKG1hcC1nZXQoJGNvbG9ycywgXCJyZWRcIikgKiAwLjIxMjYpICsgKG1hcC1nZXQoJGNvbG9ycywgXCJncmVlblwiKSAqIDAuNzE1MikgKyAobWFwLWdldCgkY29sb3JzLCBcImJsdWVcIikgKiAwLjA3MjIpO1xyXG59XHJcblxyXG4vKiogREVGQVVMVCBPVkVSUklERVMgKiovXHJcblxyXG4vLy8gUmVtb3ZlIGFsbCBkZWZhdWx0IHN0eWxlcyBmcm9tIGJ1dHRvbnNcclxuLy8vIEBhdXRob3IgS291cnRuZXkgU3RyaWNrbGFuZFxyXG5AbWl4aW4gcmVzZXRCdXR0b24oKSB7XHJcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgYm9yZGVyOiAwcHg7XHJcbiAgYm94LXNoYWRvdzogbm9uZTtcclxuICBvdXRsaW5lOiAwcHg7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgdGV4dC1hbGlnbjogdW5zZXQ7XHJcbiAgYWxpZ24taXRlbXM6IHVuc2V0O1xyXG4gIHBhZGRpbmc6IDBweDtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgY29sb3I6IHVuc2V0O1xyXG59XHJcblxyXG4vLy8gQXBwbHkgc3R5bGluZyB0byBhIHBhcmVudCBiYXNlZCBvbiBudW1iZXIgb2YgY2hpbGRyZW4uXHJcbi8vLyBAYXV0aG9yIEJlbiBSaWNoYXJkc29uXHJcbi8vLyBAcGFyYW0ge251bWJlcn0gJG51bSAtIFRoZSBudW1iZXIgb2YgY2hpbGRyZW4gdG8gY2hlY2suXHJcbi8vLyBAcGFyYW0ge2Jvb2xlYW59ICRvck1vcmUgW2ZhbHNlXSAtIEFwcGxpZXMgaWYgZWxlbWVudCBoYXMgYWJvdmUgdGhlIGdpdmVuIG51bWJlciBvZiBjaGlsZHJlbi5cclxuLy8vIEBwYXJhbSB7Ym9vbGVhbn0gJG9yTGVzcyBbZmFsc2VdIC0gQXBwbGllcyBpZiBlbGVtZW50IGhhcyBiZWxvdyB0aGUgZ2l2ZW4gbnVtYmVyIG9mIGNoaWxkcmVuLlxyXG4vLy8gQGxpbmsgaHR0cHM6Ly9jc3MtdGlwLmNvbS9udW1iZXItZWxlbWVudHMtaGFzLXNlbGVjdG9yL1xyXG5AbWl4aW4gaGFzTnVtYmVyT2ZDaGlsZHJlbigkbnVtLCAkb3JNb3JlOiBmYWxzZSwgJG9yTGVzczogZmFsc2UpIHtcclxuICBAaWYgKCRvck1vcmUgPT0gdHJ1ZSBhbmQgJG9yTGVzcyA9PSB0cnVlKSB7XHJcbiAgICBAZXJyb3IgXCJBYm92ZSBhbmQgYmVsb3cgY2Fubm90IGJvdGggYmUgdHJ1ZS5cIjtcclxuICB9XHJcbiAgQGlmICgkbnVtID09IDApIHtcclxuICAgICY6bm90KDpoYXMoKikpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfSBAZWxzZSB7XHJcbiAgICBAaWYgKCRvck1vcmUgPT0gdHJ1ZSkge1xyXG4gICAgICAmOmhhcyg+IDpudGgtY2hpbGQoI3skbnVtfSkpIHtcclxuICAgICAgICBAY29udGVudDtcclxuICAgICAgfVxyXG4gICAgfSBAZWxzZSBpZiAoJG9yTGVzcyA9PSB0cnVlKSB7XHJcbiAgICAgICY6aGFzKD4gOmxhc3QtY2hpbGQ6bnRoLWNoaWxkKC1uICsgI3skbnVtfSkpIHtcclxuICAgICAgICBAY29udGVudDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgJjpoYXMoPiA6bGFzdC1jaGlsZDpudGgtY2hpbGQoI3skbnVtfSkpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5AZnVuY3Rpb24gZW0oJHBpeGVscykge1xyXG4gIEBpZiBub3QodW5pdCgkcGl4ZWxzKSA9PSBcInB4XCIpIHtcclxuICAgIEBlcnJvciAnUHJvcGVydHkgI3skcGl4ZWxzfSBtdXN0IGhhdmUgYHB4YCB1bml0Lic7XHJcbiAgfVxyXG5cclxuICBAcmV0dXJuIG1hdGguZGl2KCRwaXhlbHMsIDE2cHgpICogMWVtO1xyXG59IiwiQGZvcndhcmQgXCJnbG9iYWxNaXhpbnNcIjtcclxuQHVzZSBcImdsb2JhbE1peGluc1wiIGFzICo7XHJcbkB1c2UgXCJ2YXJpYWJsZXNcIiBhcyAqO1xyXG5AdXNlIFwic2FzczptYXRoXCI7XHJcblxyXG5AbWl4aW4gYnV0dG9uKCRjb2xvcjogJHNlY29uZGFyeSwgJGhvdmVyQ29sb3I6ICRhbHQpIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICBwYWRkaW5nOiAwLjdlbSAxLjVlbTtcclxuICBib3JkZXItd2lkdGg6IDA7XHJcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuICBib3JkZXItY29sb3I6IGRhcmtlbigkY29sb3IsIDEwJSk7XHJcbiAgbGluZS1oZWlnaHQ6IDEuMWVtO1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICBib3JkZXItcmFkaXVzOiAwO1xyXG4gIGZvbnQtZmFtaWx5OiAkcHJpbWFyeUZvbnQ7XHJcbiAgZm9udC13ZWlnaHQ6IDkwMDtcclxuICBvdXRsaW5lLW9mZnNldDogMDtcclxuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgdHJhbnNpdGlvbjogYWxsICR2ZXJ5RmFzdDtcclxuICBAaW5jbHVkZSBiZ1dpdGhDb250cmFzdCgkY29sb3IpO1xyXG5cclxuICBAaW5jbHVkZSBob3ZlckFuZEZvY3VzIHtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wMyk7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICBAaW5jbHVkZSBiZ1dpdGhDb250cmFzdCgkaG92ZXJDb2xvcik7XHJcbiAgICBib3JkZXItY29sb3I6IGRhcmtlbigkaG92ZXJDb2xvciwgMTAlKTtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICB9XHJcblxyXG4gICZbZGlzYWJsZWRdLFxyXG4gICZbYXJpYS1kaXNhYmxlZD1cInRydWVcIl0ge1xyXG4gICAgb3BhY2l0eTogMC41O1xyXG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBjaGVja2JveCgkc2l6ZTogMWVtLCAkYm9yZGVyQ29sb3I6ICRhY2NlbnQsICRzZWxlY3RlZENvbG9yOiAkcHJpbWFyeSwgJHNlbGVjdGVkQm9yZGVyOiAkc2VsZWN0ZWRDb2xvcikge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBtYXJnaW46IDA7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG5cclxuICBAc3VwcG9ydHMgKGFwcGVhcmFuY2U6IG5vbmUpIHtcclxuICAgIGFwcGVhcmFuY2U6IG5vbmU7XHJcbiAgICB3aWR0aDogJHNpemU7XHJcbiAgICBoZWlnaHQ6ICRzaXplO1xyXG4gICAgbWluLXdpZHRoOiAkc2l6ZTtcclxuICAgIG1pbi1oZWlnaHQ6ICRzaXplO1xyXG5cclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6IDNweDtcclxuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuICAgICAgYm9yZGVyLXdpZHRoOiAycHg7XHJcbiAgICAgIGJvcmRlci1jb2xvcjogJGJvcmRlckNvbG9yO1xyXG4gICAgICBiYWNrZ3JvdW5kOiAkbGlnaHQ7XHJcblxyXG4gICAgICB0cmFuc2l0aW9uOiBhbGwgJHZlcnlGYXN0O1xyXG4gICAgfVxyXG5cclxuICAgICY6YWZ0ZXIge1xyXG4gICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIHRvcDogMDtcclxuICAgICAgbGVmdDogMDtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIGhlaWdodDogMTAwJTtcclxuXHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG5cclxuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnRcclxuICAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSFpwWlhkQ2IzZzkgSWpBZ01DQXpNVFl1TXpnZ01qVXdMallpUGp4d1lYUm9JR1E5SWswM01DNDBJREl4T1M0NFl6UXVOVFVnTkM0NCBOeUE1TGpJeUlEa3VOamNnTVRRdU1USWdNVFF1TVRrZ015NDNOU0F6TGpRM0lEY3VOekVnTmk0NE5TQXhNUzQ1IE15QTVMamMwSURVdU5TQXpMamM0SURFeExqa3lJRGN1TURnZ01UZ3VOemdnTmk0NE5TQTJMalkyTFM0eU15QXggTWk0M055MHpMamN6SURFM0xqazNMVGN1TmpJZ09DNDJMVFl1TkRJZ01UWXVOamN0TVRVdU1UY2dNak11T0RRdCBNak11TVRSTU16QTFMalk0SURVMExqWTVZemN1TWkwNElERXhMamM1TFRFNExqSTFJREV3TGpRM0xUSTVMakUzIExURXVNRFF0T0M0MU9TMDFMamN4TFRFMkxqVTFMVEV6TGpBeExUSXhMakk1TFRVdU5qVXRNeTQyTnkweE1pNHkgTmkwMExqazRMVEU0TGprdE15NDRNaTA0TGprZ01TNDFOaTB4Tmk0MU5DQTNMakl5TFRJeUxqUTRJREV6TGpjNCBMVFE0TGpNMElEVXpMak15TFRrMkxqVTVJREV3Tmk0M01TMHhORFF1T0RVZ01UWXdMakV4YkMwekxqRTVJRE11IE5UTXROakF1TkMwMk5pNDJNMk10T0M0ME1pMDVMakk1TFRFNUxqY3RNVE11T1RRdE16RXVPVEl0T1M0MU55MDAgTGpjeUlERXVOamt0T0M0NU9TQTBMalU0TFRFeUxqUTFJRGd1TVRrdE15NDROaUEwTGpBMExUWXVOemdnT1M0dyBOaTA0TGpFeklERTBMalE1TFRJdU16RWdPUzR5Tnk0eklERTRMakEzSURZdU5qSWdNalV1TVROc05qSXVPVFVnIE56QXVNelZhSWlCemRIbHNaVDBpWm1sc2JDMXlkV3hsT21WMlpXNXZaR1FpTHo0OEwzTjJaejRLXCIpXHJcbiAgICAgICAgbm8tcmVwZWF0O1xyXG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDcwJTtcclxuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTtcclxuICAgICAgdHJhbnNpdGlvbjogYWxsICR2ZXJ5RmFzdDtcclxuICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgQGlmIChjb250cmFzdCgkc2VsZWN0ZWRDb2xvcikgPT0gd2hpdGUpIHtcclxuICAgICAgICBmaWx0ZXI6IGludmVydCgxKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICY6Y2hlY2tlZCB7XHJcbiAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICBib3JkZXItY29sb3I6ICRzZWxlY3RlZEJvcmRlcjtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2VsZWN0ZWRDb2xvcjtcclxuICAgICAgfVxyXG5cclxuICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICZbZGlzYWJsZWRdIHtcclxuICAgICAgb3BhY2l0eTogMC4zO1xyXG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xyXG5cclxuICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGJhc2ljLCAwLjgpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gcmFkaW8oJHNpemU6IDFlbSwgJHNlbGVjdGVkQ29sb3I6ICRwcmltYXJ5LCAkYm9yZGVyQ29sb3I6ICRiYXNpYywgJHNlbGVjdGVkQm9yZGVyOiAkc2VsZWN0ZWRDb2xvcikge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBtYXJnaW46IDA7XHJcbiAgYm94LXNoYWRvdzogbm9uZTtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcblxyXG4gIEBzdXBwb3J0cyAoYXBwZWFyYW5jZTogbm9uZSkge1xyXG4gICAgYXBwZWFyYW5jZTogbm9uZTtcclxuICAgIHdpZHRoOiAkc2l6ZTtcclxuICAgIGhlaWdodDogJHNpemU7XHJcbiAgICBtaW4td2lkdGg6ICRzaXplO1xyXG4gICAgbWluLWhlaWdodDogJHNpemU7XHJcblxyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuICAgICAgYm9yZGVyLXdpZHRoOiAycHg7XHJcbiAgICAgIGJvcmRlci1jb2xvcjogJGJvcmRlckNvbG9yO1xyXG4gICAgICBiYWNrZ3JvdW5kOiAkbGlnaHQ7XHJcblxyXG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICAgIHRyYW5zaXRpb246IGFsbCAkdmVyeUZhc3Q7XHJcbiAgICB9XHJcblxyXG4gICAgJjphZnRlciB7XHJcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgdG9wOiA1MCU7XHJcbiAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgICAgIHotaW5kZXg6IDU7XHJcblxyXG4gICAgICB3aWR0aDogMDtcclxuICAgICAgaGVpZ2h0OiAwO1xyXG5cclxuICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgICB0cmFuc2l0aW9uOiBhbGwgJHZlcnlGYXN0O1xyXG4gICAgfVxyXG5cclxuICAgICY6Y2hlY2tlZCB7XHJcbiAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICBib3JkZXItY29sb3I6ICRzZWxlY3RlZEJvcmRlcjtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2VsZWN0ZWRDb2xvcjtcclxuICAgICAgfVxyXG5cclxuICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb250cmFzdCgkc2VsZWN0ZWRDb2xvcik7XHJcbiAgICAgICAgd2lkdGg6IDEwMCUgKiAwLjQ1O1xyXG4gICAgICAgIGhlaWdodDogMTAwJSAqIDAuNDU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmW2Rpc2FibGVkXSB7XHJcbiAgICAgIG9wYWNpdHk6IDAuMztcclxuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcclxuXHJcbiAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBsaWdodGVuKCRiYXNpYywgNzUlKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQG1peGluIHN3aXRjaCgkc2l6ZTogMS4yNWVtLCAkY29sb3I6ICRiYXNpYywgJHNlbGVjdGVkQ29sb3I6ICRwcmltYXJ5KSB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIG1hcmdpbjogMDtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcblxyXG4gIEBzdXBwb3J0cyAoYXBwZWFyYW5jZTogbm9uZSkge1xyXG4gICAgJGtub2JTaXplOiBjYWxjKCN7JHNpemV9IC0gOHB4KTtcclxuICAgIGFwcGVhcmFuY2U6IG5vbmU7XHJcbiAgICB3aWR0aDogMS4yNWVtICogMjtcclxuICAgIGhlaWdodDogJHNpemU7XHJcbiAgICBtaW4td2lkdGg6IDEuMjVlbSAqIDI7XHJcbiAgICBtaW4taGVpZ2h0OiAkc2l6ZTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDUwcHg7XHJcbiAgICBib3JkZXI6IDJweCBzb2xpZCAkY29sb3I7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQ7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgJGZhc3Q7XHJcblxyXG4gICAgLyogVGhlIHRvZ2dsZSBrbm9iICovXHJcbiAgICAmOmFmdGVyIHtcclxuICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICB0b3A6IDUwJTtcclxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgICBsZWZ0OiAycHg7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgICAgd2lkdGg6ICRrbm9iU2l6ZTtcclxuICAgICAgaGVpZ2h0OiAka25vYlNpemU7XHJcbiAgICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcclxuICAgICAgdHJhbnNpdGlvbjogYWxsICRmYXN0O1xyXG4gICAgfVxyXG5cclxuICAgIC8qIENoYW5nZSBjb2xvciBhbmQgcG9zaXRpb24gd2hlbiBjaGVja2VkICovXHJcbiAgICAmOmNoZWNrZWQge1xyXG4gICAgICBiYWNrZ3JvdW5kOiAkc2VsZWN0ZWRDb2xvcjtcclxuICAgICAgYm9yZGVyOiAycHggc29saWQgJHNlbGVjdGVkQ29sb3I7XHJcbiAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgIGxlZnQ6IGNhbGMoMTAwJSAtICN7JGtub2JTaXplfSAtIDJweCk7XHJcbiAgICAgICAgYmFja2dyb3VuZDogY29udHJhc3QoJHNlbGVjdGVkQ29sb3IpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLyogRHJvcCB0aGUgb3BhY2l0eSBvZiB0aGUgdG9nZ2xlIGtub2Igd2hlbiB0aGUgaW5wdXQgaXMgZGlzYWJsZWQgKi9cclxuICAgICY6ZGlzYWJsZWQge1xyXG4gICAgICBvcGFjaXR5OiAwLjQ7XHJcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gdG9nZ2xlQnRuQm94KCRjb2xvcjogJHByaW1hcnksICRzZWxlY3RlZENvbG9yOiAkc2Vjb25kYXJ5LCAkc2VsZWN0ZWRUb2dnbGVDb2xvcjogJHByaW1hcnkpIHtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICB3aWR0aDogZml0LWNvbnRlbnQ7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIHBhZGRpbmc6IDE1cHggMjBweCAxNXB4IGVtKDgycHgpO1xyXG4gIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgQGluY2x1ZGUgYmdXaXRoQ29udHJhc3QoJGNvbG9yKTtcclxuICBmb250LXdlaWdodDogNzAwO1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxuICB0cmFuc2l0aW9uOiAyMDBtcztcclxuXHJcbiAgLnRvZ2dsZSB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogNTAlO1xyXG4gICAgbGVmdDogZW0oMTZweCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICBoZWlnaHQ6IGVtKDMwcHgpO1xyXG4gICAgd2lkdGg6IGVtKDUycHgpO1xyXG4gICAgYm9yZGVyLXJhZGl1czogZW0oNTBweCk7XHJcbiAgICBwYWRkaW5nOiBlbSg0cHgpO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0O1xyXG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAxLjVweCAzcHggcmdiKDAgMCAwIC8gMC4xNSk7XHJcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNHMgbGluZWFyO1xyXG5cclxuICAgIC5pbm5lciB7XHJcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0O1xyXG4gICAgICB3aWR0aDogZW0oMjJweCk7XHJcbiAgICAgIGhlaWdodDogZW0oMjJweCk7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcclxuICAgICAgYm94LXNoYWRvdzpcclxuICAgICAgICAwIGVtKDFweCkgZW0oMi41cHgpIHJnYigwIDAgMCAvIDAuMyksXHJcbiAgICAgICAgaW5zZXQgMCBlbSgtMXB4KSBlbSgycHgpIHJnYigwIDAgMCAvIDAuMTUpO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4zcztcclxuXHJcbiAgICAgIGFuaW1hdGlvbi1uYW1lOiB0b2dnbGUtZ3Jvdy1vdXQsIHRvZ2dsZS1ib3VuY2Utb3V0O1xyXG4gICAgICBhbmltYXRpb24tZHVyYXRpb246IDAuMnM7XHJcbiAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc1LCAwLCAxLCAxKSwgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMywgMS41KTtcclxuICAgICAgYW5pbWF0aW9uLWRlbGF5OiAwcywgMC4ycztcclxuICAgICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuc2hvd0FsbCB7XHJcbiAgICBmb250LXNpemU6IDEuMmVtO1xyXG4gIH1cclxuXHJcbiAgJlthcmlhLXByZXNzZWQ9XCJ0cnVlXCJdIHtcclxuICAgIEBpbmNsdWRlIGJnV2l0aENvbnRyYXN0KCRzZWxlY3RlZENvbG9yKTtcclxuICAgIC50b2dnbGUge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2VsZWN0ZWRUb2dnbGVDb2xvcjtcclxuICAgICAgLmlubmVyIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQ7XHJcbiAgICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjJzO1xyXG4gICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc1LCAwLCAxLCAxKSwgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMywgMS41KTtcclxuICAgICAgICBhbmltYXRpb24tZGVsYXk6IDBzLCAwLjJzO1xyXG4gICAgICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xyXG4gICAgICAgIGFuaW1hdGlvbi1uYW1lOiB0b2dnbGUtZ3Jvdy1pbiwgdG9nZ2xlLWJvdW5jZS1pbjtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyB0b2dnbGUtZ3Jvdy1pbiB7XHJcbiAgMCUge1xyXG4gICAgYm9yZGVyLXJhZGl1czogZW0oMTFweCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCkgc2NhbGUoMSk7XHJcbiAgfVxyXG4gIDEwMCUge1xyXG4gICAgYm9yZGVyLXJhZGl1czogZW0obWF0aC5kaXYoMSwgbWF0aC5kaXYoMzQsIDIyKSkgKiAxMXB4KSAje1wiL1wifSBlbShtYXRoLmRpdigxLCBtYXRoLmRpdigxNiwgMjIpKSAqIDExcHgpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGVtKDhweCkpIHNjYWxlKG1hdGguZGl2KDM0LCAyMiksIG1hdGguZGl2KDE2LCAyMikpO1xyXG4gIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyB0b2dnbGUtYm91bmNlLWluIHtcclxuICAwJSB7XHJcbiAgICBib3JkZXItcmFkaXVzOiBlbShtYXRoLmRpdigxLCBtYXRoLmRpdigzNCwgMjIpKSAqIDExcHgpICN7XCIvXCJ9IGVtKG1hdGguZGl2KDEsIG1hdGguZGl2KDE2LCAyMikpICogMTFweCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoZW0oOHB4KSkgc2NhbGUobWF0aC5kaXYoMzQsIDIyKSwgbWF0aC5kaXYoMTYsIDIyKSk7XHJcbiAgfVxyXG4gIDEwMCUge1xyXG4gICAgYm9yZGVyLXJhZGl1czogZW0oMTFweCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSkgc2NhbGUoMSk7XHJcbiAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIHRvZ2dsZS1ncm93LW91dCB7XHJcbiAgMCUge1xyXG4gICAgYm9yZGVyLXJhZGl1czogZW0oMTFweCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSkgc2NhbGUoMSk7XHJcbiAgfVxyXG4gIDEwMCUge1xyXG4gICAgYm9yZGVyLXJhZGl1czogZW0obWF0aC5kaXYoMSwgbWF0aC5kaXYoMzQsIDIyKSkgKiAxMXB4KSAje1wiL1wifSBlbShtYXRoLmRpdigxLCBtYXRoLmRpdigxNiwgMjIpKSAqIDExcHgpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGVtKDJweCkpIHNjYWxlKG1hdGguZGl2KDM0LCAyMiksIG1hdGguZGl2KDE2LCAyMikpO1xyXG4gIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyB0b2dnbGUtYm91bmNlLW91dCB7XHJcbiAgMCUge1xyXG4gICAgYm9yZGVyLXJhZGl1czogZW0obWF0aC5kaXYoMSwgbWF0aC5kaXYoMzQsIDIyKSkgKiAxMXB4KSAje1wiL1wifSBlbShtYXRoLmRpdigxLCBtYXRoLmRpdigxNiwgMjIpKSAqIDExcHgpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGVtKDJweCkpIHNjYWxlKG1hdGguZGl2KDM0LCAyMiksIG1hdGguZGl2KDE2LCAyMikpO1xyXG4gIH1cclxuICAxMDAlIHtcclxuICAgIGJvcmRlci1yYWRpdXM6IGVtKDExcHgpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApIHNjYWxlKDEpO1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGJ1dHRvbkFEQSgkY29sb3I6ICRwcmltYXJ5LCAkaG92ZXJDb2xvcjogJEFEQWhvdmVyKSB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gIHBhZGRpbmc6IDAuNmVtIDEuMmVtO1xyXG4gIGJvcmRlcjogMnB4IHNvbGlkICRsaWdodEdyZXk7XHJcblxyXG4gIGxpbmUtaGVpZ2h0OiAxLjFlbTtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgYm9yZGVyLXJhZGl1czogJHJhZGl1cztcclxuICBmb250LWZhbWlseTogJGJhc2ljRm9udDtcclxuICBvdXRsaW5lLW9mZnNldDogMDtcclxuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgdHJhbnNpdGlvbjogYWxsICR2ZXJ5RmFzdDtcclxuICBAaW5jbHVkZSBiZ1dpdGhDb250cmFzdCgkY29sb3IpO1xyXG5cclxuICAmW2Rpc2FibGVkXSxcclxuICAmW2FyaWEtZGlzYWJsZWQ9XCJ0cnVlXCJdIHtcclxuICAgIG9wYWNpdHk6IDAuNTtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIGhvdmVyQW5kRm9jdXMge1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgJjpub3QoW2Rpc2FibGVkXSk6bm90KFthcmlhLWRpc2FibGVkPVwidHJ1ZVwiXSkge1xyXG4gICAgICBAaW5jbHVkZSBiZ1dpdGhDb250cmFzdCgkaG92ZXJDb2xvcik7XHJcbiAgICAgIGJvcmRlci1jb2xvcjogJGxpZ2h0R3JleTtcclxuICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCJAdXNlIFwidmFyaWFibGVzXCIgYXMgKjtcclxuQHVzZSBcIm1peGluc1wiIGFzICo7XHJcblxyXG4vLyBCb3ggc2l6aW5nIHJ1bGVzXHJcbiosXHJcbio6OmJlZm9yZSxcclxuKjo6YWZ0ZXIge1xyXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbn1cclxuXHJcbi8vIEZvY3VzIHN0eWxlc1xyXG4qIHtcclxuICAmOmZvY3VzLXZpc2libGUsXHJcbiAgJi5mb2N1cy12aXNpYmxlIHtcclxuICAgIG91dGxpbmU6IDAuMTZlbSBzb2xpZCB3aGl0ZSAhaW1wb3J0YW50O1xyXG4gICAgYm94LXNoYWRvdzogMCAwIDAgMC4zMmVtIGJsYWNrICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG59XHJcblxyXG4vLyBSZW1vdmUgYWxsIGFuaW1hdGlvbnMgYW5kIHRyYW5zaXRpb25zIGZvciBwZW9wbGUgdGhhdCBwcmVmZXIgbm90IHRvIHNlZSB0aGVtXHJcbi8vIEhvd2V2ZXIsIHdlJ3JlIG5vIGxvbmdlciByZWFkaW5nIHRoZSBicm93c2VyIHByZWZlcmVuY2UgYW5kIHJlbHlpbmcgc29sZWx5IG9uIHRoZSB1c2VyJ3Mgc3RvcmVkIHByZWZlcmVuY2UuXHJcbi8vIEtlZXBpbmcgdGhpcyBjb2RlIGNvbW1lbnRlZCBvdXQgZm9yIHBvc3Rlcml0eSBiZWNhdXNlIHRoZSBqYXZhc2NyaXB0IGxvZ2ljIHdhcyB0cmlja3kgYW5kIGluIGNhc2Ugd2UgbmVlZCBpdCBhZ2Fpbi5cclxuLy8gQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcclxuLy8gICBib2R5Om5vdChbZGF0YS1yZWR1Y2UtYW5pbWF0aW9uPVwiZmFsc2VcIl0pIHtcclxuLy8gICAgICosXHJcbi8vICAgICAqOjpiZWZvcmUsXHJcbi8vICAgICAqOjphZnRlciB7XHJcbi8vICAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMC4wMW1zICFpbXBvcnRhbnQ7XHJcbi8vICAgICAgIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IDEgIWltcG9ydGFudDtcclxuLy8gICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4wMW1zICFpbXBvcnRhbnQ7XHJcbi8vICAgICAgIHNjcm9sbC1iZWhhdmlvcjogYXV0byAhaW1wb3J0YW50O1xyXG4vLyAgICAgfVxyXG4vLyAgIH1cclxuLy8gfVxyXG5cclxuYm9keVtkYXRhLXJlZHVjZS1hbmltYXRpb249XCJ0cnVlXCJdIHtcclxuICAqLFxyXG4gICo6OmJlZm9yZSxcclxuICAqOjphZnRlciB7XHJcbiAgICBhbmltYXRpb24tZHVyYXRpb246IDAuMDFtcyAhaW1wb3J0YW50O1xyXG4gICAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogMSAhaW1wb3J0YW50O1xyXG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4wMW1zICFpbXBvcnRhbnQ7XHJcbiAgICBzY3JvbGwtYmVoYXZpb3I6IGF1dG8gIWltcG9ydGFudDtcclxuICB9XHJcbn1cclxuXHJcbmh0bWwge1xyXG4gIG1pbi1oZWlnaHQ6IDEwMHZoO1xyXG4gIG1hcmdpbjogMDtcclxuICBwYWRkaW5nOiAwO1xyXG4gIG92ZXJmbG93LXk6IGF1dG87XHJcbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xyXG59XHJcblxyXG5AaW5jbHVkZSBhY3RpdmVab25lKFwic2xpZGVzXCIpIHtcclxuICBvdmVyZmxvdy15OiBzY3JvbGw7XHJcbiAgc2Nyb2xsYmFyLWd1dHRlcjogc3RhYmxlO1xyXG59XHJcblxyXG4vLyBIaWRlIGh0bWwgc2Nyb2xsYmFyIHdoZW4gdGhlcmUncyBhbiBhY3RpdmUgZGlhbG9nLlxyXG5odG1sW2RhdGEtZGlhbG9nLWhpZGUtb3ZlcmZsb3c9XCJ0cnVlXCJdIHtcclxuICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbmJvZHkge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBtYXJnaW46IDA7XHJcbiAgcGFkZGluZzogMDtcclxuICBzY3JvbGwtYmVoYXZpb3I6IHNtb290aDtcclxuICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVTcGVlZDtcclxuICBsaW5lLWhlaWdodDogMS4xO1xyXG4gIGZvbnQtc2l6ZTogMTZweDtcclxuICBmb250LWZhbWlseTogJGJhc2ljRm9udDtcclxuXHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGhlaWdodDogMTAwJTtcclxufVxyXG5cclxuLy8gTWFrZSBpbWFnZXMgZWFzaWVyIHRvIHdvcmsgd2l0aFxyXG5pbWcge1xyXG4gIG1heC13aWR0aDogMTAwJTtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICBoZWlnaHQ6IGF1dG87XHJcbn1cclxuXHJcbi8vIE5hdHVyYWwgZmxvdyBhbmQgcmh5dGhtIGluIGFydGljbGVzIGJ5IGRlZmF1bHRcclxuYXJ0aWNsZSA+ICogKyAqIHtcclxuICBtYXJnaW4tdG9wOiAxZW07XHJcbn1cclxuXHJcbi8vIEluaGVyaXQgZm9udHMgZm9yIGlucHV0cyBhbmQgYnV0dG9uc1xyXG5pbnB1dCxcclxuYnV0dG9uLFxyXG50ZXh0YXJlYSxcclxuc2VsZWN0IHtcclxuICBmb250OiBpbmhlcml0O1xyXG59XHJcblxyXG5oMSxcclxuaDIsXHJcbmgzLFxyXG5oNCxcclxuaDUsXHJcbmg2IHtcclxuICBtYXJnaW46IDA7XHJcbn1cclxuXHJcbnAge1xyXG4gIG1hcmdpbjogMC4zNWVtIDAgMC44NWVtO1xyXG4gIGxpbmUtaGVpZ2h0OiAxLjU1ZW07XHJcbn1cclxuXHJcbm9sLFxyXG51bCB7XHJcbiAgdGV4dC1hbGlnbjogbGVmdDtcclxuICBtYXJnaW46IDAuNGVtIDAgMC43NWVtO1xyXG59XHJcblxyXG5saSB7XHJcbiAgbGluZS1oZWlnaHQ6IDEuNWVtO1xyXG59XHJcblxyXG5pZnJhbWUge1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgYm9yZGVyOiAycHggc29saWQgJGxpZ2h0R3JleTtcclxufVxyXG5cclxuYnV0dG9uIHtcclxuICBtYXJnaW46IDA7XHJcbiAgYm9yZGVyOiAwO1xyXG4gIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgcGFkZGluZzogMDtcclxuICBiYWNrZ3JvdW5kOiBub25lO1xyXG59XHJcblxyXG5hIHtcclxuICBAaW5jbHVkZSBjb2xvcldpdGhDb250cmFzdCgkc2Vjb25kYXJ5KTtcclxuICB0cmFuc2l0aW9uOiAkdmVyeUZhc3Q7XHJcblxyXG4gIEBpbmNsdWRlIGhvdmVyQW5kRm9jdXMge1xyXG4gICAgQGluY2x1ZGUgY29sb3JXaXRoQ29udHJhc3QoJGFjY2VudCk7XHJcbiAgfVxyXG5cclxuICAudGFyZ2V0QmxhbmtOb3RpZmllciB7XHJcbiAgICBAaW5jbHVkZSBzY3JlZW5SZWFkZXI7XHJcbiAgfVxyXG4gIC5pY29uLW1haWwge1xyXG4gICAgZm9udC1zaXplOiAwLjllbTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxcHgpO1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAwLjI1ZW07XHJcbiAgfVxyXG5cclxuICAuaWNvbi1leHRlcm5hbC1saW5rIHtcclxuICAgIGZvbnQtc2l6ZTogMC44ZW07XHJcbiAgICBtYXJnaW4tbGVmdDogMC4yNWVtO1xyXG4gIH1cclxufVxyXG5cclxuLy8gTUVESUEgUVVFUklFUyAmIEJST1dTRVItU1BFQ0lGSUMgQURKVVNUTUVOVFMgQkVMT1cgLy9cclxuXHJcbkBtZWRpYSAobWF4LXdpZHRoOiAkc20pIHtcclxuICBpZnJhbWUge1xyXG4gICAgYm9yZGVyOiBub25lO1xyXG4gIH1cclxufVxyXG4iLCIvLyBDb2xvcnNcclxuJHByaW1hcnk6ICM5M0MyRjg7IC8vIExpZ2h0IEJsdWVcclxuJHNlY29uZGFyeTogIzFENDE4RTsgLy8gQmx1ZVxyXG4kYWNjZW50OiAjMDAzMjVEOyAvLyBEYXJrIEJsdWVcclxuXHJcbiRhbHQ6ICNGRUQzNEM7IC8vIFllbGxvd1xyXG4kYWx0MjogI0U2MzY5MDsgLy8gUGlua1xyXG4kYWx0MzogIzkwMWE5ZDsgLy8gUHVycGxlXHJcbiRhbHQ0OiAjRkZBQzAwOyAvLyBHb2xkXHJcblxyXG4kcHJpbWFyeUhvdmVyOiBsaWdodGVuKCRwcmltYXJ5LCAxNSUpO1xyXG4kc2Vjb25kYXJ5SG92ZXI6IGRhcmtlbigkc2Vjb25kYXJ5LCAxMiUpO1xyXG5cclxuJGxpZ2h0OiAjZmZmOyAvLyBXaGl0ZVxyXG4kbGlnaHRHcmV5OiAjZWJlYmVjOyAvLyBMaWdodCBHcmV5XHJcbiRncmV5OiAjYTlhOWFkOyAvLyBHcmV5ICg1MH4lLCB1bnN1aXRhYmxlIGZvciB1c2Ugd2l0aCB0ZXh0KVxyXG4kZGFya0dyZXk6ICM1NDU0NWE7IC8vIERhcmsgR3JleSAoMjV+JSlcclxuJGJsYWNrOiAjMDAwMDAwOyAvLyBCbGFja1xyXG4kYmFzaWM6ICMzZjNmM2Y7IC8vIERhcmsgR3JleSAoMTB+JSlcclxuXHJcbiRsaW5rOiAkcHJpbWFyeTtcclxuXHJcbi8vSG92ZXIgY29sb3IgY2FuIGJlIGEgM3JkIGNvbG9yIGlzIHNjaG9vbCBoYXMgb25lXHJcbiRob3ZlcjogZGFya2VuKCRwcmltYXJ5LCAxMCUpO1xyXG4vL0FEQSBob3ZlciBuZWVkcyB0byBiZSBhIGNvbG9yIHRoYXQgY29udHJhc3RzIHdpdGhcclxuLy90aGUgcHJpbWFyeSBjb2xvciBidXQgYWxzbyBpcyBkYXJrIGVub3VnaCB0byBzZWUgd2hpdGUgYWdhaW5zdC5cclxuJEFEQWhvdmVyOiAkYmFzaWM7XHJcblxyXG4kd3Jvbmc6ICNFMDA3MDA7IC8vUmVkXHJcbiRjb3JyZWN0OiAjRDFFMDAwOyAvL0dyZWVuXHJcblxyXG4vLyBGb250c1xyXG4kcHJpbWFyeUZvbnQ6IFwiTm9haCBIZWFkXCIsIFwiSGVsdmV0aWNhTmV1ZVwiLCBcIkhlbHZldGljYSBOZXVlXCIsIFwiSGVsdmV0aWNhXCIsIFwiQXJpYWxcIiwgc2Fucy1zZXJpZjtcclxuJHNlY29uZGFyeUZvbnQ6IFwiSnVhbmFcIiwgc2VyaWY7XHJcbiRiYXNpY0ZvbnQ6IFwiTm9haCBUZXh0XCIsIFwiSGVsdmV0aWNhTmV1ZVwiLCBcIkhlbHZldGljYSBOZXVlXCIsIFwiSGVsdmV0aWNhXCIsIFwiQXJpYWxcIiwgc2Fucy1zZXJpZjtcclxuXHJcbiRnZW5lcmljRm9udDogXCJBcmlhbFwiLCBzYW5zLXNlcmlmO1xyXG5cclxuLy8gV2lkdGhzXHJcbiR0ZWVueTogMzgwcHg7XHJcbiR0aW55OiA0NTBweDtcclxuJHh4czogNTIwcHg7XHJcbiR4czogNjUwcHg7XHJcbiRzbTogODAwcHg7XHJcbiR0d2VlbjogOTAwcHg7XHJcbiRtZDogMTA1MHB4O1xyXG4kbWlkOiAxMTgwcHg7XHJcbiRsZzogMTI4MHB4O1xyXG4keGw6IDE0MjVweDtcclxuJHh4bDogMTcwMHB4O1xyXG5cclxuLy8gQW5pbWF0aW9uIFNwZWVkcyAtIHRoZXNlIGFsc28gbmVlZCB0byBiZSBjaGFuZ2VkIGluIGFuaW1hdGlvbi50cyBpZiBtb2RpZmllZFxyXG4kdmVyeUZhc3Q6IDIwMG1zO1xyXG4kZmFzdDogMzAwbXM7XHJcbiRtZWRpdW06IDUwMG1zO1xyXG4kc2xvdzogODAwbXM7XHJcbiR2ZXJ5U2xvdzogMTAwMG1zO1xyXG4kZ2xhY2lhbDogMzAwMG1zO1xyXG5cclxuJGljb25Gb250OiBcInNwZWxtYW5cIjtcclxuXHJcbi8vIE1pc2MuXHJcbiRzaGFkb3c6XHJcbiAgMCAwLjhweCAxLjdweCByZ2JhKDAsIDAsIDAsIDAuMDE0KSxcclxuICAwIDEuOXB4IDQuMXB4IHJnYmEoMCwgMCwgMCwgMC4wMiksXHJcbiAgMCAzLjZweCA3LjhweCByZ2JhKDAsIDAsIDAsIDAuMDI1KSxcclxuICAwIDYuNXB4IDEzLjhweCByZ2JhKDAsIDAsIDAsIDAuMDMpLFxyXG4gIDAgMTIuMXB4IDI1LjlweCByZ2JhKDAsIDAsIDAsIDAuMDM2KSxcclxuICAwIDI5cHggNjJweCByZ2JhKDAsIDAsIDAsIDAuMDUpO1xyXG4kcmFkaXVzOiAwO1xyXG5cclxuJHRpbWluZ0Z1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4zMiwgLTAuMDUsIDAsIDEuMDUpO1xyXG4kdGltaW5nQm91bmNlOiBjdWJpYy1iZXppZXIoMC40LCAtMC40OCwgMC4zNSwgMi4yKTtcclxuXHJcbi8vIEVsZW1lbnRzXHJcbiRwcm9ncmVzczogMjBweDtcclxuJGhlYWRlckhlaWdodDogMTAwcHg7XHJcbiRmb290ZXJIZWlnaHQ6IDQ1cHg7XHJcbiRpbmZvU2l6ZTogNTBweDtcclxuJHNtSGVhZGVyOiA2MHB4O1xyXG4kbWF4V2lkdGg6IDE2MDBweDtcclxuLy9CYXNlZCBvbiB0aGUgbG9nbywgYWRqdXN0IHRoaXMgbWF4IHdpZHRoIGZvciBBREEgcmVzcG9uc2l2ZVxyXG4kbG9nb0FEQU1heDogMjc1cHg7XHJcbiIsIkB1c2UgXCJtaXhpbnNcIiBhcyAqO1xyXG5AdXNlIFwidmFyaWFibGVzXCIgYXMgKjtcclxuXHJcbi8vIEJFR0lOIEJBU0UgU1RZTEVTIC0gRE8gTk9UIENIQU5HRSBUSEVTRSBVTkxFU1MgWU9VIEtOT1cgV0hBVCBZT1UnUkUgRE9JTkcgLy9cclxuXHJcbndpbGxpcy16b25lIHtcclxuICBkaXNwbGF5OiBibG9jaztcclxufVxyXG5cclxuW2luZXJ0XSB7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxufVxyXG5cclxud2lsbGlzLWRpYWxvZzpub3QoW2RhdGEtb3Blbj1cInRydWVcIl0pIHtcclxuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5kaWFsb2dCYWNrZHJvcCB7XHJcbiAgcG9zaXRpb246IGZpeGVkO1xyXG4gIHRvcDogMDtcclxuICBsZWZ0OiAwO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGhlaWdodDogMTAwJTtcclxuXHJcbiAgLnNsaWRlICYge1xyXG4gICAgaGVpZ2h0OiAxMDAlOyAvL0FwcGxpZWQgdGhpcyBiZWNhdXNlIG9mIGlzc3VlcyByZXNwb25zaXZsZXkgd2l0aCBkaWFsb2dzIHdpdGhpbiB0aGUgc2xpZGVzIGF0IHNtYWxsZXIgc2NyZWVuIHNpemVzLiBJZiBpdCBtZXNzZXMgdGhpbmdzIHVwLCB3ZSBjYW4gcmVtb3ZlLiAtIEtTXHJcbiAgfVxyXG59XHJcblxyXG4uZGlhbG9nSW5uZXIge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG5cclxuLmRpYWxvZ0xhYmVsIGgyIHtcclxufVxyXG5cclxuW2RhdGEtZGlhbG9nLXN0eWxlPVwibW9kYWxcIl0ge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBvdmVyZmxvdy15OiBhdXRvO1xyXG4gIEBpbmNsdWRlIHNjcm9sbGJhcjtcclxuXHJcbiAgZGl2W3JvbGU9XCJkaWFsb2dcIl0ge1xyXG4gICAgd2lkdGg6IDU4MHB4O1xyXG4gICAgbWFyZ2luOiBhdXRvO1xyXG5cclxuICAgICYucmVwb3J0TmVlZGVkIHtcclxuICAgICAgLy9VbmlxdWUgc3R5bGluZyBmb3IgdGhlIFJlcG9ydCBhIEJhcnJpZXIgZmVhdHVyZS4gLSBERlRcclxuICAgICAgd2lkdGg6IDgwJTtcclxuICAgICAgbWF4LXdpZHRoOiAxMDAwcHg7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5bZGF0YS1kaWFsb2ctc3R5bGU9XCJsYXJnZU1vZGFsXCJdIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgb3ZlcmZsb3cteTogYXV0bztcclxuICBAaW5jbHVkZSBzY3JvbGxiYXI7XHJcblxyXG4gIGRpdltyb2xlPVwiZGlhbG9nXCJdIHtcclxuICAgIHdpZHRoOiA4MDBweDtcclxuICAgIG1heC13aWR0aDogMTAwdnc7XHJcbiAgICBtYXJnaW46IGF1dG87XHJcbiAgfVxyXG59XHJcblxyXG5bZGF0YS1kaWFsb2ctc3R5bGU9XCJzaGFkZVwiXSB7XHJcbiAgb3ZlcmZsb3cteTogc2Nyb2xsO1xyXG5cclxuICBkaXZbcm9sZT1cImRpYWxvZ1wiXSB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIEBpbmNsdWRlIGJnV2l0aENvbnRyYXN0KCRwcmltYXJ5KTtcclxuXHJcbiAgICAuZGlhbG9nTGFiZWwge1xyXG4gICAgICBtYXgtd2lkdGg6IDgwMHB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5kaWFsb2dDb250ZW50IHtcclxuICAgICAgbWF4LXdpZHRoOiA4MDBweDtcclxuICAgIH1cclxuXHJcbiAgICAuZGlhbG9nQWN0aW9ucyB7XHJcbiAgICAgIG1heC13aWR0aDogODAwcHg7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5bZGF0YS1kaWFsb2ctc3R5bGVePVwic2lkZWJhclwiXSB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcclxuICBvdmVyZmxvdy15OiBzY3JvbGw7XHJcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xyXG5cclxuICAmW2RhdGEtZGlhbG9nLXN0eWxlPVwic2lkZWJhckxlZnRcIl0ge1xyXG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG4gIH1cclxuXHJcbiAgJltkYXRhLWRpYWxvZy1zdHlsZT1cInNpZGViYXJSaWdodFwiXSB7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG4gIH1cclxuXHJcbiAgZGl2W3JvbGU9XCJkaWFsb2dcIl0ge1xyXG4gICAgd2lkdGg6IDQ0MHB4O1xyXG4gIH1cclxufVxyXG5cclxuW2RhdGEtZGlhbG9nLXN0eWxlXj1cImZ1bGxcIl0ge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuXHJcbiAgZGl2W3JvbGU9XCJkaWFsb2dcIl0ge1xyXG4gICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgfVxyXG59XHJcblxyXG5AbWVkaWEgKG1heC13aWR0aDogNjAwcHgpIHtcclxuICBbZGF0YS1kaWFsb2ctc3R5bGVePVwic2lkZWJhclwiXSB7XHJcbiAgICBkaXZbcm9sZT1cImRpYWxvZ1wiXSB7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICBtaW4td2lkdGg6IDA7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBbZGF0YS1kaWFsb2ctc3R5bGU9XCJtb2RhbFwiXSB7XHJcbiAgICBkaXZbcm9sZT1cImRpYWxvZ1wiXSB7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLy8gQW5pbWF0aW9uXHJcbmRpdltkYXRhLWRpYWxvZy1hbmltYXRpb24tc3BlZWQ9XCJnbGFjaWFsXCJdIHtcclxuICBhbmltYXRpb24tZHVyYXRpb246ICRnbGFjaWFsO1xyXG59XHJcblxyXG5kaXZbZGF0YS1kaWFsb2ctYW5pbWF0aW9uLXNwZWVkPVwidmVyeVNsb3dcIl0ge1xyXG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogJHZlcnlTbG93O1xyXG59XHJcblxyXG5kaXZbZGF0YS1kaWFsb2ctYW5pbWF0aW9uLXNwZWVkPVwic2xvd1wiXSB7XHJcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAkc2xvdztcclxufVxyXG5cclxuZGl2W2RhdGEtZGlhbG9nLWFuaW1hdGlvbi1zcGVlZD1cIm1lZGl1bVwiXSB7XHJcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAkbWVkaXVtO1xyXG59XHJcblxyXG5kaXZbZGF0YS1kaWFsb2ctYW5pbWF0aW9uLXNwZWVkPVwiZmFzdFwiXSB7XHJcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAkZmFzdDtcclxufVxyXG5cclxuZGl2W2RhdGEtZGlhbG9nLWFuaW1hdGlvbi1zcGVlZD1cInZlcnlGYXN0XCJdIHtcclxuICBhbmltYXRpb24tZHVyYXRpb246ICR2ZXJ5RmFzdDtcclxufVxyXG5cclxuLmRpYWxvZ0JhY2tkcm9wIHtcclxuICBhbmltYXRpb24tZmlsbC1tb2RlOiBib3RoO1xyXG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogJHZlcnlGYXN0O1xyXG5cclxuICAmLmluIHtcclxuICAgIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW47XHJcbiAgfVxyXG5cclxuICAmLm91dCB7XHJcbiAgICBhbmltYXRpb24tbmFtZTogZmFkZU91dDtcclxuICB9XHJcbn1cclxuXHJcbmRpdltyb2xlPVwiZGlhbG9nXCJdIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcclxufVxyXG5cclxuQGtleWZyYW1lcyBmYWRlSW4ge1xyXG4gIGZyb20ge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICB9XHJcblxyXG4gIHRvIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgfVxyXG59XHJcblxyXG5kaXZbZGF0YS1kaWFsb2ctYW5pbWF0aW9uLW5hbWU9XCJmYWRlSW5cIl0ge1xyXG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW47XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgZmFkZU91dCB7XHJcbiAgZnJvbSB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gIH1cclxuXHJcbiAgdG8ge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICB9XHJcbn1cclxuXHJcbmRpdltkYXRhLWRpYWxvZy1hbmltYXRpb24tbmFtZT1cImZhZGVPdXRcIl0ge1xyXG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0O1xyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIGZhZGVUb3BJbiB7XHJcbiAgZnJvbSB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gIH1cclxuXHJcbiAgdG8ge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwJSk7XHJcbiAgfVxyXG59XHJcblxyXG5kaXZbZGF0YS1kaWFsb2ctYW5pbWF0aW9uLW5hbWU9XCJmYWRlVG9wSW5cIl0ge1xyXG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlVG9wSW47XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgZmFkZVRvcE91dCB7XHJcbiAgZnJvbSB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAlKTtcclxuICB9XHJcblxyXG4gIHRvIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgfVxyXG59XHJcblxyXG5kaXZbZGF0YS1kaWFsb2ctYW5pbWF0aW9uLW5hbWU9XCJmYWRlVG9wT3V0XCJdIHtcclxuICBhbmltYXRpb24tbmFtZTogZmFkZVRvcE91dDtcclxufVxyXG5cclxuQGtleWZyYW1lcyBmYWRlQm90dG9tSW4ge1xyXG4gIGZyb20ge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg1MCUpO1xyXG4gIH1cclxuXHJcbiAgdG8ge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwJSk7XHJcbiAgfVxyXG59XHJcblxyXG5kaXZbZGF0YS1kaWFsb2ctYW5pbWF0aW9uLW5hbWU9XCJmYWRlQm90dG9tSW5cIl0ge1xyXG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlQm90dG9tSW47XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgZmFkZUJvdHRvbU91dCB7XHJcbiAgZnJvbSB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAlKTtcclxuICB9XHJcblxyXG4gIHRvIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNTAlKTtcclxuICB9XHJcbn1cclxuXHJcbmRpdltkYXRhLWRpYWxvZy1hbmltYXRpb24tbmFtZT1cImZhZGVCb3R0b21PdXRcIl0ge1xyXG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlQm90dG9tT3V0O1xyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIGZhZGVSaWdodEluIHtcclxuICBmcm9tIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNTAlKTtcclxuICB9XHJcblxyXG4gIHRvIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpO1xyXG4gIH1cclxufVxyXG5cclxuZGl2W2RhdGEtZGlhbG9nLWFuaW1hdGlvbi1uYW1lPVwiZmFkZVJpZ2h0SW5cIl0ge1xyXG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlUmlnaHRJbjtcclxufVxyXG5cclxuQGtleWZyYW1lcyBmYWRlUmlnaHRPdXQge1xyXG4gIGZyb20ge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSk7XHJcbiAgfVxyXG5cclxuICB0byB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDUwJSk7XHJcbiAgfVxyXG59XHJcblxyXG5kaXZbZGF0YS1kaWFsb2ctYW5pbWF0aW9uLW5hbWU9XCJmYWRlUmlnaHRPdXRcIl0ge1xyXG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlUmlnaHRPdXQ7XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgZmFkZUxlZnRJbiB7XHJcbiAgZnJvbSB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xyXG4gIH1cclxuXHJcbiAgdG8ge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSk7XHJcbiAgfVxyXG59XHJcblxyXG5kaXZbZGF0YS1kaWFsb2ctYW5pbWF0aW9uLW5hbWU9XCJmYWRlTGVmdEluXCJdIHtcclxuICBhbmltYXRpb24tbmFtZTogZmFkZUxlZnRJbjtcclxufVxyXG5cclxuQGtleWZyYW1lcyBmYWRlTGVmdE91dCB7XHJcbiAgZnJvbSB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKTtcclxuICB9XHJcblxyXG4gIHRvIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNTAlKTtcclxuICB9XHJcbn1cclxuXHJcbmRpdltkYXRhLWRpYWxvZy1hbmltYXRpb24tbmFtZT1cImZhZGVMZWZ0T3V0XCJdIHtcclxuICBhbmltYXRpb24tbmFtZTogZmFkZUxlZnRPdXQ7XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgc2xpZGVUb3BJbiB7XHJcbiAgZnJvbSB7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xyXG4gIH1cclxuXHJcbiAgdG8ge1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAlKTtcclxuICB9XHJcbn1cclxuXHJcbmRpdltkYXRhLWRpYWxvZy1hbmltYXRpb24tbmFtZT1cInNsaWRlVG9wSW5cIl0ge1xyXG4gIGFuaW1hdGlvbi1uYW1lOiBzbGlkZVRvcEluO1xyXG4gIEBtZWRpYSAobWF4LXdpZHRoOiAkc20pIHtcclxuICAgIGFuaW1hdGlvbi1uYW1lOiBzbGlkZUJvdHRvbUluO1xyXG4gIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBzbGlkZVRvcE91dCB7XHJcbiAgZnJvbSB7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCUpO1xyXG4gIH1cclxuXHJcbiAgdG8ge1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTtcclxuICB9XHJcbn1cclxuXHJcbmRpdltkYXRhLWRpYWxvZy1hbmltYXRpb24tbmFtZT1cInNsaWRlVG9wT3V0XCJdIHtcclxuICBhbmltYXRpb24tbmFtZTogc2xpZGVUb3BPdXQ7XHJcbiAgQG1lZGlhIChtYXgtd2lkdGg6ICRzbSkge1xyXG4gICAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlQm90dG9tT3V0O1xyXG4gIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBzbGlkZUJvdHRvbUluIHtcclxuICBmcm9tIHtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxNTAlKTtcclxuICB9XHJcblxyXG4gIHRvIHtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwJSk7XHJcbiAgfVxyXG59XHJcblxyXG5kaXZbZGF0YS1kaWFsb2ctYW5pbWF0aW9uLW5hbWU9XCJzbGlkZUJvdHRvbUluXCJdIHtcclxuICBhbmltYXRpb24tbmFtZTogc2xpZGVCb3R0b21JbjtcclxufVxyXG5cclxuQGtleWZyYW1lcyBzbGlkZUJvdHRvbU91dCB7XHJcbiAgZnJvbSB7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCUpO1xyXG4gIH1cclxuXHJcbiAgdG8ge1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwMCUpO1xyXG4gIH1cclxufVxyXG5cclxuZGl2W2RhdGEtZGlhbG9nLWFuaW1hdGlvbi1uYW1lPVwic2xpZGVCb3R0b21PdXRcIl0ge1xyXG4gIGFuaW1hdGlvbi1uYW1lOiBzbGlkZUJvdHRvbU91dDtcclxufVxyXG5cclxuQGtleWZyYW1lcyBzbGlkZVJpZ2h0SW4ge1xyXG4gIGZyb20ge1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xyXG4gIH1cclxuXHJcbiAgdG8ge1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKTtcclxuICB9XHJcbn1cclxuXHJcbmRpdltkYXRhLWRpYWxvZy1hbmltYXRpb24tbmFtZT1cInNsaWRlUmlnaHRJblwiXSB7XHJcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlUmlnaHRJbjtcclxuICBAbWVkaWEgKG1heC13aWR0aDogJHNtKSB7XHJcbiAgICBhbmltYXRpb24tbmFtZTogc2xpZGVCb3R0b21JbjtcclxuICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgc2xpZGVSaWdodE91dCB7XHJcbiAgZnJvbSB7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpO1xyXG4gIH1cclxuXHJcbiAgdG8ge1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xyXG4gIH1cclxufVxyXG5cclxuZGl2W2RhdGEtZGlhbG9nLWFuaW1hdGlvbi1uYW1lPVwic2xpZGVSaWdodE91dFwiXSB7XHJcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlUmlnaHRPdXQ7XHJcbiAgQG1lZGlhIChtYXgtd2lkdGg6ICRzbSkge1xyXG4gICAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlQm90dG9tT3V0O1xyXG4gIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBzbGlkZUxlZnRJbiB7XHJcbiAgZnJvbSB7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xyXG4gIH1cclxuXHJcbiAgdG8ge1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKTtcclxuICB9XHJcbn1cclxuXHJcbmRpdltkYXRhLWRpYWxvZy1hbmltYXRpb24tbmFtZT1cInNsaWRlTGVmdEluXCJdIHtcclxuICBhbmltYXRpb24tbmFtZTogc2xpZGVMZWZ0SW47XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgc2xpZGVMZWZ0T3V0IHtcclxuICBmcm9tIHtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSk7XHJcbiAgfVxyXG5cclxuICB0byB7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xyXG4gIH1cclxufVxyXG5cclxuZGl2W2RhdGEtZGlhbG9nLWFuaW1hdGlvbi1uYW1lPVwic2xpZGVMZWZ0T3V0XCJdIHtcclxuICBhbmltYXRpb24tbmFtZTogc2xpZGVMZWZ0T3V0O1xyXG59XHJcblxyXG4vLyBFTkQgQkFTRSBTVFlMRVNcclxuXHJcbi5kaWFsb2dCYWNrZHJvcCB7XHJcbiAgYmFja2dyb3VuZDogcmdiYSgkcHJpbWFyeSwgMC43KTtcclxufVxyXG5cclxuLmRpYWxvZ0NvbnRlbnQge1xyXG4gIG1hcmdpbjogMTBweCAwO1xyXG59XHJcblxyXG4uZGlhbG9nQWN0aW9ucy5nZW5lcmF0ZWQge1xyXG4gIGJ1dHRvbi5jbG9zZURpYWxvZyB7XHJcbiAgICAuaWNvbjpiZWZvcmUge1xyXG4gICAgICBmb250LWZhbWlseTogJGljb25Gb250O1xyXG4gICAgICBjb250ZW50OiBcImJcIjtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbmJ1dHRvbi5jbG9zZURpYWxvZyB7XHJcbiAgLmljb246YmVmb3JlIHtcclxuICAgIGZvbnQtZmFtaWx5OiAkaWNvbkZvbnQ7XHJcbiAgICBjb250ZW50OiBcImJcIjtcclxuICB9XHJcbn1cclxuXHJcbi5kaWFsb2dMYWJlbCBoMiB7XHJcbiAgbWFyZ2luLWJvdHRvbTogMTVweDtcclxufVxyXG5cclxuW2RhdGEtZGlhbG9nLXN0eWxlPVwibW9kYWxcIl0ge1xyXG4gIHBhZGRpbmc6IDIwcHg7XHJcblxyXG4gIC5zYWZhcmkgJiB7XHJcbiAgICBwYWRkaW5nOiAyMHB4IDIwcHggMTUwcHg7XHJcbiAgfVxyXG5cclxuICAuZGlhbG9nSW5uZXIge1xyXG4gICAgYm9yZGVyLXJhZGl1czogJHJhZGl1cztcclxuICAgIHBhZGRpbmc6IDIwcHg7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBAaW5jbHVkZSBiZ1dpdGhDb250cmFzdCgkbGlnaHQpO1xyXG4gICAgYm94LXNoYWRvdzogJHNoYWRvdztcclxuICB9XHJcblxyXG4gIGJ1dHRvbi5jbG9zZURpYWxvZyB7XHJcbiAgICBAaW5jbHVkZSBidXR0b247XHJcblxyXG4gICAgLmljb24ge1xyXG4gICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuW2RhdGEtZGlhbG9nLXN0eWxlPVwibGFyZ2VNb2RhbFwiXSB7XHJcbiAgLnNhZmFyaSAmIHtcclxuICAgIHBhZGRpbmc6IDIwcHggMjBweCAxNTBweDtcclxuICB9XHJcbiAgLmRpYWxvZ0lubmVyIHtcclxuICAgIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XHJcbiAgICBwYWRkaW5nOiAyMHB4O1xyXG4gICAgQGluY2x1ZGUgYmdXaXRoQ29udHJhc3QoJGxpZ2h0KTtcclxuICB9XHJcblxyXG4gIC5kaWFsb2dMYWJlbCB7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRzZWNvbmRhcnk7XHJcbiAgICBwYWRkaW5nOiA4cHggMTBweCAyMHB4O1xyXG5cclxuICAgIGgyIHtcclxuICAgICAgQGluY2x1ZGUgemVyb01hcmdQYWQ7XHJcbiAgICAgIGZvbnQtc2l6ZTogMS4zNWVtO1xyXG4gICAgICBjb2xvcjogJHNlY29uZGFyeTtcclxuICAgICAgdGV4dC10cmFuc2Zvcm06IGluaXRpYWw7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5bZGF0YS1kaWFsb2ctc3R5bGU9XCJzaGFkZVwiXSB7XHJcbiAgLmRpYWxvZ0lubmVyIHtcclxuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAkcmFkaXVzICRyYWRpdXM7XHJcbiAgICBwYWRkaW5nOiAyMHB4O1xyXG4gIH1cclxufVxyXG5cclxuW2RhdGEtZGlhbG9nLXN0eWxlXj1cInNpZGViYXJcIl0ge1xyXG4gIC5kaWFsb2dJbm5lciB7XHJcbiAgICBtaW4taGVpZ2h0OiAxMDAlO1xyXG4gIH1cclxuXHJcbiAgJltkYXRhLWRpYWxvZy1zdHlsZT1cInNpZGViYXJMZWZ0XCJdIHtcclxuICAgIC5kaWFsb2dJbm5lciB7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6IDAgJHJhZGl1cyAkcmFkaXVzIDA7XHJcbiAgICAgIHBhZGRpbmc6IDIwcHg7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmW2RhdGEtZGlhbG9nLXN0eWxlPVwic2lkZWJhclJpZ2h0XCJdIHtcclxuICAgIC5kaWFsb2dJbm5lciB7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRyYWRpdXMgMCAwICRyYWRpdXM7XHJcbiAgICAgIHBhZGRpbmc6IDIwcHg7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5bZGF0YS1kaWFsb2ctc3R5bGVePVwiZnVsbFwiXSB7XHJcbiAgLmRpYWxvZ0lubmVyIHtcclxuICAgIHBhZGRpbmc6IDIwcHg7XHJcbiAgfVxyXG59XHJcblxyXG4uc2ltcGxlRGlhbG9nIHtcclxuICBAaW5jbHVkZSBiZ1dpdGhDb250cmFzdCgkbGlnaHQpO1xyXG4gIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XHJcbn1cclxuXHJcbi8vIE1FRElBIFFVRVJJRVMgJiBCUk9XU0VSLVNQRUNJRklDIEFESlVTVE1FTlRTIEJFTE9XIC8vXHJcblxyXG5AbWVkaWEgKG1heC13aWR0aDogJHNtKSB7XHJcbiAgW2RhdGEtZGlhbG9nLXN0eWxlXj1cInNpZGViYXJcIl1bZGF0YS1kaWFsb2ctc3R5bGU9XCJzaWRlYmFyUmlnaHRcIl0gLmRpYWxvZ0lubmVyIHtcclxuICAgIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgfVxyXG4gIFtkYXRhLWRpYWxvZy1zdHlsZT1cIm1vZGFsXCJdIGRpdltyb2xlPVwiZGlhbG9nXCJdIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gIH1cclxufVxyXG5cclxuQG1lZGlhIChtYXgtd2lkdGg6ICR4cykge1xyXG4gIFtkYXRhLWRpYWxvZy1zdHlsZT1cIm1vZGFsXCJdIHtcclxuICAgIGRpdltyb2xlPVwiZGlhbG9nXCJdIHtcclxuICAgICAgJi5yZXBvcnROZWVkZWQge1xyXG4gICAgICAgIC8vVW5pcXVlIHN0eWxpbmcgZm9yIHRoZSBSZXBvcnQgYSBCYXJyaWVyIGZlYXR1cmUuIC0gREZUXHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbkBtZWRpYSAobWF4LXdpZHRoOiAkeHhzKSB7XHJcbiAgW2RhdGEtZGlhbG9nLXN0eWxlPVwibW9kYWxcIl0ge1xyXG4gICAgJltkYXRhLWJhY2tkcm9wLWZvcj1cImFjY2Vzc2liaWxpdHlQcmVmc1wiXSB7XHJcbiAgICAgIC5zYWZhcmkgJiB7XHJcbiAgICAgICAgcGFkZGluZzogMjBweCAyMHB4IDE1MHB4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIkB1c2UgXCJtaXhpbnNcIiBhcyAqO1xyXG5AdXNlIFwidmFyaWFibGVzXCIgYXMgKjtcclxuXHJcbi8vIEJFR0lOIEJBU0UgU1RZTEVTIC0gRE8gTk9UIENIQU5HRSBUSEVTRSBVTkxFU1MgWU9VIEtOT1cgV0hBVCBZT1UnUkUgRE9JTkcgLy9cclxuXHJcbi5maWVsZFdyYXBwZXIsXHJcbi51bWJyYWNvLWZvcm1zLWZpZWxkLnNob3J0YW5zd2VyLFxyXG4udW1icmFjby1mb3Jtcy1maWVsZC5kYXRlLFxyXG4udW1icmFjby1mb3Jtcy1maWVsZC5wYXNzd29yZCB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIG1heC13aWR0aDogNTAwcHg7XHJcblxyXG4gIGxhYmVsOm5vdCguY2hlY2tib3hMYWJlbCkge1xyXG4gICAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xyXG4gIH1cclxuXHJcbiAgaW5wdXQ6bm90KFt0eXBlPVwiY2hlY2tib3hcIl0pOm5vdChbdHlwZT1cInJhZGlvXCJdKSB7XHJcbiAgICBhcHBlYXJhbmNlOiBub25lO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcclxuICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG4gICAgbWluLXdpZHRoOiAxMDAlO1xyXG4gICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgbWF4LWhlaWdodDogMTIwcHg7XHJcbiAgfVxyXG5cclxuICBpbnB1dDo6LW1zLXJldmVhbCxcclxuICBpbnB1dDo6LW1zLWNsZWFyIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgfVxyXG5cclxuICAuZGVzY3JpcHRpb24ge1xyXG4gICAgbWFyZ2luLXRvcDogNnB4O1xyXG4gICAgZm9udC1zaXplOiAwLjg0ZW07XHJcbiAgICBjb2xvcjogcmdiYSgkYmFzaWMsIDAuODUpO1xyXG5cclxuICAgID4gKjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcclxuICAgIH1cclxuICAgID4gKjpsYXN0LWNoaWxkIHtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLmZpZWxkV3JhcHBlcixcclxuLnVtYnJhY28tZm9ybXMtZmllbGQubG9uZ2Fuc3dlciB7XHJcbiAgdGV4dGFyZWEge1xyXG4gICAgYXBwZWFyYW5jZTogbm9uZTtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XHJcbiAgICBsaW5lLWhlaWdodDogMTtcclxuICAgIG1pbi13aWR0aDogMTAwJTtcclxuICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgIG1heC1oZWlnaHQ6IDEyMHB4O1xyXG4gIH1cclxufVxyXG5cclxuLmRyb3Bkb3duV3JhcHBlcixcclxuLnVtYnJhY28tZm9ybXMtZmllbGQuZHJvcGRvd24ge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBtYXgtd2lkdGg6IDUwMHB4O1xyXG4gIG1hcmdpbjogMCBhdXRvO1xyXG5cclxuICBzZWxlY3Qge1xyXG4gICAgYXBwZWFyYW5jZTogbm9uZTtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XHJcbiAgICBsaW5lLWhlaWdodDogMTtcclxuICAgIG1pbi13aWR0aDogMTAwJTtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgZmlsbD0nYmxhY2snIGhlaWdodD0nMjQnIHZpZXdCb3g9JzAgMCAyNCAyNCcgd2lkdGg9JzI0JyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnPjxwYXRoIGQ9J003IDEwbDUgNSA1LTV6Jy8+PHBhdGggZD0nTTAgMGgyNHYyNEgweicgZmlsbD0nbm9uZScvPjwvc3ZnPlwiKTtcclxuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMDAlIDUwJTtcclxuICAgIGJhY2tncm91bmQtc2l6ZTogMjVweCA1MHB4O1xyXG5cclxuICAgICY6Oi1tcy1leHBhbmQge1xyXG4gICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLmNvbnRyb2xXcmFwcGVyLFxyXG4uYWRnLXVtYnJhY28tZm9ybXMtY29udHJvbHdyYXBwZXIge1xyXG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkcHJpbWFyeTtcclxuICBtYXJnaW4tYm90dG9tOiAxNXB4O1xyXG4gIHBhZGRpbmctYm90dG9tOiAxMHB4O1xyXG5cclxuICAmOmxhc3QtY2hpbGQge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgIHBhZGRpbmctYm90dG9tOiAwO1xyXG4gICAgYm9yZGVyLWJvdHRvbTogMDtcclxuICB9XHJcblxyXG4gID4gKjpmaXJzdC1jaGlsZCB7XHJcbiAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG5cclxuICA+ICo6bGFzdC1jaGlsZCB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG5cclxuICAuY29udHJvbCB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICB9XHJcblxyXG4gIGxhYmVsIHtcclxuICAgIGZvbnQtc2l6ZTogMS4yZW07XHJcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIH1cclxuXHJcbiAgLmRlc2NyaXB0aW9uIHtcclxuICAgIG1hcmdpbi10b3A6IDZweDtcclxuICAgIGZvbnQtc2l6ZTogMC44NGVtO1xyXG4gICAgY29sb3I6IHJnYmEoJGJhc2ljLCAwLjg1KTtcclxuXHJcbiAgICA+ICo6Zmlyc3QtY2hpbGQge1xyXG4gICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgICA+ICo6bGFzdC1jaGlsZCB7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vVGhlc2Ugc3R5bGUgaXMganVzdCB1c2VkIGZvciB0aGUgSG9uZXlwb3QgZmVhdHVyZS4gVGhlc2Ugc3R5bGVzIGtlZXAgdGhlIGZpZWxkIGZyb20gYmVpbmcgc2VlbiBieSBodW1hbnMgYW5kIHRoZXkgc2hvdWxkIG5vdCBiZSBjaGFuZ2VkIG9yIHJlbW92ZWQuXHJcbi5maWVsZFdyYXBwZXIuZW5yb2xsZWVOYW1lIHtcclxuICBvcGFjaXR5OiAwO1xyXG4gIEBpbmNsdWRlIGFic29sdXRlO1xyXG4gIHdpZHRoOiAwO1xyXG4gIGhlaWdodDogMDtcclxuICB6LWluZGV4OiAtMTtcclxufVxyXG5cclxuLy8gRU5EIEJBU0UgU1RZTEVTXHJcblxyXG4uc3R5bGVkRmllbGRzZXQsXHJcbi51bWJyYWNvLWZvcm1zLWZpZWxkc2V0IHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgYm9yZGVyOiAycHggZGFzaGVkICRzZWNvbmRhcnk7XHJcbiAgcGFkZGluZzogMjBweDtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRwcmltYXJ5LCAwLjQpO1xyXG4gIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XHJcblxyXG4gIGxlZ2VuZCxcclxuICAuZ3JvdXBMZWdlbmQge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgcGFkZGluZzogNHB4IDhweCAycHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiAwO1xyXG4gICAgYm9yZGVyLWxlZnQ6IDVweCBzb2xpZCAkcHJpbWFyeTtcclxuICAgIGZvbnQtc2l6ZTogMS4zZW07XHJcbiAgICBsaW5lLWhlaWdodDogMS4xZW07XHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgZm9udC1mYW1pbHk6ICRwcmltYXJ5Rm9udDtcclxuICAgIEBpbmNsdWRlIGJnV2l0aENvbnRyYXN0KCRzZWNvbmRhcnkpO1xyXG4gIH1cclxuXHJcbiAgLmdyb3VwTGVnZW5kIHtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIG1hcmdpbi1ib3R0b206IDlweDtcclxuICB9XHJcblxyXG4gIC5maWVsZHNldEdyaWQge1xyXG4gICAgZGlzcGxheTogZ3JpZDtcclxuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcclxuICAgIGdhcDogMTJweDtcclxuXHJcbiAgICAuZmllbGRXcmFwcGVyLFxyXG4gICAgLmNvbnRyb2xXcmFwcGVyIHtcclxuICAgICAgbWFyZ2luOiAwO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgPiA6bGFzdC1jaGlsZCB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG59XHJcblxyXG4uZmllbGRXcmFwcGVyLFxyXG4udW1icmFjby1mb3Jtcy1maWVsZC5zaG9ydGFuc3dlcixcclxuLnVtYnJhY28tZm9ybXMtZmllbGQuZGF0ZSxcclxuLnVtYnJhY28tZm9ybXMtZmllbGQucGFzc3dvcmQge1xyXG4gIG1hcmdpbjogMTBweCBhdXRvO1xyXG5cclxuICBsYWJlbDpub3QoLmNoZWNrYm94TGFiZWwpIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogOHB4O1xyXG4gICAgbGVmdDogOXB4O1xyXG4gICAgei1pbmRleDogMjtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgbWFyZ2luOiAwIDAgNXB4O1xyXG4gICAgYm9yZGVyOiAwO1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIGZvbnQtc2l6ZTogMC44ZW07XHJcbiAgICBmb250LWZhbWlseTogJHByaW1hcnlGb250O1xyXG4gICAgY29sb3I6ICRkYXJrR3JleTtcclxuICB9XHJcblxyXG4gIGlucHV0Om5vdChbdHlwZT1cImNoZWNrYm94XCJdKTpub3QoW3R5cGU9XCJyYWRpb1wiXSksXHJcbiAgdGV4dGFyZWEge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgIG1heC1oZWlnaHQ6IDEyMHB4O1xyXG4gICAgbWluLWhlaWdodDogNDhweDtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIGJvcmRlcjogMnB4IHNvbGlkICRwcmltYXJ5O1xyXG4gICAgYm9yZGVyLXdpZHRoOiAwIDAgMnB4IDA7XHJcbiAgICBwYWRkaW5nOiAyM3B4IDhweCA2cHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xyXG4gICAgYmFja2dyb3VuZDogJGxpZ2h0O1xyXG4gICAgY29sb3I6ICRiYXNpYztcclxuICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgfVxyXG5cclxuICBidXR0b24ge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XHJcbiAgICBjb2xvcjogJGxpZ2h0O1xyXG4gICAgdG9wOiAwO1xyXG4gICAgcmlnaHQ6IDA7XHJcbiAgICBoZWlnaHQ6IDUzcHg7XHJcbiAgICB3aWR0aDogNDBweDtcclxuICAgIEBpbmNsdWRlIGZsZXhDZW50ZXI7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOCk7XHJcbiAgICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xyXG4gICAgYmFja2dyb3VuZDogJHByaW1hcnk7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgJlthcmlhLWNoZWNrZWQ9XCJ0cnVlXCJdIHtcclxuICAgICAgLmljb246YWZ0ZXIge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgd2lkdGg6IDNweDtcclxuICAgICAgICBoZWlnaHQ6IDIwcHg7XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgICAgICByaWdodDogMDtcclxuICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRyYW5zZm9ybTogc2tld1goLTQ1ZGVnKTtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAkbGlnaHQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIC5pY29uIHtcclxuICAgICAgZm9udC1zaXplOiAxLjJlbTtcclxuICAgIH1cclxuICB9XHJcbiAgI1Bhc3N3b3JkOmZvY3VzICsgI3JlcXVpcmVtZW50cyB7XHJcbiAgICBtYXgtaGVpZ2h0OiAxMDAwcHg7XHJcbiAgfVxyXG4gICNyZXF1aXJlbWVudHMge1xyXG4gICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgIHBhZGRpbmc6IDEwcHggMCAwIDA7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgbWF4LWhlaWdodDogMDtcclxuICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgMXMgZWFzZS1pbi1vdXQ7XHJcbiAgICBsaSB7XHJcbiAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICYudmFsaWQge1xyXG4gICAgICAgIC5pY29uIHtcclxuICAgICAgICAgIEBpbmNsdWRlIGJnV2l0aENvbnRyYXN0KCRjb3JyZWN0KTtcclxuICAgICAgICAgIGZvbnQtc2l6ZTogMC45ZW07XHJcbiAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiYVwiO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAuaWNvbiB7XHJcbiAgICAgICAgQGluY2x1ZGUgYmdXaXRoQ29udHJhc3QoJHdyb25nKTtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgd2lkdGg6IDE2cHg7XHJcbiAgICAgICAgaGVpZ2h0OiAxNnB4O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMC41NWVtO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4uZHJvcGRvd25XcmFwcGVyLFxyXG4udW1icmFjby1mb3Jtcy1maWVsZC5kcm9wZG93biB7XHJcbiAgbGFiZWw6bm90KC5jaGVja2JveExhYmVsKSB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDhweDtcclxuICAgIGxlZnQ6IDlweDtcclxuICAgIHotaW5kZXg6IDI7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIG1hcmdpbjogMCAwIDVweDtcclxuICAgIGJvcmRlcjogMDtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBmb250LXNpemU6IDAuOGVtO1xyXG4gICAgZm9udC1mYW1pbHk6ICRwcmltYXJ5Rm9udDtcclxuICAgIGNvbG9yOiAkYmFzaWM7XHJcbiAgfVxyXG4gIHNlbGVjdCB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgbWluLWhlaWdodDogNTJweDtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIGJvcmRlcjogMnB4IHNvbGlkICRwcmltYXJ5O1xyXG4gICAgcGFkZGluZzogMjZweCA0NXB4IDhweCA4cHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0O1xyXG4gICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICB9XHJcbn1cclxuXHJcbi5maWVsZFdyYXBwZXIsXHJcbi51bWJyYWNvLWZvcm1zLWZpZWxkLmxvbmdhbnN3ZXIge1xyXG4gIHRleHRhcmVhIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICBtYXgtaGVpZ2h0OiAxMjBweDtcclxuICAgIG1pbi1oZWlnaHQ6IDQ4cHg7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBib3JkZXI6IDJweCBzb2xpZCAkcHJpbWFyeTtcclxuICAgIHBhZGRpbmc6IDZweCA4cHggNnB4O1xyXG4gICAgYm9yZGVyLXJhZGl1czogJHJhZGl1cztcclxuICAgIGJhY2tncm91bmQ6ICRsaWdodDtcclxuICAgIGNvbG9yOiAkYmFzaWM7XHJcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gIH1cclxufVxyXG5cclxuZm9ybSxcclxuLmZvcm1XcmFwIHtcclxuICAuZXJyb3Ige1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBtYXJnaW46IDRweCAwO1xyXG4gICAgcGFkZGluZzogMnB4IDRweDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIEBpbmNsdWRlIGJnV2l0aENvbnRyYXN0KCR3cm9uZyk7XHJcbiAgICAmOmVtcHR5IHtcclxuICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vIE1FRElBIFFVRVJJRVMgJiBCUk9XU0VSLVNQRUNJRklDIEFESlVTVE1FTlRTIEJFTE9XIC8vXHJcblxyXG5AbWVkaWEgKG1heC13aWR0aDogJHhzKSB7XHJcbiAgLnN0eWxlZEZpZWxkc2V0LFxyXG4gIC51bWJyYWNvLWZvcm1zLWZpZWxkc2V0IHtcclxuICAgIHBhZGRpbmc6IDEwcHg7XHJcbiAgICAuZmllbGRzZXRHcmlkIHtcclxuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBub25lO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQG1lZGlhIChtYXgtd2lkdGg6ICR4eHMpIHtcclxuICAuY29udHJvbFdyYXBwZXIge1xyXG4gICAgbGFiZWwge1xyXG4gICAgICBmb250LXNpemU6IDFlbTtcclxuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbkBtZWRpYSAobWF4LXdpZHRoOiAkdGlueSkge1xyXG4gIC5jb250cm9sV3JhcHBlciB7XHJcbiAgICBsYWJlbCB7XHJcbiAgICAgIGZvbnQtc2l6ZTogMC45ZW07XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIkB1c2UgXCJtaXhpbnNcIiBhcyAqO1xyXG5AdXNlIFwidmFyaWFibGVzXCIgYXMgKjtcclxuXHJcbi8vIEJFR0lOIEJBU0UgU1RZTEVTIC0gRE8gTk9UIENIQU5HRSBUSEVTRSBVTkxFU1MgWU9VIEtOT1cgV0hBVCBZT1UnUkUgRE9JTkcgLy9cclxuXHJcbi5idWZmZXIge1xyXG4gIG92ZXJmbG93OiBhdXRvO1xyXG4gIG1pbi1oZWlnaHQ6IGNhbGMoMTAwdmggLSA0MHB4KTtcclxufVxyXG5cclxuZm9vdGVyIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgaGVpZ2h0OiA0MHB4O1xyXG4gIHBhZGRpbmc6IDAgMTVweDtcclxuICBiYWNrZ3JvdW5kOiAjMDAwO1xyXG4gIHotaW5kZXg6IDk5OTk7XHJcblxyXG4gIC5hZGdMb2dvV3JhcCB7XHJcbiAgICBhIHtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIGJhY2tncm91bmQ6ICMwMDAgIWltcG9ydGFudDtcclxuICAgIH1cclxuXHJcbiAgICAuYWRnTG9nbyB7XHJcbiAgICAgIGhlaWdodDogMzBweDtcclxuICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4uZ3Vlc3RMb2dpbk1ldGhvZHMge1xyXG4gIC5zb2NpYWxNZWRpYVRpdGxlIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XHJcbiAgICBmb250LXdlaWdodDogNDAwO1xyXG4gIH1cclxuXHJcbiAgLnNvY2lhbE1lZGlhTG9naW5zIHtcclxuICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnIgMWZyIDFmcjtcclxuICAgIGdhcDogMTJweDtcclxuICAgIC5mYWNlYm9va0xvZ2luIHtcclxuICAgICAgYmFja2dyb3VuZDogIzE4NzdmMiAhaW1wb3J0YW50O1xyXG4gICAgICBjb2xvcjogd2hpdGUgIWltcG9ydGFudDtcclxuICAgIH1cclxuICAgIC5nb29nbGVMb2dpbiB7XHJcbiAgICAgIGJhY2tncm91bmQ6ICNlYmViZWMgIWltcG9ydGFudDtcclxuICAgICAgY29sb3I6IGJsYWNrICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgICAudHdpdHRlckxvZ2luIHtcclxuICAgICAgYmFja2dyb3VuZDogIzE0MTcxYSAhaW1wb3J0YW50O1xyXG4gICAgICBjb2xvcjogd2hpdGUgIWltcG9ydGFudDtcclxuICAgICAgLnRleHQge1xyXG4gICAgICAgIEBpbmNsdWRlIHNjcmVlblJlYWRlcjtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmFwcGxlTG9naW4ge1xyXG4gICAgICBiYWNrZ3JvdW5kOiBibGFjayAhaW1wb3J0YW50O1xyXG4gICAgICBjb2xvcjogd2hpdGUgIWltcG9ydGFudDtcclxuICAgIH1cclxuICAgID4gYSB7XHJcbiAgICAgIEBpbmNsdWRlIGZsZXhDZW50ZXI7XHJcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xyXG4gICAgICBoZWlnaHQ6IDQ1cHg7XHJcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgcGFkZGluZzogMWVtICFpbXBvcnRhbnQ7XHJcblxyXG4gICAgICAuc3ZnSWNvbiB7XHJcbiAgICAgICAgd2lkdGg6IDE2cHg7XHJcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogN3B4O1xyXG4gICAgICB9XHJcbiAgICAgIC50ZXh0IHtcclxuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgICAgICBmb250LXNpemU6IDEuMWVtO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAuYXBwbGVMb2dpbiB7XHJcbiAgICAgIGhlaWdodDogNDVweDtcclxuICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICA+IGRpdiB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5sb2dpbldyYXBwZXJbZGF0YS1oaWRkZW4tZm9yLWd1ZXN0PVwidHJ1ZVwiXSB7XHJcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uZ3Vlc3RXcmFwcGVySG9sZGVyIHtcclxuICBtYXgtaGVpZ2h0OiAwO1xyXG4gIG9wYWNpdHk6IDA7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICB0cmFuc2l0aW9uOiBhbGwgJHNsb3c7XHJcbiAgdGV4dC1hbGlnbjogbGVmdDtcclxufVxyXG5cclxuLy9UaGVzZSBzdHlsZSBpcyBqdXN0IHVzZWQgZm9yIHRoZSBIb25leXBvdCBmZWF0dXJlLiBUaGVzZSBzdHlsZXMga2VlcCB0aGUgZmllbGQgZnJvbSBiZWluZyBzZWVuIGJ5IGh1bWFucyBhbmQgdGhleSBzaG91bGQgbm90IGJlIGNoYW5nZWQgb3IgcmVtb3ZlZC5cclxuLmZpZWxkV3JhcHBlci5lbnJvbGxlZU5hbWUge1xyXG4gIG9wYWNpdHk6IDA7XHJcbiAgQGluY2x1ZGUgYWJzb2x1dGU7XHJcbiAgd2lkdGg6IDA7XHJcbiAgaGVpZ2h0OiAwO1xyXG4gIHotaW5kZXg6IC0xO1xyXG59XHJcblxyXG4vLyBFTkQgQkFTRSBTVFlMRVMgLy9cclxuXHJcbmJvZHkge1xyXG4gIGJhY2tncm91bmQ6ICRwcmltYXJ5O1xyXG59XHJcblxyXG4jYmFja2dyb3VuZCB7XHJcbiAgcG9zaXRpb246IGZpeGVkO1xyXG4gIHRvcDogMDtcclxuICBsZWZ0OiAwO1xyXG4gIHdpZHRoOiAxMDB2dztcclxuICBoZWlnaHQ6IDQwMHB4O1xyXG4gIG9wYWNpdHk6IDE7XHJcbiAgLmNvdmVyLXNsaWRlcixcclxuICB2aWRlbyxcclxuICAubWFpbkJnSW1nIHtcclxuICAgIHotaW5kZXg6IDI7XHJcbiAgICBAaW5jbHVkZSBhYnNvbHV0ZTtcclxuICAgIEBpbmNsdWRlIGZpbGxTcGFjZTtcclxuICB9XHJcbiAgLnNlY3Rpb25CZ0hvbGRlciB7XHJcbiAgICB6LWluZGV4OiAxO1xyXG4gICAgQGluY2x1ZGUgYWJzb2x1dGU7XHJcbiAgICBAaW5jbHVkZSBmaWxsU3BhY2U7XHJcbiAgICAubWVudU91dCAmIHtcclxuICAgICAgei1pbmRleDogMztcclxuICAgIH1cclxuICAgICZbZGF0YS1zZWN0aW9uLWJnLW9ubHk9XCJ0cnVlXCJdIHtcclxuICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzO1xyXG4gICAgICAuaW5TZWN0aW9uICYge1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5iZ0ltZyxcclxuICAuc2VjdGlvbkJnIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMDtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcbiAgICBAaW5jbHVkZSBiZ1BvcygpO1xyXG4gIH1cclxuXHJcbiAgdmlkZW8ge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgbGVmdDogMDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgb2JqZWN0LWZpdDogY292ZXI7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHRHcmV5O1xyXG4gIH1cclxuXHJcbiAgW2RhdGEtaXMtbG9hZGluZz1cInRydWVcIl0gJiB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gIH1cclxufVxyXG5cclxuaGVhZGVyIHtcclxuICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgdG9wOiAyMHB4O1xyXG4gIHJpZ2h0OiAwO1xyXG4gIHotaW5kZXg6IDE1O1xyXG4gIHRyYW5zaXRpb246IGFsbCAkdmVyeVNsb3c7XHJcblxyXG4gIC5sb2dvV3JhcCB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgd2lkdGg6IDI4MHB4O1xyXG4gICAgaGVpZ2h0OiAxMDVweDtcclxuICAgIHBhZGRpbmc6IDIwcHggMTVweDtcclxuICAgIGJhY2tncm91bmQ6ICRzZWNvbmRhcnk7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgJHZlcnlTbG93O1xyXG4gIH1cclxuICAubG9nbyB7XHJcbiAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xyXG4gICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgZmlsdGVyOiBicmlnaHRuZXNzKDApIGludmVydCgxKTtcclxuICAgIHRyYW5zaXRpb246IGFsbCAkdmVyeVNsb3c7XHJcbiAgfVxyXG4gIC5vcmllbnRhdGlvblRpdGxlIHtcclxuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICBAaW5jbHVkZSBiZ1dpdGhDb250cmFzdCgkYWNjZW50KTtcclxuICAgIHBhZGRpbmc6IDEwcHggOXB4IDhweDtcclxuICAgIGZvbnQtc2l6ZTogMS4yZW07XHJcbiAgICBsaW5lLWhlaWdodDogMS4xZW07XHJcbiAgICBmb250LWZhbWlseTogJGJhc2ljRm9udDtcclxuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgfVxyXG59XHJcblxyXG4jbWVtYmVyc2hpcCB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcbiAgbWluLWhlaWdodDogY2FsYygxMDB2aCAtIDI4MHB4KTtcclxuICBtYXgtd2lkdGg6IDgwMHB4O1xyXG4gIG1hcmdpbjogMjgwcHggYXV0byAwO1xyXG4gIHBhZGRpbmctdG9wOiAxNXB4O1xyXG4gIHBhZGRpbmctYm90dG9tOiAxMjBweDtcclxuICBiYWNrZ3JvdW5kOiAkbGlnaHQ7XHJcbiAgYm94LXNoYWRvdzogJHNoYWRvdztcclxuICB6LWluZGV4OiA1O1xyXG5cclxuICAudGl0bGVBcmVhIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHBhZGRpbmc6IDMwcHggMjBweCAxMHB4O1xyXG4gICAgYm9yZGVyLXJhZGl1czogJHJhZGl1cztcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHJcbiAgICAmLmFjY291bnRQcm9maWxlciB7XHJcbiAgICAgIGZvbnQtc2l6ZTogMS41ZW07XHJcbiAgICB9XHJcblxyXG4gICAgaDIge1xyXG4gICAgICBmb250LWZhbWlseTogJHByaW1hcnlGb250O1xyXG4gICAgICBmb250LXdlaWdodDogOTAwO1xyXG4gICAgICBmb250LXNpemU6IDIuNGVtO1xyXG4gICAgICBtYXJnaW46IDAgMCA1cHg7XHJcbiAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5O1xyXG4gICAgfVxyXG5cclxuICAgIHAge1xyXG4gICAgICBmb250LXNpemU6IDEuMmVtO1xyXG4gICAgICBtYXJnaW46IDA7XHJcbiAgICAgIGNvbG9yOiAkYWNjZW50O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgYnV0dG9uLnJldHVyblRvU29jaWFsIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBwYWRkaW5nOiA1cHg7XHJcbiAgICBtYXJnaW46IDI1cHggMCAwO1xyXG4gICAgYm9yZGVyOiAwO1xyXG4gICAgYmFja2dyb3VuZDogbm9uZTtcclxuICAgIGNvbG9yOiAkcHJpbWFyeTtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIHRyYW5zaXRpb246IGFsbCAkdmVyeUZhc3Q7XHJcbiAgICAudGV4dCB7XHJcbiAgICAgIGZvbnQtc2l6ZTogMC45ZW07XHJcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgfVxyXG4gICAgLmljb24ge1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgIGZvbnQtc2l6ZTogMC44ZW07XHJcbiAgICAgIHRyYW5zaXRpb246IGFsbCAkbWVkaXVtO1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgaG92ZXJBbmRGb2N1cyB7XHJcbiAgICAgIC50ZXh0IHtcclxuICAgICAgICBjb2xvcjogJHNlY29uZGFyeTtcclxuICAgICAgfVxyXG4gICAgICAuaWNvbiB7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAzcHg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5lcnJvck1lc3NhZ2UsXHJcbiAgLmZpZWxkLXZhbGlkYXRpb24tZXJyb3Ige1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgQGluY2x1ZGUgYmdXaXRoQ29udHJhc3QoJHdyb25nKTtcclxuICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICBwYWRkaW5nOiA1cHggMTBweDtcclxuICAgIG1hcmdpbjogMnB4IGF1dG8gMTBweDtcclxuICAgIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XHJcbiAgfVxyXG5cclxuICAubG9naW5OYXYge1xyXG4gICAgQGluY2x1ZGUgZmxleENlbnRlcjtcclxuICAgIGJvcmRlci10b3A6IDJweCBzb2xpZCAkbGlnaHRHcmV5O1xyXG4gICAgbWFyZ2luLXRvcDogMzBweDtcclxuICAgIHBhZGRpbmctdG9wOiAxMHB4O1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgZm9udC1zaXplOiAwLjllbTtcclxuXHJcbiAgICA+ICoge1xyXG4gICAgICBtYXJnaW46IDAgNXB4O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmZvcm1XcmFwIHtcclxuICAgIHBhZGRpbmc6IDI1cHggNDBweDtcclxuICAgIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblxyXG4gICAgaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcclxuICAgICAgQGluY2x1ZGUgcmFkaW87XHJcbiAgICB9XHJcblxyXG4gICAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcclxuICAgICAgQGluY2x1ZGUgY2hlY2tib3g7XHJcbiAgICB9XHJcblxyXG4gICAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIH4gbGFiZWwsXHJcbiAgICBpbnB1dFt0eXBlPVwicmFkaW9cIl0gfiBsYWJlbCB7XHJcbiAgICAgIHBhZGRpbmctbGVmdDogMC4zNWVtO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmZvcm1XcmFwLmxvZ2luIHtcclxuICAgIC5zdGF0dXNNZXNzYWdlIHtcclxuICAgICAgQGluY2x1ZGUgYmdXaXRoQ29udHJhc3QoJGJsYWNrKTtcclxuICAgICAgcGFkZGluZzogNXB4IDEwcHg7XHJcbiAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcclxuICAgICAgbWFyZ2luOiAxMHB4IGF1dG87XHJcbiAgICB9XHJcbiAgICAuaG9yekRpdmlkZXIge1xyXG4gICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICBtYXJnaW46IDI1cHggMDtcclxuXHJcbiAgICAgIC5saW5lIHtcclxuICAgICAgICBoZWlnaHQ6IDJweDtcclxuICAgICAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICAgICAgYmFja2dyb3VuZDogJGxpZ2h0R3JleTtcclxuICAgICAgfVxyXG5cclxuICAgICAgLm9yIHtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgIGNvbG9yOiAkYmFzaWM7XHJcbiAgICAgICAgbWFyZ2luLWlubGluZTogMTVweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGJ1dHRvbi5jb250aW51ZVdpdGhFbWFpbCB7XHJcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbjtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgIHBhZGRpbmc6IDEuM2VtIDEuOGVtO1xyXG4gICAgICB0cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDtcclxuICAgICAgLmljb24ge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMi41ZW07XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgICAgfVxyXG4gICAgICAudGV4dCB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxLjJlbTtcclxuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5maWVsZFdyYXBwZXIgbGFiZWw6bm90KC5jaGVja2JveExhYmVsKSB7XHJcbiAgICAgIHRvcDogM3B4O1xyXG4gICAgICBsZWZ0OiAzcHg7XHJcbiAgICB9XHJcblxyXG4gICAgLmZpZWxkV3JhcHBlciBpbnB1dDpub3QoW3R5cGU9XCJjaGVja2JveFwiXSk6bm90KFt0eXBlPVwicmFkaW9cIl0pLFxyXG4gICAgLmZpZWxkV3JhcHBlciB0ZXh0YXJlYSB7XHJcbiAgICAgIHBhZGRpbmctdG9wOiAyMHB4O1xyXG4gICAgICBwYWRkaW5nLWxlZnQ6IDNweDtcclxuICAgIH1cclxuXHJcbiAgICAubG9naW5XcmFwcGVyIHtcclxuICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcclxuICAgICAgbWFyZ2luLXRvcDogOHB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5yZXR1cm5pbmdXcmFwcGVyIHtcclxuICAgICAgd2lkdGg6IGNhbGMoNjAlIC0gMjBweCk7XHJcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIH1cclxuXHJcbiAgICAubmV3QWNjb3VudFdyYXBwZXIge1xyXG4gICAgICB3aWR0aDogNDAlO1xyXG5cclxuICAgICAgPiBhOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICBAaW5jbHVkZSBidXR0b247XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcblxyXG4gICAgICAgICZbZGF0YS10eXBlPVwiU3R1ZGVudFwiXSB7XHJcbiAgICAgICAgICAuaWNvbjpiZWZvcmUge1xyXG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlO1xyXG4gICAgICAgICAgICBjb250ZW50OiBcInpcIjtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5pY29uIHtcclxuICAgICAgICAgIGZvbnQtc2l6ZTogMi41ZW07XHJcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLnRleHQge1xyXG4gICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAgICAgICBmb250LXNpemU6IDEuMTVlbTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5mb3JtV3JhcC5sYW5kaW5nUGFnZSB7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogNDBweDtcclxuICAgIHBhZGRpbmctbGVmdDogMzBweDtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDMwcHg7XHJcbiAgICAuYnV0dG9ucyB7XHJcbiAgICAgIEBpbmNsdWRlIGZsZXhDZW50ZXI7XHJcblxyXG4gICAgICBhIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIGZsZXgtZ3JvdzogMTtcclxuICAgICAgICBtYXJnaW46IDAgNnB4O1xyXG4gICAgICAgIGhlaWdodDogMzUwcHg7XHJcbiAgICAgICAgZm9udC1zaXplOiAxLjRlbTtcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgaG92ZXJBbmRGb2N1cyB7XHJcbiAgICAgICAgICAuaWNvbkhvbGRlciB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5O1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgLnRleHQge1xyXG4gICAgICAgICAgICBjb2xvcjogJHNlY29uZGFyeTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIC5iZyB7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4yKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIC5vdmVybGF5R3JpZCB7XHJcbiAgICAgICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XHJcbiAgICAgICAgICAgICAgb3BhY2l0eTogMC43O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICAub3ZlcmxheUdyaWQge1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgICAgICB6LWluZGV4OiAyO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmciAxZnI7XHJcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiAxZnIgMWZyIDEzMHB4O1xyXG4gICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcclxuICAgICAgICAgIHRyYW5zaXRpb246IGFsbCA2MDBtcztcclxuICAgICAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiAkdGltaW5nRnVuY3Rpb247XHJcblxyXG4gICAgICAgICAgJi5sZWZ0IHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkYWNjZW50LCAwLjk4KTtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAmLmNlbnRlciB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGFjY2VudCwgMC45OCk7XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgJi5yaWdodCB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGFjY2VudCwgMC45OCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBAZm9yICRpIGZyb20gMSB0byAxMCB7XHJcbiAgICAgICAgICAgICY6bnRoLWNoaWxkKCN7JGl9KSB7XHJcbiAgICAgICAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogI3skaSAqIDMwfW1zO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICAuYmcge1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICBpbnNldDogMDtcclxuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTtcclxuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgNjAwbXM7XHJcbiAgICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ICR0aW1pbmdGdW5jdGlvbjtcclxuICAgICAgfVxyXG5cclxuICAgICAgLnRleHRIb2xkZXIge1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgei1pbmRleDogNTtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgbWF4LXdpZHRoOiA2NiU7XHJcbiAgICAgICAgbWluLWhlaWdodDogMTMwcHg7XHJcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDEwcHggc29saWQgJGFsdDtcclxuICAgICAgICBwYWRkaW5nOiAyMHB4IDE1cHggNXB4O1xyXG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgYmFja2dyb3VuZDogJGxpZ2h0O1xyXG5cclxuICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgICBsZWZ0OiAxNXB4O1xyXG4gICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWx0MjtcclxuICAgICAgICAgIGhlaWdodDogMXB4O1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgLnRleHQge1xyXG4gICAgICAgIGNvbG9yOiAkYWNjZW50O1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiAkc2Vjb25kYXJ5Rm9udDtcclxuICAgICAgICBmb250LXNpemU6IDEuNWVtO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAkdmVyeUZhc3Q7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgfVxyXG5cclxuICAgICAgLmljb25Ib2xkZXIge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBmb250LWZhbWlseTogJHByaW1hcnlGb250O1xyXG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAkdmVyeUZhc3Q7XHJcbiAgICAgICAgZm9udC1zaXplOiAwLjZlbTtcclxuICAgICAgICBjb2xvcjogJGFsdDI7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsICRmYXN0O1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5pY29uIHtcclxuICAgICAgICBAaW5jbHVkZSBmbGV4Q2VudGVyO1xyXG4gICAgICAgIHdpZHRoOiAzMHB4O1xyXG4gICAgICAgIGhlaWdodDogMzBweDtcclxuICAgICAgICBmb250LWZhbWlseTogJGljb25Gb250O1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2U7XHJcbiAgICAgICAgZm9udC1zaXplOiAyNHB4O1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDNweDtcclxuICAgICAgfVxyXG5cclxuICAgICAgLmd1ZXN0TG9naW5CdG4ge1xyXG4gICAgICAgIC5pY29uOmJlZm9yZSB7XHJcbiAgICAgICAgICBjb250ZW50OiBcImtcIjtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5lbnJvbGxlZUxvZ2luQnRuIHtcclxuICAgICAgICAuaWNvbjpiZWZvcmUge1xyXG4gICAgICAgICAgY29udGVudDogXCJ6XCI7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuZm9ybVdyYXAuYWNjb3VudFByb2ZpbGVyIHtcclxuICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcblxyXG4gICAgLnByb2ZpbGVTZXR0aW5nc0V4cGxhaW5lcixcclxuICAgIC5wcm9maWxlRXJyb3JXcmFwIHtcclxuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgfVxyXG5cclxuICAgIC5pbnN0cnVjdGlvbiB7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XHJcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIH1cclxuXHJcbiAgICAuYnV0dG9uSG9sZGVyIHtcclxuICAgICAgbWFyZ2luOiAyMHB4IDAgMjBweDtcclxuICAgIH1cclxuXHJcbiAgICAucmVzZXRBY2NvdW50VHlwZUJ0biB7XHJcbiAgICAgIGJvcmRlcjogMDtcclxuICAgICAgcGFkZGluZzogMDtcclxuICAgICAgYmFja2dyb3VuZDogbm9uZTtcclxuICAgICAgYm9yZGVyLXJhZGl1czogMDtcclxuICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XHJcbiAgICAgIGZvbnQtc2l6ZTogMC44ZW07XHJcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkcHJpbWFyeTtcclxuICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICBAaW5jbHVkZSBjb2xvcldpdGhDb250cmFzdCgkcHJpbWFyeSk7XHJcbiAgICAgIHRyYW5zaXRpb246ICR2ZXJ5RmFzdDtcclxuXHJcbiAgICAgIEBpbmNsdWRlIGhvdmVyQW5kRm9jdXMge1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogJHNlY29uZGFyeTtcclxuICAgICAgICBAaW5jbHVkZSBjb2xvcldpdGhDb250cmFzdCgkc2Vjb25kYXJ5KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmZvcm1XcmFwLnR3b0ZhY3RvciB7XHJcbiAgICAuc2luZ2xlRmllbGRTdWJtaXNzaW9uIHtcclxuICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XHJcblxyXG4gICAgICAuZmllbGRXcmFwcGVyIHtcclxuICAgICAgICBtYXJnaW46IDAgNXB4IDAgMDtcclxuICAgICAgfVxyXG5cclxuICAgICAgYnV0dG9uIHtcclxuICAgICAgICBAaW5jbHVkZSBidXR0b247XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAjVEZBQnV0dG9uQXBwIHtcclxuICAgICAgQGluY2x1ZGUgYnV0dG9uO1xyXG4gICAgICBwYWRkaW5nOiAwLjM1ZW0gMC41ZW07XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgI1RGQUJ1dHRvbkVtYWlsLFxyXG4gICAgI09UUEJ1dHRvbiB7XHJcbiAgICAgIGJvcmRlcjogMDtcclxuICAgICAgYmFja2dyb3VuZDogbm9uZTtcclxuICAgICAgcGFkZGluZzogMCAwIDJweDtcclxuICAgICAgbWFyZ2luLXRvcDogMTVweDtcclxuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRwcmltYXJ5O1xyXG4gICAgICBAaW5jbHVkZSBjb2xvcldpdGhDb250cmFzdCgkcHJpbWFyeSk7XHJcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuXHJcbiAgICAgICZbZGF0YS13YWl0LWEtZmV3PVwidHJ1ZVwiXSB7XHJcbiAgICAgICAgb3BhY2l0eTogMC42O1xyXG4gICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5idXR0b25Ib2xkZXIge1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG5cclxuICAgIGJ1dHRvbiB7XHJcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbjtcclxuICAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuc3R5bGVkRmllbGRzZXQge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuXHJcbiAgICAuZ3JvdXBMZWdlbmQge1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLnNpbXBsZURpYWxvZyB7XHJcbiAgLmNsb3NlRGlhbG9nIHtcclxuICAgIEBpbmNsdWRlIGJ1dHRvbjtcclxuXHJcbiAgICAuaWNvbiB7XHJcbiAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4jcmVzZXREYXRhIHtcclxuICBidXR0b24ge1xyXG4gICAgQGluY2x1ZGUgYnV0dG9uO1xyXG4gIH1cclxufVxyXG5cclxuLy8gTUVESUEgUVVFUklFUyAmIEJST1dTRVItU1BFQ0lGSUMgQURKVVNUTUVOVFMgQkVMT1cgLy9cclxuXHJcbkBtZWRpYSAobWF4LXdpZHRoOiAkbWQpIHtcclxuICAjbWVtYmVyc2hpcCB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSA0MHB4KTtcclxuICAgIG1pbi1oZWlnaHQ6IGF1dG87XHJcbiAgICBtYXJnaW4tdG9wOiAxNXB4O1xyXG4gICAgcGFkZGluZy10b3A6IDA7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcclxuICB9XHJcbn1cclxuXHJcbkBtZWRpYSAobWF4LXdpZHRoOiAkc20pIHtcclxuICAuZ3Vlc3RMb2dpbk1ldGhvZHMgLnNvY2lhbE1lZGlhTG9naW5zIHtcclxuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcclxuICAgIGdhcDogOHB4O1xyXG4gIH1cclxuICBoZWFkZXIge1xyXG4gICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgLmJyYW5kaW5nIHtcclxuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgLmxvZ29XcmFwIHtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBtYXgtd2lkdGg6IDI4MHB4O1xyXG4gICAgICAgIGZsZXg6IGF1dG87XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgICAgfVxyXG4gICAgICAub3JpZW50YXRpb25UaXRsZSB7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gICNtZW1iZXJzaGlwIHtcclxuICAgIC5mb3JtV3JhcCB7XHJcbiAgICAgICYubG9naW4ge1xyXG4gICAgICAgIC5sb2dpbldyYXBwZXIge1xyXG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgIGdhcDogMTVweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLm5ld0FjY291bnRXcmFwcGVyIHtcclxuICAgICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgIH1cclxuICAgICAgICAucmV0dXJuaW5nV3JhcHBlciB7XHJcbiAgICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgJi5sYW5kaW5nUGFnZSB7XHJcbiAgICAgICAgLmJ1dHRvbnMge1xyXG4gICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbkBtZWRpYSAobWF4LXdpZHRoOiAkeHMpIHtcclxuICAjbWVtYmVyc2hpcCB7XHJcbiAgICAuZm9ybVdyYXAge1xyXG4gICAgICBwYWRkaW5nOiAyNXB4O1xyXG4gICAgfVxyXG4gICAgLmZvcm1XcmFwLmxvZ2luIC5uZXdBY2NvdW50V3JhcHBlciB7XHJcbiAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgfVxyXG4gICAgLmZvcm1XcmFwLmxhbmRpbmdQYWdlIHtcclxuICAgICAgLmJ1dHRvbnMge1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICAjcmVzZXREYXRhIHtcclxuICAgIGJ1dHRvbiB7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiA4cHg7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5AbWVkaWEgKG1heC13aWR0aDogJHh4cykge1xyXG4gIC5ndWVzdExvZ2luTWV0aG9kcyAuc29jaWFsTWVkaWFMb2dpbnMge1xyXG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XHJcbiAgICBnYXA6IDhweDtcclxuICB9XHJcbiAgI21lbWJlcnNoaXAgLnRpdGxlQXJlYS5hY2NvdW50UHJvZmlsZXIge1xyXG4gICAgZm9udC1zaXplOiAxLjEyNWVtO1xyXG4gIH1cclxuICBoZWFkZXIge1xyXG4gICAgLm9yaWVudGF0aW9uVGl0bGUge1xyXG4gICAgICBmb250LXNpemU6IDEuOGVtO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQG1lZGlhIChtYXgtd2lkdGg6ICR0aW55KSB7XHJcbiAgI21lbWJlcnNoaXAgLmZvcm1XcmFwIHtcclxuICAgIHBhZGRpbmc6IDE2cHg7XHJcbiAgfVxyXG4gICNtZW1iZXJzaGlwIHtcclxuICAgIC5mb3JtV3JhcC5sYW5kaW5nUGFnZSB7XHJcbiAgICAgIHBhZGRpbmc6IDIwcHg7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIkB1c2UgXCJtaXhpbnNcIiBhcyAqO1xyXG5AdXNlIFwidmFyaWFibGVzXCIgYXMgKjtcclxuXHJcbi8vIEJFR0lOIEJBU0UgU1RZTEVTIC0gRE8gTk9UIENIQU5HRSBUSEVTRSBVTkxFU1MgWU9VIEtOT1cgV0hBVCBZT1UnUkUgRE9JTkcgLy9cclxuXHJcbi5ydGUge1xyXG4gIGg0LFxyXG4gIGg1IHtcclxuICAgIG1hcmdpbjogMC44ZW0gMCAwLjVlbTtcclxuICB9XHJcbiAgPiAqOmZpcnN0LWNoaWxkIHtcclxuICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcclxuICB9XHJcbiAgPiAqOmxhc3QtY2hpbGQge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xyXG4gIH1cclxufVxyXG5cclxuLy8gRU5EIEJBU0UgU1RZTEVTIC8vXHJcblxyXG4ucnRlIHtcclxuICAvLyBCRUdJTiBJTkxJTkUgTUVESUEgU1RZTEVTIC8vXHJcbiAgaWZyYW1lIHtcclxuICAgIG1heC13aWR0aDogY2FsYygxMDB2dyAtICg0MHB4ICogMikpO1xyXG4gICAgbWF4LWhlaWdodDogY2FsYygoMTAwdncgLSAoNDBweCAqIDIpKSAvIDEuNzc3OCk7IC8qIDE2OjkgKi9cclxuICB9XHJcblxyXG4gIGltZyB7XHJcbiAgICBtYXJnaW46IDEwcHg7XHJcbiAgICAmW3N0eWxlKj1cImZsb2F0OiByaWdodFwiXSB7XHJcbiAgICAgIG1hcmdpbjogMCAwIDIwcHggMjBweDtcclxuICAgIH1cclxuICAgICZbc3R5bGUqPVwiZmxvYXQ6IGxlZnRcIl0ge1xyXG4gICAgICBtYXJnaW46IDAgMjBweCAyMHB4IDBweDtcclxuICAgIH1cclxuICAgICZbc3R5bGUqPVwiZmxvYXQ6IHJpZ2h0XCJdLFxyXG4gICAgJltzdHlsZSo9XCJmbG9hdDogbGVmdFwiXSB7XHJcbiAgICAgIG1heC13aWR0aDogNjAlO1xyXG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogJHhzKSB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiA1MCU7XHJcbiAgICAgIH1cclxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICR4eHMpIHtcclxuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDtcclxuICAgICAgICBtYXJnaW46IDAgYXV0byA4cHg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gICRwYWQ6IDVweDtcclxuICBmaWd1cmU6bm90KC50ZXJtQmJsKSB7XHJcbiAgICBtYXJnaW46IDIwcHggMHB4O1xyXG4gICAgYm9yZGVyLXJhZGl1czogY2FsYygoI3skcmFkaXVzfSArICN7JHBhZH0pIC0gMHB4KTtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICRncmV5O1xyXG4gICAgcGFkZGluZzogJHBhZDtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIGltZyB7XHJcbiAgICAgIGZsb2F0OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICAgIG1hcmdpbjogMHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xyXG4gICAgICBib3JkZXItcmFkaXVzOiAkcmFkaXVzICRyYWRpdXMgMHB4IDBweDtcclxuICAgIH1cclxuICAgICZbc3R5bGUqPVwidGV4dC1hbGlnbjogcmlnaHRcIl0ge1xyXG4gICAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICAgIG1hcmdpbjogMCAwIDIwcHggMjBweDtcclxuICAgIH1cclxuICAgICZbc3R5bGUqPVwidGV4dC1hbGlnbjogbGVmdFwiXSB7XHJcbiAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICBtYXJnaW46IDAgMjBweCAyMHB4IDBweDtcclxuICAgIH1cclxuICAgICZbc3R5bGUqPVwidGV4dC1hbGlnbjogbGVmdFwiXSxcclxuICAgICZbc3R5bGUqPVwidGV4dC1hbGlnbjogcmlnaHRcIl0ge1xyXG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7XHJcbiAgICAgIG1heC13aWR0aDogNjAlO1xyXG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogJHhzKSB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiA1MCU7XHJcbiAgICAgIH1cclxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICR4eHMpIHtcclxuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDtcclxuICAgICAgICBtYXJnaW46IDAgYXV0byA4cHg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBmaWdjYXB0aW9uIHtcclxuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgICAgcGFkZGluZzogMTBweDtcclxuICAgICAgYm9yZGVyLXJhZGl1czogMHB4IDBweCAkcmFkaXVzICRyYWRpdXM7XHJcbiAgICAgIEBpbmNsdWRlIGJnV2l0aENvbnRyYXN0KCRsaWdodEdyZXkpO1xyXG4gICAgICBmb250LXNpemU6IDAuOWVtO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gRU5EIElOTElORSBNRURJQSBTVFlMRVMgLy9cclxuXHJcbiAgLy8gQkVHSU4gVEVYVCBTVFlMRVMvL1xyXG5cclxuICBwIHtcclxuICAgIGZvbnQtZmFtaWx5OiAkYmFzaWNGb250O1xyXG4gICAgZm9udC1zaXplOiAxLjFlbTtcclxuICB9XHJcblxyXG4gIGgzLmhlYWRpbmcge1xyXG4gICAgbWFyZ2luOiAwLjc1ZW0gMCAwLjRlbTtcclxuICAgIGZvbnQtc2l6ZTogMi4zZW07XHJcbiAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDI1ZW07XHJcbiAgICBAaW5jbHVkZSBjb2xvcldpdGhDb250cmFzdCgkYWNjZW50KTtcclxuICB9XHJcblxyXG4gIC5oZWFkaW5nTGlzdCxcclxuICAuc3ViaGVhZGluZ0xpc3Qge1xyXG4gICAgbWFyZ2luOiAwLjg1ZW0gMCAwLjRlbTtcclxuICAgIHBhZGRpbmctYm90dG9tOiAwLjI1ZW07XHJcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgJHByaW1hcnk7XHJcbiAgICBmb250LXdlaWdodDogOTAwO1xyXG4gICAgZm9udC1mYW1pbHk6ICRwcmltYXJ5Rm9udDtcclxuICAgIC8vdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgIGxldHRlci1zcGFjaW5nOiAwLjAyNWVtO1xyXG4gIH1cclxuXHJcbiAgaDMuaGVhZGluZ0xpc3Qge1xyXG4gICAgZm9udC1zaXplOiAxLjVlbTtcclxuICAgIEBpbmNsdWRlIGNvbG9yV2l0aENvbnRyYXN0KCRhY2NlbnQpO1xyXG4gIH1cclxuXHJcbiAgaDQuc3ViaGVhZGluZ0xpc3Qge1xyXG4gICAgZm9udC1zaXplOiAxLjNlbTtcclxuICAgIEBpbmNsdWRlIGNvbG9yV2l0aENvbnRyYXN0KCRzZWNvbmRhcnkpO1xyXG4gIH1cclxuXHJcbiAgaDQuc3ViaGVhZGluZyB7XHJcbiAgICBtYXJnaW46IDAuNzVlbSAwIDAuNGVtO1xyXG4gICAgZm9udC1zaXplOiAxLjc1ZW07XHJcbiAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDJlbTtcclxuICAgIEBpbmNsdWRlIGNvbG9yV2l0aENvbnRyYXN0KCRzZWNvbmRhcnkpO1xyXG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xyXG4gIH1cclxuXHJcbiAgLmxhcmdlVGV4dCB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgbWFyZ2luLXRvcDogMjBweDtcclxuICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIGZvbnQtc2l6ZTogMS4xNWVtO1xyXG4gICAgbGluZS1oZWlnaHQ6IDEuNWVtO1xyXG4gICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xyXG4gICAgcGFkZGluZy1yaWdodDogMjBweDtcclxuICAgIEBpbmNsdWRlIGNvbG9yV2l0aENvbnRyYXN0KCRhY2NlbnQpO1xyXG4gICAgLy90ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAvLyBmb250LWZhbWlseTogJHByaW1hcnlGb250O1xyXG5cclxuICAgIC8vICY6YmVmb3JlIHtcclxuICAgIC8vICAgY29udGVudDogXCJcIjtcclxuICAgIC8vICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgLy8gICBsZWZ0OiAwO1xyXG4gICAgLy8gICB0b3A6IDA7XHJcbiAgICAvLyAgIHdpZHRoOiA1MCU7XHJcbiAgICAvLyAgIGhlaWdodDogNHB4O1xyXG4gICAgLy8gICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL0ltYWdlcy93aWdnbGUucG5nKTtcclxuICAgIC8vICAgYmFja2dyb3VuZC1zaXplOiBhdXRvIDEwMCU7XHJcbiAgICAvLyAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICAvLyB9XHJcblxyXG4gICAgLy8gJjphZnRlciB7XHJcbiAgICAvLyAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAvLyAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIC8vICAgbGVmdDogMDtcclxuICAgIC8vICAgYm90dG9tOiAtNXB4O1xyXG4gICAgLy8gICB3aWR0aDogNTAlO1xyXG4gICAgLy8gICBoZWlnaHQ6IDRweDtcclxuICAgIC8vICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC9JbWFnZXMvd2lnZ2xlLnBuZyk7XHJcbiAgICAvLyAgIGJhY2tncm91bmQtc2l6ZTogYXV0byAxMDAlO1xyXG4gICAgLy8gICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgLy8gICB0cmFuc2l0aW9uOiB3aWR0aCAkZmFzdDtcclxuICAgIC8vICAgdHJhbnNpdGlvbi1kZWxheTogJHZlcnlTbG93ICsgMC4zcztcclxuICAgIC8vIH1cclxuXHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgbGVmdDogMDtcclxuICAgICAgdG9wOiAwO1xyXG4gICAgICB3aWR0aDogNHB4O1xyXG4gICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvSW1hZ2VzL3dpZ2dsZS12ZXJ0aWNhbC5wbmcpO1xyXG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgYXV0bztcclxuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgIH1cclxuXHJcbiAgICAvLyAmOmFmdGVyIHtcclxuICAgIC8vICAgY29udGVudDogXCJcIjtcclxuICAgIC8vICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgLy8gICByaWdodDogMDtcclxuICAgIC8vICAgdG9wOiAwO1xyXG4gICAgLy8gICB3aWR0aDogNHB4O1xyXG4gICAgLy8gICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAvLyAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XHJcbiAgICAvLyAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvSW1hZ2VzL3dpZ2dsZS12ZXJ0aWNhbC5wbmcpO1xyXG4gICAgLy8gICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgYXV0bztcclxuICAgIC8vICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgIC8vIH1cclxuICB9XHJcblxyXG4gIC5oaWdobGlnaHQge1xyXG4gICAgQGluY2x1ZGUgYmdXaXRoQ29udHJhc3QoJGxpZ2h0R3JleSk7XHJcbiAgfVxyXG5cclxuICB1bCB7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG5cclxuICAgID4gbGkge1xyXG4gICAgICBtYXJnaW4tbGVmdDogNDBweDtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xyXG5cclxuICAgICAgJjo6bWFya2VyIHtcclxuICAgICAgICBmb250LXNpemU6IDEuMjVlbTtcclxuICAgICAgICBjb2xvcjogJHNlY29uZGFyeTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb2wge1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcclxuICAgIGNvdW50ZXItcmVzZXQ6IGNvdW50ZXI7XHJcblxyXG4gICAgPiBsaSB7XHJcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgY291bnRlci1pbmNyZW1lbnQ6IGNvdW50ZXI7XHJcbiAgICAgIG1hcmdpbi1sZWZ0OiA0MHB4O1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XHJcblxyXG4gICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogY291bnRlcihjb3VudGVyKSBcIi4gXCI7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHJpZ2h0OiBjYWxjKDEwMCUgKyA4cHgpO1xyXG4gICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5O1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBhIHtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgIEBpbmNsdWRlIGNvbG9yV2l0aENvbnRyYXN0KCRzZWNvbmRhcnkpO1xyXG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICRwcmltYXJ5O1xyXG5cclxuICAgIEBpbmNsdWRlIGhvdmVyQW5kRm9jdXMge1xyXG4gICAgICBAaW5jbHVkZSBjb2xvcldpdGhDb250cmFzdCgkYWx0Myk7XHJcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRhbHQzO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gaHR0cHM6Ly93d3cudzMub3JnL1dBSS9XQ0FHMjEvVW5kZXJzdGFuZGluZy9yZWZsb3cuaHRtbFxyXG4gIC8vIEV4YW1wbGVzIG9mIGNvbnRlbnQgd2hpY2ggcmVxdWlyZXMgdHdvLWRpbWVuc2lvbmFsIGxheW91dCBhcmUgWy4uLl0gZGF0YSB0YWJsZXMgKG5vdCBpbmRpdmlkdWFsIGNlbGxzKSwgYW5kIGludGVyZmFjZXNcclxuICAvLyB3aGVyZSBpdCBpcyBuZWNlc3NhcnkgdG8ga2VlcCB0b29sYmFycyBpbiB2aWV3IHdoaWxlIG1hbmlwdWxhdGluZyBjb250ZW50LiBJdCBpcyBhY2NlcHRhYmxlIHRvIHByb3ZpZGUgdHdvLWRpbWVuc2lvbmFsXHJcbiAgLy8gc2Nyb2xsaW5nIGZvciBzdWNoIHBhcnRzIG9mIHRoZSBjb250ZW50LlxyXG4gIC50YWJsZVdyYXBwZXIge1xyXG4gICAgb3ZlcmZsb3c6IGF1dG87XHJcbiAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICAgYmFja2dyb3VuZDpcclxuICAgICAgbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAkbGlnaHQgMzAlLCByZ2JhKCRsaWdodCwgMCkpLFxyXG4gICAgICBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHJnYmEoJGxpZ2h0LCAwKSwgJGxpZ2h0IDcwJSkgMCAxMDAlLFxyXG4gICAgICByYWRpYWwtZ3JhZGllbnQoZmFydGhlc3Qtc2lkZSBhdCAwJSA1MCUsIHJnYmEoJGJsYWNrLCAwLjIpLCByZ2JhKCRibGFjaywgMCkpLFxyXG4gICAgICByYWRpYWwtZ3JhZGllbnQoZmFydGhlc3Qtc2lkZSBhdCAxMDAlIDUwJSwgcmdiYSgkYmxhY2ssIDAuMiksIHJnYmEoJGJsYWNrLCAwKSkgMCAxMDAlO1xyXG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRsaWdodDtcclxuICAgIGJhY2tncm91bmQtc2l6ZTpcclxuICAgICAgNDBweCAxMDAlLFxyXG4gICAgICA0MHB4IDEwMCUsXHJcbiAgICAgIDE0cHggMTAwJSxcclxuICAgICAgMTRweCAxMDAlO1xyXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjpcclxuICAgICAgMCAwLFxyXG4gICAgICAxMDAlLFxyXG4gICAgICAwIDAsXHJcbiAgICAgIDEwMCU7XHJcbiAgICBiYWNrZ3JvdW5kLWF0dGFjaG1lbnQ6IGxvY2FsLCBsb2NhbCwgc2Nyb2xsLCBzY3JvbGw7XHJcblxyXG4gICAgdGFibGUge1xyXG4gICAgICBtaW4td2lkdGg6IDUwMHB4O1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XHJcbiAgICAgIGNhcHRpb24ge1xyXG4gICAgICAgIHBhZGRpbmc6IDRweDtcclxuICAgICAgICBmb250LXdlaWdodDogNTAwO1xyXG4gICAgICAgIEBpbmNsdWRlIGJnV2l0aENvbnRyYXN0KCRwcmltYXJ5KTtcclxuICAgICAgfVxyXG4gICAgICB0cjpudGgtY2hpbGQoZXZlbikge1xyXG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoJHNlY29uZGFyeSwgMC4xNyk7XHJcbiAgICAgIH1cclxuICAgICAgdHI6bnRoLWNoaWxkKG9kZCkge1xyXG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoJHNlY29uZGFyeSwgMC4wNik7XHJcbiAgICAgIH1cclxuICAgICAgdGgge1xyXG4gICAgICAgIHBhZGRpbmc6IDNweDtcclxuICAgICAgICBAaW5jbHVkZSBiZ1dpdGhDb250cmFzdCgkc2Vjb25kYXJ5KTtcclxuICAgICAgICBib3JkZXItY29sb3I6IGJsYWNrO1xyXG4gICAgICB9XHJcbiAgICAgIHRkIHtcclxuICAgICAgICBwYWRkaW5nOiAzcHg7XHJcbiAgICAgICAgZm9udC1zaXplOiAwLjk1ZW07XHJcbiAgICAgIH1cclxuICAgICAgYSB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5tb2JpbGVTY3JvbGxNZXNzYWdlIHtcclxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICBtYXJnaW4tdG9wOiA4cHg7XHJcbiAgICAgIHBhZGRpbmc6IDVweCA4cHg7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XHJcbiAgICAgIEBpbmNsdWRlIGJnV2l0aENvbnRyYXN0KCRwcmltYXJ5KTtcclxuICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIGJvdHRvbTogMTAwJTtcclxuICAgICAgICBsZWZ0OiA4cHg7XHJcbiAgICAgICAgd2lkdGg6IDBweDtcclxuICAgICAgICBoZWlnaHQ6IDBweDtcclxuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gICAgICAgIGJvcmRlci13aWR0aDogMCA2cHggOHB4IDVweDtcclxuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICRwcmltYXJ5IHRyYW5zcGFyZW50O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmLmNhbGxvdXRTdWJ0bGUge1xyXG4gICAgbWFyZ2luOiAwLjc1ZW0gMCAwLjllbTtcclxuICAgIHBhZGRpbmc6IDEwcHggMTVweDtcclxuICAgIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XHJcbiAgICBAaW5jbHVkZSBiZ1dpdGhDb250cmFzdCgkbGlnaHRHcmV5KTtcclxuXHJcbiAgICBhIHtcclxuICAgICAgQGluY2x1ZGUgYmdXaXRoQ29udHJhc3QoJGxpZ2h0R3JleSk7XHJcbiAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCBjb250cmFzdCgkbGlnaHRHcmV5KTtcclxuXHJcbiAgICAgIEBpbmNsdWRlIGhvdmVyQW5kRm9jdXMge1xyXG4gICAgICAgIEBpbmNsdWRlIGNvbG9yV2l0aENvbnRyYXN0KCRiYXNpYyk7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGJhc2ljO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgPiAqOmZpcnN0LWNoaWxkIHtcclxuICAgICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG5cclxuICAgID4gKjpsYXN0LWNoaWxkIHtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJi5jYWxsb3V0Qm9sZCB7XHJcbiAgICBtYXJnaW46IDAuNzVlbSAwIDAuOWVtO1xyXG4gICAgcGFkZGluZzogMTBweCAxNXB4O1xyXG4gICAgYm9yZGVyLXJhZGl1czogJHJhZGl1cztcclxuICAgIEBpbmNsdWRlIGJnV2l0aENvbnRyYXN0KCRwcmltYXJ5KTtcclxuXHJcbiAgICBhIHtcclxuICAgICAgQGluY2x1ZGUgYmdXaXRoQ29udHJhc3QoJHByaW1hcnkpO1xyXG4gICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgY29udHJhc3QoJHByaW1hcnkpO1xyXG5cclxuICAgICAgQGluY2x1ZGUgaG92ZXJBbmRGb2N1cyB7XHJcbiAgICAgICAgQGluY2x1ZGUgY29sb3JXaXRoQ29udHJhc3QoJGJhc2ljKTtcclxuICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkYmFzaWM7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICA+ICo6Zmlyc3QtY2hpbGQge1xyXG4gICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgPiAqOmxhc3QtY2hpbGQge1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vLyBNRURJQSBRVUVSSUVTICYgQlJPV1NFUi1TUEVDSUZJQyBBREpVU1RNRU5UUyBCRUxPVyAvL1xyXG5cclxuQG1lZGlhIChtYXgtd2lkdGg6ICRzbSkge1xyXG4gIC5ydGUgLmxhcmdlVGV4dCB7XHJcbiAgICBtYXJnaW4tbGVmdDogMjBweDtcclxuICB9XHJcbn1cclxuXHJcbkBtZWRpYSAobWF4LXdpZHRoOiAkeHMpIHtcclxuICAucnRlIC50YWJsZVdyYXBwZXIge1xyXG4gICAgLm1vYmlsZVNjcm9sbE1lc3NhZ2Uge1xyXG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIkB1c2UgXCJtaXhpbnNcIiBhcyAqO1xyXG5AdXNlIFwidmFyaWFibGVzXCIgYXMgKjtcclxuXHJcbiNtZW1iZXJzaGlwIC5mb3JtV3JhcC5tYWludGVuYW5jZSB7XHJcbiAgYmFja2dyb3VuZDogJHNlY29uZGFyeTtcclxuICBib3JkZXItY29sb3I6ICRsaWdodDtcclxuXHJcbiAgLmZvcm1BcmVhIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG5cclxuICAgIC5ydGUge1xyXG4gICAgICBjb2xvcjogJGxpZ2h0O1xyXG4gICAgICBwYWRkaW5nLXJpZ2h0OiAyNXB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5pY29uIHtcclxuICAgICAgZmxleC1zaHJpbms6IDA7XHJcbiAgICAgIGZsZXgtZ3JvdzogMDtcclxuICAgICAgd2lkdGg6IDM1MHB4O1xyXG4gICAgICBoZWlnaHQ6IDM1MHB4O1xyXG4gICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgZm9udC1zaXplOiAxNmVtO1xyXG4gICAgICBib3JkZXItbGVmdDogMnB4IHNvbGlkIGxpZ2h0ZW4oJHNlY29uZGFyeSwgMzAlKTtcclxuICAgICAgY29sb3I6ICRsaWdodDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbkBtZWRpYSAobWF4LXdpZHRoOiAkc20pIHtcclxuICAjbWVtYmVyc2hpcCAuZm9ybVdyYXAubWFpbnRlbmFuY2Uge1xyXG4gICAgLmZvcm1BcmVhIHtcclxuICAgICAgLmljb24ge1xyXG4gICAgICAgIHdpZHRoOiAzMCU7XHJcbiAgICAgICAgaGVpZ2h0OiAxNTBweDtcclxuICAgICAgICBmb250LXNpemU6IDZlbTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQG1lZGlhIChtYXgtd2lkdGg6ICR4cykge1xyXG4gICNtZW1iZXJzaGlwIC5mb3JtV3JhcC5tYWludGVuYW5jZSB7XHJcbiAgICAuZm9ybUFyZWEge1xyXG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XHJcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cclxuICAgICAgLmljb24ge1xyXG4gICAgICAgIHdpZHRoOiA3NXB4O1xyXG4gICAgICAgIGhlaWdodDogNzVweDtcclxuICAgICAgICBmb250LXNpemU6IDNlbTtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XHJcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDA7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIGxpZ2h0ZW4oJHNlY29uZGFyeSwgMzAlKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCJAdXNlIFwibWl4aW5zXCIgYXMgKjtcclxuQHVzZSBcInZhcmlhYmxlc1wiIGFzICo7XHJcblxyXG4ubWVtYmVyc2hpcFBhZ2UgLmVycm9yUGFnZSB7XHJcbiAgLmVycm9yV3JhcCB7XHJcbiAgICBiYWNrZ3JvdW5kOiAkc2Vjb25kYXJ5O1xyXG4gICAgYm9yZGVyLXJhZGl1czogJHJhZGl1cztcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XHJcbiAgICBjb2xvcjogJGxpZ2h0O1xyXG4gICAgbWFyZ2luLXRvcDogMTBweDtcclxuICAgIHBhZGRpbmc6IDMwcHg7XHJcbiAgfVxyXG5cclxuICAuaWNvbiB7XHJcbiAgICBwYWRkaW5nOiAzMHB4O1xyXG4gICAgZm9udC1zaXplOiA4ZW07XHJcbiAgICBib3JkZXItbGVmdDogMnB4IHNvbGlkIHJnYigxNjcsIDE5NiwgMjIxKTtcclxuICAgIHdpZHRoOiA1MCU7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgfVxyXG5cclxuICAucnRlIHtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIHBhZGRpbmc6IDQwcHggMzBweCAyMHB4IDMwcHg7XHJcbiAgICB3aWR0aDogNTAlO1xyXG4gICAgaDMuaGVhZGluZyB7XHJcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gICAgICBjb2xvcjogY29udHJhc3QoJHNlY29uZGFyeSk7XHJcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQG1lZGlhIChtYXgtd2lkdGg6ICRzbSkge1xyXG4gIC5tZW1iZXJzaGlwUGFnZSAuZXJyb3JQYWdlIHtcclxuICAgIC5pY29uIHtcclxuICAgICAgZm9udC1zaXplOiA2ZW07XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5AbWVkaWEgKG1heC13aWR0aDogJHhzKSB7XHJcbiAgLm1lbWJlcnNoaXBQYWdlIC5lcnJvclBhZ2Uge1xyXG4gICAgLmVycm9yV3JhcCB7XHJcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgIHBhZGRpbmc6IDAgMzBweDtcclxuICAgIH1cclxuXHJcbiAgICAuaWNvbiB7XHJcbiAgICAgIGZvbnQtc2l6ZTogNWVtO1xyXG4gICAgICBib3JkZXItbGVmdDogMDtcclxuICAgICAgcGFkZGluZy1ib3R0b206IDE1cHg7XHJcbiAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCByZ2IoMTY3LCAxOTYsIDIyMSk7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICBtYXJnaW46IDAgYXV0bztcclxuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgfVxyXG5cclxuICAgIC5ydGUge1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgcGFkZGluZzogMTVweCAwO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCJAdXNlIFwidmFyaWFibGVzXCIgYXMgKjtcclxuQHVzZSBcIm1peGluc1wiIGFzICo7XHJcbkB1c2UgXCJzYXNzOm1hdGhcIjtcclxuXHJcbi8vIEJFR0lOIEJBU0UgU1RZTEVTIC0gRE8gTk9UIENIQU5HRSBUSEVTRSBVTkxFU1MgWU9VIEtOT1cgV0hBVCBZT1UnUkUgRE9JTkcgLy9cclxuXHJcbmRldGFpbHMge1xyXG4gIC8vIElmIHlvdSBjaGFuZ2UgdGhpcyB0cmFuc2l0aW9uIHNwZWVkLCB5b3UnbGwgaGF2ZSB0byBjaGFuZ2UgaXQgYXQgdGhlIHRvcCBvZiBBY2NvcmRpb24udHNcclxuICB0cmFuc2l0aW9uOiBhbGwgJG1lZGl1bTtcclxufVxyXG5cclxuZGV0YWlscyA+IHN1bW1hcnk6Om1hcmtlciwgLyogTGF0ZXN0IENocm9tZSwgRWRnZSwgRmlyZWZveCAqL1xyXG5kZXRhaWxzID4gc3VtbWFyeTo6LXdlYmtpdC1kZXRhaWxzLW1hcmtlciAvKiBTYWZhcmkgKi8ge1xyXG4gIGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuXHJcbi5hY2NvcmRpb25Nb2R1bGUge1xyXG4gIC5hY2NvcmRpb25UaXRsZSB7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gIH1cclxufVxyXG5cclxuLy8gRU5EIEJBU0UgU1RZTEVTIC8vXHJcblxyXG4uYWNjb3JkaW9uTW9kdWxlIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgbWFyZ2luOiAxMHB4IDA7XHJcblxyXG4gICZbb3Blbl0ge1xyXG4gICAgPiAuYWNjb3JkaW9uVGl0bGUge1xyXG4gICAgICBAaW5jbHVkZSBiZ1dpdGhDb250cmFzdCgkc2Vjb25kYXJ5KTtcclxuXHJcbiAgICAgIC5pY29uIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgcm90YXRlKDE4MGRlZyk7XHJcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgIGNvbnRlbnQ6ICdeJztcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5hY2NvcmRpb25UaXRsZSB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIEBpbmNsdWRlIGJnV2l0aENvbnRyYXN0KCRhY2NlbnQpO1xyXG4gICAgcGFkZGluZzogMjBweCAyMHB4IDIwcHggNDBweDtcclxuICAgIHRyYW5zaXRpb246IGFsbCAkZmFzdDtcclxuXHJcbiAgICBAaW5jbHVkZSBob3ZlckFuZEZvY3VzIHtcclxuICAgICAgQGluY2x1ZGUgYmdXaXRoQ29udHJhc3QoJHNlY29uZGFyeSk7XHJcblxyXG4gICAgICAuaWNvbiB7XHJcbiAgICAgICAgY29sb3I6IGNvbnRyYXN0KCRzZWNvbmRhcnkpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmljb24ge1xyXG4gICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJAXCI7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6ICRpY29uRm9udDtcclxuICAgICAgfVxyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIHRvcDogNTAlO1xyXG4gICAgICBsZWZ0OiAxOHB4O1xyXG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKSB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgICB0cmFuc2l0aW9uOiAwLjJzIHRyYW5zZm9ybTtcclxuICAgIH1cclxuXHJcbiAgICAudGV4dCB7XHJcbiAgICAgIGZvbnQtc2l6ZTogMS4xZW07XHJcbiAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcclxuICAgIH1cclxuXHJcbiAgICAvLyAmOmFmdGVyIHtcclxuICAgIC8vICAgY29udGVudDogJyc7XHJcbiAgICAvLyAgIGhlaWdodDogMXB4O1xyXG4gICAgLy8gICBmbGV4LWdyb3c6IDE7XHJcbiAgICAvLyAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xyXG4gICAgLy8gICBiYWNrZ3JvdW5kOiAkbGlnaHQ7XHJcbiAgICAvLyB9XHJcbiAgfVxyXG5cclxuICAuYWNjb3JkaW9uV3JhcHBlciB7XHJcbiAgICBib3JkZXItdG9wOiA4cHggc29saWQgJGFsdDtcclxuICAgIHBhZGRpbmc6IDE1cHggOHB4IDEwcHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiAwcHggMHB4IG1hdGguZGl2KCRyYWRpdXMsIDIpIG1hdGguZGl2KCRyYWRpdXMsIDIpO1xyXG4gICAgQGluY2x1ZGUgYmdXaXRoQ29udHJhc3QoJGxpZ2h0KTtcclxuICAgIGltZyB7XHJcbiAgICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgaDMuaGVhZGluZyB7XHJcbiAgICAgIGZvbnQtc2l6ZTogMS44ZW07XHJcbiAgICB9XHJcblxyXG4gICAgaDMuaGVhZGluZ0xpc3Qge1xyXG4gICAgICBmb250LXNpemU6IDEuNGVtO1xyXG4gICAgfVxyXG4gIFxyXG4gICAgaDQuc3ViaGVhZGluZ0xpc3Qge1xyXG4gICAgICBmb250LXNpemU6IDEuMmVtO1xyXG4gICAgfVxyXG5cclxuICAgIGgzLnN1YmhlYWRpbmcge1xyXG4gICAgICBmb250LXNpemU6IDEuNWVtO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgKyAucnRlIHtcclxuICAgIG1hcmdpbi10b3A6IDI1cHg7XHJcbiAgfVxyXG59XHJcblxyXG4vLyBNRURJQSBRVUVSSUVTICYgQlJPV1NFUi1TUEVDSUZJQyBBREpVU1RNRU5UUyBCRUxPVyAvL1xyXG4iXX0= */