*,
*:before,
*:after {
  -webkit-box-sizing: inherit;
  -moz-box-sizing: inherit;
  box-sizing: inherit;
  -webkit-touch-callout: none;
  -ms-touch-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

html {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 13px;
  font-weight: 300;
  line-height: 1.5;
  height: 100%;
}

body {
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  height: 100%;
  margin: 0;
  padding: 0;
}

body.darkroom:after {
  content: "";
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #555;
  background-color: rgba(0, 0, 0, 0.7);
}

body .darkroom-banner {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  max-height: 60px;
  min-height: 60px;
  height: 60px;
  background-color: transparent;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1;
}

body .darkroom-banner > .banner {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  max-height: 60px;
  min-height: 60px;
  height: 60px;
  max-width: 280px;
  min-width: 280px;
  width: 280px;
  background-color: #fefefe;
  border-bottom-left-radius: 6px;
  border-bottom-right-radius: 6px;
  font-size: 20px;
}

button,
input,
select,
textarea {
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 13px;
}

input {
  line-height: normal;
}

input[type='text'] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  box-shadow: none;
  -webkit-border-radius: 2px;
  -moz-border-radius: 2px;
  border-radius: 2px;
  border: 1px solid #808080;
  outline: 0;
  padding: 3px;
}

input[type='password'] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  box-shadow: none;
  -webkit-border-radius: 2px;
  -moz-border-radius: 2px;
  border-radius: 2px;
  border: 1px solid #808080;
  outline: 0;
  padding: 3px;
}

input.required {
  color: #ff0000;
}

button {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  box-shadow: none;
  -webkit-border-radius: 6px;
  -moz-border-radius: 6px;
  border-radius: 6px;
  max-height: 50px;
  min-height: 50px;
  height: 50px;
  background-color: #ffffff;
  border: 2px solid #9768EB;
  color: #9768EB;
  font-weight: 500;
  letter-spacing: 1px;
  min-width: 110px;
  outline: 0;
  padding: 0 10px;
  text-transform: uppercase;
}

button.short {
  max-height: 35px;
  min-height: 35px;
  height: 35px;
}

button.small {
  min-width: 80px;
}

button.medium {
  max-width: 150px;
  min-width: 150px;
  width: 150px;
}

button.primary,
button.blue {
  background-color: #9768EB;
  color: #ffffff;
}

button.disabled {
  color: #cdcdcd;
  border-color: #cdcdcd;
  cursor: default;
}

button:disabled {
  color: #cdcdcd;
  border-color: #cdcdcd;
  cursor: default;
}

button.resume {
  background-color: #D1404B;
  color: #ffffff;
  font-weight: bold;
}

button:focus {
  outline: 0;
}

button::-moz-focus-inner {
  border: 0;
}

button + button {
  margin-left: 8px;
}

.input-checkbox {
  color: #9768EB;
  font-size: 20px;
}

.input-checkbox.disabled {
  color: #cdcdcd;
}

.footer-content {
  /*
  @include flex(1 0 auto);
  @include flex-row-center();
  @include flex-justify-content(center);
  */
  padding: 10px 0;
  background-color: #E1E1E6;
  border-top: none;
  color: #32254F;
}

.footer-content a {
  text-decoration: none;
  color: #9768EB;
}

[ng\:cloak],
[ng-cloak],
.ng-cloak {
  display: none !important;
}

.header-content {
  -webkit-justify-content: initial;
  justify-content: initial;
  max-height: 90px;
  min-height: 90px;
  height: 90px;
}

.header-content .logo {
  max-height: 90px;
  min-height: 90px;
  height: 90px;
  max-width: 140px;
  min-width: 140px;
  width: 140px;
}

.header-content .white-field {
  -webkit-justify-content: flex-end;
  justify-content: flex-end;
  -webkit-flex: 1 0 auto;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
}

.header-content .white-field i.icon-shop {
  display: block;
  float: left;
  padding: 0px;
  margin-right: -5px;
  margin-left: 5px;
  font-size: 20px;
}

.header-content .white-field > div {
  -webkit-flex: 1 0 auto;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-justify-content: flex-end;
  justify-content: flex-end;
  max-height: 60px;
  min-height: 60px;
  height: 60px;
  margin: 0px 30px;
}

.header-content .white-field > div > div {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  padding: 10px;
  font-size: 16px;
  cursor: pointer;
}

.header-content .white-field > div > div i {
  font-size: 28px;
  display: block;
  float: left;
  margin: -1px 8px 0px 0px;
}

.header-content .white-field > div > div:hover {
  color: #11264b;
}

.header-content .white-field > div > div.current-athlete {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  border: none;
  font-size: 18px;
  font-weight: 600;
  min-width: auto;
  margin-right: auto;
}

.header-content .white-field > div > div.current-athlete span {
  cursor: pointer;
}

.header-content .white-field > div > div.current-athlete span:first-child {
  font-weight: normal;
}

.header-content .white-field > div > div.current-athlete span + span {
  margin-left: 10px;
}

.header-content .white-field > div > div.current-athlete span + span:hover {
  text-decoration: underline;
}

.header-content .white-field > div > div + div {
  margin-left: 15px;
}

.header-content .white-field > button:first-child {
  margin: 0 7px 0 25px;
}

.header-content .white-field > button:last-child {
  margin: 0 25px 0 7px;
}

.header-content .white-field > button > div {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
}

.header-content .white-field > button > div i.fa {
  font-size: 22px;
  margin-right: 4px;
}

.menu-content {
  max-height: 65px;
  min-height: 65px;
  height: 65px;
}

@media (max-width: 768px) {
  .menu-content.resp-menu {
    background: none;
    position: absolute;
    pointer-events: none;
  }
}

.body-content {
  margin: 0;
  padding: 0;
}

.red-background {
  background-color: #c42a3b;
}

.yellow-background {
  background-color: #dfc03f;
}

.green-background {
  background-color: #20b769;
}

.blue-text {
  color: #9768EB;
}

.red-text {
  color: #c42a3b;
}

.grey-text {
  color: #808080;
}

.light-grey-text {
  color: #a7a7a7;
}

.yellow-text {
  color: #dfc03f;
}

.green-text {
  color: #20b769;
}

.whitebg {
  background-color: #ffffff;
}

.greybg {
  background-color: #efefef;
}

.drkgreybg {
  background-color: #2e2e2e;
}

.bluebg {
  background-color: #9768EB;
}

.main-view {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  min-height: 100vh;
}

.view-flex {
  -webkit-flex: 1 0 auto;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
}

.view-static {
  -webkit-flex: 0 0 auto;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
}

.view-layout {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-flex: 1 0 auto;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
}

.view-stack {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-flex: 1 0 auto;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
}

.view-container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  max-width: 1024px;
  min-width: 1024px;
  width: 1024px;
}

.view-container.centered {
  -webkit-align-items: center;
  align-items: center;
}

.view-container.divided {
  -webkit-justify-content: space-between;
  justify-content: space-between;
}

.view-container.end {
  -webkit-justify-content: flex-end;
  justify-content: flex-end;
}

.view-container.wrap {
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}

.view-container.middle {
  -webkit-align-self: center;
  align-self: center;
}

.view-container.column {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
}

.view-container.column.center {
  -webkit-justify-content: center;
  justify-content: center;
}

.column-container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
}

.column-container.full {
  -webkit-flex: 1 1 auto;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
}

.column-container.top {
  -webkit-align-items: flex-start;
  align-items: flex-start;
}

.column-container.bottom {
  -webkit-align-items: flex-end;
  align-items: flex-end;
}

.column-container.center {
  -webkit-align-items: center;
  align-items: center;
}

.column-container.middle {
  -webkit-justify-content: center;
  justify-content: center;
}

.column-container.divided {
  -webkit-justify-content: space-between;
  justify-content: space-between;
}

.column-container.spaced {
  -webkit-justify-content: space-around;
  justify-content: space-around;
}

.column-container.start {
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
}

.column-container.end {
  -webkit-justify-content: flex-end;
  justify-content: flex-end;
}

.column-container.wrap {
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}

.row-container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
}

.row-container.full {
  -webkit-flex: 1 1 auto;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
}

.row-container.top {
  -webkit-align-items: flex-start;
  align-items: flex-start;
}

.row-container.bottom {
  -webkit-align-items: flex-end;
  align-items: flex-end;
}

.row-container.center {
  -webkit-align-items: center;
  align-items: center;
}

.row-container.middle {
  -webkit-justify-content: center;
  justify-content: center;
}

.row-container.divided {
  -webkit-justify-content: space-between;
  justify-content: space-between;
}

.row-container.spaced {
  -webkit-justify-content: space-around;
  justify-content: space-around;
}

.row-container.start {
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
}

.row-container.end {
  -webkit-justify-content: flex-end;
  justify-content: flex-end;
}

.row-container.wrap {
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}

.hidden {
  display: none;
}

input[type=range] {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -webkit-appearance: none;
  -webkit-tap-highlight-color: transparent;
  -moz-appearance: none;
  margin: 0;
  width: 100%;
  padding: 0;
  border-radius: 8px;
  background: transparent;
  background-image: -webkit-gradient(linear, left top, right top, color-stop(0, #9768EB), color-stop(0, #e8e8e8));
  cursor: pointer;
}

input[type=range]:focus {
  outline: none;
}

input[type=range]::-webkit-slider-thumb {
  -webkit-appearance: none;
  border: 1px solid #b4b4b4;
  height: 40px;
  width: 40px;
  border-radius: 50%;
  background: #e8e8e8;
  cursor: pointer;
  margin-top: -15px;
}

input[type=range]::-webkit-slider-runnable-track {
  width: 100%;
  height: 10px;
  cursor: pointer;
  border-radius: 8px;
  background: transparent;
}

input[type=range]::-moz-range-thumb {
  -moz-appearance: none;
  border: 1px solid #b4b4b4;
  height: 40px;
  width: 40px;
  border-radius: 50%;
  background: #e8e8e8;
  cursor: pointer;
}

input[type=range]::-moz-range-track {
  width: 100%;
  height: 10px;
  cursor: pointer;
  border-radius: 8px;
  background: transparent;
}

input[type=range]::-moz-focus-outer {
  border: 0;
  outline: 0;
}

input[type=range]::-ms-track {
  width: 100%;
  height: 10px;
  cursor: pointer;
  background: transparent;
  border-color: transparent;
  border-width: 16px 0;
  color: transparent;
}

input[type=range]::-ms-thumb {
  border: 1px solid #b4b4b4;
  height: 40px;
  width: 40px;
  border-radius: 50%;
  background: #e8e8e8;
  cursor: pointer;
}

input[type=range]::-ms-tooltip {
  display: none;
}

input[type=range]::-ms-fill-lower {
  background: #9768EB;
  border: 0.2px solid #9768EB;
  border-radius: 8px;
}

input[type=range]::-ms-fill-upper {
  background: #e8e8e8;
  border: 0.2px solid #e8e8e8;
  border-radius: 8px;
}

input[type=range]:focus::-ms-fill-lower {
  background: #9768EB;
}

input[type=range]:focus::-ms-fill-upper {
  background: #e8e8e8;
}

.program-exercise.daily-exercise {
  width: 100% !important;
  min-width: 100% !important;
  max-width: 100% !important;
  padding: 20px;
  gap: 10px;
}

.program-exercise.daily-exercise .daily-exercise-actions {
  min-width: 54px !important;
  max-width: 54px !important;
  width: 54px !important;
}

.program-exercise.daily-exercise .info .attributes {
  gap: 10px;
}

.program-exercise.daily-exercise .info .attributes > div {
  margin: 0 !important;
}

.modal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1000;
  overflow: hidden;
  background-color: #c4c4c4;
  background-color: rgba(196, 196, 196, 0.7);
}

.modal-overlay.ng-enter,
.modal-overlay.ng-leave {
  -webkit-transition: .2s linear all;
  -moz-transition: .2s linear all;
  -o-transition: .2s linear all;
  transition: .2s linear all;
}

.modal-overlay.ng-enter,
.modal-overlay.ng-leave.ng-leave-active {
  opacity: 0;
}

.modal-overlay.ng-enter.ng-enter-active,
.modal-overlay.ng-leave {
  opacity: 1;
}

.modal-view {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1001;
  overflow: hidden;
  pointer-events: none;
}

.modal-view .modal {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-justify-content: center;
  justify-content: center;
  min-height: 100px;
  min-width: 200px;
  pointer-events: auto;
  -webkit-transition: .2s linear all;
  -moz-transition: .2s linear all;
  -o-transition: .2s linear all;
  transition: .2s linear all;
}

.modal-view .modal.ng-leave {
  transform: translateY(0%);
}

.modal-view .modal.ng-leave.ng-leave-active {
  transform: translateY(-200%);
}

.modal-view.ng-enter .modal {
  transform: translateY(-200%);
}

.modal-view.ng-enter.ng-enter-active .modal {
  transform: translateY(0);
}

.modal-animate-container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-justify-content: center;
  justify-content: center;
  max-width: 770px;
  min-width: 770px;
  width: 770px;
  overflow: hidden;
}

.modal-animate-container > .modal-container {
  -webkit-flex: 1 0 auto;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
  -webkit-transition: .125s linear all;
  -moz-transition: .125s linear all;
  -o-transition: .125s linear all;
  transition: .125s linear all;
}

.modal-animate-container > .modal-container.ng-leave.slide-left {
  transform: translateX(0px);
}

.modal-animate-container > .modal-container.ng-leave.slide-right {
  transform: translateX(0px);
}

.modal-animate-container > .modal-container.ng-leave.ng-leave-active.slide-left,
.modal-animate-container > .modal-container.ng-hide-add.slide-left {
  transform: translateX(-100%);
}

.modal-animate-container > .modal-container.ng-leave.ng-leave-active.slide-right,
.modal-animate-container > .modal-container.ng-hide-add.slide-right {
  transform: translateX(100%);
}

.modal-animate-container > .modal-container.ng-enter.slide-left,
.modal-animate-container > .modal-container.ng-hide-remove.slide-left {
  transform: translateX(-100%);
}

.modal-animate-container > .modal-container.ng-enter.slide-right,
.modal-animate-container > .modal-container.ng-hide-remove.slide-right {
  transform: translateX(100%);
}

.modal-animate-container > .modal-container.ng-enter.ng-enter-active.slide-left {
  transform: translateX(0px);
}

.modal-animate-container > .modal-container.ng-enter.ng-enter-active.slide-right {
  transform: translateX(0px);
}

.modal-container {
  background-color: #ffffff;
  border-radius: 8px;
  box-shadow: 8px 8px 20px 0px #4a4a4a;
}

.modal-container.large {
  width: 970px;
}

.modal-container header {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  position: relative;
  border-top-left-radius: 8px;
  border-top-right-radius: 6px;
}

.modal-container header button.link {
  position: absolute;
  top: 0;
  right: 0;
  border: none;
  min-height: 30px;
  line-height: 20px;
  font-size: 12px;
}

.modal-container header button.link i.left {
  margin-right: 5px;
}

.modal-container header.alert {
  background-color: #c42a3b;
  color: #ffffff;
}

.modal-container header.confirm {
  background-color: #9768EB;
  color: #ffffff;
}

.modal-container header label {
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  font-size: 16px;
  margin-left: 10px;
  text-align: center;
}

.modal-container header label i.fa {
  margin: 0 4px;
}

.modal-container header label span {
  font-weight: 500;
}

.modal-container header .close {
  background-color: transparent;
  border: none;
  color: #000;
  font-size: 16px;
  font-weight: 700;
  margin: 0 8px;
  min-width: 0;
  opacity: .2;
  text-shadow: 0 1px 0 #ccc;
  text-transform: none;
}

.modal-container header .close:hover {
  cursor: pointer;
  opacity: 1;
}

.modal-container section {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  margin: 0 10px;
  min-height: 80px;
  min-width: 300px;
}

.modal-container footer {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: flex-end;
  justify-content: flex-end;
}

.modal-container footer button:last-of-type {
  margin-right: 8px;
}

.loading-view {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  position: fixed;
  z-index: 99;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #f9f9f9;
  background-color: rgba(125, 125, 125, 0.5);
}

.loading-view .loading-container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  min-height: 200px;
  min-width: 200px;
}

.loading-view .loading-container .fa-spinner {
  color: #fff;
  font-size: 60px;
}

.athlete-selection {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  background-color: #efefef;
}

.athlete-selection > div {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  border-right: 1px solid #ccc;
  color: #cbcbcb;
  cursor: default;
  font-size: 14px;
  min-width: 200px;
  padding: 0 10px;
}

.athlete-selection > div.active {
  background-color: #dbdbdb;
  color: #75787b;
}

.athlete-selection > div.active .status {
  color: #9768EB;
}

.athlete-selection > div.active .close {
  cursor: pointer;
}

.athlete-selection > div:not(.active):hover {
  background-color: #dbdbdb;
  color: #75787b;
  cursor: pointer;
}

.athlete-selection > div .status {
  font-size: 8px;
  min-width: 25px;
  max-width: 25px;
  text-align: center;
}

.athlete-selection > div .name {
  -webkit-flex: 1 0 auto;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
}

.athlete-selection > div .close {
  font-size: 18px;
  font-weight: 400;
  min-width: 25px;
  max-width: 25px;
  text-align: center;
}

.athlete-selection > div.team-nav {
  -webkit-justify-content: center;
  justify-content: center;
  background-color: #9768EB;
  color: #ffffff;
  font-size: 20px;
  font-weight: 200;
  line-height: 30px;
  min-width: 65px;
  padding: 0;
  border: 0;
}

.athlete-selection > div.team-nav:hover {
  cursor: pointer;
  color: #ffffff;
  background-color: #9768EB;
}

.athlete-container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  margin-bottom: 35px;
}

.athlete-menu {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  max-height: 48px;
  min-height: 48px;
  height: 48px;
  border-top: 1px solid #ccc;
  font-size: 13px;
  width: 100%;
}

.athlete-menu .athlete-search {
  -webkit-flex: 1 0 auto;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
  border-right: 1px solid #cdcdcd;
  width: 140px;
}

.athlete-menu .athlete-search input[type='text'] {
  border: none;
  font-size: 20px;
  font-weight: 300;
  height: 50px;
  text-indent: 15px;
  width: 95%;
}

.athlete-menu .athlete-search ::-webkit-input-placeholder {
  color: #6d6e72;
}

.athlete-menu .athlete-reset-view {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-flex: 1 0 100px;
  -ms-flex: 1 0 100px;
  flex: 1 0 100px;
  max-width: 100px;
  min-width: 100px;
  width: 100px;
  border-right: 1px solid #ccc;
  cursor: pointer;
  color: #6d6e72;
}

.athlete-menu .athlete-reset-view:hover {
  color: #cdcdcd;
}

.athlete-menu .athlete-toggle-view {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-flex: 1 0 100px;
  -ms-flex: 1 0 100px;
  flex: 1 0 100px;
  max-width: 100px;
  min-width: 100px;
  width: 100px;
  font-size: 23px;
}

.athlete-menu .athlete-toggle-view > i {
  cursor: pointer;
  margin: 8px;
  color: #cdcdcd;
}

.athlete-menu .athlete-toggle-view > i:hover {
  color: #6d6e72;
}

.athlete-menu .athlete-toggle-view > i.active {
  color: #9768EB;
}

.athlete-menu .athlete-mobile-filters-btn {
  display: none;
}

.athlete-menu .athlete-filter-sort {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-flex: 1 0 auto;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
  min-width: 600px;
}

.athlete-menu .athlete-filter-sort > .athlete-sort-box {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-flex: 1 1 auto;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
  border-right: 1px solid #ccc;
  color: #6d6e72;
  cursor: pointer;
  min-width: 110px;
  position: relative;
}

.athlete-menu .athlete-filter-sort > .athlete-sort-box .label {
  max-height: 50px;
  min-height: 50px;
  height: 50px;
  max-width: 110px;
  width: 110px;
  padding: 15px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  color: #6d6e72;
}

.athlete-menu .athlete-filter-sort > .athlete-sort-box .label:after {
  position: absolute;
  top: 35%;
  right: 10px;
  font-family: FontAwesome;
  content: "\F0D7";
  color: #6d6e72;
}

.athlete-menu .athlete-filter-sort > .athlete-sort-box .options {
  position: absolute;
  top: 52px;
  left: -1px;
  background-color: #f6f1f1;
  border: 1px solid #ebebeb;
  box-shadow: 0 2px 5px 0 rgba(68, 67, 76, 0.25);
  min-width: 130px;
  width: 100%;
  z-index: 3;
}

.athlete-menu .athlete-filter-sort > .athlete-sort-box .options .options-item {
  padding: 5px 10px 5px 14px;
  white-space: nowrap;
}

.athlete-menu .athlete-filter-sort > .athlete-sort-box .options .options-item:hover {
  background-color: #dedfde;
}

.athlete-menu .athlete-filter-sort > .athlete-sort-box .options .options-item-selected {
  font-weight: bold;
  padding-left: 3px;
}

.athlete-menu .athlete-filter-sort > .athlete-sort-box .options .sort-item-selected {
  font-weight: bold;
}

.athlete-menu .athlete-filter-sort > .athlete-sort-box .fa-circle {
  margin-left: 7px;
  margin-right: 3px;
  text-align: center;
}

.athlete-menu .athlete-filter-sort > .athlete-sort-box .fa-circle.not-active {
  color: transparent;
}

.athlete-menu .athlete-filter-sort > .athlete-sort-box .fa-sort-asc {
  margin-left: 4px;
  margin-right: 3px;
  margin-top: 4px;
  text-align: center;
}

.athlete-menu .athlete-filter-sort > .athlete-sort-box .fa-sort-desc {
  margin-bottom: 4px;
  margin-left: 3px;
  margin-right: 4px;
  text-align: center;
}

@media (max-width: 768px) {
  body .athlete-menu {
    flex-wrap: wrap;
    height: auto;
    min-height: 0;
    max-height: none;
  }

  body .athlete-menu .athlete-mobile-filters-btn {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    align-items: center;
    order: 2;
    height: 48px;
    padding: 0 14px;
    gap: 7px;
    cursor: pointer;
    border-left: 1px solid #ccc;
    font-size: 13px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: #6d6e72;
  }

  body .athlete-menu .athlete-search {
    order: 1;
    height: 48px;
    min-width: 0;
  }

  body .athlete-menu .athlete-toggle-view {
    order: 3;
    min-width: unset;
    max-width: 70px;
    width: 70px;
    height: 48px;
  }

  body .athlete-menu .athlete-filter-sort {
    display: none !important;
    order: 4;
    width: 100%;
    min-width: unset;
    border-top: 1px solid #ccc;
  }

  body .athlete-menu .athlete-filter-sort.mobile-open {
    display: -webkit-flex !important;
    display: -ms-flexbox !important;
    display: flex !important;
    flex-direction: column;
    background-color: #fff;
    overflow: visible;
  }

  body .athlete-menu .athlete-filter-sort > .athlete-sort-box {
    height: 50px;
    min-height: 50px;
    max-height: none;
    min-width: unset;
    padding: 0;
    border-right: none;
    border-bottom: 1px solid #eee;
    overflow: visible;
    position: relative;
  }

  body .athlete-menu .athlete-filter-sort > .athlete-sort-box:last-child {
    border-bottom: none;
  }

  body .athlete-menu .athlete-filter-sort > .athlete-sort-box::after {
    position: absolute;
    top: 50%;
    right: 15px;
    transform: translateY(-50%);
    font-family: FontAwesome;
    content: "\F0D7";
    color: #6d6e72;
    font-size: 13px;
    pointer-events: none;
  }

  body .athlete-menu .athlete-filter-sort > .athlete-sort-box div.label {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: auto;
    max-width: none;
    height: auto;
    min-height: 0;
    max-height: none;
    display: flex;
    align-items: center;
    overflow: visible;
    padding: 0 30px 0 20px;
    font-size: 13px;
    font-weight: 400;
    cursor: pointer;
  }

  body .athlete-menu .athlete-filter-sort > .athlete-sort-box div.label::after {
    content: none;
  }

  body .athlete-menu .athlete-filter-sort > .athlete-sort-box .label-placeholder[data-field-name] {
    font-size: 0;
    padding-right: 30px !important;
  }

  body .athlete-menu .athlete-filter-sort > .athlete-sort-box .label-placeholder[data-field-name]::before {
    content: attr(data-field-name) ":";
    font-size: 13px;
    font-weight: 400;
    color: #6d6e72;
    flex-grow: 1;
    flex-shrink: 0;
  }

  body .athlete-menu .athlete-filter-sort > .athlete-sort-box .label-placeholder[data-field-name]::after {
    content: 'All';
    font-size: 13px;
    font-weight: 400;
    color: #6d6e72;
    position: static;
  }

  body .athlete-menu .athlete-filter-sort > .athlete-sort-box .label[data-sort-value] {
    font-size: 0;
    padding-right: 30px !important;
  }

  body .athlete-menu .athlete-filter-sort > .athlete-sort-box .label[data-sort-value]::before {
    content: attr(data-field-name) ":";
    font-size: 13px;
    font-weight: 400;
    color: #6d6e72;
    flex-grow: 1;
    flex-shrink: 0;
  }

  body .athlete-menu .athlete-filter-sort > .athlete-sort-box .label[data-sort-value]::after {
    content: attr(data-sort-value);
    font-size: 13px;
    font-weight: 400;
    color: #6d6e72;
    font-family: inherit;
    position: static;
  }

  body .athlete-menu .athlete-filter-sort > .athlete-sort-box .options {
    top: 50px;
    left: 0;
    z-index: 100;
    min-width: 100%;
  }

  body .athlete-menu .athlete-reset-view {
    order: 5;
    display: none;
    width: 100%;
    min-width: unset;
    max-width: unset;
    min-height: 50px;
    max-height: 50px;
    height: 50px;
    border-left: none;
    border-right: none;
    border-top: 1px solid #ccc;
  }

  body .athlete-menu--filters-open .athlete-reset-view {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
  }

  body .label[data-field-name]:not(.label-placeholder):not([data-sort-value])::before {
    content: attr(data-field-name) ":";
    font-size: 13px;
    font-weight: 400;
    color: #6d6e72;
    flex-grow: 1;
    flex-shrink: 0;
  }
}

.athlete-list-view {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
}

.athlete-list-view .athlete-list-scroll {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  width: 100%;
}

.athlete-list-view .athlete-header {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-align-content: center;
  align-content: center;
  font-size: 12px;
  background-color: #e1e1e1;
}

.athlete-list-view .athlete-header > div {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  max-height: 35px;
  min-height: 35px;
  height: 35px;
  background-color: #e1e1e1;
  color: #6d6e72;
  text-transform: uppercase;
  font-weight: 600;
}

.athlete-list-view .athlete-header .athlete-number {
  min-width: 70px;
}

.athlete-list-view .athlete-header .athlete-name {
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  min-width: 170px;
}

.athlete-list-view .athlete-header .athlete-stat {
  -webkit-flex: 0.5;
  -ms-flex: 0.5;
  flex: 0.5;
  min-width: 100px;
}

.athlete-list-view .athlete-header .athlete-programs {
  min-width: 140px;
}

.athlete-list-view .athlete-header .athlete-last-activity {
  min-width: 170px;
}

.athlete-list-view .athlete-row {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-align-content: center;
  align-content: center;
  font-size: 20px;
}

.athlete-list-view .athlete-row > div {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  max-height: 53px;
  min-height: 53px;
  height: 53px;
}

.athlete-list-view .athlete-row .athlete-number {
  color: #939497;
  min-width: 70px;
  padding-left: 20px;
}

.athlete-list-view .athlete-row .athlete-name {
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  color: #f7f7f7;
  min-width: 170px;
  cursor: pointer;
}

.athlete-list-view .athlete-row .athlete-stat {
  -webkit-flex: 0.5;
  -ms-flex: 0.5;
  flex: 0.5;
  -webkit-justify-content: center;
  justify-content: center;
  letter-spacing: 1.25px;
  min-width: 100px;
}

.athlete-list-view .athlete-row .athlete-programs {
  -webkit-justify-content: center;
  justify-content: center;
  font-size: 13px;
  min-width: 140px;
  text-transform: uppercase;
}

.athlete-list-view .athlete-row .athlete-programs > div {
  cursor: pointer;
}

.athlete-list-view .athlete-row .athlete-programs i {
  padding-right: 12px;
}

.athlete-list-view .athlete-row .athlete-last-activity {
  -webkit-justify-content: center;
  justify-content: center;
  font-size: 13px;
  min-width: 170px;
  text-transform: uppercase;
}

.athlete-list-view .athlete-row:nth-child(even) > div {
  background-color: #fefefe;
}

.athlete-list-view .athlete-row:nth-child(even) .athlete-number,
.athlete-list-view .athlete-row:nth-child(even) .athlete-name {
  background-color: #2e2e2e;
}

.athlete-list-view .athlete-row:nth-child(odd) > div {
  background-color: #efefef;
}

.athlete-list-view .athlete-row:nth-child(odd) .athlete-number,
.athlete-list-view .athlete-row:nth-child(odd) .athlete-name {
  background-color: #242424;
}

.athlete-dashboard-layout {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  background-color: #eef0ef;
}

.athlete-dashboard-layout .athlete-dashboard-layout-side {
  -webkit-flex: 0.1;
  -ms-flex: 0.1;
  flex: 0.1;
}

.athlete-dashboard {
  font-size: 12px;
  margin-bottom: 20px;
  margin-top: 15px;
}

.athlete-dashboard .athlete-dashboard-menu {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  min-height: 85px;
  padding-left: 10px;
  width: 990px;
}

.athlete-dashboard .athlete-dashboard-menu > div {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  margin-right: 35px;
  text-transform: uppercase;
}

.athlete-dashboard .athlete-dashboard-menu > div > span:first-child {
  font-size: 18px;
  margin-right: 7px;
}

.athlete-dashboard .athlete-dashboard-menu > div > span:first-child > i:last-child {
  font-size: 13px;
}

.athlete-dashboard .athlete-dashboard-container {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 20px;
  width: 100%;
}

.athlete-dashboard .athlete-dashboard-container .athlete-info-box {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  height: auto;
  min-height: 0;
  max-height: none;
  min-width: 0;
  width: calc((100% - 40px) / 3);
  background-color: #ffffff;
}

.athlete-dashboard .athlete-dashboard-container .athlete-add-slot {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  flex: 1 0 100%;
  margin-top: 10px;
}

.athlete-dashboard .athlete-dashboard-container .athlete-add-slot button i {
  font-size: 18px;
  margin-right: 8px;
  vertical-align: middle;
}

.athlete-dashboard .athlete-dashboard-container .athlete-info-box > div {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  width: 100%;
}

.athlete-dashboard-actions {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  flex-wrap: wrap;
  margin-top: 35px;
}

.athlete-dashboard-actions .action {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  cursor: pointer;
  margin-bottom: 8px;
}

.athlete-dashboard-actions .action .action-icon {
  font-size: 36px;
  margin-right: 5px;
}

.athlete-dashboard-actions .action .action-text {
  text-transform: uppercase;
  font-size: 12px;
  font-weight: bold;
  letter-spacing: 1px;
  margin-right: 20px;
  white-space: nowrap;
}

.athlete-info-box .bio-header {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-flex: 1 0 40px;
  -ms-flex: 1 0 40px;
  flex: 1 0 40px;
  max-height: 45px;
  min-height: 45px;
  height: 45px;
  background-color: #9768EB;
  color: #ffffff;
  font-size: 18px;
  font-weight: 500;
  cursor: pointer;
}

.athlete-info-box .bio-header .athlete-number {
  margin-left: 15px;
}

.athlete-info-box .bio-header .athlete-name {
  margin-left: 15px;
}

.athlete-info-box .bio-header .athlete-number + .athlete-name {
  margin-left: 10px;
}

.athlete-info-box .bio-header:hover {
  background-color: rgba(17, 38, 75, 0.85);
}

.athlete-info-box .bio-body {
  -webkit-flex: 1 1 100%;
  -ms-flex: 1 1 100%;
  flex: 1 1 100%;
  padding: 17px;
}

.athlete-info-box .bio-body > div {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-flex: 1 0 auto;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
}

.athlete-info-box .bio-body .athlete-profile {
  -webkit-align-items: center;
  align-items: center;
  max-width: 120px;
}

.athlete-info-box .bio-body .athlete-profile .profile-pic-thumb {
  position: relative;
  width: 100px;
  height: 100px;
  overflow: hidden;
}

.athlete-info-box .bio-body .athlete-profile .profile-pic {
  border: 1px solid #ccc;
  height: 130px;
  margin: 0 0 10px;
  width: 120px;
  cursor: pointer;
}

.athlete-info-box .bio-body .athlete-profile .profile-pic img {
  position: absolute;
  left: 50%;
  top: 50%;
  height: 100%;
  width: auto;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

.athlete-info-box .bio-body .athlete-profile .athlete-position {
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .5px;
}

.athlete-info-box .bio-body .athlete-profile .athlete-weight {
  font-size: 12px;
  text-transform: uppercase;
}

.athlete-info-box .bio-body .athlete-stats {
  padding-left: 15px;
}

.athlete-info-box .bio-body .athlete-stats .athlete-score {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  font-size: 14px;
  line-height: 10px;
}

.athlete-info-box .bio-body .athlete-stats .athlete-score-tl-data {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  font-size: 20px;
  line-height: 10px;
  padding-top: 10px;
}

.athlete-info-box .bio-body .athlete-stats .test-type {
  border-bottom: 1px solid #ccc;
  font-size: 22px;
  line-height: 22px;
  min-height: 30px;
}

.athlete-info-box .bio-body .athlete-stats .test-score {
  font-size: 40px;
  line-height: 40px;
  min-height: 50px;
  text-align: center;
}

.athlete-info-box .bio-footer {
  -webkit-flex: 1 0 50px;
  -ms-flex: 1 0 50px;
  flex: 1 0 50px;
  background-color: #f5f5f5;
  max-height: 50px;
}

.athlete-info-box .bio-footer > div {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-flex: 1 0 50%;
  -ms-flex: 1 0 50%;
  flex: 1 0 50%;
  font-size: 12px;
  text-transform: uppercase;
  cursor: pointer;
  color: #6d6e72;
  letter-spacing: 0.6px;
}

.athlete-info-box .bio-footer > div i {
  font-size: 13px;
  margin-right: 8px;
}

.athlete-info-box .bio-footer > div i.icon-test {
  font-size: 18px;
}

.athlete-info-box .bio-footer > div:hover {
  background-color: #E8E8E8;
  color: #9768EB;
}

.athlete-info-box .bio-footer > div + div {
  border-left: 1px solid #E8E8E8;
}

.profile-menu {
  -webkit-align-items: flex-end;
  align-items: flex-end;
  max-height: 65px;
  min-height: 65px;
  height: 65px;
}

.menu-item + .menu-item {
  margin-left: 45px;
}

.menu-item {
  max-height: 40px;
  min-height: 40px;
  height: 40px;
  color: #a0a4a8;
  cursor: default;
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  position: relative;
  letter-spacing: 1px;
}

.menu-item.active {
  border-bottom: 4px solid #9768EB;
  color: #efefef;
}

.menu-item:not(.active):hover {
  border-bottom: 4px solid #a0a4a8;
  cursor: pointer;
}

.menu-item a {
  max-height: 40px;
  min-height: 40px;
  height: 40px;
  border: none;
  color: inherit;
  display: inline-block;
  outline: none;
  text-decoration: none;
}

.menu-item span.marker {
  position: absolute;
  top: 0;
  right: -30px;
  width: 23px;
  height: 22px;
  background-color: #ff0000;
  border-radius: 50%;
  text-align: center;
}

.profile-detail {
  max-width: 210px;
  min-width: 210px;
  width: 210px;
}

@media (max-width: 768px) {
  .profile-detail.profile-detail {
    display: none;
  }
}

.profile-detail .data-emphasis {
  font-weight: 600;
}

.profile-detail .profile-pic {
  max-height: 175px;
  min-height: 175px;
  height: 175px;
  max-width: 200px;
  min-width: 200px;
  width: 200px;
  overflow: hidden;
}

.profile-detail .profile-pic img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.profile-detail .profile-action {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  background-color: #9768EB;
  color: #ffffff;
  height: 50px;
  width: 200px;
  cursor: pointer;
}

.profile-detail .profile-action i {
  font-size: 17px;
  margin-right: 5px;
}

.profile-detail .profile-action span {
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
}

.profile-detail .profile-action.invisible {
  visibility: hidden;
}

.profile-detail .profile-data-container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  font-size: 14px;
  margin-top: 15px;
}

.profile-detail .profile-data-container .profile-data > span:first-child {
  margin-right: 5px;
}

.profile-detail .profile-group-container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  font-size: 14px;
  margin-top: 15px;
}

.profile-detail .profile-group-container .group-container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  background-color: #D9DAD9;
  border: 0;
  border-radius: 6px;
  margin: 6px 0 0;
  height: 30px;
  width: 115px;
  position: relative;
}

.profile-detail .profile-group-container .group-container .group-icon {
  border: 1px solid #999;
  margin-right: 8px;
  height: 16px;
  width: 12px;
}

.profile-detail .profile-group-container .group-container .group-save {
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  background-color: #9768EB;
  color: #fff;
}

.profile-detail .profile-group-container .group-container .group-close {
  position: absolute;
  right: 5px;
  cursor: pointer;
  font-size: 22px;
}

.profile-data-container.mobile-profile-data {
  display: none;
}

@media (max-width: 768px) {
  .profile-data-container.mobile-profile-data {
    display: block;
  }
}

.profile-group-container.mobile-profile-group {
  display: none;
}

@media (max-width: 768px) {
  .profile-group-container.mobile-profile-group {
    display: block;
  }
}

@media (max-width: 768px) {
  .resp-month-view {
    flex-direction: column;
  }
}

@media (max-width: 600px) {
  .resp-score-today {
    flex-direction: column-reverse;
  }
}

@media only screen and (max-width: 600px) {
  body .profile-summary > .row-container.divided.resp-score-today > div + div {
    padding-left: 0;
  }
}

@media only screen and (max-width: 768px) {
  body .profile-summary {
    padding-left: 0px !important;
  }
}

.profile-summary {
  max-width: 780px;
  min-width: 780px;
  width: 780px;
}

.profile-summary .mobile-pic {
  display: none;
}

@media (max-width: 768px) {
  .profile-summary .mobile-pic {
    display: block;
    flex-shrink: 0;
    align-self: flex-start;
    margin-right: 16px;
  }

  .profile-summary .mobile-pic img {
    display: block;
    width: 120px;
    height: auto;
    aspect-ratio: 200 / 175;
    object-fit: contain;
  }
}

.profile-summary .profile-name {
  margin-bottom: 5px;
}

.profile-summary .profile-name > div {
  font-size: 24px;
  margin-right: 6px;
}

.profile-summary .profile-activity {
  margin-bottom: 10px;
  color: #999;
  font-size: 13px;
}

@media (max-width: 768px) {
  .profile-summary .profile-activity {
    flex-direction: column;
  }
}

.profile-summary .profile-activity > div:nth-child(n+2):before {
  color: #ccc;
  content: '|';
  margin: 0 9px;
}

@media (max-width: 768px) {
  .profile-summary .profile-activity > div:nth-child(n+2):before {
    margin: 0;
    content: '';
  }
}

.profile-summary .profile-activity > div > span:first-child {
  margin-right: 6px;
}

.profile-summary .profile-activity .blue-text {
  cursor: pointer;
}

.profile-summary .score-label {
  font-size: 12px;
  font-weight: 600;
  margin: 20px 0 10px;
  min-height: 20px;
  text-transform: uppercase;
}

.profile-summary .score-container {
  max-width: 380px;
  min-width: 380px;
  width: 380px;
  background-color: #ffffff;
  border: 1px solid #efefef;
  border-radius: 8px;
  padding-top: 20px;
}

.profile-summary .score-container .profile-score {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-flex: 1 1 auto;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
  max-height: 85px;
  min-height: 85px;
  height: 85px;
  max-width: 330px;
  min-width: 330px;
  width: 330px;
}

.profile-summary .score-container .profile-score.label-only {
  max-height: 65px;
  min-height: 65px;
  height: 65px;
}

.profile-summary .score-container .profile-score .profile-score-info {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  font-size: 15px;
}

.profile-summary .score-container .profile-score .profile-score-info .profile-score-name {
  letter-spacing: .25px;
  font-size: 16px;
  color: #AEAEAE;
  font-weight: 500;
}

.profile-summary .score-container .profile-score .profile-score-info .profile-score-date {
  font-size: 14px;
  font-weight: 500;
  line-height: 25px;
  color: #AEAEAE;
}

.profile-summary .score-container .profile-score .profile-score-graph-canvas {
  max-height: 60px;
  min-height: 60px;
  height: 60px;
  max-width: 330px;
  min-width: 330px;
  width: 330px;
}

.profile-summary .score-container .profile-score .profile-score-label {
  color: #9768EB;
  font-size: 22px;
  font-weight: 400;
  margin-left: auto;
  text-align: right;
}

.profile-summary .score-container .profile-score .profile-score-label .profile-tl-change {
  color: #9768EB;
  font-size: 12px;
  margin-left: auto;
  text-align: right;
}

.profile-summary .today-label {
  font-size: 12px;
  font-weight: 600;
  margin: 20px 0 10px;
  min-height: 20px;
  text-transform: uppercase;
}

.profile-summary .today-program {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  max-height: 80px;
  min-height: 80px;
  height: 80px;
  max-width: 380px;
  min-width: 380px;
  width: 380px;
  background-color: #ffffff;
  border: 1px solid #efefef;
  border-radius: 8px;
  margin-bottom: 7px;
  padding: 0 6px;
  cursor: pointer;
}

.profile-summary .today-program > div {
  margin-left: 10px;
}

.profile-summary .today-program > div:first-child {
  color: #ccc;
  font-size: 22px;
}

.profile-summary .today-program div.icon-checkbox-checked {
  color: #AFB0AE;
}

.profile-summary .today-program div.icon-checkbox-checked.blue-check {
  color: #9768EB;
}

.profile-summary .today-program .program {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  font-size: 16px;
  font-weight: 500;
}

.profile-summary .today-program .program .light-grey-text {
  color: #AFB1B3;
}

.profile-summary .today-notice {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-justify-content: center;
  justify-content: center;
  max-height: 80px;
  min-height: 80px;
  height: 80px;
  background-color: #ffffff;
  border: 1px solid #efefef;
  border-radius: 8px;
  margin-bottom: 7px;
  padding: 0 6px;
}

.profile-summary .today-notice > div {
  margin-left: 20px;
}

.profile-summary .today-notice .notice {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  padding-bottom: 6px;
  font-size: 14px;
  font-weight: 500;
}

.profile-summary .today-notice .notice-button > button {
  max-height: 30px;
  min-height: 30px;
  height: 30px;
  font-size: 12px;
  font-weight: 600;
}

.profile-summary .today-notice.yellow {
  background-color: #dfc03f;
}

.profile-summary .today-notice.yellow .notice {
  color: #fefefe;
}

.profile-summary .today-notice.yellow .notice-button > button {
  background-color: #ceb74e;
  border-color: transparent;
  color: #fefefe;
}

.spaced-top-large {
  margin-top: 45px;
}

.spaced-bottom-medium {
  margin-bottom: 35px;
}

.burger {
  display: none;
  font-size: 26px;
  cursor: pointer;
  color: #2e2e2e;
  padding: 0;
  margin: 0;
  line-height: 1;
  padding-bottom: 7px;
  pointer-events: auto;
}

.menu-mobile {
  pointer-events: auto;
}

.menu-desktop {
  display: flex;
}

.menu-mobile {
  position: absolute;
  top: 60px;
  left: 0;
  right: 0;
  background: #1c1c1c;
  display: flex;
  flex-direction: column;
  padding: 10px 0;
  z-index: 1000;
}

.menu-mobile .menu-item {
  padding: 15px 20px;
  border-bottom: 1px solid #333;
  margin-left: 0;
}

.menu-divider {
  height: 1px;
  background: #333;
  margin: 10px 0;
}

/* MOBILE BREAKPOINT */

@media (max-width: 768px) {
  .menu-desktop {
    display: none;
  }

  .burger {
    display: block;
  }

  .menu-mobile {
    display: flex;
    width: 100vw;
  }

  .profile-menu {
    width: unset !important;
    justify-content: center;
    align-items: center;
    max-height: 59px;
    height: 59px;
    min-height: 59px;
  }
}

.athlete-nav {
  display: none;
  position: relative;
}

@media (max-width: 768px) {
  .athlete-nav {
    display: block;
    padding: 8px 0 4px;
  }
}

.athlete-nav__burger {
  font-size: 26px;
  cursor: pointer;
  color: #2e2e2e;
  line-height: 1;
  margin-left: 15px;
}

.athlete-nav__dropdown {
  position: absolute;
  top: 100%;
  left: 0;
  background: #1c1c1c;
  z-index: 1000;
  min-width: 150px;
}

.athlete-nav__item {
  padding: 14px 20px;
  color: #a0a4a8;
  cursor: pointer;
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  border-bottom: 1px solid #333;
  white-space: nowrap;
}

.athlete-nav__item.active {
  color: #efefef;
}

.athlete-nav__item:hover {
  color: #efefef;
}

.catalog-feature {
  position: relative;
  background-color: #cfcfcf;
  height: 400px;
}

.catalog-feature .feature-container {
  background-size: cover;
  background-position-x: center;
  background-position-y: top;
  min-height: 400px;
  position: relative;
}

.catalog-feature .feature-container.running-man {
  background-image: url("/images/program_catalog_background.png");
}

.catalog-feature .feature-container.running-man .feature-content {
  line-height: 0.9;
  width: 400px;
}

.catalog-feature .feature-container.running-man .message-text {
  font-size: 24px;
  margin-top: 15px;
}

.catalog-feature .feature-container .feature-content {
  position: absolute;
  top: 40px;
  left: 80px;
  width: 400px;
  color: #efefef;
  font-weight: 300;
  line-height: 0.95;
}

.catalog-feature .feature-container .feature-content h2 {
  margin: 0;
  padding: 0;
  font-weight: 300;
}

.catalog-feature .feature-container .feature-content p {
  margin: 0;
  padding: 0;
}

.catalog-feature .feature-container .feature-content h2,
.catalog-feature .feature-container .feature-content .title-text {
  font-size: 55px;
  text-transform: uppercase;
}

.catalog-feature .feature-container .feature-content p,
.catalog-feature .feature-container .feature-content .message-text {
  margin-top: 2px;
  font-size: 18px;
  line-height: 1.3;
}

.catalog-feature .feature-container .feature-button {
  position: absolute;
  bottom: 35px;
  left: 80px;
  color: #efefef;
  font-weight: 300;
}

.catalog-feature .markers {
  position: absolute;
  bottom: 0;
  height: 40px;
  width: 100%;
}

.catalog-feature .markers .marker {
  background-color: #fff;
  border-radius: 50%;
  margin: 6px;
  height: 10px;
  width: 10px;
}

.catalog-feature .markers .marker.active {
  background-color: #41baed;
}

.catalog-selected {
  padding: 35px;
}

@media (max-width: 768px) {
  .catalog-selected {
    padding: 20px;
  }
}

.catalog-selected .title-container {
  height: 100px;
}

@media (max-width: 768px) {
  .catalog-selected .title-container {
    height: auto;
    margin-bottom: 10px;
    flex-direction: column-reverse;
  }
}

.catalog-selected .title-container .title {
  font-size: 26px;
  line-height: 26px;
}

.catalog-selected .title-container .name {
  font-size: 26px;
}

.catalog-selected .title-container .return-link {
  margin-top: 20px;
  width: 120px;
  cursor: pointer;
}

@media (max-width: 768px) {
  .catalog-selected .title-container .return-link {
    margin-top: 0px;
    margin-bottom: 0px;
  }
}

.catalog-selected .title-container .return-link > div {
  min-height: 30px;
  line-height: 20px;
}

.catalog-selected .title-container .return-link > div:hover {
  text-decoration: underline;
}

.catalog-selected .title-container .return-link > div > i {
  margin-left: 5px;
  line-height: 30px;
}

.catalog-selected .detail-container {
  margin-top: 20px;
  margin-bottom: 20px;
}

@media (max-width: 768px) {
  .catalog-selected .detail-container {
    flex-direction: column;
  }
}

.catalog-selected .detail-container .info-row-header {
  font-size: 12px;
  font-weight: 600;
  max-width: 260px;
}

.catalog-selected .detail-container .info-row-header > div {
  height: 20px;
  width: 130px;
  text-align: center;
  text-transform: uppercase;
}

.catalog-selected .detail-container .info-row {
  border-top: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
  max-width: 260px;
}

.catalog-selected .detail-container .info-row > div {
  height: 90px;
  width: 130px;
}

.catalog-selected .detail-container .info-row > div > div {
  text-align: center;
}

.catalog-selected .detail-container .info-row > div + div {
  border-left: 1px solid #ccc;
}

.catalog-selected .detail-container .info-row .info {
  font-size: 26px;
}

.catalog-selected .detail-container .info-row .label {
  font-size: 16px;
}

.catalog-selected .detail-container .description-row {
  font-size: 12px;
  margin: 20px 0;
  max-width: 400px;
}

@media (max-width: 768px) {
  .catalog-selected .detail-container .description-row {
    max-width: 100%;
    margin-bottom: 5px;
  }
}

.catalog-selected .detail-container .description-row .label {
  font-weight: 600;
  margin: 10px 0;
  text-transform: uppercase;
}

.catalog-selected .detail-container .button-container {
  margin: 20px 0;
  width: 200px;
}

@media (max-width: 768px) {
  .catalog-selected .detail-container .button-container {
    width: 100%;
  }
}

.catalog-selected .detail-container .button-container button {
  width: 100%;
}

.catalog-selected .detail-container .button-container button + button {
  margin-top: 20px;
  margin-left: 0;
}

.catalog-selected .detail-container .sample-container {
  margin-left: 10px;
}

@media (max-width: 768px) {
  .catalog-selected .detail-container .sample-container {
    margin-left: 0;
  }
}

.catalog-selected .detail-container .sample-container .video-label {
  font-size: 12px;
  font-weight: 600;
  max-width: 300px;
}

.catalog-selected .detail-container .sample-container .video-label > div {
  height: 20px;
  text-transform: uppercase;
}

.catalog-selected .detail-container .sample-container .video-container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  max-height: 239px;
  max-width: 425px;
  min-height: 239px;
}

.catalog-selected .detail-container .sample-container .video-container > div {
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
}

.catalog-selected .detail-container .sample-container .video-container .missing-media {
  border: 1px solid #ccc;
  color: #ccc;
  font-size: 24px;
  font-weight: 300;
  width: 99%;
}

.exercise-selected {
  padding: 35px;
}

.exercise-selected .title-container {
  height: 100px;
}

@media (max-width: 768px) {
  .exercise-selected .title-container {
    height: auto;
    margin-bottom: 10px;
    flex-direction: column-reverse;
  }
}

.exercise-selected .title-container .title {
  font-size: 26px;
  line-height: 26px;
}

.exercise-selected .title-container .name {
  font-size: 18px;
}

.exercise-selected .title-container .return-link {
  margin-top: 20px;
  width: 120px;
  cursor: pointer;
}

@media (max-width: 768px) {
  .exercise-selected .title-container .return-link {
    margin-top: 0px;
    margin-bottom: 10px;
  }
}

.exercise-selected .title-container .return-link > div {
  min-height: 30px;
  line-height: 20px;
}

.exercise-selected .title-container .return-link > div:hover {
  text-decoration: underline;
}

.exercise-selected .title-container .return-link > div > i {
  margin-left: 5px;
  line-height: 30px;
}

.exercise-selected .detail-container {
  margin-top: 20px;
  margin-bottom: 20px;
}

@media (max-width: 768px) {
  .exercise-selected .detail-container {
    flex-direction: column;
  }
}

.exercise-selected .detail-container .info-row-header {
  font-size: 12px;
  font-weight: 600;
  max-width: 400px;
}

.exercise-selected .detail-container .info-row-header > div {
  min-height: 20px;
  min-width: 130px;
  text-align: center;
  text-transform: uppercase;
}

.exercise-selected .detail-container .info-row {
  border-top: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
  max-width: 400px;
}

.exercise-selected .detail-container .info-row > div {
  min-height: 90px;
  min-width: 130px;
}

.exercise-selected .detail-container .info-row > div > div {
  text-align: center;
}

.exercise-selected .detail-container .info-row > div + div {
  border-left: 1px solid #ccc;
}

.exercise-selected .detail-container .info-row .info {
  font-size: 26px;
}

.exercise-selected .detail-container .info-row .label {
  font-size: 14px;
}

.exercise-selected .detail-container .description-row {
  font-size: 12px;
  margin: 20px 0;
  max-width: 400px;
}

@media (max-width: 768px) {
  .exercise-selected .detail-container .description-row {
    max-width: 100%;
    margin-bottom: 5px;
  }
}

.exercise-selected .detail-container .description-row .label {
  font-weight: 600;
  margin: 10px 0;
  text-transform: uppercase;
}

.exercise-selected .detail-container .button-container {
  margin: 20px 0;
  width: 200px;
}

@media (max-width: 768px) {
  .exercise-selected .detail-container .button-container {
    width: 100%;
  }
}

.exercise-selected .detail-container .button-container button {
  width: 100%;
}

.exercise-selected .detail-container .button-container button + button {
  margin-top: 20px;
  margin-left: 0;
}

.exercise-selected .detail-container .sample-container {
  margin-left: 10px;
}

@media (max-width: 768px) {
  .exercise-selected .detail-container .sample-container {
    margin-left: 0;
  }
}

.exercise-selected .detail-container .sample-container .video-label {
  font-size: 12px;
  font-weight: 600;
  max-width: 300px;
}

.exercise-selected .detail-container .sample-container .video-label > div {
  height: 20px;
  text-transform: uppercase;
}

.exercise-selected .detail-container .sample-container .video-container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  max-height: 239px;
  max-width: 425px;
  min-height: 239px;
}

.exercise-selected .detail-container .sample-container .video-container > div {
  -webkit-flex: 1 0 auto;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
}

.exercise-selected .detail-container .sample-container .video-container .missing-media {
  border: 1px solid #ccc;
  color: #ccc;
  font-size: 24px;
  font-weight: 300;
  width: 99%;
}

.exercise-selected .exercise-info-container {
  -webkit-flex: 0 0 400px;
  -ms-flex: 0 0 400px;
  flex: 0 0 400px;
}

.exercise-selected .sample-container {
  -webkit-flex: 1 0 350px;
  -ms-flex: 1 0 350px;
  flex: 1 0 350px;
}

.exercise-selected .sample-container .file-input-wrapper {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-justify-content: flex-end;
  justify-content: flex-end;
  -webkit-align-items: center;
  align-items: center;
  margin-top: 5px;
}

.exercise-selected .sample-container .file-input-wrapper > button {
  min-height: 35px;
  max-height: 35px;
}

.exercise-selected .sample-container .file-input-wrapper > input[type="file"] {
  opacity: 0 !important;
  width: 1px !important;
  height: 1px !important;
}

.exercise-selected .form-fields .week-selection {
  min-height: 60px;
  margin-bottom: 25px;
  cursor: default;
}

.exercise-selected .form-fields .week-selection > div {
  min-width: 80px;
  line-height: 50px;
  font-size: 14px;
  border-bottom: 2px solid #9768EB;
  border-top: 2px solid #9768EB;
  text-align: center;
  text-transform: uppercase;
  color: #9768EB;
}

.exercise-selected .form-fields .week-selection > div:first-child {
  border-left: 2px solid #9768EB;
  border-top-left-radius: 6px;
  border-bottom-left-radius: 6px;
}

.exercise-selected .form-fields .week-selection > div:last-child {
  border-right: 2px solid #9768EB;
  border-top-right-radius: 6px;
  border-bottom-right-radius: 6px;
}

.exercise-selected .form-fields .week-selection > div:hover:not(.active) {
  color: #efefef;
  cursor: pointer;
  background-color: #9bd7ea;
}

.exercise-selected .form-fields .week-selection > div.active {
  color: #fefefe;
  cursor: default;
  background-color: #9768EB;
}

.exercise-selected .form-fields label {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  position: relative;
  min-height: 50px;
  padding: 2px;
}

.exercise-selected .form-fields label span {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-justify-content: center;
  justify-content: center;
  min-width: 120px;
  font-size: 18px;
  letter-spacing: 0.32px;
  line-height: 27px;
}

.exercise-selected .form-fields label input {
  -webkit-flex: 1 1 auto;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
  -webkit-align-self: stretch;
  align-self: stretch;
  border: none;
  font-size: 21px;
  letter-spacing: 0.4px;
}

.exercise-selected .form-fields label select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  -webkit-flex: 1 1 auto;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
  -webkit-align-self: stretch;
  align-self: stretch;
  border: none;
  border-radius: 0;
  outline: 0;
  font-size: 21px;
  text-indent: 3px;
}

.exercise-selected .form-fields label select:focus {
  outline: 0;
}

.exercise-selected .form-fields label select:-moz-focusring {
  color: transparent;
  text-shadow: 0 0 0 #000;
}

.exercise-selected .form-fields label select + i.icon-caret-down {
  position: absolute;
  top: 25px;
  right: 20px;
  color: #D9DBDC;
  font-size: 8px;
}

.catalog-history {
  -webkit-flex: 1 0 auto;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
  min-height: 275px;
}

.catalog-history .link-container {
  font-size: 18px;
  height: 70px;
  padding-left: 40px;
  padding-right: 10px;
  background-color: #efefef;
}

@media (max-width: 768px) {
  .catalog-history .link-container {
    font-size: 16px;
  }
}

.catalog-history .link-container .link {
  margin-right: 35px;
  min-height: 35px;
  min-width: 100px;
  color: #aaa;
  cursor: pointer;
}

.catalog-history .link-container .link span {
  min-height: 35px;
}

.catalog-history .link-container .link span.active {
  border-bottom: 4px solid #9768EB;
  color: #75787b;
  cursor: default;
}

.catalog-history .notify-container {
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
  background-color: #efefef;
  padding: 5px 40px;
}

.catalog-history .notify-container > div {
  -webkit-flex: 1 1 100%;
  -ms-flex: 1 1 100%;
  flex: 1 1 100%;
  min-height: 55px;
  border-radius: 6px;
}

.catalog-history .notify-container > div .icon {
  max-width: 60px;
  min-width: 60px;
  width: 60px;
  border-top-left-radius: 6px;
  border-bottom-left-radius: 6px;
}

.catalog-history .notify-container > div .message {
  -webkit-flex: 1 0 auto;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
  margin: 0 10px;
  width: calc(100% - 140px);
  padding: 16px 0;
}

.catalog-history .notify-container > div .close {
  max-width: 60px;
  min-width: 60px;
  width: 60px;
  border-top-right-radius: 6px;
  border-bottom-right-radius: 6px;
  line-height: 55px;
  cursor: pointer;
}

.catalog-history .notify-container .warning {
  /* background-color: #f3d95e; */
  background-color: #dac255;
  color: #fefefe;
  font-size: 15px;
  font-weight: 500;
}

.catalog-history .notify-container .warning .icon {
  /* background-color: #e9d25e; */
  background-color: #ceb74e;
}

.catalog-history .notify-container .warning .close {
  font-size: 35px;
  font-weight: 300;
  text-align: center;
}

.catalog-history .list {
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  padding-bottom: 60px;
  background-color: #efefef;
}

.catalog-history .list.scrollable-table {
  overflow: auto;
}

.catalog-history .list .list-scroll-container {
  -webkit-flex: 1 0 100%;
  -ms-flex: 1 0 100%;
  flex: 1 0 100%;
  overflow-y: auto;
}

.catalog-history .list .list-scroll-container .list-scroll {
  min-height: 177px;
  max-height: 0px;
}

.catalog-history .list .list-scroll-container .list-scroll .schedule-program {
  max-height: 35px;
  min-height: 35px;
  height: 35px;
}

.catalog-history .list .row {
  font-size: 14px;
  max-height: 50px;
  min-height: 50px;
  height: 50px;
  padding: 0 40px;
  color: #888;
  min-width: fit-content;
}

.catalog-history .list .row:nth-child(even) {
  background-color: #fff;
}

.catalog-history .list .row.header {
  height: 50px;
  text-transform: uppercase;
  color: #aaa;
}

.catalog-history .list .row .text-column {
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  min-width: 200px;
}

.catalog-history .list .row .date-column {
  min-width: 100px;
  text-align: center;
}

.catalog-history .list .row .action-column {
  min-width: 100px;
  font-weight: 600;
  text-align: center;
  text-transform: uppercase;
  cursor: pointer;
}

.catalog-history .list .row .action-column span {
  font-weight: normal;
  font-size: 20px;
  padding: 0 6px;
}

.program-header-container {
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
}

.program-edit-header {
  min-height: 85px;
  margin-bottom: 30px !important;
}

.program-type-selection {
  min-height: 50px;
}

.program-type-selection > .type-item {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  max-height: 40px;
  min-height: 40px;
  height: 40px;
  border-bottom: 2px solid transparent;
  font-size: 18px;
  color: #ddd;
  cursor: pointer;
}

.program-type-selection > .type-item .pill {
  font-size: 13px;
  color: #75777A;
  letter-spacing: 1px;
  line-height: 14px;
  font-weight: bold;
  display: inline-block;
  line-height: 25px;
  vertical-align: top;
  margin-left: 3px;
  padding: 0 10px;
  white-space: nowrap;
  background: #AFB1B4;
  color: #FFFFFF;
  border-radius: 5px;
  text-transform: uppercase;
}

.program-type-selection > .type-item.active {
  border-color: #9768EB;
  color: #75787b;
  cursor: default;
}

.program-type-selection > .type-item:hover:not(.active) {
  border-color: #9768EB;
}

.program-type-selection > .type-item + .type-item {
  margin-left: 30px;
}

.program-type-selection > .copy-controls {
  -webkit-flex: 0 0 auto;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-justify-content: flex-end;
  justify-content: flex-end;
  margin-top: 8px;
}

.program-schedule-container {
  -webkit-flex: 1 0 auto;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
  -webkit-align-items: flex-end;
  align-items: flex-end;
  -webkit-justify-content: flex-end;
  justify-content: flex-end;
  margin-right: 5px;
  margin-bottom: 5px;
}

.program-schedule-container button {
  max-height: 45px;
  min-height: 45px;
  height: 45px;
  max-width: 130px;
  min-width: 130px;
  width: 130px;
}

.program-edit {
  margin-top: 20px;
  margin-bottom: 0px;
}

.program-edit .program-strategy-container {
  margin-bottom: 20px;
}

.program-edit .program-strategy-container .program-strategy {
  font-size: 24px;
  margin-bottom: 20px;
}

.program-edit .program-strategy-container .program-strategy i {
  -webkit-flex: 0 30px;
  -ms-flex: 0 30px;
  flex: 0 30px;
  width: 20px;
  text-align: center;
}

.program-edit .program-strategy-container .program-strategy .strategy-name {
  -webkit-flex: 1 auto;
  -ms-flex: 1 auto;
  flex: 1 auto;
  margin-left: 15px;
}

.program-edit .program-strategy-container .program-strategy .strategy-action {
  -webkit-flex: 0 180px;
  -ms-flex: 0 180px;
  flex: 0 180px;
  max-height: 35px;
  min-height: 35px;
  height: 35px;
  font-size: 12px;
  text-align: center;
  text-transform: uppercase;
  line-height: 30px;
  padding: 0px;
}

.program-edit .program-strategy-container + .program-strategy-container {
  margin-top: 20px;
}

.program-edit .program-technique {
  font-size: 20px;
  color: #efefef;
}

.program-edit .program-technique .counter {
  height: 100%;
  width: 40px;
  line-height: 45px;
  flex: 0 0 auto;
}

.program-edit .program-technique .name {
  -webkit-flex: 1 1 auto;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
}

.program-edit .program-technique .name > span {
  margin-left: 15px;
  line-height: 24px;
  padding: 4px 0;
}

.program-edit .program-technique .action {
  margin-right: 30px;
  font-size: 12px;
  font-weight: 600;
  color: #9768EB;
  cursor: pointer;
}

.program-edit .program-technique .action .icon-plus {
  font-size: 8px;
}

.program-edit .program-technique .action > span {
  margin-left: 5px;
  text-transform: uppercase;
}

.program-edit .program-exercise-container {
  min-height: 80px;
}

.program-edit .program-exercise-container > div {
  background-color: #f9f9f9;
  border-radius: 0px;
  margin: 1px 0;
  min-height: 80px;
  width: 100%;
}

.program-edit .program-exercise-container > div.active-item {
  z-index: 1;
}

.program-edit .program-exercise-container > div.active-item .program-exercise .drag-icon {
  visibility: hidden;
}

.program-edit .program-exercise-container > div.active-item .program-exercise .actions {
  visibility: hidden;
}

.program-edit .program-exercise-container > div:first-child .sort-icons .icon:first-child {
  visibility: hidden;
}

.program-edit .program-exercise-container > div:last-child .sort-icons .icon:last-child {
  visibility: hidden;
}

.program-edit .program-exercise-container .program-note {
  margin-bottom: 20px;
  margin-left: 90px;
  max-width: 400px;
}

.program-edit .program-exercise-container .program-exercise {
  min-height: 80px;
  min-width: 600px;
  width: 100%;
}

@media (max-width: 768px) {
  .program-edit .program-exercise-container .program-exercise {
    min-width: 0;
  }
}

.program-edit .program-exercise-container .program-exercise .drag-icon {
  max-height: 28px;
  min-height: 28px;
  height: 28px;
  max-width: 85px;
  min-width: 85px;
  width: 85px;
  color: #bbb;
  cursor: pointer;
  font-size: 19px;
  text-align: center;
}

.program-edit .program-exercise-container .program-exercise .sort-icons {
  max-height: 50px;
  min-height: 50px;
  height: 50px;
  max-width: 85px;
  min-width: 85px;
  width: 85px;
  color: #bbb;
  text-align: center;
}

.program-edit .program-exercise-container .program-exercise .sort-icons .icon {
  color: #dedede;
  font-size: 14px;
  cursor: pointer;
}

.program-edit .program-exercise-container .program-exercise .sort-icons .icon:hover {
  color: #9768EB;
}

.program-edit .program-exercise-container .program-exercise .info {
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
}

.program-edit .program-exercise-container .program-exercise .info .title {
  font-size: 19px;
  font-weight: 400;
}

.program-edit .program-exercise-container .program-exercise .info .attributes {
  gap: 5px 25px;
}

.program-edit .program-exercise-container .program-exercise .info .attributes > div {
  margin-top: 0;
  width: auto;
}

.program-edit .program-exercise-container .program-exercise .info .attributes > div span:first-child {
  margin-right: 5px;
  font-weight: 600;
}

.program-edit .program-exercise-container .program-exercise .actions {
  max-height: 38px;
  min-height: 38px;
  height: 38px;
  max-width: 180px;
  min-width: 180px;
  width: 180px;
  color: #ddd;
  font-size: 19px;
}

.program-edit-footer {
  -webkit-justify-content: flex-end;
  justify-content: flex-end;
  margin: 15px 30px;
}

.whiteboard {
  min-width: 640px;
  width: 100%;
}

.whiteboard > section {
  margin: 15px 30px;
}

.whiteboard-schedule {
  width: 100%;
}

.whiteboard-schedule .whiteboard-program {
  background-color: #ffffff;
  padding: 30px 0 15px;
}

.whiteboard-program {
  max-height: 140px;
  min-height: 140px;
  height: 140px;
  background-color: #f9f9f9;
  padding: 30px 30px 15px;
}

.whiteboard-program .name {
  font-size: 30px;
  line-height: 30px;
  min-height: 30px;
}

.whiteboard-program .origin {
  font-size: 26px;
  line-height: 30px;
  min-height: 30px;
}

.whiteboard-program .edit {
  margin-top: 5px;
  min-height: 25px;
}

.whiteboard-program .edit span {
  font-size: 10px;
  margin-left: 8px;
  text-transform: uppercase;
}

.whiteboard-date span {
  font-size: 10px;
  font-weight: 600;
  text-transform: uppercase;
}

.whiteboard-date .date-input {
  max-height: 40px;
  min-height: 40px;
  height: 40px;
  max-width: 130px;
  min-width: 130px;
  width: 130px;
  margin-bottom: 15px;
}

.whiteboard-date .date-input input {
  border: 1px solid #bbb;
  border-right: none;
  border-top-left-radius: 6px;
  border-bottom-left-radius: 6px;
  width: 100px;
  height: 30px;
  line-height: 30px;
  text-indent: 5px;
  outline: 0;
}

.whiteboard-date .date-input .input-icon {
  -webkit-justify-content: center;
  justify-content: center;
  max-height: 30px;
  min-height: 30px;
  height: 30px;
  max-width: 30px;
  min-width: 30px;
  width: 30px;
  background-color: #9768EB;
  border: 1px solid #9768EB;
  border-left: none;
  border-top-right-radius: 6px;
  border-bottom-right-radius: 6px;
}

.whiteboard-date .date-input .input-icon i.fa {
  font-size: 16px;
}

.whiteboard-date .date-disabled .input-icon {
  background-color: #cdcdcd;
  border: 1px solid #cdcdcd;
}

.week-list {
  max-height: 60px;
  min-height: 60px;
  height: 60px;
  background-color: #f9f9f9;
  padding: 10px 30px;
}

.week-list .week-item {
  font-size: 16px;
  margin-right: 20px;
  min-height: 28px;
}

.week-list .week-item.active {
  border-bottom: 2px solid #9768EB;
}

.week-list .week-item:hover:not(.active) {
  cursor: pointer;
}

.week-list .week-copy {
  -webkit-flex: 1 1 0%;
  -ms-flex: 1 1 0%;
  flex: 1 1 0%;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-justify-content: flex-end;
  justify-content: flex-end;
}

.day-list {
  max-height: 45px;
  min-height: 45px;
  height: 45px;
  margin: 20px 0;
}

.day-list .day-item {
  -webkit-justify-content: center;
  justify-content: center;
  border-top: 1px solid #9768EB;
  border-bottom: 1px solid #9768EB;
  color: #9768EB;
  font-size: 12px;
  min-height: 45px;
  min-width: 80px;
  text-transform: uppercase;
}

.day-list .day-item.active {
  background-color: #9768EB;
  color: #fefefe;
}

.day-list .day-item:hover:not(.active) {
  background-color: rgba(65, 187, 231, 0.5);
  color: #ffffff;
  cursor: pointer;
}

.day-list .day-item:first-child {
  border-left: 1px solid #9768EB;
  border-top-left-radius: 6px;
  border-bottom-left-radius: 6px;
}

.day-list .day-item:last-child {
  border-right: 1px solid #9768EB;
  border-top-right-radius: 6px;
  border-bottom-right-radius: 6px;
}

.day-list-schedule .day-item {
  background-color: #bbb;
  border-radius: 6px;
}

.day-list-schedule .day-item .drag-icon {
  max-height: 20px;
  min-height: 20px;
  height: 20px;
  max-width: 30px;
  min-width: 30px;
  width: 30px;
  cursor: move;
  font-size: 12px;
  text-align: center;
}

.day-list-schedule .day-item .name {
  text-transform: uppercase;
}

.day-list-schedule .day-item + .day-item {
  margin-left: 10px;
}

.program-section {
  max-height: 45px;
  min-height: 45px;
  height: 45px;
}

.program-section.accept-drop {
  background-color: #fff;
  border: 1px solid #999;
  border-radius: 6px;
  padding: 10px;
}

.program-section.accept-drop .action-with-icon {
  display: none;
}

.program-section.accept-drop .name > i {
  display: none;
}

.program-section .name {
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  font-size: 18px;
}

.program-section .name span {
  margin-right: 8px;
}

.program-section .action {
  -webkit-justify-content: center;
  justify-content: center;
  max-width: 110px;
  min-width: 110px;
  width: 110px;
  font-size: 12px;
}

.program-section .action span {
  margin-right: 8px;
  text-transform: uppercase;
}

.program-section .action i.fa {
  font-size: 15px;
}

.program-section-placeholder > div {
  -webkit-justify-content: center;
  justify-content: center;
  border: 1px dashed #bbb;
  border-radius: 6px;
  margin: 4px;
  width: 100%;
}

.program-section-placeholder > div span.text {
  color: #bbb;
  font-size: 14px;
  font-weight: 600;
  text-transform: uppercase;
}

.program-exercise-container {
  min-height: 86px;
}

.program-exercise-container > div {
  background-color: #f9f9f9;
  border-radius: 6px;
  margin: 2px;
  min-height: 80px;
  width: 100%;
}

.program-exercise-container > div.active-item {
  z-index: 1;
}

.program-exercise-container > div.active-item .program-exercise .drag-icon {
  visibility: hidden;
}

.program-exercise-container > div.active-item .program-exercise .actions {
  visibility: hidden;
}

.program-exercise-container .add-exercise {
  -webkit-justify-content: center;
  justify-content: center;
  color: #aaa;
  font-size: 16px;
  border: 2px dashed #CDD3D7;
  background-color: #EFEFEF;
}

.program-exercise-container .add-exercise span {
  font-weight: 600;
  letter-spacing: 1px;
  font-size: 13px;
  color: #CDD3D7;
  text-transform: uppercase;
}

.program-exercise-container .program-note {
  margin-bottom: 20px;
  margin-left: 90px;
  max-width: 400px;
}

.program-exercise-container .program-exercise {
  min-height: 80px;
  min-width: 600px;
  width: 100%;
}

@media (max-width: 768px) {
  .program-exercise-container .program-exercise {
    min-width: 0;
  }
}

.program-exercise-container .program-exercise .drag-icon {
  max-height: 28px;
  min-height: 28px;
  height: 28px;
  max-width: 85px;
  min-width: 85px;
  width: 85px;
  color: #bbb;
  cursor: pointer;
  font-size: 19px;
  text-align: center;
}

.program-exercise-container .program-exercise .info {
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
}

.program-exercise-container .program-exercise .info .title {
  font-size: 19px;
  font-weight: 600;
}

.program-exercise-container .program-exercise .info .attributes {
  gap: 5px 25px;
}

.program-exercise-container .program-exercise .info .attributes > div span:first-child {
  margin-right: 5px;
  font-weight: 600;
}

.program-exercise-container .program-exercise .actions {
  color: #ddd;
  font-size: 19px;
}

.accept-drop-container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
  background-color: #cdcdcd;
  background-color: rgba(225, 225, 225, 0.5);
  border-radius: 6px;
  color: #fff;
  font-size: 24px;
}

.accept-drop-container > span {
  text-align: center;
}

.accept-drop-container.hidden {
  display: none;
}

.sort-order-container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
  background-color: #cdcdcd;
  background-color: rgba(225, 225, 225, 0.5);
  border-radius: 6px;
  color: #fff;
  font-size: 24px;
}

.sort-order-container > span {
  text-align: center;
}

.sort-order-container.hidden {
  display: none;
}

.schedule-selected-athletes {
  margin-left: 50px;
  margin-bottom: auto;
}

.schedule-selected-athletes span {
  font-size: 13px;
  color: #75777A;
  letter-spacing: 0.4px;
  text-transform: uppercase;
  font-weight: bold;
  line-height: 18px;
  margin-bottom: 8px;
  margin-top: 12px;
}

.schedule-selected-athletes .athlete-names {
  max-width: 600px;
}

.schedule-selected-athletes .athlete-names .athlete-names-more {
  color: #9768EB;
  cursor: pointer;
  margin-left: 5px;
}

.bulk-schedule-divider {
  margin-top: 50px;
  text-align: center;
  width: 47px;
}

.bulk-schedule-divider i {
  color: #D7D9DA;
  font-size: 20px;
}

.whiteboard-footer {
  -webkit-justify-content: flex-end;
  justify-content: flex-end;
}

.calendar-menu {
  margin: 20px 0;
}

.calendar-menu > div {
  max-height: 30px;
  min-height: 30px;
  height: 30px;
  color: #a0a4a8;
  font-size: 20px;
  line-height: 1;
  font-weight: 500;
}

@media only screen and (max-width: 1053px) {
  .calendar-menu > div {
    font-size: 16px;
  }
}

.calendar-menu > div.active {
  border-bottom: 2px solid #9768EB;
  cursor: default;
}

.calendar-menu > div:not(.active):hover {
  border-bottom: 2px solid #a0a4a8;
  cursor: pointer;
}

.calendar-menu > div + div {
  margin-left: 40px;
}

.calendar-parent {
  position: relative;
}

.calendar-month {
  -webkit-flex: 1 0 690px;
  -ms-flex: 1 0 690px;
  flex: 1 0 690px;
  max-width: 690px;
  min-width: 690px;
  width: 690px;
  margin: 1px 0 0;
}

.calendar-month .calendar-header {
  -webkit-flex: 1 0 auto;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
  max-height: 50px;
  min-height: 50px;
  height: 50px;
  border: 1px solid #ccc;
  border-top: 0;
  font-size: 18px;
  margin: -1px 0 0 -1px;
}

.calendar-month .calendar-header .fa {
  font-size: 24px;
  padding: 10px;
  box-sizing: content-box;
}

.calendar-month .calendar-header > div {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-justify-content: center;
  justify-content: center;
}

.calendar-month .calendar-header > div:first-child {
  margin-right: auto;
  max-width: 20px;
  min-width: 20px;
  width: 20px;
  cursor: pointer;
}

.calendar-month .calendar-header > div:last-child {
  margin-left: auto;
  max-width: 20px;
  min-width: 20px;
  width: 20px;
  cursor: pointer;
}

.calendar-month .calendar-header .year-container {
  position: relative;
}

.calendar-month .calendar-header .year-container select.year-select {
  -webkit-appearance: menulist;
  -moz-appearance: menulist;
  appearance: menulist;
  -webkit-flex: 0.1 0 0;
  -ms-flex: 0.1 0 0;
  flex: 0.1 0 0;
  background-color: transparent;
  border: none;
  border-radius: 0;
  margin: 1px;
  outline: 0;
  color: #808080;
  text-indent: 0px;
}

.calendar-month .calendar-header .year-container select.year-select:focus {
  outline: 0;
}

.calendar-month .calendar-header .year-container select.year-select:-moz-focusring {
  color: transparent;
  text-shadow: 0 0 0 #000;
}

.calendar-month .calendar-header .year-container select.year-select::-ms-expand {
  display: none;
}

.calendar-month .calendar-header .year-container select.year-select + i.icon-caret-down {
  position: absolute;
  top: 10px;
  right: -12px;
  color: #D9DBDC;
  font-size: 6px;
  pointer-events: none;
}

.calendar-month .week-day-labels {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-content: flex-start;
  align-content: flex-start;
  -webkit-align-items: flex-start;
  align-items: flex-start;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-flex: 1 0 auto;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
  background-color: #dfdfdf;
  color: #c0c0c0;
}

.calendar-month .week-day-labels.left > div {
  -webkit-align-items: flex-start;
  align-items: flex-start;
  padding-left: 6px;
}

.calendar-month .week-day-labels > div {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-flex: 1 0 auto;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  max-height: 30px;
  min-height: 30px;
  height: 30px;
  max-width: 99.5px;
  min-width: 99.5px;
  width: 99.5px;
  border: 1px solid transparent;
  color: #999;
  font-size: 13px;
  margin: -1px 0 0 -1px;
}

.calendar-month .week-day-labels > div .accept-drop-container {
  max-width: 97.5px;
  min-width: 97.5px;
  width: 97.5px;
  right: initial;
  left: initial;
}

.calendar-month .week-day-labels div:first-child {
  border-left-color: #ccc;
}

.calendar-month .week-day-labels div:last-child {
  border-right-color: #ccc;
}

.calendar-month .calendar-days {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-content: flex-start;
  align-content: flex-start;
  -webkit-align-items: flex-start;
  align-items: flex-start;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-flex: 1 0 auto;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
}

.calendar-month .calendar-days .calendar-day {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-flex: 1 0 auto;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
  max-height: 80px;
  min-height: 80px;
  height: 80px;
  max-width: 99.5px;
  min-width: 99.5px;
  width: 99.5px;
  border: 1px solid #ccc;
  font-size: 18px;
  margin: -1px 0 0 -1px;
  padding: 8px 12px;
}

.calendar-month .calendar-days .calendar-day.day-activities {
  background: #00B96D;
  color: #fff;
}

.calendar-month .calendar-days .calendar-day.current-day {
  background-color: #ffffff;
  border-bottom: 6px solid #9768EB;
}

.calendar-month .calendar-days .calendar-day.program-range {
  background-color: #ffffff;
}

.calendar-month .calendar-days .calendar-day.empty {
  background-color: #efefef;
}

.calendar-month .calendar-days .calendar-day .calendar-day-number {
  margin-bottom: 5px;
  font-size: 16px;
}

.calendar-month .calendar-days .calendar-day .calendar-day-number > .month-abbrev {
  font-size: 15px;
  line-height: 28px;
}

.calendar-month .calendar-days .calendar-day .calendar-day-concern,
.calendar-month .calendar-days .calendar-day .calendar-day-existing {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  max-width: 85px;
  min-width: 85px;
  width: 85px;
  min-height: 15px;
  font-size: 11px;
}

.calendar-month .calendar-days .calendar-day .calendar-day-concern i,
.calendar-month .calendar-days .calendar-day .calendar-day-existing i {
  margin: 2px;
}

.calendar-month .calendar-days .calendar-day .calendar-day-concern {
  margin-top: 10px;
}

.calendar-month .calendar-days .calendar-day .calendar-day-scheduled {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  max-width: 85px;
  min-width: 85px;
  width: 85px;
  font-size: 9px;
}

@media (max-width: 768px) {
  .calendar-month .calendar-days .calendar-day .calendar-day-scheduled {
    max-width: 100%;
    min-width: unset;
  }
}

.calendar-month .calendar-days .calendar-day .calendar-day-scheduled i {
  margin: 2px;
}

.calendar-month.input-ctl {
  -webkit-flex: 1 0 280px;
  -ms-flex: 1 0 280px;
  flex: 1 0 280px;
  max-width: 280px;
  min-width: 280px;
  width: 280px;
  box-shadow: 6px 6px 18px 0px #4a4a4a;
  background-color: #fff;
  position: absolute;
  top: 40px;
  left: 0;
  z-index: 10;
  margin: 1px 0;
  font-weight: 500;
}

.calendar-month.input-ctl.right {
  left: inherit;
  right: 0;
}

.calendar-month.input-ctl .calendar-header {
  max-height: 35px;
  min-height: 35px;
  height: 35px;
  border-top: 1px solid #ccc;
  font-size: 14px;
  cursor: default;
}

.calendar-month.input-ctl .calendar-header .icon {
  cursor: pointer;
}

.calendar-month.input-ctl .calendar-week-header {
  -webkit-align-content: center;
  align-content: center;
  -webkit-justify-content: center;
  justify-content: center;
  max-height: 28px;
  min-height: 28px;
  height: 28px;
  background-color: #aaa;
}

.calendar-month.input-ctl .calendar-week-header > div {
  max-width: 35px;
  min-width: 35px;
  width: 35px;
  color: #dfdfdf;
  cursor: default;
  font-weight: 600;
  text-align: center;
  border: 2.1275px solid transparent;
  margin: 2px;
}

.calendar-month.input-ctl .calendar-days {
  margin-bottom: 5px;
}

.calendar-month.input-ctl .calendar-days .calendar-day {
  -webkit-justify-content: center;
  justify-content: center;
  max-height: 35px;
  min-height: 35px;
  height: 35px;
  max-width: 35px;
  min-width: 35px;
  width: 35px;
  margin: 2px;
  border: 2.1275px solid transparent;
  border-radius: 100%;
  padding: 0;
}

.calendar-month.input-ctl .calendar-days .calendar-day.empty {
  border-radius: 0;
  background-color: transparent;
}

.calendar-month.input-ctl .calendar-days .calendar-day.current-day {
  border: 2.1275px solid #9768EB;
}

.calendar-month.input-ctl .calendar-days .calendar-day.current-range {
  background-color: #def5fd;
  border-radius: 0;
}

.calendar-month.input-ctl .calendar-days .calendar-day.current-range:hover {
  border-radius: 100%;
}

.calendar-month.input-ctl .calendar-days .calendar-day.current-range .calendar-day-number {
  color: #8d8d8d;
}

.calendar-month.input-ctl .calendar-days .calendar-day:not(.empty) {
  cursor: pointer;
}

.calendar-month.input-ctl .calendar-days .calendar-day:not(.empty):hover {
  background-color: #eee;
}

.calendar-month.input-ctl .calendar-days .calendar-day .calendar-day-number {
  padding: 1px;
  text-align: center;
  margin-bottom: 0;
}

.calendar-day-info {
  -webkit-flex: 1 0 auto;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
  max-width: 300px;
  min-width: 300px;
  width: 300px;
}

.calendar-day-info .day-date {
  border-bottom: 1px solid #ccc;
  font-size: 13px;
  font-weight: 600;
  margin: 35px 0 20px;
  min-height: 40px;
  text-transform: uppercase;
}

.calendar-day-info .day-date > .icon-calendar {
  background-color: #9768EB;
  border: 1px solid #9768EB;
  border-radius: 3px;
  padding: 5px;
  margin-left: 7px;
  line-height: 28px;
  font-size: 15px;
  color: #efefef;
}

.calendar-day-info .day-program {
  max-width: 295px;
  min-width: 295px;
  width: 295px;
  letter-spacing: 0.75px;
  margin-bottom: 25px;
  font-size: 16px;
  font-weight: 500;
}

.calendar-day-info .day-program .light-grey-text {
  color: #A7A8A7;
}

.calendar-day-info .day-program.action {
  cursor: pointer;
}

.week-main-wrapper {
  padding: 0 !important;
}

.week-wrapper {
  padding: 0 !important;
  -webkit-flex: 1 0 auto;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
  min-height: 425px;
  /* height: 425; */
}

.week-wrapper.small {
  min-height: 225px;
  /* height: 225px; */
}

.week-wrapper .week-button-column {
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  font-size: 36px;
  font-weight: 700;
  min-width: 20px;
}

.week-wrapper .week-button-column > div {
  cursor: pointer;
}

@media only screen and (min-width: 1054px) {
  .week-wrapper .week-button-column .fa-angle-left {
    margin-left: -25px;
  }

  .week-wrapper .week-button-column .fa-angle-right {
    margin-right: -25px;
  }
}

.week-wrapper .week-day-column {
  border-left: 1px solid #ddd;
  min-width: 140px;
}

.week-wrapper .week-day-column .day-number {
  -webkit-align-self: flex-start;
  align-self: flex-start;
  color: #aaa;
  font-size: 16px;
  margin: 10px 15px;
}

.week-wrapper .week-day-column .week-day-info-container {
  -webkit-flex: 1 0 auto;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
  max-width: 100%;
  padding-bottom: 5px;
}

.week-wrapper .week-day-column .week-day-info-container:not(:empty) {
  border-bottom: 4px solid #aaa;
}

.week-wrapper .week-day-column .week-day-info-container .week-day-program {
  width: 130px;
  max-width: 100%;
  background-color: #fefefe;
  border-radius: 6px;
  color: #bbb;
  font-size: 13px;
  font-weight: 200;
  margin: 4px 0;
  padding: 8px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-direction: row-reverse;
}

@media (max-width: 768px) {
  .week-wrapper .week-day-column .week-day-info-container .week-day-program {
    flex-direction: column;
    gap: 4px;
  }
}

.week-wrapper .week-day-column .week-day-info-container .week-day-program.action {
  cursor: pointer;
}

.week-wrapper .week-day-column:nth-last-child(2) {
  border-right: 1px solid #ddd;
}

.week-wrapper .week-day-column.current-day {
  background-color: #ffffff;
}

.week-wrapper .week-day-column.current-day .day-number {
  color: #808080;
}

.week-wrapper .week-day-column.current-day .week-day-info-container:not(:empty) {
  border-bottom: 4px solid #9768EB;
}

.week-wrapper .week-day-column.current-day .week-day-info-container .week-day-program {
  background-color: #f4f4f4;
  color: inherit;
}

.week-wrapper .week-day-column.current-day .week-day-info-container .week-day-program .week-day-program-title:not(.light-grey-text) {
  color: #9768EB;
}

.week-wrapper .week-day-column.current-day .week-day-info-container .week-day-program .week-day-program-name:not(.light-grey-text) {
  color: #888888;
}

.chart-menu {
  margin: 50px 0 30px 0;
}

.chart-menu .chart-menu-item {
  max-height: 30px;
  min-height: 30px;
  height: 30px;
  font-size: 20px;
  line-height: 1;
  font-weight: 500;
  color: #a0a4a8;
  margin-right: 40px;
}

@media only screen and (max-width: 1053px) {
  .chart-menu .chart-menu-item {
    font-size: 16px;
  }
}

.chart-menu .chart-menu-item.active {
  border-bottom: 2px solid #9768EB;
  color: #333;
  cursor: default;
}

.chart-menu .chart-menu-item:not(.active):hover {
  border-bottom: 2px solid #a0a4a8;
  cursor: pointer;
}

.line-chart {
  margin: 25px 0 0 0;
}

.line-chart .line-chart-canvas {
  max-height: 350px;
  min-height: 350px;
  height: 350px;
  max-width: 700px;
  min-width: 700px;
  width: 700px;
}

.line-chart .line-chart-canvas.small {
  max-height: 275px;
  min-height: 275px;
  height: 275px;
  max-width: 550px;
  min-width: 550px;
  width: 550px;
}

.line-chart .line-chart-menu {
  font-size: 14px;
  margin: 25px 0;
}

.program-chart {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-content: flex-start;
  align-content: flex-start;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  max-width: 700px;
  min-width: 700px;
  width: 700px;
  margin: 25px 0 0 0;
  min-height: 350px;
}

.program-chart .program-complete {
  margin: 5px 15px;
}

.program-chart .program-complete .program-info {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  font-size: 11px;
  margin-bottom: 6px;
}

.program-chart .program-complete .program-info .program-title {
  font-weight: 600;
  text-transform: uppercase;
}

.program-chart .program-complete .program-info .program-name {
  text-transform: uppercase;
}

.program-chart .program-complete .program-info .icon {
  color: #cdcdcd;
  font-size: 10px;
}

.program-chart .program-complete canvas {
  height: 60px;
  width: 310px;
}

.selection-component {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-flex: 1 0 auto;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
  max-height: 30px;
  min-height: 30px;
  height: 30px;
  max-width: 100px;
  min-width: 100px;
  width: 100px;
  position: relative;
}

.selection-component:after {
  color: #ffffff;
  content: '>';
  font: 600 12px 'Consolas', monospace;
  position: absolute;
  top: 6px;
  right: 12px;
  padding: 0 0 3px;
  pointer-events: none;
  -webkit-transform: rotate(90deg);
  -moz-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  transform: rotate(90deg);
}

.selection-component:before {
  background-color: #9768EB;
  content: '';
  display: block;
  position: absolute;
  top: 0px;
  right: 6px;
  width: 20px;
  height: inherit;
  pointer-events: none;
}

.selection-component select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-color: #9768EB;
  border: none;
  color: #ffffff;
  cursor: pointer;
  font-size: 12px;
  font-weight: 600;
  height: 30px;
  margin: 0;
  outline: none;
  padding-left: 10px;
  text-transform: uppercase;
  width: 100%;
}

.chart-legend {
  font-size: 14px;
  margin: 0 20px;
}

.chart-legend > .fa {
  margin-right: 5px;
}

.chart-legend > .fa.average {
  color: rgba(207, 218, 220, 0.5);
}

.chart-legend > .fa.score {
  color: rgba(0, 182, 235, 0.9);
}

.chart-legend > .fa.team-average {
  color: rgba(125, 125, 125, 0.75);
}

.chart-legend > .fa.completed {
  color: rgba(32, 183, 105, 0.8);
}

.chart-legend > .fa.scheduled {
  color: #dfdfdf;
}

.chart-details {
  max-width: 300px;
  min-width: 300px;
  width: 300px;
  margin-top: 16px;
}

.chart-details .chart-date-header {
  border-bottom: 1px solid #ccc;
  padding-bottom: 4px;
  margin-bottom: 4px;
  -webkit-align-items: center;
  align-items: center;
}

.chart-details .chart-date-header i {
  font-size: 18px;
  display: none;
}

.chart-details .chart-date {
  max-height: 22px;
  min-height: 22px;
  height: 22px;
  color: #75777A;
  font-size: 14px;
  font-weight: 700;
  text-transform: uppercase;
}

.chart-details .main-score {
  margin-top: 5px;
}

.chart-details .value-badge {
  color: #9768EB;
  font-size: 48px;
  font-weight: 100;
  margin-bottom: -6px;
}

.chart-details .value-label {
  text-align: center;
  max-width: 120px;
}

.chart-details .value-large {
  font-size: 56px;
  font-weight: 100;
  line-height: 56px;
  margin-right: 20px;
}

.chart-details .value-change-icon.fa-sort-asc {
  font-weight: 100;
  margin-top: 4px;
}

.chart-details .value-change-icon.fa-sort-desc {
  font-weight: 100;
  margin-bottom: 6px;
}

.chart-details .value-change-icon.unchanged {
  color: #808080;
}

.chart-details .value-change-icon.increase {
  color: #20b769;
}

.chart-details .value-change-icon.decrease {
  color: #c42a3b;
}

.chart-details .value-change {
  font-size: 14px;
  font-weight: 500;
  margin-left: 6px;
}

.chart-details .value-change.unchanged {
  color: #808080;
}

.chart-details .value-change.increase {
  color: #20b769;
}

.chart-details .value-change.decrease {
  color: #c42a3b;
}

.chart-details .info-label {
  font-size: 14px;
  font-weight: 700;
  margin-bottom: 6px;
  text-transform: uppercase;
}

.chart-details .chart-stats-container {
  margin-top: 20px;
}

.chart-details .test-results-button-container {
  flex: 1;
  padding: 15px 0px;
}

.chart-details .chart-stats {
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  border-bottom: 1px solid #ccc;
  border-top: 1px solid #ccc;
  padding: 15px 0;
}

.chart-details .chart-stats .name {
  font-size: 12px;
}

.chart-details .chart-stats .value {
  font-size: 26px;
  font-weight: 100;
  line-height: 34px;
}

.chart-details .chart-stats-grid .chart-stats {
  -webkit-flex: 1 0 50%;
  -ms-flex: 1 0 50%;
  flex: 1 0 50%;
  border-top: none;
}

.chart-details .chart-stats-grid .chart-stats:nth-child(-n+2) {
  border-top: 1px solid #ccc;
}

.chart-details .chart-stats-grid .chart-stats:nth-child(odd) {
  border-right: 1px solid #ccc;
}

.chart-details .pie-chart-container {
  margin-top: 20px;
  margin-bottom: -20px;
}

.chart-details .pie-chart {
  color: #aaa;
  font-size: 13px;
  margin-bottom: 20px;
}

.chart-details .pie-chart > div {
  margin-top: 10px;
}

.chart-details .pie-chart .pie-chart-canvas {
  max-height: 70px;
  min-height: 70px;
  height: 70px;
  max-width: 70px;
  min-width: 70px;
  width: 70px;
}

.chart-details .rpe-container {
  margin-top: 10px;
}

.chart-details .rpe-container .red-text,
.chart-details .rpe-container .green-text {
  font-weight: 500;
  margin-left: 3px;
}

.chart-details .rpe-container div + div {
  margin-left: 20px;
}

.chart-details .program-week {
  margin-top: 20px;
  padding: 18px 0;
  border-top: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
}

.chart-details .trophies {
  margin-top: 20px;
}

.chart-details .trophies .trophy-image {
  margin-right: 6px;
  display: inline-block;
  width: 28px;
  position: relative;
  margin-top: -13px;
}

.chart-details .trophies .trophy-image.trophy-image--badge {
  margin-top: 0;
  width: 24px;
}

.chart-details .trophies .trophy-icon {
  -webkit-flex: 1 1 auto;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
  max-height: 40px;
  min-height: 40px;
  height: 40px;
  max-width: 28px;
  min-width: 28px;
  width: 28px;
  margin-top: -11px;
  margin-right: 5px;
}

.chart-details .trophies .trophy-icon img {
  display: block;
}

.chart-details .trophies .trophy-place {
  padding: 0 6px;
  font-size: 30px;
  font-weight: 100;
}

.chart-details .trophies .trophy-name {
  -webkit-flex: 1 1 auto;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
  margin-left: 13px;
  font-size: 14px;
  line-height: 16px;
}

.chart-details .no-details {
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  max-width: 300px;
  min-width: 300px;
  width: 300px;
  padding-bottom: 100px;
}

.notes-menu {
  margin: 15px 0;
}

.notes-menu .notes-menu-item {
  max-height: 30px;
  min-height: 30px;
  height: 30px;
  color: #a0a4a8;
  font-size: 18px;
  line-height: 20px;
}

.notes-menu .notes-menu-item.active {
  border-bottom: 2px solid #9768EB;
  color: #333;
  cursor: default;
}

.notes-menu .notes-menu-item:not(.active):hover {
  border-bottom: 2px solid #a0a4a8;
  cursor: pointer;
}

.notes-menu .notes-menu-item + .notes-menu-item {
  margin-left: 45px;
}

.notes-calendar {
  -webkit-flex: 1 0 auto;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
  max-width: 492px;
  min-width: 492px;
  width: 492px;
}

.notes-calendar .calendar-header {
  max-height: 50px;
  min-height: 50px;
  height: 50px;
  margin: 1px 1px 0 -1px;
  background-color: #efefef;
  border: 1px solid #ccc;
  font-size: 16px;
  cursor: default;
}

.notes-calendar .calendar-header .icon {
  cursor: pointer;
}

.notes-calendar .week-day-labels {
  margin: 0 1px 0 0;
}

.notes-calendar .week-day-labels > div {
  min-width: 0;
  max-width: none;
  width: 14.28571%;
  font-size: 12px;
  color: #999;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  padding-left: 3px;
  align-items: center;
  justify-content: center;
}

.notes-calendar .calendar-days {
  margin: 0 1px 5px 0;
  background-color: #efefef;
}

.notes-calendar .calendar-days .calendar-day {
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  min-width: 0;
  max-width: none;
  width: 14.28571%;
  min-height: 0;
  max-height: none;
  height: 62px;
  margin: -1px 0px 0px -1px;
  border: 1px solid #cdcdcd;
  font-size: 16px;
  padding: 0;
  color: #cdcdcd;
}

.notes-calendar .calendar-days .calendar-day.current-day {
  color: #9768EB;
}

.notes-calendar .calendar-days .calendar-day.day-activities {
  background-color: #2d8b00;
}

.notes-calendar .calendar-days .calendar-day:not(.empty):not(.day-activities) {
  cursor: pointer;
}

.notes-calendar .calendar-days .calendar-day:not(.empty):not(.day-activities):hover {
  opacity: 0.8;
}

.notes-calendar .calendar-days .calendar-day .calendar-day-number {
  padding: 1px;
  line-height: 32px;
  text-align: left;
  padding: 8px 12px;
  font-size: 18px;
  font-size: 16px;
}

.bc-section,
.tl-section,
.soap-section {
  margin-top: 20px;
}

.soap-label.fields-header.high-level-field-label {
  margin-top: 20px;
  margin-bottom: 0px;
}

.bc-bodyfat {
  position: relative;
}

.bc-bodyfat > .basic-input.small {
  width: 80px;
}

.bc-bodyfat:after {
  content: '%';
  position: absolute;
  top: 0;
  left: 60px;
  line-height: 38px;
  font-size: 18px;
  color: #bbb;
}

.bc-alert {
  width: 75%;
  margin-bottom: 10px;
}

@media (max-width: 768px) {
  .bc-alert {
    width: 100%;
  }
}

.tl-total-load {
  margin-left: 15px;
}

.tl-total-load > .basic-input.small {
  width: 70px;
  border: none;
  border-radius: 0;
  border-bottom: 1px solid #cdcdcd;
  color: #9768EB;
}

.bc-entry-header > .field-label + .field-label,
.bc-entry > .field-label + .field-label {
  margin-left: 20px;
}

@media (max-width: 568px) {
  .bc-entry-header > .field-label + .field-label,
  .bc-entry > .field-label + .field-label {
    margin-left: 10px;
  }
}

.bc-entry-header .bc-input,
.bc-entry .bc-input {
  min-width: 160px;
  max-width: 160px;
}

.bc-entry-header .bc-filler,
.bc-entry .bc-filler {
  min-width: 10px;
  max-width: 10px;
}

@media (max-width: 568px) {
  .bc-filler-resp {
    min-width: 0 !important;
    max-width: 0 !important;
    margin-left: 0 !important;
  }
}

.tl-entry-header > .field-label + .field-label,
.tl-entry > .field-label + .field-label {
  margin-left: 20px;
}

.tl-entry-header .tl-select,
.tl-entry .tl-select {
  min-width: 215px;
  max-width: 215px;
}

.tl-entry-header .tl-input,
.tl-entry .tl-input {
  min-width: 100px;
  max-width: 100px;
}

.tl-entry-header .tl-filler,
.tl-entry .tl-filler {
  min-width: 10px;
  max-width: 10px;
}

.resp-notes-column {
  overflow: auto;
}

.bc-entry .bc-input {
  display: inline-flex;
  align-items: center;
  position: relative;
}

.bc-entry .bc-input > .basic-input.small {
  width: 130px;
  height: 38px;
  line-height: 38px;
  padding: 0 28px 0 13px;
  box-sizing: border-box;
}

.bc-entry .bc-input-bf {
  display: inline-flex;
  align-items: center;
  position: relative;
  margin-left: 0 !important;
}

.bc-entry .bc-input-bf > .basic-input.small {
  width: 80px;
  height: 38px;
  line-height: 38px;
  padding: 0 28px 0 13px;
  box-sizing: border-box;
}

.bc-entry .bc-unit {
  margin-left: -34px;
  pointer-events: none;
  font-size: 18px;
  line-height: 38px;
  color: #bbb;
  white-space: nowrap;
}

.bc-entry .bc-unit-bf {
  margin-left: -24px;
  pointer-events: none;
  font-size: 18px;
  line-height: 38px;
  color: #bbb;
  white-space: nowrap;
}

.tl-entry .tl-select-input {
  position: relative;
  border: 2px solid #d8d8d8;
  border-radius: 4px;
  padding: 5px 13px;
  font-size: 16px;
}

.tl-entry .tl-select-input .select-toggle {
  min-width: 185px;
  max-width: 185px;
}

.tl-entry .tl-select-input .select-toggle i {
  position: absolute;
  top: 14px;
  right: 10px;
  font-size: 6px;
}

.tl-entry .tl-select-input .options {
  position: absolute;
  top: 37px;
  left: 0px;
  overflow-y: auto;
  background-color: #dfdfdf;
  min-width: 220px;
  max-height: 180px;
  z-index: 2;
}

.tl-entry .tl-select-input .options > div {
  margin-top: 1px;
  margin-bottom: 3px;
  padding-left: 12px;
  min-height: 28px;
  line-height: 28px;
  cursor: pointer;
}

.tl-entry .tl-select-input .options > div:hover {
  background-color: #efefef;
}

.tl-entry .tl-input > .basic-input.small {
  width: 100px;
}

.tl-entry .tl-calculated-load > .basic-input.small {
  width: 100px;
  border: none;
  border-radius: 0;
  border-bottom: 1px solid #cdcdcd;
}

.tl-entry .tl-delete {
  font-size: 20px;
  color: #9768EB;
  cursor: pointer;
}

.bc-free-form,
.tl-free-form {
  width: 75%;
  font-size: 16px;
}

@media (max-width: 768px) {
  .bc-free-form,
  .tl-free-form {
    width: 100%;
  }
}

.soap-date > * {
  width: 170px;
}

.soap-date .date-input > .input-icon {
  -webkit-justify-content: center;
  justify-content: center;
  min-height: 35px;
  min-width: 40px;
  max-width: 40px;
  margin-right: 3px;
  background-color: #9768EB;
  border-top-right-radius: 4px;
  border-bottom-right-radius: 4px;
  font-size: 20px;
  color: #ffffff;
}

.soap-text-container {
  page-break-inside: avoid;
}

.soap-treatments .checkbox-input {
  margin-bottom: 8px;
}

.soap-treatments .soap-treatment-options {
  padding-left: 24px;
}

.soap-treatments .soap-treatment-options .checkbox-input {
  margin-bottom: 8px;
}

.soap-treatments .soap-treatment-text {
  padding-left: 24px;
}

.soap-treatments .soap-treatment-text .basic-input {
  width: 180px;
  margin-bottom: 8px;
}

.soap-objective.field div textarea {
  height: 85px;
  margin-bottom: 10px;
}

.fa-notes {
  margin: -10px 0px 0px 12px;
  color: #9768EB;
  font-size: 7px;
}

@media (max-width: 568px) {
  .resp-form-post-buttons {
    -webkit-flex-direction: column;
    flex-direction: column;
    margin: 20px 0 60px 0 !important;
    gap: 8px;
    width: 100%;
  }

  .resp-form-post-buttons > button {
    width: 100% !important;
    margin: 0 !important;
  }
}

.time-span-question {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
}

.time-container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: flex-start;
  align-items: flex-start;
  margin-top: 24px;
}

.time-label {
  width: 103px;
  display: block;
  font-size: 13px;
  letter-spacing: .21px;
  line-height: 19px;
  color: #6C6D6C;
  text-transform: uppercase;
}

.button-select {
  display: inline-block;
  cursor: pointer;
}

.button-select + .button-select {
  margin-left: 6px;
}

.button-select.secondary .select-trigger {
  background: #D9DBDC;
}

.button-select.small .select-trigger {
  width: 69px;
}

.button-select.indented .select-trigger {
  padding-left: 15px;
}

.button-select .select-trigger {
  color: #fff;
  background: #9768EB;
  border-radius: 3px;
  width: 69px;
  position: relative;
}

.button-select .select-trigger .current-selection {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  padding: 10px 8px 10px 10px;
}

.button-select .select-trigger .current-selection .current {
  font-size: 13px;
  letter-spacing: 1px;
  line-height: 14px;
  font-weight: bold;
  color: #fff;
}

.button-select .select-trigger .current-selection .icon-caret-down {
  font-size: 5px;
  bottom: -4px;
  position: relative;
}

.button-select .select-trigger .time-options-hidden {
  display: none;
}

.button-select .select-trigger .time-options {
  color: #9768EB;
  border-color: #9768EB;
  background: #fff;
  font-size: 13px;
  letter-spacing: 1px;
  line-height: 17px;
  font-weight: bold;
  border-style: solid;
  border-top-width: 0px;
  border-radius: 0px 0px 3px 3px;
  width: 69px;
  position: absolute;
  z-index: 10;
}

.button-select .select-trigger .time-options.secondary {
  color: #D9DBDC;
  border-color: #D9DBDC;
}

.button-select .select-trigger .time-options.secondary .time-option:hover {
  color: #fff;
  background: #D9DBDC;
}

.button-select .select-trigger .time-options .time-option {
  padding: 3px 14px 3px 7px;
}

.button-select .select-trigger .time-options .time-option:hover {
  color: #fff;
  background: #9768EB;
}

.tooltipHidden {
  display: none;
}

.tooltip,
.tooltip-right,
.tooltip-bottom,
.tooltip-autoschedule,
.tooltip-left {
  position: absolute;
  min-width: 300px;
  max-width: 360px;
  width: max-content;
  width: -webkit-max-content;
  min-height: 72px;
  top: -130%;
  left: 65px;
  z-index: 10;
  border-radius: 6px;
  padding: 20px 25px;
  font-size: 16px;
  font-family: Nudista-web;
  background-color: #2e2e2e;
  color: white;
  line-height: 24px;
  text-align: left;
  letter-spacing: .35px;
}

.tooltip .ttContent,
.tooltip-right .ttContent,
.tooltip-bottom .ttContent,
.tooltip-autoschedule .ttContent,
.tooltip-left .ttContent {
  color: #929392;
  font-weight: 400;
  text-transform: none;
}

.tooltip .ttTitle,
.tooltip-right .ttTitle,
.tooltip-bottom .ttTitle,
.tooltip-autoschedule .ttTitle,
.tooltip-left .ttTitle {
  height: 40px;
  text-transform: none;
}

@media (max-width: 768px) {
  .tooltip,
  .tooltip-right,
  .tooltip-bottom,
  .tooltip-autoschedule,
  .tooltip-left {
    font-size: 14px;
    padding: 15px 18px;
  }
}

.tooltip-bottom {
  top: 55px;
  left: -125px;
}

.tooltip-autoschedule {
  left: -85px;
  top: -290px;
}

.tooltip-left {
  left: inherit;
  right: 45px;
}

.tooltip:after,
.tooltip-right:after,
.tooltip-bottom:after,
.tooltip-autoschedule:after,
.tooltip-left:after {
  position: absolute;
  left: -20px;
  top: 15px;
  border-color: transparent #2e2e2e;
  border-style: solid;
  border-width: 20px 20px 20px 0px;
  height: 0px;
  width: 0px;
  content: " ";
}

@media (max-width: 768px) {
  .tooltip:after,
  .tooltip-right:after,
  .tooltip-bottom:after,
  .tooltip-autoschedule:after,
  .tooltip-left:after {
    display: none;
  }
}

.tooltip-bottom:after {
  left: 130px;
  top: -20px;
  border-color: #2e2e2e transparent;
  border-width: 0px 20px 20px 20px;
}

.tooltip-autoschedule:after {
  left: 160px;
  top: 250px;
  border-color: #2e2e2e transparent;
  border-width: 20px 20px 0px 20px;
}

.tooltip-left:after {
  left: inherit;
  right: -20px;
  border-width: 20px 0px 20px 20px;
}

.tooltipClose {
  float: right;
  padding: 0px 10px 3px 0px;
  color: lightblue;
  cursor: default;
  font-size: 24px;
}

.chart-tooltip {
  position: absolute;
  min-width: 255px;
  max-width: 300px;
  min-height: 100px;
  padding: 10px;
  background-color: #2e2e2e;
  z-index: 1;
  cursor: default;
  pointer-events: none;
}

.chart-tooltip .header {
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  text-align: center;
  color: #efefef;
}

.chart-tooltip .content {
  font-size: 13px;
  margin-top: 6px;
  margin-bottom: 6px;
}

.chart-tooltip .content > div {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  min-height: 20px;
  max-height: 20px;
}

.chart-tooltip .content > div > i {
  min-width: 16px;
}

.chart-tooltip .content > div > div {
  margin-left: 6px;
}

.chart-tooltip .content > div.completed {
  color: #16884e;
}

.chart-tooltip.hidden {
  visiblity: hidden;
}

.chart-tooltip.bottom:after {
  position: absolute;
  width: 0px;
  height: 0px;
  margin: auto;
  border-style: solid;
  content: '';
  left: 0;
  right: 0;
  bottom: -8px;
  border-color: #2e2e2e transparent;
  border-width: 10px 10px 0 10px;
}

.chart-tooltip.bottom-left:after {
  position: absolute;
  width: 0px;
  height: 0px;
  margin: auto;
  border-style: solid;
  content: '';
  left: 10px;
  bottom: -8px;
  border-color: #2e2e2e transparent;
  border-width: 10px 10px 0 10px;
}

.chart-tooltip.bottom-right:after {
  position: absolute;
  width: 0px;
  height: 0px;
  margin: auto;
  border-style: solid;
  content: '';
  right: 10px;
  bottom: -8px;
  border-color: #2e2e2e transparent;
  border-width: 10px 10px 0 10px;
}

.chart-tooltip.top:after {
  position: absolute;
  width: 0px;
  height: 0px;
  margin: auto;
  border-style: solid;
  content: '';
  left: 0;
  right: 0;
  top: -8px;
  border-color: #2e2e2e transparent;
  border-width: 0 10px 10px 10px;
}

.chart-tooltip.top-left:after {
  position: absolute;
  width: 0px;
  height: 0px;
  margin: auto;
  border-style: solid;
  content: '';
  left: 10px;
  top: -8px;
  border-color: #2e2e2e transparent;
  border-width: 0 10px 10px 10px;
}

.chart-tooltip.top-right:after {
  position: absolute;
  width: 0px;
  height: 0px;
  margin: auto;
  border-style: solid;
  content: '';
  right: 10px;
  top: -8px;
  border-color: #2e2e2e transparent;
  border-width: 0 10px 10px 10px;
}

.chart-tooltip.left:after {
  position: absolute;
  width: 0px;
  height: 0px;
  margin: auto;
  border-style: solid;
  content: '';
  top: 0;
  bottom: 0;
  left: -8px;
  border-color: transparent #2e2e2e;
  border-width: 10px 10px 10px 0;
}

.chart-tooltip.right:after {
  position: absolute;
  width: 0px;
  height: 0px;
  margin: auto;
  border-style: solid;
  content: '';
  top: 0;
  bottom: 0;
  right: -8px;
  border-color: transparent #2e2e2e;
  border-width: 10px 0 10px 10px;
}

.fa {
  transform: none !important;
}

.upload-container .upload-section {
  max-height: 200px;
  min-height: 200px;
  height: 200px;
  max-width: 400px;
  min-width: 400px;
  width: 400px;
  border: 2px dashed #ddd;
  font-size: 20px;
  color: #bbb;
  cursor: pointer;
  position: relative;
}

.upload-container .upload-section > .upload-message {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
  text-align: center;
}

.upload-container .upload-section > .upload-preview {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 2;
  background-color: #fefefe;
}

.upload-container > input[type='file'] {
  opacity: 0;
}

div.image-control {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  max-height: 280px;
  min-height: 280px;
  height: 280px;
  margin-top: 40px;
}

div.image-control .image-label {
  padding-top: 40px;
}

div.image-control .silent-file-input {
  width: 240px;
}

.image-buttons button {
  max-height: 25px;
  min-height: 25px;
  height: 25px;
  max-width: 85px;
  min-width: 85px;
  width: 85px;
  font-size: 11px;
}

.active-upload {
  max-width: 350px;
  min-width: 350px;
  width: 350px;
}

.active-upload .file-info {
  margin-bottom: 10px;
  font-size: 14px;
}

.active-upload .file-info .file-info-size {
  font-size: 12px;
}

.active-upload .progress-bar-container {
  max-height: 18px;
  min-height: 18px;
  height: 18px;
  border-radius: 6px;
  background-color: #dedede;
}

.active-upload .progress-bar-container > .progress-bar {
  max-height: 18px;
  min-height: 18px;
  height: 18px;
  border-radius: 6px;
  background-color: #9768EB;
  font-size: 12px;
  font-weight: 600;
  color: #efefef;
  text-indent: 6px;
}

.active-upload .progress-bar-container > .progress-bar.success {
  background-color: #9768EB;
}

.active-upload .progress-bar-container > .progress-bar.error {
  background-color: #af0a2f;
}

.active-upload .message {
  margin-top: 10px;
}

.exercise_container {
  -webkit-flex: 1 0 400px;
  -ms-flex: 1 0 400px;
  flex: 1 0 400px;
  position: relative;
}

.exercise_nav {
  -webkit-flex: 1 0 400px;
  -ms-flex: 1 0 400px;
  flex: 1 0 400px;
  max-width: 400px;
  min-width: 400px;
  width: 400px;
  background-color: #ffffff;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}

.exercise_nav .search {
  max-height: 50px;
  min-height: 50px;
  height: 50px;
  border-bottom: 1px solid #bbb;
  border-right: 1px solid #bbb;
}

.exercise_nav .search input[type='text'] {
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  border: none;
  font-size: 20px;
  font-weight: 200;
  height: 49px;
  line-height: 20px;
  text-indent: 15px;
  outline: none;
}

.exercise_nav .search button[type='reset'] {
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  max-width: 60px;
  min-width: 60px;
  width: 60px;
  background-color: #bbb;
  border: none;
  color: #fefefe;
  font-size: 12px;
  margin: 0 10px;
  min-height: 30px;
}

.exercise_nav .search button[type='submit'] {
  -webkit-flex: 0;
  -ms-flex: 0;
  flex: 0;
  max-width: 30px;
  min-width: 30px;
  width: 30px;
  background-color: transparent;
  border: none;
  color: #fefefe;
  margin: 0px;
  min-height: 30px;
}

.exercise_nav .search i.fa {
  font-size: 20px;
  color: #bbb;
}

.exercise_nav .add {
  max-height: 50px;
  min-height: 50px;
  height: 50px;
  border-right: 1px solid #bbb;
  border-bottom: 1px solid #bbb;
  padding: 10px;
}

.exercise_nav .add i.fa {
  -webkit-flex: 0.1;
  -ms-flex: 0.1;
  flex: 0.1;
}

.exercise_nav .add strong {
  -webkit-flex: 0.975;
  -ms-flex: 0.975;
  flex: 0.975;
}

.exercise_nav .list {
  -webkit-flex: 1 1 auto;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
  border-right: 1px solid #bbb;
  min-height: 10px;
  overflow-y: auto;
}

.exercise_nav .list > div:not(.filler) {
  -webkit-flex: 0 0 auto;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
  border-bottom: 1px solid #bbb;
}

.exercise_nav .list > div:not(.filler) .detail {
  margin-left: 30px;
  margin-right: 20px;
}

.exercise_nav .list > div:not(.filler) .detail .view-detail {
  border: 1px solid #bbb;
  padding: 4px 8px;
}

.exercise_nav .list > div:not(.filler) .detail .view-detail .icon {
  color: #9768EB;
  font-size: 17px;
  margin: 0 6px;
}

.exercise_nav .list > div:not(.filler) .detail .view-detail .icon.inactive {
  color: #ccc;
}

.exercise_nav .list > div:not(.filler) .detail .body-sides {
  margin: 20px 0;
}

.exercise_nav .list > div:not(.filler) .detail .body-sides > div label span {
  margin-right: 9px;
}

.exercise_nav .list > div:not(.filler) .detail .body-sides > div + div {
  margin-left: 25px;
}

.exercise_nav .list > div:not(.filler) .detail.hidden {
  display: none;
}

.exercise_nav .list > div.filler {
  -webkit-flex: 1 1 100%;
  -ms-flex: 1 1 100%;
  flex: 1 1 100%;
}

@-moz-document url-prefix()  {
  .exercise_nav .list {
    height: 0;
  }
}

.exercise_select {
  -webkit-flex: 1 0 300px;
  -ms-flex: 1 0 300px;
  flex: 1 0 300px;
  background-color: #ffffff;
  overflow-y: auto;
}

.exercise_select .list {
  -webkit-flex: 1 1 auto;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
  min-height: 10px;
  overflow-y: auto;
}

.exercise_select .list > div:not(.filler) {
  -webkit-flex: 0 0 auto;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
  border-bottom: 1px solid #ddd;
}

.exercise_select .list > div:not(.filler) .exercise-item > div {
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
}

.exercise_select .list > div:not(.filler) .exercise-item .name {
  font-size: 18px;
}

.exercise_select .list > div:not(.filler) .exercise-item .circled-icon {
  -webkit-flex: 0 0 auto;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
  font-size: 14px;
  width: 40px;
  height: 40px;
  line-height: 36px;
  text-align: center;
  margin: 0 12px;
}

.exercise_select .list > div:not(.filler) .exercise-item .circled-icon:hover {
  color: #9768EB;
  border-color: #9768EB;
}

.exercise_select .list > div:not(.filler) .detail {
  margin-left: 30px;
  margin-right: 20px;
}

.exercise_select .list > div:not(.filler) .detail .view-detail {
  border: 1px solid #bbb;
  padding: 4px 8px;
}

.exercise_select .list > div:not(.filler) .detail .view-detail .icon {
  color: #9768EB;
  font-size: 17px;
  margin: 0 6px;
}

.exercise_select .list > div:not(.filler) .detail .view-detail .icon.inactive {
  color: #ccc;
}

.exercise_select .list > div:not(.filler) .detail .body-sides {
  margin: 20px 0;
}

.exercise_select .list > div:not(.filler) .detail .body-sides > div label span {
  margin-right: 9px;
}

.exercise_select .list > div:not(.filler) .detail .body-sides > div + div {
  margin-left: 25px;
}

.exercise_select .list > div:not(.filler) .detail.hidden {
  display: none;
}

.exercise_select .list > div.filler {
  -webkit-flex: 1 1 100%;
  -ms-flex: 1 1 100%;
  flex: 1 1 100%;
}

@-moz-document url-prefix()  {
  .exercise_select .list {
    height: 0;
  }
}

.filters {
  max-height: 100px;
  min-height: 100px;
  height: 100px;
}

.filters > fusion-drop-down,
.filters > fusion-ordered-drop-down,
.filters > div {
  -webkit-flex: 1 0 50%;
  -ms-flex: 1 0 50%;
  flex: 1 0 50%;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  /***** NOTE ******
    since the height is being recalculated
    only set the min-height
    @include lock-height(50px);
    ***** EBD NOTE ******/
  max-width: 50%;
  min-height: 50px;
  position: relative;
  border-bottom: 1px solid #bbb;
  border-right: 1px solid #bbb;
  padding-left: 20px;
  padding-right: 10px;
}

.filters > fusion-drop-down .select-toggle,
.filters > fusion-ordered-drop-down .select-toggle,
.filters > div .select-toggle {
  width: 100%;
  cursor: pointer;
}

.filters > fusion-drop-down .select-toggle.disabled,
.filters > fusion-ordered-drop-down .select-toggle.disabled,
.filters > div .select-toggle.disabled {
  cursor: default;
}

.filters > fusion-drop-down .select-toggle.disabled span,
.filters > fusion-ordered-drop-down .select-toggle.disabled span,
.filters > div .select-toggle.disabled span {
  font-style: italic;
}

.filters > fusion-drop-down .select-toggle.disabled i,
.filters > fusion-ordered-drop-down .select-toggle.disabled i,
.filters > div .select-toggle.disabled i {
  display: none;
}

.filters > fusion-drop-down .select-toggle span,
.filters > fusion-ordered-drop-down .select-toggle span,
.filters > div .select-toggle span {
  -webkit-flex: 0.9;
  -ms-flex: 0.9;
  flex: 0.9;
}

.filters > fusion-drop-down .select-toggle i.fa,
.filters > fusion-ordered-drop-down .select-toggle i.fa,
.filters > div .select-toggle i.fa {
  -webkit-flex: 0.1;
  -ms-flex: 0.1;
  flex: 0.1;
}

.filters > fusion-drop-down .options,
.filters > fusion-ordered-drop-down .options,
.filters > div .options {
  position: absolute;
  top: 50px;
  left: 0;
  background-color: #ffffff;
  border-color: #999;
  box-shadow: 0 6px 10px 0 #999;
  max-height: 215px;
  min-width: 100%;
  overflow-y: scroll;
  z-index: 3;
}

.filters > fusion-drop-down .options > div,
.filters > fusion-ordered-drop-down .options > div,
.filters > div .options > div {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  min-height: 28px;
  padding: 0 10px;
  white-space: nowrap;
}

.filters > fusion-drop-down .options > div:hover,
.filters > fusion-ordered-drop-down .options > div:hover,
.filters > div .options > div:hover {
  background-color: #ccc;
}

.filters > fusion-drop-down > div,
.filters > fusion-ordered-drop-down > div {
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  max-height: 48px;
  min-height: 48px;
  height: 48px;
}

.filters > fusion-drop-down.required .select-toggle > span,
.filters > fusion-ordered-drop-down.required .select-toggle > span {
  color: #ff0000;
}

.exercise-item {
  max-height: 45px;
  min-height: 45px;
  height: 45px;
  background-color: #ffffff;
  margin: 10px;
}

.exercise-item .icon {
  -webkit-flex: 0.1;
  -ms-flex: 0.1;
  flex: 0.1;
}

.exercise-item .icon.toggle {
  max-height: 30px;
  min-height: 30px;
  height: 30px;
  max-width: 30px;
  min-width: 30px;
  width: 30px;
  font-size: 6px;
}

.exercise-item .icon.toggle.down {
  -webkit-transform: rotate(0deg);
  transform: rotate(0deg);
  padding-top: 24px;
}

.exercise-item .icon.toggle.right {
  -webkit-transform: rotate(-90deg);
  transform: rotate(-90deg);
}

.exercise-item .name {
  -webkit-flex: 0.9;
  -ms-flex: 0.9;
  flex: 0.9;
}

.exercise-item .name .no-wrap-ellipse {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.exercise-item.active-item {
  z-index: 1;
}

.exercise-item.active-item .icon {
  visibility: hidden;
}

.exercise-item.dragging-element {
  max-height: 65px;
  min-height: 65px;
  height: 65px;
  transform: scale(1.1, 1.1) !important;
  transform-origin: right center !important;
}

.exercise-item.dragging-element .icon {
  visibility: hidden;
}

.no-match {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  max-height: 50px;
  min-height: 50px;
  height: 50px;
  font-size: 16px;
  font-weight: 600;
  margin: 10px;
}

/* modal junk */

.modal-container.modal-exercise-detail header {
  /* @include lock-height(75px); */
  border: none;
}

.modal-container.modal-exercise-detail header label {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  font-size: 18px;
}

.modal-container.modal-exercise-detail footer {
  max-height: 75px;
  min-height: 75px;
  height: 75px;
  border: none;
}

.modal-container.modal-exercise-detail section {
  -webkit-align-items: stretch;
  align-items: stretch;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  margin: 0;
  min-height: 0;
  min-width: 600px;
}

.modal-container.modal-exercise-detail section:first-of-type {
  margin-top: 10px;
}

.modal-container.modal-exercise-detail section:last-of-type {
  margin-top: 20px;
  margin-bottom: 40px;
}

.modal-container.modal-exercise-detail section.video-view {
  max-width: 600px;
  min-width: 600px;
}

.modal-container.modal-exercise-detail section.image-view {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-justify-content: center;
  justify-content: center;
}

.modal-container.modal-exercise-detail section.image-view > img {
  max-width: 360px;
  min-width: 360px;
}

.modal-container.modal-exercise-detail .missing-media {
  width: 100%;
  border: 1px solid #efefef;
  color: #dedede;
  font-size: 24px;
  font-weight: 300;
}

.modal-container.modal-exercise-form header {
  border: none;
}

.modal-container.modal-exercise-form header label {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  font-size: 18px;
}

.modal-container.modal-exercise-form footer {
  max-height: 75px;
  min-height: 75px;
  height: 75px;
  border: none;
}

.modal-container.modal-exercise-form footer.smaller {
  margin-top: 5px;
}

.modal-container.modal-exercise-form form label button[type='reset'] {
  background-color: #dedede;
  border: none;
  border-radius: 4px;
  color: #fefefe;
  font-size: 13px;
  font-weight: bold;
  height: 33px;
  line-height: 33px;
  margin: 0px 10px;
  margin-left: 7px;
  min-height: 30px;
  min-width: auto;
  width: auto;
}

.modal-container.modal-exercise-form section {
  -webkit-align-items: stretch;
  align-items: stretch;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  margin: 0;
  min-height: 0;
  min-width: 600px;
}

.modal-container.modal-exercise-form section:first-of-type {
  margin-top: 10px;
}

.modal-container.modal-exercise-form section:last-of-type {
  margin-top: 20px;
  margin-bottom: 40px;
}

.modal-container.modal-exercise-form section .filters {
  background-color: #f9f9f9;
  width: 100%;
}

.modal-container.modal-exercise-form section span {
  font-size: 16px;
}

.modal-container.modal-exercise-form section > span {
  margin: 10px;
  margin-left: 40px;
}

.modal-container.modal-exercise-form section > span.modal-error {
  margin-left: 230px;
  color: red;
}

.modal-container.modal-exercise-form section textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  border: 1px solid #bbb;
  font-size: 16px;
  font-weight: normal;
  margin: 10px 40px 10px 0;
  height: 140px;
  outline: 0;
  padding-top: 4px;
  padding-left: 4px;
}

.modal-container.modal-exercise-form section textarea.large {
  min-height: 300px;
}

.modal-container.modal-exercise-form section textarea.larger {
  min-height: 450px;
}

.modal-container.modal-exercise-form section label {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  -webkit-align-self: stretch;
  align-self: stretch;
  position: relative;
  border-top: 1px solid #bbb;
  min-height: 25px;
}

.modal-container.modal-exercise-form section label:last-of-type {
  border-bottom: 1px solid #bbb;
}

.modal-container.modal-exercise-form section label span {
  margin: 10px;
  margin-left: 40px;
  min-width: 150px;
}

.modal-container.modal-exercise-form section label input {
  -webkit-flex: 1 1 50%;
  -ms-flex: 1 1 50%;
  flex: 1 1 50%;
  border: none;
  font-size: 16px;
  line-height: 30px;
  margin: 1px;
  outline: 0;
}

.modal-container.modal-exercise-form section label select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  -webkit-flex: 1 1 auto;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
  -webkit-align-self: stretch;
  align-self: stretch;
  background-color: transparent;
  border: none;
  border-left: 1px solid #bbb;
  border-radius: 0;
  margin: 1px;
  outline: 0;
  text-indent: 10px;
}

.modal-container.modal-exercise-form section label select:focus {
  outline: 0;
}

.modal-container.modal-exercise-form section label select:-moz-focusring {
  color: transparent;
  text-shadow: 0 0 0 #000;
}

.modal-container.modal-exercise-form section label select::-ms-expand {
  display: none;
}

.modal-container.modal-exercise-form section label select + i.fa {
  position: absolute;
  top: 0;
  right: 20px;
  bottom: 0;
  color: #ccc;
  font-size: 16px;
  width: 20px;
  height: 20px;
  margin: auto 0;
  pointer-events: none;
  text-align: center;
}

.modal-container.modal-exercise-form section.single-line-form-fields label .body-sides > div label {
  border: none;
}

.modal-container.modal-exercise-form section.single-line-form-fields label .body-sides > div span {
  font-size: 18px;
  margin: 0;
  min-width: 0;
}

.modal-container.modal-exercise-form section.single-line-form-fields label .body-sides > div i {
  font-size: 18px;
  margin-left: 10px;
  cursor: pointer;
}

.modal-container.modal-exercise-form section.single-line-form-fields label .body-sides > div + div {
  margin-left: 25px;
}

.modal-container.modal-exercise-form section.single-line-form-fields .even-cols label {
  border-top: none;
  border-bottom: none;
}

.modal-container.modal-exercise-form section.single-line-form-fields .even-cols label > select {
  border-left: none;
  text-indent: 40px;
  font-size: 18px;
  color: #75777a;
}

.modal-container.modal-exercise-form section.single-line-form-fields .even-cols label + label > select {
  border-left: 1px solid #ebebeb;
}

.modal-container.modal-exercise-form .week-selection {
  padding: 5px 15px;
  cursor: default;
}

.modal-container.modal-exercise-form .week-selection > div {
  margin: 0 10px;
  min-height: 28px;
  font-size: 18px;
  color: #a0a4a8;
  border-bottom: 2px solid transparent;
  cursor: pointer;
}

.modal-container.modal-exercise-form .week-selection > div.active {
  color: #75777a;
  border-bottom-color: #9768EB;
}

/* drag-n-drop junk */

/* should be moved to own file (clearly) */

.drag-hidden {
  visibility: hidden;
}

.drag-move-scroll-anchor {
  position: fixed;
  left: 0;
  right: 0;
  background-color: rgba(155, 155, 155, 0.275);
  height: 20px;
  z-index: 1;
}

.drag-move-scroll-anchor.top {
  top: 0;
}

.drag-move-scroll-anchor.bottom {
  bottom: 0;
}

.drop-hidden {
  display: none;
}

.drop-target:not(.drop-empty) {
  border: 2px dashed #cdd3d7;
}

.drop-target.drop-target-over:not(.add-section) {
  border: 2px dashed #4cbb17 !important;
}

.drop-target.drop-target-over.add-section > div {
  border-color: #4cbb17 !important;
}

.drop-target.drop-target-over .add-exercise {
  display: none;
}

.dragging-element {
  position: absolute;
  border: 2px solid #888;
  transform: scale(0.9, 0.9) !important;
  transform-origin: left center !important;
  z-index: 10;
  pointer-events: none;
}

@media (max-width: 768px) {
  .resp-program-menu {
    flex-direction: column;
    justify-content: flex-start;
  }

  .resp-program-menu .catalog_container > div {
    position: static;
    overflow: visible;
  }

  .resp-program-menu .opened-container,
  .resp-program-menu .closed-container {
    flex: none;
    height: auto;
    max-height: none;
  }

  .resp-program-menu .catalog-banner,
  .resp-program-menu .catalog-search,
  .resp-program-menu .catalog_nav_wrapper {
    height: auto;
  }

  .resp-program-menu .catalog_container {
    flex: none;
    min-height: auto;
    height: auto;
    position: static;
  }

  .resp-program-menu ul.catalog_nav {
    margin-bottom: 20px;
  }
}

.catalog_container {
  -webkit-flex: 1 0 350px;
  -ms-flex: 1 0 350px;
  flex: 1 0 350px;
  min-height: 500px;
  position: relative;
}

.catalog_container > div.catalog-scrollable {
  overflow-y: auto;
}

.catalog_container > div {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  overflow: hidden;
}

.catalog_container > div > div.opened-container {
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  height: 100%;
}

.catalog_container > div > div.closed-container {
  -webkit-flex: 1 1 52px;
  -ms-flex: 1 1 52px;
  flex: 1 1 52px;
  max-height: 52px;
}

.catalog-banner {
  max-height: 50px;
  min-height: 50px;
  height: 50px;
  border-right: 1px solid #ebebeb;
  background-color: #9768EB;
  margin: 1px 0;
}

.catalog-banner i.circled-icon {
  margin: 0 15px;
  border: 2px solid #9768EB;
  color: #9768EB;
}

.catalog-banner span {
  color: #efefef;
  font-size: 16px;
}

.catalog-search {
  max-height: 50px;
  min-height: 50px;
  height: 50px;
  border-right: 1px solid #ebebeb;
}

.catalog-search form {
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  background-color: #fefefe;
}

.catalog-search form input[type='text'] {
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  background-color: transparent;
  border: none;
  font-size: 20px;
  font-weight: 500;
  height: 49px;
  letter-spacing: 0.39px;
  text-indent: 15px;
  outline: none;
}

.catalog-search form button[type='reset'] {
  background-color: #dedede;
  border: none;
  border-radius: 4px;
  color: #fefefe;
  font-size: 13px;
  font-weight: bold;
  height: 33px;
  line-height: 33px;
  margin: 0px 10px;
  margin-left: 7px;
  min-height: 30px;
  min-width: auto;
  width: auto;
}

.catalog_nav_wrapper {
  height: 100%;
}

.catalog_nav {
  max-width: 350px;
  min-width: 350px;
  width: 350px;
  background-color: #ffffff;
  border-right: 1px solid #ebebeb;
  overflow-y: auto;
  height: auto;
}

.catalog_nav .category-icon {
  margin: 0 18px;
  min-width: 20px;
  font-size: 24px;
}

.catalog_nav .add-icon {
  font-size: 12px;
  margin: 0 15px;
  min-width: 12px;
}

ul.catalog_nav {
  list-style: none;
  margin: 0;
  padding: 0;
}

ul.catalog_nav li {
  background-color: #f0f0f0;
  font-size: 18px;
  font-weight: 400;
  margin: 5px 0;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-justify-content: center;
  justify-content: center;
  cursor: pointer;
}

ul.catalog_nav li > span {
  min-height: 45px;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
}

ul.catalog_nav li .category-state {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: flex-end;
  justify-content: flex-end;
  -webkit-flex: 1 1 auto;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
  font-size: 12px;
  margin: 0 20px;
  min-width: 12px;
}

ul.catalog_nav li .category-open .category-state:before {
  content: "\E620";
}

ul.catalog_nav li .category-close .category-state:before {
  content: "\E62F";
}

ul.catalog_nav li.exercise-technique > span {
  text-indent: 20px;
  font-size: 16px;
}

ul.catalog_nav li.exercise-technique > ul {
  padding: 0;
}

ul.catalog_nav li.exercise-technique > ul li {
  font-weight: normal;
  min-height: 24px;
}

ul.catalog_nav li.exercise-technique > ul li:hover {
  text-decoration: underline;
}

ul.catalog_nav li.exercise-technique > ul li > span {
  min-height: 24px;
  text-indent: 30px;
  text-transform: none;
}

ul.catalog_nav li > ul {
  background-color: #fff;
  margin: 0;
  padding: 10px 0 0 0;
}

ul.catalog_nav li > ul li {
  background-color: #fff;
  font-size: 12px;
  font-weight: 600;
}

ul.catalog_nav li > ul li > span {
  min-height: 30px;
  text-indent: 30px;
  text-transform: uppercase;
}

ul.catalog_nav li > ul li > ul {
  padding: 0;
}

ul.catalog_nav li > ul li > ul li {
  font-weight: normal;
  min-height: 30px;
  text-indent: 50px;
}

ul.catalog_nav li > ul li > ul li:hover {
  text-decoration: underline;
}

.login-container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #efefef;
}

.login-container .login-modal {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-justify-content: center;
  justify-content: center;
  max-width: 476px;
  min-width: 476px;
  width: 476px;
  background-color: #FCFCFC;
  border: 1px solid #efefef;
  border-radius: 6px;
  padding: 47px 0 22px;
}

.login-container .login-modal > img {
  -webkit-align-self: center;
  align-self: center;
}

.login-container .login-modal .login-banner {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-justify-content: center;
  justify-content: center;
  font-size: 32px;
  margin: 28px 15px 30px;
  color: #9768EB;
}

.login-container .login-modal .login-form {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-align-content: center;
  align-content: center;
  -webkit-justify-content: center;
  justify-content: center;
}

.login-container .login-modal .login-form > input::-ms-clear {
  display: none;
}

.login-container .login-modal .login-form > input {
  max-height: 51px;
  min-height: 51px;
  height: 51px;
  border-top: 1px solid #ddd;
  border-left: none;
  border-right: none;
  border-bottom: 1px solid #ddd;
  border-radius: 0;
  text-align: center;
}

.login-container .login-modal .login-form > input::-webkit-input-placeholder {
  color: #75777A;
  text-align: center;
  opacity: 1;
  font-size: 15px;
}

.login-container .login-modal .login-form > input:-moz-placeholder {
  color: #75777A;
  text-align: center;
  opacity: 1;
  font-size: 15px;
}

.login-container .login-modal .login-form > input::-moz-placeholder {
  color: #75777A;
  text-align: center;
  opacity: 1;
  font-size: 15px;
}

.login-container .login-modal .login-form > input:-ms-input-placeholder {
  color: #75777A;
  text-align: center;
  opacity: 1;
  font-size: 15px;
}

.login-container .login-modal .login-form > input + input {
  border-top: 0;
}

.login-container .login-modal .login-form .login-buttons {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-justify-content: space-evenly;
  justify-content: space-evenly;
  margin: 0px 30px;
}

.login-container .login-modal .login-form .login-buttons > button {
  -webkit-align-self: center;
  align-self: center;
  max-height: 57px;
  min-height: 57px;
  height: 57px;
  width: 100%;
}

.login-container .login-modal .reset-form {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-align-content: center;
  align-content: center;
  -webkit-justify-content: center;
  justify-content: center;
}

.login-container .login-modal .reset-form > input::-ms-clear {
  display: none;
}

.login-container .login-modal .reset-form > input {
  margin: 28px 0 0;
  max-height: 51px;
  min-height: 51px;
  height: 51px;
  border-top: 1px solid #ddd;
  border-left: none;
  border-right: none;
  border-bottom: 1px solid #ddd;
  border-radius: 0;
  text-align: center;
}

.login-container .login-modal .reset-form > input::-webkit-input-placeholder {
  color: #75777A;
  text-align: center;
  opacity: 1;
}

.login-container .login-modal .reset-form > input:-moz-placeholder {
  color: #75777A;
  text-align: center;
  opacity: 1;
}

.login-container .login-modal .reset-form > input::-moz-placeholder {
  color: #75777A;
  text-align: center;
  opacity: 1;
}

.login-container .login-modal .reset-form > input:-ms-input-placeholder {
  color: #75777A;
  text-align: center;
  opacity: 1;
}

.login-container .login-modal .reset-form > input + input {
  border-top: 0;
}

.login-container .login-modal .reset-form .secondPassword {
  margin: 0 0 0;
}

.login-container .login-modal .reset-form .button-collection {
  -webkit-align-self: center;
  align-self: center;
  margin: 28px 0 0;
}

.login-container .login-modal .reset-form .button-collection > button {
  max-height: 57px;
  min-height: 57px;
  height: 57px;
  width: 200px;
}

.login-container .login-modal .message {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  margin: 11px 15px;
}

.login-container .login-modal .description {
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  max-height: 70px;
  min-height: 70px;
  height: 70px;
  margin: 11px 15px;
}

.login-container .login-modal .login-link {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-justify-content: center;
  justify-content: center;
  font-size: 12px;
}

.login-container .login-modal .login-link > a {
  color: #aaa;
  word-spacing: 2px;
}

.loginRememberMe {
  margin: 28px 0 0;
  -webkit-align-self: center;
  align-self: center;
  display: block;
}

.loginRememberMe .checkbox-input {
  -webkit-align-items: center;
  align-items: center;
}

.loginRememberMe .checkbox-input i {
  font-size: 25px;
}

.loginRememberMe .checkbox-input span {
  color: #75777A;
}

.loginForgotPassLink {
  margin: 31px 0 0;
  -webkit-align-self: center;
  align-self: center;
  cursor: pointer;
  color: #AAB0B7;
  text-decoration-line: underline;
  font-size: 14px;
}

.loginForgotPassLink a {
  color: inherit;
}

.modal-container section.profile-form {
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  margin: 10px;
  min-width: 400px;
}

.modal-container section.profile-form label {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  -webkit-align-self: stretch;
  align-self: stretch;
  margin: 5px 9px;
  max-width: 325px;
}

.modal-container section.profile-form label span {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-justify-content: flex-end;
  justify-content: flex-end;
  margin-right: 6px;
  min-width: 100px;
}

.modal-container section.profile-form label input {
  width: 100%;
}

.modal-container.modal-athlete-form {
  overflow: auto;
  width: 740px;
}

.modal-container.modal-athlete-form header {
  border: none;
}

.modal-container.modal-athlete-form header label {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  font-size: 18px;
}

.modal-container.modal-athlete-form footer {
  max-height: 75px;
  min-height: 75px;
  height: 75px;
  border: none;
}

.modal-container.modal-athlete-form footer.smaller {
  margin-top: 5px;
}

.modal-container.modal-athlete-form section {
  -webkit-align-items: stretch;
  align-items: stretch;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  margin: 0;
  min-height: 0;
  min-width: 600px;
}

.modal-container.modal-athlete-form section:first-of-type {
  margin-top: 10px;
  border-bottom: 1px solid #ebebeb;
}

.modal-container.modal-athlete-form section:not(:first-of-type) {
  margin-top: 20px;
}

.modal-container.modal-athlete-form section div.section-label {
  margin-left: 40px;
  margin-bottom: 10px;
  font-size: 13px;
  color: #75777A;
  letter-spacing: 0.32px;
  line-height: 27px;
  font-weight: bold;
  text-transform: uppercase;
}

.modal-container.modal-athlete-form section div.options-container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-justify-content: center;
  justify-content: center;
}

.modal-container.modal-athlete-form section div.option-container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  margin-left: 40px;
  padding-bottom: 35px;
}

.modal-container.modal-athlete-form section div.option-container div.option-label {
  font-size: 13px;
  max-width: 115px;
  min-width: 115px;
  width: 115px;
}

.modal-container.modal-athlete-form section div.option-container div.choices-container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
}

.modal-container.modal-athlete-form section div.option-container div.choices-container .radio-input {
  margin-right: 20px;
}

.modal-container.modal-athlete-form section div.option-container div.choices-container .radio-input > span {
  font-size: 13px;
}

.modal-container.modal-athlete-form section .row-container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
}

.modal-container.modal-athlete-form section .row-container:not(:first-of-type) {
  border-top: 1px solid #ebebeb;
}

.modal-container.modal-athlete-form section .row-container .space-between {
  -webkit-justify-content: space-between;
  justify-content: space-between;
}

.modal-container.modal-athlete-form section > span {
  margin: 10px;
  margin-left: 40px;
}

.modal-container.modal-athlete-form section > span.modal-error {
  margin-left: 230px;
  color: red;
}

.modal-container.modal-athlete-form section .dob-field {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  border-right: 1px solid #ebebeb;
  width: 50%;
}

.modal-container.modal-athlete-form section .dob-field span {
  margin: 10px 10px 10px 40px;
}

.modal-container.modal-athlete-form section .dob-field input {
  border: none;
}

.modal-container.modal-athlete-form section label {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  -webkit-align-self: stretch;
  align-self: stretch;
  -webkit-flex: 1 1 0%;
  -ms-flex: 1 1 0%;
  flex: 1 1 0%;
  position: relative;
  min-height: 25px;
}

.modal-container.modal-athlete-form section label:not(:first-of-type) {
  border-left: 1px solid #ebebeb;
}

.modal-container.modal-athlete-form section label.feet-field {
  -webkit-flex: 0.6 1 0%;
  -ms-flex: 0.6 1 0%;
  flex: 0.6 1 0%;
}

.modal-container.modal-athlete-form section label.inches-field {
  -webkit-flex: 0.395 1 0%;
  -ms-flex: 0.395 1 0%;
  flex: 0.395 1 0%;
}

.modal-container.modal-athlete-form section label span {
  margin: 10px;
  margin-left: 40px;
  font-size: 13px;
  color: #75777A;
  letter-spacing: 0.32px;
  line-height: 27px;
  font-weight: 500;
}

.modal-container.modal-athlete-form section label .invalid-input {
  border: 1px solid red;
}

.modal-container.modal-athlete-form section label .validation-container {
  -webkit-flex: 1 1 auto;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
  -webkit-align-self: stretch;
  align-self: stretch;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
}

.modal-container.modal-athlete-form section label .validation-container .validation-message {
  position: absolute;
  z-index: 10;
  top: 55px;
  padding: 3px 6px;
  border-radius: 5px;
  background-color: #2e2e2e;
  color: white;
  border: 1px solid #2e2e2e;
}

.modal-container.modal-athlete-form section label .validation-container .validation-message:after {
  position: absolute;
  left: 45%;
  top: -10px;
  border-color: #2e2e2e transparent;
  border-style: solid;
  border-width: 0px 10px 10px 10px;
  height: 0px;
  width: 0px;
  content: " ";
}

.modal-container.modal-athlete-form section label .validation-container .validation-message span {
  margin: 0px;
  color: inherit;
  font-weight: inherit;
}

.modal-container.modal-athlete-form section label input {
  -webkit-flex: 1 1 auto;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
  -webkit-align-self: stretch;
  align-self: stretch;
  border: none;
  border-radius: 0px;
  padding: 0px;
  font-size: 13px;
  line-height: 27px;
  outline: 0;
  margin: 1px;
  text-indent: 10px;
}

.modal-container.modal-athlete-form section label input.measurement {
  -webkit-flex: 0 0 auto;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
  max-width: 55px;
  min-width: 55px;
  width: 55px;
}

.modal-container.modal-athlete-form section label .date-input {
  width: 220px;
}

.modal-container.modal-athlete-form section label .imperial-height {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  min-width: 45%;
  position: relative;
}

.modal-container.modal-athlete-form section label .imperial-height.inches {
  min-width: 80%;
}

.modal-container.modal-athlete-form section label select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  -webkit-flex: 1 1 auto;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
  -webkit-align-self: stretch;
  align-self: stretch;
  background-color: transparent;
  border: none;
  border-radius: 0;
  margin: 1px;
  outline: 0;
  text-indent: 10px;
}

.modal-container.modal-athlete-form section label select:focus {
  outline: 0;
}

.modal-container.modal-athlete-form section label select:-moz-focusring {
  color: transparent;
  text-shadow: 0 0 0 #000;
}

.modal-container.modal-athlete-form section label select::-ms-expand {
  display: none;
}

.modal-container.modal-athlete-form section label select + i.icon-caret-down {
  position: absolute;
  top: 25px;
  right: 20px;
  color: #D9DBDC;
  font-size: 6px;
  pointer-events: none;
}

.modal-container.modal-athlete-form section label select + i.icon-caret-down.feet {
  top: 10px;
  right: 35px;
}

.modal-container.modal-athlete-form section label select + i.icon-caret-down.inches {
  top: 10px;
  right: 50px;
}

.modal-container.modal-athlete-form section label select.imperial {
  text-indent: 30px;
}

@media (max-width: 768px) {
  .modal-container.modal-athlete-form {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    border-radius: 0;
    box-shadow: none;
    display: flex;
    flex-direction: column;
    overflow-x: hidden;
    overflow-y: auto;
  }

  .modal-container.modal-athlete-form footer {
    position: sticky;
    bottom: 0;
    background-color: #fff;
    border-top: 1px solid #ebebeb;
    z-index: 1;
  }

  .modal-container.modal-athlete-form section {
    min-width: 0;
  }

  .modal-container.modal-athlete-form section > .row-container:not(.height-fields-row) {
    flex-direction: column;
  }

  .modal-container.modal-athlete-form section > .row-container:not(.height-fields-row) label {
    flex: 1 1 auto;
    min-height: 44px;
  }

  .modal-container.modal-athlete-form section > .row-container:not(.height-fields-row) label:not(:first-of-type) {
    border-left: none;
    border-top: 1px solid #ebebeb;
  }

  .modal-container.modal-athlete-form section .dob-field {
    width: 100%;
    border-right: none;
    border-bottom: 1px solid #ebebeb;
  }

  .modal-container.modal-athlete-form section > .row-container.space-between {
    padding-top: 10px;
  }

  .modal-container.modal-athlete-form section > .row-container.space-between .options-container {
    width: 100%;
  }

  .modal-container.modal-athlete-form section > .row-container.space-between .options-container .option-container {
    margin-left: 40px;
    padding-bottom: 20px;
  }

  .modal-container.modal-athlete-form section > .row-container.space-between .image-control {
    width: 100%;
    padding: 10px 20px 20px 40px;
    border-top: 1px solid #ebebeb;
    margin-top: 0;
  }
}

.select-all {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  margin-bottom: 25px;
}

.select-athlete-list {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-justify-content: center;
  justify-content: center;
  margin: 45px 65px 45px 65px;
  padding: 15px 0px;
  min-height: 80px;
  max-height: 400px;
  min-width: 300px;
  overflow-x: auto;
}

.select-athlete-list .athletes {
  height: 300px;
}

.select-athlete-list .athletes .athlete-name {
  font-size: 13px;
  color: #75777A;
  letter-spacing: 0.32px;
  line-height: 27px;
  font-weight: 500;
  margin-right: 15px;
}

.select-athlete-list .athletes .athlete-name.all {
  font-size: 14px;
}

.modal-container.modal-terms {
  overflow: auto;
  width: 740px;
  padding: 20px 40px;
}

.modal-container.modal-terms footer {
  margin-top: 25px;
}

.modal-container.modal-terms footer button {
  width: auto;
}

.admin-menu {
  -webkit-align-items: flex-end;
  align-items: flex-end;
  max-height: 65px;
  min-height: 65px;
  height: 65px;
}

.admin-menu > div {
  max-height: 40px;
  min-height: 40px;
  height: 40px;
  color: #a0a4a8;
  cursor: default;
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  position: relative;
  letter-spacing: 1px;
}

.admin-menu > div.active {
  border-bottom: 4px solid #9768EB;
  color: #efefef;
}

.admin-menu > div:not(.active):hover {
  border-bottom: 4px solid #a0a4a8;
  cursor: pointer;
}

.admin-menu > div a {
  max-height: 40px;
  min-height: 40px;
  height: 40px;
  border: none;
  color: inherit;
  display: inline-block;
  outline: none;
  text-decoration: none;
}

.admin-menu > div span.marker {
  position: absolute;
  top: 0;
  right: -30px;
  width: 23px;
  height: 22px;
  background-color: #ff0000;
  border-radius: 50%;
  text-align: center;
}

.admin-menu > div + div {
  margin-left: 35px;
}

.admin-sub-menu {
  max-height: 30px;
  min-height: 30px;
  height: 30px;
  color: #a0a4a8;
  cursor: default;
  font-size: 13px;
  font-weight: normal;
  position: relative;
  letter-spacing: 1px;
  margin-top: 10px;
}

.admin-sub-menu > div {
  max-height: 30px;
  min-height: 30px;
  height: 30px;
}

.admin-sub-menu > div.active {
  border-bottom: 2px solid #9768EB;
  color: #efefef;
}

.admin-sub-menu > div:not(.active):hover {
  border-bottom: 2px solid #a0a4a8;
  cursor: pointer;
}

.admin-sub-menu > div + div {
  margin-left: 20px;
}

.tab-menu {
  max-height: 45px;
  min-height: 45px;
  height: 45px;
  max-width: 100px;
  min-width: 100px;
  width: 100px;
  border-top: 1px solid #ddd;
  border-right: 1px solid #ddd;
  padding: 0 10px;
}

.tab-menu span {
  font-weight: 600;
}

.tab-menu.selected {
  background-color: #9768EB;
}

.tab-menu.selected span {
  color: #fefefe;
}

.tab-menu:first-child {
  border-left: 1px solid #ddd;
}

.tab-view {
  border: 1px solid #ccc;
  padding: 5px;
}

.tab-view-list {
  list-style-type: none;
  padding-left: 0;
}

.test-container-header {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  margin-top: 25px;
}

@media (max-width: 768px) {
  .test-container-header {
    -webkit-flex-direction: column;
    flex-direction: column;
  }
}

.test-container-header .title {
  margin: 0;
  font-weight: 500;
  font-size: 34.5px;
  color: #75787B;
  line-height: 40px;
  letter-spacing: -0.6px;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  min-height: 46px;
}

.test-container-header .main-col {
  -webkit-flex: 1 0 auto;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
  padding-right: 20px;
}

.test-container-header .side-col {
  text-align: right;
}

@media (max-width: 768px) {
  .test-container-header .side-col {
    text-align: left;
  }
}

.test-container-header .side-col > div:not([class]) {
  font-size: 16.59px;
  letter-spacing: 0.31px;
  line-height: 22px;
}

.test-result-container {
  margin-bottom: 30px;
}

.test-result-header {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  margin: 0 0 10px;
}

.test-result-header .title {
  font-weight: 500;
  font-size: 34.5px;
  color: #9768EB;
  line-height: 40px;
  margin-bottom: 6px;
  letter-spacing: -0.6px;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  min-height: 46px;
  margin: 0 0 6px;
}

.input-results {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
}

.results-column-container {
  -webkit-column-count: 2;
  -moz-column-count: 2;
  column-count: 2;
  -webkit-column-gap: 4em;
  -moz-column-gap: 4em;
  column-gap: 4em;
}

@media (max-width: 768px) {
  .results-column-container {
    -webkit-column-count: 1;
    -moz-column-count: 1;
    column-count: 1;
  }
}

.exercise-details {
  -webkit-column-break-inside: avoid;
  page-break-inside: avoid-column;
  -moz-column-break-inside: avoid;
  -o-column-break-inside: avoid;
  -ms-column-break-inside: avoid;
  break-inside: avoid-column;
}

.linked-results-header {
  font-weight: 500;
  font-size: 34.5px;
  color: #75787B;
  line-height: 40px;
  letter-spacing: -0.6px;
}

.tested-by {
  font-size: 13px;
  color: #75777A;
  letter-spacing: 0.4px;
  text-transform: uppercase;
  font-weight: bold;
  line-height: 18px;
}

.perform-additional-results {
  background-color: #efefef;
}

.performance-results {
  padding: 80px 0 80px;
  max-width: 778px;
  margin: 0 auto;
}

.performance-results .h2 {
  margin: 0 0 20px;
}

.performance-results section {
  page-break-inside: avoid;
  padding-bottom: 32px;
}

.performance-results section + section {
  padding-top: 32px;
}

.perform-notes-section {
  max-width: 778px;
  margin: 0 auto;
  padding: 0 0 120px 0;
}

.perform-notes-section .header {
  font-size: 13px;
  color: #75777A;
  letter-spacing: 0.4px;
  text-transform: uppercase;
  font-weight: bold;
  line-height: 18px;
  padding: 0 0 12px;
}

.perform-notes-section .prose {
  font-size: 14px;
  font-weight: 500;
  color: #929392;
  line-height: 1.5;
}

.stress-index-block {
  margin-top: 45px;
}

.stress-index-block canvas {
  width: 1124px;
  height: 80px;
}

@media (max-width: 768px) {
  .stress-index-block canvas {
    width: 100%;
    height: auto;
  }
}

.stress-index-block img {
  max-width: 100%;
}

.stress-index-block > .header {
  margin-bottom: 6px;
}

.stress-index-block > .header .title {
  font-weight: 400;
  font-size: 18px;
  color: #75787B;
  letter-spacing: 1px;
  line-height: 1;
  text-transform: uppercase;
  margin: 0 0 18px;
}

.cat-header {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  font-weight: 400;
  font-size: 18px;
  color: #75787B;
  letter-spacing: 1px;
  line-height: 1;
  margin: 40px 0 18px;
}

.cat-score {
  color: #fff;
  padding: 3px 5px;
  margin-left: 20px;
}

.cat-score.green {
  background: #00B96D;
}

.cat-score.green + .dot {
  background: #00B96D;
}

.cat-score.yellow {
  background: #D7BB43;
}

.cat-score.yellow + .dot {
  background: #D7BB43;
}

.cat-score.red {
  background: #D1404B;
}

.cat-score.red + .dot {
  background: #D1404B;
}

.clinical-field {
  min-height: inherit;
  height: inherit;
}

textarea.clinical-notes {
  height: 70px;
  resize: none;
  margin-top: 10px;
}

.clinical-sub-note {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  -webkit-align-items: flex-start;
  align-items: flex-start;
  margin-left: 25px;
}

.tree-line {
  height: 35px;
  width: 25px;
  border-left: 1px solid #bbb;
  border-bottom: 1px solid #bbb;
}

.clinical-notes-section {
  margin: 38px 0 60px;
  max-width: 560px;
}

label.clinical-form-field {
  display: block;
  border: none;
  margin: 0 40px;
}

hr.clinical-report-line {
  border: none;
  padding: 0;
  height: 1px;
  background: #D8D8D8;
  margin: 40px 0;
  clear: both;
}

span.clinical-label {
  display: block;
  padding: 10px 0px;
  min-width: 0;
  font-size: 13px;
  color: #75777A;
  letter-spacing: 0.4px;
  text-transform: uppercase;
  font-weight: bold;
  line-height: 18px;
}

fusion-ordered-drop-down.clinical-drop-down {
  border: 1px solid #bbb;
  max-width: 626px;
  width: 626px;
  padding-left: 20px !important;
  max-height: 100px !important;
}

fusion-ordered-drop-down.clinical-drop-down > div.column-container {
  line-height: 20px;
  max-height: 100px;
  height: inherit;
}

fusion-ordered-drop-down.clinical-drop-down .select-toggle span.filtered {
  white-space: inherit;
}

fusion-ordered-drop-down.clinical-drop-down .options {
  position: absolute;
  top: 50px;
  left: 0;
  background-color: #ffffff;
  border-color: #999;
  box-shadow: 0 6px 10px 0 #999;
  max-height: 600px;
  min-width: 100%;
  overflow-y: scroll;
  z-index: 3;
}

fusion-ordered-drop-down.clinical-drop-down .options > div {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  min-height: 28px;
  padding: 0 10px;
  white-space: inherit;
}

fusion-ordered-drop-down.clinical-drop-down .options > div:hover {
  background-color: #ccc;
}

.clinical-signature {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  margin-top: 30px;
  font-size: 14px;
  font-weight: 500;
  color: #929392;
  line-height: 1.5;
}

.clinical-signature > div {
  padding: 0px 15px 0px 15px;
}

.print-only {
  display: none;
}

input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.test-athlete-name {
  color: #75777A;
  font-size: 18px;
  letter-spacing: 0.32px;
  font-weight: 400;
  line-height: 1.62;
  letter-spacing: 0.32px;
}

.perform-select {
  min-width: 133px;
  font-size: 18px;
  color: #75777A;
  border: 2px solid #D8D8D8;
  border-radius: 4px;
  height: 38px;
}

.recommended {
  margin-left: 10px;
  font-weight: bold;
  font-size: 13px;
  color: #c42a3b;
  text-transform: uppercase;
  display: inline-block;
  position: relative;
  top: -2px;
}

.recommended label {
  margin-left: 3px;
  position: relative;
  top: -2px;
}

/* --------------------------------------------
R+R Daily Test v2
----------------------------------------------*/

h3 span {
  color: #9768EB;
}

.rr-menu {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: stretch;
  align-items: stretch;
  max-width: 700px;
  height: 55px;
  border: 1px solid #cdcdcd;
  border-radius: 5px;
  background: #fff;
  overflow: hidden;
}

.rr-menu .custom {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
}

.rr-menu .custom:not(:first-child) {
  border-left: 1px solid #cdcdcd;
}

.rr-menu .custom input {
  position: absolute;
  opacity: 0;
}

.rr-menu .custom input:checked ~ label {
  color: #fff;
  background: #9768EB;
}

.rr-menu .custom label {
  display: block;
  height: 55px;
  line-height: 55px;
  text-align: center;
  cursor: pointer;
  font-weight: bold;
}

.rr-menu .custom label:hover {
  background: #eee;
}

.rr-key {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  max-width: 700px;
  margin-top: 10px;
  color: #9768EB;
}

.rr-key label {
  width: 33.3%;
}

.rr-key label:nth-child(2) {
  text-align: center;
}

.rr-key label:nth-child(3) {
  text-align: right;
}

.repeated-shift-layout {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
}

.repeated-shift-layout .test-row {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
}

.repeated-shift-layout .test-row:first-of-type {
  margin-bottom: 5px;
}

.repeated-shift-layout .test-row:last-of-type {
  margin-bottom: 5px;
}

.repeated-shift-layout .test-row:not(:first-of-type):not(:last-of-type) {
  margin-bottom: 15px;
}

.repeated-shift-layout .test-row .drop-off {
  color: #9768EB;
  font-size: 18px;
  line-height: 1.62;
}

.repeated-shift-layout .test-row .measurement-field {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
}

.repeated-shift-layout .test-row .measurement-field:first-of-type {
  margin-left: 289px;
}

.repeated-shift-layout .test-row .measurement-field:not(:first-of-type) {
  margin-left: 23px;
}

.repeated-shift-layout .measurement-label {
  color: #75777A;
  margin-right: 3px;
  padding-right: 18px;
  width: 10px;
}

.y-balance-layout {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
}

.y-balance-layout .test-row {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  margin-bottom: 5px;
}

.y-balance-layout .test-row:not(:first-of-type):not(:last-of-type) {
  margin-bottom: 20px;
}

.y-balance-layout .test-row .sub-label {
  padding-left: 35px;
}

.y-balance-layout .test-row .diff {
  margin-left: 51px;
  color: #9768EB;
  font-size: 18px;
  line-height: 1.92;
}

.y-balance-layout .test-row .measurement-field {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  margin-right: 10px;
}

.y-balance-layout .test-row .measurement-field:first-of-type {
  margin-left: 275px;
}

.y-balance-layout .test-row .measurement-field .measurement-label {
  color: #75777A;
  margin-right: 3px;
  width: 10px;
}

.measurement-group {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
}

.measurement-group .test-row {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  margin-bottom: 5px;
}

.measurement-group .test-row:not(:first-of-type):not(:last-of-type) {
  margin-bottom: 20px;
}

.measurement-group .test-row .sub-label {
  padding-left: 35px;
}

.measurement-group .test-row .measurement-field {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  margin-right: 23px;
}

.measurement-group .test-row .measurement-field:first-of-type {
  margin-left: 275px;
}

.measurement-group .test-row .measurement-field .measurement-label {
  color: #75777A;
  margin-right: 3px;
  width: 10px;
}

.test-results-button {
  width: 100%;
  width: -webkit-fill-available;
}

@media (max-width: 768px) {
  .reports-resp-header {
    -webkit-flex-direction: column !important;
    flex-direction: column !important;
  }

  .reports-resp-header .resp-header-actions {
    justify-content: flex-start;
  }
}

.progress-report-options {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  margin: 30px 0 5px;
  gap: 10px;
  flex-wrap: wrap;
}

.progress-report-options .date-ranges {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  margin-left: 30px;
  gap: 20px;
}

@media (max-width: 768px) {
  .progress-report-options .date-ranges {
    margin-left: 0;
    flex-direction: column;
    align-items: flex-start;
    width: 100%;
  }
}

.progress-report-nodata {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  min-height: 250px;
  font-size: 20px;
}

.report-chart-container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
}

.report-chart-container .report-chart-details {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  margin-top: 30px;
  margin-left: 20px;
}

.report-chart-container .report-chart-details .report-chart-detail {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
}

.report-chart-container .report-chart-details .report-chart-detail.team,
.report-chart-container .report-chart-details .report-chart-detail.total {
  margin-top: 15px;
}

.report-chart-container .report-chart-details .report-chart-detail > div {
  min-width: 130px;
  min-height: 90px;
  margin: 0 10px;
}

@media (max-width: 768px) {
  .report-chart-container .report-chart-details .report-chart-detail > div {
    min-width: calc(33% - 18px);
    max-width: calc(33% - 18px);
  }
}

.report-chart-container .report-chart-details .report-chart-detail .report-detail-chart-line > canvas {
  width: 130px;
  height: 20px;
}

@media (max-width: 768px) {
  .report-chart-container .report-chart-details .report-chart-detail .report-detail-chart-line > canvas {
    width: 100% !important;
    height: 20px !important;
  }
}

.report-chart-container .report-chart-details .report-chart-detail .score-container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  line-height: 30px;
  padding-top: 15px;
}

.report-chart-container .report-chart-details .report-chart-detail .score-container .score {
  font-size: 30px;
  font-weight: 100;
}

@media (max-width: 768px) {
  .report-chart-container .report-chart-details .report-chart-detail .score-container .score {
    font-size: 24px;
  }
}

.report-chart-container .report-chart-details .report-chart-detail .score-container .change {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  margin: 0 10px;
}

.report-chart-container .report-chart-details .report-chart-detail .score-container .change.increase {
  color: #20b769;
}

.report-chart-container .report-chart-details .report-chart-detail .score-container .change.increase i.fa {
  margin-top: 8px;
}

.report-chart-container .report-chart-details .report-chart-detail .score-container .change.decrease {
  color: #c42a3b;
}

.report-chart-container .report-chart-details .report-chart-detail .score-container .change.decrease i.fa {
  margin-bottom: 4px;
}

.report-chart-container .report-chart-details .report-chart-detail .score-container .change.perform-increase i.fa {
  margin-top: 8px;
}

.report-chart-container .report-chart-details .report-chart-detail .score-container .change.perform-decrease i.fa {
  margin-bottom: 4px;
}

.report-chart-container .report-chart-details .report-chart-detail .score-container .change i.fa {
  min-width: 12px;
}

.report-chart-container .report-chart-details .report-chart-detail .trophies {
  padding-top: 0px;
}

.report-chart-container .report-chart-details .report-chart-detail .trophies > div {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  margin-top: 10px;
}

.report-chart-container .report-chart-details .report-chart-detail .trophies .trophy-place {
  font-size: 30px;
  font-weight: 100;
  margin-left: 10px;
}

.report-summary-container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  margin-top: 30px;
}

.report-summary-container .title {
  font-size: 20px;
}

.report-summary {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}

.report-summary > div {
  min-width: 240px;
  min-height: 90px;
  margin: 20px 10px 10px  0;
  border-right: 1px solid #ccc;
}

@media (max-width: 768px) {
  .report-summary > div {
    width: calc(50% - 10px) !important;
  }
}

@media (max-width: 580px) {
  .report-summary > div {
    width: 100% !important;
    border-right: none;
    border-bottom: 1px solid #ccc;
  }
}

.report-summary .summary-container {
  max-width: 220px;
}

@media (max-width: 768px) {
  .report-summary .summary-container {
    max-width: 100%;
  }
}

.report-summary .summary-container .summary-info {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  min-height: 60px;
  margin: 0 3px;
}

@media (max-width: 768px) {
  .report-summary .summary-container .summary-info {
    max-width: 0 8px;
  }
}

.report-summary .summary-container .summary-info .score-container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: space-between;
  justify-content: space-between;
}

.report-summary .summary-container .summary-info .score-container .score {
  font-size: 24px;
  font-weight: 100;
}

.report-summary .summary-container .summary-info .score-container .change {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  margin: 0 10px;
}

.report-summary .summary-container .summary-info .score-container .change.increase {
  color: #20b769;
}

.report-summary .summary-container .summary-info .score-container .change.increase i.fa {
  margin-top: 8px;
}

.report-summary .summary-container .summary-info .score-container .change.decrease {
  color: #c42a3b;
}

.report-summary .summary-container .summary-info .score-container .change.decrease i.fa {
  margin-bottom: 4px;
}

.report-summary .summary-container .summary-info .score-container .change.perform-increase i.fa {
  margin-top: 8px;
}

.report-summary .summary-container .summary-info .score-container .change.perform-decrease i.fa {
  margin-bottom: 4px;
}

.report-summary .summary-container .summary-info .score-container .change i.fa {
  min-width: 12px;
}

.report-summary .summary-container .summary-chart {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-justify-content: center;
  justify-content: center;
  min-height: 40px;
}

.report-summary .summary-container .summary-chart > canvas {
  width: 220px;
  height: 30px;
}

@media (max-width: 768px) {
  .report-summary .summary-container .summary-chart > canvas {
    width: 100% !important;
    height: 30px !important;
  }
}

.report-details-container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-flex: 1 0 auto;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
  margin-top: 30px;
  background-color: #ffffff;
}

.report-details-container .title {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-align-self: center;
  align-self: center;
  max-width: 1024px;
  min-width: 1024px;
  width: 1024px;
  margin-bottom: 30px;
  font-size: 20px;
}

.report-details {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  margin-bottom: 50px;
}

@media (max-width: 768px) {
  .report-details {
    overflow: auto;
  }
}

.report-details > div {
  padding-bottom: 10px;
}

.report-details .change {
  position: absolute;
  top: 0;
  right: -8px;
  min-width: 70px;
  line-height: 20px;
}

.report-details .change > div {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  margin: 0 10px;
  font-size: 12px;
}

.report-details .change > div.increase {
  color: #20b769;
}

.report-details .change > div.increase i.fa {
  margin-top: 8px;
}

.report-details .change > div.decrease {
  color: #c42a3b;
}

.report-details .change > div.decrease i.fa {
  margin-bottom: 4px;
}

.report-details .change > div.perform-increase i.fa {
  margin-top: 8px;
}

.report-details .change > div.perform-decrease i.fa {
  margin-bottom: 4px;
}

.report-details .change > div i.fa {
  min-width: 12px;
}

.report-details .names-container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  min-width: 250px;
}

.report-details .names-container > div {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  min-height: 40px;
  min-width: 180px;
  padding-left: 30px;
}

.report-details .names-container .header-row {
  background-color: #dfdfdf;
}

.report-details .names-container .header-row span {
  font-size: 12px;
  font-weight: bold;
  text-transform: uppercase;
}

.report-details .names-container .header-row + .header-row {
  background-color: #d4d4d4;
}

.report-details .names-container .detail-row > div {
  min-width: 180px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.report-details .names-container .detail-row:nth-child(odd) {
  background-color: #242424;
  color: #f7f7f7;
}

.report-details .names-container .detail-row:nth-child(even) {
  background-color: #2e2e2e;
  color: #f7f7f7;
}

.report-details .names-container .detail-row.sub-total {
  background-color: #d4d4d4;
  color: #75787b;
  font-size: 12px;
  text-transform: uppercase;
}

.report-details .names-container .detail-row.sub-total + .sub-total {
  background-color: #dfdfdf;
}

.report-details .names-container .detail-row.total {
  background-color: #9768EB;
  color: #f7f7f7;
  font-size: 12px;
  text-transform: uppercase;
}

.report-details .names-container .detail-row .detail-row-position {
  margin-left: 15px;
}

.report-details .info-container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
}

.report-details .info-container > div {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  min-height: 40px;
  min-width: 110px;
}

.report-details .info-container .header-row {
  background-color: #dfdfdf;
}

.report-details .info-container .header-row span {
  font-size: 12px;
  font-weight: bold;
  text-transform: uppercase;
}

.report-details .info-container .header-row + .header-row {
  background-color: #d4d4d4;
}

.report-details .info-container .detail-row:nth-child(odd) {
  background-color: #efefef;
}

.report-details .info-container .detail-row:nth-child(even) {
  background-color: #fefefe;
}

.report-details .scores-container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  width: auto;
  white-space: nowrap;
  overflow-y: hidden;
  overflow-x: scroll;
  padding-right: 10px;
}

@media (max-width: 768px) {
  .report-details .scores-container {
    overflow-y: unset;
    overflow-x: unset;
  }
}

.report-details .scores-container > div {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
}

.report-details .scores-container > div > div {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  min-height: 40px;
  min-width: 210px;
}

.report-details .scores-container > div:first-child .header-row {
  border-left: 1px solid #ccc;
}

.report-details .scores-container > div:first-child .detail-row {
  border-left: 1px solid #ccc;
}

.report-details .scores-container .header-row {
  background-color: #dfdfdf;
  border-right: 1px solid #ccc;
}

.report-details .scores-container .header-row.right-left > span {
  min-width: 55px;
  text-align: center;
}

.report-details .scores-container .header-row span {
  font-size: 12px;
  font-weight: bold;
  text-transform: uppercase;
}

.report-details .scores-container .header-row + .header-row {
  background-color: #d4d4d4;
}

.report-details .scores-container .detail-row {
  border-right: 1px solid #ccc;
}

.report-details .scores-container .detail-row:nth-child(odd) {
  background-color: #efefef;
}

.report-details .scores-container .detail-row:nth-child(even) {
  background-color: #fefefe;
}

.report-details .scores-container .detail-row > div {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-justify-content: center;
  justify-content: center;
}

.report-details .scores-container .detail-row > div.right-left > span {
  min-width: 55px;
  font-size: 14px;
  text-align: center;
}

.report-details .scores-container .detail-row > div.change-container {
  -webkit-flex: 1 0 auto;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
  position: relative;
}

.progress-report-bodymap {
  max-height: 213px;
  max-width: 100px;
}

.progress-report-hidden {
  visibility: hidden;
}

.program-group-dropdown-container {
  align-items: flex-end;
  width: 1024px;
  max-width: 100%;
  margin: 30px 0px 10px 0px;
  height: 50px;
}

.program-group-dropdown-container > span {
  font-size: 14px;
  font-weight: bold;
  text-transform: uppercase;
  float: left;
  padding-left: 30px;
  top: 50%;
  transform: translateY(-50%);
  position: relative;
}

.program-group-dropdown-container .program-type-button {
  display: inline-block;
  padding-left: 15px;
}

.report-programs-container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-flex: 1 0 auto;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
  margin-bottom: 50px;
  padding-bottom: 10px;
  background-color: #ffffff;
  overflow-x: auto;
}

.report-programs-container > div {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  max-height: 40px;
  min-height: 40px;
  height: 40px;
  min-width: max-content;
}

.report-programs-container .header-row {
  background-color: #dfdfdf;
}

.report-programs-container .header-row span {
  text-transform: uppercase;
  font-size: 12px;
  font-weight: bold;
}

.report-programs-container .header-row .program-data-chart {
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
}

.report-programs-container .data-row .program-name {
  max-height: 40px;
  min-height: 40px;
  height: 40px;
}

.report-programs-container .data-row:nth-child(odd) {
  background-color: #efefef;
}

.report-programs-container .data-row:nth-child(odd) .program-name {
  background-color: #242424;
  color: #f7f7f7;
}

.report-programs-container .data-row:nth-child(even) {
  background-color: #fefefe;
}

.report-programs-container .data-row:nth-child(even) .program-name {
  background-color: #2e2e2e;
  color: #f7f7f7;
}

.report-programs-container .data-row.total .program-name {
  background-color: #9768EB;
  color: #f7f7f7;
}

.report-programs-container .data-row.total .program-name span {
  font-size: 12px;
  text-transform: uppercase;
}

.report-programs-container .data-row.position-total .program-name {
  background-color: #E1E3E5;
  color: #efefef;
}

.report-programs-container .data-row.position-total .program-name span {
  font-size: 12px;
  text-transform: uppercase;
}

.report-programs-container .program-name {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-flex: 1 1 auto;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
  min-width: 346px;
  max-width: 500px;
  padding-left: 30px;
}

.report-programs-container .program-data {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  min-width: 120px;
}

.report-programs-container .program-data.right {
  -webkit-justify-content: flex-end;
  justify-content: flex-end;
  padding-right: 30px;
}

.report-programs-container .program-data-chart {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  min-width: 320px;
}

.report-programs-container .program-filler {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-flex: 1 1 auto;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
  min-width: 60px;
}

.page-header-back-nav {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  min-height: 40px;
}

.page-header-back-nav label {
  font-weight: bold;
  text-transform: uppercase;
  cursor: pointer;
}

.page-header-back-nav label i.icon {
  font-size: 16px;
}

.page-header-back-nav label span {
  margin-left: 8px;
  font-size: 13px;
}

.test-archives-options {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  flex-wrap: wrap;
  margin: 30px 0 5px;
  row-gap: 10px;
}

.test-archives-options > div + div {
  margin-left: 10px;
}

.test-archives-options .date-ranges {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  margin-left: 30px;
  gap: 20px;
}

@media (max-width: 768px) {
  .test-archives-options .date-ranges {
    flex-basis: 100%;
    flex-direction: column;
    align-items: flex-start;
    margin-left: 0;
    margin-top: 10px;
    gap: 10px;
  }
}

.archive-container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  margin: 30px 0;
}

.archive-container > div {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  min-height: 50px;
  border-bottom: 1px solid #ccc;
}

.archive-container > div span {
  font-size: 18px;
  cursor: default;
}

.archive-container > div i.icon {
  font-size: 16px;
  cursor: pointer;
}

.archive-container > div .archive-name,
.archive-container > div .archive-info,
.archive-container > div .archive-action {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
}

.archive-container > div .archive-name {
  -webkit-flex: 1 1 auto;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
  min-width: 120px;
}

.archive-container > div .archive-name span {
  cursor: pointer;
}

.archive-container > div .archive-info,
.archive-container > div .archive-action {
  -webkit-justify-content: center;
  justify-content: center;
}

.archive-container > div .archive-info {
  min-width: 140px;
}

@media (max-width: 568px) {
  .archive-container > div .archive-info {
    min-width: 100px;
  }
}

.archive-container > div .archive-action {
  min-width: 60px;
}

.archive-container > div.header-row {
  min-height: 40px;
}

.archive-container > div.header-row span {
  font-size: 12px;
  font-weight: bold;
  text-transform: uppercase;
  cursor: default;
}

.header-content {
  -webkit-justify-content: initial;
  justify-content: initial;
  max-height: 80px;
  min-height: 80px;
  height: 80px;
  position: relative;
  border-bottom: 1px solid #ccc;
}

@media (max-width: 768px) {
  .header-content {
    max-height: 60px;
    min-height: 60px;
    height: 60px;
    align-items: center;
  }
}

.header-content .header-logo-container {
  position: relative;
  display: flex;
  align-items: center;
}

@media (max-width: 768px) {
  .header-content .header-logo-container {
    display: none;
  }
}

.header-content .header-prac-burger {
  display: none;
  font-size: 26px;
  cursor: pointer;
  color: #2e2e2e;
  padding: 0 15px;
  padding-bottom: 7px;
  margin: 0;
  line-height: 1;
}

@media (max-width: 768px) {
  .header-content .header-prac-burger {
    display: block;
  }
}

.header-content .header-prac-menu {
  position: absolute;
  top: 60px;
  left: 0;
  right: 0;
  background: #1c1c1c;
  display: flex;
  flex-direction: column;
  padding: 10px 0;
  z-index: 1000;
}

.header-content .header-prac-menu .header-prac-menu__item {
  display: flex;
  align-items: center;
  min-height: 60px;
  max-height: 60px;
  padding: 0 20px;
  border-bottom: 1px solid #333;
  color: #a0a4a8;
  cursor: pointer;
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
}

.header-content .header-prac-menu .header-prac-menu__item.active {
  color: #efefef;
}

.header-content .header-prac-menu .header-prac-menu__item:not(.active):hover {
  color: #efefef;
}

.header-content .header-prac-user {
  display: none;
}

@media (max-width: 768px) {
  .header-content .header-prac-user {
    display: flex;
  }
}

.header-content .header-logo {
  margin: 10px 35px;
}

.header-content .header-logo img {
  max-width: 180px;
  max-height: 70px;
}

@media (max-width: 768px) {
  .header-content .resp-center {
    display: none;
  }
}

.header-content .user {
  margin-left: auto;
}

.header-content .header-team-name,
.header-content .header-team-name-link {
  border-left: 1px solid #C8C8C9;
}

@media (max-width: 768px) {
  .header-content .header-team-name,
  .header-content .header-team-name-link {
    border-left: 0;
    margin-left: 40px;
  }
}

.header-content .header-team-name h3,
.header-content .header-team-name-link h3 {
  padding: 0px 18px;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 1px;
  color: #11264b;
  text-transform: uppercase;
}

.header-content .header-team-name-resp {
  overflow: hidden;
}

.header-content .header-team-name-resp > h3 {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.header-content .header-team-name-link {
  cursor: pointer;
  display: flex;
  justify-content: center;
  flex-direction: column;
}

.header-content .team-switcher {
  cursor: pointer;
}

.header-content .team-switcher:after {
  position: absolute;
  top: 80%;
  left: 90%;
  font-family: FontAwesome;
  content: "\F0D7";
  color: #6d6e72;
}

.header-content .team-options {
  position: absolute;
  top: 102%;
  left: -1px;
  background-color: #f6f1f1;
  border: 1px solid #ebebeb;
  box-shadow: 0 2px 5px 0 rgba(68, 67, 76, 0.25);
  min-width: 130px;
  width: 100%;
  z-index: 3;
}

.header-content .team-options > div {
  padding: 5px 10px 5px 14px;
  white-space: nowrap;
}

.header-content .team-options > div:hover {
  background-color: #dedfde;
}

.header-content .white-field {
  -webkit-justify-content: flex-end;
  justify-content: flex-end;
  -webkit-flex: 1 0 auto;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
}

.header-content .white-field i.icon-shop {
  display: block;
  float: left;
  padding: 0px;
  margin-right: 1px;
  margin-left: 1px;
  font-size: 20px;
}

.header-content .white-field > div {
  -webkit-flex: 1 0 auto;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-justify-content: flex-end;
  justify-content: flex-end;
  max-height: 60px;
  min-height: 60px;
  height: 60px;
  margin: 0px;
}

.header-content .white-field > div > div {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  padding: 10px;
  font-size: 14px;
  cursor: pointer;
}

.header-content .white-field > div > div i {
  font-size: 26px;
  display: block;
  float: left;
  margin: -1px 8px 0px 0px;
}

.header-content .white-field > div > div:hover {
  color: #11264b;
}

.header-content .white-field > div > div.active {
  color: #11264b;
}

.header-content .white-field > div > div.current-athlete {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  border: none;
  font-size: 18px;
  font-weight: 600;
  min-width: auto;
  margin-right: auto;
}

.header-content .white-field > div > div.current-athlete span {
  cursor: pointer;
}

.header-content .white-field > div > div.current-athlete span:first-child {
  font-weight: normal;
}

.header-content .white-field > div > div.current-athlete span + span {
  margin-left: 10px;
}

.header-content .white-field > div > div.current-athlete span + span:hover {
  text-decoration: underline;
}

.header-content .white-field > div > div + div {
  margin-left: 5px;
}

.header-content .white-field > button.signout {
  max-height: 35px;
  min-height: 35px;
  height: 35px;
  max-width: 100px;
  min-width: 100px;
  width: 100px;
}

.header-content .white-field > button.signout:hover {
  background-color: #9768EB;
  color: white;
}

.header-content .white-field > button.shop {
  padding-top: 1px;
}

@media (max-width: 768px) {
  .header-content .white-field > button.shop {
    display: none;
  }
}

.header-content .white-field > button:first-child {
  margin: 0 7px 0 15px;
}

.header-content .white-field > button:last-child {
  margin: 0 25px 0 7px;
}

.header-content .white-field > button > div {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
}

.header-content .white-field > button > div i.fa {
  font-size: 22px;
  margin-right: 4px;
}

@media (max-width: 768px) {
  .header-content--prac .header-team-name,
  .header-content--prac .header-content .header-team-name-link,
  .header-content .header-content--prac .header-team-name-link,
  .header-content--prac .header-team-name-link {
    margin-left: 0;
  }
}

@media only screen and (max-width: 1053px) {
  .header-content-v2 .white-field > div > div {
    font-size: 12px;
    padding: 5px;
  }

  .header-content-v2 .white-field > div > div + div {
    margin-left: 0;
  }

  .header-content-v2 .white-field > div > div i {
    margin-top: -5px;
    margin-right: 5px;
  }

  .header-content-v2 .white-field i.icon-shop {
    margin: 0 5px 0 0;
  }
}

.whiteboard {
  min-width: 0;
}

ul.catalog_nav {
  max-width: none;
  min-width: 0;
  width: auto;
}

ul.catalog_nav li > span {
  padding: 11px 0;
  line-height: 1.2;
  min-height: 0;
}

ul.catalog_nav li > ul li > ul li {
  min-height: 0;
  text-indent: 0;
  padding-top: 6px;
  padding-bottom: 6px;
  padding-left: 50px;
}

.catalog-selected .title-container .return-link {
  white-space: nowrap;
}

.athlete-info-box .bio-header {
  line-height: 1.1;
  padding: 0 15px;
}

.athlete-info-box .bio-header .athlete-number {
  margin-left: 0;
}

@media only screen and (max-width: 900px) {
  .athlete-info-box .bio-header {
    font-size: 15px;
    padding: 0 10px;
  }
}

.athlete-info-box .bio-body .athlete-profile {
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
}

.athlete-info-box .bio-body .athlete-profile .profile-pic {
  width: 100%;
  height: auto;
  display: block;
  max-height: 100px;
}

.athlete-info-box .bio-body .athlete-stats {
  -webkit-flex: 2;
  -ms-flex: 2;
  flex: 2;
}

.athlete-info-box .bio-body .athlete-stats > div + div {
  margin-top: 5px;
}

.athlete-info-box .bio-body canvas {
  width: 100%;
  display: block;
}

.athlete-list-view.view-layout .athlete-number {
  max-width: 53px;
  min-width: 53px;
  width: 53px;
  white-space: nowrap;
  line-height: 0.9;
  padding-left: 10px;
}

.athlete-list-view.view-layout .athlete-name {
  padding: 0 15px 0 5px;
  min-width: 0;
}

.profile-summary .today-program,
.profile-summary .today-notice {
  max-width: none;
  min-width: 0;
  width: auto;
  max-height: none;
  height: auto;
  padding: 10px 6px;
}

@media only screen and (min-width: 1054px) {
  .column-container.profile-score + div {
    width: 380px;
  }
}

@media only screen and (max-width: 1053px) {
  body .view-container {
    width: 994px;
    max-width: 100vw;
    min-width: 0;
    padding-left: 15px;
    padding-right: 15px;
  }

  body .view-container .view-container {
    padding-left: 0;
    padding-right: 0;
    width: 100%;
    max-width: 100%;
  }

  body .week-wrapper .week-day-column {
    min-width: 0;
    width: 100%;
  }

  body .header-content .white-field > div {
    margin: 0px 20px;
  }

  body .profile-detail {
    max-width: none;
    min-width: 0;
    width: auto;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
  }

  body .profile-detail .profile-pic {
    max-width: none;
    min-width: 0;
    width: auto;
    max-height: none;
    min-height: 0;
    height: auto;
    width: 100%;
    max-width: 200px;
    aspect-ratio: 200 / 175;
    overflow: hidden;
  }

  body .profile-detail .profile-pic img {
    width: 100%;
    display: block;
    height: 100%;
    object-fit: contain;
  }

  body .profile-detail .profile-action {
    width: 100%;
  }

  body .profile-summary {
    max-width: none;
    min-width: 0;
    width: auto;
    -webkit-flex: 4;
    -ms-flex: 4;
    flex: 4;
    padding-left: 15px;
  }

  body .profile-summary > .row-container.divided > div {
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
  }

  body .profile-summary > .row-container.divided > div + div {
    padding-left: 15px;
  }

  body .profile-summary .score-container {
    max-width: none;
    min-width: 0;
    width: auto;
    padding: 20px;
  }

  body .profile-summary .score-container .profile-score {
    max-width: none;
    min-width: 0;
    width: auto;
    width: 100%;
  }

  body .profile-summary .score-container .profile-score .profile-score-graph-canvas {
    max-width: none;
    min-width: 0;
    width: auto;
    max-height: none;
    min-height: 0;
    height: auto;
    width: 100%;
  }

  body .chart-menu .chart-menu-item {
    margin-right: 18px;
  }

  body .program-chart,
  body .line-chart {
    -webkit-flex: 2;
    -ms-flex: 2;
    flex: 2;
  }

  body .program-chart {
    max-width: none;
    min-width: 0;
    width: auto;
    min-height: 0;
  }

  body .view-layout .view-container .line-chart .line-chart-canvas {
    max-width: none;
    min-width: 0;
    width: auto;
    max-height: none;
    min-height: 0;
    height: auto;
    width: 100% !important;
    height: auto !important;
  }

  body .chart-details {
    max-width: none;
    min-width: 0;
    width: auto;
    padding-left: 15px;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
  }

  body canvas {
    max-width: 100% !important;
    height: auto !important;
  }

  body .calendar-month {
    max-width: none;
    min-width: 0;
    width: auto;
    -webkit-flex: 2;
    -ms-flex: 2;
    flex: 2;
  }

  body .calendar-month .week-day-labels {
    -webkit-flex: 1 1 auto;
    -ms-flex: 1 1 auto;
    flex: 1 1 auto;
  }

  body .calendar-month .week-day-labels > div {
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
    max-width: none;
    min-width: 0;
  }

  body .calendar-month .calendar-days .calendar-day {
    max-width: none;
    min-width: 0;
    width: auto;
    width: 14.28571%;
  }

  body .calendar-month.notes-calendar {
    max-width: 492px;
  }

  body .calendar-day-info {
    max-width: none;
    min-width: 0;
    width: auto;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
    padding-left: 15px;
  }
}

@media only screen and (max-width: 1053px) and (max-width: 768px) {
  body .schedule-calendar-layout {
    flex-wrap: wrap;
    width: 100%;
    max-width: 100%;
    padding-left: 0;
    padding-right: 0;
  }

  body .schedule-calendar-layout .calendar-month {
    flex: 1 0 100%;
    width: 100%;
    min-width: 0;
  }

  body .schedule-calendar-layout .calendar-day-info {
    flex: 1 0 100%;
    width: 100%;
    min-width: 0;
    padding-left: 0;
    margin-top: 20px;
    padding-bottom: 20px;
  }
}

@media only screen and (max-width: 1053px) {
  body .athlete-list-view.view-layout .athlete-stat {
    -webkit-flex: 0;
    -ms-flex: 0;
    flex: 0;
    max-width: 7.5%;
    min-width: 7.5%;
    width: 7.5%;
    letter-spacing: 0;
  }

  body .athlete-list-view.view-layout .athlete-programs {
    max-width: 18%;
    min-width: 18%;
    width: 18%;
  }

  body .athlete-list-view.view-layout .athlete-last-activity {
    max-width: 18%;
    min-width: 18%;
    width: 18%;
  }

  body .athlete-list-view.view-layout .athlete-row {
    font-size: 15px;
    letter-spacing: 0.5px;
  }

  body .modal {
    max-width: calc(100% - 30px);
  }

  body .modal-container {
    max-width: 100%;
  }

  body .tl-entry-header .tl-select,
  body .tl-entry .tl-select {
    max-width: 120px;
    min-width: 120px;
    width: 120px;
  }

  body .tl-entry-header .tl-input,
  body .tl-entry .tl-input {
    max-width: 86px;
    min-width: 86px;
    width: 86px;
  }

  body .tl-entry .tl-input > .basic-input.small {
    width: 100%;
  }

  body .tl-entry-header .field-label {
    line-height: 1.2;
  }

  body input.basic-input,
  body div.basic-input,
  body div.basic-input-readonly {
    width: 100px;
  }

  body .athlete-menu .athlete-search {
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
    width: auto;
  }

  body .athlete-menu .athlete-filter-sort {
    min-width: 0;
    -webkit-flex: initial;
    -ms-flex: initial;
    flex: initial;
  }

  body .athlete-menu .athlete-filter-sort > .athlete-sort-box {
    min-width: 0;
  }

  body .athlete-menu .athlete-filter-sort > .athlete-sort-box .label {
    max-width: none;
    min-width: 0;
    width: auto;
    padding: 15px 17px 15px 10px;
    font-size: 12px;
  }

  body .athlete-menu .athlete-filter-sort > .athlete-sort-box .label:after {
    font-size: 9px;
    right: 7px;
    top: 38%;
  }

  body .athlete-menu .athlete-reset-view {
    -webkit-flex: initial;
    -ms-flex: initial;
    flex: initial;
    max-width: none;
    min-width: 0;
    width: auto;
    padding: 0 8px;
    font-size: 12px;
  }

  body .athlete-menu .athlete-toggle-view {
    -webkit-flex: initial;
    -ms-flex: initial;
    flex: initial;
    max-width: none;
    min-width: 0;
    width: auto;
  }

  body .header-content .white-field > div > div {
    font-size: 12px;
    padding: 5px;
  }

  body .header-content .white-field > div > div + div {
    margin-left: 0;
  }

  body .header-content .white-field > div > div i {
    margin-top: -5px;
    margin-right: 5px;
  }

  body .header-content .white-field i.icon-shop {
    margin: 0 5px 0 0;
  }

  body .header-content button {
    min-width: 0;
    padding: 0 5px;
  }

  body .header-content .logo {
    margin-left: 15px;
    max-width: 120px;
    min-width: 120px;
    width: 120px;
  }

  body .header-content .white-field > button:last-child {
    margin-right: 15px;
  }

  body .line-chart-menu .chart-legend {
    white-space: nowrap;
    margin: 0 0 0 16px;
  }

  body .line-chart-menu .chart-legend > .fa {
    margin-right: 2px;
  }

  body .prompt-box {
    padding: 15px;
  }

  body .test-landing .prompt-box {
    min-height: 196px;
  }
}

@media only screen and (max-width: 1053px) and (max-width: 768px) {
  body .test-landing {
    flex-direction: column;
  }

  body .test-landing > div {
    width: 100%;
    margin-left: 0 !important;
  }

  body .test-landing .prompt-box {
    min-height: 0;
  }
}

@media only screen and (max-width: 1053px) {
  body .report-chart-container {
    display: block;
  }

  body .report-chart-container .line-chart {
    display: block;
  }

  body .report-chart-container .report-chart-details {
    display: block;
    margin: 0;
  }

  body .report-summary > div {
    width: calc(33.33% - 10px);
  }

  body .report-details-container .title {
    max-width: none;
    min-width: 0;
    width: auto;
  }
}

@media only screen and (max-width: 900px) {
  body .admin-menu > div + div {
    margin-left: 18px;
  }

  body .catalog_container {
    -webkit-flex: 1 0 200px;
    -ms-flex: 1 0 200px;
    flex: 1 0 200px;
  }

  body .catalog-search form {
    padding: 0 5px;
    width: 100%;
  }

  body .catalog-search form input[type='text'] {
    min-width: 0;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
    text-indent: 0;
    font-size: 15px;
  }

  body .catalog-search form button[type='reset'] {
    margin: 0;
    padding: 0 5px;
    font-size: 10px;
  }

  body .catalog-feature .feature-container .feature-content {
    left: 40px;
  }

  body .practitionersTable > .row-container > div > span,
  body .teamsTable > .row-container > div > span {
    margin-left: 10px !important;
    margin-right: 10px !important;
  }

  body .practitionersTable > .row-container > div:nth-child(1) {
    max-width: 112px !important;
    min-width: 112px !important;
    width: 112px !important;
  }

  body .practitionersTable > .row-container > div:nth-child(2) {
    max-width: 96px !important;
    min-width: 96px !important;
    width: 96px !important;
  }

  body .practitionersTable > .row-container > div:nth-child(3) {
    max-width: 108px !important;
    min-width: 108px !important;
    width: 108px !important;
  }

  body .practitionersTable > .row-container > div:nth-child(4) {
    min-width: 0 !important;
    max-width: none !important;
    -webkit-flex: 1 !important;
    -ms-flex: 1 !important;
    flex: 1 !important;
  }

  body .practitionersTable > .row-container > div:nth-child(5) {
    max-width: 110px !important;
    min-width: 110px !important;
    width: 110px !important;
  }

  body .practitionersTable > .row-container > div:nth-child(6) {
    max-width: 88px !important;
    min-width: 88px !important;
    width: 88px !important;
  }

  body .practitionersTable > .row-container > div:nth-child(6) button {
    padding: 0 6px;
  }

  body .teamsTable > .row-container > div:nth-child(1) {
    max-width: 96px !important;
    min-width: 96px !important;
    width: 96px !important;
  }

  body .teamsTable > .row-container > div:nth-child(2) {
    max-width: 100px !important;
    min-width: 100px !important;
    width: 100px !important;
  }

  body .teamsTable > .row-container > div:nth-child(3) {
    max-width: 100px !important;
    min-width: 100px !important;
    width: 100px !important;
  }

  body .teamsTable > .row-container > div:nth-child(4) {
    min-width: 0 !important;
    max-width: none !important;
    -webkit-flex: 1 !important;
    -ms-flex: 1 !important;
    flex: 1 !important;
  }

  body .teamsTable > .row-container > div:nth-child(5) {
    max-width: 70px !important;
    min-width: 70px !important;
    width: 70px !important;
  }

  body .teamsTable > .row-container > div:nth-child(6) {
    max-width: 212px !important;
    min-width: 212px !important;
    width: 212px !important;
  }
}

@media only screen and (max-width: 900px) and (max-width: 1053px) {
  body .header-logo {
    margin: 0 15px;
  }

  body .header-logo img {
    width: 100%;
  }

  body .header-content .white-field > div > div i {
    display: none;
  }

  body .athlete-dashboard .athlete-dashboard-container .athlete-info-box,
  body .athlete-dashboard .athlete-dashboard-container .athlete-add-box {
    width: calc((100% - 20px) / 2);
  }

  body .athlete-dashboard .athlete-dashboard-container .athlete-info-box .bio-body .athlete-profile .profile-pic {
    max-height: none;
  }
}

@media (max-width: 640px) {
  body .athlete-dashboard .athlete-dashboard-container .athlete-info-box,
  body .athlete-dashboard .athlete-dashboard-container .athlete-add-box {
    width: 100%;
    min-width: 0;
  }
}

@media (max-width: 768px) {
  .modal-animate-container {
    width: calc(100% - 30px) !important;
    min-width: 0 !important;
    max-width: calc(100% - 30px) !important;
  }

  .modal-dialog {
    width: calc(100% - 30px);
    margin-top: 60px;
  }

  .modal-container section {
    min-width: 0 !important;
    -webkit-align-items: stretch;
    align-items: stretch;
  }

  label.clinical-form-field {
    margin: 0 15px;
  }

  fusion-ordered-drop-down.clinical-drop-down {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box;
  }

  fusion-ordered-drop-down.clinical-drop-down > div.column-container {
    display: -webkit-flex !important;
    display: flex !important;
    -webkit-align-items: center;
    align-items: center;
    overflow: hidden;
  }

  fusion-ordered-drop-down.clinical-drop-down .select-toggle {
    overflow: hidden;
    flex: 1;
    min-width: 0;
  }

  fusion-ordered-drop-down.clinical-drop-down .select-toggle span.filtered {
    display: block;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
  }
}

@media (max-width: 768px) {
  body .athlete-list-view.view-layout .athlete-header,
  body .athlete-list-view.view-layout .athlete-row {
    min-width: 680px;
  }

  body .athlete-list-view.view-layout .athlete-name {
    min-width: 130px;
  }

  body .athlete-list-view.view-layout .athlete-stat {
    max-width: 70px;
    min-width: 70px;
    width: 70px;
    font-size: 13px;
  }

  body .athlete-list-view.view-layout .athlete-programs {
    max-width: 110px;
    min-width: 110px;
    width: 110px;
  }

  body .athlete-list-view.view-layout .athlete-last-activity {
    max-width: 120px;
    min-width: 120px;
    width: 120px;
  }

  body .athlete-list-view.view-layout .athlete-row {
    font-size: 14px;
  }
}

.arrowTabs {
  display: flex;
  align-items: stretch;
  margin: 0 -2px;
}

.arrowTabs > * {
  padding: 0 2px;
}

.arrowTabs > span {
  flex: 1;
  display: block;
  text-align: center;
  display: flex;
  align-items: stretch;
  position: relative;
  cursor: pointer;
}

.arrowTabs > span:before {
  content: " ";
  position: absolute;
  left: 50%;
  margin-left: -8px;
  bottom: -6px;
  height: 0;
  width: 0;
  border-left: 8px solid transparent;
  border-right: 8px solid transparent;
  border-top: 6px solid #9768EB;
  display: none;
}

.arrowTabs > span span {
  padding: 12px 8px;
  display: block;
  width: 100%;
  background: #F2F4F5;
  color: #ABB0B3;
  font-weight: bold;
  font-size: 14px;
}

.arrowTabs > span:first-child span {
  border-radius: 5px 0 0 5px;
}

.arrowTabs > span:last-child span {
  border-radius: 0 5px 5px 0;
}

.arrowTabs > span.active:before {
  display: block;
}

.arrowTabs > span.active span {
  background: #9768EB;
  color: #fff;
}

.programScheduleTable {
  table-layout: fixed;
  text-align: center;
  border-collapse: collapse;
  width: 100%;
}

@media only screen and (min-width: 1164px) {
  .programScheduleTable {
    width: calc(100% + 70px);
    margin-left: -70px;
  }
}

.programScheduleTable tr > *:first-child {
  width: 70px;
  padding-right: 10px;
}

.programScheduleTable tr > * + * {
  width: calc((100/7*1%) - 10px);
}

.programScheduleTable tr > * + * + * {
  padding-left: 5px;
}

.programScheduleTable tr + tr > * {
  padding-top: 5px;
}

.programScheduleTable thead th {
  color: #BDC1C5;
  font-size: 14px;
  padding: 0 0 15px;
  font-weight: 400;
}

.programScheduleTable tbody th {
  text-align: left;
  vertical-align: middle;
  color: #848990;
  font-size: 14px;
  text-transform: uppercase;
}

.activityPillGroup {
  position: relative;
  background: #F2F4F5;
  border-radius: 8px;
  padding: 8px;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  height: 117.3px;
  width: 100%;
}

.activityPillGroup .activityPill {
  height: calc(33.333% - 2px);
}

.activityPillGroup .activityPill + .activityPill {
  margin-top: 3px;
}

.activityPillGroup .addIcon {
  display: none;
  color: #CDD3D7;
  position: absolute;
  top: 50%;
  left: 50%;
  margin-top: -20px;
  margin-left: -20px;
  font-size: 40px;
}

.activityPill {
  text-align: center;
  border-radius: 4px;
  padding: 0 5px;
  font-size: 13px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.activityPill--prompt {
  background: #E4E9EC;
  color: #BDC1C5;
  cursor: pointer;
}

.activityPill--active {
  background: #9768EB;
  color: #fff;
  position: relative;
  padding: 0 15px;
}

.activityPill--active .closeIcon {
  position: absolute;
  top: 50%;
  margin-top: -5px;
  font-size: 10px;
  right: 5px;
  cursor: pointer;
}

.activityPillGroup--empty {
  cursor: pointer;
}

.activityPillGroup--empty .addIcon {
  display: block;
}

.selectAddPill {
  padding: 10px;
  background: #fff;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: stretch;
  align-items: stretch;
  border-radius: 4px;
}

.selectAddPill .tl-entry .tl-select,
.selectAddPill .tl-entry .tl-select-input .select-toggle {
  min-width: 0;
  max-width: none;
}

.selectAddPill button.primary {
  max-height: none;
  min-height: 0;
  height: auto;
}

.selectAddPill > *:first-child {
  flex: 1;
}

.selectAddPill > * + * {
  margin-left: 15px;
}

.t_pageContentTitle {
  margin: 0;
  color: #9768EB;
  font-size: 24px;
  font-weight: 500;
}

.t_pageContentTitle.top {
  color: #75787B;
}

.ycenter-items {
  -webkit-align-items: center;
  align-items: center;
}

.xgapChildren > * + * {
  padding-left: 15px;
}

.inlineSpaced {
  display: block;
  position: relative;
}

.inlineSpaced > * {
  display: inline-block;
}

.inlineSpaced--align--top > * {
  vertical-align: top;
}

.inlineSpaced--align--middle > * {
  vertical-align: middle;
}

.inlineSpaced--compact {
  margin: -2px;
}

.inlineSpaced--compact > * {
  margin: 2px;
}

.inlineSpaced--spaced {
  margin: -8px;
}

.inlineSpaced--spaced > * {
  margin: 8px;
}

.inlineSpaced--spacedMed {
  margin: -4px;
}

.inlineSpaced--spacedMed > * {
  margin: 4px;
}

.inlineSpaced--optionInputs {
  margin-left: -10px;
  margin-right: -10px;
  margin-top: -4px;
  margin-bottom: -4px;
}

.inlineSpaced--optionInputs > * {
  margin-left: 10px;
  margin-right: 10px;
}

.inlineSpaced--optionInputs > * {
  margin-top: 4px;
  margin-bottom: 4px;
}

.inlineSpaced__child > *:first-child {
  margin-top: 0 !important;
}

.inlineSpaced__child > *:last-child {
  margin-bottom: 0 !important;
}

.color--bad {
  color: #c42a3b;
}

.color--good {
  color: #20b769;
}

.color--ok {
  color: #d8b62f;
}

.color--neutral {
  color: #808080;
}

.color--neutralBlue,
.color--link {
  color: #4AB3DA !important;
}

.flexRow {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
}

.flexRow__flex {
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
}

button.wide {
  min-width: 200px;
}

.scrollSideWrap__side {
  overflow: auto;
  background: #363A46;
}

@media only screen and (max-width: 900px) {
  .scrollSideWrap__side {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: row;
    flex-direction: row;
    background: #293040;
  }

  .scrollSideWrap__side .loggedInBlock {
    width: 240px;
  }

  .scrollSideWrap__side .sideBarMainContent {
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
  }

  .scrollSideWrap__side .sideBarSection {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: row;
    flex-direction: row;
  }

  .scrollSideWrap__side .sideBarSection + .sideBarSection {
    padding-top: 0;
  }

  .scrollSideWrap__side .sideBarSection__content {
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
  }
}

@media only screen and (max-width: 900px) {
  .sideBarFilterFields {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: row;
    flex-direction: row;
    margin: 0 -6px;
  }

  .sideBarFilterFields > * {
    padding: 0 6px;
  }

  .sideBarFilterFields > * {
    width: 50%;
  }
}

.scrollSideWrap__main {
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  padding: 20px;
  background: #EFF1F2;
}

.loggedInBlock {
  background: #9768EB;
  padding-left: 22px;
  padding-right: 22px;
  padding-top: 11px;
  padding-bottom: 21px;
}

.loggedInBlock__name {
  margin: 0 0 7px;
  color: #fff;
  font-size: 26px;
  font-weight: 500;
}

.loggedInMenu__trigger {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  cursor: default;
}

.loggedInMenu__trigger__img img {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  display: block;
}

.loggedInMenu__trigger__name {
  color: #fff;
  padding-left: 10px;
  font-weight: 600;
  font-size: 14px;
}

.loggedInMenu__trigger__icon {
  display: block;
  color: #fff;
  font-size: 6px;
  padding: 6px 0 0 5px;
}

.sideBarSection {
  padding-left: 22px;
  padding-right: 22px;
  padding-top: 20px;
  padding-bottom: 20px;
  color: #fff;
}

.sideBarSection--dark {
  background: #293040;
}

@media only screen and (max-width: 900px) {
  .sideBarSection__header {
    width: 110px;
  }
}

.sideBarSection__header__title {
  font-size: 20px;
  font-weight: 500;
}

.blockContent > *:first-child {
  margin-top: 0 !important;
}

.blockContent > *:last-child {
  margin-bottom: 0 !important;
}

.openField {
  display: block;
  width: 100%;
  height: 36px;
  border-radius: 4px;
  background: #F4F4F4;
  font-size: 14px;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
}

.openField > *:first-child {
  padding-left: 12px;
}

.openField > *:last-child {
  padding-right: 12px;
}

.openField input {
  padding: 5px 0;
}

.openFieldTall_btn {
  max-height: 46px;
  min-height: 46px;
  height: 46px;
}

.openField--rounded {
  border-radius: 20px;
}

.openField--rounded > *:first-child {
  padding-left: 20px;
}

.openField--rounded > *:last-child {
  padding-right: 20px;
}

.openField--darker input {
  color: #75787B;
}

.openField--darker input::-webkit-input-placeholder {
  color: #AAABAF;
}

.openField--darker input:-moz-placeholder {
  color: #AAABAF;
}

.openField--darker input::-moz-placeholder {
  color: #AAABAF;
}

.openField--darker input:-ms-input-placeholder {
  color: #AAABAF;
}

.openField--darker .openFieldSelect__trigger .text {
  color: #75787B;
}

.openField--darker .openFieldSelect__trigger .text.placeholder {
  color: #AAABAF;
  opacity: 1;
}

.openField--tall {
  height: 46px;
}

.openField--tall .openFieldSelect__trigger i {
  font-size: 8px;
  padding-top: 4px;
}

.openFieldSelect {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
}

.openFieldSelect__trigger {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
}

.openFieldSelect__trigger .text {
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
}

.openFieldSelect__trigger .text.placeholder {
  opacity: 0.38;
}

.openFieldSelect__trigger i {
  font-size: 6px;
  padding-left: 15px;
  opacity: 0.26;
}

.openFieldInput {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
}

.openFieldInput > * + * {
  margin-left: 15px;
}

.openFieldInput input {
  min-width: 0;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  background: none;
  border: 0;
  font-size: inherit;
}

.openFieldInput .submitWrap {
  opacity: 0.36;
  cursor: pointer;
  -webkit-align-self: stretch;
  align-self: stretch;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
}

.openFieldInput .submitWrap:hover {
  opacity: 1;
}

.openFieldInput .icon-search {
  font-size: 16px;
}

.openFieldSelect--dark {
  background: #51596F;
}

.openFieldInput--light {
  background: #fff;
}

.openFieldInput--dark {
  background: #41495C;
}

.openFieldInput--dark input {
  color: #fff;
}

.openFieldInput--dark input::-webkit-input-placeholder {
  opacity: 0.38;
}

.openFieldInput--dark input:-moz-placeholder {
  opacity: 0.38;
}

.openFieldInput--dark input::-moz-placeholder {
  opacity: 0.38;
}

.openFieldInput--dark input:-ms-input-placeholder {
  opacity: 0.38;
}

.darkSideLinks {
  margin: 50px -10px;
  padding: 0;
  list-style-type: none;
}

.darkSideLinks > li + li {
  margin-top: 5px;
}

.darkSideLinks a {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  background: #41495C;
  color: #fff;
  padding: 10px 17px;
  text-decoration: none;
  border-left: 5px solid transparent;
}

.darkSideLinks a.active {
  border-left-color: #9768EB;
  background: #51596F;
}

.darkSideLinks a.active .num {
  color: #fff;
}

.darkSideLinks .text {
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  font-size: 16px;
}

.darkSideLinks .num {
  color: #707C97;
  font-size: 13px;
  font-weight: 700;
  padding-left: 15px;
}

.pageSectionBlock {
  position: relative;
  background: #fff;
  box-shadow: 0 0 3px rgba(0, 0, 0, 0.2);
  border-top: 5px solid #9768EB;
}

.pageSectionBlock__header {
  padding: 10px 15px 30px;
  border-bottom: 1px solid #EEEEEE;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
}

.pageSectionBlock__header > * + * {
  padding-left: 15px;
}

.pageSectionBlock_preHeader {
  margin: 0 0 10px;
}

.actionsBar {
  padding: 8px 15px 8px 8px;
}

button.primary.small {
  font-size: 15px;
  text-transform: none;
  font-weight: 400;
  letter-spacing: 0;
  max-height: none;
  min-height: 0;
  height: 41px;
  padding: 0 14px;
  border-radius: 4px;
}

.btnIcon {
  vertical-align: middle;
  display: inline-block;
  font-size: 20px;
}

.btnIcon.icon-add-team {
  font-size: 20px;
}

.btnIcon.icon-add-person {
  font-size: 20px;
}

.btnIcon.icon-add-practitioner {
  font-size: 20px;
}

.btnIcon--left {
  padding-right: 10px;
}

.iconTextLink {
  white-space: nowrap;
  color: #9768EB;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
}

.iconTextLink i {
  padding-right: 5px;
}

.pageSection + .pageSection {
  margin-top: 30px;
}

.tableFiltersWrap {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: flex-end;
  align-items: flex-end;
  margin: 0 0 10px;
}

.tableFiltersWrap__main {
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
}

.tableFiltersWrap__side {
  padding-left: 15px;
  width: 25%;
  min-width: 180px;
}

.paginationInfo {
  font-size: 13px;
  color: #75787B;
}

.compactPagination {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
}

.compactPagination > div {
  display: block;
  cursor: pointer;
  vertical-align: top;
  width: 31px;
  text-align: center;
  background: #9768EB;
  border-radius: 4px;
  opacity: 0.4;
}

.compactPagination > div + * {
  margin-left: 1px;
}

.compactPagination > div:hover {
  opacity: 1;
}

.compactPagination > div:first-child {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}

.compactPagination > div:last-child {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}

.compactPagination i {
  position: relative;
  top: -1px;
  display: inline-block;
  color: #fff;
  font-size: 22px;
  line-height: 28px;
  vertical-align: top;
}

.dropdown-wrapper.dropdown-wrapper--inline {
  display: inline-block;
}

.dropdown-wrapper.dropdown-wrapper--inline .trigger {
  border: 0;
  line-height: inherit;
}

.dropdown-wrapper.dropdown-wrapper--inline .trigger .icon-caret-dropdown {
  padding-left: 4px;
  padding-right: 4px;
}

.dropdown-wrapper.dropdown-wrapper--inline > .submenu-wrapper > .submenu-content > .submenu {
  background: #fff;
}

.dropdown-wrapper.dropdown-wrapper--inline > .submenu-wrapper > .submenu-content > .submenu li {
  min-width: 0;
  padding: 5px;
}

.dropdown-wrapper.dropdown-wrapper--inline > .submenu-wrapper > .submenu-content > .submenu li > span > span {
  padding-right: 0;
}

.icon--flip {
  display: inline-block;
  -moz-transform: rotate(180deg);
  -o-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  -webkit-transform: rotate(180deg);
  transform: rotate(180deg);
}

.sortedTableHeader {
  cursor: pointer;
}

.sortedTableHeader.sorted,
.sortedTableHeader:hover {
  background: #F7F7F7;
}

.sortIconWrap {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  height: 16px;
  width: 9px;
  margin-left: 3px;
}

.sortIconWrap:before,
.sortIconWrap:after {
  height: 0;
  width: 0;
  content: " ";
  display: block;
  position: absolute;
  left: 0;
  border-style: solid;
  border-color: transparent;
  border-top-width: 6px;
  border-bottom-width: 6px;
  border-left-width: 4px;
  border-right-width: 4px;
}

.sortIconWrap:before {
  border-bottom-color: #D8D8D8;
  top: -5px;
}

.sortIconWrap:after {
  border-top-color: #D8D8D8;
  bottom: -5px;
}

.sortedTableHeader--desc .sortIconWrap:before {
  display: none;
}

.sortedTableHeader--desc .sortIconWrap:after {
  border-top-color: #787B7E;
}

.sortedTableHeader--asc .sortIconWrap:before {
  border-bottom-color: #787B7E;
}

.sortedTableHeader--asc .sortIconWrap:after {
  display: none;
}

.actionIcon {
  font-size: 140%;
  color: #9768EB;
  cursor: pointer;
}

.actionIcon.icon-letter {
  font-size: 100%;
}

.actionIcon.icon-launch {
  font-size: 192%;
}

.iconActiveCheck {
  font-size: 110%;
  color: #DBDBDB;
}

.iconActiveCheck--active {
  color: #20b769;
}

.inlinePersonBadge {
  font-size: 100%;
  padding-left: 1px;
}

@media only screen and (min-width: 1054px) {
  .altTable tr > * {
    padding-left: 10px;
    padding-right: 10px;
  }

  .altTable tr > *:first-child {
    padding-left: 20px;
  }

  .altTable tr > *:last-child {
    padding-right: 20px;
  }

  .altTable__row {
    padding-left: 20px;
    padding-right: 20px;
  }
}

@media only screen and (max-width: 1053px) {
  .altTable tr > * {
    padding-left: 4px;
    padding-right: 4px;
  }

  .altTable tr > *:first-child {
    padding-left: 8px;
  }

  .altTable tr > *:last-child {
    padding-right: 8px;
  }

  .altTable__row {
    padding-left: 8px;
    padding-right: 8px;
  }
}

.altTable__innerWrap {
  color: #75787B;
  font-size: 13px;
  background: #fff;
  box-shadow: 0 0 3px rgba(0, 0, 0, 0.2);
}

@media only screen and (max-width: 1053px) {
  .altTable__innerWrap {
    font-size: 12px;
  }
}

.altTable table {
  border-collapse: collapse;
  width: 100%;
  font-size: inherit;
}

.altTable tr > * {
  text-align: center;
  vertical-align: middle;
}

.altTable tr > *:first-child {
  text-align: left;
}

.altTable tr th {
  border-bottom: 1px solid #CFCFCF;
  font-weight: 600;
  padding-top: 14px;
  padding-bottom: 14px;
}

.altTable tr td {
  border-bottom: 1px solid #EEEEEE;
  padding-top: 12px;
  padding-bottom: 12px;
}

.altTable__simpleHeader {
  margin: 0 0 15px;
  color: #75787B;
  letter-spacing: 1px;
  text-transform: uppercase;
  font-size: 13px;
  font-weight: bold;
}

.altTable__footerBar {
  text-align: center;
  padding-top: 10px;
  padding-bottom: 10px;
}

.btn {
  display: inline-block;
  white-space: nowrap;
  cursor: pointer;
  text-align: center;
}

.shortWideBtn {
  min-width: 167px;
  line-height: 24px;
  border: 1px solid #9768EB;
  padding: 0 15px;
  font-weight: 500;
  font-size: 13px;
  color: #9768EB;
  border-radius: 3px;
}

.td--name {
  font-weight: 600;
}

.siteHeaderBar__logoGroup {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: stretch;
  align-items: stretch;
}

.siteHeaderBar__logoGroup > div {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  padding: 15px 20px;
}

.siteHeaderBar__logoGroup > div + div {
  border-left: 1px solid #C8C9C9;
}

.siteHeaderBar__actions {
  padding-right: 20px;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
}

.logo--fusSmall {
  width: 119px;
}

.textLink {
  color: #9768EB;
  cursor: pointer;
  font-size: 13px;
}

.textLink--bump {
  font-size: 18px;
}

.backBtn {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  vertical-align: middle;
  width: 45px;
  height: 39px;
  text-align: center;
  background: #9768EB;
  color: #fff;
  font-size: 15px;
  border-radius: 3px;
  cursor: pointer;
}

.flexForm fieldset {
  border: 0;
  margin: 0;
  padding: 12px 0;
}

.flexForm fieldset + fieldset {
  border-top: 1px solid #EFEFF0;
}

.flexFormFooter {
  border-top: 1px solid #EFEFF0;
  padding: 20px 12px;
  text-align: center;
}

.flexFormRow {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  padding: 0 12px;
  min-height: 46px;
}

.flexFormRow + .flexFormRow {
  margin-top: 12px;
}

.flexFormRow--largeSection {
  -webkit-align-items: flex-start;
  align-items: flex-start;
  padding-top: 12px;
  padding-bottom: 12px;
}

.flexFormRow--largeSection .flexFormRow__labelCol {
  padding-top: 12px;
}

.flexFormRow__labelCol {
  min-height: 1px;
  width: 182px;
  text-align: right;
  font-size: 13px;
  color: #6C6D6C;
  padding-right: 27px;
}

.flexFormRow__fieldsCol {
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
}

.fieldsRow {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  margin: 0 -6px;
}

.fieldsRow > * {
  padding: 0 6px;
}

.fieldsRow--compressed {
  max-width: 500px;
}

.fieldsRow--twoCol > * {
  width: 50%;
}

.fieldsRow--threeCol > * {
  width: 33.33%;
}

.fieldsRow--fourCol > * {
  width: 25%;
}

.iconLabel {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
}

.iconLabel i {
  font-size: 18px;
  color: #AC9EA5;
}

.iconLabel span {
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  padding-left: 15px;
}

.uploadBlock {
  max-width: 390px;
  background: #F5F5F5;
  border-radius: 4px;
  padding: 20px 15px 20px 20px;
}

.inputInnerLabel {
  color: #AAABAF;
}

.collapsed__defaultElement {
  display: none;
}

.collapsed .collapsed__defaultElement {
  display: block;
}

.collapsed .collapsed__altElement {
  display: none;
}

.togglerBar {
  padding: 12px 17px;
  background: #F4F4F4;
  border-radius: 4px;
}

.togglerBar + .togglerBar {
  margin-top: 8px;
}

.togglerBar.collapsed .togglerBar__content {
  display: none;
}

.togglerBar__trigger {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
}

.togglerBar__trigger__allToggleInput {
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
}

.togglerBar__trigger__icon {
  color: #9768EB;
  font-size: 11px;
  cursor: pointer;
  padding: 5px;
}

.togglerBar__content {
  padding: 24px 0 0;
}

.inputOptionsTree {
  list-style: none;
  margin: 0;
  padding: 0;
}

.inputOptionsTree ul {
  list-style: none;
  margin: 0 0 0 30px;
  padding: 0;
}

.inputOptionsTree li + li,
.inputOptionsTree label + ul {
  margin-top: 8px;
}

.inputOptionsTree > li > label span {
  font-weight: 700;
}

.inputOptionsTree > li > ul {
  margin-bottom: 24px;
}

.inputOptionsTree > li > ul > li > ul {
  margin-bottom: 18px;
}

.columnsList {
  list-style: none;
  margin: 30px 0;
  padding: 0;
}

.columnsList > li {
  margin-bottom: 11px;
}

.columnsList--4 {
  -webkit-column-count: 4;
  -moz-column-count: 4;
  column-count: 4;
}

.closableButton {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  background: #E9F0F2;
  border-radius: 5px;
  padding: 8px 16px;
  color: #75787B;
}

.closableButton span {
  white-space: nowrap;
  font-size: 12px;
  font-weight: bold;
  text-transform: uppercase;
  letter-spacing: 0.9px;
}

.closableButton i {
  margin-left: 7px;
  padding: 3px 0;
  cursor: pointer;
  font-size: 18px;
}

label.checkbox-input span,
label.radio-input span {
  font-size: 13px;
  color: #75777A;
}

.responsiveShow {
  display: none;
}

@media only screen and (max-width: 900px) {
  .responsiveShow--smDown {
    display: block;
  }
}

.iconColCell {
  width: 20px;
}

.iconColCell .icon-edit {
  position: relative;
  top: -2px;
}

.openFieldWidth--max100 {
  max-width: 100%;
}

.openFieldWidth--small {
  width: 52px;
}

.openFieldWidth--medium {
  width: 148px;
}

.openFieldWidth--rpe {
  width: 200px;
}

.cellWidth--trainingLoad {
  width: 132px;
}

.scoreNum {
  font-weight: 500;
  font-size: 18px;
}

.openField--centered input {
  text-align: center;
}

.tlFiltersHeader {
  padding: 15px 15px;
}

.tlFiltersHeaderMain {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
}

.tlFiltersHeaderMain > * + * {
  padding-left: 15px;
}

.flTable tr > * {
  text-align: left;
  padding-right: 0;
  padding-left: 0;
}

.flTable tr > * + * {
  padding-left: 15px;
}

.flTable tr > *:first-child {
  padding-left: 15px;
}

.flTable tr > *:last-child {
  padding-right: 15px;
}

.flTable .proccessArrow {
  margin-right: -15px;
}

.flTableColWidth {
  box-sizing: content-box;
}

@media only screen and (min-width: 1054px) {
  .flTableColWidth--title {
    width: 300px;
  }

  .flTableColWidth--session {
    width: 300px;
  }
}

.flTableColWidth--durationTarget {
  width: auto;
}

.smallFieldLabel {
  padding: 0 0 7px;
  font-size: 14px;
  color: #75787B;
}

.tlFiltersHeaderSide {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-justify-content: space-between;
  justify-content: space-between;
}

.numName {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  font-size: 18px;
}

.numName__num {
  opacity: 0.4;
}

.numName__name {
  padding-left: 15px;
}

.numName--light {
  color: #75777A;
}

.openField--medium {
  height: 39px;
}

.selectBar {
  background: #9768EB;
  color: #fff;
  font-size: 15px;
  border-radius: 4px;
  padding: 9px 15px;
  line-height: 21px;
}

.selectBar.tall {
  padding: 12.5px 15px;
}

.selectBar i {
  display: none;
  padding-left: 5px;
  font-size: 11px;
}

.selectBar.isSelected {
  background: #F4F4F4;
  color: #C7CBCE;
}

.selectBar.isSelected i {
  display: inline;
}

.submenu__numTextWrap {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  font-size: 13px;
}

.submenu__numTextWrap .num {
  box-sizing: content-box;
  font-weight: 700;
  color: #6C6D6C;
  width: 15px;
  padding-right: 5px;
}

.submenu__numTextWrap .text {
  font-weight: 400;
  text-transform: none;
}

.contentWithProcessArrowWrap {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
}

.contentWithProcessArrowWrap > *:first-child {
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
}

.contentWithProcessArrowWrap .proccessArrow {
  text-align: center;
  width: 40px;
  color: #EFF1F2;
  font-size: 15px;
}

@media only screen and (min-width: 1054px) {
  .contentWithProcessArrowWrap .proccessArrow {
    width: 100px;
  }
}

.openFieldSelect__trigger .icon-target {
  font-size: 19px;
  color: #AAABAF;
  padding-right: 8px;
}

.TL-Duration input:invalid {
  border: 1px solid #CC0000;
  border-radius: 4px;
  height: 100%;
  background: #FFCCCC;
}

.backToLink {
  margin: 0 0 20px;
  display: inline-block;
  color: #9768EB;
  cursor: pointer;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
}

.backToLink i {
  font-size: 15px;
  display: block;
}

.backToLink .text {
  display: block;
  font-weight: 700;
  font-size: 13px;
  text-transform: uppercase;
  padding-left: 10px;
}

.compactFormStack > * + * {
  margin-top: 10px;
}

.inlineOverlayWrap {
  position: relative;
}

.inlineOverlay {
  position: absolute;
  z-index: 10;
  top: calc(100% - 15px);
  left: 50%;
  transform: translate(-50%, 0);
  background: #fff;
  width: 377px;
  max-width: calc(100% - 30px);
  padding: 15px;
  border: 1px solid #EEEEEE;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.13);
  border-radius: 4px;
}

.inlineOverlay__triangle {
  position: absolute;
  top: 3px;
  left: 50%;
  transform: translate(-50%, -100%);
  width: 29px;
  height: 17px;
  background: url(../images/overlay-triangle.png) center center no-repeat;
  background-size: contain;
}

.inlineOverlay__close {
  position: absolute;
  top: 15px;
  right: 15px;
  font-size: 17px;
  color: #9768EB;
  cursor: pointer;
}

.inlineOverlay__title {
  margin: 0 0 20px;
  padding: 0 30px;
  font-size: 18px;
  font-weight: 500;
  color: #75787B;
  text-align: center;
}

.chart-date-header + .dlRow {
  margin: 10px 0 20px;
}

.dlRow {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-justify-content: space-between;
  justify-content: space-between;
}

.dlRow + .chart-date-header {
  margin-top: 30px;
}

.dlRow + .dlRow {
  margin-top: 20px;
}

.dlItem__label {
  font-weight: 500;
  color: #75777A;
  font-size: 14px;
}

.dlItem__num {
  font-weight: 100;
  font-size: 30px;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
}

.dlItem__num .scoreChangeIcon {
  font-size: 7px;
  vertical-align: middle;
  padding-right: 8px;
}

.menu-pointer {
  cursor: pointer;
}

.weeklyScoreChangeIcon {
  font-size: 7px;
  vertical-align: middle;
  padding-right: 4px;
  margin-right: 4px;
}

.profileTLChangeIcon {
  font-size: 10px;
  vertical-align: middle;
  padding-right: 1px;
  padding-bottom: 3px;
}

.review-container .review-tabs + div {
  padding-top: 10px;
  border-top: 1px solid #0af;
}

.review-container .review-frame {
  display: flex;
  align-items: center;
  flex: 0.95;
  padding-left: 5px;
  min-height: 40px;
  font-size: 20px;
  border-bottom: solid 1px #c0c0c0;
  cursor: pointer;
}

.review-container .review-frame.error {
  font-size: 18px;
  font-weight: normal;
  color: #222;
  cursor: not-allowed;
}

.review-container .review-frame i.fa.fa-trash {
  color: #c0c0c0;
}

.review-container .review-frame i.fa.fa-trash:hover {
  color: #990000;
}

.review-container .review-frame img {
  max-width: 18px;
}

.review-container input[type=radio] {
  display: none;
}

.review-container input[type=radio]:checked + label {
  color: #0af;
  border: 1px solid #abc;
  border-top: 2px solid #0af;
  border-bottom: 1px solid #fff;
}

.review-container label[for*="Keypoints"],
.review-container label[for*="Reps"],
.review-container label[for*="Compensations"] {
  display: inline-block;
  margin: 0 0 -1px;
  padding: 10px 25px;
  font-size: 16px;
  text-align: center;
  color: #abc;
  border: 1px solid transparent;
}

.review-container label[for*="Keypoints"]:before,
.review-container label[for*="Reps"]:before,
.review-container label[for*="Compensations"]:before {
  font-family: fontawesome;
  font-weight: normal;
  margin-right: 10px;
}

.review-container label[for*="Keypoints"]:hover,
.review-container label[for*="Reps"]:hover,
.review-container label[for*="Compensations"]:hover {
  color: #789;
  cursor: pointer;
}

.review-container label[for*="Keypoints"]:before {
  content: '\F192';
}

.review-container label[for*="Reps"]:before {
  content: '\F0CB';
}

.review-container label[for*="Compensations"]:before {
  content: '\F1FE';
}

.review-container .comps input {
  display: none;
}

.review-container .comps label {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  background-color: #00B96D;
  border: 1px solid #00B96D;
  border-radius: 5px;
  min-width: 80px;
  line-height: 35px;
  color: #ffffff;
  font-weight: 600;
  text-transform: uppercase;
}

.review-container .comps label.found {
  background-color: #D1404B;
  border-color: #D1404B;
}

.review-container .comps label.hard {
  background-color: purple;
  border-color: purple;
}

.review-container .comps label.edge {
  background-color: #abc;
  border-color: #abc;
}

.assessment-container {
  margin-bottom: 40px;
}

.assessment-container a {
  text-decoration: none;
  color: #9768EB;
  cursor: pointer;
}

.assessment-container a:hover {
  text-decoration: underline;
}

.assessment-container.more {
  margin-top: 20px;
}

.assessment-container.more > div {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
}

.assessment-container.info-only {
  margin-top: 60px;
}

.assessment-container.info-only > .list-container > div:not(.scroll-container) {
  -webkit-justify-content: space-between;
  justify-content: space-between;
  margin-right: 20px;
}

.assessment-container.info-only > .banner {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  min-height: 40px;
  font-size: 16px;
  text-indent: 10px;
  text-transform: uppercase;
  border-bottom: 1px solid #c9c9c9;
}

.assessment-container > .list-container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  margin: 30px 0;
}

.assessment-container > .list-container > div:not(.scroll-container) {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  min-height: 50px;
  border-bottom: 1px solid #ccc;
}

.assessment-container > .list-container > div:not(.scroll-container) span {
  display: block;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  cursor: default;
}

.assessment-container > .list-container > div:not(.scroll-container) .list-info {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  min-width: 140px;
  max-width: 140px;
  padding: 0 4px;
}

.assessment-container > .list-container > div:not(.scroll-container) .list-info > a > span {
  cursor: pointer;
}

.assessment-container > .list-container > div:not(.scroll-container) .list-info.action {
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  -webkit-justify-content: flex-end;
  justify-content: flex-end;
  min-width: 60px;
}

.assessment-container > .list-container > div:not(.scroll-container) .list-info.action > button {
  min-height: 35px;
  max-height: 35px;
  padding: 0;
}

.assessment-container > .list-container > div:not(.scroll-container).header-row {
  min-height: 40px;
}

.assessment-container > .list-container > div:not(.scroll-container).header-row span {
  font-size: 12px;
  font-weight: bold;
  text-transform: uppercase;
  cursor: default;
}

.assessment-container > .list-container > .scroll-container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
}

.assessment-container > .list-container > .scroll-container > div {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  margin-right: 5px;
  min-height: 50px;
  border-bottom: 1px solid #ccc;
}

.assessment-container > .list-container > .scroll-container > div span {
  display: block;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  cursor: default;
}

.assessment-container > .list-container > .scroll-container > div .list-info {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  min-width: 140px;
  max-width: 140px;
  padding: 0 4px;
}

.assessment-container > .list-container > .scroll-container > div .list-info.action {
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  -webkit-justify-content: flex-end;
  justify-content: flex-end;
  min-width: 60px;
}

.assessment-container > .list-container > .scroll-container > div .list-info.action > button {
  min-height: 35px;
  max-height: 35px;
  padding: 0;
}

.assessment-container > .no-data {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  min-height: 250px;
  font-size: 20px;
}

.assessment-container .info-column {
  margin-right: 25px;
  min-width: 240px;
}

.assessment-container .info-column > .info-container {
  padding: 8px;
  border: 1px solid #c0c0c0;
}

.assessment-container .info-column > .info-container > .banner {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  margin: 8px 0px;
  min-height: 35px;
  background-color: #dcdcdc;
}

.assessment-container .info-column > .info-container > div:not(.banner) {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
}

.assessment-container .info-column > .info-container > div:not(.banner) > div:first-of-type {
  min-width: 100px;
}

.assessment-container .info-column > .info-container > div:not(.banner) > div:last-of-type {
  max-width: 120px;
}

.assessment-container .info-column > .info-container > div:not(.banner).state-info {
  -webkit-align-items: flex-start;
  align-items: flex-start;
}

.assessment-container .info-column .info-container + .info-container {
  margin-top: 30px;
}

.assessment-container .media-column {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
}

.assessment-container .video-column {
  position: relative;
  margin-bottom: 25px;
  width: 100%;
}

.assessment-container .video-column > video,
.assessment-container .video-column > canvas {
  display: block;
  width: 100%;
  height: auto;
}

.assessment-container .video-column .video-play-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
  cursor: pointer;
}

.assessment-container .video-column .video-play-overlay.is-hidden {
  display: none;
}

.assessment-container .video-column .video-play-overlay i {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 84px;
  height: 84px;
  padding-left: 6px;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.45);
  color: #fff;
  font-size: 38px;
  opacity: 0.9;
}

.assessment-container .detail-column {
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
}

.assessment-container .detail-column > div:first-of-type {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
}

.assessment-container .detail-column > div:first-of-type > div {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  margin-bottom: 5px;
}

.assessment-container .detail-column > div:first-of-type > div.header {
  font-weight: 600;
}

.assessment-container .detail-column > div:first-of-type > div.header .name ~ div {
  min-width: 80px;
  text-align: center;
}

.assessment-container .detail-column > div:first-of-type > div.items {
  min-height: 50px;
  border-top: 1px solid #dadada;
}

.assessment-container .detail-column .exercise-list > .name {
  -webkit-flex: 0.6;
  -ms-flex: 0.6;
  flex: 0.6;
  cursor: pointer;
}

.assessment-container .detail-column .exercise-list > .status {
  -webkit-flex: 0.4;
  -ms-flex: 0.4;
  flex: 0.4;
  text-align: center;
}

.assessment-container .detail-column .exercise-list > .action {
  -webkit-justify-content: center;
  justify-content: center;
  min-width: 100px;
}

.assessment-container .detail-column .exercise-list > .action > button {
  min-height: 35px;
  max-height: 35px;
  padding: 0;
}

.assessment-container .detail-column .measurement-list > .name {
  min-width: 300px;
  max-width: 300px;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.assessment-container .detail-column .measurement-list .name ~ div {
  margin-left: 5px;
}

.assessment-container .detail-column .measurement-list input[type=checkbox] {
  display: none;
}

.assessment-container .detail-column .measurement-list label {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  background-color: #00B96D;
  border: 1px solid #00B96D;
  border-radius: 5px;
  min-width: 80px;
  line-height: 35px;
  color: #ffffff;
  font-weight: 600;
  text-transform: uppercase;
  cursor: pointer;
}

.assessment-container .detail-column .measurement-list label.inactive {
  cursor: not-allowed;
}

.assessment-container .detail-column .measurement-list label.inactive:not(.found) {
  background-color: #c0c0c0;
  border-color: #c0c0c0;
}

.assessment-container .detail-column .measurement-list label.found {
  background-color: #D1404B;
  border-color: #D1404B;
}

.assessment-container .detail-column .exercise-status {
  margin-top: 20px;
}

.assessment-container .detail-column .exercise-status > div {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  min-height: 52px;
  background-color: #c0c0c0;
  border: 1px solid #dadada;
}

.assessment-container .detail-column .exercise-status > div.pending {
  background-color: #00b96d;
}

.assessment-container .detail-column .exercise-status > div .text {
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  padding-left: 10px;
  font-size: 16px;
}

.assessment-container .detail-column .exercise-status > div .text.manual {
  color: #fefefe;
}

.assessment-container .detail-column .exercise-status > div .text.pending {
  color: #efefef;
}

.assessment-container .detail-column .exercise-status > div .text.complete {
  color: #2d6b1d;
}

.assessment-container .detail-column .exercise-status > div .text.aborted {
  color: #2d1818;
}

.assessment-container .detail-column .exercise-status > div .button {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-justify-content: flex-end;
  justify-content: flex-end;
}

.assessment-container .detail-column .exercise-status > div .button > button {
  min-height: 40px;
  max-height: 40px;
}

.assessment-container .detail-column .measurement-save {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-justify-content: flex-end;
  justify-content: flex-end;
  margin: 20px 0;
}

.assessment-container .detail-column .measurement-save > button {
  min-width: 130px;
  text-transform: uppercase;
}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9hcHAvc3JjL3Nhc3MvZnVzaW9uZXRpY3MtYW5ndWxhci1wcm90b3R5cGUuc2NzcyIsIi9hcHAvc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fYmFzZS5zY3NzIiwiL2FwcC9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL192YXJpYWJsZXMuc2NzcyIsIi9hcHAvc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fbWl4aW5zLnNjc3MiLCIvYXBwL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX21vZGFsLnNjc3MiLCIvYXBwL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX3ZhcmlhYmxlcy5zY3NzIiwiL2FwcC9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL19taXhpbnMuc2NzcyIsIi9hcHAvc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fbG9hZGluZy5zY3NzIiwiL2FwcC9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL192YXJpYWJsZXMuc2NzcyIsIi9hcHAvc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fbWl4aW5zLnNjc3MiLCIvYXBwL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX2Rhc2hib2FyZF9tZW51LnNjc3MiLCIvYXBwL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX3ZhcmlhYmxlcy5zY3NzIiwiL2FwcC9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL19taXhpbnMuc2NzcyIsIi9hcHAvc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fZGFzaGJvYXJkX2xpc3Quc2NzcyIsIi9hcHAvc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fdmFyaWFibGVzLnNjc3MiLCIvYXBwL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX21peGlucy5zY3NzIiwiL2FwcC9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL19kYXNoYm9hcmRfZ3JpZC5zY3NzIiwiL2FwcC9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL192YXJpYWJsZXMuc2NzcyIsIi9hcHAvc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fbWl4aW5zLnNjc3MiLCIvYXBwL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX2Rhc2hib2FyZF9hdGhsZXRlLnNjc3MiLCIvYXBwL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX3ZhcmlhYmxlcy5zY3NzIiwiL2FwcC9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL19taXhpbnMuc2NzcyIsIi9hcHAvc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fcHJvZmlsZV9hdGhsZXRlLnNjc3MiLCIvYXBwL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX3ZhcmlhYmxlcy5zY3NzIiwiL2FwcC9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL19taXhpbnMuc2NzcyIsIi9hcHAvc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fcHJvZ3JhbV9jYXRhbG9nLnNjc3MiLCIvYXBwL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX3Byb2dyYW1fZWRpdC5zY3NzIiwiL2FwcC9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL192YXJpYWJsZXMuc2NzcyIsIi9hcHAvc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fbWl4aW5zLnNjc3MiLCIvYXBwL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX3Byb2dyYW1fd2hpdGVib2FyZC5zY3NzIiwiL2FwcC9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL192YXJpYWJsZXMuc2NzcyIsIi9hcHAvc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fbWl4aW5zLnNjc3MiLCIvYXBwL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX2NhbGVuZGFyLnNjc3MiLCIvYXBwL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX3ZhcmlhYmxlcy5zY3NzIiwiL2FwcC9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL19taXhpbnMuc2NzcyIsIi9hcHAvc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fY2hhcnRpbmcuc2NzcyIsIi9hcHAvc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fdmFyaWFibGVzLnNjc3MiLCIvYXBwL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX21peGlucy5zY3NzIiwiL2FwcC9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL19ub3Rlcy5zY3NzIiwiL2FwcC9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL192YXJpYWJsZXMuc2NzcyIsIi9hcHAvc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fbWl4aW5zLnNjc3MiLCIvYXBwL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX3RpbWVfcGlja2VyLnNjc3MiLCIvYXBwL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX3ZhcmlhYmxlcy5zY3NzIiwiL2FwcC9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL19taXhpbnMuc2NzcyIsIi9hcHAvc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fdG9vbHRpcC5zY3NzIiwiL2FwcC9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL192YXJpYWJsZXMuc2NzcyIsIi9hcHAvc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fbWl4aW5zLnNjc3MiLCIvYXBwL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX3VwbG9hZGluZy5zY3NzIiwiL2FwcC9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL19leGVyY2lzZV9uYXYuc2NzcyIsIi9hcHAvc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fY2F0YWxvZ19uYXYuc2NzcyIsIi9hcHAvc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fbG9naW4uc2NzcyIsIi9hcHAvc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fdmFyaWFibGVzLnNjc3MiLCIvYXBwL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX21peGlucy5zY3NzIiwiL2FwcC9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL19tb2RhbF9wcm9maWxlX2Zvcm0uc2NzcyIsIi9hcHAvc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fbW9kYWxfYXRobGV0ZV9lZGl0LnNjc3MiLCIvYXBwL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX21vZGFsX3NlbGVjdF9hdGhsZXRlcy5zY3NzIiwiL2FwcC9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL192YXJpYWJsZXMuc2NzcyIsIi9hcHAvc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fbWl4aW5zLnNjc3MiLCIvYXBwL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX3Rlcm1zLnNjc3MiLCIvYXBwL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX2FkbWluX21haW4uc2NzcyIsIi9hcHAvc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fdGVzdF9yZXN1bHRzLnNjc3MiLCIvYXBwL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX3ZhcmlhYmxlcy5zY3NzIiwiL2FwcC9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL19taXhpbnMuc2NzcyIsIi9hcHAvc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fY2xpbmljYWxfcmVwb3J0LnNjc3MiLCIvYXBwL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX3ZhcmlhYmxlcy5zY3NzIiwiL2FwcC9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL19taXhpbnMuc2NzcyIsIi9hcHAvc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fdGVzdHMuc2NzcyIsIi9hcHAvc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fdmFyaWFibGVzLnNjc3MiLCIvYXBwL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX21peGlucy5zY3NzIiwiL2FwcC9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL19wZXJmb3JtX3Rlc3RzLnNjc3MiLCIvYXBwL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX3ZhcmlhYmxlcy5zY3NzIiwiL2FwcC9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL19taXhpbnMuc2NzcyIsIi9hcHAvc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fcHJvZ3Jlc3NfcmVwb3J0LnNjc3MiLCIvYXBwL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX3ZhcmlhYmxlcy5zY3NzIiwiL2FwcC9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL19taXhpbnMuc2NzcyIsIi9hcHAvc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fdGVzdF9hcmNoaXZlcy5zY3NzIiwiL2FwcC9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL192YXJpYWJsZXMuc2NzcyIsIi9hcHAvc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fbWl4aW5zLnNjc3MiLCIvYXBwL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX2hlYWRlci5zY3NzIiwiL2FwcC9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL19yZXNwb25zaXZlbmVzc190d2Vha3Muc2NzcyIsIi9hcHAvc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fdmFyaWFibGVzLnNjc3MiLCIvYXBwL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX21peGlucy5zY3NzIiwiL2FwcC9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL19wcm9ncmFtX2NhbGVuZGFycy5zY3NzIiwiL2FwcC9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL192YXJpYWJsZXMuc2NzcyIsIi9hcHAvc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fbWl4aW5zLnNjc3MiLCIvYXBwL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX21peGluczIuc2NzcyIsIi9hcHAvc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fYWRtaW4yX21pc2Muc2NzcyIsIi9hcHAvc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fdmFyaWFibGVzLnNjc3MiLCIvYXBwL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX21peGlucy5zY3NzIiwiL2FwcC9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL19taXhpbnMyLnNjc3MiLCIvYXBwL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX2FkbWluMl9zaWRlYmFyLnNjc3MiLCIvYXBwL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX3ZhcmlhYmxlcy5zY3NzIiwiL2FwcC9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL19taXhpbnMuc2NzcyIsIi9hcHAvc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fbWl4aW5zMi5zY3NzIiwiL2FwcC9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL19hZG1pbjJfdGFibGUuc2NzcyIsIi9hcHAvc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fdmFyaWFibGVzLnNjc3MiLCIvYXBwL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX21peGlucy5zY3NzIiwiL2FwcC9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL19taXhpbnMyLnNjc3MiLCIvYXBwL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX3RlYW0tdGwuc2NzcyIsIi9hcHAvc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fdmFyaWFibGVzLnNjc3MiLCIvYXBwL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX21peGlucy5zY3NzIiwiL2FwcC9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL19taXhpbnMyLnNjc3MiLCIvYXBwL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX3JlcG9ydHMuc2NzcyIsIi9hcHAvc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fYXNzZXNzbWVudC5zY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIkBpbXBvcnQgXCJzYXNzLWFuZ3VsYXItcHJvdG90eXBlL2Jhc2VcIjtcbkBpbXBvcnQgXCJzYXNzLWFuZ3VsYXItcHJvdG90eXBlL21vZGFsXCI7XG5AaW1wb3J0IFwic2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9sb2FkaW5nXCI7XG5cbkBpbXBvcnQgXCJzYXNzLWFuZ3VsYXItcHJvdG90eXBlL2Rhc2hib2FyZF9tZW51XCI7XG5AaW1wb3J0IFwic2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9kYXNoYm9hcmRfbGlzdFwiO1xuQGltcG9ydCBcInNhc3MtYW5ndWxhci1wcm90b3R5cGUvZGFzaGJvYXJkX2dyaWRcIjtcbkBpbXBvcnQgXCJzYXNzLWFuZ3VsYXItcHJvdG90eXBlL2Rhc2hib2FyZF9hdGhsZXRlXCI7XG5AaW1wb3J0IFwic2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9wcm9maWxlX2F0aGxldGVcIjtcbkBpbXBvcnQgXCJzYXNzLWFuZ3VsYXItcHJvdG90eXBlL3Byb2dyYW1fY2F0YWxvZ1wiO1xuQGltcG9ydCBcInNhc3MtYW5ndWxhci1wcm90b3R5cGUvcHJvZ3JhbV9lZGl0XCI7XG5AaW1wb3J0IFwic2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9wcm9ncmFtX3doaXRlYm9hcmRcIjtcbkBpbXBvcnQgXCJzYXNzLWFuZ3VsYXItcHJvdG90eXBlL2NhbGVuZGFyXCI7XG5AaW1wb3J0IFwic2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9jaGFydGluZ1wiO1xuQGltcG9ydCBcInNhc3MtYW5ndWxhci1wcm90b3R5cGUvbm90ZXNcIjtcbkBpbXBvcnQgXCJzYXNzLWFuZ3VsYXItcHJvdG90eXBlL3RpbWVfcGlja2VyXCI7XG5AaW1wb3J0IFwic2Fzcy1hbmd1bGFyLXByb3RvdHlwZS90b29sdGlwXCI7XG5AaW1wb3J0IFwic2Fzcy1hbmd1bGFyLXByb3RvdHlwZS91cGxvYWRpbmdcIjtcblxuQGltcG9ydCBcInNhc3MtYW5ndWxhci1wcm90b3R5cGUvZXhlcmNpc2VfbmF2XCI7XG5AaW1wb3J0IFwic2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9jYXRhbG9nX25hdlwiO1xuXG5AaW1wb3J0IFwic2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9sb2dpblwiO1xuQGltcG9ydCBcInNhc3MtYW5ndWxhci1wcm90b3R5cGUvbW9kYWxfcHJvZmlsZV9mb3JtXCI7XG5AaW1wb3J0IFwic2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9tb2RhbF9hdGhsZXRlX2VkaXRcIjtcbkBpbXBvcnQgXCJzYXNzLWFuZ3VsYXItcHJvdG90eXBlL21vZGFsX3NlbGVjdF9hdGhsZXRlc1wiO1xuQGltcG9ydCBcInNhc3MtYW5ndWxhci1wcm90b3R5cGUvdGVybXNcIjtcblxuQGltcG9ydCBcInNhc3MtYW5ndWxhci1wcm90b3R5cGUvYWRtaW5fbWFpblwiO1xuQGltcG9ydCBcInNhc3MtYW5ndWxhci1wcm90b3R5cGUvdGVzdF9yZXN1bHRzXCI7XG5AaW1wb3J0IFwic2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9jbGluaWNhbF9yZXBvcnRcIjtcbkBpbXBvcnQgXCJzYXNzLWFuZ3VsYXItcHJvdG90eXBlL3Rlc3RzXCI7XG5AaW1wb3J0IFwic2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9wZXJmb3JtX3Rlc3RzXCI7XG5AaW1wb3J0IFwic2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9wcm9ncmVzc19yZXBvcnRcIjtcbkBpbXBvcnQgXCJzYXNzLWFuZ3VsYXItcHJvdG90eXBlL3Rlc3RfYXJjaGl2ZXNcIjtcbkBpbXBvcnQgXCJzYXNzLWFuZ3VsYXItcHJvdG90eXBlL2hlYWRlclwiO1xuXG5AaW1wb3J0IFwic2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9yZXNwb25zaXZlbmVzc190d2Vha3NcIjtcblxuQGltcG9ydCBcInNhc3MtYW5ndWxhci1wcm90b3R5cGUvcHJvZ3JhbV9jYWxlbmRhcnNcIjtcblxuQGltcG9ydCBcInNhc3MtYW5ndWxhci1wcm90b3R5cGUvYWRtaW4yX21pc2NcIjtcbkBpbXBvcnQgXCJzYXNzLWFuZ3VsYXItcHJvdG90eXBlL2FkbWluMl9zaWRlYmFyXCI7XG5AaW1wb3J0IFwic2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9hZG1pbjJfdGFibGVcIjtcblxuXG4vLyB0aGlzIGlzIG5ldy4uLlxuQGltcG9ydCBcInNhc3MtYW5ndWxhci1wcm90b3R5cGUvdGVhbS10bFwiO1xuQGltcG9ydCBcInNhc3MtYW5ndWxhci1wcm90b3R5cGUvcmVwb3J0c1wiO1xuQGltcG9ydCBcInNhc3MtYW5ndWxhci1wcm90b3R5cGUvYXNzZXNzbWVudFwiOyIsIkBpbXBvcnQgXCJ2YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCJtaXhpbnNcIjtcblxuKiwgKjpiZWZvcmUsICo6YWZ0ZXIge1xuICBAaW5jbHVkZSBib3gtc2l6aW5nKGluaGVyaXQpO1xuICBAaW5jbHVkZSB1c2VyLXNlbGVjdChub25lKTtcbn1cblxuaHRtbCB7XG4gIEBpbmNsdWRlIGJveC1zaXppbmcoYm9yZGVyLWJveCk7XG4gIGZvbnQtZmFtaWx5OiBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG5ib2R5IHtcbiAgZm9udC1mYW1pbHk6IFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgaGVpZ2h0OiAxMDAlO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG5cbiAgJi5kYXJrcm9vbTphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM1NTU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAuNyk7XG4gIH1cblxuICAuZGFya3Jvb20tYmFubmVyIHtcbiAgICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbiAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChjZW50ZXIpO1xuICAgIEBpbmNsdWRlIGxvY2staGVpZ2h0KDYwcHgpO1xuXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHotaW5kZXg6IDE7XG5cbiAgICA+IC5iYW5uZXIge1xuICAgICAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbiAgICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGNlbnRlcik7XG4gICAgICBAaW5jbHVkZSBsb2NrLWhlaWdodCg2MHB4KTtcbiAgICAgIEBpbmNsdWRlIGxvY2std2lkdGgoMjgwcHgpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDZweDtcbiAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiA2cHg7XG4gICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgfVxuICB9XG59XG5cbmJ1dHRvbiwgaW5wdXQsIHNlbGVjdCwgdGV4dGFyZWEge1xuICBmb250LWZhbWlseTogXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDEzcHg7XG59XG5cbmlucHV0IHtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcblxuICAmW3R5cGU9J3RleHQnXSB7XG4gICAgQGluY2x1ZGUgYXBwZWFyYW5jZShub25lKTtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KG5vbmUpO1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMnB4KTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkZ3JleTtcbiAgICBvdXRsaW5lOiAwO1xuICAgIHBhZGRpbmc6IDNweDtcbiAgfVxuXG4gICZbdHlwZT0ncGFzc3dvcmQnXSB7XG4gICAgQGluY2x1ZGUgYXBwZWFyYW5jZShub25lKTtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KG5vbmUpO1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMnB4KTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkZ3JleTtcbiAgICBvdXRsaW5lOiAwO1xuICAgIHBhZGRpbmc6IDNweDtcbiAgfVxuXG4gICYucmVxdWlyZWQge1xuICAgIGNvbG9yOiAjZmYwMDAwO1xuICB9XG59XG5cbmJ1dHRvbiB7XG4gIEBpbmNsdWRlIGFwcGVhcmFuY2Uobm9uZSk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3cobm9uZSk7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoNnB4KTtcbiAgQGluY2x1ZGUgbG9jay1oZWlnaHQoNTBweCk7XG4gIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgYm9yZGVyOiAycHggc29saWQgJGJsdWU7XG4gIGNvbG9yOiAkYmx1ZTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgbWluLXdpZHRoOiAxMTBweDtcbiAgb3V0bGluZTogMDtcbiAgcGFkZGluZzogMCAxMHB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICYuc2hvcnQge1xuICAgIEBpbmNsdWRlIGxvY2staGVpZ2h0KDM1cHgpO1xuICB9XG5cbiAgJi5zbWFsbCB7XG4gICAgbWluLXdpZHRoOiA4MHB4O1xuICB9XG5cbiAgJi5tZWRpdW0ge1xuICAgIEBpbmNsdWRlIGxvY2std2lkdGgoMTUwcHgpO1xuICB9XG5cbiAgJi5wcmltYXJ5LCAmLmJsdWUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRibHVlO1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gIH1cblxuICAmLmRpc2FibGVkIHtcbiAgICBjb2xvcjogI2NkY2RjZDtcbiAgICBib3JkZXItY29sb3I6ICNjZGNkY2Q7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuICB9XG4gIFxuICAmOmRpc2FibGVkIHtcbiAgICBjb2xvcjogI2NkY2RjZDtcbiAgICBib3JkZXItY29sb3I6ICNjZGNkY2Q7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuICB9XG5cbiAgJi5yZXN1bWUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNEMTQwNEI7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgfVxuXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IDA7XG4gIH1cblxuICAmOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICBib3JkZXI6IDA7XG4gIH1cbn1cblxuYnV0dG9uICsgYnV0dG9uIHtcbiAgbWFyZ2luLWxlZnQ6IDhweDtcbn1cblxuLmlucHV0LWNoZWNrYm94IHtcbiAgY29sb3I6ICRibHVlO1xuICBmb250LXNpemU6IDIwcHg7XG5cbiAgJi5kaXNhYmxlZCB7XG4gICAgY29sb3I6ICNjZGNkY2Q7XG4gIH1cbn1cblxuLmZvb3Rlci1jb250ZW50IHtcbiAgLypcbiAgQGluY2x1ZGUgZmxleCgxIDAgYXV0byk7XG4gIEBpbmNsdWRlIGZsZXgtcm93LWNlbnRlcigpO1xuICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChjZW50ZXIpO1xuICAqL1xuICBwYWRkaW5nOiAxMHB4IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNFMUUxRTY7XG4gIGJvcmRlci10b3A6IG5vbmU7XG4gIGNvbG9yOiAjMzIyNTRGO1xuXG4gIGEge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBjb2xvcjogIzk3NjhFQjtcbiAgfVxufVxuXG5bbmdcXDpjbG9ha10sIFtuZy1jbG9ha10sIC5uZy1jbG9hayB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLmhlYWRlci1jb250ZW50IHtcbiAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoaW5pdGlhbCk7XG4gIEBpbmNsdWRlIGxvY2staGVpZ2h0KDkwcHgpO1xuXG4gIC5sb2dvIHtcbiAgICBAaW5jbHVkZSBsb2NrLWhlaWdodCg5MHB4KTtcbiAgICBAaW5jbHVkZSBsb2NrLXdpZHRoKDE0MHB4KTtcbiAgfVxuXG4gIC53aGl0ZS1maWVsZCB7XG4gICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoZmxleC1lbmQpO1xuICAgIEBpbmNsdWRlIGZsZXgoMSAwIGF1dG8pO1xuXG4gICAgaS5pY29uLXNob3Age1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHBhZGRpbmc6IDBweDtcbiAgICAgIG1hcmdpbi1yaWdodDogLTVweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiA1cHg7XG4gICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgfVxuXG4gICAgPiBkaXYge1xuICAgICAgQGluY2x1ZGUgZmxleCgxIDAgYXV0byk7XG4gICAgICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICAgICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoZmxleC1lbmQpO1xuICAgICAgQGluY2x1ZGUgbG9jay1oZWlnaHQoNjBweCk7XG4gICAgICBtYXJnaW46IDBweCAzMHB4O1xuXG4gICAgICA+IGRpdiB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcbiAgICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICAgaSB7XG4gICAgICAgICAgZm9udC1zaXplOiAyOHB4O1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgIG1hcmdpbjogLTFweCA4cHggMHB4IDBweDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGNvbG9yOiAkZGFya19ibHVlO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5jdXJyZW50LWF0aGxldGUge1xuICAgICAgICAgIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gICAgICAgICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoZmxleC1zdGFydCk7XG5cbiAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgbWluLXdpZHRoOiBhdXRvO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcblxuICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHNwYW46Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBzcGFuICsgc3BhbiB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgPiBkaXYgKyBkaXYge1xuICAgICAgICBtYXJnaW4tbGVmdDogMTVweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICA+IGJ1dHRvbiB7XG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luOiAwIDdweCAwIDI1cHg7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbjogMCAyNXB4IDAgN3B4O1xuICAgICAgfVxuXG4gICAgICA+IGRpdiB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtcm93LWNlbnRlcigpO1xuICAgICAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChjZW50ZXIpO1xuXG4gICAgICAgIGkuZmEge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDRweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4ubWVudS1jb250ZW50IHtcbiAgQGluY2x1ZGUgbG9jay1oZWlnaHQoNjVweCk7XG4gICYucmVzcC1tZW51IHtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuLmJvZHktY29udGVudCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbn1cblxuLnJlZC1iYWNrZ3JvdW5kIHsgYmFja2dyb3VuZC1jb2xvcjogI2M0MmEzYjsgIH1cbi55ZWxsb3ctYmFja2dyb3VuZCB7IGJhY2tncm91bmQtY29sb3I6ICNkZmMwM2Y7IH1cbi5ncmVlbi1iYWNrZ3JvdW5kIHsgYmFja2dyb3VuZC1jb2xvcjogIzIwYjc2OTsgfVxuLmJsdWUtdGV4dCB7IGNvbG9yOiAjOTc2OEVCOyB9XG4ucmVkLXRleHQgeyBjb2xvcjogI2M0MmEzYjsgfVxuLmdyZXktdGV4dCB7IGNvbG9yOiAjODA4MDgwOyB9XG4ubGlnaHQtZ3JleS10ZXh0IHsgY29sb3I6ICNhN2E3YTc7IH1cbi55ZWxsb3ctdGV4dCB7IGNvbG9yOiAjZGZjMDNmOyB9XG4uZ3JlZW4tdGV4dCB7IGNvbG9yOiAjMjBiNzY5OyB9XG5cbi53aGl0ZWJnIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbn1cblxuLmdyZXliZyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZmVmZWY7XG59XG5cbi5kcmtncmV5Ymcge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmUyZTJlO1xufVxuXG4uYmx1ZWJnIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzk3NjhFQjtcbn1cblxuLm1haW4tdmlldyB7XG4gIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XG4gIG1pbi1oZWlnaHQ6IDEwMHZoO1xufVxuXG4udmlldy1mbGV4IHtcbiAgQGluY2x1ZGUgZmxleCgxIDAgYXV0byk7XG59XG5cbi52aWV3LXN0YXRpYyB7XG4gIEBpbmNsdWRlIGZsZXgoMCAwIGF1dG8pO1xufVxuXG4udmlldy1sYXlvdXQge1xuICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChjZW50ZXIpO1xuICBAaW5jbHVkZSBmbGV4KDEgMCBhdXRvKTtcbn1cblxuLnZpZXctc3RhY2sge1xuICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICBAaW5jbHVkZSBmbGV4KDEgMCBhdXRvKTtcbn1cblxuLnZpZXctY29udGFpbmVyIHtcbiAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgQGluY2x1ZGUgbG9jay13aWR0aCgxMDI0cHgpO1xuXG4gICYuY2VudGVyZWQgeyBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7IH1cbiAgJi5kaXZpZGVkIHsgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoc3BhY2UtYmV0d2Vlbik7IH1cbiAgJi5lbmQgeyBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChmbGV4LWVuZCk7IH1cbiAgJi53cmFwIHsgQGluY2x1ZGUgZmxleC13cmFwKHdyYXApOyB9XG4gICYubWlkZGxlIHsgQGluY2x1ZGUgZmxleC1hbGlnbi1zZWxmKGNlbnRlcik7IH1cblxuICAmLmNvbHVtbiB7XG4gICAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcbiAgICAmLmNlbnRlciB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChjZW50ZXIpO1xuICAgIH1cbiAgfVxufVxuXG4uY29sdW1uLWNvbnRhaW5lciB7XG4gIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XG5cbiAgJi5mdWxsIHsgQGluY2x1ZGUgZmxleCgxIDEgYXV0byk7IH1cbiAgJi50b3AgeyBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGZsZXgtc3RhcnQpOyB9XG4gICYuYm90dG9tIHsgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LWVuZCk7IH1cbiAgJi5jZW50ZXIgeyBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7IH1cbiAgJi5taWRkbGUgeyBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChjZW50ZXIpOyB9XG4gICYuZGl2aWRlZCB7IEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KHNwYWNlLWJldHdlZW4pOyB9XG4gICYuc3BhY2VkIHsgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoc3BhY2UtYXJvdW5kKTsgfVxuICAmLnN0YXJ0IHsgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoZmxleC1zdGFydCk7IH1cbiAgJi5lbmQgeyBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChmbGV4LWVuZCk7IH1cbiAgJi53cmFwIHsgQGluY2x1ZGUgZmxleC13cmFwKHdyYXApOyB9XG59XG5cbi5yb3ctY29udGFpbmVyIHtcbiAgQGluY2x1ZGUgZmxleC1yb3coKTtcblxuICAmLmZ1bGwgeyBAaW5jbHVkZSBmbGV4KDEgMSBhdXRvKTsgfVxuICAmLnRvcCB7IEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoZmxleC1zdGFydCk7IH1cbiAgJi5ib3R0b20geyBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGZsZXgtZW5kKTsgfVxuICAmLmNlbnRlciB7IEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTsgfVxuICAmLm1pZGRsZSB7IEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGNlbnRlcik7IH1cbiAgJi5kaXZpZGVkIHsgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoc3BhY2UtYmV0d2Vlbik7IH1cbiAgJi5zcGFjZWQgeyBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChzcGFjZS1hcm91bmQpOyB9XG4gICYuc3RhcnQgeyBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChmbGV4LXN0YXJ0KTsgfVxuICAmLmVuZCB7IEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGZsZXgtZW5kKTsgfVxuICAmLndyYXAgeyBAaW5jbHVkZSBmbGV4LXdyYXAod3JhcCk7IH1cbn1cblxuLmhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8vIHJhbmdlIGlucHV0IGF0dGVtcHRcbmlucHV0W3R5cGU9cmFuZ2VdIHtcbiAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgbWFyZ2luOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCByaWdodCB0b3AsIGNvbG9yLXN0b3AoMCwgIzk3NjhFQiksIGNvbG9yLXN0b3AoMCwgI2U4ZThlOCkpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgfVxuXG4gICY6Oi13ZWJraXQtc2xpZGVyLXRodW1iIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2I0YjRiNDtcbiAgICBoZWlnaHQ6IDQwcHg7XG4gICAgd2lkdGg6IDQwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJhY2tncm91bmQ6ICNlOGU4ZTg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIG1hcmdpbi10b3A6IC0xNXB4O1xuICB9XG5cbiAgJjo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2sge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTBweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICB9XG5cbiAgJjo6LW1vei1yYW5nZS10aHVtYiB7XG4gICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNiNGI0YjQ7XG4gICAgaGVpZ2h0OiA0MHB4O1xuICAgIHdpZHRoOiA0MHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kOiAjZThlOGU4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxuXG4gICY6Oi1tb3otcmFuZ2UtdHJhY2sge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTBweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICB9XG5cbiAgJjo6LW1vei1mb2N1cy1vdXRlciB7XG4gICAgYm9yZGVyOiAwO1xuICAgIG91dGxpbmU6IDA7XG4gIH1cblxuICAmOjotbXMtdHJhY2sge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTBweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItd2lkdGg6IDE2cHggMDtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cblxuICAmOjotbXMtdGh1bWIge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNiNGI0YjQ7XG4gICAgaGVpZ2h0OiA0MHB4O1xuICAgIHdpZHRoOiA0MHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kOiAjZThlOGU4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxuXG4gICY6Oi1tcy10b29sdGlwIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgJjo6LW1zLWZpbGwtbG93ZXIge1xuICAgIGJhY2tncm91bmQ6ICM5NzY4RUI7XG4gICAgYm9yZGVyOiAwLjJweCBzb2xpZCAjOTc2OEVCO1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgfVxuXG4gICY6Oi1tcy1maWxsLXVwcGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjZThlOGU4O1xuICAgIGJvcmRlcjogMC4ycHggc29saWQgI2U4ZThlODtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIH1cblxuICAmOmZvY3VzOjotbXMtZmlsbC1sb3dlciB7XG4gICAgYmFja2dyb3VuZDogIzk3NjhFQjtcbiAgfVxuXG4gICY6Zm9jdXM6Oi1tcy1maWxsLXVwcGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjZThlOGU4O1xuICB9XG59XG5cbi5wcm9ncmFtLWV4ZXJjaXNlLmRhaWx5LWV4ZXJjaXNlIHtcbiAgd2lkdGg6IDEwMCUhaW1wb3J0YW50O1xuICBtaW4td2lkdGg6IDEwMCUhaW1wb3J0YW50O1xuICBtYXgtd2lkdGg6IDEwMCUhaW1wb3J0YW50O1xuICBwYWRkaW5nOiAyMHB4O1xuICBnYXA6IDEwcHg7XG4gIC5kYWlseS1leGVyY2lzZS1hY3Rpb25zIHtcbiAgICBtaW4td2lkdGg6IDU0cHggIWltcG9ydGFudDtcbiAgICBtYXgtd2lkdGg6IDU0cHggIWltcG9ydGFudDtcbiAgICB3aWR0aDogNTRweCAhaW1wb3J0YW50O1xuICB9XG4gIC5pbmZvIC5hdHRyaWJ1dGVzIHtcbiAgICBnYXA6IDEwcHg7XG4gICAgPiBkaXYge1xuICAgICAgbWFyZ2luOiAwIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn0iLCIkcmVkOiAjYzQyYTNiO1xuJGJsdWU6ICM5NzY4RUI7XG4kZGFya19ibHVlOiAjMTEyNjRiO1xuJGdyZXk6ICM4MDgwODA7XG4kZ3JlZW46ICMyMGI3Njk7XG4kd2hpdGU6ICNmZmZmZmY7XG4keWVsbG93OiAjZDhiNjJmO1xuJGxpZ2h0X2dyZXk6ICNjZGNkY2Q7XG4kZGFya19ncmV5OiAjNmQ2ZTcyO1xuJHNjb3JlLWdyZWVuOiAjMDBCOTZEO1xuJHNjb3JlLXJlZDogI0QxNDA0QjtcbiRzY29yZS15ZWxsb3c6ICNEN0JCNDM7XG5cbiRmb290ZXJfYmFja2dyb3VuZDogIzExMjY0YjtcbiRhdGhsZXRlX2hlYWRlcl9wcmltYXJ5OiAjZTFlMWUxO1xuJGF0aGxldGVfaGVhZGVyX3NlY29uZGFyeTogI2UxZTFlMTtcbiRhdGhsZXRlX2xpc3RfbmFtZTogI2Y3ZjdmNztcbiIsIlxuQG1peGluIHRyYW5zZm9ybSgkdHJhbnNmb3Jtcykge1xuICAgICAtbW96LXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gICAgICAgLW8tdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgIC1tcy10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAtd2Via2l0LXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gICAgICAgICAgdHJhbnNmb3JtOiAkdHJhbnNmb3Jtcztcbn1cblxuQG1peGluIGFwcGVhcmFuY2UoJGFwcGVhcmFuY2UuLi4pIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcbiAgICAgLW1vei1hcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcbiAgICAgICAgICBhcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcbn1cblxuQG1peGluIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMuLi4pIHtcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICAgLW1vei1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbn1cblxuQG1peGluIGJveC1zaGFkb3coJHNoYWRvdy4uLikge1xuICAtd2Via2l0LWJveC1zaGFkb3c6ICRzaGFkb3c7XG4gICAgIC1tb3otYm94LXNoYWRvdzogJHNoYWRvdztcbiAgICAgICAgICBib3gtc2hhZG93OiAkc2hhZG93O1xufVxuXG5AbWl4aW4gYm94LXNpemluZygkc2l6ZS4uLikge1xuICAtd2Via2l0LWJveC1zaXppbmc6ICRzaXplO1xuICAgICAtbW96LWJveC1zaXppbmc6ICRzaXplO1xuICAgICAgICAgIGJveC1zaXppbmc6ICRzaXplO1xufVxuXG5AbWl4aW4gdXNlci1zZWxlY3QoJHNlbGVjdC4uLikge1xuLXdlYmtpdC10b3VjaC1jYWxsb3V0OiAkc2VsZWN0O1xuICAgICAtbXMtdG91Y2gtc2VsZWN0OiAkc2VsZWN0O1xuICAgICAtbW96LXVzZXItc2VsZWN0OiAkc2VsZWN0O1xuICAgICAgLW1zLXVzZXItc2VsZWN0OiAkc2VsZWN0O1xuICAgICAgICAgIHVzZXItc2VsZWN0OiAkc2VsZWN0O1xufVxuXG5AbWl4aW4gZmxleCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1mbGV4OiAkdmFsdWU7XG4gICAgICAtbXMtZmxleDogJHZhbHVlO1xuICAgICAgICAgIGZsZXg6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtYWxpZ24tY29udGVudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1hbGlnbi1jb250ZW50OiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24tY29udGVudDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1hbGlnbi1pdGVtcygkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1hbGlnbi1pdGVtczogJHZhbHVlO1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWFsaWduLXNlbGYoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtYWxpZ24tc2VsZjogJHZhbHVlO1xuICAgICAgICAgIGFsaWduLXNlbGY6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtZGlyZWN0aW9uKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiAkdmFsdWU7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246ICR2YWx1ZTtcbn1cbkBtaXhpbiBmbGV4LWRpcmVjdGlvbi1pbXBvcnRhbnQoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleC1kaXJlY3Rpb246ICR2YWx1ZSFpbXBvcnRhbnQ7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246ICR2YWx1ZSFpbXBvcnRhbnQ7XG59XG5cbkBtaXhpbiBmbGV4LWRpc3BsYXkoKSB7XG4gIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbkBtaXhpbiBmbGV4LWp1c3RpZnktY29udGVudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6ICR2YWx1ZTtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtb3JkZXIoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtb3JkZXI6ICR2YWx1ZTtcbiAgICAgICAgICBvcmRlcjogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC13cmFwKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXgtd3JhcDogJHZhbHVlO1xuICAgICAgICAgIGZsZXgtd3JhcDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1jb2x1bW4oKSB7XG4gIEBpbmNsdWRlIGZsZXgtZGlzcGxheSgpO1xuICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihjb2x1bW4pO1xufVxuXG5AbWl4aW4gZmxleC1jb2x1bW4tY2VudGVyKCkge1xuICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbi1zdGFydCgpIHtcbiAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LXN0YXJ0KTtcbn1cblxuQG1peGluIGZsZXgtcm93KCkge1xuICBAaW5jbHVkZSBmbGV4LWRpc3BsYXkoKTtcbiAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24ocm93KTtcbn1cblxuQG1peGluIGZsZXgtcm93LWNlbnRlcigpIHtcbiAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xufVxuXG5AbWl4aW4gZmxleC1yb3ctc3RhcnQoKSB7XG4gIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoZmxleC1zdGFydCk7XG59XG5cbkBtaXhpbiBsb2NrLWhlaWdodCgkdmFsdWUuLi4pIHtcbiAgbWF4LWhlaWdodDogJHZhbHVlO1xuICBtaW4taGVpZ2h0OiAkdmFsdWU7XG4gIGhlaWdodDogJHZhbHVlO1xufVxuXG5AbWl4aW4gbG9jay13aWR0aCgkdmFsdWUuLi4pIHtcbiAgbWF4LXdpZHRoOiAkdmFsdWU7XG4gIG1pbi13aWR0aDogJHZhbHVlO1xuICB3aWR0aDogJHZhbHVlO1xufVxuXG5AbWl4aW4gbG9jay13aWR0aC1pbmxpbmUtb3ZlcnJpZGUoJHZhbHVlLi4uKSB7XG4gIG1heC13aWR0aDogJHZhbHVlICFpbXBvcnRhbnQ7XG4gIG1pbi13aWR0aDogJHZhbHVlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbn1cblxuXG5AbWl4aW4gdW5sb2NrLXdpZHRoICB7XG4gIG1heC13aWR0aDogbm9uZTtcbiAgbWluLXdpZHRoOiAwO1xuICB3aWR0aDogYXV0bztcbn1cbkBtaXhpbiB1bmxvY2staGVpZ2h0ICB7XG4gIG1heC1oZWlnaHQ6IG5vbmU7XG4gIG1pbi1oZWlnaHQ6IDA7XG4gIGhlaWdodDogYXV0bztcbn1cblxuQG1peGluIGNvbHVtbi1jb3VudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1jb2x1bW4tY291bnQ6ICR2YWx1ZTtcbiAgLW1vei1jb2x1bW4tY291bnQ6ICR2YWx1ZTtcbiAgY29sdW1uLWNvdW50OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBjb2x1bW4tZ2FwKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWNvbHVtbi1nYXA6ICR2YWx1ZTtcbiAgLW1vei1jb2x1bW4tZ2FwOiAkdmFsdWU7XG4gIGNvbHVtbi1nYXA6ICR2YWx1ZTtcbn1cblxuQG1peGluIGNvbHVtbi1uby1icmVhaygpIHtcbiAgLXdlYmtpdC1jb2x1bW4tYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkLWNvbHVtbjtcbiAgLW1vei1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xuICAtby1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xuICAtbXMtY29sdW1uLWJyZWFrLWluc2lkZTphdm9pZDtcbiAgYnJlYWstaW5zaWRlOmF2b2lkLWNvbHVtbjtcbn1cblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiByZXNwb25kXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4kbWluQ29udGVudFdpZHRoOiAxMDI0cHg7XG4kbWluRWRnZUNvbnRlbnRQYWRkaW5nOiAxNXB4O1xuJGxhcmdlQnJlYWtwb2ludDogJG1pbkNvbnRlbnRXaWR0aCArICRtaW5FZGdlQ29udGVudFBhZGRpbmcqMjtcbiRjb21wcmVzc2VkQ29udGVudFdpZHRoOiAkbWluQ29udGVudFdpZHRoIC0gJG1pbkVkZ2VDb250ZW50UGFkZGluZyoyO1xuLy8gJHNtTWluOiA3NjhweDtcbiRzbU1heDogOTAwcHg7XG5AbWl4aW4gcmVzcG9uZCgkbWVkaWEpIHtcbiAgQGlmICRtZWRpYSA9PSB3aGl0ZWJvYXJkLWV4ZXJjaXNlLXN0YWNrZWQtYXR0cmlidXRlcyB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTkwcHgpIHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAaWYgJG1lZGlhID09IGxnIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRsYXJnZUJyZWFrcG9pbnQpIHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAZWxzZSBpZiAkbWVkaWEgPT0gbWQge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogI3skbGFyZ2VCcmVha3BvaW50IC0gMXB4fSkgeyBAY29udGVudDsgfVxuICB9XG4gIEBlbHNlIGlmICRtZWRpYSA9PSBzbSB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAjeyRzbU1heH0pIHsgQGNvbnRlbnQ7IH1cbiAgfVxufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4geHBhZCAvIHlwYWRcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gIFxuQG1peGluIHhwYWQoJHBhZCkgIHtcbiAgcGFkZGluZy1sZWZ0OiAkcGFkO1xuICBwYWRkaW5nLXJpZ2h0OiAkcGFkO1xufVxuQG1peGluIHlwYWQoJHBhZCkgIHtcbiAgcGFkZGluZy10b3A6ICRwYWQ7XG4gIHBhZGRpbmctYm90dG9tOiAkcGFkO1xufVxuQG1peGluIHhtYXJnaW4oJGdhcCkgIHtcbiAgbWFyZ2luLWxlZnQ6ICRnYXA7XG4gIG1hcmdpbi1yaWdodDogJGdhcDtcbn1cbkBtaXhpbiB5bWFyZ2luKCRnYXApICB7XG4gIG1hcmdpbi10b3A6ICRnYXA7XG4gIG1hcmdpbi1ib3R0b206ICRnYXA7XG59XG5cbkBtaXhpbiBhYnNDZW50ZXJCYXNlX3koJGgpICB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIG1hcmdpbi10b3A6ICRoLy0yO1xufVxuXG5AbWl4aW4gYWJzQ2VudGVyQmFzZSgkdywgJGg6ICR3KSAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi10b3A6ICRoLy0yO1xuICBtYXJnaW4tbGVmdDogJHcvLTI7XG59XG5cbkBtaXhpbiBhYnNDZW50ZXJJY29uKCR3LCAkaDogJHcpICB7XG4gIEBpbmNsdWRlIGFic0NlbnRlckJhc2UoJHcsICRoKTtcbiAgZm9udC1zaXplOiAkaDtcbn1cbkBtaXhpbiBhYnNDZW50ZXJJY29uX3koJGgpICB7XG4gIEBpbmNsdWRlIGFic0NlbnRlckJhc2VfeSgkaCk7XG4gIGZvbnQtc2l6ZTogJGg7XG59XG5cbkBtaXhpbiBmbGV4SW5saW5lT3ZlcnJpZGUgIHtcbiAgICBtaW4td2lkdGg6IDAgIWltcG9ydGFudDtcbiAgICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcbiAgICAtd2Via2l0LWZsZXg6IDEgIWltcG9ydGFudDtcbiAgICAtbXMtZmxleDogMSAhaW1wb3J0YW50O1xuICAgIGZsZXg6IDEgIWltcG9ydGFudDtcbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBhcHAtc3BlY2lmaWMgbWl4aW4vdmFycyA+IHRhYnNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuQG1peGluIGxhcmdlLXRhYnMtc3R5bGUgIHtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBsaW5lLWhlaWdodDogMTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgQGluY2x1ZGUgcmVzcG9uZChtZCkgIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gIH1cbn1cbiRsYXJnZS10YWJzLXNwYWNpbmc6IDQwcHg7XG5cbkBtaXhpbiB0cmltSW5uZXJNYXJnaW4gIHtcbiAgPiAqICB7XG4gICAgJjpmaXJzdC1jaGlsZCAge1xuICAgICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAmOmxhc3QtY2hpbGQgIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gcGxhY2Vob2xkZXJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gIFxuQG1peGluIHBsYWNlaG9sZGVyIHtcbiAgJjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7QGNvbnRlbnR9XG4gICY6LW1vei1wbGFjZWhvbGRlciAgICAgICAgICAge0Bjb250ZW50fVxuICAmOjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgIHtAY29udGVudH1cbiAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIgICAgICB7QGNvbnRlbnR9ICBcbn1cblxuXG4iLCJAaW1wb3J0IFwidmFyaWFibGVzXCI7XG5AaW1wb3J0IFwibWl4aW5zXCI7XG5cbi5tb2RhbC1vdmVybGF5IHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIHotaW5kZXg6IDEwMDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogI2M0YzRjNDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxOTYsIDE5NiwgMTk2LCAuNyk7XG5cbiAgJi5uZy1lbnRlciwgJi5uZy1sZWF2ZSB7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiAuMnMgbGluZWFyIGFsbDtcbiAgICAgICAtbW96LXRyYW5zaXRpb246IC4ycyBsaW5lYXIgYWxsO1xuICAgICAgICAgLW8tdHJhbnNpdGlvbjogLjJzIGxpbmVhciBhbGw7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiAuMnMgbGluZWFyIGFsbDtcbiAgfVxuXG4gICYubmctZW50ZXIsICYubmctbGVhdmUubmctbGVhdmUtYWN0aXZlIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgJi5uZy1lbnRlci5uZy1lbnRlci1hY3RpdmUsICYubmctbGVhdmUge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuLm1vZGFsLXZpZXcge1xuICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG4gIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGNlbnRlcik7XG5cbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIHotaW5kZXg6IDEwMDE7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG4gIC5tb2RhbCB7XG4gICAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcbiAgICAvLyBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG4gICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcblxuICAgIG1pbi1oZWlnaHQ6IDEwMHB4O1xuICAgIG1pbi13aWR0aDogMjAwcHg7XG4gICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG5cbiAgICAtd2Via2l0LXRyYW5zaXRpb246IC4ycyBsaW5lYXIgYWxsO1xuICAgICAgIC1tb3otdHJhbnNpdGlvbjogLjJzIGxpbmVhciBhbGw7XG4gICAgICAgICAtby10cmFuc2l0aW9uOiAuMnMgbGluZWFyIGFsbDtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IC4ycyBsaW5lYXIgYWxsO1xuXG4gICAgJi5uZy1sZWF2ZSB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCUpO1xuICAgIH1cblxuICAgICYubmctbGVhdmUubmctbGVhdmUtYWN0aXZlIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjAwJSk7XG4gICAgfVxuICB9XG5cbiAgJi5uZy1lbnRlciB7XG4gICAgLm1vZGFsIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjAwJSk7XG4gICAgfVxuICB9XG5cbiAgJi5uZy1lbnRlci5uZy1lbnRlci1hY3RpdmUge1xuICAgIC5tb2RhbCB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgfVxuICB9XG59XG5cbi5tb2RhbC1hbmltYXRlLWNvbnRhaW5lciB7XG4gIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gIC8vIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbiAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcbiAgQGluY2x1ZGUgbG9jay13aWR0aCg3NzBweCk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgPiAubW9kYWwtY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSBmbGV4KDEgMCBhdXRvKTtcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IC4xMjVzIGxpbmVhciBhbGw7XG4gICAgICAgLW1vei10cmFuc2l0aW9uOiAuMTI1cyBsaW5lYXIgYWxsO1xuICAgICAgICAgLW8tdHJhbnNpdGlvbjogLjEyNXMgbGluZWFyIGFsbDtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IC4xMjVzIGxpbmVhciBhbGw7XG5cbiAgICAmLm5nLWxlYXZlIHtcbiAgICAgICYuc2xpZGUtbGVmdCB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpOyB9XG4gICAgICAmLnNsaWRlLXJpZ2h0IHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCk7IH1cbiAgICB9XG5cbiAgICAmLm5nLWxlYXZlLm5nLWxlYXZlLWFjdGl2ZSwgJi5uZy1oaWRlLWFkZCB7XG4gICAgICAmLnNsaWRlLWxlZnQgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpOyB9XG4gICAgICAmLnNsaWRlLXJpZ2h0IHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpOyB9XG4gICAgfVxuXG4gICAgJi5uZy1lbnRlciwgJi5uZy1oaWRlLXJlbW92ZSB7XG4gICAgICAmLnNsaWRlLWxlZnQgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpOyB9XG4gICAgICAmLnNsaWRlLXJpZ2h0IHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpOyB9XG4gICAgfVxuXG4gICAgJi5uZy1lbnRlci5uZy1lbnRlci1hY3RpdmUge1xuICAgICAgJi5zbGlkZS1sZWZ0IHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCk7IH1cbiAgICAgICYuc2xpZGUtcmlnaHQgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KTsgfVxuICAgIH1cbiAgfVxufVxuXG4ubW9kYWwtY29udGFpbmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIGJveC1zaGFkb3c6IDhweCA4cHggMjBweCAwcHggIzRhNGE0YTtcblxuICAmLmxhcmdlIHtcbiAgICB3aWR0aDogOTcwcHg7XG4gIH1cblxuICBoZWFkZXIge1xuICAgIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gICAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDhweDtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogNnB4O1xuXG4gICAgYnV0dG9uLmxpbmsge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICBtaW4taGVpZ2h0OiAzMHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgICBmb250LXNpemU6IDEycHg7XG5cbiAgICAgIGkubGVmdCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgICAgfVxuICAgIH1cblxuICAgICYuYWxlcnQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHJlZDtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgfVxuXG4gICAgJi5jb25maXJtIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibHVlO1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICB9XG5cbiAgICBsYWJlbCB7XG4gICAgICBAaW5jbHVkZSBmbGV4KDEpO1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgIGkuZmEge1xuICAgICAgICBtYXJnaW46IDAgNHB4O1xuICAgICAgfVxuXG4gICAgICBzcGFuIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuY2xvc2Uge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICBjb2xvcjogIzAwMDtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBtYXJnaW46IDAgOHB4O1xuICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgb3BhY2l0eTogLjI7XG4gICAgICB0ZXh0LXNoYWRvdzogMCAxcHggMCAjY2NjO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgc2VjdGlvbiB7XG4gICAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcbiAgICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG4gICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcblxuICAgIG1hcmdpbjogMCAxMHB4O1xuICAgIG1pbi1oZWlnaHQ6IDgwcHg7XG4gICAgbWluLXdpZHRoOiAzMDBweDtcbiAgfVxuXG4gIGZvb3RlciB7XG4gICAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG4gICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoZmxleC1lbmQpO1xuXG4gICAgYnV0dG9uOmxhc3Qtb2YtdHlwZSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDhweDtcbiAgICB9XG4gIH1cbn1cbiIsIiRyZWQ6ICNjNDJhM2I7XG4kYmx1ZTogIzk3NjhFQjtcbiRkYXJrX2JsdWU6ICMxMTI2NGI7XG4kZ3JleTogIzgwODA4MDtcbiRncmVlbjogIzIwYjc2OTtcbiR3aGl0ZTogI2ZmZmZmZjtcbiR5ZWxsb3c6ICNkOGI2MmY7XG4kbGlnaHRfZ3JleTogI2NkY2RjZDtcbiRkYXJrX2dyZXk6ICM2ZDZlNzI7XG4kc2NvcmUtZ3JlZW46ICMwMEI5NkQ7XG4kc2NvcmUtcmVkOiAjRDE0MDRCO1xuJHNjb3JlLXllbGxvdzogI0Q3QkI0MztcblxuJGZvb3Rlcl9iYWNrZ3JvdW5kOiAjMTEyNjRiO1xuJGF0aGxldGVfaGVhZGVyX3ByaW1hcnk6ICNlMWUxZTE7XG4kYXRobGV0ZV9oZWFkZXJfc2Vjb25kYXJ5OiAjZTFlMWUxO1xuJGF0aGxldGVfbGlzdF9uYW1lOiAjZjdmN2Y3O1xuIiwiXG5AbWl4aW4gdHJhbnNmb3JtKCR0cmFuc2Zvcm1zKSB7XG4gICAgIC1tb3otdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgICAtby10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAgICAgLW1zLXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgICAgICB0cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xufVxuXG5AbWl4aW4gYXBwZWFyYW5jZSgkYXBwZWFyYW5jZS4uLikge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xuICAgICAtbW96LWFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xuICAgICAgICAgIGFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xufVxuXG5AbWl4aW4gYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cy4uLikge1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgICAtbW96LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xufVxuXG5AbWl4aW4gYm94LXNoYWRvdygkc2hhZG93Li4uKSB7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogJHNoYWRvdztcbiAgICAgLW1vei1ib3gtc2hhZG93OiAkc2hhZG93O1xuICAgICAgICAgIGJveC1zaGFkb3c6ICRzaGFkb3c7XG59XG5cbkBtaXhpbiBib3gtc2l6aW5nKCRzaXplLi4uKSB7XG4gIC13ZWJraXQtYm94LXNpemluZzogJHNpemU7XG4gICAgIC1tb3otYm94LXNpemluZzogJHNpemU7XG4gICAgICAgICAgYm94LXNpemluZzogJHNpemU7XG59XG5cbkBtaXhpbiB1c2VyLXNlbGVjdCgkc2VsZWN0Li4uKSB7XG4td2Via2l0LXRvdWNoLWNhbGxvdXQ6ICRzZWxlY3Q7XG4gICAgIC1tcy10b3VjaC1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgIC1tb3otdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgICAtbXMtdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgICAgICAgdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG59XG5cbkBtaXhpbiBmbGV4KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXg6ICR2YWx1ZTtcbiAgICAgIC1tcy1mbGV4OiAkdmFsdWU7XG4gICAgICAgICAgZmxleDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1hbGlnbi1jb250ZW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWFsaWduLWNvbnRlbnQ6ICR2YWx1ZTtcbiAgICAgICAgICBhbGlnbi1jb250ZW50OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWFsaWduLWl0ZW1zKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWFsaWduLWl0ZW1zOiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24taXRlbXM6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtYWxpZ24tc2VsZigkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1hbGlnbi1zZWxmOiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24tc2VsZjogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1kaXJlY3Rpb24oJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleC1kaXJlY3Rpb246ICR2YWx1ZTtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogJHZhbHVlO1xufVxuQG1peGluIGZsZXgtZGlyZWN0aW9uLWltcG9ydGFudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogJHZhbHVlIWltcG9ydGFudDtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogJHZhbHVlIWltcG9ydGFudDtcbn1cblxuQG1peGluIGZsZXgtZGlzcGxheSgpIHtcbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuQG1peGluIGZsZXgtanVzdGlmeS1jb250ZW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWp1c3RpZnktY29udGVudDogJHZhbHVlO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1vcmRlcigkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1vcmRlcjogJHZhbHVlO1xuICAgICAgICAgIG9yZGVyOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LXdyYXAoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleC13cmFwOiAkdmFsdWU7XG4gICAgICAgICAgZmxleC13cmFwOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbigpIHtcbiAgQGluY2x1ZGUgZmxleC1kaXNwbGF5KCk7XG4gIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKGNvbHVtbik7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbi1jZW50ZXIoKSB7XG4gIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbn1cblxuQG1peGluIGZsZXgtY29sdW1uLXN0YXJ0KCkge1xuICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGZsZXgtc3RhcnQpO1xufVxuXG5AbWl4aW4gZmxleC1yb3coKSB7XG4gIEBpbmNsdWRlIGZsZXgtZGlzcGxheSgpO1xuICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihyb3cpO1xufVxuXG5AbWl4aW4gZmxleC1yb3ctY2VudGVyKCkge1xuICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG59XG5cbkBtaXhpbiBmbGV4LXJvdy1zdGFydCgpIHtcbiAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LXN0YXJ0KTtcbn1cblxuQG1peGluIGxvY2staGVpZ2h0KCR2YWx1ZS4uLikge1xuICBtYXgtaGVpZ2h0OiAkdmFsdWU7XG4gIG1pbi1oZWlnaHQ6ICR2YWx1ZTtcbiAgaGVpZ2h0OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBsb2NrLXdpZHRoKCR2YWx1ZS4uLikge1xuICBtYXgtd2lkdGg6ICR2YWx1ZTtcbiAgbWluLXdpZHRoOiAkdmFsdWU7XG4gIHdpZHRoOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBsb2NrLXdpZHRoLWlubGluZS1vdmVycmlkZSgkdmFsdWUuLi4pIHtcbiAgbWF4LXdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbiAgbWluLXdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbiAgd2lkdGg6ICR2YWx1ZSAhaW1wb3J0YW50O1xufVxuXG5cbkBtaXhpbiB1bmxvY2std2lkdGggIHtcbiAgbWF4LXdpZHRoOiBub25lO1xuICBtaW4td2lkdGg6IDA7XG4gIHdpZHRoOiBhdXRvO1xufVxuQG1peGluIHVubG9jay1oZWlnaHQgIHtcbiAgbWF4LWhlaWdodDogbm9uZTtcbiAgbWluLWhlaWdodDogMDtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG5AbWl4aW4gY29sdW1uLWNvdW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWNvbHVtbi1jb3VudDogJHZhbHVlO1xuICAtbW96LWNvbHVtbi1jb3VudDogJHZhbHVlO1xuICBjb2x1bW4tY291bnQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGNvbHVtbi1nYXAoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtY29sdW1uLWdhcDogJHZhbHVlO1xuICAtbW96LWNvbHVtbi1nYXA6ICR2YWx1ZTtcbiAgY29sdW1uLWdhcDogJHZhbHVlO1xufVxuXG5AbWl4aW4gY29sdW1uLW5vLWJyZWFrKCkge1xuICAtd2Via2l0LWNvbHVtbi1icmVhay1pbnNpZGU6IGF2b2lkO1xuICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQtY29sdW1uO1xuICAtbW96LWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XG4gIC1vLWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XG4gIC1tcy1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xuICBicmVhay1pbnNpZGU6YXZvaWQtY29sdW1uO1xufVxuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IHJlc3BvbmRcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiRtaW5Db250ZW50V2lkdGg6IDEwMjRweDtcbiRtaW5FZGdlQ29udGVudFBhZGRpbmc6IDE1cHg7XG4kbGFyZ2VCcmVha3BvaW50OiAkbWluQ29udGVudFdpZHRoICsgJG1pbkVkZ2VDb250ZW50UGFkZGluZyoyO1xuJGNvbXByZXNzZWRDb250ZW50V2lkdGg6ICRtaW5Db250ZW50V2lkdGggLSAkbWluRWRnZUNvbnRlbnRQYWRkaW5nKjI7XG4vLyAkc21NaW46IDc2OHB4O1xuJHNtTWF4OiA5MDBweDtcbkBtaXhpbiByZXNwb25kKCRtZWRpYSkge1xuICBAaWYgJG1lZGlhID09IHdoaXRlYm9hcmQtZXhlcmNpc2Utc3RhY2tlZC1hdHRyaWJ1dGVzIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExOTBweCkgeyBAY29udGVudDsgfVxuICB9XG4gIEBpZiAkbWVkaWEgPT0gbGcge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGxhcmdlQnJlYWtwb2ludCkgeyBAY29udGVudDsgfVxuICB9XG4gIEBlbHNlIGlmICRtZWRpYSA9PSBtZCB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAjeyRsYXJnZUJyZWFrcG9pbnQgLSAxcHh9KSB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGVsc2UgaWYgJG1lZGlhID09IHNtIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICN7JHNtTWF4fSkgeyBAY29udGVudDsgfVxuICB9XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiB4cGFkIC8geXBhZFxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgXG5AbWl4aW4geHBhZCgkcGFkKSAge1xuICBwYWRkaW5nLWxlZnQ6ICRwYWQ7XG4gIHBhZGRpbmctcmlnaHQ6ICRwYWQ7XG59XG5AbWl4aW4geXBhZCgkcGFkKSAge1xuICBwYWRkaW5nLXRvcDogJHBhZDtcbiAgcGFkZGluZy1ib3R0b206ICRwYWQ7XG59XG5AbWl4aW4geG1hcmdpbigkZ2FwKSAge1xuICBtYXJnaW4tbGVmdDogJGdhcDtcbiAgbWFyZ2luLXJpZ2h0OiAkZ2FwO1xufVxuQG1peGluIHltYXJnaW4oJGdhcCkgIHtcbiAgbWFyZ2luLXRvcDogJGdhcDtcbiAgbWFyZ2luLWJvdHRvbTogJGdhcDtcbn1cblxuQG1peGluIGFic0NlbnRlckJhc2VfeSgkaCkgIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbWFyZ2luLXRvcDogJGgvLTI7XG59XG5cbkBtaXhpbiBhYnNDZW50ZXJCYXNlKCR3LCAkaDogJHcpICB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLXRvcDogJGgvLTI7XG4gIG1hcmdpbi1sZWZ0OiAkdy8tMjtcbn1cblxuQG1peGluIGFic0NlbnRlckljb24oJHcsICRoOiAkdykgIHtcbiAgQGluY2x1ZGUgYWJzQ2VudGVyQmFzZSgkdywgJGgpO1xuICBmb250LXNpemU6ICRoO1xufVxuQG1peGluIGFic0NlbnRlckljb25feSgkaCkgIHtcbiAgQGluY2x1ZGUgYWJzQ2VudGVyQmFzZV95KCRoKTtcbiAgZm9udC1zaXplOiAkaDtcbn1cblxuQG1peGluIGZsZXhJbmxpbmVPdmVycmlkZSAge1xuICAgIG1pbi13aWR0aDogMCAhaW1wb3J0YW50O1xuICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xuICAgIC13ZWJraXQtZmxleDogMSAhaW1wb3J0YW50O1xuICAgIC1tcy1mbGV4OiAxICFpbXBvcnRhbnQ7XG4gICAgZmxleDogMSAhaW1wb3J0YW50O1xufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIGFwcC1zcGVjaWZpYyBtaXhpbi92YXJzID4gdGFic1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5AbWl4aW4gbGFyZ2UtdGFicy1zdHlsZSAge1xuICBmb250LXNpemU6IDIwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBmb250LXdlaWdodDogNTAwO1xuICBAaW5jbHVkZSByZXNwb25kKG1kKSAge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgfVxufVxuJGxhcmdlLXRhYnMtc3BhY2luZzogNDBweDtcblxuQG1peGluIHRyaW1Jbm5lck1hcmdpbiAge1xuICA+ICogIHtcbiAgICAmOmZpcnN0LWNoaWxkICB7XG4gICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgICY6bGFzdC1jaGlsZCAge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiBwbGFjZWhvbGRlclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgXG5AbWl4aW4gcGxhY2Vob2xkZXIge1xuICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtAY29udGVudH1cbiAgJjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgICB7QGNvbnRlbnR9XG4gICY6Oi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAge0Bjb250ZW50fVxuICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciAgICAgIHtAY29udGVudH0gIFxufVxuXG5cbiIsIkBpbXBvcnQgXCJ2YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCJtaXhpbnNcIjtcblxuLmxvYWRpbmctdmlldyB7XG4gIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbiAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcbiAgXG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgei1pbmRleDogOTk7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDsgIFxuXG4gIGJhY2tncm91bmQtY29sb3I6ICNmOWY5Zjk7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTI1LCAxMjUsIDEyNSwgLjUpO1xuXG4gIC5sb2FkaW5nLWNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG4gICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcbiAgICBcbiAgICBtaW4taGVpZ2h0OiAyMDBweDtcbiAgICBtaW4td2lkdGg6IDIwMHB4O1xuXG4gICAgLmZhLXNwaW5uZXIge1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBmb250LXNpemU6IDYwcHg7XG4gICAgfVxuICB9XG59IiwiJHJlZDogI2M0MmEzYjtcbiRibHVlOiAjOTc2OEVCO1xuJGRhcmtfYmx1ZTogIzExMjY0YjtcbiRncmV5OiAjODA4MDgwO1xuJGdyZWVuOiAjMjBiNzY5O1xuJHdoaXRlOiAjZmZmZmZmO1xuJHllbGxvdzogI2Q4YjYyZjtcbiRsaWdodF9ncmV5OiAjY2RjZGNkO1xuJGRhcmtfZ3JleTogIzZkNmU3MjtcbiRzY29yZS1ncmVlbjogIzAwQjk2RDtcbiRzY29yZS1yZWQ6ICNEMTQwNEI7XG4kc2NvcmUteWVsbG93OiAjRDdCQjQzO1xuXG4kZm9vdGVyX2JhY2tncm91bmQ6ICMxMTI2NGI7XG4kYXRobGV0ZV9oZWFkZXJfcHJpbWFyeTogI2UxZTFlMTtcbiRhdGhsZXRlX2hlYWRlcl9zZWNvbmRhcnk6ICNlMWUxZTE7XG4kYXRobGV0ZV9saXN0X25hbWU6ICNmN2Y3Zjc7XG4iLCJcbkBtaXhpbiB0cmFuc2Zvcm0oJHRyYW5zZm9ybXMpIHtcbiAgICAgLW1vei10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAgICAgIC1vLXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gICAgICAtbXMtdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgLXdlYmtpdC10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAgICAgICAgIHRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG59XG5cbkBtaXhpbiBhcHBlYXJhbmNlKCRhcHBlYXJhbmNlLi4uKSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogJGFwcGVhcmFuY2U7XG4gICAgIC1tb3otYXBwZWFyYW5jZTogJGFwcGVhcmFuY2U7XG4gICAgICAgICAgYXBwZWFyYW5jZTogJGFwcGVhcmFuY2U7XG59XG5cbkBtaXhpbiBib3JkZXItcmFkaXVzKCRib3JkZXItcmFkaXVzLi4uKSB7XG4gIC13ZWJraXQtYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gICAgIC1tb3otYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG59XG5cbkBtaXhpbiBib3gtc2hhZG93KCRzaGFkb3cuLi4pIHtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAkc2hhZG93O1xuICAgICAtbW96LWJveC1zaGFkb3c6ICRzaGFkb3c7XG4gICAgICAgICAgYm94LXNoYWRvdzogJHNoYWRvdztcbn1cblxuQG1peGluIGJveC1zaXppbmcoJHNpemUuLi4pIHtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiAkc2l6ZTtcbiAgICAgLW1vei1ib3gtc2l6aW5nOiAkc2l6ZTtcbiAgICAgICAgICBib3gtc2l6aW5nOiAkc2l6ZTtcbn1cblxuQG1peGluIHVzZXItc2VsZWN0KCRzZWxlY3QuLi4pIHtcbi13ZWJraXQtdG91Y2gtY2FsbG91dDogJHNlbGVjdDtcbiAgICAgLW1zLXRvdWNoLXNlbGVjdDogJHNlbGVjdDtcbiAgICAgLW1vei11c2VyLXNlbGVjdDogJHNlbGVjdDtcbiAgICAgIC1tcy11c2VyLXNlbGVjdDogJHNlbGVjdDtcbiAgICAgICAgICB1c2VyLXNlbGVjdDogJHNlbGVjdDtcbn1cblxuQG1peGluIGZsZXgoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleDogJHZhbHVlO1xuICAgICAgLW1zLWZsZXg6ICR2YWx1ZTtcbiAgICAgICAgICBmbGV4OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWFsaWduLWNvbnRlbnQoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtYWxpZ24tY29udGVudDogJHZhbHVlO1xuICAgICAgICAgIGFsaWduLWNvbnRlbnQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtYWxpZ24taXRlbXMoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtYWxpZ24taXRlbXM6ICR2YWx1ZTtcbiAgICAgICAgICBhbGlnbi1pdGVtczogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1hbGlnbi1zZWxmKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWFsaWduLXNlbGY6ICR2YWx1ZTtcbiAgICAgICAgICBhbGlnbi1zZWxmOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWRpcmVjdGlvbigkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogJHZhbHVlO1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiAkdmFsdWU7XG59XG5AbWl4aW4gZmxleC1kaXJlY3Rpb24taW1wb3J0YW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiAkdmFsdWUhaW1wb3J0YW50O1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiAkdmFsdWUhaW1wb3J0YW50O1xufVxuXG5AbWl4aW4gZmxleC1kaXNwbGF5KCkge1xuICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG5AbWl4aW4gZmxleC1qdXN0aWZ5LWNvbnRlbnQoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiAkdmFsdWU7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LW9yZGVyKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LW9yZGVyOiAkdmFsdWU7XG4gICAgICAgICAgb3JkZXI6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtd3JhcCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1mbGV4LXdyYXA6ICR2YWx1ZTtcbiAgICAgICAgICBmbGV4LXdyYXA6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtY29sdW1uKCkge1xuICBAaW5jbHVkZSBmbGV4LWRpc3BsYXkoKTtcbiAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24oY29sdW1uKTtcbn1cblxuQG1peGluIGZsZXgtY29sdW1uLWNlbnRlcigpIHtcbiAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xufVxuXG5AbWl4aW4gZmxleC1jb2x1bW4tc3RhcnQoKSB7XG4gIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoZmxleC1zdGFydCk7XG59XG5cbkBtaXhpbiBmbGV4LXJvdygpIHtcbiAgQGluY2x1ZGUgZmxleC1kaXNwbGF5KCk7XG4gIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKHJvdyk7XG59XG5cbkBtaXhpbiBmbGV4LXJvdy1jZW50ZXIoKSB7XG4gIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbn1cblxuQG1peGluIGZsZXgtcm93LXN0YXJ0KCkge1xuICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGZsZXgtc3RhcnQpO1xufVxuXG5AbWl4aW4gbG9jay1oZWlnaHQoJHZhbHVlLi4uKSB7XG4gIG1heC1oZWlnaHQ6ICR2YWx1ZTtcbiAgbWluLWhlaWdodDogJHZhbHVlO1xuICBoZWlnaHQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGxvY2std2lkdGgoJHZhbHVlLi4uKSB7XG4gIG1heC13aWR0aDogJHZhbHVlO1xuICBtaW4td2lkdGg6ICR2YWx1ZTtcbiAgd2lkdGg6ICR2YWx1ZTtcbn1cblxuQG1peGluIGxvY2std2lkdGgtaW5saW5lLW92ZXJyaWRlKCR2YWx1ZS4uLikge1xuICBtYXgtd2lkdGg6ICR2YWx1ZSAhaW1wb3J0YW50O1xuICBtaW4td2lkdGg6ICR2YWx1ZSAhaW1wb3J0YW50O1xuICB3aWR0aDogJHZhbHVlICFpbXBvcnRhbnQ7XG59XG5cblxuQG1peGluIHVubG9jay13aWR0aCAge1xuICBtYXgtd2lkdGg6IG5vbmU7XG4gIG1pbi13aWR0aDogMDtcbiAgd2lkdGg6IGF1dG87XG59XG5AbWl4aW4gdW5sb2NrLWhlaWdodCAge1xuICBtYXgtaGVpZ2h0OiBub25lO1xuICBtaW4taGVpZ2h0OiAwO1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbkBtaXhpbiBjb2x1bW4tY291bnQoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtY29sdW1uLWNvdW50OiAkdmFsdWU7XG4gIC1tb3otY29sdW1uLWNvdW50OiAkdmFsdWU7XG4gIGNvbHVtbi1jb3VudDogJHZhbHVlO1xufVxuXG5AbWl4aW4gY29sdW1uLWdhcCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1jb2x1bW4tZ2FwOiAkdmFsdWU7XG4gIC1tb3otY29sdW1uLWdhcDogJHZhbHVlO1xuICBjb2x1bW4tZ2FwOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBjb2x1bW4tbm8tYnJlYWsoKSB7XG4gIC13ZWJraXQtY29sdW1uLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZC1jb2x1bW47XG4gIC1tb3otY29sdW1uLWJyZWFrLWluc2lkZTphdm9pZDtcbiAgLW8tY29sdW1uLWJyZWFrLWluc2lkZTphdm9pZDtcbiAgLW1zLWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XG4gIGJyZWFrLWluc2lkZTphdm9pZC1jb2x1bW47XG59XG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gcmVzcG9uZFxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuJG1pbkNvbnRlbnRXaWR0aDogMTAyNHB4O1xuJG1pbkVkZ2VDb250ZW50UGFkZGluZzogMTVweDtcbiRsYXJnZUJyZWFrcG9pbnQ6ICRtaW5Db250ZW50V2lkdGggKyAkbWluRWRnZUNvbnRlbnRQYWRkaW5nKjI7XG4kY29tcHJlc3NlZENvbnRlbnRXaWR0aDogJG1pbkNvbnRlbnRXaWR0aCAtICRtaW5FZGdlQ29udGVudFBhZGRpbmcqMjtcbi8vICRzbU1pbjogNzY4cHg7XG4kc21NYXg6IDkwMHB4O1xuQG1peGluIHJlc3BvbmQoJG1lZGlhKSB7XG4gIEBpZiAkbWVkaWEgPT0gd2hpdGVib2FyZC1leGVyY2lzZS1zdGFja2VkLWF0dHJpYnV0ZXMge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTE5MHB4KSB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGlmICRtZWRpYSA9PSBsZyB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkbGFyZ2VCcmVha3BvaW50KSB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGVsc2UgaWYgJG1lZGlhID09IG1kIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICN7JGxhcmdlQnJlYWtwb2ludCAtIDFweH0pIHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAZWxzZSBpZiAkbWVkaWEgPT0gc20ge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogI3skc21NYXh9KSB7IEBjb250ZW50OyB9XG4gIH1cbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IHhwYWQgLyB5cGFkXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vICBcbkBtaXhpbiB4cGFkKCRwYWQpICB7XG4gIHBhZGRpbmctbGVmdDogJHBhZDtcbiAgcGFkZGluZy1yaWdodDogJHBhZDtcbn1cbkBtaXhpbiB5cGFkKCRwYWQpICB7XG4gIHBhZGRpbmctdG9wOiAkcGFkO1xuICBwYWRkaW5nLWJvdHRvbTogJHBhZDtcbn1cbkBtaXhpbiB4bWFyZ2luKCRnYXApICB7XG4gIG1hcmdpbi1sZWZ0OiAkZ2FwO1xuICBtYXJnaW4tcmlnaHQ6ICRnYXA7XG59XG5AbWl4aW4geW1hcmdpbigkZ2FwKSAge1xuICBtYXJnaW4tdG9wOiAkZ2FwO1xuICBtYXJnaW4tYm90dG9tOiAkZ2FwO1xufVxuXG5AbWl4aW4gYWJzQ2VudGVyQmFzZV95KCRoKSAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBtYXJnaW4tdG9wOiAkaC8tMjtcbn1cblxuQG1peGluIGFic0NlbnRlckJhc2UoJHcsICRoOiAkdykgIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICBtYXJnaW4tdG9wOiAkaC8tMjtcbiAgbWFyZ2luLWxlZnQ6ICR3Ly0yO1xufVxuXG5AbWl4aW4gYWJzQ2VudGVySWNvbigkdywgJGg6ICR3KSAge1xuICBAaW5jbHVkZSBhYnNDZW50ZXJCYXNlKCR3LCAkaCk7XG4gIGZvbnQtc2l6ZTogJGg7XG59XG5AbWl4aW4gYWJzQ2VudGVySWNvbl95KCRoKSAge1xuICBAaW5jbHVkZSBhYnNDZW50ZXJCYXNlX3koJGgpO1xuICBmb250LXNpemU6ICRoO1xufVxuXG5AbWl4aW4gZmxleElubGluZU92ZXJyaWRlICB7XG4gICAgbWluLXdpZHRoOiAwICFpbXBvcnRhbnQ7XG4gICAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7XG4gICAgLXdlYmtpdC1mbGV4OiAxICFpbXBvcnRhbnQ7XG4gICAgLW1zLWZsZXg6IDEgIWltcG9ydGFudDtcbiAgICBmbGV4OiAxICFpbXBvcnRhbnQ7XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gYXBwLXNwZWNpZmljIG1peGluL3ZhcnMgPiB0YWJzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbkBtaXhpbiBsYXJnZS10YWJzLXN0eWxlICB7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIEBpbmNsdWRlIHJlc3BvbmQobWQpICB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICB9XG59XG4kbGFyZ2UtdGFicy1zcGFjaW5nOiA0MHB4O1xuXG5AbWl4aW4gdHJpbUlubmVyTWFyZ2luICB7XG4gID4gKiAge1xuICAgICY6Zmlyc3QtY2hpbGQgIHtcbiAgICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbiAgICB9XG4gICAgJjpsYXN0LWNoaWxkICB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IHBsYWNlaG9sZGVyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vICBcbkBtaXhpbiBwbGFjZWhvbGRlciB7XG4gICY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge0Bjb250ZW50fVxuICAmOi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAgIHtAY29udGVudH1cbiAgJjo6LW1vei1wbGFjZWhvbGRlciAgICAgICAgICB7QGNvbnRlbnR9XG4gICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyICAgICAge0Bjb250ZW50fSAgXG59XG5cblxuIiwiQGltcG9ydCBcInZhcmlhYmxlc1wiO1xuQGltcG9ydCBcIm1peGluc1wiO1xuXG4uYXRobGV0ZS1zZWxlY3Rpb24ge1xuICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChmbGV4LXN0YXJ0KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VmZWZlZjtcbiAgLy8gYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjY2M7XG4gIC8vIGJvcmRlci10b3A6IDFweCBzb2xpZCAjY2NjO1xuXG4gID4gZGl2IHtcbiAgICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjY2NjO1xuICAgIGNvbG9yOiAjY2JjYmNiO1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbWluLXdpZHRoOiAyMDBweDtcbiAgICBwYWRkaW5nOiAwIDEwcHg7XG5cbiAgICAmLmFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGJkYmRiO1xuICAgICAgY29sb3I6ICM3NTc4N2I7XG4gICAgICAuc3RhdHVzICB7XG4gICAgICAgIGNvbG9yOiAjOTc2OEVCO1xuICAgICAgfVxuICAgICAgLmNsb3NlIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6bm90KC5hY3RpdmUpOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkYmRiZGI7XG4gICAgICBjb2xvcjogIzc1Nzg3YjtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG5cbiAgICAuc3RhdHVzIHtcbiAgICAgIGZvbnQtc2l6ZTogOHB4O1xuICAgICAgbWluLXdpZHRoOiAyNXB4O1xuICAgICAgbWF4LXdpZHRoOiAyNXB4O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cblxuICAgIC5uYW1lIHtcbiAgICAgIEBpbmNsdWRlIGZsZXgoMSAwIGF1dG8pO1xuICAgIH1cblxuICAgIC5jbG9zZSB7XG4gICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgbWluLXdpZHRoOiAyNXB4O1xuICAgICAgbWF4LXdpZHRoOiAyNXB4O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbiAgfVxuXG4gID4gZGl2LnRlYW0tbmF2IHtcbiAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChjZW50ZXIpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRibHVlO1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGZvbnQtd2VpZ2h0OiAyMDA7XG4gICAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gICAgbWluLXdpZHRoOiA2NXB4O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyOiAwO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsdWU7XG4gICAgfVxuICB9XG59XG5cblxuLmF0aGxldGUtY29udGFpbmVyIHtcbiAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcbiAgbWFyZ2luLWJvdHRvbTogMzVweDtcbn1cblxuLmF0aGxldGUtbWVudSB7XG4gIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gIEBpbmNsdWRlIGxvY2staGVpZ2h0KDQ4cHgpO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2NjYztcbiAgZm9udC1zaXplOiAxM3B4O1xuICB3aWR0aDogMTAwJTtcblxuICAuYXRobGV0ZS1zZWFyY2gge1xuICAgIEBpbmNsdWRlIGZsZXgoMSAwIGF1dG8pO1xuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICRsaWdodF9ncmV5O1xuICAgIHdpZHRoOiAxNDBweDtcblxuICAgIGlucHV0W3R5cGU9J3RleHQnXSB7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgaGVpZ2h0OiA1MHB4O1xuICAgICAgdGV4dC1pbmRlbnQ6IDE1cHg7XG4gICAgICB3aWR0aDogOTUlO1xuICAgIH1cblxuICAgIDo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogJGRhcmtfZ3JleTtcbiAgICB9XG4gIH1cblxuICAuYXRobGV0ZS1yZXNldC12aWV3IHtcbiAgICBAaW5jbHVkZSBmbGV4LXJvdy1jZW50ZXIoKTtcbiAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChjZW50ZXIpO1xuICAgIEBpbmNsdWRlIGZsZXgoMSAwIDEwMHB4KTtcbiAgICBAaW5jbHVkZSBsb2NrLXdpZHRoKDEwMHB4KTtcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjY2NjO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBjb2xvcjogJGRhcmtfZ3JleTtcbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAkbGlnaHRfZ3JleTtcbiAgICB9XG4gIH1cblxuICAuYXRobGV0ZS10b2dnbGUtdmlldyB7XG4gICAgQGluY2x1ZGUgZmxleC1yb3ctY2VudGVyKCk7XG4gICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcbiAgICBAaW5jbHVkZSBmbGV4KDEgMCAxMDBweCk7XG4gICAgQGluY2x1ZGUgbG9jay13aWR0aCgxMDBweCk7XG4gICAgZm9udC1zaXplOiAyM3B4O1xuXG4gICAgJiA+IGkge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgbWFyZ2luOiA4cHg7XG4gICAgICBjb2xvcjogJGxpZ2h0X2dyZXk7XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICRkYXJrX2dyZXk7XG4gICAgICB9XG4gICAgICAmLmFjdGl2ZSAge1xuICAgICAgICBjb2xvcjogJGJsdWU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmF0aGxldGUtbW9iaWxlLWZpbHRlcnMtYnRuIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLmF0aGxldGUtZmlsdGVyLXNvcnQge1xuICAgIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gICAgQGluY2x1ZGUgZmxleCgxIDAgYXV0byk7XG4gICAgbWluLXdpZHRoOiA2MDBweDtcblxuICAgICYgPiAuYXRobGV0ZS1zb3J0LWJveCB7XG4gICAgICBAaW5jbHVkZSBmbGV4LXJvdy1jZW50ZXIoKTtcbiAgICAgIEBpbmNsdWRlIGZsZXgoMSAxIGF1dG8pO1xuICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2NjYztcbiAgICAgIGNvbG9yOiAkZGFya19ncmV5O1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgbWluLXdpZHRoOiAxMTBweDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgLmxhYmVsIHtcbiAgICAgICAgQGluY2x1ZGUgbG9jay1oZWlnaHQoNTBweCk7XG4gICAgICAgIG1heC13aWR0aDogMTEwcHg7XG4gICAgICAgIHdpZHRoOiAxMTBweDtcbiAgICAgICAgcGFkZGluZzogMTVweDtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgIGNvbG9yOiAkZGFya19ncmV5O1xuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDM1JTtcbiAgICAgICAgICByaWdodDogMTBweDtcblxuICAgICAgICAgIGZvbnQtZmFtaWx5OiBGb250QXdlc29tZTtcbiAgICAgICAgICBjb250ZW50OiBcIlxcZjBkN1wiO1xuICAgICAgICAgIGNvbG9yOiAkZGFya19ncmV5O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5vcHRpb25zIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUycHg7XG4gICAgICAgIGxlZnQ6IC0xcHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmNmYxZjE7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNlYmViZWI7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMnB4IDVweCAwIHJnYmEoNjgsIDY3LCA3NiwgMC4yNSk7XG4gICAgICAgIG1pbi13aWR0aDogMTMwcHg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB6LWluZGV4OiAzO1xuXG4gICAgICAgIC5vcHRpb25zLWl0ZW0ge1xuICAgICAgICAgIHBhZGRpbmc6IDVweCAxMHB4IDVweCAxNHB4O1xuICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkZWRmZGU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5vcHRpb25zLWl0ZW0tc2VsZWN0ZWQge1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogM3B4O1xuICAgICAgICB9XG4gICAgICAgIC5zb3J0LWl0ZW0tc2VsZWN0ZWQge1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5mYS1jaXJjbGUge1xuICAgICAgICBtYXJnaW4tbGVmdDogN3B4O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDNweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgICYubm90LWFjdGl2ZSB7XG4gICAgICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5mYS1zb3J0LWFzYyB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiA0cHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogM3B4O1xuICAgICAgICBtYXJnaW4tdG9wOiA0cHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIH1cblxuICAgICAgLmZhLXNvcnQtZGVzYyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDRweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDNweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA0cHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gIGJvZHkge1xuICAgIC5hdGhsZXRlLW1lbnUge1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgbWluLWhlaWdodDogMDtcbiAgICAgIG1heC1oZWlnaHQ6IG5vbmU7XG4gIFxuICAgICAgLmF0aGxldGUtbW9iaWxlLWZpbHRlcnMtYnRuIHtcbiAgICAgICAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgb3JkZXI6IDI7XG4gICAgICAgIGhlaWdodDogNDhweDtcbiAgICAgICAgcGFkZGluZzogMCAxNHB4O1xuICAgICAgICBnYXA6IDdweDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNjY2M7XG4gICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgICAgICAgY29sb3I6ICRkYXJrX2dyZXk7XG4gICAgICB9XG4gIFxuICAgICAgLmF0aGxldGUtc2VhcmNoIHtcbiAgICAgICAgb3JkZXI6IDE7XG4gICAgICAgIGhlaWdodDogNDhweDtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgfVxuICBcbiAgICAgIC5hdGhsZXRlLXRvZ2dsZS12aWV3IHtcbiAgICAgICAgb3JkZXI6IDM7XG4gICAgICAgIG1pbi13aWR0aDogdW5zZXQ7XG4gICAgICAgIG1heC13aWR0aDogNzBweDtcbiAgICAgICAgd2lkdGg6IDcwcHg7XG4gICAgICAgIGhlaWdodDogNDhweDtcbiAgICAgIH1cbiAgXG4gICAgICAuYXRobGV0ZS1maWx0ZXItc29ydCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgb3JkZXI6IDQ7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtaW4td2lkdGg6IHVuc2V0O1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2NjYztcbiAgXG4gICAgICAgICYubW9iaWxlLW9wZW4ge1xuICAgICAgICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleCAhaW1wb3J0YW50O1xuICAgICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAgICAgfVxuICBcbiAgICAgICAgJiA+IC5hdGhsZXRlLXNvcnQtYm94IHtcbiAgICAgICAgICBoZWlnaHQ6IDUwcHg7XG4gICAgICAgICAgbWluLWhlaWdodDogNTBweDtcbiAgICAgICAgICBtYXgtaGVpZ2h0OiBub25lO1xuICAgICAgICAgIG1pbi13aWR0aDogdW5zZXQ7XG4gICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlZWU7XG4gICAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBcbiAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgICAgICB9XG4gIFxuICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgcmlnaHQ6IDE1cHg7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgICAgICBmb250LWZhbWlseTogRm9udEF3ZXNvbWU7XG4gICAgICAgICAgICBjb250ZW50OiBcIlxcZjBkN1wiO1xuICAgICAgICAgICAgY29sb3I6ICRkYXJrX2dyZXk7XG4gICAgICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgICB9XG4gIFxuICAgICAgICAgIGRpdi5sYWJlbCB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiBub25lO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMzBweCAwIDIwcHg7XG4gICAgICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICBjb250ZW50OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgXG4gICAgICAgICAgLmxhYmVsLXBsYWNlaG9sZGVyW2RhdGEtZmllbGQtbmFtZV0ge1xuICAgICAgICAgICAgZm9udC1zaXplOiAwO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMzBweCFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICBjb250ZW50OiBhdHRyKGRhdGEtZmllbGQtbmFtZSkgJzonO1xuICAgICAgICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgICAgIGNvbG9yOiAkZGFya19ncmV5O1xuICAgICAgICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICBjb250ZW50OiAnQWxsJztcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgICBjb2xvcjogJGRhcmtfZ3JleTtcbiAgICAgICAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gIFxuICAgICAgICAgIC5sYWJlbFtkYXRhLXNvcnQtdmFsdWVdIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMDtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDMwcHghaW1wb3J0YW50O1xuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgY29udGVudDogYXR0cihkYXRhLWZpZWxkLW5hbWUpICc6JztcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgICBjb2xvcjogJGRhcmtfZ3JleTtcbiAgICAgICAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgY29udGVudDogYXR0cihkYXRhLXNvcnQtdmFsdWUpO1xuICAgICAgICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgICAgIGNvbG9yOiAkZGFya19ncmV5O1xuICAgICAgICAgICAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgICAgICAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gIFxuICAgICAgICAgIC5vcHRpb25zIHtcbiAgICAgICAgICAgIHRvcDogNTBweDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB6LWluZGV4OiAxMDA7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDEwMCU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gIFxuICAgICAgLmF0aGxldGUtcmVzZXQtdmlldyB7XG4gICAgICAgIG9yZGVyOiA1O1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWluLXdpZHRoOiB1bnNldDtcbiAgICAgICAgbWF4LXdpZHRoOiB1bnNldDtcbiAgICAgICAgbWluLWhlaWdodDogNTBweDtcbiAgICAgICAgbWF4LWhlaWdodDogNTBweDtcbiAgICAgICAgaGVpZ2h0OiA1MHB4O1xuICAgICAgICBib3JkZXItbGVmdDogbm9uZTtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2NjYztcbiAgICAgIH1cbiAgICB9XG4gIFxuICAgIC5hdGhsZXRlLW1lbnUtLWZpbHRlcnMtb3BlbiB7XG4gICAgICAuYXRobGV0ZS1yZXNldC12aWV3IHtcbiAgICAgICAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIH1cbiAgICB9XG4gIFxuICAgIC5sYWJlbFtkYXRhLWZpZWxkLW5hbWVdOm5vdCgubGFiZWwtcGxhY2Vob2xkZXIpOm5vdChbZGF0YS1zb3J0LXZhbHVlXSk6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBhdHRyKGRhdGEtZmllbGQtbmFtZSkgJzonO1xuICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGNvbG9yOiAkZGFya19ncmV5O1xuICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgfVxuICB9XG5cbn1cbiIsIiRyZWQ6ICNjNDJhM2I7XG4kYmx1ZTogIzk3NjhFQjtcbiRkYXJrX2JsdWU6ICMxMTI2NGI7XG4kZ3JleTogIzgwODA4MDtcbiRncmVlbjogIzIwYjc2OTtcbiR3aGl0ZTogI2ZmZmZmZjtcbiR5ZWxsb3c6ICNkOGI2MmY7XG4kbGlnaHRfZ3JleTogI2NkY2RjZDtcbiRkYXJrX2dyZXk6ICM2ZDZlNzI7XG4kc2NvcmUtZ3JlZW46ICMwMEI5NkQ7XG4kc2NvcmUtcmVkOiAjRDE0MDRCO1xuJHNjb3JlLXllbGxvdzogI0Q3QkI0MztcblxuJGZvb3Rlcl9iYWNrZ3JvdW5kOiAjMTEyNjRiO1xuJGF0aGxldGVfaGVhZGVyX3ByaW1hcnk6ICNlMWUxZTE7XG4kYXRobGV0ZV9oZWFkZXJfc2Vjb25kYXJ5OiAjZTFlMWUxO1xuJGF0aGxldGVfbGlzdF9uYW1lOiAjZjdmN2Y3O1xuIiwiXG5AbWl4aW4gdHJhbnNmb3JtKCR0cmFuc2Zvcm1zKSB7XG4gICAgIC1tb3otdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgICAtby10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAgICAgLW1zLXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgICAgICB0cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xufVxuXG5AbWl4aW4gYXBwZWFyYW5jZSgkYXBwZWFyYW5jZS4uLikge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xuICAgICAtbW96LWFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xuICAgICAgICAgIGFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xufVxuXG5AbWl4aW4gYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cy4uLikge1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgICAtbW96LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xufVxuXG5AbWl4aW4gYm94LXNoYWRvdygkc2hhZG93Li4uKSB7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogJHNoYWRvdztcbiAgICAgLW1vei1ib3gtc2hhZG93OiAkc2hhZG93O1xuICAgICAgICAgIGJveC1zaGFkb3c6ICRzaGFkb3c7XG59XG5cbkBtaXhpbiBib3gtc2l6aW5nKCRzaXplLi4uKSB7XG4gIC13ZWJraXQtYm94LXNpemluZzogJHNpemU7XG4gICAgIC1tb3otYm94LXNpemluZzogJHNpemU7XG4gICAgICAgICAgYm94LXNpemluZzogJHNpemU7XG59XG5cbkBtaXhpbiB1c2VyLXNlbGVjdCgkc2VsZWN0Li4uKSB7XG4td2Via2l0LXRvdWNoLWNhbGxvdXQ6ICRzZWxlY3Q7XG4gICAgIC1tcy10b3VjaC1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgIC1tb3otdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgICAtbXMtdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgICAgICAgdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG59XG5cbkBtaXhpbiBmbGV4KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXg6ICR2YWx1ZTtcbiAgICAgIC1tcy1mbGV4OiAkdmFsdWU7XG4gICAgICAgICAgZmxleDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1hbGlnbi1jb250ZW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWFsaWduLWNvbnRlbnQ6ICR2YWx1ZTtcbiAgICAgICAgICBhbGlnbi1jb250ZW50OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWFsaWduLWl0ZW1zKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWFsaWduLWl0ZW1zOiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24taXRlbXM6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtYWxpZ24tc2VsZigkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1hbGlnbi1zZWxmOiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24tc2VsZjogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1kaXJlY3Rpb24oJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleC1kaXJlY3Rpb246ICR2YWx1ZTtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogJHZhbHVlO1xufVxuQG1peGluIGZsZXgtZGlyZWN0aW9uLWltcG9ydGFudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogJHZhbHVlIWltcG9ydGFudDtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogJHZhbHVlIWltcG9ydGFudDtcbn1cblxuQG1peGluIGZsZXgtZGlzcGxheSgpIHtcbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuQG1peGluIGZsZXgtanVzdGlmeS1jb250ZW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWp1c3RpZnktY29udGVudDogJHZhbHVlO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1vcmRlcigkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1vcmRlcjogJHZhbHVlO1xuICAgICAgICAgIG9yZGVyOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LXdyYXAoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleC13cmFwOiAkdmFsdWU7XG4gICAgICAgICAgZmxleC13cmFwOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbigpIHtcbiAgQGluY2x1ZGUgZmxleC1kaXNwbGF5KCk7XG4gIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKGNvbHVtbik7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbi1jZW50ZXIoKSB7XG4gIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbn1cblxuQG1peGluIGZsZXgtY29sdW1uLXN0YXJ0KCkge1xuICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGZsZXgtc3RhcnQpO1xufVxuXG5AbWl4aW4gZmxleC1yb3coKSB7XG4gIEBpbmNsdWRlIGZsZXgtZGlzcGxheSgpO1xuICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihyb3cpO1xufVxuXG5AbWl4aW4gZmxleC1yb3ctY2VudGVyKCkge1xuICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG59XG5cbkBtaXhpbiBmbGV4LXJvdy1zdGFydCgpIHtcbiAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LXN0YXJ0KTtcbn1cblxuQG1peGluIGxvY2staGVpZ2h0KCR2YWx1ZS4uLikge1xuICBtYXgtaGVpZ2h0OiAkdmFsdWU7XG4gIG1pbi1oZWlnaHQ6ICR2YWx1ZTtcbiAgaGVpZ2h0OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBsb2NrLXdpZHRoKCR2YWx1ZS4uLikge1xuICBtYXgtd2lkdGg6ICR2YWx1ZTtcbiAgbWluLXdpZHRoOiAkdmFsdWU7XG4gIHdpZHRoOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBsb2NrLXdpZHRoLWlubGluZS1vdmVycmlkZSgkdmFsdWUuLi4pIHtcbiAgbWF4LXdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbiAgbWluLXdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbiAgd2lkdGg6ICR2YWx1ZSAhaW1wb3J0YW50O1xufVxuXG5cbkBtaXhpbiB1bmxvY2std2lkdGggIHtcbiAgbWF4LXdpZHRoOiBub25lO1xuICBtaW4td2lkdGg6IDA7XG4gIHdpZHRoOiBhdXRvO1xufVxuQG1peGluIHVubG9jay1oZWlnaHQgIHtcbiAgbWF4LWhlaWdodDogbm9uZTtcbiAgbWluLWhlaWdodDogMDtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG5AbWl4aW4gY29sdW1uLWNvdW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWNvbHVtbi1jb3VudDogJHZhbHVlO1xuICAtbW96LWNvbHVtbi1jb3VudDogJHZhbHVlO1xuICBjb2x1bW4tY291bnQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGNvbHVtbi1nYXAoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtY29sdW1uLWdhcDogJHZhbHVlO1xuICAtbW96LWNvbHVtbi1nYXA6ICR2YWx1ZTtcbiAgY29sdW1uLWdhcDogJHZhbHVlO1xufVxuXG5AbWl4aW4gY29sdW1uLW5vLWJyZWFrKCkge1xuICAtd2Via2l0LWNvbHVtbi1icmVhay1pbnNpZGU6IGF2b2lkO1xuICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQtY29sdW1uO1xuICAtbW96LWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XG4gIC1vLWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XG4gIC1tcy1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xuICBicmVhay1pbnNpZGU6YXZvaWQtY29sdW1uO1xufVxuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IHJlc3BvbmRcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiRtaW5Db250ZW50V2lkdGg6IDEwMjRweDtcbiRtaW5FZGdlQ29udGVudFBhZGRpbmc6IDE1cHg7XG4kbGFyZ2VCcmVha3BvaW50OiAkbWluQ29udGVudFdpZHRoICsgJG1pbkVkZ2VDb250ZW50UGFkZGluZyoyO1xuJGNvbXByZXNzZWRDb250ZW50V2lkdGg6ICRtaW5Db250ZW50V2lkdGggLSAkbWluRWRnZUNvbnRlbnRQYWRkaW5nKjI7XG4vLyAkc21NaW46IDc2OHB4O1xuJHNtTWF4OiA5MDBweDtcbkBtaXhpbiByZXNwb25kKCRtZWRpYSkge1xuICBAaWYgJG1lZGlhID09IHdoaXRlYm9hcmQtZXhlcmNpc2Utc3RhY2tlZC1hdHRyaWJ1dGVzIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExOTBweCkgeyBAY29udGVudDsgfVxuICB9XG4gIEBpZiAkbWVkaWEgPT0gbGcge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGxhcmdlQnJlYWtwb2ludCkgeyBAY29udGVudDsgfVxuICB9XG4gIEBlbHNlIGlmICRtZWRpYSA9PSBtZCB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAjeyRsYXJnZUJyZWFrcG9pbnQgLSAxcHh9KSB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGVsc2UgaWYgJG1lZGlhID09IHNtIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICN7JHNtTWF4fSkgeyBAY29udGVudDsgfVxuICB9XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiB4cGFkIC8geXBhZFxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgXG5AbWl4aW4geHBhZCgkcGFkKSAge1xuICBwYWRkaW5nLWxlZnQ6ICRwYWQ7XG4gIHBhZGRpbmctcmlnaHQ6ICRwYWQ7XG59XG5AbWl4aW4geXBhZCgkcGFkKSAge1xuICBwYWRkaW5nLXRvcDogJHBhZDtcbiAgcGFkZGluZy1ib3R0b206ICRwYWQ7XG59XG5AbWl4aW4geG1hcmdpbigkZ2FwKSAge1xuICBtYXJnaW4tbGVmdDogJGdhcDtcbiAgbWFyZ2luLXJpZ2h0OiAkZ2FwO1xufVxuQG1peGluIHltYXJnaW4oJGdhcCkgIHtcbiAgbWFyZ2luLXRvcDogJGdhcDtcbiAgbWFyZ2luLWJvdHRvbTogJGdhcDtcbn1cblxuQG1peGluIGFic0NlbnRlckJhc2VfeSgkaCkgIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbWFyZ2luLXRvcDogJGgvLTI7XG59XG5cbkBtaXhpbiBhYnNDZW50ZXJCYXNlKCR3LCAkaDogJHcpICB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLXRvcDogJGgvLTI7XG4gIG1hcmdpbi1sZWZ0OiAkdy8tMjtcbn1cblxuQG1peGluIGFic0NlbnRlckljb24oJHcsICRoOiAkdykgIHtcbiAgQGluY2x1ZGUgYWJzQ2VudGVyQmFzZSgkdywgJGgpO1xuICBmb250LXNpemU6ICRoO1xufVxuQG1peGluIGFic0NlbnRlckljb25feSgkaCkgIHtcbiAgQGluY2x1ZGUgYWJzQ2VudGVyQmFzZV95KCRoKTtcbiAgZm9udC1zaXplOiAkaDtcbn1cblxuQG1peGluIGZsZXhJbmxpbmVPdmVycmlkZSAge1xuICAgIG1pbi13aWR0aDogMCAhaW1wb3J0YW50O1xuICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xuICAgIC13ZWJraXQtZmxleDogMSAhaW1wb3J0YW50O1xuICAgIC1tcy1mbGV4OiAxICFpbXBvcnRhbnQ7XG4gICAgZmxleDogMSAhaW1wb3J0YW50O1xufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIGFwcC1zcGVjaWZpYyBtaXhpbi92YXJzID4gdGFic1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5AbWl4aW4gbGFyZ2UtdGFicy1zdHlsZSAge1xuICBmb250LXNpemU6IDIwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBmb250LXdlaWdodDogNTAwO1xuICBAaW5jbHVkZSByZXNwb25kKG1kKSAge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgfVxufVxuJGxhcmdlLXRhYnMtc3BhY2luZzogNDBweDtcblxuQG1peGluIHRyaW1Jbm5lck1hcmdpbiAge1xuICA+ICogIHtcbiAgICAmOmZpcnN0LWNoaWxkICB7XG4gICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgICY6bGFzdC1jaGlsZCAge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiBwbGFjZWhvbGRlclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgXG5AbWl4aW4gcGxhY2Vob2xkZXIge1xuICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtAY29udGVudH1cbiAgJjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgICB7QGNvbnRlbnR9XG4gICY6Oi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAge0Bjb250ZW50fVxuICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciAgICAgIHtAY29udGVudH0gIFxufVxuXG5cbiIsIkBpbXBvcnQgXCJ2YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCJtaXhpbnNcIjtcblxuLmF0aGxldGUtbGlzdC12aWV3IHtcbiAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcbiAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoZmxleC1zdGFydCk7XG5cbiAgLmF0aGxldGUtbGlzdC1zY3JvbGwge1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLmF0aGxldGUtaGVhZGVyIHtcbiAgICBAaW5jbHVkZSBmbGV4LXJvdy1jZW50ZXIoKTtcbiAgICBAaW5jbHVkZSBmbGV4LWFsaWduLWNvbnRlbnQoY2VudGVyKTtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGF0aGxldGVfaGVhZGVyX3ByaW1hcnk7XG5cbiAgICAmID4gZGl2IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtcm93LWNlbnRlcigpO1xuICAgICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcbiAgICAgIEBpbmNsdWRlIGxvY2staGVpZ2h0KDM1cHgpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGF0aGxldGVfaGVhZGVyX3ByaW1hcnk7XG4gICAgICBjb2xvcjogJGRhcmtfZ3JleTtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgIH1cblxuICAgIC5hdGhsZXRlLW51bWJlciB7XG4gICAgICBtaW4td2lkdGg6IDcwcHg7XG4gICAgfVxuXG4gICAgLmF0aGxldGUtbmFtZSB7XG4gICAgICBAaW5jbHVkZSBmbGV4KDEpO1xuICAgICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoZmxleC1zdGFydCk7XG4gICAgICBtaW4td2lkdGg6IDE3MHB4O1xuICAgIH1cblxuICAgIC5hdGhsZXRlLXN0YXQge1xuICAgICAgQGluY2x1ZGUgZmxleCguNSk7XG4gICAgICBtaW4td2lkdGg6IDEwMHB4O1xuICAgIH1cblxuICAgIC5hdGhsZXRlLXByb2dyYW1zIHtcbiAgICAgIG1pbi13aWR0aDogMTQwcHg7XG4gICAgfVxuXG4gICAgLmF0aGxldGUtbGFzdC1hY3Rpdml0eSB7XG4gICAgICBtaW4td2lkdGg6IDE3MHB4O1xuICAgIH1cbiAgfVxuXG4gIC5hdGhsZXRlLXJvdyB7XG4gICAgQGluY2x1ZGUgZmxleC1yb3ctY2VudGVyKCk7XG4gICAgQGluY2x1ZGUgZmxleC1hbGlnbi1jb250ZW50KGNlbnRlcik7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuXG4gICAgJiA+IGRpdiB7XG4gICAgICBAaW5jbHVkZSBmbGV4LXJvdy1jZW50ZXIoKTtcbiAgICAgIEBpbmNsdWRlIGxvY2staGVpZ2h0KDUzcHgpO1xuICAgIH1cblxuICAgIC5hdGhsZXRlLW51bWJlciB7XG4gICAgICBjb2xvcjogIzkzOTQ5NztcbiAgICAgIG1pbi13aWR0aDogNzBweDtcbiAgICAgIHBhZGRpbmctbGVmdDogMjBweFxuICAgIH1cblxuICAgIC5hdGhsZXRlLW5hbWUge1xuICAgICAgQGluY2x1ZGUgZmxleCgxKTtcbiAgICAgIGNvbG9yOiAjZjdmN2Y3O1xuICAgICAgbWluLXdpZHRoOiAxNzBweDtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG5cbiAgICAuYXRobGV0ZS1zdGF0IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgoLjUpO1xuICAgICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAxLjI1cHg7XG4gICAgICBtaW4td2lkdGg6IDEwMHB4O1xuICAgIH1cblxuICAgIC5hdGhsZXRlLXByb2dyYW1zIHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGNlbnRlcik7XG4gICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICBtaW4td2lkdGg6IDE0MHB4O1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgICAgPiBkaXYge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICB9XG5cbiAgICAgIGkge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMnB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5hdGhsZXRlLWxhc3QtYWN0aXZpdHkge1xuICAgICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcbiAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgIG1pbi13aWR0aDogMTcwcHg7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cblxuICAgICY6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICAgID4gZGl2IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgICAgIH1cblxuICAgICAgLmF0aGxldGUtbnVtYmVyLCAuYXRobGV0ZS1uYW1lIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzJlMmUyZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOm50aC1jaGlsZChvZGQpIHtcbiAgICAgID4gZGl2IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2VmZWZlZjtcbiAgICAgIH1cblxuICAgICAgLmF0aGxldGUtbnVtYmVyLCAuYXRobGV0ZS1uYW1lIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzI0MjQyNDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn0iLCIkcmVkOiAjYzQyYTNiO1xuJGJsdWU6ICM5NzY4RUI7XG4kZGFya19ibHVlOiAjMTEyNjRiO1xuJGdyZXk6ICM4MDgwODA7XG4kZ3JlZW46ICMyMGI3Njk7XG4kd2hpdGU6ICNmZmZmZmY7XG4keWVsbG93OiAjZDhiNjJmO1xuJGxpZ2h0X2dyZXk6ICNjZGNkY2Q7XG4kZGFya19ncmV5OiAjNmQ2ZTcyO1xuJHNjb3JlLWdyZWVuOiAjMDBCOTZEO1xuJHNjb3JlLXJlZDogI0QxNDA0QjtcbiRzY29yZS15ZWxsb3c6ICNEN0JCNDM7XG5cbiRmb290ZXJfYmFja2dyb3VuZDogIzExMjY0YjtcbiRhdGhsZXRlX2hlYWRlcl9wcmltYXJ5OiAjZTFlMWUxO1xuJGF0aGxldGVfaGVhZGVyX3NlY29uZGFyeTogI2UxZTFlMTtcbiRhdGhsZXRlX2xpc3RfbmFtZTogI2Y3ZjdmNztcbiIsIlxuQG1peGluIHRyYW5zZm9ybSgkdHJhbnNmb3Jtcykge1xuICAgICAtbW96LXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gICAgICAgLW8tdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgIC1tcy10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAtd2Via2l0LXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gICAgICAgICAgdHJhbnNmb3JtOiAkdHJhbnNmb3Jtcztcbn1cblxuQG1peGluIGFwcGVhcmFuY2UoJGFwcGVhcmFuY2UuLi4pIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcbiAgICAgLW1vei1hcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcbiAgICAgICAgICBhcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcbn1cblxuQG1peGluIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMuLi4pIHtcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICAgLW1vei1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbn1cblxuQG1peGluIGJveC1zaGFkb3coJHNoYWRvdy4uLikge1xuICAtd2Via2l0LWJveC1zaGFkb3c6ICRzaGFkb3c7XG4gICAgIC1tb3otYm94LXNoYWRvdzogJHNoYWRvdztcbiAgICAgICAgICBib3gtc2hhZG93OiAkc2hhZG93O1xufVxuXG5AbWl4aW4gYm94LXNpemluZygkc2l6ZS4uLikge1xuICAtd2Via2l0LWJveC1zaXppbmc6ICRzaXplO1xuICAgICAtbW96LWJveC1zaXppbmc6ICRzaXplO1xuICAgICAgICAgIGJveC1zaXppbmc6ICRzaXplO1xufVxuXG5AbWl4aW4gdXNlci1zZWxlY3QoJHNlbGVjdC4uLikge1xuLXdlYmtpdC10b3VjaC1jYWxsb3V0OiAkc2VsZWN0O1xuICAgICAtbXMtdG91Y2gtc2VsZWN0OiAkc2VsZWN0O1xuICAgICAtbW96LXVzZXItc2VsZWN0OiAkc2VsZWN0O1xuICAgICAgLW1zLXVzZXItc2VsZWN0OiAkc2VsZWN0O1xuICAgICAgICAgIHVzZXItc2VsZWN0OiAkc2VsZWN0O1xufVxuXG5AbWl4aW4gZmxleCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1mbGV4OiAkdmFsdWU7XG4gICAgICAtbXMtZmxleDogJHZhbHVlO1xuICAgICAgICAgIGZsZXg6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtYWxpZ24tY29udGVudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1hbGlnbi1jb250ZW50OiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24tY29udGVudDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1hbGlnbi1pdGVtcygkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1hbGlnbi1pdGVtczogJHZhbHVlO1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWFsaWduLXNlbGYoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtYWxpZ24tc2VsZjogJHZhbHVlO1xuICAgICAgICAgIGFsaWduLXNlbGY6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtZGlyZWN0aW9uKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiAkdmFsdWU7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246ICR2YWx1ZTtcbn1cbkBtaXhpbiBmbGV4LWRpcmVjdGlvbi1pbXBvcnRhbnQoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleC1kaXJlY3Rpb246ICR2YWx1ZSFpbXBvcnRhbnQ7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246ICR2YWx1ZSFpbXBvcnRhbnQ7XG59XG5cbkBtaXhpbiBmbGV4LWRpc3BsYXkoKSB7XG4gIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbkBtaXhpbiBmbGV4LWp1c3RpZnktY29udGVudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6ICR2YWx1ZTtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtb3JkZXIoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtb3JkZXI6ICR2YWx1ZTtcbiAgICAgICAgICBvcmRlcjogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC13cmFwKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXgtd3JhcDogJHZhbHVlO1xuICAgICAgICAgIGZsZXgtd3JhcDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1jb2x1bW4oKSB7XG4gIEBpbmNsdWRlIGZsZXgtZGlzcGxheSgpO1xuICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihjb2x1bW4pO1xufVxuXG5AbWl4aW4gZmxleC1jb2x1bW4tY2VudGVyKCkge1xuICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbi1zdGFydCgpIHtcbiAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LXN0YXJ0KTtcbn1cblxuQG1peGluIGZsZXgtcm93KCkge1xuICBAaW5jbHVkZSBmbGV4LWRpc3BsYXkoKTtcbiAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24ocm93KTtcbn1cblxuQG1peGluIGZsZXgtcm93LWNlbnRlcigpIHtcbiAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xufVxuXG5AbWl4aW4gZmxleC1yb3ctc3RhcnQoKSB7XG4gIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoZmxleC1zdGFydCk7XG59XG5cbkBtaXhpbiBsb2NrLWhlaWdodCgkdmFsdWUuLi4pIHtcbiAgbWF4LWhlaWdodDogJHZhbHVlO1xuICBtaW4taGVpZ2h0OiAkdmFsdWU7XG4gIGhlaWdodDogJHZhbHVlO1xufVxuXG5AbWl4aW4gbG9jay13aWR0aCgkdmFsdWUuLi4pIHtcbiAgbWF4LXdpZHRoOiAkdmFsdWU7XG4gIG1pbi13aWR0aDogJHZhbHVlO1xuICB3aWR0aDogJHZhbHVlO1xufVxuXG5AbWl4aW4gbG9jay13aWR0aC1pbmxpbmUtb3ZlcnJpZGUoJHZhbHVlLi4uKSB7XG4gIG1heC13aWR0aDogJHZhbHVlICFpbXBvcnRhbnQ7XG4gIG1pbi13aWR0aDogJHZhbHVlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbn1cblxuXG5AbWl4aW4gdW5sb2NrLXdpZHRoICB7XG4gIG1heC13aWR0aDogbm9uZTtcbiAgbWluLXdpZHRoOiAwO1xuICB3aWR0aDogYXV0bztcbn1cbkBtaXhpbiB1bmxvY2staGVpZ2h0ICB7XG4gIG1heC1oZWlnaHQ6IG5vbmU7XG4gIG1pbi1oZWlnaHQ6IDA7XG4gIGhlaWdodDogYXV0bztcbn1cblxuQG1peGluIGNvbHVtbi1jb3VudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1jb2x1bW4tY291bnQ6ICR2YWx1ZTtcbiAgLW1vei1jb2x1bW4tY291bnQ6ICR2YWx1ZTtcbiAgY29sdW1uLWNvdW50OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBjb2x1bW4tZ2FwKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWNvbHVtbi1nYXA6ICR2YWx1ZTtcbiAgLW1vei1jb2x1bW4tZ2FwOiAkdmFsdWU7XG4gIGNvbHVtbi1nYXA6ICR2YWx1ZTtcbn1cblxuQG1peGluIGNvbHVtbi1uby1icmVhaygpIHtcbiAgLXdlYmtpdC1jb2x1bW4tYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkLWNvbHVtbjtcbiAgLW1vei1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xuICAtby1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xuICAtbXMtY29sdW1uLWJyZWFrLWluc2lkZTphdm9pZDtcbiAgYnJlYWstaW5zaWRlOmF2b2lkLWNvbHVtbjtcbn1cblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiByZXNwb25kXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4kbWluQ29udGVudFdpZHRoOiAxMDI0cHg7XG4kbWluRWRnZUNvbnRlbnRQYWRkaW5nOiAxNXB4O1xuJGxhcmdlQnJlYWtwb2ludDogJG1pbkNvbnRlbnRXaWR0aCArICRtaW5FZGdlQ29udGVudFBhZGRpbmcqMjtcbiRjb21wcmVzc2VkQ29udGVudFdpZHRoOiAkbWluQ29udGVudFdpZHRoIC0gJG1pbkVkZ2VDb250ZW50UGFkZGluZyoyO1xuLy8gJHNtTWluOiA3NjhweDtcbiRzbU1heDogOTAwcHg7XG5AbWl4aW4gcmVzcG9uZCgkbWVkaWEpIHtcbiAgQGlmICRtZWRpYSA9PSB3aGl0ZWJvYXJkLWV4ZXJjaXNlLXN0YWNrZWQtYXR0cmlidXRlcyB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTkwcHgpIHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAaWYgJG1lZGlhID09IGxnIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRsYXJnZUJyZWFrcG9pbnQpIHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAZWxzZSBpZiAkbWVkaWEgPT0gbWQge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogI3skbGFyZ2VCcmVha3BvaW50IC0gMXB4fSkgeyBAY29udGVudDsgfVxuICB9XG4gIEBlbHNlIGlmICRtZWRpYSA9PSBzbSB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAjeyRzbU1heH0pIHsgQGNvbnRlbnQ7IH1cbiAgfVxufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4geHBhZCAvIHlwYWRcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gIFxuQG1peGluIHhwYWQoJHBhZCkgIHtcbiAgcGFkZGluZy1sZWZ0OiAkcGFkO1xuICBwYWRkaW5nLXJpZ2h0OiAkcGFkO1xufVxuQG1peGluIHlwYWQoJHBhZCkgIHtcbiAgcGFkZGluZy10b3A6ICRwYWQ7XG4gIHBhZGRpbmctYm90dG9tOiAkcGFkO1xufVxuQG1peGluIHhtYXJnaW4oJGdhcCkgIHtcbiAgbWFyZ2luLWxlZnQ6ICRnYXA7XG4gIG1hcmdpbi1yaWdodDogJGdhcDtcbn1cbkBtaXhpbiB5bWFyZ2luKCRnYXApICB7XG4gIG1hcmdpbi10b3A6ICRnYXA7XG4gIG1hcmdpbi1ib3R0b206ICRnYXA7XG59XG5cbkBtaXhpbiBhYnNDZW50ZXJCYXNlX3koJGgpICB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIG1hcmdpbi10b3A6ICRoLy0yO1xufVxuXG5AbWl4aW4gYWJzQ2VudGVyQmFzZSgkdywgJGg6ICR3KSAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi10b3A6ICRoLy0yO1xuICBtYXJnaW4tbGVmdDogJHcvLTI7XG59XG5cbkBtaXhpbiBhYnNDZW50ZXJJY29uKCR3LCAkaDogJHcpICB7XG4gIEBpbmNsdWRlIGFic0NlbnRlckJhc2UoJHcsICRoKTtcbiAgZm9udC1zaXplOiAkaDtcbn1cbkBtaXhpbiBhYnNDZW50ZXJJY29uX3koJGgpICB7XG4gIEBpbmNsdWRlIGFic0NlbnRlckJhc2VfeSgkaCk7XG4gIGZvbnQtc2l6ZTogJGg7XG59XG5cbkBtaXhpbiBmbGV4SW5saW5lT3ZlcnJpZGUgIHtcbiAgICBtaW4td2lkdGg6IDAgIWltcG9ydGFudDtcbiAgICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcbiAgICAtd2Via2l0LWZsZXg6IDEgIWltcG9ydGFudDtcbiAgICAtbXMtZmxleDogMSAhaW1wb3J0YW50O1xuICAgIGZsZXg6IDEgIWltcG9ydGFudDtcbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBhcHAtc3BlY2lmaWMgbWl4aW4vdmFycyA+IHRhYnNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuQG1peGluIGxhcmdlLXRhYnMtc3R5bGUgIHtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBsaW5lLWhlaWdodDogMTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgQGluY2x1ZGUgcmVzcG9uZChtZCkgIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gIH1cbn1cbiRsYXJnZS10YWJzLXNwYWNpbmc6IDQwcHg7XG5cbkBtaXhpbiB0cmltSW5uZXJNYXJnaW4gIHtcbiAgPiAqICB7XG4gICAgJjpmaXJzdC1jaGlsZCAge1xuICAgICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAmOmxhc3QtY2hpbGQgIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gcGxhY2Vob2xkZXJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gIFxuQG1peGluIHBsYWNlaG9sZGVyIHtcbiAgJjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7QGNvbnRlbnR9XG4gICY6LW1vei1wbGFjZWhvbGRlciAgICAgICAgICAge0Bjb250ZW50fVxuICAmOjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgIHtAY29udGVudH1cbiAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIgICAgICB7QGNvbnRlbnR9ICBcbn1cblxuXG4iLCJAaW1wb3J0IFwidmFyaWFibGVzXCI7XG5AaW1wb3J0IFwibWl4aW5zXCI7XG5cbi5hdGhsZXRlLWRhc2hib2FyZC1sYXlvdXQge1xuICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVmMGVmO1xuXG4gIC5hdGhsZXRlLWRhc2hib2FyZC1sYXlvdXQtc2lkZSB7XG4gICAgQGluY2x1ZGUgZmxleCguMSk7XG4gIH1cbn1cblxuLmF0aGxldGUtZGFzaGJvYXJkIHtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICBtYXJnaW4tdG9wOiAxNXB4O1xuXG4gICRkYXNoYm9hcmQtd2lkdGg6IDk5MHB4O1xuXG4gIC5hdGhsZXRlLWRhc2hib2FyZC1tZW51IHtcbiAgICBAaW5jbHVkZSBmbGV4LXJvdy1jZW50ZXIoKTtcbiAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChmbGV4LXN0YXJ0KTtcbiAgICBtaW4taGVpZ2h0OiA4NXB4O1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgICB3aWR0aDogJGRhc2hib2FyZC13aWR0aDtcblxuICAgICYgPiBkaXYge1xuICAgICAgQGluY2x1ZGUgZmxleC1yb3ctY2VudGVyKCk7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDM1cHg7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgICAmID4gc3BhbjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA3cHg7XG5cbiAgICAgICAgJiA+IGk6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gICRhdGhsZXRlRGFzaGJvYXJkR2FwOiAyMHB4O1xuICAuYXRobGV0ZS1kYXNoYm9hcmQtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICBnYXA6ICRhdGhsZXRlRGFzaGJvYXJkR2FwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIC5hdGhsZXRlLWluZm8tYm94IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtY29sdW1uLWNlbnRlcigpO1xuICAgICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoc3BhY2UtYmV0d2Vlbik7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBtaW4taGVpZ2h0OiAwO1xuICAgICAgbWF4LWhlaWdodDogbm9uZTtcbiAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgIHdpZHRoOiBjYWxjKCgxMDAlIC0gI3skYXRobGV0ZURhc2hib2FyZEdhcCAqIDJ9KSAvIDMpO1xuXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgfVxuXG4gICAgLmF0aGxldGUtYWRkLXNsb3Qge1xuICAgICAgQGluY2x1ZGUgZmxleC1yb3ctY2VudGVyKCk7XG4gICAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChmbGV4LXN0YXJ0KTtcbiAgICAgIGZsZXg6IDEgMCAxMDAlO1xuICAgICAgbWFyZ2luLXRvcDogMTBweDtcblxuICAgICAgYnV0dG9uIGkge1xuICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogOHB4O1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5hdGhsZXRlLWluZm8tYm94ID4gZGl2IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cbn1cbi5hdGhsZXRlLWRhc2hib2FyZC1hY3Rpb25zIHtcbiAgQGluY2x1ZGUgZmxleC1yb3ctY2VudGVyKCk7XG4gIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGZsZXgtc3RhcnQpO1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIG1hcmdpbi10b3A6IDM1cHg7XG4gIC5hY3Rpb24ge1xuICAgIEBpbmNsdWRlIGZsZXgtcm93LWNlbnRlcigpO1xuICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGZsZXgtc3RhcnQpO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBtYXJnaW4tYm90dG9tOiA4cHg7XG4gICAgLmFjdGlvbi1pY29uIHtcbiAgICAgIGZvbnQtc2l6ZTogMzZweDtcbiAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgIH1cbiAgICAuYWN0aW9uLXRleHQge1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgICAgIG1hcmdpbi1yaWdodDogMjBweDtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgfVxuICB9XG59XG4iLCIkcmVkOiAjYzQyYTNiO1xuJGJsdWU6ICM5NzY4RUI7XG4kZGFya19ibHVlOiAjMTEyNjRiO1xuJGdyZXk6ICM4MDgwODA7XG4kZ3JlZW46ICMyMGI3Njk7XG4kd2hpdGU6ICNmZmZmZmY7XG4keWVsbG93OiAjZDhiNjJmO1xuJGxpZ2h0X2dyZXk6ICNjZGNkY2Q7XG4kZGFya19ncmV5OiAjNmQ2ZTcyO1xuJHNjb3JlLWdyZWVuOiAjMDBCOTZEO1xuJHNjb3JlLXJlZDogI0QxNDA0QjtcbiRzY29yZS15ZWxsb3c6ICNEN0JCNDM7XG5cbiRmb290ZXJfYmFja2dyb3VuZDogIzExMjY0YjtcbiRhdGhsZXRlX2hlYWRlcl9wcmltYXJ5OiAjZTFlMWUxO1xuJGF0aGxldGVfaGVhZGVyX3NlY29uZGFyeTogI2UxZTFlMTtcbiRhdGhsZXRlX2xpc3RfbmFtZTogI2Y3ZjdmNztcbiIsIlxuQG1peGluIHRyYW5zZm9ybSgkdHJhbnNmb3Jtcykge1xuICAgICAtbW96LXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gICAgICAgLW8tdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgIC1tcy10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAtd2Via2l0LXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gICAgICAgICAgdHJhbnNmb3JtOiAkdHJhbnNmb3Jtcztcbn1cblxuQG1peGluIGFwcGVhcmFuY2UoJGFwcGVhcmFuY2UuLi4pIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcbiAgICAgLW1vei1hcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcbiAgICAgICAgICBhcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcbn1cblxuQG1peGluIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMuLi4pIHtcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICAgLW1vei1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbn1cblxuQG1peGluIGJveC1zaGFkb3coJHNoYWRvdy4uLikge1xuICAtd2Via2l0LWJveC1zaGFkb3c6ICRzaGFkb3c7XG4gICAgIC1tb3otYm94LXNoYWRvdzogJHNoYWRvdztcbiAgICAgICAgICBib3gtc2hhZG93OiAkc2hhZG93O1xufVxuXG5AbWl4aW4gYm94LXNpemluZygkc2l6ZS4uLikge1xuICAtd2Via2l0LWJveC1zaXppbmc6ICRzaXplO1xuICAgICAtbW96LWJveC1zaXppbmc6ICRzaXplO1xuICAgICAgICAgIGJveC1zaXppbmc6ICRzaXplO1xufVxuXG5AbWl4aW4gdXNlci1zZWxlY3QoJHNlbGVjdC4uLikge1xuLXdlYmtpdC10b3VjaC1jYWxsb3V0OiAkc2VsZWN0O1xuICAgICAtbXMtdG91Y2gtc2VsZWN0OiAkc2VsZWN0O1xuICAgICAtbW96LXVzZXItc2VsZWN0OiAkc2VsZWN0O1xuICAgICAgLW1zLXVzZXItc2VsZWN0OiAkc2VsZWN0O1xuICAgICAgICAgIHVzZXItc2VsZWN0OiAkc2VsZWN0O1xufVxuXG5AbWl4aW4gZmxleCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1mbGV4OiAkdmFsdWU7XG4gICAgICAtbXMtZmxleDogJHZhbHVlO1xuICAgICAgICAgIGZsZXg6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtYWxpZ24tY29udGVudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1hbGlnbi1jb250ZW50OiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24tY29udGVudDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1hbGlnbi1pdGVtcygkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1hbGlnbi1pdGVtczogJHZhbHVlO1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWFsaWduLXNlbGYoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtYWxpZ24tc2VsZjogJHZhbHVlO1xuICAgICAgICAgIGFsaWduLXNlbGY6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtZGlyZWN0aW9uKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiAkdmFsdWU7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246ICR2YWx1ZTtcbn1cbkBtaXhpbiBmbGV4LWRpcmVjdGlvbi1pbXBvcnRhbnQoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleC1kaXJlY3Rpb246ICR2YWx1ZSFpbXBvcnRhbnQ7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246ICR2YWx1ZSFpbXBvcnRhbnQ7XG59XG5cbkBtaXhpbiBmbGV4LWRpc3BsYXkoKSB7XG4gIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbkBtaXhpbiBmbGV4LWp1c3RpZnktY29udGVudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6ICR2YWx1ZTtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtb3JkZXIoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtb3JkZXI6ICR2YWx1ZTtcbiAgICAgICAgICBvcmRlcjogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC13cmFwKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXgtd3JhcDogJHZhbHVlO1xuICAgICAgICAgIGZsZXgtd3JhcDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1jb2x1bW4oKSB7XG4gIEBpbmNsdWRlIGZsZXgtZGlzcGxheSgpO1xuICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihjb2x1bW4pO1xufVxuXG5AbWl4aW4gZmxleC1jb2x1bW4tY2VudGVyKCkge1xuICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbi1zdGFydCgpIHtcbiAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LXN0YXJ0KTtcbn1cblxuQG1peGluIGZsZXgtcm93KCkge1xuICBAaW5jbHVkZSBmbGV4LWRpc3BsYXkoKTtcbiAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24ocm93KTtcbn1cblxuQG1peGluIGZsZXgtcm93LWNlbnRlcigpIHtcbiAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xufVxuXG5AbWl4aW4gZmxleC1yb3ctc3RhcnQoKSB7XG4gIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoZmxleC1zdGFydCk7XG59XG5cbkBtaXhpbiBsb2NrLWhlaWdodCgkdmFsdWUuLi4pIHtcbiAgbWF4LWhlaWdodDogJHZhbHVlO1xuICBtaW4taGVpZ2h0OiAkdmFsdWU7XG4gIGhlaWdodDogJHZhbHVlO1xufVxuXG5AbWl4aW4gbG9jay13aWR0aCgkdmFsdWUuLi4pIHtcbiAgbWF4LXdpZHRoOiAkdmFsdWU7XG4gIG1pbi13aWR0aDogJHZhbHVlO1xuICB3aWR0aDogJHZhbHVlO1xufVxuXG5AbWl4aW4gbG9jay13aWR0aC1pbmxpbmUtb3ZlcnJpZGUoJHZhbHVlLi4uKSB7XG4gIG1heC13aWR0aDogJHZhbHVlICFpbXBvcnRhbnQ7XG4gIG1pbi13aWR0aDogJHZhbHVlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbn1cblxuXG5AbWl4aW4gdW5sb2NrLXdpZHRoICB7XG4gIG1heC13aWR0aDogbm9uZTtcbiAgbWluLXdpZHRoOiAwO1xuICB3aWR0aDogYXV0bztcbn1cbkBtaXhpbiB1bmxvY2staGVpZ2h0ICB7XG4gIG1heC1oZWlnaHQ6IG5vbmU7XG4gIG1pbi1oZWlnaHQ6IDA7XG4gIGhlaWdodDogYXV0bztcbn1cblxuQG1peGluIGNvbHVtbi1jb3VudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1jb2x1bW4tY291bnQ6ICR2YWx1ZTtcbiAgLW1vei1jb2x1bW4tY291bnQ6ICR2YWx1ZTtcbiAgY29sdW1uLWNvdW50OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBjb2x1bW4tZ2FwKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWNvbHVtbi1nYXA6ICR2YWx1ZTtcbiAgLW1vei1jb2x1bW4tZ2FwOiAkdmFsdWU7XG4gIGNvbHVtbi1nYXA6ICR2YWx1ZTtcbn1cblxuQG1peGluIGNvbHVtbi1uby1icmVhaygpIHtcbiAgLXdlYmtpdC1jb2x1bW4tYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkLWNvbHVtbjtcbiAgLW1vei1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xuICAtby1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xuICAtbXMtY29sdW1uLWJyZWFrLWluc2lkZTphdm9pZDtcbiAgYnJlYWstaW5zaWRlOmF2b2lkLWNvbHVtbjtcbn1cblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiByZXNwb25kXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4kbWluQ29udGVudFdpZHRoOiAxMDI0cHg7XG4kbWluRWRnZUNvbnRlbnRQYWRkaW5nOiAxNXB4O1xuJGxhcmdlQnJlYWtwb2ludDogJG1pbkNvbnRlbnRXaWR0aCArICRtaW5FZGdlQ29udGVudFBhZGRpbmcqMjtcbiRjb21wcmVzc2VkQ29udGVudFdpZHRoOiAkbWluQ29udGVudFdpZHRoIC0gJG1pbkVkZ2VDb250ZW50UGFkZGluZyoyO1xuLy8gJHNtTWluOiA3NjhweDtcbiRzbU1heDogOTAwcHg7XG5AbWl4aW4gcmVzcG9uZCgkbWVkaWEpIHtcbiAgQGlmICRtZWRpYSA9PSB3aGl0ZWJvYXJkLWV4ZXJjaXNlLXN0YWNrZWQtYXR0cmlidXRlcyB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTkwcHgpIHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAaWYgJG1lZGlhID09IGxnIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRsYXJnZUJyZWFrcG9pbnQpIHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAZWxzZSBpZiAkbWVkaWEgPT0gbWQge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogI3skbGFyZ2VCcmVha3BvaW50IC0gMXB4fSkgeyBAY29udGVudDsgfVxuICB9XG4gIEBlbHNlIGlmICRtZWRpYSA9PSBzbSB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAjeyRzbU1heH0pIHsgQGNvbnRlbnQ7IH1cbiAgfVxufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4geHBhZCAvIHlwYWRcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gIFxuQG1peGluIHhwYWQoJHBhZCkgIHtcbiAgcGFkZGluZy1sZWZ0OiAkcGFkO1xuICBwYWRkaW5nLXJpZ2h0OiAkcGFkO1xufVxuQG1peGluIHlwYWQoJHBhZCkgIHtcbiAgcGFkZGluZy10b3A6ICRwYWQ7XG4gIHBhZGRpbmctYm90dG9tOiAkcGFkO1xufVxuQG1peGluIHhtYXJnaW4oJGdhcCkgIHtcbiAgbWFyZ2luLWxlZnQ6ICRnYXA7XG4gIG1hcmdpbi1yaWdodDogJGdhcDtcbn1cbkBtaXhpbiB5bWFyZ2luKCRnYXApICB7XG4gIG1hcmdpbi10b3A6ICRnYXA7XG4gIG1hcmdpbi1ib3R0b206ICRnYXA7XG59XG5cbkBtaXhpbiBhYnNDZW50ZXJCYXNlX3koJGgpICB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIG1hcmdpbi10b3A6ICRoLy0yO1xufVxuXG5AbWl4aW4gYWJzQ2VudGVyQmFzZSgkdywgJGg6ICR3KSAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi10b3A6ICRoLy0yO1xuICBtYXJnaW4tbGVmdDogJHcvLTI7XG59XG5cbkBtaXhpbiBhYnNDZW50ZXJJY29uKCR3LCAkaDogJHcpICB7XG4gIEBpbmNsdWRlIGFic0NlbnRlckJhc2UoJHcsICRoKTtcbiAgZm9udC1zaXplOiAkaDtcbn1cbkBtaXhpbiBhYnNDZW50ZXJJY29uX3koJGgpICB7XG4gIEBpbmNsdWRlIGFic0NlbnRlckJhc2VfeSgkaCk7XG4gIGZvbnQtc2l6ZTogJGg7XG59XG5cbkBtaXhpbiBmbGV4SW5saW5lT3ZlcnJpZGUgIHtcbiAgICBtaW4td2lkdGg6IDAgIWltcG9ydGFudDtcbiAgICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcbiAgICAtd2Via2l0LWZsZXg6IDEgIWltcG9ydGFudDtcbiAgICAtbXMtZmxleDogMSAhaW1wb3J0YW50O1xuICAgIGZsZXg6IDEgIWltcG9ydGFudDtcbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBhcHAtc3BlY2lmaWMgbWl4aW4vdmFycyA+IHRhYnNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuQG1peGluIGxhcmdlLXRhYnMtc3R5bGUgIHtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBsaW5lLWhlaWdodDogMTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgQGluY2x1ZGUgcmVzcG9uZChtZCkgIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gIH1cbn1cbiRsYXJnZS10YWJzLXNwYWNpbmc6IDQwcHg7XG5cbkBtaXhpbiB0cmltSW5uZXJNYXJnaW4gIHtcbiAgPiAqICB7XG4gICAgJjpmaXJzdC1jaGlsZCAge1xuICAgICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAmOmxhc3QtY2hpbGQgIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gcGxhY2Vob2xkZXJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gIFxuQG1peGluIHBsYWNlaG9sZGVyIHtcbiAgJjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7QGNvbnRlbnR9XG4gICY6LW1vei1wbGFjZWhvbGRlciAgICAgICAgICAge0Bjb250ZW50fVxuICAmOjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgIHtAY29udGVudH1cbiAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIgICAgICB7QGNvbnRlbnR9ICBcbn1cblxuXG4iLCJAaW1wb3J0IFwidmFyaWFibGVzXCI7XG5AaW1wb3J0IFwibWl4aW5zXCI7XG5cbi5hdGhsZXRlLWluZm8tYm94IHtcblxuICAuYmlvLWhlYWRlciB7XG4gICAgQGluY2x1ZGUgZmxleC1yb3ctY2VudGVyKCk7XG4gICAgQGluY2x1ZGUgZmxleCgxIDAgNDBweCk7XG4gICAgQGluY2x1ZGUgbG9jay1oZWlnaHQoNDVweCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjojOTc2OEVCOztcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgIC5hdGhsZXRlLW51bWJlciB7XG4gICAgICBtYXJnaW4tbGVmdDogMTVweDtcbiAgICB9XG5cbiAgICAuYXRobGV0ZS1uYW1lIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxNXB4O1xuICAgIH1cblxuICAgIC5hdGhsZXRlLW51bWJlciArIC5hdGhsZXRlLW5hbWUge1xuICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMTcsMzgsNzUsLjg1KTtcbiAgICB9XG4gIH1cblxuICAuYmlvLWJvZHkge1xuICAgIEBpbmNsdWRlIGZsZXgoMSAxIDEwMCUpO1xuICAgIHBhZGRpbmc6IDE3cHg7XG4gICAgJiA+IGRpdiB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICAgICAgQGluY2x1ZGUgZmxleCgxIDAgYXV0byk7XG4gICAgfVxuICAgIC5hdGhsZXRlLXByb2ZpbGUge1xuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xuICAgICAgbWF4LXdpZHRoOiAxMjBweDtcblxuICAgICAgLnByb2ZpbGUtcGljLXRodW1iIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB3aWR0aDogMTAwcHg7XG4gICAgICAgIGhlaWdodDogMTAwcHg7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICB9XG5cbiAgICAgIC5wcm9maWxlLXBpYyB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7XG4gICAgICAgIGhlaWdodDogMTMwcHg7XG4gICAgICAgIC8vIG1hcmdpbjogNXB4IDEwcHggJGF0aGxldFByb2ZpbGVTdWJQaWNHYXA7XG4gICAgICAgIG1hcmdpbjogMCAwIDEwcHg7XG4gICAgICAgIHdpZHRoOiAxMjBweDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsLTUwJSk7XG4gICAgICAgICAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLC01MCUpO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgICB9XG5cblxuICAgICAgfVxuXG4gICAgICAuYXRobGV0ZS1wb3NpdGlvbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC41cHg7XG4gICAgICB9XG5cbiAgICAgIC5hdGhsZXRlLXdlaWdodCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuYXRobGV0ZS1zdGF0cyB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gICAgICAvLyBtYXJnaW4tdG9wOiAxNHB4O1xuICAgICAgLy8gcGFkZGluZy1sZWZ0OiA1cHg7XG4gICAgICAvLyBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuXG4gICAgICAuYXRobGV0ZS1zY29yZSB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KHNwYWNlLWJldHdlZW4pO1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxMHB4O1xuICAgICAgfVxuXG4gICAgICAuYXRobGV0ZS1zY29yZS10bC1kYXRhIHtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoc3BhY2UtYmV0d2Vlbik7XG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEwcHg7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxMHB4O1xuICAgICAgfVxuXG5cbiAgICAgIC50ZXN0LXR5cGUge1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NjYztcbiAgICAgICAgZm9udC1zaXplOiAyMnB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMjJweDtcbiAgICAgICAgbWluLWhlaWdodDogMzBweDtcbiAgICAgIH1cbiAgICAgIC50ZXN0LXNjb3JlIHtcbiAgICAgICAgZm9udC1zaXplOiA0MHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogNDBweDtcbiAgICAgICAgbWluLWhlaWdodDogNTBweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5iaW8tZm9vdGVyIHtcbiAgICBAaW5jbHVkZSBmbGV4KDEgMCA1MHB4KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1O1xuICAgIG1heC1oZWlnaHQ6IDUwcHg7XG5cbiAgICA+IGRpdiB7XG4gICAgICBAaW5jbHVkZSBmbGV4LXJvdy1jZW50ZXIoKTtcbiAgICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGNlbnRlcik7XG4gICAgICBAaW5jbHVkZSBmbGV4KDEgMCA1MCUpO1xuICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIGNvbG9yOiAkZGFya19ncmV5O1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuNnB4O1xuICAgICAgaSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA4cHg7XG4gICAgICAgICYuaWNvbi10ZXN0ICB7XG4gICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0U4RThFODtcbiAgICAgICAgY29sb3I6ICRibHVlO1xuICAgICAgfVxuICAgIH1cblxuICAgID4gZGl2ICsgZGl2IHtcbiAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI0U4RThFODtcbiAgICB9XG4gIH1cbn1cbiIsIiRyZWQ6ICNjNDJhM2I7XG4kYmx1ZTogIzk3NjhFQjtcbiRkYXJrX2JsdWU6ICMxMTI2NGI7XG4kZ3JleTogIzgwODA4MDtcbiRncmVlbjogIzIwYjc2OTtcbiR3aGl0ZTogI2ZmZmZmZjtcbiR5ZWxsb3c6ICNkOGI2MmY7XG4kbGlnaHRfZ3JleTogI2NkY2RjZDtcbiRkYXJrX2dyZXk6ICM2ZDZlNzI7XG4kc2NvcmUtZ3JlZW46ICMwMEI5NkQ7XG4kc2NvcmUtcmVkOiAjRDE0MDRCO1xuJHNjb3JlLXllbGxvdzogI0Q3QkI0MztcblxuJGZvb3Rlcl9iYWNrZ3JvdW5kOiAjMTEyNjRiO1xuJGF0aGxldGVfaGVhZGVyX3ByaW1hcnk6ICNlMWUxZTE7XG4kYXRobGV0ZV9oZWFkZXJfc2Vjb25kYXJ5OiAjZTFlMWUxO1xuJGF0aGxldGVfbGlzdF9uYW1lOiAjZjdmN2Y3O1xuIiwiXG5AbWl4aW4gdHJhbnNmb3JtKCR0cmFuc2Zvcm1zKSB7XG4gICAgIC1tb3otdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgICAtby10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAgICAgLW1zLXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgICAgICB0cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xufVxuXG5AbWl4aW4gYXBwZWFyYW5jZSgkYXBwZWFyYW5jZS4uLikge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xuICAgICAtbW96LWFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xuICAgICAgICAgIGFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xufVxuXG5AbWl4aW4gYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cy4uLikge1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgICAtbW96LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xufVxuXG5AbWl4aW4gYm94LXNoYWRvdygkc2hhZG93Li4uKSB7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogJHNoYWRvdztcbiAgICAgLW1vei1ib3gtc2hhZG93OiAkc2hhZG93O1xuICAgICAgICAgIGJveC1zaGFkb3c6ICRzaGFkb3c7XG59XG5cbkBtaXhpbiBib3gtc2l6aW5nKCRzaXplLi4uKSB7XG4gIC13ZWJraXQtYm94LXNpemluZzogJHNpemU7XG4gICAgIC1tb3otYm94LXNpemluZzogJHNpemU7XG4gICAgICAgICAgYm94LXNpemluZzogJHNpemU7XG59XG5cbkBtaXhpbiB1c2VyLXNlbGVjdCgkc2VsZWN0Li4uKSB7XG4td2Via2l0LXRvdWNoLWNhbGxvdXQ6ICRzZWxlY3Q7XG4gICAgIC1tcy10b3VjaC1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgIC1tb3otdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgICAtbXMtdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgICAgICAgdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG59XG5cbkBtaXhpbiBmbGV4KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXg6ICR2YWx1ZTtcbiAgICAgIC1tcy1mbGV4OiAkdmFsdWU7XG4gICAgICAgICAgZmxleDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1hbGlnbi1jb250ZW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWFsaWduLWNvbnRlbnQ6ICR2YWx1ZTtcbiAgICAgICAgICBhbGlnbi1jb250ZW50OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWFsaWduLWl0ZW1zKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWFsaWduLWl0ZW1zOiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24taXRlbXM6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtYWxpZ24tc2VsZigkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1hbGlnbi1zZWxmOiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24tc2VsZjogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1kaXJlY3Rpb24oJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleC1kaXJlY3Rpb246ICR2YWx1ZTtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogJHZhbHVlO1xufVxuQG1peGluIGZsZXgtZGlyZWN0aW9uLWltcG9ydGFudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogJHZhbHVlIWltcG9ydGFudDtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogJHZhbHVlIWltcG9ydGFudDtcbn1cblxuQG1peGluIGZsZXgtZGlzcGxheSgpIHtcbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuQG1peGluIGZsZXgtanVzdGlmeS1jb250ZW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWp1c3RpZnktY29udGVudDogJHZhbHVlO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1vcmRlcigkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1vcmRlcjogJHZhbHVlO1xuICAgICAgICAgIG9yZGVyOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LXdyYXAoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleC13cmFwOiAkdmFsdWU7XG4gICAgICAgICAgZmxleC13cmFwOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbigpIHtcbiAgQGluY2x1ZGUgZmxleC1kaXNwbGF5KCk7XG4gIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKGNvbHVtbik7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbi1jZW50ZXIoKSB7XG4gIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbn1cblxuQG1peGluIGZsZXgtY29sdW1uLXN0YXJ0KCkge1xuICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGZsZXgtc3RhcnQpO1xufVxuXG5AbWl4aW4gZmxleC1yb3coKSB7XG4gIEBpbmNsdWRlIGZsZXgtZGlzcGxheSgpO1xuICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihyb3cpO1xufVxuXG5AbWl4aW4gZmxleC1yb3ctY2VudGVyKCkge1xuICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG59XG5cbkBtaXhpbiBmbGV4LXJvdy1zdGFydCgpIHtcbiAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LXN0YXJ0KTtcbn1cblxuQG1peGluIGxvY2staGVpZ2h0KCR2YWx1ZS4uLikge1xuICBtYXgtaGVpZ2h0OiAkdmFsdWU7XG4gIG1pbi1oZWlnaHQ6ICR2YWx1ZTtcbiAgaGVpZ2h0OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBsb2NrLXdpZHRoKCR2YWx1ZS4uLikge1xuICBtYXgtd2lkdGg6ICR2YWx1ZTtcbiAgbWluLXdpZHRoOiAkdmFsdWU7XG4gIHdpZHRoOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBsb2NrLXdpZHRoLWlubGluZS1vdmVycmlkZSgkdmFsdWUuLi4pIHtcbiAgbWF4LXdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbiAgbWluLXdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbiAgd2lkdGg6ICR2YWx1ZSAhaW1wb3J0YW50O1xufVxuXG5cbkBtaXhpbiB1bmxvY2std2lkdGggIHtcbiAgbWF4LXdpZHRoOiBub25lO1xuICBtaW4td2lkdGg6IDA7XG4gIHdpZHRoOiBhdXRvO1xufVxuQG1peGluIHVubG9jay1oZWlnaHQgIHtcbiAgbWF4LWhlaWdodDogbm9uZTtcbiAgbWluLWhlaWdodDogMDtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG5AbWl4aW4gY29sdW1uLWNvdW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWNvbHVtbi1jb3VudDogJHZhbHVlO1xuICAtbW96LWNvbHVtbi1jb3VudDogJHZhbHVlO1xuICBjb2x1bW4tY291bnQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGNvbHVtbi1nYXAoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtY29sdW1uLWdhcDogJHZhbHVlO1xuICAtbW96LWNvbHVtbi1nYXA6ICR2YWx1ZTtcbiAgY29sdW1uLWdhcDogJHZhbHVlO1xufVxuXG5AbWl4aW4gY29sdW1uLW5vLWJyZWFrKCkge1xuICAtd2Via2l0LWNvbHVtbi1icmVhay1pbnNpZGU6IGF2b2lkO1xuICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQtY29sdW1uO1xuICAtbW96LWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XG4gIC1vLWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XG4gIC1tcy1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xuICBicmVhay1pbnNpZGU6YXZvaWQtY29sdW1uO1xufVxuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IHJlc3BvbmRcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiRtaW5Db250ZW50V2lkdGg6IDEwMjRweDtcbiRtaW5FZGdlQ29udGVudFBhZGRpbmc6IDE1cHg7XG4kbGFyZ2VCcmVha3BvaW50OiAkbWluQ29udGVudFdpZHRoICsgJG1pbkVkZ2VDb250ZW50UGFkZGluZyoyO1xuJGNvbXByZXNzZWRDb250ZW50V2lkdGg6ICRtaW5Db250ZW50V2lkdGggLSAkbWluRWRnZUNvbnRlbnRQYWRkaW5nKjI7XG4vLyAkc21NaW46IDc2OHB4O1xuJHNtTWF4OiA5MDBweDtcbkBtaXhpbiByZXNwb25kKCRtZWRpYSkge1xuICBAaWYgJG1lZGlhID09IHdoaXRlYm9hcmQtZXhlcmNpc2Utc3RhY2tlZC1hdHRyaWJ1dGVzIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExOTBweCkgeyBAY29udGVudDsgfVxuICB9XG4gIEBpZiAkbWVkaWEgPT0gbGcge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGxhcmdlQnJlYWtwb2ludCkgeyBAY29udGVudDsgfVxuICB9XG4gIEBlbHNlIGlmICRtZWRpYSA9PSBtZCB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAjeyRsYXJnZUJyZWFrcG9pbnQgLSAxcHh9KSB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGVsc2UgaWYgJG1lZGlhID09IHNtIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICN7JHNtTWF4fSkgeyBAY29udGVudDsgfVxuICB9XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiB4cGFkIC8geXBhZFxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgXG5AbWl4aW4geHBhZCgkcGFkKSAge1xuICBwYWRkaW5nLWxlZnQ6ICRwYWQ7XG4gIHBhZGRpbmctcmlnaHQ6ICRwYWQ7XG59XG5AbWl4aW4geXBhZCgkcGFkKSAge1xuICBwYWRkaW5nLXRvcDogJHBhZDtcbiAgcGFkZGluZy1ib3R0b206ICRwYWQ7XG59XG5AbWl4aW4geG1hcmdpbigkZ2FwKSAge1xuICBtYXJnaW4tbGVmdDogJGdhcDtcbiAgbWFyZ2luLXJpZ2h0OiAkZ2FwO1xufVxuQG1peGluIHltYXJnaW4oJGdhcCkgIHtcbiAgbWFyZ2luLXRvcDogJGdhcDtcbiAgbWFyZ2luLWJvdHRvbTogJGdhcDtcbn1cblxuQG1peGluIGFic0NlbnRlckJhc2VfeSgkaCkgIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbWFyZ2luLXRvcDogJGgvLTI7XG59XG5cbkBtaXhpbiBhYnNDZW50ZXJCYXNlKCR3LCAkaDogJHcpICB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLXRvcDogJGgvLTI7XG4gIG1hcmdpbi1sZWZ0OiAkdy8tMjtcbn1cblxuQG1peGluIGFic0NlbnRlckljb24oJHcsICRoOiAkdykgIHtcbiAgQGluY2x1ZGUgYWJzQ2VudGVyQmFzZSgkdywgJGgpO1xuICBmb250LXNpemU6ICRoO1xufVxuQG1peGluIGFic0NlbnRlckljb25feSgkaCkgIHtcbiAgQGluY2x1ZGUgYWJzQ2VudGVyQmFzZV95KCRoKTtcbiAgZm9udC1zaXplOiAkaDtcbn1cblxuQG1peGluIGZsZXhJbmxpbmVPdmVycmlkZSAge1xuICAgIG1pbi13aWR0aDogMCAhaW1wb3J0YW50O1xuICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xuICAgIC13ZWJraXQtZmxleDogMSAhaW1wb3J0YW50O1xuICAgIC1tcy1mbGV4OiAxICFpbXBvcnRhbnQ7XG4gICAgZmxleDogMSAhaW1wb3J0YW50O1xufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIGFwcC1zcGVjaWZpYyBtaXhpbi92YXJzID4gdGFic1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5AbWl4aW4gbGFyZ2UtdGFicy1zdHlsZSAge1xuICBmb250LXNpemU6IDIwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBmb250LXdlaWdodDogNTAwO1xuICBAaW5jbHVkZSByZXNwb25kKG1kKSAge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgfVxufVxuJGxhcmdlLXRhYnMtc3BhY2luZzogNDBweDtcblxuQG1peGluIHRyaW1Jbm5lck1hcmdpbiAge1xuICA+ICogIHtcbiAgICAmOmZpcnN0LWNoaWxkICB7XG4gICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgICY6bGFzdC1jaGlsZCAge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiBwbGFjZWhvbGRlclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgXG5AbWl4aW4gcGxhY2Vob2xkZXIge1xuICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtAY29udGVudH1cbiAgJjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgICB7QGNvbnRlbnR9XG4gICY6Oi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAge0Bjb250ZW50fVxuICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciAgICAgIHtAY29udGVudH0gIFxufVxuXG5cbiIsIkBpbXBvcnQgXCJ2YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCJtaXhpbnNcIjtcblxuLnByb2ZpbGUtbWVudSB7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoZmxleC1lbmQpO1xuICBAaW5jbHVkZSBsb2NrLWhlaWdodCg2NXB4KTtcbn1cblxuLm1lbnUtaXRlbSArIC5tZW51LWl0ZW0ge1xuICBtYXJnaW4tbGVmdDogNDVweDtcbn1cblxuLm1lbnUtaXRlbSB7XG4gIEBpbmNsdWRlIGxvY2staGVpZ2h0KDQwcHgpO1xuICBjb2xvcjogI2EwYTRhODtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICBmb250LXNpemU6IDEzcHg7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGV0dGVyLXNwYWNpbmc6IDFweDtcblxuICAmLmFjdGl2ZSB7XG4gICAgYm9yZGVyLWJvdHRvbTogNHB4IHNvbGlkICRibHVlO1xuICAgIGNvbG9yOiAjZWZlZmVmO1xuICB9XG5cbiAgJjpub3QoLmFjdGl2ZSk6aG92ZXIge1xuICAgIGJvcmRlci1ib3R0b206IDRweCBzb2xpZCAjYTBhNGE4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxuXG4gIGEge1xuICAgIEBpbmNsdWRlIGxvY2staGVpZ2h0KDQwcHgpO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cblxuICBzcGFuLm1hcmtlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogLTMwcHg7XG4gICAgd2lkdGg6IDIzcHg7XG4gICAgaGVpZ2h0OiAyMnB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjAwMDA7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxufVxuXG4ucHJvZmlsZS1kZXRhaWwge1xuICAmLnByb2ZpbGUtZGV0YWlsIHtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG4gIEBpbmNsdWRlIGxvY2std2lkdGgoMjEwcHgpO1xuXG4gIC5kYXRhLWVtcGhhc2lzIHtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICB9XG5cbiAgLnByb2ZpbGUtcGljIHtcbiAgICBAaW5jbHVkZSBsb2NrLWhlaWdodCgxNzVweCk7XG4gICAgQGluY2x1ZGUgbG9jay13aWR0aCgyMDBweCk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIGltZyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgb2JqZWN0LWZpdDogY29udGFpbjtcbiAgICB9XG4gIH1cblxuICAucHJvZmlsZS1hY3Rpb24ge1xuICAgIEBpbmNsdWRlIGZsZXgtcm93LWNlbnRlcigpO1xuICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGNlbnRlcik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJsdWU7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBoZWlnaHQ6IDUwcHg7XG4gICAgd2lkdGg6IDIwMHB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuXG4gICAgaSB7XG4gICAgICBmb250LXNpemU6IDE3cHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICB9XG5cbiAgICBzcGFuIHtcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cblxuICAgICYuaW52aXNpYmxlIHtcbiAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB9XG4gIH1cblxuICAucHJvZmlsZS1kYXRhLWNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgZmxleC1jb2x1bW4tY2VudGVyKCk7XG4gICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbWFyZ2luLXRvcDogMTVweDtcblxuICAgIC5wcm9maWxlLWRhdGEgPiBzcGFuOmZpcnN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgIH1cbiAgfVxuXG4gIC5wcm9maWxlLWdyb3VwLWNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgZmxleC1jb2x1bW4tY2VudGVyKCk7XG4gICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbWFyZ2luLXRvcDogMTVweDtcblxuICAgIC5ncm91cC1jb250YWluZXIge1xuICAgICAgICBAaW5jbHVkZSBmbGV4LXJvdy1jZW50ZXIoKTtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0Q5REFEOTtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7XG4gICAgICAgIG1hcmdpbjogNnB4IDAgMDtcbiAgICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgICB3aWR0aDogMTE1cHg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgLmdyb3VwLWljb24ge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjOTk5O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDhweDtcbiAgICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgICAgICB3aWR0aDogMTJweDtcbiAgICAgIH1cblxuICAgICAgLmdyb3VwLXNhdmUge1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibHVlO1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIH1cblxuICAgICAgLmdyb3VwLWNsb3NlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogNXB4O1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgfVxufVxuXG4ucHJvZmlsZS1kYXRhLWNvbnRhaW5lci5tb2JpbGUtcHJvZmlsZS1kYXRhIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cbi5wcm9maWxlLWdyb3VwLWNvbnRhaW5lci5tb2JpbGUtcHJvZmlsZS1ncm91cCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbi5yZXNwLW1vbnRoLXZpZXcge1xuICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB9XG59XG5cbi5yZXNwLXNjb3JlLXRvZGF5IHtcbiAgQG1lZGlhIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xuICB9XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gIGJvZHkgLnByb2ZpbGUtc3VtbWFyeSA+IC5yb3ctY29udGFpbmVyLmRpdmlkZWQucmVzcC1zY29yZS10b2RheSA+IGRpdiArIGRpdiB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgYm9keSAucHJvZmlsZS1zdW1tYXJ5IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDBweCFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLnByb2ZpbGUtc3VtbWFyeSB7XG4gIEBpbmNsdWRlIGxvY2std2lkdGgoNzgwcHgpO1xuXG4gIC5tb2JpbGUtcGljIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmbGV4LXNocmluazogMDtcbiAgICAgIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDE2cHg7XG5cbiAgICAgIGltZyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTIwcHg7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgYXNwZWN0LXJhdGlvOiAyMDAgLyAxNzU7XG4gICAgICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XG4gICAgICB9XG4gICAgfVxuICB9XG5cblxuICAucHJvZmlsZS1uYW1lIHtcbiAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgJiA+IGRpdiB7XG4gICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDZweDtcbiAgICB9XG4gIH1cblxuICAucHJvZmlsZS1hY3Rpdml0eSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICBjb2xvcjogIzk5OTtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIH1cblxuICAgID4gZGl2IHtcbiAgICAgICY6bnRoLWNoaWxkKG4rMik6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICNjY2M7XG4gICAgICAgIGNvbnRlbnQ6ICd8JztcbiAgICAgICAgbWFyZ2luOiAwIDlweDtcbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYgPiBzcGFuOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmJsdWUtdGV4dCB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuICB9XG5cbiAgLnNjb3JlLWxhYmVsIHtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBtYXJnaW46IDIwcHggMCAxMHB4O1xuICAgIG1pbi1oZWlnaHQ6IDIwcHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgfVxuXG4gIC5zY29yZS1jb250YWluZXIge1xuICAgIEBpbmNsdWRlIGxvY2std2lkdGgoMzgwcHgpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZWZlZmVmO1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICBwYWRkaW5nLXRvcDogMjBweDtcblxuICAgIC5wcm9maWxlLXNjb3JlIHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XG4gICAgICBAaW5jbHVkZSBmbGV4KDEgMSBhdXRvKTtcbiAgICAgIEBpbmNsdWRlIGxvY2staGVpZ2h0KDg1cHgpO1xuICAgICAgQGluY2x1ZGUgbG9jay13aWR0aCgzMzBweCk7XG5cbiAgICAgICYubGFiZWwtb25seSB7XG4gICAgICAgIEBpbmNsdWRlIGxvY2staGVpZ2h0KDY1cHgpO1xuICAgICAgfVxuXG4gICAgICAucHJvZmlsZS1zY29yZS1pbmZvIHtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoc3BhY2UtYmV0d2Vlbik7XG4gICAgICAgIGZvbnQtc2l6ZTogMTVweDtcblxuICAgICAgICAucHJvZmlsZS1zY29yZS1uYW1lIHtcbiAgICAgICAgICBsZXR0ZXItc3BhY2luZzogLjI1cHg7XG5cblxuICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICBjb2xvcjogI0FFQUVBRTtcbiAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuXG4gICAgICAgIH1cblxuICAgICAgICAucHJvZmlsZS1zY29yZS1kYXRlIHtcblxuICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyNXB4O1xuICAgICAgICAgIGNvbG9yOiAjQUVBRUFFO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5wcm9maWxlLXNjb3JlLWdyYXBoLWNhbnZhcyB7XG4gICAgICAgIEBpbmNsdWRlIGxvY2staGVpZ2h0KDYwcHgpO1xuICAgICAgICBAaW5jbHVkZSBsb2NrLXdpZHRoKDMzMHB4KTtcbiAgICAgIH1cblxuICAgICAgLnByb2ZpbGUtc2NvcmUtbGFiZWwge1xuICAgICAgICBjb2xvcjogJGJsdWU7XG4gICAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuXG4gICAgICAgICAgLnByb2ZpbGUtdGwtY2hhbmdlIHtcbiAgICAgICAgICBjb2xvcjogJGJsdWU7XG4gICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICB9XG5cbiAgICAgIH1cblxuICAgICAgXG4gICAgfVxuICB9XG5cbiAgLnRvZGF5LWxhYmVsIHtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBtYXJnaW46IDIwcHggMCAxMHB4O1xuICAgIG1pbi1oZWlnaHQ6IDIwcHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgfVxuXG4gIC50b2RheS1wcm9ncmFtIHtcbiAgICBAaW5jbHVkZSBmbGV4LXJvdy1jZW50ZXIoKTtcbiAgICBAaW5jbHVkZSBsb2NrLWhlaWdodCg4MHB4KTtcbiAgICBAaW5jbHVkZSBsb2NrLXdpZHRoKDM4MHB4KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2VmZWZlZjtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogN3B4O1xuICAgIHBhZGRpbmc6IDAgNnB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICYgPiBkaXYge1xuICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG5cbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBjb2xvcjogI2NjYztcbiAgICAgICAgZm9udC1zaXplOiAyMnB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIGRpdi5pY29uLWNoZWNrYm94LWNoZWNrZWQgIHtcbiAgICAgIGNvbG9yOiAjQUZCMEFFO1xuICAgICAgJi5ibHVlLWNoZWNrIHtcbiAgICAgICAgY29sb3I6ICM5NzY4RUI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnByb2dyYW0ge1xuICAgICAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAubGlnaHQtZ3JleS10ZXh0ICB7XG4gICAgICAgIGNvbG9yOiAjQUZCMUIzO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC50b2RheS1ub3RpY2Uge1xuICAgIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XG4gICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcbiAgICBAaW5jbHVkZSBsb2NrLWhlaWdodCg4MHB4KTtcbiAgICAvLyBAaW5jbHVkZSBsb2NrLXdpZHRoKDM4MHB4KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2VmZWZlZjtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogN3B4O1xuICAgIHBhZGRpbmc6IDAgNnB4O1xuXG4gICAgPiBkaXYge1xuICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gICAgfVxuXG4gICAgLm5vdGljZSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICAgICAgLy8gbW9yZSByZXNwb25zaXZlIHRvIG5vIGZpeCBoZWlnaHRzXG4gICAgICAvLyBhbmQgaW5zdGVhZCB1c2UgcGFkZGluZy9tYXJnaW5zLi5cbiAgICAgIC8vIG1pbi1oZWlnaHQ6IDI2cHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNnB4O1xuXG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgIH1cblxuICAgIC5ub3RpY2UtYnV0dG9uIHtcbiAgICAgID4gYnV0dG9uIHtcbiAgICAgICAgQGluY2x1ZGUgbG9jay1oZWlnaHQoMzBweCk7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnllbGxvdyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGZjMDNmO1xuXG4gICAgICAubm90aWNlIHtcbiAgICAgICAgY29sb3I6ICNmZWZlZmU7XG4gICAgICB9XG5cbiAgICAgIC5ub3RpY2UtYnV0dG9uIHtcbiAgICAgICAgPiBidXR0b24ge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNjZWI3NGU7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICBjb2xvcjogI2ZlZmVmZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiBtaXNjIHNlY3Rpb24gc3BhY2luZ1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLnNwYWNlZC10b3AtbGFyZ2UgIHtcbiAgbWFyZ2luLXRvcDogNDVweDtcbn1cbi5zcGFjZWQtYm90dG9tLW1lZGl1bSAge1xuICBtYXJnaW4tYm90dG9tOiAzNXB4O1xufVxuXG5cbi5idXJnZXIge1xuICBkaXNwbGF5OiBub25lO1xuICBmb250LXNpemU6IDI2cHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgY29sb3I6ICMyZTJlMmU7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHBhZGRpbmctYm90dG9tOiA3cHg7XG4gIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xufVxuXG4ubWVudS1tb2JpbGUge1xuICBwb2ludGVyLWV2ZW50czogYXV0bztcbn1cblxuLm1lbnUtZGVza3RvcCB7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbi5tZW51LW1vYmlsZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA2MHB4O1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgYmFja2dyb3VuZDogIzFjMWMxYztcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgcGFkZGluZzogMTBweCAwO1xuICB6LWluZGV4OiAxMDAwO1xuXG4gIC5tZW51LWl0ZW0ge1xuICAgIHBhZGRpbmc6IDE1cHggMjBweDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzMzMztcbiAgICBtYXJnaW4tbGVmdDogMDsgLy8g0LLQsNC20LvQuNCy0L5cbiAgfVxufVxuXG4ubWVudS1kaXZpZGVyIHtcbiAgaGVpZ2h0OiAxcHg7XG4gIGJhY2tncm91bmQ6ICMzMzM7XG4gIG1hcmdpbjogMTBweCAwO1xufVxuXG4vKiBNT0JJTEUgQlJFQUtQT0lOVCAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gIC5tZW51LWRlc2t0b3Age1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAuYnVyZ2VyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIC5tZW51LW1vYmlsZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICB3aWR0aDogMTAwdnc7XG4gIH1cblxuICAucHJvZmlsZS1tZW51IHtcbiAgICB3aWR0aDogdW5zZXQhaW1wb3J0YW50O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbWF4LWhlaWdodDogNTlweDtcbiAgICBoZWlnaHQ6IDU5cHg7XG4gICAgbWluLWhlaWdodDogNTlweDtcbiAgfVxufVxuXG4uYXRobGV0ZS1uYXYge1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDhweCAwIDRweDtcbiAgfVxuXG4gICZfX2J1cmdlciB7XG4gICAgZm9udC1zaXplOiAyNnB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBjb2xvcjogIzJlMmUyZTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBtYXJnaW4tbGVmdDogMTVweDtcbiAgfVxuXG4gICZfX2Ryb3Bkb3duIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxMDAlO1xuICAgIGxlZnQ6IDA7XG4gICAgYmFja2dyb3VuZDogIzFjMWMxYztcbiAgICB6LWluZGV4OiAxMDAwO1xuICAgIG1pbi13aWR0aDogMTUwcHg7XG4gIH1cblxuICAmX19pdGVtIHtcbiAgICBwYWRkaW5nOiAxNHB4IDIwcHg7XG4gICAgY29sb3I6ICNhMGE0YTg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzMzMztcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgJi5hY3RpdmUge1xuICAgICAgY29sb3I6ICNlZmVmZWY7XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogI2VmZWZlZjtcbiAgICB9XG4gIH1cbn0iLCIkcmVkOiAjYzQyYTNiO1xuJGJsdWU6ICM5NzY4RUI7XG4kZGFya19ibHVlOiAjMTEyNjRiO1xuJGdyZXk6ICM4MDgwODA7XG4kZ3JlZW46ICMyMGI3Njk7XG4kd2hpdGU6ICNmZmZmZmY7XG4keWVsbG93OiAjZDhiNjJmO1xuJGxpZ2h0X2dyZXk6ICNjZGNkY2Q7XG4kZGFya19ncmV5OiAjNmQ2ZTcyO1xuJHNjb3JlLWdyZWVuOiAjMDBCOTZEO1xuJHNjb3JlLXJlZDogI0QxNDA0QjtcbiRzY29yZS15ZWxsb3c6ICNEN0JCNDM7XG5cbiRmb290ZXJfYmFja2dyb3VuZDogIzExMjY0YjtcbiRhdGhsZXRlX2hlYWRlcl9wcmltYXJ5OiAjZTFlMWUxO1xuJGF0aGxldGVfaGVhZGVyX3NlY29uZGFyeTogI2UxZTFlMTtcbiRhdGhsZXRlX2xpc3RfbmFtZTogI2Y3ZjdmNztcbiIsIlxuQG1peGluIHRyYW5zZm9ybSgkdHJhbnNmb3Jtcykge1xuICAgICAtbW96LXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gICAgICAgLW8tdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgIC1tcy10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAtd2Via2l0LXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gICAgICAgICAgdHJhbnNmb3JtOiAkdHJhbnNmb3Jtcztcbn1cblxuQG1peGluIGFwcGVhcmFuY2UoJGFwcGVhcmFuY2UuLi4pIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcbiAgICAgLW1vei1hcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcbiAgICAgICAgICBhcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcbn1cblxuQG1peGluIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMuLi4pIHtcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICAgLW1vei1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbn1cblxuQG1peGluIGJveC1zaGFkb3coJHNoYWRvdy4uLikge1xuICAtd2Via2l0LWJveC1zaGFkb3c6ICRzaGFkb3c7XG4gICAgIC1tb3otYm94LXNoYWRvdzogJHNoYWRvdztcbiAgICAgICAgICBib3gtc2hhZG93OiAkc2hhZG93O1xufVxuXG5AbWl4aW4gYm94LXNpemluZygkc2l6ZS4uLikge1xuICAtd2Via2l0LWJveC1zaXppbmc6ICRzaXplO1xuICAgICAtbW96LWJveC1zaXppbmc6ICRzaXplO1xuICAgICAgICAgIGJveC1zaXppbmc6ICRzaXplO1xufVxuXG5AbWl4aW4gdXNlci1zZWxlY3QoJHNlbGVjdC4uLikge1xuLXdlYmtpdC10b3VjaC1jYWxsb3V0OiAkc2VsZWN0O1xuICAgICAtbXMtdG91Y2gtc2VsZWN0OiAkc2VsZWN0O1xuICAgICAtbW96LXVzZXItc2VsZWN0OiAkc2VsZWN0O1xuICAgICAgLW1zLXVzZXItc2VsZWN0OiAkc2VsZWN0O1xuICAgICAgICAgIHVzZXItc2VsZWN0OiAkc2VsZWN0O1xufVxuXG5AbWl4aW4gZmxleCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1mbGV4OiAkdmFsdWU7XG4gICAgICAtbXMtZmxleDogJHZhbHVlO1xuICAgICAgICAgIGZsZXg6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtYWxpZ24tY29udGVudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1hbGlnbi1jb250ZW50OiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24tY29udGVudDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1hbGlnbi1pdGVtcygkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1hbGlnbi1pdGVtczogJHZhbHVlO1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWFsaWduLXNlbGYoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtYWxpZ24tc2VsZjogJHZhbHVlO1xuICAgICAgICAgIGFsaWduLXNlbGY6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtZGlyZWN0aW9uKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiAkdmFsdWU7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246ICR2YWx1ZTtcbn1cbkBtaXhpbiBmbGV4LWRpcmVjdGlvbi1pbXBvcnRhbnQoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleC1kaXJlY3Rpb246ICR2YWx1ZSFpbXBvcnRhbnQ7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246ICR2YWx1ZSFpbXBvcnRhbnQ7XG59XG5cbkBtaXhpbiBmbGV4LWRpc3BsYXkoKSB7XG4gIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbkBtaXhpbiBmbGV4LWp1c3RpZnktY29udGVudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6ICR2YWx1ZTtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtb3JkZXIoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtb3JkZXI6ICR2YWx1ZTtcbiAgICAgICAgICBvcmRlcjogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC13cmFwKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXgtd3JhcDogJHZhbHVlO1xuICAgICAgICAgIGZsZXgtd3JhcDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1jb2x1bW4oKSB7XG4gIEBpbmNsdWRlIGZsZXgtZGlzcGxheSgpO1xuICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihjb2x1bW4pO1xufVxuXG5AbWl4aW4gZmxleC1jb2x1bW4tY2VudGVyKCkge1xuICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbi1zdGFydCgpIHtcbiAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LXN0YXJ0KTtcbn1cblxuQG1peGluIGZsZXgtcm93KCkge1xuICBAaW5jbHVkZSBmbGV4LWRpc3BsYXkoKTtcbiAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24ocm93KTtcbn1cblxuQG1peGluIGZsZXgtcm93LWNlbnRlcigpIHtcbiAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xufVxuXG5AbWl4aW4gZmxleC1yb3ctc3RhcnQoKSB7XG4gIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoZmxleC1zdGFydCk7XG59XG5cbkBtaXhpbiBsb2NrLWhlaWdodCgkdmFsdWUuLi4pIHtcbiAgbWF4LWhlaWdodDogJHZhbHVlO1xuICBtaW4taGVpZ2h0OiAkdmFsdWU7XG4gIGhlaWdodDogJHZhbHVlO1xufVxuXG5AbWl4aW4gbG9jay13aWR0aCgkdmFsdWUuLi4pIHtcbiAgbWF4LXdpZHRoOiAkdmFsdWU7XG4gIG1pbi13aWR0aDogJHZhbHVlO1xuICB3aWR0aDogJHZhbHVlO1xufVxuXG5AbWl4aW4gbG9jay13aWR0aC1pbmxpbmUtb3ZlcnJpZGUoJHZhbHVlLi4uKSB7XG4gIG1heC13aWR0aDogJHZhbHVlICFpbXBvcnRhbnQ7XG4gIG1pbi13aWR0aDogJHZhbHVlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbn1cblxuXG5AbWl4aW4gdW5sb2NrLXdpZHRoICB7XG4gIG1heC13aWR0aDogbm9uZTtcbiAgbWluLXdpZHRoOiAwO1xuICB3aWR0aDogYXV0bztcbn1cbkBtaXhpbiB1bmxvY2staGVpZ2h0ICB7XG4gIG1heC1oZWlnaHQ6IG5vbmU7XG4gIG1pbi1oZWlnaHQ6IDA7XG4gIGhlaWdodDogYXV0bztcbn1cblxuQG1peGluIGNvbHVtbi1jb3VudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1jb2x1bW4tY291bnQ6ICR2YWx1ZTtcbiAgLW1vei1jb2x1bW4tY291bnQ6ICR2YWx1ZTtcbiAgY29sdW1uLWNvdW50OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBjb2x1bW4tZ2FwKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWNvbHVtbi1nYXA6ICR2YWx1ZTtcbiAgLW1vei1jb2x1bW4tZ2FwOiAkdmFsdWU7XG4gIGNvbHVtbi1nYXA6ICR2YWx1ZTtcbn1cblxuQG1peGluIGNvbHVtbi1uby1icmVhaygpIHtcbiAgLXdlYmtpdC1jb2x1bW4tYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkLWNvbHVtbjtcbiAgLW1vei1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xuICAtby1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xuICAtbXMtY29sdW1uLWJyZWFrLWluc2lkZTphdm9pZDtcbiAgYnJlYWstaW5zaWRlOmF2b2lkLWNvbHVtbjtcbn1cblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiByZXNwb25kXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4kbWluQ29udGVudFdpZHRoOiAxMDI0cHg7XG4kbWluRWRnZUNvbnRlbnRQYWRkaW5nOiAxNXB4O1xuJGxhcmdlQnJlYWtwb2ludDogJG1pbkNvbnRlbnRXaWR0aCArICRtaW5FZGdlQ29udGVudFBhZGRpbmcqMjtcbiRjb21wcmVzc2VkQ29udGVudFdpZHRoOiAkbWluQ29udGVudFdpZHRoIC0gJG1pbkVkZ2VDb250ZW50UGFkZGluZyoyO1xuLy8gJHNtTWluOiA3NjhweDtcbiRzbU1heDogOTAwcHg7XG5AbWl4aW4gcmVzcG9uZCgkbWVkaWEpIHtcbiAgQGlmICRtZWRpYSA9PSB3aGl0ZWJvYXJkLWV4ZXJjaXNlLXN0YWNrZWQtYXR0cmlidXRlcyB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTkwcHgpIHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAaWYgJG1lZGlhID09IGxnIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRsYXJnZUJyZWFrcG9pbnQpIHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAZWxzZSBpZiAkbWVkaWEgPT0gbWQge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogI3skbGFyZ2VCcmVha3BvaW50IC0gMXB4fSkgeyBAY29udGVudDsgfVxuICB9XG4gIEBlbHNlIGlmICRtZWRpYSA9PSBzbSB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAjeyRzbU1heH0pIHsgQGNvbnRlbnQ7IH1cbiAgfVxufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4geHBhZCAvIHlwYWRcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gIFxuQG1peGluIHhwYWQoJHBhZCkgIHtcbiAgcGFkZGluZy1sZWZ0OiAkcGFkO1xuICBwYWRkaW5nLXJpZ2h0OiAkcGFkO1xufVxuQG1peGluIHlwYWQoJHBhZCkgIHtcbiAgcGFkZGluZy10b3A6ICRwYWQ7XG4gIHBhZGRpbmctYm90dG9tOiAkcGFkO1xufVxuQG1peGluIHhtYXJnaW4oJGdhcCkgIHtcbiAgbWFyZ2luLWxlZnQ6ICRnYXA7XG4gIG1hcmdpbi1yaWdodDogJGdhcDtcbn1cbkBtaXhpbiB5bWFyZ2luKCRnYXApICB7XG4gIG1hcmdpbi10b3A6ICRnYXA7XG4gIG1hcmdpbi1ib3R0b206ICRnYXA7XG59XG5cbkBtaXhpbiBhYnNDZW50ZXJCYXNlX3koJGgpICB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIG1hcmdpbi10b3A6ICRoLy0yO1xufVxuXG5AbWl4aW4gYWJzQ2VudGVyQmFzZSgkdywgJGg6ICR3KSAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi10b3A6ICRoLy0yO1xuICBtYXJnaW4tbGVmdDogJHcvLTI7XG59XG5cbkBtaXhpbiBhYnNDZW50ZXJJY29uKCR3LCAkaDogJHcpICB7XG4gIEBpbmNsdWRlIGFic0NlbnRlckJhc2UoJHcsICRoKTtcbiAgZm9udC1zaXplOiAkaDtcbn1cbkBtaXhpbiBhYnNDZW50ZXJJY29uX3koJGgpICB7XG4gIEBpbmNsdWRlIGFic0NlbnRlckJhc2VfeSgkaCk7XG4gIGZvbnQtc2l6ZTogJGg7XG59XG5cbkBtaXhpbiBmbGV4SW5saW5lT3ZlcnJpZGUgIHtcbiAgICBtaW4td2lkdGg6IDAgIWltcG9ydGFudDtcbiAgICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcbiAgICAtd2Via2l0LWZsZXg6IDEgIWltcG9ydGFudDtcbiAgICAtbXMtZmxleDogMSAhaW1wb3J0YW50O1xuICAgIGZsZXg6IDEgIWltcG9ydGFudDtcbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBhcHAtc3BlY2lmaWMgbWl4aW4vdmFycyA+IHRhYnNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuQG1peGluIGxhcmdlLXRhYnMtc3R5bGUgIHtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBsaW5lLWhlaWdodDogMTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgQGluY2x1ZGUgcmVzcG9uZChtZCkgIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gIH1cbn1cbiRsYXJnZS10YWJzLXNwYWNpbmc6IDQwcHg7XG5cbkBtaXhpbiB0cmltSW5uZXJNYXJnaW4gIHtcbiAgPiAqICB7XG4gICAgJjpmaXJzdC1jaGlsZCAge1xuICAgICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAmOmxhc3QtY2hpbGQgIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gcGxhY2Vob2xkZXJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gIFxuQG1peGluIHBsYWNlaG9sZGVyIHtcbiAgJjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7QGNvbnRlbnR9XG4gICY6LW1vei1wbGFjZWhvbGRlciAgICAgICAgICAge0Bjb250ZW50fVxuICAmOjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgIHtAY29udGVudH1cbiAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIgICAgICB7QGNvbnRlbnR9ICBcbn1cblxuXG4iLCJcbi5jYXRhbG9nLWZlYXR1cmUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjZmNmY2Y7XG4gIGhlaWdodDogNDAwcHg7XG5cbiAgLmZlYXR1cmUtY29udGFpbmVyIHtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb24teDogY2VudGVyO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb24teTogdG9wO1xuICAgIG1pbi1oZWlnaHQ6IDQwMHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICYucnVubmluZy1tYW4ge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvaW1hZ2VzL3Byb2dyYW1fY2F0YWxvZ19iYWNrZ3JvdW5kLnBuZycpO1xuICAgICAgXG4gICAgICAuZmVhdHVyZS1jb250ZW50IHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDAuOTtcbiAgICAgICAgd2lkdGg6IDQwMHB4O1xuICAgICAgfVxuXG4gICAgICAubWVzc2FnZS10ZXh0IHtcbiAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5mZWF0dXJlLWNvbnRlbnQge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA0MHB4O1xuICAgICAgbGVmdDogODBweDtcbiAgICAgIHdpZHRoOiA0MDBweDtcbiAgICAgIGNvbG9yOiAjZWZlZmVmO1xuICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAwLjk1O1xuXG4gICAgICBoMiB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgIH1cblxuICAgICAgcCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgIH1cblxuICAgICAgaDIsIC50aXRsZS10ZXh0IHtcbiAgICAgICAgZm9udC1zaXplOiA1NXB4O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgfVxuXG4gICAgICBwLCAubWVzc2FnZS10ZXh0IHtcbiAgICAgICAgbWFyZ2luLXRvcDogMnB4O1xuICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmZlYXR1cmUtYnV0dG9uIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogMzVweDtcbiAgICAgIGxlZnQ6IDgwcHg7XG4gICAgICBjb2xvcjogI2VmZWZlZjtcbiAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgfVxuICB9XG5cbiAgLm1hcmtlcnMge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDA7XG4gICAgaGVpZ2h0OiA0MHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgLm1hcmtlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgbWFyZ2luOiA2cHg7XG4gICAgICBoZWlnaHQ6IDEwcHg7XG4gICAgICB3aWR0aDogMTBweDtcblxuICAgICAgJi5hY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDFiYWVkO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uY2F0YWxvZy1zZWxlY3RlZCB7XG4gIHBhZGRpbmc6IDM1cHg7XG4gICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICBwYWRkaW5nOiAyMHB4O1xuICAgfVxuXG4gIC50aXRsZS1jb250YWluZXIge1xuICAgIGhlaWdodDogMTAwcHg7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xuICAgIH1cblxuICAgIC50aXRsZSB7XG4gICAgICBmb250LXNpemU6IDI2cHg7XG4gICAgICBsaW5lLWhlaWdodDogMjZweDtcbiAgICB9XG5cbiAgICAubmFtZSB7XG4gICAgICBmb250LXNpemU6IDI2cHg7XG4gICAgfVxuXG4gICAgLnJldHVybi1saW5rIHtcbiAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwcHg7XG4gICAgICB9XG4gICAgICB3aWR0aDogMTIwcHg7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgID4gZGl2IHtcbiAgICAgICAgbWluLWhlaWdodDogMzBweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICB9XG5cbiAgICAgICAgPiBpIHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogNXB4O1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmRldGFpbC1jb250YWluZXIge1xuICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgfVxuXG4gICAgLmluZm8tcm93LWhlYWRlciB7XG4gICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgbWF4LXdpZHRoOiAyNjBweDtcblxuICAgICAgPiBkaXYge1xuICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgIHdpZHRoOiAxMzBweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5pbmZvLXJvdyB7XG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2NjYztcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2NjO1xuICAgICAgbWF4LXdpZHRoOiAyNjBweDtcblxuICAgICAgPiBkaXYge1xuICAgICAgICBoZWlnaHQ6IDkwcHg7XG4gICAgICAgIHdpZHRoOiAxMzBweDtcblxuICAgICAgICA+IGRpdiB7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgID4gZGl2ICsgZGl2IHtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjY2NjO1xuICAgICAgfVxuXG4gICAgICAuaW5mbyB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjZweDtcbiAgICAgIH1cblxuICAgICAgLmxhYmVsIHtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5kZXNjcmlwdGlvbi1yb3cge1xuICAgICAgZm9udC1zaXplOjEycHg7XG4gICAgICBtYXJnaW46IDIwcHggMDtcbiAgICAgIG1heC13aWR0aDogNDAwcHg7XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgICB9XG4gICAgICAubGFiZWwge1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBtYXJnaW46IDEwcHggMDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuYnV0dG9uLWNvbnRhaW5lciB7XG4gICAgICBtYXJnaW46IDIwcHggMDtcbiAgICAgIHdpZHRoOiAyMDBweDtcbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cblxuICAgICAgYnV0dG9uIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG5cbiAgICAgIGJ1dHRvbiArIGJ1dHRvbiB7XG4gICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5zYW1wbGUtY29udGFpbmVyIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAvLyBtYXJnaW4tYm90dG9tOiA2MHB4O1xuICAgICAgfVxuXG4gICAgICAudmlkZW8tbGFiZWwge1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIG1heC13aWR0aDogMzAwcHg7XG5cbiAgICAgICAgPiBkaXYge1xuICAgICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC52aWRlby1jb250YWluZXIge1xuICAgICAgICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICAgICAgICBtYXgtaGVpZ2h0OiAyMzlweDtcbiAgICAgICAgbWF4LXdpZHRoOiA0MjVweDtcbiAgICAgICAgbWluLWhlaWdodDogMjM5cHg7XG4gICAgICAgIC8vIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAgICAgIC8vIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgLy8gfVxuICAgICAgICA+IGRpdiB7XG4gICAgICAgICAgQGluY2x1ZGUgZmxleCgxKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5taXNzaW5nLW1lZGlhIHtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuICAgICAgICAgIGNvbG9yOiAjY2NjO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICAgIHdpZHRoOiA5OSU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmV4ZXJjaXNlLXNlbGVjdGVkIHtcbiAgcGFkZGluZzogMzVweDtcblxuICAudGl0bGUtY29udGFpbmVyIHtcbiAgICBoZWlnaHQ6IDEwMHB4O1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcbiAgICB9XG4gICAgLnRpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogMjZweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyNnB4O1xuICAgIH1cblxuICAgIC5uYW1lIHtcbiAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICB9XG5cbiAgICAucmV0dXJuLWxpbmsge1xuICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAgICBtYXJnaW4tdG9wOiAwcHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICB9XG4gICAgICB3aWR0aDogMTIwcHg7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgID4gZGl2IHtcbiAgICAgICAgbWluLWhlaWdodDogMzBweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICB9XG5cbiAgICAgICAgPiBpIHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogNXB4O1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmRldGFpbC1jb250YWluZXIge1xuICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgfVxuXG4gICAgLmluZm8tcm93LWhlYWRlciB7XG4gICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgbWF4LXdpZHRoOiA0MDBweDtcblxuICAgICAgPiBkaXYge1xuICAgICAgICBtaW4taGVpZ2h0OiAyMHB4O1xuICAgICAgICBtaW4td2lkdGg6IDEzMHB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmluZm8tcm93IHtcbiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjY2NjO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjY2M7XG4gICAgICBtYXgtd2lkdGg6IDQwMHB4O1xuXG4gICAgICA+IGRpdiB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDkwcHg7XG4gICAgICAgIG1pbi13aWR0aDogMTMwcHg7XG5cbiAgICAgICAgPiBkaXYge1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICA+IGRpdiArIGRpdiB7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2NjYztcbiAgICAgIH1cblxuICAgICAgLmluZm8ge1xuICAgICAgICBmb250LXNpemU6IDI2cHg7XG4gICAgICB9XG5cbiAgICAgIC5sYWJlbCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuZGVzY3JpcHRpb24tcm93IHtcbiAgICAgIGZvbnQtc2l6ZToxMnB4O1xuICAgICAgbWFyZ2luOiAyMHB4IDA7XG4gICAgICBtYXgtd2lkdGg6IDQwMHB4O1xuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgICAgfVxuICAgICAgLmxhYmVsIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgbWFyZ2luOiAxMHB4IDA7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmJ1dHRvbi1jb250YWluZXIge1xuICAgICAgbWFyZ2luOiAyMHB4IDA7XG4gICAgICB3aWR0aDogMjAwcHg7XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG5cbiAgICAgIGJ1dHRvbiB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuXG4gICAgICBidXR0b24gKyBidXR0b24ge1xuICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuc2FtcGxlLWNvbnRhaW5lciB7XG4gICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgLy8gbWFyZ2luLWJvdHRvbTogNjBweDtcbiAgICAgIH1cblxuICAgICAgLnZpZGVvLWxhYmVsIHtcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBtYXgtd2lkdGg6IDMwMHB4O1xuXG4gICAgICAgID4gZGl2IHtcbiAgICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAudmlkZW8tY29udGFpbmVyIHtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcbiAgICAgICAgbWF4LWhlaWdodDogMjM5cHg7XG4gICAgICAgIG1heC13aWR0aDogNDI1cHg7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDIzOXB4O1xuICAgICAgICAvLyBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgICAvLyBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIC8vIH1cbiAgICAgICAgPiBkaXYge1xuICAgICAgICAgIEBpbmNsdWRlIGZsZXgoMSAwIGF1dG8pO1xuICAgICAgICB9XG5cbiAgICAgICAgLm1pc3NpbmctbWVkaWEge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7XG4gICAgICAgICAgY29sb3I6ICNjY2M7XG4gICAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgICAgd2lkdGg6IDk5JTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5leGVyY2lzZS1pbmZvLWNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgZmxleCgwIDAgNDAwcHgpO1xuICB9XG5cbiAgLnNhbXBsZS1jb250YWluZXIge1xuICAgIEBpbmNsdWRlIGZsZXgoMSAwIDM1MHB4KTtcblxuICAgIC5maWxlLWlucHV0LXdyYXBwZXIge1xuICAgICAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGZsZXgtZW5kKTtcbiAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcblxuICAgICAgbWFyZ2luLXRvcDogNXB4O1xuXG4gICAgICA+IGJ1dHRvbiB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDM1cHg7XG4gICAgICAgIG1heC1oZWlnaHQ6IDM1cHg7XG4gICAgICB9XG5cbiAgICAgID4gaW5wdXRbdHlwZT1cImZpbGVcIl0ge1xuICAgICAgICBvcGFjaXR5OiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIHdpZHRoOiAxcHggIWltcG9ydGFudDtcbiAgICAgICAgaGVpZ2h0OiAxcHggIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZm9ybS1maWVsZHMgIHtcbiAgICBcbiAgICAud2Vlay1zZWxlY3Rpb24ge1xuICAgICAgbWluLWhlaWdodDogNjBweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XG5cbiAgICAgID4gZGl2IHtcbiAgICAgICAgbWluLXdpZHRoOiA4MHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogNTBweDtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgJGJsdWU7XG4gICAgICAgIGJvcmRlci10b3A6IDJweCBzb2xpZCAkYmx1ZTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBjb2xvcjogJGJsdWU7XG4gICAgICAgIFxuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBib3JkZXItbGVmdDogMnB4IHNvbGlkICRibHVlO1xuICAgICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDZweDtcbiAgICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiA2cHg7XG4gICAgICAgIH1cblxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgIGJvcmRlci1yaWdodDogMnB4IHNvbGlkICRibHVlO1xuICAgICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiA2cHg7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDZweDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXI6bm90KC5hY3RpdmUpIHtcbiAgICAgICAgICBjb2xvcjogI2VmZWZlZjtcbiAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzliZDdlYTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICBjb2xvcjogI2ZlZmVmZTtcbiAgICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsdWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBsYWJlbCAge1xuICAgICAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG1pbi1oZWlnaHQ6IDUwcHg7XG4gICAgICBwYWRkaW5nOiAycHg7XG5cbiAgICAgIHNwYW4ge1xuICAgICAgICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICAgICAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChjZW50ZXIpO1xuICAgICAgICBtaW4td2lkdGg6IDEyMHB4O1xuICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjMycHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyN3B4O1xuICAgICAgfVxuICAgICAgXG4gICAgICBpbnB1dCAge1xuICAgICAgICBAaW5jbHVkZSBmbGV4KDEgMSBhdXRvKTtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbi1zZWxmKHN0cmV0Y2gpO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGZvbnQtc2l6ZTogMjFweDtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuNHB4O1xuICAgICAgfVxuXG4gICAgICBzZWxlY3Qge1xuICAgICAgICBAaW5jbHVkZSBhcHBlYXJhbmNlKG5vbmUpO1xuICAgICAgICBAaW5jbHVkZSBmbGV4KDEgMSBhdXRvKTtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbi1zZWxmKHN0cmV0Y2gpO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgIG91dGxpbmU6IDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMjFweDtcbiAgICAgICAgdGV4dC1pbmRlbnQ6IDNweDtcblxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJjotbW96LWZvY3VzcmluZyB7XG4gICAgICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgIHRleHQtc2hhZG93OiAwIDAgMCAjMDAwO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHNlbGVjdCArIGkuaWNvbi1jYXJldC1kb3duIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDI1cHg7XG4gICAgICAgIHJpZ2h0OiAyMHB4O1xuICAgICAgICBjb2xvcjogI0Q5REJEQztcbiAgICAgICAgZm9udC1zaXplOiA4cHg7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5jYXRhbG9nLWhpc3Rvcnkge1xuICBAaW5jbHVkZSBmbGV4KDEgMCBhdXRvKTtcbiAgbWluLWhlaWdodDogMjc1cHg7XG5cbiAgLmxpbmstY29udGFpbmVyIHtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgaGVpZ2h0OiA3MHB4O1xuICAgIHBhZGRpbmctbGVmdDogNDBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlZmVmZWY7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgfVxuXG4gICAgLmxpbmsge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAzNXB4O1xuICAgICAgbWluLWhlaWdodDogMzVweDtcbiAgICAgIG1pbi13aWR0aDogMTAwcHg7XG4gICAgICBjb2xvcjogI2FhYTtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgc3BhbiB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDM1cHg7XG4gICAgICB9XG4gICAgICBcbiAgICAgIHNwYW4uYWN0aXZlIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogNHB4IHNvbGlkICM5NzY4RUI7XG4gICAgICAgIGNvbG9yOiAjNzU3ODdiO1xuICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm5vdGlmeS1jb250YWluZXIge1xuICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGNlbnRlcik7XG4gICAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlZmVmZWY7XG4gICAgcGFkZGluZzogNXB4IDQwcHg7XG5cbiAgICA+IGRpdiB7XG4gICAgICBAaW5jbHVkZSBmbGV4KDEgMSAxMDAlKTtcbiAgICAgIG1pbi1oZWlnaHQ6IDU1cHg7XG4gICAgICBib3JkZXItcmFkaXVzOiA2cHg7XG5cbiAgICAgIC5pY29uIHtcbiAgICAgICAgQGluY2x1ZGUgbG9jay13aWR0aCg2MHB4KTtcbiAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogNnB4O1xuICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiA2cHg7XG4gICAgICB9XG5cbiAgICAgIC5tZXNzYWdlIHtcbiAgICAgICAgQGluY2x1ZGUgZmxleCgxIDAgYXV0byk7XG4gICAgICAgIG1hcmdpbjogMCAxMHB4O1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMTQwcHgpO1xuICAgICAgICBwYWRkaW5nOiAxNnB4IDA7XG4gICAgICB9XG5cbiAgICAgIC5jbG9zZSB7XG4gICAgICAgIEBpbmNsdWRlIGxvY2std2lkdGgoNjBweCk7XG4gICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiA2cHg7XG4gICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiA2cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA1NXB4O1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLndhcm5pbmcge1xuICAgICAgLyogYmFja2dyb3VuZC1jb2xvcjogI2YzZDk1ZTsgKi9cbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkYWMyNTU7XG4gICAgICBjb2xvcjogI2ZlZmVmZTtcbiAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG5cbiAgICAgIC5pY29uIHtcbiAgICAgICAgLyogYmFja2dyb3VuZC1jb2xvcjogI2U5ZDI1ZTsgKi9cbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2NlYjc0ZTtcbiAgICAgIH1cblxuICAgICAgLmNsb3NlIHtcbiAgICAgICAgZm9udC1zaXplOiAzNXB4O1xuICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmxpc3Qge1xuICAgICYuc2Nyb2xsYWJsZS10YWJsZSB7XG4gICAgICBvdmVyZmxvdzogYXV0bztcbiAgICB9XG4gICAgQGluY2x1ZGUgZmxleCgxKTtcbiAgICBwYWRkaW5nLWJvdHRvbTogNjBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWZlZmVmO1xuXG4gICAgLmxpc3Qtc2Nyb2xsLWNvbnRhaW5lciB7XG4gICAgICBAaW5jbHVkZSBmbGV4KDEgMCAxMDAlKTtcbiAgICAgIG92ZXJmbG93LXk6IGF1dG87XG5cbiAgICAgIC5saXN0LXNjcm9sbCB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDE3N3B4O1xuICAgICAgICBtYXgtaGVpZ2h0OiAwcHg7XG5cbiAgICAgICAgLnNjaGVkdWxlLXByb2dyYW0ge1xuICAgICAgICAgIEBpbmNsdWRlIGxvY2staGVpZ2h0KDM1cHgpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnJvdyB7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBtYXgtaGVpZ2h0OiA1MHB4O1xuICAgICAgbWluLWhlaWdodDogNTBweDtcbiAgICAgIGhlaWdodDogNTBweDtcbiAgICAgIHBhZGRpbmc6IDAgNDBweDtcbiAgICAgIGNvbG9yOiAjODg4O1xuICAgICAgbWluLXdpZHRoOiBmaXQtY29udGVudDtcblxuICAgICAgJjpudGgtY2hpbGQoZXZlbikge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgfVxuXG4gICAgICAmLmhlYWRlciB7XG4gICAgICAgIGhlaWdodDogNTBweDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgY29sb3I6ICNhYWE7XG4gICAgICB9XG5cbiAgICAgIC50ZXh0LWNvbHVtbiB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgoMSk7XG4gICAgICAgIG1pbi13aWR0aDogMjAwcHg7XG4gICAgICB9XG5cbiAgICAgIC5kYXRlLWNvbHVtbiB7XG4gICAgICAgIG1pbi13aWR0aDogMTAwcHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIH1cblxuICAgICAgLmFjdGlvbi1jb2x1bW4ge1xuICAgICAgICBtaW4td2lkdGg6IDEwMHB4O1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgICBwYWRkaW5nOiAwIDZweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufSIsIkBpbXBvcnQgXCJ2YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCJtaXhpbnNcIjtcblxuLnByb2dyYW0taGVhZGVyLWNvbnRhaW5lciB7XG4gIEBpbmNsdWRlIGZsZXgoMSk7XG59XG5cbi5wcm9ncmFtLWVkaXQtaGVhZGVyIHtcbiAgbWluLWhlaWdodDogODVweDtcbiAgbWFyZ2luLWJvdHRvbTogMzBweCAhaW1wb3J0YW50O1xufVxuXG4ucHJvZ3JhbS10eXBlLXNlbGVjdGlvbiB7XG4gIG1pbi1oZWlnaHQ6IDUwcHg7XG4gID4gLnR5cGUtaXRlbSB7XG4gICAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG4gICAgQGluY2x1ZGUgbG9jay1oZWlnaHQoNDBweCk7XG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBjb2xvcjogI2RkZDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgLnBpbGwge1xuICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgY29sb3I6ICM3NTc3N0E7XG4gICAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDE0cHg7XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGxpbmUtaGVpZ2h0OiAyNXB4O1xuICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAzcHg7XG4gICAgICBwYWRkaW5nOiAwIDEwcHg7XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgYmFja2dyb3VuZDogI0FGQjFCNDtcbiAgICAgIGNvbG9yOiAjRkZGRkZGO1xuICAgICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG4gICAgJi5hY3RpdmUge1xuICAgICAgYm9yZGVyLWNvbG9yOiAkYmx1ZTtcbiAgICAgIGNvbG9yOiAjNzU3ODdiO1xuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgIH1cbiAgICAmOmhvdmVyOm5vdCguYWN0aXZlKSB7XG4gICAgICBib3JkZXItY29sb3I6ICRibHVlO1xuICAgIH1cbiAgfVxuICA+IC50eXBlLWl0ZW0gKyAudHlwZS1pdGVtIHtcbiAgICBtYXJnaW4tbGVmdDogMzBweDtcbiAgfVxuICA+IC5jb3B5LWNvbnRyb2xzIHtcbiAgICBAaW5jbHVkZSBmbGV4KDAgMCBhdXRvKTtcbiAgICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGZsZXgtZW5kKTtcbiAgICBtYXJnaW4tdG9wOiA4cHg7XG4gIH1cbn1cblxuLnByb2dyYW0tc2NoZWR1bGUtY29udGFpbmVyIHtcbiAgQGluY2x1ZGUgZmxleCgxIDAgYXV0byk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoZmxleC1lbmQpO1xuICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChmbGV4LWVuZCk7XG4gIG1hcmdpbi1yaWdodDogNXB4O1xuICBtYXJnaW4tYm90dG9tOiA1cHg7XG5cbiAgYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBsb2NrLWhlaWdodCg0NXB4KTtcbiAgICBAaW5jbHVkZSBsb2NrLXdpZHRoKDEzMHB4KTtcbiAgfVxufVxuXG4ucHJvZ3JhbS1lZGl0IHtcbiAgbWFyZ2luLXRvcDogMjBweDtcbiAgbWFyZ2luLWJvdHRvbTogMHB4O1xuXG4gIC5wcm9ncmFtLXN0cmF0ZWd5LWNvbnRhaW5lciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcblxuICAgIC5wcm9ncmFtLXN0cmF0ZWd5IHtcbiAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG5cbiAgICAgIGkge1xuICAgICAgICBAaW5jbHVkZSBmbGV4KDAgMzBweCk7XG4gICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB9XG4gICAgICAuc3RyYXRlZ3ktbmFtZSB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgoMSBhdXRvKTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDE1cHg7XG4gICAgICB9XG4gICAgICAuc3RyYXRlZ3ktYWN0aW9uIHtcbiAgICAgICAgQGluY2x1ZGUgZmxleCgwIDE4MHB4KTtcbiAgICAgICAgQGluY2x1ZGUgbG9jay1oZWlnaHQoMzVweCk7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBsaW5lLWhlaWdodDogMzBweDtcbiAgICAgICAgcGFkZGluZzogMHB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5wcm9ncmFtLXN0cmF0ZWd5LWNvbnRhaW5lciArIC5wcm9ncmFtLXN0cmF0ZWd5LWNvbnRhaW5lciB7XG4gICAgbWFyZ2luLXRvcDogMjBweDtcbiAgfVxuXG4gIC5wcm9ncmFtLXRlY2huaXF1ZSB7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGNvbG9yOiAjZWZlZmVmO1xuICAgIC5jb3VudGVyIHtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHdpZHRoOiA0MHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDQ1cHg7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB9XG4gICAgLm5hbWUge1xuICAgICAgQGluY2x1ZGUgZmxleCgxIDEgYXV0byk7XG4gICAgICA+IHNwYW4ge1xuICAgICAgICBtYXJnaW4tbGVmdDogMTVweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gICAgICAgIHBhZGRpbmc6IDRweCAwO1xuICAgICAgfVxuICAgIH1cbiAgICAuYWN0aW9uIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMzBweDtcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBjb2xvcjogJGJsdWU7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBcbiAgICAgIC5pY29uLXBsdXMge1xuICAgICAgICBmb250LXNpemU6IDhweDtcbiAgICAgIH1cbiAgICAgID4gc3BhbiB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiA1cHg7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnByb2dyYW0tZXhlcmNpc2UtY29udGFpbmVyIHtcbiAgICBtaW4taGVpZ2h0OiA4MHB4O1xuICAgID4gZGl2IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmOWY5Zjk7XG4gICAgICBib3JkZXItcmFkaXVzOiAwcHg7XG4gICAgICBtYXJnaW46IDFweCAwO1xuICAgICAgbWluLWhlaWdodDogODBweDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgJi5hY3RpdmUtaXRlbSB7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIC5wcm9ncmFtLWV4ZXJjaXNlIHtcbiAgICAgICAgICAuZHJhZy1pY29uIHtcbiAgICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgICB9XG4gICAgICAgICAgLmFjdGlvbnMge1xuICAgICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICA+IGRpdjpmaXJzdC1jaGlsZCB7XG4gICAgICAuc29ydC1pY29ucyAuaWNvbjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgIH1cbiAgICB9XG4gICAgPiBkaXY6bGFzdC1jaGlsZCB7XG4gICAgICAuc29ydC1pY29ucyAuaWNvbjpsYXN0LWNoaWxkIHtcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgfVxuICAgIH1cbiAgICAucHJvZ3JhbS1ub3RlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICBtYXJnaW4tbGVmdDogOTBweDtcbiAgICAgIG1heC13aWR0aDogNDAwcHg7XG4gICAgfVxuICAgIC5wcm9ncmFtLWV4ZXJjaXNlIHtcbiAgICAgIG1pbi1oZWlnaHQ6IDgwcHg7XG4gICAgICBtaW4td2lkdGg6IDYwMHB4O1xuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICAgIG1pbi13aWR0aDogMFxuICAgICAgfVxuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAuZHJhZy1pY29uIHtcbiAgICAgICAgQGluY2x1ZGUgbG9jay1oZWlnaHQoMjhweCk7XG4gICAgICAgIEBpbmNsdWRlIGxvY2std2lkdGgoODVweCk7XG4gICAgICAgIGNvbG9yOiAjYmJiO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGZvbnQtc2l6ZTogMTlweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgfVxuICAgICAgLnNvcnQtaWNvbnMge1xuICAgICAgICBAaW5jbHVkZSBsb2NrLWhlaWdodCg1MHB4KTtcbiAgICAgICAgQGluY2x1ZGUgbG9jay13aWR0aCg4NXB4KTtcbiAgICAgICAgY29sb3I6ICNiYmI7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgLmljb24ge1xuICAgICAgICAgIGNvbG9yOiAjZGVkZWRlO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogJGJsdWU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICAuaW5mbyB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgoMSk7XG4gICAgICAgIC50aXRsZSB7XG4gICAgICAgICAgZm9udC1zaXplOiAxOXB4O1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIH1cbiAgICAgICAgLmF0dHJpYnV0ZXMge1xuICAgICAgICAgIGdhcDogNXB4IDI1cHg7XG4gICAgICAgICAgPiBkaXYge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgc3BhbjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLmFjdGlvbnMge1xuICAgICAgICBAaW5jbHVkZSBsb2NrLWhlaWdodCgzOHB4KTtcbiAgICAgICAgQGluY2x1ZGUgbG9jay13aWR0aCgxODBweCk7XG4gICAgICAgIGNvbG9yOiAjZGRkO1xuICAgICAgICBmb250LXNpemU6IDE5cHg7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5wcm9ncmFtLWVkaXQtZm9vdGVyIHtcbiAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoZmxleC1lbmQpO1xuICBtYXJnaW46IDE1cHggMzBweDtcbn0iLCIkcmVkOiAjYzQyYTNiO1xuJGJsdWU6ICM5NzY4RUI7XG4kZGFya19ibHVlOiAjMTEyNjRiO1xuJGdyZXk6ICM4MDgwODA7XG4kZ3JlZW46ICMyMGI3Njk7XG4kd2hpdGU6ICNmZmZmZmY7XG4keWVsbG93OiAjZDhiNjJmO1xuJGxpZ2h0X2dyZXk6ICNjZGNkY2Q7XG4kZGFya19ncmV5OiAjNmQ2ZTcyO1xuJHNjb3JlLWdyZWVuOiAjMDBCOTZEO1xuJHNjb3JlLXJlZDogI0QxNDA0QjtcbiRzY29yZS15ZWxsb3c6ICNEN0JCNDM7XG5cbiRmb290ZXJfYmFja2dyb3VuZDogIzExMjY0YjtcbiRhdGhsZXRlX2hlYWRlcl9wcmltYXJ5OiAjZTFlMWUxO1xuJGF0aGxldGVfaGVhZGVyX3NlY29uZGFyeTogI2UxZTFlMTtcbiRhdGhsZXRlX2xpc3RfbmFtZTogI2Y3ZjdmNztcbiIsIlxuQG1peGluIHRyYW5zZm9ybSgkdHJhbnNmb3Jtcykge1xuICAgICAtbW96LXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gICAgICAgLW8tdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgIC1tcy10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAtd2Via2l0LXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gICAgICAgICAgdHJhbnNmb3JtOiAkdHJhbnNmb3Jtcztcbn1cblxuQG1peGluIGFwcGVhcmFuY2UoJGFwcGVhcmFuY2UuLi4pIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcbiAgICAgLW1vei1hcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcbiAgICAgICAgICBhcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcbn1cblxuQG1peGluIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMuLi4pIHtcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICAgLW1vei1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbn1cblxuQG1peGluIGJveC1zaGFkb3coJHNoYWRvdy4uLikge1xuICAtd2Via2l0LWJveC1zaGFkb3c6ICRzaGFkb3c7XG4gICAgIC1tb3otYm94LXNoYWRvdzogJHNoYWRvdztcbiAgICAgICAgICBib3gtc2hhZG93OiAkc2hhZG93O1xufVxuXG5AbWl4aW4gYm94LXNpemluZygkc2l6ZS4uLikge1xuICAtd2Via2l0LWJveC1zaXppbmc6ICRzaXplO1xuICAgICAtbW96LWJveC1zaXppbmc6ICRzaXplO1xuICAgICAgICAgIGJveC1zaXppbmc6ICRzaXplO1xufVxuXG5AbWl4aW4gdXNlci1zZWxlY3QoJHNlbGVjdC4uLikge1xuLXdlYmtpdC10b3VjaC1jYWxsb3V0OiAkc2VsZWN0O1xuICAgICAtbXMtdG91Y2gtc2VsZWN0OiAkc2VsZWN0O1xuICAgICAtbW96LXVzZXItc2VsZWN0OiAkc2VsZWN0O1xuICAgICAgLW1zLXVzZXItc2VsZWN0OiAkc2VsZWN0O1xuICAgICAgICAgIHVzZXItc2VsZWN0OiAkc2VsZWN0O1xufVxuXG5AbWl4aW4gZmxleCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1mbGV4OiAkdmFsdWU7XG4gICAgICAtbXMtZmxleDogJHZhbHVlO1xuICAgICAgICAgIGZsZXg6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtYWxpZ24tY29udGVudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1hbGlnbi1jb250ZW50OiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24tY29udGVudDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1hbGlnbi1pdGVtcygkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1hbGlnbi1pdGVtczogJHZhbHVlO1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWFsaWduLXNlbGYoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtYWxpZ24tc2VsZjogJHZhbHVlO1xuICAgICAgICAgIGFsaWduLXNlbGY6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtZGlyZWN0aW9uKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiAkdmFsdWU7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246ICR2YWx1ZTtcbn1cbkBtaXhpbiBmbGV4LWRpcmVjdGlvbi1pbXBvcnRhbnQoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleC1kaXJlY3Rpb246ICR2YWx1ZSFpbXBvcnRhbnQ7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246ICR2YWx1ZSFpbXBvcnRhbnQ7XG59XG5cbkBtaXhpbiBmbGV4LWRpc3BsYXkoKSB7XG4gIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbkBtaXhpbiBmbGV4LWp1c3RpZnktY29udGVudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6ICR2YWx1ZTtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtb3JkZXIoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtb3JkZXI6ICR2YWx1ZTtcbiAgICAgICAgICBvcmRlcjogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC13cmFwKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXgtd3JhcDogJHZhbHVlO1xuICAgICAgICAgIGZsZXgtd3JhcDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1jb2x1bW4oKSB7XG4gIEBpbmNsdWRlIGZsZXgtZGlzcGxheSgpO1xuICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihjb2x1bW4pO1xufVxuXG5AbWl4aW4gZmxleC1jb2x1bW4tY2VudGVyKCkge1xuICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbi1zdGFydCgpIHtcbiAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LXN0YXJ0KTtcbn1cblxuQG1peGluIGZsZXgtcm93KCkge1xuICBAaW5jbHVkZSBmbGV4LWRpc3BsYXkoKTtcbiAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24ocm93KTtcbn1cblxuQG1peGluIGZsZXgtcm93LWNlbnRlcigpIHtcbiAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xufVxuXG5AbWl4aW4gZmxleC1yb3ctc3RhcnQoKSB7XG4gIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoZmxleC1zdGFydCk7XG59XG5cbkBtaXhpbiBsb2NrLWhlaWdodCgkdmFsdWUuLi4pIHtcbiAgbWF4LWhlaWdodDogJHZhbHVlO1xuICBtaW4taGVpZ2h0OiAkdmFsdWU7XG4gIGhlaWdodDogJHZhbHVlO1xufVxuXG5AbWl4aW4gbG9jay13aWR0aCgkdmFsdWUuLi4pIHtcbiAgbWF4LXdpZHRoOiAkdmFsdWU7XG4gIG1pbi13aWR0aDogJHZhbHVlO1xuICB3aWR0aDogJHZhbHVlO1xufVxuXG5AbWl4aW4gbG9jay13aWR0aC1pbmxpbmUtb3ZlcnJpZGUoJHZhbHVlLi4uKSB7XG4gIG1heC13aWR0aDogJHZhbHVlICFpbXBvcnRhbnQ7XG4gIG1pbi13aWR0aDogJHZhbHVlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbn1cblxuXG5AbWl4aW4gdW5sb2NrLXdpZHRoICB7XG4gIG1heC13aWR0aDogbm9uZTtcbiAgbWluLXdpZHRoOiAwO1xuICB3aWR0aDogYXV0bztcbn1cbkBtaXhpbiB1bmxvY2staGVpZ2h0ICB7XG4gIG1heC1oZWlnaHQ6IG5vbmU7XG4gIG1pbi1oZWlnaHQ6IDA7XG4gIGhlaWdodDogYXV0bztcbn1cblxuQG1peGluIGNvbHVtbi1jb3VudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1jb2x1bW4tY291bnQ6ICR2YWx1ZTtcbiAgLW1vei1jb2x1bW4tY291bnQ6ICR2YWx1ZTtcbiAgY29sdW1uLWNvdW50OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBjb2x1bW4tZ2FwKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWNvbHVtbi1nYXA6ICR2YWx1ZTtcbiAgLW1vei1jb2x1bW4tZ2FwOiAkdmFsdWU7XG4gIGNvbHVtbi1nYXA6ICR2YWx1ZTtcbn1cblxuQG1peGluIGNvbHVtbi1uby1icmVhaygpIHtcbiAgLXdlYmtpdC1jb2x1bW4tYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkLWNvbHVtbjtcbiAgLW1vei1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xuICAtby1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xuICAtbXMtY29sdW1uLWJyZWFrLWluc2lkZTphdm9pZDtcbiAgYnJlYWstaW5zaWRlOmF2b2lkLWNvbHVtbjtcbn1cblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiByZXNwb25kXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4kbWluQ29udGVudFdpZHRoOiAxMDI0cHg7XG4kbWluRWRnZUNvbnRlbnRQYWRkaW5nOiAxNXB4O1xuJGxhcmdlQnJlYWtwb2ludDogJG1pbkNvbnRlbnRXaWR0aCArICRtaW5FZGdlQ29udGVudFBhZGRpbmcqMjtcbiRjb21wcmVzc2VkQ29udGVudFdpZHRoOiAkbWluQ29udGVudFdpZHRoIC0gJG1pbkVkZ2VDb250ZW50UGFkZGluZyoyO1xuLy8gJHNtTWluOiA3NjhweDtcbiRzbU1heDogOTAwcHg7XG5AbWl4aW4gcmVzcG9uZCgkbWVkaWEpIHtcbiAgQGlmICRtZWRpYSA9PSB3aGl0ZWJvYXJkLWV4ZXJjaXNlLXN0YWNrZWQtYXR0cmlidXRlcyB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTkwcHgpIHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAaWYgJG1lZGlhID09IGxnIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRsYXJnZUJyZWFrcG9pbnQpIHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAZWxzZSBpZiAkbWVkaWEgPT0gbWQge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogI3skbGFyZ2VCcmVha3BvaW50IC0gMXB4fSkgeyBAY29udGVudDsgfVxuICB9XG4gIEBlbHNlIGlmICRtZWRpYSA9PSBzbSB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAjeyRzbU1heH0pIHsgQGNvbnRlbnQ7IH1cbiAgfVxufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4geHBhZCAvIHlwYWRcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gIFxuQG1peGluIHhwYWQoJHBhZCkgIHtcbiAgcGFkZGluZy1sZWZ0OiAkcGFkO1xuICBwYWRkaW5nLXJpZ2h0OiAkcGFkO1xufVxuQG1peGluIHlwYWQoJHBhZCkgIHtcbiAgcGFkZGluZy10b3A6ICRwYWQ7XG4gIHBhZGRpbmctYm90dG9tOiAkcGFkO1xufVxuQG1peGluIHhtYXJnaW4oJGdhcCkgIHtcbiAgbWFyZ2luLWxlZnQ6ICRnYXA7XG4gIG1hcmdpbi1yaWdodDogJGdhcDtcbn1cbkBtaXhpbiB5bWFyZ2luKCRnYXApICB7XG4gIG1hcmdpbi10b3A6ICRnYXA7XG4gIG1hcmdpbi1ib3R0b206ICRnYXA7XG59XG5cbkBtaXhpbiBhYnNDZW50ZXJCYXNlX3koJGgpICB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIG1hcmdpbi10b3A6ICRoLy0yO1xufVxuXG5AbWl4aW4gYWJzQ2VudGVyQmFzZSgkdywgJGg6ICR3KSAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi10b3A6ICRoLy0yO1xuICBtYXJnaW4tbGVmdDogJHcvLTI7XG59XG5cbkBtaXhpbiBhYnNDZW50ZXJJY29uKCR3LCAkaDogJHcpICB7XG4gIEBpbmNsdWRlIGFic0NlbnRlckJhc2UoJHcsICRoKTtcbiAgZm9udC1zaXplOiAkaDtcbn1cbkBtaXhpbiBhYnNDZW50ZXJJY29uX3koJGgpICB7XG4gIEBpbmNsdWRlIGFic0NlbnRlckJhc2VfeSgkaCk7XG4gIGZvbnQtc2l6ZTogJGg7XG59XG5cbkBtaXhpbiBmbGV4SW5saW5lT3ZlcnJpZGUgIHtcbiAgICBtaW4td2lkdGg6IDAgIWltcG9ydGFudDtcbiAgICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcbiAgICAtd2Via2l0LWZsZXg6IDEgIWltcG9ydGFudDtcbiAgICAtbXMtZmxleDogMSAhaW1wb3J0YW50O1xuICAgIGZsZXg6IDEgIWltcG9ydGFudDtcbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBhcHAtc3BlY2lmaWMgbWl4aW4vdmFycyA+IHRhYnNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuQG1peGluIGxhcmdlLXRhYnMtc3R5bGUgIHtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBsaW5lLWhlaWdodDogMTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgQGluY2x1ZGUgcmVzcG9uZChtZCkgIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gIH1cbn1cbiRsYXJnZS10YWJzLXNwYWNpbmc6IDQwcHg7XG5cbkBtaXhpbiB0cmltSW5uZXJNYXJnaW4gIHtcbiAgPiAqICB7XG4gICAgJjpmaXJzdC1jaGlsZCAge1xuICAgICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAmOmxhc3QtY2hpbGQgIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gcGxhY2Vob2xkZXJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gIFxuQG1peGluIHBsYWNlaG9sZGVyIHtcbiAgJjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7QGNvbnRlbnR9XG4gICY6LW1vei1wbGFjZWhvbGRlciAgICAgICAgICAge0Bjb250ZW50fVxuICAmOjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgIHtAY29udGVudH1cbiAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIgICAgICB7QGNvbnRlbnR9ICBcbn1cblxuXG4iLCJAaW1wb3J0IFwidmFyaWFibGVzXCI7XG5AaW1wb3J0IFwibWl4aW5zXCI7XG5cbi53aGl0ZWJvYXJkIHtcbiAgbWluLXdpZHRoOiA2NDBweDtcbiAgd2lkdGg6IDEwMCU7XG5cbiAgJiA+IHNlY3Rpb24ge1xuICAgIG1hcmdpbjogMTVweCAzMHB4O1xuICB9XG59XG5cbi53aGl0ZWJvYXJkLXNjaGVkdWxlIHtcbiAgd2lkdGg6IDEwMCU7XG5cbiAgLndoaXRlYm9hcmQtcHJvZ3JhbSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgIHBhZGRpbmc6IDMwcHggMCAxNXB4O1xuICB9XG59XG5cbi53aGl0ZWJvYXJkLXByb2dyYW0ge1xuICBAaW5jbHVkZSBsb2NrLWhlaWdodCgxNDBweCk7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmOWY5Zjk7XG4gIHBhZGRpbmc6IDMwcHggMzBweCAxNXB4O1xuXG4gIC5uYW1lIHtcbiAgICBmb250LXNpemU6IDMwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gICAgbWluLWhlaWdodDogMzBweDtcbiAgfVxuXG4gIC5vcmlnaW4ge1xuICAgIGZvbnQtc2l6ZTogMjZweDtcbiAgICBsaW5lLWhlaWdodDogMzBweDtcbiAgICBtaW4taGVpZ2h0OiAzMHB4O1xuICB9XG5cbiAgLmVkaXQge1xuICAgIG1hcmdpbi10b3A6IDVweDtcbiAgICBtaW4taGVpZ2h0OiAyNXB4O1xuXG4gICAgc3BhbiB7XG4gICAgICBmb250LXNpemU6IDEwcHg7XG4gICAgICBtYXJnaW4tbGVmdDogOHB4O1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG4gIH1cbn1cblxuLndoaXRlYm9hcmQtZGF0ZSB7XG4gIHNwYW4ge1xuICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIH1cblxuICAuZGF0ZS1pbnB1dCB7XG4gICAgQGluY2x1ZGUgbG9jay1oZWlnaHQoNDBweCk7XG4gICAgQGluY2x1ZGUgbG9jay13aWR0aCgxMzBweCk7XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcblxuICAgIGlucHV0IHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNiYmI7XG4gICAgICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA2cHg7XG4gICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiA2cHg7XG4gICAgICB3aWR0aDogMTAwcHg7XG4gICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICBsaW5lLWhlaWdodDogMzBweDtcbiAgICAgIHRleHQtaW5kZW50OiA1cHg7XG4gICAgICBvdXRsaW5lOiAwO1xuICAgIH1cblxuICAgIC5pbnB1dC1pY29uIHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGNlbnRlcik7XG4gICAgICBAaW5jbHVkZSBsb2NrLWhlaWdodCgzMHB4KTtcbiAgICAgIEBpbmNsdWRlIGxvY2std2lkdGgoMzBweCk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRibHVlO1xuICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogNnB4O1xuICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDZweDtcblxuICAgICAgaS5mYSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZGF0ZS1kaXNhYmxlZCB7XG4gICAgLmlucHV0LWljb24ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0X2dyZXk7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAkbGlnaHRfZ3JleTtcbiAgICB9XG4gIH1cblxufVxuXG5cblxuLndlZWstbGlzdCB7XG4gIEBpbmNsdWRlIGxvY2staGVpZ2h0KDYwcHgpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjlmOWY5O1xuICBwYWRkaW5nOiAxMHB4IDMwcHg7XG5cbiAgLndlZWstaXRlbSB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIG1hcmdpbi1yaWdodDogMjBweDtcbiAgICBtaW4taGVpZ2h0OiAyOHB4O1xuXG4gICAgJi5hY3RpdmUge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICRibHVlO1xuICAgIH1cblxuICAgICY6aG92ZXI6bm90KC5hY3RpdmUpIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG4gIH1cblxuICAud2Vlay1jb3B5IHtcbiAgICBAaW5jbHVkZSBmbGV4KDEgMSAwJSk7XG4gICAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChmbGV4LWVuZCk7XG4gIH1cbn1cblxuLmRheS1saXN0IHtcbiAgQGluY2x1ZGUgbG9jay1oZWlnaHQoNDVweCk7XG4gIG1hcmdpbjogMjBweCAwO1xuXG4gIC5kYXktaXRlbSB7XG4gICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGJsdWU7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRibHVlO1xuICAgIGNvbG9yOiAkYmx1ZTtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgbWluLWhlaWdodDogNDVweDtcbiAgICBtaW4td2lkdGg6IDgwcHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgICYuYWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibHVlO1xuICAgICAgY29sb3I6ICNmZWZlZmU7XG4gICAgfVxuXG4gICAgJjpob3Zlcjpub3QoLmFjdGl2ZSkge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg2NSwgMTg3LCAyMzEsIDAuNSk7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cblxuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAkYmx1ZTtcbiAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDZweDtcbiAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDZweDtcbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgJGJsdWU7XG4gICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogNnB4O1xuICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDZweDtcbiAgICB9XG4gIH1cbn1cblxuLmRheS1saXN0LXNjaGVkdWxlIHtcblxuICAuZGF5LWl0ZW0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNiYmI7XG4gICAgYm9yZGVyLXJhZGl1czogNnB4O1xuXG4gICAgLmRyYWctaWNvbiB7XG4gICAgICBAaW5jbHVkZSBsb2NrLWhlaWdodCgyMHB4KTtcbiAgICAgIEBpbmNsdWRlIGxvY2std2lkdGgoMzBweCk7XG4gICAgICBjdXJzb3I6IG1vdmU7XG4gICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLm5hbWUge1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG4gIH1cblxuICAuZGF5LWl0ZW0gKyAuZGF5LWl0ZW0ge1xuICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICB9XG59XG5cbi5wcm9ncmFtLXNlY3Rpb24ge1xuICBAaW5jbHVkZSBsb2NrLWhlaWdodCg0NXB4KTtcblxuICAmLmFjY2VwdC1kcm9wIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICM5OTk7XG4gICAgYm9yZGVyLXJhZGl1czogNnB4O1xuICAgIHBhZGRpbmc6IDEwcHg7XG5cbiAgICAuYWN0aW9uLXdpdGgtaWNvbiB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICAubmFtZSA+IGkge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAubmFtZSB7XG4gICAgQGluY2x1ZGUgZmxleCgxKTtcbiAgICBmb250LXNpemU6IDE4cHg7XG5cbiAgICBzcGFuIHtcbiAgICAgIG1hcmdpbi1yaWdodDogOHB4O1xuICAgIH1cbiAgfVxuXG4gIC5hY3Rpb24ge1xuICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGNlbnRlcik7XG4gICAgQGluY2x1ZGUgbG9jay13aWR0aCgxMTBweCk7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuXG4gICAgc3BhbiB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDhweDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxuXG4gICAgaS5mYSB7XG4gICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgfVxuICB9XG59XG5cbi5wcm9ncmFtLXNlY3Rpb24tcGxhY2Vob2xkZXIge1xuXG4gICYgPiBkaXYge1xuICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGNlbnRlcik7XG4gICAgYm9yZGVyOiAxcHggZGFzaGVkICNiYmI7XG4gICAgYm9yZGVyLXJhZGl1czogNnB4O1xuICAgIG1hcmdpbjogNHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgc3Bhbi50ZXh0IHtcbiAgICAgIGNvbG9yOiAjYmJiO1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxuICB9XG59XG5cbi5wcm9ncmFtLWV4ZXJjaXNlLWNvbnRhaW5lciB7XG4gIG1pbi1oZWlnaHQ6IDg2cHg7XG5cbiAgJiA+IGRpdiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y5ZjlmOTtcbiAgICBib3JkZXItcmFkaXVzOiA2cHg7XG4gICAgbWFyZ2luOiAycHg7XG4gICAgbWluLWhlaWdodDogODBweDtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgICYuYWN0aXZlLWl0ZW0ge1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIC5wcm9ncmFtLWV4ZXJjaXNlIHtcbiAgICAgICAgLmRyYWctaWNvbiB7XG4gICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICB9XG4gICAgICAgIC5hY3Rpb25zIHtcbiAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuYWRkLWV4ZXJjaXNlIHtcbiAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChjZW50ZXIpO1xuICAgIGNvbG9yOiAjYWFhO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBib3JkZXI6IDJweCBkYXNoZWQgI0NERDNENztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRUZFRkVGO1xuXG4gICAgc3BhbiB7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgIGNvbG9yOiAjQ0REM0Q3O1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG4gIH1cblxuICAucHJvZ3JhbS1ub3RlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIG1hcmdpbi1sZWZ0OiA5MHB4O1xuICAgIG1heC13aWR0aDogNDAwcHg7XG4gIH1cblxuICAucHJvZ3JhbS1leGVyY2lzZSB7XG4gICAgbWluLWhlaWdodDogODBweDtcbiAgICBtaW4td2lkdGg6IDYwMHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAgbWluLXdpZHRoOiAwXG4gICAgfVxuXG4gICAgLmRyYWctaWNvbiB7XG4gICAgICBAaW5jbHVkZSBsb2NrLWhlaWdodCgyOHB4KTtcbiAgICAgIEBpbmNsdWRlIGxvY2std2lkdGgoODVweCk7XG4gICAgICBjb2xvcjogI2JiYjtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIGZvbnQtc2l6ZTogMTlweDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICAuaW5mbyB7XG4gICAgICBAaW5jbHVkZSBmbGV4KDEpO1xuXG4gICAgICAudGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDE5cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICB9XG5cbiAgICAgIC5hdHRyaWJ1dGVzIHtcbiAgICAgICAgZ2FwOiA1cHggMjVweDtcbiAgICAgICAgPiBkaXYge1xuICAgICAgICAgIHNwYW46Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5hY3Rpb25zIHtcbiAgICAgIGNvbG9yOiAjZGRkO1xuICAgICAgZm9udC1zaXplOiAxOXB4O1xuICAgIH1cbiAgfVxufVxuXG4uYWNjZXB0LWRyb3AtY29udGFpbmVyIHtcbiAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xuICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChjZW50ZXIpO1xuXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICB6LWluZGV4OiAxO1xuXG4gIGJhY2tncm91bmQtY29sb3I6ICNjZGNkY2Q7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjI1LCAyMjUsIDIyNSwgLjUpO1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIGNvbG9yOiAjZmZmO1xuICBmb250LXNpemU6IDI0cHg7XG5cbiAgPiBzcGFuIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cblxuICAmLmhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4uc29ydC1vcmRlci1jb250YWluZXIge1xuICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG4gIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGNlbnRlcik7XG5cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIHotaW5kZXg6IDE7XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogI2NkY2RjZDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMjUsIDIyNSwgMjI1LCAuNSk7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgY29sb3I6ICNmZmY7XG4gIGZvbnQtc2l6ZTogMjRweDtcblxuICA+IHNwYW4ge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuXG4gICYuaGlkZGVuIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi5zY2hlZHVsZS1zZWxlY3RlZC1hdGhsZXRlcyB7XG4gIG1hcmdpbi1sZWZ0OiA1MHB4O1xuICBtYXJnaW4tYm90dG9tOiBhdXRvO1xuICBzcGFuIHtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgY29sb3I6ICM3NTc3N0E7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuNHB4O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgbGluZS1oZWlnaHQ6IDE4cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICAgIG1hcmdpbi10b3A6IDEycHg7XG4gIH1cbiAgLmF0aGxldGUtbmFtZXMge1xuICAgIG1heC13aWR0aDogNjAwcHg7XG4gICAgLmF0aGxldGUtbmFtZXMtbW9yZSB7XG4gICAgICBjb2xvcjogJGJsdWU7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBtYXJnaW4tbGVmdDogNXB4O1xuICAgIH1cbiAgfVxufVxuXG4uYnVsay1zY2hlZHVsZS1kaXZpZGVyIHtcbiAgbWFyZ2luLXRvcDogNTBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aWR0aDogNDdweDtcbiAgaSB7XG4gICAgY29sb3I6ICNEN0Q5REE7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICB9XG59XG5cbi53aGl0ZWJvYXJkLWZvb3RlciB7XG4gIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGZsZXgtZW5kKTtcbn1cbiIsIiRyZWQ6ICNjNDJhM2I7XG4kYmx1ZTogIzk3NjhFQjtcbiRkYXJrX2JsdWU6ICMxMTI2NGI7XG4kZ3JleTogIzgwODA4MDtcbiRncmVlbjogIzIwYjc2OTtcbiR3aGl0ZTogI2ZmZmZmZjtcbiR5ZWxsb3c6ICNkOGI2MmY7XG4kbGlnaHRfZ3JleTogI2NkY2RjZDtcbiRkYXJrX2dyZXk6ICM2ZDZlNzI7XG4kc2NvcmUtZ3JlZW46ICMwMEI5NkQ7XG4kc2NvcmUtcmVkOiAjRDE0MDRCO1xuJHNjb3JlLXllbGxvdzogI0Q3QkI0MztcblxuJGZvb3Rlcl9iYWNrZ3JvdW5kOiAjMTEyNjRiO1xuJGF0aGxldGVfaGVhZGVyX3ByaW1hcnk6ICNlMWUxZTE7XG4kYXRobGV0ZV9oZWFkZXJfc2Vjb25kYXJ5OiAjZTFlMWUxO1xuJGF0aGxldGVfbGlzdF9uYW1lOiAjZjdmN2Y3O1xuIiwiXG5AbWl4aW4gdHJhbnNmb3JtKCR0cmFuc2Zvcm1zKSB7XG4gICAgIC1tb3otdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgICAtby10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAgICAgLW1zLXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgICAgICB0cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xufVxuXG5AbWl4aW4gYXBwZWFyYW5jZSgkYXBwZWFyYW5jZS4uLikge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xuICAgICAtbW96LWFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xuICAgICAgICAgIGFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xufVxuXG5AbWl4aW4gYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cy4uLikge1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgICAtbW96LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xufVxuXG5AbWl4aW4gYm94LXNoYWRvdygkc2hhZG93Li4uKSB7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogJHNoYWRvdztcbiAgICAgLW1vei1ib3gtc2hhZG93OiAkc2hhZG93O1xuICAgICAgICAgIGJveC1zaGFkb3c6ICRzaGFkb3c7XG59XG5cbkBtaXhpbiBib3gtc2l6aW5nKCRzaXplLi4uKSB7XG4gIC13ZWJraXQtYm94LXNpemluZzogJHNpemU7XG4gICAgIC1tb3otYm94LXNpemluZzogJHNpemU7XG4gICAgICAgICAgYm94LXNpemluZzogJHNpemU7XG59XG5cbkBtaXhpbiB1c2VyLXNlbGVjdCgkc2VsZWN0Li4uKSB7XG4td2Via2l0LXRvdWNoLWNhbGxvdXQ6ICRzZWxlY3Q7XG4gICAgIC1tcy10b3VjaC1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgIC1tb3otdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgICAtbXMtdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgICAgICAgdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG59XG5cbkBtaXhpbiBmbGV4KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXg6ICR2YWx1ZTtcbiAgICAgIC1tcy1mbGV4OiAkdmFsdWU7XG4gICAgICAgICAgZmxleDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1hbGlnbi1jb250ZW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWFsaWduLWNvbnRlbnQ6ICR2YWx1ZTtcbiAgICAgICAgICBhbGlnbi1jb250ZW50OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWFsaWduLWl0ZW1zKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWFsaWduLWl0ZW1zOiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24taXRlbXM6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtYWxpZ24tc2VsZigkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1hbGlnbi1zZWxmOiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24tc2VsZjogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1kaXJlY3Rpb24oJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleC1kaXJlY3Rpb246ICR2YWx1ZTtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogJHZhbHVlO1xufVxuQG1peGluIGZsZXgtZGlyZWN0aW9uLWltcG9ydGFudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogJHZhbHVlIWltcG9ydGFudDtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogJHZhbHVlIWltcG9ydGFudDtcbn1cblxuQG1peGluIGZsZXgtZGlzcGxheSgpIHtcbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuQG1peGluIGZsZXgtanVzdGlmeS1jb250ZW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWp1c3RpZnktY29udGVudDogJHZhbHVlO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1vcmRlcigkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1vcmRlcjogJHZhbHVlO1xuICAgICAgICAgIG9yZGVyOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LXdyYXAoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleC13cmFwOiAkdmFsdWU7XG4gICAgICAgICAgZmxleC13cmFwOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbigpIHtcbiAgQGluY2x1ZGUgZmxleC1kaXNwbGF5KCk7XG4gIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKGNvbHVtbik7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbi1jZW50ZXIoKSB7XG4gIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbn1cblxuQG1peGluIGZsZXgtY29sdW1uLXN0YXJ0KCkge1xuICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGZsZXgtc3RhcnQpO1xufVxuXG5AbWl4aW4gZmxleC1yb3coKSB7XG4gIEBpbmNsdWRlIGZsZXgtZGlzcGxheSgpO1xuICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihyb3cpO1xufVxuXG5AbWl4aW4gZmxleC1yb3ctY2VudGVyKCkge1xuICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG59XG5cbkBtaXhpbiBmbGV4LXJvdy1zdGFydCgpIHtcbiAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LXN0YXJ0KTtcbn1cblxuQG1peGluIGxvY2staGVpZ2h0KCR2YWx1ZS4uLikge1xuICBtYXgtaGVpZ2h0OiAkdmFsdWU7XG4gIG1pbi1oZWlnaHQ6ICR2YWx1ZTtcbiAgaGVpZ2h0OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBsb2NrLXdpZHRoKCR2YWx1ZS4uLikge1xuICBtYXgtd2lkdGg6ICR2YWx1ZTtcbiAgbWluLXdpZHRoOiAkdmFsdWU7XG4gIHdpZHRoOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBsb2NrLXdpZHRoLWlubGluZS1vdmVycmlkZSgkdmFsdWUuLi4pIHtcbiAgbWF4LXdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbiAgbWluLXdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbiAgd2lkdGg6ICR2YWx1ZSAhaW1wb3J0YW50O1xufVxuXG5cbkBtaXhpbiB1bmxvY2std2lkdGggIHtcbiAgbWF4LXdpZHRoOiBub25lO1xuICBtaW4td2lkdGg6IDA7XG4gIHdpZHRoOiBhdXRvO1xufVxuQG1peGluIHVubG9jay1oZWlnaHQgIHtcbiAgbWF4LWhlaWdodDogbm9uZTtcbiAgbWluLWhlaWdodDogMDtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG5AbWl4aW4gY29sdW1uLWNvdW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWNvbHVtbi1jb3VudDogJHZhbHVlO1xuICAtbW96LWNvbHVtbi1jb3VudDogJHZhbHVlO1xuICBjb2x1bW4tY291bnQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGNvbHVtbi1nYXAoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtY29sdW1uLWdhcDogJHZhbHVlO1xuICAtbW96LWNvbHVtbi1nYXA6ICR2YWx1ZTtcbiAgY29sdW1uLWdhcDogJHZhbHVlO1xufVxuXG5AbWl4aW4gY29sdW1uLW5vLWJyZWFrKCkge1xuICAtd2Via2l0LWNvbHVtbi1icmVhay1pbnNpZGU6IGF2b2lkO1xuICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQtY29sdW1uO1xuICAtbW96LWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XG4gIC1vLWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XG4gIC1tcy1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xuICBicmVhay1pbnNpZGU6YXZvaWQtY29sdW1uO1xufVxuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IHJlc3BvbmRcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiRtaW5Db250ZW50V2lkdGg6IDEwMjRweDtcbiRtaW5FZGdlQ29udGVudFBhZGRpbmc6IDE1cHg7XG4kbGFyZ2VCcmVha3BvaW50OiAkbWluQ29udGVudFdpZHRoICsgJG1pbkVkZ2VDb250ZW50UGFkZGluZyoyO1xuJGNvbXByZXNzZWRDb250ZW50V2lkdGg6ICRtaW5Db250ZW50V2lkdGggLSAkbWluRWRnZUNvbnRlbnRQYWRkaW5nKjI7XG4vLyAkc21NaW46IDc2OHB4O1xuJHNtTWF4OiA5MDBweDtcbkBtaXhpbiByZXNwb25kKCRtZWRpYSkge1xuICBAaWYgJG1lZGlhID09IHdoaXRlYm9hcmQtZXhlcmNpc2Utc3RhY2tlZC1hdHRyaWJ1dGVzIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExOTBweCkgeyBAY29udGVudDsgfVxuICB9XG4gIEBpZiAkbWVkaWEgPT0gbGcge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGxhcmdlQnJlYWtwb2ludCkgeyBAY29udGVudDsgfVxuICB9XG4gIEBlbHNlIGlmICRtZWRpYSA9PSBtZCB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAjeyRsYXJnZUJyZWFrcG9pbnQgLSAxcHh9KSB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGVsc2UgaWYgJG1lZGlhID09IHNtIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICN7JHNtTWF4fSkgeyBAY29udGVudDsgfVxuICB9XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiB4cGFkIC8geXBhZFxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgXG5AbWl4aW4geHBhZCgkcGFkKSAge1xuICBwYWRkaW5nLWxlZnQ6ICRwYWQ7XG4gIHBhZGRpbmctcmlnaHQ6ICRwYWQ7XG59XG5AbWl4aW4geXBhZCgkcGFkKSAge1xuICBwYWRkaW5nLXRvcDogJHBhZDtcbiAgcGFkZGluZy1ib3R0b206ICRwYWQ7XG59XG5AbWl4aW4geG1hcmdpbigkZ2FwKSAge1xuICBtYXJnaW4tbGVmdDogJGdhcDtcbiAgbWFyZ2luLXJpZ2h0OiAkZ2FwO1xufVxuQG1peGluIHltYXJnaW4oJGdhcCkgIHtcbiAgbWFyZ2luLXRvcDogJGdhcDtcbiAgbWFyZ2luLWJvdHRvbTogJGdhcDtcbn1cblxuQG1peGluIGFic0NlbnRlckJhc2VfeSgkaCkgIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbWFyZ2luLXRvcDogJGgvLTI7XG59XG5cbkBtaXhpbiBhYnNDZW50ZXJCYXNlKCR3LCAkaDogJHcpICB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLXRvcDogJGgvLTI7XG4gIG1hcmdpbi1sZWZ0OiAkdy8tMjtcbn1cblxuQG1peGluIGFic0NlbnRlckljb24oJHcsICRoOiAkdykgIHtcbiAgQGluY2x1ZGUgYWJzQ2VudGVyQmFzZSgkdywgJGgpO1xuICBmb250LXNpemU6ICRoO1xufVxuQG1peGluIGFic0NlbnRlckljb25feSgkaCkgIHtcbiAgQGluY2x1ZGUgYWJzQ2VudGVyQmFzZV95KCRoKTtcbiAgZm9udC1zaXplOiAkaDtcbn1cblxuQG1peGluIGZsZXhJbmxpbmVPdmVycmlkZSAge1xuICAgIG1pbi13aWR0aDogMCAhaW1wb3J0YW50O1xuICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xuICAgIC13ZWJraXQtZmxleDogMSAhaW1wb3J0YW50O1xuICAgIC1tcy1mbGV4OiAxICFpbXBvcnRhbnQ7XG4gICAgZmxleDogMSAhaW1wb3J0YW50O1xufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIGFwcC1zcGVjaWZpYyBtaXhpbi92YXJzID4gdGFic1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5AbWl4aW4gbGFyZ2UtdGFicy1zdHlsZSAge1xuICBmb250LXNpemU6IDIwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBmb250LXdlaWdodDogNTAwO1xuICBAaW5jbHVkZSByZXNwb25kKG1kKSAge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgfVxufVxuJGxhcmdlLXRhYnMtc3BhY2luZzogNDBweDtcblxuQG1peGluIHRyaW1Jbm5lck1hcmdpbiAge1xuICA+ICogIHtcbiAgICAmOmZpcnN0LWNoaWxkICB7XG4gICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgICY6bGFzdC1jaGlsZCAge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiBwbGFjZWhvbGRlclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgXG5AbWl4aW4gcGxhY2Vob2xkZXIge1xuICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtAY29udGVudH1cbiAgJjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgICB7QGNvbnRlbnR9XG4gICY6Oi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAge0Bjb250ZW50fVxuICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciAgICAgIHtAY29udGVudH0gIFxufVxuXG5cbiIsIkBpbXBvcnQgXCJ2YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCJtaXhpbnNcIjtcblxuLmNhbGVuZGFyLW1lbnUge1xuICBtYXJnaW46IDIwcHggMDtcblxuICA+IGRpdiB7XG4gICAgQGluY2x1ZGUgbG9jay1oZWlnaHQoMzBweCk7XG4gICAgY29sb3I6ICNhMGE0YTg7XG4gICAgXG4gICAgQGluY2x1ZGUgbGFyZ2UtdGFicy1zdHlsZTtcblxuICAgICYuYWN0aXZlIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkYmx1ZTtcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICB9XG5cbiAgICAmOm5vdCguYWN0aXZlKTpob3ZlciB7XG4gICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2EwYTRhODtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG4gIH1cblxuICA+IGRpdiArIGRpdiB7XG4gICAgbWFyZ2luLWxlZnQ6ICRsYXJnZS10YWJzLXNwYWNpbmc7XG4gIH1cbn1cblxuLmNhbGVuZGFyLXBhcmVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmNhbGVuZGFyLW1vbnRoIHtcbiAgQGluY2x1ZGUgZmxleCgxIDAgNjkwcHgpO1xuICBAaW5jbHVkZSBsb2NrLXdpZHRoKDY5MHB4KTtcbiAgbWFyZ2luOiAxcHggMCAwOyBcblxuICAuY2FsZW5kYXItaGVhZGVyIHtcbiAgICBAaW5jbHVkZSBmbGV4KDEgMCBhdXRvKTtcbiAgICBAaW5jbHVkZSBsb2NrLWhlaWdodCg1MHB4KTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuICAgIGJvcmRlci10b3A6IDA7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIG1hcmdpbjogLTFweCAwIDAgLTFweDtcblxuICAgIFxuICAgIC5mYSAge1xuICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgcGFkZGluZzogMTBweDsgICAgICBcbiAgICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgIH1cblxuICAgICYgPiBkaXYge1xuICAgICAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGNlbnRlcik7XG5cbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICAgIEBpbmNsdWRlIGxvY2std2lkdGgoMjBweCk7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIH1cblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgIEBpbmNsdWRlIGxvY2std2lkdGgoMjBweCk7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIH1cbiAgICB9XG4gICAgLnllYXItY29udGFpbmVyIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHNlbGVjdC55ZWFyLXNlbGVjdCB7XG4gICAgICAgIEBpbmNsdWRlIGFwcGVhcmFuY2UobWVudWxpc3QpO1xuICAgICAgICBAaW5jbHVkZSBmbGV4KC4xIDAgMCk7ICAgICAgXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgIG1hcmdpbjogMXB4O1xuICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICBjb2xvcjogJGdyZXk7XG4gICAgICAgIHRleHQtaW5kZW50OiAwcHg7XG5cbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6LW1vei1mb2N1c3Jpbmcge1xuICAgICAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICB0ZXh0LXNoYWRvdzogMCAwIDAgIzAwMDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6Oi1tcy1leHBhbmQge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAmICsgaS5pY29uLWNhcmV0LWRvd24ge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDEwcHg7ICAgICAgICBcbiAgICAgICAgICByaWdodDogLTEycHg7XG4gICAgICAgICAgY29sb3I6ICNEOURCREM7XG4gICAgICAgICAgZm9udC1zaXplOiA2cHg7XG4gICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAud2Vlay1kYXktbGFiZWxzIHtcbiAgICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24tY29udGVudChmbGV4LXN0YXJ0KTtcbiAgICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGZsZXgtc3RhcnQpO1xuICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGZsZXgtc3RhcnQpO1xuICAgIEBpbmNsdWRlIGZsZXgtd3JhcCh3cmFwKTtcbiAgICBAaW5jbHVkZSBmbGV4KDEgMCBhdXRvKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGZkZmRmO1xuICAgIGNvbG9yOiAjYzBjMGMwO1xuXG4gICAgJi5sZWZ0IHtcbiAgICAgID4gZGl2IHtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LXN0YXJ0KTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA2cHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgPiBkaXYge1xuICAgICAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcbiAgICAgIEBpbmNsdWRlIGZsZXgoMSAwIGF1dG8pO1xuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xuICAgICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcbiAgICAgIEBpbmNsdWRlIGxvY2staGVpZ2h0KDMwcHgpO1xuICAgICAgQGluY2x1ZGUgbG9jay13aWR0aCg5OS41cHgpO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBjb2xvcjogIzk5OTtcbiAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgIG1hcmdpbjogLTFweCAwIDAgLTFweDtcblxuICAgICAgLmFjY2VwdC1kcm9wLWNvbnRhaW5lciB7XG4gICAgICAgIEBpbmNsdWRlIGxvY2std2lkdGgoOTcuNXB4KTtcbiAgICAgICAgcmlnaHQ6IGluaXRpYWw7XG4gICAgICAgIGxlZnQ6IGluaXRpYWw7XG4gICAgICB9XG4gICAgfVxuXG4gICAgZGl2OmZpcnN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAjY2NjO1xuICAgIH1cblxuICAgIGRpdjpsYXN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogI2NjYztcbiAgICB9XG4gIH1cblxuICAuY2FsZW5kYXItZGF5cyB7XG4gICAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgICBAaW5jbHVkZSBmbGV4LWFsaWduLWNvbnRlbnQoZmxleC1zdGFydCk7XG4gICAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LXN0YXJ0KTtcbiAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChmbGV4LXN0YXJ0KTtcbiAgICBAaW5jbHVkZSBmbGV4LXdyYXAod3JhcCk7XG4gICAgQGluY2x1ZGUgZmxleCgxIDAgYXV0byk7XG5cbiAgICAuY2FsZW5kYXItZGF5IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XG4gICAgICBAaW5jbHVkZSBmbGV4KDEgMCBhdXRvKTtcbiAgICAgIEBpbmNsdWRlIGxvY2staGVpZ2h0KDgwcHgpO1xuICAgICAgQGluY2x1ZGUgbG9jay13aWR0aCg5OS41cHgpO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcbiAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgIG1hcmdpbjogLTFweCAwIDAgLTFweDtcbiAgICAgIHBhZGRpbmc6IDhweCAxMnB4OyBcblxuICAgICAgJi5kYXktYWN0aXZpdGllcyB7XG4gICAgICAgIGJhY2tncm91bmQ6ICMwMEI5NkQ7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgfVxuXG4gICAgICAmLmN1cnJlbnQtZGF5IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgICBib3JkZXItYm90dG9tOiA2cHggc29saWQgJGJsdWU7XG4gICAgICB9XG4gICAgICBcbiAgICAgICYucHJvZ3JhbS1yYW5nZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgIH1cblxuICAgICAgJi5lbXB0eSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlZmVmZWY7XG4gICAgICB9XG5cbiAgICAgIC5jYWxlbmRhci1kYXktbnVtYmVyIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgID4gLm1vbnRoLWFiYnJldiB7XG4gICAgICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyOHB4O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5jYWxlbmRhci1kYXktY29uY2VybiwgLmNhbGVuZGFyLWRheS1leGlzdGluZyB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGZsZXgtc3RhcnQpO1xuICAgICAgICBAaW5jbHVkZSBmbGV4LXdyYXAod3JhcCk7XG4gICAgICAgIEBpbmNsdWRlIGxvY2std2lkdGgoODVweCk7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDE1cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMTFweDtcblxuICAgICAgICBpIHtcbiAgICAgICAgICBtYXJnaW46IDJweDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuY2FsZW5kYXItZGF5LWNvbmNlcm4ge1xuICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgICAgfVxuXG4gICAgICAuY2FsZW5kYXItZGF5LXNjaGVkdWxlZCB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGZsZXgtc3RhcnQpO1xuICAgICAgICBAaW5jbHVkZSBmbGV4LXdyYXAod3JhcCk7XG4gICAgICAgIEBpbmNsdWRlIGxvY2std2lkdGgoODVweCk7XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgICBtaW4td2lkdGg6IHVuc2V0O1xuICAgICAgICB9XG4gICAgICAgIGZvbnQtc2l6ZTogOXB4O1xuXG4gICAgICAgIGkge1xuICAgICAgICAgIG1hcmdpbjogMnB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi5pbnB1dC1jdGwge1xuICAgIEBpbmNsdWRlIGZsZXgoMSAwIDI4MHB4KTtcbiAgICBAaW5jbHVkZSBsb2NrLXdpZHRoKDI4MHB4KTtcbiAgICBib3gtc2hhZG93OiA2cHggNnB4IDE4cHggMHB4ICM0YTRhNGE7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA0MHB4O1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogMTA7XG4gICAgbWFyZ2luOiAxcHggMDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuXG4gICAgJi5yaWdodCB7XG4gICAgICBsZWZ0OiBpbmhlcml0O1xuICAgICAgcmlnaHQ6IDA7XG4gICAgfVxuXG4gICAgLmNhbGVuZGFyLWhlYWRlciB7XG4gICAgICBAaW5jbHVkZSBsb2NrLWhlaWdodCgzNXB4KTtcbiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjY2NjO1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuXG4gICAgICAuaWNvbiB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuY2FsZW5kYXItd2Vlay1oZWFkZXIge1xuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbi1jb250ZW50KGNlbnRlcik7XG4gICAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChjZW50ZXIpO1xuICAgICAgQGluY2x1ZGUgbG9jay1oZWlnaHQoMjhweCk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYWFhO1xuXG4gICAgICA+IGRpdiB7XG4gICAgICAgIEBpbmNsdWRlIGxvY2std2lkdGgoMzVweCk7XG4gICAgICAgIGNvbG9yOiAjZGZkZmRmO1xuICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgYm9yZGVyOiAyLjEyNzVweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgbWFyZ2luOiAycHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmNhbGVuZGFyLWRheXMge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuXG4gICAgICAuY2FsZW5kYXItZGF5IHtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcbiAgICAgICAgQGluY2x1ZGUgbG9jay1oZWlnaHQoMzVweCk7XG4gICAgICAgIEBpbmNsdWRlIGxvY2std2lkdGgoMzVweCk7XG4gICAgICAgIG1hcmdpbjogMnB4O1xuICAgICAgICBib3JkZXI6IDIuMTI3NXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAgICYuZW1wdHkge1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAmLmN1cnJlbnQtZGF5IHtcbiAgICAgICAgICBib3JkZXI6IDIuMTI3NXB4IHNvbGlkICM5NzY4RUI7XG4gICAgICAgIH1cblxuICAgICAgICAmLmN1cnJlbnQtcmFuZ2Uge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkZWY1ZmQ7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcblxuICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuY2FsZW5kYXItZGF5LW51bWJlciB7XG4gICAgICAgICAgICBjb2xvcjogIzhkOGQ4ZDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOm5vdCguZW1wdHkpIHtcbiAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5jYWxlbmRhci1kYXktbnVtYmVyIHtcbiAgICAgICAgICBwYWRkaW5nOiAxcHg7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmNhbGVuZGFyLWRheS1pbmZvIHtcbiAgQGluY2x1ZGUgZmxleCgxIDAgYXV0byk7XG4gIEBpbmNsdWRlIGxvY2std2lkdGgoMzAwcHgpO1xuICBcbiAgLmRheS1kYXRlIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NjYztcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBtYXJnaW46IDM1cHggMCAyMHB4O1xuICAgIG1pbi1oZWlnaHQ6IDQwcHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgID4gLmljb24tY2FsZW5kYXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsdWU7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAkYmx1ZTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICAgIHBhZGRpbmc6IDVweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiA3cHg7XG4gICAgICBsaW5lLWhlaWdodDogMjhweDtcbiAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgIGNvbG9yOiAjZWZlZmVmO1xuICAgIH1cbiAgfVxuXG4gIC5kYXktcHJvZ3JhbSB7XG4gICAgQGluY2x1ZGUgbG9jay13aWR0aCgyOTVweCk7XG4gICAgXG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuNzVweDtcbiAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIC5saWdodC1ncmV5LXRleHQgIHtcbiAgICAgIGNvbG9yOiAjQTdBOEE3O1xuICAgIH1cblxuICAgICYuYWN0aW9uIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG4gIH1cbn1cblxuLndlZWstbWFpbi13cmFwcGVyIHtcbiAgcGFkZGluZzogMCFpbXBvcnRhbnQ7XG59XG5cbi53ZWVrLXdyYXBwZXIge1xuICBwYWRkaW5nOiAwIWltcG9ydGFudDtcbiAgQGluY2x1ZGUgZmxleCgxIDAgYXV0byk7XG4gIG1pbi1oZWlnaHQ6IDQyNXB4O1xuICAvKiBoZWlnaHQ6IDQyNTsgKi9cblxuICAmLnNtYWxsIHtcbiAgICBtaW4taGVpZ2h0OiAyMjVweDtcbiAgICAvKiBoZWlnaHQ6IDIyNXB4OyAqL1xuICB9XG4gIFxuICAud2Vlay1idXR0b24tY29sdW1uIHtcbiAgICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG4gICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcbiAgICBmb250LXNpemU6IDM2cHg7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBtaW4td2lkdGg6IDIwcHg7XG5cbiAgICA+IGRpdiB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7ICAgICAgICAgICAgIFxuICAgIH1cbiAgICBAaW5jbHVkZSByZXNwb25kKGxnKSAge1xuICAgICAgJHdlZWstYnV0dG9uLWVkZ2UtcHVsbDogLTI1cHg7XG4gICAgICAuZmEtYW5nbGUtbGVmdCAge1xuICAgICAgICBtYXJnaW4tbGVmdDogJHdlZWstYnV0dG9uLWVkZ2UtcHVsbDtcbiAgICAgIH1cbiAgICAgIC5mYS1hbmdsZS1yaWdodCAge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6ICR3ZWVrLWJ1dHRvbi1lZGdlLXB1bGw7XG4gICAgICB9IFxuICAgIH0gICBcbiAgfVxuXG4gIC53ZWVrLWRheS1jb2x1bW4ge1xuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2RkZDtcbiAgICBtaW4td2lkdGg6IDE0MHB4O1xuXG4gICAgLmRheS1udW1iZXIge1xuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbi1zZWxmKGZsZXgtc3RhcnQpO1xuICAgICAgY29sb3I6ICNhYWE7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICBtYXJnaW46IDEwcHggMTVweDtcbiAgICB9XG5cbiAgICAud2Vlay1kYXktaW5mby1jb250YWluZXIge1xuICAgICAgQGluY2x1ZGUgZmxleCgxIDAgYXV0byk7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNXB4O1xuXG4gICAgICAmOm5vdCg6ZW1wdHkpIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogNHB4IHNvbGlkICNhYWE7XG4gICAgICB9XG5cbiAgICAgIC53ZWVrLWRheS1wcm9ncmFtIHtcbiAgICAgICAgd2lkdGg6IDEzMHB4O1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgICAgICAgY29sb3I6ICNiYmI7XG4gICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDIwMDtcbiAgICAgICAgbWFyZ2luOiA0cHggMDtcbiAgICAgICAgcGFkZGluZzogOHB4O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcblxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgIGdhcDogNHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJi5hY3Rpb24ge1xuICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICY6bnRoLWxhc3QtY2hpbGQoMikge1xuICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2RkZDtcbiAgICB9XG5cbiAgICAmLmN1cnJlbnQtZGF5IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcblxuICAgICAgLmRheS1udW1iZXIge1xuICAgICAgICBjb2xvcjogIzgwODA4MDtcbiAgICAgIH1cblxuICAgICAgLndlZWstZGF5LWluZm8tY29udGFpbmVyIHtcbiAgICAgICAgJjpub3QoOmVtcHR5KSB7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogNHB4IHNvbGlkICRibHVlO1xuICAgICAgICB9XG5cbiAgICAgICAgLndlZWstZGF5LXByb2dyYW0ge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmNGY0ZjQ7XG4gICAgICAgICAgY29sb3I6IGluaGVyaXQ7XG5cbiAgICAgICAgICAud2Vlay1kYXktcHJvZ3JhbS10aXRsZTpub3QoLmxpZ2h0LWdyZXktdGV4dCkge1xuICAgICAgICAgICAgY29sb3I6ICRibHVlO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC53ZWVrLWRheS1wcm9ncmFtLW5hbWU6bm90KC5saWdodC1ncmV5LXRleHQpIHtcbiAgICAgICAgICAgIGNvbG9yOiAjODg4ODg4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiJHJlZDogI2M0MmEzYjtcbiRibHVlOiAjOTc2OEVCO1xuJGRhcmtfYmx1ZTogIzExMjY0YjtcbiRncmV5OiAjODA4MDgwO1xuJGdyZWVuOiAjMjBiNzY5O1xuJHdoaXRlOiAjZmZmZmZmO1xuJHllbGxvdzogI2Q4YjYyZjtcbiRsaWdodF9ncmV5OiAjY2RjZGNkO1xuJGRhcmtfZ3JleTogIzZkNmU3MjtcbiRzY29yZS1ncmVlbjogIzAwQjk2RDtcbiRzY29yZS1yZWQ6ICNEMTQwNEI7XG4kc2NvcmUteWVsbG93OiAjRDdCQjQzO1xuXG4kZm9vdGVyX2JhY2tncm91bmQ6ICMxMTI2NGI7XG4kYXRobGV0ZV9oZWFkZXJfcHJpbWFyeTogI2UxZTFlMTtcbiRhdGhsZXRlX2hlYWRlcl9zZWNvbmRhcnk6ICNlMWUxZTE7XG4kYXRobGV0ZV9saXN0X25hbWU6ICNmN2Y3Zjc7XG4iLCJcbkBtaXhpbiB0cmFuc2Zvcm0oJHRyYW5zZm9ybXMpIHtcbiAgICAgLW1vei10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAgICAgIC1vLXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gICAgICAtbXMtdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgLXdlYmtpdC10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAgICAgICAgIHRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG59XG5cbkBtaXhpbiBhcHBlYXJhbmNlKCRhcHBlYXJhbmNlLi4uKSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogJGFwcGVhcmFuY2U7XG4gICAgIC1tb3otYXBwZWFyYW5jZTogJGFwcGVhcmFuY2U7XG4gICAgICAgICAgYXBwZWFyYW5jZTogJGFwcGVhcmFuY2U7XG59XG5cbkBtaXhpbiBib3JkZXItcmFkaXVzKCRib3JkZXItcmFkaXVzLi4uKSB7XG4gIC13ZWJraXQtYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gICAgIC1tb3otYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG59XG5cbkBtaXhpbiBib3gtc2hhZG93KCRzaGFkb3cuLi4pIHtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAkc2hhZG93O1xuICAgICAtbW96LWJveC1zaGFkb3c6ICRzaGFkb3c7XG4gICAgICAgICAgYm94LXNoYWRvdzogJHNoYWRvdztcbn1cblxuQG1peGluIGJveC1zaXppbmcoJHNpemUuLi4pIHtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiAkc2l6ZTtcbiAgICAgLW1vei1ib3gtc2l6aW5nOiAkc2l6ZTtcbiAgICAgICAgICBib3gtc2l6aW5nOiAkc2l6ZTtcbn1cblxuQG1peGluIHVzZXItc2VsZWN0KCRzZWxlY3QuLi4pIHtcbi13ZWJraXQtdG91Y2gtY2FsbG91dDogJHNlbGVjdDtcbiAgICAgLW1zLXRvdWNoLXNlbGVjdDogJHNlbGVjdDtcbiAgICAgLW1vei11c2VyLXNlbGVjdDogJHNlbGVjdDtcbiAgICAgIC1tcy11c2VyLXNlbGVjdDogJHNlbGVjdDtcbiAgICAgICAgICB1c2VyLXNlbGVjdDogJHNlbGVjdDtcbn1cblxuQG1peGluIGZsZXgoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleDogJHZhbHVlO1xuICAgICAgLW1zLWZsZXg6ICR2YWx1ZTtcbiAgICAgICAgICBmbGV4OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWFsaWduLWNvbnRlbnQoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtYWxpZ24tY29udGVudDogJHZhbHVlO1xuICAgICAgICAgIGFsaWduLWNvbnRlbnQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtYWxpZ24taXRlbXMoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtYWxpZ24taXRlbXM6ICR2YWx1ZTtcbiAgICAgICAgICBhbGlnbi1pdGVtczogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1hbGlnbi1zZWxmKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWFsaWduLXNlbGY6ICR2YWx1ZTtcbiAgICAgICAgICBhbGlnbi1zZWxmOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWRpcmVjdGlvbigkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogJHZhbHVlO1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiAkdmFsdWU7XG59XG5AbWl4aW4gZmxleC1kaXJlY3Rpb24taW1wb3J0YW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiAkdmFsdWUhaW1wb3J0YW50O1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiAkdmFsdWUhaW1wb3J0YW50O1xufVxuXG5AbWl4aW4gZmxleC1kaXNwbGF5KCkge1xuICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG5AbWl4aW4gZmxleC1qdXN0aWZ5LWNvbnRlbnQoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiAkdmFsdWU7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LW9yZGVyKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LW9yZGVyOiAkdmFsdWU7XG4gICAgICAgICAgb3JkZXI6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtd3JhcCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1mbGV4LXdyYXA6ICR2YWx1ZTtcbiAgICAgICAgICBmbGV4LXdyYXA6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtY29sdW1uKCkge1xuICBAaW5jbHVkZSBmbGV4LWRpc3BsYXkoKTtcbiAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24oY29sdW1uKTtcbn1cblxuQG1peGluIGZsZXgtY29sdW1uLWNlbnRlcigpIHtcbiAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xufVxuXG5AbWl4aW4gZmxleC1jb2x1bW4tc3RhcnQoKSB7XG4gIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoZmxleC1zdGFydCk7XG59XG5cbkBtaXhpbiBmbGV4LXJvdygpIHtcbiAgQGluY2x1ZGUgZmxleC1kaXNwbGF5KCk7XG4gIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKHJvdyk7XG59XG5cbkBtaXhpbiBmbGV4LXJvdy1jZW50ZXIoKSB7XG4gIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbn1cblxuQG1peGluIGZsZXgtcm93LXN0YXJ0KCkge1xuICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGZsZXgtc3RhcnQpO1xufVxuXG5AbWl4aW4gbG9jay1oZWlnaHQoJHZhbHVlLi4uKSB7XG4gIG1heC1oZWlnaHQ6ICR2YWx1ZTtcbiAgbWluLWhlaWdodDogJHZhbHVlO1xuICBoZWlnaHQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGxvY2std2lkdGgoJHZhbHVlLi4uKSB7XG4gIG1heC13aWR0aDogJHZhbHVlO1xuICBtaW4td2lkdGg6ICR2YWx1ZTtcbiAgd2lkdGg6ICR2YWx1ZTtcbn1cblxuQG1peGluIGxvY2std2lkdGgtaW5saW5lLW92ZXJyaWRlKCR2YWx1ZS4uLikge1xuICBtYXgtd2lkdGg6ICR2YWx1ZSAhaW1wb3J0YW50O1xuICBtaW4td2lkdGg6ICR2YWx1ZSAhaW1wb3J0YW50O1xuICB3aWR0aDogJHZhbHVlICFpbXBvcnRhbnQ7XG59XG5cblxuQG1peGluIHVubG9jay13aWR0aCAge1xuICBtYXgtd2lkdGg6IG5vbmU7XG4gIG1pbi13aWR0aDogMDtcbiAgd2lkdGg6IGF1dG87XG59XG5AbWl4aW4gdW5sb2NrLWhlaWdodCAge1xuICBtYXgtaGVpZ2h0OiBub25lO1xuICBtaW4taGVpZ2h0OiAwO1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbkBtaXhpbiBjb2x1bW4tY291bnQoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtY29sdW1uLWNvdW50OiAkdmFsdWU7XG4gIC1tb3otY29sdW1uLWNvdW50OiAkdmFsdWU7XG4gIGNvbHVtbi1jb3VudDogJHZhbHVlO1xufVxuXG5AbWl4aW4gY29sdW1uLWdhcCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1jb2x1bW4tZ2FwOiAkdmFsdWU7XG4gIC1tb3otY29sdW1uLWdhcDogJHZhbHVlO1xuICBjb2x1bW4tZ2FwOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBjb2x1bW4tbm8tYnJlYWsoKSB7XG4gIC13ZWJraXQtY29sdW1uLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZC1jb2x1bW47XG4gIC1tb3otY29sdW1uLWJyZWFrLWluc2lkZTphdm9pZDtcbiAgLW8tY29sdW1uLWJyZWFrLWluc2lkZTphdm9pZDtcbiAgLW1zLWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XG4gIGJyZWFrLWluc2lkZTphdm9pZC1jb2x1bW47XG59XG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gcmVzcG9uZFxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuJG1pbkNvbnRlbnRXaWR0aDogMTAyNHB4O1xuJG1pbkVkZ2VDb250ZW50UGFkZGluZzogMTVweDtcbiRsYXJnZUJyZWFrcG9pbnQ6ICRtaW5Db250ZW50V2lkdGggKyAkbWluRWRnZUNvbnRlbnRQYWRkaW5nKjI7XG4kY29tcHJlc3NlZENvbnRlbnRXaWR0aDogJG1pbkNvbnRlbnRXaWR0aCAtICRtaW5FZGdlQ29udGVudFBhZGRpbmcqMjtcbi8vICRzbU1pbjogNzY4cHg7XG4kc21NYXg6IDkwMHB4O1xuQG1peGluIHJlc3BvbmQoJG1lZGlhKSB7XG4gIEBpZiAkbWVkaWEgPT0gd2hpdGVib2FyZC1leGVyY2lzZS1zdGFja2VkLWF0dHJpYnV0ZXMge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTE5MHB4KSB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGlmICRtZWRpYSA9PSBsZyB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkbGFyZ2VCcmVha3BvaW50KSB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGVsc2UgaWYgJG1lZGlhID09IG1kIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICN7JGxhcmdlQnJlYWtwb2ludCAtIDFweH0pIHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAZWxzZSBpZiAkbWVkaWEgPT0gc20ge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogI3skc21NYXh9KSB7IEBjb250ZW50OyB9XG4gIH1cbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IHhwYWQgLyB5cGFkXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vICBcbkBtaXhpbiB4cGFkKCRwYWQpICB7XG4gIHBhZGRpbmctbGVmdDogJHBhZDtcbiAgcGFkZGluZy1yaWdodDogJHBhZDtcbn1cbkBtaXhpbiB5cGFkKCRwYWQpICB7XG4gIHBhZGRpbmctdG9wOiAkcGFkO1xuICBwYWRkaW5nLWJvdHRvbTogJHBhZDtcbn1cbkBtaXhpbiB4bWFyZ2luKCRnYXApICB7XG4gIG1hcmdpbi1sZWZ0OiAkZ2FwO1xuICBtYXJnaW4tcmlnaHQ6ICRnYXA7XG59XG5AbWl4aW4geW1hcmdpbigkZ2FwKSAge1xuICBtYXJnaW4tdG9wOiAkZ2FwO1xuICBtYXJnaW4tYm90dG9tOiAkZ2FwO1xufVxuXG5AbWl4aW4gYWJzQ2VudGVyQmFzZV95KCRoKSAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBtYXJnaW4tdG9wOiAkaC8tMjtcbn1cblxuQG1peGluIGFic0NlbnRlckJhc2UoJHcsICRoOiAkdykgIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICBtYXJnaW4tdG9wOiAkaC8tMjtcbiAgbWFyZ2luLWxlZnQ6ICR3Ly0yO1xufVxuXG5AbWl4aW4gYWJzQ2VudGVySWNvbigkdywgJGg6ICR3KSAge1xuICBAaW5jbHVkZSBhYnNDZW50ZXJCYXNlKCR3LCAkaCk7XG4gIGZvbnQtc2l6ZTogJGg7XG59XG5AbWl4aW4gYWJzQ2VudGVySWNvbl95KCRoKSAge1xuICBAaW5jbHVkZSBhYnNDZW50ZXJCYXNlX3koJGgpO1xuICBmb250LXNpemU6ICRoO1xufVxuXG5AbWl4aW4gZmxleElubGluZU92ZXJyaWRlICB7XG4gICAgbWluLXdpZHRoOiAwICFpbXBvcnRhbnQ7XG4gICAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7XG4gICAgLXdlYmtpdC1mbGV4OiAxICFpbXBvcnRhbnQ7XG4gICAgLW1zLWZsZXg6IDEgIWltcG9ydGFudDtcbiAgICBmbGV4OiAxICFpbXBvcnRhbnQ7XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gYXBwLXNwZWNpZmljIG1peGluL3ZhcnMgPiB0YWJzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbkBtaXhpbiBsYXJnZS10YWJzLXN0eWxlICB7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIEBpbmNsdWRlIHJlc3BvbmQobWQpICB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICB9XG59XG4kbGFyZ2UtdGFicy1zcGFjaW5nOiA0MHB4O1xuXG5AbWl4aW4gdHJpbUlubmVyTWFyZ2luICB7XG4gID4gKiAge1xuICAgICY6Zmlyc3QtY2hpbGQgIHtcbiAgICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbiAgICB9XG4gICAgJjpsYXN0LWNoaWxkICB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IHBsYWNlaG9sZGVyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vICBcbkBtaXhpbiBwbGFjZWhvbGRlciB7XG4gICY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge0Bjb250ZW50fVxuICAmOi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAgIHtAY29udGVudH1cbiAgJjo6LW1vei1wbGFjZWhvbGRlciAgICAgICAgICB7QGNvbnRlbnR9XG4gICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyICAgICAge0Bjb250ZW50fSAgXG59XG5cblxuIiwiQGltcG9ydCBcInZhcmlhYmxlc1wiO1xuQGltcG9ydCBcIm1peGluc1wiO1xuXG4uY2hhcnQtbWVudSB7XG4gIG1hcmdpbjogNTBweCAwIDMwcHggMDtcblxuICAuY2hhcnQtbWVudS1pdGVtIHtcbiAgICBAaW5jbHVkZSBsb2NrLWhlaWdodCgzMHB4KTtcbiAgICBAaW5jbHVkZSBsYXJnZS10YWJzLXN0eWxlO1xuICAgIGNvbG9yOiAjYTBhNGE4O1xuICAgIG1hcmdpbi1yaWdodDogNDBweDtcblxuICAgICYuYWN0aXZlIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkYmx1ZTtcbiAgICAgIGNvbG9yOiAjMzMzO1xuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgIH1cblxuICAgICY6bm90KC5hY3RpdmUpOmhvdmVyIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjYTBhNGE4O1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cbiAgfVxufVxuXG4ubGluZS1jaGFydCB7XG4gIG1hcmdpbjogMjVweCAwIDAgMDtcblxuICAubGluZS1jaGFydC1jYW52YXMge1xuICAgIEBpbmNsdWRlIGxvY2staGVpZ2h0KDM1MHB4KTtcbiAgICBAaW5jbHVkZSBsb2NrLXdpZHRoKDcwMHB4KTtcblxuICAgICYuc21hbGwge1xuICAgICAgQGluY2x1ZGUgbG9jay1oZWlnaHQoMjc1cHgpO1xuICAgICAgQGluY2x1ZGUgbG9jay13aWR0aCg1NTBweCk7XG4gICAgfVxuICB9XG5cbiAgLmxpbmUtY2hhcnQtbWVudSB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIG1hcmdpbjogMjVweCAwO1xuICB9XG59XG5cbi5wcm9ncmFtLWNoYXJ0IHtcbiAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1jb250ZW50KGZsZXgtc3RhcnQpO1xuICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChzcGFjZS1iZXR3ZWVuKTtcbiAgQGluY2x1ZGUgZmxleC13cmFwKHdyYXApO1xuICBAaW5jbHVkZSBsb2NrLXdpZHRoKDcwMHB4KTtcbiAgbWFyZ2luOiAyNXB4IDAgMCAwO1xuICBtaW4taGVpZ2h0OiAzNTBweDtcblxuICAucHJvZ3JhbS1jb21wbGV0ZSB7XG4gICAgbWFyZ2luOiA1cHggMTVweDtcblxuICAgIC5wcm9ncmFtLWluZm8ge1xuICAgICAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbiAgICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KHNwYWNlLWJldHdlZW4pO1xuICAgICAgZm9udC1zaXplOiAxMXB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogNnB4O1xuXG4gICAgICAucHJvZ3JhbS10aXRsZSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICB9XG5cbiAgICAgIC5wcm9ncmFtLW5hbWUge1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgfVxuXG4gICAgICAuaWNvbiB7XG4gICAgICAgIGNvbG9yOiAjY2RjZGNkO1xuICAgICAgICBmb250LXNpemU6IDEwcHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgY2FudmFzIHtcbiAgICAgIGhlaWdodDogNjBweDtcbiAgICAgIHdpZHRoOiAzMTBweDtcbiAgICB9XG4gIH1cbn1cblxuLnNlbGVjdGlvbi1jb21wb25lbnQge1xuICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICBAaW5jbHVkZSBmbGV4KDEgMCBhdXRvKTtcbiAgQGluY2x1ZGUgbG9jay1oZWlnaHQoMzBweCk7XG4gIEBpbmNsdWRlIGxvY2std2lkdGgoMTAwcHgpO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgJjphZnRlciB7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBjb250ZW50OiAnPic7XG4gICAgZm9udDogNjAwIDEycHggJ0NvbnNvbGFzJywgbW9ub3NwYWNlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDZweDtcbiAgICByaWdodDogMTJweDtcbiAgICBwYWRkaW5nOiAwIDAgM3B4O1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSg5MGRlZyk7XG4gICAgLW1vei10cmFuc2Zvcm06cm90YXRlKDkwZGVnKTtcbiAgICAtbXMtdHJhbnNmb3JtOnJvdGF0ZSg5MGRlZyk7XG4gICAgdHJhbnNmb3JtOnJvdGF0ZSg5MGRlZyk7XG4gIH1cblxuICAmOmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJsdWU7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMHB4O1xuICAgIHJpZ2h0OiA2cHg7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgaGVpZ2h0OiBpbmhlcml0O1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB9XG5cbiAgc2VsZWN0IHtcbiAgICBAaW5jbHVkZSBhcHBlYXJhbmNlKG5vbmUpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRibHVlO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBoZWlnaHQ6IDMwcHg7XG4gICAgbWFyZ2luOiAwO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuLmNoYXJ0LWxlZ2VuZCB7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbWFyZ2luOiAwIDIwcHg7XG5cbiAgJiA+IC5mYSB7XG4gICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG5cbiAgICAmLmF2ZXJhZ2Uge1xuICAgICAgY29sb3I6IHJnYmEoMjA3LCAyMTgsIDIyMCwgMC41KTtcbiAgICB9XG5cbiAgICAmLnNjb3JlIHtcbiAgICAgIGNvbG9yOiByZ2JhKDAsIDE4MiwgMjM1LCAwLjkpO1xuICAgIH1cblxuICAgICYudGVhbS1hdmVyYWdlIHtcbiAgICAgIGNvbG9yOiByZ2JhKDEyNSwgMTI1LCAxMjUsIDAuNzUpO1xuICAgIH1cblxuICAgICYuY29tcGxldGVkIHtcbiAgICAgIGNvbG9yOiByZ2JhKDMyLCAxODMsIDEwNSwgMC44KTtcbiAgICB9XG5cbiAgICAmLnNjaGVkdWxlZCB7XG4gICAgICBjb2xvcjogcmdiYSgyMjMsIDIyMywgMjIzLCAxKTtcbiAgICB9XG4gIH1cbn1cblxuLmNoYXJ0LWRldGFpbHMge1xuICBAaW5jbHVkZSBsb2NrLXdpZHRoKDMwMHB4KTtcbiAgbWFyZ2luLXRvcDogMTZweDtcblxuICAuY2hhcnQtZGF0ZS1oZWFkZXIgIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NjYztcbiAgICBwYWRkaW5nLWJvdHRvbTogNHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDRweDtcbiAgICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG4gICAgaSAge1xuICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgZGlzcGxheTogbm9uZTsgLy8gXCJzaGFyZVwiIGZlYXR1cmUgd2lsbCBjb21lIGxhdGVyLi4uXG4gICAgfVxuICB9XG5cbiAgLmNoYXJ0LWRhdGUge1xuICAgIEBpbmNsdWRlIGxvY2staGVpZ2h0KDIycHgpO1xuICAgIGNvbG9yOiAjNzU3NzdBO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIH1cblxuICAubWFpbi1zY29yZSB7XG4gICAgbWFyZ2luLXRvcDogNXB4O1xuICB9XG5cbiAgLnZhbHVlLWJhZGdlIHtcbiAgICBjb2xvcjogJGJsdWU7XG4gICAgZm9udC1zaXplOiA0OHB4O1xuICAgIGZvbnQtd2VpZ2h0OiAxMDA7XG4gICAgbWFyZ2luLWJvdHRvbTogLTZweDtcbiAgfVxuXG4gIC52YWx1ZS1sYWJlbCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1heC13aWR0aDogMTIwcHg7XG4gIH1cblxuICAudmFsdWUtbGFyZ2Uge1xuICAgIGZvbnQtc2l6ZTogNTZweDtcbiAgICBmb250LXdlaWdodDogMTAwO1xuICAgIGxpbmUtaGVpZ2h0OiA1NnB4O1xuICAgIG1hcmdpbi1yaWdodDogMjBweDtcbiAgfVxuXG4gIC52YWx1ZS1jaGFuZ2UtaWNvbiB7XG4gICAgJi5mYS1zb3J0LWFzYyB7XG4gICAgICBmb250LXdlaWdodDogMTAwO1xuICAgICAgbWFyZ2luLXRvcDogNHB4O1xuICAgIH1cblxuICAgICYuZmEtc29ydC1kZXNjIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiAxMDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiA2cHg7XG4gICAgfVxuXG4gICAgJi51bmNoYW5nZWQge1xuICAgICAgY29sb3I6ICRncmV5O1xuICAgIH1cblxuICAgICYuaW5jcmVhc2Uge1xuICAgICAgY29sb3I6ICRncmVlbjtcbiAgICB9XG5cbiAgICAmLmRlY3JlYXNlIHtcbiAgICAgIGNvbG9yOiAkcmVkO1xuICAgIH1cbiAgfVxuXG4gIC52YWx1ZS1jaGFuZ2Uge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIG1hcmdpbi1sZWZ0OiA2cHg7XG5cbiAgICAmLnVuY2hhbmdlZCB7XG4gICAgICBjb2xvcjogJGdyZXk7XG4gICAgfVxuXG4gICAgJi5pbmNyZWFzZSB7XG4gICAgICBjb2xvcjogJGdyZWVuO1xuICAgIH1cblxuICAgICYuZGVjcmVhc2Uge1xuICAgICAgY29sb3I6ICRyZWQ7XG4gICAgfVxuICB9XG5cbiAgLmluZm8tbGFiZWwge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIG1hcmdpbi1ib3R0b206IDZweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB9XG5cbiAgLmNoYXJ0LXN0YXRzLWNvbnRhaW5lciB7XG4gICAgbWFyZ2luLXRvcDogMjBweDtcbiAgfVxuICBcbiAgLnRlc3QtcmVzdWx0cy1idXR0b24tY29udGFpbmVyIHtcbiAgICBmbGV4OiAxO1xuICAgIHBhZGRpbmc6IDE1cHggMHB4O1xuICB9XG5cbiAgLmNoYXJ0LXN0YXRzIHtcbiAgICBAaW5jbHVkZSBmbGV4KDEpO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2NjO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjY2NjO1xuICAgIHBhZGRpbmc6IDE1cHggMDtcblxuICAgIC5uYW1lIHtcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICB9XG5cbiAgICAudmFsdWUge1xuICAgICAgZm9udC1zaXplOiAyNnB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDEwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAzNHB4O1xuICAgIH1cbiAgfVxuXG4gIC5jaGFydC1zdGF0cy1ncmlkIHtcbiAgICAuY2hhcnQtc3RhdHMge1xuICAgICAgQGluY2x1ZGUgZmxleCgxIDAgNTAlKTtcbiAgICAgIGJvcmRlci10b3A6IG5vbmU7XG5cbiAgICAgICY6bnRoLWNoaWxkKC1uKzIpIHtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNjY2M7XG4gICAgICB9XG5cbiAgICAgICY6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjY2NjO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5waWUtY2hhcnQtY29udGFpbmVyIHtcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IC0yMHB4O1xuICB9XG5cbiAgLnBpZS1jaGFydCB7XG4gICAgY29sb3I6ICNhYWE7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG5cbiAgICAmID4gZGl2IHtcbiAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgfVxuXG4gICAgLnBpZS1jaGFydC1jYW52YXMge1xuICAgICAgQGluY2x1ZGUgbG9jay1oZWlnaHQoNzBweCk7XG4gICAgICBAaW5jbHVkZSBsb2NrLXdpZHRoKDcwcHgpO1xuICAgIH1cbiAgfVxuXG4gIC5ycGUtY29udGFpbmVyIHtcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xuXG4gICAgLnJlZC10ZXh0LCAuZ3JlZW4tdGV4dCB7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDNweDtcbiAgICB9XG5cbiAgICBkaXYgKyBkaXYge1xuICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gICAgfVxuICB9XG5cbiAgLnByb2dyYW0td2VlayB7XG4gICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICBwYWRkaW5nOiAxOHB4IDA7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNjY2M7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjY2M7XG4gIH1cblxuICAudHJvcGhpZXMge1xuICAgIG1hcmdpbi10b3A6IDIwcHg7XG5cblxuICAgIC50cm9waHktaW1hZ2Uge1xuICAgICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB3aWR0aDogMjhweDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG1hcmdpbi10b3A6IC0xM3B4O1xuICAgICAgJi50cm9waHktaW1hZ2UtLWJhZGdlICB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIHdpZHRoOiAyNHB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIC50cm9waHktaWNvbiB7XG4gICAgICBAaW5jbHVkZSBmbGV4KDEgMSBhdXRvKTtcbiAgICAgIEBpbmNsdWRlIGxvY2staGVpZ2h0KDQwcHgpO1xuICAgICAgQGluY2x1ZGUgbG9jay13aWR0aCgyOHB4KTtcbiAgICAgIG1hcmdpbi10b3A6IC0xMXB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgICBpbWcgIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnRyb3BoeS1wbGFjZSB7XG4gICAgICAvLyBAaW5jbHVkZSBmbGV4KDAgMSBhdXRvKTtcbiAgICAgIC8vIEBpbmNsdWRlIGZsZXgoMSlcbiAgICAgIHBhZGRpbmc6IDAgNnB4O1xuICAgICAgZm9udC1zaXplOiAzMHB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDEwMDtcbiAgICB9XG5cbiAgICAudHJvcGh5LW5hbWUge1xuICAgICAgQGluY2x1ZGUgZmxleCgxIDEgYXV0byk7XG4gICAgICAvLyBAaW5jbHVkZSBsb2NrLXdpZHRoKDE1MHB4KTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxM3B4O1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDE2cHg7XG4gICAgfVxuICB9XG5cbiAgLm5vLWRldGFpbHMge1xuICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGNlbnRlcik7XG4gICAgQGluY2x1ZGUgZmxleCgxKTtcbiAgICBAaW5jbHVkZSBsb2NrLXdpZHRoKDMwMHB4KTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTAwcHg7XG4gIH1cbn1cbiIsIiRyZWQ6ICNjNDJhM2I7XG4kYmx1ZTogIzk3NjhFQjtcbiRkYXJrX2JsdWU6ICMxMTI2NGI7XG4kZ3JleTogIzgwODA4MDtcbiRncmVlbjogIzIwYjc2OTtcbiR3aGl0ZTogI2ZmZmZmZjtcbiR5ZWxsb3c6ICNkOGI2MmY7XG4kbGlnaHRfZ3JleTogI2NkY2RjZDtcbiRkYXJrX2dyZXk6ICM2ZDZlNzI7XG4kc2NvcmUtZ3JlZW46ICMwMEI5NkQ7XG4kc2NvcmUtcmVkOiAjRDE0MDRCO1xuJHNjb3JlLXllbGxvdzogI0Q3QkI0MztcblxuJGZvb3Rlcl9iYWNrZ3JvdW5kOiAjMTEyNjRiO1xuJGF0aGxldGVfaGVhZGVyX3ByaW1hcnk6ICNlMWUxZTE7XG4kYXRobGV0ZV9oZWFkZXJfc2Vjb25kYXJ5OiAjZTFlMWUxO1xuJGF0aGxldGVfbGlzdF9uYW1lOiAjZjdmN2Y3O1xuIiwiXG5AbWl4aW4gdHJhbnNmb3JtKCR0cmFuc2Zvcm1zKSB7XG4gICAgIC1tb3otdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgICAtby10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAgICAgLW1zLXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgICAgICB0cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xufVxuXG5AbWl4aW4gYXBwZWFyYW5jZSgkYXBwZWFyYW5jZS4uLikge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xuICAgICAtbW96LWFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xuICAgICAgICAgIGFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xufVxuXG5AbWl4aW4gYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cy4uLikge1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgICAtbW96LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xufVxuXG5AbWl4aW4gYm94LXNoYWRvdygkc2hhZG93Li4uKSB7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogJHNoYWRvdztcbiAgICAgLW1vei1ib3gtc2hhZG93OiAkc2hhZG93O1xuICAgICAgICAgIGJveC1zaGFkb3c6ICRzaGFkb3c7XG59XG5cbkBtaXhpbiBib3gtc2l6aW5nKCRzaXplLi4uKSB7XG4gIC13ZWJraXQtYm94LXNpemluZzogJHNpemU7XG4gICAgIC1tb3otYm94LXNpemluZzogJHNpemU7XG4gICAgICAgICAgYm94LXNpemluZzogJHNpemU7XG59XG5cbkBtaXhpbiB1c2VyLXNlbGVjdCgkc2VsZWN0Li4uKSB7XG4td2Via2l0LXRvdWNoLWNhbGxvdXQ6ICRzZWxlY3Q7XG4gICAgIC1tcy10b3VjaC1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgIC1tb3otdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgICAtbXMtdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgICAgICAgdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG59XG5cbkBtaXhpbiBmbGV4KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXg6ICR2YWx1ZTtcbiAgICAgIC1tcy1mbGV4OiAkdmFsdWU7XG4gICAgICAgICAgZmxleDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1hbGlnbi1jb250ZW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWFsaWduLWNvbnRlbnQ6ICR2YWx1ZTtcbiAgICAgICAgICBhbGlnbi1jb250ZW50OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWFsaWduLWl0ZW1zKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWFsaWduLWl0ZW1zOiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24taXRlbXM6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtYWxpZ24tc2VsZigkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1hbGlnbi1zZWxmOiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24tc2VsZjogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1kaXJlY3Rpb24oJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleC1kaXJlY3Rpb246ICR2YWx1ZTtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogJHZhbHVlO1xufVxuQG1peGluIGZsZXgtZGlyZWN0aW9uLWltcG9ydGFudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogJHZhbHVlIWltcG9ydGFudDtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogJHZhbHVlIWltcG9ydGFudDtcbn1cblxuQG1peGluIGZsZXgtZGlzcGxheSgpIHtcbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuQG1peGluIGZsZXgtanVzdGlmeS1jb250ZW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWp1c3RpZnktY29udGVudDogJHZhbHVlO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1vcmRlcigkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1vcmRlcjogJHZhbHVlO1xuICAgICAgICAgIG9yZGVyOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LXdyYXAoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleC13cmFwOiAkdmFsdWU7XG4gICAgICAgICAgZmxleC13cmFwOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbigpIHtcbiAgQGluY2x1ZGUgZmxleC1kaXNwbGF5KCk7XG4gIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKGNvbHVtbik7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbi1jZW50ZXIoKSB7XG4gIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbn1cblxuQG1peGluIGZsZXgtY29sdW1uLXN0YXJ0KCkge1xuICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGZsZXgtc3RhcnQpO1xufVxuXG5AbWl4aW4gZmxleC1yb3coKSB7XG4gIEBpbmNsdWRlIGZsZXgtZGlzcGxheSgpO1xuICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihyb3cpO1xufVxuXG5AbWl4aW4gZmxleC1yb3ctY2VudGVyKCkge1xuICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG59XG5cbkBtaXhpbiBmbGV4LXJvdy1zdGFydCgpIHtcbiAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LXN0YXJ0KTtcbn1cblxuQG1peGluIGxvY2staGVpZ2h0KCR2YWx1ZS4uLikge1xuICBtYXgtaGVpZ2h0OiAkdmFsdWU7XG4gIG1pbi1oZWlnaHQ6ICR2YWx1ZTtcbiAgaGVpZ2h0OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBsb2NrLXdpZHRoKCR2YWx1ZS4uLikge1xuICBtYXgtd2lkdGg6ICR2YWx1ZTtcbiAgbWluLXdpZHRoOiAkdmFsdWU7XG4gIHdpZHRoOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBsb2NrLXdpZHRoLWlubGluZS1vdmVycmlkZSgkdmFsdWUuLi4pIHtcbiAgbWF4LXdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbiAgbWluLXdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbiAgd2lkdGg6ICR2YWx1ZSAhaW1wb3J0YW50O1xufVxuXG5cbkBtaXhpbiB1bmxvY2std2lkdGggIHtcbiAgbWF4LXdpZHRoOiBub25lO1xuICBtaW4td2lkdGg6IDA7XG4gIHdpZHRoOiBhdXRvO1xufVxuQG1peGluIHVubG9jay1oZWlnaHQgIHtcbiAgbWF4LWhlaWdodDogbm9uZTtcbiAgbWluLWhlaWdodDogMDtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG5AbWl4aW4gY29sdW1uLWNvdW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWNvbHVtbi1jb3VudDogJHZhbHVlO1xuICAtbW96LWNvbHVtbi1jb3VudDogJHZhbHVlO1xuICBjb2x1bW4tY291bnQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGNvbHVtbi1nYXAoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtY29sdW1uLWdhcDogJHZhbHVlO1xuICAtbW96LWNvbHVtbi1nYXA6ICR2YWx1ZTtcbiAgY29sdW1uLWdhcDogJHZhbHVlO1xufVxuXG5AbWl4aW4gY29sdW1uLW5vLWJyZWFrKCkge1xuICAtd2Via2l0LWNvbHVtbi1icmVhay1pbnNpZGU6IGF2b2lkO1xuICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQtY29sdW1uO1xuICAtbW96LWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XG4gIC1vLWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XG4gIC1tcy1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xuICBicmVhay1pbnNpZGU6YXZvaWQtY29sdW1uO1xufVxuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IHJlc3BvbmRcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiRtaW5Db250ZW50V2lkdGg6IDEwMjRweDtcbiRtaW5FZGdlQ29udGVudFBhZGRpbmc6IDE1cHg7XG4kbGFyZ2VCcmVha3BvaW50OiAkbWluQ29udGVudFdpZHRoICsgJG1pbkVkZ2VDb250ZW50UGFkZGluZyoyO1xuJGNvbXByZXNzZWRDb250ZW50V2lkdGg6ICRtaW5Db250ZW50V2lkdGggLSAkbWluRWRnZUNvbnRlbnRQYWRkaW5nKjI7XG4vLyAkc21NaW46IDc2OHB4O1xuJHNtTWF4OiA5MDBweDtcbkBtaXhpbiByZXNwb25kKCRtZWRpYSkge1xuICBAaWYgJG1lZGlhID09IHdoaXRlYm9hcmQtZXhlcmNpc2Utc3RhY2tlZC1hdHRyaWJ1dGVzIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExOTBweCkgeyBAY29udGVudDsgfVxuICB9XG4gIEBpZiAkbWVkaWEgPT0gbGcge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGxhcmdlQnJlYWtwb2ludCkgeyBAY29udGVudDsgfVxuICB9XG4gIEBlbHNlIGlmICRtZWRpYSA9PSBtZCB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAjeyRsYXJnZUJyZWFrcG9pbnQgLSAxcHh9KSB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGVsc2UgaWYgJG1lZGlhID09IHNtIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICN7JHNtTWF4fSkgeyBAY29udGVudDsgfVxuICB9XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiB4cGFkIC8geXBhZFxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgXG5AbWl4aW4geHBhZCgkcGFkKSAge1xuICBwYWRkaW5nLWxlZnQ6ICRwYWQ7XG4gIHBhZGRpbmctcmlnaHQ6ICRwYWQ7XG59XG5AbWl4aW4geXBhZCgkcGFkKSAge1xuICBwYWRkaW5nLXRvcDogJHBhZDtcbiAgcGFkZGluZy1ib3R0b206ICRwYWQ7XG59XG5AbWl4aW4geG1hcmdpbigkZ2FwKSAge1xuICBtYXJnaW4tbGVmdDogJGdhcDtcbiAgbWFyZ2luLXJpZ2h0OiAkZ2FwO1xufVxuQG1peGluIHltYXJnaW4oJGdhcCkgIHtcbiAgbWFyZ2luLXRvcDogJGdhcDtcbiAgbWFyZ2luLWJvdHRvbTogJGdhcDtcbn1cblxuQG1peGluIGFic0NlbnRlckJhc2VfeSgkaCkgIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbWFyZ2luLXRvcDogJGgvLTI7XG59XG5cbkBtaXhpbiBhYnNDZW50ZXJCYXNlKCR3LCAkaDogJHcpICB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLXRvcDogJGgvLTI7XG4gIG1hcmdpbi1sZWZ0OiAkdy8tMjtcbn1cblxuQG1peGluIGFic0NlbnRlckljb24oJHcsICRoOiAkdykgIHtcbiAgQGluY2x1ZGUgYWJzQ2VudGVyQmFzZSgkdywgJGgpO1xuICBmb250LXNpemU6ICRoO1xufVxuQG1peGluIGFic0NlbnRlckljb25feSgkaCkgIHtcbiAgQGluY2x1ZGUgYWJzQ2VudGVyQmFzZV95KCRoKTtcbiAgZm9udC1zaXplOiAkaDtcbn1cblxuQG1peGluIGZsZXhJbmxpbmVPdmVycmlkZSAge1xuICAgIG1pbi13aWR0aDogMCAhaW1wb3J0YW50O1xuICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xuICAgIC13ZWJraXQtZmxleDogMSAhaW1wb3J0YW50O1xuICAgIC1tcy1mbGV4OiAxICFpbXBvcnRhbnQ7XG4gICAgZmxleDogMSAhaW1wb3J0YW50O1xufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIGFwcC1zcGVjaWZpYyBtaXhpbi92YXJzID4gdGFic1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5AbWl4aW4gbGFyZ2UtdGFicy1zdHlsZSAge1xuICBmb250LXNpemU6IDIwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBmb250LXdlaWdodDogNTAwO1xuICBAaW5jbHVkZSByZXNwb25kKG1kKSAge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgfVxufVxuJGxhcmdlLXRhYnMtc3BhY2luZzogNDBweDtcblxuQG1peGluIHRyaW1Jbm5lck1hcmdpbiAge1xuICA+ICogIHtcbiAgICAmOmZpcnN0LWNoaWxkICB7XG4gICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgICY6bGFzdC1jaGlsZCAge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiBwbGFjZWhvbGRlclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgXG5AbWl4aW4gcGxhY2Vob2xkZXIge1xuICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtAY29udGVudH1cbiAgJjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgICB7QGNvbnRlbnR9XG4gICY6Oi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAge0Bjb250ZW50fVxuICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciAgICAgIHtAY29udGVudH0gIFxufVxuXG5cbiIsIkBpbXBvcnQgXCJ2YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCJtaXhpbnNcIjtcblxuQG1peGluIGRheWNvbHdpZHRoICB7XG4gIG1pbi13aWR0aDogMDtcbiAgbWF4LXdpZHRoOiBub25lO1xuICB3aWR0aDogMTAwLzcqMSU7XG59XG5cbi5ub3Rlcy1tZW51IHtcbiAgbWFyZ2luOiAxNXB4IDA7XG5cbiAgLm5vdGVzLW1lbnUtaXRlbSB7XG4gICAgQGluY2x1ZGUgbG9jay1oZWlnaHQoMzBweCk7XG4gICAgY29sb3I6ICNhMGE0YTg7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuXG4gICAgJi5hY3RpdmUge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICRibHVlO1xuICAgICAgY29sb3I6ICMzMzM7XG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgfVxuXG4gICAgJjpub3QoLmFjdGl2ZSk6aG92ZXIge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNhMGE0YTg7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuICB9XG5cbiAgLm5vdGVzLW1lbnUtaXRlbSArIC5ub3Rlcy1tZW51LWl0ZW0ge1xuICAgIG1hcmdpbi1sZWZ0OiA0NXB4O1xuICB9XG59XG5cbi5ub3Rlcy1jYWxlbmRhciB7XG4gIEBpbmNsdWRlIGZsZXgoMSAwIGF1dG8pO1xuICBAaW5jbHVkZSBsb2NrLXdpZHRoKDQ5MnB4KTtcblxuICAuY2FsZW5kYXItaGVhZGVyIHtcbiAgICBAaW5jbHVkZSBsb2NrLWhlaWdodCg1MHB4KTtcbiAgICBtYXJnaW46IDFweCAxcHggMCAtMXB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlZmVmZWY7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuXG4gICAgLmljb24ge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cbiAgfVxuXG4gIC53ZWVrLWRheS1sYWJlbHMge1xuICAgIG1hcmdpbjogMCAxcHggMCAwO1xuICAgID4gZGl2IHtcbiAgICAgIC8vIEBpbmNsdWRlIGxvY2std2lkdGgoNjBweCk7XG4gICAgICBAaW5jbHVkZSBkYXljb2x3aWR0aDtcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgIGNvbG9yOiAjOTk5O1xuICAgICAgQGluY2x1ZGUgZmxleC1yb3c7XG4gICAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChmbGV4LXN0YXJ0KTtcbiAgICAgIHBhZGRpbmctbGVmdDogM3B4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIH1cbiAgfVxuXG4gIC5jYWxlbmRhci1kYXlzIHtcbiAgICBtYXJnaW46IDAgMXB4IDVweCAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlZmVmZWY7XG4gICAgLmNhbGVuZGFyLWRheSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChmbGV4LXN0YXJ0KTtcbiAgICAgIC8vIEBpbmNsdWRlIGxvY2staGVpZ2h0KDM4cHgpO1xuICAgICAgLy8gQGluY2x1ZGUgbG9jay13aWR0aCg2MHB4KTtcbiAgICAgIEBpbmNsdWRlIGRheWNvbHdpZHRoO1xuICAgICAgbWluLWhlaWdodDogMDtcbiAgICAgIG1heC1oZWlnaHQ6IG5vbmU7XG4gICAgICBoZWlnaHQ6IDYycHg7XG4gICAgICBtYXJnaW46IC0xcHggMHB4IDBweCAtMXB4O1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2NkY2RjZDtcblxuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGNvbG9yOiAjY2RjZGNkO1xuICAgICAgJi5jdXJyZW50LWRheSAge1xuICAgICAgICBjb2xvcjogJGJsdWU7XG4gICAgICB9XG5cbiAgICAgIC8vICYuZW1wdHkgeyAgICAgICAgXG4gICAgICAgIC8vIGJhY2tncm91bmQtY29sb3I6ICNlZmVmZWY7XG4gICAgICAvLyB9XG5cbiAgICAgICAmLmRheS1hY3Rpdml0aWVzIHtcbiAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyZDhiMDA7XG4gICAgICAgICAvL2JhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgLy9ib3JkZXItY29sb3I6ICNjMmQ0NzQ7XG4gICAgICAgICAvL2NvbG9yOiAjZWZlZmVmO1xuICAgICAgICAgLy9jdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAvLyY6aG92ZXIge1xuICAgICAgICAgLy8gIGJhY2tncm91bmQtY29sb3I6ICNjMmQ0NzQ7XG4gICAgICAgICAvLyAgY29sb3I6ICNmZmY7XG4gICAgICAgICAvL31cbiAgICAgICB9XG5cbiAgICAgIC8vICYuY3VycmVudC1kYXkge1xuICAgICAgLy8gICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzJkNDc0O1xuICAgICAgLy8gICBib3JkZXItYm90dG9tOiA0cHggc29saWQgIzU0N2I0MjtcbiAgICAgIC8vICAgY29sb3I6ICNmZmY7XG4gICAgICAvLyB9XG5cbiAgICAgICY6bm90KC5lbXB0eSk6bm90KC5kYXktYWN0aXZpdGllcykge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIG9wYWNpdHk6IDAuODtcbiAgICAgICAgICAvLyBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5jYWxlbmRhci1kYXktbnVtYmVyIHtcbiAgICAgICAgcGFkZGluZzogMXB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMzJweDtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgcGFkZGluZzogOHB4IDEycHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uYmMtc2VjdGlvbiwgLnRsLXNlY3Rpb24sIC5zb2FwLXNlY3Rpb24ge1xuICBtYXJnaW4tdG9wOiAyMHB4O1xufVxuXG4uc29hcC1sYWJlbCB7XG4gICYuZmllbGRzLWhlYWRlci5oaWdoLWxldmVsLWZpZWxkLWxhYmVsIHtcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDBweDtcbiAgfVxufVxuXG4uYmMtYm9keWZhdCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICA+IC5iYXNpYy1pbnB1dC5zbWFsbCB7XG4gICAgd2lkdGg6IDgwcHg7XG4gIH1cblxuICAmOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJSc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiA2MHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAzOHB4O1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBjb2xvcjogI2JiYjtcbiAgfVxufVxuXG4uYmMtYWxlcnQge1xuICB3aWR0aDogNzUlO1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG4udGwtdG90YWwtbG9hZCB7XG4gIG1hcmdpbi1sZWZ0OiAxNXB4O1xuICA+IC5iYXNpYy1pbnB1dC5zbWFsbCB7XG4gICAgd2lkdGg6IDcwcHg7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjZGNkY2Q7XG4gICAgY29sb3I6ICRibHVlO1xuICB9XG59XG5cbi5iYy1lbnRyeS1oZWFkZXIsIC5iYy1lbnRyeSB7XG4gID4gLmZpZWxkLWxhYmVsICsgLmZpZWxkLWxhYmVsIHtcbiAgICBtYXJnaW4tbGVmdDogMjBweDtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogNTY4cHgpIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgIH1cbiAgfVxuXG4gIC5iYy1pbnB1dCB7IFxuICAgIG1pbi13aWR0aDogMTYwcHg7XG4gICAgbWF4LXdpZHRoOiAxNjBweDtcbiAgfVxuXG4gIC5iYy1maWxsZXIge1xuICAgIG1pbi13aWR0aDogMTBweDtcbiAgICBtYXgtd2lkdGg6IDEwcHg7XG4gIH1cbn1cblxuLmJjLWZpbGxlci1yZXNwIHtcbiAgQG1lZGlhIChtYXgtd2lkdGg6IDU2OHB4KSB7XG4gICAgbWluLXdpZHRoOiAwIWltcG9ydGFudDtcbiAgICBtYXgtd2lkdGg6IDAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1sZWZ0OiAwIWltcG9ydGFudDtcbiAgfVxufVxuXG4udGwtZW50cnktaGVhZGVyLCAudGwtZW50cnkge1xuICA+IC5maWVsZC1sYWJlbCArIC5maWVsZC1sYWJlbCB7XG4gICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gIH1cblxuICAudGwtc2VsZWN0IHtcbiAgICBtaW4td2lkdGg6IDIxNXB4O1xuICAgIG1heC13aWR0aDogMjE1cHg7XG4gIH1cblxuICAudGwtaW5wdXQgeyBcbiAgICBtaW4td2lkdGg6IDEwMHB4O1xuICAgIG1heC13aWR0aDogMTAwcHg7XG4gIH1cblxuICAudGwtZmlsbGVyIHtcbiAgICBtaW4td2lkdGg6IDEwcHg7XG4gICAgbWF4LXdpZHRoOiAxMHB4O1xuICB9XG59XG5cbi5yZXNwLW5vdGVzLWNvbHVtbiB7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuXG4uYmMtZW50cnkge1xuICAuYmMtaW5wdXQge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgPiAuYmFzaWMtaW5wdXQuc21hbGwge1xuICAgICAgd2lkdGg6IDEzMHB4O1xuICAgICAgaGVpZ2h0OiAzOHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDM4cHg7XG4gICAgICBwYWRkaW5nOiAwIDI4cHggMCAxM3B4OyBcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgfVxuICB9XG4gIC5iYy1pbnB1dC1iZiB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLWxlZnQ6IDAhaW1wb3J0YW50O1xuXG4gICAgPiAuYmFzaWMtaW5wdXQuc21hbGwge1xuICAgICAgd2lkdGg6IDgwcHg7XG4gICAgICBoZWlnaHQ6IDM4cHg7XG4gICAgICBsaW5lLWhlaWdodDogMzhweDtcbiAgICAgIHBhZGRpbmc6IDAgMjhweCAwIDEzcHg7IFxuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB9XG4gIH1cblxuICAuYmMtdW5pdCB7XG4gICAgbWFyZ2luLWxlZnQ6IC0zNHB4O1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBsaW5lLWhlaWdodDogMzhweDtcbiAgICBjb2xvcjogI2JiYjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB9XG4gIC5iYy11bml0LWJmIHtcbiAgICBtYXJnaW4tbGVmdDogLTI0cHg7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAzOHB4O1xuICAgIGNvbG9yOiAjYmJiO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIH1cbn1cblxuLnRsLWVudHJ5IHtcbiAgLnRsLXNlbGVjdC1pbnB1dCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICNkOGQ4ZDg7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIHBhZGRpbmc6IDVweCAxM3B4O1xuICAgIGZvbnQtc2l6ZTogMTZweDtcblxuICAgIC5zZWxlY3QtdG9nZ2xlIHtcbiAgICAgIG1pbi13aWR0aDogMTg1cHg7XG4gICAgICBtYXgtd2lkdGg6IDE4NXB4O1xuXG4gICAgICBpIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDE0cHg7XG4gICAgICAgIHJpZ2h0OiAxMHB4O1xuICAgICAgICBmb250LXNpemU6IDZweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAub3B0aW9ucyB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDM3cHg7XG4gICAgICBsZWZ0OiAwcHg7XG4gICAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2RmZGZkZjtcbiAgICAgIG1pbi13aWR0aDogMjIwcHg7XG4gICAgICBtYXgtaGVpZ2h0OiAxODBweDtcbiAgICAgIHotaW5kZXg6IDI7XG5cbiAgICAgID4gZGl2IHtcbiAgICAgICAgbWFyZ2luLXRvcDogMXB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzcHg7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMTJweDtcbiAgICAgICAgbWluLWhlaWdodDogMjhweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI4cHg7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWZlZmVmO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIFxuICAudGwtaW5wdXQgeyBcbiAgICA+IC5iYXNpYy1pbnB1dC5zbWFsbCB7XG4gICAgICB3aWR0aDogMTAwcHg7XG4gICAgfVxuICB9XG5cbiAgLnRsLWNhbGN1bGF0ZWQtbG9hZCB7XG4gICAgPiAuYmFzaWMtaW5wdXQuc21hbGwge1xuICAgICAgd2lkdGg6IDEwMHB4O1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2RjZGNkO1xuICAgIH1cbiAgfVxuXG4gIC50bC1kZWxldGUge1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBjb2xvcjogJGJsdWU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG59XG5cbi5iYy1mcmVlLWZvcm0sIC50bC1mcmVlLWZvcm0ge1xuICB3aWR0aDogNzUlO1xuICBmb250LXNpemU6IDE2cHg7XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cbi5zb2FwLWRhdGUge1xuICA+ICoge1xuICAgIHdpZHRoOiAxNzBweDtcbiAgfVxuXG4gIC5kYXRlLWlucHV0ID4gLmlucHV0LWljb24ge1xuICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGNlbnRlcik7XG4gICAgbWluLWhlaWdodDogMzVweDtcbiAgICBtaW4td2lkdGg6IDQwcHg7XG4gICAgbWF4LXdpZHRoOiA0MHB4O1xuICAgIG1hcmdpbi1yaWdodDogM3B4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRibHVlO1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiA0cHg7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDRweDtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgfVxufVxuXG4uc29hcC10ZXh0LWNvbnRhaW5lciB7XG4gIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbn1cblxuLnNvYXAtdHJlYXRtZW50cyB7XG4gIC5jaGVja2JveC1pbnB1dCB7XG4gICAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICB9XG5cbiAgLnNvYXAtdHJlYXRtZW50LW9wdGlvbnMge1xuICAgIHBhZGRpbmctbGVmdDogMjRweDtcbiAgICAuY2hlY2tib3gtaW5wdXQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICAgIH1cbiAgfVxuXG4gIC5zb2FwLXRyZWF0bWVudC10ZXh0IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDI0cHg7XG4gICAgLmJhc2ljLWlucHV0IHtcbiAgICAgIHdpZHRoOiAxODBweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDhweDtcbiAgICB9XG4gIH1cbn1cblxuLnNvYXAtb2JqZWN0aXZlIHtcbiAgJi5maWVsZCBkaXYgdGV4dGFyZWEge1xuICAgIGhlaWdodDogODVweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICB9XG59XG5cbi5mYS1ub3RlcyB7XG4gICAgbWFyZ2luOiAtMTBweCAwcHggMHB4IDEycHg7XG4gICAgY29sb3I6ICRibHVlO1xuICAgIGZvbnQtc2l6ZTogN3B4O1xufVxuXG4ucmVzcC1mb3JtLXBvc3QtYnV0dG9ucyB7XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA1NjhweCkge1xuICAgIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKGNvbHVtbik7XG4gICAgbWFyZ2luOiAyMHB4IDAgNjBweCAwIWltcG9ydGFudDtcbiAgICBnYXA6IDhweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICA+IGJ1dHRvbiB7XG4gICAgICB3aWR0aDogMTAwJSFpbXBvcnRhbnQ7XG4gICAgICBtYXJnaW46IDAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufSIsIiRyZWQ6ICNjNDJhM2I7XG4kYmx1ZTogIzk3NjhFQjtcbiRkYXJrX2JsdWU6ICMxMTI2NGI7XG4kZ3JleTogIzgwODA4MDtcbiRncmVlbjogIzIwYjc2OTtcbiR3aGl0ZTogI2ZmZmZmZjtcbiR5ZWxsb3c6ICNkOGI2MmY7XG4kbGlnaHRfZ3JleTogI2NkY2RjZDtcbiRkYXJrX2dyZXk6ICM2ZDZlNzI7XG4kc2NvcmUtZ3JlZW46ICMwMEI5NkQ7XG4kc2NvcmUtcmVkOiAjRDE0MDRCO1xuJHNjb3JlLXllbGxvdzogI0Q3QkI0MztcblxuJGZvb3Rlcl9iYWNrZ3JvdW5kOiAjMTEyNjRiO1xuJGF0aGxldGVfaGVhZGVyX3ByaW1hcnk6ICNlMWUxZTE7XG4kYXRobGV0ZV9oZWFkZXJfc2Vjb25kYXJ5OiAjZTFlMWUxO1xuJGF0aGxldGVfbGlzdF9uYW1lOiAjZjdmN2Y3O1xuIiwiXG5AbWl4aW4gdHJhbnNmb3JtKCR0cmFuc2Zvcm1zKSB7XG4gICAgIC1tb3otdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgICAtby10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAgICAgLW1zLXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgICAgICB0cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xufVxuXG5AbWl4aW4gYXBwZWFyYW5jZSgkYXBwZWFyYW5jZS4uLikge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xuICAgICAtbW96LWFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xuICAgICAgICAgIGFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xufVxuXG5AbWl4aW4gYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cy4uLikge1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgICAtbW96LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xufVxuXG5AbWl4aW4gYm94LXNoYWRvdygkc2hhZG93Li4uKSB7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogJHNoYWRvdztcbiAgICAgLW1vei1ib3gtc2hhZG93OiAkc2hhZG93O1xuICAgICAgICAgIGJveC1zaGFkb3c6ICRzaGFkb3c7XG59XG5cbkBtaXhpbiBib3gtc2l6aW5nKCRzaXplLi4uKSB7XG4gIC13ZWJraXQtYm94LXNpemluZzogJHNpemU7XG4gICAgIC1tb3otYm94LXNpemluZzogJHNpemU7XG4gICAgICAgICAgYm94LXNpemluZzogJHNpemU7XG59XG5cbkBtaXhpbiB1c2VyLXNlbGVjdCgkc2VsZWN0Li4uKSB7XG4td2Via2l0LXRvdWNoLWNhbGxvdXQ6ICRzZWxlY3Q7XG4gICAgIC1tcy10b3VjaC1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgIC1tb3otdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgICAtbXMtdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgICAgICAgdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG59XG5cbkBtaXhpbiBmbGV4KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXg6ICR2YWx1ZTtcbiAgICAgIC1tcy1mbGV4OiAkdmFsdWU7XG4gICAgICAgICAgZmxleDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1hbGlnbi1jb250ZW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWFsaWduLWNvbnRlbnQ6ICR2YWx1ZTtcbiAgICAgICAgICBhbGlnbi1jb250ZW50OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWFsaWduLWl0ZW1zKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWFsaWduLWl0ZW1zOiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24taXRlbXM6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtYWxpZ24tc2VsZigkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1hbGlnbi1zZWxmOiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24tc2VsZjogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1kaXJlY3Rpb24oJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleC1kaXJlY3Rpb246ICR2YWx1ZTtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogJHZhbHVlO1xufVxuQG1peGluIGZsZXgtZGlyZWN0aW9uLWltcG9ydGFudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogJHZhbHVlIWltcG9ydGFudDtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogJHZhbHVlIWltcG9ydGFudDtcbn1cblxuQG1peGluIGZsZXgtZGlzcGxheSgpIHtcbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuQG1peGluIGZsZXgtanVzdGlmeS1jb250ZW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWp1c3RpZnktY29udGVudDogJHZhbHVlO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1vcmRlcigkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1vcmRlcjogJHZhbHVlO1xuICAgICAgICAgIG9yZGVyOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LXdyYXAoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleC13cmFwOiAkdmFsdWU7XG4gICAgICAgICAgZmxleC13cmFwOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbigpIHtcbiAgQGluY2x1ZGUgZmxleC1kaXNwbGF5KCk7XG4gIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKGNvbHVtbik7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbi1jZW50ZXIoKSB7XG4gIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbn1cblxuQG1peGluIGZsZXgtY29sdW1uLXN0YXJ0KCkge1xuICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGZsZXgtc3RhcnQpO1xufVxuXG5AbWl4aW4gZmxleC1yb3coKSB7XG4gIEBpbmNsdWRlIGZsZXgtZGlzcGxheSgpO1xuICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihyb3cpO1xufVxuXG5AbWl4aW4gZmxleC1yb3ctY2VudGVyKCkge1xuICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG59XG5cbkBtaXhpbiBmbGV4LXJvdy1zdGFydCgpIHtcbiAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LXN0YXJ0KTtcbn1cblxuQG1peGluIGxvY2staGVpZ2h0KCR2YWx1ZS4uLikge1xuICBtYXgtaGVpZ2h0OiAkdmFsdWU7XG4gIG1pbi1oZWlnaHQ6ICR2YWx1ZTtcbiAgaGVpZ2h0OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBsb2NrLXdpZHRoKCR2YWx1ZS4uLikge1xuICBtYXgtd2lkdGg6ICR2YWx1ZTtcbiAgbWluLXdpZHRoOiAkdmFsdWU7XG4gIHdpZHRoOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBsb2NrLXdpZHRoLWlubGluZS1vdmVycmlkZSgkdmFsdWUuLi4pIHtcbiAgbWF4LXdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbiAgbWluLXdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbiAgd2lkdGg6ICR2YWx1ZSAhaW1wb3J0YW50O1xufVxuXG5cbkBtaXhpbiB1bmxvY2std2lkdGggIHtcbiAgbWF4LXdpZHRoOiBub25lO1xuICBtaW4td2lkdGg6IDA7XG4gIHdpZHRoOiBhdXRvO1xufVxuQG1peGluIHVubG9jay1oZWlnaHQgIHtcbiAgbWF4LWhlaWdodDogbm9uZTtcbiAgbWluLWhlaWdodDogMDtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG5AbWl4aW4gY29sdW1uLWNvdW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWNvbHVtbi1jb3VudDogJHZhbHVlO1xuICAtbW96LWNvbHVtbi1jb3VudDogJHZhbHVlO1xuICBjb2x1bW4tY291bnQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGNvbHVtbi1nYXAoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtY29sdW1uLWdhcDogJHZhbHVlO1xuICAtbW96LWNvbHVtbi1nYXA6ICR2YWx1ZTtcbiAgY29sdW1uLWdhcDogJHZhbHVlO1xufVxuXG5AbWl4aW4gY29sdW1uLW5vLWJyZWFrKCkge1xuICAtd2Via2l0LWNvbHVtbi1icmVhay1pbnNpZGU6IGF2b2lkO1xuICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQtY29sdW1uO1xuICAtbW96LWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XG4gIC1vLWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XG4gIC1tcy1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xuICBicmVhay1pbnNpZGU6YXZvaWQtY29sdW1uO1xufVxuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IHJlc3BvbmRcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiRtaW5Db250ZW50V2lkdGg6IDEwMjRweDtcbiRtaW5FZGdlQ29udGVudFBhZGRpbmc6IDE1cHg7XG4kbGFyZ2VCcmVha3BvaW50OiAkbWluQ29udGVudFdpZHRoICsgJG1pbkVkZ2VDb250ZW50UGFkZGluZyoyO1xuJGNvbXByZXNzZWRDb250ZW50V2lkdGg6ICRtaW5Db250ZW50V2lkdGggLSAkbWluRWRnZUNvbnRlbnRQYWRkaW5nKjI7XG4vLyAkc21NaW46IDc2OHB4O1xuJHNtTWF4OiA5MDBweDtcbkBtaXhpbiByZXNwb25kKCRtZWRpYSkge1xuICBAaWYgJG1lZGlhID09IHdoaXRlYm9hcmQtZXhlcmNpc2Utc3RhY2tlZC1hdHRyaWJ1dGVzIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExOTBweCkgeyBAY29udGVudDsgfVxuICB9XG4gIEBpZiAkbWVkaWEgPT0gbGcge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGxhcmdlQnJlYWtwb2ludCkgeyBAY29udGVudDsgfVxuICB9XG4gIEBlbHNlIGlmICRtZWRpYSA9PSBtZCB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAjeyRsYXJnZUJyZWFrcG9pbnQgLSAxcHh9KSB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGVsc2UgaWYgJG1lZGlhID09IHNtIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICN7JHNtTWF4fSkgeyBAY29udGVudDsgfVxuICB9XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiB4cGFkIC8geXBhZFxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgXG5AbWl4aW4geHBhZCgkcGFkKSAge1xuICBwYWRkaW5nLWxlZnQ6ICRwYWQ7XG4gIHBhZGRpbmctcmlnaHQ6ICRwYWQ7XG59XG5AbWl4aW4geXBhZCgkcGFkKSAge1xuICBwYWRkaW5nLXRvcDogJHBhZDtcbiAgcGFkZGluZy1ib3R0b206ICRwYWQ7XG59XG5AbWl4aW4geG1hcmdpbigkZ2FwKSAge1xuICBtYXJnaW4tbGVmdDogJGdhcDtcbiAgbWFyZ2luLXJpZ2h0OiAkZ2FwO1xufVxuQG1peGluIHltYXJnaW4oJGdhcCkgIHtcbiAgbWFyZ2luLXRvcDogJGdhcDtcbiAgbWFyZ2luLWJvdHRvbTogJGdhcDtcbn1cblxuQG1peGluIGFic0NlbnRlckJhc2VfeSgkaCkgIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbWFyZ2luLXRvcDogJGgvLTI7XG59XG5cbkBtaXhpbiBhYnNDZW50ZXJCYXNlKCR3LCAkaDogJHcpICB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLXRvcDogJGgvLTI7XG4gIG1hcmdpbi1sZWZ0OiAkdy8tMjtcbn1cblxuQG1peGluIGFic0NlbnRlckljb24oJHcsICRoOiAkdykgIHtcbiAgQGluY2x1ZGUgYWJzQ2VudGVyQmFzZSgkdywgJGgpO1xuICBmb250LXNpemU6ICRoO1xufVxuQG1peGluIGFic0NlbnRlckljb25feSgkaCkgIHtcbiAgQGluY2x1ZGUgYWJzQ2VudGVyQmFzZV95KCRoKTtcbiAgZm9udC1zaXplOiAkaDtcbn1cblxuQG1peGluIGZsZXhJbmxpbmVPdmVycmlkZSAge1xuICAgIG1pbi13aWR0aDogMCAhaW1wb3J0YW50O1xuICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xuICAgIC13ZWJraXQtZmxleDogMSAhaW1wb3J0YW50O1xuICAgIC1tcy1mbGV4OiAxICFpbXBvcnRhbnQ7XG4gICAgZmxleDogMSAhaW1wb3J0YW50O1xufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIGFwcC1zcGVjaWZpYyBtaXhpbi92YXJzID4gdGFic1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5AbWl4aW4gbGFyZ2UtdGFicy1zdHlsZSAge1xuICBmb250LXNpemU6IDIwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBmb250LXdlaWdodDogNTAwO1xuICBAaW5jbHVkZSByZXNwb25kKG1kKSAge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgfVxufVxuJGxhcmdlLXRhYnMtc3BhY2luZzogNDBweDtcblxuQG1peGluIHRyaW1Jbm5lck1hcmdpbiAge1xuICA+ICogIHtcbiAgICAmOmZpcnN0LWNoaWxkICB7XG4gICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgICY6bGFzdC1jaGlsZCAge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiBwbGFjZWhvbGRlclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgXG5AbWl4aW4gcGxhY2Vob2xkZXIge1xuICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtAY29udGVudH1cbiAgJjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgICB7QGNvbnRlbnR9XG4gICY6Oi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAge0Bjb250ZW50fVxuICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciAgICAgIHtAY29udGVudH0gIFxufVxuXG5cbiIsIkBpbXBvcnQgXCJ2YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCJtaXhpbnNcIjtcblxuLnRpbWUtc3Bhbi1xdWVzdGlvbiB7XG5cdEBpbmNsdWRlIGZsZXgtY29sdW1uO1xufVxuXG4udGltZS1jb250YWluZXIge1xuICBAaW5jbHVkZSBmbGV4LXJvdy1zdGFydDtcblx0bWFyZ2luLXRvcDogMjRweDtcbn1cblxuLnRpbWUtbGFiZWwge1xuICB3aWR0aDogMTAzcHg7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDEzcHg7XG4gIGxldHRlci1zcGFjaW5nOiAuMjFweDtcbiAgbGluZS1oZWlnaHQ6IDE5cHg7XG4gIGNvbG9yOiAjNkM2RDZDO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4uYnV0dG9uLXNlbGVjdCAge1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0KyAuYnV0dG9uLXNlbGVjdCAge1xuXHRcdG1hcmdpbi1sZWZ0OiA2cHg7XG5cdH1cblx0Ji5zZWNvbmRhcnkgIHtcblx0XHQuc2VsZWN0LXRyaWdnZXIgIHtcblx0XHRcdGJhY2tncm91bmQ6ICNEOURCREM7XG5cdFx0fVxuXHR9XG5cdCYuc21hbGwgIHtcblx0XHQuc2VsZWN0LXRyaWdnZXIgIHtcblx0XHRcdHdpZHRoOiA2OXB4O1xuXHRcdH1cblx0fVxuXHQmLmluZGVudGVkICB7XG5cdFx0LnNlbGVjdC10cmlnZ2VyICB7XG5cdFx0XHRwYWRkaW5nLWxlZnQ6IDE1cHg7XG5cdFx0fVxuXHR9XG5cdC5zZWxlY3QtdHJpZ2dlciAge1xuXHRcdGNvbG9yOiAjZmZmO1xuXHRcdGJhY2tncm91bmQ6ICM5NzY4RUI7XG5cdFx0Ym9yZGVyLXJhZGl1czogM3B4O1xuXHRcdHdpZHRoOiA2OXB4O1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHQuY3VycmVudC1zZWxlY3Rpb24ge1xuXHRcdFx0QGluY2x1ZGUgZmxleC1yb3c7XG4gICAgXHRAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChzcGFjZS1iZXR3ZWVuKTtcblx0XHRcdHBhZGRpbmc6IDEwcHggOHB4IDEwcHggMTBweDtcblx0XHRcdC5jdXJyZW50ICB7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMTNweDtcblx0XHRcdFx0bGV0dGVyLXNwYWNpbmc6IDFweDtcblx0XHRcdFx0bGluZS1oZWlnaHQ6IDE0cHg7XG5cdFx0XHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRcdFx0XHRjb2xvcjogI2ZmZjtcblx0XHRcdH1cblx0XHRcdC5pY29uLWNhcmV0LWRvd24gIHtcblx0XHRcdFx0Zm9udC1zaXplOiA1cHg7XG5cdFx0XHRcdGJvdHRvbTogLTRweDtcblx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0fVxuXHRcdH1cblx0XHQudGltZS1vcHRpb25zLWhpZGRlbiB7XG5cdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdH1cblx0XHQudGltZS1vcHRpb25zIHtcblx0XHRcdGNvbG9yOiAjOTc2OEVCO1xuXHRcdFx0Ym9yZGVyLWNvbG9yOiAjOTc2OEVCOyBcblx0XHRcdGJhY2tncm91bmQ6ICNmZmY7XG5cdFx0XHRmb250LXNpemU6IDEzcHg7XG5cdFx0XHRsZXR0ZXItc3BhY2luZzogMXB4O1xuXHRcdFx0bGluZS1oZWlnaHQ6IDE3cHg7XG5cdFx0XHRmb250LXdlaWdodDogYm9sZDtcblx0XHRcdGJvcmRlci1zdHlsZTogc29saWQ7XG5cdFx0XHRib3JkZXItdG9wLXdpZHRoOiAwcHg7XG5cdFx0XHRib3JkZXItcmFkaXVzOiAwcHggMHB4IDNweCAzcHg7XG5cdFx0XHR3aWR0aDogNjlweDtcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdHotaW5kZXg6IDEwO1xuXHRcdFx0Ji5zZWNvbmRhcnkge1xuXHRcdFx0XHRjb2xvcjogI0Q5REJEQztcblx0XHRcdFx0Ym9yZGVyLWNvbG9yOiAjRDlEQkRDO1xuXHRcdFx0XHQudGltZS1vcHRpb24ge1xuXHRcdFx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRcdFx0Y29sb3I6ICNmZmY7XG5cdFx0XHRcdFx0XHRiYWNrZ3JvdW5kOiAjRDlEQkRDO1xuXHRcdFx0XHRcdH1cdFxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHQudGltZS1vcHRpb24ge1xuXHRcdFx0XHRwYWRkaW5nOiAzcHggMTRweCAzcHggN3B4O1xuXHRcdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0XHRjb2xvcjogI2ZmZjtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kOiAjOTc2OEVCO1xuXHRcdFx0XHR9XG5cdFx0fVxuXHR9XHRcdFx0XHRcblx0fVxufSIsIiRyZWQ6ICNjNDJhM2I7XG4kYmx1ZTogIzk3NjhFQjtcbiRkYXJrX2JsdWU6ICMxMTI2NGI7XG4kZ3JleTogIzgwODA4MDtcbiRncmVlbjogIzIwYjc2OTtcbiR3aGl0ZTogI2ZmZmZmZjtcbiR5ZWxsb3c6ICNkOGI2MmY7XG4kbGlnaHRfZ3JleTogI2NkY2RjZDtcbiRkYXJrX2dyZXk6ICM2ZDZlNzI7XG4kc2NvcmUtZ3JlZW46ICMwMEI5NkQ7XG4kc2NvcmUtcmVkOiAjRDE0MDRCO1xuJHNjb3JlLXllbGxvdzogI0Q3QkI0MztcblxuJGZvb3Rlcl9iYWNrZ3JvdW5kOiAjMTEyNjRiO1xuJGF0aGxldGVfaGVhZGVyX3ByaW1hcnk6ICNlMWUxZTE7XG4kYXRobGV0ZV9oZWFkZXJfc2Vjb25kYXJ5OiAjZTFlMWUxO1xuJGF0aGxldGVfbGlzdF9uYW1lOiAjZjdmN2Y3O1xuIiwiXG5AbWl4aW4gdHJhbnNmb3JtKCR0cmFuc2Zvcm1zKSB7XG4gICAgIC1tb3otdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgICAtby10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAgICAgLW1zLXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgICAgICB0cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xufVxuXG5AbWl4aW4gYXBwZWFyYW5jZSgkYXBwZWFyYW5jZS4uLikge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xuICAgICAtbW96LWFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xuICAgICAgICAgIGFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xufVxuXG5AbWl4aW4gYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cy4uLikge1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgICAtbW96LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xufVxuXG5AbWl4aW4gYm94LXNoYWRvdygkc2hhZG93Li4uKSB7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogJHNoYWRvdztcbiAgICAgLW1vei1ib3gtc2hhZG93OiAkc2hhZG93O1xuICAgICAgICAgIGJveC1zaGFkb3c6ICRzaGFkb3c7XG59XG5cbkBtaXhpbiBib3gtc2l6aW5nKCRzaXplLi4uKSB7XG4gIC13ZWJraXQtYm94LXNpemluZzogJHNpemU7XG4gICAgIC1tb3otYm94LXNpemluZzogJHNpemU7XG4gICAgICAgICAgYm94LXNpemluZzogJHNpemU7XG59XG5cbkBtaXhpbiB1c2VyLXNlbGVjdCgkc2VsZWN0Li4uKSB7XG4td2Via2l0LXRvdWNoLWNhbGxvdXQ6ICRzZWxlY3Q7XG4gICAgIC1tcy10b3VjaC1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgIC1tb3otdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgICAtbXMtdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgICAgICAgdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG59XG5cbkBtaXhpbiBmbGV4KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXg6ICR2YWx1ZTtcbiAgICAgIC1tcy1mbGV4OiAkdmFsdWU7XG4gICAgICAgICAgZmxleDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1hbGlnbi1jb250ZW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWFsaWduLWNvbnRlbnQ6ICR2YWx1ZTtcbiAgICAgICAgICBhbGlnbi1jb250ZW50OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWFsaWduLWl0ZW1zKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWFsaWduLWl0ZW1zOiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24taXRlbXM6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtYWxpZ24tc2VsZigkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1hbGlnbi1zZWxmOiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24tc2VsZjogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1kaXJlY3Rpb24oJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleC1kaXJlY3Rpb246ICR2YWx1ZTtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogJHZhbHVlO1xufVxuQG1peGluIGZsZXgtZGlyZWN0aW9uLWltcG9ydGFudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogJHZhbHVlIWltcG9ydGFudDtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogJHZhbHVlIWltcG9ydGFudDtcbn1cblxuQG1peGluIGZsZXgtZGlzcGxheSgpIHtcbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuQG1peGluIGZsZXgtanVzdGlmeS1jb250ZW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWp1c3RpZnktY29udGVudDogJHZhbHVlO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1vcmRlcigkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1vcmRlcjogJHZhbHVlO1xuICAgICAgICAgIG9yZGVyOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LXdyYXAoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleC13cmFwOiAkdmFsdWU7XG4gICAgICAgICAgZmxleC13cmFwOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbigpIHtcbiAgQGluY2x1ZGUgZmxleC1kaXNwbGF5KCk7XG4gIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKGNvbHVtbik7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbi1jZW50ZXIoKSB7XG4gIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbn1cblxuQG1peGluIGZsZXgtY29sdW1uLXN0YXJ0KCkge1xuICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGZsZXgtc3RhcnQpO1xufVxuXG5AbWl4aW4gZmxleC1yb3coKSB7XG4gIEBpbmNsdWRlIGZsZXgtZGlzcGxheSgpO1xuICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihyb3cpO1xufVxuXG5AbWl4aW4gZmxleC1yb3ctY2VudGVyKCkge1xuICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG59XG5cbkBtaXhpbiBmbGV4LXJvdy1zdGFydCgpIHtcbiAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LXN0YXJ0KTtcbn1cblxuQG1peGluIGxvY2staGVpZ2h0KCR2YWx1ZS4uLikge1xuICBtYXgtaGVpZ2h0OiAkdmFsdWU7XG4gIG1pbi1oZWlnaHQ6ICR2YWx1ZTtcbiAgaGVpZ2h0OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBsb2NrLXdpZHRoKCR2YWx1ZS4uLikge1xuICBtYXgtd2lkdGg6ICR2YWx1ZTtcbiAgbWluLXdpZHRoOiAkdmFsdWU7XG4gIHdpZHRoOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBsb2NrLXdpZHRoLWlubGluZS1vdmVycmlkZSgkdmFsdWUuLi4pIHtcbiAgbWF4LXdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbiAgbWluLXdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbiAgd2lkdGg6ICR2YWx1ZSAhaW1wb3J0YW50O1xufVxuXG5cbkBtaXhpbiB1bmxvY2std2lkdGggIHtcbiAgbWF4LXdpZHRoOiBub25lO1xuICBtaW4td2lkdGg6IDA7XG4gIHdpZHRoOiBhdXRvO1xufVxuQG1peGluIHVubG9jay1oZWlnaHQgIHtcbiAgbWF4LWhlaWdodDogbm9uZTtcbiAgbWluLWhlaWdodDogMDtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG5AbWl4aW4gY29sdW1uLWNvdW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWNvbHVtbi1jb3VudDogJHZhbHVlO1xuICAtbW96LWNvbHVtbi1jb3VudDogJHZhbHVlO1xuICBjb2x1bW4tY291bnQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGNvbHVtbi1nYXAoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtY29sdW1uLWdhcDogJHZhbHVlO1xuICAtbW96LWNvbHVtbi1nYXA6ICR2YWx1ZTtcbiAgY29sdW1uLWdhcDogJHZhbHVlO1xufVxuXG5AbWl4aW4gY29sdW1uLW5vLWJyZWFrKCkge1xuICAtd2Via2l0LWNvbHVtbi1icmVhay1pbnNpZGU6IGF2b2lkO1xuICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQtY29sdW1uO1xuICAtbW96LWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XG4gIC1vLWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XG4gIC1tcy1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xuICBicmVhay1pbnNpZGU6YXZvaWQtY29sdW1uO1xufVxuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IHJlc3BvbmRcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiRtaW5Db250ZW50V2lkdGg6IDEwMjRweDtcbiRtaW5FZGdlQ29udGVudFBhZGRpbmc6IDE1cHg7XG4kbGFyZ2VCcmVha3BvaW50OiAkbWluQ29udGVudFdpZHRoICsgJG1pbkVkZ2VDb250ZW50UGFkZGluZyoyO1xuJGNvbXByZXNzZWRDb250ZW50V2lkdGg6ICRtaW5Db250ZW50V2lkdGggLSAkbWluRWRnZUNvbnRlbnRQYWRkaW5nKjI7XG4vLyAkc21NaW46IDc2OHB4O1xuJHNtTWF4OiA5MDBweDtcbkBtaXhpbiByZXNwb25kKCRtZWRpYSkge1xuICBAaWYgJG1lZGlhID09IHdoaXRlYm9hcmQtZXhlcmNpc2Utc3RhY2tlZC1hdHRyaWJ1dGVzIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExOTBweCkgeyBAY29udGVudDsgfVxuICB9XG4gIEBpZiAkbWVkaWEgPT0gbGcge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGxhcmdlQnJlYWtwb2ludCkgeyBAY29udGVudDsgfVxuICB9XG4gIEBlbHNlIGlmICRtZWRpYSA9PSBtZCB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAjeyRsYXJnZUJyZWFrcG9pbnQgLSAxcHh9KSB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGVsc2UgaWYgJG1lZGlhID09IHNtIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICN7JHNtTWF4fSkgeyBAY29udGVudDsgfVxuICB9XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiB4cGFkIC8geXBhZFxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgXG5AbWl4aW4geHBhZCgkcGFkKSAge1xuICBwYWRkaW5nLWxlZnQ6ICRwYWQ7XG4gIHBhZGRpbmctcmlnaHQ6ICRwYWQ7XG59XG5AbWl4aW4geXBhZCgkcGFkKSAge1xuICBwYWRkaW5nLXRvcDogJHBhZDtcbiAgcGFkZGluZy1ib3R0b206ICRwYWQ7XG59XG5AbWl4aW4geG1hcmdpbigkZ2FwKSAge1xuICBtYXJnaW4tbGVmdDogJGdhcDtcbiAgbWFyZ2luLXJpZ2h0OiAkZ2FwO1xufVxuQG1peGluIHltYXJnaW4oJGdhcCkgIHtcbiAgbWFyZ2luLXRvcDogJGdhcDtcbiAgbWFyZ2luLWJvdHRvbTogJGdhcDtcbn1cblxuQG1peGluIGFic0NlbnRlckJhc2VfeSgkaCkgIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbWFyZ2luLXRvcDogJGgvLTI7XG59XG5cbkBtaXhpbiBhYnNDZW50ZXJCYXNlKCR3LCAkaDogJHcpICB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLXRvcDogJGgvLTI7XG4gIG1hcmdpbi1sZWZ0OiAkdy8tMjtcbn1cblxuQG1peGluIGFic0NlbnRlckljb24oJHcsICRoOiAkdykgIHtcbiAgQGluY2x1ZGUgYWJzQ2VudGVyQmFzZSgkdywgJGgpO1xuICBmb250LXNpemU6ICRoO1xufVxuQG1peGluIGFic0NlbnRlckljb25feSgkaCkgIHtcbiAgQGluY2x1ZGUgYWJzQ2VudGVyQmFzZV95KCRoKTtcbiAgZm9udC1zaXplOiAkaDtcbn1cblxuQG1peGluIGZsZXhJbmxpbmVPdmVycmlkZSAge1xuICAgIG1pbi13aWR0aDogMCAhaW1wb3J0YW50O1xuICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xuICAgIC13ZWJraXQtZmxleDogMSAhaW1wb3J0YW50O1xuICAgIC1tcy1mbGV4OiAxICFpbXBvcnRhbnQ7XG4gICAgZmxleDogMSAhaW1wb3J0YW50O1xufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIGFwcC1zcGVjaWZpYyBtaXhpbi92YXJzID4gdGFic1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5AbWl4aW4gbGFyZ2UtdGFicy1zdHlsZSAge1xuICBmb250LXNpemU6IDIwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBmb250LXdlaWdodDogNTAwO1xuICBAaW5jbHVkZSByZXNwb25kKG1kKSAge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgfVxufVxuJGxhcmdlLXRhYnMtc3BhY2luZzogNDBweDtcblxuQG1peGluIHRyaW1Jbm5lck1hcmdpbiAge1xuICA+ICogIHtcbiAgICAmOmZpcnN0LWNoaWxkICB7XG4gICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgICY6bGFzdC1jaGlsZCAge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiBwbGFjZWhvbGRlclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgXG5AbWl4aW4gcGxhY2Vob2xkZXIge1xuICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtAY29udGVudH1cbiAgJjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgICB7QGNvbnRlbnR9XG4gICY6Oi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAge0Bjb250ZW50fVxuICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciAgICAgIHtAY29udGVudH0gIFxufVxuXG5cbiIsIkBpbXBvcnQgXCJ2YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCJtaXhpbnNcIjtcblxuLnRvb2x0aXBIaWRkZW4ge1xuXHRkaXNwbGF5OiBub25lO1xufVxuXG4udG9vbHRpcCB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0bWluLXdpZHRoOiAzMDBweDtcblx0bWF4LXdpZHRoOiAzNjBweDtcblx0d2lkdGg6IG1heC1jb250ZW50O1xuICB3aWR0aDogLXdlYmtpdC1tYXgtY29udGVudDtcblx0bWluLWhlaWdodDogNzJweDtcblx0dG9wOiAtMTMwJTtcblx0bGVmdDogNjVweDtcblx0ei1pbmRleDogMTA7XG5cdGJvcmRlci1yYWRpdXM6IDZweDtcblx0cGFkZGluZzogMjBweCAyNXB4O1xuXHRmb250LXNpemU6IDE2cHg7XG5cdGZvbnQtZmFtaWx5OiBOdWRpc3RhLXdlYjtcblx0YmFja2dyb3VuZC1jb2xvcjogcmdiKDQ2LDQ2LDQ2KTtcblx0Y29sb3I6IHdoaXRlO1xuXHRsaW5lLWhlaWdodDogMjRweDtcblx0dGV4dC1hbGlnbjogbGVmdDtcblx0bGV0dGVyLXNwYWNpbmc6IC4zNXB4O1xuXG5cdC50dENvbnRlbnQge1xuXHRcdGNvbG9yOiAjOTI5MzkyO1xuXHRcdGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG5cdH07XG5cblx0LnR0VGl0bGUge1xuXHRcdGhlaWdodDogNDBweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcblx0fTtcblxuXHRAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcblx0XHRmb250LXNpemU6IDE0cHg7XG5cdFx0cGFkZGluZzogMTVweCAxOHB4O1xuXHR9XG59XG5cbi50b29sdGlwLXJpZ2h0IHsgLy8gcmlnaHQgaXMgdGhlIGRlZmF1bHRcblx0QGV4dGVuZCAudG9vbHRpcDtcbn1cblxuLnRvb2x0aXAtYm90dG9tIHtcblx0QGV4dGVuZCAudG9vbHRpcDtcblx0dG9wOiA1NXB4O1xuXHRsZWZ0OiAtMTI1cHg7XG59XG5cbi50b29sdGlwLWF1dG9zY2hlZHVsZSB7XG5cdEBleHRlbmQgLnRvb2x0aXA7XG5cdGxlZnQ6IC04NXB4O1xuICB0b3A6IC0yOTBweDtcbn1cblxuLnRvb2x0aXAtbGVmdCB7XG5cdEBleHRlbmQgLnRvb2x0aXA7XG5cdGxlZnQ6IGluaGVyaXQ7XG5cdHJpZ2h0OiA0NXB4O1xufVxuXG4udG9vbHRpcDphZnRlciB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0bGVmdDogLTIwcHg7XG5cdHRvcDogMTVweDtcblx0Ym9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCByZ2IoNDYsNDYsNDYpO1xuXHRib3JkZXItc3R5bGU6IHNvbGlkO1xuXHRib3JkZXItd2lkdGg6IDIwcHggMjBweCAyMHB4IDBweDtcblx0aGVpZ2h0OiAwcHg7XG5cdHdpZHRoOiAwcHg7XG5cdGNvbnRlbnQ6IFwiIFwiO1xuXG5cdEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cbn1cblxuLnRvb2x0aXAtcmlnaHQ6YWZ0ZXIge1xuXHRAZXh0ZW5kIC50b29sdGlwOmFmdGVyO1xufVxuXG4udG9vbHRpcC1ib3R0b206YWZ0ZXIge1xuXHRAZXh0ZW5kIC50b29sdGlwOmFmdGVyO1xuXHRsZWZ0OiAxMzBweDtcblx0dG9wOiAtMjBweDtcblx0Ym9yZGVyLWNvbG9yOiByZ2IoNDYsNDYsNDYpIHRyYW5zcGFyZW50O1xuXHRib3JkZXItd2lkdGg6IDBweCAyMHB4IDIwcHggMjBweDtcbn1cblxuLnRvb2x0aXAtYXV0b3NjaGVkdWxlOmFmdGVyIHtcblx0QGV4dGVuZCAudG9vbHRpcDphZnRlcjtcblx0bGVmdDogMTYwcHg7XG4gIHRvcDogMjUwcHg7XG5cdGJvcmRlci1jb2xvcjogcmdiKDQ2LDQ2LDQ2KSB0cmFuc3BhcmVudDtcblx0Ym9yZGVyLXdpZHRoOiAyMHB4IDIwcHggMHB4IDIwcHg7XG59XG5cbi50b29sdGlwLWxlZnQ6YWZ0ZXIge1xuXHRAZXh0ZW5kIC50b29sdGlwOmFmdGVyO1xuXHRsZWZ0OiBpbmhlcml0O1xuXHRyaWdodDogLTIwcHg7XG5cdGJvcmRlci13aWR0aDogMjBweCAwcHggMjBweCAyMHB4O1xufVxuXG4udG9vbHRpcENsb3NlIHtcblx0ZmxvYXQ6IHJpZ2h0O1xuXHRwYWRkaW5nOiAwcHggMTBweCAzcHggMHB4O1xuXHRjb2xvcjogbGlnaHRibHVlO1xuXHRjdXJzb3I6IGRlZmF1bHQ7XG5cdGZvbnQtc2l6ZTogMjRweDtcbn1cblxuQG1peGluIGNoYXJ0LXRvb2x0aXAtY2FyZXQge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHdpZHRoOiAwcHg7XG5cdGhlaWdodDogMHB4O1xuXHRtYXJnaW46IGF1dG87XG5cdGJvcmRlci1zdHlsZTogc29saWQ7XG5cdGNvbnRlbnQ6ICcnO1xufVxuXG4uY2hhcnQtdG9vbHRpcCB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0bWluLXdpZHRoOiAyNTVweDtcblx0bWF4LXdpZHRoOiAzMDBweDtcblx0bWluLWhlaWdodDogMTAwcHg7XG5cdHBhZGRpbmc6IDEwcHg7XG5cdGJhY2tncm91bmQtY29sb3I6ICMyZTJlMmU7XG5cdHotaW5kZXg6IDE7XG5cdGN1cnNvcjogZGVmYXVsdDtcblx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cblx0LmhlYWRlciB7XG5cdFx0Zm9udC1zaXplOiAxMnB4O1xuXHRcdGZvbnQtd2VpZ2h0OiA3MDA7XG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0Y29sb3I6ICNlZmVmZWY7XG5cdH1cblxuXHQuY29udGVudCB7XG5cdFx0Zm9udC1zaXplOiAxM3B4O1xuXHRcdG1hcmdpbi10b3A6IDZweDtcblx0XHRtYXJnaW4tYm90dG9tOiA2cHg7XG5cblx0XHQ+IGRpdiB7XG5cdFx0XHRAaW5jbHVkZSBmbGV4LXJvdygpO1xuXHRcdFx0QGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xuXHRcdFx0bWluLWhlaWdodDogMjBweDtcblx0XHRcdG1heC1oZWlnaHQ6IDIwcHg7XG5cblx0XHRcdD4gaSB7IG1pbi13aWR0aDogMTZweDsgfVxuXHRcdFx0PiBkaXYgeyBtYXJnaW4tbGVmdDogNnB4OyB9XG5cblx0XHRcdCYuY29tcGxldGVkIHsgY29sb3I6ICMxNjg4NGU7IH1cblx0XHR9XG5cdH1cblxuXHQmLmhpZGRlbiB7XG5cdFx0dmlzaWJsaXR5OiBoaWRkZW47XG5cdH1cblxuXHQmLmJvdHRvbTphZnRlciB7XG5cdFx0QGluY2x1ZGUgY2hhcnQtdG9vbHRpcC1jYXJldDtcblx0XHRsZWZ0OiAwO1xuXHRcdHJpZ2h0OiAwO1xuXHRcdGJvdHRvbTogLThweDtcblx0XHRib3JkZXItY29sb3I6ICMyZTJlMmUgdHJhbnNwYXJlbnQ7XG5cdFx0Ym9yZGVyLXdpZHRoOiAxMHB4IDEwcHggMCAxMHB4O1xuXHR9XG5cblx0Ji5ib3R0b20tbGVmdDphZnRlciB7XG5cdFx0QGluY2x1ZGUgY2hhcnQtdG9vbHRpcC1jYXJldDtcblx0XHRsZWZ0OiAxMHB4O1xuXHRcdGJvdHRvbTogLThweDtcblx0XHRib3JkZXItY29sb3I6ICMyZTJlMmUgdHJhbnNwYXJlbnQ7XG5cdFx0Ym9yZGVyLXdpZHRoOiAxMHB4IDEwcHggMCAxMHB4O1xuXHR9XG5cblx0Ji5ib3R0b20tcmlnaHQ6YWZ0ZXIge1xuXHRcdEBpbmNsdWRlIGNoYXJ0LXRvb2x0aXAtY2FyZXQ7XG5cdFx0cmlnaHQ6IDEwcHg7XG5cdFx0Ym90dG9tOiAtOHB4O1xuXHRcdGJvcmRlci1jb2xvcjogIzJlMmUyZSB0cmFuc3BhcmVudDtcblx0XHRib3JkZXItd2lkdGg6IDEwcHggMTBweCAwIDEwcHg7XG5cdH1cblxuXHQmLnRvcDphZnRlciB7XG5cdFx0QGluY2x1ZGUgY2hhcnQtdG9vbHRpcC1jYXJldDtcblx0XHRsZWZ0OiAwO1xuXHRcdHJpZ2h0OiAwO1xuXHRcdHRvcDogLThweDtcblx0XHRib3JkZXItY29sb3I6ICMyZTJlMmUgdHJhbnNwYXJlbnQ7XG5cdFx0Ym9yZGVyLXdpZHRoOiAwIDEwcHggMTBweCAxMHB4O1xuXHR9XG5cblx0Ji50b3AtbGVmdDphZnRlciB7XG5cdFx0QGluY2x1ZGUgY2hhcnQtdG9vbHRpcC1jYXJldDtcblx0XHRsZWZ0OiAxMHB4O1xuXHRcdHRvcDogLThweDtcblx0XHRib3JkZXItY29sb3I6ICMyZTJlMmUgdHJhbnNwYXJlbnQ7XG5cdFx0Ym9yZGVyLXdpZHRoOiAwIDEwcHggMTBweCAxMHB4O1xuXHR9XG5cblx0Ji50b3AtcmlnaHQ6YWZ0ZXIge1xuXHRcdEBpbmNsdWRlIGNoYXJ0LXRvb2x0aXAtY2FyZXQ7XG5cdFx0cmlnaHQ6IDEwcHg7XG5cdFx0dG9wOiAtOHB4O1xuXHRcdGJvcmRlci1jb2xvcjogIzJlMmUyZSB0cmFuc3BhcmVudDtcblx0XHRib3JkZXItd2lkdGg6IDAgMTBweCAxMHB4IDEwcHg7XG5cdH1cblxuXHQmLmxlZnQ6YWZ0ZXIge1xuXHRcdEBpbmNsdWRlIGNoYXJ0LXRvb2x0aXAtY2FyZXQ7XG5cdFx0dG9wOiAwO1xuXHRcdGJvdHRvbTogMDtcblx0XHRsZWZ0OiAtOHB4O1xuXHRcdGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIzJlMmUyZTtcblx0XHRib3JkZXItd2lkdGg6IDEwcHggMTBweCAxMHB4IDA7XG5cdH1cblxuXHQmLnJpZ2h0OmFmdGVyIHtcblx0XHRAaW5jbHVkZSBjaGFydC10b29sdGlwLWNhcmV0O1xuXHRcdHRvcDogMDtcblx0XHRib3R0b206IDA7XG5cdFx0cmlnaHQ6IC04cHg7XG5cdFx0Ym9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjMmUyZTJlO1xuXHRcdGJvcmRlci13aWR0aDogMTBweCAwIDEwcHggMTBweDtcblx0fVxufVxuXG4uZmEgeyAvLyB0aGlzIGZvbnQgYXdlc29tZSBzdHlsZSAodHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwwKSkgaXMgYnJlYWtpbmcgei1pbmRleCBiZWhhdmlvciBhbmQgZG9lc24ndCBzZWVtIHRvIGhhdmUgYW55IHZpc3VhbCBlZmZlY3QuICBTbyBJJ20gdHVybmluZyBpdCBvZmYuXG4gIHRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50O1xufSIsIiRyZWQ6ICNjNDJhM2I7XG4kYmx1ZTogIzk3NjhFQjtcbiRkYXJrX2JsdWU6ICMxMTI2NGI7XG4kZ3JleTogIzgwODA4MDtcbiRncmVlbjogIzIwYjc2OTtcbiR3aGl0ZTogI2ZmZmZmZjtcbiR5ZWxsb3c6ICNkOGI2MmY7XG4kbGlnaHRfZ3JleTogI2NkY2RjZDtcbiRkYXJrX2dyZXk6ICM2ZDZlNzI7XG4kc2NvcmUtZ3JlZW46ICMwMEI5NkQ7XG4kc2NvcmUtcmVkOiAjRDE0MDRCO1xuJHNjb3JlLXllbGxvdzogI0Q3QkI0MztcblxuJGZvb3Rlcl9iYWNrZ3JvdW5kOiAjMTEyNjRiO1xuJGF0aGxldGVfaGVhZGVyX3ByaW1hcnk6ICNlMWUxZTE7XG4kYXRobGV0ZV9oZWFkZXJfc2Vjb25kYXJ5OiAjZTFlMWUxO1xuJGF0aGxldGVfbGlzdF9uYW1lOiAjZjdmN2Y3O1xuIiwiXG5AbWl4aW4gdHJhbnNmb3JtKCR0cmFuc2Zvcm1zKSB7XG4gICAgIC1tb3otdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgICAtby10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAgICAgLW1zLXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgICAgICB0cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xufVxuXG5AbWl4aW4gYXBwZWFyYW5jZSgkYXBwZWFyYW5jZS4uLikge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xuICAgICAtbW96LWFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xuICAgICAgICAgIGFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xufVxuXG5AbWl4aW4gYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cy4uLikge1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgICAtbW96LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xufVxuXG5AbWl4aW4gYm94LXNoYWRvdygkc2hhZG93Li4uKSB7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogJHNoYWRvdztcbiAgICAgLW1vei1ib3gtc2hhZG93OiAkc2hhZG93O1xuICAgICAgICAgIGJveC1zaGFkb3c6ICRzaGFkb3c7XG59XG5cbkBtaXhpbiBib3gtc2l6aW5nKCRzaXplLi4uKSB7XG4gIC13ZWJraXQtYm94LXNpemluZzogJHNpemU7XG4gICAgIC1tb3otYm94LXNpemluZzogJHNpemU7XG4gICAgICAgICAgYm94LXNpemluZzogJHNpemU7XG59XG5cbkBtaXhpbiB1c2VyLXNlbGVjdCgkc2VsZWN0Li4uKSB7XG4td2Via2l0LXRvdWNoLWNhbGxvdXQ6ICRzZWxlY3Q7XG4gICAgIC1tcy10b3VjaC1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgIC1tb3otdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgICAtbXMtdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgICAgICAgdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG59XG5cbkBtaXhpbiBmbGV4KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXg6ICR2YWx1ZTtcbiAgICAgIC1tcy1mbGV4OiAkdmFsdWU7XG4gICAgICAgICAgZmxleDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1hbGlnbi1jb250ZW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWFsaWduLWNvbnRlbnQ6ICR2YWx1ZTtcbiAgICAgICAgICBhbGlnbi1jb250ZW50OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWFsaWduLWl0ZW1zKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWFsaWduLWl0ZW1zOiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24taXRlbXM6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtYWxpZ24tc2VsZigkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1hbGlnbi1zZWxmOiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24tc2VsZjogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1kaXJlY3Rpb24oJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleC1kaXJlY3Rpb246ICR2YWx1ZTtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogJHZhbHVlO1xufVxuQG1peGluIGZsZXgtZGlyZWN0aW9uLWltcG9ydGFudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogJHZhbHVlIWltcG9ydGFudDtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogJHZhbHVlIWltcG9ydGFudDtcbn1cblxuQG1peGluIGZsZXgtZGlzcGxheSgpIHtcbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuQG1peGluIGZsZXgtanVzdGlmeS1jb250ZW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWp1c3RpZnktY29udGVudDogJHZhbHVlO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1vcmRlcigkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1vcmRlcjogJHZhbHVlO1xuICAgICAgICAgIG9yZGVyOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LXdyYXAoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleC13cmFwOiAkdmFsdWU7XG4gICAgICAgICAgZmxleC13cmFwOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbigpIHtcbiAgQGluY2x1ZGUgZmxleC1kaXNwbGF5KCk7XG4gIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKGNvbHVtbik7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbi1jZW50ZXIoKSB7XG4gIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbn1cblxuQG1peGluIGZsZXgtY29sdW1uLXN0YXJ0KCkge1xuICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGZsZXgtc3RhcnQpO1xufVxuXG5AbWl4aW4gZmxleC1yb3coKSB7XG4gIEBpbmNsdWRlIGZsZXgtZGlzcGxheSgpO1xuICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihyb3cpO1xufVxuXG5AbWl4aW4gZmxleC1yb3ctY2VudGVyKCkge1xuICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG59XG5cbkBtaXhpbiBmbGV4LXJvdy1zdGFydCgpIHtcbiAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LXN0YXJ0KTtcbn1cblxuQG1peGluIGxvY2staGVpZ2h0KCR2YWx1ZS4uLikge1xuICBtYXgtaGVpZ2h0OiAkdmFsdWU7XG4gIG1pbi1oZWlnaHQ6ICR2YWx1ZTtcbiAgaGVpZ2h0OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBsb2NrLXdpZHRoKCR2YWx1ZS4uLikge1xuICBtYXgtd2lkdGg6ICR2YWx1ZTtcbiAgbWluLXdpZHRoOiAkdmFsdWU7XG4gIHdpZHRoOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBsb2NrLXdpZHRoLWlubGluZS1vdmVycmlkZSgkdmFsdWUuLi4pIHtcbiAgbWF4LXdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbiAgbWluLXdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbiAgd2lkdGg6ICR2YWx1ZSAhaW1wb3J0YW50O1xufVxuXG5cbkBtaXhpbiB1bmxvY2std2lkdGggIHtcbiAgbWF4LXdpZHRoOiBub25lO1xuICBtaW4td2lkdGg6IDA7XG4gIHdpZHRoOiBhdXRvO1xufVxuQG1peGluIHVubG9jay1oZWlnaHQgIHtcbiAgbWF4LWhlaWdodDogbm9uZTtcbiAgbWluLWhlaWdodDogMDtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG5AbWl4aW4gY29sdW1uLWNvdW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWNvbHVtbi1jb3VudDogJHZhbHVlO1xuICAtbW96LWNvbHVtbi1jb3VudDogJHZhbHVlO1xuICBjb2x1bW4tY291bnQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGNvbHVtbi1nYXAoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtY29sdW1uLWdhcDogJHZhbHVlO1xuICAtbW96LWNvbHVtbi1nYXA6ICR2YWx1ZTtcbiAgY29sdW1uLWdhcDogJHZhbHVlO1xufVxuXG5AbWl4aW4gY29sdW1uLW5vLWJyZWFrKCkge1xuICAtd2Via2l0LWNvbHVtbi1icmVhay1pbnNpZGU6IGF2b2lkO1xuICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQtY29sdW1uO1xuICAtbW96LWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XG4gIC1vLWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XG4gIC1tcy1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xuICBicmVhay1pbnNpZGU6YXZvaWQtY29sdW1uO1xufVxuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IHJlc3BvbmRcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiRtaW5Db250ZW50V2lkdGg6IDEwMjRweDtcbiRtaW5FZGdlQ29udGVudFBhZGRpbmc6IDE1cHg7XG4kbGFyZ2VCcmVha3BvaW50OiAkbWluQ29udGVudFdpZHRoICsgJG1pbkVkZ2VDb250ZW50UGFkZGluZyoyO1xuJGNvbXByZXNzZWRDb250ZW50V2lkdGg6ICRtaW5Db250ZW50V2lkdGggLSAkbWluRWRnZUNvbnRlbnRQYWRkaW5nKjI7XG4vLyAkc21NaW46IDc2OHB4O1xuJHNtTWF4OiA5MDBweDtcbkBtaXhpbiByZXNwb25kKCRtZWRpYSkge1xuICBAaWYgJG1lZGlhID09IHdoaXRlYm9hcmQtZXhlcmNpc2Utc3RhY2tlZC1hdHRyaWJ1dGVzIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExOTBweCkgeyBAY29udGVudDsgfVxuICB9XG4gIEBpZiAkbWVkaWEgPT0gbGcge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGxhcmdlQnJlYWtwb2ludCkgeyBAY29udGVudDsgfVxuICB9XG4gIEBlbHNlIGlmICRtZWRpYSA9PSBtZCB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAjeyRsYXJnZUJyZWFrcG9pbnQgLSAxcHh9KSB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGVsc2UgaWYgJG1lZGlhID09IHNtIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICN7JHNtTWF4fSkgeyBAY29udGVudDsgfVxuICB9XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiB4cGFkIC8geXBhZFxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgXG5AbWl4aW4geHBhZCgkcGFkKSAge1xuICBwYWRkaW5nLWxlZnQ6ICRwYWQ7XG4gIHBhZGRpbmctcmlnaHQ6ICRwYWQ7XG59XG5AbWl4aW4geXBhZCgkcGFkKSAge1xuICBwYWRkaW5nLXRvcDogJHBhZDtcbiAgcGFkZGluZy1ib3R0b206ICRwYWQ7XG59XG5AbWl4aW4geG1hcmdpbigkZ2FwKSAge1xuICBtYXJnaW4tbGVmdDogJGdhcDtcbiAgbWFyZ2luLXJpZ2h0OiAkZ2FwO1xufVxuQG1peGluIHltYXJnaW4oJGdhcCkgIHtcbiAgbWFyZ2luLXRvcDogJGdhcDtcbiAgbWFyZ2luLWJvdHRvbTogJGdhcDtcbn1cblxuQG1peGluIGFic0NlbnRlckJhc2VfeSgkaCkgIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbWFyZ2luLXRvcDogJGgvLTI7XG59XG5cbkBtaXhpbiBhYnNDZW50ZXJCYXNlKCR3LCAkaDogJHcpICB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLXRvcDogJGgvLTI7XG4gIG1hcmdpbi1sZWZ0OiAkdy8tMjtcbn1cblxuQG1peGluIGFic0NlbnRlckljb24oJHcsICRoOiAkdykgIHtcbiAgQGluY2x1ZGUgYWJzQ2VudGVyQmFzZSgkdywgJGgpO1xuICBmb250LXNpemU6ICRoO1xufVxuQG1peGluIGFic0NlbnRlckljb25feSgkaCkgIHtcbiAgQGluY2x1ZGUgYWJzQ2VudGVyQmFzZV95KCRoKTtcbiAgZm9udC1zaXplOiAkaDtcbn1cblxuQG1peGluIGZsZXhJbmxpbmVPdmVycmlkZSAge1xuICAgIG1pbi13aWR0aDogMCAhaW1wb3J0YW50O1xuICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xuICAgIC13ZWJraXQtZmxleDogMSAhaW1wb3J0YW50O1xuICAgIC1tcy1mbGV4OiAxICFpbXBvcnRhbnQ7XG4gICAgZmxleDogMSAhaW1wb3J0YW50O1xufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIGFwcC1zcGVjaWZpYyBtaXhpbi92YXJzID4gdGFic1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5AbWl4aW4gbGFyZ2UtdGFicy1zdHlsZSAge1xuICBmb250LXNpemU6IDIwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBmb250LXdlaWdodDogNTAwO1xuICBAaW5jbHVkZSByZXNwb25kKG1kKSAge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgfVxufVxuJGxhcmdlLXRhYnMtc3BhY2luZzogNDBweDtcblxuQG1peGluIHRyaW1Jbm5lck1hcmdpbiAge1xuICA+ICogIHtcbiAgICAmOmZpcnN0LWNoaWxkICB7XG4gICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgICY6bGFzdC1jaGlsZCAge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiBwbGFjZWhvbGRlclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgXG5AbWl4aW4gcGxhY2Vob2xkZXIge1xuICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtAY29udGVudH1cbiAgJjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgICB7QGNvbnRlbnR9XG4gICY6Oi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAge0Bjb250ZW50fVxuICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciAgICAgIHtAY29udGVudH0gIFxufVxuXG5cbiIsIi51cGxvYWQtY29udGFpbmVyIHtcbiAgLnVwbG9hZC1zZWN0aW9uIHtcbiAgICBAaW5jbHVkZSBsb2NrLWhlaWdodCgyMDBweCk7XG4gICAgQGluY2x1ZGUgbG9jay13aWR0aCg0MDBweCk7XG4gICAgYm9yZGVyOiAycHggZGFzaGVkICNkZGQ7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGNvbG9yOiAjYmJiO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICA+IC51cGxvYWQtbWVzc2FnZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cblxuICAgID4gLnVwbG9hZC1wcmV2aWV3IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIHotaW5kZXg6IDI7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICAgIH1cbiAgfVxuXG4gID4gaW5wdXRbdHlwZT0nZmlsZSddIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9ICBcbn1cblxuZGl2LmltYWdlLWNvbnRyb2xcbntcbiAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgQGluY2x1ZGUgbG9jay1oZWlnaHQoMjgwcHgpO1xuICBtYXJnaW4tdG9wOiA0MHB4O1xuICAuaW1hZ2UtbGFiZWwge1xuICAgIHBhZGRpbmctdG9wOiA0MHB4O1xuICB9XG4gIC5zaWxlbnQtZmlsZS1pbnB1dCB7XG4gICAgd2lkdGg6IDI0MHB4O1xuICB9ICAgICAgICAgICAgICAgIFxufVxuXG4uaW1hZ2UtYnV0dG9ucyB7XG4gIGJ1dHRvbiB7XG4gICAgQGluY2x1ZGUgbG9jay1oZWlnaHQoMjVweCk7XG4gICAgQGluY2x1ZGUgbG9jay13aWR0aCg4NXB4KTtcbiAgICBmb250LXNpemU6IDExcHg7XG4gIH1cbn1cblxuLmFjdGl2ZS11cGxvYWQge1xuICBAaW5jbHVkZSBsb2NrLXdpZHRoKDM1MHB4KTtcbiAgXG4gIC5maWxlLWluZm8ge1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIC5maWxlLWluZm8tc2l6ZSB7XG4gICAgICBmb250LXNpemU6IDEycHg7XG4gICAgfVxuICB9XG5cbiAgLnByb2dyZXNzLWJhci1jb250YWluZXIge1xuICAgIEBpbmNsdWRlIGxvY2staGVpZ2h0KDE4cHgpO1xuICAgIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGVkZWRlO1xuXG4gICAgPiAucHJvZ3Jlc3MtYmFyIHtcbiAgICAgIEBpbmNsdWRlIGxvY2staGVpZ2h0KDE4cHgpO1xuICAgICAgYm9yZGVyLXJhZGl1czogNnB4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsdWU7XG4gICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgY29sb3I6ICNlZmVmZWY7XG4gICAgICB0ZXh0LWluZGVudDogNnB4O1xuXG4gICAgICAmLnN1Y2Nlc3Mge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZTtcbiAgICAgIH1cblxuICAgICAgJi5lcnJvciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNhZjBhMmY7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm1lc3NhZ2Uge1xuICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gIH1cbn0iLCIuZXhlcmNpc2VfY29udGFpbmVyIHtcbiAgQGluY2x1ZGUgZmxleCgxIDAgNDAwcHgpO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5leGVyY2lzZV9uYXYge1xuICBAaW5jbHVkZSBmbGV4KDEgMCA0MDBweCk7XG4gIEBpbmNsdWRlIGxvY2std2lkdGgoNDAwcHgpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG5cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG5cbiAgLnNlYXJjaCB7XG4gICAgQGluY2x1ZGUgbG9jay1oZWlnaHQoNTBweCk7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNiYmI7XG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2JiYjtcblxuICAgIGlucHV0W3R5cGU9J3RleHQnXSB7XG4gICAgICBAaW5jbHVkZSBmbGV4KDEpO1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDIwMDtcbiAgICAgIGhlaWdodDogNDlweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgICAgdGV4dC1pbmRlbnQ6IDE1cHg7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgIH1cblxuICAgIGJ1dHRvblt0eXBlPSdyZXNldCddIHtcbiAgICAgIEBpbmNsdWRlIGZsZXgoMSk7XG4gICAgICBAaW5jbHVkZSBsb2NrLXdpZHRoKDYwcHgpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2JiYjtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIGNvbG9yOiAjZmVmZWZlO1xuICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgbWFyZ2luOiAwIDEwcHg7XG4gICAgICBtaW4taGVpZ2h0OiAzMHB4O1xuICAgIH1cblxuICAgIGJ1dHRvblt0eXBlPSdzdWJtaXQnXSB7XG4gICAgICBAaW5jbHVkZSBmbGV4KDApO1xuICAgICAgQGluY2x1ZGUgbG9jay13aWR0aCgzMHB4KTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgY29sb3I6ICNmZWZlZmU7XG4gICAgICBtYXJnaW46IDBweDtcbiAgICAgIG1pbi1oZWlnaHQ6IDMwcHg7XG4gICAgfVxuXG4gICAgaS5mYSB7XG4gICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICBjb2xvcjogI2JiYjtcbiAgICB9XG4gIH1cblxuICAuYWRkIHtcbiAgICBAaW5jbHVkZSBsb2NrLWhlaWdodCg1MHB4KTtcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjYmJiO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjYmJiO1xuICAgIHBhZGRpbmc6IDEwcHg7XG5cbiAgICBpLmZhIHtcbiAgICAgIEBpbmNsdWRlIGZsZXgoLjEpO1xuICAgIH1cblxuICAgIHN0cm9uZyB7XG4gICAgICBAaW5jbHVkZSBmbGV4KC45NzUpO1xuICAgIH1cbiAgfVxuXG4gIC5saXN0IHtcbiAgICBAaW5jbHVkZSBmbGV4KDEgMSBhdXRvKTtcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjYmJiO1xuICAgIG1pbi1oZWlnaHQ6IDEwcHg7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcblxuICAgICYgPiBkaXY6bm90KC5maWxsZXIpIHtcbiAgICAgIEBpbmNsdWRlIGZsZXgoMCAwIGF1dG8pO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNiYmI7XG5cbiAgICAgIC5kZXRhaWwge1xuICAgICAgICBtYXJnaW4tbGVmdDogMzBweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuXG4gICAgICAgIC52aWV3LWRldGFpbCB7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2JiYjtcbiAgICAgICAgICBwYWRkaW5nOiA0cHggOHB4O1xuXG4gICAgICAgICAgLmljb24ge1xuICAgICAgICAgICAgY29sb3I6ICRibHVlO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxN3B4O1xuICAgICAgICAgICAgbWFyZ2luOiAwIDZweDtcblxuICAgICAgICAgICAgJi5pbmFjdGl2ZSB7XG4gICAgICAgICAgICAgIGNvbG9yOiAjY2NjO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5ib2R5LXNpZGVzIHtcbiAgICAgICAgICBtYXJnaW46IDIwcHggMDtcblxuICAgICAgICAgICYgPiBkaXYgbGFiZWwgc3BhbiB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDlweDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmID4gZGl2ICsgZGl2IHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAyNXB4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuaGlkZGVuIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJiA+IGRpdi5maWxsZXIge1xuICAgICAgQGluY2x1ZGUgZmxleCgxIDEgMTAwJSk7XG4gICAgfVxuICB9XG5cbiAgQC1tb3otZG9jdW1lbnQgdXJsLXByZWZpeCgpIHtcbiAgICAubGlzdCB7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgfVxuICB9XG59XG5cbi5leGVyY2lzZV9zZWxlY3Qge1xuICBAaW5jbHVkZSBmbGV4KDEgMCAzMDBweCk7XG4gIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgb3ZlcmZsb3cteTogYXV0bztcblxuICAubGlzdCB7XG4gICAgQGluY2x1ZGUgZmxleCgxIDEgYXV0byk7XG4gICAgbWluLWhlaWdodDogMTBweDtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuXG4gICAgJiA+IGRpdjpub3QoLmZpbGxlcikge1xuICAgICAgQGluY2x1ZGUgZmxleCgwIDAgYXV0byk7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2RkZDtcblxuICAgICAgLmV4ZXJjaXNlLWl0ZW0ge1xuICAgICAgICA+IGRpdiB7XG4gICAgICAgICAgQGluY2x1ZGUgZmxleCgxKTtcbiAgICAgICAgfVxuICAgICAgICAubmFtZSB7XG4gICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICB9XG4gICAgICAgIC5jaXJjbGVkLWljb24ge1xuICAgICAgICAgIEBpbmNsdWRlIGZsZXgoMCAwIGF1dG8pO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICB3aWR0aDogNDBweDtcbiAgICAgICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDM2cHg7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIG1hcmdpbjogMCAxMnB4O1xuICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6ICRibHVlO1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkYmx1ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmRldGFpbCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAzMHB4O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG5cbiAgICAgICAgLnZpZXctZGV0YWlsIHtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjYmJiO1xuICAgICAgICAgIHBhZGRpbmc6IDRweCA4cHg7XG5cbiAgICAgICAgICAuaWNvbiB7XG4gICAgICAgICAgICBjb2xvcjogJGJsdWU7XG4gICAgICAgICAgICBmb250LXNpemU6IDE3cHg7XG4gICAgICAgICAgICBtYXJnaW46IDAgNnB4O1xuXG4gICAgICAgICAgICAmLmluYWN0aXZlIHtcbiAgICAgICAgICAgICAgY29sb3I6ICNjY2M7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmJvZHktc2lkZXMge1xuICAgICAgICAgIG1hcmdpbjogMjBweCAwO1xuXG4gICAgICAgICAgJiA+IGRpdiBsYWJlbCBzcGFuIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogOXB4O1xuICAgICAgICAgIH1cblxuICAgICAgICAgICYgPiBkaXYgKyBkaXYge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDI1cHg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5oaWRkZW4ge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmID4gZGl2LmZpbGxlciB7XG4gICAgICBAaW5jbHVkZSBmbGV4KDEgMSAxMDAlKTtcbiAgICB9XG4gIH1cblxuICBALW1vei1kb2N1bWVudCB1cmwtcHJlZml4KCkge1xuICAgIC5saXN0IHtcbiAgICAgIGhlaWdodDogMDtcbiAgICB9XG4gIH1cbn1cblxuLmZpbHRlcnMge1xuICBAaW5jbHVkZSBsb2NrLWhlaWdodCgxMDBweCk7XG5cbiAgPiBmdXNpb24tZHJvcC1kb3duLFxuICA+IGZ1c2lvbi1vcmRlcmVkLWRyb3AtZG93bixcbiAgPiBkaXYge1xuICAgIEBpbmNsdWRlIGZsZXgoMSAwIDUwJSk7XG4gICAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xuICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGNlbnRlcik7XG4gICAgLyoqKioqIE5PVEUgKioqKioqXG4gICAgc2luY2UgdGhlIGhlaWdodCBpcyBiZWluZyByZWNhbGN1bGF0ZWRcbiAgICBvbmx5IHNldCB0aGUgbWluLWhlaWdodFxuICAgIEBpbmNsdWRlIGxvY2staGVpZ2h0KDUwcHgpO1xuICAgICoqKioqIEVCRCBOT1RFICoqKioqKi9cbiAgICBtYXgtd2lkdGg6IDUwJTtcbiAgICBtaW4taGVpZ2h0OiA1MHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2JiYjtcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjYmJiO1xuICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuXG4gICAgLnNlbGVjdC10b2dnbGUge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICYuZGlzYWJsZWQge1xuICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAgICAgfVxuICAgICAgICBpIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHNwYW4ge1xuICAgICAgICBAaW5jbHVkZSBmbGV4KC45KTtcbiAgICAgIH1cblxuICAgICAgaS5mYSB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgoLjEpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5vcHRpb25zIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTBweDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICBib3JkZXItY29sb3I6ICM5OTk7XG4gICAgICBib3gtc2hhZG93OiAwIDZweCAxMHB4IDAgIzk5OTtcbiAgICAgIG1heC1oZWlnaHQ6IDIxNXB4O1xuICAgICAgbWluLXdpZHRoOiAxMDAlO1xuICAgICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICAgICAgei1pbmRleDogMztcblxuICAgICAgJiA+IGRpdiB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbiAgICAgICAgbWluLWhlaWdodDogMjhweDtcbiAgICAgICAgcGFkZGluZzogMCAxMHB4O1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNjY2M7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICA+IGZ1c2lvbi1kcm9wLWRvd24gPiBkaXYsXG4gID4gZnVzaW9uLW9yZGVyZWQtZHJvcC1kb3duID4gZGl2IHtcbiAgICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG4gICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcbiAgICBAaW5jbHVkZSBsb2NrLWhlaWdodCg0OHB4KTtcbiAgfVxuXG4gID4gZnVzaW9uLWRyb3AtZG93bi5yZXF1aXJlZCxcbiAgPiBmdXNpb24tb3JkZXJlZC1kcm9wLWRvd24ucmVxdWlyZWQge1xuICAgIC5zZWxlY3QtdG9nZ2xlID4gc3BhbiB7XG4gICAgICBjb2xvcjogI2ZmMDAwMDtcbiAgICB9XG4gIH1cbn1cblxuLmV4ZXJjaXNlLWl0ZW0ge1xuICBAaW5jbHVkZSBsb2NrLWhlaWdodCg0NXB4KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICBtYXJnaW46IDEwcHg7XG5cbiAgLmljb24ge1xuICAgIEBpbmNsdWRlIGZsZXgoLjEpO1xuXG4gICAgJi50b2dnbGUge1xuICAgICAgQGluY2x1ZGUgbG9jay1oZWlnaHQoMzBweCk7XG4gICAgICBAaW5jbHVkZSBsb2NrLXdpZHRoKDMwcHgpO1xuICAgICAgZm9udC1zaXplOiA2cHg7XG5cbiAgICAgICYuZG93biB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgICAgIHBhZGRpbmctdG9wOiAyNHB4O1xuICAgICAgfVxuXG4gICAgICAmLnJpZ2h0IHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm5hbWUge1xuICAgIEBpbmNsdWRlIGZsZXgoLjkpO1xuXG4gICAgLm5vLXdyYXAtZWxsaXBzZSB7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIH1cbiAgfVxuXG4gICYuYWN0aXZlLWl0ZW0ge1xuICAgIHotaW5kZXg6IDE7XG5cbiAgICAuaWNvbiB7XG4gICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgfVxuICB9XG5cbiAgJi5kcmFnZ2luZy1lbGVtZW50IHtcbiAgICBAaW5jbHVkZSBsb2NrLWhlaWdodCg2NXB4KTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSwgMS4xKSAhaW1wb3J0YW50O1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGNlbnRlciAhaW1wb3J0YW50O1xuXG4gICAgLmljb24ge1xuICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIH1cbiAgfVxufVxuXG4ubm8tbWF0Y2gge1xuICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG4gIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGNlbnRlcik7XG4gIEBpbmNsdWRlIGxvY2staGVpZ2h0KDUwcHgpO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIG1hcmdpbjogMTBweDtcbn1cblxuLyogbW9kYWwganVuayAqL1xuLm1vZGFsLWNvbnRhaW5lciB7XG4gICYubW9kYWwtZXhlcmNpc2UtZGV0YWlsIHtcbiAgICBoZWFkZXIge1xuICAgICAgLyogQGluY2x1ZGUgbG9jay1oZWlnaHQoNzVweCk7ICovXG4gICAgICBib3JkZXI6IG5vbmU7XG5cbiAgICAgIGxhYmVsIHtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIGZvb3RlciB7XG4gICAgICBAaW5jbHVkZSBsb2NrLWhlaWdodCg3NXB4KTtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICB9XG5cbiAgICBzZWN0aW9uIHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoc3RyZXRjaCk7XG4gICAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChmbGV4LXN0YXJ0KTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgICBtaW4td2lkdGg6IDYwMHB4O1xuXG4gICAgICAmOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgICAgfVxuXG4gICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgICB9XG5cbiAgICAgICYudmlkZW8tdmlldyB7XG4gICAgICAgIG1heC13aWR0aDogNjAwcHg7XG4gICAgICAgIG1pbi13aWR0aDogNjAwcHg7XG4gICAgICB9XG5cbiAgICAgICYuaW1hZ2UtdmlldyB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGNlbnRlcik7XG5cbiAgICAgICAgPiBpbWcge1xuICAgICAgICAgIG1heC13aWR0aDogMzYwcHg7XG4gICAgICAgICAgbWluLXdpZHRoOiAzNjBweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5taXNzaW5nLW1lZGlhIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2VmZWZlZjtcbiAgICAgIGNvbG9yOiAjZGVkZWRlO1xuICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICB9XG4gIH1cblxuICAmLm1vZGFsLWV4ZXJjaXNlLWZvcm0ge1xuICAgIGhlYWRlciB7XG4gICAgICBib3JkZXI6IG5vbmU7XG5cbiAgICAgIGxhYmVsIHtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIGZvb3RlciB7XG4gICAgICBAaW5jbHVkZSBsb2NrLWhlaWdodCg3NXB4KTtcbiAgICAgIGJvcmRlcjogbm9uZTtcblxuICAgICAgJi5zbWFsbGVyIHtcbiAgICAgICAgbWFyZ2luLXRvcDogNXB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIGZvcm0gbGFiZWwgYnV0dG9uW3R5cGU9J3Jlc2V0J10ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2RlZGVkZTtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICAgIGNvbG9yOiAjZmVmZWZlO1xuICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICBoZWlnaHQ6IDMzcHg7XG4gICAgICBsaW5lLWhlaWdodDogMzNweDtcbiAgICAgIG1hcmdpbjogMHB4IDEwcHg7XG4gICAgICBtYXJnaW4tbGVmdDogN3B4O1xuICAgICAgbWluLWhlaWdodDogMzBweDtcbiAgICAgIG1pbi13aWR0aDogYXV0bztcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cblxuICAgIHNlY3Rpb24ge1xuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhzdHJldGNoKTtcbiAgICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGZsZXgtc3RhcnQpO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgbWluLWhlaWdodDogMDtcbiAgICAgIG1pbi13aWR0aDogNjAwcHg7XG5cbiAgICAgICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICAgIH1cblxuICAgICAgLmZpbHRlcnMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjlmOWY5O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cblxuICAgICAgc3BhbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIH1cblxuICAgICAgJiA+IHNwYW4ge1xuICAgICAgICBtYXJnaW46IDEwcHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiA0MHB4O1xuICAgICAgICAmLm1vZGFsLWVycm9yIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAyMzBweDtcbiAgICAgICAgICAgIGNvbG9yOiByZWQ7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgdGV4dGFyZWEge1xuICAgICAgICBAaW5jbHVkZSBhcHBlYXJhbmNlKG5vbmUpO1xuICAgICAgICBAaW5jbHVkZSBib3gtc2l6aW5nKGJvcmRlci1ib3gpO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjYmJiO1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgIG1hcmdpbjogMTBweCA0MHB4IDEwcHggMDtcbiAgICAgICAgaGVpZ2h0OiAxNDBweDtcbiAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgcGFkZGluZy10b3A6IDRweDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA0cHg7XG5cbiAgICAgICAgJi5sYXJnZSB7XG4gICAgICAgICAgbWluLWhlaWdodDogMzAwcHg7XG4gICAgICAgIH1cbiAgICAgICAgJi5sYXJnZXIge1xuICAgICAgICAgIG1pbi1oZWlnaHQ6IDQ1MHB4O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGxhYmVsIHtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xuICAgICAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChmbGV4LXN0YXJ0KTtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbi1zZWxmKHN0cmV0Y2gpO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjYmJiO1xuICAgICAgICBtaW4taGVpZ2h0OiAyNXB4O1xuXG4gICAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2JiYjtcbiAgICAgICAgfVxuXG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgIG1hcmdpbjogMTBweDtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogNDBweDtcbiAgICAgICAgICBtaW4td2lkdGg6IDE1MHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgaW5wdXQge1xuICAgICAgICAgIEBpbmNsdWRlIGZsZXgoMSAxIDUwJSk7XG4gICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMzBweDtcbiAgICAgICAgICBtYXJnaW46IDFweDtcbiAgICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgc2VsZWN0IHtcbiAgICAgICAgICBAaW5jbHVkZSBhcHBlYXJhbmNlKG5vbmUpO1xuICAgICAgICAgIEBpbmNsdWRlIGZsZXgoMSAxIGF1dG8pO1xuICAgICAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24tc2VsZihzdHJldGNoKTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjYmJiO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgICAgbWFyZ2luOiAxcHg7XG4gICAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgICB0ZXh0LWluZGVudDogMTBweDtcblxuICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmOi1tb3otZm9jdXNyaW5nIHtcbiAgICAgICAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIHRleHQtc2hhZG93OiAwIDAgMCAjMDAwO1xuICAgICAgICAgIH1cblxuICAgICAgICAgICY6Oi1tcy1leHBhbmQge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmICsgaS5mYSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICByaWdodDogMjBweDtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIGNvbG9yOiAjY2NjO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgICBtYXJnaW46IGF1dG8gMDtcbiAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLnNpbmdsZS1saW5lLWZvcm0tZmllbGRzIGxhYmVsIC5ib2R5LXNpZGVzIHtcbiAgICAgICAgPiBkaXYge1xuICAgICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgICAgfVxuICAgICAgICAgIGkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgPiBkaXYgKyBkaXYge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAyNXB4O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYuc2luZ2xlLWxpbmUtZm9ybS1maWVsZHMgLmV2ZW4tY29scyB7XG4gICAgICAgIGxhYmVsIHtcbiAgICAgICAgICBib3JkZXItdG9wOiBub25lO1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG5cbiAgICAgICAgICA+IHNlbGVjdCB7XG4gICAgICAgICAgICBib3JkZXItbGVmdDogbm9uZTtcbiAgICAgICAgICAgIHRleHQtaW5kZW50OiA0MHB4O1xuICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgICAgY29sb3I6ICM3NTc3N2E7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgbGFiZWwgKyBsYWJlbCB7XG4gICAgICAgICAgPiBzZWxlY3Qge1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjZWJlYmViO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC53ZWVrLXNlbGVjdGlvbiB7XG4gICAgICBwYWRkaW5nOiA1cHggMTVweDtcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcblxuICAgICAgPiBkaXYge1xuICAgICAgICBtYXJnaW46IDAgMTBweDtcbiAgICAgICAgbWluLWhlaWdodDogMjhweDtcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICBjb2xvcjogI2EwYTRhODtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgIGNvbG9yOiAjNzU3NzdhO1xuICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRibHVlXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLyogZHJhZy1uLWRyb3AganVuayAqL1xuLyogc2hvdWxkIGJlIG1vdmVkIHRvIG93biBmaWxlIChjbGVhcmx5KSAqL1xuLmRyYWctaGlkZGVuIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xufTtcblxuLmRyYWctbW92ZS1zY3JvbGwtYW5jaG9yIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNTUsIDE1NSwgMTU1LCAuMjc1KTtcbiAgaGVpZ2h0OiAyMHB4O1xuICB6LWluZGV4OiAxO1xuXG4gICYudG9wIHtcbiAgICB0b3A6IDA7XG4gIH1cblxuICAmLmJvdHRvbSB7XG4gICAgYm90dG9tOiAwO1xuICB9XG59O1xuXG4uZHJvcC1oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uZHJvcC10YXJnZXQge1xuXG4gICY6bm90KC5kcm9wLWVtcHR5KSB7XG4gICAgYm9yZGVyOiAycHggZGFzaGVkICNjZGQzZDc7XG4gIH1cblxuICAmLmRyb3AtdGFyZ2V0LW92ZXIge1xuICAgICY6bm90KC5hZGQtc2VjdGlvbikge1xuICAgICAgYm9yZGVyOiAycHggZGFzaGVkICM0Y2JiMTcgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAmLmFkZC1zZWN0aW9uID4gZGl2IHtcbiAgICAgIGJvcmRlci1jb2xvcjogIzRjYmIxNyAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5hZGQtZXhlcmNpc2Uge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuLmRyYWdnaW5nLWVsZW1lbnQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvcmRlcjogMnB4IHNvbGlkICM4ODg7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC45MCwgMC45MCkgIWltcG9ydGFudDtcbiAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBjZW50ZXIgIWltcG9ydGFudDtcbiAgei1pbmRleDogMTA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuIiwiLnJlc3AtcHJvZ3JhbS1tZW51IHtcbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgLmNhdGFsb2dfY29udGFpbmVyID4gZGl2IHtcbiAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICB9XG4gICAgLm9wZW5lZC1jb250YWluZXIsXG4gICAgLmNsb3NlZC1jb250YWluZXIge1xuICAgICAgZmxleDogbm9uZTtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIG1heC1oZWlnaHQ6IG5vbmU7XG4gICAgfVxuICAgIC5jYXRhbG9nLWJhbm5lcixcbiAgICAuY2F0YWxvZy1zZWFyY2gsXG4gICAgLmNhdGFsb2dfbmF2X3dyYXBwZXIge1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgIH1cbiAgICAuY2F0YWxvZ19jb250YWluZXIge1xuICAgICAgZmxleDogbm9uZTtcbiAgICAgIG1pbi1oZWlnaHQ6IGF1dG87XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIH1cbiAgICB1bC5jYXRhbG9nX25hdiB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIH1cbiAgfVxufVxuXG4uY2F0YWxvZ19jb250YWluZXIge1xuICBAaW5jbHVkZSBmbGV4KDEgMCAzNTBweCk7XG4gIG1pbi1oZWlnaHQ6IDUwMHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgPiBkaXYuY2F0YWxvZy1zY3JvbGxhYmxlIHtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICB9XG5cbiAgPiBkaXYge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgID4gZGl2IHtcbiAgICAgICYub3BlbmVkLWNvbnRhaW5lciB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgoMSk7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIH1cblxuICAgICAgJi5jbG9zZWQtY29udGFpbmVyIHtcbiAgICAgICAgQGluY2x1ZGUgZmxleCgxIDEgNTJweCk7XG4gICAgICAgIG1heC1oZWlnaHQ6IDUycHg7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5jYXRhbG9nLWJhbm5lciB7XG4gIEBpbmNsdWRlIGxvY2staGVpZ2h0KDUwcHgpO1xuICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjZWJlYmViO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTc2OEVCO1xuICBtYXJnaW46IDFweCAwO1xuXG4gIGkuY2lyY2xlZC1pY29uIHtcbiAgICBtYXJnaW46IDAgMTVweDtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAkYmx1ZTtcbiAgICBjb2xvcjogJGJsdWU7XG4gIH1cblxuICBzcGFuIHtcbiAgICBjb2xvcjogI2VmZWZlZjtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gIH1cbn1cblxuLmNhdGFsb2ctc2VhcmNoIHtcbiAgQGluY2x1ZGUgbG9jay1oZWlnaHQoNTBweCk7XG4gIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNlYmViZWI7XG4gIFxuICBmb3JtIHtcbiAgICBAaW5jbHVkZSBmbGV4KDEpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG5cbiAgICBpbnB1dFt0eXBlPSd0ZXh0J10ge1xuICAgICAgQGluY2x1ZGUgZmxleCgxKTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIGhlaWdodDogNDlweDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAwLjM5cHg7XG4gICAgICB0ZXh0LWluZGVudDogMTVweDtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgfVxuXG4gICAgYnV0dG9uW3R5cGU9J3Jlc2V0J10ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2RlZGVkZTtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICAgIGNvbG9yOiAjZmVmZWZlO1xuICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICBoZWlnaHQ6IDMzcHg7XG4gICAgICBsaW5lLWhlaWdodDogMzNweDtcbiAgICAgIG1hcmdpbjogMHB4IDEwcHg7XG4gICAgICBtYXJnaW4tbGVmdDogN3B4O1xuICAgICAgbWluLWhlaWdodDogMzBweDtcbiAgICAgIG1pbi13aWR0aDogYXV0bztcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cbiAgfVxufVxuXG4uY2F0YWxvZ19uYXZfd3JhcHBlciB7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuLmNhdGFsb2dfbmF2IHtcbiAgQGluY2x1ZGUgbG9jay13aWR0aCgzNTBweCk7XG4gIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2ViZWJlYjtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgaGVpZ2h0OiBhdXRvO1xuXG4gIC5jYXRlZ29yeS1pY29uIHtcbiAgICBtYXJnaW46IDAgMThweDtcbiAgICBtaW4td2lkdGg6IDIwcHg7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICB9XG5cbiAgLmFkZC1pY29uIHtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgbWFyZ2luOiAwIDE1cHg7XG4gICAgbWluLXdpZHRoOiAxMnB4O1xuICB9XG59XG5cbnVsLmNhdGFsb2dfbmF2IHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuXG4gIGxpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjBmMGYwO1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIG1hcmdpbjogNXB4IDA7XG4gICAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcbiAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChjZW50ZXIpO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgID4gc3BhbiB7XG4gICAgICBtaW4taGVpZ2h0OiA0NXB4O1xuICAgICAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbiAgICB9XG5cbiAgICAuY2F0ZWdvcnktc3RhdGUge1xuICAgICAgQGluY2x1ZGUgZmxleC1kaXNwbGF5KCk7XG4gICAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChmbGV4LWVuZCk7XG4gICAgICBAaW5jbHVkZSBmbGV4KDEgMSBhdXRvKTtcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgIG1hcmdpbjogMCAyMHB4O1xuICAgICAgbWluLXdpZHRoOiAxMnB4O1xuICAgIH1cblxuICAgIC5jYXRlZ29yeS1vcGVuIHtcbiAgICAgIC5jYXRlZ29yeS1zdGF0ZTpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlxcZTYyMFwiO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5jYXRlZ29yeS1jbG9zZSB7XG4gICAgICAuY2F0ZWdvcnktc3RhdGU6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcXGU2MmZcIjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBsaS5leGVyY2lzZS10ZWNobmlxdWUge1xuICAgID4gc3BhbiB7XG4gICAgICB0ZXh0LWluZGVudDogMjBweDtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICB9XG5cbiAgICA+IHVsIHtcbiAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgIGxpIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgbWluLWhlaWdodDogMjRweDtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgIH1cblxuICAgICAgICA+IHNwYW4ge1xuICAgICAgICAgIG1pbi1oZWlnaHQ6IDI0cHg7XG4gICAgICAgICAgdGV4dC1pbmRlbnQ6IDMwcHg7XG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBsaSA+IHVsIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAxMHB4IDAgMCAwO1xuXG4gICAgbGkge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG5cbiAgICAgID4gc3BhbiB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDMwcHg7XG4gICAgICAgIHRleHQtaW5kZW50OiAzMHB4O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgfVxuXG4gICAgICA+IHVsIHtcbiAgICAgICAgcGFkZGluZzogMDtcblxuICAgICAgICBsaSB7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICBtaW4taGVpZ2h0OiAzMHB4O1xuICAgICAgICAgIHRleHQtaW5kZW50OiA1MHB4O1xuICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59IiwiQGltcG9ydCBcInZhcmlhYmxlc1wiO1xuQGltcG9ydCBcIm1peGluc1wiO1xuXG4ubG9naW4tY29udGFpbmVyIHtcbiAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xuICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChjZW50ZXIpO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VmZWZlZjtcblxuICAubG9naW4tbW9kYWwge1xuICAgIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XG4gICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcbiAgICBAaW5jbHVkZSBsb2NrLXdpZHRoKDQ3NnB4KTtcbiAgICBcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkNGQ0ZDO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlZmVmZWY7XG4gICAgYm9yZGVyLXJhZGl1czogNnB4O1xuICAgIHBhZGRpbmc6IDQ3cHggMCAyMnB4O1xuXG4gICAgPiBpbWcge1xuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbi1zZWxmKGNlbnRlcik7XG4gICAgfVxuXG4gICAgLmxvZ2luLWJhbm5lciB7XG4gICAgICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICAgICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcblxuICAgICAgZm9udC1zaXplOiAzMnB4O1xuICAgICAgbWFyZ2luOiAyOHB4IDE1cHggMzBweDtcbiAgICAgIGNvbG9yOiAkYmx1ZTtcbiAgICB9XG5cbiAgICAubG9naW4tZm9ybSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbi1jb250ZW50KGNlbnRlcik7XG4gICAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChjZW50ZXIpOyAgICAgIFxuXG4gICAgICAvLyA+IGlucHV0Ojotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICAgIC8vICAgZm9udC13ZWlnaHQ6IDIwMDtcbiAgICAgIC8vICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgLy8gfVxuXG4gICAgICAvLyA+IGlucHV0OjotbW96LXBsYWNlaG9sZGVyIHtcbiAgICAgIC8vICAgZm9udC13ZWlnaHQ6IDIwMDtcbiAgICAgIC8vICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgLy8gfVxuXG4gICAgICA+IGlucHV0OjotbXMtY2xlYXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuXG4gICAgICA+IGlucHV0IHtcbiAgICAgICAgQGluY2x1ZGUgbG9jay1oZWlnaHQoNTFweCk7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZGRkO1xuICAgICAgICBib3JkZXItbGVmdDogbm9uZTtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2RkZDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyAgICAgICAgXG4gICAgICAgIEBpbmNsdWRlIHBsYWNlaG9sZGVyICB7XG4gICAgICAgICAgY29sb3I6ICM3NTc3N0E7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyAgICAgXG4gICAgICAgICAgb3BhY2l0eTogMTsgIFxuICAgICAgICAgIGZvbnQtc2l6ZTogMTVweDsgICAgIFxuICAgICAgICB9XG4gICAgICAgICsgaW5wdXQgIHtcbiAgICAgICAgICBib3JkZXItdG9wOiAwO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5sb2dpbi1idXR0b25zIHtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoc3BhY2UtZXZlbmx5KTtcbiAgICAgICAgbWFyZ2luOiAwcHggMzBweDtcbiAgICAgICAgPiBidXR0b24ge1xuICAgICAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24tc2VsZihjZW50ZXIpO1xuICAgICAgICAgIEBpbmNsdWRlIGxvY2staGVpZ2h0KDU3cHgpO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgIFxuICAgIH1cblxuICAgIC5yZXNldC1mb3JtIHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XG4gICAgICBAaW5jbHVkZSBmbGV4LWFsaWduLWNvbnRlbnQoY2VudGVyKTtcbiAgICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGNlbnRlcik7ICAgICAgXG5cbiAgICAgID4gaW5wdXQ6Oi1tcy1jbGVhciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgID4gaW5wdXQge1xuICAgICAgICBtYXJnaW46IDI4cHggMCAwO1xuICAgICAgICBAaW5jbHVkZSBsb2NrLWhlaWdodCg1MXB4KTtcblxuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2RkZDtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gICAgICAgIGJvcmRlci1yaWdodDogbm9uZTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkZGQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgQGluY2x1ZGUgcGxhY2Vob2xkZXIgIHtcbiAgICAgICAgICBjb2xvcjogIzc1Nzc3QTtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7ICAgICBcbiAgICAgICAgICBvcGFjaXR5OiAxOyAgICAgICBcbiAgICAgICAgfVxuICAgICAgICArIGlucHV0ICB7XG4gICAgICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuc2Vjb25kUGFzc3dvcmQge1xuICAgICAgICBtYXJnaW46IDAgMCAwO1xuICAgICAgfVxuXG4gICAgICAuYnV0dG9uLWNvbGxlY3Rpb24ge1xuICAgICAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24tc2VsZihjZW50ZXIpO1xuICAgICAgICAgIG1hcmdpbjogMjhweCAwIDA7XG4gICAgICAgICAgPiBidXR0b24ge1xuICAgICAgICAgICAgQGluY2x1ZGUgbG9jay1oZWlnaHQoNTdweCk7XG4gICAgICAgICAgICB3aWR0aDogMjAwcHg7XG4gICAgICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm1lc3NhZ2Uge1xuICAgICAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbiAgICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGNlbnRlcik7XG4gICAgICAvLyBAaW5jbHVkZSBsb2NrLWhlaWdodCgzMHB4KTtcbiAgICAgIG1hcmdpbjogMTFweCAxNXB4OyAvLyB3aGVuIGEgbWVzc2FnZSBpcyBoZXJlIGlzIHNob3VsZCBiZSB2ZXJpdGNhbGx5IHNwYWNlZCBhIGJpdFxuICAgIH1cblxuICAgICAuZGVzY3JpcHRpb24ge1xuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xuICAgICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcbiAgICAgIEBpbmNsdWRlIGxvY2staGVpZ2h0KDcwcHgpO1xuICAgICAgbWFyZ2luOiAxMXB4IDE1cHg7IC8vIHdoZW4gYSBtZXNzYWdlIGlzIGhlcmUgaXMgc2hvdWxkIGJlIHZlcml0Y2FsbHkgc3BhY2VkIGEgYml0XG4gICAgfVxuXG4gICAgLmxvZ2luLWxpbmsge1xuICAgICAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGNlbnRlcik7XG5cbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcblxuICAgICAgPiBhIHtcbiAgICAgICAgY29sb3I6ICNhYWE7XG4gICAgICAgIHdvcmQtc3BhY2luZzogMnB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLmxvZ2luUmVtZW1iZXJNZSAge1xuICBtYXJnaW46IDI4cHggMCAwO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLXNlbGYoY2VudGVyKTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIC5jaGVja2JveC1pbnB1dCAge1xuICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbiAgICBpICB7XG4gICAgICBmb250LXNpemU6IDI1cHg7XG4gICAgfVxuICAgIHNwYW4gIHtcbiAgICAgIGNvbG9yOiAjNzU3NzdBO1xuICAgIH0gXG4gIH0gIFxufVxuLmxvZ2luRm9yZ290UGFzc0xpbmsgIHtcbiAgbWFyZ2luOiAzMXB4IDAgMDtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1zZWxmKGNlbnRlcik7IFxuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGNvbG9yOiAjQUFCMEI3O1xuICB0ZXh0LWRlY29yYXRpb24tbGluZTogdW5kZXJsaW5lO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGEgIHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgfVxufSIsIiRyZWQ6ICNjNDJhM2I7XG4kYmx1ZTogIzk3NjhFQjtcbiRkYXJrX2JsdWU6ICMxMTI2NGI7XG4kZ3JleTogIzgwODA4MDtcbiRncmVlbjogIzIwYjc2OTtcbiR3aGl0ZTogI2ZmZmZmZjtcbiR5ZWxsb3c6ICNkOGI2MmY7XG4kbGlnaHRfZ3JleTogI2NkY2RjZDtcbiRkYXJrX2dyZXk6ICM2ZDZlNzI7XG4kc2NvcmUtZ3JlZW46ICMwMEI5NkQ7XG4kc2NvcmUtcmVkOiAjRDE0MDRCO1xuJHNjb3JlLXllbGxvdzogI0Q3QkI0MztcblxuJGZvb3Rlcl9iYWNrZ3JvdW5kOiAjMTEyNjRiO1xuJGF0aGxldGVfaGVhZGVyX3ByaW1hcnk6ICNlMWUxZTE7XG4kYXRobGV0ZV9oZWFkZXJfc2Vjb25kYXJ5OiAjZTFlMWUxO1xuJGF0aGxldGVfbGlzdF9uYW1lOiAjZjdmN2Y3O1xuIiwiXG5AbWl4aW4gdHJhbnNmb3JtKCR0cmFuc2Zvcm1zKSB7XG4gICAgIC1tb3otdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgICAtby10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAgICAgLW1zLXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgICAgICB0cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xufVxuXG5AbWl4aW4gYXBwZWFyYW5jZSgkYXBwZWFyYW5jZS4uLikge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xuICAgICAtbW96LWFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xuICAgICAgICAgIGFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xufVxuXG5AbWl4aW4gYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cy4uLikge1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgICAtbW96LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xufVxuXG5AbWl4aW4gYm94LXNoYWRvdygkc2hhZG93Li4uKSB7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogJHNoYWRvdztcbiAgICAgLW1vei1ib3gtc2hhZG93OiAkc2hhZG93O1xuICAgICAgICAgIGJveC1zaGFkb3c6ICRzaGFkb3c7XG59XG5cbkBtaXhpbiBib3gtc2l6aW5nKCRzaXplLi4uKSB7XG4gIC13ZWJraXQtYm94LXNpemluZzogJHNpemU7XG4gICAgIC1tb3otYm94LXNpemluZzogJHNpemU7XG4gICAgICAgICAgYm94LXNpemluZzogJHNpemU7XG59XG5cbkBtaXhpbiB1c2VyLXNlbGVjdCgkc2VsZWN0Li4uKSB7XG4td2Via2l0LXRvdWNoLWNhbGxvdXQ6ICRzZWxlY3Q7XG4gICAgIC1tcy10b3VjaC1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgIC1tb3otdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgICAtbXMtdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgICAgICAgdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG59XG5cbkBtaXhpbiBmbGV4KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXg6ICR2YWx1ZTtcbiAgICAgIC1tcy1mbGV4OiAkdmFsdWU7XG4gICAgICAgICAgZmxleDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1hbGlnbi1jb250ZW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWFsaWduLWNvbnRlbnQ6ICR2YWx1ZTtcbiAgICAgICAgICBhbGlnbi1jb250ZW50OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWFsaWduLWl0ZW1zKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWFsaWduLWl0ZW1zOiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24taXRlbXM6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtYWxpZ24tc2VsZigkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1hbGlnbi1zZWxmOiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24tc2VsZjogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1kaXJlY3Rpb24oJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleC1kaXJlY3Rpb246ICR2YWx1ZTtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogJHZhbHVlO1xufVxuQG1peGluIGZsZXgtZGlyZWN0aW9uLWltcG9ydGFudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogJHZhbHVlIWltcG9ydGFudDtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogJHZhbHVlIWltcG9ydGFudDtcbn1cblxuQG1peGluIGZsZXgtZGlzcGxheSgpIHtcbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuQG1peGluIGZsZXgtanVzdGlmeS1jb250ZW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWp1c3RpZnktY29udGVudDogJHZhbHVlO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1vcmRlcigkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1vcmRlcjogJHZhbHVlO1xuICAgICAgICAgIG9yZGVyOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LXdyYXAoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleC13cmFwOiAkdmFsdWU7XG4gICAgICAgICAgZmxleC13cmFwOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbigpIHtcbiAgQGluY2x1ZGUgZmxleC1kaXNwbGF5KCk7XG4gIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKGNvbHVtbik7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbi1jZW50ZXIoKSB7XG4gIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbn1cblxuQG1peGluIGZsZXgtY29sdW1uLXN0YXJ0KCkge1xuICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGZsZXgtc3RhcnQpO1xufVxuXG5AbWl4aW4gZmxleC1yb3coKSB7XG4gIEBpbmNsdWRlIGZsZXgtZGlzcGxheSgpO1xuICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihyb3cpO1xufVxuXG5AbWl4aW4gZmxleC1yb3ctY2VudGVyKCkge1xuICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG59XG5cbkBtaXhpbiBmbGV4LXJvdy1zdGFydCgpIHtcbiAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LXN0YXJ0KTtcbn1cblxuQG1peGluIGxvY2staGVpZ2h0KCR2YWx1ZS4uLikge1xuICBtYXgtaGVpZ2h0OiAkdmFsdWU7XG4gIG1pbi1oZWlnaHQ6ICR2YWx1ZTtcbiAgaGVpZ2h0OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBsb2NrLXdpZHRoKCR2YWx1ZS4uLikge1xuICBtYXgtd2lkdGg6ICR2YWx1ZTtcbiAgbWluLXdpZHRoOiAkdmFsdWU7XG4gIHdpZHRoOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBsb2NrLXdpZHRoLWlubGluZS1vdmVycmlkZSgkdmFsdWUuLi4pIHtcbiAgbWF4LXdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbiAgbWluLXdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbiAgd2lkdGg6ICR2YWx1ZSAhaW1wb3J0YW50O1xufVxuXG5cbkBtaXhpbiB1bmxvY2std2lkdGggIHtcbiAgbWF4LXdpZHRoOiBub25lO1xuICBtaW4td2lkdGg6IDA7XG4gIHdpZHRoOiBhdXRvO1xufVxuQG1peGluIHVubG9jay1oZWlnaHQgIHtcbiAgbWF4LWhlaWdodDogbm9uZTtcbiAgbWluLWhlaWdodDogMDtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG5AbWl4aW4gY29sdW1uLWNvdW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWNvbHVtbi1jb3VudDogJHZhbHVlO1xuICAtbW96LWNvbHVtbi1jb3VudDogJHZhbHVlO1xuICBjb2x1bW4tY291bnQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGNvbHVtbi1nYXAoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtY29sdW1uLWdhcDogJHZhbHVlO1xuICAtbW96LWNvbHVtbi1nYXA6ICR2YWx1ZTtcbiAgY29sdW1uLWdhcDogJHZhbHVlO1xufVxuXG5AbWl4aW4gY29sdW1uLW5vLWJyZWFrKCkge1xuICAtd2Via2l0LWNvbHVtbi1icmVhay1pbnNpZGU6IGF2b2lkO1xuICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQtY29sdW1uO1xuICAtbW96LWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XG4gIC1vLWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XG4gIC1tcy1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xuICBicmVhay1pbnNpZGU6YXZvaWQtY29sdW1uO1xufVxuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IHJlc3BvbmRcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiRtaW5Db250ZW50V2lkdGg6IDEwMjRweDtcbiRtaW5FZGdlQ29udGVudFBhZGRpbmc6IDE1cHg7XG4kbGFyZ2VCcmVha3BvaW50OiAkbWluQ29udGVudFdpZHRoICsgJG1pbkVkZ2VDb250ZW50UGFkZGluZyoyO1xuJGNvbXByZXNzZWRDb250ZW50V2lkdGg6ICRtaW5Db250ZW50V2lkdGggLSAkbWluRWRnZUNvbnRlbnRQYWRkaW5nKjI7XG4vLyAkc21NaW46IDc2OHB4O1xuJHNtTWF4OiA5MDBweDtcbkBtaXhpbiByZXNwb25kKCRtZWRpYSkge1xuICBAaWYgJG1lZGlhID09IHdoaXRlYm9hcmQtZXhlcmNpc2Utc3RhY2tlZC1hdHRyaWJ1dGVzIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExOTBweCkgeyBAY29udGVudDsgfVxuICB9XG4gIEBpZiAkbWVkaWEgPT0gbGcge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGxhcmdlQnJlYWtwb2ludCkgeyBAY29udGVudDsgfVxuICB9XG4gIEBlbHNlIGlmICRtZWRpYSA9PSBtZCB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAjeyRsYXJnZUJyZWFrcG9pbnQgLSAxcHh9KSB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGVsc2UgaWYgJG1lZGlhID09IHNtIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICN7JHNtTWF4fSkgeyBAY29udGVudDsgfVxuICB9XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiB4cGFkIC8geXBhZFxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgXG5AbWl4aW4geHBhZCgkcGFkKSAge1xuICBwYWRkaW5nLWxlZnQ6ICRwYWQ7XG4gIHBhZGRpbmctcmlnaHQ6ICRwYWQ7XG59XG5AbWl4aW4geXBhZCgkcGFkKSAge1xuICBwYWRkaW5nLXRvcDogJHBhZDtcbiAgcGFkZGluZy1ib3R0b206ICRwYWQ7XG59XG5AbWl4aW4geG1hcmdpbigkZ2FwKSAge1xuICBtYXJnaW4tbGVmdDogJGdhcDtcbiAgbWFyZ2luLXJpZ2h0OiAkZ2FwO1xufVxuQG1peGluIHltYXJnaW4oJGdhcCkgIHtcbiAgbWFyZ2luLXRvcDogJGdhcDtcbiAgbWFyZ2luLWJvdHRvbTogJGdhcDtcbn1cblxuQG1peGluIGFic0NlbnRlckJhc2VfeSgkaCkgIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbWFyZ2luLXRvcDogJGgvLTI7XG59XG5cbkBtaXhpbiBhYnNDZW50ZXJCYXNlKCR3LCAkaDogJHcpICB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLXRvcDogJGgvLTI7XG4gIG1hcmdpbi1sZWZ0OiAkdy8tMjtcbn1cblxuQG1peGluIGFic0NlbnRlckljb24oJHcsICRoOiAkdykgIHtcbiAgQGluY2x1ZGUgYWJzQ2VudGVyQmFzZSgkdywgJGgpO1xuICBmb250LXNpemU6ICRoO1xufVxuQG1peGluIGFic0NlbnRlckljb25feSgkaCkgIHtcbiAgQGluY2x1ZGUgYWJzQ2VudGVyQmFzZV95KCRoKTtcbiAgZm9udC1zaXplOiAkaDtcbn1cblxuQG1peGluIGZsZXhJbmxpbmVPdmVycmlkZSAge1xuICAgIG1pbi13aWR0aDogMCAhaW1wb3J0YW50O1xuICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xuICAgIC13ZWJraXQtZmxleDogMSAhaW1wb3J0YW50O1xuICAgIC1tcy1mbGV4OiAxICFpbXBvcnRhbnQ7XG4gICAgZmxleDogMSAhaW1wb3J0YW50O1xufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIGFwcC1zcGVjaWZpYyBtaXhpbi92YXJzID4gdGFic1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5AbWl4aW4gbGFyZ2UtdGFicy1zdHlsZSAge1xuICBmb250LXNpemU6IDIwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBmb250LXdlaWdodDogNTAwO1xuICBAaW5jbHVkZSByZXNwb25kKG1kKSAge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgfVxufVxuJGxhcmdlLXRhYnMtc3BhY2luZzogNDBweDtcblxuQG1peGluIHRyaW1Jbm5lck1hcmdpbiAge1xuICA+ICogIHtcbiAgICAmOmZpcnN0LWNoaWxkICB7XG4gICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgICY6bGFzdC1jaGlsZCAge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiBwbGFjZWhvbGRlclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgXG5AbWl4aW4gcGxhY2Vob2xkZXIge1xuICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtAY29udGVudH1cbiAgJjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgICB7QGNvbnRlbnR9XG4gICY6Oi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAge0Bjb250ZW50fVxuICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciAgICAgIHtAY29udGVudH0gIFxufVxuXG5cbiIsIlxuLm1vZGFsLWNvbnRhaW5lciBzZWN0aW9uLnByb2ZpbGUtZm9ybSB7XG4gIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGZsZXgtc3RhcnQpO1xuICBtYXJnaW46IDEwcHg7XG4gIG1pbi13aWR0aDogNDAwcHg7XG4gIFxuICBsYWJlbCB7XG4gICAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG4gICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoZmxleC1zdGFydCk7XG4gICAgQGluY2x1ZGUgZmxleC1hbGlnbi1zZWxmKHN0cmV0Y2gpO1xuICAgIG1hcmdpbjogNXB4IDlweDtcbiAgICBtYXgtd2lkdGg6IDMyNXB4O1xuXG4gICAgc3BhbiB7XG4gICAgICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICAgICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoZmxleC1lbmQpO1xuICAgICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gICAgICBtaW4td2lkdGg6IDEwMHB4O1xuICAgIH1cblxuICAgIGlucHV0IHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxufSIsIi5tb2RhbC1jb250YWluZXIge1xuXG4gICYubW9kYWwtYXRobGV0ZS1mb3JtIHtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgICB3aWR0aDogNzQwcHg7XG5cbiAgICBoZWFkZXIge1xuICAgICAgYm9yZGVyOiBub25lO1xuXG4gICAgICBsYWJlbCB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBmb290ZXIge1xuICAgICAgQGluY2x1ZGUgbG9jay1oZWlnaHQoNzVweCk7XG4gICAgICBib3JkZXI6IG5vbmU7XG5cbiAgICAgICYuc21hbGxlciB7XG4gICAgICAgIG1hcmdpbi10b3A6IDVweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBzZWN0aW9uIHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoc3RyZXRjaCk7XG4gICAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChmbGV4LXN0YXJ0KTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgICBtaW4td2lkdGg6IDYwMHB4O1xuXG4gICAgICAmOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2ViZWJlYjtcbiAgICAgIH1cblxuICAgICAgJjpub3QoOmZpcnN0LW9mLXR5cGUpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgIH1cblxuICAgICAgZGl2LnNlY3Rpb24tbGFiZWwge1xuICAgICAgICBtYXJnaW4tbGVmdDogNDBweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICBjb2xvcjogIzc1Nzc3QTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMzJweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI3cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgfVxuXG4gICAgICBkaXYub3B0aW9ucy1jb250YWluZXIge1xuICAgICAgICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICAgICAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChjZW50ZXIpO1xuICAgICAgfVxuICAgICAgZGl2Lm9wdGlvbi1jb250YWluZXIge1xuICAgICAgICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICAgICAgICBtYXJnaW4tbGVmdDogNDBweDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDM1cHg7XG4gICAgICAgIGRpdi5vcHRpb24tbGFiZWwge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgICBAaW5jbHVkZSBsb2NrLXdpZHRoKDExNXB4KTtcbiAgICAgICAgfVxuICAgICAgICBkaXYuY2hvaWNlcy1jb250YWluZXIge1xuICAgICAgICAgIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gICAgICAgICAgLnJhZGlvLWlucHV0IHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMjBweDtcbiAgICAgICAgICAgID4gc3BhbiB7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLnJvdy1jb250YWluZXJcbiAgICAgIHtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgICAgICAgJjpub3QoOmZpcnN0LW9mLXR5cGUpIHtcbiAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2ViZWJlYjtcbiAgICAgICAgfVxuICAgICAgICAmIC5zcGFjZS1iZXR3ZWVuIHtcbiAgICAgICAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChzcGFjZS1iZXR3ZWVuKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmID4gc3BhbiB7XG4gICAgICAgIG1hcmdpbjogMTBweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDQwcHg7XG4gICAgICAgICYubW9kYWwtZXJyb3Ige1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDIzMHB4O1xuICAgICAgICAgICAgY29sb3I6IHJlZDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuZG9iLWZpZWxkIHtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xuICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjZWJlYmViO1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICBzcGFuIHtcbiAgICAgICAgICBtYXJnaW46IDEwcHggMTBweCAxMHB4IDQwcHg7XG4gICAgICAgIH1cbiAgICAgICAgaW5wdXQge1xuICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBsYWJlbCB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoZmxleC1zdGFydCk7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24tc2VsZihzdHJldGNoKTtcbiAgICAgICAgQGluY2x1ZGUgZmxleCgxIDEgMCUpO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDI1cHg7XG5cbiAgICAgICAgJjpub3QoOmZpcnN0LW9mLXR5cGUpIHtcbiAgICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNlYmViZWI7XG4gICAgICAgIH1cblxuICAgICAgICAmLmZlZXQtZmllbGQge1xuICAgICAgICAgIEBpbmNsdWRlIGZsZXgoLjYgMSAwJSk7XG4gICAgICAgIH1cblxuICAgICAgICAmLmluY2hlcy1maWVsZCB7XG4gICAgICAgICAgQGluY2x1ZGUgZmxleCguMzk1IDEgMCUpO1xuICAgICAgICB9XG5cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgbWFyZ2luOiAxMHB4O1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiA0MHB4O1xuICAgICAgICAgIC8vIEBpbmNsdWRlIGxvY2std2lkdGgoMTIwcHgpO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgICBjb2xvcjogIzc1Nzc3QTtcbiAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4zMnB4O1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyN3B4O1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7ICAgICAgICAgIFxuICAgICAgICB9XG5cbiAgICAgICAgLmludmFsaWQtaW5wdXQge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJlZDtcbiAgICAgICAgfVxuXG4gICAgICAgIC52YWxpZGF0aW9uLWNvbnRhaW5lciB7XG4gICAgICAgICAgQGluY2x1ZGUgZmxleCgxIDEgYXV0byk7XG4gICAgICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbi1zZWxmKHN0cmV0Y2gpO1xuICAgICAgICAgIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gICAgICAgICAgLnZhbGlkYXRpb24tbWVzc2FnZSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB6LWluZGV4OiAxMDtcbiAgICAgICAgICAgIHRvcDogNTVweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDNweCA2cHg7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoNDYsNDYsNDYpO1xuICAgICAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgcmdiKDQ2LDQ2LDQ2KTtcbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgIGxlZnQ6IDQ1JTtcbiAgICAgICAgICAgICAgdG9wOiAtMTBweDtcbiAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2IoNDYsNDYsNDYpIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICAgICAgICBib3JkZXItd2lkdGg6IDBweCAxMHB4IDEwcHggMTBweDtcbiAgICAgICAgICAgICAgaGVpZ2h0OiAwcHg7XG4gICAgICAgICAgICAgIHdpZHRoOiAwcHg7XG4gICAgICAgICAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgIG1hcmdpbjogMHB4O1xuICAgICAgICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaW5wdXQge1xuICAgICAgICAgIEBpbmNsdWRlIGZsZXgoMSAxIGF1dG8pO1xuICAgICAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24tc2VsZihzdHJldGNoKTtcbiAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogMHB4O1xuICAgICAgICAgIHBhZGRpbmc6IDBweDtcbiAgICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDI3cHg7XG4gICAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgICBtYXJnaW46IDFweDtcbiAgICAgICAgICB0ZXh0LWluZGVudDogMTBweDtcbiAgICAgICAgICAmLm1lYXN1cmVtZW50IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgoMCAwIGF1dG8pO1xuICAgICAgICAgICAgQGluY2x1ZGUgbG9jay13aWR0aCg1NXB4KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuZGF0ZS1pbnB1dCB7XG4gICAgICAgICAgd2lkdGg6IDIyMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmltcGVyaWFsLWhlaWdodCB7XG4gICAgICAgICAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgICAgICAgICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG4gICAgICAgICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoZmxleC1zdGFydCk7XG4gICAgICAgICAgbWluLXdpZHRoOiA0NSU7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIC8vICYuZmVldCB7XG4gICAgICAgICAgLy8gICBtYXJnaW4tcmlnaHQ6IDdweDtcbiAgICAgICAgICAvLyB9XG4gICAgICAgICAgJi5pbmNoZXMge1xuICAgICAgICAgICAgbWluLXdpZHRoOiA4MCU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgc2VsZWN0IHtcbiAgICAgICAgICBAaW5jbHVkZSBhcHBlYXJhbmNlKG5vbmUpO1xuICAgICAgICAgIEBpbmNsdWRlIGZsZXgoMSAxIGF1dG8pO1xuICAgICAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24tc2VsZihzdHJldGNoKTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgICBtYXJnaW46IDFweDtcbiAgICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICAgIHRleHQtaW5kZW50OiAxMHB4O1xuXG4gICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICAgIH1cblxuICAgICAgICAgICY6LW1vei1mb2N1c3Jpbmcge1xuICAgICAgICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgdGV4dC1zaGFkb3c6IDAgMCAwICMwMDA7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJjo6LW1zLWV4cGFuZCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgIH0gICAgICAgICAgXG5cbiAgICAgICAgICAmICsgaS5pY29uLWNhcmV0LWRvd24ge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAyNXB4O1xuICAgICAgICAgICAgcmlnaHQ6IDIwcHg7XG4gICAgICAgICAgICBjb2xvcjogI0Q5REJEQztcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogNnB4O1xuICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgICAgICAmLmZlZXQge1xuICAgICAgICAgICAgICB0b3A6IDEwcHg7XG4gICAgICAgICAgICAgIHJpZ2h0OiAzNXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi5pbmNoZXMge1xuICAgICAgICAgICAgICB0b3A6IDEwcHg7XG4gICAgICAgICAgICAgIHJpZ2h0OiA1MHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICAmLmltcGVyaWFsIHtcbiAgICAgICAgICAgIHRleHQtaW5kZW50OiAzMHB4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgLm1vZGFsLWNvbnRhaW5lci5tb2RhbC1hdGhsZXRlLWZvcm0ge1xuICAgIHBvc2l0aW9uOiBmaXhlZCAhaW1wb3J0YW50O1xuICAgIHRvcDogMCAhaW1wb3J0YW50O1xuICAgIGxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICByaWdodDogMCAhaW1wb3J0YW50O1xuICAgIGJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgbWluLXdpZHRoOiAwICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgb3ZlcmZsb3cteTogYXV0bztcblxuICAgIGZvb3RlciB7XG4gICAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZWJlYmViO1xuICAgICAgei1pbmRleDogMTtcbiAgICB9XG5cbiAgICBzZWN0aW9uIHtcbiAgICAgIG1pbi13aWR0aDogMDtcblxuICAgICAgLy8gb25seSBkaXJlY3QgY2hpbGQgcm93LWNvbnRhaW5lcnMgKGZvcm0gcm93cykgZ28gdG8gY29sdW1uLCBleGNlcHQgaGVpZ2h0IHJvd1xuICAgICAgLy8gbmVzdGVkIHJvdy1jb250YWluZXJzIChlLmcuIGluc2lkZSBmdXNpb24tY2FsZW5kYXIgLmRhdGUtaW5wdXQpIHN0YXkgYXMtaXNcbiAgICAgID4gLnJvdy1jb250YWluZXI6bm90KC5oZWlnaHQtZmllbGRzLXJvdykge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICAgICAgIGxhYmVsIHtcbiAgICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgICAgICBtaW4taGVpZ2h0OiA0NHB4O1xuXG4gICAgICAgICAgJjpub3QoOmZpcnN0LW9mLXR5cGUpIHtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiBub25lO1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlYmViZWI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cblxuICAgICAgLmRvYi1maWVsZCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZWJlYmViO1xuICAgICAgfVxuXG4gICAgICA+IC5yb3ctY29udGFpbmVyLnNwYWNlLWJldHdlZW4ge1xuICAgICAgICBwYWRkaW5nLXRvcDogMTBweDtcblxuICAgICAgICAub3B0aW9ucy1jb250YWluZXIge1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgLm9wdGlvbi1jb250YWluZXIge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDQwcHg7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuaW1hZ2UtY29udHJvbCB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgcGFkZGluZzogMTBweCAyMHB4IDIwcHggNDBweDtcbiAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2ViZWJlYjtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAaW1wb3J0IFwidmFyaWFibGVzXCI7XG5AaW1wb3J0IFwibWl4aW5zXCI7XG5cbi5zZWxlY3QtYWxsIHtcbiAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgbWFyZ2luLWJvdHRvbTogMjVweDtcbn1cblxuLnNlbGVjdC1hdGhsZXRlLWxpc3Qge1xuICAgIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XG4gICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcblxuICAgIG1hcmdpbjogNDVweCA2NXB4IDQ1cHggNjVweDtcbiAgICBwYWRkaW5nOiAxNXB4IDBweDtcbiAgICBtaW4taGVpZ2h0OiA4MHB4O1xuICAgIG1heC1oZWlnaHQ6IDQwMHB4O1xuICAgIG1pbi13aWR0aDogMzAwcHg7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICAuYXRobGV0ZXMge1xuICAgICAgaGVpZ2h0OiAzMDBweDtcbiAgICAgIC5hdGhsZXRlLW5hbWUge1xuICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAgIGNvbG9yOiAjNzU3NzdBO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4zMnB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMjdweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xuICAgICAgICAmLmFsbCB7XG4gICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxufSIsIiRyZWQ6ICNjNDJhM2I7XG4kYmx1ZTogIzk3NjhFQjtcbiRkYXJrX2JsdWU6ICMxMTI2NGI7XG4kZ3JleTogIzgwODA4MDtcbiRncmVlbjogIzIwYjc2OTtcbiR3aGl0ZTogI2ZmZmZmZjtcbiR5ZWxsb3c6ICNkOGI2MmY7XG4kbGlnaHRfZ3JleTogI2NkY2RjZDtcbiRkYXJrX2dyZXk6ICM2ZDZlNzI7XG4kc2NvcmUtZ3JlZW46ICMwMEI5NkQ7XG4kc2NvcmUtcmVkOiAjRDE0MDRCO1xuJHNjb3JlLXllbGxvdzogI0Q3QkI0MztcblxuJGZvb3Rlcl9iYWNrZ3JvdW5kOiAjMTEyNjRiO1xuJGF0aGxldGVfaGVhZGVyX3ByaW1hcnk6ICNlMWUxZTE7XG4kYXRobGV0ZV9oZWFkZXJfc2Vjb25kYXJ5OiAjZTFlMWUxO1xuJGF0aGxldGVfbGlzdF9uYW1lOiAjZjdmN2Y3O1xuIiwiXG5AbWl4aW4gdHJhbnNmb3JtKCR0cmFuc2Zvcm1zKSB7XG4gICAgIC1tb3otdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgICAtby10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAgICAgLW1zLXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgICAgICB0cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xufVxuXG5AbWl4aW4gYXBwZWFyYW5jZSgkYXBwZWFyYW5jZS4uLikge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xuICAgICAtbW96LWFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xuICAgICAgICAgIGFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xufVxuXG5AbWl4aW4gYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cy4uLikge1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgICAtbW96LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xufVxuXG5AbWl4aW4gYm94LXNoYWRvdygkc2hhZG93Li4uKSB7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogJHNoYWRvdztcbiAgICAgLW1vei1ib3gtc2hhZG93OiAkc2hhZG93O1xuICAgICAgICAgIGJveC1zaGFkb3c6ICRzaGFkb3c7XG59XG5cbkBtaXhpbiBib3gtc2l6aW5nKCRzaXplLi4uKSB7XG4gIC13ZWJraXQtYm94LXNpemluZzogJHNpemU7XG4gICAgIC1tb3otYm94LXNpemluZzogJHNpemU7XG4gICAgICAgICAgYm94LXNpemluZzogJHNpemU7XG59XG5cbkBtaXhpbiB1c2VyLXNlbGVjdCgkc2VsZWN0Li4uKSB7XG4td2Via2l0LXRvdWNoLWNhbGxvdXQ6ICRzZWxlY3Q7XG4gICAgIC1tcy10b3VjaC1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgIC1tb3otdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgICAtbXMtdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgICAgICAgdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG59XG5cbkBtaXhpbiBmbGV4KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXg6ICR2YWx1ZTtcbiAgICAgIC1tcy1mbGV4OiAkdmFsdWU7XG4gICAgICAgICAgZmxleDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1hbGlnbi1jb250ZW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWFsaWduLWNvbnRlbnQ6ICR2YWx1ZTtcbiAgICAgICAgICBhbGlnbi1jb250ZW50OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWFsaWduLWl0ZW1zKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWFsaWduLWl0ZW1zOiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24taXRlbXM6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtYWxpZ24tc2VsZigkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1hbGlnbi1zZWxmOiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24tc2VsZjogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1kaXJlY3Rpb24oJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleC1kaXJlY3Rpb246ICR2YWx1ZTtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogJHZhbHVlO1xufVxuQG1peGluIGZsZXgtZGlyZWN0aW9uLWltcG9ydGFudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogJHZhbHVlIWltcG9ydGFudDtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogJHZhbHVlIWltcG9ydGFudDtcbn1cblxuQG1peGluIGZsZXgtZGlzcGxheSgpIHtcbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuQG1peGluIGZsZXgtanVzdGlmeS1jb250ZW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWp1c3RpZnktY29udGVudDogJHZhbHVlO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1vcmRlcigkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1vcmRlcjogJHZhbHVlO1xuICAgICAgICAgIG9yZGVyOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LXdyYXAoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleC13cmFwOiAkdmFsdWU7XG4gICAgICAgICAgZmxleC13cmFwOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbigpIHtcbiAgQGluY2x1ZGUgZmxleC1kaXNwbGF5KCk7XG4gIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKGNvbHVtbik7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbi1jZW50ZXIoKSB7XG4gIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbn1cblxuQG1peGluIGZsZXgtY29sdW1uLXN0YXJ0KCkge1xuICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGZsZXgtc3RhcnQpO1xufVxuXG5AbWl4aW4gZmxleC1yb3coKSB7XG4gIEBpbmNsdWRlIGZsZXgtZGlzcGxheSgpO1xuICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihyb3cpO1xufVxuXG5AbWl4aW4gZmxleC1yb3ctY2VudGVyKCkge1xuICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG59XG5cbkBtaXhpbiBmbGV4LXJvdy1zdGFydCgpIHtcbiAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LXN0YXJ0KTtcbn1cblxuQG1peGluIGxvY2staGVpZ2h0KCR2YWx1ZS4uLikge1xuICBtYXgtaGVpZ2h0OiAkdmFsdWU7XG4gIG1pbi1oZWlnaHQ6ICR2YWx1ZTtcbiAgaGVpZ2h0OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBsb2NrLXdpZHRoKCR2YWx1ZS4uLikge1xuICBtYXgtd2lkdGg6ICR2YWx1ZTtcbiAgbWluLXdpZHRoOiAkdmFsdWU7XG4gIHdpZHRoOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBsb2NrLXdpZHRoLWlubGluZS1vdmVycmlkZSgkdmFsdWUuLi4pIHtcbiAgbWF4LXdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbiAgbWluLXdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbiAgd2lkdGg6ICR2YWx1ZSAhaW1wb3J0YW50O1xufVxuXG5cbkBtaXhpbiB1bmxvY2std2lkdGggIHtcbiAgbWF4LXdpZHRoOiBub25lO1xuICBtaW4td2lkdGg6IDA7XG4gIHdpZHRoOiBhdXRvO1xufVxuQG1peGluIHVubG9jay1oZWlnaHQgIHtcbiAgbWF4LWhlaWdodDogbm9uZTtcbiAgbWluLWhlaWdodDogMDtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG5AbWl4aW4gY29sdW1uLWNvdW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWNvbHVtbi1jb3VudDogJHZhbHVlO1xuICAtbW96LWNvbHVtbi1jb3VudDogJHZhbHVlO1xuICBjb2x1bW4tY291bnQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGNvbHVtbi1nYXAoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtY29sdW1uLWdhcDogJHZhbHVlO1xuICAtbW96LWNvbHVtbi1nYXA6ICR2YWx1ZTtcbiAgY29sdW1uLWdhcDogJHZhbHVlO1xufVxuXG5AbWl4aW4gY29sdW1uLW5vLWJyZWFrKCkge1xuICAtd2Via2l0LWNvbHVtbi1icmVhay1pbnNpZGU6IGF2b2lkO1xuICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQtY29sdW1uO1xuICAtbW96LWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XG4gIC1vLWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XG4gIC1tcy1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xuICBicmVhay1pbnNpZGU6YXZvaWQtY29sdW1uO1xufVxuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IHJlc3BvbmRcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiRtaW5Db250ZW50V2lkdGg6IDEwMjRweDtcbiRtaW5FZGdlQ29udGVudFBhZGRpbmc6IDE1cHg7XG4kbGFyZ2VCcmVha3BvaW50OiAkbWluQ29udGVudFdpZHRoICsgJG1pbkVkZ2VDb250ZW50UGFkZGluZyoyO1xuJGNvbXByZXNzZWRDb250ZW50V2lkdGg6ICRtaW5Db250ZW50V2lkdGggLSAkbWluRWRnZUNvbnRlbnRQYWRkaW5nKjI7XG4vLyAkc21NaW46IDc2OHB4O1xuJHNtTWF4OiA5MDBweDtcbkBtaXhpbiByZXNwb25kKCRtZWRpYSkge1xuICBAaWYgJG1lZGlhID09IHdoaXRlYm9hcmQtZXhlcmNpc2Utc3RhY2tlZC1hdHRyaWJ1dGVzIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExOTBweCkgeyBAY29udGVudDsgfVxuICB9XG4gIEBpZiAkbWVkaWEgPT0gbGcge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGxhcmdlQnJlYWtwb2ludCkgeyBAY29udGVudDsgfVxuICB9XG4gIEBlbHNlIGlmICRtZWRpYSA9PSBtZCB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAjeyRsYXJnZUJyZWFrcG9pbnQgLSAxcHh9KSB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGVsc2UgaWYgJG1lZGlhID09IHNtIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICN7JHNtTWF4fSkgeyBAY29udGVudDsgfVxuICB9XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiB4cGFkIC8geXBhZFxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgXG5AbWl4aW4geHBhZCgkcGFkKSAge1xuICBwYWRkaW5nLWxlZnQ6ICRwYWQ7XG4gIHBhZGRpbmctcmlnaHQ6ICRwYWQ7XG59XG5AbWl4aW4geXBhZCgkcGFkKSAge1xuICBwYWRkaW5nLXRvcDogJHBhZDtcbiAgcGFkZGluZy1ib3R0b206ICRwYWQ7XG59XG5AbWl4aW4geG1hcmdpbigkZ2FwKSAge1xuICBtYXJnaW4tbGVmdDogJGdhcDtcbiAgbWFyZ2luLXJpZ2h0OiAkZ2FwO1xufVxuQG1peGluIHltYXJnaW4oJGdhcCkgIHtcbiAgbWFyZ2luLXRvcDogJGdhcDtcbiAgbWFyZ2luLWJvdHRvbTogJGdhcDtcbn1cblxuQG1peGluIGFic0NlbnRlckJhc2VfeSgkaCkgIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbWFyZ2luLXRvcDogJGgvLTI7XG59XG5cbkBtaXhpbiBhYnNDZW50ZXJCYXNlKCR3LCAkaDogJHcpICB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLXRvcDogJGgvLTI7XG4gIG1hcmdpbi1sZWZ0OiAkdy8tMjtcbn1cblxuQG1peGluIGFic0NlbnRlckljb24oJHcsICRoOiAkdykgIHtcbiAgQGluY2x1ZGUgYWJzQ2VudGVyQmFzZSgkdywgJGgpO1xuICBmb250LXNpemU6ICRoO1xufVxuQG1peGluIGFic0NlbnRlckljb25feSgkaCkgIHtcbiAgQGluY2x1ZGUgYWJzQ2VudGVyQmFzZV95KCRoKTtcbiAgZm9udC1zaXplOiAkaDtcbn1cblxuQG1peGluIGZsZXhJbmxpbmVPdmVycmlkZSAge1xuICAgIG1pbi13aWR0aDogMCAhaW1wb3J0YW50O1xuICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xuICAgIC13ZWJraXQtZmxleDogMSAhaW1wb3J0YW50O1xuICAgIC1tcy1mbGV4OiAxICFpbXBvcnRhbnQ7XG4gICAgZmxleDogMSAhaW1wb3J0YW50O1xufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIGFwcC1zcGVjaWZpYyBtaXhpbi92YXJzID4gdGFic1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5AbWl4aW4gbGFyZ2UtdGFicy1zdHlsZSAge1xuICBmb250LXNpemU6IDIwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBmb250LXdlaWdodDogNTAwO1xuICBAaW5jbHVkZSByZXNwb25kKG1kKSAge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgfVxufVxuJGxhcmdlLXRhYnMtc3BhY2luZzogNDBweDtcblxuQG1peGluIHRyaW1Jbm5lck1hcmdpbiAge1xuICA+ICogIHtcbiAgICAmOmZpcnN0LWNoaWxkICB7XG4gICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgICY6bGFzdC1jaGlsZCAge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiBwbGFjZWhvbGRlclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgXG5AbWl4aW4gcGxhY2Vob2xkZXIge1xuICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtAY29udGVudH1cbiAgJjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgICB7QGNvbnRlbnR9XG4gICY6Oi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAge0Bjb250ZW50fVxuICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciAgICAgIHtAY29udGVudH0gIFxufVxuXG5cbiIsIi5tb2RhbC1jb250YWluZXIge1xuXG4gICYubW9kYWwtdGVybXMge1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIHdpZHRoOiA3NDBweDtcbiAgICBwYWRkaW5nOiAyMHB4IDQwcHg7XG4gICAgZm9vdGVyIHtcbiAgICAgIG1hcmdpbi10b3A6IDI1cHg7XG4gICAgICBidXR0b24ge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn0iLCJcbi5hZG1pbi1tZW51IHtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LWVuZCk7XG4gIEBpbmNsdWRlIGxvY2staGVpZ2h0KDY1cHgpO1xuXG4gID4gZGl2IHtcbiAgICBAaW5jbHVkZSBsb2NrLWhlaWdodCg0MHB4KTtcbiAgICBjb2xvcjogI2EwYTRhODtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDFweDtcblxuICAgICYuYWN0aXZlIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDRweCBzb2xpZCAkYmx1ZTtcbiAgICAgIGNvbG9yOiAjZWZlZmVmO1xuICAgIH1cblxuICAgICY6bm90KC5hY3RpdmUpOmhvdmVyIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDRweCBzb2xpZCAjYTBhNGE4O1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cblxuICAgIGEge1xuICAgICAgQGluY2x1ZGUgbG9jay1oZWlnaHQoNDBweCk7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuXG4gICAgc3Bhbi5tYXJrZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgcmlnaHQ6IC0zMHB4O1xuICAgICAgd2lkdGg6IDIzcHg7XG4gICAgICBoZWlnaHQ6IDIycHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmYwMDAwO1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbiAgfVxuXG4gID4gZGl2ICsgZGl2IHtcbiAgICBtYXJnaW4tbGVmdDogMzVweDtcbiAgfVxufVxuXG4uYWRtaW4tc3ViLW1lbnUge1xuICBAaW5jbHVkZSBsb2NrLWhlaWdodCgzMHB4KTtcbiAgY29sb3I6ICNhMGE0YTg7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG5cbiAgPiBkaXYge1xuICAgIEBpbmNsdWRlIGxvY2staGVpZ2h0KDMwcHgpO1xuXG4gICAgJi5hY3RpdmUge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICRibHVlO1xuICAgICAgY29sb3I6ICNlZmVmZWY7XG4gICAgfVxuXG4gICAgJjpub3QoLmFjdGl2ZSk6aG92ZXIge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNhMGE0YTg7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuICB9XG5cbiAgPiBkaXYgKyBkaXYge1xuICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xuICB9XG59XG5cbi50YWItbWVudSB7XG4gIEBpbmNsdWRlIGxvY2staGVpZ2h0KDQ1cHgpO1xuICBAaW5jbHVkZSBsb2NrLXdpZHRoKDEwMHB4KTtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkZGQ7XG4gIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNkZGQ7XG4gIHBhZGRpbmc6IDAgMTBweDtcblxuICBzcGFuIHtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICB9XG5cbiAgJi5zZWxlY3RlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzk3NjhFQjtcbiAgICBzcGFuIHtcbiAgICAgIGNvbG9yOiAjZmVmZWZlO1xuICAgIH1cbiAgfVxufVxuXG4udGFiLW1lbnU6Zmlyc3QtY2hpbGQge1xuICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNkZGQ7XG59XG5cbi50YWItdmlldyB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7XG4gIHBhZGRpbmc6IDVweDtcbn1cblxuLnRhYi12aWV3LWxpc3Qge1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIHBhZGRpbmctbGVmdDogMDtcbn0iLCJAaW1wb3J0IFwidmFyaWFibGVzXCI7XG5AaW1wb3J0IFwibWl4aW5zXCI7XG5cbi50ZXN0LWNvbnRhaW5lci1oZWFkZXIgIHtcblx0QGluY2x1ZGUgZmxleC1yb3c7XG5cdG1hcmdpbi10b3A6IDI1cHg7XHRcblx0QG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG5cdFx0QGluY2x1ZGUgZmxleC1kaXJlY3Rpb24oY29sdW1uKTtcblx0fVxuXHQudGl0bGUgIHtcblx0XHRtYXJnaW46IDA7XG5cdFx0Zm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgZm9udC1zaXplOiAzNC41cHg7XG4gICAgICAgIGNvbG9yOiAjNzU3ODdCO1xuICAgICAgICBsaW5lLWhlaWdodDogNDBweDtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjZweDtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1yb3ctY2VudGVyO1x0XG5cdFx0bWluLWhlaWdodDogNDZweDtcblx0fSBcblx0Lm1haW4tY29sICB7XG5cdFx0QGluY2x1ZGUgZmxleCgxIDAgYXV0byk7XG5cdFx0cGFkZGluZy1yaWdodDogMjBweDtcdFx0XG5cdH1cblx0LnNpZGUtY29sICB7XHRcdFxuXHRcdHRleHQtYWxpZ246IHJpZ2h0O1x0XG5cdFx0QG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG5cdFx0XHR0ZXh0LWFsaWduOiBsZWZ0O1x0XG5cdFx0fVxuXHRcdD4gZGl2Om5vdChbY2xhc3NdKSAge1xuXHRcdFx0Zm9udC1zaXplOiAxNi41OXB4O1xuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMzFweDtcdFxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDIycHg7XG5cdFx0fVxuXHR9XG59XG5cbi50ZXN0LXJlc3VsdC1jb250YWluZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG59XG5cbi50ZXN0LXJlc3VsdC1oZWFkZXIge1xuXHRAaW5jbHVkZSBmbGV4LXJvdztcbiAgICBtYXJnaW46IDAgMCAxMHB4O1xuICAgIC50aXRsZSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMzQuNXB4O1xuICAgICAgICBjb2xvcjogJGJsdWU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA0MHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA2cHg7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC42cHg7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtcm93LWNlbnRlcjtcdFxuXHRcdG1pbi1oZWlnaHQ6IDQ2cHg7ICAgICAgICBcbiAgICAgICAgbWFyZ2luOiAwIDAgNnB4OyAgICAgICAgXG4gICAgfTtcbn1cblxuLmlucHV0LXJlc3VsdHMge1xuICAgIEBpbmNsdWRlIGZsZXgtcm93LWNlbnRlcigpO1xuICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGNlbnRlcik7ICBcbn1cblxuLnJlc3VsdHMtY29sdW1uLWNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgY29sdW1uLWNvdW50KDIpO1xuICAgIEBpbmNsdWRlIGNvbHVtbi1nYXAoNGVtKTsgIFxuXHRcdEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuXHRcdFx0QGluY2x1ZGUgY29sdW1uLWNvdW50KDEpO1xuXHRcdH0gXG59XG5cbi5leGVyY2lzZS1kZXRhaWxzIHtcbiAgICBAaW5jbHVkZSBjb2x1bW4tbm8tYnJlYWsoKTsgIFxufVxuXG4ubGlua2VkLXJlc3VsdHMtaGVhZGVyIHtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZm9udC1zaXplOiAzNC41cHg7XG4gIGNvbG9yOiAjNzU3ODdCO1xuICBsaW5lLWhlaWdodDogNDBweDtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjZweDsgIFxufVxuXG4udGVzdGVkLWJ5IHtcblx0Zm9udC1zaXplOiAxM3B4O1xuXHRjb2xvcjogIzc1Nzc3QTtcblx0bGV0dGVyLXNwYWNpbmc6IDAuNHB4O1xuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRmb250LXdlaWdodDogYm9sZDtcbiAgICBsaW5lLWhlaWdodDogMThweDtcbn1cblxuLnBlcmZvcm0tYWRkaXRpb25hbC1yZXN1bHRzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWZlZmVmO1xufVxuXG4ucGVyZm9ybWFuY2UtcmVzdWx0cyAgeyAgXG5cdHBhZGRpbmc6IDgwcHggMCA4MHB4O1xuXHRtYXgtd2lkdGg6IDc3OHB4O1xuXHRtYXJnaW46IDAgYXV0bztcblx0LmgyICB7XG5cdFx0bWFyZ2luOiAwIDAgMjBweDtcblx0fVxuXHRzZWN0aW9uICB7XG4gICAgcGFnZS1icmVhay1pbnNpZGUgOiBhdm9pZDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMzJweDsgICAgXG5cdFx0KyBzZWN0aW9uICB7XG4gICAgICBwYWRkaW5nLXRvcDogMzJweDtcblx0XHR9XG5cdH1cbn1cblxuLnBlcmZvcm0tbm90ZXMtc2VjdGlvbiB7XG4gIG1heC13aWR0aDogNzc4cHg7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBwYWRkaW5nOiAwIDAgMTIwcHggMDtcbiAgLmhlYWRlciB7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGNvbG9yOiAjNzU3NzdBO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjRweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGxpbmUtaGVpZ2h0OiAxOHB4O1xuICAgIHBhZGRpbmc6IDAgMCAxMnB4O1xuICB9XG4gIC5wcm9zZSB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgY29sb3I6ICM5MjkzOTI7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgfVxufVxuXG4uc3RyZXNzLWluZGV4LWJsb2NrIHtcbiAgbWFyZ2luLXRvcDogNDVweDtcblx0Y2FudmFzIHtcblx0XHR3aWR0aDogMTEyNHB4O1xuXHRcdGhlaWdodDogODBweDtcblx0XHRAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0aGVpZ2h0OiBhdXRvO1xuXHRcdH1cblx0fVxuXHRpbWcge1xuXHRcdG1heC13aWR0aDogMTAwJTtcblx0fVxuICA+IC5oZWFkZXIgIHtcblx0XHRtYXJnaW4tYm90dG9tOiA2cHg7XG5cdFx0LnRpdGxlICB7XG5cdFx0XHRmb250LXdlaWdodDogNDAwO1xuXHRcdFx0Zm9udC1zaXplOiAxOHB4O1xuXHRcdFx0Y29sb3I6ICM3NTc4N0I7XG5cdFx0XHRsZXR0ZXItc3BhY2luZzogMXB4O1xuXHRcdFx0bGluZS1oZWlnaHQ6IDE7XG5cdFx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdFx0bWFyZ2luOiAwIDAgMThweDtcblx0XHR9XG5cdH1cbn1cblxuLmNhdC1oZWFkZXIge1xuICBAaW5jbHVkZSBmbGV4LXJvdztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBjb2xvcjogIzc1Nzg3QjtcbiAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIG1hcmdpbjogNDBweCAwIDE4cHg7XG59XG4uY2F0LXNjb3JlICB7XG5cdGNvbG9yOiAjZmZmO1xuICBwYWRkaW5nOiAzcHggNXB4O1xuICBtYXJnaW4tbGVmdDogMjBweDtcblx0Ji5ncmVlbiAge1xuXHRcdGJhY2tncm91bmQ6ICRzY29yZS1ncmVlbjtcblx0XHQrIC5kb3QgIHtcblx0XHRcdGJhY2tncm91bmQ6ICRzY29yZS1ncmVlbjtcblx0XHR9XG5cdH1cblx0Ji55ZWxsb3cgIHtcblx0XHRiYWNrZ3JvdW5kOiAkc2NvcmUteWVsbG93O1xuXHRcdCsgLmRvdCAge1xuXHRcdFx0YmFja2dyb3VuZDogJHNjb3JlLXllbGxvdztcblx0XHR9XG5cdH1cblx0Ji5yZWQgIHtcblx0XHRiYWNrZ3JvdW5kOiAkc2NvcmUtcmVkO1xuXHRcdCsgLmRvdCAge1xuXHRcdFx0YmFja2dyb3VuZDogJHNjb3JlLXJlZDtcblx0XHR9XG5cdH1cbn0iLCIkcmVkOiAjYzQyYTNiO1xuJGJsdWU6ICM5NzY4RUI7XG4kZGFya19ibHVlOiAjMTEyNjRiO1xuJGdyZXk6ICM4MDgwODA7XG4kZ3JlZW46ICMyMGI3Njk7XG4kd2hpdGU6ICNmZmZmZmY7XG4keWVsbG93OiAjZDhiNjJmO1xuJGxpZ2h0X2dyZXk6ICNjZGNkY2Q7XG4kZGFya19ncmV5OiAjNmQ2ZTcyO1xuJHNjb3JlLWdyZWVuOiAjMDBCOTZEO1xuJHNjb3JlLXJlZDogI0QxNDA0QjtcbiRzY29yZS15ZWxsb3c6ICNEN0JCNDM7XG5cbiRmb290ZXJfYmFja2dyb3VuZDogIzExMjY0YjtcbiRhdGhsZXRlX2hlYWRlcl9wcmltYXJ5OiAjZTFlMWUxO1xuJGF0aGxldGVfaGVhZGVyX3NlY29uZGFyeTogI2UxZTFlMTtcbiRhdGhsZXRlX2xpc3RfbmFtZTogI2Y3ZjdmNztcbiIsIlxuQG1peGluIHRyYW5zZm9ybSgkdHJhbnNmb3Jtcykge1xuICAgICAtbW96LXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gICAgICAgLW8tdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgIC1tcy10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAtd2Via2l0LXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gICAgICAgICAgdHJhbnNmb3JtOiAkdHJhbnNmb3Jtcztcbn1cblxuQG1peGluIGFwcGVhcmFuY2UoJGFwcGVhcmFuY2UuLi4pIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcbiAgICAgLW1vei1hcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcbiAgICAgICAgICBhcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcbn1cblxuQG1peGluIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMuLi4pIHtcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICAgLW1vei1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbn1cblxuQG1peGluIGJveC1zaGFkb3coJHNoYWRvdy4uLikge1xuICAtd2Via2l0LWJveC1zaGFkb3c6ICRzaGFkb3c7XG4gICAgIC1tb3otYm94LXNoYWRvdzogJHNoYWRvdztcbiAgICAgICAgICBib3gtc2hhZG93OiAkc2hhZG93O1xufVxuXG5AbWl4aW4gYm94LXNpemluZygkc2l6ZS4uLikge1xuICAtd2Via2l0LWJveC1zaXppbmc6ICRzaXplO1xuICAgICAtbW96LWJveC1zaXppbmc6ICRzaXplO1xuICAgICAgICAgIGJveC1zaXppbmc6ICRzaXplO1xufVxuXG5AbWl4aW4gdXNlci1zZWxlY3QoJHNlbGVjdC4uLikge1xuLXdlYmtpdC10b3VjaC1jYWxsb3V0OiAkc2VsZWN0O1xuICAgICAtbXMtdG91Y2gtc2VsZWN0OiAkc2VsZWN0O1xuICAgICAtbW96LXVzZXItc2VsZWN0OiAkc2VsZWN0O1xuICAgICAgLW1zLXVzZXItc2VsZWN0OiAkc2VsZWN0O1xuICAgICAgICAgIHVzZXItc2VsZWN0OiAkc2VsZWN0O1xufVxuXG5AbWl4aW4gZmxleCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1mbGV4OiAkdmFsdWU7XG4gICAgICAtbXMtZmxleDogJHZhbHVlO1xuICAgICAgICAgIGZsZXg6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtYWxpZ24tY29udGVudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1hbGlnbi1jb250ZW50OiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24tY29udGVudDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1hbGlnbi1pdGVtcygkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1hbGlnbi1pdGVtczogJHZhbHVlO1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWFsaWduLXNlbGYoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtYWxpZ24tc2VsZjogJHZhbHVlO1xuICAgICAgICAgIGFsaWduLXNlbGY6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtZGlyZWN0aW9uKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiAkdmFsdWU7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246ICR2YWx1ZTtcbn1cbkBtaXhpbiBmbGV4LWRpcmVjdGlvbi1pbXBvcnRhbnQoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleC1kaXJlY3Rpb246ICR2YWx1ZSFpbXBvcnRhbnQ7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246ICR2YWx1ZSFpbXBvcnRhbnQ7XG59XG5cbkBtaXhpbiBmbGV4LWRpc3BsYXkoKSB7XG4gIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbkBtaXhpbiBmbGV4LWp1c3RpZnktY29udGVudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6ICR2YWx1ZTtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtb3JkZXIoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtb3JkZXI6ICR2YWx1ZTtcbiAgICAgICAgICBvcmRlcjogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC13cmFwKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXgtd3JhcDogJHZhbHVlO1xuICAgICAgICAgIGZsZXgtd3JhcDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1jb2x1bW4oKSB7XG4gIEBpbmNsdWRlIGZsZXgtZGlzcGxheSgpO1xuICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihjb2x1bW4pO1xufVxuXG5AbWl4aW4gZmxleC1jb2x1bW4tY2VudGVyKCkge1xuICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbi1zdGFydCgpIHtcbiAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LXN0YXJ0KTtcbn1cblxuQG1peGluIGZsZXgtcm93KCkge1xuICBAaW5jbHVkZSBmbGV4LWRpc3BsYXkoKTtcbiAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24ocm93KTtcbn1cblxuQG1peGluIGZsZXgtcm93LWNlbnRlcigpIHtcbiAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xufVxuXG5AbWl4aW4gZmxleC1yb3ctc3RhcnQoKSB7XG4gIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoZmxleC1zdGFydCk7XG59XG5cbkBtaXhpbiBsb2NrLWhlaWdodCgkdmFsdWUuLi4pIHtcbiAgbWF4LWhlaWdodDogJHZhbHVlO1xuICBtaW4taGVpZ2h0OiAkdmFsdWU7XG4gIGhlaWdodDogJHZhbHVlO1xufVxuXG5AbWl4aW4gbG9jay13aWR0aCgkdmFsdWUuLi4pIHtcbiAgbWF4LXdpZHRoOiAkdmFsdWU7XG4gIG1pbi13aWR0aDogJHZhbHVlO1xuICB3aWR0aDogJHZhbHVlO1xufVxuXG5AbWl4aW4gbG9jay13aWR0aC1pbmxpbmUtb3ZlcnJpZGUoJHZhbHVlLi4uKSB7XG4gIG1heC13aWR0aDogJHZhbHVlICFpbXBvcnRhbnQ7XG4gIG1pbi13aWR0aDogJHZhbHVlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbn1cblxuXG5AbWl4aW4gdW5sb2NrLXdpZHRoICB7XG4gIG1heC13aWR0aDogbm9uZTtcbiAgbWluLXdpZHRoOiAwO1xuICB3aWR0aDogYXV0bztcbn1cbkBtaXhpbiB1bmxvY2staGVpZ2h0ICB7XG4gIG1heC1oZWlnaHQ6IG5vbmU7XG4gIG1pbi1oZWlnaHQ6IDA7XG4gIGhlaWdodDogYXV0bztcbn1cblxuQG1peGluIGNvbHVtbi1jb3VudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1jb2x1bW4tY291bnQ6ICR2YWx1ZTtcbiAgLW1vei1jb2x1bW4tY291bnQ6ICR2YWx1ZTtcbiAgY29sdW1uLWNvdW50OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBjb2x1bW4tZ2FwKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWNvbHVtbi1nYXA6ICR2YWx1ZTtcbiAgLW1vei1jb2x1bW4tZ2FwOiAkdmFsdWU7XG4gIGNvbHVtbi1nYXA6ICR2YWx1ZTtcbn1cblxuQG1peGluIGNvbHVtbi1uby1icmVhaygpIHtcbiAgLXdlYmtpdC1jb2x1bW4tYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkLWNvbHVtbjtcbiAgLW1vei1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xuICAtby1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xuICAtbXMtY29sdW1uLWJyZWFrLWluc2lkZTphdm9pZDtcbiAgYnJlYWstaW5zaWRlOmF2b2lkLWNvbHVtbjtcbn1cblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiByZXNwb25kXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4kbWluQ29udGVudFdpZHRoOiAxMDI0cHg7XG4kbWluRWRnZUNvbnRlbnRQYWRkaW5nOiAxNXB4O1xuJGxhcmdlQnJlYWtwb2ludDogJG1pbkNvbnRlbnRXaWR0aCArICRtaW5FZGdlQ29udGVudFBhZGRpbmcqMjtcbiRjb21wcmVzc2VkQ29udGVudFdpZHRoOiAkbWluQ29udGVudFdpZHRoIC0gJG1pbkVkZ2VDb250ZW50UGFkZGluZyoyO1xuLy8gJHNtTWluOiA3NjhweDtcbiRzbU1heDogOTAwcHg7XG5AbWl4aW4gcmVzcG9uZCgkbWVkaWEpIHtcbiAgQGlmICRtZWRpYSA9PSB3aGl0ZWJvYXJkLWV4ZXJjaXNlLXN0YWNrZWQtYXR0cmlidXRlcyB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTkwcHgpIHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAaWYgJG1lZGlhID09IGxnIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRsYXJnZUJyZWFrcG9pbnQpIHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAZWxzZSBpZiAkbWVkaWEgPT0gbWQge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogI3skbGFyZ2VCcmVha3BvaW50IC0gMXB4fSkgeyBAY29udGVudDsgfVxuICB9XG4gIEBlbHNlIGlmICRtZWRpYSA9PSBzbSB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAjeyRzbU1heH0pIHsgQGNvbnRlbnQ7IH1cbiAgfVxufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4geHBhZCAvIHlwYWRcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gIFxuQG1peGluIHhwYWQoJHBhZCkgIHtcbiAgcGFkZGluZy1sZWZ0OiAkcGFkO1xuICBwYWRkaW5nLXJpZ2h0OiAkcGFkO1xufVxuQG1peGluIHlwYWQoJHBhZCkgIHtcbiAgcGFkZGluZy10b3A6ICRwYWQ7XG4gIHBhZGRpbmctYm90dG9tOiAkcGFkO1xufVxuQG1peGluIHhtYXJnaW4oJGdhcCkgIHtcbiAgbWFyZ2luLWxlZnQ6ICRnYXA7XG4gIG1hcmdpbi1yaWdodDogJGdhcDtcbn1cbkBtaXhpbiB5bWFyZ2luKCRnYXApICB7XG4gIG1hcmdpbi10b3A6ICRnYXA7XG4gIG1hcmdpbi1ib3R0b206ICRnYXA7XG59XG5cbkBtaXhpbiBhYnNDZW50ZXJCYXNlX3koJGgpICB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIG1hcmdpbi10b3A6ICRoLy0yO1xufVxuXG5AbWl4aW4gYWJzQ2VudGVyQmFzZSgkdywgJGg6ICR3KSAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi10b3A6ICRoLy0yO1xuICBtYXJnaW4tbGVmdDogJHcvLTI7XG59XG5cbkBtaXhpbiBhYnNDZW50ZXJJY29uKCR3LCAkaDogJHcpICB7XG4gIEBpbmNsdWRlIGFic0NlbnRlckJhc2UoJHcsICRoKTtcbiAgZm9udC1zaXplOiAkaDtcbn1cbkBtaXhpbiBhYnNDZW50ZXJJY29uX3koJGgpICB7XG4gIEBpbmNsdWRlIGFic0NlbnRlckJhc2VfeSgkaCk7XG4gIGZvbnQtc2l6ZTogJGg7XG59XG5cbkBtaXhpbiBmbGV4SW5saW5lT3ZlcnJpZGUgIHtcbiAgICBtaW4td2lkdGg6IDAgIWltcG9ydGFudDtcbiAgICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcbiAgICAtd2Via2l0LWZsZXg6IDEgIWltcG9ydGFudDtcbiAgICAtbXMtZmxleDogMSAhaW1wb3J0YW50O1xuICAgIGZsZXg6IDEgIWltcG9ydGFudDtcbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBhcHAtc3BlY2lmaWMgbWl4aW4vdmFycyA+IHRhYnNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuQG1peGluIGxhcmdlLXRhYnMtc3R5bGUgIHtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBsaW5lLWhlaWdodDogMTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgQGluY2x1ZGUgcmVzcG9uZChtZCkgIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gIH1cbn1cbiRsYXJnZS10YWJzLXNwYWNpbmc6IDQwcHg7XG5cbkBtaXhpbiB0cmltSW5uZXJNYXJnaW4gIHtcbiAgPiAqICB7XG4gICAgJjpmaXJzdC1jaGlsZCAge1xuICAgICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAmOmxhc3QtY2hpbGQgIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gcGxhY2Vob2xkZXJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gIFxuQG1peGluIHBsYWNlaG9sZGVyIHtcbiAgJjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7QGNvbnRlbnR9XG4gICY6LW1vei1wbGFjZWhvbGRlciAgICAgICAgICAge0Bjb250ZW50fVxuICAmOjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgIHtAY29udGVudH1cbiAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIgICAgICB7QGNvbnRlbnR9ICBcbn1cblxuXG4iLCJAaW1wb3J0IFwidmFyaWFibGVzXCI7XG5AaW1wb3J0IFwibWl4aW5zXCI7XG5cbi5jbGluaWNhbC1maWVsZCB7XG4gICAgbWluLWhlaWdodDogaW5oZXJpdDtcbiAgICBoZWlnaHQ6IGluaGVyaXQ7XG59XG5cbnRleHRhcmVhIHtcbiAgICAmLmNsaW5pY2FsLW5vdGVzIHtcbiAgICAgICAgaGVpZ2h0OiA3MHB4O1xuICAgICAgICByZXNpemU6IG5vbmU7XG4gICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgfVxufVxuXG4uY2xpbmljYWwtc3ViLW5vdGUge1xuICAgIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoZmxleC1zdGFydCk7XG4gICAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LXN0YXJ0KTtcbiAgICBtYXJnaW4tbGVmdDogMjVweDsgICAgXG59XG5cbi50cmVlLWxpbmUge1xuICAgIGhlaWdodDogMzVweDtcbiAgICB3aWR0aDogMjVweDtcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNiYmI7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNiYmI7XG59XG5cbi5jbGluaWNhbC1ub3Rlcy1zZWN0aW9uIHtcbiAgICBtYXJnaW46IDM4cHggMCA2MHB4O1xuICAgIG1heC13aWR0aDogNTYwcHg7XG59XG5cbmxhYmVsLmNsaW5pY2FsLWZvcm0tZmllbGQgIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdGJvcmRlcjogbm9uZTtcbiAgICBtYXJnaW46IDAgNDBweDtcbn1cblxuaHIuY2xpbmljYWwtcmVwb3J0LWxpbmUge1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGhlaWdodDogMXB4O1xuICAgIGJhY2tncm91bmQ6ICNEOEQ4RDg7XG4gICAgbWFyZ2luOiA0MHB4IDA7XG4gICAgY2xlYXI6IGJvdGg7XG59XG5cbnNwYW4uY2xpbmljYWwtbGFiZWwgIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAxMHB4IDBweDtcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGNvbG9yOiAjNzU3NzdBO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjRweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGxpbmUtaGVpZ2h0OiAxOHB4O1xufVxuXG5mdXNpb24tb3JkZXJlZC1kcm9wLWRvd24ge1xuICAgICYuY2xpbmljYWwtZHJvcC1kb3duIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2JiYjtcbiAgICAgICAgbWF4LXdpZHRoOiA2MjZweDtcbiAgICAgICAgd2lkdGg6IDYyNnB4O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwcHggIWltcG9ydGFudDtcbiAgICAgICAgbWF4LWhlaWdodDogMTAwcHggIWltcG9ydGFudDtcbiAgICAgICAgPiBkaXYuY29sdW1uLWNvbnRhaW5lciB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDEwMHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiBpbmhlcml0O1xuICAgICAgICB9XG4gICAgICAgIC5zZWxlY3QtdG9nZ2xlIHtcbiAgICAgICAgICAgIHNwYW4uZmlsdGVyZWQge1xuICAgICAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBpbmhlcml0O1xuICAgICAgICAgICAgfSAgICAgICAgICAgIFxuICAgICAgICB9XG4gICAgICAgIC5vcHRpb25zIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwcHg7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjOTk5O1xuICAgICAgICBib3gtc2hhZG93OiAwIDZweCAxMHB4IDAgIzk5OTtcbiAgICAgICAgbWF4LWhlaWdodDogNjAwcHg7XG4gICAgICAgIG1pbi13aWR0aDogMTAwJTtcbiAgICAgICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICAgICAgICB6LWluZGV4OiAzO1xuICAgICAgICAgICAgJiA+IGRpdiB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG4gICAgICAgICAgICAgICAgbWluLWhlaWdodDogMjhweDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDEwcHg7XG4gICAgICAgICAgICAgICAgd2hpdGUtc3BhY2U6IGluaGVyaXQ7XG5cbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2NjO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmNsaW5pY2FsLXNpZ25hdHVyZSB7XG4gIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGZsZXgtc3RhcnQpO1xuICBtYXJnaW4tdG9wOiAzMHB4O1xuICBmb250LXNpemU6IDE0cHg7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdGNvbG9yOiAjOTI5MzkyO1xuXHRsaW5lLWhlaWdodDogMS41O1xuICA+IGRpdiB7XG4gICAgcGFkZGluZzogMHB4IDE1cHggMHB4IDE1cHg7XG4gIH1cbn1cblxuLnByaW50LW9ubHkge1xuICBkaXNwbGF5OiBub25lO1xufVxuIiwiJHJlZDogI2M0MmEzYjtcbiRibHVlOiAjOTc2OEVCO1xuJGRhcmtfYmx1ZTogIzExMjY0YjtcbiRncmV5OiAjODA4MDgwO1xuJGdyZWVuOiAjMjBiNzY5O1xuJHdoaXRlOiAjZmZmZmZmO1xuJHllbGxvdzogI2Q4YjYyZjtcbiRsaWdodF9ncmV5OiAjY2RjZGNkO1xuJGRhcmtfZ3JleTogIzZkNmU3MjtcbiRzY29yZS1ncmVlbjogIzAwQjk2RDtcbiRzY29yZS1yZWQ6ICNEMTQwNEI7XG4kc2NvcmUteWVsbG93OiAjRDdCQjQzO1xuXG4kZm9vdGVyX2JhY2tncm91bmQ6ICMxMTI2NGI7XG4kYXRobGV0ZV9oZWFkZXJfcHJpbWFyeTogI2UxZTFlMTtcbiRhdGhsZXRlX2hlYWRlcl9zZWNvbmRhcnk6ICNlMWUxZTE7XG4kYXRobGV0ZV9saXN0X25hbWU6ICNmN2Y3Zjc7XG4iLCJcbkBtaXhpbiB0cmFuc2Zvcm0oJHRyYW5zZm9ybXMpIHtcbiAgICAgLW1vei10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAgICAgIC1vLXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gICAgICAtbXMtdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgLXdlYmtpdC10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAgICAgICAgIHRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG59XG5cbkBtaXhpbiBhcHBlYXJhbmNlKCRhcHBlYXJhbmNlLi4uKSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogJGFwcGVhcmFuY2U7XG4gICAgIC1tb3otYXBwZWFyYW5jZTogJGFwcGVhcmFuY2U7XG4gICAgICAgICAgYXBwZWFyYW5jZTogJGFwcGVhcmFuY2U7XG59XG5cbkBtaXhpbiBib3JkZXItcmFkaXVzKCRib3JkZXItcmFkaXVzLi4uKSB7XG4gIC13ZWJraXQtYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gICAgIC1tb3otYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG59XG5cbkBtaXhpbiBib3gtc2hhZG93KCRzaGFkb3cuLi4pIHtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAkc2hhZG93O1xuICAgICAtbW96LWJveC1zaGFkb3c6ICRzaGFkb3c7XG4gICAgICAgICAgYm94LXNoYWRvdzogJHNoYWRvdztcbn1cblxuQG1peGluIGJveC1zaXppbmcoJHNpemUuLi4pIHtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiAkc2l6ZTtcbiAgICAgLW1vei1ib3gtc2l6aW5nOiAkc2l6ZTtcbiAgICAgICAgICBib3gtc2l6aW5nOiAkc2l6ZTtcbn1cblxuQG1peGluIHVzZXItc2VsZWN0KCRzZWxlY3QuLi4pIHtcbi13ZWJraXQtdG91Y2gtY2FsbG91dDogJHNlbGVjdDtcbiAgICAgLW1zLXRvdWNoLXNlbGVjdDogJHNlbGVjdDtcbiAgICAgLW1vei11c2VyLXNlbGVjdDogJHNlbGVjdDtcbiAgICAgIC1tcy11c2VyLXNlbGVjdDogJHNlbGVjdDtcbiAgICAgICAgICB1c2VyLXNlbGVjdDogJHNlbGVjdDtcbn1cblxuQG1peGluIGZsZXgoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleDogJHZhbHVlO1xuICAgICAgLW1zLWZsZXg6ICR2YWx1ZTtcbiAgICAgICAgICBmbGV4OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWFsaWduLWNvbnRlbnQoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtYWxpZ24tY29udGVudDogJHZhbHVlO1xuICAgICAgICAgIGFsaWduLWNvbnRlbnQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtYWxpZ24taXRlbXMoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtYWxpZ24taXRlbXM6ICR2YWx1ZTtcbiAgICAgICAgICBhbGlnbi1pdGVtczogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1hbGlnbi1zZWxmKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWFsaWduLXNlbGY6ICR2YWx1ZTtcbiAgICAgICAgICBhbGlnbi1zZWxmOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWRpcmVjdGlvbigkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogJHZhbHVlO1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiAkdmFsdWU7XG59XG5AbWl4aW4gZmxleC1kaXJlY3Rpb24taW1wb3J0YW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiAkdmFsdWUhaW1wb3J0YW50O1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiAkdmFsdWUhaW1wb3J0YW50O1xufVxuXG5AbWl4aW4gZmxleC1kaXNwbGF5KCkge1xuICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG5AbWl4aW4gZmxleC1qdXN0aWZ5LWNvbnRlbnQoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiAkdmFsdWU7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LW9yZGVyKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LW9yZGVyOiAkdmFsdWU7XG4gICAgICAgICAgb3JkZXI6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtd3JhcCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1mbGV4LXdyYXA6ICR2YWx1ZTtcbiAgICAgICAgICBmbGV4LXdyYXA6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtY29sdW1uKCkge1xuICBAaW5jbHVkZSBmbGV4LWRpc3BsYXkoKTtcbiAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24oY29sdW1uKTtcbn1cblxuQG1peGluIGZsZXgtY29sdW1uLWNlbnRlcigpIHtcbiAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xufVxuXG5AbWl4aW4gZmxleC1jb2x1bW4tc3RhcnQoKSB7XG4gIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoZmxleC1zdGFydCk7XG59XG5cbkBtaXhpbiBmbGV4LXJvdygpIHtcbiAgQGluY2x1ZGUgZmxleC1kaXNwbGF5KCk7XG4gIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKHJvdyk7XG59XG5cbkBtaXhpbiBmbGV4LXJvdy1jZW50ZXIoKSB7XG4gIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbn1cblxuQG1peGluIGZsZXgtcm93LXN0YXJ0KCkge1xuICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGZsZXgtc3RhcnQpO1xufVxuXG5AbWl4aW4gbG9jay1oZWlnaHQoJHZhbHVlLi4uKSB7XG4gIG1heC1oZWlnaHQ6ICR2YWx1ZTtcbiAgbWluLWhlaWdodDogJHZhbHVlO1xuICBoZWlnaHQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGxvY2std2lkdGgoJHZhbHVlLi4uKSB7XG4gIG1heC13aWR0aDogJHZhbHVlO1xuICBtaW4td2lkdGg6ICR2YWx1ZTtcbiAgd2lkdGg6ICR2YWx1ZTtcbn1cblxuQG1peGluIGxvY2std2lkdGgtaW5saW5lLW92ZXJyaWRlKCR2YWx1ZS4uLikge1xuICBtYXgtd2lkdGg6ICR2YWx1ZSAhaW1wb3J0YW50O1xuICBtaW4td2lkdGg6ICR2YWx1ZSAhaW1wb3J0YW50O1xuICB3aWR0aDogJHZhbHVlICFpbXBvcnRhbnQ7XG59XG5cblxuQG1peGluIHVubG9jay13aWR0aCAge1xuICBtYXgtd2lkdGg6IG5vbmU7XG4gIG1pbi13aWR0aDogMDtcbiAgd2lkdGg6IGF1dG87XG59XG5AbWl4aW4gdW5sb2NrLWhlaWdodCAge1xuICBtYXgtaGVpZ2h0OiBub25lO1xuICBtaW4taGVpZ2h0OiAwO1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbkBtaXhpbiBjb2x1bW4tY291bnQoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtY29sdW1uLWNvdW50OiAkdmFsdWU7XG4gIC1tb3otY29sdW1uLWNvdW50OiAkdmFsdWU7XG4gIGNvbHVtbi1jb3VudDogJHZhbHVlO1xufVxuXG5AbWl4aW4gY29sdW1uLWdhcCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1jb2x1bW4tZ2FwOiAkdmFsdWU7XG4gIC1tb3otY29sdW1uLWdhcDogJHZhbHVlO1xuICBjb2x1bW4tZ2FwOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBjb2x1bW4tbm8tYnJlYWsoKSB7XG4gIC13ZWJraXQtY29sdW1uLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZC1jb2x1bW47XG4gIC1tb3otY29sdW1uLWJyZWFrLWluc2lkZTphdm9pZDtcbiAgLW8tY29sdW1uLWJyZWFrLWluc2lkZTphdm9pZDtcbiAgLW1zLWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XG4gIGJyZWFrLWluc2lkZTphdm9pZC1jb2x1bW47XG59XG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gcmVzcG9uZFxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuJG1pbkNvbnRlbnRXaWR0aDogMTAyNHB4O1xuJG1pbkVkZ2VDb250ZW50UGFkZGluZzogMTVweDtcbiRsYXJnZUJyZWFrcG9pbnQ6ICRtaW5Db250ZW50V2lkdGggKyAkbWluRWRnZUNvbnRlbnRQYWRkaW5nKjI7XG4kY29tcHJlc3NlZENvbnRlbnRXaWR0aDogJG1pbkNvbnRlbnRXaWR0aCAtICRtaW5FZGdlQ29udGVudFBhZGRpbmcqMjtcbi8vICRzbU1pbjogNzY4cHg7XG4kc21NYXg6IDkwMHB4O1xuQG1peGluIHJlc3BvbmQoJG1lZGlhKSB7XG4gIEBpZiAkbWVkaWEgPT0gd2hpdGVib2FyZC1leGVyY2lzZS1zdGFja2VkLWF0dHJpYnV0ZXMge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTE5MHB4KSB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGlmICRtZWRpYSA9PSBsZyB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkbGFyZ2VCcmVha3BvaW50KSB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGVsc2UgaWYgJG1lZGlhID09IG1kIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICN7JGxhcmdlQnJlYWtwb2ludCAtIDFweH0pIHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAZWxzZSBpZiAkbWVkaWEgPT0gc20ge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogI3skc21NYXh9KSB7IEBjb250ZW50OyB9XG4gIH1cbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IHhwYWQgLyB5cGFkXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vICBcbkBtaXhpbiB4cGFkKCRwYWQpICB7XG4gIHBhZGRpbmctbGVmdDogJHBhZDtcbiAgcGFkZGluZy1yaWdodDogJHBhZDtcbn1cbkBtaXhpbiB5cGFkKCRwYWQpICB7XG4gIHBhZGRpbmctdG9wOiAkcGFkO1xuICBwYWRkaW5nLWJvdHRvbTogJHBhZDtcbn1cbkBtaXhpbiB4bWFyZ2luKCRnYXApICB7XG4gIG1hcmdpbi1sZWZ0OiAkZ2FwO1xuICBtYXJnaW4tcmlnaHQ6ICRnYXA7XG59XG5AbWl4aW4geW1hcmdpbigkZ2FwKSAge1xuICBtYXJnaW4tdG9wOiAkZ2FwO1xuICBtYXJnaW4tYm90dG9tOiAkZ2FwO1xufVxuXG5AbWl4aW4gYWJzQ2VudGVyQmFzZV95KCRoKSAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBtYXJnaW4tdG9wOiAkaC8tMjtcbn1cblxuQG1peGluIGFic0NlbnRlckJhc2UoJHcsICRoOiAkdykgIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICBtYXJnaW4tdG9wOiAkaC8tMjtcbiAgbWFyZ2luLWxlZnQ6ICR3Ly0yO1xufVxuXG5AbWl4aW4gYWJzQ2VudGVySWNvbigkdywgJGg6ICR3KSAge1xuICBAaW5jbHVkZSBhYnNDZW50ZXJCYXNlKCR3LCAkaCk7XG4gIGZvbnQtc2l6ZTogJGg7XG59XG5AbWl4aW4gYWJzQ2VudGVySWNvbl95KCRoKSAge1xuICBAaW5jbHVkZSBhYnNDZW50ZXJCYXNlX3koJGgpO1xuICBmb250LXNpemU6ICRoO1xufVxuXG5AbWl4aW4gZmxleElubGluZU92ZXJyaWRlICB7XG4gICAgbWluLXdpZHRoOiAwICFpbXBvcnRhbnQ7XG4gICAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7XG4gICAgLXdlYmtpdC1mbGV4OiAxICFpbXBvcnRhbnQ7XG4gICAgLW1zLWZsZXg6IDEgIWltcG9ydGFudDtcbiAgICBmbGV4OiAxICFpbXBvcnRhbnQ7XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gYXBwLXNwZWNpZmljIG1peGluL3ZhcnMgPiB0YWJzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbkBtaXhpbiBsYXJnZS10YWJzLXN0eWxlICB7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIEBpbmNsdWRlIHJlc3BvbmQobWQpICB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICB9XG59XG4kbGFyZ2UtdGFicy1zcGFjaW5nOiA0MHB4O1xuXG5AbWl4aW4gdHJpbUlubmVyTWFyZ2luICB7XG4gID4gKiAge1xuICAgICY6Zmlyc3QtY2hpbGQgIHtcbiAgICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbiAgICB9XG4gICAgJjpsYXN0LWNoaWxkICB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IHBsYWNlaG9sZGVyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vICBcbkBtaXhpbiBwbGFjZWhvbGRlciB7XG4gICY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge0Bjb250ZW50fVxuICAmOi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAgIHtAY29udGVudH1cbiAgJjo6LW1vei1wbGFjZWhvbGRlciAgICAgICAgICB7QGNvbnRlbnR9XG4gICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyICAgICAge0Bjb250ZW50fSAgXG59XG5cblxuIiwiQGltcG9ydCBcInZhcmlhYmxlc1wiO1xuQGltcG9ydCBcIm1peGluc1wiO1xuXG5pbnB1dFt0eXBlPW51bWJlcl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5pbnB1dFt0eXBlPW51bWJlcl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIG1hcmdpbjogMDtcbn1cblxuLnRlc3QtYXRobGV0ZS1uYW1lIHtcbiAgY29sb3I6ICM3NTc3N0E7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMzJweDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDEuNjI7XG4gIGxldHRlci1zcGFjaW5nOiAwLjMycHg7XG59XG5cbi5wZXJmb3JtLXNlbGVjdCB7XG4gIG1pbi13aWR0aDogMTMzcHg7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgY29sb3I6ICM3NTc3N0E7XG4gIGJvcmRlcjogMnB4IHNvbGlkICNEOEQ4RDg7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgaGVpZ2h0OiAzOHB4O1xufVxuXG4ucmVjb21tZW5kZWQge1xuICBtYXJnaW4tbGVmdDogMTBweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgY29sb3I6ICRyZWQ7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IC0ycHg7XG4gIGxhYmVsIHtcbiAgICBtYXJnaW4tbGVmdDogM3B4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IC0ycHg7XG4gIH1cbn1cblxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuUitSIERhaWx5IFRlc3QgdjJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuaDMge1xuICBzcGFuIHtcbiAgICBjb2xvcjogJGJsdWU7XG4gIH1cbn1cblxuLnJyLW1lbnUge1xuICBAaW5jbHVkZSBmbGV4LXJvdztcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhzdHJldGNoKTtcbiAgbWF4LXdpZHRoOiA3MDBweDtcbiAgaGVpZ2h0OiA1NXB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAkbGlnaHRfZ3JleTtcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICAuY3VzdG9tIHtcbiAgICAtd2Via2l0LWJveC1mbGV4OiAxO1xuICAgICAgICAtbXMtZmxleDogMTtcbiAgICAgICAgICAgIGZsZXg6IDE7XG4gICAgJjpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICRsaWdodF9ncmV5O1xuICAgIH1cbiAgICBpbnB1dCB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgJjpjaGVja2VkIH4gbGFiZWwge1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgYmFja2dyb3VuZDogJGJsdWU7XG4gICAgICB9XG4gICAgfVxuICAgIGxhYmVsIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgaGVpZ2h0OiA1NXB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDU1cHg7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZWVlO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4ucnIta2V5IHtcbiAgQGluY2x1ZGUgZmxleC1kaXNwbGF5O1xuICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChzcGFjZS1iZXR3ZWVuKTtcbiAgbWF4LXdpZHRoOiA3MDBweDtcbiAgbWFyZ2luLXRvcDogMTBweDtcbiAgY29sb3I6ICRibHVlO1xuICBsYWJlbCB7XG4gICAgd2lkdGg6IDMzLjMlO1xuICAgICY6bnRoLWNoaWxkKDIpIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG4gICAgJjpudGgtY2hpbGQoMykge1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuICB9XG59XG4iLCIkcmVkOiAjYzQyYTNiO1xuJGJsdWU6ICM5NzY4RUI7XG4kZGFya19ibHVlOiAjMTEyNjRiO1xuJGdyZXk6ICM4MDgwODA7XG4kZ3JlZW46ICMyMGI3Njk7XG4kd2hpdGU6ICNmZmZmZmY7XG4keWVsbG93OiAjZDhiNjJmO1xuJGxpZ2h0X2dyZXk6ICNjZGNkY2Q7XG4kZGFya19ncmV5OiAjNmQ2ZTcyO1xuJHNjb3JlLWdyZWVuOiAjMDBCOTZEO1xuJHNjb3JlLXJlZDogI0QxNDA0QjtcbiRzY29yZS15ZWxsb3c6ICNEN0JCNDM7XG5cbiRmb290ZXJfYmFja2dyb3VuZDogIzExMjY0YjtcbiRhdGhsZXRlX2hlYWRlcl9wcmltYXJ5OiAjZTFlMWUxO1xuJGF0aGxldGVfaGVhZGVyX3NlY29uZGFyeTogI2UxZTFlMTtcbiRhdGhsZXRlX2xpc3RfbmFtZTogI2Y3ZjdmNztcbiIsIlxuQG1peGluIHRyYW5zZm9ybSgkdHJhbnNmb3Jtcykge1xuICAgICAtbW96LXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gICAgICAgLW8tdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgIC1tcy10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAtd2Via2l0LXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gICAgICAgICAgdHJhbnNmb3JtOiAkdHJhbnNmb3Jtcztcbn1cblxuQG1peGluIGFwcGVhcmFuY2UoJGFwcGVhcmFuY2UuLi4pIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcbiAgICAgLW1vei1hcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcbiAgICAgICAgICBhcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcbn1cblxuQG1peGluIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMuLi4pIHtcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICAgLW1vei1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbn1cblxuQG1peGluIGJveC1zaGFkb3coJHNoYWRvdy4uLikge1xuICAtd2Via2l0LWJveC1zaGFkb3c6ICRzaGFkb3c7XG4gICAgIC1tb3otYm94LXNoYWRvdzogJHNoYWRvdztcbiAgICAgICAgICBib3gtc2hhZG93OiAkc2hhZG93O1xufVxuXG5AbWl4aW4gYm94LXNpemluZygkc2l6ZS4uLikge1xuICAtd2Via2l0LWJveC1zaXppbmc6ICRzaXplO1xuICAgICAtbW96LWJveC1zaXppbmc6ICRzaXplO1xuICAgICAgICAgIGJveC1zaXppbmc6ICRzaXplO1xufVxuXG5AbWl4aW4gdXNlci1zZWxlY3QoJHNlbGVjdC4uLikge1xuLXdlYmtpdC10b3VjaC1jYWxsb3V0OiAkc2VsZWN0O1xuICAgICAtbXMtdG91Y2gtc2VsZWN0OiAkc2VsZWN0O1xuICAgICAtbW96LXVzZXItc2VsZWN0OiAkc2VsZWN0O1xuICAgICAgLW1zLXVzZXItc2VsZWN0OiAkc2VsZWN0O1xuICAgICAgICAgIHVzZXItc2VsZWN0OiAkc2VsZWN0O1xufVxuXG5AbWl4aW4gZmxleCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1mbGV4OiAkdmFsdWU7XG4gICAgICAtbXMtZmxleDogJHZhbHVlO1xuICAgICAgICAgIGZsZXg6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtYWxpZ24tY29udGVudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1hbGlnbi1jb250ZW50OiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24tY29udGVudDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1hbGlnbi1pdGVtcygkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1hbGlnbi1pdGVtczogJHZhbHVlO1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWFsaWduLXNlbGYoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtYWxpZ24tc2VsZjogJHZhbHVlO1xuICAgICAgICAgIGFsaWduLXNlbGY6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtZGlyZWN0aW9uKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiAkdmFsdWU7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246ICR2YWx1ZTtcbn1cbkBtaXhpbiBmbGV4LWRpcmVjdGlvbi1pbXBvcnRhbnQoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleC1kaXJlY3Rpb246ICR2YWx1ZSFpbXBvcnRhbnQ7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246ICR2YWx1ZSFpbXBvcnRhbnQ7XG59XG5cbkBtaXhpbiBmbGV4LWRpc3BsYXkoKSB7XG4gIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbkBtaXhpbiBmbGV4LWp1c3RpZnktY29udGVudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6ICR2YWx1ZTtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtb3JkZXIoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtb3JkZXI6ICR2YWx1ZTtcbiAgICAgICAgICBvcmRlcjogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC13cmFwKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXgtd3JhcDogJHZhbHVlO1xuICAgICAgICAgIGZsZXgtd3JhcDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1jb2x1bW4oKSB7XG4gIEBpbmNsdWRlIGZsZXgtZGlzcGxheSgpO1xuICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihjb2x1bW4pO1xufVxuXG5AbWl4aW4gZmxleC1jb2x1bW4tY2VudGVyKCkge1xuICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbi1zdGFydCgpIHtcbiAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LXN0YXJ0KTtcbn1cblxuQG1peGluIGZsZXgtcm93KCkge1xuICBAaW5jbHVkZSBmbGV4LWRpc3BsYXkoKTtcbiAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24ocm93KTtcbn1cblxuQG1peGluIGZsZXgtcm93LWNlbnRlcigpIHtcbiAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xufVxuXG5AbWl4aW4gZmxleC1yb3ctc3RhcnQoKSB7XG4gIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoZmxleC1zdGFydCk7XG59XG5cbkBtaXhpbiBsb2NrLWhlaWdodCgkdmFsdWUuLi4pIHtcbiAgbWF4LWhlaWdodDogJHZhbHVlO1xuICBtaW4taGVpZ2h0OiAkdmFsdWU7XG4gIGhlaWdodDogJHZhbHVlO1xufVxuXG5AbWl4aW4gbG9jay13aWR0aCgkdmFsdWUuLi4pIHtcbiAgbWF4LXdpZHRoOiAkdmFsdWU7XG4gIG1pbi13aWR0aDogJHZhbHVlO1xuICB3aWR0aDogJHZhbHVlO1xufVxuXG5AbWl4aW4gbG9jay13aWR0aC1pbmxpbmUtb3ZlcnJpZGUoJHZhbHVlLi4uKSB7XG4gIG1heC13aWR0aDogJHZhbHVlICFpbXBvcnRhbnQ7XG4gIG1pbi13aWR0aDogJHZhbHVlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbn1cblxuXG5AbWl4aW4gdW5sb2NrLXdpZHRoICB7XG4gIG1heC13aWR0aDogbm9uZTtcbiAgbWluLXdpZHRoOiAwO1xuICB3aWR0aDogYXV0bztcbn1cbkBtaXhpbiB1bmxvY2staGVpZ2h0ICB7XG4gIG1heC1oZWlnaHQ6IG5vbmU7XG4gIG1pbi1oZWlnaHQ6IDA7XG4gIGhlaWdodDogYXV0bztcbn1cblxuQG1peGluIGNvbHVtbi1jb3VudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1jb2x1bW4tY291bnQ6ICR2YWx1ZTtcbiAgLW1vei1jb2x1bW4tY291bnQ6ICR2YWx1ZTtcbiAgY29sdW1uLWNvdW50OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBjb2x1bW4tZ2FwKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWNvbHVtbi1nYXA6ICR2YWx1ZTtcbiAgLW1vei1jb2x1bW4tZ2FwOiAkdmFsdWU7XG4gIGNvbHVtbi1nYXA6ICR2YWx1ZTtcbn1cblxuQG1peGluIGNvbHVtbi1uby1icmVhaygpIHtcbiAgLXdlYmtpdC1jb2x1bW4tYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkLWNvbHVtbjtcbiAgLW1vei1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xuICAtby1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xuICAtbXMtY29sdW1uLWJyZWFrLWluc2lkZTphdm9pZDtcbiAgYnJlYWstaW5zaWRlOmF2b2lkLWNvbHVtbjtcbn1cblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiByZXNwb25kXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4kbWluQ29udGVudFdpZHRoOiAxMDI0cHg7XG4kbWluRWRnZUNvbnRlbnRQYWRkaW5nOiAxNXB4O1xuJGxhcmdlQnJlYWtwb2ludDogJG1pbkNvbnRlbnRXaWR0aCArICRtaW5FZGdlQ29udGVudFBhZGRpbmcqMjtcbiRjb21wcmVzc2VkQ29udGVudFdpZHRoOiAkbWluQ29udGVudFdpZHRoIC0gJG1pbkVkZ2VDb250ZW50UGFkZGluZyoyO1xuLy8gJHNtTWluOiA3NjhweDtcbiRzbU1heDogOTAwcHg7XG5AbWl4aW4gcmVzcG9uZCgkbWVkaWEpIHtcbiAgQGlmICRtZWRpYSA9PSB3aGl0ZWJvYXJkLWV4ZXJjaXNlLXN0YWNrZWQtYXR0cmlidXRlcyB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTkwcHgpIHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAaWYgJG1lZGlhID09IGxnIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRsYXJnZUJyZWFrcG9pbnQpIHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAZWxzZSBpZiAkbWVkaWEgPT0gbWQge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogI3skbGFyZ2VCcmVha3BvaW50IC0gMXB4fSkgeyBAY29udGVudDsgfVxuICB9XG4gIEBlbHNlIGlmICRtZWRpYSA9PSBzbSB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAjeyRzbU1heH0pIHsgQGNvbnRlbnQ7IH1cbiAgfVxufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4geHBhZCAvIHlwYWRcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gIFxuQG1peGluIHhwYWQoJHBhZCkgIHtcbiAgcGFkZGluZy1sZWZ0OiAkcGFkO1xuICBwYWRkaW5nLXJpZ2h0OiAkcGFkO1xufVxuQG1peGluIHlwYWQoJHBhZCkgIHtcbiAgcGFkZGluZy10b3A6ICRwYWQ7XG4gIHBhZGRpbmctYm90dG9tOiAkcGFkO1xufVxuQG1peGluIHhtYXJnaW4oJGdhcCkgIHtcbiAgbWFyZ2luLWxlZnQ6ICRnYXA7XG4gIG1hcmdpbi1yaWdodDogJGdhcDtcbn1cbkBtaXhpbiB5bWFyZ2luKCRnYXApICB7XG4gIG1hcmdpbi10b3A6ICRnYXA7XG4gIG1hcmdpbi1ib3R0b206ICRnYXA7XG59XG5cbkBtaXhpbiBhYnNDZW50ZXJCYXNlX3koJGgpICB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIG1hcmdpbi10b3A6ICRoLy0yO1xufVxuXG5AbWl4aW4gYWJzQ2VudGVyQmFzZSgkdywgJGg6ICR3KSAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi10b3A6ICRoLy0yO1xuICBtYXJnaW4tbGVmdDogJHcvLTI7XG59XG5cbkBtaXhpbiBhYnNDZW50ZXJJY29uKCR3LCAkaDogJHcpICB7XG4gIEBpbmNsdWRlIGFic0NlbnRlckJhc2UoJHcsICRoKTtcbiAgZm9udC1zaXplOiAkaDtcbn1cbkBtaXhpbiBhYnNDZW50ZXJJY29uX3koJGgpICB7XG4gIEBpbmNsdWRlIGFic0NlbnRlckJhc2VfeSgkaCk7XG4gIGZvbnQtc2l6ZTogJGg7XG59XG5cbkBtaXhpbiBmbGV4SW5saW5lT3ZlcnJpZGUgIHtcbiAgICBtaW4td2lkdGg6IDAgIWltcG9ydGFudDtcbiAgICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcbiAgICAtd2Via2l0LWZsZXg6IDEgIWltcG9ydGFudDtcbiAgICAtbXMtZmxleDogMSAhaW1wb3J0YW50O1xuICAgIGZsZXg6IDEgIWltcG9ydGFudDtcbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBhcHAtc3BlY2lmaWMgbWl4aW4vdmFycyA+IHRhYnNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuQG1peGluIGxhcmdlLXRhYnMtc3R5bGUgIHtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBsaW5lLWhlaWdodDogMTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgQGluY2x1ZGUgcmVzcG9uZChtZCkgIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gIH1cbn1cbiRsYXJnZS10YWJzLXNwYWNpbmc6IDQwcHg7XG5cbkBtaXhpbiB0cmltSW5uZXJNYXJnaW4gIHtcbiAgPiAqICB7XG4gICAgJjpmaXJzdC1jaGlsZCAge1xuICAgICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAmOmxhc3QtY2hpbGQgIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gcGxhY2Vob2xkZXJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gIFxuQG1peGluIHBsYWNlaG9sZGVyIHtcbiAgJjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7QGNvbnRlbnR9XG4gICY6LW1vei1wbGFjZWhvbGRlciAgICAgICAgICAge0Bjb250ZW50fVxuICAmOjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgIHtAY29udGVudH1cbiAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIgICAgICB7QGNvbnRlbnR9ICBcbn1cblxuXG4iLCJAaW1wb3J0IFwidmFyaWFibGVzXCI7XG5AaW1wb3J0IFwibWl4aW5zXCI7XG5cbi8vIHN0eWxlcyBmb3IgdGhlIHJlcGVhdGVkIHNoaWZ0IHRlc3Rcbi5yZXBlYXRlZC1zaGlmdC1sYXlvdXQge1xuICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICAudGVzdC1yb3cge1xuICAgIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gICAgJjpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgIH1cbiAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICB9XG4gICAgJjpub3QoOmZpcnN0LW9mLXR5cGUpOm5vdCg6bGFzdC1vZi10eXBlKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgfVxuICAgIC5kcm9wLW9mZiB7XG4gICAgICBjb2xvcjogIzk3NjhFQjsgXG4gICAgICBmb250LXNpemU6IDE4cHg7IFxuICAgICAgbGluZS1oZWlnaHQ6IDEuNjI7XG4gICAgfVxuICAgIC5tZWFzdXJlbWVudC1maWVsZCB7XG4gICAgICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICAgICAgJjpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDI4OXB4O1xuICAgICAgfVxuICAgICAgJjpub3QoOmZpcnN0LW9mLXR5cGUpIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDIzcHg7XG4gICAgICB9ICAgICAgXG4gICAgfVxuICB9XG4gIC5tZWFzdXJlbWVudC1sYWJlbCB7XG4gICAgY29sb3I6ICM3NTc3N0E7XG4gICAgbWFyZ2luLXJpZ2h0OiAzcHg7XG4gICAgcGFkZGluZy1yaWdodDogMThweDsgXG4gICAgd2lkdGg6MTBweFxuICB9XG59XG5cbi8vIHN0eWxlcyBmb3IgdGhlIHktYmFsYW5jZSB0ZXN0c1xuLnktYmFsYW5jZS1sYXlvdXQge1xuICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICAudGVzdC1yb3cge1xuICAgIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgICY6bm90KDpmaXJzdC1vZi10eXBlKTpub3QoOmxhc3Qtb2YtdHlwZSkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICB9XG4gICAgLnN1Yi1sYWJlbCB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDM1cHg7XG4gICAgfVxuICAgIC5kaWZmIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiA1MXB4O1xuICAgICAgY29sb3I6ICM5NzY4RUI7IFxuICAgICAgZm9udC1zaXplOiAxOHB4OyBcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjkyO1xuICAgIH1cbiAgICAubWVhc3VyZW1lbnQtZmllbGQge1xuICAgICAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAyNzVweDtcbiAgICAgIH1cbiAgICAgIC5tZWFzdXJlbWVudC1sYWJlbCB7XG4gICAgICAgIGNvbG9yOiAjNzU3NzdBO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDNweDsgXG4gICAgICAgIHdpZHRoOjEwcHhcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gc3R5bGVzIGZvciBtZWFzdXJlbWVudCBncm91cHNcbi5tZWFzdXJlbWVudC1ncm91cCB7XG4gIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XG4gIC50ZXN0LXJvdyB7XG4gICAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgJjpub3QoOmZpcnN0LW9mLXR5cGUpOm5vdCg6bGFzdC1vZi10eXBlKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIH1cbiAgICAuc3ViLWxhYmVsIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMzVweDtcbiAgICB9ICAgIFxuICAgIC5tZWFzdXJlbWVudC1maWVsZCB7XG4gICAgICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyM3B4O1xuICAgICAgJjpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDI3NXB4O1xuICAgICAgfVxuICAgICAgLm1lYXN1cmVtZW50LWxhYmVsIHtcbiAgICAgICAgY29sb3I6ICM3NTc3N0E7XG4gICAgICAgIG1hcmdpbi1yaWdodDogM3B4OyBcbiAgICAgICAgd2lkdGg6MTBweFxuICAgICAgfVxuICAgIH1cbiAgfVxufSIsIiRyZWQ6ICNjNDJhM2I7XG4kYmx1ZTogIzk3NjhFQjtcbiRkYXJrX2JsdWU6ICMxMTI2NGI7XG4kZ3JleTogIzgwODA4MDtcbiRncmVlbjogIzIwYjc2OTtcbiR3aGl0ZTogI2ZmZmZmZjtcbiR5ZWxsb3c6ICNkOGI2MmY7XG4kbGlnaHRfZ3JleTogI2NkY2RjZDtcbiRkYXJrX2dyZXk6ICM2ZDZlNzI7XG4kc2NvcmUtZ3JlZW46ICMwMEI5NkQ7XG4kc2NvcmUtcmVkOiAjRDE0MDRCO1xuJHNjb3JlLXllbGxvdzogI0Q3QkI0MztcblxuJGZvb3Rlcl9iYWNrZ3JvdW5kOiAjMTEyNjRiO1xuJGF0aGxldGVfaGVhZGVyX3ByaW1hcnk6ICNlMWUxZTE7XG4kYXRobGV0ZV9oZWFkZXJfc2Vjb25kYXJ5OiAjZTFlMWUxO1xuJGF0aGxldGVfbGlzdF9uYW1lOiAjZjdmN2Y3O1xuIiwiXG5AbWl4aW4gdHJhbnNmb3JtKCR0cmFuc2Zvcm1zKSB7XG4gICAgIC1tb3otdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgICAtby10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAgICAgLW1zLXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgICAgICB0cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xufVxuXG5AbWl4aW4gYXBwZWFyYW5jZSgkYXBwZWFyYW5jZS4uLikge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xuICAgICAtbW96LWFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xuICAgICAgICAgIGFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xufVxuXG5AbWl4aW4gYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cy4uLikge1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgICAtbW96LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xufVxuXG5AbWl4aW4gYm94LXNoYWRvdygkc2hhZG93Li4uKSB7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogJHNoYWRvdztcbiAgICAgLW1vei1ib3gtc2hhZG93OiAkc2hhZG93O1xuICAgICAgICAgIGJveC1zaGFkb3c6ICRzaGFkb3c7XG59XG5cbkBtaXhpbiBib3gtc2l6aW5nKCRzaXplLi4uKSB7XG4gIC13ZWJraXQtYm94LXNpemluZzogJHNpemU7XG4gICAgIC1tb3otYm94LXNpemluZzogJHNpemU7XG4gICAgICAgICAgYm94LXNpemluZzogJHNpemU7XG59XG5cbkBtaXhpbiB1c2VyLXNlbGVjdCgkc2VsZWN0Li4uKSB7XG4td2Via2l0LXRvdWNoLWNhbGxvdXQ6ICRzZWxlY3Q7XG4gICAgIC1tcy10b3VjaC1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgIC1tb3otdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgICAtbXMtdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgICAgICAgdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG59XG5cbkBtaXhpbiBmbGV4KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXg6ICR2YWx1ZTtcbiAgICAgIC1tcy1mbGV4OiAkdmFsdWU7XG4gICAgICAgICAgZmxleDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1hbGlnbi1jb250ZW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWFsaWduLWNvbnRlbnQ6ICR2YWx1ZTtcbiAgICAgICAgICBhbGlnbi1jb250ZW50OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWFsaWduLWl0ZW1zKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWFsaWduLWl0ZW1zOiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24taXRlbXM6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtYWxpZ24tc2VsZigkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1hbGlnbi1zZWxmOiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24tc2VsZjogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1kaXJlY3Rpb24oJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleC1kaXJlY3Rpb246ICR2YWx1ZTtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogJHZhbHVlO1xufVxuQG1peGluIGZsZXgtZGlyZWN0aW9uLWltcG9ydGFudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogJHZhbHVlIWltcG9ydGFudDtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogJHZhbHVlIWltcG9ydGFudDtcbn1cblxuQG1peGluIGZsZXgtZGlzcGxheSgpIHtcbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuQG1peGluIGZsZXgtanVzdGlmeS1jb250ZW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWp1c3RpZnktY29udGVudDogJHZhbHVlO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1vcmRlcigkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1vcmRlcjogJHZhbHVlO1xuICAgICAgICAgIG9yZGVyOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LXdyYXAoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleC13cmFwOiAkdmFsdWU7XG4gICAgICAgICAgZmxleC13cmFwOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbigpIHtcbiAgQGluY2x1ZGUgZmxleC1kaXNwbGF5KCk7XG4gIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKGNvbHVtbik7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbi1jZW50ZXIoKSB7XG4gIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbn1cblxuQG1peGluIGZsZXgtY29sdW1uLXN0YXJ0KCkge1xuICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGZsZXgtc3RhcnQpO1xufVxuXG5AbWl4aW4gZmxleC1yb3coKSB7XG4gIEBpbmNsdWRlIGZsZXgtZGlzcGxheSgpO1xuICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihyb3cpO1xufVxuXG5AbWl4aW4gZmxleC1yb3ctY2VudGVyKCkge1xuICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG59XG5cbkBtaXhpbiBmbGV4LXJvdy1zdGFydCgpIHtcbiAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LXN0YXJ0KTtcbn1cblxuQG1peGluIGxvY2staGVpZ2h0KCR2YWx1ZS4uLikge1xuICBtYXgtaGVpZ2h0OiAkdmFsdWU7XG4gIG1pbi1oZWlnaHQ6ICR2YWx1ZTtcbiAgaGVpZ2h0OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBsb2NrLXdpZHRoKCR2YWx1ZS4uLikge1xuICBtYXgtd2lkdGg6ICR2YWx1ZTtcbiAgbWluLXdpZHRoOiAkdmFsdWU7XG4gIHdpZHRoOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBsb2NrLXdpZHRoLWlubGluZS1vdmVycmlkZSgkdmFsdWUuLi4pIHtcbiAgbWF4LXdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbiAgbWluLXdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbiAgd2lkdGg6ICR2YWx1ZSAhaW1wb3J0YW50O1xufVxuXG5cbkBtaXhpbiB1bmxvY2std2lkdGggIHtcbiAgbWF4LXdpZHRoOiBub25lO1xuICBtaW4td2lkdGg6IDA7XG4gIHdpZHRoOiBhdXRvO1xufVxuQG1peGluIHVubG9jay1oZWlnaHQgIHtcbiAgbWF4LWhlaWdodDogbm9uZTtcbiAgbWluLWhlaWdodDogMDtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG5AbWl4aW4gY29sdW1uLWNvdW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWNvbHVtbi1jb3VudDogJHZhbHVlO1xuICAtbW96LWNvbHVtbi1jb3VudDogJHZhbHVlO1xuICBjb2x1bW4tY291bnQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGNvbHVtbi1nYXAoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtY29sdW1uLWdhcDogJHZhbHVlO1xuICAtbW96LWNvbHVtbi1nYXA6ICR2YWx1ZTtcbiAgY29sdW1uLWdhcDogJHZhbHVlO1xufVxuXG5AbWl4aW4gY29sdW1uLW5vLWJyZWFrKCkge1xuICAtd2Via2l0LWNvbHVtbi1icmVhay1pbnNpZGU6IGF2b2lkO1xuICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQtY29sdW1uO1xuICAtbW96LWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XG4gIC1vLWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XG4gIC1tcy1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xuICBicmVhay1pbnNpZGU6YXZvaWQtY29sdW1uO1xufVxuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IHJlc3BvbmRcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiRtaW5Db250ZW50V2lkdGg6IDEwMjRweDtcbiRtaW5FZGdlQ29udGVudFBhZGRpbmc6IDE1cHg7XG4kbGFyZ2VCcmVha3BvaW50OiAkbWluQ29udGVudFdpZHRoICsgJG1pbkVkZ2VDb250ZW50UGFkZGluZyoyO1xuJGNvbXByZXNzZWRDb250ZW50V2lkdGg6ICRtaW5Db250ZW50V2lkdGggLSAkbWluRWRnZUNvbnRlbnRQYWRkaW5nKjI7XG4vLyAkc21NaW46IDc2OHB4O1xuJHNtTWF4OiA5MDBweDtcbkBtaXhpbiByZXNwb25kKCRtZWRpYSkge1xuICBAaWYgJG1lZGlhID09IHdoaXRlYm9hcmQtZXhlcmNpc2Utc3RhY2tlZC1hdHRyaWJ1dGVzIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExOTBweCkgeyBAY29udGVudDsgfVxuICB9XG4gIEBpZiAkbWVkaWEgPT0gbGcge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGxhcmdlQnJlYWtwb2ludCkgeyBAY29udGVudDsgfVxuICB9XG4gIEBlbHNlIGlmICRtZWRpYSA9PSBtZCB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAjeyRsYXJnZUJyZWFrcG9pbnQgLSAxcHh9KSB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGVsc2UgaWYgJG1lZGlhID09IHNtIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICN7JHNtTWF4fSkgeyBAY29udGVudDsgfVxuICB9XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiB4cGFkIC8geXBhZFxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgXG5AbWl4aW4geHBhZCgkcGFkKSAge1xuICBwYWRkaW5nLWxlZnQ6ICRwYWQ7XG4gIHBhZGRpbmctcmlnaHQ6ICRwYWQ7XG59XG5AbWl4aW4geXBhZCgkcGFkKSAge1xuICBwYWRkaW5nLXRvcDogJHBhZDtcbiAgcGFkZGluZy1ib3R0b206ICRwYWQ7XG59XG5AbWl4aW4geG1hcmdpbigkZ2FwKSAge1xuICBtYXJnaW4tbGVmdDogJGdhcDtcbiAgbWFyZ2luLXJpZ2h0OiAkZ2FwO1xufVxuQG1peGluIHltYXJnaW4oJGdhcCkgIHtcbiAgbWFyZ2luLXRvcDogJGdhcDtcbiAgbWFyZ2luLWJvdHRvbTogJGdhcDtcbn1cblxuQG1peGluIGFic0NlbnRlckJhc2VfeSgkaCkgIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbWFyZ2luLXRvcDogJGgvLTI7XG59XG5cbkBtaXhpbiBhYnNDZW50ZXJCYXNlKCR3LCAkaDogJHcpICB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLXRvcDogJGgvLTI7XG4gIG1hcmdpbi1sZWZ0OiAkdy8tMjtcbn1cblxuQG1peGluIGFic0NlbnRlckljb24oJHcsICRoOiAkdykgIHtcbiAgQGluY2x1ZGUgYWJzQ2VudGVyQmFzZSgkdywgJGgpO1xuICBmb250LXNpemU6ICRoO1xufVxuQG1peGluIGFic0NlbnRlckljb25feSgkaCkgIHtcbiAgQGluY2x1ZGUgYWJzQ2VudGVyQmFzZV95KCRoKTtcbiAgZm9udC1zaXplOiAkaDtcbn1cblxuQG1peGluIGZsZXhJbmxpbmVPdmVycmlkZSAge1xuICAgIG1pbi13aWR0aDogMCAhaW1wb3J0YW50O1xuICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xuICAgIC13ZWJraXQtZmxleDogMSAhaW1wb3J0YW50O1xuICAgIC1tcy1mbGV4OiAxICFpbXBvcnRhbnQ7XG4gICAgZmxleDogMSAhaW1wb3J0YW50O1xufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIGFwcC1zcGVjaWZpYyBtaXhpbi92YXJzID4gdGFic1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5AbWl4aW4gbGFyZ2UtdGFicy1zdHlsZSAge1xuICBmb250LXNpemU6IDIwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBmb250LXdlaWdodDogNTAwO1xuICBAaW5jbHVkZSByZXNwb25kKG1kKSAge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgfVxufVxuJGxhcmdlLXRhYnMtc3BhY2luZzogNDBweDtcblxuQG1peGluIHRyaW1Jbm5lck1hcmdpbiAge1xuICA+ICogIHtcbiAgICAmOmZpcnN0LWNoaWxkICB7XG4gICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgICY6bGFzdC1jaGlsZCAge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiBwbGFjZWhvbGRlclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgXG5AbWl4aW4gcGxhY2Vob2xkZXIge1xuICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtAY29udGVudH1cbiAgJjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgICB7QGNvbnRlbnR9XG4gICY6Oi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAge0Bjb250ZW50fVxuICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciAgICAgIHtAY29udGVudH0gIFxufVxuXG5cbiIsIkBpbXBvcnQgXCJ2YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCJtaXhpbnNcIjtcblxuQG1peGluIGNoYW5nZS1pbmRpY2F0b3Ige1xuICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG4gIG1hcmdpbjogMCAxMHB4O1xuXG4gICYuaW5jcmVhc2UgeyBcbiAgICBjb2xvcjogIzIwYjc2OTsgXG4gICAgaS5mYSB7XG4gICAgICBtYXJnaW4tdG9wOiA4cHg7XG4gICAgfVxuICB9XG5cbiAgJi5kZWNyZWFzZSB7IFxuICAgIGNvbG9yOiAjYzQyYTNiOyBcbiAgICBpLmZhIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDRweDtcbiAgICB9XG4gIH1cblxuICAmLnBlcmZvcm0taW5jcmVhc2UgeyBcbiAgICBpLmZhIHtcbiAgICAgIG1hcmdpbi10b3A6IDhweDtcbiAgICB9XG4gIH1cblxuICAmLnBlcmZvcm0tZGVjcmVhc2UgeyBcbiAgICBpLmZhIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDRweDtcbiAgICB9XG4gIH1cblxuICBpLmZhIHtcbiAgICBtaW4td2lkdGg6IDEycHg7XG4gIH1cbn1cblxuLnRlc3QtcmVzdWx0cy1idXR0b24ge1xuICB3aWR0aDogMTAwJTsgIFxuICB3aWR0aDogLXdlYmtpdC1maWxsLWF2YWlsYWJsZTsgXG59XG5cbi5yZXBvcnRzLXJlc3AtaGVhZGVyIHtcbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24taW1wb3J0YW50KGNvbHVtbik7XG4gICAgLnJlc3AtaGVhZGVyLWFjdGlvbnMge1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIH1cbiAgfVxufVxuXG4ucHJvZ3Jlc3MtcmVwb3J0LW9wdGlvbnMge1xuICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICBtYXJnaW46IDMwcHggMCA1cHg7XG4gIGdhcDogMTBweDtcbiAgZmxleC13cmFwOiB3cmFwO1xuXG4gIC5kYXRlLXJhbmdlcyB7XG4gICAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG4gICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcbiAgICBtYXJnaW4tbGVmdDogMzBweDtcbiAgICBnYXA6IDIwcHg7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxufVxuXG4ucHJvZ3Jlc3MtcmVwb3J0LW5vZGF0YSB7XG4gIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbiAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcbiAgbWluLWhlaWdodDogMjUwcHg7XG4gIGZvbnQtc2l6ZTogMjBweDtcbn1cblxuLnJlcG9ydC1jaGFydC1jb250YWluZXIge1xuICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuXG4gIC5yZXBvcnQtY2hhcnQtZGV0YWlscyB7XG4gICAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcbiAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xuXG4gICAgLnJlcG9ydC1jaGFydC1kZXRhaWwge1xuICAgICAgQGluY2x1ZGUgZmxleC1yb3coKTtcblxuICAgICAgJi50ZWFtLCAmLnRvdGFsIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMTVweDtcbiAgICAgIH1cblxuICAgICAgPiBkaXYge1xuICAgICAgICBtaW4td2lkdGg6IDEzMHB4O1xuICAgICAgICBtaW4taGVpZ2h0OiA5MHB4O1xuICAgICAgICBtYXJnaW46IDAgMTBweDtcbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICAgICAgbWluLXdpZHRoOiBjYWxjKDMzJSAtIDE4cHgpO1xuICAgICAgICAgIG1heC13aWR0aDogY2FsYygzMyUgLSAxOHB4KTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAucmVwb3J0LWRldGFpbC1jaGFydC1saW5lIHtcbiAgICAgICAgPiBjYW52YXMge1xuICAgICAgICAgIHdpZHRoOiAxMzBweDtcbiAgICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJSFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBoZWlnaHQ6IDIwcHghaW1wb3J0YW50O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuaGVhZGVyIHtcblxuICAgICAgfVxuXG4gICAgICAuc2NvcmUtY29udGFpbmVyIHtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xuICAgICAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChzcGFjZS1iZXR3ZWVuKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxNXB4O1xuXG4gICAgICAgIC5zY29yZSB7XG4gICAgICAgICAgZm9udC1zaXplOiAzMHB4O1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiAxMDA7XG4gICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmNoYW5nZSB7XG4gICAgICAgICAgQGluY2x1ZGUgY2hhbmdlLWluZGljYXRvcjtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAudHJvcGhpZXMge1xuICAgICAgICBwYWRkaW5nLXRvcDogMHB4O1xuXG4gICAgICAgID4gZGl2IHtcbiAgICAgICAgICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICAgICAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbiAgICAgICAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChmbGV4LXN0YXJ0KTtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLnRyb3BoeS1wbGFjZSB7XG4gICAgICAgICAgZm9udC1zaXplOiAzMHB4O1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiAxMDA7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLnJlcG9ydC1zdW1tYXJ5LWNvbnRhaW5lciB7XG4gIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XG4gIG1hcmdpbi10b3A6IDMwcHg7XG5cbiAgLnRpdGxlIHtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gIH1cbn1cblxuLnJlcG9ydC1zdW1tYXJ5IHtcbiAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgQGluY2x1ZGUgZmxleC13cmFwKHdyYXApO1xuXG4gID4gZGl2IHtcbiAgICBtaW4td2lkdGg6IDI0MHB4O1xuICAgIG1pbi1oZWlnaHQ6IDkwcHg7XG4gICAgbWFyZ2luOiAyMHB4IDEwcHggMTBweCAgMDtcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjY2NjO1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMTBweCkgIWltcG9ydGFudDtcbiAgICB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDU4MHB4KSB7XG4gICAgICB3aWR0aDogMTAwJSFpbXBvcnRhbnQ7XG4gICAgICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NjYztcbiAgICB9XG4gIH1cblxuICAuc3VtbWFyeS1jb250YWluZXIge1xuICAgIG1heC13aWR0aDogMjIwcHg7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLnN1bW1hcnktaW5mbyB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICAgICAgbWluLWhlaWdodDogNjBweDtcbiAgICAgIG1hcmdpbjogMCAzcHg7XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgbWF4LXdpZHRoOiAwIDhweDtcbiAgICAgIH1cblxuICAgICAgLmhlYWRlciB7XG5cbiAgICAgIH1cblxuICAgICAgLnNjb3JlLWNvbnRhaW5lciB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoc3BhY2UtYmV0d2Vlbik7XG5cbiAgICAgICAgLnNjb3JlIHtcbiAgICAgICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDEwMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jaGFuZ2Uge1xuICAgICAgICAgIEBpbmNsdWRlIGNoYW5nZS1pbmRpY2F0b3I7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuc3VtbWFyeS1jaGFydCB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICAgICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcbiAgICAgIG1pbi1oZWlnaHQ6IDQwcHg7XG5cbiAgICAgID4gY2FudmFzIHtcbiAgICAgICAgd2lkdGg6IDIyMHB4O1xuICAgICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAgICAgIHdpZHRoOiAxMDAlIWltcG9ydGFudDtcbiAgICAgICAgICBoZWlnaHQ6IDMwcHghaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5yZXBvcnQtZGV0YWlscy1jb250YWluZXIge1xuICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICBAaW5jbHVkZSBmbGV4KDEgMCBhdXRvKTtcbiAgbWFyZ2luLXRvcDogMzBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsgXG5cbiAgLnRpdGxlIHtcbiAgICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24tc2VsZihjZW50ZXIpO1xuICAgIEBpbmNsdWRlIGxvY2std2lkdGgoMTAyNHB4KTtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgfVxufVxuXG4ucmVwb3J0LWRldGFpbHMge1xuICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChmbGV4LXN0YXJ0KTtcbiAgbWFyZ2luLWJvdHRvbTogNTBweDtcbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gIH1cblxuICA+IGRpdiB7XG4gICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gIH1cblxuICAuY2hhbmdlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAtOHB4O1xuICAgIG1pbi13aWR0aDogNzBweDtcbiAgICBsaW5lLWhlaWdodDogMjBweDtcblxuICAgID4gZGl2IHtcbiAgICAgIEBpbmNsdWRlIGNoYW5nZS1pbmRpY2F0b3I7XG4gICAgICBmb250LXNpemU6IDEycHg7XG4gICAgfVxuICB9XG4gIFxuICAubmFtZXMtY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICAgIG1pbi13aWR0aDogMjUwcHg7ICAgIFxuXG4gICAgPiBkaXYge1xuICAgICAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbiAgICAgIG1pbi1oZWlnaHQ6IDQwcHg7XG4gICAgICBtaW4td2lkdGg6IDE4MHB4O1xuICAgICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICAgIH1cblxuICAgIC5oZWFkZXItcm93IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkZmRmZGY7XG5cbiAgICAgIHNwYW4ge1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgfVxuXG4gICAgICAmICsgLmhlYWRlci1yb3cge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDRkNGQ0O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5kZXRhaWwtcm93IHtcbiAgICAgID4gZGl2IHtcbiAgICAgICAgbWluLXdpZHRoOiAxODBweDtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICB9XG5cbiAgICAgICY6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjQyNDI0O1xuICAgICAgICBjb2xvcjogI2Y3ZjdmNztcbiAgICAgIH1cblxuICAgICAgJjpudGgtY2hpbGQoZXZlbikge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmUyZTJlO1xuICAgICAgICBjb2xvcjogI2Y3ZjdmNztcbiAgICAgIH1cblxuICAgICAgJi5zdWItdG90YWwge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDRkNGQ0O1xuICAgICAgICBjb2xvcjogIzc1Nzg3YjtcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgICAgICYgKyAuc3ViLXRvdGFsIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGZkZmRmO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYudG90YWwge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZTtcbiAgICAgICAgY29sb3I6ICNmN2Y3Zjc7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIH1cblxuICAgICAgLmRldGFpbC1yb3ctcG9zaXRpb24ge1xuICAgICAgICBtYXJnaW4tbGVmdDoxNXB4OyBcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuaW5mby1jb250YWluZXIge1xuICAgIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XG5cbiAgICA+IGRpdiB7XG4gICAgICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xuICAgICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcbiAgICAgIG1pbi1oZWlnaHQ6IDQwcHg7XG4gICAgICBtaW4td2lkdGg6IDExMHB4O1xuICAgIH1cblxuICAgIC5oZWFkZXItcm93IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkZmRmZGY7XG5cbiAgICAgIHNwYW4ge1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgfVxuXG4gICAgICAmICsgLmhlYWRlci1yb3cge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDRkNGQ0O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5kZXRhaWwtcm93IHtcbiAgICAgICY6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWZlZmVmO1xuICAgICAgfVxuXG4gICAgICAmOm50aC1jaGlsZChldmVuKSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnNjb3Jlcy1jb250YWluZXIge1xuICAgIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBvdmVyZmxvdy15OiBoaWRkZW47XG4gICAgb3ZlcmZsb3cteDogc2Nyb2xsO1xuICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICBvdmVyZmxvdy15OiB1bnNldDtcbiAgICAgIG92ZXJmbG93LXg6IHVuc2V0O1xuICAgIH1cblxuICAgID4gZGl2IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XG5cbiAgICAgID4gZGl2IHtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xuICAgICAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChjZW50ZXIpO1xuICAgICAgICBtaW4taGVpZ2h0OiA0MHB4O1xuICAgICAgICBtaW4td2lkdGg6IDIxMHB4O1xuICAgICAgfVxuICAgIH1cblxuICAgID4gZGl2OmZpcnN0LWNoaWxkIHtcbiAgICAgIC5oZWFkZXItcm93IHtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjY2NjO1xuICAgICAgfVxuXG4gICAgICAuZGV0YWlsLXJvdyB7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2NjYztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuaGVhZGVyLXJvdyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGZkZmRmO1xuICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2NjYztcblxuICAgICAgJi5yaWdodC1sZWZ0IHtcbiAgICAgICAgPiBzcGFuIHtcbiAgICAgICAgICBtaW4td2lkdGg6IDU1cHg7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHNwYW4ge1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgfVxuXG4gICAgICAmICsgLmhlYWRlci1yb3cge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDRkNGQ0O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5kZXRhaWwtcm93IHtcbiAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNjY2M7XG5cbiAgICAgICY6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWZlZmVmO1xuICAgICAgfVxuXG4gICAgICAmOm50aC1jaGlsZChldmVuKSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gICAgICB9XG5cbiAgICAgID4gZGl2IHtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcblxuICAgICAgICAmLnJpZ2h0LWxlZnQge1xuICAgICAgICAgID4gc3BhbiB7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDU1cHg7XG4gICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5jaGFuZ2UtY29udGFpbmVyIHtcbiAgICAgICAgICBAaW5jbHVkZSBmbGV4KDEgMCBhdXRvKTtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLnByb2dyZXNzLXJlcG9ydC1ib2R5bWFwIHtcbiAgbWF4LWhlaWdodDogMjEzcHg7XG4gIG1heC13aWR0aDogMTAwcHg7XG59XG5cbi5wcm9ncmVzcy1yZXBvcnQtaGlkZGVuIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4ucHJvZ3Jlc3MtcmVwb3J0LWJvZHltYXAtY29udGFpbmVyIHtcbiAgLy8gbWFyZ2luLXRvcDogMnB4O1xufVxuXG4ucHJvZ3JhbS1ncm91cC1kcm9wZG93bi1jb250YWluZXIge1xuICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gIHdpZHRoOiAxMDI0cHg7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAzMHB4IDBweCAxMHB4IDBweDtcbiAgaGVpZ2h0OiA1MHB4O1xuICBcbiAgPiBzcGFuIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuICBcbiAgLnByb2dyYW0tdHlwZS1idXR0b24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gIH1cbn1cblxuLnJlcG9ydC1wcm9ncmFtcy1jb250YWluZXIge1xuICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICBAaW5jbHVkZSBmbGV4KDEgMCBhdXRvKTtcbiAgbWFyZ2luLWJvdHRvbTogNTBweDtcbiAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIG92ZXJmbG93LXg6IGF1dG87XG5cbiAgPiBkaXYge1xuICAgIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gICAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xuICAgIEBpbmNsdWRlIGxvY2staGVpZ2h0KDQwcHgpO1xuICAgIG1pbi13aWR0aDogbWF4LWNvbnRlbnQ7XG4gIH1cblxuICAuaGVhZGVyLXJvdyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2RmZGZkZjtcblxuICAgIHNwYW4ge1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIH1cblxuICAgIC5wcm9ncmFtLWRhdGEtY2hhcnQge1xuICAgICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoZmxleC1zdGFydCk7XG4gICAgfVxuICB9XG5cbiAgLmRhdGEtcm93IHtcbiAgICAucHJvZ3JhbS1uYW1lIHtcbiAgICAgIEBpbmNsdWRlIGxvY2staGVpZ2h0KDQwcHgpO1xuICAgIH1cblxuICAgICY6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2VmZWZlZjtcblxuICAgICAgLnByb2dyYW0tbmFtZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyNDI0MjQ7XG4gICAgICAgIGNvbG9yOiAjZjdmN2Y3O1xuICAgICAgfVxuICAgIH1cblxuICAgICY6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG5cbiAgICAgIC5wcm9ncmFtLW5hbWUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmUyZTJlO1xuICAgICAgICBjb2xvcjogI2Y3ZjdmNztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnRvdGFsXG4gICAge1xuICAgICAgLnByb2dyYW0tbmFtZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibHVlO1xuICAgICAgICBjb2xvcjogI2Y3ZjdmNztcblxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYucG9zaXRpb24tdG90YWwgXG4gICAge1xuICAgICAgLnByb2dyYW0tbmFtZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNFMUUzRTU7XG4gICAgICAgIGNvbG9yOiAjZWZlZmVmO1xuXG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnByb2dyYW0tbmFtZSB7XG4gICAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG4gICAgQGluY2x1ZGUgZmxleCgxIDEgYXV0byk7XG4gICAgbWluLXdpZHRoOiAzNDZweDtcbiAgICBtYXgtd2lkdGg6IDUwMHB4O1xuICAgIHBhZGRpbmctbGVmdDogMzBweDtcbiAgfVxuXG4gIC5wcm9ncmFtLWRhdGEge1xuICAgIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gICAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xuICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGNlbnRlcik7XG4gICAgbWluLXdpZHRoOiAxMjBweDtcblxuICAgICYucmlnaHQge1xuICAgICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoZmxleC1lbmQpO1xuICAgICAgcGFkZGluZy1yaWdodDogMzBweDtcbiAgICB9XG4gIH1cblxuICAucHJvZ3JhbS1kYXRhLWNoYXJ0IHtcbiAgICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbiAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChjZW50ZXIpO1xuICAgIG1pbi13aWR0aDogMzIwcHg7XG4gIH1cblxuICAucHJvZ3JhbS1maWxsZXIge1xuICAgIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gICAgQGluY2x1ZGUgZmxleCgxIDEgYXV0byk7XG4gICAgbWluLXdpZHRoOiA2MHB4O1xuICB9XG59XG4iLCIkcmVkOiAjYzQyYTNiO1xuJGJsdWU6ICM5NzY4RUI7XG4kZGFya19ibHVlOiAjMTEyNjRiO1xuJGdyZXk6ICM4MDgwODA7XG4kZ3JlZW46ICMyMGI3Njk7XG4kd2hpdGU6ICNmZmZmZmY7XG4keWVsbG93OiAjZDhiNjJmO1xuJGxpZ2h0X2dyZXk6ICNjZGNkY2Q7XG4kZGFya19ncmV5OiAjNmQ2ZTcyO1xuJHNjb3JlLWdyZWVuOiAjMDBCOTZEO1xuJHNjb3JlLXJlZDogI0QxNDA0QjtcbiRzY29yZS15ZWxsb3c6ICNEN0JCNDM7XG5cbiRmb290ZXJfYmFja2dyb3VuZDogIzExMjY0YjtcbiRhdGhsZXRlX2hlYWRlcl9wcmltYXJ5OiAjZTFlMWUxO1xuJGF0aGxldGVfaGVhZGVyX3NlY29uZGFyeTogI2UxZTFlMTtcbiRhdGhsZXRlX2xpc3RfbmFtZTogI2Y3ZjdmNztcbiIsIlxuQG1peGluIHRyYW5zZm9ybSgkdHJhbnNmb3Jtcykge1xuICAgICAtbW96LXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gICAgICAgLW8tdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgIC1tcy10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAtd2Via2l0LXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gICAgICAgICAgdHJhbnNmb3JtOiAkdHJhbnNmb3Jtcztcbn1cblxuQG1peGluIGFwcGVhcmFuY2UoJGFwcGVhcmFuY2UuLi4pIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcbiAgICAgLW1vei1hcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcbiAgICAgICAgICBhcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcbn1cblxuQG1peGluIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMuLi4pIHtcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICAgLW1vei1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbn1cblxuQG1peGluIGJveC1zaGFkb3coJHNoYWRvdy4uLikge1xuICAtd2Via2l0LWJveC1zaGFkb3c6ICRzaGFkb3c7XG4gICAgIC1tb3otYm94LXNoYWRvdzogJHNoYWRvdztcbiAgICAgICAgICBib3gtc2hhZG93OiAkc2hhZG93O1xufVxuXG5AbWl4aW4gYm94LXNpemluZygkc2l6ZS4uLikge1xuICAtd2Via2l0LWJveC1zaXppbmc6ICRzaXplO1xuICAgICAtbW96LWJveC1zaXppbmc6ICRzaXplO1xuICAgICAgICAgIGJveC1zaXppbmc6ICRzaXplO1xufVxuXG5AbWl4aW4gdXNlci1zZWxlY3QoJHNlbGVjdC4uLikge1xuLXdlYmtpdC10b3VjaC1jYWxsb3V0OiAkc2VsZWN0O1xuICAgICAtbXMtdG91Y2gtc2VsZWN0OiAkc2VsZWN0O1xuICAgICAtbW96LXVzZXItc2VsZWN0OiAkc2VsZWN0O1xuICAgICAgLW1zLXVzZXItc2VsZWN0OiAkc2VsZWN0O1xuICAgICAgICAgIHVzZXItc2VsZWN0OiAkc2VsZWN0O1xufVxuXG5AbWl4aW4gZmxleCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1mbGV4OiAkdmFsdWU7XG4gICAgICAtbXMtZmxleDogJHZhbHVlO1xuICAgICAgICAgIGZsZXg6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtYWxpZ24tY29udGVudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1hbGlnbi1jb250ZW50OiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24tY29udGVudDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1hbGlnbi1pdGVtcygkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1hbGlnbi1pdGVtczogJHZhbHVlO1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWFsaWduLXNlbGYoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtYWxpZ24tc2VsZjogJHZhbHVlO1xuICAgICAgICAgIGFsaWduLXNlbGY6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtZGlyZWN0aW9uKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiAkdmFsdWU7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246ICR2YWx1ZTtcbn1cbkBtaXhpbiBmbGV4LWRpcmVjdGlvbi1pbXBvcnRhbnQoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleC1kaXJlY3Rpb246ICR2YWx1ZSFpbXBvcnRhbnQ7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246ICR2YWx1ZSFpbXBvcnRhbnQ7XG59XG5cbkBtaXhpbiBmbGV4LWRpc3BsYXkoKSB7XG4gIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbkBtaXhpbiBmbGV4LWp1c3RpZnktY29udGVudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6ICR2YWx1ZTtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtb3JkZXIoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtb3JkZXI6ICR2YWx1ZTtcbiAgICAgICAgICBvcmRlcjogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC13cmFwKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXgtd3JhcDogJHZhbHVlO1xuICAgICAgICAgIGZsZXgtd3JhcDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1jb2x1bW4oKSB7XG4gIEBpbmNsdWRlIGZsZXgtZGlzcGxheSgpO1xuICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihjb2x1bW4pO1xufVxuXG5AbWl4aW4gZmxleC1jb2x1bW4tY2VudGVyKCkge1xuICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbi1zdGFydCgpIHtcbiAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LXN0YXJ0KTtcbn1cblxuQG1peGluIGZsZXgtcm93KCkge1xuICBAaW5jbHVkZSBmbGV4LWRpc3BsYXkoKTtcbiAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24ocm93KTtcbn1cblxuQG1peGluIGZsZXgtcm93LWNlbnRlcigpIHtcbiAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xufVxuXG5AbWl4aW4gZmxleC1yb3ctc3RhcnQoKSB7XG4gIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoZmxleC1zdGFydCk7XG59XG5cbkBtaXhpbiBsb2NrLWhlaWdodCgkdmFsdWUuLi4pIHtcbiAgbWF4LWhlaWdodDogJHZhbHVlO1xuICBtaW4taGVpZ2h0OiAkdmFsdWU7XG4gIGhlaWdodDogJHZhbHVlO1xufVxuXG5AbWl4aW4gbG9jay13aWR0aCgkdmFsdWUuLi4pIHtcbiAgbWF4LXdpZHRoOiAkdmFsdWU7XG4gIG1pbi13aWR0aDogJHZhbHVlO1xuICB3aWR0aDogJHZhbHVlO1xufVxuXG5AbWl4aW4gbG9jay13aWR0aC1pbmxpbmUtb3ZlcnJpZGUoJHZhbHVlLi4uKSB7XG4gIG1heC13aWR0aDogJHZhbHVlICFpbXBvcnRhbnQ7XG4gIG1pbi13aWR0aDogJHZhbHVlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbn1cblxuXG5AbWl4aW4gdW5sb2NrLXdpZHRoICB7XG4gIG1heC13aWR0aDogbm9uZTtcbiAgbWluLXdpZHRoOiAwO1xuICB3aWR0aDogYXV0bztcbn1cbkBtaXhpbiB1bmxvY2staGVpZ2h0ICB7XG4gIG1heC1oZWlnaHQ6IG5vbmU7XG4gIG1pbi1oZWlnaHQ6IDA7XG4gIGhlaWdodDogYXV0bztcbn1cblxuQG1peGluIGNvbHVtbi1jb3VudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1jb2x1bW4tY291bnQ6ICR2YWx1ZTtcbiAgLW1vei1jb2x1bW4tY291bnQ6ICR2YWx1ZTtcbiAgY29sdW1uLWNvdW50OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBjb2x1bW4tZ2FwKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWNvbHVtbi1nYXA6ICR2YWx1ZTtcbiAgLW1vei1jb2x1bW4tZ2FwOiAkdmFsdWU7XG4gIGNvbHVtbi1nYXA6ICR2YWx1ZTtcbn1cblxuQG1peGluIGNvbHVtbi1uby1icmVhaygpIHtcbiAgLXdlYmtpdC1jb2x1bW4tYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkLWNvbHVtbjtcbiAgLW1vei1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xuICAtby1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xuICAtbXMtY29sdW1uLWJyZWFrLWluc2lkZTphdm9pZDtcbiAgYnJlYWstaW5zaWRlOmF2b2lkLWNvbHVtbjtcbn1cblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiByZXNwb25kXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4kbWluQ29udGVudFdpZHRoOiAxMDI0cHg7XG4kbWluRWRnZUNvbnRlbnRQYWRkaW5nOiAxNXB4O1xuJGxhcmdlQnJlYWtwb2ludDogJG1pbkNvbnRlbnRXaWR0aCArICRtaW5FZGdlQ29udGVudFBhZGRpbmcqMjtcbiRjb21wcmVzc2VkQ29udGVudFdpZHRoOiAkbWluQ29udGVudFdpZHRoIC0gJG1pbkVkZ2VDb250ZW50UGFkZGluZyoyO1xuLy8gJHNtTWluOiA3NjhweDtcbiRzbU1heDogOTAwcHg7XG5AbWl4aW4gcmVzcG9uZCgkbWVkaWEpIHtcbiAgQGlmICRtZWRpYSA9PSB3aGl0ZWJvYXJkLWV4ZXJjaXNlLXN0YWNrZWQtYXR0cmlidXRlcyB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTkwcHgpIHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAaWYgJG1lZGlhID09IGxnIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRsYXJnZUJyZWFrcG9pbnQpIHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAZWxzZSBpZiAkbWVkaWEgPT0gbWQge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogI3skbGFyZ2VCcmVha3BvaW50IC0gMXB4fSkgeyBAY29udGVudDsgfVxuICB9XG4gIEBlbHNlIGlmICRtZWRpYSA9PSBzbSB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAjeyRzbU1heH0pIHsgQGNvbnRlbnQ7IH1cbiAgfVxufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4geHBhZCAvIHlwYWRcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gIFxuQG1peGluIHhwYWQoJHBhZCkgIHtcbiAgcGFkZGluZy1sZWZ0OiAkcGFkO1xuICBwYWRkaW5nLXJpZ2h0OiAkcGFkO1xufVxuQG1peGluIHlwYWQoJHBhZCkgIHtcbiAgcGFkZGluZy10b3A6ICRwYWQ7XG4gIHBhZGRpbmctYm90dG9tOiAkcGFkO1xufVxuQG1peGluIHhtYXJnaW4oJGdhcCkgIHtcbiAgbWFyZ2luLWxlZnQ6ICRnYXA7XG4gIG1hcmdpbi1yaWdodDogJGdhcDtcbn1cbkBtaXhpbiB5bWFyZ2luKCRnYXApICB7XG4gIG1hcmdpbi10b3A6ICRnYXA7XG4gIG1hcmdpbi1ib3R0b206ICRnYXA7XG59XG5cbkBtaXhpbiBhYnNDZW50ZXJCYXNlX3koJGgpICB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIG1hcmdpbi10b3A6ICRoLy0yO1xufVxuXG5AbWl4aW4gYWJzQ2VudGVyQmFzZSgkdywgJGg6ICR3KSAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi10b3A6ICRoLy0yO1xuICBtYXJnaW4tbGVmdDogJHcvLTI7XG59XG5cbkBtaXhpbiBhYnNDZW50ZXJJY29uKCR3LCAkaDogJHcpICB7XG4gIEBpbmNsdWRlIGFic0NlbnRlckJhc2UoJHcsICRoKTtcbiAgZm9udC1zaXplOiAkaDtcbn1cbkBtaXhpbiBhYnNDZW50ZXJJY29uX3koJGgpICB7XG4gIEBpbmNsdWRlIGFic0NlbnRlckJhc2VfeSgkaCk7XG4gIGZvbnQtc2l6ZTogJGg7XG59XG5cbkBtaXhpbiBmbGV4SW5saW5lT3ZlcnJpZGUgIHtcbiAgICBtaW4td2lkdGg6IDAgIWltcG9ydGFudDtcbiAgICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcbiAgICAtd2Via2l0LWZsZXg6IDEgIWltcG9ydGFudDtcbiAgICAtbXMtZmxleDogMSAhaW1wb3J0YW50O1xuICAgIGZsZXg6IDEgIWltcG9ydGFudDtcbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBhcHAtc3BlY2lmaWMgbWl4aW4vdmFycyA+IHRhYnNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuQG1peGluIGxhcmdlLXRhYnMtc3R5bGUgIHtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBsaW5lLWhlaWdodDogMTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgQGluY2x1ZGUgcmVzcG9uZChtZCkgIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gIH1cbn1cbiRsYXJnZS10YWJzLXNwYWNpbmc6IDQwcHg7XG5cbkBtaXhpbiB0cmltSW5uZXJNYXJnaW4gIHtcbiAgPiAqICB7XG4gICAgJjpmaXJzdC1jaGlsZCAge1xuICAgICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAmOmxhc3QtY2hpbGQgIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gcGxhY2Vob2xkZXJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gIFxuQG1peGluIHBsYWNlaG9sZGVyIHtcbiAgJjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7QGNvbnRlbnR9XG4gICY6LW1vei1wbGFjZWhvbGRlciAgICAgICAgICAge0Bjb250ZW50fVxuICAmOjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgIHtAY29udGVudH1cbiAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIgICAgICB7QGNvbnRlbnR9ICBcbn1cblxuXG4iLCJAaW1wb3J0IFwidmFyaWFibGVzXCI7XG5AaW1wb3J0IFwibWl4aW5zXCI7XG5cbi5wYWdlLWhlYWRlci1iYWNrLW5hdiB7XG4gIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbiAgbWluLWhlaWdodDogNDBweDtcblxuICBsYWJlbCB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICBpLmljb24ge1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgIH1cblxuICAgIHNwYW4ge1xuICAgICAgbWFyZ2luLWxlZnQ6IDhweDtcbiAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICB9XG4gIH1cbn1cblxuLnRlc3QtYXJjaGl2ZXMtb3B0aW9ucyB7XG4gIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgbWFyZ2luOiAzMHB4IDAgNXB4O1xuICByb3ctZ2FwOiAxMHB4O1xuXG4gID4gZGl2ICsgZGl2IHtcbiAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgfVxuXG4gIC5kYXRlLXJhbmdlcyB7XG4gICAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG4gICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcbiAgICBtYXJnaW4tbGVmdDogMzBweDtcbiAgICBnYXA6IDIwcHg7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgICAgZ2FwOiAxMHB4O1xuICAgIH1cbiAgfVxufVxuXG4uYXJjaGl2ZS1jb250YWluZXIge1xuICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICBtYXJnaW46IDMwcHggMDtcblxuICA+IGRpdiB7XG4gICAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG5cbiAgICBtaW4taGVpZ2h0OiA1MHB4O1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2NjO1xuXG4gICAgc3BhbiB7XG4gICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgfVxuXG4gICAgaS5pY29uIHtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG5cbiAgICAuYXJjaGl2ZS1uYW1lLFxuICAgIC5hcmNoaXZlLWluZm8sXG4gICAgLmFyY2hpdmUtYWN0aW9uIHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gICAgfVxuXG4gICAgLmFyY2hpdmUtbmFtZSB7XG4gICAgICBAaW5jbHVkZSBmbGV4KDEgMSBhdXRvKTtcbiAgICAgIG1pbi13aWR0aDogMTIwcHg7XG4gICAgICBzcGFuIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5hcmNoaXZlLWluZm8sXG4gICAgLmFyY2hpdmUtYWN0aW9uIHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGNlbnRlcik7XG4gICAgfVxuXG4gICAgLmFyY2hpdmUtaW5mbyB7XG4gICAgICBtaW4td2lkdGg6IDE0MHB4O1xuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDU2OHB4KSB7XG4gICAgICAgIG1pbi13aWR0aDogMTAwcHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmFyY2hpdmUtYWN0aW9uIHtcbiAgICAgIG1pbi13aWR0aDogNjBweDtcbiAgICB9XG5cbiAgICAmLmhlYWRlci1yb3cge1xuICAgICAgbWluLWhlaWdodDogNDBweDtcblxuICAgICAgc3BhbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn0iLCIkcmVkOiAjYzQyYTNiO1xuJGJsdWU6ICM5NzY4RUI7XG4kZGFya19ibHVlOiAjMTEyNjRiO1xuJGdyZXk6ICM4MDgwODA7XG4kZ3JlZW46ICMyMGI3Njk7XG4kd2hpdGU6ICNmZmZmZmY7XG4keWVsbG93OiAjZDhiNjJmO1xuJGxpZ2h0X2dyZXk6ICNjZGNkY2Q7XG4kZGFya19ncmV5OiAjNmQ2ZTcyO1xuJHNjb3JlLWdyZWVuOiAjMDBCOTZEO1xuJHNjb3JlLXJlZDogI0QxNDA0QjtcbiRzY29yZS15ZWxsb3c6ICNEN0JCNDM7XG5cbiRmb290ZXJfYmFja2dyb3VuZDogIzExMjY0YjtcbiRhdGhsZXRlX2hlYWRlcl9wcmltYXJ5OiAjZTFlMWUxO1xuJGF0aGxldGVfaGVhZGVyX3NlY29uZGFyeTogI2UxZTFlMTtcbiRhdGhsZXRlX2xpc3RfbmFtZTogI2Y3ZjdmNztcbiIsIlxuQG1peGluIHRyYW5zZm9ybSgkdHJhbnNmb3Jtcykge1xuICAgICAtbW96LXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gICAgICAgLW8tdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgIC1tcy10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAtd2Via2l0LXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gICAgICAgICAgdHJhbnNmb3JtOiAkdHJhbnNmb3Jtcztcbn1cblxuQG1peGluIGFwcGVhcmFuY2UoJGFwcGVhcmFuY2UuLi4pIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcbiAgICAgLW1vei1hcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcbiAgICAgICAgICBhcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcbn1cblxuQG1peGluIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMuLi4pIHtcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICAgLW1vei1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbn1cblxuQG1peGluIGJveC1zaGFkb3coJHNoYWRvdy4uLikge1xuICAtd2Via2l0LWJveC1zaGFkb3c6ICRzaGFkb3c7XG4gICAgIC1tb3otYm94LXNoYWRvdzogJHNoYWRvdztcbiAgICAgICAgICBib3gtc2hhZG93OiAkc2hhZG93O1xufVxuXG5AbWl4aW4gYm94LXNpemluZygkc2l6ZS4uLikge1xuICAtd2Via2l0LWJveC1zaXppbmc6ICRzaXplO1xuICAgICAtbW96LWJveC1zaXppbmc6ICRzaXplO1xuICAgICAgICAgIGJveC1zaXppbmc6ICRzaXplO1xufVxuXG5AbWl4aW4gdXNlci1zZWxlY3QoJHNlbGVjdC4uLikge1xuLXdlYmtpdC10b3VjaC1jYWxsb3V0OiAkc2VsZWN0O1xuICAgICAtbXMtdG91Y2gtc2VsZWN0OiAkc2VsZWN0O1xuICAgICAtbW96LXVzZXItc2VsZWN0OiAkc2VsZWN0O1xuICAgICAgLW1zLXVzZXItc2VsZWN0OiAkc2VsZWN0O1xuICAgICAgICAgIHVzZXItc2VsZWN0OiAkc2VsZWN0O1xufVxuXG5AbWl4aW4gZmxleCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1mbGV4OiAkdmFsdWU7XG4gICAgICAtbXMtZmxleDogJHZhbHVlO1xuICAgICAgICAgIGZsZXg6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtYWxpZ24tY29udGVudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1hbGlnbi1jb250ZW50OiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24tY29udGVudDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1hbGlnbi1pdGVtcygkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1hbGlnbi1pdGVtczogJHZhbHVlO1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWFsaWduLXNlbGYoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtYWxpZ24tc2VsZjogJHZhbHVlO1xuICAgICAgICAgIGFsaWduLXNlbGY6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtZGlyZWN0aW9uKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiAkdmFsdWU7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246ICR2YWx1ZTtcbn1cbkBtaXhpbiBmbGV4LWRpcmVjdGlvbi1pbXBvcnRhbnQoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleC1kaXJlY3Rpb246ICR2YWx1ZSFpbXBvcnRhbnQ7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246ICR2YWx1ZSFpbXBvcnRhbnQ7XG59XG5cbkBtaXhpbiBmbGV4LWRpc3BsYXkoKSB7XG4gIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbkBtaXhpbiBmbGV4LWp1c3RpZnktY29udGVudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6ICR2YWx1ZTtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtb3JkZXIoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtb3JkZXI6ICR2YWx1ZTtcbiAgICAgICAgICBvcmRlcjogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC13cmFwKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXgtd3JhcDogJHZhbHVlO1xuICAgICAgICAgIGZsZXgtd3JhcDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1jb2x1bW4oKSB7XG4gIEBpbmNsdWRlIGZsZXgtZGlzcGxheSgpO1xuICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihjb2x1bW4pO1xufVxuXG5AbWl4aW4gZmxleC1jb2x1bW4tY2VudGVyKCkge1xuICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbi1zdGFydCgpIHtcbiAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LXN0YXJ0KTtcbn1cblxuQG1peGluIGZsZXgtcm93KCkge1xuICBAaW5jbHVkZSBmbGV4LWRpc3BsYXkoKTtcbiAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24ocm93KTtcbn1cblxuQG1peGluIGZsZXgtcm93LWNlbnRlcigpIHtcbiAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xufVxuXG5AbWl4aW4gZmxleC1yb3ctc3RhcnQoKSB7XG4gIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoZmxleC1zdGFydCk7XG59XG5cbkBtaXhpbiBsb2NrLWhlaWdodCgkdmFsdWUuLi4pIHtcbiAgbWF4LWhlaWdodDogJHZhbHVlO1xuICBtaW4taGVpZ2h0OiAkdmFsdWU7XG4gIGhlaWdodDogJHZhbHVlO1xufVxuXG5AbWl4aW4gbG9jay13aWR0aCgkdmFsdWUuLi4pIHtcbiAgbWF4LXdpZHRoOiAkdmFsdWU7XG4gIG1pbi13aWR0aDogJHZhbHVlO1xuICB3aWR0aDogJHZhbHVlO1xufVxuXG5AbWl4aW4gbG9jay13aWR0aC1pbmxpbmUtb3ZlcnJpZGUoJHZhbHVlLi4uKSB7XG4gIG1heC13aWR0aDogJHZhbHVlICFpbXBvcnRhbnQ7XG4gIG1pbi13aWR0aDogJHZhbHVlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbn1cblxuXG5AbWl4aW4gdW5sb2NrLXdpZHRoICB7XG4gIG1heC13aWR0aDogbm9uZTtcbiAgbWluLXdpZHRoOiAwO1xuICB3aWR0aDogYXV0bztcbn1cbkBtaXhpbiB1bmxvY2staGVpZ2h0ICB7XG4gIG1heC1oZWlnaHQ6IG5vbmU7XG4gIG1pbi1oZWlnaHQ6IDA7XG4gIGhlaWdodDogYXV0bztcbn1cblxuQG1peGluIGNvbHVtbi1jb3VudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1jb2x1bW4tY291bnQ6ICR2YWx1ZTtcbiAgLW1vei1jb2x1bW4tY291bnQ6ICR2YWx1ZTtcbiAgY29sdW1uLWNvdW50OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBjb2x1bW4tZ2FwKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWNvbHVtbi1nYXA6ICR2YWx1ZTtcbiAgLW1vei1jb2x1bW4tZ2FwOiAkdmFsdWU7XG4gIGNvbHVtbi1nYXA6ICR2YWx1ZTtcbn1cblxuQG1peGluIGNvbHVtbi1uby1icmVhaygpIHtcbiAgLXdlYmtpdC1jb2x1bW4tYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkLWNvbHVtbjtcbiAgLW1vei1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xuICAtby1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xuICAtbXMtY29sdW1uLWJyZWFrLWluc2lkZTphdm9pZDtcbiAgYnJlYWstaW5zaWRlOmF2b2lkLWNvbHVtbjtcbn1cblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiByZXNwb25kXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4kbWluQ29udGVudFdpZHRoOiAxMDI0cHg7XG4kbWluRWRnZUNvbnRlbnRQYWRkaW5nOiAxNXB4O1xuJGxhcmdlQnJlYWtwb2ludDogJG1pbkNvbnRlbnRXaWR0aCArICRtaW5FZGdlQ29udGVudFBhZGRpbmcqMjtcbiRjb21wcmVzc2VkQ29udGVudFdpZHRoOiAkbWluQ29udGVudFdpZHRoIC0gJG1pbkVkZ2VDb250ZW50UGFkZGluZyoyO1xuLy8gJHNtTWluOiA3NjhweDtcbiRzbU1heDogOTAwcHg7XG5AbWl4aW4gcmVzcG9uZCgkbWVkaWEpIHtcbiAgQGlmICRtZWRpYSA9PSB3aGl0ZWJvYXJkLWV4ZXJjaXNlLXN0YWNrZWQtYXR0cmlidXRlcyB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTkwcHgpIHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAaWYgJG1lZGlhID09IGxnIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRsYXJnZUJyZWFrcG9pbnQpIHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAZWxzZSBpZiAkbWVkaWEgPT0gbWQge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogI3skbGFyZ2VCcmVha3BvaW50IC0gMXB4fSkgeyBAY29udGVudDsgfVxuICB9XG4gIEBlbHNlIGlmICRtZWRpYSA9PSBzbSB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAjeyRzbU1heH0pIHsgQGNvbnRlbnQ7IH1cbiAgfVxufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4geHBhZCAvIHlwYWRcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gIFxuQG1peGluIHhwYWQoJHBhZCkgIHtcbiAgcGFkZGluZy1sZWZ0OiAkcGFkO1xuICBwYWRkaW5nLXJpZ2h0OiAkcGFkO1xufVxuQG1peGluIHlwYWQoJHBhZCkgIHtcbiAgcGFkZGluZy10b3A6ICRwYWQ7XG4gIHBhZGRpbmctYm90dG9tOiAkcGFkO1xufVxuQG1peGluIHhtYXJnaW4oJGdhcCkgIHtcbiAgbWFyZ2luLWxlZnQ6ICRnYXA7XG4gIG1hcmdpbi1yaWdodDogJGdhcDtcbn1cbkBtaXhpbiB5bWFyZ2luKCRnYXApICB7XG4gIG1hcmdpbi10b3A6ICRnYXA7XG4gIG1hcmdpbi1ib3R0b206ICRnYXA7XG59XG5cbkBtaXhpbiBhYnNDZW50ZXJCYXNlX3koJGgpICB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIG1hcmdpbi10b3A6ICRoLy0yO1xufVxuXG5AbWl4aW4gYWJzQ2VudGVyQmFzZSgkdywgJGg6ICR3KSAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi10b3A6ICRoLy0yO1xuICBtYXJnaW4tbGVmdDogJHcvLTI7XG59XG5cbkBtaXhpbiBhYnNDZW50ZXJJY29uKCR3LCAkaDogJHcpICB7XG4gIEBpbmNsdWRlIGFic0NlbnRlckJhc2UoJHcsICRoKTtcbiAgZm9udC1zaXplOiAkaDtcbn1cbkBtaXhpbiBhYnNDZW50ZXJJY29uX3koJGgpICB7XG4gIEBpbmNsdWRlIGFic0NlbnRlckJhc2VfeSgkaCk7XG4gIGZvbnQtc2l6ZTogJGg7XG59XG5cbkBtaXhpbiBmbGV4SW5saW5lT3ZlcnJpZGUgIHtcbiAgICBtaW4td2lkdGg6IDAgIWltcG9ydGFudDtcbiAgICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcbiAgICAtd2Via2l0LWZsZXg6IDEgIWltcG9ydGFudDtcbiAgICAtbXMtZmxleDogMSAhaW1wb3J0YW50O1xuICAgIGZsZXg6IDEgIWltcG9ydGFudDtcbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBhcHAtc3BlY2lmaWMgbWl4aW4vdmFycyA+IHRhYnNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuQG1peGluIGxhcmdlLXRhYnMtc3R5bGUgIHtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBsaW5lLWhlaWdodDogMTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgQGluY2x1ZGUgcmVzcG9uZChtZCkgIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gIH1cbn1cbiRsYXJnZS10YWJzLXNwYWNpbmc6IDQwcHg7XG5cbkBtaXhpbiB0cmltSW5uZXJNYXJnaW4gIHtcbiAgPiAqICB7XG4gICAgJjpmaXJzdC1jaGlsZCAge1xuICAgICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAmOmxhc3QtY2hpbGQgIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gcGxhY2Vob2xkZXJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gIFxuQG1peGluIHBsYWNlaG9sZGVyIHtcbiAgJjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7QGNvbnRlbnR9XG4gICY6LW1vei1wbGFjZWhvbGRlciAgICAgICAgICAge0Bjb250ZW50fVxuICAmOjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgIHtAY29udGVudH1cbiAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIgICAgICB7QGNvbnRlbnR9ICBcbn1cblxuXG4iLCIvL3ZlcnNpb24gMiBvZiBoZWFkZXIgKHNlZSBuZXctaGVhZGVyLmh0bWwgZm9yIHRlbXBsYXRlIChzd2l0Y2hlZCB2MikpXG4uaGVhZGVyLWNvbnRlbnQge1xuICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChpbml0aWFsKTtcbiAgQGluY2x1ZGUgbG9jay1oZWlnaHQoODBweCk7XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgIEBpbmNsdWRlIGxvY2staGVpZ2h0KDYwcHgpO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIH1cblxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2NjO1xuXG4gIC5oZWFkZXItbG9nby1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC5oZWFkZXItcHJhYy1idXJnZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgZm9udC1zaXplOiAyNnB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBjb2xvcjogIzJlMmUyZTtcbiAgICBwYWRkaW5nOiAwIDE1cHg7XG4gICAgcGFkZGluZy1ib3R0b206IDdweDtcbiAgICBtYXJnaW46IDA7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cblxuICAuaGVhZGVyLXByYWMtbWVudSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNjBweDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJhY2tncm91bmQ6ICMxYzFjMWM7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIHBhZGRpbmc6IDEwcHggMDtcbiAgICB6LWluZGV4OiAxMDAwO1xuXG4gICAgLmhlYWRlci1wcmFjLW1lbnVfX2l0ZW0ge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBtaW4taGVpZ2h0OiA2MHB4O1xuICAgICAgbWF4LWhlaWdodDogNjBweDtcbiAgICAgIHBhZGRpbmc6IDAgMjBweDtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMzMzO1xuICAgICAgY29sb3I6ICNhMGE0YTg7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XG5cbiAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgY29sb3I6ICNlZmVmZWY7XG4gICAgICB9XG5cbiAgICAgICY6bm90KC5hY3RpdmUpOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICNlZmVmZWY7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmhlYWRlci1wcmFjLXVzZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgIH1cbiAgfVxuICAuaGVhZGVyLWxvZ28gIHtcbiAgICBtYXJnaW46IDEwcHggMzVweDtcbiAgXHRpbWcgIHtcbiAgXHRcdG1heC13aWR0aDogMTgwcHg7XG4gICAgICBtYXgtaGVpZ2h0OiA3MHB4O1xuICBcdH1cbiAgfVxuICAucmVzcC1jZW50ZXIge1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbiAgLnVzZXIge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICB9XG5cbiAgLmhlYWRlci10ZWFtLW5hbWUge1xuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI0M4QzhDOTtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDQwcHg7XG4gICAgfVxuICAgIGgzIHtcbiAgICAgIHBhZGRpbmc6IDBweCAxOHB4O1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gICAgICBjb2xvcjogJGRhcmtfYmx1ZTtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxuICAgIFxuICB9XG4gIC5oZWFkZXItdGVhbS1uYW1lLXJlc3Age1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgPiBoMyB7XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIH1cbiAgfVxuXG4gIC5oZWFkZXItdGVhbS1uYW1lLWxpbmsge1xuICAgIEBleHRlbmQgLmhlYWRlci10ZWFtLW5hbWU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgfVxuICAudGVhbS1zd2l0Y2hlciAge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAmOmFmdGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogODAlO1xuICAgICAgbGVmdDogOTAlO1xuICAgICAgZm9udC1mYW1pbHk6IEZvbnRBd2Vzb21lO1xuICAgICAgY29udGVudDogXCJcXGYwZDdcIjtcbiAgICAgIGNvbG9yOiAkZGFya19ncmV5O1xuICAgIH1cbiAgfVxuICAudGVhbS1vcHRpb25zIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxMDIlO1xuICAgIGxlZnQ6IC0xcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y2ZjFmMTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZWJlYmViO1xuICAgIGJveC1zaGFkb3c6IDAgMnB4IDVweCAwIHJnYmEoNjgsIDY3LCA3NiwgMC4yNSk7XG4gICAgbWluLXdpZHRoOiAxMzBweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB6LWluZGV4OiAzO1xuICAgIFxuICAgID5kaXYge1xuICAgICAgcGFkZGluZzogNXB4IDEwcHggNXB4IDE0cHg7XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2RlZGZkZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAud2hpdGUtZmllbGQge1xuICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGZsZXgtZW5kKTtcbiAgICBAaW5jbHVkZSBmbGV4KDEgMCBhdXRvKTtcblxuICAgIGkuaWNvbi1zaG9wIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBwYWRkaW5nOiAwcHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDFweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxcHg7XG4gICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgfVxuXG4gICAgPiBkaXYge1xuICAgICAgQGluY2x1ZGUgZmxleCgxIDAgYXV0byk7XG4gICAgICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICAgICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoZmxleC1lbmQpO1xuICAgICAgQGluY2x1ZGUgbG9jay1oZWlnaHQoNjBweCk7XG4gICAgICBtYXJnaW46IDBweDtcblxuICAgICAgPiBkaXYge1xuICAgICAgICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICAgICAgICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGNlbnRlcik7XG4gICAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAgIGkge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMjZweDtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICBtYXJnaW46IC0xcHggOHB4IDBweCAwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBjb2xvcjogJGRhcmtfYmx1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICBjb2xvcjogJGRhcmtfYmx1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuY3VycmVudC1hdGhsZXRlIHtcbiAgICAgICAgICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICAgICAgICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGZsZXgtc3RhcnQpO1xuXG4gICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgIG1pbi13aWR0aDogYXV0bztcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG5cbiAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBzcGFuOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgc3BhbiArIHNwYW4ge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgID4gZGl2ICsgZGl2IHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICA+IGJ1dHRvbiB7XG4gICAgICAmLnNpZ25vdXQge1xuICAgICAgICBAaW5jbHVkZSBsb2NrLWhlaWdodCgzNXB4KTtcbiAgICAgICAgQGluY2x1ZGUgbG9jay13aWR0aCgxMDBweCk7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibHVlO1xuICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5zaG9wIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDFweDtcbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luOiAwIDdweCAwIDE1cHg7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbjogMCAyNXB4IDAgN3B4O1xuICAgICAgfVxuXG4gICAgICA+IGRpdiB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtcm93LWNlbnRlcigpO1xuICAgICAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChjZW50ZXIpO1xuXG4gICAgICAgIGkuZmEge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDRweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uaGVhZGVyLWNvbnRlbnQtLXByYWMge1xuICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAuaGVhZGVyLXRlYW0tbmFtZSxcbiAgICAuaGVhZGVyLXRlYW0tbmFtZS1saW5rIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cbiAgfVxufVxuXG4vLyByZXNwb25zaXZlIHR3ZWFrcywgc2hvdWxkIGp1c3QgYmUgaW1wbGVtZW50ZWQgd2l0aCB0aGUgcmVzdFxuQGluY2x1ZGUgcmVzcG9uZChtZCkgIHtcbiAgLmhlYWRlci1jb250ZW50LXYyIHtcbiAgICAud2hpdGUtZmllbGQgIHtcbiAgICAgICAgPiBkaXYgPiBkaXYgIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDVweDtcbiAgICAgICAgICAgICsgZGl2ICB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpICB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogLTVweDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpLmljb24tc2hvcCAge1xuICAgICAgICAgICAgbWFyZ2luOiAwIDVweCAwIDA7XG4gICAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCJ2YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCJtaXhpbnNcIjtcblxuJGd1dHRlci13aWR0aDogMTVweDtcbi8vICRjb2wtZ2FwOiAzMHB4O1xuJGNvbC1nYXA6IDE1cHg7XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiBhbGwgc2l6ZXMgcmVzcG9uc2l2ZW5lc3MgYWRqdXN0bWVudHNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi53aGl0ZWJvYXJkICB7XG4gICAgbWluLXdpZHRoOiAwO1xufVxudWwuY2F0YWxvZ19uYXYgIHtcbiAgICBAaW5jbHVkZSB1bmxvY2std2lkdGg7XG4gICAgbGkgPiBzcGFuICB7XG4gICAgICAgIHBhZGRpbmc6IDExcHggMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgICAgbWluLWhlaWdodDogMDtcbiAgICB9XG59XG51bC5jYXRhbG9nX25hdiBsaSA+IHVsIGxpID4gdWwgbGkgIHtcbiAgICBtaW4taGVpZ2h0OiAwO1xuICAgIHRleHQtaW5kZW50OiAwO1xuICAgIEBpbmNsdWRlIHlwYWQoNnB4KTtcbiAgICBwYWRkaW5nLWxlZnQ6IDUwcHg7IC8vIHRoaXMgd2F5LCB3aGVuIGl0IHdyYXBzLCBpdCBkb2Vzbid0IGxvb2sgc3RyYW5nZVxufVxuXG4uY2F0YWxvZy1zZWxlY3RlZCAudGl0bGUtY29udGFpbmVyIC5yZXR1cm4tbGluayAge1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gYXRobGV0ZSBncmlkIHVuaXZlcnNhbFxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLmF0aGxldGUtaW5mby1ib3ggIHtcbiAgICAuYmlvLWhlYWRlciAge1xuICAgICAgICBsaW5lLWhlaWdodDogMS4xO1xuICAgICAgICBwYWRkaW5nOiAwIDE1cHg7XG4gICAgICAgIC5hdGhsZXRlLW51bWJlciAge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uZChzbSkgIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuYmlvLWJvZHkgIHtcbiAgICAgICAgLmF0aGxldGUtcHJvZmlsZSAge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmxleCgxKTtcbiAgICAgICAgICAgIC5wcm9maWxlLXBpYyAge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiAxMDBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuYXRobGV0ZS1zdGF0cyAge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmxleCgyKTtcbiAgICAgICAgICAgID4gZGl2ICB7XG4gICAgICAgICAgICAgICAgKyBkaXYgIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNXB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBjYW52YXMgIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiBhbGwgc2l6ZXMgPiBhdGhsZXRlIGxpc3QgdmlldyA+IGxvY2tlZC93cmFwcGVkIGF0aGxldGUgbnVtYmVyLi4uXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4uYXRobGV0ZS1saXN0LXZpZXcudmlldy1sYXlvdXQgIHtcbiAgICAuYXRobGV0ZS1udW1iZXIgIHtcbiAgICAgICAgQGluY2x1ZGUgbG9jay13aWR0aCg1M3B4KTtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDAuOTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICAgIH1cbiAgICAuYXRobGV0ZS1uYW1lICB7XG4gICAgICAgIHBhZGRpbmc6IDAgMTVweCAwIDVweDtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgIH1cbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IGFsbCBzaXplcyA+IGF0aGxldGUgcHJvZmlsZVxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLnByb2ZpbGUtc3VtbWFyeSAge1xuICAgIC50b2RheS1wcm9ncmFtLFxuICAgIC50b2RheS1ub3RpY2UgIHtcbiAgICAgICAgQGluY2x1ZGUgdW5sb2NrLXdpZHRoO1xuICAgICAgICBtYXgtaGVpZ2h0OiBub25lO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIHBhZGRpbmc6IDEwcHggNnB4O1xuICAgIH1cbn1cbi5jb2x1bW4tY29udGFpbmVyLnByb2ZpbGUtc2NvcmUgKyBkaXYge1xuICAgIEBpbmNsdWRlIHJlc3BvbmQobGcpICB7XG4gICAgICAgIHdpZHRoOiAzODBweDtcbiAgICB9XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IHVuaXZlcnNhbCBicmVha3BvaW50IGRyb3Bkb3duXG4vLyBvbmNlIGJyb3dzZXIgd2lkdGggZ29lcyBiZWxvdyAxMDU0IChzZWUgbWl4aW4gcmVzcG9uZChzbSkpXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5AaW5jbHVkZSByZXNwb25kKG1kKSAge1xuICAgIGJvZHkgICB7XG5cbiAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gLy8gc2VjdGlvbiA+IHVuaXZlcnNhbFxuIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuIC52aWV3LWNvbnRhaW5lciAge1xuICAgIHdpZHRoOiAkY29tcHJlc3NlZENvbnRlbnRXaWR0aDtcbiAgICBtYXgtd2lkdGg6IDEwMHZ3O1xuICAgIG1pbi13aWR0aDogMDtcbiAgICBAaW5jbHVkZSB4cGFkKCRndXR0ZXItd2lkdGgpO1xuICAgIC52aWV3LWNvbnRhaW5lciAge1xuICAgICAgICBAaW5jbHVkZSB4cGFkKDApO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cbn1cbi53ZWVrLXdyYXBwZXIgLndlZWstZGF5LWNvbHVtbiAge1xuICAgIG1pbi13aWR0aDogMDtcbiAgICB3aWR0aDogMTAwJTtcbn1cbi5oZWFkZXItY29udGVudCAud2hpdGUtZmllbGQgPiBkaXYgIHtcbiAgICBtYXJnaW46IDBweCAyMHB4O1xufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gbWQgPiBwcm9maWxlIHBhZ2Vcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi5wcm9maWxlLWRldGFpbCAge1xuICAgIEBpbmNsdWRlIHVubG9jay13aWR0aDtcbiAgICBAaW5jbHVkZSBmbGV4KDEpO1xuICAgIC5wcm9maWxlLXBpYyAge1xuICAgICAgICBAaW5jbHVkZSB1bmxvY2std2lkdGg7XG4gICAgICAgIEBpbmNsdWRlIHVubG9jay1oZWlnaHQ7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IDIwMHB4O1xuICAgICAgICBhc3BlY3QtcmF0aW86IDIwMCAvIDE3NTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICAgICBpbWcgIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBvYmplY3QtZml0OiBjb250YWluO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5wcm9maWxlLWFjdGlvbiAge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG59XG5cbi5wcm9maWxlLXN1bW1hcnkgIHtcbiAgICBAaW5jbHVkZSB1bmxvY2std2lkdGg7XG4gICAgQGluY2x1ZGUgZmxleCg0KTtcbiAgICBwYWRkaW5nLWxlZnQ6ICRjb2wtZ2FwO1xuICAgID4gLnJvdy1jb250YWluZXIuZGl2aWRlZCAge1xuICAgICAgICA+IGRpdiAge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmxleCgxKTtcbiAgICAgICAgICAgICsgZGl2ICB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAkY29sLWdhcDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAuc2NvcmUtY29udGFpbmVyICB7XG4gICAgICAgIEBpbmNsdWRlIHVubG9jay13aWR0aDtcbiAgICAgICAgcGFkZGluZzogMjBweDtcbiAgICAgICAgLnByb2ZpbGUtc2NvcmUgIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHVubG9jay13aWR0aDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgLnByb2ZpbGUtc2NvcmUtZ3JhcGgtY2FudmFzICB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdW5sb2NrLXdpZHRoO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHVubG9jay1oZWlnaHQ7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5jaGFydC1tZW51ICB7XG4gICAgLmNoYXJ0LW1lbnUtaXRlbSAge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDE4cHg7XG4gICAgfVxufVxuLnByb2dyYW0tY2hhcnQsXG4ubGluZS1jaGFydCAge1xuICAgIEBpbmNsdWRlIGZsZXgoMik7XG59XG4ucHJvZ3JhbS1jaGFydCAge1xuICAgIEBpbmNsdWRlIHVubG9jay13aWR0aDtcbiAgICBtaW4taGVpZ2h0OiAwO1xufVxuLnZpZXctbGF5b3V0IC52aWV3LWNvbnRhaW5lciAubGluZS1jaGFydCAge1xuICAgIC5saW5lLWNoYXJ0LWNhbnZhcyAge1xuICAgICAgICBAaW5jbHVkZSB1bmxvY2std2lkdGg7XG4gICAgICAgIEBpbmNsdWRlIHVubG9jay1oZWlnaHQ7XG4gICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIH1cbn1cbi5jaGFydC1kZXRhaWxzICB7XG4gICAgQGluY2x1ZGUgdW5sb2NrLXdpZHRoO1xuICAgIHBhZGRpbmctbGVmdDogJGNvbC1nYXA7XG4gICAgQGluY2x1ZGUgZmxleCgxKTtcbn1cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiB1bml2ZXJzYWwgKGJhc2VkIG9mZiBvZiBwcm9maWxlID0+IHByb2dyYW1zID0+IHZlcnRpY2FsIGJhciBjaGFydClcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbmNhbnZhcyAge1xuICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xufVxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IG1kID4gcHJvZmlsZSA+IGNhbGVuZGFyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4uY2FsZW5kYXItbW9udGggIHtcbiAgICBAaW5jbHVkZSB1bmxvY2std2lkdGg7XG4gICAgQGluY2x1ZGUgZmxleCgyKTtcbiAgICAud2Vlay1kYXktbGFiZWxzIHtcbiAgICAgICAgQGluY2x1ZGUgZmxleCgxIDEgYXV0byk7XG4gICAgICAgID4gZGl2ICB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmbGV4KDEpO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5jYWxlbmRhci1kYXlzICB7XG4gICAgICAgIC5jYWxlbmRhci1kYXkgIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHVubG9jay13aWR0aDtcbiAgICAgICAgICAgIHdpZHRoOiAoMTAwLzcpKjElO1xuICAgICAgICB9XG4gICAgfVxuICAgICYubm90ZXMtY2FsZW5kYXIgIHtcbiAgICAgICAgbWF4LXdpZHRoOiA0OTJweDtcbiAgICB9XG59XG4uY2FsZW5kYXItZGF5LWluZm8gIHtcbiAgICBAaW5jbHVkZSB1bmxvY2std2lkdGg7XG4gICAgQGluY2x1ZGUgZmxleCgxKTtcbiAgICBwYWRkaW5nLWxlZnQ6ICRjb2wtZ2FwO1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAuc2NoZWR1bGUtY2FsZW5kYXItbGF5b3V0IHtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG5cbiAgICAgICAgLmNhbGVuZGFyLW1vbnRoIHtcbiAgICAgICAgICAgIGZsZXg6IDEgMCAxMDAlO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgIH1cbiAgICAgICAgLmNhbGVuZGFyLWRheS1pbmZvIHtcbiAgICAgICAgICAgIGZsZXg6IDEgMCAxMDAlO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiBtZCA+IGF0aGxldGUgZ3JpZCA+IGxpc3Qgdmlld1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLmF0aGxldGUtbGlzdC12aWV3LnZpZXctbGF5b3V0ICB7XG4gICAgLmF0aGxldGUtc3RhdCAge1xuICAgICAgICBAaW5jbHVkZSBmbGV4KDApO1xuICAgICAgICBAaW5jbHVkZSBsb2NrLXdpZHRoKDcuNSUpO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMDtcbiAgICB9XG4gICAgLmF0aGxldGUtcHJvZ3JhbXMgIHtcbiAgICAgICAgQGluY2x1ZGUgbG9jay13aWR0aCgxOCUpO1xuICAgIH1cbiAgICAuYXRobGV0ZS1sYXN0LWFjdGl2aXR5ICB7XG4gICAgICAgIEBpbmNsdWRlIGxvY2std2lkdGgoMTglKTtcbiAgICB9XG4gICAgLmF0aGxldGUtcm93ICB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuNXB4O1xuICAgIH1cbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IG1kID4gbW9kYWxzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4ubW9kYWwgIHtcbiAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDMwcHgpO1xufVxuLm1vZGFsLWNvbnRhaW5lciAge1xuICAgIG1heC13aWR0aDogMTAwJTtcbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IG1kID4gbm90ZXMgPiB0cmFpbmluZyBsb2FkID4gbWlzY1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLnRsLWVudHJ5LWhlYWRlciAudGwtc2VsZWN0LFxuLnRsLWVudHJ5IC50bC1zZWxlY3QgIHtcbiAgICBAaW5jbHVkZSBsb2NrLXdpZHRoKDEyMHB4KTtcbn1cbi50bC1lbnRyeS1oZWFkZXIgLnRsLWlucHV0LFxuLnRsLWVudHJ5IC50bC1pbnB1dCAge1xuICAgIEBpbmNsdWRlIGxvY2std2lkdGgoODZweCk7XG59XG4udGwtZW50cnkgLnRsLWlucHV0ID4gLmJhc2ljLWlucHV0LnNtYWxsICB7XG4gICAgd2lkdGg6IDEwMCU7XG59XG4udGwtZW50cnktaGVhZGVyICB7XG4gICAgLmZpZWxkLWxhYmVsICB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgfVxufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiBtZCA+IHVuaXZlcnNhbCBpbnB1dCBzaXplIHJlZHVjdGlvbi4uLlxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5pbnB1dC5iYXNpYy1pbnB1dCxcbmRpdi5iYXNpYy1pbnB1dCxcbmRpdi5iYXNpYy1pbnB1dC1yZWFkb25seSB7XG4gICAgd2lkdGg6IDEwMHB4O1xufVxuXG4vLyBjdXJyZW50XG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gbWQgPiBhdGhsZXRlIG5hdiBmaWx0ZXJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi5hdGhsZXRlLW1lbnUgIHtcbiAgICAuYXRobGV0ZS1zZWFyY2ggIHtcbiAgICAgICAgQGluY2x1ZGUgZmxleCgxKTtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgfVxuICAgIC5hdGhsZXRlLWZpbHRlci1zb3J0ICB7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgQGluY2x1ZGUgZmxleChpbml0aWFsKTtcbiAgICAgICAgPiAuYXRobGV0ZS1zb3J0LWJveCAge1xuICAgICAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICAgICAgLmxhYmVsICB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdW5sb2NrLXdpZHRoO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDE1cHggMTdweCAxNXB4IDEwcHg7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgICAgICAgICY6YWZ0ZXIgIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiA5cHg7XG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiA3cHg7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogMzglO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAuYXRobGV0ZS1yZXNldC12aWV3ICB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgoaW5pdGlhbCk7XG4gICAgICAgIEBpbmNsdWRlIHVubG9jay13aWR0aDtcbiAgICAgICAgcGFkZGluZzogMCA4cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICB9XG4gICAgLmF0aGxldGUtdG9nZ2xlLXZpZXcgIHtcbiAgICAgICAgQGluY2x1ZGUgZmxleChpbml0aWFsKTtcbiAgICAgICAgQGluY2x1ZGUgdW5sb2NrLXdpZHRoO1xuICAgIH1cbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gaGVhZGVyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbi5oZWFkZXItY29udGVudCAge1xuICAgIC53aGl0ZS1maWVsZCAge1xuICAgICAgICA+IGRpdiA+IGRpdiAge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgICAgcGFkZGluZzogNXB4O1xuICAgICAgICAgICAgKyBkaXYgIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGkgIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAtNXB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGkuaWNvbi1zaG9wICB7XG4gICAgICAgICAgICBtYXJnaW46IDAgNXB4IDAgMDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBidXR0b24gIHtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICBwYWRkaW5nOiAwIDVweDtcbiAgICB9XG4gICAgLmxvZ28gIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6ICRndXR0ZXItd2lkdGg7XG4gICAgICAgIEBpbmNsdWRlIGxvY2std2lkdGgoMTIwcHgpO1xuICAgIH1cbiAgICAud2hpdGUtZmllbGQgPiBidXR0b246bGFzdC1jaGlsZCAge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6ICRndXR0ZXItd2lkdGg7XG4gICAgfVxufVxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IG1kID4gZ3JhcGgga2V5XG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4ubGluZS1jaGFydC1tZW51ICB7XG4gICAgLmNoYXJ0LWxlZ2VuZCAge1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBtYXJnaW46IDAgMCAwIDE2cHg7XG4gICAgICAgID4gLmZhICB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDJweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IG1kID4gdGVzdGluZyBwcm9tcHRzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4ucHJvbXB0LWJveCAge1xuICAgIHBhZGRpbmc6IDE1cHg7XG59XG4udGVzdC1sYW5kaW5nICB7XG4gICAgLnByb21wdC1ib3ggIHtcbiAgICAgICAgbWluLWhlaWdodDogMTk2cHg7XG4gICAgfVxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkgIHtcbiAgICAudGVzdC1sYW5kaW5nICB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgID4gZGl2ICB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLnByb21wdC1ib3ggIHtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiBtZCA+IG1pc2MgY2hhcnRzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4ucmVwb3J0LWNoYXJ0LWNvbnRhaW5lciAge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIC5saW5lLWNoYXJ0ICB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgICAucmVwb3J0LWNoYXJ0LWRldGFpbHMgIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgLnJlcG9ydC1jaGFydC1kZXRhaWwgIHtcbiAgICAgICAgICAgID4gZGl2ICB7XG5cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IG1kID4gcmVwb3J0IHN1bW1hcnkgY2hhcnRzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4ucmVwb3J0LXN1bW1hcnkgIHtcbiAgICA+IGRpdiAge1xuICAgICAgICB3aWR0aDogY2FsYygzMy4zMyUgLSAxMHB4KTtcbiAgICB9XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IG1kID4gcmVwb3J0IHRhYmxlXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4ucmVwb3J0LWRldGFpbHMtY29udGFpbmVyICB7XG4gICAgLnRpdGxlICB7XG4gICAgICAgIEBpbmNsdWRlIHVubG9jay13aWR0aDtcbiAgICB9XG59XG5cbiAgICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gICAgLy8gc2VjdGlvbiA+IG1kID4gZW5kXG4gICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xufVxufVxuXG5AaW5jbHVkZSByZXNwb25kKHNtKSAgeyBib2R5ICB7XG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gc20gPiBhdGhsZXRlIGdyaWRcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gY2F0YWxvZyBuYXZcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi5hZG1pbi1tZW51ID4gZGl2ICsgZGl2IHtcbiAgICBtYXJnaW4tbGVmdDogMThweDtcbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IGNhdGFsb2cgc2lkZSBuYXZcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi5jYXRhbG9nX2NvbnRhaW5lciAge1xuICAgIEBpbmNsdWRlIGZsZXgoMSAwIDIwMHB4KTtcbn1cbi5jYXRhbG9nLXNlYXJjaCAge1xuICAgIGZvcm0gIHtcbiAgICAgICAgcGFkZGluZzogMCA1cHg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBpbnB1dFt0eXBlPSd0ZXh0J10gIHtcbiAgICAgICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgoMSk7XG4gICAgICAgICAgICB0ZXh0LWluZGVudDogMDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgICAgfVxuICAgICAgICBidXR0b25bdHlwZT0ncmVzZXQnXSAge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgcGFkZGluZzogMCA1cHg7XG4gICAgICAgICAgICBmb250LXNpemU6IDEwcHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5jYXRhbG9nLWZlYXR1cmUgLmZlYXR1cmUtY29udGFpbmVyIC5mZWF0dXJlLWNvbnRlbnQgIHtcbiAgICBsZWZ0OiA0MHB4O1xufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gdGVhbXMgdGFibGVcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuLnByYWN0aXRpb25lcnNUYWJsZSxcbi50ZWFtc1RhYmxlICB7XG4gICAgPiAucm93LWNvbnRhaW5lciAge1xuICAgICAgICA+IGRpdiAge1xuICAgICAgICAgICAgPiBzcGFuICB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHggIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHggIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbi5wcmFjdGl0aW9uZXJzVGFibGUgIHtcbiAgICA+IC5yb3ctY29udGFpbmVyICB7XG4gICAgICAgID4gZGl2ICB7XG4gICAgICAgICAgICAmOm50aC1jaGlsZCgxKSAge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGxvY2std2lkdGgtaW5saW5lLW92ZXJyaWRlKDExMnB4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6bnRoLWNoaWxkKDIpICB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbG9jay13aWR0aC1pbmxpbmUtb3ZlcnJpZGUoOTZweCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOm50aC1jaGlsZCgzKSAge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGxvY2std2lkdGgtaW5saW5lLW92ZXJyaWRlKDEwOHB4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6bnRoLWNoaWxkKDQpICB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmxleElubGluZU92ZXJyaWRlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpudGgtY2hpbGQoNSkgIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBsb2NrLXdpZHRoLWlubGluZS1vdmVycmlkZSgxMTBweCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOm50aC1jaGlsZCg2KSAge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGxvY2std2lkdGgtaW5saW5lLW92ZXJyaWRlKDg4cHgpO1xuICAgICAgICAgICAgICAgIGJ1dHRvbiAge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDZweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi50ZWFtc1RhYmxlICB7XG4gICAgPiAucm93LWNvbnRhaW5lciAge1xuICAgICAgICA+IGRpdiAge1xuICAgICAgICAgICAgLy8gbWluLWhlaWdodDogMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgJjpudGgtY2hpbGQoMSkgIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBsb2NrLXdpZHRoLWlubGluZS1vdmVycmlkZSg5NnB4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6bnRoLWNoaWxkKDIpICB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbG9jay13aWR0aC1pbmxpbmUtb3ZlcnJpZGUoMTAwcHgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpudGgtY2hpbGQoMykgIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBsb2NrLXdpZHRoLWlubGluZS1vdmVycmlkZSgxMDBweCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOm50aC1jaGlsZCg0KSAge1xuICAgICAgICAgICAgICAgIC8vIEBpbmNsdWRlIGxvY2std2lkdGgtaW5saW5lLW92ZXJyaWRlKDE2MHB4KTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4SW5saW5lT3ZlcnJpZGU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOm50aC1jaGlsZCg1KSAge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGxvY2std2lkdGgtaW5saW5lLW92ZXJyaWRlKDcwcHgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpudGgtY2hpbGQoNikgIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBsb2NrLXdpZHRoLWlubGluZS1vdmVycmlkZSgyMTJweCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIHNtYWxsZXIgc2NyZWVucyB1cGRhdGVzXG5AaW5jbHVkZSByZXNwb25kKG1kKSAge1xuXHQvLyBtYWtlIHRoZSBsb2dvIGEgbGl0dGxlIHNtYWxsZXJcblx0LmhlYWRlci1sb2dvICB7XG5cdFx0bWFyZ2luOiAwIDE1cHg7XG5cdFx0aW1nICB7XG5cdFx0XHR3aWR0aDogMTAwJTsgLy8gZG9uJ3Qgd29ycnksIHRoZXJlJ3MgYWxyZWFkeSBhIG1heC13aWR0aCBhcHBsaWVkIHRvIHRoaXNcblx0XHR9XG5cdH1cblxuXHQvLyBoaWRlIHRoZSBuYXYgaWNvbnMgdG8gc2F2ZSBzb21lIHNwYWNlXG5cdC5oZWFkZXItY29udGVudCAud2hpdGUtZmllbGQgPiBkaXYgPiBkaXYgIHtcblx0XHRpICB7XG5cdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdH1cblx0fVxuXG5cdC8vIGZvciBzY3JlZW4gc2l6ZXMgYXJvdW5kIDc2OHB4LCAyIHRlYW0gbWVtYmVycyBwZXIgcm93IGxvb2tzIGJldHRlciB0aGFuIDNcblx0LmF0aGxldGUtZGFzaGJvYXJkIC5hdGhsZXRlLWRhc2hib2FyZC1jb250YWluZXIge1xuXHRcdC5hdGhsZXRlLWluZm8tYm94LFxuXHRcdC5hdGhsZXRlLWFkZC1ib3ggIHtcblx0XHRcdHdpZHRoOiBjYWxjKCgxMDAlIC0gMjBweCkgLyAyKTtcblx0XHR9XG5cdFx0LmF0aGxldGUtaW5mby1ib3ggLmJpby1ib2R5IC5hdGhsZXRlLXByb2ZpbGUgLnByb2ZpbGUtcGljICB7XG5cdFx0XHRtYXgtaGVpZ2h0OiBub25lOyAvLyBvdGhlcndpc2UgaXQgd2lsbCBzdHJldGNoIHdoZW4gbWl4ZWQgd2l0aCB3aWR0aDogMTAwJVxuXHRcdH1cblx0fVxufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gZW5kXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG59IH0gLy8gZW5kIHJlc3BvbmQoc20pXG5cbkBtZWRpYSAobWF4LXdpZHRoOiA2NDBweCkge1xuICBib2R5IC5hdGhsZXRlLWRhc2hib2FyZCAuYXRobGV0ZS1kYXNoYm9hcmQtY29udGFpbmVyIHtcbiAgICAuYXRobGV0ZS1pbmZvLWJveCxcbiAgICAuYXRobGV0ZS1hZGQtYm94IHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWluLXdpZHRoOiAwO1xuICAgIH1cbiAgfVxufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gbGlzdCB2aWV3ID4gc21hbGwgc2NyZWVuc1xuLy8gb3ZlcnJpZGUgcmVzcG9uZChtZCkgcGVyY2VudGFnZSBsb2NrLXdpZHRocyBzbyB0aGUgdGFibGUgc2Nyb2xsc1xuLy8gaW5zdGVhZCBvZiBjcnVzaGluZyBjb2x1bW5zIHRvIDcuNSUvMTglIG9mIGEgdGlueSB2aWV3cG9ydFxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IG1ldGVzdCBwYWdlID4gc21hbGwgc2NyZWVuc1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gIC8vIFVubG9jayB0aGUgNzcwcHggbG9jayBvbiB0aGUgQW5ndWxhclVJIG1vZGFsIGFuaW1hdGUgY29udGFpbmVyXG4gIC5tb2RhbC1hbmltYXRlLWNvbnRhaW5lciB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDMwcHgpICFpbXBvcnRhbnQ7XG4gICAgbWluLXdpZHRoOiAwICFpbXBvcnRhbnQ7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAzMHB4KSAhaW1wb3J0YW50O1xuICB9XG4gIC8vIEJvb3RzdHJhcCBtb2RhbCBkaWFsb2cgZmFsbGJhY2tcbiAgLm1vZGFsLWRpYWxvZyB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDMwcHgpO1xuICAgIG1hcmdpbi10b3A6IDYwcHg7XG4gIH1cbiAgLy8gUmVtb3ZlIDMwMHB4IG1pbi13aWR0aCBhbmQgc3RyZXRjaCBjaGlsZHJlbiBzbyB0ZXh0YXJlYSBmaWxscyBmdWxsIHdpZHRoXG4gIC5tb2RhbC1jb250YWluZXIgc2VjdGlvbiB7XG4gICAgbWluLXdpZHRoOiAwICFpbXBvcnRhbnQ7XG4gICAgLXdlYmtpdC1hbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgfVxuXG4gIC8vIENsaW5pY2FsIHJlcG9ydCBtb2RhbDogZHJvcGRvd24gZml0cyBzY3JlZW4sIHNlbGVjdGVkIHZhbHVlIHRydW5jYXRlcyB3aXRoIGVsbGlwc2lzXG4gIGxhYmVsLmNsaW5pY2FsLWZvcm0tZmllbGQge1xuICAgIG1hcmdpbjogMCAxNXB4O1xuICB9XG4gIGZ1c2lvbi1vcmRlcmVkLWRyb3AtZG93bi5jbGluaWNhbC1kcm9wLWRvd24ge1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICA+IGRpdi5jb2x1bW4tY29udGFpbmVyIHtcbiAgICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleCAhaW1wb3J0YW50O1xuICAgICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICAgICAgLXdlYmtpdC1hbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuICAgIC5zZWxlY3QtdG9nZ2xlIHtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBmbGV4OiAxO1xuICAgICAgbWluLXdpZHRoOiAwO1xuICAgIH1cbiAgICAuc2VsZWN0LXRvZ2dsZSBzcGFuLmZpbHRlcmVkIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICB9XG4gIH1cbn1cblxuLy8gUHJvZ3JhbSBlZGl0IHBhZ2UgcmVzcG9uc2l2ZSBydWxlcyBhcmUgaW4gZnVzaW9uZXRpY3MtbWFyay1hZGRpdGlvbnMuc2Nzc1xuLy8gKG11c3QgYmUgaW4gdGhlIHNlY29uZC1sb2FkZWQgYnVuZGxlIHRvIHdpbiB0aGUgY2FzY2FkZSlcblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gIGJvZHkgLmF0aGxldGUtbGlzdC12aWV3LnZpZXctbGF5b3V0IHtcbiAgICAuYXRobGV0ZS1oZWFkZXIsXG4gICAgLmF0aGxldGUtcm93IHtcbiAgICAgIG1pbi13aWR0aDogNjgwcHg7XG4gICAgfVxuICAgIC5hdGhsZXRlLW5hbWUge1xuICAgICAgbWluLXdpZHRoOiAxMzBweDtcbiAgICB9XG4gICAgLmF0aGxldGUtc3RhdCB7XG4gICAgICBAaW5jbHVkZSBsb2NrLXdpZHRoKDcwcHgpO1xuICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgIH1cbiAgICAuYXRobGV0ZS1wcm9ncmFtcyB7XG4gICAgICBAaW5jbHVkZSBsb2NrLXdpZHRoKDExMHB4KTtcbiAgICB9XG4gICAgLmF0aGxldGUtbGFzdC1hY3Rpdml0eSB7XG4gICAgICBAaW5jbHVkZSBsb2NrLXdpZHRoKDEyMHB4KTtcbiAgICB9XG4gICAgLmF0aGxldGUtcm93IHtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICB9XG4gIH1cbn1cbiIsIiRyZWQ6ICNjNDJhM2I7XG4kYmx1ZTogIzk3NjhFQjtcbiRkYXJrX2JsdWU6ICMxMTI2NGI7XG4kZ3JleTogIzgwODA4MDtcbiRncmVlbjogIzIwYjc2OTtcbiR3aGl0ZTogI2ZmZmZmZjtcbiR5ZWxsb3c6ICNkOGI2MmY7XG4kbGlnaHRfZ3JleTogI2NkY2RjZDtcbiRkYXJrX2dyZXk6ICM2ZDZlNzI7XG4kc2NvcmUtZ3JlZW46ICMwMEI5NkQ7XG4kc2NvcmUtcmVkOiAjRDE0MDRCO1xuJHNjb3JlLXllbGxvdzogI0Q3QkI0MztcblxuJGZvb3Rlcl9iYWNrZ3JvdW5kOiAjMTEyNjRiO1xuJGF0aGxldGVfaGVhZGVyX3ByaW1hcnk6ICNlMWUxZTE7XG4kYXRobGV0ZV9oZWFkZXJfc2Vjb25kYXJ5OiAjZTFlMWUxO1xuJGF0aGxldGVfbGlzdF9uYW1lOiAjZjdmN2Y3O1xuIiwiXG5AbWl4aW4gdHJhbnNmb3JtKCR0cmFuc2Zvcm1zKSB7XG4gICAgIC1tb3otdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgICAtby10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAgICAgLW1zLXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgICAgICB0cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xufVxuXG5AbWl4aW4gYXBwZWFyYW5jZSgkYXBwZWFyYW5jZS4uLikge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xuICAgICAtbW96LWFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xuICAgICAgICAgIGFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xufVxuXG5AbWl4aW4gYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cy4uLikge1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgICAtbW96LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xufVxuXG5AbWl4aW4gYm94LXNoYWRvdygkc2hhZG93Li4uKSB7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogJHNoYWRvdztcbiAgICAgLW1vei1ib3gtc2hhZG93OiAkc2hhZG93O1xuICAgICAgICAgIGJveC1zaGFkb3c6ICRzaGFkb3c7XG59XG5cbkBtaXhpbiBib3gtc2l6aW5nKCRzaXplLi4uKSB7XG4gIC13ZWJraXQtYm94LXNpemluZzogJHNpemU7XG4gICAgIC1tb3otYm94LXNpemluZzogJHNpemU7XG4gICAgICAgICAgYm94LXNpemluZzogJHNpemU7XG59XG5cbkBtaXhpbiB1c2VyLXNlbGVjdCgkc2VsZWN0Li4uKSB7XG4td2Via2l0LXRvdWNoLWNhbGxvdXQ6ICRzZWxlY3Q7XG4gICAgIC1tcy10b3VjaC1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgIC1tb3otdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgICAtbXMtdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgICAgICAgdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG59XG5cbkBtaXhpbiBmbGV4KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXg6ICR2YWx1ZTtcbiAgICAgIC1tcy1mbGV4OiAkdmFsdWU7XG4gICAgICAgICAgZmxleDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1hbGlnbi1jb250ZW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWFsaWduLWNvbnRlbnQ6ICR2YWx1ZTtcbiAgICAgICAgICBhbGlnbi1jb250ZW50OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWFsaWduLWl0ZW1zKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWFsaWduLWl0ZW1zOiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24taXRlbXM6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtYWxpZ24tc2VsZigkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1hbGlnbi1zZWxmOiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24tc2VsZjogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1kaXJlY3Rpb24oJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleC1kaXJlY3Rpb246ICR2YWx1ZTtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogJHZhbHVlO1xufVxuQG1peGluIGZsZXgtZGlyZWN0aW9uLWltcG9ydGFudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogJHZhbHVlIWltcG9ydGFudDtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogJHZhbHVlIWltcG9ydGFudDtcbn1cblxuQG1peGluIGZsZXgtZGlzcGxheSgpIHtcbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuQG1peGluIGZsZXgtanVzdGlmeS1jb250ZW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWp1c3RpZnktY29udGVudDogJHZhbHVlO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1vcmRlcigkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1vcmRlcjogJHZhbHVlO1xuICAgICAgICAgIG9yZGVyOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LXdyYXAoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleC13cmFwOiAkdmFsdWU7XG4gICAgICAgICAgZmxleC13cmFwOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbigpIHtcbiAgQGluY2x1ZGUgZmxleC1kaXNwbGF5KCk7XG4gIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKGNvbHVtbik7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbi1jZW50ZXIoKSB7XG4gIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbn1cblxuQG1peGluIGZsZXgtY29sdW1uLXN0YXJ0KCkge1xuICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGZsZXgtc3RhcnQpO1xufVxuXG5AbWl4aW4gZmxleC1yb3coKSB7XG4gIEBpbmNsdWRlIGZsZXgtZGlzcGxheSgpO1xuICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihyb3cpO1xufVxuXG5AbWl4aW4gZmxleC1yb3ctY2VudGVyKCkge1xuICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG59XG5cbkBtaXhpbiBmbGV4LXJvdy1zdGFydCgpIHtcbiAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LXN0YXJ0KTtcbn1cblxuQG1peGluIGxvY2staGVpZ2h0KCR2YWx1ZS4uLikge1xuICBtYXgtaGVpZ2h0OiAkdmFsdWU7XG4gIG1pbi1oZWlnaHQ6ICR2YWx1ZTtcbiAgaGVpZ2h0OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBsb2NrLXdpZHRoKCR2YWx1ZS4uLikge1xuICBtYXgtd2lkdGg6ICR2YWx1ZTtcbiAgbWluLXdpZHRoOiAkdmFsdWU7XG4gIHdpZHRoOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBsb2NrLXdpZHRoLWlubGluZS1vdmVycmlkZSgkdmFsdWUuLi4pIHtcbiAgbWF4LXdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbiAgbWluLXdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbiAgd2lkdGg6ICR2YWx1ZSAhaW1wb3J0YW50O1xufVxuXG5cbkBtaXhpbiB1bmxvY2std2lkdGggIHtcbiAgbWF4LXdpZHRoOiBub25lO1xuICBtaW4td2lkdGg6IDA7XG4gIHdpZHRoOiBhdXRvO1xufVxuQG1peGluIHVubG9jay1oZWlnaHQgIHtcbiAgbWF4LWhlaWdodDogbm9uZTtcbiAgbWluLWhlaWdodDogMDtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG5AbWl4aW4gY29sdW1uLWNvdW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWNvbHVtbi1jb3VudDogJHZhbHVlO1xuICAtbW96LWNvbHVtbi1jb3VudDogJHZhbHVlO1xuICBjb2x1bW4tY291bnQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGNvbHVtbi1nYXAoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtY29sdW1uLWdhcDogJHZhbHVlO1xuICAtbW96LWNvbHVtbi1nYXA6ICR2YWx1ZTtcbiAgY29sdW1uLWdhcDogJHZhbHVlO1xufVxuXG5AbWl4aW4gY29sdW1uLW5vLWJyZWFrKCkge1xuICAtd2Via2l0LWNvbHVtbi1icmVhay1pbnNpZGU6IGF2b2lkO1xuICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQtY29sdW1uO1xuICAtbW96LWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XG4gIC1vLWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XG4gIC1tcy1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xuICBicmVhay1pbnNpZGU6YXZvaWQtY29sdW1uO1xufVxuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IHJlc3BvbmRcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiRtaW5Db250ZW50V2lkdGg6IDEwMjRweDtcbiRtaW5FZGdlQ29udGVudFBhZGRpbmc6IDE1cHg7XG4kbGFyZ2VCcmVha3BvaW50OiAkbWluQ29udGVudFdpZHRoICsgJG1pbkVkZ2VDb250ZW50UGFkZGluZyoyO1xuJGNvbXByZXNzZWRDb250ZW50V2lkdGg6ICRtaW5Db250ZW50V2lkdGggLSAkbWluRWRnZUNvbnRlbnRQYWRkaW5nKjI7XG4vLyAkc21NaW46IDc2OHB4O1xuJHNtTWF4OiA5MDBweDtcbkBtaXhpbiByZXNwb25kKCRtZWRpYSkge1xuICBAaWYgJG1lZGlhID09IHdoaXRlYm9hcmQtZXhlcmNpc2Utc3RhY2tlZC1hdHRyaWJ1dGVzIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExOTBweCkgeyBAY29udGVudDsgfVxuICB9XG4gIEBpZiAkbWVkaWEgPT0gbGcge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGxhcmdlQnJlYWtwb2ludCkgeyBAY29udGVudDsgfVxuICB9XG4gIEBlbHNlIGlmICRtZWRpYSA9PSBtZCB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAjeyRsYXJnZUJyZWFrcG9pbnQgLSAxcHh9KSB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGVsc2UgaWYgJG1lZGlhID09IHNtIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICN7JHNtTWF4fSkgeyBAY29udGVudDsgfVxuICB9XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiB4cGFkIC8geXBhZFxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgXG5AbWl4aW4geHBhZCgkcGFkKSAge1xuICBwYWRkaW5nLWxlZnQ6ICRwYWQ7XG4gIHBhZGRpbmctcmlnaHQ6ICRwYWQ7XG59XG5AbWl4aW4geXBhZCgkcGFkKSAge1xuICBwYWRkaW5nLXRvcDogJHBhZDtcbiAgcGFkZGluZy1ib3R0b206ICRwYWQ7XG59XG5AbWl4aW4geG1hcmdpbigkZ2FwKSAge1xuICBtYXJnaW4tbGVmdDogJGdhcDtcbiAgbWFyZ2luLXJpZ2h0OiAkZ2FwO1xufVxuQG1peGluIHltYXJnaW4oJGdhcCkgIHtcbiAgbWFyZ2luLXRvcDogJGdhcDtcbiAgbWFyZ2luLWJvdHRvbTogJGdhcDtcbn1cblxuQG1peGluIGFic0NlbnRlckJhc2VfeSgkaCkgIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbWFyZ2luLXRvcDogJGgvLTI7XG59XG5cbkBtaXhpbiBhYnNDZW50ZXJCYXNlKCR3LCAkaDogJHcpICB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLXRvcDogJGgvLTI7XG4gIG1hcmdpbi1sZWZ0OiAkdy8tMjtcbn1cblxuQG1peGluIGFic0NlbnRlckljb24oJHcsICRoOiAkdykgIHtcbiAgQGluY2x1ZGUgYWJzQ2VudGVyQmFzZSgkdywgJGgpO1xuICBmb250LXNpemU6ICRoO1xufVxuQG1peGluIGFic0NlbnRlckljb25feSgkaCkgIHtcbiAgQGluY2x1ZGUgYWJzQ2VudGVyQmFzZV95KCRoKTtcbiAgZm9udC1zaXplOiAkaDtcbn1cblxuQG1peGluIGZsZXhJbmxpbmVPdmVycmlkZSAge1xuICAgIG1pbi13aWR0aDogMCAhaW1wb3J0YW50O1xuICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xuICAgIC13ZWJraXQtZmxleDogMSAhaW1wb3J0YW50O1xuICAgIC1tcy1mbGV4OiAxICFpbXBvcnRhbnQ7XG4gICAgZmxleDogMSAhaW1wb3J0YW50O1xufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIGFwcC1zcGVjaWZpYyBtaXhpbi92YXJzID4gdGFic1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5AbWl4aW4gbGFyZ2UtdGFicy1zdHlsZSAge1xuICBmb250LXNpemU6IDIwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBmb250LXdlaWdodDogNTAwO1xuICBAaW5jbHVkZSByZXNwb25kKG1kKSAge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgfVxufVxuJGxhcmdlLXRhYnMtc3BhY2luZzogNDBweDtcblxuQG1peGluIHRyaW1Jbm5lck1hcmdpbiAge1xuICA+ICogIHtcbiAgICAmOmZpcnN0LWNoaWxkICB7XG4gICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgICY6bGFzdC1jaGlsZCAge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiBwbGFjZWhvbGRlclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgXG5AbWl4aW4gcGxhY2Vob2xkZXIge1xuICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtAY29udGVudH1cbiAgJjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgICB7QGNvbnRlbnR9XG4gICY6Oi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAge0Bjb250ZW50fVxuICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciAgICAgIHtAY29udGVudH0gIFxufVxuXG5cbiIsIkBpbXBvcnQgXCJ2YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCJtaXhpbnNcIjtcbkBpbXBvcnQgXCJtaXhpbnMyXCI7XG5cblxuLmFycm93VGFicyAge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgQGluY2x1ZGUgZ3JpZHhnYXAoMnB4KTtcbiAgICA+IHNwYW4gIHtcbiAgICAgICAgZmxleDogMTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAmOmJlZm9yZSAge1xuICAgICAgICAgICAgY29udGVudDogXCIgXCI7ICAgICAgXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogLThweDtcbiAgICAgICAgICAgIGJvdHRvbTogLTZweDtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyaWFuZ2xlKDE2cHggNnB4LCAkYmx1ZSwgZG93bik7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAgIH1cbiAgICAgICAgc3BhbiAge1xuICAgICAgICAgICAgcGFkZGluZzogMTJweCA4cHg7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogI0YyRjRGNTtcbiAgICAgICAgICAgIGNvbG9yOiAjQUJCMEIzO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIH1cblxuICAgICAgICAmOmZpcnN0LWNoaWxkICB7XG4gICAgICAgICAgICBzcGFuICB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4IDAgMCA1cHg7ICBcbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG4gICAgICAgICY6bGFzdC1jaGlsZCAge1xuICAgICAgICAgICAgc3BhbiAge1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDAgNXB4IDVweCAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cbiAgICAgICAgJi5hY3RpdmUgIHtcbiAgICAgICAgICAgICY6YmVmb3JlICB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBzcGFuICB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGJsdWU7XG4gICAgICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiBwcm9ncmFtIHNjaGVkdWxlIHRhYmxlXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vICBcbkBtaXhpbiBwcm9ncmFtU2NoZWR1bGVUYWJsZUF0dHJzKCRsZWZ0UHVsbCwgJGlubmVyU3BhY2luZykgIHsgIFxuICAgICRwcm9ncmFtYnJlYWtwb2ludDogJGxhcmdlQnJlYWtwb2ludCArICRsZWZ0UHVsbCArIDQwcHg7XG4gICAgdGFibGUtbGF5b3V0OiBmaXhlZDsgIFxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHByb2dyYW1icmVha3BvaW50KSB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgKyAjeyRsZWZ0UHVsbH0pO1xuICAgICAgICBtYXJnaW4tbGVmdDogJGxlZnRQdWxsKi0xO1xuICAgIH1cbiAgICB0ciAge1xuICAgICAgICA+ICogIHtcbiAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQgIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogJGxlZnRQdWxsO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICArICogIHsgICAgICBcbiAgICAgICAgICAgICAgICB3aWR0aDogY2FsYygoMTAwLzcqMSUpIC0gI3skbGVmdFB1bGwvN30pO1xuICAgICAgICAgICAgICAgICsgKiAge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICRpbm5lclNwYWNpbmc7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSAgICAgICAgICAgIFxuICAgICAgICB9XG4gICAgICAgICsgdHIgIHtcbiAgICAgICAgICAgID4gKiAge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAkaW5uZXJTcGFjaW5nO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIHRoZWFkICB7XG4gICAgICAgIHRoICB7XG4gICAgICAgICAgICBjb2xvcjogI0JEQzFDNTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAxNXB4O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgfVxuICAgIH1cbiAgICB0Ym9keSAge1xuICAgICAgICB0aCAge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgICBjb2xvcjogIzg0ODk5MDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIH0gICAgXG4gICAgfVxufVxuLnByb2dyYW1TY2hlZHVsZVRhYmxlICB7XG4gICAgQGluY2x1ZGUgcHJvZ3JhbVNjaGVkdWxlVGFibGVBdHRycyg3MHB4LCA1cHgpO1xufVxuXG5AbWl4aW4gYWN0aXZpdHlQaWxsR3JvdXBBdHRzKCRwaWxsR2FwKSAge1xuICAgICRwaWxsSGVpZ2h0OiAkcGlsbEdhcCoyLzM7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJhY2tncm91bmQ6ICNGMkY0RjU7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIHBhZGRpbmc6IDhweDtcbiAgICBAaW5jbHVkZSBmbGV4LWNvbHVtbjsgIFxuICAgIGhlaWdodDogMTE3LjNweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICAuYWN0aXZpdHlQaWxsICB7XG4gICAgICAgIGhlaWdodDogY2FsYygzMy4zMzMlIC0gI3skcGlsbEhlaWdodH0pO1xuICAgICAgICArIC5hY3Rpdml0eVBpbGwgIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6ICRwaWxsR2FwO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5hZGRJY29uICB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIGNvbG9yOiAjQ0REM0Q3OyAgICBcbiAgICAgICAgQGluY2x1ZGUgYWJzQ2VudGVySWNvbig0MHB4KTtcbiAgICB9ICBcbn1cblxuLmFjdGl2aXR5UGlsbEdyb3VwICB7XG4gICAgQGluY2x1ZGUgYWN0aXZpdHlQaWxsR3JvdXBBdHRzKDNweCk7XG59XG4uYWN0aXZpdHlQaWxsICB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICBwYWRkaW5nOiAwIDVweDtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4uYWN0aXZpdHlQaWxsLS1wcm9tcHQgIHtcbiAgICBiYWNrZ3JvdW5kOiAjRTRFOUVDO1xuICAgIGNvbG9yOiAjQkRDMUM1O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLmFjdGl2aXR5UGlsbC0tYWN0aXZlICB7XG4gICAgYmFja2dyb3VuZDogJGJsdWU7ICBcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogMCAxNXB4O1xuICAgIC5jbG9zZUljb24gIHtcbiAgICAgICAgQGluY2x1ZGUgYWJzQ2VudGVySWNvbl95KDEwcHgpO1xuICAgICAgICByaWdodDogNXB4O1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfSAgIFxufVxuXG4uYWN0aXZpdHlQaWxsR3JvdXAtLWVtcHR5ICB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIC5hZGRJY29uICB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IHNlbGVjdCArIGFkZCBwaWxsXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vICAgIFxuLnNlbGVjdEFkZFBpbGwgIHtcbiAgICBwYWRkaW5nOiAxMHB4O1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgQGluY2x1ZGUgZmxleC1yb3c7XG4gICAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhzdHJldGNoKTtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgLnRsLWVudHJ5IC50bC1zZWxlY3QsXG4gICAgLnRsLWVudHJ5IC50bC1zZWxlY3QtaW5wdXQgLnNlbGVjdC10b2dnbGUge1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICB9XG4gICAgYnV0dG9uLnByaW1hcnkgIHtcbiAgICAgICAgbWF4LWhlaWdodDogbm9uZTtcbiAgICAgICAgbWluLWhlaWdodDogMDtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgIH1cbiAgICA+ICogIHtcbiAgICAgICAgJjpmaXJzdC1jaGlsZCAge1xuICAgICAgICAgICAgZmxleDogMTtcbiAgICAgICAgfVxuICAgICAgICArICogIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxNXB4O1xuICAgICAgICB9XG4gICAgfVxufSIsIiRyZWQ6ICNjNDJhM2I7XG4kYmx1ZTogIzk3NjhFQjtcbiRkYXJrX2JsdWU6ICMxMTI2NGI7XG4kZ3JleTogIzgwODA4MDtcbiRncmVlbjogIzIwYjc2OTtcbiR3aGl0ZTogI2ZmZmZmZjtcbiR5ZWxsb3c6ICNkOGI2MmY7XG4kbGlnaHRfZ3JleTogI2NkY2RjZDtcbiRkYXJrX2dyZXk6ICM2ZDZlNzI7XG4kc2NvcmUtZ3JlZW46ICMwMEI5NkQ7XG4kc2NvcmUtcmVkOiAjRDE0MDRCO1xuJHNjb3JlLXllbGxvdzogI0Q3QkI0MztcblxuJGZvb3Rlcl9iYWNrZ3JvdW5kOiAjMTEyNjRiO1xuJGF0aGxldGVfaGVhZGVyX3ByaW1hcnk6ICNlMWUxZTE7XG4kYXRobGV0ZV9oZWFkZXJfc2Vjb25kYXJ5OiAjZTFlMWUxO1xuJGF0aGxldGVfbGlzdF9uYW1lOiAjZjdmN2Y3O1xuIiwiXG5AbWl4aW4gdHJhbnNmb3JtKCR0cmFuc2Zvcm1zKSB7XG4gICAgIC1tb3otdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgICAtby10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAgICAgLW1zLXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgICAgICB0cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xufVxuXG5AbWl4aW4gYXBwZWFyYW5jZSgkYXBwZWFyYW5jZS4uLikge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xuICAgICAtbW96LWFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xuICAgICAgICAgIGFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xufVxuXG5AbWl4aW4gYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cy4uLikge1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgICAtbW96LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xufVxuXG5AbWl4aW4gYm94LXNoYWRvdygkc2hhZG93Li4uKSB7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogJHNoYWRvdztcbiAgICAgLW1vei1ib3gtc2hhZG93OiAkc2hhZG93O1xuICAgICAgICAgIGJveC1zaGFkb3c6ICRzaGFkb3c7XG59XG5cbkBtaXhpbiBib3gtc2l6aW5nKCRzaXplLi4uKSB7XG4gIC13ZWJraXQtYm94LXNpemluZzogJHNpemU7XG4gICAgIC1tb3otYm94LXNpemluZzogJHNpemU7XG4gICAgICAgICAgYm94LXNpemluZzogJHNpemU7XG59XG5cbkBtaXhpbiB1c2VyLXNlbGVjdCgkc2VsZWN0Li4uKSB7XG4td2Via2l0LXRvdWNoLWNhbGxvdXQ6ICRzZWxlY3Q7XG4gICAgIC1tcy10b3VjaC1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgIC1tb3otdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgICAtbXMtdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgICAgICAgdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG59XG5cbkBtaXhpbiBmbGV4KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXg6ICR2YWx1ZTtcbiAgICAgIC1tcy1mbGV4OiAkdmFsdWU7XG4gICAgICAgICAgZmxleDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1hbGlnbi1jb250ZW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWFsaWduLWNvbnRlbnQ6ICR2YWx1ZTtcbiAgICAgICAgICBhbGlnbi1jb250ZW50OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWFsaWduLWl0ZW1zKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWFsaWduLWl0ZW1zOiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24taXRlbXM6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtYWxpZ24tc2VsZigkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1hbGlnbi1zZWxmOiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24tc2VsZjogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1kaXJlY3Rpb24oJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleC1kaXJlY3Rpb246ICR2YWx1ZTtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogJHZhbHVlO1xufVxuQG1peGluIGZsZXgtZGlyZWN0aW9uLWltcG9ydGFudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogJHZhbHVlIWltcG9ydGFudDtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogJHZhbHVlIWltcG9ydGFudDtcbn1cblxuQG1peGluIGZsZXgtZGlzcGxheSgpIHtcbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuQG1peGluIGZsZXgtanVzdGlmeS1jb250ZW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWp1c3RpZnktY29udGVudDogJHZhbHVlO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1vcmRlcigkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1vcmRlcjogJHZhbHVlO1xuICAgICAgICAgIG9yZGVyOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LXdyYXAoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleC13cmFwOiAkdmFsdWU7XG4gICAgICAgICAgZmxleC13cmFwOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbigpIHtcbiAgQGluY2x1ZGUgZmxleC1kaXNwbGF5KCk7XG4gIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKGNvbHVtbik7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbi1jZW50ZXIoKSB7XG4gIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbn1cblxuQG1peGluIGZsZXgtY29sdW1uLXN0YXJ0KCkge1xuICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGZsZXgtc3RhcnQpO1xufVxuXG5AbWl4aW4gZmxleC1yb3coKSB7XG4gIEBpbmNsdWRlIGZsZXgtZGlzcGxheSgpO1xuICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihyb3cpO1xufVxuXG5AbWl4aW4gZmxleC1yb3ctY2VudGVyKCkge1xuICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG59XG5cbkBtaXhpbiBmbGV4LXJvdy1zdGFydCgpIHtcbiAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LXN0YXJ0KTtcbn1cblxuQG1peGluIGxvY2staGVpZ2h0KCR2YWx1ZS4uLikge1xuICBtYXgtaGVpZ2h0OiAkdmFsdWU7XG4gIG1pbi1oZWlnaHQ6ICR2YWx1ZTtcbiAgaGVpZ2h0OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBsb2NrLXdpZHRoKCR2YWx1ZS4uLikge1xuICBtYXgtd2lkdGg6ICR2YWx1ZTtcbiAgbWluLXdpZHRoOiAkdmFsdWU7XG4gIHdpZHRoOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBsb2NrLXdpZHRoLWlubGluZS1vdmVycmlkZSgkdmFsdWUuLi4pIHtcbiAgbWF4LXdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbiAgbWluLXdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbiAgd2lkdGg6ICR2YWx1ZSAhaW1wb3J0YW50O1xufVxuXG5cbkBtaXhpbiB1bmxvY2std2lkdGggIHtcbiAgbWF4LXdpZHRoOiBub25lO1xuICBtaW4td2lkdGg6IDA7XG4gIHdpZHRoOiBhdXRvO1xufVxuQG1peGluIHVubG9jay1oZWlnaHQgIHtcbiAgbWF4LWhlaWdodDogbm9uZTtcbiAgbWluLWhlaWdodDogMDtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG5AbWl4aW4gY29sdW1uLWNvdW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWNvbHVtbi1jb3VudDogJHZhbHVlO1xuICAtbW96LWNvbHVtbi1jb3VudDogJHZhbHVlO1xuICBjb2x1bW4tY291bnQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGNvbHVtbi1nYXAoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtY29sdW1uLWdhcDogJHZhbHVlO1xuICAtbW96LWNvbHVtbi1nYXA6ICR2YWx1ZTtcbiAgY29sdW1uLWdhcDogJHZhbHVlO1xufVxuXG5AbWl4aW4gY29sdW1uLW5vLWJyZWFrKCkge1xuICAtd2Via2l0LWNvbHVtbi1icmVhay1pbnNpZGU6IGF2b2lkO1xuICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQtY29sdW1uO1xuICAtbW96LWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XG4gIC1vLWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XG4gIC1tcy1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xuICBicmVhay1pbnNpZGU6YXZvaWQtY29sdW1uO1xufVxuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IHJlc3BvbmRcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiRtaW5Db250ZW50V2lkdGg6IDEwMjRweDtcbiRtaW5FZGdlQ29udGVudFBhZGRpbmc6IDE1cHg7XG4kbGFyZ2VCcmVha3BvaW50OiAkbWluQ29udGVudFdpZHRoICsgJG1pbkVkZ2VDb250ZW50UGFkZGluZyoyO1xuJGNvbXByZXNzZWRDb250ZW50V2lkdGg6ICRtaW5Db250ZW50V2lkdGggLSAkbWluRWRnZUNvbnRlbnRQYWRkaW5nKjI7XG4vLyAkc21NaW46IDc2OHB4O1xuJHNtTWF4OiA5MDBweDtcbkBtaXhpbiByZXNwb25kKCRtZWRpYSkge1xuICBAaWYgJG1lZGlhID09IHdoaXRlYm9hcmQtZXhlcmNpc2Utc3RhY2tlZC1hdHRyaWJ1dGVzIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExOTBweCkgeyBAY29udGVudDsgfVxuICB9XG4gIEBpZiAkbWVkaWEgPT0gbGcge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGxhcmdlQnJlYWtwb2ludCkgeyBAY29udGVudDsgfVxuICB9XG4gIEBlbHNlIGlmICRtZWRpYSA9PSBtZCB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAjeyRsYXJnZUJyZWFrcG9pbnQgLSAxcHh9KSB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGVsc2UgaWYgJG1lZGlhID09IHNtIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICN7JHNtTWF4fSkgeyBAY29udGVudDsgfVxuICB9XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiB4cGFkIC8geXBhZFxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgXG5AbWl4aW4geHBhZCgkcGFkKSAge1xuICBwYWRkaW5nLWxlZnQ6ICRwYWQ7XG4gIHBhZGRpbmctcmlnaHQ6ICRwYWQ7XG59XG5AbWl4aW4geXBhZCgkcGFkKSAge1xuICBwYWRkaW5nLXRvcDogJHBhZDtcbiAgcGFkZGluZy1ib3R0b206ICRwYWQ7XG59XG5AbWl4aW4geG1hcmdpbigkZ2FwKSAge1xuICBtYXJnaW4tbGVmdDogJGdhcDtcbiAgbWFyZ2luLXJpZ2h0OiAkZ2FwO1xufVxuQG1peGluIHltYXJnaW4oJGdhcCkgIHtcbiAgbWFyZ2luLXRvcDogJGdhcDtcbiAgbWFyZ2luLWJvdHRvbTogJGdhcDtcbn1cblxuQG1peGluIGFic0NlbnRlckJhc2VfeSgkaCkgIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbWFyZ2luLXRvcDogJGgvLTI7XG59XG5cbkBtaXhpbiBhYnNDZW50ZXJCYXNlKCR3LCAkaDogJHcpICB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLXRvcDogJGgvLTI7XG4gIG1hcmdpbi1sZWZ0OiAkdy8tMjtcbn1cblxuQG1peGluIGFic0NlbnRlckljb24oJHcsICRoOiAkdykgIHtcbiAgQGluY2x1ZGUgYWJzQ2VudGVyQmFzZSgkdywgJGgpO1xuICBmb250LXNpemU6ICRoO1xufVxuQG1peGluIGFic0NlbnRlckljb25feSgkaCkgIHtcbiAgQGluY2x1ZGUgYWJzQ2VudGVyQmFzZV95KCRoKTtcbiAgZm9udC1zaXplOiAkaDtcbn1cblxuQG1peGluIGZsZXhJbmxpbmVPdmVycmlkZSAge1xuICAgIG1pbi13aWR0aDogMCAhaW1wb3J0YW50O1xuICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xuICAgIC13ZWJraXQtZmxleDogMSAhaW1wb3J0YW50O1xuICAgIC1tcy1mbGV4OiAxICFpbXBvcnRhbnQ7XG4gICAgZmxleDogMSAhaW1wb3J0YW50O1xufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIGFwcC1zcGVjaWZpYyBtaXhpbi92YXJzID4gdGFic1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5AbWl4aW4gbGFyZ2UtdGFicy1zdHlsZSAge1xuICBmb250LXNpemU6IDIwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBmb250LXdlaWdodDogNTAwO1xuICBAaW5jbHVkZSByZXNwb25kKG1kKSAge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgfVxufVxuJGxhcmdlLXRhYnMtc3BhY2luZzogNDBweDtcblxuQG1peGluIHRyaW1Jbm5lck1hcmdpbiAge1xuICA+ICogIHtcbiAgICAmOmZpcnN0LWNoaWxkICB7XG4gICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgICY6bGFzdC1jaGlsZCAge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiBwbGFjZWhvbGRlclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgXG5AbWl4aW4gcGxhY2Vob2xkZXIge1xuICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtAY29udGVudH1cbiAgJjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgICB7QGNvbnRlbnR9XG4gICY6Oi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAge0Bjb250ZW50fVxuICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciAgICAgIHtAY29udGVudH0gIFxufVxuXG5cbiIsIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIG5vdGU6ICB0aGlzIGlzIGFuIHVwZGF0ZWQgbWl4aW5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gICAgXG5cbkBtaXhpbiBldmVuLWNvbHMgIHtcbiAgQGluY2x1ZGUgZmxleC1yb3c7XG4gICAgJi5jb21wYWN0ICB7XG4gICAgICAgID4gKiAge1xuICAgICAgICAgICAgKyAqICB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgJi5zcGFjZWQtb3V0ICB7XG4gICAgICA+ICogIHtcbiAgICAgICAgICArICogIHtcbiAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDQ1cHg7XG4gICAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAmLmRlZmF1bHQtc3BhY2VkICB7XG4gICAgICA+ICogIHtcbiAgICAgICAgICArICogIHtcbiAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDMwcHg7XG4gICAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAmLmJvdHRvbS1hbGlnbiAge1xuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LWVuZCk7XG4gICAgfVxuICAgICYuZXZlbi1jb2xzLS1zdHJpcElubmVyTWFyZ2lucyAge1xuICAgICAgPiAqICB7XG4gICAgICAgID4gKiAge1xuICAgICAgICAgICY6Zmlyc3QtY2hpbGQgIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbiAgICAgICAgICB9XG4gICAgICAgICAgJjpsYXN0LWNoaWxkICB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgID4gKiAge1xuICAgICAgICBAaW5jbHVkZSBmbGV4KDEpO1xuICAgIH1cbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gbm90ZTogIGV2ZXJ5dGhpbmcgYmVsb3cgdGhpcyBpcyBuZXdcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gICBcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiB0cmlhbmdsZVxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgXG5AbWl4aW4gdHJpYW5nbGUoJHNpemUsICRjb2xvciwgJGRpcmVjdGlvbikge1xuICAkd2lkdGg6IG50aCgkc2l6ZSwgMSk7XG4gICRoZWlnaHQ6IG50aCgkc2l6ZSwgbGVuZ3RoKCRzaXplKSk7XG4gICRmb3JlZ3JvdW5kLWNvbG9yOiBudGgoJGNvbG9yLCAxKTtcbiAgJGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBoZWlnaHQ6IDA7XG4gIHdpZHRoOiAwO1xuXG4gIEBpZiAoJGRpcmVjdGlvbiA9PSB1cCkgb3IgKCRkaXJlY3Rpb24gPT0gZG93bikgb3IgKCRkaXJlY3Rpb24gPT0gcmlnaHQpIG9yICgkZGlyZWN0aW9uID09IGxlZnQpIHtcbiAgICAkd2lkdGg6ICR3aWR0aCAvIDI7XG4gICAgJGhlaWdodDogaWYobGVuZ3RoKCRzaXplKSA+IDEsICRoZWlnaHQsICRoZWlnaHQvMik7XG5cbiAgICBAaWYgJGRpcmVjdGlvbiA9PSB1cCB7XG4gICAgICBib3JkZXItYm90dG9tOiAkaGVpZ2h0IHNvbGlkICRmb3JlZ3JvdW5kLWNvbG9yO1xuICAgICAgYm9yZGVyLWxlZnQ6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgIGJvcmRlci1yaWdodDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSByaWdodCB7XG4gICAgICBib3JkZXItYm90dG9tOiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgICBib3JkZXItbGVmdDogJGhlaWdodCBzb2xpZCAkZm9yZWdyb3VuZC1jb2xvcjtcbiAgICAgIGJvcmRlci10b3A6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gZG93biB7XG4gICAgICBib3JkZXItbGVmdDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgYm9yZGVyLXJpZ2h0OiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgICBib3JkZXItdG9wOiAkaGVpZ2h0IHNvbGlkICRmb3JlZ3JvdW5kLWNvbG9yO1xuICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSBsZWZ0IHtcbiAgICAgIGJvcmRlci1ib3R0b206ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgIGJvcmRlci1yaWdodDogJGhlaWdodCBzb2xpZCAkZm9yZWdyb3VuZC1jb2xvcjtcbiAgICAgIGJvcmRlci10b3A6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICB9XG4gIH0gQGVsc2UgaWYgKCRkaXJlY3Rpb24gPT0gdXAtcmlnaHQpIG9yICgkZGlyZWN0aW9uID09IHVwLWxlZnQpIHtcbiAgICBib3JkZXItdG9wOiAkaGVpZ2h0IHNvbGlkICRmb3JlZ3JvdW5kLWNvbG9yO1xuXG4gICAgQGlmICRkaXJlY3Rpb24gPT0gdXAtcmlnaHQge1xuICAgICAgYm9yZGVyLWxlZnQ6ICAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IHVwLWxlZnQge1xuICAgICAgYm9yZGVyLXJpZ2h0OiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgfVxuICB9IEBlbHNlIGlmICgkZGlyZWN0aW9uID09IGRvd24tcmlnaHQpIG9yICgkZGlyZWN0aW9uID09IGRvd24tbGVmdCkge1xuICAgIGJvcmRlci1ib3R0b206ICRoZWlnaHQgc29saWQgJGZvcmVncm91bmQtY29sb3I7XG5cbiAgICBAaWYgJGRpcmVjdGlvbiA9PSBkb3duLXJpZ2h0IHtcbiAgICAgIGJvcmRlci1sZWZ0OiAgJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSBkb3duLWxlZnQge1xuICAgICAgYm9yZGVyLXJpZ2h0OiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgfVxuICB9IEBlbHNlIGlmICgkZGlyZWN0aW9uID09IGluc2V0LXVwKSB7XG4gICAgYm9yZGVyLWNvbG9yOiAkYmFja2dyb3VuZC1jb2xvciAkYmFja2dyb3VuZC1jb2xvciAkZm9yZWdyb3VuZC1jb2xvcjtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aDogJGhlaWdodCAkd2lkdGg7XG4gIH0gQGVsc2UgaWYgKCRkaXJlY3Rpb24gPT0gaW5zZXQtZG93bikge1xuICAgIGJvcmRlci1jb2xvcjogJGZvcmVncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3I7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItd2lkdGg6ICRoZWlnaHQgJHdpZHRoO1xuICB9IEBlbHNlIGlmICgkZGlyZWN0aW9uID09IGluc2V0LXJpZ2h0KSB7XG4gICAgYm9yZGVyLWNvbG9yOiAkYmFja2dyb3VuZC1jb2xvciAkYmFja2dyb3VuZC1jb2xvciAkYmFja2dyb3VuZC1jb2xvciAkZm9yZWdyb3VuZC1jb2xvcjtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aDogJHdpZHRoICRoZWlnaHQ7XG4gIH0gQGVsc2UgaWYgKCRkaXJlY3Rpb24gPT0gaW5zZXQtbGVmdCkge1xuICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQtY29sb3IgJGZvcmVncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3I7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItd2lkdGg6ICR3aWR0aCAkaGVpZ2h0O1xuICB9XG59XG5cblxuQG1peGluIGdyaWR4Z2FwKCRnYXApICB7XG4gICAgbWFyZ2luOiAwICRnYXAqLTE7XG4gICAgPiAqICB7XG4gICAgICAgIHBhZGRpbmc6IDAgJGdhcDtcbiAgICB9XG59XG5cblxuQG1peGluIGlubGluZS1ncmlkLWJhc2UgIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgPiAqICB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyAgICBcbiAgfVxufVxuQG1peGluIGlubGluZS1ncmlkLXgoJGdhcCkgIHtcbiAgQGluY2x1ZGUgeG1hcmdpbigkZ2FwKi0xKTtcbiAgPiAqICB7XG4gICAgQGluY2x1ZGUgeG1hcmdpbigkZ2FwKTtcbiAgfVxufVxuQG1peGluIGlubGluZS1ncmlkLXkoJGdhcCkgIHtcbiAgQGluY2x1ZGUgeW1hcmdpbigkZ2FwKi0xKTtcbiAgPiAqICB7XG4gICAgQGluY2x1ZGUgeW1hcmdpbigkZ2FwKTtcbiAgfVxufVxuXG5AbWl4aW4gaW5saW5lLWdyaWQteHkoJGdhcCkgIHtcbiAgbWFyZ2luOiAkZ2FwKi0xO1xuICA+ICogIHtcbiAgICBtYXJnaW46ICRnYXA7XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCJ2YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCJtaXhpbnNcIjtcbkBpbXBvcnQgXCJtaXhpbnMyXCI7XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IHZhcnNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cdFxuJGZsZXhGb3JtSW5wdXRfaDogNDZweDtcbiRmbGV4Rm9ybV9wYWQ6IDEycHg7XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiB0eXBvZ3JhcGh5XG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHRcbi50X3BhZ2VDb250ZW50VGl0bGUgIHtcblx0bWFyZ2luOiAwO1xuXHRjb2xvcjogJGJsdWU7XG5cdGZvbnQtc2l6ZTogMjRweDtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0Ji50b3AgIHtcblx0XHRjb2xvcjogIzc1Nzg3Qjtcblx0fVxufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiBoZWxwZXJzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHRcbi55Y2VudGVyLWl0ZW1zICB7XG5cdEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbn1cblxuLnhnYXBDaGlsZHJlbiAge1xuXHQ+ICogKyAqICB7XG5cdFx0cGFkZGluZy1sZWZ0OiAxNXB4O1xuXHR9XG59XG5cbi5pbmxpbmVTcGFjZWQgIHtcblx0QGluY2x1ZGUgaW5saW5lLWdyaWQtYmFzZTtcdFxufVxuLmlubGluZVNwYWNlZC0tYWxpZ24tLXRvcCAge1xuXHQ+ICogIHtcblx0XHR2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuXHR9XG59XG4uaW5saW5lU3BhY2VkLS1hbGlnbi0tbWlkZGxlICB7XG5cdD4gKiAge1xuXHRcdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cdH1cbn1cbi5pbmxpbmVTcGFjZWQtLWNvbXBhY3QgIHtcblx0QGluY2x1ZGUgaW5saW5lLWdyaWQteHkoMnB4KTtcbn1cbi5pbmxpbmVTcGFjZWQtLXNwYWNlZCAge1xuXHRAaW5jbHVkZSBpbmxpbmUtZ3JpZC14eSg4cHgpO1xufVxuLmlubGluZVNwYWNlZC0tc3BhY2VkTWVkICB7XG5cdEBpbmNsdWRlIGlubGluZS1ncmlkLXh5KDRweCk7XG59XG4uaW5saW5lU3BhY2VkLS1vcHRpb25JbnB1dHMgIHtcblx0QGluY2x1ZGUgaW5saW5lLWdyaWQteCgxMHB4KTtcblx0QGluY2x1ZGUgaW5saW5lLWdyaWQteSg0cHgpO1xufVxuLmlubGluZVNwYWNlZF9fY2hpbGQgIHtcblx0QGluY2x1ZGUgdHJpbUlubmVyTWFyZ2luO1xufVxuXG4uY29sb3ItLWJhZCAge1xuXHRjb2xvcjogJHJlZDtcbn1cbi5jb2xvci0tZ29vZCAge1xuXHRjb2xvcjogJGdyZWVuO1xufVxuLmNvbG9yLS1vayAge1xuXHRjb2xvcjogJHllbGxvdztcbn1cbi5jb2xvci0tbmV1dHJhbCAge1xuXHRjb2xvcjogJGdyZXk7XG59XG4uY29sb3ItLW5ldXRyYWxCbHVlLCBcbi5jb2xvci0tbGluayAge1xuXHRjb2xvcjogIzRBQjNEQSAhaW1wb3J0YW50OyAvLyBuZWVkcyB0byBvdmVycmlkZSBkZWZhdWx0IHN0eWxlcyBzaW5jZSBpdCBpcyBhIGhlbHBlciBjbGFzc1xufVxuXG4uZmxleFJvdyAge1xuXHRAaW5jbHVkZSBmbGV4LXJvdygpO1x0XG59XG4uZmxleFJvd19fZmxleCAge1xuXHRAaW5jbHVkZSBmbGV4KDEpO1xufVxuXG5idXR0b24ud2lkZSAge1xuXHRtaW4td2lkdGg6IDIwMHB4O1xufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gYXBwLXNwZWNpZmljIG1peGluc1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1x0XG5AbWl4aW4gYmxvY2tTaGFkb3cgIHtcblx0Ym94LXNoYWRvdzogMCAwIDNweCByZ2JhKCMwMDAsIDAuMik7XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiBzY3JvbGwgc2VjdGlvblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1x0XG5cbi5zY3JvbGxTaWRlV3JhcCAge1x0XG5cdEBpbmNsdWRlIHJlc3BvbmQobWQtdXApICB7XG5cdFx0QGluY2x1ZGUgZmxleC1yb3c7XHRcblx0fVx0XG59XG4kc2Nyb2xsU2lkZVdyYXBfX3NpZGVfZGFya0M6ICMyOTMwNDA7XG4uc2Nyb2xsU2lkZVdyYXBfX3NpZGUgIHtcblx0b3ZlcmZsb3c6IGF1dG87XG5cdGJhY2tncm91bmQ6ICMzNjNBNDY7XHRcblx0QGluY2x1ZGUgcmVzcG9uZChtZC11cCkgIHtcblx0XHRtaW4td2lkdGg6IDI3NXB4O1xuXHRcdG1heC13aWR0aDogMzQ3cHg7XG5cdFx0d2lkdGg6IDI2LjclO1xuXHR9XHRcblx0QGluY2x1ZGUgcmVzcG9uZChzbSkgIHtcblx0XHRAaW5jbHVkZSBmbGV4LXJvdztcdFxuXHRcdGJhY2tncm91bmQ6ICRzY3JvbGxTaWRlV3JhcF9fc2lkZV9kYXJrQztcblx0XHQubG9nZ2VkSW5CbG9jayAge1xuXHRcdFx0d2lkdGg6IDI0MHB4O1xuXHRcdH1cdFxuXHRcdC5zaWRlQmFyTWFpbkNvbnRlbnQgIHtcblx0XHRcdEBpbmNsdWRlIGZsZXgoMSk7XG5cdFx0fVxuXHRcdC5zaWRlQmFyU2VjdGlvbiAge1x0XHRcdFxuXHRcdFx0QGluY2x1ZGUgZmxleC1yb3c7XG5cdFx0XHQrIC5zaWRlQmFyU2VjdGlvbiAge1xuXHRcdFx0XHRwYWRkaW5nLXRvcDogMDtcblx0XHRcdH1cblx0XHR9XHRcdFx0XHRcblx0XHQuc2lkZUJhclNlY3Rpb25fX2NvbnRlbnQgIHtcblx0XHRcdEBpbmNsdWRlIGZsZXgoMSk7XG5cdFx0fVx0XHRcblx0fVx0XG59XG4uc2lkZUJhckZpbHRlckZpZWxkcyAge1xuXHRAaW5jbHVkZSByZXNwb25kKG1kLXVwKSAge1xuXHRcdD4gKiArICogIHtcblx0XHRcdG1hcmdpbi10b3A6IDExcHg7XG5cdFx0fVxuXHR9XG5cdEBpbmNsdWRlIHJlc3BvbmQoc20pICB7XG5cdFx0QGluY2x1ZGUgZmxleC1yb3c7XG5cdFx0QGluY2x1ZGUgZ3JpZHhnYXAoJGZsZXhGb3JtX3BhZC8yKTtcblx0XHQ+ICogIHtcblx0XHRcdHdpZHRoOiA1MCU7XG5cdFx0fVxuXHR9XG59XG4uc2Nyb2xsU2lkZVdyYXBfX21haW4gIHtcblx0QGluY2x1ZGUgZmxleCgxKTtcblx0cGFkZGluZzogMjBweDtcblx0YmFja2dyb3VuZDogI0VGRjFGMjtcbn1cblxuQG1peGluIHNjcm9sbFNpZGVXcmFwWHBhZCAge1xuXHRAaW5jbHVkZSB4cGFkKDIycHgpO1xufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gYWRtaW4yIHNpZGViYXIgbG9nZ2VkIGluIGJsb2NrIGhpZ2ggbGV2ZWxcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cdFxuLmxvZ2dlZEluQmxvY2sgIHtcblx0YmFja2dyb3VuZDogIzk3NjhFQjtcdFxuXHRAaW5jbHVkZSBzY3JvbGxTaWRlV3JhcFhwYWQ7XG5cdHBhZGRpbmctdG9wOiAxMXB4O1xuXHRwYWRkaW5nLWJvdHRvbTogMjFweDtcbn1cbi5sb2dnZWRJbkJsb2NrX19uYW1lICB7XG5cdG1hcmdpbjogMCAwIDdweDtcblx0Y29sb3I6ICNmZmY7XG5cdGZvbnQtc2l6ZTogMjZweDtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcbn1cbi5sb2dnZWRJbkJsb2NrX19tZW51ICB7XG5cdFxufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gcGFydCBvZiBsb2dnZWQgaW4gcHJvZmlsZSB0aGF0J3MganVzdCB0aGUgbWVudVxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1x0XG4ubG9nZ2VkSW5NZW51ICB7XG5cdFxufVxuLmxvZ2dlZEluTWVudV9fZHJvcERvd24gIHtcblx0XG59XG4ubG9nZ2VkSW5NZW51X190cmlnZ2VyICB7XG5cdEBpbmNsdWRlIGZsZXgtcm93LWNlbnRlcigpO1xuXHRjdXJzb3I6IGRlZmF1bHQ7XG5cbn1cbi5sb2dnZWRJbk1lbnVfX3RyaWdnZXJfX2ltZyAge1x0XG5cdGltZyAge1xuXHRcdHdpZHRoOiAzMnB4O1xuXHRcdGhlaWdodDogMzJweDtcblx0XHRib3JkZXItcmFkaXVzOiA1MCU7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdH1cbn1cbi5sb2dnZWRJbk1lbnVfX3RyaWdnZXJfX25hbWUgIHtcblx0Y29sb3I6ICNmZmY7XG5cdHBhZGRpbmctbGVmdDogMTBweDtcdFxuXHRmb250LXdlaWdodDogNjAwO1xuXHRmb250LXNpemU6IDE0cHg7XG59XG4ubG9nZ2VkSW5NZW51X190cmlnZ2VyX19pY29uICB7XHRcblx0ZGlzcGxheTogYmxvY2s7XG5cdGNvbG9yOiAjZmZmO1xuXHRmb250LXNpemU6IDZweDtcblx0cGFkZGluZzogNnB4IDAgMCA1cHg7XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiBzaWRiZSBzZWN0aW9uXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHRcbi5zaWRlQmFyU2VjdGlvbiAge1xuXHRAaW5jbHVkZSBzY3JvbGxTaWRlV3JhcFhwYWQ7XG5cdEBpbmNsdWRlIHlwYWQoMjBweCk7XG5cdGNvbG9yOiAjZmZmO1xufVxuLnNpZGVCYXJTZWN0aW9uLS1kYXJrICB7XG5cdGJhY2tncm91bmQ6ICRzY3JvbGxTaWRlV3JhcF9fc2lkZV9kYXJrQ1xufVxuLnNpZGVCYXJTZWN0aW9uX19jb250ZW50ICB7XG5cdFxufVxuLnNpZGVCYXJTZWN0aW9uX19oZWFkZXIgIHtcblx0QGluY2x1ZGUgcmVzcG9uZChtZC11cCkgIHtcblx0XHRtYXJnaW46IDAgMCAxNXB4O1xuXHR9XG5cdEBpbmNsdWRlIHJlc3BvbmQoc20pICB7XG5cdFx0d2lkdGg6IDExMHB4O1xuXHR9XG59XG4uc2lkZUJhclNlY3Rpb25fX2hlYWRlcl9fdGl0bGUgIHtcblx0Zm9udC1zaXplOiAyMHB4O1xuXHRmb250LXdlaWdodDogNTAwO1x0XG59XG5cbi5ibG9ja0NvbnRlbnQgIHtcblx0QGluY2x1ZGUgdHJpbUlubmVyTWFyZ2luO1xufVxuXG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gZmllbGQgcGlsbHNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cdFxuQG1peGluIG9wZW5GaWVsZF94cGFkKCRwYWQpICB7XG5cdD4gKiAge1xuXHRcdCY6Zmlyc3QtY2hpbGQgIHtcblx0XHRcdHBhZGRpbmctbGVmdDogJHBhZDtcblx0XHR9XG5cdFx0JjpsYXN0LWNoaWxkICB7XG5cdFx0XHRwYWRkaW5nLXJpZ2h0OiAkcGFkO1xuXHRcdH1cblx0fVxufVxuLm9wZW5GaWVsZCAge1xuXHRkaXNwbGF5OiBibG9jaztcblx0d2lkdGg6IDEwMCU7XG5cdGhlaWdodDogMzZweDtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRiYWNrZ3JvdW5kOiAjRjRGNEY0O1xuXHRmb250LXNpemU6IDE0cHg7XHRcblx0QGluY2x1ZGUgZmxleC1yb3c7XHRcblx0QGluY2x1ZGUgb3BlbkZpZWxkX3hwYWQoMTJweCk7XHRcblx0aW5wdXQgIHtcblx0XHRwYWRkaW5nOiA1cHggMDtcblx0fVxufVxuLm9wZW5GaWVsZFRhbGxfYnRuICB7XG5cdG1heC1oZWlnaHQ6ICRmbGV4Rm9ybUlucHV0X2g7XG5cdG1pbi1oZWlnaHQ6ICRmbGV4Rm9ybUlucHV0X2g7XG5cdGhlaWdodDogJGZsZXhGb3JtSW5wdXRfaDtcbn1cbi5vcGVuRmllbGQtLXJvdW5kZWQgIHtcblx0Ym9yZGVyLXJhZGl1czogMjBweDtcblx0QGluY2x1ZGUgb3BlbkZpZWxkX3hwYWQoMjBweCk7XG59XG5cbkBtaXhpbiBvcGVuRmllbGRfY29sb3IoJHBsYWNlaG9sZGVyLCAkYWN0aXZlKSAge1xuXHRpbnB1dCAge1xuXHRcdGNvbG9yOiAjNzU3ODdCO1xuXHRcdEBpbmNsdWRlIHBsYWNlaG9sZGVyICB7XG5cdFx0XHRjb2xvcjogI0FBQUJBRjtcblx0XHR9XG5cdH1cblx0Lm9wZW5GaWVsZFNlbGVjdF9fdHJpZ2dlciAge1xuXHRcdC50ZXh0ICB7XG5cdFx0XHRjb2xvcjogIzc1Nzg3Qjtcblx0XHRcdCYucGxhY2Vob2xkZXIgIHtcblx0XHRcdFx0Y29sb3I6ICNBQUFCQUY7XG5cdFx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbi5vcGVuRmllbGQtLWRhcmtlciAge1xuXHRAaW5jbHVkZSBvcGVuRmllbGRfY29sb3IoI0FBQUJBRiwgIzc1Nzg3Qik7XHRcbn1cbi5vcGVuRmllbGQtLXRhbGwgIHtcblx0aGVpZ2h0OiAkZmxleEZvcm1JbnB1dF9oO1xuXHQub3BlbkZpZWxkU2VsZWN0X190cmlnZ2VyIGkgIHtcblx0XHRmb250LXNpemU6IDhweDtcblx0XHRwYWRkaW5nLXRvcDogNHB4O1xuXHR9XG59XG5cbi5vcGVuRmllbGRTZWxlY3QgIHtcblx0QGluY2x1ZGUgZmxleC1yb3c7XG59XG4kZGFya0lucHV0UGxhY2Vob2xkZXJPcGFjaXR5OiAwLjM4O1xuLm9wZW5GaWVsZFNlbGVjdF9fdHJpZ2dlciAge1xuXHRAaW5jbHVkZSBmbGV4LXJvdy1jZW50ZXIoKTtcblx0QGluY2x1ZGUgZmxleCgxKTtcblx0LnRleHQgIHtcblx0XHRAaW5jbHVkZSBmbGV4KDEpO1xuXHRcdCYucGxhY2Vob2xkZXIgIHtcblx0XHRcdG9wYWNpdHk6ICRkYXJrSW5wdXRQbGFjZWhvbGRlck9wYWNpdHk7XG5cdFx0fVxuXHR9XG5cdGkgIHtcblx0XHRmb250LXNpemU6IDZweDtcblx0XHRwYWRkaW5nLWxlZnQ6IDE1cHg7XG5cdFx0b3BhY2l0eTogMC4yNjtcblx0fVx0XG59XG5cbi5vcGVuRmllbGRJbnB1dCAge1xuXHRAaW5jbHVkZSBmbGV4LXJvdy1jZW50ZXIoKTtcblx0PiAqICB7XG5cdFx0KyAqICB7XG5cdFx0XHRtYXJnaW4tbGVmdDogMTVweDtcblx0XHR9XG5cdH1cblx0aW5wdXQgIHtcblx0XHRtaW4td2lkdGg6IDA7XG5cdFx0QGluY2x1ZGUgZmxleCgxKTtcblx0XHRiYWNrZ3JvdW5kOm5vbmU7XG5cdFx0Ym9yZGVyOiAwO1xuXHRcdGZvbnQtc2l6ZTogaW5oZXJpdDtcdFx0XG5cdH1cblx0LnN1Ym1pdFdyYXAgIHtcdFx0XG5cdFx0b3BhY2l0eTogMC4zNjtcblx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdFx0QGluY2x1ZGUgZmxleC1hbGlnbi1zZWxmKHN0cmV0Y2gpO1xuXHRcdEBpbmNsdWRlIGZsZXgtcm93LWNlbnRlcigpO1xuXHRcdCY6aG92ZXIgIHtcblx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0fVxuXHR9XHRcblx0Lmljb24tc2VhcmNoICB7XG5cdFx0Zm9udC1zaXplOiAxNnB4O1xuXHR9XG59XG4ub3BlbkZpZWxkU2VsZWN0LS1kYXJrICB7XG5cdGJhY2tncm91bmQ6ICM1MTU5NkY7XHRcbn1cblxuLm9wZW5GaWVsZElucHV0LS1saWdodCAge1xuXHRiYWNrZ3JvdW5kOiAjZmZmO1xufVxuXG4ub3BlbkZpZWxkSW5wdXQtLWRhcmsgIHtcblx0YmFja2dyb3VuZDogIzQxNDk1Qztcblx0aW5wdXQgIHtcblx0XHRjb2xvcjogI2ZmZjtcblx0XHRAaW5jbHVkZSBwbGFjZWhvbGRlciAge1xuXHRcdFx0b3BhY2l0eTogJGRhcmtJbnB1dFBsYWNlaG9sZGVyT3BhY2l0eTtcblx0XHR9XHRcblx0fVxufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gZGFyayBzaWRlIGxpbmtzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHRcbi5kYXJrU2lkZUxpbmtzICB7XG5cdG1hcmdpbjogNTBweCAtMTBweDsgLy8gdGhlc2Ugc2hvdWxkIHRha2UgdXAgYSBiaXQgbW9yZSBvZiB0aGUgYXZhaWxhYmxlIHNwYWNlIGluIHRoZSBzaWRlYmFyIHNlY3Rpb25cblx0cGFkZGluZzogMDtcblx0bGlzdC1zdHlsZS10eXBlOiBub25lO1x0XHRcblx0PiBsaSAge1xuXHRcdCsgbGkgIHtcblx0XHRcdG1hcmdpbi10b3A6IDVweDtcblx0XHR9XG5cdH1cblx0YSAge1xuXHRcdEBpbmNsdWRlIGZsZXgtcm93LWNlbnRlcigpO1xuXHRcdGJhY2tncm91bmQ6ICM0MTQ5NUM7XG5cdFx0Y29sb3I6ICNmZmY7XG5cdFx0cGFkZGluZzogMTBweCAxN3B4O1xuXHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHRib3JkZXItbGVmdDogNXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuXHRcdCY6aG92ZXIgIHtcblx0XHRcdFxuXHRcdH1cblx0XHQmLmFjdGl2ZSAge1xuXHRcdFx0Ym9yZGVyLWxlZnQtY29sb3I6ICRibHVlO1xuXHRcdFx0YmFja2dyb3VuZDogIzUxNTk2Rjtcblx0XHRcdC5udW0gIHtcblx0XHRcdFx0Y29sb3I6ICNmZmY7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdC50ZXh0ICB7XG5cdFx0QGluY2x1ZGUgZmxleCgxKTtcblx0XHRmb250LXNpemU6IDE2cHg7XG5cdH1cblx0Lm51bSAge1xuXHRcdGNvbG9yOiAjNzA3Qzk3O1xuXHRcdGZvbnQtc2l6ZTogMTNweDtcblx0XHRmb250LXdlaWdodDogNzAwO1xuXHRcdHBhZGRpbmctbGVmdDogMTVweDtcblx0fVxufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gc2VjdGlvbiBIZWFkZXJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cdFxuLnBhZ2VTZWN0aW9uQmxvY2sgIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1x0XG5cdGJhY2tncm91bmQ6ICNmZmY7XHRcblx0QGluY2x1ZGUgYmxvY2tTaGFkb3c7XG5cdGJvcmRlci10b3A6IDVweCBzb2xpZCAkYmx1ZTtcbn1cbi5wYWdlU2VjdGlvbkJsb2NrX19oZWFkZXIgIHtcblx0cGFkZGluZzogMTBweCAxNXB4IDMwcHg7XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjRUVFRUVFO1xuXHRAaW5jbHVkZSBmbGV4LXJvdztcblx0QGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xuXHQ+ICogIHtcblx0XHQrICogIHtcblx0XHRcdHBhZGRpbmctbGVmdDogMTVweDtcblx0XHR9XG5cdH1cdFx0XG59XG4ucGFnZVNlY3Rpb25CbG9ja19wcmVIZWFkZXIgIHtcblx0bWFyZ2luOiAwIDAgMTBweDtcbn1cbi5hY3Rpb25zQmFyICB7XG5cdHBhZGRpbmc6IDhweCAxNXB4IDhweCA4cHg7XHRcbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IGJ1dHRvbiBhZGp1c3RtZW50c1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1x0XG5idXR0b24ucHJpbWFyeSAge1xuXHQmLnNtYWxsICB7XG5cdFx0Zm9udC1zaXplOiAxNXB4O1xuXHRcdHRleHQtdHJhbnNmb3JtOiBub25lO1xuXHRcdGZvbnQtd2VpZ2h0OiA0MDA7XG5cdFx0bGV0dGVyLXNwYWNpbmc6IDA7XG5cdFx0bWF4LWhlaWdodDogbm9uZTtcblx0XHRtaW4taGVpZ2h0OiAwO1xuXHRcdGhlaWdodDogNDFweDtcblx0XHRwYWRkaW5nOiAwIDE0cHg7XG5cdFx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHR9XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiBidG4gaWNvbnNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cdFxuLmJ0bkljb24gIHtcblx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRmb250LXNpemU6IDIwcHg7XG5cdCYuaWNvbi1hZGQtdGVhbSAge1xuXHRcdGZvbnQtc2l6ZTogMjBweDtcblx0fVxuXHQmLmljb24tYWRkLXBlcnNvbiAge1xuXHRcdGZvbnQtc2l6ZTogMjBweDtcblx0fVxuXHQmLmljb24tYWRkLXByYWN0aXRpb25lciAge1xuXHRcdGZvbnQtc2l6ZTogMjBweDtcblx0fVxufVxuLmJ0bkljb24tLWxlZnQgIHtcblx0cGFkZGluZy1yaWdodDogMTBweDtcbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IGljb25UZXh0TGlua1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1x0XG4uaWNvblRleHRMaW5rICB7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdGNvbG9yOiAkYmx1ZTtcblx0Zm9udC1zaXplOiAxNHB4O1xuXHRmb250LXdlaWdodDogNTAwO1x0XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0aSAge1xuXHRcdHBhZGRpbmctcmlnaHQ6IDVweDtcblx0fVxufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gcGFnZSBzZWN0aW9uc1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1x0XG4ucGFnZVNlY3Rpb24gIHtcblx0KyAucGFnZVNlY3Rpb24gIHtcblx0XHRtYXJnaW4tdG9wOiAzMHB4O1xuXHR9XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IGZpbHRlcnMgYmFyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHRcblxuLnRhYmxlRmlsdGVyc1dyYXAgIHtcblx0QGluY2x1ZGUgZmxleC1yb3coKTtcblx0QGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LWVuZCk7XG5cdG1hcmdpbjogMCAwIDEwcHg7XG59XG4udGFibGVGaWx0ZXJzV3JhcF9fbWFpbiAge1xuXHRAaW5jbHVkZSBmbGV4KDEpO1xufVxuLnRhYmxlRmlsdGVyc1dyYXBfX3NpZGUgIHtcblx0cGFkZGluZy1sZWZ0OiAxNXB4O1xuXHR3aWR0aDogMjUlO1xuXHRtaW4td2lkdGg6IDE4MHB4O1x0XG59XG5cbi5wYWdpbmF0aW9uSW5mbyAge1xuXHRmb250LXNpemU6IDEzcHg7XG5cdGNvbG9yOiAjNzU3ODdCO1xufVxuXG5cblxuLmNvbXBhY3RQYWdpbmF0aW9uICB7XG5cdEBpbmNsdWRlIGZsZXgtcm93KCk7XG5cdD4gZGl2ICB7XHRcdFxuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHR2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuXHRcdHdpZHRoOiAzMXB4O1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRiYWNrZ3JvdW5kOiAkYmx1ZTtcdFxuXHRcdGJvcmRlci1yYWRpdXM6IDRweDtcblx0XHRvcGFjaXR5OiAwLjQ7XHRcdFx0XHRcblx0XHQrICogIHtcblx0XHRcdG1hcmdpbi1sZWZ0OiAxcHg7XG5cdFx0fVx0XHRcblx0XHQmOmhvdmVyICB7XG5cdFx0XHRvcGFjaXR5OiAxO1xuXHRcdH1cblx0XHQmOmZpcnN0LWNoaWxkICB7XG5cdFx0XHRib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcblx0XHRcdGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuXHRcdH1cdFxuXHRcdCY6bGFzdC1jaGlsZCAge1xuXHRcdFx0Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcblx0XHRcdGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG5cdFx0fVx0XG5cdH1cblx0aSAge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHR0b3A6IC0xcHg7XG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdGNvbG9yOiAjZmZmO1xuXHRcdGZvbnQtc2l6ZTogMjJweDtcdFxuXHRcdGxpbmUtaGVpZ2h0OiAyOHB4O1x0XG5cdFx0dmVydGljYWwtYWxpZ246IHRvcDtcblx0fVxufVxuXG5cbi5kcm9wZG93bi13cmFwcGVyLmRyb3Bkb3duLXdyYXBwZXItLWlubGluZSAge1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHRcblx0LnRyaWdnZXIgIHtcblx0XHRib3JkZXI6IDA7XG5cdFx0bGluZS1oZWlnaHQ6IGluaGVyaXQ7XG5cdFx0Lmljb24tY2FyZXQtZHJvcGRvd24gIHtcblx0XHRcdHBhZGRpbmctbGVmdDogNHB4O1xuXHRcdFx0cGFkZGluZy1yaWdodDogNHB4O1x0XG5cdFx0fVxuXHR9XG5cdD4gLnN1Ym1lbnUtd3JhcHBlciAge1xuXHRcdD4gLnN1Ym1lbnUtY29udGVudCAge1xuXHRcdFx0PiAuc3VibWVudSAge1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiAjZmZmO1xuXHRcdFx0XHRsaSAge1xuXHRcdFx0XHRcdG1pbi13aWR0aDogMDtcblx0XHRcdFx0XHRwYWRkaW5nOiA1cHg7XG5cdFx0XHRcdFx0PiBzcGFuID4gc3BhbiAge1xuXHRcdFx0XHRcdFx0cGFkZGluZy1yaWdodDogMDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuLmljb24tLWZsaXAgIHtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRAaW5jbHVkZSB0cmFuc2Zvcm0ocm90YXRlKDE4MGRlZykpO1xufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gc29ydCBJY29uXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHRcbi5zb3J0ZWRUYWJsZUhlYWRlciAge1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdCYuc29ydGVkLCBcblx0Jjpob3ZlciAge1xuXHRcdGJhY2tncm91bmQ6ICNGN0Y3Rjc7XG5cdH1cbn1cbiRzb3J0SWNvbldyYXBfY19kZWZhdWx0OiAjRDhEOEQ4O1xuJHNvcnRJY29uV3JhcF9jX2FjdGl2ZTogIzc4N0I3RTtcbi5zb3J0SWNvbldyYXAgIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1x0XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcblx0aGVpZ2h0OiAxNnB4O1xuXHR3aWR0aDogOXB4O1xuXHRtYXJnaW4tbGVmdDogM3B4O1xuXHQmOmJlZm9yZSwgJjphZnRlciAge1xuXHRcdGhlaWdodDogMDtcblx0XHR3aWR0aDogMDtcblx0XHRjb250ZW50OiBcIiBcIjtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0bGVmdDogMDtcblx0XHRib3JkZXItc3R5bGU6IHNvbGlkO1xuXHRcdGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdFx0Ym9yZGVyLXRvcC13aWR0aDogNnB4O1xuXHRcdGJvcmRlci1ib3R0b20td2lkdGg6IDZweDtcblx0XHRib3JkZXItbGVmdC13aWR0aDogNHB4O1xuXHRcdGJvcmRlci1yaWdodC13aWR0aDogNHB4O1xuXHR9XG5cdCY6YmVmb3JlICB7XG5cdFx0Ym9yZGVyLWJvdHRvbS1jb2xvcjogJHNvcnRJY29uV3JhcF9jX2RlZmF1bHQ7XG5cdFx0dG9wOiAtNXB4O1xuXHR9XG5cdCY6YWZ0ZXIgIHtcblx0XHRib3JkZXItdG9wLWNvbG9yOiAkc29ydEljb25XcmFwX2NfZGVmYXVsdDtcblx0XHRib3R0b206IC01cHg7XG5cdH1cblx0LnNvcnRlZFRhYmxlSGVhZGVyLS1kZXNjICYgIHtcblx0XHQmOmJlZm9yZSAge1xuXHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHR9XHRcblx0XHQmOmFmdGVyICB7XG5cdFx0XHRib3JkZXItdG9wLWNvbG9yOiAkc29ydEljb25XcmFwX2NfYWN0aXZlO1xuXHRcdH1cdFxuXHR9XG5cdC5zb3J0ZWRUYWJsZUhlYWRlci0tYXNjICYgIHtcblx0XHQmOmJlZm9yZSAge1xuXHRcdFx0Ym9yZGVyLWJvdHRvbS1jb2xvcjogJHNvcnRJY29uV3JhcF9jX2FjdGl2ZTtcblx0XHR9XG5cdFx0JjphZnRlciAge1xuXHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHR9XHRcdFxuXHR9XHRcbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gYWN0aW9uIGljb25cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cdFxuXG4uYWN0aW9uSWNvbiAge1xuXHRmb250LXNpemU6IDE0MCU7XG5cdGNvbG9yOiAkYmx1ZTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHQmLmljb24tbGV0dGVyICB7XG5cdFx0Zm9udC1zaXplOiAxMDAlO1x0XHRcblx0fVxuXHQmLmljb24tbGF1bmNoICB7XG5cdFx0Zm9udC1zaXplOiAxOTIlO1xuXHR9XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiBpY29uQWN0aXZlQ2hlY2tcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cdFxuLmljb25BY3RpdmVDaGVjayAge1xuXHRmb250LXNpemU6IDExMCU7XG5cdGNvbG9yOiAjREJEQkRCO1xufVxuLmljb25BY3RpdmVDaGVjay0tYWN0aXZlICB7XG5cdGNvbG9yOiAkZ3JlZW47XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiBpbmxpbmUgcGVyc29uIGJhZGdlXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHRcbi5pbmxpbmVQZXJzb25CYWRnZSAge1xuXHRmb250LXNpemU6IDEwMCU7XG5cdHBhZGRpbmctbGVmdDogMXB4O1x0XG59XG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gYWx0IHRhYmxlXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHRcbkBtaXhpbiBhbHRUYWJsZVhwYWQoJHBhZCkgIHtcdFxuXHQuYWx0VGFibGUgIHtcblx0XHR0ciAge1x0XHRcdFxuXHRcdFx0PiAqICB7XG5cdFx0XHRcdEBpbmNsdWRlIHhwYWQoJHBhZC8yKTtcblx0XHRcdFx0JjpmaXJzdC1jaGlsZCAge1xuXHRcdFx0XHRcdHBhZGRpbmctbGVmdDogJHBhZDtcblx0XHRcdFx0fVxuXHRcdFx0XHQmOmxhc3QtY2hpbGQgIHtcblx0XHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiAkcGFkO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdC5hbHRUYWJsZV9fcm93ICB7XG5cdFx0QGluY2x1ZGUgeHBhZCgkcGFkKTtcblx0fVx0XG59XG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gYWx0IHRhYmxlIHggcGFkZGluZ1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1x0XG5cbkBpbmNsdWRlIHJlc3BvbmQobGcpICB7XG5cdEBpbmNsdWRlIGFsdFRhYmxlWHBhZCgyMHB4KTtcdFxufVx0XG5AaW5jbHVkZSByZXNwb25kKG1kKSAge1xuXHRAaW5jbHVkZSBhbHRUYWJsZVhwYWQoOHB4KTtcbn0gXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiBhbHQgdGFibGVcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cdFxuLmFsdFRhYmxlX19pbm5lcldyYXAgIHtcblx0Y29sb3I6ICM3NTc4N0I7XG5cdGZvbnQtc2l6ZTogMTNweDtcblx0YmFja2dyb3VuZDogI2ZmZjtcblx0QGluY2x1ZGUgYmxvY2tTaGFkb3c7XG5cdEBpbmNsdWRlIHJlc3BvbmQobWQpICB7XG5cdFx0Zm9udC1zaXplOiAxMnB4O1xuXHR9ICBcbn1cblxuLmFsdFRhYmxlICB7XHRcdCBcblx0dGFibGUgIHtcblx0XHRib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdGZvbnQtc2l6ZTogaW5oZXJpdDtcblx0fVxuXHR0ciAge1xuXHRcdD4gKiAge1xuXHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcdFx0XHRcdFxuXHRcdFx0JjpmaXJzdC1jaGlsZCAge1xuXHRcdFx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHRcdFx0fVxuXHRcdH1cblx0XHR0aCAge1xuXHRcdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNDRkNGQ0Y7XG5cdFx0XHRmb250LXdlaWdodDogNjAwO1xuXHRcdFx0QGluY2x1ZGUgeXBhZCgxNHB4KTtcblx0XHR9XG5cdFx0dGQgIHtcblx0XHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjRUVFRUVFO1xuXHRcdFx0QGluY2x1ZGUgeXBhZCgxMnB4KTtcdFxuXHRcdH1cblx0fVx0XG59XG5cbi5hbHRUYWJsZV9fc2ltcGxlSGVhZGVyICB7XG5cdG1hcmdpbjogMCAwIDE1cHg7XG5cdGNvbG9yOiAjNzU3ODdCO1xuXHRsZXR0ZXItc3BhY2luZzogMXB4O1xuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRmb250LXNpemU6IDEzcHg7XHRcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG59XG4uYWx0VGFibGVfX2Zvb3RlckJhciAge1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdEBpbmNsdWRlIHlwYWQoMTBweCk7XG59XG4uYnRuICB7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4uc2hvcnRXaWRlQnRuICB7XG5cdG1pbi13aWR0aDogMTY3cHg7XG5cdGxpbmUtaGVpZ2h0OiAyNHB4O1xuXHRib3JkZXI6IDFweCBzb2xpZCAkYmx1ZTtcblx0cGFkZGluZzogMCAxNXB4O1xuXHRmb250LXdlaWdodDogNTAwO1xuXHRmb250LXNpemU6IDEzcHg7XG5cdGNvbG9yOiAkYmx1ZTtcblx0Ym9yZGVyLXJhZGl1czogM3B4O1xufVxuXG4udGQtLW5hbWUgIHtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gc2l0ZSBoZWFkZXIgYmFyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHRcbi5zaXRlSGVhZGVyQmFyICB7XG5cdFxufVxuXG4uc2l0ZUhlYWRlckJhcl9fbG9nb0dyb3VwICB7XG5cdEBpbmNsdWRlIGZsZXgtcm93O1xuXHRAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKHN0cmV0Y2gpO1xuXHQ+IGRpdiAge1xuXHRcdEBpbmNsdWRlIGZsZXgtcm93O1xuXHRcdEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcblx0XHRwYWRkaW5nOiAxNXB4IDIwcHg7XG5cdFx0KyBkaXYgIHtcblx0XHRcdGJvcmRlci1sZWZ0OiAxcHggc29saWQgI0M4QzlDOTtcblx0XHR9XG5cdH1cbn1cblxuLnNpdGVIZWFkZXJCYXJfX2FjdGlvbnMgIHtcblx0cGFkZGluZy1yaWdodDogMjBweDtcblx0QGluY2x1ZGUgZmxleC1yb3c7XG5cdEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IGxvZ29zIFxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1x0XG4ubG9nby0tZnVzU21hbGwgIHtcblx0d2lkdGg6IDExOXB4O1xufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gIHRleHQgbGlua1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1x0XG4udGV4dExpbmsgIHtcblx0Y29sb3I6ICRibHVlO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGZvbnQtc2l6ZTogMTNweDtcdFxufVxuLnRleHRMaW5rLS1idW1wICB7XG5cdGZvbnQtc2l6ZTogMThweDtcbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IGJhY2sgYnRuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHRcblxuLmJhY2tCdG4gIHtcblx0QGluY2x1ZGUgZmxleC1yb3c7XG5cdEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcblx0QGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcblx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcblx0d2lkdGg6IDQ1cHg7XG5cdGhlaWdodDogMzlweDtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRiYWNrZ3JvdW5kOiAkYmx1ZTtcblx0Y29sb3I6ICNmZmY7XG5cdGZvbnQtc2l6ZTogMTVweDtcblx0Ym9yZGVyLXJhZGl1czogM3B4O1xuXHRjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiBmbGV4IGZvcm1cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cdFxuJGZsZXhGb3JtX2hyOiAjRUZFRkYwO1xuLmZsZXhGb3JtICB7XG5cdGZpZWxkc2V0ICB7XG5cdFx0Ym9yZGVyOiAwO1xuXHRcdG1hcmdpbjogMDtcblx0XHRwYWRkaW5nOiAkZmxleEZvcm1fcGFkIDA7XG5cdFx0KyBmaWVsZHNldCAge1xuXHRcdFx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkICRmbGV4Rm9ybV9ocjtcblx0XHR9XG5cdH1cbn1cbi5mbGV4Rm9ybUZvb3RlciAge1xuXHRib3JkZXItdG9wOiAxcHggc29saWQgJGZsZXhGb3JtX2hyO1xuXHRwYWRkaW5nOiAyMHB4ICRmbGV4Rm9ybV9wYWQ7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmZsZXhGb3JtUm93ICB7XG5cdEBpbmNsdWRlIGZsZXgtcm93KCk7XG5cdEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcblx0cGFkZGluZzogMCAkZmxleEZvcm1fcGFkO1xuXHRtaW4taGVpZ2h0OiAkZmxleEZvcm1JbnB1dF9oO1xuXHQrIC5mbGV4Rm9ybVJvdyAge1xuXHRcdG1hcmdpbi10b3A6ICRmbGV4Rm9ybV9wYWQ7XG5cdH1cbn1cbi5mbGV4Rm9ybVJvdy0tbGFyZ2VTZWN0aW9uICB7XG5cdEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoZmxleC1zdGFydCk7XG5cdEBpbmNsdWRlIHlwYWQoMTJweCk7XHRcblx0LmZsZXhGb3JtUm93X19sYWJlbENvbCAge1xuXHRcdHBhZGRpbmctdG9wOiAxMnB4O1xuXHR9XG59XG5cblxuLmZsZXhGb3JtUm93X19sYWJlbENvbCAge1xuXHRtaW4taGVpZ2h0OiAxcHg7XG5cdHdpZHRoOiAxODJweDtcblx0dGV4dC1hbGlnbjogcmlnaHQ7XG5cdGZvbnQtc2l6ZTogMTNweDtcblx0Y29sb3I6ICM2QzZENkM7XG5cdHBhZGRpbmctcmlnaHQ6IDI3cHg7XG59XG4uZmxleEZvcm1Sb3dfX2ZpZWxkc0NvbCAge1xuXHRAaW5jbHVkZSBmbGV4KDEpO1xufVxuXG4uZmllbGRzUm93ICB7XG5cdEBpbmNsdWRlIGZsZXgtcm93O1xuXHRAaW5jbHVkZSBncmlkeGdhcCgkZmxleEZvcm1fcGFkLzIpO1xufVxuLmZpZWxkc1Jvdy0tY29tcHJlc3NlZCAge1xuXHRtYXgtd2lkdGg6IDUwMHB4O1xufVxuLmZpZWxkc1Jvdy0tdHdvQ29sICB7XG5cdD4gKiAge1xuXHRcdHdpZHRoOiA1MCU7XG5cdH1cbn1cbi5maWVsZHNSb3ctLXRocmVlQ29sICB7XG5cdD4gKiAge1xuXHRcdHdpZHRoOiAzMy4zMyU7XG5cdH1cbn1cbi5maWVsZHNSb3ctLWZvdXJDb2wgIHtcblx0PiAqICB7XG5cdFx0d2lkdGg6IDI1JTtcblx0fVxufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gaWNvbiBsYWJlbFxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1x0XG4uaWNvbkxhYmVsICB7XG5cdEBpbmNsdWRlIGZsZXgtcm93O1xuXHRAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG5cdGkgIHtcblx0XHRmb250LXNpemU6IDE4cHg7XG5cdFx0Y29sb3I6ICNBQzlFQTU7XG5cdH1cblx0c3BhbiAge1xuXHRcdEBpbmNsdWRlIGZsZXgoMSk7XG5cdFx0cGFkZGluZy1sZWZ0OiAxNXB4O1xuXHR9XG59XG5cbi51cGxvYWRCbG9jayAge1xuXHRtYXgtd2lkdGg6IDM5MHB4O1xuXHRiYWNrZ3JvdW5kOiAjRjVGNUY1O1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdHBhZGRpbmc6IDIwcHggMTVweCAyMHB4IDIwcHg7XG59XG5cbi5pbnB1dElubmVyTGFiZWwgIHtcblx0Y29sb3I6ICNBQUFCQUY7XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiBjb2xsYXBzZWQgcmV1c2FibGUgZWxlbWVudHMgXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHRcbi5jb2xsYXBzZWRfX2RlZmF1bHRFbGVtZW50ICB7XG5cdGRpc3BsYXk6IG5vbmU7XG5cdC5jb2xsYXBzZWQgJiAge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHR9XG59XG5cbi5jb2xsYXBzZWRfX2FsdEVsZW1lbnQgIHtcblx0LmNvbGxhcHNlZCAmICB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gdG9nZ2xlckJhclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1x0XG4udG9nZ2xlckJhciAge1xuXHRwYWRkaW5nOiAxMnB4IDE3cHg7XG5cdGJhY2tncm91bmQ6ICNGNEY0RjQ7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0KyAudG9nZ2xlckJhciAge1xuXHRcdG1hcmdpbi10b3A6IDhweDtcblx0fVxuXHQmLmNvbGxhcHNlZCAge1xuXHRcdC50b2dnbGVyQmFyX19jb250ZW50ICB7XG5cdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdH1cblx0fVxufVxuXG4udG9nZ2xlckJhcl9fdHJpZ2dlciAge1xuXHRAaW5jbHVkZSBmbGV4LXJvdztcblx0QGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1x0XG59XG4udG9nZ2xlckJhcl9fdHJpZ2dlcl9fYWxsVG9nZ2xlSW5wdXQgIHtcblx0QGluY2x1ZGUgZmxleCgxKTtcbn1cbi50b2dnbGVyQmFyX190cmlnZ2VyX19pY29uICB7XG5cdGNvbG9yOiAkYmx1ZTtcblx0Zm9udC1zaXplOiAxMXB4O1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHBhZGRpbmc6IDVweDtcbn1cblxuLnRvZ2dsZXJCYXJfX2NvbnRlbnQgIHtcblx0cGFkZGluZzogMjRweCAwIDA7XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiBpbnB1dCBvcHRpb25zIHRyZWVcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cdFxuLmlucHV0T3B0aW9uc1RyZWUgIHtcblx0bGlzdC1zdHlsZTogbm9uZTtcblx0bWFyZ2luOiAwO1xuXHRwYWRkaW5nOiAwO1x0XG5cdHVsICB7XG5cdFx0bGlzdC1zdHlsZTogbm9uZTtcblx0XHRtYXJnaW46IDAgMCAwIDMwcHg7XG5cdFx0cGFkZGluZzogMDtcblx0fVxuXHRsaSArIGxpLCBcblx0bGFiZWwgKyB1bCB7XHRcdFxuXHRcdG1hcmdpbi10b3A6IDhweDtcblx0fVxuXHQ+IGxpICB7XG5cdFx0PiBsYWJlbCBzcGFuIHtcblx0XHRcdGZvbnQtd2VpZ2h0OiA3MDA7XG5cdFx0fVxuXHRcdD4gdWwgIHtcblx0XHRcdG1hcmdpbi1ib3R0b206IDI0cHg7XG5cdFx0XHQ+IGxpICB7XG5cdFx0XHRcdD4gdWwgIHtcblx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiAxOHB4O1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbi5jb2x1bW5zTGlzdCAge1xuXHRsaXN0LXN0eWxlOiBub25lO1x0XG5cdG1hcmdpbjogMzBweCAwO1xuXHRwYWRkaW5nOiAwO1xuXHQ+IGxpICB7XG5cdFx0bWFyZ2luLWJvdHRvbTogMTFweDtcblx0fVxufVxuXG4uY29sdW1uc0xpc3QtLTQgIHtcblx0QGluY2x1ZGUgY29sdW1uLWNvdW50KDQpO1xufVxuXG4uY2xvc2FibGVCdXR0b24gIHtcblx0QGluY2x1ZGUgZmxleC1yb3c7XG5cdEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcblx0YmFja2dyb3VuZDogI0U5RjBGMjtcblx0Ym9yZGVyLXJhZGl1czogNXB4O1xuXHRwYWRkaW5nOiA4cHggMTZweDtcblx0Y29sb3I6ICM3NTc4N0I7XG5cdHNwYW4gIHtcblx0XHR3aGl0ZS1zcGFjZTogbm93cmFwO1x0XHRcblx0XHRmb250LXNpemU6IDEycHg7XHRcdFxuXHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0bGV0dGVyLXNwYWNpbmc6IDAuOXB4O1xuXHR9XG5cdGkgIHtcblx0XHRtYXJnaW4tbGVmdDogN3B4O1xuXHRcdHBhZGRpbmc6IDNweCAwO1xuXHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHRmb250LXNpemU6IDE4cHg7XHRcdFxuXHR9XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiB1bml2ZXJzYWwgcmFkaW8vY2hlY2tib3ggdGV4dCBzdHlsZVxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1x0XG5sYWJlbC5jaGVja2JveC1pbnB1dCwgXG5sYWJlbC5yYWRpby1pbnB1dCAge1xuXHRzcGFuICB7XG5cdFx0Zm9udC1zaXplOiAxM3B4O1xuXHRcdGNvbG9yOiAjNzU3NzdBO1xuXHR9XHRcbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IHJlc3BvbnNpdmUgc2hvdyBoZWxwZXIgY2xhc3Nlc1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1x0XG5cbi5yZXNwb25zaXZlU2hvdyAge1xuXHRkaXNwbGF5OiBub25lO1x0XG59XG4ucmVzcG9uc2l2ZVNob3ctLW1kVXAgIHtcblx0QGluY2x1ZGUgcmVzcG9uZChtZC11cCkgIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0fVxufVxuLnJlc3BvbnNpdmVTaG93LS1zbURvd24gIHtcblx0QGluY2x1ZGUgcmVzcG9uZChzbSkgIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0fVxufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiBpY29uIGNvbCBjZWxsXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHRcbi5pY29uQ29sQ2VsbCAge1xuXHR3aWR0aDogMjBweDtcblx0Lmljb24tZWRpdCAge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHR0b3A6IC0ycHg7XG5cdH1cbn1cbiIsIiRyZWQ6ICNjNDJhM2I7XG4kYmx1ZTogIzk3NjhFQjtcbiRkYXJrX2JsdWU6ICMxMTI2NGI7XG4kZ3JleTogIzgwODA4MDtcbiRncmVlbjogIzIwYjc2OTtcbiR3aGl0ZTogI2ZmZmZmZjtcbiR5ZWxsb3c6ICNkOGI2MmY7XG4kbGlnaHRfZ3JleTogI2NkY2RjZDtcbiRkYXJrX2dyZXk6ICM2ZDZlNzI7XG4kc2NvcmUtZ3JlZW46ICMwMEI5NkQ7XG4kc2NvcmUtcmVkOiAjRDE0MDRCO1xuJHNjb3JlLXllbGxvdzogI0Q3QkI0MztcblxuJGZvb3Rlcl9iYWNrZ3JvdW5kOiAjMTEyNjRiO1xuJGF0aGxldGVfaGVhZGVyX3ByaW1hcnk6ICNlMWUxZTE7XG4kYXRobGV0ZV9oZWFkZXJfc2Vjb25kYXJ5OiAjZTFlMWUxO1xuJGF0aGxldGVfbGlzdF9uYW1lOiAjZjdmN2Y3O1xuIiwiXG5AbWl4aW4gdHJhbnNmb3JtKCR0cmFuc2Zvcm1zKSB7XG4gICAgIC1tb3otdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgICAtby10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAgICAgLW1zLXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgICAgICB0cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xufVxuXG5AbWl4aW4gYXBwZWFyYW5jZSgkYXBwZWFyYW5jZS4uLikge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xuICAgICAtbW96LWFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xuICAgICAgICAgIGFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xufVxuXG5AbWl4aW4gYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cy4uLikge1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgICAtbW96LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xufVxuXG5AbWl4aW4gYm94LXNoYWRvdygkc2hhZG93Li4uKSB7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogJHNoYWRvdztcbiAgICAgLW1vei1ib3gtc2hhZG93OiAkc2hhZG93O1xuICAgICAgICAgIGJveC1zaGFkb3c6ICRzaGFkb3c7XG59XG5cbkBtaXhpbiBib3gtc2l6aW5nKCRzaXplLi4uKSB7XG4gIC13ZWJraXQtYm94LXNpemluZzogJHNpemU7XG4gICAgIC1tb3otYm94LXNpemluZzogJHNpemU7XG4gICAgICAgICAgYm94LXNpemluZzogJHNpemU7XG59XG5cbkBtaXhpbiB1c2VyLXNlbGVjdCgkc2VsZWN0Li4uKSB7XG4td2Via2l0LXRvdWNoLWNhbGxvdXQ6ICRzZWxlY3Q7XG4gICAgIC1tcy10b3VjaC1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgIC1tb3otdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgICAtbXMtdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgICAgICAgdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG59XG5cbkBtaXhpbiBmbGV4KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXg6ICR2YWx1ZTtcbiAgICAgIC1tcy1mbGV4OiAkdmFsdWU7XG4gICAgICAgICAgZmxleDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1hbGlnbi1jb250ZW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWFsaWduLWNvbnRlbnQ6ICR2YWx1ZTtcbiAgICAgICAgICBhbGlnbi1jb250ZW50OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWFsaWduLWl0ZW1zKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWFsaWduLWl0ZW1zOiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24taXRlbXM6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtYWxpZ24tc2VsZigkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1hbGlnbi1zZWxmOiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24tc2VsZjogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1kaXJlY3Rpb24oJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleC1kaXJlY3Rpb246ICR2YWx1ZTtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogJHZhbHVlO1xufVxuQG1peGluIGZsZXgtZGlyZWN0aW9uLWltcG9ydGFudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogJHZhbHVlIWltcG9ydGFudDtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogJHZhbHVlIWltcG9ydGFudDtcbn1cblxuQG1peGluIGZsZXgtZGlzcGxheSgpIHtcbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuQG1peGluIGZsZXgtanVzdGlmeS1jb250ZW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWp1c3RpZnktY29udGVudDogJHZhbHVlO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1vcmRlcigkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1vcmRlcjogJHZhbHVlO1xuICAgICAgICAgIG9yZGVyOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LXdyYXAoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleC13cmFwOiAkdmFsdWU7XG4gICAgICAgICAgZmxleC13cmFwOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbigpIHtcbiAgQGluY2x1ZGUgZmxleC1kaXNwbGF5KCk7XG4gIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKGNvbHVtbik7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbi1jZW50ZXIoKSB7XG4gIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbn1cblxuQG1peGluIGZsZXgtY29sdW1uLXN0YXJ0KCkge1xuICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGZsZXgtc3RhcnQpO1xufVxuXG5AbWl4aW4gZmxleC1yb3coKSB7XG4gIEBpbmNsdWRlIGZsZXgtZGlzcGxheSgpO1xuICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihyb3cpO1xufVxuXG5AbWl4aW4gZmxleC1yb3ctY2VudGVyKCkge1xuICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG59XG5cbkBtaXhpbiBmbGV4LXJvdy1zdGFydCgpIHtcbiAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LXN0YXJ0KTtcbn1cblxuQG1peGluIGxvY2staGVpZ2h0KCR2YWx1ZS4uLikge1xuICBtYXgtaGVpZ2h0OiAkdmFsdWU7XG4gIG1pbi1oZWlnaHQ6ICR2YWx1ZTtcbiAgaGVpZ2h0OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBsb2NrLXdpZHRoKCR2YWx1ZS4uLikge1xuICBtYXgtd2lkdGg6ICR2YWx1ZTtcbiAgbWluLXdpZHRoOiAkdmFsdWU7XG4gIHdpZHRoOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBsb2NrLXdpZHRoLWlubGluZS1vdmVycmlkZSgkdmFsdWUuLi4pIHtcbiAgbWF4LXdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbiAgbWluLXdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbiAgd2lkdGg6ICR2YWx1ZSAhaW1wb3J0YW50O1xufVxuXG5cbkBtaXhpbiB1bmxvY2std2lkdGggIHtcbiAgbWF4LXdpZHRoOiBub25lO1xuICBtaW4td2lkdGg6IDA7XG4gIHdpZHRoOiBhdXRvO1xufVxuQG1peGluIHVubG9jay1oZWlnaHQgIHtcbiAgbWF4LWhlaWdodDogbm9uZTtcbiAgbWluLWhlaWdodDogMDtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG5AbWl4aW4gY29sdW1uLWNvdW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWNvbHVtbi1jb3VudDogJHZhbHVlO1xuICAtbW96LWNvbHVtbi1jb3VudDogJHZhbHVlO1xuICBjb2x1bW4tY291bnQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGNvbHVtbi1nYXAoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtY29sdW1uLWdhcDogJHZhbHVlO1xuICAtbW96LWNvbHVtbi1nYXA6ICR2YWx1ZTtcbiAgY29sdW1uLWdhcDogJHZhbHVlO1xufVxuXG5AbWl4aW4gY29sdW1uLW5vLWJyZWFrKCkge1xuICAtd2Via2l0LWNvbHVtbi1icmVhay1pbnNpZGU6IGF2b2lkO1xuICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQtY29sdW1uO1xuICAtbW96LWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XG4gIC1vLWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XG4gIC1tcy1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xuICBicmVhay1pbnNpZGU6YXZvaWQtY29sdW1uO1xufVxuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IHJlc3BvbmRcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiRtaW5Db250ZW50V2lkdGg6IDEwMjRweDtcbiRtaW5FZGdlQ29udGVudFBhZGRpbmc6IDE1cHg7XG4kbGFyZ2VCcmVha3BvaW50OiAkbWluQ29udGVudFdpZHRoICsgJG1pbkVkZ2VDb250ZW50UGFkZGluZyoyO1xuJGNvbXByZXNzZWRDb250ZW50V2lkdGg6ICRtaW5Db250ZW50V2lkdGggLSAkbWluRWRnZUNvbnRlbnRQYWRkaW5nKjI7XG4vLyAkc21NaW46IDc2OHB4O1xuJHNtTWF4OiA5MDBweDtcbkBtaXhpbiByZXNwb25kKCRtZWRpYSkge1xuICBAaWYgJG1lZGlhID09IHdoaXRlYm9hcmQtZXhlcmNpc2Utc3RhY2tlZC1hdHRyaWJ1dGVzIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExOTBweCkgeyBAY29udGVudDsgfVxuICB9XG4gIEBpZiAkbWVkaWEgPT0gbGcge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGxhcmdlQnJlYWtwb2ludCkgeyBAY29udGVudDsgfVxuICB9XG4gIEBlbHNlIGlmICRtZWRpYSA9PSBtZCB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAjeyRsYXJnZUJyZWFrcG9pbnQgLSAxcHh9KSB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGVsc2UgaWYgJG1lZGlhID09IHNtIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICN7JHNtTWF4fSkgeyBAY29udGVudDsgfVxuICB9XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiB4cGFkIC8geXBhZFxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgXG5AbWl4aW4geHBhZCgkcGFkKSAge1xuICBwYWRkaW5nLWxlZnQ6ICRwYWQ7XG4gIHBhZGRpbmctcmlnaHQ6ICRwYWQ7XG59XG5AbWl4aW4geXBhZCgkcGFkKSAge1xuICBwYWRkaW5nLXRvcDogJHBhZDtcbiAgcGFkZGluZy1ib3R0b206ICRwYWQ7XG59XG5AbWl4aW4geG1hcmdpbigkZ2FwKSAge1xuICBtYXJnaW4tbGVmdDogJGdhcDtcbiAgbWFyZ2luLXJpZ2h0OiAkZ2FwO1xufVxuQG1peGluIHltYXJnaW4oJGdhcCkgIHtcbiAgbWFyZ2luLXRvcDogJGdhcDtcbiAgbWFyZ2luLWJvdHRvbTogJGdhcDtcbn1cblxuQG1peGluIGFic0NlbnRlckJhc2VfeSgkaCkgIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbWFyZ2luLXRvcDogJGgvLTI7XG59XG5cbkBtaXhpbiBhYnNDZW50ZXJCYXNlKCR3LCAkaDogJHcpICB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLXRvcDogJGgvLTI7XG4gIG1hcmdpbi1sZWZ0OiAkdy8tMjtcbn1cblxuQG1peGluIGFic0NlbnRlckljb24oJHcsICRoOiAkdykgIHtcbiAgQGluY2x1ZGUgYWJzQ2VudGVyQmFzZSgkdywgJGgpO1xuICBmb250LXNpemU6ICRoO1xufVxuQG1peGluIGFic0NlbnRlckljb25feSgkaCkgIHtcbiAgQGluY2x1ZGUgYWJzQ2VudGVyQmFzZV95KCRoKTtcbiAgZm9udC1zaXplOiAkaDtcbn1cblxuQG1peGluIGZsZXhJbmxpbmVPdmVycmlkZSAge1xuICAgIG1pbi13aWR0aDogMCAhaW1wb3J0YW50O1xuICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xuICAgIC13ZWJraXQtZmxleDogMSAhaW1wb3J0YW50O1xuICAgIC1tcy1mbGV4OiAxICFpbXBvcnRhbnQ7XG4gICAgZmxleDogMSAhaW1wb3J0YW50O1xufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIGFwcC1zcGVjaWZpYyBtaXhpbi92YXJzID4gdGFic1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5AbWl4aW4gbGFyZ2UtdGFicy1zdHlsZSAge1xuICBmb250LXNpemU6IDIwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBmb250LXdlaWdodDogNTAwO1xuICBAaW5jbHVkZSByZXNwb25kKG1kKSAge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgfVxufVxuJGxhcmdlLXRhYnMtc3BhY2luZzogNDBweDtcblxuQG1peGluIHRyaW1Jbm5lck1hcmdpbiAge1xuICA+ICogIHtcbiAgICAmOmZpcnN0LWNoaWxkICB7XG4gICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgICY6bGFzdC1jaGlsZCAge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiBwbGFjZWhvbGRlclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgXG5AbWl4aW4gcGxhY2Vob2xkZXIge1xuICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtAY29udGVudH1cbiAgJjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgICB7QGNvbnRlbnR9XG4gICY6Oi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAge0Bjb250ZW50fVxuICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciAgICAgIHtAY29udGVudH0gIFxufVxuXG5cbiIsIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIG5vdGU6ICB0aGlzIGlzIGFuIHVwZGF0ZWQgbWl4aW5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gICAgXG5cbkBtaXhpbiBldmVuLWNvbHMgIHtcbiAgQGluY2x1ZGUgZmxleC1yb3c7XG4gICAgJi5jb21wYWN0ICB7XG4gICAgICAgID4gKiAge1xuICAgICAgICAgICAgKyAqICB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgJi5zcGFjZWQtb3V0ICB7XG4gICAgICA+ICogIHtcbiAgICAgICAgICArICogIHtcbiAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDQ1cHg7XG4gICAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAmLmRlZmF1bHQtc3BhY2VkICB7XG4gICAgICA+ICogIHtcbiAgICAgICAgICArICogIHtcbiAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDMwcHg7XG4gICAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAmLmJvdHRvbS1hbGlnbiAge1xuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LWVuZCk7XG4gICAgfVxuICAgICYuZXZlbi1jb2xzLS1zdHJpcElubmVyTWFyZ2lucyAge1xuICAgICAgPiAqICB7XG4gICAgICAgID4gKiAge1xuICAgICAgICAgICY6Zmlyc3QtY2hpbGQgIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbiAgICAgICAgICB9XG4gICAgICAgICAgJjpsYXN0LWNoaWxkICB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgID4gKiAge1xuICAgICAgICBAaW5jbHVkZSBmbGV4KDEpO1xuICAgIH1cbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gbm90ZTogIGV2ZXJ5dGhpbmcgYmVsb3cgdGhpcyBpcyBuZXdcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gICBcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiB0cmlhbmdsZVxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgXG5AbWl4aW4gdHJpYW5nbGUoJHNpemUsICRjb2xvciwgJGRpcmVjdGlvbikge1xuICAkd2lkdGg6IG50aCgkc2l6ZSwgMSk7XG4gICRoZWlnaHQ6IG50aCgkc2l6ZSwgbGVuZ3RoKCRzaXplKSk7XG4gICRmb3JlZ3JvdW5kLWNvbG9yOiBudGgoJGNvbG9yLCAxKTtcbiAgJGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBoZWlnaHQ6IDA7XG4gIHdpZHRoOiAwO1xuXG4gIEBpZiAoJGRpcmVjdGlvbiA9PSB1cCkgb3IgKCRkaXJlY3Rpb24gPT0gZG93bikgb3IgKCRkaXJlY3Rpb24gPT0gcmlnaHQpIG9yICgkZGlyZWN0aW9uID09IGxlZnQpIHtcbiAgICAkd2lkdGg6ICR3aWR0aCAvIDI7XG4gICAgJGhlaWdodDogaWYobGVuZ3RoKCRzaXplKSA+IDEsICRoZWlnaHQsICRoZWlnaHQvMik7XG5cbiAgICBAaWYgJGRpcmVjdGlvbiA9PSB1cCB7XG4gICAgICBib3JkZXItYm90dG9tOiAkaGVpZ2h0IHNvbGlkICRmb3JlZ3JvdW5kLWNvbG9yO1xuICAgICAgYm9yZGVyLWxlZnQ6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgIGJvcmRlci1yaWdodDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSByaWdodCB7XG4gICAgICBib3JkZXItYm90dG9tOiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgICBib3JkZXItbGVmdDogJGhlaWdodCBzb2xpZCAkZm9yZWdyb3VuZC1jb2xvcjtcbiAgICAgIGJvcmRlci10b3A6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gZG93biB7XG4gICAgICBib3JkZXItbGVmdDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgYm9yZGVyLXJpZ2h0OiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgICBib3JkZXItdG9wOiAkaGVpZ2h0IHNvbGlkICRmb3JlZ3JvdW5kLWNvbG9yO1xuICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSBsZWZ0IHtcbiAgICAgIGJvcmRlci1ib3R0b206ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgIGJvcmRlci1yaWdodDogJGhlaWdodCBzb2xpZCAkZm9yZWdyb3VuZC1jb2xvcjtcbiAgICAgIGJvcmRlci10b3A6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICB9XG4gIH0gQGVsc2UgaWYgKCRkaXJlY3Rpb24gPT0gdXAtcmlnaHQpIG9yICgkZGlyZWN0aW9uID09IHVwLWxlZnQpIHtcbiAgICBib3JkZXItdG9wOiAkaGVpZ2h0IHNvbGlkICRmb3JlZ3JvdW5kLWNvbG9yO1xuXG4gICAgQGlmICRkaXJlY3Rpb24gPT0gdXAtcmlnaHQge1xuICAgICAgYm9yZGVyLWxlZnQ6ICAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IHVwLWxlZnQge1xuICAgICAgYm9yZGVyLXJpZ2h0OiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgfVxuICB9IEBlbHNlIGlmICgkZGlyZWN0aW9uID09IGRvd24tcmlnaHQpIG9yICgkZGlyZWN0aW9uID09IGRvd24tbGVmdCkge1xuICAgIGJvcmRlci1ib3R0b206ICRoZWlnaHQgc29saWQgJGZvcmVncm91bmQtY29sb3I7XG5cbiAgICBAaWYgJGRpcmVjdGlvbiA9PSBkb3duLXJpZ2h0IHtcbiAgICAgIGJvcmRlci1sZWZ0OiAgJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSBkb3duLWxlZnQge1xuICAgICAgYm9yZGVyLXJpZ2h0OiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgfVxuICB9IEBlbHNlIGlmICgkZGlyZWN0aW9uID09IGluc2V0LXVwKSB7XG4gICAgYm9yZGVyLWNvbG9yOiAkYmFja2dyb3VuZC1jb2xvciAkYmFja2dyb3VuZC1jb2xvciAkZm9yZWdyb3VuZC1jb2xvcjtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aDogJGhlaWdodCAkd2lkdGg7XG4gIH0gQGVsc2UgaWYgKCRkaXJlY3Rpb24gPT0gaW5zZXQtZG93bikge1xuICAgIGJvcmRlci1jb2xvcjogJGZvcmVncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3I7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItd2lkdGg6ICRoZWlnaHQgJHdpZHRoO1xuICB9IEBlbHNlIGlmICgkZGlyZWN0aW9uID09IGluc2V0LXJpZ2h0KSB7XG4gICAgYm9yZGVyLWNvbG9yOiAkYmFja2dyb3VuZC1jb2xvciAkYmFja2dyb3VuZC1jb2xvciAkYmFja2dyb3VuZC1jb2xvciAkZm9yZWdyb3VuZC1jb2xvcjtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aDogJHdpZHRoICRoZWlnaHQ7XG4gIH0gQGVsc2UgaWYgKCRkaXJlY3Rpb24gPT0gaW5zZXQtbGVmdCkge1xuICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQtY29sb3IgJGZvcmVncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3I7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItd2lkdGg6ICR3aWR0aCAkaGVpZ2h0O1xuICB9XG59XG5cblxuQG1peGluIGdyaWR4Z2FwKCRnYXApICB7XG4gICAgbWFyZ2luOiAwICRnYXAqLTE7XG4gICAgPiAqICB7XG4gICAgICAgIHBhZGRpbmc6IDAgJGdhcDtcbiAgICB9XG59XG5cblxuQG1peGluIGlubGluZS1ncmlkLWJhc2UgIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgPiAqICB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyAgICBcbiAgfVxufVxuQG1peGluIGlubGluZS1ncmlkLXgoJGdhcCkgIHtcbiAgQGluY2x1ZGUgeG1hcmdpbigkZ2FwKi0xKTtcbiAgPiAqICB7XG4gICAgQGluY2x1ZGUgeG1hcmdpbigkZ2FwKTtcbiAgfVxufVxuQG1peGluIGlubGluZS1ncmlkLXkoJGdhcCkgIHtcbiAgQGluY2x1ZGUgeW1hcmdpbigkZ2FwKi0xKTtcbiAgPiAqICB7XG4gICAgQGluY2x1ZGUgeW1hcmdpbigkZ2FwKTtcbiAgfVxufVxuXG5AbWl4aW4gaW5saW5lLWdyaWQteHkoJGdhcCkgIHtcbiAgbWFyZ2luOiAkZ2FwKi0xO1xuICA+ICogIHtcbiAgICBtYXJnaW46ICRnYXA7XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCJ2YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCJtaXhpbnNcIjtcbkBpbXBvcnQgXCJtaXhpbnMyXCI7IiwiJHJlZDogI2M0MmEzYjtcbiRibHVlOiAjOTc2OEVCO1xuJGRhcmtfYmx1ZTogIzExMjY0YjtcbiRncmV5OiAjODA4MDgwO1xuJGdyZWVuOiAjMjBiNzY5O1xuJHdoaXRlOiAjZmZmZmZmO1xuJHllbGxvdzogI2Q4YjYyZjtcbiRsaWdodF9ncmV5OiAjY2RjZGNkO1xuJGRhcmtfZ3JleTogIzZkNmU3MjtcbiRzY29yZS1ncmVlbjogIzAwQjk2RDtcbiRzY29yZS1yZWQ6ICNEMTQwNEI7XG4kc2NvcmUteWVsbG93OiAjRDdCQjQzO1xuXG4kZm9vdGVyX2JhY2tncm91bmQ6ICMxMTI2NGI7XG4kYXRobGV0ZV9oZWFkZXJfcHJpbWFyeTogI2UxZTFlMTtcbiRhdGhsZXRlX2hlYWRlcl9zZWNvbmRhcnk6ICNlMWUxZTE7XG4kYXRobGV0ZV9saXN0X25hbWU6ICNmN2Y3Zjc7XG4iLCJcbkBtaXhpbiB0cmFuc2Zvcm0oJHRyYW5zZm9ybXMpIHtcbiAgICAgLW1vei10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAgICAgIC1vLXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gICAgICAtbXMtdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgLXdlYmtpdC10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAgICAgICAgIHRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG59XG5cbkBtaXhpbiBhcHBlYXJhbmNlKCRhcHBlYXJhbmNlLi4uKSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogJGFwcGVhcmFuY2U7XG4gICAgIC1tb3otYXBwZWFyYW5jZTogJGFwcGVhcmFuY2U7XG4gICAgICAgICAgYXBwZWFyYW5jZTogJGFwcGVhcmFuY2U7XG59XG5cbkBtaXhpbiBib3JkZXItcmFkaXVzKCRib3JkZXItcmFkaXVzLi4uKSB7XG4gIC13ZWJraXQtYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gICAgIC1tb3otYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG59XG5cbkBtaXhpbiBib3gtc2hhZG93KCRzaGFkb3cuLi4pIHtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAkc2hhZG93O1xuICAgICAtbW96LWJveC1zaGFkb3c6ICRzaGFkb3c7XG4gICAgICAgICAgYm94LXNoYWRvdzogJHNoYWRvdztcbn1cblxuQG1peGluIGJveC1zaXppbmcoJHNpemUuLi4pIHtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiAkc2l6ZTtcbiAgICAgLW1vei1ib3gtc2l6aW5nOiAkc2l6ZTtcbiAgICAgICAgICBib3gtc2l6aW5nOiAkc2l6ZTtcbn1cblxuQG1peGluIHVzZXItc2VsZWN0KCRzZWxlY3QuLi4pIHtcbi13ZWJraXQtdG91Y2gtY2FsbG91dDogJHNlbGVjdDtcbiAgICAgLW1zLXRvdWNoLXNlbGVjdDogJHNlbGVjdDtcbiAgICAgLW1vei11c2VyLXNlbGVjdDogJHNlbGVjdDtcbiAgICAgIC1tcy11c2VyLXNlbGVjdDogJHNlbGVjdDtcbiAgICAgICAgICB1c2VyLXNlbGVjdDogJHNlbGVjdDtcbn1cblxuQG1peGluIGZsZXgoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleDogJHZhbHVlO1xuICAgICAgLW1zLWZsZXg6ICR2YWx1ZTtcbiAgICAgICAgICBmbGV4OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWFsaWduLWNvbnRlbnQoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtYWxpZ24tY29udGVudDogJHZhbHVlO1xuICAgICAgICAgIGFsaWduLWNvbnRlbnQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtYWxpZ24taXRlbXMoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtYWxpZ24taXRlbXM6ICR2YWx1ZTtcbiAgICAgICAgICBhbGlnbi1pdGVtczogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1hbGlnbi1zZWxmKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWFsaWduLXNlbGY6ICR2YWx1ZTtcbiAgICAgICAgICBhbGlnbi1zZWxmOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWRpcmVjdGlvbigkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogJHZhbHVlO1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiAkdmFsdWU7XG59XG5AbWl4aW4gZmxleC1kaXJlY3Rpb24taW1wb3J0YW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiAkdmFsdWUhaW1wb3J0YW50O1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiAkdmFsdWUhaW1wb3J0YW50O1xufVxuXG5AbWl4aW4gZmxleC1kaXNwbGF5KCkge1xuICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG5AbWl4aW4gZmxleC1qdXN0aWZ5LWNvbnRlbnQoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiAkdmFsdWU7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LW9yZGVyKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LW9yZGVyOiAkdmFsdWU7XG4gICAgICAgICAgb3JkZXI6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtd3JhcCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1mbGV4LXdyYXA6ICR2YWx1ZTtcbiAgICAgICAgICBmbGV4LXdyYXA6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtY29sdW1uKCkge1xuICBAaW5jbHVkZSBmbGV4LWRpc3BsYXkoKTtcbiAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24oY29sdW1uKTtcbn1cblxuQG1peGluIGZsZXgtY29sdW1uLWNlbnRlcigpIHtcbiAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xufVxuXG5AbWl4aW4gZmxleC1jb2x1bW4tc3RhcnQoKSB7XG4gIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoZmxleC1zdGFydCk7XG59XG5cbkBtaXhpbiBmbGV4LXJvdygpIHtcbiAgQGluY2x1ZGUgZmxleC1kaXNwbGF5KCk7XG4gIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKHJvdyk7XG59XG5cbkBtaXhpbiBmbGV4LXJvdy1jZW50ZXIoKSB7XG4gIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbn1cblxuQG1peGluIGZsZXgtcm93LXN0YXJ0KCkge1xuICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGZsZXgtc3RhcnQpO1xufVxuXG5AbWl4aW4gbG9jay1oZWlnaHQoJHZhbHVlLi4uKSB7XG4gIG1heC1oZWlnaHQ6ICR2YWx1ZTtcbiAgbWluLWhlaWdodDogJHZhbHVlO1xuICBoZWlnaHQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGxvY2std2lkdGgoJHZhbHVlLi4uKSB7XG4gIG1heC13aWR0aDogJHZhbHVlO1xuICBtaW4td2lkdGg6ICR2YWx1ZTtcbiAgd2lkdGg6ICR2YWx1ZTtcbn1cblxuQG1peGluIGxvY2std2lkdGgtaW5saW5lLW92ZXJyaWRlKCR2YWx1ZS4uLikge1xuICBtYXgtd2lkdGg6ICR2YWx1ZSAhaW1wb3J0YW50O1xuICBtaW4td2lkdGg6ICR2YWx1ZSAhaW1wb3J0YW50O1xuICB3aWR0aDogJHZhbHVlICFpbXBvcnRhbnQ7XG59XG5cblxuQG1peGluIHVubG9jay13aWR0aCAge1xuICBtYXgtd2lkdGg6IG5vbmU7XG4gIG1pbi13aWR0aDogMDtcbiAgd2lkdGg6IGF1dG87XG59XG5AbWl4aW4gdW5sb2NrLWhlaWdodCAge1xuICBtYXgtaGVpZ2h0OiBub25lO1xuICBtaW4taGVpZ2h0OiAwO1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbkBtaXhpbiBjb2x1bW4tY291bnQoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtY29sdW1uLWNvdW50OiAkdmFsdWU7XG4gIC1tb3otY29sdW1uLWNvdW50OiAkdmFsdWU7XG4gIGNvbHVtbi1jb3VudDogJHZhbHVlO1xufVxuXG5AbWl4aW4gY29sdW1uLWdhcCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1jb2x1bW4tZ2FwOiAkdmFsdWU7XG4gIC1tb3otY29sdW1uLWdhcDogJHZhbHVlO1xuICBjb2x1bW4tZ2FwOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBjb2x1bW4tbm8tYnJlYWsoKSB7XG4gIC13ZWJraXQtY29sdW1uLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZC1jb2x1bW47XG4gIC1tb3otY29sdW1uLWJyZWFrLWluc2lkZTphdm9pZDtcbiAgLW8tY29sdW1uLWJyZWFrLWluc2lkZTphdm9pZDtcbiAgLW1zLWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XG4gIGJyZWFrLWluc2lkZTphdm9pZC1jb2x1bW47XG59XG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gcmVzcG9uZFxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuJG1pbkNvbnRlbnRXaWR0aDogMTAyNHB4O1xuJG1pbkVkZ2VDb250ZW50UGFkZGluZzogMTVweDtcbiRsYXJnZUJyZWFrcG9pbnQ6ICRtaW5Db250ZW50V2lkdGggKyAkbWluRWRnZUNvbnRlbnRQYWRkaW5nKjI7XG4kY29tcHJlc3NlZENvbnRlbnRXaWR0aDogJG1pbkNvbnRlbnRXaWR0aCAtICRtaW5FZGdlQ29udGVudFBhZGRpbmcqMjtcbi8vICRzbU1pbjogNzY4cHg7XG4kc21NYXg6IDkwMHB4O1xuQG1peGluIHJlc3BvbmQoJG1lZGlhKSB7XG4gIEBpZiAkbWVkaWEgPT0gd2hpdGVib2FyZC1leGVyY2lzZS1zdGFja2VkLWF0dHJpYnV0ZXMge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTE5MHB4KSB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGlmICRtZWRpYSA9PSBsZyB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkbGFyZ2VCcmVha3BvaW50KSB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGVsc2UgaWYgJG1lZGlhID09IG1kIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICN7JGxhcmdlQnJlYWtwb2ludCAtIDFweH0pIHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAZWxzZSBpZiAkbWVkaWEgPT0gc20ge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogI3skc21NYXh9KSB7IEBjb250ZW50OyB9XG4gIH1cbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IHhwYWQgLyB5cGFkXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vICBcbkBtaXhpbiB4cGFkKCRwYWQpICB7XG4gIHBhZGRpbmctbGVmdDogJHBhZDtcbiAgcGFkZGluZy1yaWdodDogJHBhZDtcbn1cbkBtaXhpbiB5cGFkKCRwYWQpICB7XG4gIHBhZGRpbmctdG9wOiAkcGFkO1xuICBwYWRkaW5nLWJvdHRvbTogJHBhZDtcbn1cbkBtaXhpbiB4bWFyZ2luKCRnYXApICB7XG4gIG1hcmdpbi1sZWZ0OiAkZ2FwO1xuICBtYXJnaW4tcmlnaHQ6ICRnYXA7XG59XG5AbWl4aW4geW1hcmdpbigkZ2FwKSAge1xuICBtYXJnaW4tdG9wOiAkZ2FwO1xuICBtYXJnaW4tYm90dG9tOiAkZ2FwO1xufVxuXG5AbWl4aW4gYWJzQ2VudGVyQmFzZV95KCRoKSAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBtYXJnaW4tdG9wOiAkaC8tMjtcbn1cblxuQG1peGluIGFic0NlbnRlckJhc2UoJHcsICRoOiAkdykgIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICBtYXJnaW4tdG9wOiAkaC8tMjtcbiAgbWFyZ2luLWxlZnQ6ICR3Ly0yO1xufVxuXG5AbWl4aW4gYWJzQ2VudGVySWNvbigkdywgJGg6ICR3KSAge1xuICBAaW5jbHVkZSBhYnNDZW50ZXJCYXNlKCR3LCAkaCk7XG4gIGZvbnQtc2l6ZTogJGg7XG59XG5AbWl4aW4gYWJzQ2VudGVySWNvbl95KCRoKSAge1xuICBAaW5jbHVkZSBhYnNDZW50ZXJCYXNlX3koJGgpO1xuICBmb250LXNpemU6ICRoO1xufVxuXG5AbWl4aW4gZmxleElubGluZU92ZXJyaWRlICB7XG4gICAgbWluLXdpZHRoOiAwICFpbXBvcnRhbnQ7XG4gICAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7XG4gICAgLXdlYmtpdC1mbGV4OiAxICFpbXBvcnRhbnQ7XG4gICAgLW1zLWZsZXg6IDEgIWltcG9ydGFudDtcbiAgICBmbGV4OiAxICFpbXBvcnRhbnQ7XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gYXBwLXNwZWNpZmljIG1peGluL3ZhcnMgPiB0YWJzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbkBtaXhpbiBsYXJnZS10YWJzLXN0eWxlICB7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIEBpbmNsdWRlIHJlc3BvbmQobWQpICB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICB9XG59XG4kbGFyZ2UtdGFicy1zcGFjaW5nOiA0MHB4O1xuXG5AbWl4aW4gdHJpbUlubmVyTWFyZ2luICB7XG4gID4gKiAge1xuICAgICY6Zmlyc3QtY2hpbGQgIHtcbiAgICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbiAgICB9XG4gICAgJjpsYXN0LWNoaWxkICB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IHBsYWNlaG9sZGVyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vICBcbkBtaXhpbiBwbGFjZWhvbGRlciB7XG4gICY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge0Bjb250ZW50fVxuICAmOi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAgIHtAY29udGVudH1cbiAgJjo6LW1vei1wbGFjZWhvbGRlciAgICAgICAgICB7QGNvbnRlbnR9XG4gICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyICAgICAge0Bjb250ZW50fSAgXG59XG5cblxuIiwiLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gbm90ZTogIHRoaXMgaXMgYW4gdXBkYXRlZCBtaXhpblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgICBcblxuQG1peGluIGV2ZW4tY29scyAge1xuICBAaW5jbHVkZSBmbGV4LXJvdztcbiAgICAmLmNvbXBhY3QgIHtcbiAgICAgICAgPiAqICB7XG4gICAgICAgICAgICArICogIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAmLnNwYWNlZC1vdXQgIHtcbiAgICAgID4gKiAge1xuICAgICAgICAgICsgKiAge1xuICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogNDVweDtcbiAgICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgICYuZGVmYXVsdC1zcGFjZWQgIHtcbiAgICAgID4gKiAge1xuICAgICAgICAgICsgKiAge1xuICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMzBweDtcbiAgICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgICYuYm90dG9tLWFsaWduICB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGZsZXgtZW5kKTtcbiAgICB9XG4gICAgJi5ldmVuLWNvbHMtLXN0cmlwSW5uZXJNYXJnaW5zICB7XG4gICAgICA+ICogIHtcbiAgICAgICAgPiAqICB7XG4gICAgICAgICAgJjpmaXJzdC1jaGlsZCAge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuICAgICAgICAgIH1cbiAgICAgICAgICAmOmxhc3QtY2hpbGQgIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgPiAqICB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgoMSk7XG4gICAgfVxufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBub3RlOiAgZXZlcnl0aGluZyBiZWxvdyB0aGlzIGlzIG5ld1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgIFxuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IHRyaWFuZ2xlXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vICBcbkBtaXhpbiB0cmlhbmdsZSgkc2l6ZSwgJGNvbG9yLCAkZGlyZWN0aW9uKSB7XG4gICR3aWR0aDogbnRoKCRzaXplLCAxKTtcbiAgJGhlaWdodDogbnRoKCRzaXplLCBsZW5ndGgoJHNpemUpKTtcbiAgJGZvcmVncm91bmQtY29sb3I6IG50aCgkY29sb3IsIDEpO1xuICAkYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGhlaWdodDogMDtcbiAgd2lkdGg6IDA7XG5cbiAgQGlmICgkZGlyZWN0aW9uID09IHVwKSBvciAoJGRpcmVjdGlvbiA9PSBkb3duKSBvciAoJGRpcmVjdGlvbiA9PSByaWdodCkgb3IgKCRkaXJlY3Rpb24gPT0gbGVmdCkge1xuICAgICR3aWR0aDogJHdpZHRoIC8gMjtcbiAgICAkaGVpZ2h0OiBpZihsZW5ndGgoJHNpemUpID4gMSwgJGhlaWdodCwgJGhlaWdodC8yKTtcblxuICAgIEBpZiAkZGlyZWN0aW9uID09IHVwIHtcbiAgICAgIGJvcmRlci1ib3R0b206ICRoZWlnaHQgc29saWQgJGZvcmVncm91bmQtY29sb3I7XG4gICAgICBib3JkZXItbGVmdDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgYm9yZGVyLXJpZ2h0OiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IHJpZ2h0IHtcbiAgICAgIGJvcmRlci1ib3R0b206ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgIGJvcmRlci1sZWZ0OiAkaGVpZ2h0IHNvbGlkICRmb3JlZ3JvdW5kLWNvbG9yO1xuICAgICAgYm9yZGVyLXRvcDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSBkb3duIHtcbiAgICAgIGJvcmRlci1sZWZ0OiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgICBib3JkZXItcmlnaHQ6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgIGJvcmRlci10b3A6ICRoZWlnaHQgc29saWQgJGZvcmVncm91bmQtY29sb3I7XG4gICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IGxlZnQge1xuICAgICAgYm9yZGVyLWJvdHRvbTogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgYm9yZGVyLXJpZ2h0OiAkaGVpZ2h0IHNvbGlkICRmb3JlZ3JvdW5kLWNvbG9yO1xuICAgICAgYm9yZGVyLXRvcDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgIH1cbiAgfSBAZWxzZSBpZiAoJGRpcmVjdGlvbiA9PSB1cC1yaWdodCkgb3IgKCRkaXJlY3Rpb24gPT0gdXAtbGVmdCkge1xuICAgIGJvcmRlci10b3A6ICRoZWlnaHQgc29saWQgJGZvcmVncm91bmQtY29sb3I7XG5cbiAgICBAaWYgJGRpcmVjdGlvbiA9PSB1cC1yaWdodCB7XG4gICAgICBib3JkZXItbGVmdDogICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gdXAtbGVmdCB7XG4gICAgICBib3JkZXItcmlnaHQ6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICB9XG4gIH0gQGVsc2UgaWYgKCRkaXJlY3Rpb24gPT0gZG93bi1yaWdodCkgb3IgKCRkaXJlY3Rpb24gPT0gZG93bi1sZWZ0KSB7XG4gICAgYm9yZGVyLWJvdHRvbTogJGhlaWdodCBzb2xpZCAkZm9yZWdyb3VuZC1jb2xvcjtcblxuICAgIEBpZiAkZGlyZWN0aW9uID09IGRvd24tcmlnaHQge1xuICAgICAgYm9yZGVyLWxlZnQ6ICAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IGRvd24tbGVmdCB7XG4gICAgICBib3JkZXItcmlnaHQ6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICB9XG4gIH0gQGVsc2UgaWYgKCRkaXJlY3Rpb24gPT0gaW5zZXQtdXApIHtcbiAgICBib3JkZXItY29sb3I6ICRiYWNrZ3JvdW5kLWNvbG9yICRiYWNrZ3JvdW5kLWNvbG9yICRmb3JlZ3JvdW5kLWNvbG9yO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiAkaGVpZ2h0ICR3aWR0aDtcbiAgfSBAZWxzZSBpZiAoJGRpcmVjdGlvbiA9PSBpbnNldC1kb3duKSB7XG4gICAgYm9yZGVyLWNvbG9yOiAkZm9yZWdyb3VuZC1jb2xvciAkYmFja2dyb3VuZC1jb2xvciAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aDogJGhlaWdodCAkd2lkdGg7XG4gIH0gQGVsc2UgaWYgKCRkaXJlY3Rpb24gPT0gaW5zZXQtcmlnaHQpIHtcbiAgICBib3JkZXItY29sb3I6ICRiYWNrZ3JvdW5kLWNvbG9yICRiYWNrZ3JvdW5kLWNvbG9yICRiYWNrZ3JvdW5kLWNvbG9yICRmb3JlZ3JvdW5kLWNvbG9yO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiAkd2lkdGggJGhlaWdodDtcbiAgfSBAZWxzZSBpZiAoJGRpcmVjdGlvbiA9PSBpbnNldC1sZWZ0KSB7XG4gICAgYm9yZGVyLWNvbG9yOiAkYmFja2dyb3VuZC1jb2xvciAkZm9yZWdyb3VuZC1jb2xvciAkYmFja2dyb3VuZC1jb2xvciAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aDogJHdpZHRoICRoZWlnaHQ7XG4gIH1cbn1cblxuXG5AbWl4aW4gZ3JpZHhnYXAoJGdhcCkgIHtcbiAgICBtYXJnaW46IDAgJGdhcCotMTtcbiAgICA+ICogIHtcbiAgICAgICAgcGFkZGluZzogMCAkZ2FwO1xuICAgIH1cbn1cblxuXG5AbWl4aW4gaW5saW5lLWdyaWQtYmFzZSAge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICA+ICogIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7ICAgIFxuICB9XG59XG5AbWl4aW4gaW5saW5lLWdyaWQteCgkZ2FwKSAge1xuICBAaW5jbHVkZSB4bWFyZ2luKCRnYXAqLTEpO1xuICA+ICogIHtcbiAgICBAaW5jbHVkZSB4bWFyZ2luKCRnYXApO1xuICB9XG59XG5AbWl4aW4gaW5saW5lLWdyaWQteSgkZ2FwKSAge1xuICBAaW5jbHVkZSB5bWFyZ2luKCRnYXAqLTEpO1xuICA+ICogIHtcbiAgICBAaW5jbHVkZSB5bWFyZ2luKCRnYXApO1xuICB9XG59XG5cbkBtaXhpbiBpbmxpbmUtZ3JpZC14eSgkZ2FwKSAge1xuICBtYXJnaW46ICRnYXAqLTE7XG4gID4gKiAge1xuICAgIG1hcmdpbjogJGdhcDtcbiAgfVxufVxuIiwiQGltcG9ydCBcInZhcmlhYmxlc1wiO1xuQGltcG9ydCBcIm1peGluc1wiO1xuQGltcG9ydCBcIm1peGluczJcIjsiLCIkcmVkOiAjYzQyYTNiO1xuJGJsdWU6ICM5NzY4RUI7XG4kZGFya19ibHVlOiAjMTEyNjRiO1xuJGdyZXk6ICM4MDgwODA7XG4kZ3JlZW46ICMyMGI3Njk7XG4kd2hpdGU6ICNmZmZmZmY7XG4keWVsbG93OiAjZDhiNjJmO1xuJGxpZ2h0X2dyZXk6ICNjZGNkY2Q7XG4kZGFya19ncmV5OiAjNmQ2ZTcyO1xuJHNjb3JlLWdyZWVuOiAjMDBCOTZEO1xuJHNjb3JlLXJlZDogI0QxNDA0QjtcbiRzY29yZS15ZWxsb3c6ICNEN0JCNDM7XG5cbiRmb290ZXJfYmFja2dyb3VuZDogIzExMjY0YjtcbiRhdGhsZXRlX2hlYWRlcl9wcmltYXJ5OiAjZTFlMWUxO1xuJGF0aGxldGVfaGVhZGVyX3NlY29uZGFyeTogI2UxZTFlMTtcbiRhdGhsZXRlX2xpc3RfbmFtZTogI2Y3ZjdmNztcbiIsIlxuQG1peGluIHRyYW5zZm9ybSgkdHJhbnNmb3Jtcykge1xuICAgICAtbW96LXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gICAgICAgLW8tdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgIC1tcy10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAtd2Via2l0LXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gICAgICAgICAgdHJhbnNmb3JtOiAkdHJhbnNmb3Jtcztcbn1cblxuQG1peGluIGFwcGVhcmFuY2UoJGFwcGVhcmFuY2UuLi4pIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcbiAgICAgLW1vei1hcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcbiAgICAgICAgICBhcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcbn1cblxuQG1peGluIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMuLi4pIHtcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICAgLW1vei1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbn1cblxuQG1peGluIGJveC1zaGFkb3coJHNoYWRvdy4uLikge1xuICAtd2Via2l0LWJveC1zaGFkb3c6ICRzaGFkb3c7XG4gICAgIC1tb3otYm94LXNoYWRvdzogJHNoYWRvdztcbiAgICAgICAgICBib3gtc2hhZG93OiAkc2hhZG93O1xufVxuXG5AbWl4aW4gYm94LXNpemluZygkc2l6ZS4uLikge1xuICAtd2Via2l0LWJveC1zaXppbmc6ICRzaXplO1xuICAgICAtbW96LWJveC1zaXppbmc6ICRzaXplO1xuICAgICAgICAgIGJveC1zaXppbmc6ICRzaXplO1xufVxuXG5AbWl4aW4gdXNlci1zZWxlY3QoJHNlbGVjdC4uLikge1xuLXdlYmtpdC10b3VjaC1jYWxsb3V0OiAkc2VsZWN0O1xuICAgICAtbXMtdG91Y2gtc2VsZWN0OiAkc2VsZWN0O1xuICAgICAtbW96LXVzZXItc2VsZWN0OiAkc2VsZWN0O1xuICAgICAgLW1zLXVzZXItc2VsZWN0OiAkc2VsZWN0O1xuICAgICAgICAgIHVzZXItc2VsZWN0OiAkc2VsZWN0O1xufVxuXG5AbWl4aW4gZmxleCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1mbGV4OiAkdmFsdWU7XG4gICAgICAtbXMtZmxleDogJHZhbHVlO1xuICAgICAgICAgIGZsZXg6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtYWxpZ24tY29udGVudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1hbGlnbi1jb250ZW50OiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24tY29udGVudDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1hbGlnbi1pdGVtcygkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1hbGlnbi1pdGVtczogJHZhbHVlO1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWFsaWduLXNlbGYoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtYWxpZ24tc2VsZjogJHZhbHVlO1xuICAgICAgICAgIGFsaWduLXNlbGY6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtZGlyZWN0aW9uKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiAkdmFsdWU7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246ICR2YWx1ZTtcbn1cbkBtaXhpbiBmbGV4LWRpcmVjdGlvbi1pbXBvcnRhbnQoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleC1kaXJlY3Rpb246ICR2YWx1ZSFpbXBvcnRhbnQ7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246ICR2YWx1ZSFpbXBvcnRhbnQ7XG59XG5cbkBtaXhpbiBmbGV4LWRpc3BsYXkoKSB7XG4gIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbkBtaXhpbiBmbGV4LWp1c3RpZnktY29udGVudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6ICR2YWx1ZTtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtb3JkZXIoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtb3JkZXI6ICR2YWx1ZTtcbiAgICAgICAgICBvcmRlcjogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC13cmFwKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXgtd3JhcDogJHZhbHVlO1xuICAgICAgICAgIGZsZXgtd3JhcDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1jb2x1bW4oKSB7XG4gIEBpbmNsdWRlIGZsZXgtZGlzcGxheSgpO1xuICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihjb2x1bW4pO1xufVxuXG5AbWl4aW4gZmxleC1jb2x1bW4tY2VudGVyKCkge1xuICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbi1zdGFydCgpIHtcbiAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LXN0YXJ0KTtcbn1cblxuQG1peGluIGZsZXgtcm93KCkge1xuICBAaW5jbHVkZSBmbGV4LWRpc3BsYXkoKTtcbiAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24ocm93KTtcbn1cblxuQG1peGluIGZsZXgtcm93LWNlbnRlcigpIHtcbiAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xufVxuXG5AbWl4aW4gZmxleC1yb3ctc3RhcnQoKSB7XG4gIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoZmxleC1zdGFydCk7XG59XG5cbkBtaXhpbiBsb2NrLWhlaWdodCgkdmFsdWUuLi4pIHtcbiAgbWF4LWhlaWdodDogJHZhbHVlO1xuICBtaW4taGVpZ2h0OiAkdmFsdWU7XG4gIGhlaWdodDogJHZhbHVlO1xufVxuXG5AbWl4aW4gbG9jay13aWR0aCgkdmFsdWUuLi4pIHtcbiAgbWF4LXdpZHRoOiAkdmFsdWU7XG4gIG1pbi13aWR0aDogJHZhbHVlO1xuICB3aWR0aDogJHZhbHVlO1xufVxuXG5AbWl4aW4gbG9jay13aWR0aC1pbmxpbmUtb3ZlcnJpZGUoJHZhbHVlLi4uKSB7XG4gIG1heC13aWR0aDogJHZhbHVlICFpbXBvcnRhbnQ7XG4gIG1pbi13aWR0aDogJHZhbHVlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbn1cblxuXG5AbWl4aW4gdW5sb2NrLXdpZHRoICB7XG4gIG1heC13aWR0aDogbm9uZTtcbiAgbWluLXdpZHRoOiAwO1xuICB3aWR0aDogYXV0bztcbn1cbkBtaXhpbiB1bmxvY2staGVpZ2h0ICB7XG4gIG1heC1oZWlnaHQ6IG5vbmU7XG4gIG1pbi1oZWlnaHQ6IDA7XG4gIGhlaWdodDogYXV0bztcbn1cblxuQG1peGluIGNvbHVtbi1jb3VudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1jb2x1bW4tY291bnQ6ICR2YWx1ZTtcbiAgLW1vei1jb2x1bW4tY291bnQ6ICR2YWx1ZTtcbiAgY29sdW1uLWNvdW50OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBjb2x1bW4tZ2FwKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWNvbHVtbi1nYXA6ICR2YWx1ZTtcbiAgLW1vei1jb2x1bW4tZ2FwOiAkdmFsdWU7XG4gIGNvbHVtbi1nYXA6ICR2YWx1ZTtcbn1cblxuQG1peGluIGNvbHVtbi1uby1icmVhaygpIHtcbiAgLXdlYmtpdC1jb2x1bW4tYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkLWNvbHVtbjtcbiAgLW1vei1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xuICAtby1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xuICAtbXMtY29sdW1uLWJyZWFrLWluc2lkZTphdm9pZDtcbiAgYnJlYWstaW5zaWRlOmF2b2lkLWNvbHVtbjtcbn1cblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiByZXNwb25kXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4kbWluQ29udGVudFdpZHRoOiAxMDI0cHg7XG4kbWluRWRnZUNvbnRlbnRQYWRkaW5nOiAxNXB4O1xuJGxhcmdlQnJlYWtwb2ludDogJG1pbkNvbnRlbnRXaWR0aCArICRtaW5FZGdlQ29udGVudFBhZGRpbmcqMjtcbiRjb21wcmVzc2VkQ29udGVudFdpZHRoOiAkbWluQ29udGVudFdpZHRoIC0gJG1pbkVkZ2VDb250ZW50UGFkZGluZyoyO1xuLy8gJHNtTWluOiA3NjhweDtcbiRzbU1heDogOTAwcHg7XG5AbWl4aW4gcmVzcG9uZCgkbWVkaWEpIHtcbiAgQGlmICRtZWRpYSA9PSB3aGl0ZWJvYXJkLWV4ZXJjaXNlLXN0YWNrZWQtYXR0cmlidXRlcyB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTkwcHgpIHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAaWYgJG1lZGlhID09IGxnIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRsYXJnZUJyZWFrcG9pbnQpIHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAZWxzZSBpZiAkbWVkaWEgPT0gbWQge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogI3skbGFyZ2VCcmVha3BvaW50IC0gMXB4fSkgeyBAY29udGVudDsgfVxuICB9XG4gIEBlbHNlIGlmICRtZWRpYSA9PSBzbSB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAjeyRzbU1heH0pIHsgQGNvbnRlbnQ7IH1cbiAgfVxufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4geHBhZCAvIHlwYWRcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gIFxuQG1peGluIHhwYWQoJHBhZCkgIHtcbiAgcGFkZGluZy1sZWZ0OiAkcGFkO1xuICBwYWRkaW5nLXJpZ2h0OiAkcGFkO1xufVxuQG1peGluIHlwYWQoJHBhZCkgIHtcbiAgcGFkZGluZy10b3A6ICRwYWQ7XG4gIHBhZGRpbmctYm90dG9tOiAkcGFkO1xufVxuQG1peGluIHhtYXJnaW4oJGdhcCkgIHtcbiAgbWFyZ2luLWxlZnQ6ICRnYXA7XG4gIG1hcmdpbi1yaWdodDogJGdhcDtcbn1cbkBtaXhpbiB5bWFyZ2luKCRnYXApICB7XG4gIG1hcmdpbi10b3A6ICRnYXA7XG4gIG1hcmdpbi1ib3R0b206ICRnYXA7XG59XG5cbkBtaXhpbiBhYnNDZW50ZXJCYXNlX3koJGgpICB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIG1hcmdpbi10b3A6ICRoLy0yO1xufVxuXG5AbWl4aW4gYWJzQ2VudGVyQmFzZSgkdywgJGg6ICR3KSAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi10b3A6ICRoLy0yO1xuICBtYXJnaW4tbGVmdDogJHcvLTI7XG59XG5cbkBtaXhpbiBhYnNDZW50ZXJJY29uKCR3LCAkaDogJHcpICB7XG4gIEBpbmNsdWRlIGFic0NlbnRlckJhc2UoJHcsICRoKTtcbiAgZm9udC1zaXplOiAkaDtcbn1cbkBtaXhpbiBhYnNDZW50ZXJJY29uX3koJGgpICB7XG4gIEBpbmNsdWRlIGFic0NlbnRlckJhc2VfeSgkaCk7XG4gIGZvbnQtc2l6ZTogJGg7XG59XG5cbkBtaXhpbiBmbGV4SW5saW5lT3ZlcnJpZGUgIHtcbiAgICBtaW4td2lkdGg6IDAgIWltcG9ydGFudDtcbiAgICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcbiAgICAtd2Via2l0LWZsZXg6IDEgIWltcG9ydGFudDtcbiAgICAtbXMtZmxleDogMSAhaW1wb3J0YW50O1xuICAgIGZsZXg6IDEgIWltcG9ydGFudDtcbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBhcHAtc3BlY2lmaWMgbWl4aW4vdmFycyA+IHRhYnNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuQG1peGluIGxhcmdlLXRhYnMtc3R5bGUgIHtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBsaW5lLWhlaWdodDogMTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgQGluY2x1ZGUgcmVzcG9uZChtZCkgIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gIH1cbn1cbiRsYXJnZS10YWJzLXNwYWNpbmc6IDQwcHg7XG5cbkBtaXhpbiB0cmltSW5uZXJNYXJnaW4gIHtcbiAgPiAqICB7XG4gICAgJjpmaXJzdC1jaGlsZCAge1xuICAgICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAmOmxhc3QtY2hpbGQgIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gcGxhY2Vob2xkZXJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gIFxuQG1peGluIHBsYWNlaG9sZGVyIHtcbiAgJjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7QGNvbnRlbnR9XG4gICY6LW1vei1wbGFjZWhvbGRlciAgICAgICAgICAge0Bjb250ZW50fVxuICAmOjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgIHtAY29udGVudH1cbiAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIgICAgICB7QGNvbnRlbnR9ICBcbn1cblxuXG4iLCIvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBub3RlOiAgdGhpcyBpcyBhbiB1cGRhdGVkIG1peGluXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vICAgIFxuXG5AbWl4aW4gZXZlbi1jb2xzICB7XG4gIEBpbmNsdWRlIGZsZXgtcm93O1xuICAgICYuY29tcGFjdCAge1xuICAgICAgICA+ICogIHtcbiAgICAgICAgICAgICsgKiAge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgICYuc3BhY2VkLW91dCAge1xuICAgICAgPiAqICB7XG4gICAgICAgICAgKyAqICB7XG4gICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA0NXB4O1xuICAgICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgJi5kZWZhdWx0LXNwYWNlZCAge1xuICAgICAgPiAqICB7XG4gICAgICAgICAgKyAqICB7XG4gICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAzMHB4O1xuICAgICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgJi5ib3R0b20tYWxpZ24gIHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoZmxleC1lbmQpO1xuICAgIH1cbiAgICAmLmV2ZW4tY29scy0tc3RyaXBJbm5lck1hcmdpbnMgIHtcbiAgICAgID4gKiAge1xuICAgICAgICA+ICogIHtcbiAgICAgICAgICAmOmZpcnN0LWNoaWxkICB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgfVxuICAgICAgICAgICY6bGFzdC1jaGlsZCAge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICA+ICogIHtcbiAgICAgICAgQGluY2x1ZGUgZmxleCgxKTtcbiAgICB9XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIG5vdGU6ICBldmVyeXRoaW5nIGJlbG93IHRoaXMgaXMgbmV3XG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vICAgXG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gdHJpYW5nbGVcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gIFxuQG1peGluIHRyaWFuZ2xlKCRzaXplLCAkY29sb3IsICRkaXJlY3Rpb24pIHtcbiAgJHdpZHRoOiBudGgoJHNpemUsIDEpO1xuICAkaGVpZ2h0OiBudGgoJHNpemUsIGxlbmd0aCgkc2l6ZSkpO1xuICAkZm9yZWdyb3VuZC1jb2xvcjogbnRoKCRjb2xvciwgMSk7XG4gICRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgaGVpZ2h0OiAwO1xuICB3aWR0aDogMDtcblxuICBAaWYgKCRkaXJlY3Rpb24gPT0gdXApIG9yICgkZGlyZWN0aW9uID09IGRvd24pIG9yICgkZGlyZWN0aW9uID09IHJpZ2h0KSBvciAoJGRpcmVjdGlvbiA9PSBsZWZ0KSB7XG4gICAgJHdpZHRoOiAkd2lkdGggLyAyO1xuICAgICRoZWlnaHQ6IGlmKGxlbmd0aCgkc2l6ZSkgPiAxLCAkaGVpZ2h0LCAkaGVpZ2h0LzIpO1xuXG4gICAgQGlmICRkaXJlY3Rpb24gPT0gdXAge1xuICAgICAgYm9yZGVyLWJvdHRvbTogJGhlaWdodCBzb2xpZCAkZm9yZWdyb3VuZC1jb2xvcjtcbiAgICAgIGJvcmRlci1sZWZ0OiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgICBib3JkZXItcmlnaHQ6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gcmlnaHQge1xuICAgICAgYm9yZGVyLWJvdHRvbTogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgYm9yZGVyLWxlZnQ6ICRoZWlnaHQgc29saWQgJGZvcmVncm91bmQtY29sb3I7XG4gICAgICBib3JkZXItdG9wOiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IGRvd24ge1xuICAgICAgYm9yZGVyLWxlZnQ6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgIGJvcmRlci1yaWdodDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgYm9yZGVyLXRvcDogJGhlaWdodCBzb2xpZCAkZm9yZWdyb3VuZC1jb2xvcjtcbiAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gbGVmdCB7XG4gICAgICBib3JkZXItYm90dG9tOiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgICBib3JkZXItcmlnaHQ6ICRoZWlnaHQgc29saWQgJGZvcmVncm91bmQtY29sb3I7XG4gICAgICBib3JkZXItdG9wOiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgfVxuICB9IEBlbHNlIGlmICgkZGlyZWN0aW9uID09IHVwLXJpZ2h0KSBvciAoJGRpcmVjdGlvbiA9PSB1cC1sZWZ0KSB7XG4gICAgYm9yZGVyLXRvcDogJGhlaWdodCBzb2xpZCAkZm9yZWdyb3VuZC1jb2xvcjtcblxuICAgIEBpZiAkZGlyZWN0aW9uID09IHVwLXJpZ2h0IHtcbiAgICAgIGJvcmRlci1sZWZ0OiAgJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSB1cC1sZWZ0IHtcbiAgICAgIGJvcmRlci1yaWdodDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgIH1cbiAgfSBAZWxzZSBpZiAoJGRpcmVjdGlvbiA9PSBkb3duLXJpZ2h0KSBvciAoJGRpcmVjdGlvbiA9PSBkb3duLWxlZnQpIHtcbiAgICBib3JkZXItYm90dG9tOiAkaGVpZ2h0IHNvbGlkICRmb3JlZ3JvdW5kLWNvbG9yO1xuXG4gICAgQGlmICRkaXJlY3Rpb24gPT0gZG93bi1yaWdodCB7XG4gICAgICBib3JkZXItbGVmdDogICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gZG93bi1sZWZ0IHtcbiAgICAgIGJvcmRlci1yaWdodDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgIH1cbiAgfSBAZWxzZSBpZiAoJGRpcmVjdGlvbiA9PSBpbnNldC11cCkge1xuICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3IgJGZvcmVncm91bmQtY29sb3I7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItd2lkdGg6ICRoZWlnaHQgJHdpZHRoO1xuICB9IEBlbHNlIGlmICgkZGlyZWN0aW9uID09IGluc2V0LWRvd24pIHtcbiAgICBib3JkZXItY29sb3I6ICRmb3JlZ3JvdW5kLWNvbG9yICRiYWNrZ3JvdW5kLWNvbG9yICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiAkaGVpZ2h0ICR3aWR0aDtcbiAgfSBAZWxzZSBpZiAoJGRpcmVjdGlvbiA9PSBpbnNldC1yaWdodCkge1xuICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3IgJGZvcmVncm91bmQtY29sb3I7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItd2lkdGg6ICR3aWR0aCAkaGVpZ2h0O1xuICB9IEBlbHNlIGlmICgkZGlyZWN0aW9uID09IGluc2V0LWxlZnQpIHtcbiAgICBib3JkZXItY29sb3I6ICRiYWNrZ3JvdW5kLWNvbG9yICRmb3JlZ3JvdW5kLWNvbG9yICRiYWNrZ3JvdW5kLWNvbG9yICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiAkd2lkdGggJGhlaWdodDtcbiAgfVxufVxuXG5cbkBtaXhpbiBncmlkeGdhcCgkZ2FwKSAge1xuICAgIG1hcmdpbjogMCAkZ2FwKi0xO1xuICAgID4gKiAge1xuICAgICAgICBwYWRkaW5nOiAwICRnYXA7XG4gICAgfVxufVxuXG5cbkBtaXhpbiBpbmxpbmUtZ3JpZC1iYXNlICB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gID4gKiAge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgICAgXG4gIH1cbn1cbkBtaXhpbiBpbmxpbmUtZ3JpZC14KCRnYXApICB7XG4gIEBpbmNsdWRlIHhtYXJnaW4oJGdhcCotMSk7XG4gID4gKiAge1xuICAgIEBpbmNsdWRlIHhtYXJnaW4oJGdhcCk7XG4gIH1cbn1cbkBtaXhpbiBpbmxpbmUtZ3JpZC15KCRnYXApICB7XG4gIEBpbmNsdWRlIHltYXJnaW4oJGdhcCotMSk7XG4gID4gKiAge1xuICAgIEBpbmNsdWRlIHltYXJnaW4oJGdhcCk7XG4gIH1cbn1cblxuQG1peGluIGlubGluZS1ncmlkLXh5KCRnYXApICB7XG4gIG1hcmdpbjogJGdhcCotMTtcbiAgPiAqICB7XG4gICAgbWFyZ2luOiAkZ2FwO1xuICB9XG59XG4iLCJAaW1wb3J0IFwidmFyaWFibGVzXCI7XG5AaW1wb3J0IFwibWl4aW5zXCI7XG5AaW1wb3J0IFwibWl4aW5zMlwiO1xuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gYWRkaXRpb25hbCBoZWxwZXJzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHRcblxuLy8gZmllbGQgd2lkdGhzXG4ub3BlbkZpZWxkV2lkdGgtLW1heDEwMCAge1xuXHRtYXgtd2lkdGg6IDEwMCU7IC8vIG1ha2Ugc3VyZSBpdCBpcyBzdGlsbCBmbGV4aWJsZS4uLlxufVxuLm9wZW5GaWVsZFdpZHRoLS1zbWFsbCAge1xuXHR3aWR0aDogNTJweDtcbn1cbi5vcGVuRmllbGRXaWR0aC0tbWVkaXVtICB7XG5cdHdpZHRoOiAxNDhweDtcbn1cblxuLm9wZW5GaWVsZFdpZHRoLS1ycGUgIHtcblx0d2lkdGg6IDIwMHB4O1xufVxuXG4vLyBjZWxsIHdpZHRoc1xuLmNlbGxXaWR0aC0tdHJhaW5pbmdMb2FkICB7XG5cdHdpZHRoOiAxMzJweDtcbn0gXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiB1bmlxdWUgc3R5bGVzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHRcblxuXG4uc2NvcmVOdW0gIHtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0Zm9udC1zaXplOiAxOHB4O1xufVxuXG4ub3BlbkZpZWxkLS1jZW50ZXJlZCAge1xuXHRpbnB1dCAge1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0fVxufVxuXG4kdGxGaWx0ZXJzLXhnYXA6IDE1cHg7XG4kdGxGaWx0ZXJzLVhlZGdlR2FwOiAxNXB4O1xuXG4udGxGaWx0ZXJzSGVhZGVyICB7XG5cdHBhZGRpbmc6IDE1cHggJHRsRmlsdGVycy1YZWRnZUdhcDtcbn1cblxuLnRsRmlsdGVyc0hlYWRlck1haW4gIHtcblx0QGluY2x1ZGUgZmxleC1yb3c7XG5cdD4gKiArICogIHtcblx0XHRwYWRkaW5nLWxlZnQ6ICR0bEZpbHRlcnMteGdhcDtcblx0fVxufVxuXG4uZmxUYWJsZSAge1xuXHR0ciAge1xuXHRcdD4gKiAge1xuXHRcdFx0dGV4dC1hbGlnbjogbGVmdDtcblx0XHRcdHBhZGRpbmctcmlnaHQ6IDA7XG5cdFx0XHRwYWRkaW5nLWxlZnQ6IDA7XG5cdFx0XHQrICogIHtcblx0XHRcdFx0cGFkZGluZy1sZWZ0OiAkdGxGaWx0ZXJzLXhnYXA7XG5cdFx0XHR9XG5cdFx0XHQmOmZpcnN0LWNoaWxkICB7XG5cdFx0XHRcdHBhZGRpbmctbGVmdDogJHRsRmlsdGVycy1YZWRnZUdhcDtcblx0XHRcdH1cblx0XHRcdCY6bGFzdC1jaGlsZCAge1xuXHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiAkdGxGaWx0ZXJzLVhlZGdlR2FwO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHQucHJvY2Nlc3NBcnJvdyAge1x0XHRcblx0XHRtYXJnaW4tcmlnaHQ6ICR0bEZpbHRlcnMteGdhcCotMTtcblx0fVxufVxuLmZsVGFibGVDb2xXaWR0aCAge1xuXHRib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbn1cbkBpbmNsdWRlIHJlc3BvbmQobGcpICB7XG5cdC5mbFRhYmxlQ29sV2lkdGgtLXRpdGxlICB7XG5cdFx0d2lkdGg6IDMwMHB4O1xuXHR9XG5cdC5mbFRhYmxlQ29sV2lkdGgtLXNlc3Npb24gIHtcblx0XHR3aWR0aDogMzAwcHg7XG5cdH1cbn1cblxuLmZsVGFibGVDb2xXaWR0aC0tZHVyYXRpb25UYXJnZXQgIHtcblx0d2lkdGg6IGF1dG87XG59XG5cbi5zbWFsbEZpZWxkTGFiZWwgIHtcdFxuXHRwYWRkaW5nOiAwIDAgN3B4O1xuXHRmb250LXNpemU6IDE0cHg7XG5cdGNvbG9yOiAjNzU3ODdCO1xufVxuXG5cbi50bEZpbHRlcnNIZWFkZXJTaWRlICB7XG5cdEBpbmNsdWRlIGZsZXgtY29sdW1uO1xuXHRAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChzcGFjZS1iZXR3ZWVuKTtcbn1cblxuLm51bU5hbWUgIHtcblx0QGluY2x1ZGUgZmxleC1yb3c7XG5cdGZvbnQtc2l6ZTogMThweDtcbn1cbi5udW1OYW1lX19udW0gIHtcblx0b3BhY2l0eTogMC40O1xufVxuLm51bU5hbWVfX25hbWUgIHtcblx0cGFkZGluZy1sZWZ0OiAxNXB4O1xufVxuXG4ubnVtTmFtZS0tbGlnaHQgIHtcblx0Y29sb3I6ICM3NTc3N0E7XG59XG4kb3BlbkZpZWxkTWVkSGVpZ2h0OiAzOXB4O1xuJG9wZW5GaWVsZFRhbGxIZWlnaHQ6IDQ2cHg7XG4ub3BlbkZpZWxkLS1tZWRpdW0gIHtcblx0aGVpZ2h0OiAkb3BlbkZpZWxkTWVkSGVpZ2h0O1xufVxuXG4kc2VsZWN0QmFybGg6IDIxcHg7XG4kc2VsZWN0QmFyeXBhZDogKCRvcGVuRmllbGRNZWRIZWlnaHQgLSAkc2VsZWN0QmFybGgpLzI7XG4kc2VsZWN0QmFyeXBhZEJpZzogKCRvcGVuRmllbGRUYWxsSGVpZ2h0IC0gJHNlbGVjdEJhcmxoKS8yO1xuLnNlbGVjdEJhciAge1xuXHRiYWNrZ3JvdW5kOiAjOTc2OEVCO1xuXHRjb2xvcjogI2ZmZjtcblx0Zm9udC1zaXplOiAxNXB4O1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdHBhZGRpbmc6ICN7JHNlbGVjdEJhcnlwYWR9IDE1cHg7XG5cdGxpbmUtaGVpZ2h0OiAkc2VsZWN0QmFybGg7XG5cdCYudGFsbCAge1xuXHRcdHBhZGRpbmc6ICRzZWxlY3RCYXJ5cGFkQmlnIDE1cHg7XG5cdH1cblx0aSAge1xuXHRcdGRpc3BsYXk6IG5vbmU7IC8vIG9ubHkgc2hvdyB0aGUgY2hlY2ttYXJrIGljb24gd2hlbiBcImlzU2VsZWN0ZWRcIiBjbGFzcyBpcyBwcmVzZW50Li4uLlxuXHRcdHBhZGRpbmctbGVmdDogNXB4O1xuXHRcdGZvbnQtc2l6ZTogMTFweDtcblx0fVxuXHQmLmlzU2VsZWN0ZWQgIHtcblx0XHRiYWNrZ3JvdW5kOiAjRjRGNEY0O1xuXHRcdGNvbG9yOiAjQzdDQkNFO1xuXHRcdGkgIHtcblx0XHRcdGRpc3BsYXk6IGlubGluZTtcblx0XHR9XG5cdH1cbn1cbi5zdWJtZW51X19udW1UZXh0V3JhcCAge1xuXHRAaW5jbHVkZSBmbGV4LXJvdztcblx0Zm9udC1zaXplOiAxM3B4O1xuXHQubnVtICB7XG5cdFx0Ym94LXNpemluZzogY29udGVudC1ib3g7XG5cdFx0Zm9udC13ZWlnaHQ6IDcwMDtcblx0XHRjb2xvcjogIzZDNkQ2Qztcblx0XHR3aWR0aDogMTVweDtcblx0XHRwYWRkaW5nLXJpZ2h0OiA1cHg7XG5cdH1cblx0LnRleHQgIHtcblx0XHRmb250LXdlaWdodDogNDAwO1xuXHRcdHRleHQtdHJhbnNmb3JtOiBub25lO1xuXHR9XG59XG5cblxuLmNvbnRlbnRXaXRoUHJvY2Vzc0Fycm93V3JhcCAge1xuXHRAaW5jbHVkZSBmbGV4LXJvdztcblx0QGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xuXHQ+ICo6Zmlyc3QtY2hpbGQgIHtcblx0XHRAaW5jbHVkZSBmbGV4KDEpO1xuXHR9XG5cdC5wcm9jY2Vzc0Fycm93ICB7XG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdHdpZHRoOiA0MHB4O1xuXHRcdGNvbG9yOiAjRUZGMUYyO1xuXHRcdGZvbnQtc2l6ZTogMTVweDtcblx0XHRAaW5jbHVkZSByZXNwb25kKGxnKSAge1xuXHRcdFx0d2lkdGg6IDEwMHB4O1xuXHRcdH1cblx0fVxufVxuLm9wZW5GaWVsZFNlbGVjdF9fdHJpZ2dlciAge1xuXHQuaWNvbi10YXJnZXQgIHtcblx0XHRmb250LXNpemU6IDE5cHg7XG5cdFx0Y29sb3I6ICNBQUFCQUY7XG5cdFx0cGFkZGluZy1yaWdodDogOHB4O1xuXHR9XHRcbn1cblxuXG4uVEwtRHVyYXRpb24ge1xuICBpbnB1dDppbnZhbGlkIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjQ0MwMDAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogI0ZGQ0NDQztcbiAgfVxufVxuXG5cbi5iYWNrVG9MaW5rICB7XG5cdG1hcmdpbjogIDAgMCAyMHB4O1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdGNvbG9yOiAjOTc2OEVCO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdEBpbmNsdWRlIGZsZXgtcm93LWNlbnRlcjtcblxuXHRpICB7XG5cdFx0Zm9udC1zaXplOiAxNXB4O1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHR9XG5cdC50ZXh0ICB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0Zm9udC13ZWlnaHQ6IDcwMDtcblx0XHRmb250LXNpemU6IDEzcHg7XG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRwYWRkaW5nLWxlZnQ6IDEwcHg7XG5cdH1cbn1cblxuXG4uY29tcGFjdEZvcm1TdGFjayAge1xuXHQ+ICogIHtcblx0XHQrICogIHtcblx0XHRcdG1hcmdpbi10b3A6IDEwcHg7XG5cdFx0fVxuXHR9XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IGlubGluZSBvdmVybGF5XG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHRcblxuLmlubGluZU92ZXJsYXlXcmFwICB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmlubGluZU92ZXJsYXkgIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR6LWluZGV4OiAxMDtcdFxuXHR0b3A6IGNhbGMoMTAwJSAtIDE1cHgpO1xuXHRsZWZ0OiA1MCU7XHRcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCk7XG5cdGJhY2tncm91bmQ6ICNmZmY7XG5cdHdpZHRoOiAzNzdweDtcblx0bWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAzMHB4KTtcblx0cGFkZGluZzogMTVweDtcblx0Ym9yZGVyOiAxcHggc29saWQgI0VFRUVFRTtcblx0Ym94LXNoYWRvdzogMCAxcHggNHB4IHJnYmEoIzAwMDAwMCwgMC4xMyk7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcbn1cbi5pbmxpbmVPdmVybGF5X190cmlhbmdsZSAge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogM3B4O1xuXHRsZWZ0OiA1MCU7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC0xMDAlKTtcblx0d2lkdGg6IDI5cHg7XG5cdGhlaWdodDogMTdweDtcblx0YmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9vdmVybGF5LXRyaWFuZ2xlLnBuZykgY2VudGVyIGNlbnRlciBuby1yZXBlYXQ7XG5cdGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbn1cbi5pbmxpbmVPdmVybGF5X19jbG9zZSAge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogMTVweDtcblx0cmlnaHQ6IDE1cHg7XG5cdGZvbnQtc2l6ZTogMTdweDtcblx0Y29sb3I6ICRibHVlO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG59XG4uaW5saW5lT3ZlcmxheV9fdGl0bGUgIHtcblx0bWFyZ2luOiAwIDAgMjBweDtcblx0cGFkZGluZzogMCAzMHB4O1xuXHRmb250LXNpemU6IDE4cHg7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdGNvbG9yOiAjNzU3ODdCO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiBkbFxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1x0XG4uY2hhcnQtZGF0ZS1oZWFkZXIgKyAuZGxSb3cgIHtcblx0bWFyZ2luOiAxMHB4IDAgMjBweDtcbn1cbi5kbFJvdyAge1xuXHRAaW5jbHVkZSBmbGV4LXJvdztcblx0QGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoc3BhY2UtYmV0d2Vlbik7XG5cdCsgLmNoYXJ0LWRhdGUtaGVhZGVyICB7XG5cdFx0bWFyZ2luLXRvcDogMzBweDtcblx0fVxuXHQrIC5kbFJvdyAge1xuXHRcdG1hcmdpbi10b3A6IDIwcHg7XG5cdH1cbn1cblxuLmRsSXRlbSAge1xuXHRcbn1cbi5kbEl0ZW1fX2xhYmVsICB7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdGNvbG9yOiAjNzU3NzdBO1xuXHRmb250LXNpemU6IDE0cHg7XG59XG5cbi5kbEl0ZW1fX251bSAge1xuXHRmb250LXdlaWdodDogMTAwO1xuXHRmb250LXNpemU6IDMwcHg7XG5cdEBpbmNsdWRlIGZsZXgtcm93LWNlbnRlcjtcblx0LnNjb3JlQ2hhbmdlSWNvbiAgeyAgIFx0XG5cdFx0Zm9udC1zaXplOiA3cHg7XG5cdFx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcblx0XHRwYWRkaW5nLXJpZ2h0OiA4cHg7XG5cdH1cbn1cblxuLm1lbnUtcG9pbnRlciB7XG5cdGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLndlZWtseVNjb3JlQ2hhbmdlSWNvbiAgeyAgIFx0XG5cdGZvbnQtc2l6ZTogN3B4O1xuXHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXHRwYWRkaW5nLXJpZ2h0OiA0cHg7XG5cdG1hcmdpbi1yaWdodDogNHB4O1xufVxuXG4ucHJvZmlsZVRMQ2hhbmdlSWNvbiAgeyAgIFx0XG5cdGZvbnQtc2l6ZTogMTBweDtcblx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcblx0cGFkZGluZy1yaWdodDogMXB4O1xuXHRwYWRkaW5nLWJvdHRvbTogM3B4O1xufSIsIiRyZWQ6ICNjNDJhM2I7XG4kYmx1ZTogIzk3NjhFQjtcbiRkYXJrX2JsdWU6ICMxMTI2NGI7XG4kZ3JleTogIzgwODA4MDtcbiRncmVlbjogIzIwYjc2OTtcbiR3aGl0ZTogI2ZmZmZmZjtcbiR5ZWxsb3c6ICNkOGI2MmY7XG4kbGlnaHRfZ3JleTogI2NkY2RjZDtcbiRkYXJrX2dyZXk6ICM2ZDZlNzI7XG4kc2NvcmUtZ3JlZW46ICMwMEI5NkQ7XG4kc2NvcmUtcmVkOiAjRDE0MDRCO1xuJHNjb3JlLXllbGxvdzogI0Q3QkI0MztcblxuJGZvb3Rlcl9iYWNrZ3JvdW5kOiAjMTEyNjRiO1xuJGF0aGxldGVfaGVhZGVyX3ByaW1hcnk6ICNlMWUxZTE7XG4kYXRobGV0ZV9oZWFkZXJfc2Vjb25kYXJ5OiAjZTFlMWUxO1xuJGF0aGxldGVfbGlzdF9uYW1lOiAjZjdmN2Y3O1xuIiwiXG5AbWl4aW4gdHJhbnNmb3JtKCR0cmFuc2Zvcm1zKSB7XG4gICAgIC1tb3otdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgICAtby10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAgICAgLW1zLXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgICAgICB0cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xufVxuXG5AbWl4aW4gYXBwZWFyYW5jZSgkYXBwZWFyYW5jZS4uLikge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xuICAgICAtbW96LWFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xuICAgICAgICAgIGFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xufVxuXG5AbWl4aW4gYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cy4uLikge1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgICAtbW96LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xufVxuXG5AbWl4aW4gYm94LXNoYWRvdygkc2hhZG93Li4uKSB7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogJHNoYWRvdztcbiAgICAgLW1vei1ib3gtc2hhZG93OiAkc2hhZG93O1xuICAgICAgICAgIGJveC1zaGFkb3c6ICRzaGFkb3c7XG59XG5cbkBtaXhpbiBib3gtc2l6aW5nKCRzaXplLi4uKSB7XG4gIC13ZWJraXQtYm94LXNpemluZzogJHNpemU7XG4gICAgIC1tb3otYm94LXNpemluZzogJHNpemU7XG4gICAgICAgICAgYm94LXNpemluZzogJHNpemU7XG59XG5cbkBtaXhpbiB1c2VyLXNlbGVjdCgkc2VsZWN0Li4uKSB7XG4td2Via2l0LXRvdWNoLWNhbGxvdXQ6ICRzZWxlY3Q7XG4gICAgIC1tcy10b3VjaC1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgIC1tb3otdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgICAtbXMtdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgICAgICAgdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG59XG5cbkBtaXhpbiBmbGV4KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXg6ICR2YWx1ZTtcbiAgICAgIC1tcy1mbGV4OiAkdmFsdWU7XG4gICAgICAgICAgZmxleDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1hbGlnbi1jb250ZW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWFsaWduLWNvbnRlbnQ6ICR2YWx1ZTtcbiAgICAgICAgICBhbGlnbi1jb250ZW50OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWFsaWduLWl0ZW1zKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWFsaWduLWl0ZW1zOiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24taXRlbXM6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtYWxpZ24tc2VsZigkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1hbGlnbi1zZWxmOiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24tc2VsZjogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1kaXJlY3Rpb24oJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleC1kaXJlY3Rpb246ICR2YWx1ZTtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogJHZhbHVlO1xufVxuQG1peGluIGZsZXgtZGlyZWN0aW9uLWltcG9ydGFudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogJHZhbHVlIWltcG9ydGFudDtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogJHZhbHVlIWltcG9ydGFudDtcbn1cblxuQG1peGluIGZsZXgtZGlzcGxheSgpIHtcbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuQG1peGluIGZsZXgtanVzdGlmeS1jb250ZW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWp1c3RpZnktY29udGVudDogJHZhbHVlO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1vcmRlcigkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1vcmRlcjogJHZhbHVlO1xuICAgICAgICAgIG9yZGVyOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LXdyYXAoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleC13cmFwOiAkdmFsdWU7XG4gICAgICAgICAgZmxleC13cmFwOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbigpIHtcbiAgQGluY2x1ZGUgZmxleC1kaXNwbGF5KCk7XG4gIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKGNvbHVtbik7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbi1jZW50ZXIoKSB7XG4gIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbn1cblxuQG1peGluIGZsZXgtY29sdW1uLXN0YXJ0KCkge1xuICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGZsZXgtc3RhcnQpO1xufVxuXG5AbWl4aW4gZmxleC1yb3coKSB7XG4gIEBpbmNsdWRlIGZsZXgtZGlzcGxheSgpO1xuICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihyb3cpO1xufVxuXG5AbWl4aW4gZmxleC1yb3ctY2VudGVyKCkge1xuICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG59XG5cbkBtaXhpbiBmbGV4LXJvdy1zdGFydCgpIHtcbiAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LXN0YXJ0KTtcbn1cblxuQG1peGluIGxvY2staGVpZ2h0KCR2YWx1ZS4uLikge1xuICBtYXgtaGVpZ2h0OiAkdmFsdWU7XG4gIG1pbi1oZWlnaHQ6ICR2YWx1ZTtcbiAgaGVpZ2h0OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBsb2NrLXdpZHRoKCR2YWx1ZS4uLikge1xuICBtYXgtd2lkdGg6ICR2YWx1ZTtcbiAgbWluLXdpZHRoOiAkdmFsdWU7XG4gIHdpZHRoOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBsb2NrLXdpZHRoLWlubGluZS1vdmVycmlkZSgkdmFsdWUuLi4pIHtcbiAgbWF4LXdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbiAgbWluLXdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbiAgd2lkdGg6ICR2YWx1ZSAhaW1wb3J0YW50O1xufVxuXG5cbkBtaXhpbiB1bmxvY2std2lkdGggIHtcbiAgbWF4LXdpZHRoOiBub25lO1xuICBtaW4td2lkdGg6IDA7XG4gIHdpZHRoOiBhdXRvO1xufVxuQG1peGluIHVubG9jay1oZWlnaHQgIHtcbiAgbWF4LWhlaWdodDogbm9uZTtcbiAgbWluLWhlaWdodDogMDtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG5AbWl4aW4gY29sdW1uLWNvdW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWNvbHVtbi1jb3VudDogJHZhbHVlO1xuICAtbW96LWNvbHVtbi1jb3VudDogJHZhbHVlO1xuICBjb2x1bW4tY291bnQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGNvbHVtbi1nYXAoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtY29sdW1uLWdhcDogJHZhbHVlO1xuICAtbW96LWNvbHVtbi1nYXA6ICR2YWx1ZTtcbiAgY29sdW1uLWdhcDogJHZhbHVlO1xufVxuXG5AbWl4aW4gY29sdW1uLW5vLWJyZWFrKCkge1xuICAtd2Via2l0LWNvbHVtbi1icmVhay1pbnNpZGU6IGF2b2lkO1xuICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQtY29sdW1uO1xuICAtbW96LWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XG4gIC1vLWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XG4gIC1tcy1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xuICBicmVhay1pbnNpZGU6YXZvaWQtY29sdW1uO1xufVxuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IHJlc3BvbmRcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiRtaW5Db250ZW50V2lkdGg6IDEwMjRweDtcbiRtaW5FZGdlQ29udGVudFBhZGRpbmc6IDE1cHg7XG4kbGFyZ2VCcmVha3BvaW50OiAkbWluQ29udGVudFdpZHRoICsgJG1pbkVkZ2VDb250ZW50UGFkZGluZyoyO1xuJGNvbXByZXNzZWRDb250ZW50V2lkdGg6ICRtaW5Db250ZW50V2lkdGggLSAkbWluRWRnZUNvbnRlbnRQYWRkaW5nKjI7XG4vLyAkc21NaW46IDc2OHB4O1xuJHNtTWF4OiA5MDBweDtcbkBtaXhpbiByZXNwb25kKCRtZWRpYSkge1xuICBAaWYgJG1lZGlhID09IHdoaXRlYm9hcmQtZXhlcmNpc2Utc3RhY2tlZC1hdHRyaWJ1dGVzIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExOTBweCkgeyBAY29udGVudDsgfVxuICB9XG4gIEBpZiAkbWVkaWEgPT0gbGcge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGxhcmdlQnJlYWtwb2ludCkgeyBAY29udGVudDsgfVxuICB9XG4gIEBlbHNlIGlmICRtZWRpYSA9PSBtZCB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAjeyRsYXJnZUJyZWFrcG9pbnQgLSAxcHh9KSB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGVsc2UgaWYgJG1lZGlhID09IHNtIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICN7JHNtTWF4fSkgeyBAY29udGVudDsgfVxuICB9XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiB4cGFkIC8geXBhZFxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgXG5AbWl4aW4geHBhZCgkcGFkKSAge1xuICBwYWRkaW5nLWxlZnQ6ICRwYWQ7XG4gIHBhZGRpbmctcmlnaHQ6ICRwYWQ7XG59XG5AbWl4aW4geXBhZCgkcGFkKSAge1xuICBwYWRkaW5nLXRvcDogJHBhZDtcbiAgcGFkZGluZy1ib3R0b206ICRwYWQ7XG59XG5AbWl4aW4geG1hcmdpbigkZ2FwKSAge1xuICBtYXJnaW4tbGVmdDogJGdhcDtcbiAgbWFyZ2luLXJpZ2h0OiAkZ2FwO1xufVxuQG1peGluIHltYXJnaW4oJGdhcCkgIHtcbiAgbWFyZ2luLXRvcDogJGdhcDtcbiAgbWFyZ2luLWJvdHRvbTogJGdhcDtcbn1cblxuQG1peGluIGFic0NlbnRlckJhc2VfeSgkaCkgIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbWFyZ2luLXRvcDogJGgvLTI7XG59XG5cbkBtaXhpbiBhYnNDZW50ZXJCYXNlKCR3LCAkaDogJHcpICB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLXRvcDogJGgvLTI7XG4gIG1hcmdpbi1sZWZ0OiAkdy8tMjtcbn1cblxuQG1peGluIGFic0NlbnRlckljb24oJHcsICRoOiAkdykgIHtcbiAgQGluY2x1ZGUgYWJzQ2VudGVyQmFzZSgkdywgJGgpO1xuICBmb250LXNpemU6ICRoO1xufVxuQG1peGluIGFic0NlbnRlckljb25feSgkaCkgIHtcbiAgQGluY2x1ZGUgYWJzQ2VudGVyQmFzZV95KCRoKTtcbiAgZm9udC1zaXplOiAkaDtcbn1cblxuQG1peGluIGZsZXhJbmxpbmVPdmVycmlkZSAge1xuICAgIG1pbi13aWR0aDogMCAhaW1wb3J0YW50O1xuICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xuICAgIC13ZWJraXQtZmxleDogMSAhaW1wb3J0YW50O1xuICAgIC1tcy1mbGV4OiAxICFpbXBvcnRhbnQ7XG4gICAgZmxleDogMSAhaW1wb3J0YW50O1xufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIGFwcC1zcGVjaWZpYyBtaXhpbi92YXJzID4gdGFic1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5AbWl4aW4gbGFyZ2UtdGFicy1zdHlsZSAge1xuICBmb250LXNpemU6IDIwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBmb250LXdlaWdodDogNTAwO1xuICBAaW5jbHVkZSByZXNwb25kKG1kKSAge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgfVxufVxuJGxhcmdlLXRhYnMtc3BhY2luZzogNDBweDtcblxuQG1peGluIHRyaW1Jbm5lck1hcmdpbiAge1xuICA+ICogIHtcbiAgICAmOmZpcnN0LWNoaWxkICB7XG4gICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgICY6bGFzdC1jaGlsZCAge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiBwbGFjZWhvbGRlclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgXG5AbWl4aW4gcGxhY2Vob2xkZXIge1xuICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtAY29udGVudH1cbiAgJjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgICB7QGNvbnRlbnR9XG4gICY6Oi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAge0Bjb250ZW50fVxuICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciAgICAgIHtAY29udGVudH0gIFxufVxuXG5cbiIsIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIG5vdGU6ICB0aGlzIGlzIGFuIHVwZGF0ZWQgbWl4aW5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gICAgXG5cbkBtaXhpbiBldmVuLWNvbHMgIHtcbiAgQGluY2x1ZGUgZmxleC1yb3c7XG4gICAgJi5jb21wYWN0ICB7XG4gICAgICAgID4gKiAge1xuICAgICAgICAgICAgKyAqICB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgJi5zcGFjZWQtb3V0ICB7XG4gICAgICA+ICogIHtcbiAgICAgICAgICArICogIHtcbiAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDQ1cHg7XG4gICAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAmLmRlZmF1bHQtc3BhY2VkICB7XG4gICAgICA+ICogIHtcbiAgICAgICAgICArICogIHtcbiAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDMwcHg7XG4gICAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAmLmJvdHRvbS1hbGlnbiAge1xuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LWVuZCk7XG4gICAgfVxuICAgICYuZXZlbi1jb2xzLS1zdHJpcElubmVyTWFyZ2lucyAge1xuICAgICAgPiAqICB7XG4gICAgICAgID4gKiAge1xuICAgICAgICAgICY6Zmlyc3QtY2hpbGQgIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbiAgICAgICAgICB9XG4gICAgICAgICAgJjpsYXN0LWNoaWxkICB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgID4gKiAge1xuICAgICAgICBAaW5jbHVkZSBmbGV4KDEpO1xuICAgIH1cbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gbm90ZTogIGV2ZXJ5dGhpbmcgYmVsb3cgdGhpcyBpcyBuZXdcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gICBcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiB0cmlhbmdsZVxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgXG5AbWl4aW4gdHJpYW5nbGUoJHNpemUsICRjb2xvciwgJGRpcmVjdGlvbikge1xuICAkd2lkdGg6IG50aCgkc2l6ZSwgMSk7XG4gICRoZWlnaHQ6IG50aCgkc2l6ZSwgbGVuZ3RoKCRzaXplKSk7XG4gICRmb3JlZ3JvdW5kLWNvbG9yOiBudGgoJGNvbG9yLCAxKTtcbiAgJGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBoZWlnaHQ6IDA7XG4gIHdpZHRoOiAwO1xuXG4gIEBpZiAoJGRpcmVjdGlvbiA9PSB1cCkgb3IgKCRkaXJlY3Rpb24gPT0gZG93bikgb3IgKCRkaXJlY3Rpb24gPT0gcmlnaHQpIG9yICgkZGlyZWN0aW9uID09IGxlZnQpIHtcbiAgICAkd2lkdGg6ICR3aWR0aCAvIDI7XG4gICAgJGhlaWdodDogaWYobGVuZ3RoKCRzaXplKSA+IDEsICRoZWlnaHQsICRoZWlnaHQvMik7XG5cbiAgICBAaWYgJGRpcmVjdGlvbiA9PSB1cCB7XG4gICAgICBib3JkZXItYm90dG9tOiAkaGVpZ2h0IHNvbGlkICRmb3JlZ3JvdW5kLWNvbG9yO1xuICAgICAgYm9yZGVyLWxlZnQ6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgIGJvcmRlci1yaWdodDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSByaWdodCB7XG4gICAgICBib3JkZXItYm90dG9tOiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgICBib3JkZXItbGVmdDogJGhlaWdodCBzb2xpZCAkZm9yZWdyb3VuZC1jb2xvcjtcbiAgICAgIGJvcmRlci10b3A6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gZG93biB7XG4gICAgICBib3JkZXItbGVmdDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgYm9yZGVyLXJpZ2h0OiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgICBib3JkZXItdG9wOiAkaGVpZ2h0IHNvbGlkICRmb3JlZ3JvdW5kLWNvbG9yO1xuICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSBsZWZ0IHtcbiAgICAgIGJvcmRlci1ib3R0b206ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgIGJvcmRlci1yaWdodDogJGhlaWdodCBzb2xpZCAkZm9yZWdyb3VuZC1jb2xvcjtcbiAgICAgIGJvcmRlci10b3A6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICB9XG4gIH0gQGVsc2UgaWYgKCRkaXJlY3Rpb24gPT0gdXAtcmlnaHQpIG9yICgkZGlyZWN0aW9uID09IHVwLWxlZnQpIHtcbiAgICBib3JkZXItdG9wOiAkaGVpZ2h0IHNvbGlkICRmb3JlZ3JvdW5kLWNvbG9yO1xuXG4gICAgQGlmICRkaXJlY3Rpb24gPT0gdXAtcmlnaHQge1xuICAgICAgYm9yZGVyLWxlZnQ6ICAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IHVwLWxlZnQge1xuICAgICAgYm9yZGVyLXJpZ2h0OiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgfVxuICB9IEBlbHNlIGlmICgkZGlyZWN0aW9uID09IGRvd24tcmlnaHQpIG9yICgkZGlyZWN0aW9uID09IGRvd24tbGVmdCkge1xuICAgIGJvcmRlci1ib3R0b206ICRoZWlnaHQgc29saWQgJGZvcmVncm91bmQtY29sb3I7XG5cbiAgICBAaWYgJGRpcmVjdGlvbiA9PSBkb3duLXJpZ2h0IHtcbiAgICAgIGJvcmRlci1sZWZ0OiAgJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSBkb3duLWxlZnQge1xuICAgICAgYm9yZGVyLXJpZ2h0OiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgfVxuICB9IEBlbHNlIGlmICgkZGlyZWN0aW9uID09IGluc2V0LXVwKSB7XG4gICAgYm9yZGVyLWNvbG9yOiAkYmFja2dyb3VuZC1jb2xvciAkYmFja2dyb3VuZC1jb2xvciAkZm9yZWdyb3VuZC1jb2xvcjtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aDogJGhlaWdodCAkd2lkdGg7XG4gIH0gQGVsc2UgaWYgKCRkaXJlY3Rpb24gPT0gaW5zZXQtZG93bikge1xuICAgIGJvcmRlci1jb2xvcjogJGZvcmVncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3I7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItd2lkdGg6ICRoZWlnaHQgJHdpZHRoO1xuICB9IEBlbHNlIGlmICgkZGlyZWN0aW9uID09IGluc2V0LXJpZ2h0KSB7XG4gICAgYm9yZGVyLWNvbG9yOiAkYmFja2dyb3VuZC1jb2xvciAkYmFja2dyb3VuZC1jb2xvciAkYmFja2dyb3VuZC1jb2xvciAkZm9yZWdyb3VuZC1jb2xvcjtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aDogJHdpZHRoICRoZWlnaHQ7XG4gIH0gQGVsc2UgaWYgKCRkaXJlY3Rpb24gPT0gaW5zZXQtbGVmdCkge1xuICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQtY29sb3IgJGZvcmVncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3I7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItd2lkdGg6ICR3aWR0aCAkaGVpZ2h0O1xuICB9XG59XG5cblxuQG1peGluIGdyaWR4Z2FwKCRnYXApICB7XG4gICAgbWFyZ2luOiAwICRnYXAqLTE7XG4gICAgPiAqICB7XG4gICAgICAgIHBhZGRpbmc6IDAgJGdhcDtcbiAgICB9XG59XG5cblxuQG1peGluIGlubGluZS1ncmlkLWJhc2UgIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgPiAqICB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyAgICBcbiAgfVxufVxuQG1peGluIGlubGluZS1ncmlkLXgoJGdhcCkgIHtcbiAgQGluY2x1ZGUgeG1hcmdpbigkZ2FwKi0xKTtcbiAgPiAqICB7XG4gICAgQGluY2x1ZGUgeG1hcmdpbigkZ2FwKTtcbiAgfVxufVxuQG1peGluIGlubGluZS1ncmlkLXkoJGdhcCkgIHtcbiAgQGluY2x1ZGUgeW1hcmdpbigkZ2FwKi0xKTtcbiAgPiAqICB7XG4gICAgQGluY2x1ZGUgeW1hcmdpbigkZ2FwKTtcbiAgfVxufVxuXG5AbWl4aW4gaW5saW5lLWdyaWQteHkoJGdhcCkgIHtcbiAgbWFyZ2luOiAkZ2FwKi0xO1xuICA+ICogIHtcbiAgICBtYXJnaW46ICRnYXA7XG4gIH1cbn1cbiIsIlxuLnJldmlldy1jb250YWluZXIge1xuICAgIC5yZXZpZXctdGFicyArIGRpdiB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxMHB4O1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgIzBhZjtcbiAgICB9XG5cbiAgICAucmV2aWV3LWZyYW1lIHtcbiAgICAgICAgZGlzcGxheTogZmxleDsgXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IFxuICAgICAgICBmbGV4OiAwLjk1O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDVweDtcbiAgICAgICAgbWluLWhlaWdodDogNDBweDtcbiAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICBib3JkZXItYm90dG9tOiBzb2xpZCAxcHggI2MwYzBjMDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAgICYuZXJyb3Ige1xuICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgIGNvbG9yOiAjMjIyO1xuICAgICAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgaS5mYS5mYS10cmFzaCB7XG4gICAgICAgICAgICBjb2xvcjogI2MwYzBjMDtcbiAgICBcbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjOTkwMDAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDE4cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBpbnB1dFt0eXBlPXJhZGlvXSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgJjpjaGVja2VkICsgbGFiZWwge1xuICAgICAgICAgICAgY29sb3I6ICMwYWY7XG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjYWJjO1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICMwYWY7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2ZmZjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGxhYmVsW2Zvcio9XCJLZXlwb2ludHNcIl0sXG4gICAgbGFiZWxbZm9yKj1cIlJlcHNcIl0sXG4gICAgbGFiZWxbZm9yKj1cIkNvbXBlbnNhdGlvbnNcIl0ge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbjogMCAwIC0xcHg7XG4gICAgICAgIHBhZGRpbmc6IDEwcHggMjVweDtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGNvbG9yOiAjYWJjO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcblxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBmb250LWZhbWlseTogZm9udGF3ZXNvbWU7XG4gICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogIzc4OTtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGxhYmVsW2Zvcio9XCJLZXlwb2ludHNcIl06YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJ1xcZjE5Mic7XG4gICAgfVxuICAgIGxhYmVsW2Zvcio9XCJSZXBzXCJdOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICdcXGYwY2InO1xuICAgIH1cbiAgICBsYWJlbFtmb3IqPVwiQ29tcGVuc2F0aW9uc1wiXTpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnXFxmMWZlJztcbiAgICB9XG5cbiAgICAuY29tcHMge1xuICAgICAgICBpbnB1dCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmxleC1kaXNwbGF5KCk7XG4gICAgICAgICAgICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG4gICAgICAgICAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChjZW50ZXIpO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHNjb3JlX2dyZWVuO1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHNjb3JlX2dyZWVuO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgICAgICAgICAgbWluLXdpZHRoOiA4MHB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDM1cHg7XG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICAgICAgICAgICYuZm91bmQge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzY29yZV9yZWQ7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkc2NvcmVfcmVkO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmhhcmQge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHB1cnBsZTtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IHB1cnBsZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5lZGdlIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYWJjO1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogI2FiYztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn0iLCIuYXNzZXNzbWVudC1jb250YWluZXIge1xuICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuXG4gIGEge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBjb2xvcjogJGJsdWU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICY6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxuICB9XG5cbiAgJi5tb3JlIHtcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgID5kaXYge1xuICAgICAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGZsZXgtc3RhcnQpO1xuICAgIH1cbiAgfVxuXG4gICYuaW5mby1vbmx5IHtcbiAgICBtYXJnaW4tdG9wOiA2MHB4O1xuXG4gICAgPi5saXN0LWNvbnRhaW5lciB7XG4gICAgICA+ZGl2Om5vdCguc2Nyb2xsLWNvbnRhaW5lcikge1xuICAgICAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChzcGFjZS1iZXR3ZWVuKTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICAgICAgfVxuICAgIH1cblxuICAgID4uYmFubmVyIHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gICAgICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG4gICAgICBtaW4taGVpZ2h0OiA0MHB4O1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgdGV4dC1pbmRlbnQ6IDEwcHg7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjOWM5Yzk7XG4gICAgfVxuICB9XG5cbiAgPi5saXN0LWNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcbiAgICBtYXJnaW46IDMwcHggMDtcblxuICAgID5kaXY6bm90KC5zY3JvbGwtY29udGFpbmVyKSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xuICAgICAgbWluLWhlaWdodDogNTBweDtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2NjO1xuXG4gICAgICBzcGFuIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7IFxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgICAgfVxuXG4gICAgICAubGlzdC1pbmZvIHtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgICAgICAgbWluLXdpZHRoOiAxNDBweDtcbiAgICAgICAgbWF4LXdpZHRoOiAxNDBweDtcbiAgICAgICAgcGFkZGluZzogMCA0cHg7XG4gICAgICAgID5hIHtcbiAgICAgICAgICA+c3BhbiB7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYuYWN0aW9uIHtcbiAgICAgICAgICBAaW5jbHVkZSBmbGV4KDEpO1xuICAgICAgICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGZsZXgtZW5kKTtcbiAgICAgICAgICBtaW4td2lkdGg6IDYwcHg7XG4gICAgICAgICAgPmJ1dHRvbiB7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiAzNXB4O1xuICAgICAgICAgICAgbWF4LWhlaWdodDogMzVweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYuaGVhZGVyLXJvdyB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDQwcHg7XG4gICAgICAgICAgXG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgID4uc2Nyb2xsLWNvbnRhaW5lciB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICAgICAgXG4gICAgICA+IGRpdiB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoc3BhY2UtYmV0d2Vlbik7XG4gICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgICAgICBtaW4taGVpZ2h0OiA1MHB4O1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NjYztcbiAgXG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7IFxuICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgICAgICB9XG4gIFxuICAgICAgICAubGlzdC1pbmZvIHtcbiAgICAgICAgICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICAgICAgICAgIG1pbi13aWR0aDogMTQwcHg7XG4gICAgICAgICAgbWF4LXdpZHRoOiAxNDBweDtcbiAgICAgICAgICBwYWRkaW5nOiAwIDRweDtcbiAgICAgICAgICAmLmFjdGlvbiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmbGV4KDEpO1xuICAgICAgICAgICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoZmxleC1lbmQpO1xuICAgICAgICAgICAgbWluLXdpZHRoOiA2MHB4O1xuICAgICAgICAgICAgPmJ1dHRvbiB7XG4gICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDM1cHg7XG4gICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDM1cHg7XG4gICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9IFxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gID4ubm8tZGF0YSB7XG4gICAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG4gICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcbiAgICBtaW4taGVpZ2h0OiAyNTBweDtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gIH1cblxuICAuaW5mby1jb2x1bW4ge1xuICAgIG1hcmdpbi1yaWdodDogMjVweDtcbiAgICBtaW4td2lkdGg6IDI0MHB4O1xuXG4gICAgPi5pbmZvLWNvbnRhaW5lciB7XG4gICAgICBwYWRkaW5nOiA4cHg7IFxuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2MwYzBjMDtcblxuICAgICAgPi5iYW5uZXIge1xuICAgICAgICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICAgICAgICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGNlbnRlcik7XG4gICAgICAgIG1hcmdpbjogOHB4IDBweDsgXG4gICAgICAgIG1pbi1oZWlnaHQ6IDM1cHg7IFxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGNkY2RjO1xuICAgICAgfVxuXG4gICAgICA+ZGl2Om5vdCguYmFubmVyKSB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbiAgICAgICAgPmRpdjpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgICBtaW4td2lkdGg6IDEwMHB4O1xuICAgICAgICB9XG4gICAgICAgID5kaXY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICBtYXgtd2lkdGg6IDEyMHB4O1xuICAgICAgICB9XG4gICAgICAgICYuc3RhdGUtaW5mbyB7XG4gICAgICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LXN0YXJ0KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5pbmZvLWNvbnRhaW5lciArIC5pbmZvLWNvbnRhaW5lciB7XG4gICAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgIH1cbiAgfVxuXG4gIC5tZWRpYS1jb2x1bW4ge1xuICAgIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XG4gICAgQGluY2x1ZGUgZmxleCgxKTtcbiAgfVxuXG4gIC52aWRlby1jb2x1bW4ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgPnZpZGVvLFxuICAgID5jYW52YXMge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICB9XG5cbiAgICAudmlkZW8tcGxheS1vdmVybGF5IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAvLyBMZXQgdGhlIGNsaWNrIGZhbGwgdGhyb3VnaCB0byB0aGUgY2FudmFzLCB3aGljaCBvd25zIHBsYXkvcGF1c2UuXG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgJi5pcy1oaWRkZW4ge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuXG4gICAgICBpIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIHdpZHRoOiA4NHB4O1xuICAgICAgICBoZWlnaHQ6IDg0cHg7XG4gICAgICAgIHBhZGRpbmctbGVmdDogNnB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC40NSk7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBmb250LXNpemU6IDM4cHg7XG4gICAgICAgIG9wYWNpdHk6IDAuOTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZGV0YWlsLWNvbHVtbiB7XG4gICAgQGluY2x1ZGUgZmxleCgxKTtcbiAgICA+ZGl2OmZpcnN0LW9mLXR5cGUge1xuICAgICAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcbiAgICAgID5kaXYge1xuICAgICAgICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICAgICAgICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcblxuICAgICAgICAmLmhlYWRlciB7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAubmFtZSB+IGRpdiB7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDgwcHg7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5pdGVtcyB7XG4gICAgICAgICAgbWluLWhlaWdodDogNTBweDtcbiAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2RhZGFkYTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5leGVyY2lzZS1saXN0IHtcbiAgICAgID4ubmFtZSB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgoLjYpO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICB9XG5cbiAgICAgID4uc3RhdHVzIHtcbiAgICAgICAgQGluY2x1ZGUgZmxleCguNCk7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIH1cblxuICAgICAgPi5hY3Rpb24ge1xuICAgICAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChjZW50ZXIpO1xuICAgICAgICBtaW4td2lkdGg6IDEwMHB4O1xuICAgICAgICA+YnV0dG9uIHtcbiAgICAgICAgICBtaW4taGVpZ2h0OiAzNXB4O1xuICAgICAgICAgIG1heC1oZWlnaHQ6IDM1cHg7XG4gICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5tZWFzdXJlbWVudC1saXN0IHtcbiAgICAgID4ubmFtZSB7XG4gICAgICAgIG1pbi13aWR0aDogMzAwcHg7XG4gICAgICAgIG1heC13aWR0aDogMzAwcHg7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgfVxuXG4gICAgICAubmFtZSB+IGRpdiB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiA1cHg7XG4gICAgICB9XG5cbiAgICAgIGlucHV0W3R5cGU9Y2hlY2tib3hdIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgXG4gICAgICBsYWJlbCB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtZGlzcGxheSgpO1xuICAgICAgICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGNlbnRlcik7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzY29yZV9ncmVlbjtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHNjb3JlX2dyZWVuO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgICAgIG1pbi13aWR0aDogODBweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDM1cHg7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgICAmLmluYWN0aXZlIHtcbiAgICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5pbmFjdGl2ZTpub3QoLmZvdW5kKSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2MwYzBjMDtcbiAgICAgICAgICBib3JkZXItY29sb3I6ICNjMGMwYzA7XG4gICAgICAgIH1cblxuICAgICAgICAmLmZvdW5kIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2NvcmVfcmVkO1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogJHNjb3JlX3JlZDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5leGVyY2lzZS1zdGF0dXMge1xuICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgID5kaXYge1xuICAgICAgICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICAgICAgICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGNlbnRlcik7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDUycHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNjMGMwYzA7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNkYWRhZGE7XG5cbiAgICAgICAgJi5wZW5kaW5nIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDBiOTZkXG4gICAgICAgIH1cblxuICAgICAgICAudGV4dCB7XG4gICAgICAgICAgQGluY2x1ZGUgZmxleCgxKTtcbiAgICAgICAgICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICAgICAgICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGZsZXgtc3RhcnQpO1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgJi5tYW51YWwgeyBjb2xvcjogI2ZlZmVmZTsgfVxuICAgICAgICAgICYucGVuZGluZyB7IGNvbG9yOiAjZWZlZmVmOyB9XG4gICAgICAgICAgJi5jb21wbGV0ZSB7IGNvbG9yOiAjMmQ2YjFkOyB9XG4gICAgICAgICAgJi5hYm9ydGVkIHsgY29sb3I6ICMyZDE4MTg7IH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5idXR0b24ge1xuICAgICAgICAgIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gICAgICAgICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoZmxleC1lbmQpO1xuICAgICAgICAgID4gYnV0dG9uIHtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDQwcHg7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiA0MHB4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5tZWFzdXJlbWVudC1zYXZlIHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gICAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChmbGV4LWVuZCk7XG4gICAgICBtYXJnaW46IDIwcHggMDtcbiAgICAgID5idXR0b24ge1xuICAgICAgICBtaW4td2lkdGg6IDEzMHB4O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgfVxuICAgIH1cbiAgfVxufSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUNHQSxBQUFBLENBQUMsRUFBRSxDQUFDLEFBQUEsT0FBTyxFQUFFLENBQUMsQUFBQSxNQUFNLENBQUM7RUV5Qm5CLGtCQUFrQixFRnhCRSxPQUFPO0VFeUJ4QixlQUFlLEVGekJFLE9BQU87RUUwQm5CLFVBQVUsRUYxQkUsT0FBTztFRThCN0IscUJBQXFCLEVGN0JFLElBQUk7RUU4QnRCLGdCQUFnQixFRjlCRSxJQUFJO0VFK0J0QixnQkFBZ0IsRUYvQkUsSUFBSTtFRWdDckIsZUFBZSxFRmhDRSxJQUFJO0VFaUNqQixXQUFXLEVGakNFLElBQUksR0FDMUI7O0FBRUQsQUFBQSxJQUFJLENBQUM7RUVvQkgsa0JBQWtCLEVGbkJFLFVBQVU7RUVvQjNCLGVBQWUsRUZwQkUsVUFBVTtFRXFCdEIsVUFBVSxFRnJCRSxVQUFVO0VBQzlCLFdBQVcsRUFBRSw4Q0FBOEM7RUFDM0QsU0FBUyxFQUFFLElBQUk7RUFDZixXQUFXLEVBQUUsR0FBRztFQUNoQixXQUFXLEVBQUUsR0FBRztFQUNoQixNQUFNLEVBQUUsSUFBSSxHQUNiOztBQUVELEFBQUEsSUFBSSxDQUFDO0VBQ0gsV0FBVyxFQUFFLDhDQUE4QztFQUMzRCxNQUFNLEVBQUUsSUFBSTtFQUNaLE1BQU0sRUFB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 */