#static-loading-screen {
  width: 100%;
  height: 100%;
  z-index: 100;
  background-color: #2196f3;
  position: absolute;
  top: 0;
  left: 0;
}
#static-loading-screen #app-load-error-message {
  font-size: 2em;
  padding: 3em;
}
#static-loading-screen .loading-bars {
  display: block;
  margin-left: auto;
  margin-right: auto;
  position: absolute;
  bottom: 2em;
  left: 0;
  right: 0;
}
#static-loading-screen p {
  text-align: center;
  font-size: 2.3em;
  font-weight: bold;
  margin: 1.7em 0;
  padding: 0 4.2em;
}

.switch {
  font-size: 2.5em;
  position: relative;
  display: inline-block;
  width: 2em;
  height: 1em;
  border-radius: 1em;
  border-width: 0.15em;
  border-style: solid;
  border-color: rgba(0, 0, 0, 0);
  box-shadow: none;
  -webkit-transition: 0.4s;
  transition: 0.4s;
}
.switch.switchFocussed {
  border-style: solid;
  border-color: #ffc106;
  transform: scale(1.3);
}
.switch .switchSlider {
  position: absolute;
  cursor: pointer;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #CCCCCC;
  -webkit-transition: 0.4s;
  transition: 0.4s;
  border-radius: 1em;
}
.switch .switchSlider:before {
  position: absolute;
  content: "";
  height: 0.76em;
  width: 0.76em;
  left: 0.117em;
  bottom: 0.117em;
  background-color: #FFFFFF;
  -webkit-transition: 0.4s;
  transition: 0.4s;
  border-radius: 50%;
}
.switch.switchOn .switchSlider {
  background-color: #2196f3;
}
.switch.switchOn .switchSlider:before {
  -webkit-transform: translateX(1em);
  -ms-transform: translateX(1em);
  transform: translateX(1em);
}

.dark .switch.focus {
  border-color: #FF9F00;
}
.dark .switch.switchOn .switchSlider {
  background-color: #002D61;
}

.clickable-button.button {
  cursor: pointer;
}
.clickable-button.button .label {
  cursor: pointer;
}

#app #back-button {
  padding: 0.5em;
  position: absolute;
  left: 0;
  top: 0;
  width: 2em;
  height: 2em;
  z-index: 1000;
  background-image: url("components/widgets/back-button/images/exit.png");
  background-repeat: no-repeat;
  background-size: contain;
}
#app #back-button.buttonFocussed {
  background-image: url("components/widgets/back-button/images/exit-white.png");
}

.dark #app #back-button {
  background-image: url("components/widgets/back-button/images/exit-white.png");
}

.text-input {
  transition: border, box-shadow 0.3s ease;
  -webkit-transition: border, box-shadow 0.3s ease;
  color: #202020;
  background-color: #EFEFEF;
  border: none;
  box-sizing: border-box;
  padding-left: 0.5em;
  padding-right: 0.5em;
  outline: none;
  transition: border, box-shadow 0.3s ease;
  -webkit-transition: border, box-shadow 0.3s ease;
  border: 1px solid #2196f3;
  box-shadow: 0 0 5px #2196f3;
}
.text-input.placeholder {
  transition: color 0.3s ease;
  -webkit-transition: color 0.3s ease;
  color: rgba(0, 0, 0, 0.2);
}
.text-input.placeholder::after {
  position: absolute;
  left: 50%;
}
.text-input::after {
  color: #202020;
  animation: 1s blink step-end infinite;
  -webkit-animation: 1s webkit-blink step-end infinite;
  content: "|";
}
@keyframes blink {
  from, to {
    color: transparent;
  }
  50% {
    color: #202020;
  }
}
@-webkit-keyframes webkit-blink {
  from, to {
    color: transparent;
  }
  50% {
    color: #202020;
  }
}

.dark #app .text-input {
  color: #F9F9F9;
  background-color: #414141;
  border: 1px solid #002D61;
  box-shadow: 0 0 5px #002D61;
}
.dark #app .text-input::after {
  color: #F9F9F9;
  animation: 1s blink-dark step-end infinite;
  -webkit-animation: 1s webkit-blink-dark step-end infinite;
}
@keyframes blink-dark {
  from, to {
    color: transparent;
  }
  50% {
    color: #F9F9F9;
  }
}
@-webkit-keyframes webkit-blink-dark {
  from, to {
    color: transparent;
  }
  50% {
    color: #F9F9F9;
  }
}

.loading-bars {
  display: inline-block;
  position: relative;
  width: 5.3em;
  height: 5.3em;
}

.loading-bars div {
  display: inline-block;
  position: absolute;
  left: 0.5em;
  width: 1em;
  background: #fff;
  animation: loading-bars 1.2s cubic-bezier(0, 0.5, 0.5, 1) infinite;
  -webkit-animation: webkit-loading-bars 1.2s cubic-bezier(0, 0.5, 0.5, 1) infinite;
}

.loading-bars div:nth-child(1) {
  left: 0.5em;
  animation-delay: -0.24s;
  -webkit-animation-delay: -0.24s;
}

.loading-bars div:nth-child(2) {
  left: 2.15em;
  animation-delay: -0.12s;
  -webkit-animation-delay: -0.12s;
}

.loading-bars div:nth-child(3) {
  left: 3.75em;
  animation-delay: 0;
  -webkit-animation-delay: 0;
}

@keyframes loading-bars {
  0% {
    top: 0.5em;
    height: 4.25em;
  }
  50%, 100% {
    top: 1.6em;
    height: 2.2em;
  }
}
@-webkit-keyframes webkit-loading-bars {
  0% {
    top: 0.5em;
    height: 4.25em;
  }
  50%, 100% {
    top: 1.6em;
    height: 2.2em;
  }
}
.youtube-video {
  width: 100%;
  height: 100%;
}

#app .wvc-logo {
  padding: 4px;
}
#app .wvc-logo img {
  display: block;
  margin-left: auto;
  margin-right: auto;
  width: 4em;
  height: 4em;
}

#app .receiver-logo {
  padding: 0px;
}
#app .receiver-logo img {
  display: block;
  margin-left: auto;
  margin-right: auto;
  width: 5em;
  height: 5em;
}

.scanning {
  display: inline-block;
  position: relative;
}
.scanning div {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-repeat: no-repeat;
  background-size: contain;
}
.scanning div:nth-child(1) {
  background-image: url("components/widgets/scanning/images/scan-1.png");
  animation: none;
}
.scanning div:nth-child(2) {
  animation: scanning-anim-2 3s infinite;
  -webkit-animation: webkit-scanning-anim-2 3s infinite;
  opacity: 0;
  background-image: url("components/widgets/scanning/images/scan-2.png");
}
.scanning div:nth-child(3) {
  animation: scanning-anim-3 3s infinite;
  -webkit-animation: webkit-scanning-anim-3 3s infinite;
  opacity: 0;
  background-image: url("components/widgets/scanning/images/scan-3.png");
}

@keyframes scanning-anim-2 {
  0% {
    opacity: 0;
  }
  25%, 75% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@keyframes scanning-anim-3 {
  0%, 25% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  75%, 100% {
    opacity: 0;
  }
}
@-webkit-keyframes webkit-scanning-anim-2 {
  0% {
    opacity: 0;
  }
  25%, 75% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@-webkit-keyframes webkit-scanning-anim-3 {
  0%, 25% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  75%, 100% {
    opacity: 0;
  }
}
.dark .scanning div:nth-child(1) {
  background-image: url("components/widgets/scanning/images/scan-1-dark.png");
}
.dark .scanning div:nth-child(2) {
  background-image: url("components/widgets/scanning/images/scan-2-dark.png");
}
.dark .scanning div:nth-child(3) {
  background-image: url("components/widgets/scanning/images/scan-3-dark.png");
}

.qr-code .qr > img {
  width: 7em;
  height: 7em;
}
.qr-code .qr-label {
  text-align: center;
  padding-top: 0.1em;
  display: inline-block;
}
.qr-code .qr-type {
  width: 2em;
  height: 2em;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  background-repeat: no-repeat;
  background-size: contain;
}
.qr-code .qr-type.qr-type-ios {
  transition: 0.4s;
  -webkit-transition: 0.4s;
  background-image: url("components/widgets/qr-code/images/ios.png");
}
.qr-code .qr-type.qr-type-android {
  background-image: url("components/widgets/qr-code/images/android.png");
}

.dark #app .qr-code .qr-type.qr-type-ios {
  background-image: url("components/widgets/qr-code/images/ios-dark.png");
}

#app .get-wvc {
  margin-top: 2em;
  text-align: center;
  white-space: nowrap;
}
#app .get-wvc .qr-code {
  margin-left: 1em;
  margin-right: 1em;
}
#app .get-wvc #android-container,
#app .get-wvc #ios-container,
#app .get-wvc #dont-have {
  display: inline-block;
  white-space: normal;
}
#app .get-wvc #dont-have {
  vertical-align: top;
  text-align: left;
  padding-right: 5em;
  max-width: 40em;
}
#app .get-wvc #dont-have > .label, #app .get-wvc #dont-have #or-go-to {
  display: block;
  text-align: left;
  max-width: 40em;
  margin-left: 0.5em;
  line-height: 1.5em;
}
#app .get-wvc #dont-have #dont-have-or-go-to {
  padding-right: 0.4em;
}
#app .get-wvc #dont-have #dont-have-title {
  margin-left: 0.3em;
  line-height: 1.3em;
  font-size: 1.5em;
  color: #2196f3;
  transition: 0.4s;
  -webkit-transition: 0.4s;
}
#app .get-wvc #dont-have #help-button {
  margin-top: 1em;
  display: inline-block;
}
#app .get-wvc #dont-have #help-button .label {
  margin-left: 0;
}

.dark #app .get-wvc #dont-have #dont-have-title {
  color: #F9F9F9;
  font-weight: bold;
}

#css-demos > .image img {
  width: 8em;
  height: 8em;
}
#css-demos #demo-container {
  color: #000;
  background-color: #FFF;
}
#css-demos #demo-container #ssl-tests {
  display: block;
}
#css-demos #demo-container #ssl-tests > .button {
  margin: 1em;
}
#css-demos #demo-container #ssl-test-result, #css-demos #demo-container #supported {
  word-wrap: break-word;
}

#css-demo-zoom,
#css-demo-rotate {
  text-align: center;
}
#css-demo-zoom > .container,
#css-demo-rotate > .container {
  display: inline-block;
  text-align: center;
}

#css-demo-zoom > .image img {
  width: 4em;
  height: 4em;
}
#css-demo-zoom #demo-img-zoom-40 {
  transform: scale(0.4, 0.4);
  -webkit-transform: scale(0.4, 0.4);
}
#css-demo-zoom #demo-img-zoom-80 {
  transform: scale(0.8, 0.8);
  -webkit-transform: scale(0.8, 0.8);
}
#css-demo-zoom #demo-img-zoom-120 {
  padding: 7px;
  transform: scale(1.2, 1.2);
  -webkit-transform: scale(1.2, 1.2);
}
#css-demo-zoom #demo-img-zoom-160 {
  padding: 22px;
  transform: scale(1.6, 1.6);
  -webkit-transform: scale(1.6, 1.6);
}
#css-demo-zoom #demo-img-zoom-200 {
  padding: 36px;
  transform: scale(2, 2);
  -webkit-transform: scale(2, 2);
}

#demo-img-rotate-90 {
  transform: rotate(90deg);
  -webkit-transform: rotate(90deg);
}

#demo-img-rotate-180 {
  transform: rotate(180deg);
  -webkit-transform: rotate(180deg);
}

#demo-img-rotate-270 {
  transform: rotate(270deg);
  -webkit-transform: rotate(270deg);
}

#demo-img-rotate-270 {
  transform: rotate(270deg);
  -webkit-transform: rotate(270deg);
}

#car-drive {
  text-align: center;
  animation: drive 3s infinite;
  -webkit-animation: webkit-drive 3s infinite;
}

#keycode #keycode-container > .label, #keycode #betas-container > .label, #betas #keycode-container > .label, #betas #betas-container > .label {
  display: block;
  font-size: 2em;
  padding-bottom: 0.3em;
}

@keyframes drive {
  0% {
    transform: translateX(-200px);
  }
  100% {
    transform: translateX(200px);
  }
}
@-webkit-keyframes webkit-drive {
  0% {
    -webkit-transform: translateX(-200px);
  }
  100% {
    -webkit-transform: translateX(200px);
  }
}
#logging #back-button {
  margin-top: 2em;
}
#logging .horizontallist > .button {
  margin-left: 0.5em;
  margin-right: 0.5em;
}

.setting-switch {
  text-align: left;
}
.setting-switch .horizontallist {
  display: inline-block;
  margin-bottom: 0.5em;
  margin-left: 5em;
}
.setting-switch .horizontallist .label {
  padding-right: 1.5em;
  vertical-align: middle;
}
.setting-switch .horizontallist .switch {
  margin-right: 0.5em;
  vertical-align: middle;
}

.setting-label {
  font-size: 2em;
  padding: 1em;
  display: block;
}

#app #senders #senders-list {
  max-width: 45em;
}
#app #senders #senders-list .sender-button {
  width: 10em;
  height: 7.5em;
  margin: 1em;
  transform: 0.4s;
}
#app #senders #senders-list .sender-button.buttonFocussed .sender-container .sender-label {
  color: #202020;
}
#app #senders #senders-list .sender-button .label {
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}
#app #senders #senders-list .sender-button .sender-container .sender-icon {
  margin-left: auto;
  margin-right: auto;
  display: block;
  background-color: #CCCCCC;
  border-radius: 50%;
  width: 3em;
  height: 3em;
  margin-top: 0.5em;
  margin-bottom: 0.5em;
  padding: 0.5em;
}
#app #senders #senders-list .sender-button .sender-container .sender-icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
#app #senders #senders-list .sender-button .sender-container .sender-label {
  margin-left: auto;
  margin-right: auto;
  display: block;
  color: #000;
  text-transform: none;
}
#app #senders #senders-list .sender-button.buttonFocussed {
  background-color: #ffc106;
  transform: scale(1.1);
}
#app #senders #senders-list .sender-button.buttonBlurred {
  background-color: #F9F9F9;
  transform: scale(1);
}
@keyframes sender-button-color {
  from {
    background-color: #F9F9F9;
    transform: scale(1);
  }
  to {
    background-color: #ffc106;
    transform: scale(1.1);
  }
}
@keyframes sender-button-color-off {
  from {
    background-color: #ffc106;
    transform: scale(1.1);
  }
  to {
    background-color: #F9F9F9;
    transform: scale(1);
  }
}
@-webkit-keyframes webkit-sender-button-color {
  from {
    background-color: #F9F9F9;
    transform: scale(1);
  }
  to {
    background-color: #ffc106;
    transform: scale(1.1);
  }
}
@-webkit-keyframes webkit-sender-button-color-off {
  from {
    background-color: #ffc106;
    transform: scale(1.1);
  }
  to {
    background-color: #F9F9F9;
    transform: scale(1);
  }
}

.dark #app #senders #senders-list .sender-button.buttonFocussed {
  background-color: #FF9F00;
}

#dark-switch .switchSlider {
  background-image: url("components/senders/images/bg-light-mode.png");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}
#dark-switch .switchSlider:before {
  background-image: url("components/senders/images/light-mode.png");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}
#dark-switch.switchOn .switchSlider {
  background-image: url("components/senders/images/bg-dark-mode.png");
}
#dark-switch.switchOn .switchSlider:before {
  background-image: url("components/senders/images/dark-mode.png");
}

#app #senders #senders-top {
  padding-bottom: 1em;
}
#app #senders #senders-top > .listitem {
  vertical-align: top;
}
#app #senders #senders-top #senders-detected {
  min-width: 35em;
  margin-top: 2em;
}
#app #senders .heading {
  text-align: center;
  margin-left: auto;
  margin-right: auto;
  font-weight: bold;
  white-space: wrap;
}
#app #senders #logo-section {
  padding-left: 6em;
  padding-right: 1em;
  padding-top: 1em;
}
#app #senders #logo-section .receiver-logo img {
  width: 16em;
  height: 16em;
}
#app #senders #logo-section #dark-switch {
  display: inline-block;
  margin-right: 0.7em;
}
#app #senders #scanning-list, #app #senders #scanning-stopped-list, #app #senders #select-sender {
  font-size: 2em;
  vertical-align: top;
  margin-bottom: 1.5em;
}
#app #senders #scanning-list .label, #app #senders #scanning-stopped-list .label {
  max-width: 15em;
}
#app #senders #scanning-list .listitem, #app #senders #scanning-stopped-list .listitem {
  display: inline-block;
}
#app #senders #scanning-list .scanning, #app #senders #scanning-stopped-list .scanning {
  width: 1em;
  height: 1em;
  margin-bottom: 0.5em;
}
#app #senders #scanning-list #remote, #app #senders #scanning-stopped-list #remote {
  width: 1.5em;
  height: 1.5em;
  background-image: url("components/senders/images/remote.png");
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
}
#app #senders #scanning-list .scanning, #app #senders #scanning-list #remote, #app #senders #scanning-stopped-list .scanning, #app #senders #scanning-stopped-list #remote {
  vertical-align: top;
  margin-right: 0.5em;
}
#app #senders #scanning-list .scanning img, #app #senders #scanning-list #remote img, #app #senders #scanning-stopped-list .scanning img, #app #senders #scanning-stopped-list #remote img {
  width: 100%;
  height: 100%;
}
#app #senders #scanning-stopped-list {
  display: none;
}
#app #senders #app-version {
  position: absolute;
  bottom: 0;
  left: 0;
  color: #105098;
  padding: 0.2em;
  font-size: 1em;
}
#app #senders #connect-manually {
  margin-top: 1em;
  max-width: 25em;
}
#app #senders #select-sender {
  display: none;
  max-width: 20em;
}
#app #senders.senders-available #select-sender {
  display: inline-block;
  margin-bottom: 0.5em;
}
#app #senders.senders-available #scanning-list, #app #senders.senders-available #scanning-stopped-list {
  margin-top: 1em;
  font-size: 1em;
  margin-bottom: 1em;
}
#app #senders.senders-available #scanning-list .label, #app #senders.senders-available #scanning-stopped-list .label {
  max-width: 40em;
}
#app #senders.scanning-active #scanning-list {
  display: block;
}
#app #senders.scanning-active #scanning-stopped-list {
  display: none;
}
#app #senders.scanning-inactive #scanning-list {
  display: none;
}
#app #senders.scanning-inactive #scanning-stopped-list {
  display: block;
}

.dark #app #senders #app-version {
  color: #828282;
}
.dark #app #senders #scanning-stopped-list #remote {
  background-image: url("components/senders/images/remote-dark.png");
}

#keyboard {
  width: 30.8em;
  margin-left: auto;
  margin-right: auto;
  margin-top: 1em;
}
#keyboard .row {
  display: block;
  height: 2.8em;
  white-space: nowrap;
}
#keyboard .row .keyboardButton {
  display: inline-block;
  width: 2.8em;
  height: 2.8em;
  margin: 0;
}
#keyboard .row .keyboardButton .label {
  font-size: 1.12em;
  line-height: 1.68em;
}
#keyboard .row .keyboardButton.keyDEL {
  width: 3.36em;
}
#keyboard .row .spacer {
  display: inline-block;
  width: 2.8em;
  height: 1px;
  margin: 0;
}
#keyboard .row .spacer#keyboard_9_1 {
  width: 1.4em;
}
#keyboard #keyboard_row_2 {
  padding-left: 1.4em;
}

.loader {
  border-radius: 50%;
  margin-left: auto;
  margin-right: auto;
  text-indent: -9999em;
  border-top: 2px solid #2196F3 !important;
  border-right: 2px solid #2196F3 !important;
  border-bottom: 2px solid #2196F3 !important;
  border-left: 2px solid #EEEEEE !important;
  -webkit-transform: translateZ(0);
  -ms-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-animation: load8 1.1s infinite linear;
  animation: load8 1.1s infinite linear;
}

@-webkit-keyframes load8 {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@keyframes load8 {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
#connect #tutorial-button {
  padding: 0.5em;
  position: absolute;
  right: 0;
  top: 0;
  height: 2.5em;
  z-index: 1000;
}
#connect #logo-container {
  height: 4em;
}
#connect #logo-container #busy-container {
  width: 4em;
  height: 4em;
  display: none;
}
#connect #logo-container.loading #busy-container {
  display: inline-block;
}
#connect #logo-container #error, #connect #logo-container #success {
  display: none;
}
#connect #logo-container.error #error {
  display: inline-block;
}
#connect #logo-container.success #success {
  display: block;
}
#connect #logo-container #error {
  height: 4em;
  padding: 4px;
}
#connect #logo-container #error #error-message {
  height: 1em;
}
#connect #logo-container #error #error-img {
  margin-left: auto;
  margin-right: auto;
}
#connect #logo-container #error #error-img img {
  padding: 0.45em;
  width: 2.1em;
  height: 2.1em;
}
#connect #logo-container.loading .receiver-logo, #connect #logo-container.error .receiver-logo, #connect #logo-container.success .receiver-logo {
  display: none;
}
#connect #enter-code {
  height: 2em;
  font-size: 2em;
  line-height: 2em;
  text-align: center;
  margin-top: 1em;
  max-width: 16em;
  margin-left: auto;
  margin-right: auto;
}
#connect #connect-button {
  margin-top: 1em;
  max-width: 32em;
}
#connect #app-version {
  position: absolute;
  bottom: 0;
  left: 0;
  color: #105098;
  padding: 0.2em;
  font-size: 1em;
}

.dark #app #connect #app-version {
  color: #828282;
}

#tutorial #loading-container {
  position: absolute;
  top: 0;
  left: 0;
  width: 100vw;
  height: 80vh;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 10000;
}
#tutorial #youtube-video-frame {
  width: 100vw;
  height: 85vh;
  z-index: 1;
}
#tutorial #action-container {
  height: 15vh;
  display: flex;
  justify-content: center;
  align-items: center;
  padding-bottom: 5vh;
}
#tutorial #action-container .button {
  box-shadow: none;
  border-radius: 50%;
  margin-left: 1.5vw;
  margin-right: 1.5vw;
  width: 9vh;
  height: 9vh;
}
#tutorial #action-container .button .image img {
  width: 5vh;
  height: 5vh;
  padding: 2vh;
}

#help #help-container {
  position: relative;
}
#help #go-back {
  margin-top: 1em;
  margin-bottom: 0;
}
#help #screenshot-container .container.image {
  display: inline-block;
}
#help #screenshot-container .container.image#phone-code {
  margin-right: 0.8em;
}
#help #connect-circled_img {
  width: 25em;
  height: 5.2em;
}
#help #cast-to-smart-tv_img {
  width: 13em;
  height: 11em;
}
#help #phone-code_img {
  width: 6.2em;
  height: 11em;
}
#help #enter-code_img {
  width: 16em;
  height: 11em;
}
#help #top-panel {
  border-bottom: grey;
  border-bottom-width: 1px;
  border-bottom-style: solid;
}
#help #top-left-panel, #help #bottom-left-panel {
  border-right: grey;
  border-right-width: 1px;
  border-right-style: solid;
}
#help #top-panel, #help #bottom-panel {
  white-space: nowrap;
  height: 17em;
}
#help #top-panel > .container,
#help #bottom-panel > .container {
  display: inline-block;
  width: 30em;
  vertical-align: top;
  height: 17em;
}
#help #top-panel > .container > .label,
#help #bottom-panel > .container > .label {
  font-size: 1.8em;
  font-weight: bold;
  padding-bottom: 0.4em;
  display: block;
  white-space: normal;
}
#help #top-panel > .container > .label#android-label, #help #top-panel > .container > .label#ios-label,
#help #bottom-panel > .container > .label#android-label,
#help #bottom-panel > .container > .label#ios-label {
  font-size: 1em;
  font-weight: normal;
}
#help #top-left-title {
  display: block;
}
#help #bottom-left-title, #help #bottom-right-title {
  padding-top: 0.4em;
}
#help #app-info {
  display: inline-block;
  margin-left: 1.2em;
  margin-right: 1.2em;
  vertical-align: top;
}
#help #app-info > .label {
  display: block;
}
#help #app-info #app-logo {
  padding-bottom: 1em;
}
#help #app-info #app-logo #app-logo_img {
  width: 5.1em;
  height: 5.1em;
}
#help #app-info #app-name, #help #app-info #or-visit {
  padding-bottom: 0.5em;
}
#help #app-info #url {
  font-size: 0.8em;
}
#help #android-container, #help #ios-container {
  display: inline-block;
}

#connected {
  background-color: #000;
  background-repeat: no-repeat;
  background-size: contain;
  background-image: url(components/connected/splash-hd.png);
  background-position: center;
  position: relative;
  width: 100%;
  height: 100%;
}
#connected #back-button {
  margin: 2em;
  animation: none;
  -webkit-animation: none;
}
#connected #back-button.buttonFocussed {
  transform: scale(1);
}
#connected #message {
  font-size: 2em;
  color: #FFF;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  text-align: center;
  padding-bottom: 1em;
}

#app .button.horizontalslider {
  background-color: rgba(255, 255, 255, 0.5);
  display: inline-block;
  position: relative;
  width: 100%;
  max-width: 50%;
  height: 0.5em;
  animation: slider-focus-off 1s;
  -webkit-animation: webkit-slider-focus-off 1s;
  margin-bottom: 0;
  vertical-align: middle;
  transform: scale(1);
}
#app .button.horizontalslider.focus {
  box-shadow: 0 0 1em 0.2em #FFF;
  animation: slider-focus-on 1s;
  -webkit-animation: webkit-slider-focus-on 1s;
}
#app .button.horizontalslider .scrubbarbuffer {
  position: absolute;
  left: 0;
  top: 0;
  width: 1em;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.4);
}
#app .button.horizontalslider .horizontalsliderleft {
  position: absolute;
  left: 0;
  top: 0;
  width: 1em;
  height: 100%;
  background-color: rgb(255, 255, 255);
}
#app .button.horizontalslider .horizontalsliderhandle {
  position: absolute;
  left: 0;
  top: -0.8em;
  width: 2em;
  height: 2em;
  border-radius: 50%;
  background-color: rgb(255, 255, 255);
}
@keyframes slider-focus-off {
  0% {
    box-shadow: 0 0 1em 0.2em rgb(255, 255, 255);
  }
  100% {
    box-shadow: 0 0 1em 0 rgba(255, 255, 255, 0);
  }
}
@keyframes slider-focus-on {
  0% {
    box-shadow: 0 0 1em 0 rgba(255, 255, 255, 0);
  }
  100% {
    box-shadow: 0 0 1em 0.2em rgb(255, 255, 255);
  }
}
@-webkit-keyframes webkit-slider-focus-off {
  0% {
    box-shadow: 0 0 1em 0.2em rgb(255, 255, 255);
  }
  100% {
    box-shadow: 0 0 1em 0 rgba(255, 255, 255, 0);
  }
}
@-webkit-keyframes webkit-slider-focus-on {
  0% {
    box-shadow: 0 0 1em 0 rgba(255, 255, 255, 0);
  }
  100% {
    box-shadow: 0 0 1em 0.2em rgb(255, 255, 255);
  }
}

.controls-active #subtitles-container {
  bottom: 11.5em;
}

#subtitles-container {
  bottom: 0.5em;
  position: absolute;
  left: 0;
  right: 0;
}
#subtitles-container.sub-line-0 {
  bottom: auto;
  top: 0;
}
#subtitles-container.sub-line-10 {
  bottom: auto;
  top: 10%;
}
#subtitles-container.sub-line-20 {
  bottom: auto;
  top: 20%;
}
#subtitles-container.sub-line-30 {
  bottom: auto;
  top: 30%;
}
#subtitles-container.sub-line-40 {
  bottom: auto;
  top: 40%;
}
#subtitles-container.sub-line-50 {
  bottom: auto;
  top: 50%;
}
#subtitles-container.sub-line-60 {
  bottom: 40%;
}
#subtitles-container.sub-line-70 {
  bottom: 30%;
}
#subtitles-container.sub-line-80 {
  bottom: 20%;
}
#subtitles-container.sub-line-90 {
  bottom: 10%;
}
#subtitles-container.sub-line-100 {
  bottom: 0;
}
#subtitles-container.sub-position-0 {
  left: 0;
  right: auto;
}
#subtitles-container.sub-position-10 {
  left: 10%;
  right: auto;
}
#subtitles-container.sub-position-20 {
  left: 20%;
  right: auto;
}
#subtitles-container.sub-position-30 {
  left: 30%;
  right: auto;
}
#subtitles-container.sub-position-40 {
  left: 40%;
  right: auto;
}
#subtitles-container.sub-position-50 {
  left: 0;
  right: 0;
}
#subtitles-container.sub-position-60 {
  left: auto;
  right: 40%;
}
#subtitles-container.sub-position-70 {
  left: auto;
  right: 30%;
}
#subtitles-container.sub-position-80 {
  left: auto;
  right: 20%;
}
#subtitles-container.sub-position-90 {
  left: auto;
  right: 10%;
}
#subtitles-container.sub-position-100 {
  left: auto;
  right: 0;
}
#subtitles-container #subtitles {
  margin-left: auto;
  margin-right: auto;
  display: inline-block;
  padding: 0.7em;
  font-size: 1.8em;
}
#subtitles-container #subtitles.subtitles-empty {
  display: none;
}
#subtitles-container #subtitles > span {
  background-color: rgba(0, 0, 0, 0.5);
  color: #fff;
  white-space: pre-wrap;
  display: block;
}

/*
#app.rootwidget.video-player {
  text-align: left;

  #main {
    margin: 0;
    padding: 0;
    max-width: none;
  }
}
*/
#app.video-player {
  background-color: #000000 !important;
}

#mediaPlayerVideo {
  object-fit: contain;
}

#video-player {
  height: 100%;
  position: relative;
  overflow: hidden;
}
#video-player #audio-image_img {
  object-fit: contain;
  width: 100%;
  height: 100%;
}
#video-player #buffering {
  position: absolute;
  left: 2.5em;
  bottom: 2em;
}
#video-player #buffering > div {
  box-shadow: 0 0 1em 0.2em #000;
}
#video-player #control-stack {
  position: absolute;
  bottom: 0;
  margin-left: auto;
  margin-right: auto;
  width: 100%;
  background: linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.5) 35%, rgb(0, 0, 0));
  padding-bottom: 1em;
  padding-top: 2em;
}
#video-player #control-stack #scrub-container .label {
  font-size: 2em;
  color: #FFF;
  display: inline-block;
  padding-left: 0.5em;
  padding-right: 0.5em;
  vertical-align: middle;
}
#video-player #control-stack #action-container .button {
  box-shadow: none;
  border-radius: 50%;
  margin-left: 1em;
  margin-right: 1em;
}
#video-player #control-stack #action-container .button.buttonDisabled {
  opacity: 0;
}
#video-player #control-stack #action-container .button .image img {
  width: 3em;
  height: 3em;
  padding: 1em;
}
#video-player #scrub-bar, #video-player #scrub-bar_buffer, #video-player #scrub-bar_left, #video-player #scrub-bar_slider {
  pointer-events: none;
}

#image-player {
  width: 100%;
  height: 100%;
}
#image-player #main-image_img {
  object-fit: contain;
  width: 100%;
  height: 100%;
}
#image-player #loading {
  position: absolute;
  left: 2.5em;
  bottom: 2em;
  z-index: 1000;
}
#image-player #loading > div {
  box-shadow: 0 0 1em 0.2em #000;
}
#image-player #back-button {
  display: none;
}
#image-player #action-container {
  position: absolute;
  bottom: 0;
  margin-left: auto;
  margin-right: auto;
  width: 100%;
  background: linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.5) 35%, rgb(0, 0, 0));
  padding-bottom: 1em;
  padding-top: 2em;
}
#image-player #action-container .button {
  box-shadow: none;
  border-radius: 50%;
  margin-left: 1em;
  margin-right: 1em;
}
#image-player #action-container .button.buttonDisabled {
  opacity: 0.5;
  background-color: #232323;
}
#image-player #action-container .button .image img {
  width: 3em;
  height: 3em;
  padding: 1em;
}

@font-face {
  font-family: "Roboto";
  src: url("web-fonts/roboto_medium/Roboto-Medium-webfont.eot");
  src: url("web-fonts/roboto_medium/Roboto-Medium-webfont.eot?#iefix") format("embedded-opentype"), url("web-fonts/roboto_medium/Roboto-Medium-webfont.woff2") format("woff2"), url("web-fonts/roboto_medium/Roboto-Medium-webfont.woff") format("woff"), url("web-fonts/roboto_medium/Roboto-Medium-webfont.ttf") format("truetype"), url("web-fonts/roboto_medium/Roboto-Medium-webfont.svg#robotobold") format("svg");
  font-weight: bold;
  font-style: normal;
}
/*
@font-face {
  font-family: 'Roboto';
  src: url("web-fonts/roboto_bolditalic/Roboto-BoldItalic-webfont.eot");
  src: url("web-fonts/roboto_bolditalic/Roboto-BoldItalic-webfont.eot?#iefix") format("embedded-opentype"), 
    url("web-fonts/roboto_bolditalic/Roboto-BoldItalic-webfont.woff2") format("woff2"), 
    url("web-fonts/roboto_bolditalic/Roboto-BoldItalic-webfont.woff") format("woff"), 
    url("web-fonts/roboto_bolditalic/Roboto-BoldItalic-webfont.ttf") format("truetype"), 
    url("web-fonts/roboto_bolditalic/Roboto-BoldItalic-webfont.svg#robotobold_italic") format("svg");
  font-weight: bold;
  font-style: italic, oblique; 
}
*/
@font-face {
  font-family: "Roboto";
  src: url("web-fonts/roboto_lightitalic/Roboto-LightItalic-webfont.eot");
  src: url("web-fonts/roboto_lightitalic/Roboto-LightItalic-webfont.eot?#iefix") format("embedded-opentype"), url("web-fonts/roboto_lightitalic/Roboto-LightItalic-webfont.woff2") format("woff2"), url("web-fonts/roboto_lightitalic/Roboto-LightItalic-webfont.woff") format("woff"), url("web-fonts/roboto_lightitalic/Roboto-LightItalic-webfont.ttf") format("truetype"), url("web-fonts/roboto_lightitalic/Roboto-LightItalic-webfont.svg#robotolightitalic") format("svg");
  font-weight: normal;
  font-style: italic, oblique;
}
@font-face {
  font-family: "Roboto";
  src: url("web-fonts/roboto_light/Roboto-Light-webfont.eot");
  src: url("web-fonts/roboto_light/Roboto-Light-webfont.eot?#iefix") format("embedded-opentype"), url("web-fonts/roboto_light/Roboto-Light-webfont.woff2") format("woff2"), url("web-fonts/roboto_light/Roboto-Light-webfont.woff") format("woff"), url("web-fonts/roboto_light/Roboto-Light-webfont.ttf") format("truetype"), url("web-fonts/roboto_light/Roboto-Light-webfont.svg#robotolight") format("svg");
  font-weight: normal;
  font-style: normal;
}
.carouselmask {
  overflow: hidden;
  /*
  #carouselComponent {
      position: relative;

      & > .carouselmask {
          margin-left: auto;
          margin-right: auto;
      }
  }

  #carouselComponent

  #carouselComponent>.description {
      position: static;
  }

  .carouselwidgetstrip>.button {
      margin: 0;
      width: 200px;
      padding: 32px;
  }

  .carouselwidgetstrip.vertical>.button {
      height: 200px;
  }
  */
}
.carouselmask .carouselwidgetstrip {
  position: relative;
  white-space: nowrap;
}
.carouselmask .carouselwidgetstrip.vertical > .carouselItem {
  display: block;
}
.carouselmask .carouselwidgetstrip.horizontal > .carouselItem {
  display: inline-block;
}
.carouselmask.overflow-left {
  position: relative;
}
.carouselmask.overflow-left::before {
  display: inline-block;
  content: " ";
  width: 50px;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background: linear-gradient(90deg, rgba(128, 128, 128, 0.3), rgba(0, 0, 0, 0));
  z-index: 1;
}
.carouselmask.overflow-right {
  position: relative;
}
.carouselmask.overflow-right::after {
  display: block;
  content: " ";
  width: 50px;
  height: 100%;
  position: absolute;
  top: 0;
  right: 0;
  background: linear-gradient(90deg, rgba(0, 0, 0, 0), rgba(128, 128, 128, 0.3));
  z-index: 1;
}

.card-container {
  background-color: #2196f3;
  width: 100%;
  height: 100%;
  transition: 0.4s;
  -webkit-transition: 0.4s;
}
.card-container .card {
  margin-left: auto;
  margin-right: auto;
  max-width: 70em;
  color: #202020;
  background-color: #FFFFFF;
  box-shadow: 0px 0.25em 1.16em rgba(0, 0, 0, 0.2);
  border-radius: 0.17em;
  overflow-y: auto;
  overflow-x: hidden;
  transition: 0.4s;
  -webkit-transition: 0.4s;
  margin: 1.5em;
  padding: 2em;
  display: inline-block;
  min-width: 60em;
}

.dark .card-container {
  background-color: #000000;
}
.dark .card-container .card {
  color: #F9F9F9;
  background-color: #000000;
  box-shadow: none;
  border-radius: 0;
}

.button {
  background-color: #2196f3;
  box-shadow: 0px 0.25em 0.58em rgba(0, 0, 0, 0.2);
  border-radius: 0.17em;
  border: 0;
  outline: none;
  display: block;
  max-width: 50em;
  margin: 0 auto 1em auto;
  transition: 0.4s;
  -webkit-transition: 0.4s;
  -webkit-tap-highlight-color: transparent;
}
.button > div {
  outline: none;
}
.button > div > img {
  outline: none;
}
.button .label {
  text-align: center;
  text-transform: uppercase;
  font-weight: bold;
  color: #F9F9F9;
  line-height: 1.5em;
  padding: 0.5em;
  display: block;
  transition: 0.4s;
  -webkit-transition: 0.4s;
}
.button.linkButton .label {
  text-decoration: underline;
}
.button.linkButton.buttonFocussed {
  background-color: #ffc106;
  transform: scale(1.1);
}
.button.linkButton.buttonFocussed .label {
  color: #F9F9F9;
}
.button.linkButton.buttonBlurred {
  background-color: #FFFFFF;
  box-shadow: none;
  transform: scale(1);
}
.button.linkButton.buttonBlurred .label {
  color: #202020;
}

.buttonFocussed {
  background-color: #ffc106;
  transform: scale(1.1);
}

.buttonBlurred {
  transform: scale(1);
}

.buttonFocussed.menuendpoint {
  background-color: #ffc106;
}

.dark .button {
  background-color: #002D61;
  box-shadow: 0px 0.25em 0.58em rgba(220, 220, 220, 0.2);
}
.dark .button.linkButton.buttonFocussed {
  background-color: #FF9F00;
}
.dark .button.linkButton.buttonFocussed .label {
  color: #F9F9F9;
}
.dark .button.linkButton.buttonBlurred {
  background-color: #000000;
}
.dark .button.linkButton.buttonBlurred .label {
  color: #F9F9F9;
}
.dark .button.buttonFocussed {
  background-color: #FF9F00;
}

.card-container {
  background-color: #2196f3;
  width: 100%;
  height: 100%;
  transition: 0.4s;
  -webkit-transition: 0.4s;
}
.card-container .card {
  margin-left: auto;
  margin-right: auto;
  max-width: 70em;
  color: #202020;
  background-color: #FFFFFF;
  box-shadow: 0px 0.25em 1.16em rgba(0, 0, 0, 0.2);
  border-radius: 0.17em;
  overflow-y: auto;
  overflow-x: hidden;
  transition: 0.4s;
  -webkit-transition: 0.4s;
  margin: 1.5em;
  padding: 2em;
  display: inline-block;
  min-width: 60em;
}

.dark .card-container {
  background-color: #000000;
}
.dark .card-container .card {
  color: #F9F9F9;
  background-color: #000000;
  box-shadow: none;
  border-radius: 0;
}

html {
  height: 100%;
}

body {
  height: 100%;
  margin: 0;
  padding: 0;
  font-family: "Roboto", "Helvetica", sans-serif;
  font-weight: lighter;
  color: #202020;
  background-color: #2196f3;
  transition: 0.4s;
  -webkit-transition: 0.4s;
}
body.dark {
  color: #F9F9F9;
  background-color: #000000;
}

#analytics-frame {
  width: 1px;
  height: 1px;
  position: absolute;
  right: 0;
  bottom: 0;
  visibility: hidden;
  border: 0;
}

#log-box {
  width: 100vw;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 10000;
  font-family: monospace;
  background-color: rgba(0, 0, 0, 0.5);
  overflow: scroll;
  min-height: 25%;
  max-height: 75%;
  font-size: 14pt;
  word-break: break-word;
  pointer-events: none;
}
#log-box.hidden {
  display: none;
}
#log-box .log-debug {
  color: #c1c7c7;
}
#log-box .log-info {
  color: #80a7c1;
}
#log-box .log-warn {
  color: #bcc23a;
}
#log-box .log-error {
  color: #fa827e;
}

#app {
  text-align: center;
}
#app object {
  position: absolute;
}

/* List widgets */
.horizontallist,
.verticallist {
  position: relative;
}

.horizontallist .listitem {
  display: inline-block;
}

/* nested lists - use #IDs instead for more complex layouts */
.verticallist .horizontallist .listitem {
  display: inline-block;
}

.verticallist .listitem {
  display: block;
  position: relative;
}

/* nested lists - use #IDs instead for more complex layouts */
.horizontallist .verticallist .listitem {
  display: block;
}

/* Horizontal carousel widgets */
/* the mask is the top level of the carousel and defines where it is displayed and how much is visible */
.horizontallistmask {
  overflow: hidden;
  width: 100%;
}

/* ensure nested carousels have correct formatting, you may need to target IDs in complex layouts */
.horizontallistmask .horizontallist .listitem {
  display: inline-block;
}

.horizontalcarousel {
  width: 99999px;
  /* needs to be big enough so carousel plus clones do not flow onto more then one line */
}

/* DEVICE SPECIFIC DEFAULTS EXAMPLE ------------------ */
/* if you target some consoles you may need to add additional styles like this */
.someConsoles .horizontallist .listitem {
  display: inline-block;
  float: left;
}

/* SAMPLEAPP BASE STYLES */
/* Core */
/* Maple needs initial element background in base stylesheet... not in dynamically loaded styles! */
/*
.samsung.layout540p #app {
    width: 960px;
    height: 540px;
    background-image: url(../img/bbc_background_540.png);
    background-repeat: no-repeat;
    background-color: red;
}

.samsung.layout720p #app {
    width: 1280px;
    height: 720px;
    background-image: url(../img/bbc_background_720.png);
    background-repeat: no-repeat;
}

.samsung.layout1080p #app {
    width: 1920px;
    height: 1080px;
    background-image: url(../img/bbc_background_1080.png);
    background-repeat: no-repeat;
}
*/
/* Sample app specific styles */
#title {
  font-size: 150%;
  line-height: 120%;
  display: block;
  text-align: center;
  margin: 2% auto 0 auto;
}

.background-none {
  background-image: none !important;
  background-color: transparent !important;
}

.description {
  text-align: center;
  display: block;
  position: absolute;
  width: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  z-index: 1;
  padding: 8px 0px;
}

#testPlayer {
  z-index: 0;
  position: absolute;
  top: 0px;
  left: 0px;
  width: 1280px;
  height: 720px;
}

#playerButtons {
  z-index: 1;
  position: absolute;
  background-color: rgba(0, 0, 0, 0.5);
  display: block;
  text-align: center;
  padding: 8px;
  color: #000000;
}

#playerButtons .button {
  width: 75px;
  padding: 10px;
  text-align: center;
  margin: 5px;
}

/* Display & Visibility Helpers */
.display-none {
  display: none !important;
}

.visibility-hidden {
  visibility: hidden !important;
}

#progressBar {
  margin-top: 10%;
  width: 50%;
  margin-left: 25%;
  min-height: 10px;
  background: #070;
}

#progressBar_left {
  min-height: 10px;
  background: #700;
}

#progressBar_inner {
  width: 10px;
  min-height: 10px;
  background: #777;
  position: relative;
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInd2Yy9fbG9hZGluZy5zY3NzIiwid3ZjL19jb2xvcnMuc2NzcyIsInd2Yy9jb21wb25lbnRzL3dpZGdldHMvc3dpdGNoL19zd2l0Y2guc2NzcyIsInd2Yy9jb21wb25lbnRzL3dpZGdldHMvY2xpY2thYmxlLWJ1dHRvbi9fY2xpY2thYmxlLWJ1dHRvbi5zY3NzIiwid3ZjL2NvbXBvbmVudHMvd2lkZ2V0cy9iYWNrLWJ1dHRvbi9fYmFjay1idXR0b24uc2NzcyIsInd2Yy9jb21wb25lbnRzL3dpZGdldHMvdGV4dC1pbnB1dC9fdGV4dC1pbnB1dC5zY3NzIiwid3ZjL2NvbXBvbmVudHMvd2lkZ2V0cy9sb2FkaW5nLWJhcnMvX2xvYWRpbmctYmFycy5zY3NzIiwid3ZjL2NvbXBvbmVudHMvd2lkZ2V0cy95b3V0dWJlLXZpZGVvL195b3V0dWJlLXZpZGVvLnNjc3MiLCJ3dmMvY29tcG9uZW50cy93aWRnZXRzL3d2Yy1sb2dvL193dmMtbG9nby5zY3NzIiwid3ZjL2NvbXBvbmVudHMvd2lkZ2V0cy9yZWNlaXZlci1sb2dvL19yZWNlaXZlci1sb2dvLnNjc3MiLCJ3dmMvY29tcG9uZW50cy93aWRnZXRzL3NjYW5uaW5nL19zY2FubmluZy5zY3NzIiwid3ZjL2NvbXBvbmVudHMvd2lkZ2V0cy9xci1jb2RlL19xci1jb2RlLnNjc3MiLCJ3dmMvY29tcG9uZW50cy93aWRnZXRzL2dldC13dmMvX2dldC13dmMuc2NzcyIsInd2Yy9jb21wb25lbnRzL2RlbW8vX2RlbW8uc2NzcyIsInd2Yy9jb21wb25lbnRzL3NldHRpbmdzL19sb2dnaW5nLnNjc3MiLCJ3dmMvY29tcG9uZW50cy9zZXR0aW5ncy9fc2V0dGluZy1zd2l0Y2guc2NzcyIsInd2Yy9jb21wb25lbnRzL3NldHRpbmdzL19zZXR0aW5ncy5zY3NzIiwid3ZjL2NvbXBvbmVudHMvc2VuZGVycy9fc2VuZGVycy1saXN0LnNjc3MiLCJ3dmMvY29tcG9uZW50cy9zZW5kZXJzL19kYXJrLXN3aXRjaC5zY3NzIiwid3ZjL2NvbXBvbmVudHMvc2VuZGVycy9fc2VuZGVycy5zY3NzIiwid3ZjL2NvbXBvbmVudHMvY29ubmVjdC9fa2V5Ym9hcmQuc2NzcyIsInd2Yy9jb21wb25lbnRzL2Nvbm5lY3QvX2xvYWRlci5zY3NzIiwid3ZjL2NvbXBvbmVudHMvY29ubmVjdC9fY29ubmVjdC5zY3NzIiwid3ZjL2NvbXBvbmVudHMvdHV0b3JpYWwvX3R1dG9yaWFsLnNjc3MiLCJ3dmMvY29tcG9uZW50cy9oZWxwL19oZWxwLnNjc3MiLCJ3dmMvY29tcG9uZW50cy9jb25uZWN0ZWQvX2Nvbm5lY3RlZC5zY3NzIiwid3ZjL2NvbXBvbmVudHMvdmlkZW8tcGxheWVyL19zY3J1Yi1iYXIuc2NzcyIsInd2Yy9jb21wb25lbnRzL3ZpZGVvLXBsYXllci9fc3VidGl0bGVzLnNjc3MiLCJ3dmMvY29tcG9uZW50cy92aWRlby1wbGF5ZXIvX3ZpZGVvLXBsYXllci5zY3NzIiwid3ZjL2NvbXBvbmVudHMvaW1hZ2UtcGxheWVyL19pbWFnZS1wbGF5ZXIuc2NzcyIsInd2Yy93ZWItZm9udHMvX3dlYi1mb250cy5zY3NzIiwid3ZjL19jYXJvdXNlbC5zY3NzIiwid3ZjL19jYXJkLnNjc3MiLCJ3dmMvX2J1dHRvbi5zY3NzIiwid3ZjL2FwcC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBO0VBQ0k7RUFDQTtFQUNBO0VBQ0Esa0JDR007RURGTjtFQUNBO0VBQ0E7O0FBRUE7RUFDSTtFQUNBOztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUU3QlI7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTtFQUNBLGNEUFE7RUNRUjs7QUFJRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLGtCRHpCUztFQzBCVDtFQUNBO0VBQ0E7O0FBR0E7RUFDRTtFQUNBO0VBQ0E7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O0VBQ0U7RUFDQTs7QUFFQTtFQUNFO0VBQ0E7RUFDQTs7QUFNSjtFQUNFOztBQU1OO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHRjtFQUNFO0VBQ0EsV0FoRkk7O0FBbUZOO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFLRjtFQUNFOzs7QUNqR0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdJO0VBQ0k7RUFDQTtFQUNBOzs7QUNwQ2xCO0VBQ0U7O0FBR0Y7RUFDSTtFQUNBOztBQUdKO0VBQ0k7O0FBRUE7RUFDSTs7QUFJUjtFQUNFO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBOztBQUdGO0VBQ0k7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7O0FBR0o7RUFDRTtFQUNBO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7O0FBR0Y7RUFDSTtFQUNBOztBQUdKO0FBQUE7RUFFRTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtBQUFBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFRTtBQUFBO0FBQUE7RUFDRTtFQUNBOztBQUtSO0VBQ0k7O0FBR0o7RUFDSTs7QUFHSjtFQUNFO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0k7O0FBR0o7RUFDRTs7QUFDQTtFQUNFO0VBQ0E7O0FBSUo7RUFDSTs7QUFHSjtFQUNJOztBQUlOO0VBQ0U7OztBQ2pISjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTs7QUFJSjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQzVCSjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTtFQUNBO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHRjtFQUNFO0lBQ0U7O0VBRUY7SUFDRTs7O0FBR0o7RUFDRTtJQUNFOztFQUVGO0lBQ0U7OztBQUdKO0VBQ0U7SUFDRTs7RUFFRjtJQUNFOzs7QUFHSjtFQUNFO0lBQ0U7O0VBRUY7SUFDRTs7OztBQzNFSjtFQUNFOzs7QUFJSjtFQUNFO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0U7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBOztBQUdGO0VBQ0U7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBOztBQUdGO0VBQ0U7O0FBR0Y7RUFDRTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7O0FBR0Y7RUFDRTs7QUFHRjtFQUNFO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBOztBQUdGO0VBQ0U7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBOztBQUdGO0VBQ0U7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBOztBQUdGO0VBQ0U7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBOztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNFOztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7OztBQ2pJTjtBQUFBO0FBQUE7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFZQTtFQUNFOzs7QUFHRjtFQUNFOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTs7QUFFQTtFQUNFO0VBQ0E7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7RUFDQTs7QUFFQTtFQUNFOztBQUlKO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHRTtFQUNFO0VBQ0E7RUFDQTtFQUNB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QUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTs7QUFFRjtFQUNFOztBQUVGO0VBQ0U7O0FBRUY7RUFDRTs7QUFFRjtFQUNFLE9qQ3pESzs7O0FpQzZEVDtFQUNFOztBQUVBO0VBQ0U7OztBQUlKO0FBQ0E7QUFBQTtFQUVFOzs7QUFHRjtFQUNFOzs7QUFHRjtBQUNBO0VBQ0U7OztBQUdGO0VBQ0U7RUFDQTs7O0FBR0Y7QUFDQTtFQUNFOzs7QUFHRjtBQUNBO0FBQ0E7RUFDRTtFQUNBOzs7QUFHRjtBQUNBO0VBQ0U7OztBQUdGO0VBQ0U7QUFDQTs7O0FBR0Y7QUFFQTtBQUNBO0VBQ0U7RUFDQTs7O0FBR0Y7QUFFQTtBQUVBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUF3QkE7QUFDQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0FBQ0E7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0EiLCJzb3VyY2VzQ29udGVudCI6WyJAaW1wb3J0IFwiY29sb3JzXCI7XG5cbiNzdGF0aWMtbG9hZGluZy1zY3JlZW4ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB6LWluZGV4OiAxMDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHd2Y0JsdWU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuXG4gICAgI2FwcC1sb2FkLWVycm9yLW1lc3NhZ2Uge1xuICAgICAgICBmb250LXNpemU6IDJlbTtcbiAgICAgICAgcGFkZGluZzogM2VtO1xuICAgIH1cblxuICAgIC5sb2FkaW5nLWJhcnMge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206IDJlbTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgZm9udC1zaXplOiAyLjNlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIG1hcmdpbjogMS43ZW0gMDtcbiAgICAgICAgcGFkZGluZzogMCA0LjJlbTtcbiAgICB9XG59IiwiJHd2Y1doaXRlOiAjRkZGRkZGO1xuJHd2Y0FsbW9zdFdoaXRlOiAjRjlGOUY5O1xuJHd2Y0JsYWNrOiAjMDAwMDAwO1xuJHd2Y0FsbW9zdEJsYWNrOiAjMjAyMDIwO1xuJHd2Y0xpZ2h0R3JleTogI0VGRUZFRjtcbiR3dmNNZWRHcmV5OiAjQ0NDQ0NDO1xuJHd2Y0RhcmtHcmV5OiAjNDE0MTQxO1xuXG5cbiR3dmNCbHVlOiAjMjE5NmYzO1xuJHd2Y0JsdWUtZGFyazogIzAwMkQ2MTtcbiR3dmNZZWxsb3c6ICNmZmMxMDY7XG4kd3ZjWWVsbG93LWRhcms6ICNGRjlGMDA7XG4kd3ZjUmVkOiAjZmE4MjdlO1xuXG4kc2hhZG93Q29sb3I6IHJnYmEoMCwgMCwgMCwgMC4yKTtcbiRzaGFkb3dDb2xvci1kYXJrOiByZ2JhKDIyMCwgMjIwLCAyMjAsIDAuMik7XG5cbiR0ZXh0Q29sb3I6ICR3dmNBbG1vc3RCbGFjaztcbiR0ZXh0Q29sb3ItZGFyazogJHd2Y0FsbW9zdFdoaXRlO1xuXG4kYmFja2dyb3VuZENvbG9yOiAkd3ZjQmx1ZTtcbiRiYWNrZ3JvdW5kQ29sb3ItZGFyazogJHd2Y0JsYWNrOyIsIkBpbXBvcnQgXCIuLi8uLi8uLi9jb2xvcnNcIjtcblxuLnN3aXRjaCB7XG4gIGZvbnQtc2l6ZTogMi41ZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMmVtO1xuICBoZWlnaHQ6IDFlbTtcbiAgYm9yZGVyLXJhZGl1czogMWVtO1xuICBib3JkZXItd2lkdGg6IDAuMTVlbTtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApO1xuICBib3gtc2hhZG93OiBub25lO1xuICAtd2Via2l0LXRyYW5zaXRpb246IDAuNHM7XG4gIHRyYW5zaXRpb246IDAuNHM7XG5cbiAgJi5zd2l0Y2hGb2N1c3NlZCB7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICR3dmNZZWxsb3c7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjMpO1xuICAgIC8vYm94LXNoYWRvdzogMCAwIDAuNThlbSAkd3ZjWWVsbG93LCAwIDAgMC4yOWVtICR3dmNZZWxsb3csIDAgMCAwLjE0ZW0gJHd2Y1llbGxvdywgMCAwIDAuMDllbSAkd3ZjWWVsbG93O1xuICB9XG4gIFxuICAuc3dpdGNoU2xpZGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd3ZjTWVkR3JleTtcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IDAuNHM7XG4gICAgdHJhbnNpdGlvbjogMC40cztcbiAgICBib3JkZXItcmFkaXVzOiAxZW07XG5cbiAgICBcbiAgICAmOmJlZm9yZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgaGVpZ2h0OiAwLjc2ZW07XG4gICAgICB3aWR0aDogMC43NmVtO1xuICAgICAgbGVmdDogMC4xMTdlbTtcbiAgICAgIGJvdHRvbTogMC4xMTdlbTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3dmNXaGl0ZTtcbiAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogMC40cztcbiAgICAgIHRyYW5zaXRpb246IDAuNHM7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgfVxuICB9XG5cbiAgJi5zd2l0Y2hPbiB7XG4gICAgLnN3aXRjaFNsaWRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd3ZjQmx1ZTtcblxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxZW0pO1xuICAgICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDFlbSk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxZW0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uZGFyayAuc3dpdGNoIHtcbiAgJi5mb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAkd3ZjWWVsbG93LWRhcms7XG4gIH1cblxuICAmLnN3aXRjaE9uIHtcbiAgICAuc3dpdGNoU2xpZGVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3dmNCbHVlLWRhcms7XG4gICAgfVxuICB9XG59XG4iLCIuY2xpY2thYmxlLWJ1dHRvbiB7XG4gICYuYnV0dG9uIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAubGFiZWwge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cblxuICB9XG59IiwiI2FwcCB7XG4gICAgI2JhY2stYnV0dG9uIHtcbiAgICAgICAgcGFkZGluZzogMC41ZW07XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICB3aWR0aDogMmVtO1xuICAgICAgICBoZWlnaHQ6IDJlbTtcbiAgICAgICAgei1pbmRleDogMTAwMDtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdjb21wb25lbnRzL3dpZGdldHMvYmFjay1idXR0b24vaW1hZ2VzL2V4aXQucG5nJyk7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcblxuICAgICAgICAmLmJ1dHRvbkZvY3Vzc2VkIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2NvbXBvbmVudHMvd2lkZ2V0cy9iYWNrLWJ1dHRvbi9pbWFnZXMvZXhpdC13aGl0ZS5wbmcnKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmRhcmsgI2FwcCAjYmFjay1idXR0b24ge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnY29tcG9uZW50cy93aWRnZXRzL2JhY2stYnV0dG9uL2ltYWdlcy9leGl0LXdoaXRlLnBuZycpO1xufSIsIkBpbXBvcnQgXCIuLi8uLi8uLi9jb2xvcnNcIjtcblxuJGlucHV0QmFja2dyb3VuZENvbG9yOiAkd3ZjTGlnaHRHcmV5O1xuJGlucHV0QmFja2dyb3VuZENvbG9yLWRhcms6ICR3dmNEYXJrR3JleTtcblxuJHBsYWNlaG9sZGVyQ29sb3I6IHJnYmEoMCwgMCwgMCwgMC4yKTtcbiRwbGFjZWhvbGRlckNvbG9yLWRhcms6IHJnYmEoMjIwLCAyMjAsIDIyMCwgMC4yKTtcblxuJGJvcmRlckNvbG9yOiAkd3ZjQmx1ZTtcbiRib3JkZXJDb2xvci1kYXJrOiAkd3ZjQmx1ZS1kYXJrO1xuXG4udGV4dC1pbnB1dCB7XG4gIHRyYW5zaXRpb246IGJvcmRlciwgYm94LXNoYWRvdyAwLjNzIGVhc2U7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogYm9yZGVyLCBib3gtc2hhZG93IDAuM3MgZWFzZTtcbiAgY29sb3I6ICR0ZXh0Q29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dEJhY2tncm91bmRDb2xvcjtcbiAgYm9yZGVyOiBub25lO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBwYWRkaW5nLWxlZnQ6IDAuNWVtO1xuICBwYWRkaW5nLXJpZ2h0OiAwLjVlbTtcbiAgb3V0bGluZTogbm9uZTtcblxuICB0cmFuc2l0aW9uOiBib3JkZXIsIGJveC1zaGFkb3cgMC4zcyBlYXNlO1xuICAtd2Via2l0LXRyYW5zaXRpb246IGJvcmRlciwgYm94LXNoYWRvdyAwLjNzIGVhc2U7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXJDb2xvcjtcbiAgYm94LXNoYWRvdzogMCAwIDVweCAkYm9yZGVyQ29sb3I7XG5cbiAgJi5wbGFjZWhvbGRlciB7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC4zcyBlYXNlO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogY29sb3IgMC4zcyBlYXNlO1xuICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMik7XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgfVxuICB9XG5cbiAgJjo6YWZ0ZXIge1xuICAgIGNvbG9yOiAkdGV4dENvbG9yO1xuICAgIGFuaW1hdGlvbjogMXMgYmxpbmsgc3RlcC1lbmQgaW5maW5pdGU7XG4gICAgLXdlYmtpdC1hbmltYXRpb246IDFzIHdlYmtpdC1ibGluayBzdGVwLWVuZCBpbmZpbml0ZTtcbiAgICBjb250ZW50OiAnfCc7XG4gIH1cblxuICBAa2V5ZnJhbWVzIGJsaW5rIHtcbiAgICBmcm9tLCB0byB7XG4gICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuICAgIDUwJSB7XG4gICAgICBjb2xvcjogJHRleHRDb2xvclxuICAgIH1cbiAgfVxuICBcbiAgQC13ZWJraXQta2V5ZnJhbWVzIHdlYmtpdC1ibGluayB7XG4gICAgZnJvbSwgdG8ge1xuICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cbiAgICA1MCUge1xuICAgICAgY29sb3I6ICR0ZXh0Q29sb3I7XG4gICAgfVxuICB9XG59XG5cbi5kYXJrICNhcHAgLnRleHQtaW5wdXQge1xuICBjb2xvcjogJHRleHRDb2xvci1kYXJrO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXRCYWNrZ3JvdW5kQ29sb3ItZGFyaztcbiAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlckNvbG9yLWRhcms7XG4gIGJveC1zaGFkb3c6IDAgMCA1cHggJGJvcmRlckNvbG9yLWRhcms7XG5cbiAgJjo6YWZ0ZXIge1xuICAgIGNvbG9yOiAkdGV4dENvbG9yLWRhcms7XG4gICAgYW5pbWF0aW9uOiAxcyBibGluay1kYXJrIHN0ZXAtZW5kIGluZmluaXRlO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uOiAxcyB3ZWJraXQtYmxpbmstZGFyayBzdGVwLWVuZCBpbmZpbml0ZTtcbiAgfVxuXG4gIEBrZXlmcmFtZXMgYmxpbmstZGFyayB7XG4gICAgZnJvbSwgdG8ge1xuICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cbiAgICA1MCUge1xuICAgICAgY29sb3I6ICR0ZXh0Q29sb3ItZGFyaztcbiAgICB9XG4gIH1cbiAgXG4gIEAtd2Via2l0LWtleWZyYW1lcyB3ZWJraXQtYmxpbmstZGFyayB7XG4gICAgZnJvbSwgdG8ge1xuICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cbiAgICA1MCUge1xuICAgICAgY29sb3I6ICR0ZXh0Q29sb3ItZGFyaztcbiAgICB9XG4gIH1cbn0iLCIubG9hZGluZy1iYXJzIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiA1LjNlbTtcbiAgaGVpZ2h0OiA1LjNlbTtcbn1cbi5sb2FkaW5nLWJhcnMgZGl2IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDAuNWVtO1xuICB3aWR0aDogMWVtO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBhbmltYXRpb246IGxvYWRpbmctYmFycyAxLjJzIGN1YmljLWJlemllcigwLCAwLjUsIDAuNSwgMSkgaW5maW5pdGU7XG4gIC13ZWJraXQtYW5pbWF0aW9uOiB3ZWJraXQtbG9hZGluZy1iYXJzIDEuMnMgY3ViaWMtYmV6aWVyKDAsIDAuNSwgMC41LCAxKSBpbmZpbml0ZTtcbn1cbi5sb2FkaW5nLWJhcnMgZGl2Om50aC1jaGlsZCgxKSB7XG4gIGxlZnQ6IDAuNWVtO1xuICBhbmltYXRpb24tZGVsYXk6IC0wLjI0cztcbiAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IC0wLjI0cztcbn1cbi5sb2FkaW5nLWJhcnMgZGl2Om50aC1jaGlsZCgyKSB7XG4gIGxlZnQ6IDIuMTVlbTtcbiAgYW5pbWF0aW9uLWRlbGF5OiAtMC4xMnM7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAtMC4xMnM7XG59XG4ubG9hZGluZy1iYXJzIGRpdjpudGgtY2hpbGQoMykge1xuICBsZWZ0OiAzLjc1ZW07XG4gIGFuaW1hdGlvbi1kZWxheTogMDtcbiAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IDA7XG59XG5cbkBrZXlmcmFtZXMgbG9hZGluZy1iYXJzIHtcbiAgMCUge1xuICAgIHRvcDogMC41ZW07XG4gICAgaGVpZ2h0OiA0LjI1ZW07XG4gIH1cbiAgNTAlLCAxMDAlIHtcbiAgICB0b3A6IDEuNmVtO1xuICAgIGhlaWdodDogMi4yZW07XG4gIH1cbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHdlYmtpdC1sb2FkaW5nLWJhcnMge1xuICAwJSB7XG4gICAgdG9wOiAwLjVlbTtcbiAgICBoZWlnaHQ6IDQuMjVlbTtcbiAgfVxuICA1MCUsIDEwMCUge1xuICAgIHRvcDogMS42ZW07XG4gICAgaGVpZ2h0OiAyLjJlbTtcbiAgfVxufSIsIi55b3V0dWJlLXZpZGVvIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbn0iLCIkbG9nb1NpemU6IDRlbTtcblxuI2FwcCB7XG4gICAgLnd2Yy1sb2dvIHtcbiAgICAgICAgcGFkZGluZzogNHB4O1xuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgd2lkdGg6ICRsb2dvU2l6ZTtcbiAgICAgICAgICAgIGhlaWdodDogJGxvZ29TaXplO1xuICAgICAgICB9XG4gICAgfVxuXG59IiwiJGxvZ29TaXplOiA1ZW07XG5cbiNhcHAge1xuICAgIC5yZWNlaXZlci1sb2dvIHtcbiAgICAgICAgcGFkZGluZzogMHB4O1xuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgd2lkdGg6ICRsb2dvU2l6ZTtcbiAgICAgICAgICAgIGhlaWdodDogJGxvZ29TaXplO1xuICAgICAgICB9XG4gICAgfVxuXG59IiwiJGR1cmF0aW9uOiAzcztcblxuLnNjYW5uaW5nIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgZGl2IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICB9XG5cbiAgZGl2Om50aC1jaGlsZCgxKSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdjb21wb25lbnRzL3dpZGdldHMvc2Nhbm5pbmcvaW1hZ2VzL3NjYW4tMS5wbmcnKTtcbiAgICBhbmltYXRpb246IG5vbmU7XG4gIH1cblxuICBkaXY6bnRoLWNoaWxkKDIpIHtcbiAgICBhbmltYXRpb246IHNjYW5uaW5nLWFuaW0tMiAkZHVyYXRpb24gaW5maW5pdGU7XG4gICAgLXdlYmtpdC1hbmltYXRpb246IHdlYmtpdC1zY2FubmluZy1hbmltLTIgJGR1cmF0aW9uIGluZmluaXRlO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdjb21wb25lbnRzL3dpZGdldHMvc2Nhbm5pbmcvaW1hZ2VzL3NjYW4tMi5wbmcnKTtcbiAgfVxuXG4gIGRpdjpudGgtY2hpbGQoMykge1xuICAgIGFuaW1hdGlvbjogc2Nhbm5pbmctYW5pbS0zICRkdXJhdGlvbiBpbmZpbml0ZTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbjogd2Via2l0LXNjYW5uaW5nLWFuaW0tMyAkZHVyYXRpb24gaW5maW5pdGU7XG4gICAgb3BhY2l0eTogMDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2NvbXBvbmVudHMvd2lkZ2V0cy9zY2FubmluZy9pbWFnZXMvc2Nhbi0zLnBuZycpO1xuICB9XG5cbn1cblxuQGtleWZyYW1lcyBzY2FubmluZy1hbmltLTIge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuICAyNSUsIDc1JSB7XG4gICAgb3BhY2l0eTogMVxuICB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBzY2FubmluZy1hbmltLTMge1xuICAwJSwgMjUlIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMVxuICB9XG4gIDc1JSwgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgd2Via2l0LXNjYW5uaW5nLWFuaW0tMiB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG4gIDI1JSwgNzUlIHtcbiAgICBvcGFjaXR5OiAxXG4gIH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgd2Via2l0LXNjYW5uaW5nLWFuaW0tMyB7XG4gIDAlLCAyNSUge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAxXG4gIH1cbiAgNzUlLCAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbi5kYXJrIC5zY2FubmluZyB7XG4gIGRpdjpudGgtY2hpbGQoMSkge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnY29tcG9uZW50cy93aWRnZXRzL3NjYW5uaW5nL2ltYWdlcy9zY2FuLTEtZGFyay5wbmcnKTtcbiAgfVxuXG4gIGRpdjpudGgtY2hpbGQoMikge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnY29tcG9uZW50cy93aWRnZXRzL3NjYW5uaW5nL2ltYWdlcy9zY2FuLTItZGFyay5wbmcnKTtcbiAgfVxuXG4gIGRpdjpudGgtY2hpbGQoMykge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnY29tcG9uZW50cy93aWRnZXRzL3NjYW5uaW5nL2ltYWdlcy9zY2FuLTMtZGFyay5wbmcnKTtcbiAgfVxufSIsIi5xci1jb2RlIHtcbiAgICAucXIgPiBpbWcge1xuICAgICAgd2lkdGg6IDdlbTtcbiAgICAgIGhlaWdodDogN2VtO1xuICAgIH1cblxuICAgIC5xci1sYWJlbCB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBwYWRkaW5nLXRvcDogMC4xZW07XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuXG4gICAgLnFyLXR5cGUge1xuICAgICAgd2lkdGg6IDJlbTtcbiAgICAgIGhlaWdodDogMmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuXG4gICAgICAmLnFyLXR5cGUtaW9zIHtcbiAgICAgICAgdHJhbnNpdGlvbjogMC40cztcbiAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiAwLjRzO1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2NvbXBvbmVudHMvd2lkZ2V0cy9xci1jb2RlL2ltYWdlcy9pb3MucG5nJyk7XG4gICAgICB9XG4gIFxuICAgICAgJi5xci10eXBlLWFuZHJvaWQge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2NvbXBvbmVudHMvd2lkZ2V0cy9xci1jb2RlL2ltYWdlcy9hbmRyb2lkLnBuZycpO1xuICAgICAgfVxuICAgIH1cbn1cblxuLmRhcmsgI2FwcCAucXItY29kZSB7XG4gIC5xci10eXBlIHtcbiAgICAmLnFyLXR5cGUtaW9zIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnY29tcG9uZW50cy93aWRnZXRzL3FyLWNvZGUvaW1hZ2VzL2lvcy1kYXJrLnBuZycpO1xuICAgIH1cbiAgfVxufSIsIkBpbXBvcnQgXCIuLi8uLi8uLi9jb2xvcnNcIjtcblxuI2FwcCB7XG4gICAgLmdldC13dmMge1xuICAgICAgICBtYXJnaW4tdG9wOiAyZW07XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgXG4gICAgICAgIC5xci1jb2RlIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxZW07XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDFlbTtcbiAgICAgICAgfVxuXG4gICAgICAgICNhbmRyb2lkLWNvbnRhaW5lcixcbiAgICAgICAgI2lvcy1jb250YWluZXIsXG4gICAgICAgICNkb250LWhhdmUge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgICAgICAgfVxuXG4gICAgICAgICNkb250LWhhdmUge1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA1ZW07XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDQwZW07XG5cbiAgICAgICAgICAgICY+LmxhYmVsLCAjb3ItZ28tdG8ge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA0MGVtO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwLjVlbTtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS41ZW07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICNkb250LWhhdmUtb3ItZ28tdG8ge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNGVtO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAjZG9udC1oYXZlLXRpdGxlIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMC4zZW07XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuM2VtO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS41ZW07XG4gICAgICAgICAgICAgICAgY29sb3I6ICMyMTk2ZjM7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogMC40cztcbiAgICAgICAgICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IDAuNHM7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICNoZWxwLWJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMWVtO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBcbiAgICAgICAgICAgICAgICAubGFiZWwge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5kYXJrICNhcHAgLmdldC13dmMge1xuICAgICAgICAjZG9udC1oYXZlIHtcbiAgICAgICAgICAgICNkb250LWhhdmUtdGl0bGUge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkdGV4dENvbG9yLWRhcms7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbn0iLCIjY3NzLWRlbW9zIHtcbiAgPiAuaW1hZ2UgaW1nIHtcbiAgICB3aWR0aDogOGVtO1xuICAgIGhlaWdodDogOGVtO1xuICB9XG5cbiAgI2RlbW8tY29udGFpbmVyIHtcbiAgICBjb2xvcjogIzAwMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGO1xuXG4gICAgI3NzbC10ZXN0cyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgJiA+IC5idXR0b24ge1xuICAgICAgICBtYXJnaW46IDFlbTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAjc3NsLXRlc3QtcmVzdWx0LCAjc3VwcG9ydGVkIHtcbiAgICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgICB9XG4gIH1cbn1cblxuI2Nzcy1kZW1vLXpvb20sXG4jY3NzLWRlbW8tcm90YXRlIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gID4gLmNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxufVxuXG4jY3NzLWRlbW8tem9vbSB7XG5cbiAgPiAuaW1hZ2UgaW1nIHtcbiAgICB3aWR0aDogNGVtO1xuICAgIGhlaWdodDogNGVtO1xuICB9XG5cbiAgI2RlbW8taW1nLXpvb20tNDAge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC40LCAwLjQpO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjQsIDAuNCk7XG4gIH1cblxuICAjZGVtby1pbWctem9vbS04MCB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjgsIDAuOCk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuOCwgMC44KTtcbiAgfVxuXG4gICNkZW1vLWltZy16b29tLTEyMCB7XG4gICAgcGFkZGluZzogN3B4O1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4yLCAxLjIpO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjIsIDEuMik7XG4gIH1cblxuICAjZGVtby1pbWctem9vbS0xNjAge1xuICAgIHBhZGRpbmc6IDIycHg7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjYsIDEuNik7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuNiwgMS42KTtcbiAgfVxuXG4gICNkZW1vLWltZy16b29tLTIwMCB7XG4gICAgcGFkZGluZzogMzZweDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDIsIDIpO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgyLCAyKTtcbiAgfVxufVxuXG4jZGVtby1pbWctcm90YXRlLTkwIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbn1cblxuI2RlbW8taW1nLXJvdGF0ZS0xODAge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG59XG5cbiNkZW1vLWltZy1yb3RhdGUtMjcwIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMjcwZGVnKTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgyNzBkZWcpO1xufVxuXG4jZGVtby1pbWctcm90YXRlLTI3MCB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDI3MGRlZyk7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMjcwZGVnKTtcbn1cblxuI2Nhci1kcml2ZSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYW5pbWF0aW9uOiBkcml2ZSAzcyBpbmZpbml0ZTtcbiAgLXdlYmtpdC1hbmltYXRpb246IHdlYmtpdC1kcml2ZSAzcyBpbmZpbml0ZTtcbn1cblxuI2tleWNvZGUsICNiZXRhcyB7XG4gICNrZXljb2RlLWNvbnRhaW5lciwgI2JldGFzLWNvbnRhaW5lciB7XG4gICAgJj4gLmxhYmVsIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgZm9udC1zaXplOiAyZW07XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMC4zZW07XG4gICAgfVxuICB9XG59XG5cbkBrZXlmcmFtZXMgZHJpdmUge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMDBweCk7XG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwMHB4KTtcbiAgfVxufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgd2Via2l0LWRyaXZlIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMDBweCk7XG4gIH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjAwcHgpO1xuICB9XG59IiwiI2xvZ2dpbmcge1xuICAjYmFjay1idXR0b24ge1xuICAgIG1hcmdpbi10b3A6IDJlbTtcbiAgfVxuXG4gIC5ob3Jpem9udGFsbGlzdCB7XG4gICAgPiAuYnV0dG9uIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjVlbTtcbiAgICAgIG1hcmdpbi1yaWdodDogMC41ZW07XG4gICAgfVxuICB9XG59IiwiXG4uc2V0dGluZy1zd2l0Y2gge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7O1xuXG4gICAgLmhvcml6b250YWxsaXN0IHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjVlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDVlbTtcblxuICAgICAgICAubGFiZWwge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMS41ZW07XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICB9XG4gICAgICAgIC5zd2l0Y2gge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjVlbTtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIH1cbiAgICB9XG59IiwiQGltcG9ydCAnLi9sb2dnaW5nJztcbkBpbXBvcnQgJy4vc2V0dGluZy1zd2l0Y2gnO1xuXG4gIC5zZXR0aW5nLWxhYmVsIHtcbiAgICBmb250LXNpemU6IDJlbTtcbiAgICBwYWRkaW5nOiAxZW07XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH0iLCJAaW1wb3J0IFwiLi4vLi4vY29sb3JzXCI7XG5cbiRidXR0b25CbHVyQ29sb3I6ICR3dmNBbG1vc3RXaGl0ZTtcbiRidXR0b25Gb2N1c0NvbG9yOiAkd3ZjWWVsbG93O1xuJGJ1dHRvbkZvY3VzQ29sb3ItZGFyazogJHd2Y1llbGxvdy1kYXJrO1xuJGljb25CYWNrZ3JvdW5kQ29sb3I6ICR3dmNNZWRHcmV5O1xuXG4jYXBwICNzZW5kZXJzICNzZW5kZXJzLWxpc3Qge1xuICAgIG1heC13aWR0aDogNDVlbTtcblxuICAgIC5zZW5kZXItYnV0dG9uIHtcbiAgICAgICAgd2lkdGg6IDEwZW07XG4gICAgICAgIGhlaWdodDogNy41ZW07XG4gICAgICAgIG1hcmdpbjogMWVtO1xuICAgICAgICB0cmFuc2Zvcm06IDAuNHM7XG5cbiAgICAgICAgJi5idXR0b25Gb2N1c3NlZCAuc2VuZGVyLWNvbnRhaW5lciAuc2VuZGVyLWxhYmVsIHtcbiAgICAgICAgICAgIGNvbG9yOiAkdGV4dENvbG9yO1xuICAgICAgICB9XG5cbiAgICAgICAgLmxhYmVsIHtcbiAgICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIH1cblxuICAgICAgICAuc2VuZGVyLWNvbnRhaW5lciB7XG4gICAgICAgICAgICAuc2VuZGVyLWljb24ge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaWNvbkJhY2tncm91bmRDb2xvcjtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDNlbTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDNlbTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwLjVlbTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjVlbTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwLjVlbTtcblxuICAgICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuc2VuZGVyLWxhYmVsIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgY29sb3I6ICMwMDA7XG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuXG4gICAgICAgICYuYnV0dG9uRm9jdXNzZWQge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbkZvY3VzQ29sb3I7XG4gICAgICAgICAgICAvL2FuaW1hdGlvbjogc2VuZGVyLWJ1dHRvbi1jb2xvciAwLjRzIGVhc2U7XG4gICAgICAgICAgICAvLy13ZWJraXQtYW5pbWF0aW9uOiB3ZWJraXQtc2VuZGVyLWJ1dHRvbi1jb2xvciAwLjRzIGVhc2U7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG4gICAgICAgIH1cblxuICAgICAgICAmLmJ1dHRvbkJsdXJyZWQge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbkJsdXJDb2xvcjtcbiAgICAgICAgICAgIC8vYW5pbWF0aW9uOiBzZW5kZXItYnV0dG9uLWNvbG9yLW9mZiAwLjJzIGVhc2U7XG4gICAgICAgICAgICAvLy13ZWJraXQtYW5pbWF0aW9uOiB3ZWJraXQtc2VuZGVyLWJ1dHRvbi1jb2xvci1vZmYgMC4ycyBlYXNlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBrZXlmcmFtZXMgc2VuZGVyLWJ1dHRvbi1jb2xvciB7XG4gICAgICAgICAgICBmcm9tIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9uQmx1ckNvbG9yO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRvIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9uRm9jdXNDb2xvcjtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAa2V5ZnJhbWVzIHNlbmRlci1idXR0b24tY29sb3Itb2ZmIHtcbiAgICAgICAgICAgIGZyb20ge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRidXR0b25Gb2N1c0NvbG9yO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdG8ge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRidXR0b25CbHVyQ29sb3I7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEAtd2Via2l0LWtleWZyYW1lcyB3ZWJraXQtc2VuZGVyLWJ1dHRvbi1jb2xvciB7XG4gICAgICAgICAgICBmcm9tIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9uQmx1ckNvbG9yO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRvIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9uRm9jdXNDb2xvcjtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBALXdlYmtpdC1rZXlmcmFtZXMgd2Via2l0LXNlbmRlci1idXR0b24tY29sb3Itb2ZmIHtcbiAgICAgICAgICAgIGZyb20ge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRidXR0b25Gb2N1c0NvbG9yO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdG8ge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRidXR0b25CbHVyQ29sb3I7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmRhcmsgI2FwcCAjc2VuZGVycyAjc2VuZGVycy1saXN0IHtcbiAgICAuc2VuZGVyLWJ1dHRvbiB7XG4gICAgICAgICYuYnV0dG9uRm9jdXNzZWQge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbkZvY3VzQ29sb3ItZGFyazsgXG4gICAgICAgIH1cbiAgICB9XG59IiwiI2Rhcmstc3dpdGNoIHtcbiAgICAuc3dpdGNoU2xpZGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdjb21wb25lbnRzL3NlbmRlcnMvaW1hZ2VzL2JnLWxpZ2h0LW1vZGUucG5nJyk7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnY29tcG9uZW50cy9zZW5kZXJzL2ltYWdlcy9saWdodC1tb2RlLnBuZycpO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuc3dpdGNoT24gLnN3aXRjaFNsaWRlciB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnY29tcG9uZW50cy9zZW5kZXJzL2ltYWdlcy9iZy1kYXJrLW1vZGUucG5nJyk7XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdjb21wb25lbnRzL3NlbmRlcnMvaW1hZ2VzL2RhcmstbW9kZS5wbmcnKTtcbiAgICAgICAgfVxuICAgIH1cbn0iLCJAaW1wb3J0IFwic2VuZGVycy1saXN0XCI7XG5AaW1wb3J0IFwiZGFyay1zd2l0Y2hcIjtcblxuI2FwcCB7XG4gICNzZW5kZXJzIHtcblxuICAgICNzZW5kZXJzLXRvcCB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMWVtO1xuXG4gICAgICAmID4gLmxpc3RpdGVtIHtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgIH1cblxuICAgICAgI3NlbmRlcnMtZGV0ZWN0ZWQge1xuICAgICAgICBtaW4td2lkdGg6IDM1ZW07XG4gICAgICAgIG1hcmdpbi10b3A6IDJlbTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuaGVhZGluZyB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgd2hpdGUtc3BhY2U6IHdyYXA7XG4gICAgfVxuXG4gICAgI2xvZ28tc2VjdGlvbiB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDZlbTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDFlbTtcbiAgICAgIHBhZGRpbmctdG9wOiAxZW07XG5cbiAgICAgIC5yZWNlaXZlci1sb2dvIGltZyB7XG4gICAgICAgIHdpZHRoOiAxNmVtO1xuICAgICAgICBoZWlnaHQ6IDE2ZW07XG4gICAgICB9XG5cbiAgICAgICNkYXJrLXN3aXRjaCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjdlbTtcbiAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgI3NjYW5uaW5nLWxpc3QsICNzY2FubmluZy1zdG9wcGVkLWxpc3QsICNzZWxlY3Qtc2VuZGVyIHtcbiAgICAgIGZvbnQtc2l6ZTogMmVtO1xuICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuNWVtO1xuICAgIH1cblxuICAgICNzY2FubmluZy1saXN0LCAjc2Nhbm5pbmctc3RvcHBlZC1saXN0IHtcbiAgICAgIC5sYWJlbCB7XG4gICAgICAgIG1heC13aWR0aDogMTVlbTtcbiAgICAgIH1cblxuICAgICAgLmxpc3RpdGVtIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgfVxuXG4gICAgICAuc2Nhbm5pbmcge1xuICAgICAgICB3aWR0aDogMWVtO1xuICAgICAgICBoZWlnaHQ6IDFlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC41ZW07XG4gICAgICB9XG5cbiAgICAgICNyZW1vdGUge1xuICAgICAgICB3aWR0aDogMS41ZW07XG4gICAgICAgIGhlaWdodDogMS41ZW07XG5cbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdjb21wb25lbnRzL3NlbmRlcnMvaW1hZ2VzL3JlbW90ZS5wbmcnKTtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICB9XG5cbiAgICAgIC5zY2FubmluZywgI3JlbW90ZSB7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMC41ZW07XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAjc2Nhbm5pbmctc3RvcHBlZC1saXN0IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgI2FwcC12ZXJzaW9uIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBjb2xvcjogIzEwNTA5ODtcbiAgICAgIHBhZGRpbmc6IDAuMmVtO1xuICAgICAgZm9udC1zaXplOiAxZW07XG4gICAgfVxuXG4gICAgI2Nvbm5lY3QtbWFudWFsbHkge1xuICAgICAgbWFyZ2luLXRvcDogMWVtO1xuICAgICAgbWF4LXdpZHRoOiAyNWVtO1xuICAgIH1cblxuICAgICNzZWxlY3Qtc2VuZGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBtYXgtd2lkdGg6IDIwZW07XG4gICAgfVxuXG4gICAgJi5zZW5kZXJzLWF2YWlsYWJsZSB7XG4gICAgICAjc2VsZWN0LXNlbmRlciB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC41ZW07XG4gICAgICB9XG5cbiAgICAgICNzY2FubmluZy1saXN0LCAjc2Nhbm5pbmctc3RvcHBlZC1saXN0IHtcbiAgICAgICAgbWFyZ2luLXRvcDogMWVtO1xuICAgICAgICBmb250LXNpemU6IDFlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMWVtO1xuXG4gICAgICAgIC5sYWJlbCB7XG4gICAgICAgICAgbWF4LXdpZHRoOiA0MGVtO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5zY2FubmluZy1hY3RpdmUge1xuICAgICAgI3NjYW5uaW5nLWxpc3Qge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cblxuICAgICAgI3NjYW5uaW5nLXN0b3BwZWQtbGlzdCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5zY2FubmluZy1pbmFjdGl2ZSB7XG4gICAgICAjc2Nhbm5pbmctbGlzdCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgICNzY2FubmluZy1zdG9wcGVkLWxpc3Qge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG4gICAgXG4gIH1cblxufVxuXG4uZGFyayAjYXBwICNzZW5kZXJzIHtcbiAgI2FwcC12ZXJzaW9uIHtcbiAgICBjb2xvcjogIzgyODI4MjtcbiAgfSBcblxuXG4gICNzY2FubmluZy1zdG9wcGVkLWxpc3Qge1xuICAgICNyZW1vdGUge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdjb21wb25lbnRzL3NlbmRlcnMvaW1hZ2VzL3JlbW90ZS1kYXJrLnBuZycpO1xuICAgIH1cbiAgfVxufSIsIiRrZXlTaXplOiAyLjhlbTtcbiRmb250U2l6ZTogJGtleVNpemUgKiAoMi81KTtcbiRsaW5lSGVpZ2h0OiAka2V5U2l6ZSAqICgzLzUpO1xuXG4ja2V5Ym9hcmQge1xuICB3aWR0aDogJGtleVNpemUgKiAxMTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLXRvcDogMWVtO1xuXG4gIC5yb3cge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogJGtleVNpemU7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgIC5rZXlib2FyZEJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB3aWR0aDogJGtleVNpemU7XG4gICAgICBoZWlnaHQ6ICRrZXlTaXplO1xuICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAubGFiZWwge1xuICAgICAgICBmb250LXNpemU6ICRmb250U2l6ZTtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRsaW5lSGVpZ2h0O1xuICAgICAgfVxuXG4gICAgICAmLmtleURFTCB7XG4gICAgICAgIHdpZHRoOiAka2V5U2l6ZSAqIDEuMjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuc3BhY2VyIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHdpZHRoOiAka2V5U2l6ZTtcbiAgICAgIGhlaWdodDogMXB4O1xuICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAmI2tleWJvYXJkXzlfMSB7XG4gICAgICAgIHdpZHRoOiAka2V5U2l6ZS8yO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICNrZXlib2FyZF9yb3dfMiB7XG4gICAgcGFkZGluZy1sZWZ0OiAka2V5U2l6ZS8yO1xuICB9XG59IiwiLmxvYWRlciB7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgdGV4dC1pbmRlbnQ6IC05OTk5ZW07XG4gIGJvcmRlci10b3A6IDJweCBzb2xpZCAjMjE5NkYzICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1yaWdodDogMnB4IHNvbGlkICMyMTk2RjMgIWltcG9ydGFudDtcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICMyMTk2RjMgIWltcG9ydGFudDtcbiAgYm9yZGVyLWxlZnQ6IDJweCBzb2xpZCAjRUVFRUVFICFpbXBvcnRhbnQ7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xuICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XG4gIC13ZWJraXQtYW5pbWF0aW9uOiBsb2FkOCAxLjFzIGluZmluaXRlIGxpbmVhcjtcbiAgYW5pbWF0aW9uOiBsb2FkOCAxLjFzIGluZmluaXRlIGxpbmVhcjtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGxvYWQ4IHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gIH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBsb2FkOCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICB9XG59IiwiQGltcG9ydCAnLi9rZXlib2FyZCc7XG5AaW1wb3J0ICcuL2xvYWRlcic7XG5cbiR3aWR0aDogMzJlbTtcbiRsb2dvU2l6ZTogNGVtO1xuXG4jY29ubmVjdCB7XG5cbiAgI3R1dG9yaWFsLWJ1dHRvbiB7XG4gICAgcGFkZGluZzogMC41ZW07XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogMDtcbiAgICBoZWlnaHQ6IDIuNWVtO1xuICAgIHotaW5kZXg6IDEwMDA7XG4gIH1cblxuICAjbG9nby1jb250YWluZXIge1xuICAgIGhlaWdodDogNGVtO1xuXG4gICAgI2J1c3ktY29udGFpbmVyIHtcbiAgICAgIHdpZHRoOiA0ZW07XG4gICAgICBoZWlnaHQ6IDRlbTtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgJi5sb2FkaW5nICNidXN5LWNvbnRhaW5lciB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuXG4gICAgICNlcnJvciwgI3N1Y2Nlc3Mge1xuICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgIH1cbiAgICBcbiAgICAmLmVycm9yICNlcnJvciB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuXG4gICAgJi5zdWNjZXNzICNzdWNjZXNzIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgICNlcnJvciB7XG4gICAgICBoZWlnaHQ6ICRsb2dvU2l6ZTtcbiAgICAgIHBhZGRpbmc6IDRweDtcblxuICAgICAgI2Vycm9yLW1lc3NhZ2Uge1xuICAgICAgICBoZWlnaHQ6ICRsb2dvU2l6ZSAqIDAuMjU7XG4gICAgICB9XG5cbiAgICAgICNlcnJvci1pbWcge1xuICAgICAgICBtYXJnaW4tbGVmdCA6IGF1dG87XG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcblxuICAgICAgICBpbWcge1xuICAgICAgICAgIHBhZGRpbmc6ICgkbG9nb1NpemUgKiAwLjc1KSAqIDAuMTU7XG4gICAgICAgICAgd2lkdGg6ICgkbG9nb1NpemUgKiAwLjc1KSAtICgoKCRsb2dvU2l6ZSAqIDAuNzUpICogMC4xNSkgKiAyKTtcbiAgICAgICAgICBoZWlnaHQ6ICRsb2dvU2l6ZSAqIDAuNzUgLSAoKCgkbG9nb1NpemUgKiAwLjc1KSAqIDAuMTUpICogMik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmxvYWRpbmcsICYuZXJyb3IsICYuc3VjY2VzcyB7XG4gICAgICAucmVjZWl2ZXItbG9nbyB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gIH1cblxuICAjZW50ZXItY29kZSB7XG4gICAgaGVpZ2h0OiAyZW07XG4gICAgZm9udC1zaXplOiAyZW07XG4gICAgbGluZS1oZWlnaHQ6IDJlbTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luLXRvcDogMWVtO1xuICAgIG1heC13aWR0aDogJHdpZHRoIC8gMjtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIH1cblxuICAjY29ubmVjdC1idXR0b24ge1xuICAgIG1hcmdpbi10b3A6IDFlbTtcbiAgICBtYXgtd2lkdGg6ICR3aWR0aDtcbiAgfVxuXG4gICNhcHAtdmVyc2lvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGNvbG9yOiAjMTA1MDk4O1xuICAgIHBhZGRpbmc6IDAuMmVtO1xuICAgIGZvbnQtc2l6ZTogMWVtO1xuICB9XG59XG5cbi5kYXJrICNhcHAgI2Nvbm5lY3Qge1xuICAjYXBwLXZlcnNpb24ge1xuICAgIGNvbG9yOiAjODI4MjgyO1xuICB9IFxufSIsIiN0dXRvcmlhbCB7XG4gICAgI2xvYWRpbmctY29udGFpbmVyIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMDB2dztcbiAgICAgICAgaGVpZ2h0OiA4MHZoO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgXG4gICAgICAgIHotaW5kZXg6IDEwMDAwO1xuICAgIH1cblxuICAgICN5b3V0dWJlLXZpZGVvLWZyYW1lIHtcbiAgICAgICAgd2lkdGg6IDEwMHZ3O1xuICAgICAgICBoZWlnaHQ6IDg1dmg7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgfVxuXG4gICAgI2FjdGlvbi1jb250YWluZXIge1xuICAgICAgICBoZWlnaHQ6IDE1dmg7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNXZoO1xuXG4gICAgICAgIC5idXR0b24ge1xuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxLjV2dztcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMS41dnc7XG4gICAgICAgICAgICB3aWR0aDogOXZoO1xuICAgICAgICAgICAgaGVpZ2h0OiA5dmg7XG5cbiAgICAgICAgICAgIC5pbWFnZSB7XG4gICAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDV2aDtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA1dmg7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDJ2aDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIjaGVscCB7XG5cbiAgI2hlbHAtY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICAjZ28tYmFjayB7XG4gICAgICBtYXJnaW4tdG9wOiAxZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgI3NjcmVlbnNob3QtY29udGFpbmVyIC5jb250YWluZXIuaW1hZ2Uge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICAgICAmI3Bob25lLWNvZGUge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMC44ZW07XG4gICAgICB9XG4gIH1cblxuICAjY29ubmVjdC1jaXJjbGVkX2ltZ3tcbiAgICB3aWR0aDogMjVlbTtcbiAgICBoZWlnaHQ6IDUuMmVtO1xuICB9XG5cbiAgI2Nhc3QtdG8tc21hcnQtdHZfaW1nIHtcbiAgICB3aWR0aDogMTNlbTtcbiAgICBoZWlnaHQ6IDExZW07XG4gIH1cblxuICAjcGhvbmUtY29kZV9pbWcge1xuICAgICAgd2lkdGg6IDYuMmVtO1xuICAgICAgaGVpZ2h0OiAxMWVtO1xuICB9XG5cbiAgI2VudGVyLWNvZGVfaW1nIHtcbiAgICAgIHdpZHRoOiAxNmVtO1xuICAgICAgaGVpZ2h0OiAxMWVtO1xuICB9XG5cbiAgI3RvcC1wYW5lbCB7XG4gICAgYm9yZGVyLWJvdHRvbTogZ3JleTtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAxcHg7XG4gICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XG4gIH1cblxuICAjdG9wLWxlZnQtcGFuZWwsICNib3R0b20tbGVmdC1wYW5lbCB7XG4gICAgYm9yZGVyLXJpZ2h0OiBncmV5O1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMXB4O1xuICAgIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gIH1cblxuICAjdG9wLXBhbmVsLCAjYm90dG9tLXBhbmVsIHtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICBoZWlnaHQ6IDE3ZW07XG4gIH1cblxuICAjdG9wLXBhbmVsID4gLmNvbnRhaW5lciwgXG4gICNib3R0b20tcGFuZWwgPiAuY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IDMwZW07XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICBoZWlnaHQ6IDE3ZW07XG5cbiAgICA+IC5sYWJlbCB7XG4gICAgICBmb250LXNpemU6IDEuOGVtO1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMC40ZW07XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG5cbiAgICAgICAgJiNhbmRyb2lkLWxhYmVsLCAmI2lvcy1sYWJlbCB7XG4gICAgICAgICAgZm9udC1zaXplOiAxZW07XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICN0b3AtbGVmdC10aXRsZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gICNib3R0b20tbGVmdC10aXRsZSwgI2JvdHRvbS1yaWdodC10aXRsZSB7XG4gICAgICBwYWRkaW5nLXRvcDogMC40ZW07XG4gIH1cblxuICAjYXBwLWluZm8ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tbGVmdDogMS4yZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAxLjJlbTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuXG4gICAgPiAubGFiZWwge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAjYXBwLWxvZ28ge1xuICAgICAgcGFkZGluZy1ib3R0b206IDFlbTtcbiAgICAgICNhcHAtbG9nb19pbWcge1xuICAgICAgICB3aWR0aDogNS4xZW07XG4gICAgICAgIGhlaWdodDogNS4xZW07XG4gICAgICB9XG4gICAgfVxuXG4gICAgI2FwcC1uYW1lLCAjb3ItdmlzaXQge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMC41ZW07XG4gICAgfVxuXG4gICAgI3VybCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44ZW07XG4gICAgfVxuICB9XG5cbiAgI2FuZHJvaWQtY29udGFpbmVyLCAjaW9zLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG5cbn0iLCIjY29ubmVjdGVkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoY29tcG9uZW50cy9jb25uZWN0ZWQvc3BsYXNoLWhkLnBuZyk7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuXG4gICNiYWNrLWJ1dHRvbiB7XG4gICAgbWFyZ2luOiAyZW07XG4gICAgYW5pbWF0aW9uOiBub25lO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uOiBub25lO1xuICAgIFxuICAgICYuYnV0dG9uRm9jdXNzZWQge1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB9XG4gIH1cblxuICAjbWVzc2FnZSB7XG4gICAgZm9udC1zaXplOiAyZW07XG4gICAgY29sb3I6ICNGRkY7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwYWRkaW5nLWJvdHRvbTogMWVtO1xuICB9XG59IiwiI2FwcCAuYnV0dG9uLmhvcml6b250YWxzbGlkZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiA1MCU7XG4gIGhlaWdodDogMC41ZW07XG4gIGFuaW1hdGlvbjogc2xpZGVyLWZvY3VzLW9mZiAxcztcbiAgLXdlYmtpdC1hbmltYXRpb246IHdlYmtpdC1zbGlkZXItZm9jdXMtb2ZmIDFzO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuXG4gICYuZm9jdXMge1xuICAgIGJveC1zaGFkb3c6IDAgMCAxZW0gMC4yZW0gI0ZGRjtcbiAgICBhbmltYXRpb246IHNsaWRlci1mb2N1cy1vbiAxcztcbiAgICAtd2Via2l0LWFuaW1hdGlvbjogd2Via2l0LXNsaWRlci1mb2N1cy1vbiAxcztcbiAgfVxuXG4gIC5zY3J1YmJhcmJ1ZmZlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAxZW07XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC40KTtcbiAgfVxuXG4gIC5ob3Jpem9udGFsc2xpZGVybGVmdCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAxZW07XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYigyNTUsIDI1NSwgMjU1KTtcbiAgfVxuXG4gIC5ob3Jpem9udGFsc2xpZGVyaGFuZGxlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IC0wLjhlbTtcbiAgICB3aWR0aDogMmVtO1xuICAgIGhlaWdodDogMmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjU1LCAyNTUsIDI1NSk7XG4gIH1cblxuICBAa2V5ZnJhbWVzIHNsaWRlci1mb2N1cy1vZmYge1xuICAgIDAlIHtcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAxZW0gMC4yZW0gcmdiYSgyNTUsIDI1NSwgMjU1LCAxKTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICBib3gtc2hhZG93OiAwIDAgMWVtIDAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKTtcbiAgICB9XG4gIH1cbiAgQGtleWZyYW1lcyBzbGlkZXItZm9jdXMtb24ge1xuICAgIDAlIHtcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAxZW0gMCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAxZW0gMC4yZW0gcmdiYSgyNTUsIDI1NSwgMjU1LCAxKTtcbiAgICB9XG4gIH1cbiAgQC13ZWJraXQta2V5ZnJhbWVzIHdlYmtpdC1zbGlkZXItZm9jdXMtb2ZmIHtcbiAgICAwJSB7XG4gICAgICBib3gtc2hhZG93OiAwIDAgMWVtIDAuMmVtIHJnYmEoMjU1LCAyNTUsIDI1NSwgMSk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgYm94LXNoYWRvdzogMCAwIDFlbSAwIHJnYmEoMjU1LCAyNTUsIDI1NSwgMCk7XG4gICAgfVxuICB9XG4gIEAtd2Via2l0LWtleWZyYW1lcyB3ZWJraXQtc2xpZGVyLWZvY3VzLW9uIHtcbiAgICAwJSB7XG4gICAgICBib3gtc2hhZG93OiAwIDAgMWVtIDAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICBib3gtc2hhZG93OiAwIDAgMWVtIDAuMmVtIHJnYmEoMjU1LCAyNTUsIDI1NSwgMSk7XG4gICAgfVxuICB9XG59IiwiLmNvbnRyb2xzLWFjdGl2ZSB7XG4gICNzdWJ0aXRsZXMtY29udGFpbmVyIHtcbiAgICBib3R0b206IDExLjVlbTtcbiAgfVxufVxuXG4jc3VidGl0bGVzLWNvbnRhaW5lciB7XG4gIGJvdHRvbTogMC41ZW07XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG5cbiAgJi5zdWItbGluZS0wIHtcbiAgICBib3R0b206IGF1dG87XG4gICAgdG9wOiAwO1xuICB9XG5cbiAgJi5zdWItbGluZS0xMCB7XG4gICAgYm90dG9tOiBhdXRvO1xuICAgIHRvcDogMTAlO1xuICB9XG5cbiAgJi5zdWItbGluZS0yMCB7XG4gICAgYm90dG9tOiBhdXRvO1xuICAgIHRvcDogMjAlO1xuICB9XG5cbiAgJi5zdWItbGluZS0zMCB7XG4gICAgYm90dG9tOiBhdXRvO1xuICAgIHRvcDogMzAlO1xuICB9XG5cbiAgJi5zdWItbGluZS00MCB7XG4gICAgYm90dG9tOiBhdXRvO1xuICAgIHRvcDogNDAlO1xuICB9XG5cbiAgJi5zdWItbGluZS01MCB7XG4gICAgYm90dG9tOiBhdXRvO1xuICAgIHRvcDogNTAlO1xuICB9XG5cbiAgJi5zdWItbGluZS02MCB7XG4gICAgYm90dG9tOiA0MCU7XG4gIH1cblxuICAmLnN1Yi1saW5lLTcwIHtcbiAgICBib3R0b206IDMwJTtcbiAgfVxuXG4gICYuc3ViLWxpbmUtODAge1xuICAgIGJvdHRvbTogMjAlO1xuICB9XG5cbiAgJi5zdWItbGluZS05MCB7XG4gICAgYm90dG9tOiAxMCU7XG4gIH1cblxuICAmLnN1Yi1saW5lLTEwMCB7XG4gICAgYm90dG9tOiAwO1xuICB9XG5cbiAgJi5zdWItcG9zaXRpb24tMCB7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogYXV0bztcbiAgfVxuXG4gICYuc3ViLXBvc2l0aW9uLTEwIHtcbiAgICBsZWZ0OiAxMCU7XG4gICAgcmlnaHQ6IGF1dG87XG4gIH1cbiAgXG4gICYuc3ViLXBvc2l0aW9uLTIwIHtcbiAgICBsZWZ0OiAyMCU7XG4gICAgcmlnaHQ6IGF1dG87XG4gIH1cbiAgXG4gICYuc3ViLXBvc2l0aW9uLTMwIHtcbiAgICBsZWZ0OiAzMCU7XG4gICAgcmlnaHQ6IGF1dG87XG4gIH1cbiAgXG4gICYuc3ViLXBvc2l0aW9uLTQwIHtcbiAgICBsZWZ0OiA0MCU7XG4gICAgcmlnaHQ6IGF1dG87XG4gIH1cbiAgXG4gICYuc3ViLXBvc2l0aW9uLTUwIHtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICB9XG4gIFxuICAmLnN1Yi1wb3NpdGlvbi02MCB7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogNDAlO1xuICB9XG4gIFxuICAmLnN1Yi1wb3NpdGlvbi03MCB7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogMzAlO1xuICB9XG4gIFxuICAmLnN1Yi1wb3NpdGlvbi04MCB7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogMjAlO1xuICB9XG4gIFxuICAmLnN1Yi1wb3NpdGlvbi05MCB7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogMTAlO1xuICB9XG4gIFxuICAmLnN1Yi1wb3NpdGlvbi0xMDAge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IDA7XG4gIH1cblxuICAjc3VidGl0bGVzIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmc6IDAuN2VtO1xuICAgIGZvbnQtc2l6ZTogMS44ZW07XG5cbiAgICAmLnN1YnRpdGxlcy1lbXB0eSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgICYgPiBzcGFuIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgd2hpdGUtc3BhY2U6IHByZS13cmFwO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG5cbn0iLCJAaW1wb3J0ICcuL3NjcnViLWJhcic7XG5AaW1wb3J0ICcuL3N1YnRpdGxlcyc7XG5cbi8qXG4jYXBwLnJvb3R3aWRnZXQudmlkZW8tcGxheWVyIHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcblxuICAjbWFpbiB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICB9XG59XG4qL1xuXG4jYXBwLnZpZGVvLXBsYXllciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDAwMDAgIWltcG9ydGFudDtcbn1cblxuI21lZGlhUGxheWVyVmlkZW8ge1xuICBvYmplY3QtZml0OiBjb250YWluO1xufVxuXG4jdmlkZW8tcGxheWVyIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgI2F1ZGlvLWltYWdlX2ltZyB7XG4gICAgb2JqZWN0LWZpdDogY29udGFpbjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cblxuICAjYnVmZmVyaW5nIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMi41ZW07XG4gICAgYm90dG9tOiAyZW07XG5cbiAgICAmID4gZGl2IHtcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAxZW0gMC4yZW0gIzAwMDtcbiAgICB9XG4gIH1cblxuICAjY29udHJvbC1zdGFjayB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMDtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHJnYmEoMCwgMCwgMCwgMCksIHJnYmEoMCwwLDAsLjUpIDM1JSwgcmdiYSgwLDAsMCwxKSk7XG4gICAgcGFkZGluZy1ib3R0b206IDFlbTtcbiAgICBwYWRkaW5nLXRvcDogMmVtO1xuXG4gICAgI3NjcnViLWNvbnRhaW5lciB7XG4gICAgICAubGFiZWwge1xuICAgICAgICBmb250LXNpemU6IDJlbTtcbiAgICAgICAgY29sb3I6ICNGRkY7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjVlbTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC41ZW07XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgI2FjdGlvbi1jb250YWluZXIge1xuXG4gICAgICAuYnV0dG9uIHtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICBtYXJnaW4tbGVmdDogMWVtO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDFlbTtcblxuICAgICAgICAmLmJ1dHRvbkRpc2FibGVkIHtcbiAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLmltYWdlIGltZyB7XG4gICAgICAgICAgd2lkdGg6IDNlbTtcbiAgICAgICAgICBoZWlnaHQ6IDNlbTtcbiAgICAgICAgICBwYWRkaW5nOiAxZW07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAjc2NydWItYmFyLCAjc2NydWItYmFyX2J1ZmZlciwgI3NjcnViLWJhcl9sZWZ0LCAjc2NydWItYmFyX3NsaWRlciB7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIH1cbn0iLCIjaW1hZ2UtcGxheWVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcblxuICAjbWFpbi1pbWFnZV9pbWcge1xuICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG5cbiAgI2xvYWRpbmcge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAyLjVlbTtcbiAgICBib3R0b206IDJlbTtcbiAgICB6LWluZGV4OiAxMDAwO1xuXG4gICAgJiA+IGRpdiB7XG4gICAgICBib3gtc2hhZG93OiAwIDAgMWVtIDAuMmVtICMwMDA7XG4gICAgfVxuICB9XG5cbiAgI2JhY2stYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gICAgXG4gICNhY3Rpb24tY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQocmdiYSgwLCAwLCAwLCAwKSwgcmdiYSgwLCAwLCAwLCAuNSkgMzUlLCByZ2JhKDAsIDAsIDAsIDEpKTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMWVtO1xuICAgIHBhZGRpbmctdG9wOiAyZW07XG4gICAgXG4gICAgLmJ1dHRvbiB7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgbWFyZ2luLWxlZnQ6IDFlbTtcbiAgICAgIG1hcmdpbi1yaWdodDogMWVtO1xuXG4gICAgICAmLmJ1dHRvbkRpc2FibGVkIHtcbiAgICAgICAgb3BhY2l0eTogMC41O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjMyMzIzO1xuICAgICAgfVxuICAgIFxuICAgICAgLmltYWdlIGltZyB7XG4gICAgICAgIHdpZHRoOiAzZW07XG4gICAgICAgIGhlaWdodDogM2VtO1xuICAgICAgICBwYWRkaW5nOiAxZW07XG4gICAgICB9XG4gICAgfVxuICB9XG59IiwiQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnUm9ib3RvJztcbiAgc3JjOiB1cmwoXCJ3ZWItZm9udHMvcm9ib3RvX21lZGl1bS9Sb2JvdG8tTWVkaXVtLXdlYmZvbnQuZW90XCIpO1xuICBzcmM6IHVybChcIndlYi1mb250cy9yb2JvdG9fbWVkaXVtL1JvYm90by1NZWRpdW0td2ViZm9udC5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCBcbiAgICB1cmwoXCJ3ZWItZm9udHMvcm9ib3RvX21lZGl1bS9Sb2JvdG8tTWVkaXVtLXdlYmZvbnQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIFxuICAgIHVybChcIndlYi1mb250cy9yb2JvdG9fbWVkaXVtL1JvYm90by1NZWRpdW0td2ViZm9udC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIFxuICAgIHVybChcIndlYi1mb250cy9yb2JvdG9fbWVkaXVtL1JvYm90by1NZWRpdW0td2ViZm9udC50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksIFxuICAgIHVybChcIndlYi1mb250cy9yb2JvdG9fbWVkaXVtL1JvYm90by1NZWRpdW0td2ViZm9udC5zdmcjcm9ib3RvYm9sZFwiKSBmb3JtYXQoXCJzdmdcIik7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBmb250LXN0eWxlOiBub3JtYWw7IFxufVxuXG4vKlxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnUm9ib3RvJztcbiAgc3JjOiB1cmwoXCJ3ZWItZm9udHMvcm9ib3RvX2JvbGRpdGFsaWMvUm9ib3RvLUJvbGRJdGFsaWMtd2ViZm9udC5lb3RcIik7XG4gIHNyYzogdXJsKFwid2ViLWZvbnRzL3JvYm90b19ib2xkaXRhbGljL1JvYm90by1Cb2xkSXRhbGljLXdlYmZvbnQuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgXG4gICAgdXJsKFwid2ViLWZvbnRzL3JvYm90b19ib2xkaXRhbGljL1JvYm90by1Cb2xkSXRhbGljLXdlYmZvbnQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIFxuICAgIHVybChcIndlYi1mb250cy9yb2JvdG9fYm9sZGl0YWxpYy9Sb2JvdG8tQm9sZEl0YWxpYy13ZWJmb250LndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgXG4gICAgdXJsKFwid2ViLWZvbnRzL3JvYm90b19ib2xkaXRhbGljL1JvYm90by1Cb2xkSXRhbGljLXdlYmZvbnQudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLCBcbiAgICB1cmwoXCJ3ZWItZm9udHMvcm9ib3RvX2JvbGRpdGFsaWMvUm9ib3RvLUJvbGRJdGFsaWMtd2ViZm9udC5zdmcjcm9ib3RvYm9sZF9pdGFsaWNcIikgZm9ybWF0KFwic3ZnXCIpO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgZm9udC1zdHlsZTogaXRhbGljLCBvYmxpcXVlOyBcbn1cbiovXG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ1JvYm90byc7XG4gIHNyYzogdXJsKFwid2ViLWZvbnRzL3JvYm90b19saWdodGl0YWxpYy9Sb2JvdG8tTGlnaHRJdGFsaWMtd2ViZm9udC5lb3RcIik7XG4gIHNyYzogdXJsKFwid2ViLWZvbnRzL3JvYm90b19saWdodGl0YWxpYy9Sb2JvdG8tTGlnaHRJdGFsaWMtd2ViZm9udC5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCBcbiAgICB1cmwoXCJ3ZWItZm9udHMvcm9ib3RvX2xpZ2h0aXRhbGljL1JvYm90by1MaWdodEl0YWxpYy13ZWJmb250LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCBcbiAgICB1cmwoXCJ3ZWItZm9udHMvcm9ib3RvX2xpZ2h0aXRhbGljL1JvYm90by1MaWdodEl0YWxpYy13ZWJmb250LndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgXG4gICAgdXJsKFwid2ViLWZvbnRzL3JvYm90b19saWdodGl0YWxpYy9Sb2JvdG8tTGlnaHRJdGFsaWMtd2ViZm9udC50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksIFxuICAgIHVybChcIndlYi1mb250cy9yb2JvdG9fbGlnaHRpdGFsaWMvUm9ib3RvLUxpZ2h0SXRhbGljLXdlYmZvbnQuc3ZnI3JvYm90b2xpZ2h0aXRhbGljXCIpIGZvcm1hdChcInN2Z1wiKTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogaXRhbGljLCBvYmxpcXVlOyBcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnUm9ib3RvJztcbiAgc3JjOiB1cmwoXCJ3ZWItZm9udHMvcm9ib3RvX2xpZ2h0L1JvYm90by1MaWdodC13ZWJmb250LmVvdFwiKTtcbiAgc3JjOiB1cmwoXCJ3ZWItZm9udHMvcm9ib3RvX2xpZ2h0L1JvYm90by1MaWdodC13ZWJmb250LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksIFxuICAgIHVybChcIndlYi1mb250cy9yb2JvdG9fbGlnaHQvUm9ib3RvLUxpZ2h0LXdlYmZvbnQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIFxuICAgIHVybChcIndlYi1mb250cy9yb2JvdG9fbGlnaHQvUm9ib3RvLUxpZ2h0LXdlYmZvbnQud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCBcbiAgICB1cmwoXCJ3ZWItZm9udHMvcm9ib3RvX2xpZ2h0L1JvYm90by1MaWdodC13ZWJmb250LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSwgXG4gICAgdXJsKFwid2ViLWZvbnRzL3JvYm90b19saWdodC9Sb2JvdG8tTGlnaHQtd2ViZm9udC5zdmcjcm9ib3RvbGlnaHRcIikgZm9ybWF0KFwic3ZnXCIpO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7IFxufSIsIi5jYXJvdXNlbG1hc2sge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAuY2Fyb3VzZWx3aWRnZXRzdHJpcCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgICAgICAmLnZlcnRpY2FsPi5jYXJvdXNlbEl0ZW0ge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cblxuICAgICAgICAmLmhvcml6b250YWw+LmNhcm91c2VsSXRlbSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cblxuICAgIH1cblxuICAgICYub3ZlcmZsb3ctbGVmdCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICAgICAgICB3aWR0aDogNTBweDtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsIHJnYmEoMTI4LCAxMjgsIDEyOCwgMC4zKSwgcmdiYSgwLCAwLCAwLCAwKSk7XG4gICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5vdmVyZmxvdy1yaWdodCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgICAgICAgd2lkdGg6IDUwcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgcmdiYSgwLCAwLCAwLCAwKSwgcmdiYSgxMjgsIDEyOCwgMTI4LCAwLjMpKTtcbiAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKlxuICAgICNjYXJvdXNlbENvbXBvbmVudCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAmID4gLmNhcm91c2VsbWFzayB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgICAgfVxuICAgIH1cblxuICAgICNjYXJvdXNlbENvbXBvbmVudFxuXG4gICAgI2Nhcm91c2VsQ29tcG9uZW50Pi5kZXNjcmlwdGlvbiB7XG4gICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgfVxuXG4gICAgLmNhcm91c2Vsd2lkZ2V0c3RyaXA+LmJ1dHRvbiB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgd2lkdGg6IDIwMHB4O1xuICAgICAgICBwYWRkaW5nOiAzMnB4O1xuICAgIH1cblxuICAgIC5jYXJvdXNlbHdpZGdldHN0cmlwLnZlcnRpY2FsPi5idXR0b24ge1xuICAgICAgICBoZWlnaHQ6IDIwMHB4O1xuICAgIH1cbiAgICAqL1xufSIsIkBpbXBvcnQgXCJjb2xvcnNcIjtcblxuJGNhcmRCYWNrZ3JvdW5kQ29sb3I6ICR3dmNXaGl0ZTtcbiRjYXJkQmFja2dyb3VuZENvbG9yLWRhcms6ICR3dmNCbGFjaztcblxuJGNhcmRTaGFkb3c6ICRzaGFkb3dDb2xvcjtcblxuLmNhcmQtY29udGFpbmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZENvbG9yO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB0cmFuc2l0aW9uOiAwLjRzO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogMC40cztcblxuICAgIC5jYXJkIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgICAgbWF4LXdpZHRoOiA3MGVtO1xuICAgICAgICBjb2xvcjogJHRleHRDb2xvcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNhcmRCYWNrZ3JvdW5kQ29sb3I7XG4gICAgICAgIGJveC1zaGFkb3c6IDBweCAwLjI1ZW0gMS4xNmVtICRjYXJkU2hhZG93O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwLjE3ZW07XG4gICAgICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgICAgICAgdHJhbnNpdGlvbjogMC40cztcbiAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiAwLjRzO1xuXG4gICAgICAgIG1hcmdpbjogMS41ZW07XG4gICAgICAgIHBhZGRpbmc6IDJlbTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtaW4td2lkdGg6IDYwZW07XG4gICAgfVxufVxuXG4uZGFyayAuY2FyZC1jb250YWluZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjYXJkQmFja2dyb3VuZENvbG9yLWRhcms7XG5cbiAgICAuY2FyZCB7XG4gICAgICAgIGNvbG9yOiAkdGV4dENvbG9yLWRhcms7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjYXJkQmFja2dyb3VuZENvbG9yLWRhcms7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgfVxufSIsIkBpbXBvcnQgXCJjb2xvcnNcIjtcbkBpbXBvcnQgXCJjYXJkXCI7XG5cbiRidXR0b25UZXh0Q29sb3I6ICR3dmNBbG1vc3RXaGl0ZTtcblxuJGJ1dHRvbkZvY3VzZWQ6ICR3dmNZZWxsb3c7XG4kYnV0dG9uRm9jdXNlZC1kYXJrOiAkd3ZjWWVsbG93LWRhcms7XG4kYnV0dG9uVW5mb2N1c2VkOiAkd3ZjQmx1ZTtcbiRidXR0b25VbmZvY3VzZWQtZGFyazogJHd2Y0JsdWUtZGFyaztcblxuJGxpbmtUZXh0Rm9jdXNlZDogJGJ1dHRvblRleHRDb2xvcjtcbiRsaW5rVGV4dEZvY3VzZWQtZGFyazogJGJ1dHRvblRleHRDb2xvcjtcbiRsaW5rRm9jdXNlZDogJGJ1dHRvbkZvY3VzZWQ7XG4kbGlua0ZvY3VzZWQtZGFyazogJGJ1dHRvbkZvY3VzZWQtZGFyaztcbiRsaW5rVGV4dFVuZm9jdXNlZDogJHRleHRDb2xvcjtcbiRsaW5rVGV4dFVuZm9jdXNlZC1kYXJrOiAkdGV4dENvbG9yLWRhcms7XG4kbGlua1VuZm9jdXNlZDogJGNhcmRCYWNrZ3JvdW5kQ29sb3I7XG4kbGlua1VuZm9jdXNlZC1kYXJrOiAkY2FyZEJhY2tncm91bmRDb2xvci1kYXJrO1xuXG4uYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9uVW5mb2N1c2VkO1xuICAgIGJveC1zaGFkb3c6IDBweCAwLjI1ZW0gMC41OGVtICRzaGFkb3dDb2xvcjtcbiAgICBib3JkZXItcmFkaXVzOiAwLjE3ZW07XG4gICAgYm9yZGVyOiAwO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWF4LXdpZHRoOiA1MGVtO1xuICAgIG1hcmdpbjogMCBhdXRvIDFlbSBhdXRvO1xuICAgIHRyYW5zaXRpb246IDAuNHM7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiAwLjRzO1xuICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cbiAgICA+ZGl2IHtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcblxuICAgICAgICA+aW1nIHtcbiAgICAgICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubGFiZWwge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICBjb2xvcjogJGJ1dHRvblRleHRDb2xvcjtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNWVtO1xuICAgICAgICBwYWRkaW5nOiAwLjVlbTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHRyYW5zaXRpb246IDAuNHM7XG4gICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogMC40cztcbiAgICB9XG5cbiAgICAmLmxpbmtCdXR0b24ge1xuICAgICAgICAubGFiZWwge1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmVcbiAgICAgICAgfVxuXG4gICAgICAgICYuYnV0dG9uRm9jdXNzZWQge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGxpbmtGb2N1c2VkO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xuXG4gICAgICAgICAgICAubGFiZWwge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkbGlua1RleHRGb2N1c2VkO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5idXR0b25CbHVycmVkIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRsaW5rVW5mb2N1c2VkO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG5cbiAgICAgICAgICAgIC5sYWJlbCB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRsaW5rVGV4dFVuZm9jdXNlZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmJ1dHRvbkZvY3Vzc2VkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9uRm9jdXNlZDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG59XG5cbi5idXR0b25CbHVycmVkIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xufVxuXG4uYnV0dG9uRm9jdXNzZWQubWVudWVuZHBvaW50IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9uRm9jdXNlZDtcbn1cblxuLmRhcmsgLmJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvblVuZm9jdXNlZC1kYXJrO1xuICAgIGJveC1zaGFkb3c6IDBweCAwLjI1ZW0gMC41OGVtICRzaGFkb3dDb2xvci1kYXJrO1xuXG4gICAgJi5saW5rQnV0dG9uIHtcbiAgICAgICAgJi5idXR0b25Gb2N1c3NlZCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlua0ZvY3VzZWQtZGFyaztcblxuICAgICAgICAgICAgLmxhYmVsIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGxpbmtUZXh0Rm9jdXNlZC1kYXJrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYuYnV0dG9uQmx1cnJlZCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlua1VuZm9jdXNlZC1kYXJrO1xuXG4gICAgICAgICAgICAubGFiZWwge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkbGlua1RleHRVbmZvY3VzZWQtZGFyaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuYnV0dG9uRm9jdXNzZWQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9uRm9jdXNlZC1kYXJrO1xuICAgIH1cbn0iLCJAaW1wb3J0IFwibG9hZGluZ1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvY29tcG9uZW50c1wiO1xuQGltcG9ydCBcIndlYi1mb250cy93ZWItZm9udHNcIjtcbkBpbXBvcnQgXCJjYXJvdXNlbFwiO1xuQGltcG9ydCBcImJ1dHRvblwiO1xuQGltcG9ydCBcImNhcmRcIjtcbkBpbXBvcnQgXCJjb2xvcnNcIjtcblxuXG5odG1sIHtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG5ib2R5IHtcbiAgLy9vdmVyZmxvdzogaGlkZGVuO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgZm9udC1mYW1pbHk6IFwiUm9ib3RvXCIsIFwiSGVsdmV0aWNhXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiBsaWdodGVyO1xuICBjb2xvcjogJHRleHRDb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmRDb2xvcjtcbiAgdHJhbnNpdGlvbjogMC40cztcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiAwLjRzO1xuXG4gICYuZGFyayB7XG4gICAgY29sb3I6ICR0ZXh0Q29sb3ItZGFyaztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZENvbG9yLWRhcms7XG4gIH1cbn1cblxuI2FuYWx5dGljcy1mcmFtZSB7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYm9yZGVyOiAwO1xufVxuXG4jbG9nLWJveCB7XG4gIHdpZHRoOiAxMDB2dztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICB6LWluZGV4OiAxMDAwMDtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAuNSk7XG4gIG92ZXJmbG93OiBzY3JvbGw7XG4gIG1pbi1oZWlnaHQ6IDI1JTtcbiAgbWF4LWhlaWdodDogNzUlO1xuICBmb250LXNpemU6IDE0cHQ7XG4gIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG4gICYuaGlkZGVuIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5sb2ctZGVidWcge1xuICAgIGNvbG9yOiAjYzFjN2M3O1xuICB9XG4gIC5sb2ctaW5mbyB7XG4gICAgY29sb3I6ICM4MGE3YzE7XG4gIH1cbiAgLmxvZy13YXJuIHtcbiAgICBjb2xvcjogI2JjYzIzYTtcbiAgfVxuICAubG9nLWVycm9yIHtcbiAgICBjb2xvcjogJHd2Y1JlZFxuICB9XG59XG5cbiNhcHAge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgb2JqZWN0IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIH1cbn1cblxuLyogTGlzdCB3aWRnZXRzICovXG4uaG9yaXpvbnRhbGxpc3QsXG4udmVydGljYWxsaXN0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uaG9yaXpvbnRhbGxpc3QgLmxpc3RpdGVtIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4vKiBuZXN0ZWQgbGlzdHMgLSB1c2UgI0lEcyBpbnN0ZWFkIGZvciBtb3JlIGNvbXBsZXggbGF5b3V0cyAqL1xuLnZlcnRpY2FsbGlzdCAuaG9yaXpvbnRhbGxpc3QgLmxpc3RpdGVtIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4udmVydGljYWxsaXN0IC5saXN0aXRlbSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi8qIG5lc3RlZCBsaXN0cyAtIHVzZSAjSURzIGluc3RlYWQgZm9yIG1vcmUgY29tcGxleCBsYXlvdXRzICovXG4uaG9yaXpvbnRhbGxpc3QgLnZlcnRpY2FsbGlzdCAubGlzdGl0ZW0ge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLyogSG9yaXpvbnRhbCBjYXJvdXNlbCB3aWRnZXRzICovXG4vKiB0aGUgbWFzayBpcyB0aGUgdG9wIGxldmVsIG9mIHRoZSBjYXJvdXNlbCBhbmQgZGVmaW5lcyB3aGVyZSBpdCBpcyBkaXNwbGF5ZWQgYW5kIGhvdyBtdWNoIGlzIHZpc2libGUgKi9cbi5ob3Jpem9udGFsbGlzdG1hc2sge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLyogZW5zdXJlIG5lc3RlZCBjYXJvdXNlbHMgaGF2ZSBjb3JyZWN0IGZvcm1hdHRpbmcsIHlvdSBtYXkgbmVlZCB0byB0YXJnZXQgSURzIGluIGNvbXBsZXggbGF5b3V0cyAqL1xuLmhvcml6b250YWxsaXN0bWFzayAuaG9yaXpvbnRhbGxpc3QgLmxpc3RpdGVtIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4uaG9yaXpvbnRhbGNhcm91c2VsIHtcbiAgd2lkdGg6IDk5OTk5cHg7XG4gIC8qIG5lZWRzIHRvIGJlIGJpZyBlbm91Z2ggc28gY2Fyb3VzZWwgcGx1cyBjbG9uZXMgZG8gbm90IGZsb3cgb250byBtb3JlIHRoZW4gb25lIGxpbmUgKi9cbn1cblxuLyogREVWSUNFIFNQRUNJRklDIERFRkFVTFRTIEVYQU1QTEUgLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi8qIGlmIHlvdSB0YXJnZXQgc29tZSBjb25zb2xlcyB5b3UgbWF5IG5lZWQgdG8gYWRkIGFkZGl0aW9uYWwgc3R5bGVzIGxpa2UgdGhpcyAqL1xuLnNvbWVDb25zb2xlcyAuaG9yaXpvbnRhbGxpc3QgLmxpc3RpdGVtIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmbG9hdDogbGVmdDtcbn1cblxuLyogU0FNUExFQVBQIEJBU0UgU1RZTEVTICovXG5cbi8qIENvcmUgKi9cblxuLyogTWFwbGUgbmVlZHMgaW5pdGlhbCBlbGVtZW50IGJhY2tncm91bmQgaW4gYmFzZSBzdHlsZXNoZWV0Li4uIG5vdCBpbiBkeW5hbWljYWxseSBsb2FkZWQgc3R5bGVzISAqL1xuLypcbi5zYW1zdW5nLmxheW91dDU0MHAgI2FwcCB7XG4gICAgd2lkdGg6IDk2MHB4O1xuICAgIGhlaWdodDogNTQwcHg7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9iYmNfYmFja2dyb3VuZF81NDAucG5nKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJlZDtcbn1cblxuLnNhbXN1bmcubGF5b3V0NzIwcCAjYXBwIHtcbiAgICB3aWR0aDogMTI4MHB4O1xuICAgIGhlaWdodDogNzIwcHg7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9iYmNfYmFja2dyb3VuZF83MjAucG5nKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xufVxuXG4uc2Ftc3VuZy5sYXlvdXQxMDgwcCAjYXBwIHtcbiAgICB3aWR0aDogMTkyMHB4O1xuICAgIGhlaWdodDogMTA4MHB4O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvYmJjX2JhY2tncm91bmRfMTA4MC5wbmcpO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG4qL1xuXG4vKiBTYW1wbGUgYXBwIHNwZWNpZmljIHN0eWxlcyAqL1xuI3RpdGxlIHtcbiAgZm9udC1zaXplOiAxNTAlO1xuICBsaW5lLWhlaWdodDogMTIwJTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luOiAyJSBhdXRvIDAgYXV0bztcbn1cblxuLmJhY2tncm91bmQtbm9uZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmUgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbn1cblxuLmRlc2NyaXB0aW9uIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjUpO1xuICB6LWluZGV4OiAxO1xuICBwYWRkaW5nOiA4cHggMHB4O1xufVxuXG4jdGVzdFBsYXllciB7XG4gIHotaW5kZXg6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwcHg7XG4gIGxlZnQ6IDBweDtcbiAgd2lkdGg6IDEyODBweDtcbiAgaGVpZ2h0OiA3MjBweDtcbn1cblxuI3BsYXllckJ1dHRvbnMge1xuICB6LWluZGV4OiAxO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZzogOHB4O1xuICBjb2xvcjogIzAwMDAwMDtcbn1cblxuI3BsYXllckJ1dHRvbnMgLmJ1dHRvbiB7XG4gIHdpZHRoOiA3NXB4O1xuICBwYWRkaW5nOiAxMHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbjogNXB4O1xufVxuXG4vKiBEaXNwbGF5ICYgVmlzaWJpbGl0eSBIZWxwZXJzICovXG4uZGlzcGxheS1ub25lIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4udmlzaWJpbGl0eS1oaWRkZW4ge1xuICB2aXNpYmlsaXR5OiBoaWRkZW4gIWltcG9ydGFudDtcbn1cblxuI3Byb2dyZXNzQmFyIHtcbiAgbWFyZ2luLXRvcDogMTAlO1xuICB3aWR0aDogNTAlO1xuICBtYXJnaW4tbGVmdDogMjUlO1xuICBtaW4taGVpZ2h0OiAxMHB4O1xuICBiYWNrZ3JvdW5kOiAjMDcwO1xufVxuXG4jcHJvZ3Jlc3NCYXJfbGVmdCB7XG4gIG1pbi1oZWlnaHQ6IDEwcHg7XG4gIGJhY2tncm91bmQ6ICM3MDA7XG59XG5cbiNwcm9ncmVzc0Jhcl9pbm5lciB7XG4gIHdpZHRoOiAxMHB4O1xuICBtaW4taGVpZ2h0OiAxMHB4O1xuICBiYWNrZ3JvdW5kOiAjNzc3O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59Il0sImZpbGUiOiJ3dmMvYXBwLmNzcyJ9 */
