/**
 * Foundation for Sites by ZURB
 * Version 6.4.3
 * foundation.zurb.com
 * Licensed under MIT Open Source
 */
@media print, screen and (min-width: 40em) {
  .reveal, .reveal.tiny, .reveal.small, .reveal.large {
    right: auto;
    left: auto;
    margin: 0 auto; } }

.grid-container {
  padding-right: 0.9375rem;
  padding-left: 0.9375rem;
  max-width: 55.625rem;
  margin: 0 auto; }
  @media print, screen and (min-width: 40em) {
    .grid-container {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  .grid-container.fluid {
    padding-right: 0.9375rem;
    padding-left: 0.9375rem;
    max-width: 100%;
    margin: 0 auto; }
    @media print, screen and (min-width: 40em) {
      .grid-container.fluid {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
  .grid-container.full {
    padding-right: 0;
    padding-left: 0;
    max-width: 100%;
    margin: 0 auto; }

.grid-x {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-flow: row wrap;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap; }

.cell {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 auto;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  min-height: 0px;
  min-width: 0px;
  width: 100%; }
  .cell.auto {
    -webkit-box-flex: 1;
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px; }
  .cell.shrink {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 auto;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto; }

.grid-x > .auto {
  width: auto; }

.grid-x > .shrink {
  width: auto; }

.grid-x > .small-shrink, .grid-x > .small-full, .grid-x > .small-1, .grid-x > .small-2, .grid-x > .small-3, .grid-x > .small-4, .grid-x > .small-5, .grid-x > .small-6, .grid-x > .small-7, .grid-x > .small-8, .grid-x > .small-9, .grid-x > .small-10, .grid-x > .small-11, .grid-x > .small-12 {
  -webkit-flex-basis: auto;
      -ms-flex-preferred-size: auto;
          flex-basis: auto; }

@media print, screen and (min-width: 40em) {
  .grid-x > .medium-shrink, .grid-x > .medium-full, .grid-x > .medium-1, .grid-x > .medium-2, .grid-x > .medium-3, .grid-x > .medium-4, .grid-x > .medium-5, .grid-x > .medium-6, .grid-x > .medium-7, .grid-x > .medium-8, .grid-x > .medium-9, .grid-x > .medium-10, .grid-x > .medium-11, .grid-x > .medium-12 {
    -webkit-flex-basis: auto;
        -ms-flex-preferred-size: auto;
            flex-basis: auto; } }

@media print, screen and (min-width: 64em) {
  .grid-x > .large-shrink, .grid-x > .large-full, .grid-x > .large-1, .grid-x > .large-2, .grid-x > .large-3, .grid-x > .large-4, .grid-x > .large-5, .grid-x > .large-6, .grid-x > .large-7, .grid-x > .large-8, .grid-x > .large-9, .grid-x > .large-10, .grid-x > .large-11, .grid-x > .large-12 {
    -webkit-flex-basis: auto;
        -ms-flex-preferred-size: auto;
            flex-basis: auto; } }

.grid-x > .small-1 {
  width: 8.33333%; }

.grid-x > .small-2 {
  width: 16.66667%; }

.grid-x > .small-3 {
  width: 25%; }

.grid-x > .small-4 {
  width: 33.33333%; }

.grid-x > .small-5 {
  width: 41.66667%; }

.grid-x > .small-6 {
  width: 50%; }

.grid-x > .small-7 {
  width: 58.33333%; }

.grid-x > .small-8 {
  width: 66.66667%; }

.grid-x > .small-9 {
  width: 75%; }

.grid-x > .small-10 {
  width: 83.33333%; }

.grid-x > .small-11 {
  width: 91.66667%; }

.grid-x > .small-12 {
  width: 100%; }

@media print, screen and (min-width: 40em) {
  .grid-x > .medium-auto {
    -webkit-box-flex: 1;
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px;
    width: auto; }
  .grid-x > .medium-shrink {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 auto;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: auto; }
  .grid-x > .medium-1 {
    width: 8.33333%; }
  .grid-x > .medium-2 {
    width: 16.66667%; }
  .grid-x > .medium-3 {
    width: 25%; }
  .grid-x > .medium-4 {
    width: 33.33333%; }
  .grid-x > .medium-5 {
    width: 41.66667%; }
  .grid-x > .medium-6 {
    width: 50%; }
  .grid-x > .medium-7 {
    width: 58.33333%; }
  .grid-x > .medium-8 {
    width: 66.66667%; }
  .grid-x > .medium-9 {
    width: 75%; }
  .grid-x > .medium-10 {
    width: 83.33333%; }
  .grid-x > .medium-11 {
    width: 91.66667%; }
  .grid-x > .medium-12 {
    width: 100%; } }

@media print, screen and (min-width: 64em) {
  .grid-x > .large-auto {
    -webkit-box-flex: 1;
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px;
    width: auto; }
  .grid-x > .large-shrink {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 auto;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: auto; }
  .grid-x > .large-1 {
    width: 8.33333%; }
  .grid-x > .large-2 {
    width: 16.66667%; }
  .grid-x > .large-3 {
    width: 25%; }
  .grid-x > .large-4 {
    width: 33.33333%; }
  .grid-x > .large-5 {
    width: 41.66667%; }
  .grid-x > .large-6 {
    width: 50%; }
  .grid-x > .large-7 {
    width: 58.33333%; }
  .grid-x > .large-8 {
    width: 66.66667%; }
  .grid-x > .large-9 {
    width: 75%; }
  .grid-x > .large-10 {
    width: 83.33333%; }
  .grid-x > .large-11 {
    width: 91.66667%; }
  .grid-x > .large-12 {
    width: 100%; } }

.grid-margin-x:not(.grid-x) > .cell {
  width: auto; }

.grid-margin-y:not(.grid-y) > .cell {
  height: auto; }

.grid-margin-x {
  margin-left: -0.9375rem;
  margin-right: -0.9375rem; }
  @media print, screen and (min-width: 40em) {
    .grid-margin-x {
      margin-left: -0.9375rem;
      margin-right: -0.9375rem; } }
  .grid-margin-x > .cell {
    width: calc(100% - 1.875rem);
    margin-left: 0.9375rem;
    margin-right: 0.9375rem; }
  @media print, screen and (min-width: 40em) {
    .grid-margin-x > .cell {
      width: calc(100% - 1.875rem);
      margin-left: 0.9375rem;
      margin-right: 0.9375rem; } }
  .grid-margin-x > .auto {
    width: auto; }
  .grid-margin-x > .shrink {
    width: auto; }
  .grid-margin-x > .small-1 {
    width: calc(8.33333% - 1.875rem); }
  .grid-margin-x > .small-2 {
    width: calc(16.66667% - 1.875rem); }
  .grid-margin-x > .small-3 {
    width: calc(25% - 1.875rem); }
  .grid-margin-x > .small-4 {
    width: calc(33.33333% - 1.875rem); }
  .grid-margin-x > .small-5 {
    width: calc(41.66667% - 1.875rem); }
  .grid-margin-x > .small-6 {
    width: calc(50% - 1.875rem); }
  .grid-margin-x > .small-7 {
    width: calc(58.33333% - 1.875rem); }
  .grid-margin-x > .small-8 {
    width: calc(66.66667% - 1.875rem); }
  .grid-margin-x > .small-9 {
    width: calc(75% - 1.875rem); }
  .grid-margin-x > .small-10 {
    width: calc(83.33333% - 1.875rem); }
  .grid-margin-x > .small-11 {
    width: calc(91.66667% - 1.875rem); }
  .grid-margin-x > .small-12 {
    width: calc(100% - 1.875rem); }
  @media print, screen and (min-width: 40em) {
    .grid-margin-x > .auto {
      width: auto; }
    .grid-margin-x > .shrink {
      width: auto; }
    .grid-margin-x > .small-1 {
      width: calc(8.33333% - 1.875rem); }
    .grid-margin-x > .small-2 {
      width: calc(16.66667% - 1.875rem); }
    .grid-margin-x > .small-3 {
      width: calc(25% - 1.875rem); }
    .grid-margin-x > .small-4 {
      width: calc(33.33333% - 1.875rem); }
    .grid-margin-x > .small-5 {
      width: calc(41.66667% - 1.875rem); }
    .grid-margin-x > .small-6 {
      width: calc(50% - 1.875rem); }
    .grid-margin-x > .small-7 {
      width: calc(58.33333% - 1.875rem); }
    .grid-margin-x > .small-8 {
      width: calc(66.66667% - 1.875rem); }
    .grid-margin-x > .small-9 {
      width: calc(75% - 1.875rem); }
    .grid-margin-x > .small-10 {
      width: calc(83.33333% - 1.875rem); }
    .grid-margin-x > .small-11 {
      width: calc(91.66667% - 1.875rem); }
    .grid-margin-x > .small-12 {
      width: calc(100% - 1.875rem); }
    .grid-margin-x > .medium-auto {
      width: auto; }
    .grid-margin-x > .medium-shrink {
      width: auto; }
    .grid-margin-x > .medium-1 {
      width: calc(8.33333% - 1.875rem); }
    .grid-margin-x > .medium-2 {
      width: calc(16.66667% - 1.875rem); }
    .grid-margin-x > .medium-3 {
      width: calc(25% - 1.875rem); }
    .grid-margin-x > .medium-4 {
      width: calc(33.33333% - 1.875rem); }
    .grid-margin-x > .medium-5 {
      width: calc(41.66667% - 1.875rem); }
    .grid-margin-x > .medium-6 {
      width: calc(50% - 1.875rem); }
    .grid-margin-x > .medium-7 {
      width: calc(58.33333% - 1.875rem); }
    .grid-margin-x > .medium-8 {
      width: calc(66.66667% - 1.875rem); }
    .grid-margin-x > .medium-9 {
      width: calc(75% - 1.875rem); }
    .grid-margin-x > .medium-10 {
      width: calc(83.33333% - 1.875rem); }
    .grid-margin-x > .medium-11 {
      width: calc(91.66667% - 1.875rem); }
    .grid-margin-x > .medium-12 {
      width: calc(100% - 1.875rem); } }
  @media print, screen and (min-width: 64em) {
    .grid-margin-x > .large-auto {
      width: auto; }
    .grid-margin-x > .large-shrink {
      width: auto; }
    .grid-margin-x > .large-1 {
      width: calc(8.33333% - 1.875rem); }
    .grid-margin-x > .large-2 {
      width: calc(16.66667% - 1.875rem); }
    .grid-margin-x > .large-3 {
      width: calc(25% - 1.875rem); }
    .grid-margin-x > .large-4 {
      width: calc(33.33333% - 1.875rem); }
    .grid-margin-x > .large-5 {
      width: calc(41.66667% - 1.875rem); }
    .grid-margin-x > .large-6 {
      width: calc(50% - 1.875rem); }
    .grid-margin-x > .large-7 {
      width: calc(58.33333% - 1.875rem); }
    .grid-margin-x > .large-8 {
      width: calc(66.66667% - 1.875rem); }
    .grid-margin-x > .large-9 {
      width: calc(75% - 1.875rem); }
    .grid-margin-x > .large-10 {
      width: calc(83.33333% - 1.875rem); }
    .grid-margin-x > .large-11 {
      width: calc(91.66667% - 1.875rem); }
    .grid-margin-x > .large-12 {
      width: calc(100% - 1.875rem); } }

.grid-padding-x .grid-padding-x {
  margin-right: -0.9375rem;
  margin-left: -0.9375rem; }
  @media print, screen and (min-width: 40em) {
    .grid-padding-x .grid-padding-x {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }

.grid-container:not(.full) > .grid-padding-x {
  margin-right: -0.9375rem;
  margin-left: -0.9375rem; }
  @media print, screen and (min-width: 40em) {
    .grid-container:not(.full) > .grid-padding-x {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }

.grid-padding-x > .cell {
  padding-right: 0.9375rem;
  padding-left: 0.9375rem; }
  @media print, screen and (min-width: 40em) {
    .grid-padding-x > .cell {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }

.small-up-1 > .cell {
  width: 100%; }

.small-up-2 > .cell {
  width: 50%; }

.small-up-3 > .cell {
  width: 33.33333%; }

.small-up-4 > .cell {
  width: 25%; }

.small-up-5 > .cell {
  width: 20%; }

.small-up-6 > .cell {
  width: 16.66667%; }

.small-up-7 > .cell {
  width: 14.28571%; }

.small-up-8 > .cell {
  width: 12.5%; }

@media print, screen and (min-width: 40em) {
  .medium-up-1 > .cell {
    width: 100%; }
  .medium-up-2 > .cell {
    width: 50%; }
  .medium-up-3 > .cell {
    width: 33.33333%; }
  .medium-up-4 > .cell {
    width: 25%; }
  .medium-up-5 > .cell {
    width: 20%; }
  .medium-up-6 > .cell {
    width: 16.66667%; }
  .medium-up-7 > .cell {
    width: 14.28571%; }
  .medium-up-8 > .cell {
    width: 12.5%; } }

@media print, screen and (min-width: 64em) {
  .large-up-1 > .cell {
    width: 100%; }
  .large-up-2 > .cell {
    width: 50%; }
  .large-up-3 > .cell {
    width: 33.33333%; }
  .large-up-4 > .cell {
    width: 25%; }
  .large-up-5 > .cell {
    width: 20%; }
  .large-up-6 > .cell {
    width: 16.66667%; }
  .large-up-7 > .cell {
    width: 14.28571%; }
  .large-up-8 > .cell {
    width: 12.5%; } }

.grid-margin-x.small-up-1 > .cell {
  width: calc(100% - 1.875rem); }

.grid-margin-x.small-up-2 > .cell {
  width: calc(50% - 1.875rem); }

.grid-margin-x.small-up-3 > .cell {
  width: calc(33.33333% - 1.875rem); }

.grid-margin-x.small-up-4 > .cell {
  width: calc(25% - 1.875rem); }

.grid-margin-x.small-up-5 > .cell {
  width: calc(20% - 1.875rem); }

.grid-margin-x.small-up-6 > .cell {
  width: calc(16.66667% - 1.875rem); }

.grid-margin-x.small-up-7 > .cell {
  width: calc(14.28571% - 1.875rem); }

.grid-margin-x.small-up-8 > .cell {
  width: calc(12.5% - 1.875rem); }

@media print, screen and (min-width: 40em) {
  .grid-margin-x.small-up-1 > .cell {
    width: calc(100% - 1.875rem); }
  .grid-margin-x.small-up-2 > .cell {
    width: calc(50% - 1.875rem); }
  .grid-margin-x.small-up-3 > .cell {
    width: calc(33.33333% - 1.875rem); }
  .grid-margin-x.small-up-4 > .cell {
    width: calc(25% - 1.875rem); }
  .grid-margin-x.small-up-5 > .cell {
    width: calc(20% - 1.875rem); }
  .grid-margin-x.small-up-6 > .cell {
    width: calc(16.66667% - 1.875rem); }
  .grid-margin-x.small-up-7 > .cell {
    width: calc(14.28571% - 1.875rem); }
  .grid-margin-x.small-up-8 > .cell {
    width: calc(12.5% - 1.875rem); }
  .grid-margin-x.medium-up-1 > .cell {
    width: calc(100% - 1.875rem); }
  .grid-margin-x.medium-up-2 > .cell {
    width: calc(50% - 1.875rem); }
  .grid-margin-x.medium-up-3 > .cell {
    width: calc(33.33333% - 1.875rem); }
  .grid-margin-x.medium-up-4 > .cell {
    width: calc(25% - 1.875rem); }
  .grid-margin-x.medium-up-5 > .cell {
    width: calc(20% - 1.875rem); }
  .grid-margin-x.medium-up-6 > .cell {
    width: calc(16.66667% - 1.875rem); }
  .grid-margin-x.medium-up-7 > .cell {
    width: calc(14.28571% - 1.875rem); }
  .grid-margin-x.medium-up-8 > .cell {
    width: calc(12.5% - 1.875rem); } }

@media print, screen and (min-width: 64em) {
  .grid-margin-x.large-up-1 > .cell {
    width: calc(100% - 1.875rem); }
  .grid-margin-x.large-up-2 > .cell {
    width: calc(50% - 1.875rem); }
  .grid-margin-x.large-up-3 > .cell {
    width: calc(33.33333% - 1.875rem); }
  .grid-margin-x.large-up-4 > .cell {
    width: calc(25% - 1.875rem); }
  .grid-margin-x.large-up-5 > .cell {
    width: calc(20% - 1.875rem); }
  .grid-margin-x.large-up-6 > .cell {
    width: calc(16.66667% - 1.875rem); }
  .grid-margin-x.large-up-7 > .cell {
    width: calc(14.28571% - 1.875rem); }
  .grid-margin-x.large-up-8 > .cell {
    width: calc(12.5% - 1.875rem); } }

.small-margin-collapse {
  margin-right: 0;
  margin-left: 0; }
  .small-margin-collapse > .cell {
    margin-right: 0;
    margin-left: 0; }
  .small-margin-collapse > .small-1 {
    width: 8.33333%; }
  .small-margin-collapse > .small-2 {
    width: 16.66667%; }
  .small-margin-collapse > .small-3 {
    width: 25%; }
  .small-margin-collapse > .small-4 {
    width: 33.33333%; }
  .small-margin-collapse > .small-5 {
    width: 41.66667%; }
  .small-margin-collapse > .small-6 {
    width: 50%; }
  .small-margin-collapse > .small-7 {
    width: 58.33333%; }
  .small-margin-collapse > .small-8 {
    width: 66.66667%; }
  .small-margin-collapse > .small-9 {
    width: 75%; }
  .small-margin-collapse > .small-10 {
    width: 83.33333%; }
  .small-margin-collapse > .small-11 {
    width: 91.66667%; }
  .small-margin-collapse > .small-12 {
    width: 100%; }
  @media print, screen and (min-width: 40em) {
    .small-margin-collapse > .medium-1 {
      width: 8.33333%; }
    .small-margin-collapse > .medium-2 {
      width: 16.66667%; }
    .small-margin-collapse > .medium-3 {
      width: 25%; }
    .small-margin-collapse > .medium-4 {
      width: 33.33333%; }
    .small-margin-collapse > .medium-5 {
      width: 41.66667%; }
    .small-margin-collapse > .medium-6 {
      width: 50%; }
    .small-margin-collapse > .medium-7 {
      width: 58.33333%; }
    .small-margin-collapse > .medium-8 {
      width: 66.66667%; }
    .small-margin-collapse > .medium-9 {
      width: 75%; }
    .small-margin-collapse > .medium-10 {
      width: 83.33333%; }
    .small-margin-collapse > .medium-11 {
      width: 91.66667%; }
    .small-margin-collapse > .medium-12 {
      width: 100%; } }
  @media print, screen and (min-width: 64em) {
    .small-margin-collapse > .large-1 {
      width: 8.33333%; }
    .small-margin-collapse > .large-2 {
      width: 16.66667%; }
    .small-margin-collapse > .large-3 {
      width: 25%; }
    .small-margin-collapse > .large-4 {
      width: 33.33333%; }
    .small-margin-collapse > .large-5 {
      width: 41.66667%; }
    .small-margin-collapse > .large-6 {
      width: 50%; }
    .small-margin-collapse > .large-7 {
      width: 58.33333%; }
    .small-margin-collapse > .large-8 {
      width: 66.66667%; }
    .small-margin-collapse > .large-9 {
      width: 75%; }
    .small-margin-collapse > .large-10 {
      width: 83.33333%; }
    .small-margin-collapse > .large-11 {
      width: 91.66667%; }
    .small-margin-collapse > .large-12 {
      width: 100%; } }

.small-padding-collapse {
  margin-right: 0;
  margin-left: 0; }
  .small-padding-collapse > .cell {
    padding-right: 0;
    padding-left: 0; }

@media print, screen and (min-width: 40em) {
  .medium-margin-collapse {
    margin-right: 0;
    margin-left: 0; }
    .medium-margin-collapse > .cell {
      margin-right: 0;
      margin-left: 0; } }

@media print, screen and (min-width: 40em) {
  .medium-margin-collapse > .small-1 {
    width: 8.33333%; }
  .medium-margin-collapse > .small-2 {
    width: 16.66667%; }
  .medium-margin-collapse > .small-3 {
    width: 25%; }
  .medium-margin-collapse > .small-4 {
    width: 33.33333%; }
  .medium-margin-collapse > .small-5 {
    width: 41.66667%; }
  .medium-margin-collapse > .small-6 {
    width: 50%; }
  .medium-margin-collapse > .small-7 {
    width: 58.33333%; }
  .medium-margin-collapse > .small-8 {
    width: 66.66667%; }
  .medium-margin-collapse > .small-9 {
    width: 75%; }
  .medium-margin-collapse > .small-10 {
    width: 83.33333%; }
  .medium-margin-collapse > .small-11 {
    width: 91.66667%; }
  .medium-margin-collapse > .small-12 {
    width: 100%; } }

@media print, screen and (min-width: 40em) {
  .medium-margin-collapse > .medium-1 {
    width: 8.33333%; }
  .medium-margin-collapse > .medium-2 {
    width: 16.66667%; }
  .medium-margin-collapse > .medium-3 {
    width: 25%; }
  .medium-margin-collapse > .medium-4 {
    width: 33.33333%; }
  .medium-margin-collapse > .medium-5 {
    width: 41.66667%; }
  .medium-margin-collapse > .medium-6 {
    width: 50%; }
  .medium-margin-collapse > .medium-7 {
    width: 58.33333%; }
  .medium-margin-collapse > .medium-8 {
    width: 66.66667%; }
  .medium-margin-collapse > .medium-9 {
    width: 75%; }
  .medium-margin-collapse > .medium-10 {
    width: 83.33333%; }
  .medium-margin-collapse > .medium-11 {
    width: 91.66667%; }
  .medium-margin-collapse > .medium-12 {
    width: 100%; } }

@media print, screen and (min-width: 64em) {
  .medium-margin-collapse > .large-1 {
    width: 8.33333%; }
  .medium-margin-collapse > .large-2 {
    width: 16.66667%; }
  .medium-margin-collapse > .large-3 {
    width: 25%; }
  .medium-margin-collapse > .large-4 {
    width: 33.33333%; }
  .medium-margin-collapse > .large-5 {
    width: 41.66667%; }
  .medium-margin-collapse > .large-6 {
    width: 50%; }
  .medium-margin-collapse > .large-7 {
    width: 58.33333%; }
  .medium-margin-collapse > .large-8 {
    width: 66.66667%; }
  .medium-margin-collapse > .large-9 {
    width: 75%; }
  .medium-margin-collapse > .large-10 {
    width: 83.33333%; }
  .medium-margin-collapse > .large-11 {
    width: 91.66667%; }
  .medium-margin-collapse > .large-12 {
    width: 100%; } }

@media print, screen and (min-width: 40em) {
  .medium-padding-collapse {
    margin-right: 0;
    margin-left: 0; }
    .medium-padding-collapse > .cell {
      padding-right: 0;
      padding-left: 0; } }

@media print, screen and (min-width: 64em) {
  .large-margin-collapse {
    margin-right: 0;
    margin-left: 0; }
    .large-margin-collapse > .cell {
      margin-right: 0;
      margin-left: 0; } }

@media print, screen and (min-width: 64em) {
  .large-margin-collapse > .small-1 {
    width: 8.33333%; }
  .large-margin-collapse > .small-2 {
    width: 16.66667%; }
  .large-margin-collapse > .small-3 {
    width: 25%; }
  .large-margin-collapse > .small-4 {
    width: 33.33333%; }
  .large-margin-collapse > .small-5 {
    width: 41.66667%; }
  .large-margin-collapse > .small-6 {
    width: 50%; }
  .large-margin-collapse > .small-7 {
    width: 58.33333%; }
  .large-margin-collapse > .small-8 {
    width: 66.66667%; }
  .large-margin-collapse > .small-9 {
    width: 75%; }
  .large-margin-collapse > .small-10 {
    width: 83.33333%; }
  .large-margin-collapse > .small-11 {
    width: 91.66667%; }
  .large-margin-collapse > .small-12 {
    width: 100%; } }

@media print, screen and (min-width: 64em) {
  .large-margin-collapse > .medium-1 {
    width: 8.33333%; }
  .large-margin-collapse > .medium-2 {
    width: 16.66667%; }
  .large-margin-collapse > .medium-3 {
    width: 25%; }
  .large-margin-collapse > .medium-4 {
    width: 33.33333%; }
  .large-margin-collapse > .medium-5 {
    width: 41.66667%; }
  .large-margin-collapse > .medium-6 {
    width: 50%; }
  .large-margin-collapse > .medium-7 {
    width: 58.33333%; }
  .large-margin-collapse > .medium-8 {
    width: 66.66667%; }
  .large-margin-collapse > .medium-9 {
    width: 75%; }
  .large-margin-collapse > .medium-10 {
    width: 83.33333%; }
  .large-margin-collapse > .medium-11 {
    width: 91.66667%; }
  .large-margin-collapse > .medium-12 {
    width: 100%; } }

@media print, screen and (min-width: 64em) {
  .large-margin-collapse > .large-1 {
    width: 8.33333%; }
  .large-margin-collapse > .large-2 {
    width: 16.66667%; }
  .large-margin-collapse > .large-3 {
    width: 25%; }
  .large-margin-collapse > .large-4 {
    width: 33.33333%; }
  .large-margin-collapse > .large-5 {
    width: 41.66667%; }
  .large-margin-collapse > .large-6 {
    width: 50%; }
  .large-margin-collapse > .large-7 {
    width: 58.33333%; }
  .large-margin-collapse > .large-8 {
    width: 66.66667%; }
  .large-margin-collapse > .large-9 {
    width: 75%; }
  .large-margin-collapse > .large-10 {
    width: 83.33333%; }
  .large-margin-collapse > .large-11 {
    width: 91.66667%; }
  .large-margin-collapse > .large-12 {
    width: 100%; } }

@media print, screen and (min-width: 64em) {
  .large-padding-collapse {
    margin-right: 0;
    margin-left: 0; }
    .large-padding-collapse > .cell {
      padding-right: 0;
      padding-left: 0; } }

.small-offset-0 {
  margin-left: 0%; }

.grid-margin-x > .small-offset-0 {
  margin-left: calc(0% + 0.9375rem); }

.small-offset-1 {
  margin-left: 8.33333%; }

.grid-margin-x > .small-offset-1 {
  margin-left: calc(8.33333% + 0.9375rem); }

.small-offset-2 {
  margin-left: 16.66667%; }

.grid-margin-x > .small-offset-2 {
  margin-left: calc(16.66667% + 0.9375rem); }

.small-offset-3 {
  margin-left: 25%; }

.grid-margin-x > .small-offset-3 {
  margin-left: calc(25% + 0.9375rem); }

.small-offset-4 {
  margin-left: 33.33333%; }

.grid-margin-x > .small-offset-4 {
  margin-left: calc(33.33333% + 0.9375rem); }

.small-offset-5 {
  margin-left: 41.66667%; }

.grid-margin-x > .small-offset-5 {
  margin-left: calc(41.66667% + 0.9375rem); }

.small-offset-6 {
  margin-left: 50%; }

.grid-margin-x > .small-offset-6 {
  margin-left: calc(50% + 0.9375rem); }

.small-offset-7 {
  margin-left: 58.33333%; }

.grid-margin-x > .small-offset-7 {
  margin-left: calc(58.33333% + 0.9375rem); }

.small-offset-8 {
  margin-left: 66.66667%; }

.grid-margin-x > .small-offset-8 {
  margin-left: calc(66.66667% + 0.9375rem); }

.small-offset-9 {
  margin-left: 75%; }

.grid-margin-x > .small-offset-9 {
  margin-left: calc(75% + 0.9375rem); }

.small-offset-10 {
  margin-left: 83.33333%; }

.grid-margin-x > .small-offset-10 {
  margin-left: calc(83.33333% + 0.9375rem); }

.small-offset-11 {
  margin-left: 91.66667%; }

.grid-margin-x > .small-offset-11 {
  margin-left: calc(91.66667% + 0.9375rem); }

@media print, screen and (min-width: 40em) {
  .medium-offset-0 {
    margin-left: 0%; }
  .grid-margin-x > .medium-offset-0 {
    margin-left: calc(0% + 0.9375rem); }
  .medium-offset-1 {
    margin-left: 8.33333%; }
  .grid-margin-x > .medium-offset-1 {
    margin-left: calc(8.33333% + 0.9375rem); }
  .medium-offset-2 {
    margin-left: 16.66667%; }
  .grid-margin-x > .medium-offset-2 {
    margin-left: calc(16.66667% + 0.9375rem); }
  .medium-offset-3 {
    margin-left: 25%; }
  .grid-margin-x > .medium-offset-3 {
    margin-left: calc(25% + 0.9375rem); }
  .medium-offset-4 {
    margin-left: 33.33333%; }
  .grid-margin-x > .medium-offset-4 {
    margin-left: calc(33.33333% + 0.9375rem); }
  .medium-offset-5 {
    margin-left: 41.66667%; }
  .grid-margin-x > .medium-offset-5 {
    margin-left: calc(41.66667% + 0.9375rem); }
  .medium-offset-6 {
    margin-left: 50%; }
  .grid-margin-x > .medium-offset-6 {
    margin-left: calc(50% + 0.9375rem); }
  .medium-offset-7 {
    margin-left: 58.33333%; }
  .grid-margin-x > .medium-offset-7 {
    margin-left: calc(58.33333% + 0.9375rem); }
  .medium-offset-8 {
    margin-left: 66.66667%; }
  .grid-margin-x > .medium-offset-8 {
    margin-left: calc(66.66667% + 0.9375rem); }
  .medium-offset-9 {
    margin-left: 75%; }
  .grid-margin-x > .medium-offset-9 {
    margin-left: calc(75% + 0.9375rem); }
  .medium-offset-10 {
    margin-left: 83.33333%; }
  .grid-margin-x > .medium-offset-10 {
    margin-left: calc(83.33333% + 0.9375rem); }
  .medium-offset-11 {
    margin-left: 91.66667%; }
  .grid-margin-x > .medium-offset-11 {
    margin-left: calc(91.66667% + 0.9375rem); } }

@media print, screen and (min-width: 64em) {
  .large-offset-0 {
    margin-left: 0%; }
  .grid-margin-x > .large-offset-0 {
    margin-left: calc(0% + 0.9375rem); }
  .large-offset-1 {
    margin-left: 8.33333%; }
  .grid-margin-x > .large-offset-1 {
    margin-left: calc(8.33333% + 0.9375rem); }
  .large-offset-2 {
    margin-left: 16.66667%; }
  .grid-margin-x > .large-offset-2 {
    margin-left: calc(16.66667% + 0.9375rem); }
  .large-offset-3 {
    margin-left: 25%; }
  .grid-margin-x > .large-offset-3 {
    margin-left: calc(25% + 0.9375rem); }
  .large-offset-4 {
    margin-left: 33.33333%; }
  .grid-margin-x > .large-offset-4 {
    margin-left: calc(33.33333% + 0.9375rem); }
  .large-offset-5 {
    margin-left: 41.66667%; }
  .grid-margin-x > .large-offset-5 {
    margin-left: calc(41.66667% + 0.9375rem); }
  .large-offset-6 {
    margin-left: 50%; }
  .grid-margin-x > .large-offset-6 {
    margin-left: calc(50% + 0.9375rem); }
  .large-offset-7 {
    margin-left: 58.33333%; }
  .grid-margin-x > .large-offset-7 {
    margin-left: calc(58.33333% + 0.9375rem); }
  .large-offset-8 {
    margin-left: 66.66667%; }
  .grid-margin-x > .large-offset-8 {
    margin-left: calc(66.66667% + 0.9375rem); }
  .large-offset-9 {
    margin-left: 75%; }
  .grid-margin-x > .large-offset-9 {
    margin-left: calc(75% + 0.9375rem); }
  .large-offset-10 {
    margin-left: 83.33333%; }
  .grid-margin-x > .large-offset-10 {
    margin-left: calc(83.33333% + 0.9375rem); }
  .large-offset-11 {
    margin-left: 91.66667%; }
  .grid-margin-x > .large-offset-11 {
    margin-left: calc(91.66667% + 0.9375rem); } }

.grid-y {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-flow: column nowrap;
      -ms-flex-flow: column nowrap;
          flex-flow: column nowrap; }
  .grid-y > .cell {
    width: auto; }
  .grid-y > .auto {
    height: auto; }
  .grid-y > .shrink {
    height: auto; }
  .grid-y > .small-shrink, .grid-y > .small-full, .grid-y > .small-1, .grid-y > .small-2, .grid-y > .small-3, .grid-y > .small-4, .grid-y > .small-5, .grid-y > .small-6, .grid-y > .small-7, .grid-y > .small-8, .grid-y > .small-9, .grid-y > .small-10, .grid-y > .small-11, .grid-y > .small-12 {
    -webkit-flex-basis: auto;
        -ms-flex-preferred-size: auto;
            flex-basis: auto; }
  @media print, screen and (min-width: 40em) {
    .grid-y > .medium-shrink, .grid-y > .medium-full, .grid-y > .medium-1, .grid-y > .medium-2, .grid-y > .medium-3, .grid-y > .medium-4, .grid-y > .medium-5, .grid-y > .medium-6, .grid-y > .medium-7, .grid-y > .medium-8, .grid-y > .medium-9, .grid-y > .medium-10, .grid-y > .medium-11, .grid-y > .medium-12 {
      -webkit-flex-basis: auto;
          -ms-flex-preferred-size: auto;
              flex-basis: auto; } }
  @media print, screen and (min-width: 64em) {
    .grid-y > .large-shrink, .grid-y > .large-full, .grid-y > .large-1, .grid-y > .large-2, .grid-y > .large-3, .grid-y > .large-4, .grid-y > .large-5, .grid-y > .large-6, .grid-y > .large-7, .grid-y > .large-8, .grid-y > .large-9, .grid-y > .large-10, .grid-y > .large-11, .grid-y > .large-12 {
      -webkit-flex-basis: auto;
          -ms-flex-preferred-size: auto;
              flex-basis: auto; } }
  .grid-y > .small-1 {
    height: 8.33333%; }
  .grid-y > .small-2 {
    height: 16.66667%; }
  .grid-y > .small-3 {
    height: 25%; }
  .grid-y > .small-4 {
    height: 33.33333%; }
  .grid-y > .small-5 {
    height: 41.66667%; }
  .grid-y > .small-6 {
    height: 50%; }
  .grid-y > .small-7 {
    height: 58.33333%; }
  .grid-y > .small-8 {
    height: 66.66667%; }
  .grid-y > .small-9 {
    height: 75%; }
  .grid-y > .small-10 {
    height: 83.33333%; }
  .grid-y > .small-11 {
    height: 91.66667%; }
  .grid-y > .small-12 {
    height: 100%; }
  @media print, screen and (min-width: 40em) {
    .grid-y > .medium-auto {
      -webkit-box-flex: 1;
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px;
      height: auto; }
    .grid-y > .medium-shrink {
      height: auto; }
    .grid-y > .medium-1 {
      height: 8.33333%; }
    .grid-y > .medium-2 {
      height: 16.66667%; }
    .grid-y > .medium-3 {
      height: 25%; }
    .grid-y > .medium-4 {
      height: 33.33333%; }
    .grid-y > .medium-5 {
      height: 41.66667%; }
    .grid-y > .medium-6 {
      height: 50%; }
    .grid-y > .medium-7 {
      height: 58.33333%; }
    .grid-y > .medium-8 {
      height: 66.66667%; }
    .grid-y > .medium-9 {
      height: 75%; }
    .grid-y > .medium-10 {
      height: 83.33333%; }
    .grid-y > .medium-11 {
      height: 91.66667%; }
    .grid-y > .medium-12 {
      height: 100%; } }
  @media print, screen and (min-width: 64em) {
    .grid-y > .large-auto {
      -webkit-box-flex: 1;
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px;
      height: auto; }
    .grid-y > .large-shrink {
      height: auto; }
    .grid-y > .large-1 {
      height: 8.33333%; }
    .grid-y > .large-2 {
      height: 16.66667%; }
    .grid-y > .large-3 {
      height: 25%; }
    .grid-y > .large-4 {
      height: 33.33333%; }
    .grid-y > .large-5 {
      height: 41.66667%; }
    .grid-y > .large-6 {
      height: 50%; }
    .grid-y > .large-7 {
      height: 58.33333%; }
    .grid-y > .large-8 {
      height: 66.66667%; }
    .grid-y > .large-9 {
      height: 75%; }
    .grid-y > .large-10 {
      height: 83.33333%; }
    .grid-y > .large-11 {
      height: 91.66667%; }
    .grid-y > .large-12 {
      height: 100%; } }

.grid-padding-y .grid-padding-y {
  margin-top: -0.9375rem;
  margin-bottom: -0.9375rem; }
  @media print, screen and (min-width: 40em) {
    .grid-padding-y .grid-padding-y {
      margin-top: -0.9375rem;
      margin-bottom: -0.9375rem; } }

.grid-padding-y > .cell {
  padding-top: 0.9375rem;
  padding-bottom: 0.9375rem; }
  @media print, screen and (min-width: 40em) {
    .grid-padding-y > .cell {
      padding-top: 0.9375rem;
      padding-bottom: 0.9375rem; } }

.grid-margin-y {
  margin-top: -0.9375rem;
  margin-bottom: -0.9375rem; }
  @media print, screen and (min-width: 40em) {
    .grid-margin-y {
      margin-top: -0.9375rem;
      margin-bottom: -0.9375rem; } }
  .grid-margin-y > .cell {
    height: calc(100% - 1.875rem);
    margin-top: 0.9375rem;
    margin-bottom: 0.9375rem; }
  @media print, screen and (min-width: 40em) {
    .grid-margin-y > .cell {
      height: calc(100% - 1.875rem);
      margin-top: 0.9375rem;
      margin-bottom: 0.9375rem; } }
  .grid-margin-y > .auto {
    height: auto; }
  .grid-margin-y > .shrink {
    height: auto; }
  .grid-margin-y > .small-1 {
    height: calc(8.33333% - 1.875rem); }
  .grid-margin-y > .small-2 {
    height: calc(16.66667% - 1.875rem); }
  .grid-margin-y > .small-3 {
    height: calc(25% - 1.875rem); }
  .grid-margin-y > .small-4 {
    height: calc(33.33333% - 1.875rem); }
  .grid-margin-y > .small-5 {
    height: calc(41.66667% - 1.875rem); }
  .grid-margin-y > .small-6 {
    height: calc(50% - 1.875rem); }
  .grid-margin-y > .small-7 {
    height: calc(58.33333% - 1.875rem); }
  .grid-margin-y > .small-8 {
    height: calc(66.66667% - 1.875rem); }
  .grid-margin-y > .small-9 {
    height: calc(75% - 1.875rem); }
  .grid-margin-y > .small-10 {
    height: calc(83.33333% - 1.875rem); }
  .grid-margin-y > .small-11 {
    height: calc(91.66667% - 1.875rem); }
  .grid-margin-y > .small-12 {
    height: calc(100% - 1.875rem); }
  @media print, screen and (min-width: 40em) {
    .grid-margin-y > .auto {
      height: auto; }
    .grid-margin-y > .shrink {
      height: auto; }
    .grid-margin-y > .small-1 {
      height: calc(8.33333% - 1.875rem); }
    .grid-margin-y > .small-2 {
      height: calc(16.66667% - 1.875rem); }
    .grid-margin-y > .small-3 {
      height: calc(25% - 1.875rem); }
    .grid-margin-y > .small-4 {
      height: calc(33.33333% - 1.875rem); }
    .grid-margin-y > .small-5 {
      height: calc(41.66667% - 1.875rem); }
    .grid-margin-y > .small-6 {
      height: calc(50% - 1.875rem); }
    .grid-margin-y > .small-7 {
      height: calc(58.33333% - 1.875rem); }
    .grid-margin-y > .small-8 {
      height: calc(66.66667% - 1.875rem); }
    .grid-margin-y > .small-9 {
      height: calc(75% - 1.875rem); }
    .grid-margin-y > .small-10 {
      height: calc(83.33333% - 1.875rem); }
    .grid-margin-y > .small-11 {
      height: calc(91.66667% - 1.875rem); }
    .grid-margin-y > .small-12 {
      height: calc(100% - 1.875rem); }
    .grid-margin-y > .medium-auto {
      height: auto; }
    .grid-margin-y > .medium-shrink {
      height: auto; }
    .grid-margin-y > .medium-1 {
      height: calc(8.33333% - 1.875rem); }
    .grid-margin-y > .medium-2 {
      height: calc(16.66667% - 1.875rem); }
    .grid-margin-y > .medium-3 {
      height: calc(25% - 1.875rem); }
    .grid-margin-y > .medium-4 {
      height: calc(33.33333% - 1.875rem); }
    .grid-margin-y > .medium-5 {
      height: calc(41.66667% - 1.875rem); }
    .grid-margin-y > .medium-6 {
      height: calc(50% - 1.875rem); }
    .grid-margin-y > .medium-7 {
      height: calc(58.33333% - 1.875rem); }
    .grid-margin-y > .medium-8 {
      height: calc(66.66667% - 1.875rem); }
    .grid-margin-y > .medium-9 {
      height: calc(75% - 1.875rem); }
    .grid-margin-y > .medium-10 {
      height: calc(83.33333% - 1.875rem); }
    .grid-margin-y > .medium-11 {
      height: calc(91.66667% - 1.875rem); }
    .grid-margin-y > .medium-12 {
      height: calc(100% - 1.875rem); } }
  @media print, screen and (min-width: 64em) {
    .grid-margin-y > .large-auto {
      height: auto; }
    .grid-margin-y > .large-shrink {
      height: auto; }
    .grid-margin-y > .large-1 {
      height: calc(8.33333% - 1.875rem); }
    .grid-margin-y > .large-2 {
      height: calc(16.66667% - 1.875rem); }
    .grid-margin-y > .large-3 {
      height: calc(25% - 1.875rem); }
    .grid-margin-y > .large-4 {
      height: calc(33.33333% - 1.875rem); }
    .grid-margin-y > .large-5 {
      height: calc(41.66667% - 1.875rem); }
    .grid-margin-y > .large-6 {
      height: calc(50% - 1.875rem); }
    .grid-margin-y > .large-7 {
      height: calc(58.33333% - 1.875rem); }
    .grid-margin-y > .large-8 {
      height: calc(66.66667% - 1.875rem); }
    .grid-margin-y > .large-9 {
      height: calc(75% - 1.875rem); }
    .grid-margin-y > .large-10 {
      height: calc(83.33333% - 1.875rem); }
    .grid-margin-y > .large-11 {
      height: calc(91.66667% - 1.875rem); }
    .grid-margin-y > .large-12 {
      height: calc(100% - 1.875rem); } }

.grid-frame {
  overflow: hidden;
  position: relative;
  -webkit-flex-wrap: nowrap;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap;
  -webkit-box-align: stretch;
  -webkit-align-items: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  width: 100vw; }

.cell .grid-frame {
  width: 100%; }

.cell-block {
  overflow-x: auto;
  max-width: 100%;
  -webkit-overflow-scrolling: touch;
  -ms-overflow-stype: -ms-autohiding-scrollbar; }

.cell-block-y {
  overflow-y: auto;
  max-height: 100%;
  -webkit-overflow-scrolling: touch;
  -ms-overflow-stype: -ms-autohiding-scrollbar; }

.cell-block-container {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  max-height: 100%; }
  .cell-block-container > .grid-x {
    max-height: 100%;
    -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap; }

@media print, screen and (min-width: 40em) {
  .medium-grid-frame {
    overflow: hidden;
    position: relative;
    -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap;
    -webkit-box-align: stretch;
    -webkit-align-items: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    width: 100vw; }
  .cell .medium-grid-frame {
    width: 100%; }
  .medium-cell-block {
    overflow-x: auto;
    max-width: 100%;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-stype: -ms-autohiding-scrollbar; }
  .medium-cell-block-container {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    max-height: 100%; }
    .medium-cell-block-container > .grid-x {
      max-height: 100%;
      -webkit-flex-wrap: nowrap;
          -ms-flex-wrap: nowrap;
              flex-wrap: nowrap; }
  .medium-cell-block-y {
    overflow-y: auto;
    max-height: 100%;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-stype: -ms-autohiding-scrollbar; } }

@media print, screen and (min-width: 64em) {
  .large-grid-frame {
    overflow: hidden;
    position: relative;
    -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap;
    -webkit-box-align: stretch;
    -webkit-align-items: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    width: 100vw; }
  .cell .large-grid-frame {
    width: 100%; }
  .large-cell-block {
    overflow-x: auto;
    max-width: 100%;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-stype: -ms-autohiding-scrollbar; }
  .large-cell-block-container {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    max-height: 100%; }
    .large-cell-block-container > .grid-x {
      max-height: 100%;
      -webkit-flex-wrap: nowrap;
          -ms-flex-wrap: nowrap;
              flex-wrap: nowrap; }
  .large-cell-block-y {
    overflow-y: auto;
    max-height: 100%;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-stype: -ms-autohiding-scrollbar; } }

.grid-y.grid-frame {
  width: auto;
  overflow: hidden;
  position: relative;
  -webkit-flex-wrap: nowrap;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap;
  -webkit-box-align: stretch;
  -webkit-align-items: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  height: 100vh; }

@media print, screen and (min-width: 40em) {
  .grid-y.medium-grid-frame {
    width: auto;
    overflow: hidden;
    position: relative;
    -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap;
    -webkit-box-align: stretch;
    -webkit-align-items: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    height: 100vh; } }

@media print, screen and (min-width: 64em) {
  .grid-y.large-grid-frame {
    width: auto;
    overflow: hidden;
    position: relative;
    -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap;
    -webkit-box-align: stretch;
    -webkit-align-items: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    height: 100vh; } }

.cell .grid-y.grid-frame {
  height: 100%; }

@media print, screen and (min-width: 40em) {
  .cell .grid-y.medium-grid-frame {
    height: 100%; } }

@media print, screen and (min-width: 64em) {
  .cell .grid-y.large-grid-frame {
    height: 100%; } }

.grid-margin-y {
  margin-top: -0.9375rem;
  margin-bottom: -0.9375rem; }
  @media print, screen and (min-width: 40em) {
    .grid-margin-y {
      margin-top: -0.9375rem;
      margin-bottom: -0.9375rem; } }
  .grid-margin-y > .cell {
    height: calc(100% - 1.875rem);
    margin-top: 0.9375rem;
    margin-bottom: 0.9375rem; }
  @media print, screen and (min-width: 40em) {
    .grid-margin-y > .cell {
      height: calc(100% - 1.875rem);
      margin-top: 0.9375rem;
      margin-bottom: 0.9375rem; } }
  .grid-margin-y > .auto {
    height: auto; }
  .grid-margin-y > .shrink {
    height: auto; }
  .grid-margin-y > .small-1 {
    height: calc(8.33333% - 1.875rem); }
  .grid-margin-y > .small-2 {
    height: calc(16.66667% - 1.875rem); }
  .grid-margin-y > .small-3 {
    height: calc(25% - 1.875rem); }
  .grid-margin-y > .small-4 {
    height: calc(33.33333% - 1.875rem); }
  .grid-margin-y > .small-5 {
    height: calc(41.66667% - 1.875rem); }
  .grid-margin-y > .small-6 {
    height: calc(50% - 1.875rem); }
  .grid-margin-y > .small-7 {
    height: calc(58.33333% - 1.875rem); }
  .grid-margin-y > .small-8 {
    height: calc(66.66667% - 1.875rem); }
  .grid-margin-y > .small-9 {
    height: calc(75% - 1.875rem); }
  .grid-margin-y > .small-10 {
    height: calc(83.33333% - 1.875rem); }
  .grid-margin-y > .small-11 {
    height: calc(91.66667% - 1.875rem); }
  .grid-margin-y > .small-12 {
    height: calc(100% - 1.875rem); }
  @media print, screen and (min-width: 40em) {
    .grid-margin-y > .auto {
      height: auto; }
    .grid-margin-y > .shrink {
      height: auto; }
    .grid-margin-y > .small-1 {
      height: calc(8.33333% - 1.875rem); }
    .grid-margin-y > .small-2 {
      height: calc(16.66667% - 1.875rem); }
    .grid-margin-y > .small-3 {
      height: calc(25% - 1.875rem); }
    .grid-margin-y > .small-4 {
      height: calc(33.33333% - 1.875rem); }
    .grid-margin-y > .small-5 {
      height: calc(41.66667% - 1.875rem); }
    .grid-margin-y > .small-6 {
      height: calc(50% - 1.875rem); }
    .grid-margin-y > .small-7 {
      height: calc(58.33333% - 1.875rem); }
    .grid-margin-y > .small-8 {
      height: calc(66.66667% - 1.875rem); }
    .grid-margin-y > .small-9 {
      height: calc(75% - 1.875rem); }
    .grid-margin-y > .small-10 {
      height: calc(83.33333% - 1.875rem); }
    .grid-margin-y > .small-11 {
      height: calc(91.66667% - 1.875rem); }
    .grid-margin-y > .small-12 {
      height: calc(100% - 1.875rem); }
    .grid-margin-y > .medium-auto {
      height: auto; }
    .grid-margin-y > .medium-shrink {
      height: auto; }
    .grid-margin-y > .medium-1 {
      height: calc(8.33333% - 1.875rem); }
    .grid-margin-y > .medium-2 {
      height: calc(16.66667% - 1.875rem); }
    .grid-margin-y > .medium-3 {
      height: calc(25% - 1.875rem); }
    .grid-margin-y > .medium-4 {
      height: calc(33.33333% - 1.875rem); }
    .grid-margin-y > .medium-5 {
      height: calc(41.66667% - 1.875rem); }
    .grid-margin-y > .medium-6 {
      height: calc(50% - 1.875rem); }
    .grid-margin-y > .medium-7 {
      height: calc(58.33333% - 1.875rem); }
    .grid-margin-y > .medium-8 {
      height: calc(66.66667% - 1.875rem); }
    .grid-margin-y > .medium-9 {
      height: calc(75% - 1.875rem); }
    .grid-margin-y > .medium-10 {
      height: calc(83.33333% - 1.875rem); }
    .grid-margin-y > .medium-11 {
      height: calc(91.66667% - 1.875rem); }
    .grid-margin-y > .medium-12 {
      height: calc(100% - 1.875rem); } }
  @media print, screen and (min-width: 64em) {
    .grid-margin-y > .large-auto {
      height: auto; }
    .grid-margin-y > .large-shrink {
      height: auto; }
    .grid-margin-y > .large-1 {
      height: calc(8.33333% - 1.875rem); }
    .grid-margin-y > .large-2 {
      height: calc(16.66667% - 1.875rem); }
    .grid-margin-y > .large-3 {
      height: calc(25% - 1.875rem); }
    .grid-margin-y > .large-4 {
      height: calc(33.33333% - 1.875rem); }
    .grid-margin-y > .large-5 {
      height: calc(41.66667% - 1.875rem); }
    .grid-margin-y > .large-6 {
      height: calc(50% - 1.875rem); }
    .grid-margin-y > .large-7 {
      height: calc(58.33333% - 1.875rem); }
    .grid-margin-y > .large-8 {
      height: calc(66.66667% - 1.875rem); }
    .grid-margin-y > .large-9 {
      height: calc(75% - 1.875rem); }
    .grid-margin-y > .large-10 {
      height: calc(83.33333% - 1.875rem); }
    .grid-margin-y > .large-11 {
      height: calc(91.66667% - 1.875rem); }
    .grid-margin-y > .large-12 {
      height: calc(100% - 1.875rem); } }

.grid-frame.grid-margin-y {
  height: calc(100vh + 1.875rem); }
  @media print, screen and (min-width: 40em) {
    .grid-frame.grid-margin-y {
      height: calc(100vh + 1.875rem); } }
  @media print, screen and (min-width: 64em) {
    .grid-frame.grid-margin-y {
      height: calc(100vh + 1.875rem); } }

@media print, screen and (min-width: 40em) {
  .grid-margin-y.medium-grid-frame {
    height: calc(100vh + 1.875rem); } }

@media print, screen and (min-width: 64em) {
  .grid-margin-y.large-grid-frame {
    height: calc(100vh + 1.875rem); } }

.row {
  max-width: 55.625rem;
  margin-right: auto;
  margin-left: auto;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-flow: row wrap;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap; }
  .row .row {
    margin-right: -0.46875rem;
    margin-left: -0.46875rem; }
    @media print, screen and (min-width: 40em) {
      .row .row {
        margin-right: -0.71875rem;
        margin-left: -0.71875rem; } }
    @media print, screen and (min-width: 64em) {
      .row .row {
        margin-right: -0.71875rem;
        margin-left: -0.71875rem; } }
    .row .row.collapse {
      margin-right: 0;
      margin-left: 0; }
  .row.expanded {
    max-width: none; }
    .row.expanded .row {
      margin-right: auto;
      margin-left: auto; }
  .row:not(.expanded) .row {
    max-width: none; }
  .row.collapse > .column, .row.collapse > .columns {
    padding-right: 0;
    padding-left: 0; }
  .row.is-collapse-child,
  .row.collapse > .column > .row,
  .row.collapse > .columns > .row {
    margin-right: 0;
    margin-left: 0; }

.column, .columns {
  -webkit-box-flex: 1;
  -webkit-flex: 1 1 0px;
      -ms-flex: 1 1 0px;
          flex: 1 1 0px;
  padding-right: 0.46875rem;
  padding-left: 0.46875rem;
  min-width: 0; }
  @media print, screen and (min-width: 40em) {
    .column, .columns {
      padding-right: 0.71875rem;
      padding-left: 0.71875rem; } }

.column.row.row, .row.row.columns {
  float: none;
  display: block; }

.row .column.row.row, .row .row.row.columns {
  margin-right: 0;
  margin-left: 0;
  padding-right: 0;
  padding-left: 0; }

.small-1 {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 8.33333%;
      -ms-flex: 0 0 8.33333%;
          flex: 0 0 8.33333%;
  max-width: 8.33333%; }

.small-offset-0 {
  margin-left: 0%; }

.small-2 {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 16.66667%;
      -ms-flex: 0 0 16.66667%;
          flex: 0 0 16.66667%;
  max-width: 16.66667%; }

.small-offset-1 {
  margin-left: 8.33333%; }

.small-3 {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 25%;
      -ms-flex: 0 0 25%;
          flex: 0 0 25%;
  max-width: 25%; }

.small-offset-2 {
  margin-left: 16.66667%; }

.small-4 {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 33.33333%;
      -ms-flex: 0 0 33.33333%;
          flex: 0 0 33.33333%;
  max-width: 33.33333%; }

.small-offset-3 {
  margin-left: 25%; }

.small-5 {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 41.66667%;
      -ms-flex: 0 0 41.66667%;
          flex: 0 0 41.66667%;
  max-width: 41.66667%; }

.small-offset-4 {
  margin-left: 33.33333%; }

.small-6 {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 50%;
      -ms-flex: 0 0 50%;
          flex: 0 0 50%;
  max-width: 50%; }

.small-offset-5 {
  margin-left: 41.66667%; }

.small-7 {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 58.33333%;
      -ms-flex: 0 0 58.33333%;
          flex: 0 0 58.33333%;
  max-width: 58.33333%; }

.small-offset-6 {
  margin-left: 50%; }

.small-8 {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 66.66667%;
      -ms-flex: 0 0 66.66667%;
          flex: 0 0 66.66667%;
  max-width: 66.66667%; }

.small-offset-7 {
  margin-left: 58.33333%; }

.small-9 {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 75%;
      -ms-flex: 0 0 75%;
          flex: 0 0 75%;
  max-width: 75%; }

.small-offset-8 {
  margin-left: 66.66667%; }

.small-10 {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 83.33333%;
      -ms-flex: 0 0 83.33333%;
          flex: 0 0 83.33333%;
  max-width: 83.33333%; }

.small-offset-9 {
  margin-left: 75%; }

.small-11 {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 91.66667%;
      -ms-flex: 0 0 91.66667%;
          flex: 0 0 91.66667%;
  max-width: 91.66667%; }

.small-offset-10 {
  margin-left: 83.33333%; }

.small-12 {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 100%;
      -ms-flex: 0 0 100%;
          flex: 0 0 100%;
  max-width: 100%; }

.small-offset-11 {
  margin-left: 91.66667%; }

.small-up-1 {
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
  .small-up-1 > .column, .small-up-1 > .columns {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 100%;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    max-width: 100%; }

.small-up-2 {
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
  .small-up-2 > .column, .small-up-2 > .columns {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 50%;
        -ms-flex: 0 0 50%;
            flex: 0 0 50%;
    max-width: 50%; }

.small-up-3 {
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
  .small-up-3 > .column, .small-up-3 > .columns {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 33.33333%;
        -ms-flex: 0 0 33.33333%;
            flex: 0 0 33.33333%;
    max-width: 33.33333%; }

.small-up-4 {
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
  .small-up-4 > .column, .small-up-4 > .columns {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 25%;
        -ms-flex: 0 0 25%;
            flex: 0 0 25%;
    max-width: 25%; }

.small-up-5 {
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
  .small-up-5 > .column, .small-up-5 > .columns {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 20%;
        -ms-flex: 0 0 20%;
            flex: 0 0 20%;
    max-width: 20%; }

.small-up-6 {
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
  .small-up-6 > .column, .small-up-6 > .columns {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 16.66667%;
        -ms-flex: 0 0 16.66667%;
            flex: 0 0 16.66667%;
    max-width: 16.66667%; }

.small-up-7 {
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
  .small-up-7 > .column, .small-up-7 > .columns {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 14.28571%;
        -ms-flex: 0 0 14.28571%;
            flex: 0 0 14.28571%;
    max-width: 14.28571%; }

.small-up-8 {
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
  .small-up-8 > .column, .small-up-8 > .columns {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 12.5%;
        -ms-flex: 0 0 12.5%;
            flex: 0 0 12.5%;
    max-width: 12.5%; }

.small-collapse > .column, .small-collapse > .columns {
  padding-right: 0;
  padding-left: 0; }

.small-uncollapse > .column, .small-uncollapse > .columns {
  padding-right: 0.46875rem;
  padding-left: 0.46875rem; }

@media print, screen and (min-width: 40em) {
  .medium-1 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 8.33333%;
        -ms-flex: 0 0 8.33333%;
            flex: 0 0 8.33333%;
    max-width: 8.33333%; }
  .medium-offset-0 {
    margin-left: 0%; }
  .medium-2 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 16.66667%;
        -ms-flex: 0 0 16.66667%;
            flex: 0 0 16.66667%;
    max-width: 16.66667%; }
  .medium-offset-1 {
    margin-left: 8.33333%; }
  .medium-3 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 25%;
        -ms-flex: 0 0 25%;
            flex: 0 0 25%;
    max-width: 25%; }
  .medium-offset-2 {
    margin-left: 16.66667%; }
  .medium-4 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 33.33333%;
        -ms-flex: 0 0 33.33333%;
            flex: 0 0 33.33333%;
    max-width: 33.33333%; }
  .medium-offset-3 {
    margin-left: 25%; }
  .medium-5 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 41.66667%;
        -ms-flex: 0 0 41.66667%;
            flex: 0 0 41.66667%;
    max-width: 41.66667%; }
  .medium-offset-4 {
    margin-left: 33.33333%; }
  .medium-6 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 50%;
        -ms-flex: 0 0 50%;
            flex: 0 0 50%;
    max-width: 50%; }
  .medium-offset-5 {
    margin-left: 41.66667%; }
  .medium-7 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 58.33333%;
        -ms-flex: 0 0 58.33333%;
            flex: 0 0 58.33333%;
    max-width: 58.33333%; }
  .medium-offset-6 {
    margin-left: 50%; }
  .medium-8 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 66.66667%;
        -ms-flex: 0 0 66.66667%;
            flex: 0 0 66.66667%;
    max-width: 66.66667%; }
  .medium-offset-7 {
    margin-left: 58.33333%; }
  .medium-9 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 75%;
        -ms-flex: 0 0 75%;
            flex: 0 0 75%;
    max-width: 75%; }
  .medium-offset-8 {
    margin-left: 66.66667%; }
  .medium-10 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 83.33333%;
        -ms-flex: 0 0 83.33333%;
            flex: 0 0 83.33333%;
    max-width: 83.33333%; }
  .medium-offset-9 {
    margin-left: 75%; }
  .medium-11 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 91.66667%;
        -ms-flex: 0 0 91.66667%;
            flex: 0 0 91.66667%;
    max-width: 91.66667%; }
  .medium-offset-10 {
    margin-left: 83.33333%; }
  .medium-12 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 100%;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    max-width: 100%; }
  .medium-offset-11 {
    margin-left: 91.66667%; }
  .medium-up-1 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .medium-up-1 > .column, .medium-up-1 > .columns {
      -webkit-box-flex: 0;
      -webkit-flex: 0 0 100%;
          -ms-flex: 0 0 100%;
              flex: 0 0 100%;
      max-width: 100%; }
  .medium-up-2 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .medium-up-2 > .column, .medium-up-2 > .columns {
      -webkit-box-flex: 0;
      -webkit-flex: 0 0 50%;
          -ms-flex: 0 0 50%;
              flex: 0 0 50%;
      max-width: 50%; }
  .medium-up-3 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .medium-up-3 > .column, .medium-up-3 > .columns {
      -webkit-box-flex: 0;
      -webkit-flex: 0 0 33.33333%;
          -ms-flex: 0 0 33.33333%;
              flex: 0 0 33.33333%;
      max-width: 33.33333%; }
  .medium-up-4 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .medium-up-4 > .column, .medium-up-4 > .columns {
      -webkit-box-flex: 0;
      -webkit-flex: 0 0 25%;
          -ms-flex: 0 0 25%;
              flex: 0 0 25%;
      max-width: 25%; }
  .medium-up-5 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .medium-up-5 > .column, .medium-up-5 > .columns {
      -webkit-box-flex: 0;
      -webkit-flex: 0 0 20%;
          -ms-flex: 0 0 20%;
              flex: 0 0 20%;
      max-width: 20%; }
  .medium-up-6 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .medium-up-6 > .column, .medium-up-6 > .columns {
      -webkit-box-flex: 0;
      -webkit-flex: 0 0 16.66667%;
          -ms-flex: 0 0 16.66667%;
              flex: 0 0 16.66667%;
      max-width: 16.66667%; }
  .medium-up-7 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .medium-up-7 > .column, .medium-up-7 > .columns {
      -webkit-box-flex: 0;
      -webkit-flex: 0 0 14.28571%;
          -ms-flex: 0 0 14.28571%;
              flex: 0 0 14.28571%;
      max-width: 14.28571%; }
  .medium-up-8 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .medium-up-8 > .column, .medium-up-8 > .columns {
      -webkit-box-flex: 0;
      -webkit-flex: 0 0 12.5%;
          -ms-flex: 0 0 12.5%;
              flex: 0 0 12.5%;
      max-width: 12.5%; } }

@media print, screen and (min-width: 40em) and (min-width: 40em) {
  .medium-expand {
    -webkit-box-flex: 1;
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px; } }

.row.medium-unstack > .column, .row.medium-unstack > .columns {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 100%;
      -ms-flex: 0 0 100%;
          flex: 0 0 100%; }
  @media print, screen and (min-width: 40em) {
    .row.medium-unstack > .column, .row.medium-unstack > .columns {
      -webkit-box-flex: 1;
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; } }

@media print, screen and (min-width: 40em) {
  .medium-collapse > .column, .medium-collapse > .columns {
    padding-right: 0;
    padding-left: 0; }
  .medium-uncollapse > .column, .medium-uncollapse > .columns {
    padding-right: 0.71875rem;
    padding-left: 0.71875rem; } }

@media print, screen and (min-width: 64em) {
  .large-1 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 8.33333%;
        -ms-flex: 0 0 8.33333%;
            flex: 0 0 8.33333%;
    max-width: 8.33333%; }
  .large-offset-0 {
    margin-left: 0%; }
  .large-2 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 16.66667%;
        -ms-flex: 0 0 16.66667%;
            flex: 0 0 16.66667%;
    max-width: 16.66667%; }
  .large-offset-1 {
    margin-left: 8.33333%; }
  .large-3 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 25%;
        -ms-flex: 0 0 25%;
            flex: 0 0 25%;
    max-width: 25%; }
  .large-offset-2 {
    margin-left: 16.66667%; }
  .large-4 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 33.33333%;
        -ms-flex: 0 0 33.33333%;
            flex: 0 0 33.33333%;
    max-width: 33.33333%; }
  .large-offset-3 {
    margin-left: 25%; }
  .large-5 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 41.66667%;
        -ms-flex: 0 0 41.66667%;
            flex: 0 0 41.66667%;
    max-width: 41.66667%; }
  .large-offset-4 {
    margin-left: 33.33333%; }
  .large-6 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 50%;
        -ms-flex: 0 0 50%;
            flex: 0 0 50%;
    max-width: 50%; }
  .large-offset-5 {
    margin-left: 41.66667%; }
  .large-7 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 58.33333%;
        -ms-flex: 0 0 58.33333%;
            flex: 0 0 58.33333%;
    max-width: 58.33333%; }
  .large-offset-6 {
    margin-left: 50%; }
  .large-8 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 66.66667%;
        -ms-flex: 0 0 66.66667%;
            flex: 0 0 66.66667%;
    max-width: 66.66667%; }
  .large-offset-7 {
    margin-left: 58.33333%; }
  .large-9 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 75%;
        -ms-flex: 0 0 75%;
            flex: 0 0 75%;
    max-width: 75%; }
  .large-offset-8 {
    margin-left: 66.66667%; }
  .large-10 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 83.33333%;
        -ms-flex: 0 0 83.33333%;
            flex: 0 0 83.33333%;
    max-width: 83.33333%; }
  .large-offset-9 {
    margin-left: 75%; }
  .large-11 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 91.66667%;
        -ms-flex: 0 0 91.66667%;
            flex: 0 0 91.66667%;
    max-width: 91.66667%; }
  .large-offset-10 {
    margin-left: 83.33333%; }
  .large-12 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 100%;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    max-width: 100%; }
  .large-offset-11 {
    margin-left: 91.66667%; }
  .large-up-1 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .large-up-1 > .column, .large-up-1 > .columns {
      -webkit-box-flex: 0;
      -webkit-flex: 0 0 100%;
          -ms-flex: 0 0 100%;
              flex: 0 0 100%;
      max-width: 100%; }
  .large-up-2 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .large-up-2 > .column, .large-up-2 > .columns {
      -webkit-box-flex: 0;
      -webkit-flex: 0 0 50%;
          -ms-flex: 0 0 50%;
              flex: 0 0 50%;
      max-width: 50%; }
  .large-up-3 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .large-up-3 > .column, .large-up-3 > .columns {
      -webkit-box-flex: 0;
      -webkit-flex: 0 0 33.33333%;
          -ms-flex: 0 0 33.33333%;
              flex: 0 0 33.33333%;
      max-width: 33.33333%; }
  .large-up-4 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .large-up-4 > .column, .large-up-4 > .columns {
      -webkit-box-flex: 0;
      -webkit-flex: 0 0 25%;
          -ms-flex: 0 0 25%;
              flex: 0 0 25%;
      max-width: 25%; }
  .large-up-5 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .large-up-5 > .column, .large-up-5 > .columns {
      -webkit-box-flex: 0;
      -webkit-flex: 0 0 20%;
          -ms-flex: 0 0 20%;
              flex: 0 0 20%;
      max-width: 20%; }
  .large-up-6 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .large-up-6 > .column, .large-up-6 > .columns {
      -webkit-box-flex: 0;
      -webkit-flex: 0 0 16.66667%;
          -ms-flex: 0 0 16.66667%;
              flex: 0 0 16.66667%;
      max-width: 16.66667%; }
  .large-up-7 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .large-up-7 > .column, .large-up-7 > .columns {
      -webkit-box-flex: 0;
      -webkit-flex: 0 0 14.28571%;
          -ms-flex: 0 0 14.28571%;
              flex: 0 0 14.28571%;
      max-width: 14.28571%; }
  .large-up-8 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .large-up-8 > .column, .large-up-8 > .columns {
      -webkit-box-flex: 0;
      -webkit-flex: 0 0 12.5%;
          -ms-flex: 0 0 12.5%;
              flex: 0 0 12.5%;
      max-width: 12.5%; } }

@media print, screen and (min-width: 64em) and (min-width: 64em) {
  .large-expand {
    -webkit-box-flex: 1;
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px; } }

.row.large-unstack > .column, .row.large-unstack > .columns {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 100%;
      -ms-flex: 0 0 100%;
          flex: 0 0 100%; }
  @media print, screen and (min-width: 64em) {
    .row.large-unstack > .column, .row.large-unstack > .columns {
      -webkit-box-flex: 1;
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; } }

@media print, screen and (min-width: 64em) {
  .large-collapse > .column, .large-collapse > .columns {
    padding-right: 0;
    padding-left: 0; }
  .large-uncollapse > .column, .large-uncollapse > .columns {
    padding-right: 0.71875rem;
    padding-left: 0.71875rem; } }

.shrink {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 auto;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  max-width: 100%; }

.column-block {
  margin-bottom: 0.9375rem; }
  .column-block > :last-child {
    margin-bottom: 0; }
  @media print, screen and (min-width: 40em) {
    .column-block {
      margin-bottom: 1.4375rem; }
      .column-block > :last-child {
        margin-bottom: 0; } }

.align-right {
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end; }

.align-center {
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center; }

.align-justify {
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between; }

.align-spaced {
  -webkit-justify-content: space-around;
      -ms-flex-pack: distribute;
          justify-content: space-around; }

.align-right.vertical.menu > li > a {
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end; }

.align-center.vertical.menu > li > a {
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center; }

.align-top {
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start; }

.align-self-top {
  -webkit-align-self: flex-start;
      -ms-flex-item-align: start;
          align-self: flex-start; }

.align-bottom {
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
      -ms-flex-align: end;
          align-items: flex-end; }

.align-self-bottom {
  -webkit-align-self: flex-end;
      -ms-flex-item-align: end;
          align-self: flex-end; }

.align-middle {
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center; }

.align-self-middle {
  -webkit-align-self: center;
      -ms-flex-item-align: center;
          align-self: center; }

.align-stretch {
  -webkit-box-align: stretch;
  -webkit-align-items: stretch;
      -ms-flex-align: stretch;
          align-items: stretch; }

.align-self-stretch {
  -webkit-align-self: stretch;
      -ms-flex-item-align: stretch;
          align-self: stretch; }

.align-center-middle {
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-align-content: center;
      -ms-flex-line-pack: center;
          align-content: center; }

.small-order-1 {
  -webkit-box-ordinal-group: 2;
  -webkit-order: 1;
      -ms-flex-order: 1;
          order: 1; }

.small-order-2 {
  -webkit-box-ordinal-group: 3;
  -webkit-order: 2;
      -ms-flex-order: 2;
          order: 2; }

.small-order-3 {
  -webkit-box-ordinal-group: 4;
  -webkit-order: 3;
      -ms-flex-order: 3;
          order: 3; }

.small-order-4 {
  -webkit-box-ordinal-group: 5;
  -webkit-order: 4;
      -ms-flex-order: 4;
          order: 4; }

.small-order-5 {
  -webkit-box-ordinal-group: 6;
  -webkit-order: 5;
      -ms-flex-order: 5;
          order: 5; }

.small-order-6 {
  -webkit-box-ordinal-group: 7;
  -webkit-order: 6;
      -ms-flex-order: 6;
          order: 6; }

@media print, screen and (min-width: 40em) {
  .medium-order-1 {
    -webkit-box-ordinal-group: 2;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .medium-order-2 {
    -webkit-box-ordinal-group: 3;
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2; }
  .medium-order-3 {
    -webkit-box-ordinal-group: 4;
    -webkit-order: 3;
        -ms-flex-order: 3;
            order: 3; }
  .medium-order-4 {
    -webkit-box-ordinal-group: 5;
    -webkit-order: 4;
        -ms-flex-order: 4;
            order: 4; }
  .medium-order-5 {
    -webkit-box-ordinal-group: 6;
    -webkit-order: 5;
        -ms-flex-order: 5;
            order: 5; }
  .medium-order-6 {
    -webkit-box-ordinal-group: 7;
    -webkit-order: 6;
        -ms-flex-order: 6;
            order: 6; } }

@media print, screen and (min-width: 64em) {
  .large-order-1 {
    -webkit-box-ordinal-group: 2;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .large-order-2 {
    -webkit-box-ordinal-group: 3;
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2; }
  .large-order-3 {
    -webkit-box-ordinal-group: 4;
    -webkit-order: 3;
        -ms-flex-order: 3;
            order: 3; }
  .large-order-4 {
    -webkit-box-ordinal-group: 5;
    -webkit-order: 4;
        -ms-flex-order: 4;
            order: 4; }
  .large-order-5 {
    -webkit-box-ordinal-group: 6;
    -webkit-order: 5;
        -ms-flex-order: 5;
            order: 5; }
  .large-order-6 {
    -webkit-box-ordinal-group: 7;
    -webkit-order: 6;
        -ms-flex-order: 6;
            order: 6; } }

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

.flex-child-auto {
  -webkit-box-flex: 1;
  -webkit-flex: 1 1 auto;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto; }

.flex-child-grow {
  -webkit-box-flex: 1;
  -webkit-flex: 1 0 auto;
      -ms-flex: 1 0 auto;
          flex: 1 0 auto; }

.flex-child-shrink {
  -webkit-box-flex: 0;
  -webkit-flex: 0 1 auto;
      -ms-flex: 0 1 auto;
          flex: 0 1 auto; }

.flex-dir-row {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
      -ms-flex-direction: row;
          flex-direction: row; }

.flex-dir-row-reverse {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -webkit-flex-direction: row-reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse; }

.flex-dir-column {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column; }

.flex-dir-column-reverse {
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
  -webkit-flex-direction: column-reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse; }

@media print, screen and (min-width: 40em) {
  .medium-flex-container {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex; }
  .medium-flex-child-auto {
    -webkit-box-flex: 1;
    -webkit-flex: 1 1 auto;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto; }
  .medium-flex-child-grow {
    -webkit-box-flex: 1;
    -webkit-flex: 1 0 auto;
        -ms-flex: 1 0 auto;
            flex: 1 0 auto; }
  .medium-flex-child-shrink {
    -webkit-box-flex: 0;
    -webkit-flex: 0 1 auto;
        -ms-flex: 0 1 auto;
            flex: 0 1 auto; }
  .medium-flex-dir-row {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row; }
  .medium-flex-dir-row-reverse {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: row-reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse; }
  .medium-flex-dir-column {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column; }
  .medium-flex-dir-column-reverse {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: column-reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse; } }

@media print, screen and (min-width: 64em) {
  .large-flex-container {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex; }
  .large-flex-child-auto {
    -webkit-box-flex: 1;
    -webkit-flex: 1 1 auto;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto; }
  .large-flex-child-grow {
    -webkit-box-flex: 1;
    -webkit-flex: 1 0 auto;
        -ms-flex: 1 0 auto;
            flex: 1 0 auto; }
  .large-flex-child-shrink {
    -webkit-box-flex: 0;
    -webkit-flex: 0 1 auto;
        -ms-flex: 0 1 auto;
            flex: 0 1 auto; }
  .large-flex-dir-row {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row; }
  .large-flex-dir-row-reverse {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: row-reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse; }
  .large-flex-dir-column {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column; }
  .large-flex-dir-column-reverse {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: column-reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse; } }

.hide {
  display: none !important; }

.invisible {
  visibility: hidden; }

@media screen and (max-width: 39.9375em) {
  .hide-for-small-only {
    display: none !important; } }

@media screen and (max-width: 0em), screen and (min-width: 40em) {
  .show-for-small-only {
    display: none !important; } }

@media print, screen and (min-width: 40em) {
  .hide-for-medium {
    display: none !important; } }

@media screen and (max-width: 39.9375em) {
  .show-for-medium {
    display: none !important; } }

@media screen and (min-width: 40em) and (max-width: 63.9375em) {
  .hide-for-medium-only {
    display: none !important; } }

@media screen and (max-width: 39.9375em), screen and (min-width: 64em) {
  .show-for-medium-only {
    display: none !important; } }

@media print, screen and (min-width: 64em) {
  .hide-for-large {
    display: none !important; } }

@media screen and (max-width: 63.9375em) {
  .show-for-large {
    display: none !important; } }

@media screen and (min-width: 64em) and (max-width: 74.9375em) {
  .hide-for-large-only {
    display: none !important; } }

@media screen and (max-width: 63.9375em), screen and (min-width: 75em) {
  .show-for-large-only {
    display: none !important; } }

.show-for-sr,
.show-on-focus {
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  -webkit-clip-path: inset(50%);
          clip-path: inset(50%);
  border: 0; }

.show-on-focus:active, .show-on-focus:focus {
  position: static !important;
  width: auto;
  height: auto;
  overflow: visible;
  clip: auto;
  white-space: normal;
  -webkit-clip-path: none;
          clip-path: none; }

.show-for-landscape,
.hide-for-portrait {
  display: block !important; }
  @media screen and (orientation: landscape) {
    .show-for-landscape,
    .hide-for-portrait {
      display: block !important; } }
  @media screen and (orientation: portrait) {
    .show-for-landscape,
    .hide-for-portrait {
      display: none !important; } }

.hide-for-landscape,
.show-for-portrait {
  display: none !important; }
  @media screen and (orientation: landscape) {
    .hide-for-landscape,
    .show-for-portrait {
      display: none !important; } }
  @media screen and (orientation: portrait) {
    .hide-for-landscape,
    .show-for-portrait {
      display: block !important; } }

.button {
  display: inline-block;
  vertical-align: middle;
  margin: 0 0 1rem 0;
  font-family: inherit;
  padding: 0.85em 1em;
  -webkit-appearance: none;
  border: 1px solid transparent;
  border-radius: 5px;
  -webkit-transition: background-color 0.25s ease-out, color 0.25s ease-out;
  transition: background-color 0.25s ease-out, color 0.25s ease-out;
  font-size: 0.9rem;
  line-height: 1;
  text-align: center;
  cursor: pointer;
  background-color: #1779ba;
  color: #fefefe; }
  [data-whatinput='mouse'] .button {
    outline: 0; }
  .button:hover, .button:focus {
    background-color: #14679e;
    color: #fefefe; }
  .button.tiny {
    font-size: 0.6rem; }
  .button.small {
    font-size: 0.75rem; }
  .button.large {
    font-size: 1.25rem; }
  .button.expanded {
    display: block;
    width: 100%;
    margin-right: 0;
    margin-left: 0; }
  .button.primary {
    background-color: #1779ba;
    color: #fefefe; }
    .button.primary:hover, .button.primary:focus {
      background-color: #126195;
      color: #fefefe; }
  .button.secondary {
    background-color: #767676;
    color: #fefefe; }
    .button.secondary:hover, .button.secondary:focus {
      background-color: #5e5e5e;
      color: #fefefe; }
  .button.success {
    background-color: #39aa47;
    color: #0a0a0a; }
    .button.success:hover, .button.success:focus {
      background-color: #2e8839;
      color: #0a0a0a; }
  .button.warning {
    background-color: #ffae00;
    color: #0a0a0a; }
    .button.warning:hover, .button.warning:focus {
      background-color: #cc8b00;
      color: #0a0a0a; }
  .button.alert {
    background-color: #f01414;
    color: #0a0a0a; }
    .button.alert:hover, .button.alert:focus {
      background-color: #c40c0c;
      color: #0a0a0a; }
  .button.disabled, .button[disabled] {
    opacity: 0.25;
    cursor: not-allowed; }
    .button.disabled, .button.disabled:hover, .button.disabled:focus, .button[disabled], .button[disabled]:hover, .button[disabled]:focus {
      background-color: #1779ba;
      color: #fefefe; }
    .button.disabled.primary, .button[disabled].primary {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.primary, .button.disabled.primary:hover, .button.disabled.primary:focus, .button[disabled].primary, .button[disabled].primary:hover, .button[disabled].primary:focus {
        background-color: #1779ba;
        color: #fefefe; }
    .button.disabled.secondary, .button[disabled].secondary {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.secondary, .button.disabled.secondary:hover, .button.disabled.secondary:focus, .button[disabled].secondary, .button[disabled].secondary:hover, .button[disabled].secondary:focus {
        background-color: #767676;
        color: #fefefe; }
    .button.disabled.success, .button[disabled].success {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.success, .button.disabled.success:hover, .button.disabled.success:focus, .button[disabled].success, .button[disabled].success:hover, .button[disabled].success:focus {
        background-color: #39aa47;
        color: #0a0a0a; }
    .button.disabled.warning, .button[disabled].warning {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.warning, .button.disabled.warning:hover, .button.disabled.warning:focus, .button[disabled].warning, .button[disabled].warning:hover, .button[disabled].warning:focus {
        background-color: #ffae00;
        color: #0a0a0a; }
    .button.disabled.alert, .button[disabled].alert {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.alert, .button.disabled.alert:hover, .button.disabled.alert:focus, .button[disabled].alert, .button[disabled].alert:hover, .button[disabled].alert:focus {
        background-color: #f01414;
        color: #0a0a0a; }
  .button.hollow {
    border: 1px solid #1779ba;
    color: #1779ba; }
    .button.hollow, .button.hollow:hover, .button.hollow:focus {
      background-color: transparent; }
    .button.hollow.disabled, .button.hollow.disabled:hover, .button.hollow.disabled:focus, .button.hollow[disabled], .button.hollow[disabled]:hover, .button.hollow[disabled]:focus {
      background-color: transparent; }
    .button.hollow:hover, .button.hollow:focus {
      border-color: #0c3d5d;
      color: #0c3d5d; }
      .button.hollow:hover.disabled, .button.hollow:hover[disabled], .button.hollow:focus.disabled, .button.hollow:focus[disabled] {
        border: 1px solid #1779ba;
        color: #1779ba; }
    .button.hollow.primary {
      border: 1px solid #1779ba;
      color: #1779ba; }
      .button.hollow.primary:hover, .button.hollow.primary:focus {
        border-color: #0c3d5d;
        color: #0c3d5d; }
        .button.hollow.primary:hover.disabled, .button.hollow.primary:hover[disabled], .button.hollow.primary:focus.disabled, .button.hollow.primary:focus[disabled] {
          border: 1px solid #1779ba;
          color: #1779ba; }
    .button.hollow.secondary {
      border: 1px solid #767676;
      color: #767676; }
      .button.hollow.secondary:hover, .button.hollow.secondary:focus {
        border-color: #3b3b3b;
        color: #3b3b3b; }
        .button.hollow.secondary:hover.disabled, .button.hollow.secondary:hover[disabled], .button.hollow.secondary:focus.disabled, .button.hollow.secondary:focus[disabled] {
          border: 1px solid #767676;
          color: #767676; }
    .button.hollow.success {
      border: 1px solid #39aa47;
      color: #39aa47; }
      .button.hollow.success:hover, .button.hollow.success:focus {
        border-color: #1d5524;
        color: #1d5524; }
        .button.hollow.success:hover.disabled, .button.hollow.success:hover[disabled], .button.hollow.success:focus.disabled, .button.hollow.success:focus[disabled] {
          border: 1px solid #39aa47;
          color: #39aa47; }
    .button.hollow.warning {
      border: 1px solid #ffae00;
      color: #ffae00; }
      .button.hollow.warning:hover, .button.hollow.warning:focus {
        border-color: #805700;
        color: #805700; }
        .button.hollow.warning:hover.disabled, .button.hollow.warning:hover[disabled], .button.hollow.warning:focus.disabled, .button.hollow.warning:focus[disabled] {
          border: 1px solid #ffae00;
          color: #ffae00; }
    .button.hollow.alert {
      border: 1px solid #f01414;
      color: #f01414; }
      .button.hollow.alert:hover, .button.hollow.alert:focus {
        border-color: #7a0808;
        color: #7a0808; }
        .button.hollow.alert:hover.disabled, .button.hollow.alert:hover[disabled], .button.hollow.alert:focus.disabled, .button.hollow.alert:focus[disabled] {
          border: 1px solid #f01414;
          color: #f01414; }
  .button.clear {
    border: 1px solid #1779ba;
    color: #1779ba; }
    .button.clear, .button.clear:hover, .button.clear:focus {
      background-color: transparent; }
    .button.clear.disabled, .button.clear.disabled:hover, .button.clear.disabled:focus, .button.clear[disabled], .button.clear[disabled]:hover, .button.clear[disabled]:focus {
      background-color: transparent; }
    .button.clear:hover, .button.clear:focus {
      border-color: #0c3d5d;
      color: #0c3d5d; }
      .button.clear:hover.disabled, .button.clear:hover[disabled], .button.clear:focus.disabled, .button.clear:focus[disabled] {
        border: 1px solid #1779ba;
        color: #1779ba; }
    .button.clear, .button.clear.disabled, .button.clear[disabled], .button.clear:hover, .button.clear:hover.disabled, .button.clear:hover[disabled], .button.clear:focus, .button.clear:focus.disabled, .button.clear:focus[disabled] {
      border-color: transparent; }
    .button.clear.primary {
      border: 1px solid #1779ba;
      color: #1779ba; }
      .button.clear.primary:hover, .button.clear.primary:focus {
        border-color: #0c3d5d;
        color: #0c3d5d; }
        .button.clear.primary:hover.disabled, .button.clear.primary:hover[disabled], .button.clear.primary:focus.disabled, .button.clear.primary:focus[disabled] {
          border: 1px solid #1779ba;
          color: #1779ba; }
      .button.clear.primary, .button.clear.primary.disabled, .button.clear.primary[disabled], .button.clear.primary:hover, .button.clear.primary:hover.disabled, .button.clear.primary:hover[disabled], .button.clear.primary:focus, .button.clear.primary:focus.disabled, .button.clear.primary:focus[disabled] {
        border-color: transparent; }
    .button.clear.secondary {
      border: 1px solid #767676;
      color: #767676; }
      .button.clear.secondary:hover, .button.clear.secondary:focus {
        border-color: #3b3b3b;
        color: #3b3b3b; }
        .button.clear.secondary:hover.disabled, .button.clear.secondary:hover[disabled], .button.clear.secondary:focus.disabled, .button.clear.secondary:focus[disabled] {
          border: 1px solid #767676;
          color: #767676; }
      .button.clear.secondary, .button.clear.secondary.disabled, .button.clear.secondary[disabled], .button.clear.secondary:hover, .button.clear.secondary:hover.disabled, .button.clear.secondary:hover[disabled], .button.clear.secondary:focus, .button.clear.secondary:focus.disabled, .button.clear.secondary:focus[disabled] {
        border-color: transparent; }
    .button.clear.success {
      border: 1px solid #39aa47;
      color: #39aa47; }
      .button.clear.success:hover, .button.clear.success:focus {
        border-color: #1d5524;
        color: #1d5524; }
        .button.clear.success:hover.disabled, .button.clear.success:hover[disabled], .button.clear.success:focus.disabled, .button.clear.success:focus[disabled] {
          border: 1px solid #39aa47;
          color: #39aa47; }
      .button.clear.success, .button.clear.success.disabled, .button.clear.success[disabled], .button.clear.success:hover, .button.clear.success:hover.disabled, .button.clear.success:hover[disabled], .button.clear.success:focus, .button.clear.success:focus.disabled, .button.clear.success:focus[disabled] {
        border-color: transparent; }
    .button.clear.warning {
      border: 1px solid #ffae00;
      color: #ffae00; }
      .button.clear.warning:hover, .button.clear.warning:focus {
        border-color: #805700;
        color: #805700; }
        .button.clear.warning:hover.disabled, .button.clear.warning:hover[disabled], .button.clear.warning:focus.disabled, .button.clear.warning:focus[disabled] {
          border: 1px solid #ffae00;
          color: #ffae00; }
      .button.clear.warning, .button.clear.warning.disabled, .button.clear.warning[disabled], .button.clear.warning:hover, .button.clear.warning:hover.disabled, .button.clear.warning:hover[disabled], .button.clear.warning:focus, .button.clear.warning:focus.disabled, .button.clear.warning:focus[disabled] {
        border-color: transparent; }
    .button.clear.alert {
      border: 1px solid #f01414;
      color: #f01414; }
      .button.clear.alert:hover, .button.clear.alert:focus {
        border-color: #7a0808;
        color: #7a0808; }
        .button.clear.alert:hover.disabled, .button.clear.alert:hover[disabled], .button.clear.alert:focus.disabled, .button.clear.alert:focus[disabled] {
          border: 1px solid #f01414;
          color: #f01414; }
      .button.clear.alert, .button.clear.alert.disabled, .button.clear.alert[disabled], .button.clear.alert:hover, .button.clear.alert:hover.disabled, .button.clear.alert:hover[disabled], .button.clear.alert:focus, .button.clear.alert:focus.disabled, .button.clear.alert:focus[disabled] {
        border-color: transparent; }
  .button.dropdown::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 0.4em;
    content: '';
    border-bottom-width: 0;
    border-top-style: solid;
    border-color: #fefefe transparent transparent;
    position: relative;
    top: 0.4em;
    display: inline-block;
    float: right;
    margin-left: 1em; }
  .button.dropdown.hollow::after {
    border-top-color: #1779ba; }
  .button.dropdown.hollow.primary::after {
    border-top-color: #1779ba; }
  .button.dropdown.hollow.secondary::after {
    border-top-color: #767676; }
  .button.dropdown.hollow.success::after {
    border-top-color: #39aa47; }
  .button.dropdown.hollow.warning::after {
    border-top-color: #ffae00; }
  .button.dropdown.hollow.alert::after {
    border-top-color: #f01414; }
  .button.arrow-only::after {
    top: -0.1em;
    float: none;
    margin-left: 0; }

a.button:hover, a.button:focus {
  text-decoration: none; }

.slider {
  position: relative;
  height: 0.5rem;
  margin-top: 1.25rem;
  margin-bottom: 2.25rem;
  background-color: #e6e6e6;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  -ms-touch-action: none;
      touch-action: none; }

.slider-fill {
  position: absolute;
  top: 0;
  left: 0;
  display: inline-block;
  max-width: 100%;
  height: 0.5rem;
  background-color: #cacaca;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out; }
  .slider-fill.is-dragging {
    -webkit-transition: all 0s linear;
    transition: all 0s linear; }

.slider-handle {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
  left: 0;
  z-index: 1;
  display: inline-block;
  width: 1.4rem;
  height: 1.4rem;
  border-radius: 5px;
  background-color: #1779ba;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  -ms-touch-action: manipulation;
      touch-action: manipulation; }
  [data-whatinput='mouse'] .slider-handle {
    outline: 0; }
  .slider-handle:hover {
    background-color: #14679e; }
  .slider-handle.is-dragging {
    -webkit-transition: all 0s linear;
    transition: all 0s linear; }

.slider.disabled,
.slider[disabled] {
  opacity: 0.25;
  cursor: not-allowed; }

.slider.vertical {
  display: inline-block;
  width: 0.5rem;
  height: 12.5rem;
  margin: 0 1.25rem;
  -webkit-transform: scale(1, -1);
      -ms-transform: scale(1, -1);
          transform: scale(1, -1); }
  .slider.vertical .slider-fill {
    top: 0;
    width: 0.5rem;
    max-height: 100%; }
  .slider.vertical .slider-handle {
    position: absolute;
    top: 0;
    left: 50%;
    width: 1.4rem;
    height: 1.4rem;
    -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%); }

.media-object {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 1rem;
  -webkit-flex-wrap: nowrap;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap; }
  .media-object img {
    max-width: none; }
  @media screen and (max-width: 39.9375em) {
    .media-object.stack-for-small {
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap; } }
  @media screen and (max-width: 39.9375em) {
    .media-object.stack-for-small .media-object-section {
      padding: 0;
      padding-bottom: 1rem;
      -webkit-flex-basis: 100%;
          -ms-flex-preferred-size: 100%;
              flex-basis: 100%;
      max-width: 100%; }
      .media-object.stack-for-small .media-object-section img {
        width: 100%; } }

.media-object-section {
  -webkit-box-flex: 0;
  -webkit-flex: 0 1 auto;
      -ms-flex: 0 1 auto;
          flex: 0 1 auto; }
  .media-object-section:first-child {
    padding-right: 1rem; }
  .media-object-section:last-child:not(:nth-child(2)) {
    padding-left: 1rem; }
  .media-object-section > :last-child {
    margin-bottom: 0; }
  .media-object-section.main-section {
    -webkit-box-flex: 1;
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px; }

body.is-reveal-open {
  overflow: hidden; }

html.is-reveal-open,
html.is-reveal-open body {
  min-height: 100%;
  overflow: hidden;
  position: fixed;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none; }

.reveal-overlay {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1005;
  display: none;
  background-color: rgba(10, 10, 10, 0.45);
  overflow-y: scroll; }

.reveal {
  z-index: 1006;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  display: none;
  padding: 1rem;
  border: 1px solid #cacaca;
  border-radius: 5px;
  background-color: #fefefe;
  position: relative;
  top: 100px;
  margin-right: auto;
  margin-left: auto;
  overflow-y: auto; }
  [data-whatinput='mouse'] .reveal {
    outline: 0; }
  @media print, screen and (min-width: 40em) {
    .reveal {
      min-height: 0; } }
  .reveal .column, .reveal .columns {
    min-width: 0; }
  .reveal > :last-child {
    margin-bottom: 0; }
  @media print, screen and (min-width: 40em) {
    .reveal {
      width: 600px;
      max-width: 55.625rem; } }
  .reveal.collapse {
    padding: 0; }
  @media print, screen and (min-width: 40em) {
    .reveal.tiny {
      width: 30%;
      max-width: 55.625rem; } }
  @media print, screen and (min-width: 40em) {
    .reveal.small {
      width: 50%;
      max-width: 55.625rem; } }
  @media print, screen and (min-width: 40em) {
    .reveal.large {
      width: 90%;
      max-width: 55.625rem; } }
  .reveal.full {
    top: 0;
    left: 0;
    width: 100%;
    max-width: none;
    height: 100%;
    height: 100vh;
    min-height: 100vh;
    margin-left: 0;
    border: 0;
    border-radius: 0; }
  @media screen and (max-width: 39.9375em) {
    .reveal {
      top: 0;
      left: 0;
      width: 100%;
      max-width: none;
      height: 100%;
      height: 100vh;
      min-height: 100vh;
      margin-left: 0;
      border: 0;
      border-radius: 0; } }
  .reveal.without-overlay {
    position: fixed; }

.callout {
  position: relative;
  margin: 0 0 1rem 0;
  padding: 1rem;
  border: 1px solid rgba(10, 10, 10, 0.25);
  border-radius: 5px;
  background-color: white;
  color: #0a0a0a; }
  .callout > :first-child {
    margin-top: 0; }
  .callout > :last-child {
    margin-bottom: 0; }
  .callout.primary {
    background-color: #d7ecfa;
    color: #0a0a0a; }
  .callout.secondary {
    background-color: #eaeaea;
    color: #0a0a0a; }
  .callout.success {
    background-color: #dff4e2;
    color: #0a0a0a; }
  .callout.warning {
    background-color: #fff3d9;
    color: #0a0a0a; }
  .callout.alert {
    background-color: #fddcdc;
    color: #0a0a0a; }
  .callout.small {
    padding-top: 0.5rem;
    padding-right: 0.5rem;
    padding-bottom: 0.5rem;
    padding-left: 0.5rem; }
  .callout.large {
    padding-top: 3rem;
    padding-right: 3rem;
    padding-bottom: 3rem;
    padding-left: 3rem; }

[type='text'], [type='password'], [type='date'], [type='datetime'], [type='datetime-local'], [type='month'], [type='week'], [type='email'], [type='number'], [type='search'], [type='tel'], [type='time'], [type='url'], [type='color'],
textarea {
  display: block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
  height: 2.4375rem;
  margin: 0 0 1rem;
  padding: 0.5rem;
  border: 1px solid #cacaca;
  border-radius: 5px;
  background-color: #fefefe;
  -webkit-box-shadow: inset 0 1px 2px rgba(10, 10, 10, 0.1);
          box-shadow: inset 0 1px 2px rgba(10, 10, 10, 0.1);
  font-family: inherit;
  font-size: 1rem;
  font-weight: normal;
  line-height: 1.5;
  color: #0a0a0a;
  -webkit-transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
  transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none; }
  [type='text']:focus, [type='password']:focus, [type='date']:focus, [type='datetime']:focus, [type='datetime-local']:focus, [type='month']:focus, [type='week']:focus, [type='email']:focus, [type='number']:focus, [type='search']:focus, [type='tel']:focus, [type='time']:focus, [type='url']:focus, [type='color']:focus,
  textarea:focus {
    outline: none;
    border: 1px solid #8a8a8a;
    background-color: #fefefe;
    -webkit-box-shadow: 0 0 5px #cacaca;
            box-shadow: 0 0 5px #cacaca;
    -webkit-transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
    transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
    transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
    transition: box-shadow 0.5s, border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s; }

textarea {
  max-width: 100%; }
  textarea[rows] {
    height: auto; }

input::-webkit-input-placeholder, textarea::-webkit-input-placeholder {
  color: #cacaca; }

input::-moz-placeholder, textarea::-moz-placeholder {
  color: #cacaca; }

input:-ms-input-placeholder, textarea:-ms-input-placeholder {
  color: #cacaca; }

input::-ms-input-placeholder, textarea::-ms-input-placeholder {
  color: #cacaca; }

input::placeholder,
textarea::placeholder {
  color: #cacaca; }

input:disabled, input[readonly],
textarea:disabled,
textarea[readonly] {
  background-color: #e6e6e6;
  cursor: not-allowed; }

[type='submit'],
[type='button'] {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border-radius: 5px; }

input[type='search'] {
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }

[type='file'],
[type='checkbox'],
[type='radio'] {
  margin: 0 0 1rem; }

[type='checkbox'] + label,
[type='radio'] + label {
  display: inline-block;
  vertical-align: baseline;
  margin-left: 0.5rem;
  margin-right: 1rem;
  margin-bottom: 0; }
  [type='checkbox'] + label[for],
  [type='radio'] + label[for] {
    cursor: pointer; }

label > [type='checkbox'],
label > [type='radio'] {
  margin-right: 0.5rem; }

[type='file'] {
  width: 100%; }

label {
  display: block;
  margin: 0;
  font-size: 0.875rem;
  font-weight: normal;
  line-height: 1.8;
  color: #0a0a0a; }
  label.middle {
    margin: 0 0 1rem;
    padding: 0.5625rem 0; }

.help-text {
  margin-top: -0.5rem;
  font-size: 0.8125rem;
  font-style: italic;
  color: #0a0a0a; }

.input-group {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  margin-bottom: 1rem;
  -webkit-box-align: stretch;
  -webkit-align-items: stretch;
      -ms-flex-align: stretch;
          align-items: stretch; }
  .input-group > :first-child {
    border-radius: 5px 0 0 5px; }
  .input-group > :last-child > * {
    border-radius: 0 5px 5px 0; }

.input-group-label, .input-group-field, .input-group-button, .input-group-button a,
.input-group-button input,
.input-group-button button,
.input-group-button label {
  margin: 0;
  white-space: nowrap; }

.input-group-label {
  padding: 0 1rem;
  border: 1px solid #cacaca;
  background: #e6e6e6;
  color: #0a0a0a;
  text-align: center;
  white-space: nowrap;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 auto;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center; }
  .input-group-label:first-child {
    border-right: 0; }
  .input-group-label:last-child {
    border-left: 0; }

.input-group-field {
  border-radius: 0;
  -webkit-box-flex: 1;
  -webkit-flex: 1 1 0px;
      -ms-flex: 1 1 0px;
          flex: 1 1 0px;
  height: auto;
  min-width: 0; }

.input-group-button {
  padding-top: 0;
  padding-bottom: 0;
  text-align: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 auto;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto; }
  .input-group-button a,
  .input-group-button input,
  .input-group-button button,
  .input-group-button label {
    height: auto;
    -webkit-align-self: stretch;
        -ms-flex-item-align: stretch;
            align-self: stretch;
    padding-top: 0;
    padding-bottom: 0;
    font-size: 1rem; }

fieldset {
  margin: 0;
  padding: 0;
  border: 0; }

legend {
  max-width: 100%;
  margin-bottom: 0.5rem; }

.fieldset {
  margin: 1.125rem 0;
  padding: 1.25rem;
  border: 1px solid #cacaca; }
  .fieldset legend {
    margin: 0;
    margin-left: -0.1875rem;
    padding: 0 0.1875rem; }

select {
  height: 2.4375rem;
  margin: 0 0 1rem;
  padding: 0.5rem;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: 1px solid #cacaca;
  border-radius: 5px;
  background-color: #fefefe;
  font-family: inherit;
  font-size: 1rem;
  font-weight: normal;
  line-height: 1.5;
  color: #0a0a0a;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' version='1.1' width='32' height='24' viewBox='0 0 32 24'><polygon points='0,0 32,0 16,24' style='fill: rgb%28138, 138, 138%29'></polygon></svg>");
  background-origin: content-box;
  background-position: right -1rem center;
  background-repeat: no-repeat;
  background-size: 9px 6px;
  padding-right: 1.5rem;
  -webkit-transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
  transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s; }
  @media screen and (min-width: 0\0) {
    select {
      background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAYCAYAAACbU/80AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIpJREFUeNrEkckNgDAMBBfRkEt0ObRBBdsGXUDgmQfK4XhH2m8czQAAy27R3tsw4Qfe2x8uOO6oYLb6GlOor3GF+swURAOmUJ+RwtEJs9WvTGEYxBXqI1MQAZhCfUQKRzDMVj+TwrAIV6jvSUEkYAr1LSkcyTBb/V+KYfX7xAeusq3sLDtGH3kEGACPWIflNZfhRQAAAABJRU5ErkJggg=="); } }
  select:focus {
    outline: none;
    border: 1px solid #8a8a8a;
    background-color: #fefefe;
    -webkit-box-shadow: 0 0 5px #cacaca;
            box-shadow: 0 0 5px #cacaca;
    -webkit-transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
    transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
    transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
    transition: box-shadow 0.5s, border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s; }
  select:disabled {
    background-color: #e6e6e6;
    cursor: not-allowed; }
  select::-ms-expand {
    display: none; }
  select[multiple] {
    height: auto;
    background-image: none; }

.is-invalid-input:not(:focus) {
  border-color: #fefefe;
  background-color: #fefefe; }
  .is-invalid-input:not(:focus)::-webkit-input-placeholder {
    color: #fefefe; }
  .is-invalid-input:not(:focus)::-moz-placeholder {
    color: #fefefe; }
  .is-invalid-input:not(:focus):-ms-input-placeholder {
    color: #fefefe; }
  .is-invalid-input:not(:focus)::-ms-input-placeholder {
    color: #fefefe; }
  .is-invalid-input:not(:focus)::placeholder {
    color: #fefefe; }

.is-invalid-label {
  color: #f01414; }

.form-error {
  display: none;
  margin-top: -0.5rem;
  margin-bottom: 1rem;
  font-size: 0.75rem;
  font-weight: bold;
  color: #f01414; }
  .form-error.is-visible {
    display: block; }

.responsive-embed,
.flex-video {
  position: relative;
  height: 0;
  margin-bottom: 1rem;
  padding-bottom: 75%;
  overflow: hidden; }
  .responsive-embed iframe,
  .responsive-embed object,
  .responsive-embed embed,
  .responsive-embed video,
  .flex-video iframe,
  .flex-video object,
  .flex-video embed,
  .flex-video video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }
  .responsive-embed.widescreen,
  .flex-video.widescreen {
    padding-bottom: 56.25%; }

.foundation-mq {
  font-family: "small=0em&medium=40em&large=64em&xlarge=75em&xxlarge=90em"; }

@font-face {
  font-family: 'NeueSansPro-Black';
  src: url("/.resources/bb-pro-senectute-theme/webresources/fonts/NeueSansPro-Black.otf") format("opentype"); }

@font-face {
  font-family: 'NeueSansPro-BlackItalic';
  src: url("/.resources/bb-pro-senectute-theme/webresources/fonts/NeueSansPro-BlackItalic.otf") format("opentype"); }

@font-face {
  font-family: 'NeueSansPro-Bold';
  src: url("/.resources/bb-pro-senectute-theme/webresources/fonts/NeueSansPro-Bold.otf") format("opentype"); }

@font-face {
  font-family: 'NeueSansPro-BoldItalic';
  src: url("/.resources/bb-pro-senectute-theme/webresources/fonts/NeueSansPro-BoldItalic.otf") format("opentype"); }

@font-face {
  font-family: 'NeueSansPro-Light';
  src: url("/.resources/bb-pro-senectute-theme/webresources/fonts/NeueSansPro-Light.otf") format("opentype"); }

@font-face {
  font-family: 'NeueSansPro-LightItalic';
  src: url("/.resources/bb-pro-senectute-theme/webresources/fonts/NeueSansPro-LightItalic.otf") format("opentype"); }

@font-face {
  font-family: 'NeueSansPro-Normal';
  src: url("/.resources/bb-pro-senectute-theme/webresources/fonts/NeueSansPro-Normal.otf") format("opentype"); }

@font-face {
  font-family: 'NeueSansPro-NormalItalic';
  src: url("/.resources/bb-pro-senectute-theme/webresources/fonts/NeueSansPro-NormalItalic.otf") format("opentype"); }

@font-face {
  font-family: 'NeueSansPro-SemiBold';
  src: url("/.resources/bb-pro-senectute-theme/webresources/fonts/NeueSansPro-SemiBold.otf") format("opentype"); }

@font-face {
  font-family: 'NeueSansPro-SemiBoldItalic';
  src: url("/.resources/bb-pro-senectute-theme/webresources/fonts/NeueSansPro-SemiBoldItalic.otf") format("opentype"); }

@font-face {
  font-family: 'NeueSansPro-Thin';
  src: url("/.resources/bb-pro-senectute-theme/webresources/fonts/NeueSansPro-Thin.otf") format("opentype"); }

@font-face {
  font-family: 'NeueSansPro-ThinItalic';
  src: url("/.resources/bb-pro-senectute-theme/webresources/fonts/NeueSansPro-ThinItalic.otf") format("opentype"); }

:root {
  --fontFamily: "verdana", "helvetica", sans-serif; }

* {
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }

:root {
  --box-shadow: 0 0 7px rgba(20, 20, 20, 0.3); }

::-moz-selection {
  color: #ffffff;
  background: #006F69; }

::selection {
  color: #ffffff;
  background: #006F69; }

::-moz-selection {
  color: #ffffff;
  background: #006F69; }

body {
  margin: 0;
  padding: 0;
  background-color: #f3f3f3;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 1rem;
  line-height: 1.2rem;
  font-family: var(--fontFamily);
  overflow-y: auto;
  overflow-x: hidden; }

ul {
  margin: 0;
  padding: 0; }

li {
  list-style-type: none; }

span.title {
  display: block;
  font-size: 1rem;
  line-height: 1.5rem;
  font-family: var(--fontFamily);
  font-weight: normal;
  margin-top: 0;
  margin-bottom: 1rem; }

h1 {
  font-size: 2.5rem;
  color: #006F69;
  line-height: 3rem;
  font-family: NeueSansPro-SemiBold, Helvetiva, sans-serif;
  font-weight: normal;
  letter-spacing: 0.6px;
  margin-top: 0;
  margin-bottom: 2rem; }
  @media screen and (max-width: 39.9375em) {
    h1 {
      font-size: 2rem;
      margin-bottom: 1rem; } }
  #footer h1 {
    font-size: 0.875rem;
    line-height: 1.4375rem;
    font-family: var(--fontFamily);
    font-weight: bold; }

h2 {
  font-size: 1.875rem;
  color: #006F69;
  line-height: 2.25rem;
  font-family: NeueSansPro-SemiBold, Helvetiva, sans-serif;
  font-weight: normal;
  letter-spacing: 0.7px;
  margin-top: 0;
  margin-bottom: 0.5rem; }
  #footer h2 {
    font-size: 0.875rem;
    line-height: 1.4375rem;
    font-family: var(--fontFamily);
    font-weight: bold;
    margin-bottom: 0.75rem; }

h3,
h4,
h5 {
  font-size: 1.625rem;
  color: #006F69;
  line-height: 1.95rem;
  font-family: NeueSansPro-SemiBold, Helvetiva, sans-serif;
  font-weight: normal;
  letter-spacing: 0.7px;
  margin-top: 0;
  margin-bottom: 0.8125rem; }
  #footer h3, #footer
  h4, #footer
  h5 {
    font-size: 0.875rem;
    line-height: 1.4375rem;
    font-family: var(--fontFamily);
    font-weight: bold;
    margin-bottom: 1.375rem; }

h1,
h2,
h3,
h4,
h5 {
  -webkit-hyphens: auto;
      -ms-hyphens: auto;
          hyphens: auto; }
  h1 a,
  h2 a,
  h3 a,
  h4 a,
  h5 a {
    color: inherit;
    -webkit-hyphens: auto;
        -ms-hyphens: auto;
            hyphens: auto;
    display: block; }

p.lead {
  font-size: 1.3rem;
  color: #141414;
  line-height: 1.8rem;
  font-family: NeueSansPro-SemiBold, Helvetiva, sans-serif;
  font-weight: normal;
  letter-spacing: 0.6px;
  margin-bottom: 0.625rem; }
  #footer p.lead {
    font-weight: bold;
    font-size: 0.875rem;
    line-height: 1.4375rem;
    font-family: var(--fontFamily); }

p {
  font-size: 1rem;
  line-height: 1.5rem;
  font-family: var(--fontFamily);
  margin-top: 0; }
  #footer p {
    font-size: 0.875rem;
    line-height: 1.4375rem;
    font-family: var(--fontFamily);
    margin-bottom: 0.75rem; }

li {
  line-height: 1.5rem; }

a {
  text-decoration: none; }

.text p + ul, .text p + ol {
  margin-top: -1rem; }

button {
  padding: 0;
  border: none;
  font: inherit;
  color: inherit;
  background-color: transparent;
  cursor: pointer; }

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

button:focus {
  outline: none; }

.s-mgnllink {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  line-height: 15px;
  font-size: 9px;
  cursor: pointer;
  background-color: #03e1ff;
  color: white;
  padding: 2px 5px 2px 5px;
  font-family: Verdana, sans-serif !important;
  z-index: 9999999;
  text-transform: uppercase; }

.text li a,
.text p a {
  text-decoration: underline;
  color: #006F69; }
  .text li a:hover,
  .text p a:hover {
    color: #005f5a; }

.text.color p, .text.color strong, .text.color li {
  color: inherit; }

.text.color:not(.default) a {
  color: inherit; }

.text ul, .text ol {
  padding-left: 1.25rem;
  margin-top: 0;
  margin-bottom: 1rem; }
  .text ul li, .text ol li {
    list-style-type: inherit;
    margin-bottom: 0.1875rem; }

.text table {
  border: 1px solid #141414;
  border-collapse: collapse; }
  .text table td, .text table th {
    padding: 0.4375rem; }

iframe {
  width: 100%;
  border: none;
  margin: 0;
  padding: 0; }

@media screen and (max-width: 39.9375em) {
  .spacer.small-1 {
    height: 1rem; }
  .spacer.small-2 {
    height: 2rem; }
  .spacer.small-3 {
    height: 3rem; }
  .spacer.small-4 {
    height: 4rem; }
  .spacer.small-5 {
    height: 5rem; }
  .spacer.small-6 {
    height: 6rem; }
  .spacer.small-7 {
    height: 7rem; }
  .spacer.small-8 {
    height: 8rem; }
  .spacer.small-9 {
    height: 9rem; }
  .spacer.small-10 {
    height: 10rem; }
  .spacer.small-11 {
    height: 11rem; }
  .spacer.small-12 {
    height: 12rem; } }

@media screen and (min-width: 40em) and (max-width: 63.9375em) {
  .spacer.medium-1 {
    height: 1rem; }
  .spacer.medium-2 {
    height: 2rem; }
  .spacer.medium-3 {
    height: 3rem; }
  .spacer.medium-4 {
    height: 4rem; }
  .spacer.medium-5 {
    height: 5rem; }
  .spacer.medium-6 {
    height: 6rem; }
  .spacer.medium-7 {
    height: 7rem; }
  .spacer.medium-8 {
    height: 8rem; }
  .spacer.medium-9 {
    height: 9rem; }
  .spacer.medium-10 {
    height: 10rem; }
  .spacer.medium-11 {
    height: 11rem; }
  .spacer.medium-12 {
    height: 12rem; } }

@media print, screen and (min-width: 64em) {
  .spacer.large-1 {
    height: 1rem; }
  .spacer.large-2 {
    height: 2rem; }
  .spacer.large-3 {
    height: 3rem; }
  .spacer.large-4 {
    height: 4rem; }
  .spacer.large-5 {
    height: 5rem; }
  .spacer.large-6 {
    height: 6rem; }
  .spacer.large-7 {
    height: 7rem; }
  .spacer.large-8 {
    height: 8rem; }
  .spacer.large-9 {
    height: 9rem; }
  .spacer.large-10 {
    height: 10rem; }
  .spacer.large-11 {
    height: 11rem; }
  .spacer.large-12 {
    height: 12rem; } }

body .reveal-overlay {
  background-color: rgba(0, 0, 0, 0.9); }

body .reveal {
  width: 100vw !important;
  max-width: 100vw !important;
  height: 100vh !important;
  line-height: 100vh;
  border: none;
  background: none; }
  @media print, screen and (min-width: 40em) {
    body .reveal {
      padding: 1.875rem 3.125rem; } }
  body .reveal > * {
    max-width: 100%; }
  body .reveal > img {
    height: auto;
    vertical-align: middle; }
  body .reveal .close-button {
    position: absolute;
    top: 1.25rem;
    right: 1.25rem;
    height: 2.125rem;
    line-height: 1.25rem;
    padding: 0.4375rem;
    cursor: pointer; }
    body .reveal .close-button svg {
      width: 1.25rem;
      height: 1.25rem; }

body.brown #header, body.brown footer#footer {
  background-color: #B4838A; }

body.green #header, body.green footer#footer {
  background-color: #39AA47; }

body.blue #header, body.blue footer#footer {
  background-color: #69A3A9; }

body.darkblue #header, body.darkblue footer#footer {
  background-color: #006F69; }

.donate-button,
.totop {
  display: inline-block;
  background-color: #006F69;
  border-radius: 3.75rem;
  -webkit-box-shadow: 0 0 7px rgba(20, 20, 20, 0.3);
          box-shadow: 0 0 7px rgba(20, 20, 20, 0.3);
  padding: 0.875rem 1.25rem 0.6875rem 1.25rem;
  -webkit-transition: all 300ms ease-in-out;
  transition: all 300ms ease-in-out; }
  .donate-button span,
  .totop span {
    display: block;
    float: left;
    margin: 0 0.1875rem;
    font-size: 1rem;
    color: #ffffff;
    line-height: 1.2rem;
    font-family: var(--fontFamily);
    letter-spacing: 0.7px; }
    .donate-button span.icon,
    .totop span.icon {
      width: 1.25rem;
      height: 1.25rem;
      margin-top: 0.0625rem; }
      .donate-button span.icon svg,
      .totop span.icon svg {
        max-width: 100%; }
        .donate-button span.icon svg path,
        .totop span.icon svg path {
          fill: #ffffff;
          stroke: #ffffff; }
  .donate-button:hover,
  .totop:hover {
    background-color: #00837c; }

.donate-mobile {
  position: absolute;
  left: 0.9375rem;
  top: 0.75rem;
  z-index: 10; }
  .donate-mobile .donate-button {
    padding: 0.625rem 0.9375rem 0.625rem 0.9375rem; }
    .donate-mobile .donate-button span {
      font-size: 1rem;
      color: #ffffff;
      line-height: 1.2rem;
      font-family: var(--fontFamily);
      letter-spacing: 0.7px; }
      .donate-mobile .donate-button span.icon {
        height: 1.0625rem;
        width: 1.0625rem; }
    @media print, screen and (min-width: 64em) {
      .donate-mobile .donate-button {
        display: none; } }

.bottom-buttons {
  position: relative;
  height: 5.3125rem;
  width: calc(100% - 80px);
  max-width: 100%;
  margin: 2.5rem auto 0; }
  .bottom-buttons .donate-button {
    left: 40px;
    bottom: 100px;
    z-index: 12; }
    @media screen and (max-width: 63.9375em) {
      .bottom-buttons .donate-button {
        display: none; } }
  .bottom-buttons .totop {
    position: absolute;
    right: 0;
    border-radius: 50%;
    width: 3.1875rem;
    height: 3.1875rem;
    padding: 0;
    text-align: center; }
    .bottom-buttons .totop span.icon {
      position: absolute;
      top: 50%;
      left: 50%;
      -webkit-transform: translateY(-50%) translateX(-50%);
          -ms-transform: translateY(-50%) translateX(-50%);
              transform: translateY(-50%) translateX(-50%);
      display: block;
      float: none;
      height: 1.8125rem;
      line-height: 1.5625rem;
      margin: 0 auto; }
      .bottom-buttons .totop span.icon svg {
        -webkit-transform: rotateZ(180deg);
            -ms-transform: rotate(180deg);
                transform: rotateZ(180deg); }
    @media screen and (max-width: 39.9375em) {
      .bottom-buttons .totop {
        right: 50%;
        -webkit-transform: translateX(50%);
            -ms-transform: translateX(50%);
                transform: translateX(50%); } }

.editmode .mgnlEditorBar {
  max-width: calc(100% - 28px) !important;
  min-width: 100px !important; }

.owl-carousel .owl-stage,
.owl-carousel.owl-drag .owl-item {
  -ms-touch-action: auto;
  touch-action: auto; }

@media screen and (max-width: 39.9375em) {
  body .grid-container,
  body .grid-container.fluid {
    padding-left: 0;
    padding-right: 0;
    overflow: hidden; }
    body .grid-container > .grid-x,
    body .grid-container.fluid > .grid-x {
      margin-left: 0 !important;
      margin-right: 0 !important; }
      body .grid-container > .grid-x > .cell,
      body .grid-container.fluid > .grid-x > .cell {
        margin-left: 0 !important;
        margin-right: 0 !important;
        width: 100%; }
    body .grid-container .cell,
    body .grid-container.fluid .cell {
      padding-left: 1.5625rem;
      padding-right: 1.5625rem; } }

.cell.text-center {
  text-align: center; }

.cell.text-right {
  text-align: right; }

.cell.text-left {
  text-align: left; }

@media print, screen and (min-width: 40em) {
  .cell.medium-text-right {
    text-align: right; } }

@media print, screen and (min-width: 64em) {
  .cell.large-text-right {
    text-align: right; } }

#header {
  position: relative;
  width: 100%;
  padding: 1.25rem 2.5rem 0.75rem 2.5rem; }
  @media print, screen and (min-width: 40em) {
    #header {
      max-height: 4.625rem;
      height: 4.625rem; }
      .editmode #header {
        max-height: 9.375rem;
        height: 9.375rem; } }
  #header .desktop-section-logo {
    max-width: calc(100% - 278px);
    line-height: 2.8125rem;
    text-align: left; }
    #header .desktop-section-logo #sectionsLogo {
      width: 35.9375rem;
      max-width: 100%; }
    #header .desktop-section-logo a {
      position: relative;
      display: block; }
    #header .desktop-section-logo img {
      position: relative;
      max-height: 2.6875rem;
      width: auto;
      vertical-align: middle;
      max-width: 100%; }
    #header .desktop-section-logo svg {
      position: relative;
      max-height: 2.6875rem;
      vertical-align: top;
      max-width: 100%; }
  #header .top-right-wrapper {
    position: absolute;
    height: 100%;
    top: 0;
    right: 0; }
    #header .top-right-wrapper #logo-language-wrapper {
      height: 100%;
      width: 17.375rem; }
      #header .top-right-wrapper #logo-language-wrapper #country-selector {
        width: 7.6875rem;
        height: 100%; }
      #header .top-right-wrapper #logo-language-wrapper #logo {
        height: 100%;
        width: 9.6875rem; }
        #header .top-right-wrapper #logo-language-wrapper #logo a {
          position: relative;
          display: block;
          width: 9.6875rem;
          height: 100%;
          z-index: 99; }
        #header .top-right-wrapper #logo-language-wrapper #logo img {
          position: absolute;
          height: auto;
          max-width: 100%;
          width: 100%;
          top: 0; }
      #header .top-right-wrapper #logo-language-wrapper #country-selector {
        position: relative;
        cursor: pointer; }
        #header .top-right-wrapper #logo-language-wrapper #country-selector .current-language {
          display: block;
          position: absolute;
          top: 50%;
          left: 50%;
          -webkit-transform: translateY(-50%) translateX(-50%);
              -ms-transform: translateY(-50%) translateX(-50%);
                  transform: translateY(-50%) translateX(-50%);
          margin: 0;
          padding-right: 1rem; }
          #header .top-right-wrapper #logo-language-wrapper #country-selector .current-language span.icon {
            display: inline-block;
            position: absolute;
            right: 0;
            width: 0.625rem; }
            @media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
              #header .top-right-wrapper #logo-language-wrapper #country-selector .current-language span.icon {
                top: -4.125rem; } }
            #header .top-right-wrapper #logo-language-wrapper #country-selector .current-language span.icon svg {
              max-width: 100%;
              vertical-align: middle; }
              #header .top-right-wrapper #logo-language-wrapper #country-selector .current-language span.icon svg path {
                fill: #ffffff;
                stroke: #ffffff; }
        #header .top-right-wrapper #logo-language-wrapper #country-selector p,
        #header .top-right-wrapper #logo-language-wrapper #country-selector a {
          font-size: 1rem;
          color: #ffffff;
          line-height: 1.2rem;
          font-family: NeueSansPro-Light, Helvetiva, sans-serif;
          font-weight: normal; }
        #header .top-right-wrapper #logo-language-wrapper #country-selector.active ul {
          max-height: 300px;
          -webkit-transition: max-height 300ms;
          transition: max-height 300ms; }
        #header .top-right-wrapper #logo-language-wrapper #country-selector.active .current-language span.icon svg {
          -webkit-transform: rotateZ(180deg);
              -ms-transform: rotate(180deg);
                  transform: rotateZ(180deg); }
        #header .top-right-wrapper #logo-language-wrapper #country-selector ul {
          position: absolute;
          top: 100%;
          z-index: 99;
          width: 100%;
          left: 0;
          max-height: 0;
          overflow: hidden;
          -webkit-transition: max-height 200ms ease-in-out;
          transition: max-height 200ms ease-in-out;
          -webkit-box-shadow: 0.0625rem 0.0625rem 0.3125rem rgba(20, 20, 20, 0.1);
                  box-shadow: 0.0625rem 0.0625rem 0.3125rem rgba(20, 20, 20, 0.1); }
          #header .top-right-wrapper #logo-language-wrapper #country-selector ul li {
            text-align: center;
            padding: 0.4375rem 0; }
            #header .top-right-wrapper #logo-language-wrapper #country-selector ul li a {
              display: block;
              -webkit-transition: all 0.2s ease-in-out;
              transition: all 0.2s ease-in-out; }
              #header .top-right-wrapper #logo-language-wrapper #country-selector ul li a:hover {
                opacity: 0.5; }
            body.green #header .top-right-wrapper #logo-language-wrapper #country-selector ul li {
              background-color: #39AA47; }
            body.blue #header .top-right-wrapper #logo-language-wrapper #country-selector ul li {
              background-color: #69A3A9; }
            body.darkblue #header .top-right-wrapper #logo-language-wrapper #country-selector ul li {
              background-color: #006F69; }
            body.brown #header .top-right-wrapper #logo-language-wrapper #country-selector ul li {
              background-color: #B4838A; }
  #header .mobile-section-logo {
    text-align: center; }
    #header .mobile-section-logo img {
      max-width: 70vw; }
  @media screen and (max-width: 39.9375em) {
    #header {
      padding-top: 0;
      padding-right: 0;
      padding-left: 0; }
      #header .top-right-wrapper {
        position: static;
        width: 100%; }
        #header .top-right-wrapper #logo-language-wrapper {
          position: relative;
          width: 50%;
          margin-left: auto;
          margin-bottom: 0.875rem; }
          #header .top-right-wrapper #logo-language-wrapper #country-selector {
            position: absolute;
            top: 0;
            bottom: 0;
            left: -1.25rem;
            width: 50%; }
          #header .top-right-wrapper #logo-language-wrapper #logo {
            display: inline-block;
            margin-left: auto;
            width: 50%; }
            #header .top-right-wrapper #logo-language-wrapper #logo a {
              width: auto; }
            #header .top-right-wrapper #logo-language-wrapper #logo img {
              position: static;
              max-width: 100%; } }

footer#footer {
  position: relative;
  width: 100%;
  padding-top: 2.5rem; }

body.navexp {
  overflow: hidden; }

#navigations-wrapper {
  max-width: 100%; }
  @media screen and (max-width: 63.9375em) {
    #navigations-wrapper {
      min-height: 3.9375rem; } }
  @media screen and (max-width: 63.9375em) {
    #navigations-wrapper nav, #navigations-wrapper #navigation {
      position: absolute;
      width: 100%;
      background-color: #ffffff;
      z-index: 9; }
      #navigations-wrapper nav #meta-nav, #navigations-wrapper #navigation #meta-nav {
        top: 4.0625rem;
        left: 0;
        width: 100%;
        -webkit-transform: none;
            -ms-transform: none;
                transform: none;
        padding: 0;
        -webkit-box-pack: center;
        -webkit-justify-content: center;
            -ms-flex-pack: center;
                justify-content: center;
        visibility: hidden;
        border-top: 1px solid #d6d6d6; }
      #navigations-wrapper nav .sub-open > li > a:not(.open),
      #navigations-wrapper nav .sub-open > li:not(.open) > a, #navigations-wrapper #navigation .sub-open > li > a:not(.open),
      #navigations-wrapper #navigation .sub-open > li:not(.open) > a {
        opacity: 0.45; }
      #navigations-wrapper nav .sub-open > li:not(.open) > i > svg, #navigations-wrapper #navigation .sub-open > li:not(.open) > i > svg {
        opacity: 0.45; }
      #navigations-wrapper nav ul.main-navigation, #navigations-wrapper #navigation ul.main-navigation {
        overflow: scroll;
        -webkit-overflow-scrolling: touch;
        max-height: 0;
        visibility: hidden; }
        #navigations-wrapper nav ul.main-navigation > :last-child:after, #navigations-wrapper #navigation ul.main-navigation > :last-child:after {
          content: "";
          display: block;
          min-height: 20vh; }
        #navigations-wrapper nav ul.main-navigation li, #navigations-wrapper #navigation ul.main-navigation li {
          border-top: 1px solid #d6d6d6; }
          #navigations-wrapper nav ul.main-navigation li > ul, #navigations-wrapper #navigation ul.main-navigation li > ul {
            display: none; }
          #navigations-wrapper nav ul.main-navigation li.open > ul, #navigations-wrapper nav ul.main-navigation li.active > ul, #navigations-wrapper #navigation ul.main-navigation li.open > ul, #navigations-wrapper #navigation ul.main-navigation li.active > ul {
            display: block !important; }
            #navigations-wrapper nav ul.main-navigation li.open > ul > li:first-child, #navigations-wrapper nav ul.main-navigation li.active > ul > li:first-child, #navigations-wrapper #navigation ul.main-navigation li.open > ul > li:first-child, #navigations-wrapper #navigation ul.main-navigation li.active > ul > li:first-child {
              border-color: #006F69; }
          #navigations-wrapper nav ul.main-navigation li.open > a,
          #navigations-wrapper nav ul.main-navigation li.open > .nav-button, #navigations-wrapper nav ul.main-navigation li.active > a,
          #navigations-wrapper nav ul.main-navigation li.active > .nav-button, #navigations-wrapper #navigation ul.main-navigation li.open > a,
          #navigations-wrapper #navigation ul.main-navigation li.open > .nav-button, #navigations-wrapper #navigation ul.main-navigation li.active > a,
          #navigations-wrapper #navigation ul.main-navigation li.active > .nav-button {
            color: #006F69;
            opacity: 1 !important; }
            #navigations-wrapper nav ul.main-navigation li.open > a svg,
            #navigations-wrapper nav ul.main-navigation li.open > .nav-button svg, #navigations-wrapper nav ul.main-navigation li.active > a svg,
            #navigations-wrapper nav ul.main-navigation li.active > .nav-button svg, #navigations-wrapper #navigation ul.main-navigation li.open > a svg,
            #navigations-wrapper #navigation ul.main-navigation li.open > .nav-button svg, #navigations-wrapper #navigation ul.main-navigation li.active > a svg,
            #navigations-wrapper #navigation ul.main-navigation li.active > .nav-button svg {
              -webkit-transform: translateY(-50%) rotateZ(-90deg) !important;
                  -ms-transform: translateY(-50%) rotate(-90deg) !important;
                      transform: translateY(-50%) rotateZ(-90deg) !important; }
              #navigations-wrapper nav ul.main-navigation li.open > a svg path,
              #navigations-wrapper nav ul.main-navigation li.open > .nav-button svg path, #navigations-wrapper nav ul.main-navigation li.active > a svg path,
              #navigations-wrapper nav ul.main-navigation li.active > .nav-button svg path, #navigations-wrapper #navigation ul.main-navigation li.open > a svg path,
              #navigations-wrapper #navigation ul.main-navigation li.open > .nav-button svg path, #navigations-wrapper #navigation ul.main-navigation li.active > a svg path,
              #navigations-wrapper #navigation ul.main-navigation li.active > .nav-button svg path {
                fill: #006F69;
                stroke: #006F69; }
            #navigations-wrapper nav ul.main-navigation li.open > a.active,
            #navigations-wrapper nav ul.main-navigation li.open > .nav-button.active, #navigations-wrapper nav ul.main-navigation li.active > a.active,
            #navigations-wrapper nav ul.main-navigation li.active > .nav-button.active, #navigations-wrapper #navigation ul.main-navigation li.open > a.active,
            #navigations-wrapper #navigation ul.main-navigation li.open > .nav-button.active, #navigations-wrapper #navigation ul.main-navigation li.active > a.active,
            #navigations-wrapper #navigation ul.main-navigation li.active > .nav-button.active {
              font-size: -0.0625rem;
              line-height: 24px;
              font-family: NeueSansPro-Bold, Helvetiva, sans-serif;
              font-weight: normal; }
        #navigations-wrapper nav ul.main-navigation li, #navigations-wrapper #navigation ul.main-navigation li {
          height: initial !important; }
          #navigations-wrapper nav ul.main-navigation li.has-dropdown, #navigations-wrapper #navigation ul.main-navigation li.has-dropdown {
            position: relative; }
            #navigations-wrapper nav ul.main-navigation li.has-dropdown a, #navigations-wrapper #navigation ul.main-navigation li.has-dropdown a {
              display: inline-block;
              width: calc(100% - 61px); }
            #navigations-wrapper nav ul.main-navigation li.has-dropdown .nav-button, #navigations-wrapper #navigation ul.main-navigation li.has-dropdown .nav-button {
              position: absolute;
              top: 0;
              right: 0;
              width: 3.75rem;
              text-align: center;
              height: 2.6rem;
              cursor: pointer; }
              #navigations-wrapper nav ul.main-navigation li.has-dropdown .nav-button svg, #navigations-wrapper #navigation ul.main-navigation li.has-dropdown .nav-button svg {
                position: absolute;
                height: 1.0625rem;
                top: 50%;
                -webkit-transform: translateY(-50%) rotateZ(90deg);
                    -ms-transform: translateY(-50%) rotate(90deg);
                        transform: translateY(-50%) rotateZ(90deg); }
      #navigations-wrapper nav ul.level-1 li.empty, #navigations-wrapper #navigation ul.level-1 li.empty {
        display: none; }
      #navigations-wrapper nav ul.level-1 > li, #navigations-wrapper #navigation ul.level-1 > li {
        border-top: 1px solid #d6d6d6; }
        #navigations-wrapper nav ul.level-1 > li a, #navigations-wrapper #navigation ul.level-1 > li a {
          display: block;
          width: 100%;
          padding-top: 0.8125rem;
          padding-bottom: 0.5625rem;
          padding-left: 20px; }
        #navigations-wrapper nav ul.level-1 > li > a, #navigations-wrapper #navigation ul.level-1 > li > a {
          padding-left: 15px; }
        #navigations-wrapper nav ul.level-1 > li ul > li > a, #navigations-wrapper #navigation ul.level-1 > li ul > li > a {
          padding-left: 35px; }
        #navigations-wrapper nav ul.level-1 > li ul > li ul > li > a, #navigations-wrapper #navigation ul.level-1 > li ul > li ul > li > a {
          padding-left: 55px; }
        #navigations-wrapper nav ul.level-1 > li ul > li ul > li ul > li > a, #navigations-wrapper #navigation ul.level-1 > li ul > li ul > li ul > li > a {
          padding-left: 75px; }
      #navigations-wrapper nav li.active > ul,
      #navigations-wrapper nav li.open > ul, #navigations-wrapper #navigation li.active > ul,
      #navigations-wrapper #navigation li.open > ul {
        display: block; }
    body.navexp #navigations-wrapper nav, body.navexp #navigations-wrapper #navigation {
      padding-top: 7.8125rem; }
      body.navexp #navigations-wrapper nav #meta-nav, body.navexp #navigations-wrapper #navigation #meta-nav {
        visibility: visible; }
      body.navexp #navigations-wrapper nav ul.main-navigation, body.navexp #navigations-wrapper #navigation ul.main-navigation {
        display: block;
        max-height: calc(100vh - 260px);
        min-height: calc(100vh - 260px);
        padding-bottom: 1.25rem;
        height: auto;
        visibility: visible; } }
  @media screen and (max-width: 63.9375em) {
    body:not(.navexp) #navigations-wrapper nav, body:not(.navexp) #navigations-wrapper #navigation {
      max-height: 0;
      opacity: 0; } }
  body:not(.touch-user) #navigations-wrapper nav li:hover > a, body:not(.touch-user) #navigations-wrapper #navigation li:hover > a {
    color: #006F69;
    -webkit-transition: background-color 300ms;
    transition: background-color 300ms; }
    body:not(.touch-user) #navigations-wrapper nav li:hover > a:after, body:not(.touch-user) #navigations-wrapper #navigation li:hover > a:after {
      background-color: #006F69;
      width: calc(100% - calc(2 * 1.25rem)); }
  @media screen and (max-width: 63.9375em) {
    #navigations-wrapper nav #meta-nav > a span span:not(.icon), #navigations-wrapper #navigation #meta-nav > a span span:not(.icon) {
      display: inline-block; } }

#navigation, nav {
  max-width: 100%; }
  #navigation a, nav a {
    text-decoration: none;
    font-size: 1rem;
    color: #141414;
    line-height: 1.2rem;
    font-family: NeueSansPro-SemiBold, Helvetiva, sans-serif;
    font-weight: normal;
    -webkit-transition: color 300ms;
    transition: color 300ms; }
    #navigation a.active, nav a.active {
      color: #006F69; }
    #navigation a.open, nav a.open {
      color: #006F69; }
  @media print, screen and (min-width: 64em) {
    #navigation a, nav a {
      display: block; }
    #navigation ul.level-1, nav ul.level-1 {
      padding-left: 1.25rem;
      width: calc(100% - 200px);
      max-width: calc(100% - 200px);
      overflow: hidden;
      /* OLD - Firefox 19- (doesn't work very well) */
      display: -ms-flexbox;
      /* TWEENER - IE 10 */
      display: -webkit-flex;
      /* NEW - Chrome */
      display: -webkit-box;
      display: flex;
      /* NEW, Spec - Opera 12.1, Firefox 20+ */
      -ms-flex-direction: row;
      -webkit-flex-direction: row;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
              flex-direction: row;
      -ms-flex-wrap: nowrap;
      -webkit-flex-wrap: nowrap;
      flex-wrap: nowrap;
      -webkit-align-items: flex-start;
      -webkit-box-align: start;
          -ms-flex-align: start;
              align-items: flex-start;
      -webkit-justify-content: flex-start;
      -webkit-box-pack: start;
          -ms-flex-pack: start;
              justify-content: flex-start; } }
  @media screen and (min-width: 64em) and (max-width: 1200px) {
    #navigation ul.level-1, nav ul.level-1 {
      width: calc(100% - 200px); } }
  @media print, screen and (min-width: 64em) {
      #navigation ul.level-1 > li, nav ul.level-1 > li {
        -webkit-flex-shrink: 0;
            -ms-flex-negative: 0;
                flex-shrink: 0; }
        #navigation ul.level-1 > li *, nav ul.level-1 > li * {
          -webkit-user-select: none;
             -moz-user-select: none;
              -ms-user-select: none;
                  user-select: none; }
        #navigation ul.level-1 > li.touched > a, #navigation ul.level-1 > li.touched > a, nav ul.level-1 > li.touched > a, nav ul.level-1 > li.touched > a {
          color: #006F69; }
        #navigation ul.level-1 > li > a, nav ul.level-1 > li > a {
          display: inline-block;
          padding: 1.125rem 1.25rem;
          -webkit-transform: translateZ(0px);
          position: relative; }
          #navigation ul.level-1 > li > a:after, nav ul.level-1 > li > a:after {
            content: '';
            position: absolute;
            left: 50%;
            bottom: 0;
            -webkit-transform: translateX(-50%);
                -ms-transform: translateX(-50%);
                    transform: translateX(-50%);
            width: 0;
            height: 3px;
            background-color: transparent;
            -webkit-transition: background-color 300ms, width 300ms;
            transition: background-color 300ms, width 300ms; }
          #navigation ul.level-1 > li > a.open:after, nav ul.level-1 > li > a.open:after {
            background-color: #006F69;
            width: calc(100% - calc(2 * 1.25rem)); }
        #navigation ul.level-1 > li.touched ul.level-2, nav ul.level-1 > li.touched ul.level-2 {
          opacity: 1;
          z-index: 999;
          width: 100%; }
          #navigation ul.level-1 > li.touched ul.level-2:before, nav ul.level-1 > li.touched ul.level-2:before {
            content: "";
            position: absolute;
            top: 0;
            left: 0;
            bottom: 0;
            width: 100%;
            background-color: white;
            z-index: -1; }
          #navigation ul.level-1 > li.touched ul.level-2:after, nav ul.level-1 > li.touched ul.level-2:after {
            content: "";
            position: absolute;
            top: 0;
            bottom: 0;
            width: 140%;
            left: -20%;
            border-top: 1px solid #d6d6d6;
            z-index: -1; }
      #navigation ul.level-1 > li.has-dropdown .nav-button, nav ul.level-1 > li.has-dropdown .nav-button {
        display: none; }
      #navigation ul.level-1 > li.has-dropdown li.open > a, nav ul.level-1 > li.has-dropdown li.open > a {
        color: #006F69; }
    #navigation ul.level-2, nav ul.level-2 {
      position: absolute;
      top: 100%;
      padding: 0.9375rem 1.25rem 0 1.25rem;
      z-index: -1;
      color: transparent;
      opacity: 0;
      -webkit-box-sizing: border-box;
              box-sizing: border-box;
      width: auto !important;
      left: 2.5rem;
      right: 2.5rem; }
      #navigation ul.level-2 > li, nav ul.level-2 > li {
        width: 24%;
        display: inline-block;
        vertical-align: top;
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
        margin: 0;
        padding: 0 0.625rem 0 1.25rem;
        margin-bottom: 2.1875rem;
        margin-top: 1.25rem;
        position: relative; }
        #navigation ul.level-2 > li:before, nav ul.level-2 > li:before {
          content: "";
          position: absolute;
          width: 0;
          right: 0;
          height: 97%;
          top: 0.1875rem;
          border-right: 1px solid #d6d6d6; }
        #navigation ul.level-2 > li:nth-of-type(4n):before, #navigation ul.level-2 > li:last-of-type:before, nav ul.level-2 > li:nth-of-type(4n):before, nav ul.level-2 > li:last-of-type:before {
          display: none; } }
    @media screen and (min-width: 64em) and (min-width: 87.5em) {
      #navigation ul.level-2 > li, nav ul.level-2 > li {
        width: 19%; }
        #navigation ul.level-2 > li:nth-of-type(4n):before, nav ul.level-2 > li:nth-of-type(4n):before {
          display: block; }
        #navigation ul.level-2 > li:nth-of-type(5n):before, #navigation ul.level-2 > li:last-of-type:before, nav ul.level-2 > li:nth-of-type(5n):before, nav ul.level-2 > li:last-of-type:before {
          display: none; } }
  @media print, screen and (min-width: 64em) {
        #navigation ul.level-2 > li > a, nav ul.level-2 > li > a {
          line-height: inherit; }
          #navigation ul.level-2 > li > a.active, #navigation ul.level-2 > li > a.open, nav ul.level-2 > li > a.active, nav ul.level-2 > li > a.open {
            color: initial; }
          #navigation ul.level-2 > li > a.active, nav ul.level-2 > li > a.active {
            display: inline-block;
            border-bottom: 3px #006F69 solid; }
        #navigation ul.level-2 > li.active > ul, #navigation ul.level-2 > li.open > ul, nav ul.level-2 > li.active > ul, nav ul.level-2 > li.open > ul {
          display: block; }
        #navigation ul.level-2 > li > ul.level-3 > li, nav ul.level-2 > li > ul.level-3 > li {
          padding: 0.625rem 0 0 0; }
          #navigation ul.level-2 > li > ul.level-3 > li > a, nav ul.level-2 > li > ul.level-3 > li > a {
            font-size: -0.0625rem;
            line-height: 24px;
            font-family: NeueSansPro-Light, Helvetiva, sans-serif;
            font-weight: normal; }
            #navigation ul.level-2 > li > ul.level-3 > li > a.active, #navigation ul.level-2 > li > ul.level-3 > li > a.open, nav ul.level-2 > li > ul.level-3 > li > a.active, nav ul.level-2 > li > ul.level-3 > li > a.open {
              display: inline-block;
              border-bottom: 3px #006F69 solid; }
      #navigation ul.level-2 ul, nav ul.level-2 ul {
        position: relative; } }

@media print, screen and (min-width: 64em) {
  html.no-js #navigation ul.level-1 > li:hover ul.level-2 {
    opacity: 1;
    z-index: 999; }
    html.no-js #navigation ul.level-1 > li:hover ul.level-2:before {
      content: "";
      position: absolute;
      top: 0;
      left: 0;
      bottom: 0;
      width: 100%;
      background-color: rgba(255, 255, 255, 0.5);
      z-index: -1; }
    html.no-js #navigation ul.level-1 > li:hover ul.level-2:after {
      content: "";
      position: absolute;
      top: 0;
      bottom: 0;
      width: 140%;
      left: -20%;
      border-top: 1px solid #d6d6d6;
      z-index: -1; } }

@media screen and (max-width: 63.9375em) {
  html.no-js #navigations-wrapper:hover #navigation {
    margin-top: 3.4rem;
    max-height: 100rem;
    opacity: 1; }
    html.no-js #navigations-wrapper:hover #navigation ul.main-navigation {
      max-height: 100%;
      visibility: visible;
      background: #ffffff; }
      html.no-js #navigations-wrapper:hover #navigation ul.main-navigation li ul {
        display: block; } }

#navigations-wrapper {
  position: relative; }

#meta-nav {
  position: absolute;
  right: 0;
  top: 50%;
  padding-right: 1.75rem;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
  overflow: hidden;
  /* OLD - Firefox 19- (doesn't work very well) */
  display: -ms-flexbox;
  /* TWEENER - IE 10 */
  display: -webkit-flex;
  /* NEW - Chrome */
  display: -webkit-box;
  display: flex;
  /* NEW, Spec - Opera 12.1, Firefox 20+ */
  -ms-flex-direction: row;
  -webkit-flex-direction: row;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
          flex-direction: row;
  -ms-flex-wrap: nowrap;
  -webkit-flex-wrap: nowrap;
  flex-wrap: nowrap;
  -webkit-align-items: flex-start;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-justify-content: flex-end;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end; }
  #meta-nav > a {
    display: inline-block;
    padding: 0 0.4375rem;
    height: 3.9375rem;
    line-height: 3.9375rem;
    -webkit-flex-shrink: 0;
        -ms-flex-negative: 0;
            flex-shrink: 0; }
    #meta-nav > a > span {
      display: inline-block;
      height: 100%;
      width: 100%; }
      #meta-nav > a > span > span {
        vertical-align: middle;
        display: inline-block;
        padding: 0 0.3125rem; }
        #meta-nav > a > span > span img {
          vertical-align: middle; }
    @media screen and (max-width: 1400px) {
      #meta-nav > a span span:not(.icon) {
        display: none; } }
  #meta-nav .icon {
    width: 2.1875rem;
    text-align: right; }
    #meta-nav .icon img {
      height: 1.25rem;
      width: auto; }

ul.level-2.keep-open {
  opacity: 1 !important;
  z-index: 13 !important; }
  .editmode ul.level-2.keep-open {
    z-index: 999999 !important; }

.editmode #navigations-wrapper {
  min-height: 5rem; }
  .editmode #navigations-wrapper #meta-nav {
    position: absolute;
    padding-right: 0;
    width: 400px;
    display: inline-block;
    z-index: 99999;
    top: 0;
    -webkit-transform: translateY(0);
        -ms-transform: translateY(0);
            transform: translateY(0);
    background-color: #f3f3f3;
    overflow: visible; }
    .editmode #navigations-wrapper #meta-nav a {
      height: 2.0625rem;
      line-height: 2.0625rem;
      width: auto; }

.s-burger {
  display: none;
  position: absolute;
  cursor: pointer;
  z-index: 10;
  height: 20px;
  width: 28px; }
  @media screen and (max-width: 63.9375em) {
    .s-burger {
      display: block !important;
      top: 1.5rem;
      right: 1rem; } }
  @media screen and (min-width: 64em) {
    .s-burger {
      top: 6.125rem;
      right: 4.25rem;
      z-index: 999999; } }
  .s-burger:before {
    content: "";
    padding: -1.5625rem -1.5625rem 2.125rem 2.125rem;
    position: absolute;
    top: 0;
    right: 0; }
  @media screen and (min-width: 40em) and (max-width: 63.9375em) {
    .s-burger {
      top: 1.5625rem; } }
  .s-burger.reverse {
    -webkit-transform: rotateZ(180deg);
        -ms-transform: rotate(180deg);
            transform: rotateZ(180deg); }
  .s-burger span {
    display: block;
    position: absolute;
    height: 2px;
    width: 28px;
    -webkit-transition: background-color 0.3s;
    transition: background-color 0.3s; }
    .s-burger span.t {
      top: 0;
      background-color: #141414; }
    .s-burger span.m {
      top: calc(20px / 2 - 2px / 2);
      background-color: #141414; }
    .s-burger span.b {
      top: calc(20px - 2px);
      background-color: #141414; }
  body:not(.touch-user) .s-burger:hover .t, body:not(.touch-user) .s-burger:hover .m, body:not(.touch-user) .s-burger:hover .b {
    background-color: green; }
  body:not(.touch-user) .s-burger.is-active:hover .t, body:not(.touch-user) .s-burger.is-active:hover .m, body:not(.touch-user) .s-burger.is-active:hover .b {
    background-color: green; }
  .s-burger.is-active .t {
    top: 0;
    -webkit-animation: activate-t-normal 200ms linear 1;
            animation: activate-t-normal 200ms linear 1;
    -webkit-animation-direction: normal;
            animation-direction: normal;
    -webkit-animation-fill-mode: forwards;
            animation-fill-mode: forwards;
    background-color: #141414; }

@-webkit-keyframes activate-t-normal {
  0% {
    -webkit-transform: translateY(0) translateX(0) rotateZ(0);
            transform: translateY(0) translateX(0) rotateZ(0);
    opacity: 1; }
  40% {
    -webkit-transform: translateY(18px) translateX(0) rotateZ(0);
            transform: translateY(18px) translateX(0) rotateZ(0);
    opacity: 1; }
  100% {
    -webkit-transform: translateY(8px) translateX(0) rotateZ(45deg);
            transform: translateY(8px) translateX(0) rotateZ(45deg);
    opacity: 1; } }

@keyframes activate-t-normal {
  0% {
    -webkit-transform: translateY(0) translateX(0) rotateZ(0);
            transform: translateY(0) translateX(0) rotateZ(0);
    opacity: 1; }
  40% {
    -webkit-transform: translateY(18px) translateX(0) rotateZ(0);
            transform: translateY(18px) translateX(0) rotateZ(0);
    opacity: 1; }
  100% {
    -webkit-transform: translateY(8px) translateX(0) rotateZ(45deg);
            transform: translateY(8px) translateX(0) rotateZ(45deg);
    opacity: 1; } }
    @media screen and (min-width: 64em) {
      .s-burger.is-active .t {
        -webkit-animation-duration: 1ms;
                animation-duration: 1ms; } }
  .s-burger.is-active .m {
    top: calc(20px / 2 - 2px / 2);
    -webkit-animation: activate-m-normal 200ms linear 1;
            animation: activate-m-normal 200ms linear 1;
    -webkit-animation-direction: normal;
            animation-direction: normal;
    -webkit-animation-fill-mode: forwards;
            animation-fill-mode: forwards;
    background-color: #141414; }

@-webkit-keyframes activate-m-normal {
  0% {
    -webkit-transform: translateY(0) translateX(0) rotateZ(0);
            transform: translateY(0) translateX(0) rotateZ(0);
    opacity: 1; }
  25% {
    -webkit-transform: translateY(8px) translateY(0) rotateZ(0);
            transform: translateY(8px) translateY(0) rotateZ(0);
    opacity: 0; }
  100% {
    -webkit-transform: translateY(8px) translateY(0) rotateZ(0);
            transform: translateY(8px) translateY(0) rotateZ(0);
    opacity: 0; } }

@keyframes activate-m-normal {
  0% {
    -webkit-transform: translateY(0) translateX(0) rotateZ(0);
            transform: translateY(0) translateX(0) rotateZ(0);
    opacity: 1; }
  25% {
    -webkit-transform: translateY(8px) translateY(0) rotateZ(0);
            transform: translateY(8px) translateY(0) rotateZ(0);
    opacity: 0; }
  100% {
    -webkit-transform: translateY(8px) translateY(0) rotateZ(0);
            transform: translateY(8px) translateY(0) rotateZ(0);
    opacity: 0; } }
    @media screen and (min-width: 64em) {
      .s-burger.is-active .m {
        -webkit-animation-duration: 1ms;
                animation-duration: 1ms; } }
  .s-burger.is-active .b {
    top: calc(20px - 2px);
    -webkit-animation: activate-b-normal 200ms linear 1;
            animation: activate-b-normal 200ms linear 1;
    -webkit-animation-direction: normal;
            animation-direction: normal;
    -webkit-animation-fill-mode: forwards;
            animation-fill-mode: forwards;
    background-color: #141414; }

@-webkit-keyframes activate-b-normal {
  0% {
    -webkit-transform: translateY(0) translateX(0) rotateZ(0);
            transform: translateY(0) translateX(0) rotateZ(0);
    opacity: 1; }
  40% {
    -webkit-transform: translateY(0) translateX(0) rotateZ(0);
            transform: translateY(0) translateX(0) rotateZ(0);
    opacity: 1; }
  100% {
    -webkit-transform: translateY(-10px) translateX(0) rotateZ(-45deg);
            transform: translateY(-10px) translateX(0) rotateZ(-45deg);
    opacity: 1; } }

@keyframes activate-b-normal {
  0% {
    -webkit-transform: translateY(0) translateX(0) rotateZ(0);
            transform: translateY(0) translateX(0) rotateZ(0);
    opacity: 1; }
  40% {
    -webkit-transform: translateY(0) translateX(0) rotateZ(0);
            transform: translateY(0) translateX(0) rotateZ(0);
    opacity: 1; }
  100% {
    -webkit-transform: translateY(-10px) translateX(0) rotateZ(-45deg);
            transform: translateY(-10px) translateX(0) rotateZ(-45deg);
    opacity: 1; } }
    @media screen and (min-width: 64em) {
      .s-burger.is-active .b {
        -webkit-animation-duration: 1ms;
                animation-duration: 1ms; } }
  .s-burger.is-active.reverse .t {
    -webkit-animation: activate-t-normal 200ms linear 1;
            animation: activate-t-normal 200ms linear 1;
    -webkit-animation-direction: normal;
            animation-direction: normal;
    -webkit-animation-fill-mode: forwards;
            animation-fill-mode: forwards;
    background-color: #141414; }

@keyframes activate-t-normal {
  0% {
    -webkit-transform: translateY(0) translateX(0) rotateZ(0);
            transform: translateY(0) translateX(0) rotateZ(0);
    opacity: 1; }
  40% {
    -webkit-transform: translateY(18px) translateX(0) rotateZ(0);
            transform: translateY(18px) translateX(0) rotateZ(0);
    opacity: 1; }
  100% {
    -webkit-transform: translateY(8px) translateX(0) rotateZ(45deg);
            transform: translateY(8px) translateX(0) rotateZ(45deg);
    opacity: 1; } }
    @media screen and (min-width: 64em) {
      .s-burger.is-active.reverse .t {
        -webkit-animation-duration: 1ms;
                animation-duration: 1ms; } }
  .s-burger.is-active.reverse .m {
    -webkit-animation: activate-m-normal 200ms linear 1;
            animation: activate-m-normal 200ms linear 1;
    -webkit-animation-direction: normal;
            animation-direction: normal;
    -webkit-animation-fill-mode: forwards;
            animation-fill-mode: forwards;
    background-color: #141414; }

@keyframes activate-m-normal {
  0% {
    -webkit-transform: translateY(0) translateX(0) rotateZ(0);
            transform: translateY(0) translateX(0) rotateZ(0);
    opacity: 1; }
  25% {
    -webkit-transform: translateY(8px) translateY(0) rotateZ(0);
            transform: translateY(8px) translateY(0) rotateZ(0);
    opacity: 0; }
  100% {
    -webkit-transform: translateY(8px) translateY(0) rotateZ(0);
            transform: translateY(8px) translateY(0) rotateZ(0);
    opacity: 0; } }
    @media screen and (min-width: 64em) {
      .s-burger.is-active.reverse .m {
        -webkit-animation-duration: 1ms;
                animation-duration: 1ms; } }
  .s-burger.is-active.reverse .b {
    -webkit-animation: activate-b-normal 200ms linear 1;
            animation: activate-b-normal 200ms linear 1;
    -webkit-animation-direction: normal;
            animation-direction: normal;
    -webkit-animation-fill-mode: forwards;
            animation-fill-mode: forwards;
    background-color: #141414; }

@keyframes activate-b-normal {
  0% {
    -webkit-transform: translateY(0) translateX(0) rotateZ(0);
            transform: translateY(0) translateX(0) rotateZ(0);
    opacity: 1; }
  40% {
    -webkit-transform: translateY(0) translateX(0) rotateZ(0);
            transform: translateY(0) translateX(0) rotateZ(0);
    opacity: 1; }
  100% {
    -webkit-transform: translateY(-10px) translateX(0) rotateZ(-45deg);
            transform: translateY(-10px) translateX(0) rotateZ(-45deg);
    opacity: 1; } }
    @media screen and (min-width: 64em) {
      .s-burger.is-active.reverse .b {
        -webkit-animation-duration: 1ms;
                animation-duration: 1ms; } }
  body:not(.touch-user) .s-burger.not-active:hover .t, body:not(.touch-user) .s-burger.not-active:hover .m, body:not(.touch-user) .s-burger.not-active:hover .b {
    background-color: #141414; }
  .s-burger.not-active .t {
    top: 0;
    -webkit-animation: activate-t-reverse 200ms linear 1;
            animation: activate-t-reverse 200ms linear 1;
    -webkit-animation-fill-mode: backwards;
            animation-fill-mode: backwards;
    animation-direction: reverse;
    background-color: #141414; }

@-webkit-keyframes activate-t-reverse {
  0% {
    -webkit-transform: translateY(0) translateX(0) rotateZ(0);
            transform: translateY(0) translateX(0) rotateZ(0);
    opacity: 1; }
  40% {
    -webkit-transform: translateY(18px) translateX(0) rotateZ(0);
            transform: translateY(18px) translateX(0) rotateZ(0);
    opacity: 1; }
  100% {
    -webkit-transform: translateY(8px) translateX(0) rotateZ(45deg);
            transform: translateY(8px) translateX(0) rotateZ(45deg);
    opacity: 1; } }

@keyframes activate-t-reverse {
  0% {
    -webkit-transform: translateY(0) translateX(0) rotateZ(0);
            transform: translateY(0) translateX(0) rotateZ(0);
    opacity: 1; }
  40% {
    -webkit-transform: translateY(18px) translateX(0) rotateZ(0);
            transform: translateY(18px) translateX(0) rotateZ(0);
    opacity: 1; }
  100% {
    -webkit-transform: translateY(8px) translateX(0) rotateZ(45deg);
            transform: translateY(8px) translateX(0) rotateZ(45deg);
    opacity: 1; } }
    @media screen and (min-width: 64em) {
      .s-burger.not-active .t {
        -webkit-animation-duration: 1ms;
                animation-duration: 1ms; } }
  .s-burger.not-active .m {
    top: calc(20px / 2 - 2px / 2);
    -webkit-animation: activate-m-reverse 200ms linear 1;
            animation: activate-m-reverse 200ms linear 1;
    -webkit-animation-fill-mode: backwards;
            animation-fill-mode: backwards;
    animation-direction: reverse;
    background-color: #141414; }

@-webkit-keyframes activate-m-reverse {
  0% {
    -webkit-transform: translateY(0) translateX(0) rotateZ(0);
            transform: translateY(0) translateX(0) rotateZ(0);
    opacity: 1; }
  25% {
    -webkit-transform: translateY(8px) translateY(0) rotateZ(0);
            transform: translateY(8px) translateY(0) rotateZ(0);
    opacity: 0; }
  100% {
    -webkit-transform: translateY(8px) translateY(0) rotateZ(0);
            transform: translateY(8px) translateY(0) rotateZ(0);
    opacity: 0; } }

@keyframes activate-m-reverse {
  0% {
    -webkit-transform: translateY(0) translateX(0) rotateZ(0);
            transform: translateY(0) translateX(0) rotateZ(0);
    opacity: 1; }
  25% {
    -webkit-transform: translateY(8px) translateY(0) rotateZ(0);
            transform: translateY(8px) translateY(0) rotateZ(0);
    opacity: 0; }
  100% {
    -webkit-transform: translateY(8px) translateY(0) rotateZ(0);
            transform: translateY(8px) translateY(0) rotateZ(0);
    opacity: 0; } }
    @media screen and (min-width: 64em) {
      .s-burger.not-active .m {
        -webkit-animation-duration: 1ms;
                animation-duration: 1ms; } }
  .s-burger.not-active .b {
    top: calc(20px - 2px);
    -webkit-animation: activate-b-reverse 200ms linear 1;
            animation: activate-b-reverse 200ms linear 1;
    -webkit-animation-fill-mode: backwards;
            animation-fill-mode: backwards;
    animation-direction: reverse;
    background-color: #141414; }

@-webkit-keyframes activate-b-reverse {
  0% {
    -webkit-transform: translateY(0) translateX(0) rotateZ(0);
            transform: translateY(0) translateX(0) rotateZ(0);
    opacity: 1; }
  40% {
    -webkit-transform: translateY(0) translateX(0) rotateZ(0);
            transform: translateY(0) translateX(0) rotateZ(0);
    opacity: 1; }
  100% {
    -webkit-transform: translateY(-10px) translateX(0) rotateZ(-45deg);
            transform: translateY(-10px) translateX(0) rotateZ(-45deg);
    opacity: 1; } }

@keyframes activate-b-reverse {
  0% {
    -webkit-transform: translateY(0) translateX(0) rotateZ(0);
            transform: translateY(0) translateX(0) rotateZ(0);
    opacity: 1; }
  40% {
    -webkit-transform: translateY(0) translateX(0) rotateZ(0);
            transform: translateY(0) translateX(0) rotateZ(0);
    opacity: 1; }
  100% {
    -webkit-transform: translateY(-10px) translateX(0) rotateZ(-45deg);
            transform: translateY(-10px) translateX(0) rotateZ(-45deg);
    opacity: 1; } }
    @media screen and (min-width: 64em) {
      .s-burger.not-active .b {
        -webkit-animation-duration: 1ms;
                animation-duration: 1ms; } }

.button {
  position: relative;
  font-size: 1.25rem;
  line-height: 1.5rem;
  font-family: NeueSansPro-SemiBold, Helvetiva, sans-serif;
  font-weight: normal;
  letter-spacing: 0.9px;
  margin: 0 auto;
  padding-top: 0.625rem;
  padding-bottom: 0.375rem;
  background: none;
  text-decoration: none;
  border-radius: 5px;
  border-width: 2px;
  -webkit-transition: all 300ms ease-in-out;
  transition: all 300ms ease-in-out; }
  .button.large, .button.tiny, .button.small {
    font-size: 1.25rem;
    line-height: 1.5rem;
    font-family: NeueSansPro-SemiBold, Helvetiva, sans-serif;
    font-weight: normal;
    letter-spacing: 0.9px; }
  .button.hollow {
    border-width: 2px; }
  .button:hover {
    color: #ffffff !important;
    background-color: #00837c !important;
    border-color: #00837c !important; }

.component-text-image .image img {
  max-width: 100%;
  display: block;
  height: auto; }

.image-caption {
  display: block;
  font-size: 90%;
  font-style: italic;
  margin: 0.3125rem 0;
  opacity: 0.5; }

.text ul li {
  list-style-type: none !important; }
  .text ul li:before {
    content: "-";
    position: absolute;
    padding-right: 0.5rem;
    margin-left: -1.25rem; }

.component-slider {
  position: relative;
  margin-bottom: 3.125rem; }
  @media print, screen and (min-width: 64em) {
    .component-slider {
      padding-bottom: 55.39%;
      height: 0; } }
  @media screen and (min-width: 64em) and (min-width: 1500px) {
    .component-slider {
      padding-bottom: 28.125rem; } }
  @media print, screen and (min-width: 64em) {
    .full .component-slider {
      padding-bottom: 33.34%;
      height: 0; } }
  @media screen and (min-width: 1500px) {
    .full .component-slider {
      padding-bottom: 28.125rem; } }
  @media screen and (max-width: 63.9375em) {
    .component-slider {
      width: 100vw;
      left: 50%;
      -webkit-transform: translateX(-50%);
          -ms-transform: translateX(-50%);
              transform: translateX(-50%); } }
  .component-slider body:not(.editmode) {
    max-height: 46.875rem; }
  @media print, screen and (min-width: 64em) {
    .component-slider .owl-carousel {
      position: absolute;
      -webkit-transform: translateX(50%);
          -ms-transform: translateX(50%);
              transform: translateX(50%);
      right: 50%;
      max-height: 100%;
      height: 100%; }
      .component-slider .owl-carousel .owl-stage-outer {
        height: 100%;
        max-height: 100%; }
        .component-slider .owl-carousel .owl-stage-outer .owl-stage {
          max-height: 100%;
          height: 100%; }
          .component-slider .owl-carousel .owl-stage-outer .owl-stage .owl-item {
            height: 100%;
            max-height: 100%; } }
  @media all and (-ms-high-contrast: none) {
    .component-slider .owl-carousel {
      width: calc(100vw - 17px); } }
  .component-slider .slider-item {
    position: relative;
    height: 100%; }
    .component-slider .slider-item .slider-link {
      background: rgba(180, 131, 138, 0.5); }
      .component-slider .slider-item .slider-link:hover .button {
        background-color: #00837c !important;
        border-color: #00837c !important; }
    .component-slider .slider-item .image {
      background-position: center;
      background-size: cover;
      background-repeat: no-repeat; }
      @media screen and (max-width: 63.9375em) {
        .component-slider .slider-item .image {
          height: 55vw;
          max-height: 100%; } }
      @media print, screen and (min-width: 64em) {
        .component-slider .slider-item .image {
          position: absolute;
          top: 0;
          left: 0;
          right: 0;
          bottom: 0; } }
    @media print, screen and (min-width: 64em) {
      .component-slider .slider-item .text-wrapper {
        position: absolute;
        bottom: 1.875rem;
        width: 40%;
        max-width: 36.875rem;
        min-width: 20rem; } }
    @media screen and (max-width: 63.9375em) {
      .component-slider .slider-item .text-wrapper {
        position: relative;
        width: 100%; } }
    @media print, screen and (min-width: 64em) {
      .component-slider .slider-item .text-wrapper.right {
        right: 1.875rem; }
      .component-slider .slider-item .text-wrapper.left {
        left: 1.875rem; } }
    .component-slider .slider-item .text-wrapper .color-area {
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0; }
      @media print, screen and (min-width: 64em) {
        .component-slider .slider-item .text-wrapper .color-area {
          opacity: 0.75; } }
    .component-slider .slider-item .text-wrapper .text-block {
      position: relative;
      padding: 1.5rem; }
      .component-slider .slider-item .text-wrapper .text-block h4 {
        color: #ffffff;
        margin-top: 0;
        margin-bottom: 0.4375rem; }
      .component-slider .slider-item .text-wrapper .text-block p {
        color: #ffffff;
        margin-top: 0;
        margin-bottom: 0;
        line-height: 1.3; }
      .component-slider .slider-item .text-wrapper .text-block .button {
        border: 2px solid #ffffff;
        border-radius: 5px;
        left: 0;
        -webkit-transform: none;
            -ms-transform: none;
                transform: none;
        margin-top: 0;
        background: transparent;
        padding: 0.5rem;
        font-size: 1.125rem; }
        .component-slider .slider-item .text-wrapper .text-block .button:hover {
          background-color: #00837c !important;
          border-color: #00837c !important; }
      .component-slider .slider-item .text-wrapper .text-block h4 + .button {
        margin-top: 1.0625rem; }
      .component-slider .slider-item .text-wrapper .text-block p + .button {
        margin-top: 1.0625rem; }

.owl-dots {
  text-align: center;
  padding: 0 2.8125rem; }
  .courses-slider .owl-dots {
    position: absolute;
    width: 100%; }
    @media screen and (min-width: 40em) {
      .courses-slider .owl-dots {
        bottom: -1.25rem; } }
  .owl-dots .owl-dot {
    display: inline-block;
    height: 0.625rem;
    width: 0.625rem;
    margin: 0.125rem 0.125rem 0.1875rem 0.1875rem;
    border: 1px solid #d6d6d6 !important;
    background: #ffffff !important;
    border-radius: 50%; }
    .owl-dots .owl-dot.active {
      background: #006F69 !important; }

.owl-nav button {
  position: absolute;
  height: 2.3125rem;
  width: 2.3125rem;
  top: 50%;
  -webkit-transform: translateY(-120%);
      -ms-transform: translateY(-120%);
          transform: translateY(-120%); }
  .courses-slider .owl-nav button {
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%); }
  @media screen and (max-width: 39.9375em) {
    .owl-nav button {
      top: 23vw;
      -webkit-transform: translateY(0);
          -ms-transform: translateY(0);
              transform: translateY(0); } }
  .owl-nav button:focus {
    outline: none; }
  .owl-nav button span {
    position: absolute;
    display: inline-block;
    left: 50%;
    top: 50%;
    -webkit-transform: translateX(-50%) translateY(-50%) scale(1);
        -ms-transform: translateX(-50%) translateY(-50%) scale(1);
            transform: translateX(-50%) translateY(-50%) scale(1);
    max-height: 100%;
    max-width: 100%;
    height: 100%;
    width: 100%;
    opacity: 0.45;
    -webkit-transition: opacity 300ms, -webkit-transform 200ms;
    transition: opacity 300ms, -webkit-transform 200ms;
    transition: opacity 300ms, transform 200ms;
    transition: opacity 300ms, transform 200ms, -webkit-transform 200ms;
    background-position: center;
    background-size: auto;
    background-repeat: no-repeat;
    color: transparent; }
    .owl-nav button span:hover {
      opacity: 1; }
  .owl-nav button.owl-next {
    right: 2.5rem; }
    .courses-slider .owl-nav button.owl-next {
      right: -2.5rem; }
      @media screen and (max-width: 39.9375em) {
        .courses-slider .owl-nav button.owl-next {
          display: none; } }
    .owl-nav button.owl-next span {
      content: "";
      background-image: url("../img/arrow-right-blue.svg"); }
  .owl-nav button.owl-prev {
    left: 2.5rem; }
    .courses-slider .owl-nav button.owl-prev {
      left: -2.5rem; }
      @media screen and (max-width: 39.9375em) {
        .courses-slider .owl-nav button.owl-prev {
          display: none; } }
    .owl-nav button.owl-prev span {
      content: "";
      background-image: url("../img/arrow-left-brown.svg"); }
  .owl-nav button.disabled {
    display: none; }

.owl-carousel .owl-stage,
.owl-carousel.owl-drag .owl-item {
  -ms-touch-action: auto !important;
  touch-action: auto !important; }

.editmode .component-slider {
  height: auto;
  margin-bottom: 3.125rem;
  padding-bottom: 0; }
  .editmode .component-slider .slider-item {
    min-height: 40vw;
    max-height: 100%;
    margin-bottom: 2.5rem; }

.article {
  background-color: #ffffff;
  padding-top: 0.9375rem !important;
  padding-bottom: 0.9375rem !important; }
  @media print, screen and (min-width: 40em) {
    .article {
      padding-left: 0.9375rem !important;
      padding-right: 0.9375rem !important; } }
  .article .text > p {
    font-size: 0.9375rem;
    line-height: 24px;
    font-family: var(--fontFamily); }
  .article h4 {
    margin-top: 0.3125rem; }
  .article ul.tags {
    display: inline-block;
    margin-bottom: 0.9375rem;
    margin-top: 0.3125rem;
    width: auto; }
    .article ul.tags li {
      display: inline-block; }
      .article ul.tags li a.article_tag {
        display: block;
        -webkit-user-select: none;
           -moz-user-select: none;
            -ms-user-select: none;
                user-select: none;
        padding: 0.125rem 0.625rem;
        background-color: #ece0e2;
        color: #005463;
        text-decoration: none;
        -webkit-transition: all 200ms;
        transition: all 200ms;
        margin: 0 0.1875rem 0.1875rem 0; }
        body:not(.touch-user) .article ul.tags li a.article_tag:hover {
          background-color: #005463;
          color: #ece0e2; }
  .article p.subtitle {
    font-size: 1.3rem;
    color: #006F69;
    line-height: 1.56rem;
    font-family: var(--fontFamily);
    letter-spacing: 0.7px;
    margin-top: 0;
    margin-bottom: 0.8125rem; }
    .article p.subtitle a {
      color: inherit; }
  .article .article-image {
    position: relative;
    display: block;
    width: calc(100% + 30px);
    top: -0.9375rem;
    padding-bottom: 85%;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    left: -0.9375rem; }
    .article .article-image + .image-caption {
      margin-top: -0.5rem;
      margin-bottom: 0.625rem; }
    @media screen and (max-width: 39.9375em) {
      .article .article-image {
        width: calc(100% + 3rem);
        left: -1.5rem; } }
  .article .text.hasDateOrAuthor {
    margin-bottom: 1.125rem; }
    .article .text.hasDateOrAuthor p:nth-child(2) {
      display: inline; }
  .article .dateAndAuthor {
    font-size: 1rem;
    color: #005463;
    line-height: 1.2rem;
    font-family: NeueSansPro-SemiBold, Helvetiva, sans-serif;
    font-weight: normal;
    letter-spacing: 0.5px; }
  .article .img {
    margin-bottom: 0.9375rem; }
    .article .img.left {
      text-align: left; }
    .article .img.right {
      text-align: right; }
    .article .img.center {
      text-align: center; }
    .article .img img {
      max-width: 100%; }
    .article .img span {
      display: inline-block;
      width: 100%;
      text-align: left; }
  .article .code * {
    max-width: 100%;
    overflow: hidden; }
  @media screen and (max-width: 39.9375em) {
    .article.small-12 {
      margin: 0 !important;
      width: 100%; } }

.articles {
  padding: 0; }
  .articles .article-cell {
    padding: 0.9375rem;
    background-color: #ffffff; }

.articles-view {
  margin-bottom: 3.125rem; }

.editor-grid {
  position: relative !important;
  padding-top: 1.875rem !important; }
  .editor-grid .mgnlEditorBar {
    position: absolute !important;
    width: 100% !important;
    top: 7px !important; }

.masonry-grid {
  -webkit-column-count: 1;
     -moz-column-count: 1;
          column-count: 1;
  -webkit-column-gap: 2rem;
     -moz-column-gap: 2rem;
          column-gap: 2rem;
  margin-top: 1rem; }
  @media screen and (min-width: 40em) {
    .masonry-grid {
      -webkit-column-count: 2;
         -moz-column-count: 2;
              column-count: 2;
      margin-left: 1rem;
      margin-right: 1rem; } }
  @media screen and (min-width: 64em) {
    .masonry-grid {
      -webkit-column-count: 3;
         -moz-column-count: 3;
              column-count: 3; } }

.masonry-view {
  -webkit-column-break-inside: avoid;
  page-break-inside: avoid;
  -moz-column-break-inside: avoid;
       break-inside: avoid-column;
  display: table;
  padding-bottom: 2rem; }
  @media screen and (max-width: 39.9375em) {
    .masonry-view .article {
      padding: 1.5rem; } }

@media screen and (max-width: 39.9375em) {
  .component-map .map {
    min-height: 28.125rem; } }

.component-map .map.no-height {
  height: 0;
  padding-bottom: 66%; }

.component-map .population {
  position: absolute;
  top: -10vh;
  left: -10vw;
  display: none;
  color: transparent;
  visibility: hidden;
  max-height: 0;
  max-width: 0;
  height: 0;
  width: 0;
  overflow: hidden; }

.infoBox {
  position: relative !important;
  max-width: 40rem;
  width: 40rem;
  max-height: 20.5625rem;
  height: 20.5625rem;
  -webkit-transform: translateZ(0) translateY(-424px) translateX(-50%) !important;
  -ms-transform: translateZ(0) translateY(-424px) translateX(-50%) !important;
  transform: translateZ(0) translateY(-424px) translateX(-50%) !important; }
  @media screen and (max-width: 39.9375em) {
    .infoBox {
      max-width: calc(100vw - 50px); } }
  .infoBox > img {
    display: none; }
  .infoBox .info-window {
    position: absolute;
    padding: 1.875rem;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    padding: 1.5625rem; }
    @media screen and (max-width: 39.9375em) {
      .infoBox .info-window {
        margin: 0.9375rem 0.9375rem 0 0.9375rem; } }
    .infoBox .info-window .close {
      position: absolute;
      top: 0.625rem;
      right: 0.625rem;
      width: 0.9375rem;
      height: 0.9375rem;
      cursor: pointer; }
      .infoBox .info-window .close svg path {
        fill: #ffffff;
        -webkit-transition: all 0.2s ease-in-out;
        transition: all 0.2s ease-in-out; }
      .infoBox .info-window .close:hover svg path {
        fill: rgba(255, 255, 255, 0.7); }
    .infoBox .info-window:after {
      position: absolute;
      content: '';
      height: 0;
      width: 0;
      left: 50%;
      -webkit-transform: translateX(-50%);
          -ms-transform: translateX(-50%);
              transform: translateX(-50%);
      bottom: -57px;
      border-width: 30px;
      border-color: inherit;
      border-style: solid;
      border-right-color: transparent;
      border-bottom-color: transparent;
      border-left-color: transparent; }
    .infoBox .info-window p,
    .infoBox .info-window span,
    .infoBox .info-window a {
      font-size: 1rem;
      color: #ffffff;
      line-height: 1.2rem;
      font-family: var(--fontFamily); }
    .infoBox .info-window a {
      text-decoration: underline; }
    .infoBox .info-window a:hover {
      color: rgba(255, 255, 255, 0.7); }
    .infoBox .info-window .name {
      margin-bottom: 0.3125rem; }
      .infoBox .info-window .name span {
        font-size: 1.875rem;
        color: #ffffff;
        line-height: 2.25rem;
        font-family: NeueSansPro-SemiBold, Helvetiva, sans-serif;
        font-weight: normal; }
    @media screen and (max-width: 39.9375em) {
      .infoBox .info-window.with-image {
        /* OLD - Firefox 19- (doesn't work very well) */
        display: -ms-flexbox;
        /* TWEENER - IE 10 */
        display: -webkit-flex;
        /* NEW - Chrome */
        display: -webkit-box;
        display: flex;
        /* NEW, Spec - Opera 12.1, Firefox 20+ */
        -ms-flex-direction: column;
        -webkit-flex-direction: column;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
                flex-direction: column;
        -ms-flex-wrap: no-wrap;
        -webkit-flex-wrap: no-wrap;
        flex-wrap: no-wrap;
        -webkit-align-items: flex-start;
        -webkit-box-align: start;
            -ms-flex-align: start;
                align-items: flex-start;
        -webkit-justify-content: flex-start;
        -webkit-box-pack: start;
            -ms-flex-pack: start;
                justify-content: flex-start; } }
    @media print, screen and (min-width: 40em) {
      .infoBox .info-window.with-image {
        /* OLD - Firefox 19- (doesn't work very well) */
        display: -ms-flexbox;
        /* TWEENER - IE 10 */
        display: -webkit-flex;
        /* NEW - Chrome */
        display: -webkit-box;
        display: flex;
        /* NEW, Spec - Opera 12.1, Firefox 20+ */
        -ms-flex-direction: row;
        -webkit-flex-direction: row;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
                flex-direction: row;
        -ms-flex-wrap: nowrap;
        -webkit-flex-wrap: nowrap;
        flex-wrap: nowrap;
        -webkit-align-items: center;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        -webkit-justify-content: center;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        width: 40rem;
        height: 20.5625rem; } }
    @media print, screen and (min-width: 40em) {
      .infoBox .info-window.with-image .text {
        height: 100%; }
      .infoBox .info-window.with-image .text,
      .infoBox .info-window.with-image .image {
        width: 50%; } }
    .infoBox .info-window.with-image .image {
      padding-top: 0.9375rem;
      text-align: center; }
      .infoBox .info-window.with-image .image img {
        max-width: 100%;
        max-height: 15.5625rem; }
      @media screen and (max-width: 39.9375em) {
        .infoBox .info-window.with-image .image {
          display: none; } }
    @media screen and (max-width: 39.9375em) {
      .infoBox .info-window.with-image .text p,
      .infoBox .info-window.with-image .text a,
      .infoBox .info-window.with-image .text span {
        font-size: 0.8125rem;
        line-height: 1.0625rem; }
      .infoBox .info-window.with-image .name span {
        font-size: 1rem;
        color: #ffffff;
        line-height: 1.2rem;
        font-family: NeueSansPro-SemiBold, Helvetiva, sans-serif;
        font-weight: normal; } }
    @media screen and (min-width: 40em) {
      .infoBox .info-window .text {
        padding-right: 0.9375rem; } }
    .infoBox .info-window .text .address {
      margin-bottom: 1.5625rem; }
    @media screen and (max-width: 39.9375em) {
      .infoBox .info-window .text {
        overflow-y: auto;
        overflow-x: hidden; } }

.entry-wrapper {
  display: inline-block;
  height: 100%;
  width: calc(100% + 30px);
  overflow: visible !important; }

.coursebox {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  position: relative;
  display: block;
  float: left; }
  .coursebox.grid-item {
    width: calc(100% / 3);
    padding-right: 1.875rem;
    padding-bottom: 1.875rem; }
    @media screen and (min-width: 40em) and (max-width: 63.9375em) {
      .coursebox.grid-item {
        width: 50%; } }
    @media screen and (max-width: 39.9375em) {
      .coursebox.grid-item {
        width: 100%; } }
  .coursebox.slider-item {
    width: calc(100% - 80px);
    margin-left: 2.5rem; }
    @media screen and (min-width: 40em) {
      .coursebox.slider-item {
        width: 50%;
        margin-left: 0.9375rem; } }
    @media screen and (min-width: 64em) {
      .coursebox.slider-item {
        width: 33.333333%; } }
  .coursebox .inner-wrapper {
    position: relative;
    height: 0;
    padding-bottom: 100%;
    -webkit-transition: all 300ms ease-in-out;
    transition: all 300ms ease-in-out; }
  .coursebox .content {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    padding: 0.9375rem 0.625rem 0 0.9375rem; }
    @media screen and (max-width: 39.9375em) {
      .coursebox .content {
        padding: 1.5625rem 1.5625rem 1.5625rem 1.875rem; } }
  .coursebox:hover .inner-wrapper {
    -webkit-box-shadow: 0 0 0.75rem rgba(20, 20, 20, 0.2);
            box-shadow: 0 0 0.75rem rgba(20, 20, 20, 0.2); }
  .coursebox span.text {
    display: inline-block;
    vertical-align: top;
    color: #006F69;
    max-width: calc(100% - 35px); }
  .coursebox p.subject {
    font-size: 0.75rem;
    color: #006F69;
    margin-bottom: 0.3125rem; }
    .coursebox p.subject span svg {
      width: 1.0625rem;
      vertical-align: text-top; }
      .coursebox p.subject span svg path {
        stroke: #006F69;
        fill: #006F69; }
  .coursebox h4 {
    font-size: 1.25rem;
    line-height: 1.5rem;
    margin-bottom: 0.9375rem; }
  .coursebox p.place {
    color: #006F69;
    margin-bottom: 0.5625rem; }
  .coursebox p.clock {
    margin-bottom: 0.5625rem; }

.course-detail span.icon,
.coursebox span.icon {
  display: inline-block;
  width: 1.5rem;
  height: 1.0625rem;
  line-height: 1.5rem; }

p.subject {
  font-size: 0.875rem; }
  p.subject span svg {
    width: 1.0625rem;
    vertical-align: text-top; }
    p.subject span svg path {
      stroke: #006F69;
      fill: #006F69; }
  p.subject span.text {
    line-height: 0.9375rem; }

p.place span svg {
  width: 1.0625rem;
  vertical-align: text-top; }
  p.place span svg path {
    stroke: #006F69;
    fill: #006F69; }

p.clock span svg {
  width: 1.0625rem;
  vertical-align: text-top; }
  p.clock span svg path {
    fill: #006F69; }
  p.clock span svg circle {
    stroke: #006F69; }

p.date svg {
  width: 1.0625rem;
  vertical-align: text-top; }
  p.date svg path {
    stroke: #006F69;
    fill: #006F69; }

p.local svg {
  width: 1.0625rem;
  vertical-align: text-top; }
  p.local svg path, p.local svg circle, p.local svg rect {
    stroke: #006F69; }

p.subvention {
  font-size: 0.875rem;
  line-height: 1.5; }
  p.subvention span.text {
    display: inline-block;
    vertical-align: top;
    max-width: calc(100% - 35px); }
  p.subvention svg {
    width: 1.0625rem;
    vertical-align: text-top; }
    p.subvention svg path {
      stroke: #006F69;
      fill: #006F69; }

.course-detail {
  margin-bottom: 2.5rem !important; }
  .course-detail p.subject span.icon svg {
    width: 1.25rem; }
  .course-detail .cell p.bold {
    font-weight: bold; }
  .course-detail .cell p.info {
    font-size: 0.875rem;
    margin-bottom: 0.4375rem;
    margin-top: 0.1875rem; }
  .course-detail .left-detail {
    background-color: #e5ebeb;
    padding: 1.375rem 1.5625rem 0.75rem 1.5625rem; }
    .course-detail .left-detail p, .course-detail .left-detail span {
      color: #006F69; }
    @media screen and (max-width: 39.9375em) {
      .course-detail .left-detail {
        margin-bottom: 1.375rem; } }
  .course-detail .right-detail {
    background-color: #005463;
    padding: 1.375rem 1.5625rem 0.75rem 1.5625rem; }
    .course-detail .right-detail p, .course-detail .right-detail span {
      color: #ffffff; }
  .course-detail .leitung p {
    margin-bottom: 0; }
  @media screen and (max-width: 39.9375em) {
    .course-detail {
      padding-left: 0;
      padding-right: 0; } }

@media screen and (max-width: 39.9375em) {
  .courses-wrapper > .component-text {
    padding: 0 1.5625rem; } }

.courses-wrapper .filters {
  /* OLD - Firefox 19- (doesn't work very well) */
  display: -ms-flexbox;
  /* TWEENER - IE 10 */
  display: -webkit-flex;
  /* NEW - Chrome */
  display: -webkit-box;
  display: flex;
  /* NEW, Spec - Opera 12.1, Firefox 20+ */
  -ms-flex-direction: row;
  -webkit-flex-direction: row;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
          flex-direction: row;
  -ms-flex-wrap: nowrap;
  -webkit-flex-wrap: nowrap;
  flex-wrap: nowrap;
  -webkit-align-items: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-justify-content: space-between;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-bottom: 1.875rem; }
  @media screen and (max-width: 39.9375em) {
    .courses-wrapper .filters {
      /* OLD - Firefox 19- (doesn't work very well) */
      display: -ms-flexbox;
      /* TWEENER - IE 10 */
      display: -webkit-flex;
      /* NEW - Chrome */
      display: -webkit-box;
      display: flex;
      /* NEW, Spec - Opera 12.1, Firefox 20+ */
      -ms-flex-direction: row;
      -webkit-flex-direction: row;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
              flex-direction: row;
      -ms-flex-wrap: wrap;
      -webkit-flex-wrap: wrap;
      flex-wrap: wrap;
      -webkit-align-items: center;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-justify-content: space-between;
      -webkit-box-pack: justify;
          -ms-flex-pack: justify;
              justify-content: space-between; }
      .courses-wrapper .filters .filter {
        min-width: 16.875rem;
        -webkit-box-flex: 1;
        -webkit-flex-grow: 1;
            -ms-flex-positive: 1;
                flex-grow: 1;
        margin-bottom: 0.9375rem; } }
  .courses-wrapper .filters .filter {
    width: calc(50% - 15px); }

@media screen and (max-width: 39.9375em) {
  .courses-wrapper {
    padding-left: 0 !important;
    padding-right: 0 !important; } }

.editmode .courses-wrapper .slider-item {
  width: calc(100% / 3);
  float: left;
  padding: 0 15px 15px 0; }

.course-no-neg-margin > .grid-margin-y {
  margin-top: 0;
  margin-bottom: 0; }

.courses-slider {
  margin-bottom: 3.125rem;
  margin-left: -0.9375rem;
  margin-right: -0.9375rem; }
  .courses-slider .owl-loaded .slider-item {
    width: 100%;
    margin-left: 0; }
  .courses-slider .owl-item .coursebox {
    padding: 0.9375rem 2.5rem; }
    @media screen and (min-width: 40em) {
      .courses-slider .owl-item .coursebox {
        padding: 0.9375rem; } }

.course-list {
  width: 53.75rem; }
  @media screen and (max-width: 39.9375em) {
    .course-list {
      width: 100%; } }
  .course-list p {
    font-size: 0.9375rem; }
  .course-list a {
    text-decoration: none;
    color: #006F69; }
    .course-list a h4 {
      font-size: 1.25rem; }
  .course-list .content {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 2;
    -webkit-flex: 2 1 auto;
        -ms-flex: 2 1 auto;
            flex: 2 1 auto;
    margin-bottom: 0.625rem;
    width: 53.75rem; }
    @media screen and (max-width: 39.9375em) {
      .course-list .content {
        width: calc(100% - 30px) !important;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -webkit-flex-direction: column;
            -ms-flex-direction: column;
                flex-direction: column; } }
    .course-list .content div {
      padding-top: 0.9375rem;
      vertical-align: top;
      width: 23%;
      padding-left: 0.3125rem;
      padding-right: 0.3125rem; }
      @media screen and (max-width: 39.9375em) {
        .course-list .content div {
          padding-left: 1.875rem;
          padding-right: 1.5625rem;
          padding-top: 0;
          width: 100%; } }
      .course-list .content div:nth-child(1) {
        padding-left: 0.9375rem;
        width: 34%; }
        @media screen and (max-width: 39.9375em) {
          .course-list .content div:nth-child(1) {
            padding-left: 1.875rem;
            padding-right: 1.5625rem;
            padding-top: 0.625rem;
            width: 100%; } }
      .course-list .content div:nth-child(4) {
        width: 20%; }
        @media screen and (max-width: 39.9375em) {
          .course-list .content div:nth-child(4) {
            padding-left: 1.875rem;
            padding-right: 1.5625rem;
            width: 100%; } }
      .course-list .content div .subject {
        margin-bottom: 0.3125rem; }
        .course-list .content div .subject span svg {
          vertical-align: baseline; }
      .course-list .content div .place span svg {
        width: 0.875rem; }
      .course-list .content div .clock, .course-list .content div .place {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex; }
        .course-list .content div .clock .icon, .course-list .content div .place .icon {
          margin-right: 0.3125rem; }

.course-sorter {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  vertical-align: baseline;
  font-size: 1.0625rem;
  font-weight: bold;
  margin-bottom: 0.625rem; }
  @media screen and (max-width: 39.9375em) {
    .course-sorter {
      display: none; } }
  .course-sorter .sort-item {
    cursor: pointer;
    -webkit-touch-callout: none;
    /* iOS Safari */
    -webkit-user-select: none;
    /* Safari */
    /* Konqueror HTML */
    -moz-user-select: none;
    /* Old versions of Firefox */
    -ms-user-select: none;
    /* Internet Explorer/Edge */
    user-select: none; }
  .course-sorter div {
    width: 23%; }
    .course-sorter div:nth-child(1) {
      width: 34%; }
    .course-sorter div:nth-child(4) {
      width: 20%; }
  .course-sorter .sort-arrows {
    display: -webkit-inline-box;
    display: -webkit-inline-flex;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-flex-shrink: 1;
        -ms-flex-negative: 1;
            flex-shrink: 1;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column; }
    .course-sorter .sort-arrows .arrow {
      width: 0.75rem;
      height: 0.5rem;
      fill: #B4838A; }
      .course-sorter .sort-arrows .arrow.selected {
        fill: #006F69; }
      .course-sorter .sort-arrows .arrow svg {
        vertical-align: middle;
        margin-top: -0.5rem; }
    .course-sorter .sort-arrows .arrow-up svg {
      -webkit-transform: rotateZ(180deg);
          -ms-transform: rotate(180deg);
              transform: rotateZ(180deg); }

.filters {
  margin-bottom: 2.5rem;
  margin-top: 0.625rem; }
  .filters .filter {
    position: relative;
    background-color: #ffffff;
    border: 1px solid #dcd7d7;
    width: 22.0625rem;
    max-width: 100%;
    cursor: pointer; }
    .filters .filter .filter-label {
      position: absolute;
      display: inline-block;
      top: 0;
      left: 0.625rem;
      color: #B4838A;
      font-size: 0.8125rem;
      margin: 0; }
      @media print, screen and (min-width: 40em) {
        .filters .filter .filter-label {
          -webkit-transition: all 200ms;
          transition: all 200ms; } }
    .filters .filter p.selected {
      position: relative;
      display: block;
      padding: 1.25rem 0.875rem 0.25rem 0.625rem;
      margin: 0;
      height: 100%; }
      @media print, screen and (min-width: 40em) {
        .filters .filter p.selected {
          -webkit-transition: -webkit-transform 200ms;
          transition: -webkit-transform 200ms;
          transition: transform 200ms;
          transition: transform 200ms, -webkit-transform 200ms; } }
    .filters .filter span {
      display: inline-block; }
      .filters .filter span.label {
        width: calc(100% - 15px);
        color: #656565; }
      .filters .filter span.icon {
        position: absolute;
        top: 50%;
        -webkit-transform: translateY(-50%);
            -ms-transform: translateY(-50%);
                transform: translateY(-50%);
        width: 1.0625rem;
        height: 1.875rem;
        line-height: 1.875rem; }
        @media print, screen and (min-width: 40em) {
          .filters .filter span.icon {
            -webkit-transition: -webkit-transform 200ms;
            transition: -webkit-transform 200ms;
            transition: transform 200ms;
            transition: transform 200ms, -webkit-transform 200ms; } }
        .filters .filter span.icon svg {
          vertical-align: middle; }
    .filters .filter ul {
      position: absolute;
      z-index: 2;
      width: calc(100% + 2px);
      margin: 0;
      padding: 0;
      left: -1px;
      top: calc(100% - 1px);
      max-height: 0;
      overflow: hidden; }
      @media print, screen and (min-width: 40em) {
        .filters .filter ul {
          -webkit-transition: max-height 200ms;
          transition: max-height 200ms; } }
      .filters .filter ul li {
        padding: 0.5rem 0.875rem 0.5rem 0.875rem;
        cursor: pointer;
        border-bottom: 1px solid #dcd7d7;
        border-left: 1px solid #dcd7d7;
        border-right: 1px solid #dcd7d7;
        background-color: #ffffff;
        -webkit-transform: translateY(-500px);
            -ms-transform: translateY(-500px);
                transform: translateY(-500px); }
        .filters .filter ul li:first-child {
          border-top: 1px solid #dcd7d7; }
        body:not(.touch-user) .filters .filter ul li:not(.active):hover {
          background-color: #dcd7d7; }
        .filters .filter ul li p {
          margin: 0; }
          .filters .filter ul li p span.arrow {
            display: none; }
        @media print, screen and (min-width: 40em) {
          .filters .filter ul li {
            -webkit-transition: -webkit-transform 200ms;
            transition: -webkit-transform 200ms;
            transition: transform 200ms;
            transition: transform 200ms, -webkit-transform 200ms; } }
        .filters .filter ul li.active {
          cursor: initial; }
          .filters .filter ul li.active span.label {
            color: #141414; }
        .filters .filter ul li.inactive {
          display: none; }
    .filters .filter.open p.filter-label, .filters .filter.label-down p.filter-label {
      font-size: 1rem;
      top: 50%;
      -webkit-transform: translateY(-50%);
          -ms-transform: translateY(-50%);
              transform: translateY(-50%); }
    .filters .filter.open p.selected {
      -webkit-transform: translateY(50px);
          -ms-transform: translateY(50px);
              transform: translateY(50px); }
      .filters .filter.open p.selected .icon {
        opacity: 0; }
    .filters .filter.open ul {
      max-height: 50vh;
      overflow: scroll;
      -webkit-overflow-scrolling: touch; }
      .filters .filter.open ul li {
        -webkit-transform: translateY(0);
            -ms-transform: translateY(0);
                transform: translateY(0); }

.form {
  margin-bottom: 3.125rem; }
  .form .group {
    width: calc(100% + 20px); }
    body:not(.editmode) .form .group {
      /* OLD - Firefox 19- (doesn't work very well) */
      display: -ms-flexbox;
      /* TWEENER - IE 10 */
      display: -webkit-flex;
      /* NEW - Chrome */
      display: -webkit-box;
      display: flex;
      /* NEW, Spec - Opera 12.1, Firefox 20+ */
      -ms-flex-direction: row;
      -webkit-flex-direction: row;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
              flex-direction: row;
      -ms-flex-wrap: wrap;
      -webkit-flex-wrap: wrap;
      flex-wrap: wrap;
      -webkit-align-items: flex-start;
      -webkit-box-align: start;
          -ms-flex-align: start;
              align-items: flex-start;
      -webkit-justify-content: flex-start;
      -webkit-box-pack: start;
          -ms-flex-pack: start;
              justify-content: flex-start; }
    .form .group .form-row {
      min-width: 15.625rem;
      -webkit-box-flex: 1;
      -webkit-flex-grow: 1;
          -ms-flex-positive: 1;
              flex-grow: 1;
      padding-right: 1.25rem;
      margin-bottom: 1.25rem; }
      @media print, screen and (min-width: 40em) {
        .form .group .form-row {
          max-width: 50%; } }
      .form .group .form-row label {
        position: relative;
        display: block; }
        .form .group .form-row label span {
          position: absolute;
          display: block;
          top: 50%;
          left: 0;
          color: #B4838A;
          padding-left: 0.625rem;
          font-size: 1rem;
          -webkit-transition: all 200ms;
          transition: all 200ms;
          -webkit-transform: translateY(-50%);
              -ms-transform: translateY(-50%);
                  transform: translateY(-50%); }
      .form .group .form-row input[type=text],
      .form .group .form-row input[type=email] {
        border: 1px solid #dcd7d7;
        height: 3rem;
        margin-bottom: 0.5rem;
        width: 100%;
        -webkit-transform: none !important;
            -ms-transform: none !important;
                transform: none !important;
        font-size: 1rem !important;
        padding: 1.0625rem 0.4375rem 0 0.625rem; }
        .form .group .form-row input[type=text]:focus,
        .form .group .form-row input[type=email]:focus {
          outline: none !important; }
      .form .group .form-row .description p {
        margin: 0;
        font-size: 0.8125rem;
        line-height: 1.0625rem; }
  .form fieldset {
    border: none;
    padding: 0;
    margin: 0; }
  .form .form-item input {
    position: absolute; }
  .form label a {
    color: #141414;
    text-decoration: underline; }
  .form label p {
    margin: 0; }
  .form input[type=checkbox] + label,
  .form input[type=radio] + label {
    position: relative;
    padding-left: 1.6875rem;
    cursor: pointer;
    margin-bottom: 0.5rem; }
    .form input[type=checkbox] + label:before,
    .form input[type=radio] + label:before {
      content: "";
      position: absolute;
      display: block;
      left: 0;
      top: 50%;
      -webkit-transform: translateY(-50%);
          -ms-transform: translateY(-50%);
              transform: translateY(-50%);
      height: 1rem;
      width: 1rem;
      border: 1px solid #dcd7d7; }
    .form input[type=checkbox] + label:after,
    .form input[type=radio] + label:after {
      content: "";
      position: absolute;
      top: 50%;
      left: 9px;
      color: #006F69;
      font-size: 1.625rem;
      -webkit-transform: translateY(-50%) translateX(-50%);
          -ms-transform: translateY(-50%) translateX(-50%);
              transform: translateY(-50%) translateX(-50%);
      -webkit-transition: max-height 70ms, max-width 70ms;
      transition: max-height 70ms, max-width 70ms;
      height: 1.125rem;
      max-height: 0;
      width: 1.125rem;
      max-width: 0;
      text-align: center;
      border: none;
      background-position: center;
      background-size: cover;
      background-repeat: no-repeat; }
  .form input[type=checkbox] + label:after {
    background-image: url("../img/checkbox-checked.svg"); }
  .form input[type=radio] + label:after {
    background-image: url("../img/radio-active.svg"); }
  .form input[type=radio] + label:before {
    border-radius: 50%; }
  .form input[type=checkbox]:checked + label:after,
  .form input[type=radio]:checked + label:after {
    max-height: 1.125rem;
    max-width: 1.125rem; }
  .form input[type=checkbox],
  .form input[type=radio] {
    opacity: 0; }
  .form .button-wrapper {
    min-width: 15.625rem;
    -webkit-box-flex: 1;
    -webkit-flex-grow: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    padding-right: 1.25rem; }
    @media print, screen and (min-width: 40em) {
      .form .button-wrapper {
        max-width: 50%; } }
    .form .button-wrapper input[type=submit] {
      position: relative;
      width: 100%;
      font-size: 1.25rem;
      color: #006F69;
      line-height: 2.125rem;
      font-family: NeueSansPro-SemiBold, Helvetiva, sans-serif;
      font-weight: normal;
      letter-spacing: 0.9px;
      cursor: pointer;
      margin: 0 auto;
      padding-top: 0.25rem;
      padding-bottom: 0;
      background: none;
      text-decoration: none;
      border-radius: 5px;
      border: 2px solid #006F69;
      max-width: 100%;
      left: 50%;
      -webkit-transform: translateX(-50%);
          -ms-transform: translateX(-50%);
              transform: translateX(-50%);
      -webkit-transition: all 300ms ease-in-out;
      transition: all 300ms ease-in-out; }
      .form .button-wrapper input[type=submit].large, .form .button-wrapper input[type=submit].tiny, .form .button-wrapper input[type=submit].small {
        font-size: 1.25rem;
        color: #006F69;
        line-height: 2.125rem;
        font-family: NeueSansPro-SemiBold, Helvetiva, sans-serif;
        font-weight: normal;
        letter-spacing: 0.9px; }
      .form .button-wrapper input[type=submit]:hover {
        color: #ffffff;
        border-color: #00837c;
        background-color: #00837c; }
      .form .button-wrapper input[type=submit][disabled=disabled] {
        opacity: 0.3;
        cursor: not-allowed; }
  .form input[type=submit] {
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important; }

.form .group .form-row label.set span, .form .group .form-row label.phd span, .form .group .form-row input[type=text]:focus + span,
.form .group .form-row input[type=email]:focus + span {
  font-size: 0.8125rem;
  -webkit-transform: translateY(-23px);
      -ms-transform: translateY(-23px);
          transform: translateY(-23px); }

.group .form-row fieldset > label.selection {
  margin-bottom: 0.4375rem; }
  .group .form-row fieldset > label.selection > span {
    position: static;
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    top: 0;
    padding-left: 0; }

.group .form-row fieldset fieldset.selection .form-item {
  height: 1.4375rem; }

.group .form-row fieldset fieldset.selection.mod legend {
  display: block; }

.group .form-row fieldset fieldset.selection.mod .form-item {
  display: inline-block;
  margin-right: 0.9375rem; }

.group .form-row fieldset .filters {
  margin-bottom: 0;
  margin-top: 0; }
  .group .form-row fieldset .filters .select.filter {
    width: 100%; }
    .group .form-row fieldset .filters .select.filter .options span.icon {
      display: none; }
    .group .form-row fieldset .filters .select.filter * {
      -webkit-user-select: none;
         -moz-user-select: none;
          -ms-user-select: none;
              user-select: none; }

label.textarea-label span {
  top: 4px !important;
  -webkit-transform: none !important;
      -ms-transform: none !important;
          transform: none !important;
  font-size: 0.8125rem !important; }

label.textarea-label textarea {
  width: 100%;
  padding-top: 1.4375rem;
  padding-left: 0.625rem;
  font-size: 1rem;
  border: 1px solid #dcd7d7; }

.recaptcha-validator {
  display: none; }

.form-row.error label em {
  display: none; }

.form-row.error label span, .form-row.error label .filter.select .filter-label {
  color: #f01414 !important; }

.form-row.error label input, .form-row.error label textarea, .form-row.error label .filter.select {
  border-color: #f01414 !important; }

.form-row.error .selection .select.filter {
  border-color: #f01414; }
  .form-row.error .selection .select.filter .filter-label {
    color: #f01414; }

.form-row.error .selection .opt-group input + label:before {
  border-color: #f01414 !important; }

label.is-invalid-label span, label.is-invalid-label a, label.is-invalid-label p {
  color: #f01414 !important; }

label.is-invalid-label:before {
  border-color: #f01414 !important; }

input.is-invalid-input {
  border-color: #f01414 !important; }

select.is-invalid-input + .filter.select {
  border-color: #f01414 !important; }
  select.is-invalid-input + .filter.select .filter-label {
    color: #f01414 !important; }

.text.error {
  background-color: #f01414; }

.text.success {
  background-color: #39aa47; }

.text.error, .text.success {
  position: relative;
  padding: 0.9375rem 0.9375rem 0.9375rem 3.5625rem;
  color: #ffffff;
  margin: 1.875rem 0; }
  .text.error h4, .text.success h4 {
    margin-bottom: 0;
    font-size: 1.5625rem;
    line-height: 1.875rem; }
  .text.error h4, .text.error p, .text.error a, .text.error li, .text.success h4, .text.success p, .text.success a, .text.success li {
    color: #ffffff; }
  .text.error span.icon, .text.success span.icon {
    position: absolute;
    display: block;
    left: 0.9375rem;
    width: 1.6875rem;
    top: 50%;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%); }

#mgnlhp {
  display: none; }

.tile-component {
  display: block;
  position: relative;
  height: 0;
  padding-bottom: 105%;
  opacity: 1;
  -webkit-transition: all 300ms;
  transition: all 300ms; }
  .tile-component .tile-inner {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0; }
    .tile-component .tile-inner .image {
      max-width: 100%;
      overflow: hidden;
      height: calc(100% - 80px);
      max-height: calc(100% - 80px);
      -webkit-transition: all 300ms ease-in-out;
      transition: all 300ms ease-in-out; }
      .tile-component .tile-inner .image span {
        display: block;
        height: 100%;
        background-repeat: no-repeat;
        background-position: center;
        background-size: cover;
        -webkit-transition: all 300ms ease-in-out;
        transition: all 300ms ease-in-out; }
      .tile-component .tile-inner .image .content-image-invisible {
        display: none; }
    .tile-component .tile-inner .text {
      position: absolute;
      height: 5rem;
      max-height: 5rem;
      bottom: 0;
      left: 0;
      padding: 0 1.5625rem;
      background-color: inherit;
      width: 100%;
      margin-top: 0; }
      .tile-component .tile-inner .text p {
        position: absolute;
        margin: 0;
        width: 100%;
        padding: 0 1.5625rem;
        font-size: 1.25rem;
        line-height: 1.5rem;
        font-family: NeueSansPro-SemiBold, Helvetiva, sans-serif;
        font-weight: normal;
        top: 50%;
        left: 0;
        -webkit-transform: translateY(-50%);
            -ms-transform: translateY(-50%);
                transform: translateY(-50%);
        -webkit-hyphens: auto;
            -ms-hyphens: auto;
                hyphens: auto; }

body:not(.touch-user) a.tile-component:hover {
  -webkit-box-shadow: 0 0 1.5625rem rgba(20, 20, 20, 0.2);
          box-shadow: 0 0 1.5625rem rgba(20, 20, 20, 0.2);
  opacity: .99; }
  body:not(.touch-user) a.tile-component:hover .image span {
    -webkit-transform: scale(1.02);
        -ms-transform: scale(1.02);
            transform: scale(1.02); }

#cookie-privacy-notice {
  display: none;
  position: fixed;
  z-index: 99;
  right: 0.5rem;
  left: 0.5rem;
  bottom: 0;
  border: none;
  margin: 1rem;
  -webkit-box-shadow: 0 0 7px rgba(20, 20, 20, 0.3);
          box-shadow: 0 0 7px rgba(20, 20, 20, 0.3);
  color: #ffffff;
  background-color: #006F69; }
  @media screen and (min-width: 40em) {
    #cookie-privacy-notice {
      max-width: 53.775rem;
      margin-left: auto;
      margin-right: auto; } }
  #cookie-privacy-notice a {
    color: #ffffff;
    text-decoration: underline; }
    #cookie-privacy-notice a:hover {
      color: #3db54b; }
  #cookie-privacy-notice .button {
    color: #006F69;
    border: none;
    border-radius: #ffffff;
    background-color: #ffffff;
    left: 0;
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    padding-left: 1.875rem;
    padding-right: 1.875rem;
    margin-top: 0; }
    #cookie-privacy-notice .button:hover {
      background-color: #141414 !important; }

.component-html::before, .component-html::after {
  display: table;
  content: ' ';
  -webkit-flex-basis: 0;
      -ms-flex-preferred-size: 0;
          flex-basis: 0;
  -webkit-box-ordinal-group: 2;
  -webkit-order: 1;
      -ms-flex-order: 1;
          order: 1; }

.component-html::after {
  clear: both; }

.component-html.responsive {
  position: relative;
  height: 0;
  margin-bottom: 1rem;
  padding-bottom: 56.25%;
  overflow: hidden; }
  .component-html.responsive iframe,
  .component-html.responsive object,
  .component-html.responsive embed,
  .component-html.responsive video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }

@media print {
  .component-html {
    display: none; } }

#nft-campaign {
  background-color: white; }
  #nft-campaign div, #nft-campaign p {
    font-family: 'Source Sans Pro', sans-serif;
    font-style: normal;
    font-weight: 400;
    font-size: 20px;
    line-height: 1.4; }
  #nft-campaign #nft-nav-bar-wrapper {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100px;
    z-index: 5; }
    #nft-campaign #nft-nav-bar-wrapper div, #nft-campaign #nft-nav-bar-wrapper p, #nft-campaign #nft-nav-bar-wrapper a {
      font-weight: 600;
      font-size: 16px;
      line-height: 20px; }
    #nft-campaign #nft-nav-bar-wrapper .s-burger {
      left: 17px !important;
      top: 33px !important; }
      #nft-campaign #nft-nav-bar-wrapper .s-burger span {
        background-color: #ffffff; }
    #nft-campaign #nft-nav-bar-wrapper #nft_nav {
      margin: 0 auto;
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
      -webkit-flex-direction: row;
          -ms-flex-direction: row;
              flex-direction: row;
      -webkit-box-pack: justify;
      -webkit-justify-content: space-between;
          -ms-flex-pack: justify;
              justify-content: space-between;
      padding: 28px 20px 0 20px;
      max-width: 1144px;
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; }
      @media screen and (max-width: 1023px) {
        #nft-campaign #nft-nav-bar-wrapper #nft_nav {
          padding-bottom: 50px;
          background-color: #141414;
          -webkit-box-align: center !important;
          -webkit-align-items: center !important;
              -ms-flex-align: center !important;
                  align-items: center !important;
          -webkit-box-pack: start !important;
          -webkit-justify-content: flex-start !important;
              -ms-flex-pack: start !important;
                  justify-content: flex-start !important;
          -webkit-box-orient: vertical !important;
          -webkit-box-direction: normal !important;
          -webkit-flex-direction: column !important;
              -ms-flex-direction: column !important;
                  flex-direction: column !important;
          -webkit-transition: -webkit-transform .5s;
          transition: -webkit-transform .5s;
          transition: transform .5s;
          transition: transform .5s, -webkit-transform .5s; }
          #nft-campaign #nft-nav-bar-wrapper #nft_nav.not-visible {
            -webkit-transform: translateY(-100%);
                -ms-transform: translateY(-100%);
                    transform: translateY(-100%); }
          #nft-campaign #nft-nav-bar-wrapper #nft_nav .nft_navigation,
          #nft-campaign #nft-nav-bar-wrapper #nft_nav .nft_anchor_nav,
          #nft-campaign #nft-nav-bar-wrapper #nft_nav .nft_nav_links {
            -webkit-box-align: start !important;
            -webkit-align-items: flex-start !important;
                -ms-flex-align: start !important;
                    align-items: flex-start !important;
            -webkit-box-pack: start !important;
            -webkit-justify-content: flex-start !important;
                -ms-flex-pack: start !important;
                    justify-content: flex-start !important;
            -webkit-box-orient: vertical !important;
            -webkit-box-direction: normal !important;
            -webkit-flex-direction: column !important;
                -ms-flex-direction: column !important;
                    flex-direction: column !important; }
          #nft-campaign #nft-nav-bar-wrapper #nft_nav .nft_anchor_nav {
            padding-bottom: 20px; } }
      @media screen and (min-width: 1446px) {
        #nft-campaign #nft-nav-bar-wrapper #nft_nav {
          max-width: calc(100% - 300px);
          padding: 28px 0 0 0; } }
    #nft-campaign #nft-nav-bar-wrapper #nft-logo-wrapper #nft_logo img {
      width: 100px;
      height: auto; }
      @media screen and (max-width: 1023px) {
        #nft-campaign #nft-nav-bar-wrapper #nft-logo-wrapper #nft_logo img {
          margin: 4px 0 20px -65px; } }
    #nft-campaign #nft-nav-bar-wrapper .nav_donate {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center; }
    #nft-campaign #nft-nav-bar-wrapper #nav_donate_btn {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center;
      height: 30px;
      background-color: rgba(255, 255, 255, 0.2);
      border-radius: 24px;
      margin-left: 24px;
      border: 1px solid transparent; }
      #nft-campaign #nft-nav-bar-wrapper #nav_donate_btn:hover {
        border: 1px solid white; }
      #nft-campaign #nft-nav-bar-wrapper #nav_donate_btn a {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        padding: 4px 12px;
        margin-left: 0; }
        #nft-campaign #nft-nav-bar-wrapper #nav_donate_btn a img {
          margin-right: 8px; }
        #nft-campaign #nft-nav-bar-wrapper #nav_donate_btn a span {
          color: white;
          font-style: normal;
          font-weight: 700;
          font-size: 14px;
          text-transform: uppercase; }
    #nft-campaign #nft-nav-bar-wrapper .nft_navigation {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-flex: 1;
      -webkit-flex-grow: 1;
          -ms-flex-positive: 1;
              flex-grow: 1;
      color: white;
      -webkit-box-align: center;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-box-pack: end;
      -webkit-justify-content: flex-end;
          -ms-flex-pack: end;
              justify-content: flex-end; }
      @media screen and (min-width: 1000px) {
        #nft-campaign #nft-nav-bar-wrapper .nft_navigation {
          -webkit-box-pack: justify;
          -webkit-justify-content: space-between;
              -ms-flex-pack: justify;
                  justify-content: space-between; } }
      #nft-campaign #nft-nav-bar-wrapper .nft_navigation .nft_anchor_nav {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex; }
  #nft-campaign #nft_teaser {
    padding: 0;
    display: initial; }
    #nft-campaign #nft_teaser.teaser_hover .crop_wrap {
      -webkit-transition: all 0.5s;
      transition: all 0.5s;
      width: 100% !important;
      height: 100% !important;
      border-radius: 0 !important; }
    #nft-campaign #nft_teaser.teaser_hover #nft_hover_overlay {
      opacity: 1 !important; }
    #nft-campaign #nft_teaser .teaser-bg-image {
      height: 100vh;
      max-width: 100%; }
      @media screen and (min-width: 980px) and (min-height: 900px) {
        #nft-campaign #nft_teaser .teaser-bg-image {
          height: 80vh; }
          #nft-campaign #nft_teaser .teaser-bg-image #nft_teaser_card {
            height: 80vh; } }
    #nft-campaign #nft_teaser #nft_teaser_card {
      width: 100%;
      height: 100%; }
      #nft-campaign #nft_teaser #nft_teaser_card .nft_teaser_card_crop {
        position: relative;
        width: 100%;
        height: 100%;
        margin: 0 auto;
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -webkit-align-items: center;
            -ms-flex-align: center;
                align-items: center;
        -webkit-box-pack: center;
        -webkit-justify-content: center;
            -ms-flex-pack: center;
                justify-content: center; }
        #nft-campaign #nft_teaser #nft_teaser_card .nft_teaser_card_crop .card_text {
          position: absolute;
          right: 0;
          bottom: 0;
          top: 50%;
          left: 50%;
          -webkit-transform: translate(-50%, -50%);
              -ms-transform: translate(-50%, -50%);
                  transform: translate(-50%, -50%);
          border-radius: 24px;
          text-align: center;
          display: -webkit-box;
          display: -webkit-flex;
          display: -ms-flexbox;
          display: flex;
          -webkit-box-orient: vertical;
          -webkit-box-direction: normal;
          -webkit-flex-direction: column;
              -ms-flex-direction: column;
                  flex-direction: column;
          -webkit-box-pack: justify;
          -webkit-justify-content: space-between;
              -ms-flex-pack: justify;
                  justify-content: space-between;
          height: 320px;
          width: calc(256px); }
          @media screen and (min-width: 450px) and (min-height: 700px) {
            #nft-campaign #nft_teaser #nft_teaser_card .nft_teaser_card_crop .card_text {
              height: 460px;
              width: calc(368px); } }
          @media screen and (min-width: 980px) and (min-height: 900px) {
            #nft-campaign #nft_teaser #nft_teaser_card .nft_teaser_card_crop .card_text {
              height: 580px;
              width: calc(464px); } }
          #nft-campaign #nft_teaser #nft_teaser_card .nft_teaser_card_crop .card_text .nft-teaser-text-top {
            margin: 20px; }
            @media screen and (min-width: 450px) and (min-height: 700px) {
              #nft-campaign #nft_teaser #nft_teaser_card .nft_teaser_card_crop .card_text .nft-teaser-text-top {
                margin: 40px; } }
          #nft-campaign #nft_teaser #nft_teaser_card .nft_teaser_card_crop .card_text #nft_hover_overlay {
            pointer-events: none;
            opacity: 0;
            position: absolute;
            left: 50%;
            top: 50%;
            -webkit-transform: translate(-50%, -50%);
                -ms-transform: translate(-50%, -50%);
                    transform: translate(-50%, -50%);
            color: white;
            width: 100vw;
            -webkit-transition: opacity 0.3s;
            transition: opacity 0.3s; }
            #nft-campaign #nft_teaser #nft_teaser_card .nft_teaser_card_crop .card_text #nft_hover_overlay .overlay_title {
              font-size: 30px;
              font-weight: 700;
              margin-bottom: 0; }
              @media screen and (min-width: 980px) and (min-height: 900px) {
                #nft-campaign #nft_teaser #nft_teaser_card .nft_teaser_card_crop .card_text #nft_hover_overlay .overlay_title {
                  font-size: 64px;
                  margin-bottom: 20px; } }
            #nft-campaign #nft_teaser #nft_teaser_card .nft_teaser_card_crop .card_text #nft_hover_overlay .overlay_subtitle {
              font-weight: 400;
              font-size: 20px; }
              @media screen and (min-width: 980px) and (min-height: 900px) {
                #nft-campaign #nft_teaser #nft_teaser_card .nft_teaser_card_crop .card_text #nft_hover_overlay .overlay_subtitle {
                  font-size: 24px; } }
          #nft-campaign #nft_teaser #nft_teaser_card .nft_teaser_card_crop .card_text .nft-teaser-text-bottom {
            margin: 20px; }
            @media screen and (min-width: 450px) and (min-height: 700px) {
              #nft-campaign #nft_teaser #nft_teaser_card .nft_teaser_card_crop .card_text .nft-teaser-text-bottom {
                margin: 40px; } }
            #nft-campaign #nft_teaser #nft_teaser_card .nft_teaser_card_crop .card_text .nft-teaser-text-bottom .teaser_title {
              color: white;
              margin-bottom: 12px; }
              @media screen and (min-width: 980px) and (min-height: 900px) {
                #nft-campaign #nft_teaser #nft_teaser_card .nft_teaser_card_crop .card_text .nft-teaser-text-bottom .teaser_title {
                  margin-bottom: 18px; } }
          #nft-campaign #nft_teaser #nft_teaser_card .nft_teaser_card_crop .card_text .nft_nav_btn_wrapper:hover {
            outline: 0; }
          #nft-campaign #nft_teaser #nft_teaser_card .nft_teaser_card_crop .card_text .teaser_cta {
            pointer-events: auto;
            -webkit-transition: background 0.3s;
            transition: background 0.3s;
            display: inline-block; }
            #nft-campaign #nft_teaser #nft_teaser_card .nft_teaser_card_crop .card_text .teaser_cta:hover {
              background: rgba(255, 255, 255, 0.25); }
        #nft-campaign #nft_teaser #nft_teaser_card .nft_teaser_card_crop .crop_wrap {
          -webkit-transform: scale(1) translateZ(0);
                  transform: scale(1) translateZ(0);
          overflow: hidden;
          position: static;
          -webkit-transition: all 0.5s;
          transition: all 0.5s;
          border-radius: 24px;
          height: 320px;
          width: calc(256px);
          -webkit-mask-image: -webkit-radial-gradient(white, black); }
          @media screen and (min-width: 450px) and (min-height: 700px) {
            #nft-campaign #nft_teaser #nft_teaser_card .nft_teaser_card_crop .crop_wrap {
              height: 460px;
              width: calc(368px); } }
          @media screen and (min-width: 980px) and (min-height: 900px) {
            #nft-campaign #nft_teaser #nft_teaser_card .nft_teaser_card_crop .crop_wrap {
              height: 580px;
              width: calc(464px); } }
          #nft-campaign #nft_teaser #nft_teaser_card .nft_teaser_card_crop .crop_wrap .card_image {
            position: absolute;
            top: 50%;
            left: 50%;
            -webkit-transform: translate(-50%, -50%);
                -ms-transform: translate(-50%, -50%);
                    transform: translate(-50%, -50%);
            width: 100vw;
            height: 100vh;
            -webkit-mask-image: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0.3)), to(black));
            -webkit-mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.3), black);
                    mask-image: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0.3)), to(black));
                    mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.3), black); }
            @media screen and (min-width: 980px) and (min-height: 900px) {
              #nft-campaign #nft_teaser #nft_teaser_card .nft_teaser_card_crop .crop_wrap .card_image {
                min-height: 860px;
                height: 80vh; } }
  #nft-campaign .video-teaser .video-embed {
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
    overflow: hidden;
    max-width: 100%; }
    #nft-campaign .video-teaser .video-embed iframe {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%; }
  #nft-campaign .faq_list .faq_entry .faq_collapsible .faq_question {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 18px;
    color: black;
    cursor: pointer; }
    #nft-campaign .faq_list .faq_entry .faq_collapsible .faq_question .question, #nft-campaign .faq_list .faq_entry .faq_collapsible .faq_question .icon, #nft-campaign .faq_list .faq_entry .faq_collapsible .faq_question svg {
      font-weight: 600;
      pointer-events: none; }
    #nft-campaign .faq_list .faq_entry .faq_collapsible .faq_question .question {
      padding-right: 10px; }
    #nft-campaign .faq_list .faq_entry .faq_collapsible .faq_question .icon {
      min-width: 20px; }
    #nft-campaign .faq_list .faq_entry .faq_collapsible .faq_question:hover {
      background-color: #eaeaea; }
  #nft-campaign .faq_list .faq_entry .collapsible_answer {
    padding: 0 18px;
    max-height: 0;
    overflow: hidden;
    -webkit-transition: max-height .4s ease;
    transition: max-height .4s ease; }
    #nft-campaign .faq_list .faq_entry .collapsible_answer p {
      margin: 18px 0; }
  #nft-campaign .faq_list .faq_entry.active .collapsible_answer {
    max-height: 2000px !important; }
  #nft-campaign .nft_photo_slider {
    position: relative;
    height: calc(320px + 60px); }
    @media screen and (min-width: 450px) {
      #nft-campaign .nft_photo_slider {
        height: calc(460px + 60px); } }
    @media screen and (min-width: 980px) {
      #nft-campaign .nft_photo_slider {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -webkit-align-items: center;
            -ms-flex-align: center;
                align-items: center; } }
    @media screen and (min-width: 1200px) {
      #nft-campaign .nft_photo_slider {
        height: calc(580px + 60px); } }
    #nft-campaign .nft_photo_slider:hover .photo_slider_inner[data-slide='0'] .photo_card_text .teaser_price {
      opacity: 1 !important; }
    #nft-campaign .nft_photo_slider:hover .photo_slider_inner[data-slide='0'] .photo_card_inner.hover_photo {
      opacity: 1 !important;
      -webkit-transform: scale(1) !important;
          -ms-transform: scale(1) !important;
              transform: scale(1) !important; }
    #nft-campaign .nft_photo_slider .dot_position {
      width: 100%;
      position: absolute;
      bottom: 0;
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
      -webkit-justify-content: center;
          -ms-flex-pack: center;
              justify-content: center;
      top: calc(320px + 40px); }
      @media screen and (min-width: 450px) {
        #nft-campaign .nft_photo_slider .dot_position {
          top: calc(460px + 60px); } }
      @media screen and (min-width: 1200px) {
        #nft-campaign .nft_photo_slider .dot_position {
          top: auto; } }
      #nft-campaign .nft_photo_slider .dot_position .dot_spacer {
        z-index: -1;
        width: 0; }
        @media screen and (min-width: 980px) {
          #nft-campaign .nft_photo_slider .dot_position .dot_spacer {
            width: 50%; } }
      #nft-campaign .nft_photo_slider .dot_position .dot_wrapper_position {
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content; }
        @media screen and (min-width: 980px) {
          #nft-campaign .nft_photo_slider .dot_position .dot_wrapper_position {
            width: 50%; } }
      #nft-campaign .nft_photo_slider .dot_position .dot_wrapper {
        margin: 0 auto;
        width: 100%; }
        @media screen and (min-width: 980px) {
          #nft-campaign .nft_photo_slider .dot_position .dot_wrapper {
            width: -webkit-fit-content;
            width: -moz-fit-content;
            width: fit-content; } }
        #nft-campaign .nft_photo_slider .dot_position .dot_wrapper .dot {
          display: inline-block;
          margin-left: 10px; }
          #nft-campaign .nft_photo_slider .dot_position .dot_wrapper .dot:hover, #nft-campaign .nft_photo_slider .dot_position .dot_wrapper .dot.active {
            cursor: pointer; }
            #nft-campaign .nft_photo_slider .dot_position .dot_wrapper .dot:hover svg circle, #nft-campaign .nft_photo_slider .dot_position .dot_wrapper .dot.active svg circle {
              fill: black; }
      #nft-campaign .nft_photo_slider .dot_position.reverse .dot_wrapper_position {
        -webkit-box-ordinal-group: 1;
        -webkit-order: 0;
            -ms-flex-order: 0;
                order: 0; }
      #nft-campaign .nft_photo_slider .dot_position.reverse .dot_spacer {
        -webkit-box-ordinal-group: 2;
        -webkit-order: 1;
            -ms-flex-order: 1;
                order: 1; }
    #nft-campaign .nft_photo_slider .photo_slider_inner {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -webkit-flex-direction: column;
          -ms-flex-direction: column;
              flex-direction: column;
      position: absolute;
      pointer-events: none; }
      @media screen and (min-width: 980px) {
        #nft-campaign .nft_photo_slider .photo_slider_inner {
          -webkit-box-orient: horizontal;
          -webkit-box-direction: normal;
          -webkit-flex-direction: row;
              -ms-flex-direction: row;
                  flex-direction: row; } }
      @media screen and (min-width: 1200px) {
        #nft-campaign .nft_photo_slider .photo_slider_inner {
          height: calc(580px + 60px); } }
      #nft-campaign .nft_photo_slider .photo_slider_inner .photo_slider {
        -webkit-box-ordinal-group: 1;
        -webkit-order: 0;
            -ms-flex-order: 0;
                order: 0;
        position: relative;
        margin: 20px 0;
        height: calc(320px + 60px);
        width: calc(256px);
        padding-left: 0; }
        @media screen and (min-width: 450px) {
          #nft-campaign .nft_photo_slider .photo_slider_inner .photo_slider {
            height: calc(460px + 60px);
            width: calc(368px); } }
        @media screen and (min-width: 980px) {
          #nft-campaign .nft_photo_slider .photo_slider_inner .photo_slider {
            width: 50%;
            -webkit-box-ordinal-group: 2;
            -webkit-order: 1;
                -ms-flex-order: 1;
                    order: 1; } }
        @media screen and (min-width: 1200px) {
          #nft-campaign .nft_photo_slider .photo_slider_inner .photo_slider {
            height: calc(580px + 60px); } }
        #nft-campaign .nft_photo_slider .photo_slider_inner .photo_slider .photo_card {
          position: absolute;
          left: 0;
          top: 0;
          overflow: hidden;
          border-radius: 24px;
          height: 320px;
          width: calc(256px);
          -webkit-transition: all 0.8s cubic-bezier(0.18, 0.98, 0.45, 1);
          transition: all 0.8s cubic-bezier(0.18, 0.98, 0.45, 1);
          -webkit-box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.07);
                  box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.07); }
          @media screen and (min-width: 450px) {
            #nft-campaign .nft_photo_slider .photo_slider_inner .photo_slider .photo_card {
              height: 460px;
              width: calc(368px); } }
          @media screen and (min-width: 1200px) {
            #nft-campaign .nft_photo_slider .photo_slider_inner .photo_slider .photo_card {
              height: 580px;
              width: calc(464px); } }
          #nft-campaign .nft_photo_slider .photo_slider_inner .photo_slider .photo_card .photo_card_inner {
            position: absolute;
            width: 100%;
            height: 100%;
            border-radius: 24px; }
            #nft-campaign .nft_photo_slider .photo_slider_inner .photo_slider .photo_card .photo_card_inner.hover_photo {
              transition: all 1s ease-in-out;
              -moz-transition: all 1s ease-in-out;
              -webkit-transition: all 1s ease-in-out;
              opacity: 0;
              -webkit-transform: scale(1.3);
                  -ms-transform: scale(1.3);
                      transform: scale(1.3); }
          #nft-campaign .nft_photo_slider .photo_slider_inner .photo_slider .photo_card .photo_card_text {
            display: -webkit-box;
            display: -webkit-flex;
            display: -ms-flexbox;
            display: flex;
            height: 100%;
            -webkit-box-orient: vertical;
            -webkit-box-direction: normal;
            -webkit-flex-direction: column;
                -ms-flex-direction: column;
                    flex-direction: column;
            -webkit-box-pack: end;
            -webkit-justify-content: flex-end;
                -ms-flex-pack: end;
                    justify-content: flex-end;
            padding: 40px;
            color: white;
            position: absolute;
            z-index: 555;
            width: 100%; }
            #nft-campaign .nft_photo_slider .photo_slider_inner .photo_slider .photo_card .photo_card_text .teaser_title {
              color: white; }
            #nft-campaign .nft_photo_slider .photo_slider_inner .photo_slider .photo_card .photo_card_text .teaser_price {
              opacity: 0;
              transition: all 1s ease-in-out;
              -moz-transition: all 1s ease-in-out;
              -webkit-transition: all 1s ease-in-out;
              font-size: 14px; }
      #nft-campaign .nft_photo_slider .photo_slider_inner .photo_text {
        pointer-events: none;
        -webkit-box-ordinal-group: 2;
        -webkit-order: 1;
            -ms-flex-order: 1;
                order: 1;
        z-index: 1; }
        @media screen and (min-width: 980px) {
          #nft-campaign .nft_photo_slider .photo_slider_inner .photo_text {
            width: 50%;
            -webkit-box-ordinal-group: 1;
            -webkit-order: 0;
                -ms-flex-order: 0;
                    order: 0;
            padding-right: 70px; } }
        #nft-campaign .nft_photo_slider .photo_slider_inner .photo_text .teaser_title {
          margin-bottom: 32px; }
        #nft-campaign .nft_photo_slider .photo_slider_inner .photo_text .nft_text {
          margin-bottom: 32px; }
        #nft-campaign .nft_photo_slider .photo_slider_inner .photo_text .photo_cta_btn {
          border: 1px solid black; }
          #nft-campaign .nft_photo_slider .photo_slider_inner .photo_text .photo_cta_btn:hover {
            background-color: #eaeaea; }
        #nft-campaign .nft_photo_slider .photo_slider_inner .photo_text .insta_content {
          display: -webkit-box;
          display: -webkit-flex;
          display: -ms-flexbox;
          display: flex;
          -webkit-box-align: center;
          -webkit-align-items: center;
              -ms-flex-align: center;
                  align-items: center;
          margin: 20px 0; }
          #nft-campaign .nft_photo_slider .photo_slider_inner .photo_text .insta_content .insta_img {
            width: 80px;
            height: 80px;
            border-radius: 50%; }
          #nft-campaign .nft_photo_slider .photo_slider_inner .photo_text .insta_content .insta_text {
            margin-left: 20px; }
          #nft-campaign .nft_photo_slider .photo_slider_inner .photo_text .insta_content .insta_followers {
            font-weight: 400;
            font-size: 14px; }
      #nft-campaign .nft_photo_slider .photo_slider_inner[data-slide='0'] .photo_card {
        -webkit-transition: all 0.32s cubic-bezier(0.18, 0.98, 0.45, 1);
        transition: all 0.32s cubic-bezier(0.18, 0.98, 0.45, 1);
        -webkit-transform: translate(0px, 0px) scale(1);
            -ms-transform: translate(0px, 0px) scale(1);
                transform: translate(0px, 0px) scale(1);
        z-index: 6;
        opacity: 1; }
      #nft-campaign .nft_photo_slider .photo_slider_inner[data-slide='0'] .photo_text {
        opacity: 1; }
      #nft-campaign .nft_photo_slider .photo_slider_inner[data-slide='0'] a {
        position: relative;
        pointer-events: auto; }
      #nft-campaign .nft_photo_slider .photo_slider_inner[data-slide='1'] .photo_card {
        -webkit-transform: scale(0.9);
            -ms-transform: scale(0.9);
                transform: scale(0.9);
        z-index: 5;
        left: 25px; }
        @media screen and (min-width: 650px) {
          #nft-campaign .nft_photo_slider .photo_slider_inner[data-slide='1'] .photo_card {
            left: calc(25px * 2); } }
      #nft-campaign .nft_photo_slider .photo_slider_inner[data-slide='2'] .photo_card {
        -webkit-transform: scale(0.8);
            -ms-transform: scale(0.8);
                transform: scale(0.8);
        z-index: 4;
        left: calc(2 * 25px); }
        @media screen and (min-width: 650px) {
          #nft-campaign .nft_photo_slider .photo_slider_inner[data-slide='2'] .photo_card {
            left: calc(calc(2 * 25px) * 2); } }
      #nft-campaign .nft_photo_slider .photo_slider_inner[data-slide='3'] .photo_card {
        -webkit-transform: scale(0.7);
            -ms-transform: scale(0.7);
                transform: scale(0.7);
        z-index: 3;
        left: calc(3 * 25px); }
        @media screen and (min-width: 650px) {
          #nft-campaign .nft_photo_slider .photo_slider_inner[data-slide='3'] .photo_card {
            left: calc(calc(3 * 25px) * 2); } }
      #nft-campaign .nft_photo_slider .photo_slider_inner[data-slide='4'] .photo_card {
        -webkit-transform: scale(0.6);
            -ms-transform: scale(0.6);
                transform: scale(0.6);
        z-index: 2;
        left: calc(4 * 25px); }
        @media screen and (min-width: 650px) {
          #nft-campaign .nft_photo_slider .photo_slider_inner[data-slide='4'] .photo_card {
            left: calc(calc(4 * 25px) * 2); } }
      #nft-campaign .nft_photo_slider .photo_slider_inner[data-slide='5'] .photo_card {
        -webkit-transform: scale(0.5);
            -ms-transform: scale(0.5);
                transform: scale(0.5);
        z-index: 1;
        left: calc(5 * 25px); }
        @media screen and (min-width: 650px) {
          #nft-campaign .nft_photo_slider .photo_slider_inner[data-slide='5'] .photo_card {
            left: calc(calc(5 * 25px) * 2); } }
      #nft-campaign .nft_photo_slider .photo_slider_inner[data-slide='1'] .photo_card, #nft-campaign .nft_photo_slider .photo_slider_inner[data-slide='2'] .photo_card, #nft-campaign .nft_photo_slider .photo_slider_inner[data-slide='3'] .photo_card, #nft-campaign .nft_photo_slider .photo_slider_inner[data-slide='4'] .photo_card, #nft-campaign .nft_photo_slider .photo_slider_inner[data-slide='5'] .photo_card {
        opacity: 0.8; }
      #nft-campaign .nft_photo_slider .photo_slider_inner[data-slide='1'] .blur_layer, #nft-campaign .nft_photo_slider .photo_slider_inner[data-slide='2'] .blur_layer, #nft-campaign .nft_photo_slider .photo_slider_inner[data-slide='3'] .blur_layer, #nft-campaign .nft_photo_slider .photo_slider_inner[data-slide='4'] .blur_layer, #nft-campaign .nft_photo_slider .photo_slider_inner[data-slide='5'] .blur_layer {
        background: rgba(196, 196, 196, 0.5);
        -webkit-backdrop-filter: blur(75px);
                backdrop-filter: blur(75px);
        z-index: 8; }
      #nft-campaign .nft_photo_slider .photo_slider_inner[data-slide='1'] .photo_text, #nft-campaign .nft_photo_slider .photo_slider_inner[data-slide='2'] .photo_text, #nft-campaign .nft_photo_slider .photo_slider_inner[data-slide='3'] .photo_text, #nft-campaign .nft_photo_slider .photo_slider_inner[data-slide='4'] .photo_text, #nft-campaign .nft_photo_slider .photo_slider_inner[data-slide='5'] .photo_text {
        opacity: 0; }
      #nft-campaign .nft_photo_slider .photo_slider_inner.reverse .photo_slider {
        -webkit-box-ordinal-group: 1;
        -webkit-order: 0;
            -ms-flex-order: 0;
                order: 0; }
      #nft-campaign .nft_photo_slider .photo_slider_inner.reverse .photo_text {
        -webkit-box-ordinal-group: 2;
        -webkit-order: 1;
            -ms-flex-order: 1;
                order: 1; }
        @media screen and (min-width: 980px) {
          #nft-campaign .nft_photo_slider .photo_slider_inner.reverse .photo_text {
            padding-left: 70px;
            padding-right: 0; } }
  #nft-campaign .nft_spacer .s {
    height: 50px; }
  #nft-campaign .nft_spacer .line {
    border-top: 1px solid rgba(0, 0, 0, 0.25); }
  #nft-campaign #footer {
    margin: 0 auto;
    max-width: 1144px;
    padding-right: 0.9375rem;
    padding-left: 0.9375rem; }
    #nft-campaign #footer h1, #nft-campaign #footer h2, #nft-campaign #footer h3, #nft-campaign #footer h4, #nft-campaign #footer h5, #nft-campaign #footer a, #nft-campaign #footer p {
      font-family: 'Source Sans Pro';
      text-align: left; }
    #nft-campaign #footer .text p,
    #nft-campaign #footer .text a {
      font-size: 0.875rem;
      line-height: 1.4375rem;
      margin-bottom: 0.75rem; }
  #nft-campaign .nft_content {
    margin: 0 auto;
    max-width: 1144px;
    padding-right: 0.9375rem;
    padding-left: 0.9375rem; }
  #nft-campaign .nft_section {
    margin: 50px 0;
    padding: 50px 0;
    border-top: 1px solid rgba(0, 0, 0, 0.25); }
  #nft-campaign .nft_bg_img {
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat; }
    #nft-campaign .nft_bg_img video {
      margin-left: auto;
      margin-right: auto;
      width: 100%;
      height: 100%; }
    #nft-campaign .nft_bg_img #nft_teaser_card {
      position: absolute;
      top: 0;
      bottom: 0; }
  #nft-campaign .nft_nav_links a {
    color: white;
    margin-left: 24px; }
  #nft-campaign .nft_text p a,
  #nft-campaign .text li a,
  #nft-campaign .text p a,
  #nft-campaign .text p span.link,
  #nft-campaign span.openchat,
  #nft-campaign span.opensophia {
    position: relative;
    color: #000;
    text-decoration: none; }
    #nft-campaign .nft_text p a::after, #nft-campaign .nft_text p a::before,
    #nft-campaign .text li a::after,
    #nft-campaign .text li a::before,
    #nft-campaign .text p a::after,
    #nft-campaign .text p a::before,
    #nft-campaign .text p span.link::after,
    #nft-campaign .text p span.link::before,
    #nft-campaign span.openchat::after,
    #nft-campaign span.openchat::before,
    #nft-campaign span.opensophia::after,
    #nft-campaign span.opensophia::before {
      content: "";
      position: absolute;
      display: block;
      width: 100%;
      height: 2px;
      bottom: 0;
      left: 0; }
    #nft-campaign .nft_text p a::before,
    #nft-campaign .text li a::before,
    #nft-campaign .text p a::before,
    #nft-campaign .text p span.link::before,
    #nft-campaign span.openchat::before,
    #nft-campaign span.opensophia::before {
      background-color: #ababab;
      mix-blend-mode: multiply; }
    #nft-campaign .nft_text p a::after,
    #nft-campaign .text li a::after,
    #nft-campaign .text p a::after,
    #nft-campaign .text p span.link::after,
    #nft-campaign span.openchat::after,
    #nft-campaign span.opensophia::after {
      background-color: #000;
      -webkit-transform: scaleX(0);
          -ms-transform: scaleX(0);
              transform: scaleX(0);
      -webkit-transition: -webkit-transform 0.3s ease;
      transition: -webkit-transform 0.3s ease;
      transition: transform 0.3s ease;
      transition: transform 0.3s ease, -webkit-transform 0.3s ease; }
    #nft-campaign .nft_text p a:hover::after,
    #nft-campaign .text li a:hover::after,
    #nft-campaign .text p a:hover::after,
    #nft-campaign .text p span.link:hover::after,
    #nft-campaign span.openchat:hover::after,
    #nft-campaign span.opensophia:hover::after {
      -webkit-transform: scaleX(1);
          -ms-transform: scaleX(1);
              transform: scaleX(1); }
  #nft-campaign h1, #nft-campaign .h1 {
    font-weight: 900;
    font-size: 64px; }
  #nft-campaign h2, #nft-campaign .lead {
    font-weight: 700;
    font-size: 42px; }
  #nft-campaign h3, #nft-campaign .h3 {
    font-weight: 700;
    font-size: 32px; }
  #nft-campaign h4, #nft-campaign .h4, #nft-campaign .title {
    font-weight: 700;
    font-size: 24px; }
  #nft-campaign h5, #nft-campaign .h5 {
    font-weight: 400;
    font-size: 22px; }
  #nft-campaign strong {
    font-weight: 900; }
  #nft-campaign .nft_button_link {
    padding: 7px 16px;
    background: white;
    border-radius: 24px;
    color: black; }
  #nft-campaign .nft_button {
    display: table-cell;
    background: white;
    border-radius: 24px; }
    #nft-campaign .nft_button a {
      padding: 7px 16px;
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center;
      color: black; }
      #nft-campaign .nft_button a span {
        margin-right: 8px;
        font-weight: 600; }
  #nft-campaign .nft_button_link,
  #nft-campaign .nft_button a span,
  #nft-campaign .nft_button {
    font-size: 16px; }
    @media screen and (min-width: 450px) {
      #nft-campaign .nft_button_link,
      #nft-campaign .nft_button a span,
      #nft-campaign .nft_button {
        font-size: 18px; } }
    @media screen and (min-width: 980px) {
      #nft-campaign .nft_button_link,
      #nft-campaign .nft_button a span,
      #nft-campaign .nft_button {
        font-size: 20px; } }
  #nft-campaign .nft_nav_btn_wrapper {
    margin-left: 24px; }
    #nft-campaign .nft_nav_btn_wrapper:hover {
      outline: 1px solid white; }
    #nft-campaign .nft_nav_btn_wrapper a.nft_nav_btn {
      display: table-cell;
      padding: 4px 12px;
      color: white; }
  #nft-campaign .teaser_title {
    font-weight: 700;
    font-size: 42px;
    line-height: 1.1;
    color: black; }
    @media screen and (max-width: 1200px) and (min-height: 900px) {
      #nft-campaign .teaser_title {
        font-size: 2em; } }
  #nft-campaign .photo_card *,
  #nft-campaign .nft_teaser_card_crop * {
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none; }
  #nft-campaign .photo_card .teaser_title,
  #nft-campaign .nft_teaser_card_crop .teaser_title {
    font-size: 24px;
    margin-bottom: 16px; }
    @media screen and (min-width: 450px) and (min-height: 700px) {
      #nft-campaign .photo_card .teaser_title,
      #nft-campaign .nft_teaser_card_crop .teaser_title {
        font-size: 36px; } }
    @media screen and (min-width: 980px) and (min-height: 900px) {
      #nft-campaign .photo_card .teaser_title,
      #nft-campaign .nft_teaser_card_crop .teaser_title {
        font-size: 42px;
        margin-bottom: 18px; } }
  #nft-campaign .nft_text p,
  #nft-campaign .nft_text {
    font-style: normal;
    font-weight: 400;
    font-size: 20px;
    color: black; }
  #nft-campaign .drop-count {
    font-weight: 200;
    color: white;
    font-size: 14px; }
    @media screen and (min-width: 450px) {
      #nft-campaign .drop-count {
        font-size: 20px; } }
    @media screen and (min-width: 980px) {
      #nft-campaign .drop-count {
        font-size: 24px; } }
  #nft-campaign .drop-small {
    font-weight: 300;
    color: white;
    font-size: 14px; }
    @media screen and (min-width: 980px) {
      #nft-campaign .drop-small {
        font-size: 16px; } }
  #nft-campaign .drop-big {
    font-weight: 700;
    font-size: 16px;
    color: white; }
    @media screen and (min-width: 450px) {
      #nft-campaign .drop-big {
        font-size: 18px; } }
    @media screen and (min-width: 980px) {
      #nft-campaign .drop-big {
        font-size: 20px; } }
  #nft-campaign ::-moz-selection {
    background: #000000; }
  #nft-campaign ::selection {
    background: #000000; }
  #nft-campaign #lema-container.lema-container .lema-wrapper .lema-accordion-item .lema-accordion-header,
  #nft-campaign #lema-container.lema-container .lema-wrapper .lema-accordion-item .lema-accordion-content {
    color: #000000;
    background-color: #cbcbcb; }
    #nft-campaign #lema-container.lema-container .lema-wrapper .lema-accordion-item .lema-accordion-header .lema-accordion-item-title,
    #nft-campaign #lema-container.lema-container .lema-wrapper .lema-accordion-item .lema-accordion-content .lema-accordion-item-title {
      color: black; }
      #nft-campaign #lema-container.lema-container .lema-wrapper .lema-accordion-item .lema-accordion-header .lema-accordion-item-title:before,
      #nft-campaign #lema-container.lema-container .lema-wrapper .lema-accordion-item .lema-accordion-content .lema-accordion-item-title:before {
        background: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 57.1 28.6'%3e%3cpath d='M.4 2l27.4 26.2c.5.4 1.2.4 1.6 0L56.8 2c.5-.5.5-1.2 0-1.7-.2-.2-.5-.3-.8-.3h-4.8c-.3 0-.6.1-.8.3L28.6 21 6.8.3C6.5.1 6.3 0 6 0H1.2C.5 0 0 .5 0 1.2c0 .3.1.6.4.8z' fill='black'/%3e%3c/svg%3e") no-repeat !important; }
  #nft-campaign #lema-container.lema-container .lema-wrapper .lema-accordion-item.accordion-open .lema-accordion-header p,
  #nft-campaign #lema-container.lema-container .lema-wrapper .lema-accordion-item.accordion-open .lema-accordion-content p {
    color: #000000; }
  #nft-campaign #lema-container.lema-container .lema-wrapper .lema-accordion-item.accordion-open .lema-accordion-header .lema-accordion-item-title,
  #nft-campaign #lema-container.lema-container .lema-wrapper .lema-accordion-item.accordion-open .lema-accordion-content .lema-accordion-item-title {
    color: white; }
  #nft-campaign #lema-container.lema-container .lema-wrapper .lema-accordion-item.accordion-open .lema-accordion-header {
    background-color: #000000; }
  #nft-campaign #lema-container.lema-container .lema-wrapper .lema-step-header .lema-step-header-text {
    font-size: 2rem;
    color: #000000;
    line-height: 2.4rem;
    font-family: NeueSansPro-SemiBold, Helvetiva, sans-serif;
    font-weight: normal; }
  #nft-campaign #lema-container.lema-container .lema-wrapper .lema-step-header .lema-step-number span {
    background-color: #000000; }
  #nft-campaign #lema-container.lema-container .lema-wrapper input[type="radio"] + label:after,
  #nft-campaign #lema-container.lema-container .lema-wrapper input[type="checkbox"] + label:after {
    color: #000000; }
  #nft-campaign #lema-container.lema-container .lema-wrapper input[type="radio"] + label:before,
  #nft-campaign #lema-container.lema-container .lema-wrapper input[type="checkbox"] + label:before {
    border: 1px solid #000000; }
  #nft-campaign #lema-container.lema-container .lema-wrapper .lema-button {
    color: #000000;
    border: 2px solid #000000; }
  #nft-campaign #lema-container.lema-container .lema-wrapper .lema-amount-box.lema-active {
    background: #000000; }
  #nft-campaign.editmode .nft_bg_img {
    position: relative; }
  #nft-campaign.editmode .nft_photo_slider {
    height: auto !important;
    display: block; }
    #nft-campaign.editmode .nft_photo_slider .photo_slider_inner {
      position: relative;
      display: block;
      height: calc(580px + 110px);
      pointer-events: auto; }
      #nft-campaign.editmode .nft_photo_slider .photo_slider_inner .photo_text {
        opacity: 1 !important;
        float: left; }
      #nft-campaign.editmode .nft_photo_slider .photo_slider_inner .photo_slider {
        float: right; }
  #nft-campaign.editmode .dot_spacer {
    display: none; }
  #nft-campaign.editmode .dot_wrapper_position {
    display: none; }
  #nft-campaign.editmode .dot_position {
    display: block;
    position: relative; }

#navigation #nft_cta_btn {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex; }
  @media screen and (max-width: 64em) {
    #navigation #nft_cta_btn {
      position: absolute;
      left: 0.9375rem;
      bottom: 0.75rem; } }
  #navigation #nft_cta_btn .donate-button {
    margin: auto 0;
    background: linear-gradient(89.8deg, #3A5376 0.15%, #A6908D 99.81%); }
    #navigation #nft_cta_btn .donate-button span {
      font-size: 1rem;
      line-height: 1.2rem;
      font-family: NeueSansPro-SemiBold, Helvetiva, sans-serif;
      font-weight: normal;
      letter-spacing: 0.9px; }

@media screen and (min-width: 64em) {
  #navigation {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex; }
    #navigation ul.level-1 {
      width: unset; } }

body#nft-campaign.sophia #nft_teaser .teaser_title {
  text-shadow: red 0 0 40px; }

body#nft-campaign.sophia #nft_teaser .nft_bg_img {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
  padding: 20px 0; }
  @media screen and (min-width: 1023px) {
    body#nft-campaign.sophia #nft_teaser .nft_bg_img {
      padding: 80px 0 20px 0; } }
  @media (orientation: portrait) and (max-width: 1023px) {
    body#nft-campaign.sophia #nft_teaser .nft_bg_img {
      padding: 20px; } }

body#nft-campaign.sophia .nft_bg_img.green {
  background-color: #39AA47; }

body#nft-campaign.sophia .nft_bg_img.blue {
  background-color: #69A3A9; }

body#nft-campaign.sophia .nft_bg_img.darkblue {
  background-color: #006F69; }

body#nft-campaign.sophia .nft_bg_img.brown {
  background-color: #B4838A; }

span.openchat, span.opensophia {
  cursor: pointer; }

span.video-circle {
  width: auto;
  display: inline-block;
  position: relative;
  overflow: hidden;
  border-radius: 50%;
  max-height: 100%;
  aspect-ratio: 1; }

@use 'sass:math';
#popup {
  cursor: not-allowed;
  position: fixed;
  z-index: 99999999999;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  -webkit-transition: opacity .5s, -webkit-transform .5s;
  transition: opacity .5s, -webkit-transform .5s;
  transition: opacity .5s, transform .5s;
  transition: opacity .5s, transform .5s, -webkit-transform .5s;
  pointer-events: none;
  opacity: 0;
  -webkit-transform: scale(0.7);
      -ms-transform: scale(0.7);
          transform: scale(0.7);
  background-color: #000000BB; }
  #popup.visible {
    pointer-events: auto;
    opacity: 1;
    -webkit-transform: scale(1);
        -ms-transform: scale(1);
            transform: scale(1); }
  #popup .overlay-wrapper {
    position: relative;
    height: 100%;
    width: 100%;
    margin: 0 auto;
    -webkit-transition: -webkit-transform .5s;
    transition: -webkit-transform .5s;
    transition: transform .5s;
    transition: transform .5s, -webkit-transform .5s; }
    #popup .overlay-wrapper .overlay-close {
      position: absolute;
      right: 20px;
      top: 20px;
      z-index: 99;
      border: none; }
      #popup .overlay-wrapper .overlay-close svg {
        width: 37.7px;
        height: 37.7px; }
        #popup .overlay-wrapper .overlay-close svg .ov-close {
          stroke: #ffffff; }
  #popup .overlay-scroll {
    width: 700px;
    max-width: 100%;
    margin: auto;
    position: relative;
    top: 50%;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-block: contain; }
  #popup .overlay-content {
    margin-left: auto;
    margin-right: auto; }
    #popup .overlay-content > iframe {
      min-height: 90vh; }
    #popup .overlay-content.content-width {
      padding-left: 0;
      padding-right: 0; }

.component-html .rnw-widget-container {
  --tamaro-block-header-position-bg-color: #006f69;
  --tamaro-bg-color: transparent; }
  .component-html .rnw-widget-container .widget-block-header h2 .position {
    font-size: 17px !important;
    width: 27px !important;
    line-height: 27px !important;
    height: 27px !important;
    margin-top: 2px !important; }
  .component-html .rnw-widget-container .widget-block-header h2 .text {
    margin-left: 0.5rem !important;
    font-size: 2.5rem !important;
    color: #006f69 !important;
    line-height: 3rem !important;
    font-family: NeueSansPro-SemiBold, Helvetiva, sans-serif !important;
    font-weight: 400 !important; }
  .component-html .rnw-widget-container .widget-block-content .payment-amounts .amounts .label-radio-block {
    -webkit-box-sizing: border-box !important;
    box-sizing: border-box !important;
    position: relative !important;
    width: 90px !important;
    height: 90px !important;
    background: #fff !important;
    border: #ccc 1px solid !important;
    padding: 10px !important;
    float: left !important;
    margin-right: 20px !important;
    margin-bottom: 20px !important;
    color: #777 !important;
    cursor: pointer !important; }
    .component-html .rnw-widget-container .widget-block-content .payment-amounts .amounts .label-radio-block.input-checked {
      color: #ffffff !important;
      background: #006F69 !important;
      border: none !important; }
      .component-html .rnw-widget-container .widget-block-content .payment-amounts .amounts .label-radio-block.input-checked .code,
      .component-html .rnw-widget-container .widget-block-content .payment-amounts .amounts .label-radio-block.input-checked .value {
        color: white !important; }
    .component-html .rnw-widget-container .widget-block-content .payment-amounts .amounts .label-radio-block .main {
      padding: 0 !important;
      display: block !important; }
      .component-html .rnw-widget-container .widget-block-content .payment-amounts .amounts .label-radio-block .main .input-radio,
      .component-html .rnw-widget-container .widget-block-content .payment-amounts .amounts .label-radio-block .main .md-checkable-icon-wrapper {
        display: none !important; }
      .component-html .rnw-widget-container .widget-block-content .payment-amounts .amounts .label-radio-block .main .code {
        font-size: 10px !important;
        display: block !important;
        margin-bottom: 2px !important;
        line-height: 12px !important;
        font-family: "Helvetica Neue", Helvetica, Arial, sans-serif !important; }
      .component-html .rnw-widget-container .widget-block-content .payment-amounts .amounts .label-radio-block .main .value {
        display: block !important;
        font-size: 35px !important;
        text-align: center !important;
        line-height: 42px !important;
        width: 100% !important;
        padding: 0 !important;
        font-family: "Helvetica Neue", Helvetica, Arial, sans-serif !important; }
        .component-html .rnw-widget-container .widget-block-content .payment-amounts .amounts .label-radio-block .main .value .form-block {
          display: block !important;
          padding: 0 !important; }
          .component-html .rnw-widget-container .widget-block-content .payment-amounts .amounts .label-radio-block .main .value .form-block .field-block {
            display: block !important;
            width: 100% !important; }
            .component-html .rnw-widget-container .widget-block-content .payment-amounts .amounts .label-radio-block .main .value .form-block .field-block input[type=text] {
              display: block !important;
              width: 3ch;
              padding: 0px !important; }
              .component-html .rnw-widget-container .widget-block-content .payment-amounts .amounts .label-radio-block .main .value .form-block .field-block input[type=text]::-webkit-input-placeholder {
                display: none !important;
                color: transparent !important; }
              .component-html .rnw-widget-container .widget-block-content .payment-amounts .amounts .label-radio-block .main .value .form-block .field-block input[type=text]::-moz-placeholder {
                display: none !important;
                color: transparent !important; }
              .component-html .rnw-widget-container .widget-block-content .payment-amounts .amounts .label-radio-block .main .value .form-block .field-block input[type=text]:-ms-input-placeholder {
                display: none !important;
                color: transparent !important; }
              .component-html .rnw-widget-container .widget-block-content .payment-amounts .amounts .label-radio-block .main .value .form-block .field-block input[type=text]::-ms-input-placeholder {
                display: none !important;
                color: transparent !important; }
              .component-html .rnw-widget-container .widget-block-content .payment-amounts .amounts .label-radio-block .main .value .form-block .field-block input[type=text]::placeholder {
                display: none !important;
                color: transparent !important; }
  .component-html .rnw-widget-container .widget-block-content .fields-block {
    margin-top: 0 !important; }
    .component-html .rnw-widget-container .widget-block-content .fields-block label {
      padding-top: 0 !important;
      padding-bottom: 0 !important;
      border: none !important;
      max-width: 90px !important;
      font-size: 15px !important;
      padding-left: 0 !important; }
  .component-html .rnw-widget-container .widget-block-content .field-block .icons-block {
    right: 10px;
    top: -2px; }
  .component-html .rnw-widget-container .widget-block-content .field-block select,
  .component-html .rnw-widget-container .widget-block-content .field-block textarea,
  .component-html .rnw-widget-container .widget-block-content .field-block input[type="email"],
  .component-html .rnw-widget-container .widget-block-content .field-block input[type="tel"],
  .component-html .rnw-widget-container .widget-block-content .field-block input[type="text"] {
    border: 1px solid #dcd7d7 !important;
    color: #b4838a !important;
    font-size: 1rem !important;
    padding-left: .625rem !important;
    padding-right: .625rem !important;
    -webkit-box-sizing: border-box !important;
    box-sizing: border-box !important;
    background: #fff !important;
    width: 100% !important;
    height: 46px !important;
    border: #ccc 1px solid !important;
    padding: 0 20px !important;
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif !important;
    font-weight: normal !important;
    line-height: 1.2 !important;
    -webkit-font-smoothing: antialiased !important;
    -webkit-box-shadow: inset 0 1px 2px rgba(10, 10, 10, 0.1);
            box-shadow: inset 0 1px 2px rgba(10, 10, 10, 0.1);
    transition: box-shadow 0.5s, border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s; }
    .component-html .rnw-widget-container .widget-block-content .field-block select::-webkit-input-placeholder, .component-html .rnw-widget-container .widget-block-content .field-block textarea::-webkit-input-placeholder, .component-html .rnw-widget-container .widget-block-content .field-block input[type="email"]::-webkit-input-placeholder, .component-html .rnw-widget-container .widget-block-content .field-block input[type="tel"]::-webkit-input-placeholder, .component-html .rnw-widget-container .widget-block-content .field-block input[type="text"]::-webkit-input-placeholder {
      color: #999 !important;
      font-family: "Helvetica Neue",Helvetica,Arial,sans-serif !important;
      font-weight: normal !important;
      line-height: 1.2 !important;
      -webkit-font-smoothing: antialiased !important;
      -moz-osx-font-smoothing: grayscale !important;
      font-size: 18px !important;
      letter-spacing: 1px !important; }
    .component-html .rnw-widget-container .widget-block-content .field-block select::-moz-placeholder, .component-html .rnw-widget-container .widget-block-content .field-block textarea::-moz-placeholder, .component-html .rnw-widget-container .widget-block-content .field-block input[type="email"]::-moz-placeholder, .component-html .rnw-widget-container .widget-block-content .field-block input[type="tel"]::-moz-placeholder, .component-html .rnw-widget-container .widget-block-content .field-block input[type="text"]::-moz-placeholder {
      color: #999 !important;
      font-family: "Helvetica Neue",Helvetica,Arial,sans-serif !important;
      font-weight: normal !important;
      line-height: 1.2 !important;
      -webkit-font-smoothing: antialiased !important;
      -moz-osx-font-smoothing: grayscale !important;
      font-size: 18px !important;
      letter-spacing: 1px !important; }
    .component-html .rnw-widget-container .widget-block-content .field-block select:-ms-input-placeholder, .component-html .rnw-widget-container .widget-block-content .field-block textarea:-ms-input-placeholder, .component-html .rnw-widget-container .widget-block-content .field-block input[type="email"]:-ms-input-placeholder, .component-html .rnw-widget-container .widget-block-content .field-block input[type="tel"]:-ms-input-placeholder, .component-html .rnw-widget-container .widget-block-content .field-block input[type="text"]:-ms-input-placeholder {
      color: #999 !important;
      font-family: "Helvetica Neue",Helvetica,Arial,sans-serif !important;
      font-weight: normal !important;
      line-height: 1.2 !important;
      -webkit-font-smoothing: antialiased !important;
      -moz-osx-font-smoothing: grayscale !important;
      font-size: 18px !important;
      letter-spacing: 1px !important; }
    .component-html .rnw-widget-container .widget-block-content .field-block select::-ms-input-placeholder, .component-html .rnw-widget-container .widget-block-content .field-block textarea::-ms-input-placeholder, .component-html .rnw-widget-container .widget-block-content .field-block input[type="email"]::-ms-input-placeholder, .component-html .rnw-widget-container .widget-block-content .field-block input[type="tel"]::-ms-input-placeholder, .component-html .rnw-widget-container .widget-block-content .field-block input[type="text"]::-ms-input-placeholder {
      color: #999 !important;
      font-family: "Helvetica Neue",Helvetica,Arial,sans-serif !important;
      font-weight: normal !important;
      line-height: 1.2 !important;
      -webkit-font-smoothing: antialiased !important;
      -moz-osx-font-smoothing: grayscale !important;
      font-size: 18px !important;
      letter-spacing: 1px !important; }
    .component-html .rnw-widget-container .widget-block-content .field-block select::placeholder,
    .component-html .rnw-widget-container .widget-block-content .field-block textarea::placeholder,
    .component-html .rnw-widget-container .widget-block-content .field-block input[type="email"]::placeholder,
    .component-html .rnw-widget-container .widget-block-content .field-block input[type="tel"]::placeholder,
    .component-html .rnw-widget-container .widget-block-content .field-block input[type="text"]::placeholder {
      color: #999 !important;
      font-family: "Helvetica Neue",Helvetica,Arial,sans-serif !important;
      font-weight: normal !important;
      line-height: 1.2 !important;
      -webkit-font-smoothing: antialiased !important;
      -moz-osx-font-smoothing: grayscale !important;
      font-size: 18px !important;
      letter-spacing: 1px !important; }
  .component-html .rnw-widget-container .widget-block-content .field-block select {
    font-size: 18px !important;
    color: #333 !important;
    line-height: 2.4 !important; }
  .component-html .rnw-widget-container .widget-block-content .field-block textarea {
    padding-top: 10px !important;
    height: 45px !important; }
  .component-html .rnw-widget-container .payment-method-form.card .field-block label {
    display: none !important; }
  .component-html .rnw-widget-container .payment-method-form.card .field-block .icons-block {
    right: 10px !important;
    top: -5px !important; }
  .component-html .rnw-widget-container .payment-submit .main {
    text-align: center !important; }
    .component-html .rnw-widget-container .payment-submit .main button {
      font-size: 1.25rem !important;
      line-height: 1.5rem !important;
      font-family: NeueSansPro-SemiBold, Helvetiva, sans-serif !important;
      font-weight: normal !important;
      letter-spacing: 0.9px !important;
      border-radius: 5px !important;
      background: none !important;
      text-decoration: none !important;
      color: #006F69 !important;
      border: 2px solid #006F69 !important;
      width: 50% !important;
      padding-top: 0.625rem !important;
      padding-bottom: 0.375rem !important;
      display: inline-block !important; }
      .component-html .rnw-widget-container .payment-submit .main button:hover {
        opacity: .8 !important; }
  .component-html .rnw-widget-container .footer-info button .link {
    color: #333 !important; }

.foundation-mq {
  font-family: "small=0em&medium=40em&large=64em&xlarge=75em&xxlarge=90em"; }

#lema-container.lema-container {
  font-size: 1rem;
  line-height: 1.5rem;
  font-family: var(--fontFamily);
  max-width: 100% !important; }
  #lema-container.lema-container .lema-wrapper p {
    font-size: 1rem;
    line-height: 1.5rem;
    font-family: var(--fontFamily); }
  #lema-container.lema-container .lema-wrapper .lema-accordion-item .lema-accordion-header,
  #lema-container.lema-container .lema-wrapper .lema-accordion-item .lema-accordion-content {
    color: #006F69;
    border: none;
    background-color: #e5ebeb; }
    #lema-container.lema-container .lema-wrapper .lema-accordion-item .lema-accordion-header .lema-accordion-item-title:before,
    #lema-container.lema-container .lema-wrapper .lema-accordion-item .lema-accordion-content .lema-accordion-item-title:before {
      top: 19px;
      left: 20px;
      width: 13px;
      height: 8px;
      -webkit-transform: rotateZ(-90deg);
          -ms-transform: rotate(-90deg);
              transform: rotateZ(-90deg);
      -webkit-transition: all 0.2s;
      transition: all 0.2s;
      background: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 57.1 28.6'%3e%3cpath d='M.4 2l27.4 26.2c.5.4 1.2.4 1.6 0L56.8 2c.5-.5.5-1.2 0-1.7-.2-.2-.5-.3-.8-.3h-4.8c-.3 0-.6.1-.8.3L28.6 21 6.8.3C6.5.1 6.3 0 6 0H1.2C.5 0 0 .5 0 1.2c0 .3.1.6.4.8z' fill='%23006F69'/%3e%3c/svg%3e") no-repeat !important; }
  #lema-container.lema-container .lema-wrapper .lema-accordion-item.accordion-open .lema-accordion-header,
  #lema-container.lema-container .lema-wrapper .lema-accordion-item.accordion-open .lema-accordion-content {
    border: none; }
    #lema-container.lema-container .lema-wrapper .lema-accordion-item.accordion-open .lema-accordion-header p,
    #lema-container.lema-container .lema-wrapper .lema-accordion-item.accordion-open .lema-accordion-content p {
      color: #006F69; }
    #lema-container.lema-container .lema-wrapper .lema-accordion-item.accordion-open .lema-accordion-header .lema-accordion-item-title:before,
    #lema-container.lema-container .lema-wrapper .lema-accordion-item.accordion-open .lema-accordion-content .lema-accordion-item-title:before {
      -webkit-transform: rotateZ(0deg);
          -ms-transform: rotate(0deg);
              transform: rotateZ(0deg);
      background: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 57.1 28.6'%3e%3cpath d='M.4 2l27.4 26.2c.5.4 1.2.4 1.6 0L56.8 2c.5-.5.5-1.2 0-1.7-.2-.2-.5-.3-.8-.3h-4.8c-.3 0-.6.1-.8.3L28.6 21 6.8.3C6.5.1 6.3 0 6 0H1.2C.5 0 0 .5 0 1.2c0 .3.1.6.4.8z' fill='%23fff'/%3e%3c/svg%3e") no-repeat !important; }
  #lema-container.lema-container .lema-wrapper .lema-accordion-item.accordion-open .lema-accordion-header {
    color: #ffffff;
    background-color: #006F69; }
  #lema-container.lema-container .lema-wrapper .lema-step {
    background: transparent; }
  #lema-container.lema-container .lema-wrapper .lema-step-header {
    background-color: transparent;
    border-bottom: 0; }
    #lema-container.lema-container .lema-wrapper .lema-step-header .lema-step-header-text {
      font-size: 2.5rem;
      color: #006F69;
      line-height: 3rem;
      font-family: NeueSansPro-SemiBold, Helvetiva, sans-serif;
      font-weight: normal;
      padding-left: 2.5rem; }
    #lema-container.lema-container .lema-wrapper .lema-step-header .lema-step-number {
      top: 1.0625rem; }
      #lema-container.lema-container .lema-wrapper .lema-step-header .lema-step-number span {
        background-color: #006F69; }
  #lema-container.lema-container .lema-wrapper .lema-checkbox-label {
    font-size: 1rem;
    line-height: 1.5rem;
    font-family: var(--fontFamily); }
  #lema-container.lema-container .lema-wrapper .lema-input-text,
  #lema-container.lema-container .lema-wrapper .lema-input-textarea {
    border: 1px solid #dcd7d7;
    color: #B4838A;
    font-size: 1rem;
    padding-left: 0.625rem;
    padding-right: 0.625rem; }
    #lema-container.lema-container .lema-wrapper .lema-input-text:focus,
    #lema-container.lema-container .lema-wrapper .lema-input-textarea:focus {
      border: 1px solid #dcd7d7; }
  #lema-container.lema-container .lema-wrapper input[type="radio"] + label,
  #lema-container.lema-container .lema-wrapper input[type="checkbox"] + label {
    position: relative;
    padding-left: 1.6875rem;
    cursor: pointer; }
    #lema-container.lema-container .lema-wrapper input[type="radio"] + label:before,
    #lema-container.lema-container .lema-wrapper input[type="checkbox"] + label:before {
      content: "";
      position: absolute;
      display: block;
      left: 0;
      top: 50%;
      -webkit-transform: translateY(-50%);
          -ms-transform: translateY(-50%);
              transform: translateY(-50%);
      height: 1rem;
      width: 1rem;
      border: 1px solid #dcd7d7;
      background-image: none; }
    #lema-container.lema-container .lema-wrapper input[type="radio"] + label:after,
    #lema-container.lema-container .lema-wrapper input[type="checkbox"] + label:after {
      content: "";
      position: absolute;
      top: 50%;
      left: 9px;
      color: #006F69;
      font-size: 1.625rem;
      -webkit-transform: translateY(-50%) translateX(-50%);
          -ms-transform: translateY(-50%) translateX(-50%);
              transform: translateY(-50%) translateX(-50%);
      -webkit-transition: max-height 70ms, max-width 70ms;
      transition: max-height 70ms, max-width 70ms;
      height: 1.125rem;
      max-height: 0;
      width: 1.125rem;
      max-width: 0;
      text-align: center;
      border: 1px solid transparent;
      background-position: center;
      background-size: cover;
      background-repeat: no-repeat; }
  #lema-container.lema-container .lema-wrapper input[type="radio"]:checked + label:before,
  #lema-container.lema-container .lema-wrapper input[type="checkbox"]:checked + label:before {
    background-image: none; }
  #lema-container.lema-container .lema-wrapper input[type="radio"]:checked + label:after,
  #lema-container.lema-container .lema-wrapper input[type="checkbox"]:checked + label:after {
    max-height: 1.125rem;
    max-width: 1.125rem;
    background-image: url("../img/checkbox-checked.svg"); }
  #lema-container.lema-container .lema-wrapper input[type="radio"]:checked + label:after {
    background-image: url("../img/radio-active.svg"); }
  #lema-container.lema-container .lema-wrapper input[type="radio"] + label:before {
    border-radius: 50%; }
  #lema-container.lema-container .lema-wrapper .lema-summary-check {
    padding: 0; }
    #lema-container.lema-container .lema-wrapper .lema-summary-check br {
      display: none; }
  #lema-container.lema-container .lema-wrapper .lema-button {
    font-size: 1.25rem;
    line-height: 1.5rem;
    font-family: NeueSansPro-SemiBold, Helvetiva, sans-serif;
    font-weight: normal;
    letter-spacing: 0.9px;
    border-radius: 5px;
    background: none;
    text-decoration: none;
    color: #006F69;
    border: 2px solid #006F69;
    width: 50%;
    padding-top: 0.625rem;
    padding-bottom: 0.375rem;
    display: inline-block; }
  #lema-container.lema-container .lema-wrapper .lema-step-content {
    padding: 0 !important;
    background: transparent !important; }
  #lema-container.lema-container .lema-wrapper .lema-step-row-amounts {
    border-top: none;
    padding-top: 0;
    margin-top: 0; }
  #lema-container.lema-container .lema-wrapper .lema-amount-box.lema-active {
    color: #ffffff;
    background: #006F69;
    border: none; }

body#iframe_body {
  background-color: #f3f3f3;
  padding: 0;
  margin: 0; }
  body#iframe_body h1, body#iframe_body h2, body#iframe_body h3, body#iframe_body h4, body#iframe_body h5, body#iframe_body h6, body#iframe_body div, body#iframe_body p, body#iframe_body table, body#iframe_body form, body#iframe_body input, body#iframe_body textarea, body#iframe_body span {
    font-size: 1rem;
    line-height: 1.5rem;
    font-family: var(--fontFamily);
    font-size: inherit; }
  body#iframe_body a {
    color: #006F69;
    text-decoration: underline; }
    body#iframe_body a:hover {
      color: #005f5a; }
  body#iframe_body textarea,
  body#iframe_body select,
  body#iframe_body input {
    min-width: 100%;
    max-width: 100%;
    margin-bottom: 0;
    display: block; }
  body#iframe_body td.calc_label,
  body#iframe_body td.calc_field {
    background-color: transparent;
    border-bottom: 1px solid #d6d6d6;
    padding: 0.625rem 0; }
  body#iframe_body td.calc_field {
    text-align: right; }
    @media screen and (min-width: 40em) {
      body#iframe_body td.calc_field {
        padding-left: 0.625rem; } }
  @media screen and (max-width: 39.9375em) {
    body#iframe_body td.calc_label {
      border-bottom: none;
      padding-bottom: 0; } }
  body#iframe_body input.user_input,
  body#iframe_body input.result,
  body#iframe_body input.result_neg {
    padding-right: 0.5rem; }
  body#iframe_body .public_submit_button,
  body#iframe_body .public_submit_button_on {
    text-transform: capitalize;
    color: #006F69;
    display: inline-block;
    width: auto;
    min-width: auto;
    border: 2px solid #006F69;
    border-radius: 5px;
    padding-left: 1.875rem;
    padding-right: 1.875rem;
    margin: 1.25rem 0;
    background: none; }
  body#iframe_body .public_submit_button_on {
    color: #ffffff;
    background-color: #00837c;
    border-color: #00837c; }
  body#iframe_body .calculator .list {
    font-size: 1.875rem;
    color: #006F69;
    line-height: 2.25rem;
    font-family: NeueSansPro-SemiBold, Helvetiva, sans-serif;
    font-weight: normal;
    border: none;
    background: none;
    padding: 1.25rem 0 0 0; }
    @media screen and (min-width: 40em) {
      body#iframe_body .calculator .list {
        font-size: 2.5rem;
        color: #006F69;
        line-height: 3rem;
        font-family: NeueSansPro-SemiBold, Helvetiva, sans-serif;
        font-weight: normal; } }
  body#iframe_body .advise1,
  body#iframe_body .norights {
    color: #ffffff;
    margin-top: 1.875rem;
    border-radius: 5px;
    border-width: 2px;
    padding: 1.25rem; }
  body#iframe_body .advise1 {
    border-color: #39AA47;
    background-color: #39AA47; }
  body#iframe_body .norights {
    border-color: #f01414;
    background-color: #f01414; }

/*
 *  Owl Carousel - Core
 */
.owl-carousel {
  display: none;
  width: 100%;
  -webkit-tap-highlight-color: transparent;
  /* position relative and z-index fix webkit rendering fonts issue */
  position: relative;
  z-index: 1; }
  .owl-carousel .owl-stage {
    position: relative;
    -ms-touch-action: pan-Y;
    touch-action: manipulation;
    -moz-backface-visibility: hidden;
    /* fix firefox animation glitch */ }
  .owl-carousel .owl-stage:after {
    content: ".";
    display: block;
    clear: both;
    visibility: hidden;
    line-height: 0;
    height: 0; }
  .owl-carousel .owl-stage-outer {
    position: relative;
    overflow: hidden;
    /* fix for flashing background */
    -webkit-transform: translate3d(0px, 0px, 0px); }
  .owl-carousel .owl-wrapper,
  .owl-carousel .owl-item {
    -webkit-backface-visibility: hidden;
    -moz-backface-visibility: hidden;
    -ms-backface-visibility: hidden;
    -webkit-transform: translate3d(0, 0, 0);
    -moz-transform: translate3d(0, 0, 0);
    -ms-transform: translate3d(0, 0, 0); }
  .owl-carousel .owl-item {
    position: relative;
    min-height: 1px;
    float: left;
    -webkit-backface-visibility: hidden;
    -webkit-tap-highlight-color: transparent;
    -webkit-touch-callout: none; }
  .owl-carousel .owl-item img {
    display: block;
    width: 100%; }
  .owl-carousel .owl-nav.disabled,
  .owl-carousel .owl-dots.disabled {
    display: none; }
  .owl-carousel .owl-nav .owl-prev,
  .owl-carousel .owl-nav .owl-next,
  .owl-carousel .owl-dot {
    cursor: pointer;
    cursor: hand;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none; }
  .owl-carousel .owl-nav button.owl-prev,
  .owl-carousel .owl-nav button.owl-next,
  .owl-carousel button.owl-dot {
    background: none;
    color: inherit;
    border: none;
    padding: 0 !important;
    font: inherit; }
  .owl-carousel.owl-loaded {
    display: block; }
  .owl-carousel.owl-loading {
    opacity: 0;
    display: block; }
  .owl-carousel.owl-hidden {
    opacity: 0; }
  .owl-carousel.owl-refresh .owl-item {
    visibility: hidden; }
  .owl-carousel.owl-drag .owl-item {
    -ms-touch-action: none;
        touch-action: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none; }
  .owl-carousel.owl-grab {
    cursor: move;
    cursor: -webkit-grab;
    cursor: grab; }
  .owl-carousel.owl-rtl {
    direction: rtl; }
  .owl-carousel.owl-rtl .owl-item {
    float: right; }

/* No Js */
.no-js .owl-carousel {
  display: block; }

/*
 *  Owl Carousel - Animate Plugin
 */
.owl-carousel .animated {
  -webkit-animation-duration: 1000ms;
          animation-duration: 1000ms;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both; }

.owl-carousel .owl-animated-in {
  z-index: 0; }

.owl-carousel .owl-animated-out {
  z-index: 1; }

.owl-carousel .fadeOut {
  -webkit-animation-name: fadeOut;
          animation-name: fadeOut; }

@-webkit-keyframes fadeOut {
  0% {
    opacity: 1; }
  100% {
    opacity: 0; } }

@keyframes fadeOut {
  0% {
    opacity: 1; }
  100% {
    opacity: 0; } }

/*
 * 	Owl Carousel - Auto Height Plugin
 */
.owl-height {
  -webkit-transition: height 500ms ease-in-out;
  transition: height 500ms ease-in-out; }

/*
 * 	Owl Carousel - Lazy Load Plugin
 */
.owl-carousel .owl-item .owl-lazy {
  opacity: 0;
  -webkit-transition: opacity 400ms ease;
  transition: opacity 400ms ease; }

.owl-carousel .owl-item img.owl-lazy {
  -webkit-transform-style: preserve-3d;
          transform-style: preserve-3d; }

/*
 * 	Owl Carousel - Video Plugin
 */
.owl-carousel .owl-video-wrapper {
  position: relative;
  height: 100%;
  background: #141414; }

.owl-carousel .owl-video-play-icon {
  position: absolute;
  height: 80px;
  width: 80px;
  left: 50%;
  top: 50%;
  margin-left: -40px;
  margin-top: -40px;
  background: url("owl.video.play.png") no-repeat;
  cursor: pointer;
  z-index: 1;
  -webkit-backface-visibility: hidden;
  -webkit-transition: -webkit-transform 100ms ease;
  transition: -webkit-transform 100ms ease;
  transition: transform 100ms ease;
  transition: transform 100ms ease, -webkit-transform 100ms ease; }

.owl-carousel .owl-video-play-icon:hover {
  -webkit-transform: scale(1.3, 1.3);
      -ms-transform: scale(1.3, 1.3);
          transform: scale(1.3, 1.3); }

.owl-carousel .owl-video-playing .owl-video-tn,
.owl-carousel .owl-video-playing .owl-video-play-icon {
  display: none; }

.owl-carousel .owl-video-tn {
  opacity: 0;
  height: 100%;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  -webkit-transition: opacity 400ms ease;
  transition: opacity 400ms ease; }

.owl-carousel .owl-video-frame {
  position: relative;
  z-index: 1;
  height: 100%;
  width: 100%; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm91bmRhdGlvbi5zY3NzIiwiYXBwLmNzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fYnJlYWtwb2ludC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19yZXZlYWwuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19ndXR0ZXJzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2dyaWQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fdW5pdC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jZWxsLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2xheW91dC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jb2xsYXBzZS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19wb3NpdGlvbi5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19mcmFtZS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19mbGV4LWdyaWQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fcm93LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2d1dHRlci5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19jb2x1bW4uc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fcG9zaXRpb24uc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZmxleC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19mbGV4LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3Zpc2liaWxpdHkuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fbWl4aW5zLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2J1dHRvbi5zY3NzIiwidmVuZG9yL19mb3VuZGF0aW9uLXNldHRpbmdzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3NsaWRlci5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19tZWRpYS1vYmplY3Quc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fY2FsbG91dC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fdGV4dC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fY2hlY2tib3guc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2xhYmVsLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19oZWxwLXRleHQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2lucHV0LWdyb3VwLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19maWVsZHNldC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fc2VsZWN0LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19lcnJvci5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19yZXNwb25zaXZlLWVtYmVkLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX21hdGguc2NzcyIsIl9zLXNldHRpbmdzLnNjc3MiLCJfcy1mb250cy5zY3NzIiwiX3MtbWl4aW5zLnNjc3MiLCJfcy1nbG9iYWxzLnNjc3MiLCJfcy1oZWFkZXIuc2NzcyIsIl9zLWZvb3Rlci5zY3NzIiwiX3MtbmF2aWdhdGlvbi5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvX3ZlbmRvci9ub3JtYWxpemUtc2Nzcy9zYXNzL25vcm1hbGl6ZS9fdmFyaWFibGVzLnNjc3MiLCJfcy1idXJnZXIuc2NzcyIsIl9zLWJ1dHRvbi5zY3NzIiwiX3MtdGV4dEltYWdlLnNjc3MiLCJfcy1zbGlkZXIuc2NzcyIsIl9zLWFydGljbGUuc2NzcyIsIl9zLW1hcC5zY3NzIiwiX3MtY291cnNlcy5zY3NzIiwiX3MtZmlsdGVycy5zY3NzIiwiX3MtZm9ybS5zY3NzIiwiX3MtdGlsZS5zY3NzIiwiX3MtY29va2llLnNjc3MiLCJfcy1odG1sLnNjc3MiLCJfcy1uZnQuc2NzcyIsIl9zLXBvcHVwLnNjc3MiLCJfcy1yYWlzZW5vdy5zY3NzIiwidmVuZG9yL19yYWlzZW5vdy5zY3NzIiwidmVuZG9yL19lbC1yZWNobmVyLnNjc3MiLCJ2ZW5kb3Ivb3dsL19jb3JlLnNjc3MiLCJ2ZW5kb3Ivb3dsL19hbmltYXRlLnNjc3MiLCJ2ZW5kb3Ivb3dsL19hdXRvaGVpZ2h0LnNjc3MiLCJ2ZW5kb3Ivb3dsL19sYXp5bG9hZC5zY3NzIiwidmVuZG9yL293bC9fdmlkZW8uc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7RUNLRTtBQzhKSTtFQ3ZISjtJQUNFLFdBQVc7SUFDWCxVQUFVO0lBQ1YsY0FBYyxFQUFBLEVBQ2Y7O0FDcENEO0VDb0JNLHdCQUE0QjtFQUE1Qix1QkFBNEI7RUNmbEMsb0JDdUV1RDtFRHRFdkQsY0FBYyxFQUFBO0VKaUpWO0lFdkpKO01Db0JNLHdCQUE0QjtNQUE1Qix1QkFBNEIsRUFBQSxFRFZqQztFQVZEO0lDb0JNLHdCQUE0QjtJQUE1Qix1QkFBNEI7SUNmbEMsZUZEbUM7SUVFbkMsY0FBYyxFQUFBO0lKaUpWO01FdkpKO1FDb0JNLHdCQUE0QjtRQUE1Qix1QkFBNEIsRUFBQSxFRGYvQjtFQUxIO0lDNkJJLGdCQUE0QjtJQUE1QixlQUE0QjtJQ3hCaEMsZUZHbUM7SUVGbkMsY0FBYyxFQUFBOztBRk9kO0VFT0Esb0JBQWE7RUFBYixxQkFBYTtFQUFiLG9CQUFhO0VBQWIsYUFBYTtFQUNiLDhCQUhxQjtFQUdyQiw2QkFIcUI7RUFHckIsMkJBSHFCO01BR3JCLHVCQUhxQjtVQUdyQixtQkFIcUIsRUFBQTs7QUZEckI7RUlxQkUsbUJBQWM7RUFBZCxzQkFBYztNQUFkLGtCQUFjO1VBQWQsY0FBYztFQUNkLGVBQWU7RUFDZixjQUFjO0VBa0NkLFdBRG9ELEVBQUE7RUp4RHREO0lJMEJFLG1CQUFhO0lBQWIscUJBQWE7UUFBYixpQkFBYTtZQUFiLGFBQWEsRUFBQTtFSjFCZjtJ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LGlDQURnSCxFQUFBO0VKOEJoSDtJSTdCQSwyQkFEZ0gsRUFBQTtFSjhCaEg7SUk3QkEsaUNBRGdILEVBQUE7RUo4QmhIO0lJN0JBLGlDQURnSCxFQUFBO0VKOEJoSDtJSTdCQSwyQkFEZ0gsRUFBQTtFSjhCaEg7SUk3QkEsaUNBRGdILEVBQUE7RUo4QmhIO0lJN0JBLGlDQURnSCxFQUFBO0VKOEJoSDtJSTdCQSw0QkFEZ0gsRUFBQTtFTjhFOUc7SUU1REo7TUl6QkUsV0FBbUIsRUFBQTtJSjZCckI7TUl6QkUsV0FBbUIsRUFBQTtJSmlDbkI7TUk3QkEsZ0NBRGdILEVBQUE7SUo4QmhIO01JN0JBLGlDQURnSCxFQUFBO0lKOEJoSDtNSTdCQSwyQkFEZ0gsRUFBQTtJSjhCaEg7TUk3QkEsaUNBRGdILEVBQUE7SUo4QmhIO01JN0JBLGlDQURnSCxFQUFBO0lKOEJoSDtNSTdCQSwyQkFEZ0gsRUFBQTtJSjhCaEg7TUk3QkEsaUNBRGdILEVBQUE7SUo4QmhIO01JN0JBLGlDQURnSCxFQUFBO0lKOEJoSDtNSTdCQSwyQkFEZ0gsRUFBQTtJSjhCaEg7TUk3QkEsaUNBRGdILEVBQUE7SUo4QmhIO01JN0JBLGlDQURnSCxFQUFBO0lKOEJoSDtNSTdCQSw0QkFEZ0gsRUFBQTtJSmtCbEg7TUl6QkUsV0FBbUIsRUFBQTtJSjZCckI7TUl6QkUsV0FBbUIsRUFBQTtJSmlDbkI7TUk3QkEsZ0NBRGdILEVBQUE7SUo4QmhIO01JN0JBLGlDQURnSCxFQUFBO0lKOEJoSDtNSTdCQSwyQkFEZ0gsRUFBQTtJSjhCaEg7TUk3QkEsaUNBRGdILEVBQUE7SUo4QmhIO01JN0JBLGlDQURnSCxFQUFBO0lKOEJoSDtNSTdCQSwyQkFEZ0gsRUFBQTtJSjhCaEg7TUk3QkEsaUNBRGdILEVBQUE7SUo4QmhIO01JN0JBLGlDQURnSCxFQUFBO0lKOEJoSDtNSTdCQSwyQkFEZ0gsRUFBQTtJSjhCaEg7TUk3QkEsaUNBRGdILEVBQUE7SUo4QmhIO01JN0JBLGlDQURnSCxFQUFBO0lKOEJoSDtNSTdCQSw0QkFEZ0gsRUFBQSxFSmdDL0c7RUY4Q0M7SUU1REo7TUl6QkUsV0FBbUIsRUFBQTtJSjZCckI7TUl6QkUsV0FBbUIsRUFBQTtJSmlDbkI7TUk3QkEsZ0NBRGdILEVBQUE7SUo4QmhIO01JN0JBLGlDQURnSCxFQUFBO0lKOEJoSDtNSTdCQSwyQkFEZ0gsRUFBQTtJSjhCaEg7TUk3QkEsaUNBRGdILEVBQUE7SUo4QmhIO01JN0JBLGlDQURnSCxFQUFBO0lKOEJoSDtNSTdCQSwyQkFEZ0gsRUFBQTtJSjhCaEg7TUk3QkEsaUNBRGdILEVBQUE7SUo4QmhIO01JN0JBLGlDQURnSCxFQUFBO0lKOEJoSDtNSTdCQSwyQkFEZ0gsRUFBQTtJSjhCaEg7TUk3QkEsaUNBRGdILEVBQUE7SUo4QmhIO01JN0JBLGlDQURnSCxFQUFBO0lKOEJoSDtNSTdCQSw0QkFEZ0gsRUFBQSxFSmdDL0c7O0FBOENIO0VDbklNLHdCQUE0QjtFQUE1Qix1QkFBNEIsRUFBQTtFSG1JOUI7SUVBSjtNQ25JTSx3QkFBNEI7TUFBNUIsdUJBQTRCLEVBQUEsRUR3SS9COztBQUlEO0VDNUlJLHdCQUE0QjtFQUE1Qix1QkFBNEIsRUFBQTtFSG1JOUI7SUVTRjtNQzVJSSx3QkFBNEI7TUFBNUIsdUJBQTRCLEVBQUEsRUQ4SS9COztBQVhIO0VDbklNLHdCQUE0QjtFQUE1Qix1QkFBNEIsRUFBQTtFSG1JOUI7SUVBSjtNQ25JTSx3QkFBNEI7TUFBNUIsdUJBQTRCLEVBQUEsRURtSi9COztBS3RKSDtFRHlERSxXQURvRCxFQUFBOztBQ3hEdEQ7RUR5REUsVUFEb0QsRUFBQTs7QUN4RHREO0VEeURFLGdCQURvRCxFQUFBOztBQ3hEdEQ7RUR5REUsVUFEb0QsRUFBQTs7QUN4RHREO0VEeURFLFVBRG9ELEVBQUE7O0FDeER0RDtFRHlERSxnQkFEb0QsRUFBQTs7QUN4RHREO0VEeURFLGdCQURvRCxFQUFBOztBQ3hEdEQ7RUR5REUsWUFEb0QsRUFBQTs7QU44RWxEO0VPdElKO0lEeURFLFdBRG9ELEVBQUE7RUN4RHREO0lEeURFLFVBRG9ELEVBQUE7RUN4RHREO0lEeURFLGdCQURvRCxFQUFBO0VDeER0RDtJRHlERSxVQURvRCxFQUFBO0VDeER0RDtJRHlERSxVQURvRCxFQUFBO0VDeER0RDtJRHlERSxnQkFEb0QsRUFBQTtFQ3hEdEQ7SUR5REUsZ0JBRG9ELEVBQUE7RUN4RHREO0lEeURFLFlBRG9ELEVBQUEsRUN0RHJEOztBUG9JRztFT3RJSjtJRHlERSxXQURvRCxFQUFBO0VDeER0RDtJRHlERSxVQURvRCxFQUFBO0VDeER0RDtJRHlERSxnQkFEb0QsRUFBQTtFQ3hEdEQ7SUR5REUsVUFEb0QsRUFBQTtFQ3hEdEQ7SUR5REUsVUFEb0QsRUFBQTtFQ3hEdEQ7SUR5REUsZ0JBRG9ELEVBQUE7RUN4RHREO0lEeURFLGdCQURvRCxFQUFBO0VDeER0RDtJRHlERSxZQURvRCxFQUFBLEVDdERyRDs7QUFGRDtFRHlERSw0QkFEZ0gsRUFBQTs7QUN4RGxIO0VEeURFLDJCQURnSCxFQUFBOztBQ3hEbEg7RUR5REUsaUNBRGdILEVBQUE7O0FDeERsSDtFRHlERSwyQkFEZ0gsRUFBQTs7QUN4RGxIO0VEeURFLDJCQURnSCxFQUFBOztBQ3hEbEg7RUR5REUsaUNBRGdILEVBQUE7O0FDeERsSDtFRHlERSxpQ0FEZ0gsRUFBQTs7QUN4RGxIO0VEeURFLDZCQURnSCxFQUFBOztBTjhFOUc7RU90SUo7SUR5REUsNEJBRGdILEVBQUE7RUN4RGxIO0lEeURFLDJCQURnSCxFQUFBO0VDeERsSDtJRHlERSxpQ0FEZ0gsRUFBQTtFQ3hEbEg7SUR5REUsMkJBRGdILEVBQUE7RUN4RGxIO0lEeURFLDJCQURnSCxFQUFBO0VDeERsSDtJRHlERSxpQ0FEZ0gsRUFBQTtFQ3hEbEg7SUR5REUsaUNBRGdILEVBQUE7RUN4RGxIO0lEeURFLDZCQURnSCxFQUFBO0VDeERsSDtJRHlERSw0QkFEZ0gsRUFBQTtFQ3hEbEg7SUR5REUsMkJBRGdILEVBQUE7RUN4RGxIO0lEeURFLGlDQURnSCxFQUFBO0VDeERsSDtJRHlERSwyQkFEZ0gsRUFBQTtFQ3hEbEg7SUR5REUsMkJBRGdILEVBQUE7RUN4RGxIO0lEeURFLGlDQURnSCxFQUFB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QUE7O0FQME4zQjtFTzFORixzQkFBNkIsRUFBQTs7QVA4TjNCO0VPOU5GLHdDQUE2QixFQUFBOztBUDBOM0I7RU8xTkYsZ0JBQTZCLEVBQUE7O0FQOE4zQjtFTzlORixrQ0FBNkIsRUFBQTs7QVAwTjNCO0VPMU5GLHNCQUE2QixFQUFBOztBUDhOM0I7RU85TkYsd0NBQTZCLEVBQUE7O0FQME4zQjtFTzFORixzQkFBNkIsRUFBQTs7QVA4TjNCO0VPOU5GLHdDQUE2QixFQUFBOztBUDBOM0I7RU8xTkYsZ0JBQTZCLEVBQUE7O0FQOE4zQjtFTzlORixrQ0FBNkIsRUFBQTs7QVAwTjNCO0VPMU5GLHNCQUE2QixFQUFBOztBUDhOM0I7RU85TkYsd0NBQTZCLEVBQUE7O0FQME4zQjtFTzFORixzQkFBNkIsRUFBQTs7QVA4TjNCO0VPOU5GLHdDQUE2QixFQUFBOztBUDBOM0I7RU8xTkYsZ0JBQTZCLEVBQUE7O0FQOE4zQjtFTzlORixrQ0FBNkIsRUFBQTs7QVAwTjNCO0VPMU5GLHNCQUE2QixFQUFBOztBUDhOM0I7RU85TkYsd0NBQTZCLEVBQUE7O0FQME4zQjtFTzFORixzQkFBNkIsRUFBQTs7QVA4TjNCO0VPOU5GLHdDQUE2QixFQUFBOztBVDBJM0I7RUVnRkE7SU8xTkYsZUFBNkIsRUFBQTtFUDhOM0I7SU85TkYsaUNBQTZCLEVBQUE7RVAwTjNCO0lPMU5GLHFCQUE2QixFQUFBO0VQOE4zQjtJTzlORix1Q0FBNkIsRUFBQTtFUDBOM0I7SU8xTkYsc0JBQTZCLEVBQUE7RVA4TjNCO0lPOU5GLHdDQUE2QixFQUFBO0VQME4zQjtJTzFORixnQkFBNkIsRUFBQTtFUDhOM0I7SU85TkYsa0NBQTZCLEVBQUE7RVAwTjNCO0lPMU5GLHNCQUE2QixFQUFBO0VQOE4zQjtJTzlORix3Q0FBNkIsRUFBQTtFUDBOM0I7SU8xTkYsc0JBQTZCLEVBQUE7RVA4TjNCO0lPOU5GLHdDQUE2QixFQUFBO0VQME4zQjtJTzFORixnQkFBNkIsRUFBQTtFUDhOM0I7SU85TkYsa0NBQTZCLEVBQUE7RVAwTjNCO0lPMU5GLHNCQUE2QixF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SXpCRSxZQUFtQixFQUFBO0VKNkJyQjtJSXpCRSxZQUFtQixFQUFBO0VKaUNuQjtJSTdCQSxpQ0FEZ0gsRUFBQTtFSjhCaEg7SUk3QkEsa0NBRGdILEVBQUE7RUo4QmhIO0lJN0JBLDRCQURnSCxFQUFBO0VKOEJoSDtJSTdCQSxrQ0FEZ0gsRUFBQTtFSjhCaEg7SUk3QkEsa0NBRGdILEVBQUE7RUo4QmhIO0lJN0JBLDRCQURnSCxFQUFBO0VKOEJoSDtJSTdCQSxrQ0FEZ0gsRUFBQTtFSjhCaEg7SUk3QkEsa0NBRGdILEVBQUE7RUo4QmhIO0lJN0JBLDRCQURnSCxFQUFBO0VKOEJoSDtJSTdCQSxrQ0FEZ0gsRUFBQTtFSjhCaEg7SUk3QkEsa0NBRGdILEVBQUE7RUo4QmhIO0lJN0JBLDZCQURnSCxFQUFBO0VOOEU5RztJRTVESjtNSXpCRSxZQUFtQixFQUFBO0lKNkJyQjtNSXpCRSxZQUFtQixFQUFBO0lKaUNuQjtNSTdCQSxpQ0FEZ0gsRUFBQTtJSjhCaEg7TUk3QkEsa0NBRGdILEVBQUE7SUo4QmhIO01JN0JBLDRCQURnSCxFQUFBO0lKOEJoSDtNSTdCQSxrQ0FEZ0gsRUFBQTtJSjhCaEg7TUk3QkEsa0NBRGdILEVBQUE7SUo4QmhIO01JN0JBLDRCQURnSCxFQUFBO0lKOEJoSDtNSTdCQSxrQ0FEZ0gsRUFBQTtJSjhCaEg7TUk3QkEsa0NBRGdILEVBQUE7SUo4QmhIO01JN0JBLDRCQURnSCxFQUFBO0lKOEJoSDtNSTdCQSxrQ0FEZ0gsRUFBQTtJSjhCaEg7TUk3QkEsa0NBRGdILEVBQUE7SUo4QmhIO01JN0JBLDZCQURnSCxFQUFBO0lKa0JsSDtNSXpCRSxZQUFtQixFQUFBO0lKNkJyQjtNSXpCRSxZQUFtQixFQUFBO0lKaUNuQjtNSTdCQSxpQ0FEZ0gsRUFBQTtJSjhCaEg7TUk3QkEsa0NBRGdILEVBQUE7SUo4QmhIO01JN0JBLDRCQURnSCxFQUFBO0lKOEJoSDtNSTdCQSxrQ0FEZ0gsRUFBQTtJSjhCaEg7TUk3QkEsa0NBRGdILEVBQUE7SUo4QmhIO01JN0JBLDRCQURnSCxFQUFBO0lKOEJoSDtN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SDBINUI7SUVwQ0o7TUlwREUsNkJBRDRFO01IakMxRSxxQkFBNEI7TUFBNUIsd0JBQTRCLEVBQUEsRURtR3pCO0VBckNQO0lJekJFLFlBQW1CLEVBQUE7RUo2QnJCO0lJekJFLFlBQW1CLEVBQUE7RUppQ25CO0lJN0JBLGlDQURnSCxFQUFBO0VKOEJoSDtJSTdCQSxrQ0FEZ0gsRUFBQTtFSjhCaEg7SUk3QkEsNEJBRGdILEVBQUE7RUo4QmhIO0lJN0JBLGtDQURnSCxFQUFBO0VKOEJoSDtJSTdCQSxrQ0FEZ0gsRUFBQTtFSjhCaEg7SUk3QkEsNEJBRGdILEVBQUE7RUo4QmhIO0lJN0JBLGtDQURnSCxFQUFBO0VKOEJoSDtJSTdCQSxrQ0FEZ0gsRUFBQTtFSjhCaEg7SUk3QkEsNEJBRGdILEVBQUE7RUo4QmhIO0lJN0JBLGtDQURnSCxFQUFBO0VKOEJoSDtJSTdCQSxrQ0FEZ0gsRUFBQTtFSjhCaEg7SUk3QkEsNkJBRGdILEVBQUE7RU44RTlHO0lFNURKO01JekJFLFlBQW1CLEVBQUE7SUo2QnJCO01JekJFLFlBQW1CLEVBQUE7SUppQ25CO01JN0JBLGlDQURnSCxFQUFBO0lKOEJoSDtNSTdCQSxrQ0FEZ0gsRUFBQTtJSjhCaEg7TUk3QkEsNEJBRGdILEVBQUE7SUo4QmhIO01JN0JBLGtDQURnSCxFQUFBO0lKOEJoSDtNSTdCQSxrQ0FEZ0gsRUFBQTtJSjhCaEg7TUk3QkEsNEJBRGdILEVBQUE7SUo4QmhIO01JN0JBLGtDQURnSCxFQUFBO0lKOEJoSDtNSTdCQSxrQ0FEZ0gsRUFBQTtJSjhCaEg7TUk3QkEsNEJBRGdILEVBQUE7SUo4QmhIO01JN0JBLGtDQURnSCxFQUFBO0lKOEJoSDtNSTdCQSxrQ0FEZ0gsRUFBQTtJSjhCaEg7TUk3QkEsNkJBRGdILEVBQUE7SUprQmxIO01JekJFLFlBQW1CLEVBQUE7SUo2QnJCO01JekJFLFlBQW1CLEVBQUE7SUppQ25CO01JN0JBLGlDQURnSCxFQUFBO0lKOEJoSDtNSTdCQSxrQ0FEZ0gsRUFBQTtJSjhCaEg7TUk3QkEsNEJBRGdILEVBQUE7SUo4QmhIO01JN0JB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SixzQkRicUQsRUFBQTs7QUhrS2pEO0VBQ0UsbUJHbksrQztFSG1LL0MsMkJHbksrQztNSG1LL0MsdUJHbksrQztVSG1LL0MsbUJHbksrQztFSG9LL0Msb0JHcEsrQyxFQUFBOztBWnNOakQ7RWF6TUosZ0JEYnFELEVBQUE7O0FIa0tqRDtFQUNFLG1CR25LK0M7RUhtSy9DLDJCR25LK0M7TUhtSy9DLHVCR25LK0M7VUhtSy9DLG1CR25LK0M7RUhvSy9DLG9CR3BLK0MsRUFBQTs7QVpzTmpEO0Vhek1KLHNCRGJxRCxFQUFBOztBSGtLakQ7RUFDRSxtQkduSytDO0VIbUsvQyxxQkduSytDO01IbUsvQyxpQkduSytDO1VIbUsvQyxhR25LK0M7RUhvSy9DLGNHcEsrQyxFQUFBOztBWnNOakQ7RWF6TUosc0JEYnFELEVBQUE7O0FIa0tqRDtFQUNFLG1CR25LK0M7RUhtSy9DLDJCR25LK0M7TUhtSy9DLHVCR25LK0M7VUhtSy9DLG1CR25LK0M7RUhvSy9DLG9CR3BLK0MsRUFBQTs7QVpzTmpEO0Vhek1KLGdCRGJxRCxFQUFBOztBSGtLakQ7RUFDRSxtQkduSytDO0VIbUsvQywyQkduSytDO01IbUsvQyx1QkduSytDO1VIbUsvQyxtQkduSytDO0VIb0svQyxvQkdwSytDLEVBQUE7O0Fac05qRDtFYXpNSixzQkRicUQsRUFBQTs7QUhrS2pEO0VBQ0UsbUJHbksrQztFSG1LL0MscUJHbksrQztNSG1LL0MsaUJHbksrQztVSG1LL0MsYUduSytDO0VIb0svQyxjR3BLK0MsRUFBQTs7QVpzTmpEO0Vhek1KLHNCRGJxRCxFQUFBOztBSGtLakQ7RUFDRSxtQkduSytDO0VIbUsvQywyQkduSytDO01IbUsvQyx1QkduSytDO1VIbUsvQyxtQkduSytDO0VIb0svQyxvQkdwSytDLEVBQUE7O0Fac05qRDtFYXpNSixnQkRicUQsRUFBQTs7QUhrS2pEO0VBQ0UsbUJHbksrQztFSG1LL0MsMkJHbksrQztNSG1LL0MsdUJHbksrQztVSG1LL0MsbUJHbksrQztFSG9LL0Msb0JHcEsrQyxFQUFBOztBWnNOakQ7RWF6TUosc0JEYnFELEVBQUE7O0FIa0tqRDtFQUNFLG1CR25LK0M7RUhtSy9DLHNCR25LK0M7TUhtSy9DLGtCR25LK0M7VUhtSy9DLGNHbksrQztFSG9LL0MsZUdwSytDLEVBQUE7O0Fac05qRDtFYXpNSixzQkRicUQsRUFBQTs7QUhpTGpEO0VBMUdKLHVCQUFlO01BQWYsbUJBQWU7VUFBZixlQUFlLEVBQUE7RUFFZjtJQUdFLG1CQUZzQjtJQUV0QixzQkFGc0I7UUFFdEIsa0JBRnNCO1lBRXRCLGNBRnNCO0lBR3RCLGVBSHNCLEVBQUE7O0FBdUdwQjtFQTFHSix1QkFBZTtNQUFmLG1CQUFlO1VBQWYsZUFBZSxFQUFBO0VBRWY7SUFHRSxtQkFGc0I7SUFFdEIscUJBRnNCO1FBRXRCLGlCQUZzQjtZQUV0QixhQUZzQjtJQUd0QixjQUhzQixFQUFBOztBQXVHcEI7RUExR0osdUJBQWU7TUFBZixtQkFBZTtVQUFmLGVBQWUsRUFBQTtFQUVmO0lBR0UsbUJBRnNCO0lBRXRCLDJCQUZzQjtRQUV0Qix1QkFGc0I7WUFFdEIsbUJBRnNCO0lBR3RCLG9CQUhzQixFQUFBOztBQXVHcEI7RUExR0osdUJBQWU7TUFBZixtQkFBZTtVQUFmLGVBQWUsRUFBQTtFQUVmO0lBR0UsbUJBRnNCO0lBRXRCLHFCQUZzQjtRQUV0QixpQkFGc0I7WUFFdEIsYUFGc0I7SUFHdEIsY0FIc0IsRUFBQTs7QUF1R3BCO0VBMUdKLHVCQUFlO01BQWYsbUJBQWU7VUFBZixlQUFlLEVBQUE7RUFFZjtJQUdFLG1CQUZzQjtJQUV0QixxQkFGc0I7UUFFdEIsaUJBRnNCO1lBRXRCLGFBRnNCO0lBR3RCLGNBSHNCLEVBQUE7O0FBdUdwQjtFQTFHSix1QkFBZTtNQUFmLG1CQUFlO1VBQWYsZUFBZSxFQUFBO0VBRWY7SUFHRSxtQkFGc0I7SUFFdEIsMkJBRnNCO1FBRXRCLHVCQUZzQjtZQUV0QixtQkFGc0I7SUFHdEIsb0JBSHNCLEVBQUE7O0FBdUdwQjtFQTFHSix1QkFBZTtNQUFmLG1CQUFlO1VBQWYsZUFBZSxFQUFBO0VBRWY7SUFHRSxtQkFGc0I7SUFFdEIsMkJBRnNCO1FBRXRCLHVCQUZzQjtZQUV0QixtQkFGc0I7SUFHdEIsb0JBSHNCLEVBQUE7O0FBdUdwQjtFQTFHSix1QkFBZTtNQUFmLG1CQUFlO1VBQWYsZUFBZSxFQUFBO0VBRWY7SUFHRSxtQkFGc0I7SUFFdEIsdUJBRnNCO1FBRXRCLG1CQUZzQjtZQUV0QixlQUZzQjtJQUd0QixnQkFIc0IsRUFBQTs7QUFtSXRCO0VFcE5BLGdCUnVFUztFUXRFVCxlUnNFUyxFQUFBOztBTWlKVDtFRXhOQSx5QkFGcUM7RUFHckMsd0JBSHFDLEVBQUE7O0FiK0luQztFVzRCQTtJQUNFLG1CR25LK0M7SUhtSy9DLDBCR25LK0M7UUhtSy9DLHNCR25LK0M7WUhtSy9DLGtCR25LK0M7SUhvSy9DLG1CR3BLK0MsRUFBQTtFWnNOakQ7SWF6TUosZURoQmdDLEVBQUE7RUhxSzVCO0lBQ0UsbUJHbksrQztJSG1LL0MsMkJHbksrQztRSG1LL0MsdUJHbksrQztZSG1LL0MsbUJHbksrQztJSG9LL0Msb0JHcEsrQyxFQUFBO0Vac05qRDtJYXpNSixxQkRicUQsRUFBQTtFSGtLakQ7SUFDRSxtQkduSytDO0lIbUsvQyxxQkduSytDO1FIbUsvQyxpQkduSytDO1lIbUsvQyxhR25LK0M7SUhvSy9DLGNHcEsrQyxFQUFBO0Vac05qRDtJYXpNSixzQkRicUQsRUFBQTtFSGtLakQ7SUFDRSxtQkduSytDO0lIbUsvQywyQkduSytDO1FIbUsvQyx1QkduSytDO1lIbUsvQyxtQkduSytDO0lIb0svQyxvQkdwSytDLEVBQUE7RVpzTmpEO0lhek1KLGdCRGJxRCxFQUFBO0VIa0tqRDtJQUNFLG1CR25LK0M7SUhtSy9DLDJCR25LK0M7UUhtSy9DLHVCR25LK0M7WUhtSy9DLG1CR25LK0M7SUhvSy9DLG9CR3BLK0MsRUFBQTtFWnNOakQ7SWF6TUosc0JEYnFELEVBQUE7RUhrS2pEO0lBQ0UsbUJHbksrQztJSG1LL0MscUJHbksrQztRSG1LL0MsaUJHbksrQztZSG1LL0MsYUduSytDO0lIb0svQyxjR3BLK0MsRUFBQTtFWnNOakQ7SWF6TUosc0JEYnFELEVBQUE7RUhrS2pEO0lBQ0UsbUJHbksrQztJSG1LL0MsMkJHbksrQztRSG1LL0MsdUJHbksrQztZSG1LL0MsbUJHbksrQztJSG9LL0Msb0JHcEsrQyxFQUFBO0Vac05qRDtJYXpNSixnQkRicUQsRUFBQTtFSGtLakQ7SUFDRSxtQkduSytDO0lIbUsvQywyQkduSytDO1FIbUsvQyx1QkduSytDO1lIbUsvQyxtQkduSytDO0lIb0svQyxvQkdwSytDLEVBQUE7RVpzTmpEO0lhek1KLHNCRGJxRCxFQUFBO0VIa0tqRDtJQUNFLG1CR25LK0M7SUhtSy9DLHFCR25LK0M7UUhtSy9DLGlCR25LK0M7WUhtSy9DLGFHbksrQztJSG9LL0MsY0dwSytDLEVBQUE7RVpzTmpEO0lhek1KLHNCRGJxRCxFQUFBO0VIa0tqRDtJQUNFLG1CR25LK0M7SUhtSy9DLDJCR25LK0M7UUhtSy9DLHVCR25LK0M7WUhtSy9DLG1CR25LK0M7SUhvSy9DLG9CR3BLK0MsRUFBQTtFWnNOakQ7SWF6TUosZ0JEYnFELEVBQUE7RUhrS2pEO0lBQ0UsbUJHbksrQztJSG1LL0MsMkJHbksrQztRSG1LL0MsdUJHbksrQztZSG1LL0MsbUJHbksrQztJSG9LL0Msb0JHcEsrQyxFQUFBO0Vac05qRDtJYXpNSixzQkRicUQsRUFBQTtFSGtLakQ7SUFDRSxtQkduSytDO0lIbUsvQyxzQkduSytDO1FIbUsvQyxrQkduSytDO1lIbUsvQyxjR25LK0M7SUhvSy9DLGVHcEsrQyxFQUFBO0Vac05qRDtJYXpNSixzQkRicUQsRUFBQTtFSGlMakQ7SUExR0osdUJBQWU7UUFBZixtQkFBZTtZQUFmLGVBQWUsRUFBQTtJQUVmO01BR0UsbUJBRnNCO01BRXRCLHNCQUZzQjtVQUV0QixrQkFGc0I7Y0FFdEIsY0FGc0I7TUFHdEIsZUFIc0IsRUFBQTtFQXVHcEI7SUExR0osdUJBQWU7UUFBZixtQkFBZTtZQUFmLGVBQWUsRUFBQTtJQUVmO01BR0UsbUJBRnNCO01BRXRCLHFCQUZzQjtVQUV0QixpQkFGc0I7Y0FFdEIsYUFGc0I7TUFHdEIsY0FIc0IsRUFBQTtFQXVHcEI7SUExR0osdUJBQWU7UUFBZixtQkFBZTtZQUFmLGVBQWUsRUFBQTtJQUVmO01BR0UsbUJBRnNCO01BRXRCLDJCQUZzQjtVQUV0Qix1QkFGc0I7Y0FFdEIsbUJBRnNCO01BR3RCLG9CQUhzQixFQUFBO0VBdUdwQjtJQTFHSix1QkFBZTtRQUFmLG1CQUFlO1lBQWYsZUFBZSxFQUFBO0lBRWY7TUFHRSxtQkFGc0I7TUFFdEIscUJBRnNCO1VBRXRCLGlCQUZzQjtjQUV0QixhQUZzQjtNQUd0QixjQUhzQixFQUFBO0VBdUdwQjtJQTFHSix1QkFBZTtRQUFmLG1CQUFlO1lBQWYsZUFBZSxFQUFBO0lBRWY7TUFHRSxtQkFGc0I7TUFFdEIscUJBRnNCO1VBRXRCLGlCQUZzQjtjQUV0QixhQUZzQjtNQUd0QixjQUhzQixFQUFBO0VBdUdwQjtJQTFHSix1QkFBZTtRQUFmLG1CQUFlO1lBQWYsZUFBZSxFQUFBO0lBRWY7TUFHRSxtQkFGc0I7TUFFdEIsMkJBRnNCO1VBRXRCLHVCQUZzQjtjQUV0QixtQkFGc0I7TUFHdEIsb0JBSHNCLEVBQUE7RUF1R3BCO0lBMUdKLHVCQUFlO1FBQWYsbUJBQWU7WUFBZixlQUFlLEVBQUE7SUFFZjtNQUdFLG1CQUZzQjtNQUV0QiwyQkFGc0I7VUFFdEIsdUJBRnNCO2NBRXRCLG1CQUZzQjtNQUd0QixvQkFIc0IsRUFBQTtFQXVHcEI7SUExR0osdUJBQWU7UUFBZixtQkFBZTtZQUFmLGVBQWUsRUFBQTtJQUVmO01BR0UsbUJBRnNCO01BRXRCLHVCQUZzQjtVQUV0QixtQkFGc0I7Y0FFdEIsZUFGc0I7TUFHdEIsZ0JBSHNCLEVBQUEsRUFJdkI7O0FYd0RHO0VXbURFO0lBQ0UsbUJBNUpNO0lBNEpOLHFCQTVKTTtRQTRKTixpQkE1Sk07WUE0Sk4sYUE1Sk0sRUFBQSxFQTZKUDs7QUFLRDtFQUVJLG1CQUEyQjtFQUEzQixzQkFBMkI7TUFBM0Isa0JBQTJCO1VBQTNCLGNBQTJCLEVBQUE7RVg1RGpDO0lXMERFO01BS00sbUJBdktFO01BdUtGLHFCQXZLRTtVQXVLRixpQkF2S0U7Y0F1S0YsYUF2S0UsRUFBQSxFQXlLTDs7QVhqRUw7RVd1RUY7SUVwTkEsZ0JSdUVTO0lRdEVULGVSc0VTLEVBQUE7RU1pSlQ7SUV4TkEseUJBRnFDO0lBR3JDLHdCQUhxQyxFQUFBLEVGMk5nQjs7QVg1RW5EO0VXNEJBO0lBQ0UsbUJHbksrQztJSG1LL0MsMEJHbksrQztRSG1LL0Msc0JHbksrQztZSG1LL0Msa0JHbksrQztJSG9LL0MsbUJHcEsrQyxFQUFBO0Vac05qRDtJYXpNSixlRGhCZ0MsRUFBQTtFSHFLNUI7SUFDRSxtQkduSytDO0lIbUsvQywyQkduSytDO1FIbUsvQyx1QkduSytDO1lIbUsvQyxtQkduSytDO0lIb0svQyxvQkdwSytDLEVBQUE7RVpzTmpEO0lhek1KLHFCRGJxRCxFQUFBO0VIa0tqRDtJQUNFLG1CR25LK0M7SUhtSy9DLHFCR25LK0M7UUhtSy9DLGlCR25LK0M7WUhtSy9DLGFHbksrQztJSG9LL0MsY0dwSytDLEVBQUE7RVpzTmpEO0lhek1KLHNCRGJxRCxFQUFBO0VIa0tqRDtJQUNFLG1CR25LK0M7SUhtSy9DLDJCR25LK0M7UUhtSy9DLHVCR25LK0M7WUhtSy9DLG1CR25LK0M7SUhvSy9DLG9CR3BLK0MsRUFBQTtFWnNOakQ7SWF6TUosZ0JEYnFELEVBQUE7RUhrS2pEO0lBQ0UsbUJHbksrQztJSG1LL0MsMkJHbksrQztRSG1LL0MsdUJHbksrQztZSG1LL0MsbUJHbksrQztJSG9LL0Msb0JHcEsrQyxFQUFBO0Vac05qRDtJYXpNSixzQkRicUQsRUFBQTtFSGtLakQ7SUFDRSxtQkduSytDO0lIbUsvQyxxQkduSytDO1FIbUsvQyxpQkduSytDO1lIbUsvQyxhR25LK0M7SUhvSy9DLGNHcEsrQyxFQUFBO0Vac05qRDtJYXpNSixzQkRicUQsRUFBQTtFSGtLakQ7SUFDRSxtQkduSytDO0lIbUsvQywyQkduSytDO1FIbUsvQyx1QkduSytDO1lIbUsvQyxtQkduSytDO0lIb0svQyxvQkdwSytDLEVBQUE7RVpzTmpEO0lhek1KLGdCRGJxRCxFQUFBO0VIa0tqRDtJQUNFLG1CR25LK0M7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M0JGLDBCQXhEZ0I7TUF3RGhCLDJCQXhEZ0I7VUF3RGhCLGtCQXhEZ0IsRUFBQTs7QUQrRWQ7RUN2Q0YsMEJBdkNrQjtFQXVDbEIsNEJBdkNrQjtNQXVDbEIsdUJBdkNrQjtVQXVDbEIsb0JBdkNrQixFQUFBOztBRGtGaEI7RUMzQkYsMkJBdkRrQjtNQXVEbEIsNEJBdkRrQjtVQXVEbEIsbUJBdkRrQixFQUFBOztBRHdGbEI7RUNsREEsd0JBL0NnQjtFQStDaEIsK0JBL0NnQjtNQStDaEIscUJBL0NnQjtVQStDaEIsdUJBL0NnQjtFQWdEaEIseUJBeENnQjtFQXdDaEIsMkJBeENnQjtNQXdDaEIsc0JBeENnQjtVQXdDaEIsbUJBeENnQjtFRDJGZCw2QkFBcUI7TUFBckIsMEJBQXFCO1VBQXJCLHFCQUFxQixFQUFBOztBQU1uQjtFQ25DSiw0QkRrQ2dCO0VDbENoQixnQkRrQ2dCO01DbENoQixpQkRrQ2dCO1VDbENoQixRRGtDZ0IsRUFBQTs7QUFDWjtFQ25DSiw0QkRrQ2dCO0VDbENoQixnQkRrQ2dCO01DbENoQixpQkRrQ2dCO1VDbENoQixRRGtDZ0IsRUFBQTs7QUFDWjtFQ25DSiw0QkRrQ2dCO0VDbENoQixnQkRrQ2dCO01DbENoQixpQkRrQ2dCO1VDbENoQixRRGtDZ0IsRUFBQTs7QUFDWjtFQ25DSiw0QkRrQ2dCO0VDbENoQixnQkRrQ2dCO01DbENoQixpQkRrQ2dCO1VDbENoQixRRGtDZ0IsRUFBQTs7QUFDWjtFQ25DSiw0QkRrQ2dCO0VDbENoQixnQkRrQ2dCO01DbENoQixpQkRrQ2dCO1VDbENoQixRRGtDZ0IsRUFBQTs7QUFDWjtFQ25DSiw0QkRrQ2dCO0VDbENoQixnQkRrQ2dCO01DbENoQixpQkRrQ2dCO1VDbENoQixRRGtDZ0IsRUFBQTs7QWhCd0RaO0VnQnZEQTtJQ25DSiw0QkRrQ2dCO0lDbENoQixnQkRrQ2dCO1FDbENoQixpQkRrQ2dCO1lDbENoQixRRGtDZ0IsRUFBQTtFQUNaO0lDbkNKLDRCRGtDZ0I7SUNsQ2hCLGdCRGtDZ0I7UUNsQ2hCLGlCRGtDZ0I7WUNsQ2hCLFFEa0NnQixFQUFBO0VBQ1o7SUNuQ0osNEJEa0NnQjtJQ2xDaEIsZ0JEa0NnQjtRQ2xDaEIsaUJEa0NnQjtZQ2xDaEIsUURrQ2dCLEVBQUE7RUFDWjtJQ25DSiw0QkRrQ2dCO0lDbENoQixnQkRrQ2dCO1FDbENoQixpQkRrQ2dCO1lDbENoQixRRGtDZ0IsRUFBQTtFQUNaO0lDbkNKLDRCRGtDZ0I7SUNsQ2hCLGdCRGtDZ0I7UUNsQ2hCLGlCRGtDZ0I7WUNsQ2hCLFFEa0NnQixFQUFBO0VBQ1o7SUNuQ0osNEJEa0NnQjtJQ2xDaEIsZ0JEa0NnQjtRQ2xDaEIsaUJEa0NnQjtZQ2xDaEIsUURrQ2dCLEVBQUEsRUFHWDs7QWhCcUREO0VnQnZEQTtJQ25DSiw0QkRrQ2dCO0lDbENoQixnQkRrQ2dCO1FDbENoQixpQkRrQ2dCO1lDbENoQixRRGtDZ0IsRUFBQTtFQUNaO0lDbkNKLDRCRGtDZ0I7SUNsQ2hCLGdCRGtDZ0I7UUNsQ2hCLGlCRGtDZ0I7WUNsQ2hCLFFEa0NnQixFQUFBO0VBQ1o7SUNuQ0osNEJEa0NnQjtJQ2xDaEIsZ0JEa0NnQjtRQ2xDaEIsaUJEa0NnQjtZQ2xDaEIsUURrQ2dCLEVBQUE7RUFDWjtJQ25DSiw0QkRrQ2dCO0lDbENoQixnQkRrQ2dCO1FDbENoQixpQkRrQ2dCO1lDbENoQixRRGtDZ0IsRUFBQTtFQUNaO0lDbkNKLDRCRGtDZ0I7SUNsQ2hCLGdCRGtDZ0I7UUNsQ2hCLGlCRGtDZ0I7WUNsQ2hCLFFEa0NnQixFQUFBO0VBQ1o7SUNuQ0osNEJEa0NnQjtJQ2xDaEIsZ0JEa0NnQjtRQ2xDaEIsaUJEa0NnQjtZQ2xDaEIsUURrQ2dCLEVBQUEsRUFHWDs7QUE3Rkw7RUNPQSxvQkFBYTtFQUFiLHFCQUFhO0VBQWIsb0JBQWE7RUFBYixhQUFhLEVBQUE7O0FESGI7RUFDRSxtQkFBYztFQUFkLHNCQUFjO01BQWQsa0JBQWM7VUFBZCxjQUFjLEVBQUE7O0FBR2hCO0VBQ0UsbUJBQWM7RUFBZCxzQkFBYztNQUFkLGtCQUFjO1VBQWQsY0FBYyxFQUFBOztBQUdoQjtFQUNFLG1CQUFjO0VBQWQsc0JBQWM7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QjtFVWpEbkIsa0JWOERpQjtFVTdEakIseUJWbURhO0VVakRiLG9CVitZeUI7RVU5WXpCLGUxQnVEdUQ7RTBCdER2RCxtQlZ1RDJCO0VVdEQzQixnQlZrQ3FCO0VVakNyQixjVjRDYTtFRnNFYix3T0FBeU47RVk5R3ZOLDhCQUE4QjtFQUM5Qix1Q0FBMEQ7RUFDMUQsNEJBQTRCO0VBQzVCLHdCQUF3QjtFQUV4QixxQkFBdUQ7RUFJdkQsMkVWMlk4RDtFVTNZOUQsbUVWMlk4RDtFVTNZOUQsMkRWMlk4RDtFVTNZOUQsb0ZWMlk4RCxFQUFBO0VGcFNoRTtJWXRFQTtNWnlFSSx1V0FBdVcsRUFBQSxFWXZFMVc7RUEvQkQ7SUFDRSxhQUFhO0lBQ2IseUJWd0JlO0lVdkJmLHlCVnlCVztJVXhCWCxtQ1ZxQmlCO1lVckJqQiwyQlZxQmlCO0lVbEJmLDJFVmdZNEQ7SVVoWTVELG1FVmdZNEQ7SVVoWTVELDJEVmdZNEQ7SVVoWTVELG9GVmdZNEQsRUFBQTtFVTNYaEU7SUFDRSx5QlZXZ0I7SVVWaEIsbUJWd1grQixFQUFBO0VVcFhqQztJQUNFLGFBQWEsRUFBQTtFQUdmO0lBQ0UsWUFBWTtJQUNaLHNCQUFzQixFQUFBOztBQ2pDeEI7RUFDRSxxQlhvQ1c7RVduQ1gseUJBQStELEVBQUE7RUFDL0Q7SUFDRSxjWGlDUyxFQUFBO0VXbENYO0lBQ0UsY1hpQ1MsRUFBQTtFV2xDWDtJQUNFLGNYaUNTLEVBQUE7RVdsQ1g7SUFDRSxjWGlDUyxFQUFBO0VXbENYO0lBQ0UsY1hpQ1MsRUFBQTs7QVdQWDtFQUNFLGNYQVUsRUFBQTs7QVdLZDtFQXpCQSxhQUFhO0VBQ2IsbUJBQWdDO0VBQ2hDLG1CM0IrQnVEO0UyQjdCdkQsa0IzQjZCdUQ7RTJCNUJ2RCxpQlg4QnVCO0VXN0J2QixjWGNjLEVBQUE7RVdLZDtJQUlJLGNBQWMsRUFBQTs7QUNyQ2xCOztFQW5CQSxrQkFBa0I7RUFDbEIsU0FBUztFQUNULG1CNUIwRHVEO0U0QnpEdkQsbUJDdUNzQjtFRHRDdEIsZ0JBQWdCLEVBQUE7RUFFaEI7Ozs7Ozs7O0lBSUUsa0JBQWtC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O0ErRDl4TkY7RUFDQyw0Q0FBb0M7RUFBcEMsb0NBQW9DLEVBQUE7O0FDTHJDOztFaEV3eU5FO0FnRXB5TkY7RUFHSSxVQUFVO0VBQ1Ysc0NBQThCO0VBQTlCLDhCQUE4QixFQUFBOztBQUpsQztFQVFHLG9DQUE0QjtVQUE1Qiw0QkFBNEIsRUFBQTs7QUNWL0I7O0VqRWd6TkU7QWlFNXlORjtFQUVFLGtCQUFrQjtFQUNsQixZQUFZO0VBQ1osbUI3QkRhLEVBQUE7O0E2QkhmO0VBUUUsa0JBQWtCO0VBQ2xCLFlBQVk7RUFDWixXQUFXO0VBQ1gsU0FBUztFQUNULFFBQVE7RUFDUixrQkFBa0I7RUFDbEIsaUJBQWlCO0VBQ2pCLCtDQUFpRTtFQUNqRSxlQUFlO0VBQ2YsVUFBVTtFQUNWLG1DQUFtQztFQUNuQyxnREFBZ0M7RUFBaEMsd0NBQWdDO0VBQWhDLGdDQUFnQztFQUFoQyw4REFBZ0MsRUFBQTs7QUFuQmxDO0VBdUJFLGtDQUEwQjtNQUExQiw4QkFBMEI7VUFBMUIsMEJBQTBCLEVBQUE7O0FBdkI1Qjs7RUE0QkUsYUFBYSxFQUFBOztBQTVCZjtFQWdDRSxVQUFVO0VBQ1YsWUFBWTtFQUNaLGtDQUFrQztFQUNsQyw0QkFBNEI7RUFDNUIsd0JBQXdCO0VBQ3hCLHNDQUE4QjtFQUE5Qiw4QkFBOEIsRUFBQTs7QUFyQ2hDO0VBeUNFLGtCQUFrQjtFQUNsQixVQUFVO0VBQ1YsWUFBWTtFQUNaLFdBQVcsRUFBQSIsImZpbGUiOiJhcHAuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4gKiBWZXJzaW9uIDYuNC4zXG4gKiBmb3VuZGF0aW9uLnp1cmIuY29tXG4gKiBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcbiAqL1xuXG4vLyBEZXBlbmRlbmNpZXNcbkBpbXBvcnQgJy4uL192ZW5kb3Ivbm9ybWFsaXplLXNjc3Mvc2Fzcy9ub3JtYWxpemUnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9oZWxwZXJzL21pc3NpbmctZGVwZW5kZW5jaWVzJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvaGVscGVycy90cnVlJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL2NvbnRhaW4nO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvcHVyZ2UnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvcmVtb3ZlJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL3JlcGxhY2UnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvdG8tbGlzdCc7XG5cbi8vIFNldHRpbmdzXG4vLyBpbXBvcnQgeW91ciBvd24gYHNldHRpbmdzYCBoZXJlIG9yXG4vLyBpbXBvcnQgYW5kIG1vZGlmeSB0aGUgZGVmYXVsdCBzZXR0aW5ncyB0aHJvdWdoXG4vLyBAaW1wb3J0ICdzZXR0aW5ncy9zZXR0aW5ncyc7XG5cbi8vIFNhc3MgdXRpbGl0aWVzXG5AaW1wb3J0ICd1dGlsL3V0aWwnO1xuXG4vLyBHbG9iYWwgdmFyaWFibGVzIGFuZCBzdHlsZXNcbkBpbXBvcnQgJ2dsb2JhbCc7XG5cbi8vIENvbXBvbmVudHNcbkBpbXBvcnQgJ2dyaWQvZ3JpZCc7XG5AaW1wb3J0ICd4eS1ncmlkL3h5LWdyaWQnO1xuQGltcG9ydCAndHlwb2dyYXBoeS90eXBvZ3JhcGh5JztcbkBpbXBvcnQgJ2Zvcm1zL2Zvcm1zJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdmlzaWJpbGl0eSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Zsb2F0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnV0dG9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnV0dG9uLWdyb3VwJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYWNjb3JkaW9uLW1lbnUnO1xuQGltcG9ydCAnY29tcG9uZW50cy9hY2NvcmRpb24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9iYWRnZSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2JyZWFkY3J1bWJzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY2FsbG91dCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2NhcmQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9jbG9zZS1idXR0b24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9kcmlsbGRvd24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9kcm9wZG93bi1tZW51JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZHJvcGRvd24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9mbGV4JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcmVzcG9uc2l2ZS1lbWJlZCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2xhYmVsJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbWVkaWEtb2JqZWN0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbWVudSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL21lbnUtaWNvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL29mZi1jYW52YXMnO1xuQGltcG9ydCAnY29tcG9uZW50cy9vcmJpdCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3BhZ2luYXRpb24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9wcm9ncmVzcy1iYXInO1xuQGltcG9ydCAnY29tcG9uZW50cy9yZXZlYWwnO1xuQGltcG9ydCAnY29tcG9uZW50cy9zbGlkZXInO1xuQGltcG9ydCAnY29tcG9uZW50cy9zdGlja3knO1xuQGltcG9ydCAnY29tcG9uZW50cy9zd2l0Y2gnO1xuQGltcG9ydCAnY29tcG9uZW50cy90YWJsZSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RhYnMnO1xuQGltcG9ydCAnY29tcG9uZW50cy90aXRsZS1iYXInO1xuQGltcG9ydCAnY29tcG9uZW50cy90b3AtYmFyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGh1bWJuYWlsJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdG9vbHRpcCc7XG5AaW1wb3J0ICdwcm90b3R5cGUvcHJvdG90eXBlJztcblxuQG1peGluIGZvdW5kYXRpb24tZXZlcnl0aGluZyhcbiAgJGZsZXg6IHRydWUsXG4gICRwcm90b3R5cGU6IGZhbHNlXG4pIHtcbiAgQGlmICRmbGV4IHtcbiAgICAkZ2xvYmFsLWZsZXhib3g6IHRydWUgIWdsb2JhbDtcbiAgfVxuXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZ2xvYmFsLXN0eWxlcztcbiAgQGlmIG5vdCAkZmxleCB7XG4gICAgQGluY2x1ZGUgZm91bmRhdGlvbi1ncmlkO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAaWYgJHh5LWdyaWQge1xuICAgICAgQGluY2x1ZGUgZm91bmRhdGlvbi14eS1ncmlkLWNsYXNzZXM7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBpbmNsdWRlIGZvdW5kYXRpb24tZmxleC1ncmlkO1xuICAgIH1cbiAgfVxuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXR5cG9ncmFwaHk7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZm9ybXM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYnV0dG9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWFjY29yZGlvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1hY2NvcmRpb24tbWVudTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1iYWRnZTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1icmVhZGNydW1icztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1idXR0b24tZ3JvdXA7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tY2FsbG91dDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1jYXJkO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWNsb3NlLWJ1dHRvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lbnUtaWNvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1kcmlsbGRvd24tbWVudTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1kcm9wZG93bjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1kcm9wZG93bi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXJlc3BvbnNpdmUtZW1iZWQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbGFiZWw7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbWVkaWEtb2JqZWN0O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW9mZi1jYW52YXM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tb3JiaXQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcGFnaW5hdGlvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1wcm9ncmVzcy1iYXI7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tc2xpZGVyO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXN0aWNreTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1yZXZlYWw7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tc3dpdGNoO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRhYmxlO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRhYnM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGh1bWJuYWlsO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRpdGxlLWJhcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10b29sdGlwO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRvcC1iYXI7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdmlzaWJpbGl0eS1jbGFzc2VzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsb2F0LWNsYXNzZXM7XG5cbiAgQGlmICRmbGV4IHtcbiAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsZXgtY2xhc3NlcztcbiAgfVxuXG4gIEBpZiAkcHJvdG90eXBlIHtcbiAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb3RvdHlwZS1jbGFzc2VzO1xuICB9XG59XG4iLCIvKipcbiAqIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbiAqIFZlcnNpb24gNi40LjNcbiAqIGZvdW5kYXRpb24uenVyYi5jb21cbiAqIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuICovXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAucmV2ZWFsLCAucmV2ZWFsLnRpbnksIC5yZXZlYWwuc21hbGwsIC5yZXZlYWwubGFyZ2Uge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IGF1dG87XG4gICAgbWFyZ2luOiAwIGF1dG87IH0gfVxuXG4uZ3JpZC1jb250YWluZXIge1xuICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtO1xuICBtYXgtd2lkdGg6IDU1LjYyNXJlbTtcbiAgbWFyZ2luOiAwIGF1dG87IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1jb250YWluZXIge1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAuZ3JpZC1jb250YWluZXIuZmx1aWQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAwIGF1dG87IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmdyaWQtY29udGFpbmVyLmZsdWlkIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gIC5ncmlkLWNvbnRhaW5lci5mdWxsIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAwIGF1dG87IH1cblxuLmdyaWQteCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7IH1cblxuLmNlbGwge1xuICBmbGV4OiAwIDAgYXV0bztcbiAgbWluLWhlaWdodDogMHB4O1xuICBtaW4td2lkdGg6IDBweDtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLmNlbGwuYXV0byB7XG4gICAgZmxleDogMSAxIDBweDsgfVxuICAuY2VsbC5zaHJpbmsge1xuICAgIGZsZXg6IDAgMCBhdXRvOyB9XG5cbi5ncmlkLXggPiAuYXV0byB7XG4gIHdpZHRoOiBhdXRvOyB9XG5cbi5ncmlkLXggPiAuc2hyaW5rIHtcbiAgd2lkdGg6IGF1dG87IH1cblxuLmdyaWQteCA+IC5zbWFsbC1zaHJpbmssIC5ncmlkLXggPiAuc21hbGwtZnVsbCwgLmdyaWQteCA+IC5zbWFsbC0xLCAuZ3JpZC14ID4gLnNtYWxsLTIsIC5ncmlkLXggPiAuc21hbGwtMywgLmdyaWQteCA+IC5zbWFsbC00LCAuZ3JpZC14ID4gLnNtYWxsLTUsIC5ncmlkLXggPiAuc21hbGwtNiwgLmdyaWQteCA+IC5zbWFsbC03LCAuZ3JpZC14ID4gLnNtYWxsLTgsIC5ncmlkLXggPiAuc21hbGwtOSwgLmdyaWQteCA+IC5zbWFsbC0xMCwgLmdyaWQteCA+IC5zbWFsbC0xMSwgLmdyaWQteCA+IC5zbWFsbC0xMiB7XG4gIGZsZXgtYmFzaXM6IGF1dG87IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmdyaWQteCA+IC5tZWRpdW0tc2hyaW5rLCAuZ3JpZC14ID4gLm1lZGl1bS1mdWxsLCAuZ3JpZC14ID4gLm1lZGl1bS0xLCAuZ3JpZC14ID4gLm1lZGl1bS0yLCAuZ3JpZC14ID4gLm1lZGl1bS0zLCAuZ3JpZC14ID4gLm1lZGl1bS00LCAuZ3JpZC14ID4gLm1lZGl1bS01LCAuZ3JpZC14ID4gLm1lZGl1bS02LCAuZ3JpZC14ID4gLm1lZGl1bS03LCAuZ3JpZC14ID4gLm1lZGl1bS04LCAuZ3JpZC14ID4gLm1lZGl1bS05LCAuZ3JpZC14ID4gLm1lZGl1bS0xMCwgLmdyaWQteCA+IC5tZWRpdW0tMTEsIC5ncmlkLXggPiAubWVkaXVtLTEyIHtcbiAgICBmbGV4LWJhc2lzOiBhdXRvOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmdyaWQteCA+IC5sYXJnZS1zaHJpbmssIC5ncmlkLXggPiAubGFyZ2UtZnVsbCwgLmdyaWQteCA+IC5sYXJnZS0xLCAuZ3JpZC14ID4gLmxhcmdlLTIsIC5ncmlkLXggPiAubGFyZ2UtMywgLmdyaWQteCA+IC5sYXJnZS00LCAuZ3JpZC14ID4gLmxhcmdlLTUsIC5ncmlkLXggPiAubGFyZ2UtNiwgLmdyaWQteCA+IC5sYXJnZS03LCAuZ3JpZC14ID4gLmxhcmdlLTgsIC5ncmlkLXggPiAubGFyZ2UtOSwgLmdyaWQteCA+IC5sYXJnZS0xMCwgLmdyaWQteCA+IC5sYXJnZS0xMSwgLmdyaWQteCA+IC5sYXJnZS0xMiB7XG4gICAgZmxleC1iYXNpczogYXV0bzsgfSB9XG5cbi5ncmlkLXggPiAuc21hbGwtMSB7XG4gIHdpZHRoOiA4LjMzMzMzJTsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTIge1xuICB3aWR0aDogMTYuNjY2NjclOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtMyB7XG4gIHdpZHRoOiAyNSU7IH1cblxuLmdyaWQteCA+IC5zbWFsbC00IHtcbiAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTUge1xuICB3aWR0aDogNDEuNjY2NjclOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtNiB7XG4gIHdpZHRoOiA1MCU7IH1cblxuLmdyaWQteCA+IC5zbWFsbC03IHtcbiAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTgge1xuICB3aWR0aDogNjYuNjY2NjclOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtOSB7XG4gIHdpZHRoOiA3NSU7IH1cblxuLmdyaWQteCA+IC5zbWFsbC0xMCB7XG4gIHdpZHRoOiA4My4zMzMzMyU7IH1cblxuLmdyaWQteCA+IC5zbWFsbC0xMSB7XG4gIHdpZHRoOiA5MS42NjY2NyU7IH1cblxuLmdyaWQteCA+IC5zbWFsbC0xMiB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5ncmlkLXggPiAubWVkaXVtLWF1dG8ge1xuICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tc2hyaW5rIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogYXV0bzsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5ncmlkLXggPiAubGFyZ2UtYXV0byB7XG4gICAgZmxleDogMSAxIDBweDtcbiAgICB3aWR0aDogYXV0bzsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLXNocmluayB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLmdyaWQteCA+IC5sYXJnZS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLmdyaWQteCA+IC5sYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLmdyaWQteCA+IC5sYXJnZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLmdyaWQteCA+IC5sYXJnZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLmdyaWQteCA+IC5sYXJnZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG4uZ3JpZC1tYXJnaW4teDpub3QoLmdyaWQteCkgPiAuY2VsbCB7XG4gIHdpZHRoOiBhdXRvOyB9XG5cbi5ncmlkLW1hcmdpbi15Om5vdCguZ3JpZC15KSA+IC5jZWxsIHtcbiAgaGVpZ2h0OiBhdXRvOyB9XG5cbi5ncmlkLW1hcmdpbi14IHtcbiAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07XG4gIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLW1hcmdpbi14IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMC45Mzc1cmVtOyB9IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTtcbiAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuY2VsbCB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gMS44NzVyZW0pO1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtOyB9IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuYXV0byB7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc2hyaW5rIHtcbiAgICB3aWR0aDogYXV0bzsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0xIHtcbiAgICB3aWR0aDogY2FsYyg4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0yIHtcbiAgICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMyB7XG4gICAgd2lkdGg6IGNhbGMoMjUlIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTQge1xuICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC01IHtcbiAgICB3aWR0aDogY2FsYyg0MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNiB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTcge1xuICAgIHdpZHRoOiBjYWxjKDU4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC04IHtcbiAgICB3aWR0aDogY2FsYyg2Ni42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtOSB7XG4gICAgd2lkdGg6IGNhbGMoNzUlIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTEwIHtcbiAgICB3aWR0aDogY2FsYyg4My4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMTEge1xuICAgIHdpZHRoOiBjYWxjKDkxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0xMiB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLW1hcmdpbi14ID4gLmF1dG8ge1xuICAgICAgd2lkdGg6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zaHJpbmsge1xuICAgICAgd2lkdGg6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0xIHtcbiAgICAgIHdpZHRoOiBjYWxjKDguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMiB7XG4gICAgICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0zIHtcbiAgICAgIHdpZHRoOiBjYWxjKDI1JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTQge1xuICAgICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNSB7XG4gICAgICB3aWR0aDogY2FsYyg0MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC02IHtcbiAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTcge1xuICAgICAgd2lkdGg6IGNhbGMoNTguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtOCB7XG4gICAgICB3aWR0aDogY2FsYyg2Ni42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC05IHtcbiAgICAgIHdpZHRoOiBjYWxjKDc1JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTEwIHtcbiAgICAgIHdpZHRoOiBjYWxjKDgzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTExIHtcbiAgICAgIHdpZHRoOiBjYWxjKDkxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTEyIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tYXV0byB7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1zaHJpbmsge1xuICAgICAgd2lkdGg6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tMSB7XG4gICAgICB3aWR0aDogY2FsYyg4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS0yIHtcbiAgICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS0zIHtcbiAgICAgIHdpZHRoOiBjYWxjKDI1JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS00IHtcbiAgICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS01IHtcbiAgICAgIHdpZHRoOiBjYWxjKDQxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS02IHtcbiAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS03IHtcbiAgICAgIHdpZHRoOiBjYWxjKDU4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS04IHtcbiAgICAgIHdpZHRoOiBjYWxjKDY2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS05IHtcbiAgICAgIHdpZHRoOiBjYWxjKDc1JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS0xMCB7XG4gICAgICB3aWR0aDogY2FsYyg4My4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tMTEge1xuICAgICAgd2lkdGg6IGNhbGMoOTEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTEyIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLWF1dG8ge1xuICAgICAgd2lkdGg6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1zaHJpbmsge1xuICAgICAgd2lkdGg6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS0xIHtcbiAgICAgIHdpZHRoOiBjYWxjKDguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtMiB7XG4gICAgICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS0zIHtcbiAgICAgIHdpZHRoOiBjYWxjKDI1JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTQge1xuICAgICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtNSB7XG4gICAgICB3aWR0aDogY2FsYyg0MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS02IHtcbiAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTcge1xuICAgICAgd2lkdGg6IGNhbGMoNTguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtOCB7XG4gICAgICB3aWR0aDogY2FsYyg2Ni42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS05IHtcbiAgICAgIHdpZHRoOiBjYWxjKDc1JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTEwIHtcbiAgICAgIHdpZHRoOiBjYWxjKDgzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTExIHtcbiAgICAgIHdpZHRoOiBjYWxjKDkxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTEyIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7IH0gfVxuXG4uZ3JpZC1wYWRkaW5nLXggLmdyaWQtcGFkZGluZy14IHtcbiAgbWFyZ2luLXJpZ2h0OiAtMC45Mzc1cmVtO1xuICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLXBhZGRpbmcteCAuZ3JpZC1wYWRkaW5nLXgge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07IH0gfVxuXG4uZ3JpZC1jb250YWluZXI6bm90KC5mdWxsKSA+IC5ncmlkLXBhZGRpbmcteCB7XG4gIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTtcbiAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1jb250YWluZXI6bm90KC5mdWxsKSA+IC5ncmlkLXBhZGRpbmcteCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0wLjkzNzVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTsgfSB9XG5cbi5ncmlkLXBhZGRpbmcteCA+IC5jZWxsIHtcbiAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLXBhZGRpbmcteCA+IC5jZWxsIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cblxuLnNtYWxsLXVwLTEgPiAuY2VsbCB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5zbWFsbC11cC0yID4gLmNlbGwge1xuICB3aWR0aDogNTAlOyB9XG5cbi5zbWFsbC11cC0zID4gLmNlbGwge1xuICB3aWR0aDogMzMuMzMzMzMlOyB9XG5cbi5zbWFsbC11cC00ID4gLmNlbGwge1xuICB3aWR0aDogMjUlOyB9XG5cbi5zbWFsbC11cC01ID4gLmNlbGwge1xuICB3aWR0aDogMjAlOyB9XG5cbi5zbWFsbC11cC02ID4gLmNlbGwge1xuICB3aWR0aDogMTYuNjY2NjclOyB9XG5cbi5zbWFsbC11cC03ID4gLmNlbGwge1xuICB3aWR0aDogMTQuMjg1NzElOyB9XG5cbi5zbWFsbC11cC04ID4gLmNlbGwge1xuICB3aWR0aDogMTIuNSU7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS11cC0xID4gLmNlbGwge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5tZWRpdW0tdXAtMiA+IC5jZWxsIHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5tZWRpdW0tdXAtMyA+IC5jZWxsIHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tdXAtNCA+IC5jZWxsIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5tZWRpdW0tdXAtNSA+IC5jZWxsIHtcbiAgICB3aWR0aDogMjAlOyB9XG4gIC5tZWRpdW0tdXAtNiA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5tZWRpdW0tdXAtNyA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTQuMjg1NzElOyB9XG4gIC5tZWRpdW0tdXAtOCA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTIuNSU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2UtdXAtMSA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAubGFyZ2UtdXAtMiA+IC5jZWxsIHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5sYXJnZS11cC0zID4gLmNlbGwge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLmxhcmdlLXVwLTQgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAubGFyZ2UtdXAtNSA+IC5jZWxsIHtcbiAgICB3aWR0aDogMjAlOyB9XG4gIC5sYXJnZS11cC02ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLmxhcmdlLXVwLTcgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDE0LjI4NTcxJTsgfVxuICAubGFyZ2UtdXAtOCA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTIuNSU7IH0gfVxuXG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC0xID4gLmNlbGwge1xuICB3aWR0aDogY2FsYygxMDAlIC0gMS44NzVyZW0pOyB9XG5cbi5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTIgPiAuY2VsbCB7XG4gIHdpZHRoOiBjYWxjKDUwJSAtIDEuODc1cmVtKTsgfVxuXG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC0zID4gLmNlbGwge1xuICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cblxuLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNCA+IC5jZWxsIHtcbiAgd2lkdGg6IGNhbGMoMjUlIC0gMS44NzVyZW0pOyB9XG5cbi5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTUgPiAuY2VsbCB7XG4gIHdpZHRoOiBjYWxjKDIwJSAtIDEuODc1cmVtKTsgfVxuXG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC02ID4gLmNlbGwge1xuICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAxLjg3NXJlbSk7IH1cblxuLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNyA+IC5jZWxsIHtcbiAgd2lkdGg6IGNhbGMoMTQuMjg1NzElIC0gMS44NzVyZW0pOyB9XG5cbi5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTggPiAuY2VsbCB7XG4gIHdpZHRoOiBjYWxjKDEyLjUlIC0gMS44NzVyZW0pOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTEgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC0yID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC0zID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC00ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDI1JSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC01ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDIwJSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC02ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC03ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDE0LjI4NTcxJSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC04ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEyLjUlIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC0xID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTIgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC0zID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtNCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyNSUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTUgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMjAlIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC02ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtNyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNC4yODU3MSUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTggPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTIuNSUgLSAxLjg3NXJlbSk7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC0xID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtMiA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtMyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtNCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyNSUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtNSA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyMCUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtNiA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtNyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNC4yODU3MSUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtOCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMi41JSAtIDEuODc1cmVtKTsgfSB9XG5cbi5zbWFsbC1tYXJnaW4tY29sbGFwc2Uge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuY2VsbCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMSB7XG4gICAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0yIHtcbiAgICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0zIHtcbiAgICAgIHdpZHRoOiAyNSU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS00IHtcbiAgICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS01IHtcbiAgICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS02IHtcbiAgICAgIHdpZHRoOiA1MCU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS03IHtcbiAgICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS04IHtcbiAgICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS05IHtcbiAgICAgIHdpZHRoOiA3NSU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMCB7XG4gICAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTEge1xuICAgICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEyIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEge1xuICAgICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0yIHtcbiAgICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTMge1xuICAgICAgd2lkdGg6IDI1JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNCB7XG4gICAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS01IHtcbiAgICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTYge1xuICAgICAgd2lkdGg6IDUwJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNyB7XG4gICAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS04IHtcbiAgICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTkge1xuICAgICAgd2lkdGg6IDc1JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTAge1xuICAgICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTEge1xuICAgICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTIge1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuXG4uc21hbGwtcGFkZGluZy1jb2xsYXBzZSB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgLnNtYWxsLXBhZGRpbmctY29sbGFwc2UgPiAuY2VsbCB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2Uge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmNlbGwge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLXBhZGRpbmctY29sbGFwc2Uge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgIC5tZWRpdW0tcGFkZGluZy1jb2xsYXBzZSA+IC5jZWxsIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmNlbGwge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2UtcGFkZGluZy1jb2xsYXBzZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgLmxhcmdlLXBhZGRpbmctY29sbGFwc2UgPiAuY2VsbCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwOyB9IH1cblxuLnNtYWxsLW9mZnNldC0wIHtcbiAgbWFyZ2luLWxlZnQ6IDAlOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC0wIHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoMCUgKyAwLjkzNzVyZW0pOyB9XG5cbi5zbWFsbC1vZmZzZXQtMSB7XG4gIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtMSB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDguMzMzMzMlICsgMC45Mzc1cmVtKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTIge1xuICBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC0yIHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoMTYuNjY2NjclICsgMC45Mzc1cmVtKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTMge1xuICBtYXJnaW4tbGVmdDogMjUlOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC0zIHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoMjUlICsgMC45Mzc1cmVtKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTQge1xuICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC00IHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoMzMuMzMzMzMlICsgMC45Mzc1cmVtKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTUge1xuICBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC01IHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoNDEuNjY2NjclICsgMC45Mzc1cmVtKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTYge1xuICBtYXJnaW4tbGVmdDogNTAlOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC02IHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoNTAlICsgMC45Mzc1cmVtKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTcge1xuICBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC03IHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoNTguMzMzMzMlICsgMC45Mzc1cmVtKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTgge1xuICBtYXJnaW4tbGVmdDogNjYuNjY2NjclOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC04IHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoNjYuNjY2NjclICsgMC45Mzc1cmVtKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTkge1xuICBtYXJnaW4tbGVmdDogNzUlOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC05IHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoNzUlICsgMC45Mzc1cmVtKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTEwIHtcbiAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtMTAge1xuICBtYXJnaW4tbGVmdDogY2FsYyg4My4zMzMzMyUgKyAwLjkzNzVyZW0pOyB9XG5cbi5zbWFsbC1vZmZzZXQtMTEge1xuICBtYXJnaW4tbGVmdDogOTEuNjY2NjclOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC0xMSB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDkxLjY2NjY3JSArIDAuOTM3NXJlbSk7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMCUgKyAwLjkzNzVyZW0pOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDguMzMzMzMlICsgMC45Mzc1cmVtKTsgfVxuICAubWVkaXVtLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMTYuNjY2NjclICsgMC45Mzc1cmVtKTsgfVxuICAubWVkaXVtLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogMjUlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMjUlICsgMC45Mzc1cmVtKTsgfVxuICAubWVkaXVtLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMzMuMzMzMzMlICsgMC45Mzc1cmVtKTsgfVxuICAubWVkaXVtLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNDEuNjY2NjclICsgMC45Mzc1cmVtKTsgfVxuICAubWVkaXVtLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogNTAlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNTAlICsgMC45Mzc1cmVtKTsgfVxuICAubWVkaXVtLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNTguMzMzMzMlICsgMC45Mzc1cmVtKTsgfVxuICAubWVkaXVtLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogNjYuNjY2NjclOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNjYuNjY2NjclICsgMC45Mzc1cmVtKTsgfVxuICAubWVkaXVtLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogNzUlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNzUlICsgMC45Mzc1cmVtKTsgfVxuICAubWVkaXVtLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg4My4zMzMzMyUgKyAwLjkzNzVyZW0pOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjclOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDkxLjY2NjY3JSArIDAuOTM3NXJlbSk7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2Utb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMCUgKyAwLjkzNzVyZW0pOyB9XG4gIC5sYXJnZS1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg4LjMzMzMzJSArIDAuOTM3NXJlbSk7IH1cbiAgLmxhcmdlLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygxNi42NjY2NyUgKyAwLjkzNzVyZW0pOyB9XG4gIC5sYXJnZS1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMjUlICsgMC45Mzc1cmVtKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDMzLjMzMzMzJSArIDAuOTM3NXJlbSk7IH1cbiAgLmxhcmdlLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg0MS42NjY2NyUgKyAwLjkzNzVyZW0pOyB9XG4gIC5sYXJnZS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNTAlICsgMC45Mzc1cmVtKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDU4LjMzMzMzJSArIDAuOTM3NXJlbSk7IH1cbiAgLmxhcmdlLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogNjYuNjY2NjclOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg2Ni42NjY2NyUgKyAwLjkzNzVyZW0pOyB9XG4gIC5sYXJnZS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNzUlICsgMC45Mzc1cmVtKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoODMuMzMzMzMlICsgMC45Mzc1cmVtKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjclOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoOTEuNjY2NjclICsgMC45Mzc1cmVtKTsgfSB9XG5cbi5ncmlkLXkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7IH1cbiAgLmdyaWQteSA+IC5jZWxsIHtcbiAgICB3aWR0aDogYXV0bzsgfVxuICAuZ3JpZC15ID4gLmF1dG8ge1xuICAgIGhlaWdodDogYXV0bzsgfVxuICAuZ3JpZC15ID4gLnNocmluayB7XG4gICAgaGVpZ2h0OiBhdXRvOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtc2hyaW5rLCAuZ3JpZC15ID4gLnNtYWxsLWZ1bGwsIC5ncmlkLXkgPiAuc21hbGwtMSwgLmdyaWQteSA+IC5zbWFsbC0yLCAuZ3JpZC15ID4gLnNtYWxsLTMsIC5ncmlkLXkgPiAuc21hbGwtNCwgLmdyaWQteSA+IC5zbWFsbC01LCAuZ3JpZC15ID4gLnNtYWxsLTYsIC5ncmlkLXkgPiAuc21hbGwtNywgLmdyaWQteSA+IC5zbWFsbC04LCAuZ3JpZC15ID4gLnNtYWxsLTksIC5ncmlkLXkgPiAuc21hbGwtMTAsIC5ncmlkLXkgPiAuc21hbGwtMTEsIC5ncmlkLXkgPiAuc21hbGwtMTIge1xuICAgIGZsZXgtYmFzaXM6IGF1dG87IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC15ID4gLm1lZGl1bS1zaHJpbmssIC5ncmlkLXkgPiAubWVkaXVtLWZ1bGwsIC5ncmlkLXkgPiAubWVkaXVtLTEsIC5ncmlkLXkgPiAubWVkaXVtLTIsIC5ncmlkLXkgPiAubWVkaXVtLTMsIC5ncmlkLXkgPiAubWVkaXVtLTQsIC5ncmlkLXkgPiAubWVkaXVtLTUsIC5ncmlkLXkgPiAubWVkaXVtLTYsIC5ncmlkLXkgPiAubWVkaXVtLTcsIC5ncmlkLXkgPiAubWVkaXVtLTgsIC5ncmlkLXkgPiAubWVkaXVtLTksIC5ncmlkLXkgPiAubWVkaXVtLTEwLCAuZ3JpZC15ID4gLm1lZGl1bS0xMSwgLmdyaWQteSA+IC5tZWRpdW0tMTIge1xuICAgICAgZmxleC1iYXNpczogYXV0bzsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmdyaWQteSA+IC5sYXJnZS1zaHJpbmssIC5ncmlkLXkgPiAubGFyZ2UtZnVsbCwgLmdyaWQteSA+IC5sYXJnZS0xLCAuZ3JpZC15ID4gLmxhcmdlLTIsIC5ncmlkLXkgPiAubGFyZ2UtMywgLmdyaWQteSA+IC5sYXJnZS00LCAuZ3JpZC15ID4gLmxhcmdlLTUsIC5ncmlkLXkgPiAubGFyZ2UtNiwgLmdyaWQteSA+IC5sYXJnZS03LCAuZ3JpZC15ID4gLmxhcmdlLTgsIC5ncmlkLXkgPiAubGFyZ2UtOSwgLmdyaWQteSA+IC5sYXJnZS0xMCwgLmdyaWQteSA+IC5sYXJnZS0xMSwgLmdyaWQteSA+IC5sYXJnZS0xMiB7XG4gICAgICBmbGV4LWJhc2lzOiBhdXRvOyB9IH1cbiAgLmdyaWQteSA+IC5zbWFsbC0xIHtcbiAgICBoZWlnaHQ6IDguMzMzMzMlOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtMiB7XG4gICAgaGVpZ2h0OiAxNi42NjY2NyU7IH1cbiAgLmdyaWQteSA+IC5zbWFsbC0zIHtcbiAgICBoZWlnaHQ6IDI1JTsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTQge1xuICAgIGhlaWdodDogMzMuMzMzMzMlOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtNSB7XG4gICAgaGVpZ2h0OiA0MS42NjY2NyU7IH1cbiAgLmdyaWQteSA+IC5zbWFsbC02IHtcbiAgICBoZWlnaHQ6IDUwJTsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTcge1xuICAgIGhlaWdodDogNTguMzMzMzMlOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtOCB7XG4gICAgaGVpZ2h0OiA2Ni42NjY2NyU7IH1cbiAgLmdyaWQteSA+IC5zbWFsbC05IHtcbiAgICBoZWlnaHQ6IDc1JTsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTEwIHtcbiAgICBoZWlnaHQ6IDgzLjMzMzMzJTsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTExIHtcbiAgICBoZWlnaHQ6IDkxLjY2NjY3JTsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTEyIHtcbiAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC15ID4gLm1lZGl1bS1hdXRvIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS1zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tMSB7XG4gICAgICBoZWlnaHQ6IDguMzMzMzMlOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tMiB7XG4gICAgICBoZWlnaHQ6IDE2LjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTMge1xuICAgICAgaGVpZ2h0OiAyNSU7IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS00IHtcbiAgICAgIGhlaWdodDogMzMuMzMzMzMlOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tNSB7XG4gICAgICBoZWlnaHQ6IDQxLjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTYge1xuICAgICAgaGVpZ2h0OiA1MCU7IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS03IHtcbiAgICAgIGhlaWdodDogNTguMzMzMzMlOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tOCB7XG4gICAgICBoZWlnaHQ6IDY2LjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTkge1xuICAgICAgaGVpZ2h0OiA3NSU7IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS0xMCB7XG4gICAgICBoZWlnaHQ6IDgzLjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTExIHtcbiAgICAgIGhlaWdodDogOTEuNjY2NjclOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tMTIge1xuICAgICAgaGVpZ2h0OiAxMDAlOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuZ3JpZC15ID4gLmxhcmdlLWF1dG8ge1xuICAgICAgZmxleDogMSAxIDBweDtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2Utc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2UtMSB7XG4gICAgICBoZWlnaHQ6IDguMzMzMzMlOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS0yIHtcbiAgICAgIGhlaWdodDogMTYuNjY2NjclOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS0zIHtcbiAgICAgIGhlaWdodDogMjUlOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS00IHtcbiAgICAgIGhlaWdodDogMzMuMzMzMzMlOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS01IHtcbiAgICAgIGhlaWdodDogNDEuNjY2NjclOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS02IHtcbiAgICAgIGhlaWdodDogNTAlOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS03IHtcbiAgICAgIGhlaWdodDogNTguMzMzMzMlOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS04IHtcbiAgICAgIGhlaWdodDogNjYuNjY2NjclOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS05IHtcbiAgICAgIGhlaWdodDogNzUlOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS0xMCB7XG4gICAgICBoZWlnaHQ6IDgzLjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2UtMTEge1xuICAgICAgaGVpZ2h0OiA5MS42NjY2NyU7IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTEyIHtcbiAgICAgIGhlaWdodDogMTAwJTsgfSB9XG5cbi5ncmlkLXBhZGRpbmcteSAuZ3JpZC1wYWRkaW5nLXkge1xuICBtYXJnaW4tdG9wOiAtMC45Mzc1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAtMC45Mzc1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtcGFkZGluZy15IC5ncmlkLXBhZGRpbmcteSB7XG4gICAgICBtYXJnaW4tdG9wOiAtMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogLTAuOTM3NXJlbTsgfSB9XG5cbi5ncmlkLXBhZGRpbmcteSA+IC5jZWxsIHtcbiAgcGFkZGluZy10b3A6IDAuOTM3NXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDAuOTM3NXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLXBhZGRpbmcteSA+IC5jZWxsIHtcbiAgICAgIHBhZGRpbmctdG9wOiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMC45Mzc1cmVtOyB9IH1cblxuLmdyaWQtbWFyZ2luLXkge1xuICBtYXJnaW4tdG9wOiAtMC45Mzc1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAtMC45Mzc1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXkge1xuICAgICAgbWFyZ2luLXRvcDogLTAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IC0wLjkzNzVyZW07IH0gfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5jZWxsIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTtcbiAgICBtYXJnaW4tdG9wOiAwLjkzNzVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuY2VsbCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTtcbiAgICAgIG1hcmdpbi10b3A6IDAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTsgfSB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmF1dG8ge1xuICAgIGhlaWdodDogYXV0bzsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zaHJpbmsge1xuICAgIGhlaWdodDogYXV0bzsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xIHtcbiAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMiB7XG4gICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0zIHtcbiAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTQge1xuICAgIGhlaWdodDogY2FsYygzMy4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNSB7XG4gICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC02IHtcbiAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTcge1xuICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOCB7XG4gICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC05IHtcbiAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEwIHtcbiAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTExIHtcbiAgICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEyIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLW1hcmdpbi15ID4gLmF1dG8ge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTAge1xuICAgICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTExIHtcbiAgICAgIGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS1hdXRvIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS1zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0zIHtcbiAgICAgIGhlaWdodDogY2FsYygyNSUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTUge1xuICAgICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS02IHtcbiAgICAgIGhlaWdodDogY2FsYyg1MCUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTgge1xuICAgICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS05IHtcbiAgICAgIGhlaWdodDogY2FsYyg3NSUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMTAge1xuICAgICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTEyIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMS44NzVyZW0pOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS1hdXRvIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLXNocmluayB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0xIHtcbiAgICAgIGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTMge1xuICAgICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTQge1xuICAgICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTUge1xuICAgICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTYge1xuICAgICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTcge1xuICAgICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTgge1xuICAgICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTkge1xuICAgICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTEwIHtcbiAgICAgIGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0xMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7IH0gfVxuXG4uZ3JpZC1mcmFtZSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxleC13cmFwOiBub3dyYXA7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICB3aWR0aDogMTAwdnc7IH1cblxuLmNlbGwgLmdyaWQtZnJhbWUge1xuICB3aWR0aDogMTAwJTsgfVxuXG4uY2VsbC1ibG9jayB7XG4gIG92ZXJmbG93LXg6IGF1dG87XG4gIG1heC13aWR0aDogMTAwJTtcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAtbXMtb3ZlcmZsb3ctc3R5cGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjsgfVxuXG4uY2VsbC1ibG9jay15IHtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgbWF4LWhlaWdodDogMTAwJTtcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAtbXMtb3ZlcmZsb3ctc3R5cGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjsgfVxuXG4uY2VsbC1ibG9jay1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBtYXgtaGVpZ2h0OiAxMDAlOyB9XG4gIC5jZWxsLWJsb2NrLWNvbnRhaW5lciA+IC5ncmlkLXgge1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS1ncmlkLWZyYW1lIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICB3aWR0aDogMTAwdnc7IH1cbiAgLmNlbGwgLm1lZGl1bS1ncmlkLWZyYW1lIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAubWVkaXVtLWNlbGwtYmxvY2sge1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICAtbXMtb3ZlcmZsb3ctc3R5cGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjsgfVxuICAubWVkaXVtLWNlbGwtYmxvY2stY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgbWF4LWhlaWdodDogMTAwJTsgfVxuICAgIC5tZWRpdW0tY2VsbC1ibG9jay1jb250YWluZXIgPiAuZ3JpZC14IHtcbiAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDsgfVxuICAubWVkaXVtLWNlbGwtYmxvY2steSB7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICAtbXMtb3ZlcmZsb3ctc3R5cGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS1ncmlkLWZyYW1lIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICB3aWR0aDogMTAwdnc7IH1cbiAgLmNlbGwgLmxhcmdlLWdyaWQtZnJhbWUge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5sYXJnZS1jZWxsLWJsb2NrIHtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgLW1zLW92ZXJmbG93LXN0eXBlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7IH1cbiAgLmxhcmdlLWNlbGwtYmxvY2stY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgbWF4LWhlaWdodDogMTAwJTsgfVxuICAgIC5sYXJnZS1jZWxsLWJsb2NrLWNvbnRhaW5lciA+IC5ncmlkLXgge1xuICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwOyB9XG4gIC5sYXJnZS1jZWxsLWJsb2NrLXkge1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgLW1zLW92ZXJmbG93LXN0eXBlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7IH0gfVxuXG4uZ3JpZC15LmdyaWQtZnJhbWUge1xuICB3aWR0aDogYXV0bztcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIGhlaWdodDogMTAwdmg7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmdyaWQteS5tZWRpdW0tZ3JpZC1mcmFtZSB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgaGVpZ2h0OiAxMDB2aDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5ncmlkLXkubGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgaGVpZ2h0OiAxMDB2aDsgfSB9XG5cbi5jZWxsIC5ncmlkLXkuZ3JpZC1mcmFtZSB7XG4gIGhlaWdodDogMTAwJTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuY2VsbCAuZ3JpZC15Lm1lZGl1bS1ncmlkLWZyYW1lIHtcbiAgICBoZWlnaHQ6IDEwMCU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuY2VsbCAuZ3JpZC15LmxhcmdlLWdyaWQtZnJhbWUge1xuICAgIGhlaWdodDogMTAwJTsgfSB9XG5cbi5ncmlkLW1hcmdpbi15IHtcbiAgbWFyZ2luLXRvcDogLTAuOTM3NXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogLTAuOTM3NXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLW1hcmdpbi15IHtcbiAgICAgIG1hcmdpbi10b3A6IC0wLjkzNzVyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAtMC45Mzc1cmVtOyB9IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuY2VsbCB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7XG4gICAgbWFyZ2luLXRvcDogMC45Mzc1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLW1hcmdpbi15ID4gLmNlbGwge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7XG4gICAgICBtYXJnaW4tdG9wOiAwLjkzNzVyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07IH0gfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5hdXRvIHtcbiAgICBoZWlnaHQ6IGF1dG87IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc2hyaW5rIHtcbiAgICBoZWlnaHQ6IGF1dG87IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMSB7XG4gICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTIge1xuICAgIGhlaWdodDogY2FsYygxNi42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMyB7XG4gICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC00IHtcbiAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTUge1xuICAgIGhlaWdodDogY2FsYyg0MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNiB7XG4gICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC03IHtcbiAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTgge1xuICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOSB7XG4gICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMCB7XG4gICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMSB7XG4gICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMiB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5hdXRvIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNocmluayB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xIHtcbiAgICAgIGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTMge1xuICAgICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTQge1xuICAgICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTUge1xuICAgICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTYge1xuICAgICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTcge1xuICAgICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTgge1xuICAgICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTkge1xuICAgICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEwIHtcbiAgICAgIGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tYXV0byB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xIHtcbiAgICAgIGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0yIHtcbiAgICAgIGhlaWdodDogY2FsYygxNi42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTQge1xuICAgICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS01IHtcbiAgICAgIGhlaWdodDogY2FsYyg0MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTcge1xuICAgICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS04IHtcbiAgICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tOSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTEwIHtcbiAgICAgIGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtYXV0byB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS1zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0yIHtcbiAgICAgIGhlaWdodDogY2FsYygxNi42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0zIHtcbiAgICAgIGhlaWdodDogY2FsYygyNSUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS00IHtcbiAgICAgIGhlaWdodDogY2FsYygzMy4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS01IHtcbiAgICAgIGhlaWdodDogY2FsYyg0MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS02IHtcbiAgICAgIGhlaWdodDogY2FsYyg1MCUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS03IHtcbiAgICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS04IHtcbiAgICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS05IHtcbiAgICAgIGhlaWdodDogY2FsYyg3NSUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0xMCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTEyIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMS44NzVyZW0pOyB9IH1cblxuLmdyaWQtZnJhbWUuZ3JpZC1tYXJnaW4teSB7XG4gIGhlaWdodDogY2FsYygxMDB2aCArIDEuODc1cmVtKTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLWZyYW1lLmdyaWQtbWFyZ2luLXkge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMHZoICsgMS44NzVyZW0pOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuZ3JpZC1mcmFtZS5ncmlkLW1hcmdpbi15IHtcbiAgICAgIGhlaWdodDogY2FsYygxMDB2aCArIDEuODc1cmVtKTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5ncmlkLW1hcmdpbi15Lm1lZGl1bS1ncmlkLWZyYW1lIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwdmggKyAxLjg3NXJlbSk7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuZ3JpZC1tYXJnaW4teS5sYXJnZS1ncmlkLWZyYW1lIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwdmggKyAxLjg3NXJlbSk7IH0gfVxuXG4ucm93IHtcbiAgbWF4LXdpZHRoOiA1NS42MjVyZW07XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7IH1cbiAgLnJvdyAucm93IHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0wLjQ2ODc1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAtMC40Njg3NXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAucm93IC5yb3cge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC0wLjcxODc1cmVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogLTAuNzE4NzVyZW07IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAucm93IC5yb3cge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC0wLjcxODc1cmVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogLTAuNzE4NzVyZW07IH0gfVxuICAgIC5yb3cgLnJvdy5jb2xsYXBzZSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAucm93LmV4cGFuZGVkIHtcbiAgICBtYXgtd2lkdGg6IG5vbmU7IH1cbiAgICAucm93LmV4cGFuZGVkIC5yb3cge1xuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87IH1cbiAgLnJvdzpub3QoLmV4cGFuZGVkKSAucm93IHtcbiAgICBtYXgtd2lkdGg6IG5vbmU7IH1cbiAgLnJvdy5jb2xsYXBzZSA+IC5jb2x1bW4sIC5yb3cuY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgLnJvdy5pcy1jb2xsYXBzZS1jaGlsZCxcbiAgLnJvdy5jb2xsYXBzZSA+IC5jb2x1bW4gPiAucm93LFxuICAucm93LmNvbGxhcHNlID4gLmNvbHVtbnMgPiAucm93IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuLmNvbHVtbiwgLmNvbHVtbnMge1xuICBmbGV4OiAxIDEgMHB4O1xuICBwYWRkaW5nLXJpZ2h0OiAwLjQ2ODc1cmVtO1xuICBwYWRkaW5nLWxlZnQ6IDAuNDY4NzVyZW07XG4gIG1pbi13aWR0aDogMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5jb2x1bW4sIC5jb2x1bW5zIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNzE4NzVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuNzE4NzVyZW07IH0gfVxuXG4uY29sdW1uLnJvdy5yb3csIC5yb3cucm93LmNvbHVtbnMge1xuICBmbG9hdDogbm9uZTtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLnJvdyAuY29sdW1uLnJvdy5yb3csIC5yb3cgLnJvdy5yb3cuY29sdW1ucyB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG4gIHBhZGRpbmctbGVmdDogMDsgfVxuXG4uc21hbGwtMSB7XG4gIGZsZXg6IDAgMCA4LjMzMzMzJTtcbiAgbWF4LXdpZHRoOiA4LjMzMzMzJTsgfVxuXG4uc21hbGwtb2Zmc2V0LTAge1xuICBtYXJnaW4tbGVmdDogMCU7IH1cblxuLnNtYWxsLTIge1xuICBmbGV4OiAwIDAgMTYuNjY2NjclO1xuICBtYXgtd2lkdGg6IDE2LjY2NjY3JTsgfVxuXG4uc21hbGwtb2Zmc2V0LTEge1xuICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cblxuLnNtYWxsLTMge1xuICBmbGV4OiAwIDAgMjUlO1xuICBtYXgtd2lkdGg6IDI1JTsgfVxuXG4uc21hbGwtb2Zmc2V0LTIge1xuICBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG5cbi5zbWFsbC00IHtcbiAgZmxleDogMCAwIDMzLjMzMzMzJTtcbiAgbWF4LXdpZHRoOiAzMy4zMzMzMyU7IH1cblxuLnNtYWxsLW9mZnNldC0zIHtcbiAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuXG4uc21hbGwtNSB7XG4gIGZsZXg6IDAgMCA0MS42NjY2NyU7XG4gIG1heC13aWR0aDogNDEuNjY2NjclOyB9XG5cbi5zbWFsbC1vZmZzZXQtNCB7XG4gIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cblxuLnNtYWxsLTYge1xuICBmbGV4OiAwIDAgNTAlO1xuICBtYXgtd2lkdGg6IDUwJTsgfVxuXG4uc21hbGwtb2Zmc2V0LTUge1xuICBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XG5cbi5zbWFsbC03IHtcbiAgZmxleDogMCAwIDU4LjMzMzMzJTtcbiAgbWF4LXdpZHRoOiA1OC4zMzMzMyU7IH1cblxuLnNtYWxsLW9mZnNldC02IHtcbiAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuXG4uc21hbGwtOCB7XG4gIGZsZXg6IDAgMCA2Ni42NjY2NyU7XG4gIG1heC13aWR0aDogNjYuNjY2NjclOyB9XG5cbi5zbWFsbC1vZmZzZXQtNyB7XG4gIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cblxuLnNtYWxsLTkge1xuICBmbGV4OiAwIDAgNzUlO1xuICBtYXgtd2lkdGg6IDc1JTsgfVxuXG4uc21hbGwtb2Zmc2V0LTgge1xuICBtYXJnaW4tbGVmdDogNjYuNjY2NjclOyB9XG5cbi5zbWFsbC0xMCB7XG4gIGZsZXg6IDAgMCA4My4zMzMzMyU7XG4gIG1heC13aWR0aDogODMuMzMzMzMlOyB9XG5cbi5zbWFsbC1vZmZzZXQtOSB7XG4gIG1hcmdpbi1sZWZ0OiA3NSU7IH1cblxuLnNtYWxsLTExIHtcbiAgZmxleDogMCAwIDkxLjY2NjY3JTtcbiAgbWF4LXdpZHRoOiA5MS42NjY2NyU7IH1cblxuLnNtYWxsLW9mZnNldC0xMCB7XG4gIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyU7IH1cblxuLnNtYWxsLTEyIHtcbiAgZmxleDogMCAwIDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTsgfVxuXG4uc21hbGwtb2Zmc2V0LTExIHtcbiAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxuXG4uc21hbGwtdXAtMSB7XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuICAuc21hbGwtdXAtMSA+IC5jb2x1bW4sIC5zbWFsbC11cC0xID4gLmNvbHVtbnMge1xuICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTsgfVxuXG4uc21hbGwtdXAtMiB7XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuICAuc21hbGwtdXAtMiA+IC5jb2x1bW4sIC5zbWFsbC11cC0yID4gLmNvbHVtbnMge1xuICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgbWF4LXdpZHRoOiA1MCU7IH1cblxuLnNtYWxsLXVwLTMge1xuICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgLnNtYWxsLXVwLTMgPiAuY29sdW1uLCAuc21hbGwtdXAtMyA+IC5jb2x1bW5zIHtcbiAgICBmbGV4OiAwIDAgMzMuMzMzMzMlO1xuICAgIG1heC13aWR0aDogMzMuMzMzMzMlOyB9XG5cbi5zbWFsbC11cC00IHtcbiAgZmxleC13cmFwOiB3cmFwOyB9XG4gIC5zbWFsbC11cC00ID4gLmNvbHVtbiwgLnNtYWxsLXVwLTQgPiAuY29sdW1ucyB7XG4gICAgZmxleDogMCAwIDI1JTtcbiAgICBtYXgtd2lkdGg6IDI1JTsgfVxuXG4uc21hbGwtdXAtNSB7XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuICAuc21hbGwtdXAtNSA+IC5jb2x1bW4sIC5zbWFsbC11cC01ID4gLmNvbHVtbnMge1xuICAgIGZsZXg6IDAgMCAyMCU7XG4gICAgbWF4LXdpZHRoOiAyMCU7IH1cblxuLnNtYWxsLXVwLTYge1xuICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgLnNtYWxsLXVwLTYgPiAuY29sdW1uLCAuc21hbGwtdXAtNiA+IC5jb2x1bW5zIHtcbiAgICBmbGV4OiAwIDAgMTYuNjY2NjclO1xuICAgIG1heC13aWR0aDogMTYuNjY2NjclOyB9XG5cbi5zbWFsbC11cC03IHtcbiAgZmxleC13cmFwOiB3cmFwOyB9XG4gIC5zbWFsbC11cC03ID4gLmNvbHVtbiwgLnNtYWxsLXVwLTcgPiAuY29sdW1ucyB7XG4gICAgZmxleDogMCAwIDE0LjI4NTcxJTtcbiAgICBtYXgtd2lkdGg6IDE0LjI4NTcxJTsgfVxuXG4uc21hbGwtdXAtOCB7XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuICAuc21hbGwtdXAtOCA+IC5jb2x1bW4sIC5zbWFsbC11cC04ID4gLmNvbHVtbnMge1xuICAgIGZsZXg6IDAgMCAxMi41JTtcbiAgICBtYXgtd2lkdGg6IDEyLjUlOyB9XG5cbi5zbWFsbC1jb2xsYXBzZSA+IC5jb2x1bW4sIC5zbWFsbC1jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgcGFkZGluZy1yaWdodDogMDtcbiAgcGFkZGluZy1sZWZ0OiAwOyB9XG5cbi5zbWFsbC11bmNvbGxhcHNlID4gLmNvbHVtbiwgLnNtYWxsLXVuY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gIHBhZGRpbmctcmlnaHQ6IDAuNDY4NzVyZW07XG4gIHBhZGRpbmctbGVmdDogMC40Njg3NXJlbTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLTEge1xuICAgIGZsZXg6IDAgMCA4LjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwJTsgfVxuICAubWVkaXVtLTIge1xuICAgIGZsZXg6IDAgMCAxNi42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XG4gIC5tZWRpdW0tMyB7XG4gICAgZmxleDogMCAwIDI1JTtcbiAgICBtYXgtd2lkdGg6IDI1JTsgfVxuICAubWVkaXVtLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG4gIC5tZWRpdW0tNCB7XG4gICAgZmxleDogMCAwIDMzLjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubWVkaXVtLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogMjUlOyB9XG4gIC5tZWRpdW0tNSB7XG4gICAgZmxleDogMCAwIDQxLjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAubWVkaXVtLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tNiB7XG4gICAgZmxleDogMCAwIDUwJTtcbiAgICBtYXgtd2lkdGg6IDUwJTsgfVxuICAubWVkaXVtLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XG4gIC5tZWRpdW0tNyB7XG4gICAgZmxleDogMCAwIDU4LjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAubWVkaXVtLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogNTAlOyB9XG4gIC5tZWRpdW0tOCB7XG4gICAgZmxleDogMCAwIDY2LjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAubWVkaXVtLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XG4gIC5tZWRpdW0tOSB7XG4gICAgZmxleDogMCAwIDc1JTtcbiAgICBtYXgtd2lkdGg6IDc1JTsgfVxuICAubWVkaXVtLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogNjYuNjY2NjclOyB9XG4gIC5tZWRpdW0tMTAge1xuICAgIGZsZXg6IDAgMCA4My4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuICAubWVkaXVtLTExIHtcbiAgICBmbGV4OiAwIDAgOTEuNjY2NjclO1xuICAgIG1heC13aWR0aDogOTEuNjY2NjclOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tMTIge1xuICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAubWVkaXVtLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxuICAubWVkaXVtLXVwLTEge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5tZWRpdW0tdXAtMSA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtMSA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIC5tZWRpdW0tdXAtMiB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLm1lZGl1bS11cC0yID4gLmNvbHVtbiwgLm1lZGl1bS11cC0yID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDUwJTtcbiAgICAgIG1heC13aWR0aDogNTAlOyB9XG4gIC5tZWRpdW0tdXAtMyB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLm1lZGl1bS11cC0zID4gLmNvbHVtbiwgLm1lZGl1bS11cC0zID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDMzLjMzMzMzJTtcbiAgICAgIG1heC13aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tdXAtNCB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLm1lZGl1bS11cC00ID4gLmNvbHVtbiwgLm1lZGl1bS11cC00ID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDI1JTtcbiAgICAgIG1heC13aWR0aDogMjUlOyB9XG4gIC5tZWRpdW0tdXAtNSB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLm1lZGl1bS11cC01ID4gLmNvbHVtbiwgLm1lZGl1bS11cC01ID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDIwJTtcbiAgICAgIG1heC13aWR0aDogMjAlOyB9XG4gIC5tZWRpdW0tdXAtNiB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLm1lZGl1bS11cC02ID4gLmNvbHVtbiwgLm1lZGl1bS11cC02ID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDE2LjY2NjY3JTtcbiAgICAgIG1heC13aWR0aDogMTYuNjY2NjclOyB9XG4gIC5tZWRpdW0tdXAtNyB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLm1lZGl1bS11cC03ID4gLmNvbHVtbiwgLm1lZGl1bS11cC03ID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDE0LjI4NTcxJTtcbiAgICAgIG1heC13aWR0aDogMTQuMjg1NzElOyB9XG4gIC5tZWRpdW0tdXAtOCB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLm1lZGl1bS11cC04ID4gLmNvbHVtbiwgLm1lZGl1bS11cC04ID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDEyLjUlO1xuICAgICAgbWF4LXdpZHRoOiAxMi41JTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLWV4cGFuZCB7XG4gICAgZmxleDogMSAxIDBweDsgfSB9XG5cbi5yb3cubWVkaXVtLXVuc3RhY2sgPiAuY29sdW1uLCAucm93Lm1lZGl1bS11bnN0YWNrID4gLmNvbHVtbnMge1xuICBmbGV4OiAwIDAgMTAwJTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5yb3cubWVkaXVtLXVuc3RhY2sgPiAuY29sdW1uLCAucm93Lm1lZGl1bS11bnN0YWNrID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMSAxIDBweDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tY29sbGFwc2UgPiAuY29sdW1uLCAubWVkaXVtLWNvbGxhcHNlID4gLmNvbHVtbnMge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwOyB9XG4gIC5tZWRpdW0tdW5jb2xsYXBzZSA+IC5jb2x1bW4sIC5tZWRpdW0tdW5jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjcxODc1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC43MTg3NXJlbTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS0xIHtcbiAgICBmbGV4OiAwIDAgOC4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiA4LjMzMzMzJTsgfVxuICAubGFyZ2Utb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwJTsgfVxuICAubGFyZ2UtMiB7XG4gICAgZmxleDogMCAwIDE2LjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubGFyZ2Utb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTsgfVxuICAubGFyZ2UtMyB7XG4gICAgZmxleDogMCAwIDI1JTtcbiAgICBtYXgtd2lkdGg6IDI1JTsgfVxuICAubGFyZ2Utb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cbiAgLmxhcmdlLTQge1xuICAgIGZsZXg6IDAgMCAzMy4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLmxhcmdlLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogMjUlOyB9XG4gIC5sYXJnZS01IHtcbiAgICBmbGV4OiAwIDAgNDEuNjY2NjclO1xuICAgIG1heC13aWR0aDogNDEuNjY2NjclOyB9XG4gIC5sYXJnZS1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJTsgfVxuICAubGFyZ2UtNiB7XG4gICAgZmxleDogMCAwIDUwJTtcbiAgICBtYXgtd2lkdGg6IDUwJTsgfVxuICAubGFyZ2Utb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cbiAgLmxhcmdlLTcge1xuICAgIGZsZXg6IDAgMCA1OC4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLmxhcmdlLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogNTAlOyB9XG4gIC5sYXJnZS04IHtcbiAgICBmbGV4OiAwIDAgNjYuNjY2NjclO1xuICAgIG1heC13aWR0aDogNjYuNjY2NjclOyB9XG4gIC5sYXJnZS1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJTsgfVxuICAubGFyZ2UtOSB7XG4gICAgZmxleDogMCAwIDc1JTtcbiAgICBtYXgtd2lkdGg6IDc1JTsgfVxuICAubGFyZ2Utb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cbiAgLmxhcmdlLTEwIHtcbiAgICBmbGV4OiAwIDAgODMuMzMzMzMlO1xuICAgIG1heC13aWR0aDogODMuMzMzMzMlOyB9XG4gIC5sYXJnZS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuICAubGFyZ2UtMTEge1xuICAgIGZsZXg6IDAgMCA5MS42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLmxhcmdlLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuICAubGFyZ2UtMTIge1xuICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAubGFyZ2Utb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjclOyB9XG4gIC5sYXJnZS11cC0xIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAubGFyZ2UtdXAtMSA+IC5jb2x1bW4sIC5sYXJnZS11cC0xID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgLmxhcmdlLXVwLTIge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5sYXJnZS11cC0yID4gLmNvbHVtbiwgLmxhcmdlLXVwLTIgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgNTAlO1xuICAgICAgbWF4LXdpZHRoOiA1MCU7IH1cbiAgLmxhcmdlLXVwLTMge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5sYXJnZS11cC0zID4gLmNvbHVtbiwgLmxhcmdlLXVwLTMgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMzMuMzMzMzMlO1xuICAgICAgbWF4LXdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLmxhcmdlLXVwLTQge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5sYXJnZS11cC00ID4gLmNvbHVtbiwgLmxhcmdlLXVwLTQgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMjUlO1xuICAgICAgbWF4LXdpZHRoOiAyNSU7IH1cbiAgLmxhcmdlLXVwLTUge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5sYXJnZS11cC01ID4gLmNvbHVtbiwgLmxhcmdlLXVwLTUgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMjAlO1xuICAgICAgbWF4LXdpZHRoOiAyMCU7IH1cbiAgLmxhcmdlLXVwLTYge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5sYXJnZS11cC02ID4gLmNvbHVtbiwgLmxhcmdlLXVwLTYgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMTYuNjY2NjclO1xuICAgICAgbWF4LXdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLmxhcmdlLXVwLTcge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5sYXJnZS11cC03ID4gLmNvbHVtbiwgLmxhcmdlLXVwLTcgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMTQuMjg1NzElO1xuICAgICAgbWF4LXdpZHRoOiAxNC4yODU3MSU7IH1cbiAgLmxhcmdlLXVwLTgge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5sYXJnZS11cC04ID4gLmNvbHVtbiwgLmxhcmdlLXVwLTggPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMTIuNSU7XG4gICAgICBtYXgtd2lkdGg6IDEyLjUlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS1leHBhbmQge1xuICAgIGZsZXg6IDEgMSAwcHg7IH0gfVxuXG4ucm93LmxhcmdlLXVuc3RhY2sgPiAuY29sdW1uLCAucm93LmxhcmdlLXVuc3RhY2sgPiAuY29sdW1ucyB7XG4gIGZsZXg6IDAgMCAxMDAlOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnJvdy5sYXJnZS11bnN0YWNrID4gLmNvbHVtbiwgLnJvdy5sYXJnZS11bnN0YWNrID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMSAxIDBweDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS1jb2xsYXBzZSA+IC5jb2x1bW4sIC5sYXJnZS1jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAubGFyZ2UtdW5jb2xsYXBzZSA+IC5jb2x1bW4sIC5sYXJnZS11bmNvbGxhcHNlID4gLmNvbHVtbnMge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNzE4NzVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjcxODc1cmVtOyB9IH1cblxuLnNocmluayB7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICBtYXgtd2lkdGg6IDEwMCU7IH1cblxuLmNvbHVtbi1ibG9jayB7XG4gIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTsgfVxuICAuY29sdW1uLWJsb2NrID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuY29sdW1uLWJsb2NrIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuNDM3NXJlbTsgfVxuICAgICAgLmNvbHVtbi1ibG9jayA+IDpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG5cbi5hbGlnbi1yaWdodCB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cblxuLmFsaWduLWNlbnRlciB7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG5cbi5hbGlnbi1qdXN0aWZ5IHtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG5cbi5hbGlnbi1zcGFjZWQge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDsgfVxuXG4uYWxpZ24tcmlnaHQudmVydGljYWwubWVudSA+IGxpID4gYSB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cblxuLmFsaWduLWNlbnRlci52ZXJ0aWNhbC5tZW51ID4gbGkgPiBhIHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cblxuLmFsaWduLXRvcCB7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyB9XG5cbi5hbGlnbi1zZWxmLXRvcCB7XG4gIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7IH1cblxuLmFsaWduLWJvdHRvbSB7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsgfVxuXG4uYWxpZ24tc2VsZi1ib3R0b20ge1xuICBhbGlnbi1zZWxmOiBmbGV4LWVuZDsgfVxuXG4uYWxpZ24tbWlkZGxlIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuXG4uYWxpZ24tc2VsZi1taWRkbGUge1xuICBhbGlnbi1zZWxmOiBjZW50ZXI7IH1cblxuLmFsaWduLXN0cmV0Y2gge1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDsgfVxuXG4uYWxpZ24tc2VsZi1zdHJldGNoIHtcbiAgYWxpZ24tc2VsZjogc3RyZXRjaDsgfVxuXG4uYWxpZ24tY2VudGVyLW1pZGRsZSB7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBhbGlnbi1jb250ZW50OiBjZW50ZXI7IH1cblxuLnNtYWxsLW9yZGVyLTEge1xuICBvcmRlcjogMTsgfVxuXG4uc21hbGwtb3JkZXItMiB7XG4gIG9yZGVyOiAyOyB9XG5cbi5zbWFsbC1vcmRlci0zIHtcbiAgb3JkZXI6IDM7IH1cblxuLnNtYWxsLW9yZGVyLTQge1xuICBvcmRlcjogNDsgfVxuXG4uc21hbGwtb3JkZXItNSB7XG4gIG9yZGVyOiA1OyB9XG5cbi5zbWFsbC1vcmRlci02IHtcbiAgb3JkZXI6IDY7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS1vcmRlci0xIHtcbiAgICBvcmRlcjogMTsgfVxuICAubWVkaXVtLW9yZGVyLTIge1xuICAgIG9yZGVyOiAyOyB9XG4gIC5tZWRpdW0tb3JkZXItMyB7XG4gICAgb3JkZXI6IDM7IH1cbiAgLm1lZGl1bS1vcmRlci00IHtcbiAgICBvcmRlcjogNDsgfVxuICAubWVkaXVtLW9yZGVyLTUge1xuICAgIG9yZGVyOiA1OyB9XG4gIC5tZWRpdW0tb3JkZXItNiB7XG4gICAgb3JkZXI6IDY7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2Utb3JkZXItMSB7XG4gICAgb3JkZXI6IDE7IH1cbiAgLmxhcmdlLW9yZGVyLTIge1xuICAgIG9yZGVyOiAyOyB9XG4gIC5sYXJnZS1vcmRlci0zIHtcbiAgICBvcmRlcjogMzsgfVxuICAubGFyZ2Utb3JkZXItNCB7XG4gICAgb3JkZXI6IDQ7IH1cbiAgLmxhcmdlLW9yZGVyLTUge1xuICAgIG9yZGVyOiA1OyB9XG4gIC5sYXJnZS1vcmRlci02IHtcbiAgICBvcmRlcjogNjsgfSB9XG5cbi5mbGV4LWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7IH1cblxuLmZsZXgtY2hpbGQtYXV0byB7XG4gIGZsZXg6IDEgMSBhdXRvOyB9XG5cbi5mbGV4LWNoaWxkLWdyb3cge1xuICBmbGV4OiAxIDAgYXV0bzsgfVxuXG4uZmxleC1jaGlsZC1zaHJpbmsge1xuICBmbGV4OiAwIDEgYXV0bzsgfVxuXG4uZmxleC1kaXItcm93IHtcbiAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuXG4uZmxleC1kaXItcm93LXJldmVyc2Uge1xuICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7IH1cblxuLmZsZXgtZGlyLWNvbHVtbiB7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cblxuLmZsZXgtZGlyLWNvbHVtbi1yZXZlcnNlIHtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tZmxleC1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgLm1lZGl1bS1mbGV4LWNoaWxkLWF1dG8ge1xuICAgIGZsZXg6IDEgMSBhdXRvOyB9XG4gIC5tZWRpdW0tZmxleC1jaGlsZC1ncm93IHtcbiAgICBmbGV4OiAxIDAgYXV0bzsgfVxuICAubWVkaXVtLWZsZXgtY2hpbGQtc2hyaW5rIHtcbiAgICBmbGV4OiAwIDEgYXV0bzsgfVxuICAubWVkaXVtLWZsZXgtZGlyLXJvdyB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAubWVkaXVtLWZsZXgtZGlyLXJvdy1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7IH1cbiAgLm1lZGl1bS1mbGV4LWRpci1jb2x1bW4ge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgLm1lZGl1bS1mbGV4LWRpci1jb2x1bW4tcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLWZsZXgtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gIC5sYXJnZS1mbGV4LWNoaWxkLWF1dG8ge1xuICAgIGZsZXg6IDEgMSBhdXRvOyB9XG4gIC5sYXJnZS1mbGV4LWNoaWxkLWdyb3cge1xuICAgIGZsZXg6IDEgMCBhdXRvOyB9XG4gIC5sYXJnZS1mbGV4LWNoaWxkLXNocmluayB7XG4gICAgZmxleDogMCAxIGF1dG87IH1cbiAgLmxhcmdlLWZsZXgtZGlyLXJvdyB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAubGFyZ2UtZmxleC1kaXItcm93LXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTsgfVxuICAubGFyZ2UtZmxleC1kaXItY29sdW1uIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gIC5sYXJnZS1mbGV4LWRpci1jb2x1bW4tcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlOyB9IH1cblxuLmhpZGUge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuLmludmlzaWJsZSB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgLmhpZGUtZm9yLXNtYWxsLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDBlbSksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuc2hvdy1mb3Itc21hbGwtb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmhpZGUtZm9yLW1lZGl1bSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gIC5zaG93LWZvci1tZWRpdW0ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgLmhpZGUtZm9yLW1lZGl1bS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnNob3ctZm9yLW1lZGl1bS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuaGlkZS1mb3ItbGFyZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAuc2hvdy1mb3ItbGFyZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIGFuZCAobWF4LXdpZHRoOiA3NC45Mzc1ZW0pIHtcbiAgLmhpZGUtZm9yLWxhcmdlLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAuc2hvdy1mb3ItbGFyZ2Utb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuLnNob3ctZm9yLXNyLFxuLnNob3ctb24tZm9jdXMge1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmc6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGNsaXAtcGF0aDogaW5zZXQoNTAlKTtcbiAgYm9yZGVyOiAwOyB9XG5cbi5zaG93LW9uLWZvY3VzOmFjdGl2ZSwgLnNob3ctb24tZm9jdXM6Zm9jdXMge1xuICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiBhdXRvO1xuICBoZWlnaHQ6IGF1dG87XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBjbGlwOiBhdXRvO1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICBjbGlwLXBhdGg6IG5vbmU7IH1cblxuLnNob3ctZm9yLWxhbmRzY2FwZSxcbi5oaWRlLWZvci1wb3J0cmFpdCB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgICAuc2hvdy1mb3ItbGFuZHNjYXBlLFxuICAgIC5oaWRlLWZvci1wb3J0cmFpdCB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBwb3J0cmFpdCkge1xuICAgIC5zaG93LWZvci1sYW5kc2NhcGUsXG4gICAgLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbi5oaWRlLWZvci1sYW5kc2NhcGUsXG4uc2hvdy1mb3ItcG9ydHJhaXQge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgICAuaGlkZS1mb3ItbGFuZHNjYXBlLFxuICAgIC5zaG93LWZvci1wb3J0cmFpdCB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IHBvcnRyYWl0KSB7XG4gICAgLmhpZGUtZm9yLWxhbmRzY2FwZSxcbiAgICAuc2hvdy1mb3ItcG9ydHJhaXQge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfSB9XG5cbi5idXR0b24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1hcmdpbjogMCAwIDFyZW0gMDtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIHBhZGRpbmc6IDAuODVlbSAxZW07XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLW91dCwgY29sb3IgMC4yNXMgZWFzZS1vdXQ7XG4gIGZvbnQtc2l6ZTogMC45cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxNzc5YmE7XG4gIGNvbG9yOiAjZmVmZWZlOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAuYnV0dG9uIHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIC5idXR0b246aG92ZXIsIC5idXR0b246Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMxNDY3OWU7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmJ1dHRvbi50aW55IHtcbiAgICBmb250LXNpemU6IDAuNnJlbTsgfVxuICAuYnV0dG9uLnNtYWxsIHtcbiAgICBmb250LXNpemU6IDAuNzVyZW07IH1cbiAgLmJ1dHRvbi5sYXJnZSB7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtOyB9XG4gIC5idXR0b24uZXhwYW5kZWQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAuYnV0dG9uLnByaW1hcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMxNzc5YmE7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgICAuYnV0dG9uLnByaW1hcnk6aG92ZXIsIC5idXR0b24ucHJpbWFyeTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTI2MTk1O1xuICAgICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmJ1dHRvbi5zZWNvbmRhcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM3Njc2NzY7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgICAuYnV0dG9uLnNlY29uZGFyeTpob3ZlciwgLmJ1dHRvbi5zZWNvbmRhcnk6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzVlNWU1ZTtcbiAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5idXR0b24uc3VjY2VzcyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzM5YWE0NztcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAgIC5idXR0b24uc3VjY2Vzczpob3ZlciwgLmJ1dHRvbi5zdWNjZXNzOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyZTg4Mzk7XG4gICAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAuYnV0dG9uLndhcm5pbmcge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmFlMDA7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgICAuYnV0dG9uLndhcm5pbmc6aG92ZXIsIC5idXR0b24ud2FybmluZzpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2M4YjAwO1xuICAgICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgLmJ1dHRvbi5hbGVydCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YwMTQxNDtcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAgIC5idXR0b24uYWxlcnQ6aG92ZXIsIC5idXR0b24uYWxlcnQ6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2M0MGMwYztcbiAgICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gIC5idXR0b24uZGlzYWJsZWQsIC5idXR0b25bZGlzYWJsZWRdIHtcbiAgICBvcGFjaXR5OiAwLjI1O1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAuYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxNzc5YmE7XG4gICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgIC5idXR0b24uZGlzYWJsZWQucHJpbWFyeSwgLmJ1dHRvbltkaXNhYmxlZF0ucHJpbWFyeSB7XG4gICAgICBvcGFjaXR5OiAwLjI1O1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgICAgLmJ1dHRvbi5kaXNhYmxlZC5wcmltYXJ5LCAuYnV0dG9uLmRpc2FibGVkLnByaW1hcnk6aG92ZXIsIC5idXR0b24uZGlzYWJsZWQucHJpbWFyeTpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0ucHJpbWFyeSwgLmJ1dHRvbltkaXNhYmxlZF0ucHJpbWFyeTpob3ZlciwgLmJ1dHRvbltkaXNhYmxlZF0ucHJpbWFyeTpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxNzc5YmE7XG4gICAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gICAgLmJ1dHRvbi5kaXNhYmxlZC5zZWNvbmRhcnksIC5idXR0b25bZGlzYWJsZWRdLnNlY29uZGFyeSB7XG4gICAgICBvcGFjaXR5OiAwLjI1O1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgICAgLmJ1dHRvbi5kaXNhYmxlZC5zZWNvbmRhcnksIC5idXR0b24uZGlzYWJsZWQuc2Vjb25kYXJ5OmhvdmVyLCAuYnV0dG9uLmRpc2FibGVkLnNlY29uZGFyeTpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0uc2Vjb25kYXJ5LCAuYnV0dG9uW2Rpc2FibGVkXS5zZWNvbmRhcnk6aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdLnNlY29uZGFyeTpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM3Njc2NzY7XG4gICAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gICAgLmJ1dHRvbi5kaXNhYmxlZC5zdWNjZXNzLCAuYnV0dG9uW2Rpc2FibGVkXS5zdWNjZXNzIHtcbiAgICAgIG9wYWNpdHk6IDAuMjU7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgICAuYnV0dG9uLmRpc2FibGVkLnN1Y2Nlc3MsIC5idXR0b24uZGlzYWJsZWQuc3VjY2Vzczpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZC5zdWNjZXNzOmZvY3VzLCAuYnV0dG9uW2Rpc2FibGVkXS5zdWNjZXNzLCAuYnV0dG9uW2Rpc2FibGVkXS5zdWNjZXNzOmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXS5zdWNjZXNzOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzM5YWE0NztcbiAgICAgICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgICAuYnV0dG9uLmRpc2FibGVkLndhcm5pbmcsIC5idXR0b25bZGlzYWJsZWRdLndhcm5pbmcge1xuICAgICAgb3BhY2l0eTogMC4yNTtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAgIC5idXR0b24uZGlzYWJsZWQud2FybmluZywgLmJ1dHRvbi5kaXNhYmxlZC53YXJuaW5nOmhvdmVyLCAuYnV0dG9uLmRpc2FibGVkLndhcm5pbmc6Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdLndhcm5pbmcsIC5idXR0b25bZGlzYWJsZWRdLndhcm5pbmc6aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdLndhcm5pbmc6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZhZTAwO1xuICAgICAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAgIC5idXR0b24uZGlzYWJsZWQuYWxlcnQsIC5idXR0b25bZGlzYWJsZWRdLmFsZXJ0IHtcbiAgICAgIG9wYWNpdHk6IDAuMjU7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgICAuYnV0dG9uLmRpc2FibGVkLmFsZXJ0LCAuYnV0dG9uLmRpc2FibGVkLmFsZXJ0OmhvdmVyLCAuYnV0dG9uLmRpc2FibGVkLmFsZXJ0OmZvY3VzLCAuYnV0dG9uW2Rpc2FibGVkXS5hbGVydCwgLmJ1dHRvbltkaXNhYmxlZF0uYWxlcnQ6aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdLmFsZXJ0OmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YwMTQxNDtcbiAgICAgICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgLmJ1dHRvbi5ob2xsb3cge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICMxNzc5YmE7XG4gICAgY29sb3I6ICMxNzc5YmE7IH1cbiAgICAuYnV0dG9uLmhvbGxvdywgLmJ1dHRvbi5ob2xsb3c6aG92ZXIsIC5idXR0b24uaG9sbG93OmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmJ1dHRvbi5ob2xsb3cuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93LmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi5ob2xsb3dbZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvd1tkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uaG9sbG93W2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5idXR0b24uaG9sbG93OmhvdmVyLCAuYnV0dG9uLmhvbGxvdzpmb2N1cyB7XG4gICAgICBib3JkZXItY29sb3I6ICMwYzNkNWQ7XG4gICAgICBjb2xvcjogIzBjM2Q1ZDsgfVxuICAgICAgLmJ1dHRvbi5ob2xsb3c6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93OmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5ob2xsb3c6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93OmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMxNzc5YmE7XG4gICAgICAgIGNvbG9yOiAjMTc3OWJhOyB9XG4gICAgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjMTc3OWJhO1xuICAgICAgY29sb3I6ICMxNzc5YmE7IH1cbiAgICAgIC5idXR0b24uaG9sbG93LnByaW1hcnk6aG92ZXIsIC5idXR0b24uaG9sbG93LnByaW1hcnk6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICMwYzNkNWQ7XG4gICAgICAgIGNvbG9yOiAjMGMzZDVkOyB9XG4gICAgICAgIC5idXR0b24uaG9sbG93LnByaW1hcnk6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93LnByaW1hcnk6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5OmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5OmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzE3NzliYTtcbiAgICAgICAgICBjb2xvcjogIzE3NzliYTsgfVxuICAgIC5idXR0b24uaG9sbG93LnNlY29uZGFyeSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjNzY3Njc2O1xuICAgICAgY29sb3I6ICM3Njc2NzY7IH1cbiAgICAgIC5idXR0b24uaG9sbG93LnNlY29uZGFyeTpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5OmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjM2IzYjNiO1xuICAgICAgICBjb2xvcjogIzNiM2IzYjsgfVxuICAgICAgICAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnk6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93LnNlY29uZGFyeTpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93LnNlY29uZGFyeTpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5OmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzc2NzY3NjtcbiAgICAgICAgICBjb2xvcjogIzc2NzY3NjsgfVxuICAgIC5idXR0b24uaG9sbG93LnN1Y2Nlc3Mge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzM5YWE0NztcbiAgICAgIGNvbG9yOiAjMzlhYTQ3OyB9XG4gICAgICAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjMWQ1NTI0O1xuICAgICAgICBjb2xvcjogIzFkNTUyNDsgfVxuICAgICAgICAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzOmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzOmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5ob2xsb3cuc3VjY2Vzczpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cuc3VjY2Vzczpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMzOWFhNDc7XG4gICAgICAgICAgY29sb3I6ICMzOWFhNDc7IH1cbiAgICAuYnV0dG9uLmhvbGxvdy53YXJuaW5nIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNmZmFlMDA7XG4gICAgICBjb2xvcjogI2ZmYWUwMDsgfVxuICAgICAgLmJ1dHRvbi5ob2xsb3cud2FybmluZzpob3ZlciwgLmJ1dHRvbi5ob2xsb3cud2FybmluZzpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzgwNTcwMDtcbiAgICAgICAgY29sb3I6ICM4MDU3MDA7IH1cbiAgICAgICAgLmJ1dHRvbi5ob2xsb3cud2FybmluZzpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cud2FybmluZzpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93Lndhcm5pbmc6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93Lndhcm5pbmc6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZmZhZTAwO1xuICAgICAgICAgIGNvbG9yOiAjZmZhZTAwOyB9XG4gICAgLmJ1dHRvbi5ob2xsb3cuYWxlcnQge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2YwMTQxNDtcbiAgICAgIGNvbG9yOiAjZjAxNDE0OyB9XG4gICAgICAuYnV0dG9uLmhvbGxvdy5hbGVydDpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuYWxlcnQ6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICM3YTA4MDg7XG4gICAgICAgIGNvbG9yOiAjN2EwODA4OyB9XG4gICAgICAgIC5idXR0b24uaG9sbG93LmFsZXJ0OmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy5hbGVydDpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93LmFsZXJ0OmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy5hbGVydDpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNmMDE0MTQ7XG4gICAgICAgICAgY29sb3I6ICNmMDE0MTQ7IH1cbiAgLmJ1dHRvbi5jbGVhciB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzE3NzliYTtcbiAgICBjb2xvcjogIzE3NzliYTsgfVxuICAgIC5idXR0b24uY2xlYXIsIC5idXR0b24uY2xlYXI6aG92ZXIsIC5idXR0b24uY2xlYXI6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAuYnV0dG9uLmNsZWFyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLmNsZWFyLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLmNsZWFyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhcltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uY2xlYXJbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmJ1dHRvbi5jbGVhcjpob3ZlciwgLmJ1dHRvbi5jbGVhcjpmb2N1cyB7XG4gICAgICBib3JkZXItY29sb3I6ICMwYzNkNWQ7XG4gICAgICBjb2xvcjogIzBjM2Q1ZDsgfVxuICAgICAgLmJ1dHRvbi5jbGVhcjpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhcjpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXI6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXI6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzE3NzliYTtcbiAgICAgICAgY29sb3I6ICMxNzc5YmE7IH1cbiAgICAuYnV0dG9uLmNsZWFyLCAuYnV0dG9uLmNsZWFyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhcjpob3ZlciwgLmJ1dHRvbi5jbGVhcjpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhcjpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXI6Zm9jdXMsIC5idXR0b24uY2xlYXI6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXI6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAuYnV0dG9uLmNsZWFyLnByaW1hcnkge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzE3NzliYTtcbiAgICAgIGNvbG9yOiAjMTc3OWJhOyB9XG4gICAgICAuYnV0dG9uLmNsZWFyLnByaW1hcnk6aG92ZXIsIC5idXR0b24uY2xlYXIucHJpbWFyeTpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzBjM2Q1ZDtcbiAgICAgICAgY29sb3I6ICMwYzNkNWQ7IH1cbiAgICAgICAgLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnByaW1hcnk6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLnByaW1hcnk6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIucHJpbWFyeTpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMxNzc5YmE7XG4gICAgICAgICAgY29sb3I6ICMxNzc5YmE7IH1cbiAgICAgIC5idXR0b24uY2xlYXIucHJpbWFyeSwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5LmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnByaW1hcnlbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLnByaW1hcnk6aG92ZXIsIC5idXR0b24uY2xlYXIucHJpbWFyeTpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmZvY3VzLCAuYnV0dG9uLmNsZWFyLnByaW1hcnk6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIucHJpbWFyeTpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnkge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzc2NzY3NjtcbiAgICAgIGNvbG9yOiAjNzY3Njc2OyB9XG4gICAgICAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpob3ZlciwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICMzYjNiM2I7XG4gICAgICAgIGNvbG9yOiAjM2IzYjNiOyB9XG4gICAgICAgIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM3Njc2NzY7XG4gICAgICAgICAgY29sb3I6ICM3Njc2NzY7IH1cbiAgICAgIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5LCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeS5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnlbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpob3ZlciwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6Zm9jdXMsIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmJ1dHRvbi5jbGVhci5zdWNjZXNzIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMzOWFhNDc7XG4gICAgICBjb2xvcjogIzM5YWE0NzsgfVxuICAgICAgLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmhvdmVyLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICMxZDU1MjQ7XG4gICAgICAgIGNvbG9yOiAjMWQ1NTI0OyB9XG4gICAgICAgIC5idXR0b24uY2xlYXIuc3VjY2Vzczpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjMzlhYTQ3O1xuICAgICAgICAgIGNvbG9yOiAjMzlhYTQ3OyB9XG4gICAgICAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3MsIC5idXR0b24uY2xlYXIuc3VjY2Vzcy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5zdWNjZXNzW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmhvdmVyLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuc3VjY2Vzczpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIuc3VjY2Vzczpmb2N1cywgLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5idXR0b24uY2xlYXIud2FybmluZyB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjZmZhZTAwO1xuICAgICAgY29sb3I6ICNmZmFlMDA7IH1cbiAgICAgIC5idXR0b24uY2xlYXIud2FybmluZzpob3ZlciwgLmJ1dHRvbi5jbGVhci53YXJuaW5nOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjODA1NzAwO1xuICAgICAgICBjb2xvcjogIzgwNTcwMDsgfVxuICAgICAgICAuYnV0dG9uLmNsZWFyLndhcm5pbmc6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIud2FybmluZzpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIud2FybmluZzpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci53YXJuaW5nOmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2ZmYWUwMDtcbiAgICAgICAgICBjb2xvcjogI2ZmYWUwMDsgfVxuICAgICAgLmJ1dHRvbi5jbGVhci53YXJuaW5nLCAuYnV0dG9uLmNsZWFyLndhcm5pbmcuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIud2FybmluZ1tkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIud2FybmluZzpob3ZlciwgLmJ1dHRvbi5jbGVhci53YXJuaW5nOmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLndhcm5pbmc6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLndhcm5pbmc6Zm9jdXMsIC5idXR0b24uY2xlYXIud2FybmluZzpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci53YXJuaW5nOmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAuYnV0dG9uLmNsZWFyLmFsZXJ0IHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNmMDE0MTQ7XG4gICAgICBjb2xvcjogI2YwMTQxNDsgfVxuICAgICAgLmJ1dHRvbi5jbGVhci5hbGVydDpob3ZlciwgLmJ1dHRvbi5jbGVhci5hbGVydDpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzdhMDgwODtcbiAgICAgICAgY29sb3I6ICM3YTA4MDg7IH1cbiAgICAgICAgLmJ1dHRvbi5jbGVhci5hbGVydDpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5hbGVydDpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIuYWxlcnQ6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuYWxlcnQ6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZjAxNDE0O1xuICAgICAgICAgIGNvbG9yOiAjZjAxNDE0OyB9XG4gICAgICAuYnV0dG9uLmNsZWFyLmFsZXJ0LCAuYnV0dG9uLmNsZWFyLmFsZXJ0LmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLmFsZXJ0W2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5hbGVydDpob3ZlciwgLmJ1dHRvbi5jbGVhci5hbGVydDpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5hbGVydDpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIuYWxlcnQ6Zm9jdXMsIC5idXR0b24uY2xlYXIuYWxlcnQ6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuYWxlcnQ6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAuYnV0dG9uLmRyb3Bkb3duOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgMC40ZW07XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICNmZWZlZmUgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMC40ZW07XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBtYXJnaW4tbGVmdDogMWVtOyB9XG4gIC5idXR0b24uZHJvcGRvd24uaG9sbG93OjphZnRlciB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogIzE3NzliYTsgfVxuICAuYnV0dG9uLmRyb3Bkb3duLmhvbGxvdy5wcmltYXJ5OjphZnRlciB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogIzE3NzliYTsgfVxuICAuYnV0dG9uLmRyb3Bkb3duLmhvbGxvdy5zZWNvbmRhcnk6OmFmdGVyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjNzY3Njc2OyB9XG4gIC5idXR0b24uZHJvcGRvd24uaG9sbG93LnN1Y2Nlc3M6OmFmdGVyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjMzlhYTQ3OyB9XG4gIC5idXR0b24uZHJvcGRvd24uaG9sbG93Lndhcm5pbmc6OmFmdGVyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjZmZhZTAwOyB9XG4gIC5idXR0b24uZHJvcGRvd24uaG9sbG93LmFsZXJ0OjphZnRlciB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogI2YwMTQxNDsgfVxuICAuYnV0dG9uLmFycm93LW9ubHk6OmFmdGVyIHtcbiAgICB0b3A6IC0wLjFlbTtcbiAgICBmbG9hdDogbm9uZTtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuXG5hLmJ1dHRvbjpob3ZlciwgYS5idXR0b246Zm9jdXMge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLnNsaWRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwLjVyZW07XG4gIG1hcmdpbi10b3A6IDEuMjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDIuMjVyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHRvdWNoLWFjdGlvbjogbm9uZTsgfVxuXG4uc2xpZGVyLWZpbGwge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMC41cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2FjYWNhO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDsgfVxuICAuc2xpZGVyLWZpbGwuaXMtZHJhZ2dpbmcge1xuICAgIHRyYW5zaXRpb246IGFsbCAwcyBsaW5lYXI7IH1cblxuLnNsaWRlci1oYW5kbGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDE7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDEuNHJlbTtcbiAgaGVpZ2h0OiAxLjRyZW07XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzE3NzliYTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG4gIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAuc2xpZGVyLWhhbmRsZSB7XG4gICAgb3V0bGluZTogMDsgfVxuICAuc2xpZGVyLWhhbmRsZTpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzE0Njc5ZTsgfVxuICAuc2xpZGVyLWhhbmRsZS5pcy1kcmFnZ2luZyB7XG4gICAgdHJhbnNpdGlvbjogYWxsIDBzIGxpbmVhcjsgfVxuXG4uc2xpZGVyLmRpc2FibGVkLFxuLnNsaWRlcltkaXNhYmxlZF0ge1xuICBvcGFjaXR5OiAwLjI1O1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG5cbi5zbGlkZXIudmVydGljYWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAwLjVyZW07XG4gIGhlaWdodDogMTIuNXJlbTtcbiAgbWFyZ2luOiAwIDEuMjVyZW07XG4gIHRyYW5zZm9ybTogc2NhbGUoMSwgLTEpOyB9XG4gIC5zbGlkZXIudmVydGljYWwgLnNsaWRlci1maWxsIHtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDAuNXJlbTtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlOyB9XG4gIC5zbGlkZXIudmVydGljYWwgLnNsaWRlci1oYW5kbGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogNTAlO1xuICAgIHdpZHRoOiAxLjRyZW07XG4gICAgaGVpZ2h0OiAxLjRyZW07XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpOyB9XG5cbi5tZWRpYS1vYmplY3Qge1xuICBkaXNwbGF5OiBmbGV4O1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBmbGV4LXdyYXA6IG5vd3JhcDsgfVxuICAubWVkaWEtb2JqZWN0IGltZyB7XG4gICAgbWF4LXdpZHRoOiBub25lOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgIC5tZWRpYS1vYmplY3Quc3RhY2stZm9yLXNtYWxsIHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgIC5tZWRpYS1vYmplY3Quc3RhY2stZm9yLXNtYWxsIC5tZWRpYS1vYmplY3Qtc2VjdGlvbiB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgcGFkZGluZy1ib3R0b206IDFyZW07XG4gICAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gICAgICAubWVkaWEtb2JqZWN0LnN0YWNrLWZvci1zbWFsbCAubWVkaWEtb2JqZWN0LXNlY3Rpb24gaW1nIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuXG4ubWVkaWEtb2JqZWN0LXNlY3Rpb24ge1xuICBmbGV4OiAwIDEgYXV0bzsgfVxuICAubWVkaWEtb2JqZWN0LXNlY3Rpb246Zmlyc3QtY2hpbGQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDFyZW07IH1cbiAgLm1lZGlhLW9iamVjdC1zZWN0aW9uOmxhc3QtY2hpbGQ6bm90KDpudGgtY2hpbGQoMikpIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDFyZW07IH1cbiAgLm1lZGlhLW9iamVjdC1zZWN0aW9uID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLm1lZGlhLW9iamVjdC1zZWN0aW9uLm1haW4tc2VjdGlvbiB7XG4gICAgZmxleDogMSAxIDBweDsgfVxuXG5ib2R5LmlzLXJldmVhbC1vcGVuIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG5odG1sLmlzLXJldmVhbC1vcGVuLFxuaHRtbC5pcy1yZXZlYWwtb3BlbiBib2R5IHtcbiAgbWluLWhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB1c2VyLXNlbGVjdDogbm9uZTsgfVxuXG4ucmV2ZWFsLW92ZXJsYXkge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTAwNTtcbiAgZGlzcGxheTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMCwgMTAsIDEwLCAwLjQ1KTtcbiAgb3ZlcmZsb3cteTogc2Nyb2xsOyB9XG5cbi5yZXZlYWwge1xuICB6LWluZGV4OiAxMDA2O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6IDFyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjYWNhY2E7XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IDEwMHB4O1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBvdmVyZmxvdy15OiBhdXRvOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAucmV2ZWFsIHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnJldmVhbCB7XG4gICAgICBtaW4taGVpZ2h0OiAwOyB9IH1cbiAgLnJldmVhbCAuY29sdW1uLCAucmV2ZWFsIC5jb2x1bW5zIHtcbiAgICBtaW4td2lkdGg6IDA7IH1cbiAgLnJldmVhbCA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnJldmVhbCB7XG4gICAgICB3aWR0aDogNjAwcHg7XG4gICAgICBtYXgtd2lkdGg6IDU1LjYyNXJlbTsgfSB9XG4gIC5yZXZlYWwuY29sbGFwc2Uge1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucmV2ZWFsLnRpbnkge1xuICAgICAgd2lkdGg6IDMwJTtcbiAgICAgIG1heC13aWR0aDogNTUuNjI1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucmV2ZWFsLnNtYWxsIHtcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgICBtYXgtd2lkdGg6IDU1LjYyNXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnJldmVhbC5sYXJnZSB7XG4gICAgICB3aWR0aDogOTAlO1xuICAgICAgbWF4LXdpZHRoOiA1NS42MjVyZW07IH0gfVxuICAucmV2ZWFsLmZ1bGwge1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDB2aDtcbiAgICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAucmV2ZWFsIHtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwdmg7XG4gICAgICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgYm9yZGVyLXJhZGl1czogMDsgfSB9XG4gIC5yZXZlYWwud2l0aG91dC1vdmVybGF5IHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7IH1cblxuLmNhbGxvdXQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogMCAwIDFyZW0gMDtcbiAgcGFkZGluZzogMXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgxMCwgMTAsIDEwLCAwLjI1KTtcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgY29sb3I6ICMwYTBhMGE7IH1cbiAgLmNhbGxvdXQgPiA6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgLmNhbGxvdXQgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAuY2FsbG91dC5wcmltYXJ5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDdlY2ZhO1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gIC5jYWxsb3V0LnNlY29uZGFyeSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VhZWFlYTtcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAuY2FsbG91dC5zdWNjZXNzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGZmNGUyO1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gIC5jYWxsb3V0Lndhcm5pbmcge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmYzZDk7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgLmNhbGxvdXQuYWxlcnQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZGRjZGM7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgLmNhbGxvdXQuc21hbGwge1xuICAgIHBhZGRpbmctdG9wOiAwLjVyZW07XG4gICAgcGFkZGluZy1yaWdodDogMC41cmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAwLjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjVyZW07IH1cbiAgLmNhbGxvdXQubGFyZ2Uge1xuICAgIHBhZGRpbmctdG9wOiAzcmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDNyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDNyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAzcmVtOyB9XG5cblt0eXBlPSd0ZXh0J10sIFt0eXBlPSdwYXNzd29yZCddLCBbdHlwZT0nZGF0ZSddLCBbdHlwZT0nZGF0ZXRpbWUnXSwgW3R5cGU9J2RhdGV0aW1lLWxvY2FsJ10sIFt0eXBlPSdtb250aCddLCBbdHlwZT0nd2VlayddLCBbdHlwZT0nZW1haWwnXSwgW3R5cGU9J251bWJlciddLCBbdHlwZT0nc2VhcmNoJ10sIFt0eXBlPSd0ZWwnXSwgW3R5cGU9J3RpbWUnXSwgW3R5cGU9J3VybCddLCBbdHlwZT0nY29sb3InXSxcbnRleHRhcmVhIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDIuNDM3NXJlbTtcbiAgbWFyZ2luOiAwIDAgMXJlbTtcbiAgcGFkZGluZzogMC41cmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2FjYWNhO1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDJweCByZ2JhKDEwLCAxMCwgMTAsIDAuMSk7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXNpemU6IDFyZW07XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGNvbG9yOiAjMGEwYTBhO1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dDtcbiAgYXBwZWFyYW5jZTogbm9uZTsgfVxuICBbdHlwZT0ndGV4dCddOmZvY3VzLCBbdHlwZT0ncGFzc3dvcmQnXTpmb2N1cywgW3R5cGU9J2RhdGUnXTpmb2N1cywgW3R5cGU9J2RhdGV0aW1lJ106Zm9jdXMsIFt0eXBlPSdkYXRldGltZS1sb2NhbCddOmZvY3VzLCBbdHlwZT0nbW9udGgnXTpmb2N1cywgW3R5cGU9J3dlZWsnXTpmb2N1cywgW3R5cGU9J2VtYWlsJ106Zm9jdXMsIFt0eXBlPSdudW1iZXInXTpmb2N1cywgW3R5cGU9J3NlYXJjaCddOmZvY3VzLCBbdHlwZT0ndGVsJ106Zm9jdXMsIFt0eXBlPSd0aW1lJ106Zm9jdXMsIFt0eXBlPSd1cmwnXTpmb2N1cywgW3R5cGU9J2NvbG9yJ106Zm9jdXMsXG4gIHRleHRhcmVhOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICM4YThhOGE7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgICBib3gtc2hhZG93OiAwIDAgNXB4ICNjYWNhY2E7XG4gICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQ7IH1cblxudGV4dGFyZWEge1xuICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgdGV4dGFyZWFbcm93c10ge1xuICAgIGhlaWdodDogYXV0bzsgfVxuXG5pbnB1dDo6cGxhY2Vob2xkZXIsXG50ZXh0YXJlYTo6cGxhY2Vob2xkZXIge1xuICBjb2xvcjogI2NhY2FjYTsgfVxuXG5pbnB1dDpkaXNhYmxlZCwgaW5wdXRbcmVhZG9ubHldLFxudGV4dGFyZWE6ZGlzYWJsZWQsXG50ZXh0YXJlYVtyZWFkb25seV0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2O1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG5cblt0eXBlPSdzdWJtaXQnXSxcblt0eXBlPSdidXR0b24nXSB7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDVweDsgfVxuXG5pbnB1dFt0eXBlPSdzZWFyY2gnXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cblxuW3R5cGU9J2ZpbGUnXSxcblt0eXBlPSdjaGVja2JveCddLFxuW3R5cGU9J3JhZGlvJ10ge1xuICBtYXJnaW46IDAgMCAxcmVtOyB9XG5cblt0eXBlPSdjaGVja2JveCddICsgbGFiZWwsXG5bdHlwZT0ncmFkaW8nXSArIGxhYmVsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG4gIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICBbdHlwZT0nY2hlY2tib3gnXSArIGxhYmVsW2Zvcl0sXG4gIFt0eXBlPSdyYWRpbyddICsgbGFiZWxbZm9yXSB7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbmxhYmVsID4gW3R5cGU9J2NoZWNrYm94J10sXG5sYWJlbCA+IFt0eXBlPSdyYWRpbyddIHtcbiAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07IH1cblxuW3R5cGU9J2ZpbGUnXSB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbmxhYmVsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDEuODtcbiAgY29sb3I6ICMwYTBhMGE7IH1cbiAgbGFiZWwubWlkZGxlIHtcbiAgICBtYXJnaW46IDAgMCAxcmVtO1xuICAgIHBhZGRpbmc6IDAuNTYyNXJlbSAwOyB9XG5cbi5oZWxwLXRleHQge1xuICBtYXJnaW4tdG9wOiAtMC41cmVtO1xuICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBjb2xvcjogIzBhMGEwYTsgfVxuXG4uaW5wdXQtZ3JvdXAge1xuICBkaXNwbGF5OiBmbGV4O1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7IH1cbiAgLmlucHV0LWdyb3VwID4gOmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItcmFkaXVzOiA1cHggMCAwIDVweDsgfVxuICAuaW5wdXQtZ3JvdXAgPiA6bGFzdC1jaGlsZCA+ICoge1xuICAgIGJvcmRlci1yYWRpdXM6IDAgNXB4IDVweCAwOyB9XG5cbi5pbnB1dC1ncm91cC1sYWJlbCwgLmlucHV0LWdyb3VwLWZpZWxkLCAuaW5wdXQtZ3JvdXAtYnV0dG9uLCAuaW5wdXQtZ3JvdXAtYnV0dG9uIGEsXG4uaW5wdXQtZ3JvdXAtYnV0dG9uIGlucHV0LFxuLmlucHV0LWdyb3VwLWJ1dHRvbiBidXR0b24sXG4uaW5wdXQtZ3JvdXAtYnV0dG9uIGxhYmVsIHtcbiAgbWFyZ2luOiAwO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG5cbi5pbnB1dC1ncm91cC1sYWJlbCB7XG4gIHBhZGRpbmc6IDAgMXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NhY2FjYTtcbiAgYmFja2dyb3VuZDogI2U2ZTZlNjtcbiAgY29sb3I6ICMwYTBhMGE7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleDogMCAwIGF1dG87XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLmlucHV0LWdyb3VwLWxhYmVsOmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItcmlnaHQ6IDA7IH1cbiAgLmlucHV0LWdyb3VwLWxhYmVsOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1sZWZ0OiAwOyB9XG5cbi5pbnB1dC1ncm91cC1maWVsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGZsZXg6IDEgMSAwcHg7XG4gIGhlaWdodDogYXV0bztcbiAgbWluLXdpZHRoOiAwOyB9XG5cbi5pbnB1dC1ncm91cC1idXR0b24ge1xuICBwYWRkaW5nLXRvcDogMDtcbiAgcGFkZGluZy1ib3R0b206IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleDogMCAwIGF1dG87IH1cbiAgLmlucHV0LWdyb3VwLWJ1dHRvbiBhLFxuICAuaW5wdXQtZ3JvdXAtYnV0dG9uIGlucHV0LFxuICAuaW5wdXQtZ3JvdXAtYnV0dG9uIGJ1dHRvbixcbiAgLmlucHV0LWdyb3VwLWJ1dHRvbiBsYWJlbCB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgZm9udC1zaXplOiAxcmVtOyB9XG5cbmZpZWxkc2V0IHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7IH1cblxubGVnZW5kIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cblxuLmZpZWxkc2V0IHtcbiAgbWFyZ2luOiAxLjEyNXJlbSAwO1xuICBwYWRkaW5nOiAxLjI1cmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2FjYWNhOyB9XG4gIC5maWVsZHNldCBsZWdlbmQge1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tbGVmdDogLTAuMTg3NXJlbTtcbiAgICBwYWRkaW5nOiAwIDAuMTg3NXJlbTsgfVxuXG5zZWxlY3Qge1xuICBoZWlnaHQ6IDIuNDM3NXJlbTtcbiAgbWFyZ2luOiAwIDAgMXJlbTtcbiAgcGFkZGluZzogMC41cmVtO1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2FjYWNhO1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXNpemU6IDFyZW07XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGNvbG9yOiAjMGEwYTBhO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgdmVyc2lvbj0nMS4xJyB3aWR0aD0nMzInIGhlaWdodD0nMjQnIHZpZXdCb3g9JzAgMCAzMiAyNCc+PHBvbHlnb24gcG9pbnRzPScwLDAgMzIsMCAxNiwyNCcgc3R5bGU9J2ZpbGw6IHJnYiUyODEzOCwgMTM4LCAxMzglMjknPjwvcG9seWdvbj48L3N2Zz5cIik7XG4gIGJhY2tncm91bmQtb3JpZ2luOiBjb250ZW50LWJveDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgLTFyZW0gY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IDlweCA2cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTtcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMFxcMCkge1xuICAgIHNlbGVjdCB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQVlDQVlBQUFDYlUvODBBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQUlwSlJFRlVlTnJFa2NrTmdEQU1CQmZSa0V0ME9iUkJCZHNHWFVEZ21RZks0WGhIMm04Y3pRQUF5MjdSM3RzdzRRZmUyeDh1T082b1lMYjZHbE9vcjNHRitzd1VSQU9tVUorUnd0RUpzOVd2VEdFWXhCWHFJMU1RQVpoQ2ZVUUtSekRNVmorVHdyQUlWNmp2U1VFa1lBcjFMU2tjeVRCYi9WK0tZZlg3eEFldXNxM3NMRHRHSDNrRUdBQ1BXSWZsTlpmaFJRQUFBQUJKUlU1RXJrSmdnZz09XCIpOyB9IH1cbiAgc2VsZWN0OmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICM4YThhOGE7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgICBib3gtc2hhZG93OiAwIDAgNXB4ICNjYWNhY2E7XG4gICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQ7IH1cbiAgc2VsZWN0OmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2O1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgc2VsZWN0OjotbXMtZXhwYW5kIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIHNlbGVjdFttdWx0aXBsZV0ge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lOyB9XG5cbi5pcy1pbnZhbGlkLWlucHV0Om5vdCg6Zm9jdXMpIHtcbiAgYm9yZGVyLWNvbG9yOiAjZmVmZWZlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlOyB9XG4gIC5pcy1pbnZhbGlkLWlucHV0Om5vdCg6Zm9jdXMpOjpwbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cblxuLmlzLWludmFsaWQtbGFiZWwge1xuICBjb2xvcjogI2YwMTQxNDsgfVxuXG4uZm9ybS1lcnJvciB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG1hcmdpbi10b3A6IC0wLjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAjZjAxNDE0OyB9XG4gIC5mb3JtLWVycm9yLmlzLXZpc2libGUge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5yZXNwb25zaXZlLWVtYmVkLFxuLmZsZXgtdmlkZW8ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDc1JTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAucmVzcG9uc2l2ZS1lbWJlZCBpZnJhbWUsXG4gIC5yZXNwb25zaXZlLWVtYmVkIG9iamVjdCxcbiAgLnJlc3BvbnNpdmUtZW1iZWQgZW1iZWQsXG4gIC5yZXNwb25zaXZlLWVtYmVkIHZpZGVvLFxuICAuZmxleC12aWRlbyBpZnJhbWUsXG4gIC5mbGV4LXZpZGVvIG9iamVjdCxcbiAgLmZsZXgtdmlkZW8gZW1iZWQsXG4gIC5mbGV4LXZpZGVvIHZpZGVvIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlOyB9XG4gIC5yZXNwb25zaXZlLWVtYmVkLndpZGVzY3JlZW4sXG4gIC5mbGV4LXZpZGVvLndpZGVzY3JlZW4ge1xuICAgIHBhZGRpbmctYm90dG9tOiA1Ni4yNSU7IH1cblxuLmZvdW5kYXRpb24tbXEge1xuICBmb250LWZhbWlseTogXCJzbWFsbD0wZW0mbWVkaXVtPTQwZW0mbGFyZ2U9NjRlbSZ4bGFyZ2U9NzVlbSZ4eGxhcmdlPTkwZW1cIjsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdOZXVlU2Fuc1Byby1CbGFjayc7XG4gIHNyYzogdXJsKFwiLy5yZXNvdXJjZXMvYmItcHJvLXNlbmVjdHV0ZS10aGVtZS93ZWJyZXNvdXJjZXMvZm9udHMvTmV1ZVNhbnNQcm8tQmxhY2sub3RmXCIpIGZvcm1hdChcIm9wZW50eXBlXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ05ldWVTYW5zUHJvLUJsYWNrSXRhbGljJztcbiAgc3JjOiB1cmwoXCIvLnJlc291cmNlcy9iYi1wcm8tc2VuZWN0dXRlLXRoZW1lL3dlYnJlc291cmNlcy9mb250cy9OZXVlU2Fuc1Byby1CbGFja0l0YWxpYy5vdGZcIikgZm9ybWF0KFwib3BlbnR5cGVcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnTmV1ZVNhbnNQcm8tQm9sZCc7XG4gIHNyYzogdXJsKFwiLy5yZXNvdXJjZXMvYmItcHJvLXNlbmVjdHV0ZS10aGVtZS93ZWJyZXNvdXJjZXMvZm9udHMvTmV1ZVNhbnNQcm8tQm9sZC5vdGZcIikgZm9ybWF0KFwib3BlbnR5cGVcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnTmV1ZVNhbnNQcm8tQm9sZEl0YWxpYyc7XG4gIHNyYzogdXJsKFwiLy5yZXNvdXJjZXMvYmItcHJvLXNlbmVjdHV0ZS10aGVtZS93ZWJyZXNvdXJjZXMvZm9udHMvTmV1ZVNhbnNQcm8tQm9sZEl0YWxpYy5vdGZcIikgZm9ybWF0KFwib3BlbnR5cGVcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnTmV1ZVNhbnNQcm8tTGlnaHQnO1xuICBzcmM6IHVybChcIi8ucmVzb3VyY2VzL2JiLXByby1zZW5lY3R1dGUtdGhlbWUvd2VicmVzb3VyY2VzL2ZvbnRzL05ldWVTYW5zUHJvLUxpZ2h0Lm90ZlwiKSBmb3JtYXQoXCJvcGVudHlwZVwiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdOZXVlU2Fuc1Byby1MaWdodEl0YWxpYyc7XG4gIHNyYzogdXJsKFwiLy5yZXNvdXJjZXMvYmItcHJvLXNlbmVjdHV0ZS10aGVtZS93ZWJyZXNvdXJjZXMvZm9udHMvTmV1ZVNhbnNQcm8tTGlnaHRJdGFsaWMub3RmXCIpIGZvcm1hdChcIm9wZW50eXBlXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ05ldWVTYW5zUHJvLU5vcm1hbCc7XG4gIHNyYzogdXJsKFwiLy5yZXNvdXJjZXMvYmItcHJvLXNlbmVjdHV0ZS10aGVtZS93ZWJyZXNvdXJjZXMvZm9udHMvTmV1ZVNhbnNQcm8tTm9ybWFsLm90ZlwiKSBmb3JtYXQoXCJvcGVudHlwZVwiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdOZXVlU2Fuc1Byby1Ob3JtYWxJdGFsaWMnO1xuICBzcmM6IHVybChcIi8ucmVzb3VyY2VzL2JiLXByby1zZW5lY3R1dGUtdGhlbWUvd2VicmVzb3VyY2VzL2ZvbnRzL05ldWVTYW5zUHJvLU5vcm1hbEl0YWxpYy5vdGZcIikgZm9ybWF0KFwib3BlbnR5cGVcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnTmV1ZVNhbnNQcm8tU2VtaUJvbGQnO1xuICBzcmM6IHVybChcIi8ucmVzb3VyY2VzL2JiLXByby1zZW5lY3R1dGUtdGhlbWUvd2VicmVzb3VyY2VzL2ZvbnRzL05ldWVTYW5zUHJvLVNlbWlCb2xkLm90ZlwiKSBmb3JtYXQoXCJvcGVudHlwZVwiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdOZXVlU2Fuc1Byby1TZW1pQm9sZEl0YWxpYyc7XG4gIHNyYzogdXJsKFwiLy5yZXNvdXJjZXMvYmItcHJvLXNlbmVjdHV0ZS10aGVtZS93ZWJyZXNvdXJjZXMvZm9udHMvTmV1ZVNhbnNQcm8tU2VtaUJvbGRJdGFsaWMub3RmXCIpIGZvcm1hdChcIm9wZW50eXBlXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ05ldWVTYW5zUHJvLVRoaW4nO1xuICBzcmM6IHVybChcIi8ucmVzb3VyY2VzL2JiLXByby1zZW5lY3R1dGUtdGhlbWUvd2VicmVzb3VyY2VzL2ZvbnRzL05ldWVTYW5zUHJvLVRoaW4ub3RmXCIpIGZvcm1hdChcIm9wZW50eXBlXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ05ldWVTYW5zUHJvLVRoaW5JdGFsaWMnO1xuICBzcmM6IHVybChcIi8ucmVzb3VyY2VzL2JiLXByby1zZW5lY3R1dGUtdGhlbWUvd2VicmVzb3VyY2VzL2ZvbnRzL05ldWVTYW5zUHJvLVRoaW5JdGFsaWMub3RmXCIpIGZvcm1hdChcIm9wZW50eXBlXCIpOyB9XG5cbjpyb290IHtcbiAgLS1mb250RmFtaWx5OiBcInZlcmRhbmFcIiwgXCJoZWx2ZXRpY2FcIiwgc2Fucy1zZXJpZjsgfVxuXG4qIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuXG46cm9vdCB7XG4gIC0tYm94LXNoYWRvdzogMCAwIDdweCByZ2JhKDIwLCAyMCwgMjAsIDAuMyk7IH1cblxuOjpzZWxlY3Rpb24ge1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgYmFja2dyb3VuZDogIzAwNkY2OTsgfVxuXG46Oi1tb3otc2VsZWN0aW9uIHtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIGJhY2tncm91bmQ6ICMwMDZGNjk7IH1cblxuYm9keSB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YzZjNmMztcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMnJlbTtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnRGYW1pbHkpO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBvdmVyZmxvdy14OiBoaWRkZW47IH1cblxudWwge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7IH1cblxubGkge1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7IH1cblxuc3Bhbi50aXRsZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjVyZW07XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250RmFtaWx5KTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuXG5oMSB7XG4gIGZvbnQtc2l6ZTogMi41cmVtO1xuICBjb2xvcjogIzAwNkY2OTtcbiAgbGluZS1oZWlnaHQ6IDNyZW07XG4gIGZvbnQtZmFtaWx5OiBOZXVlU2Fuc1Byby1TZW1pQm9sZCwgSGVsdmV0aXZhLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsZXR0ZXItc3BhY2luZzogMC42cHg7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDJyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgaDEge1xuICAgICAgZm9udC1zaXplOiAycmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfSB9XG4gICNmb290ZXIgaDEge1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNDM3NXJlbTtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udEZhbWlseSk7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuaDIge1xuICBmb250LXNpemU6IDEuODc1cmVtO1xuICBjb2xvcjogIzAwNkY2OTtcbiAgbGluZS1oZWlnaHQ6IDIuMjVyZW07XG4gIGZvbnQtZmFtaWx5OiBOZXVlU2Fuc1Byby1TZW1pQm9sZCwgSGVsdmV0aXZhLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsZXR0ZXItc3BhY2luZzogMC43cHg7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfVxuICAjZm9vdGVyIGgyIHtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQzNzVyZW07XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnRGYW1pbHkpO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIG1hcmdpbi1ib3R0b206IDAuNzVyZW07IH1cblxuaDMsXG5oNCxcbmg1IHtcbiAgZm9udC1zaXplOiAxLjYyNXJlbTtcbiAgY29sb3I6ICMwMDZGNjk7XG4gIGxpbmUtaGVpZ2h0OiAxLjk1cmVtO1xuICBmb250LWZhbWlseTogTmV1ZVNhbnNQcm8tU2VtaUJvbGQsIEhlbHZldGl2YSwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuN3B4O1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwLjgxMjVyZW07IH1cbiAgI2Zvb3RlciBoMywgI2Zvb3RlclxuICBoNCwgI2Zvb3RlclxuICBoNSB7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS40Mzc1cmVtO1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250RmFtaWx5KTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjM3NXJlbTsgfVxuXG5oMSxcbmgyLFxuaDMsXG5oNCxcbmg1IHtcbiAgaHlwaGVuczogYXV0bzsgfVxuICBoMSBhLFxuICBoMiBhLFxuICBoMyBhLFxuICBoNCBhLFxuICBoNSBhIHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICBoeXBoZW5zOiBhdXRvO1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbnAubGVhZCB7XG4gIGZvbnQtc2l6ZTogMS4zcmVtO1xuICBjb2xvcjogIzE0MTQxNDtcbiAgbGluZS1oZWlnaHQ6IDEuOHJlbTtcbiAgZm9udC1mYW1pbHk6IE5ldWVTYW5zUHJvLVNlbWlCb2xkLCBIZWx2ZXRpdmEsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxldHRlci1zcGFjaW5nOiAwLjZweDtcbiAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07IH1cbiAgI2Zvb3RlciBwLmxlYWQge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNDM3NXJlbTtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udEZhbWlseSk7IH1cblxucCB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNXJlbTtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnRGYW1pbHkpO1xuICBtYXJnaW4tdG9wOiAwOyB9XG4gICNmb290ZXIgcCB7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS40Mzc1cmVtO1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250RmFtaWx5KTtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjc1cmVtOyB9XG5cbmxpIHtcbiAgbGluZS1oZWlnaHQ6IDEuNXJlbTsgfVxuXG5hIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbi50ZXh0IHAgKyB1bCwgLnRleHQgcCArIG9sIHtcbiAgbWFyZ2luLXRvcDogLTFyZW07IH1cblxuYnV0dG9uIHtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiBub25lO1xuICBmb250OiBpbmhlcml0O1xuICBjb2xvcjogaW5oZXJpdDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXI6IDA7IH1cblxuYnV0dG9uOmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTsgfVxuXG4ucy1tZ25sbGluayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgbGluZS1oZWlnaHQ6IDE1cHg7XG4gIGZvbnQtc2l6ZTogOXB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwM2UxZmY7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgcGFkZGluZzogMnB4IDVweCAycHggNXB4O1xuICBmb250LWZhbWlseTogVmVyZGFuYSwgc2Fucy1zZXJpZiAhaW1wb3J0YW50O1xuICB6LWluZGV4OiA5OTk5OTk5O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG5cbi50ZXh0IGxpIGEsXG4udGV4dCBwIGEge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgY29sb3I6ICMwMDZGNjk7IH1cbiAgLnRleHQgbGkgYTpob3ZlcixcbiAgLnRleHQgcCBhOmhvdmVyIHtcbiAgICBjb2xvcjogIzAwNWY1YTsgfVxuXG4udGV4dC5jb2xvciBwLCAudGV4dC5jb2xvciBzdHJvbmcsIC50ZXh0LmNvbG9yIGxpIHtcbiAgY29sb3I6IGluaGVyaXQ7IH1cblxuLnRleHQuY29sb3I6bm90KC5kZWZhdWx0KSBhIHtcbiAgY29sb3I6IGluaGVyaXQ7IH1cblxuLnRleHQgdWwsIC50ZXh0IG9sIHtcbiAgcGFkZGluZy1sZWZ0OiAxLjI1cmVtO1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG4gIC50ZXh0IHVsIGxpLCAudGV4dCBvbCBsaSB7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBpbmhlcml0O1xuICAgIG1hcmdpbi1ib3R0b206IDAuMTg3NXJlbTsgfVxuXG4udGV4dCB0YWJsZSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICMxNDE0MTQ7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7IH1cbiAgLnRleHQgdGFibGUgdGQsIC50ZXh0IHRhYmxlIHRoIHtcbiAgICBwYWRkaW5nOiAwLjQzNzVyZW07IH1cblxuaWZyYW1lIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGJvcmRlcjogbm9uZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAuc3BhY2VyLnNtYWxsLTEge1xuICAgIGhlaWdodDogMXJlbTsgfVxuICAuc3BhY2VyLnNtYWxsLTIge1xuICAgIGhlaWdodDogMnJlbTsgfVxuICAuc3BhY2VyLnNtYWxsLTMge1xuICAgIGhlaWdodDogM3JlbTsgfVxuICAuc3BhY2VyLnNtYWxsLTQge1xuICAgIGhlaWdodDogNHJlbTsgfVxuICAuc3BhY2VyLnNtYWxsLTUge1xuICAgIGhlaWdodDogNXJlbTsgfVxuICAuc3BhY2VyLnNtYWxsLTYge1xuICAgIGhlaWdodDogNnJlbTsgfVxuICAuc3BhY2VyLnNtYWxsLTcge1xuICAgIGhlaWdodDogN3JlbTsgfVxuICAuc3BhY2VyLnNtYWxsLTgge1xuICAgIGhlaWdodDogOHJlbTsgfVxuICAuc3BhY2VyLnNtYWxsLTkge1xuICAgIGhlaWdodDogOXJlbTsgfVxuICAuc3BhY2VyLnNtYWxsLTEwIHtcbiAgICBoZWlnaHQ6IDEwcmVtOyB9XG4gIC5zcGFjZXIuc21hbGwtMTEge1xuICAgIGhlaWdodDogMTFyZW07IH1cbiAgLnNwYWNlci5zbWFsbC0xMiB7XG4gICAgaGVpZ2h0OiAxMnJlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgLnNwYWNlci5tZWRpdW0tMSB7XG4gICAgaGVpZ2h0OiAxcmVtOyB9XG4gIC5zcGFjZXIubWVkaXVtLTIge1xuICAgIGhlaWdodDogMnJlbTsgfVxuICAuc3BhY2VyLm1lZGl1bS0zIHtcbiAgICBoZWlnaHQ6IDNyZW07IH1cbiAgLnNwYWNlci5tZWRpdW0tNCB7XG4gICAgaGVpZ2h0OiA0cmVtOyB9XG4gIC5zcGFjZXIubWVkaXVtLTUge1xuICAgIGhlaWdodDogNXJlbTsgfVxuICAuc3BhY2VyLm1lZGl1bS02IHtcbiAgICBoZWlnaHQ6IDZyZW07IH1cbiAgLnNwYWNlci5tZWRpdW0tNyB7XG4gICAgaGVpZ2h0OiA3cmVtOyB9XG4gIC5zcGFjZXIubWVkaXVtLTgge1xuICAgIGhlaWdodDogOHJlbTsgfVxuICAuc3BhY2VyLm1lZGl1bS05IHtcbiAgICBoZWlnaHQ6IDlyZW07IH1cbiAgLnNwYWNlci5tZWRpdW0tMTAge1xuICAgIGhlaWdodDogMTByZW07IH1cbiAgLnNwYWNlci5tZWRpdW0tMTEge1xuICAgIGhlaWdodDogMTFyZW07IH1cbiAgLnNwYWNlci5tZWRpdW0tMTIge1xuICAgIGhlaWdodDogMTJyZW07IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuc3BhY2VyLmxhcmdlLTEge1xuICAgIGhlaWdodDogMXJlbTsgfVxuICAuc3BhY2VyLmxhcmdlLTIge1xuICAgIGhlaWdodDogMnJlbTsgfVxuICAuc3BhY2VyLmxhcmdlLTMge1xuICAgIGhlaWdodDogM3JlbTsgfVxuICAuc3BhY2VyLmxhcmdlLTQge1xuICAgIGhlaWdodDogNHJlbTsgfVxuICAuc3BhY2VyLmxhcmdlLTUge1xuICAgIGhlaWdodDogNXJlbTsgfVxuICAuc3BhY2VyLmxhcmdlLTYge1xuICAgIGhlaWdodDogNnJlbTsgfVxuICAuc3BhY2VyLmxhcmdlLTcge1xuICAgIGhlaWdodDogN3JlbTsgfVxuICAuc3BhY2VyLmxhcmdlLTgge1xuICAgIGhlaWdodDogOHJlbTsgfVxuICAuc3BhY2VyLmxhcmdlLTkge1xuICAgIGhlaWdodDogOXJlbTsgfVxuICAuc3BhY2VyLmxhcmdlLTEwIHtcbiAgICBoZWlnaHQ6IDEwcmVtOyB9XG4gIC5zcGFjZXIubGFyZ2UtMTEge1xuICAgIGhlaWdodDogMTFyZW07IH1cbiAgLnNwYWNlci5sYXJnZS0xMiB7XG4gICAgaGVpZ2h0OiAxMnJlbTsgfSB9XG5cbmJvZHkgLnJldmVhbC1vdmVybGF5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjkpOyB9XG5cbmJvZHkgLnJldmVhbCB7XG4gIHdpZHRoOiAxMDB2dyAhaW1wb3J0YW50O1xuICBtYXgtd2lkdGg6IDEwMHZ3ICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogMTAwdmggIWltcG9ydGFudDtcbiAgbGluZS1oZWlnaHQ6IDEwMHZoO1xuICBib3JkZXI6IG5vbmU7XG4gIGJhY2tncm91bmQ6IG5vbmU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICBib2R5IC5yZXZlYWwge1xuICAgICAgcGFkZGluZzogMS44NzVyZW0gMy4xMjVyZW07IH0gfVxuICBib2R5IC5yZXZlYWwgPiAqIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgYm9keSAucmV2ZWFsID4gaW1nIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICBib2R5IC5yZXZlYWwgLmNsb3NlLWJ1dHRvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMS4yNXJlbTtcbiAgICByaWdodDogMS4yNXJlbTtcbiAgICBoZWlnaHQ6IDIuMTI1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI1cmVtO1xuICAgIHBhZGRpbmc6IDAuNDM3NXJlbTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgICBib2R5IC5yZXZlYWwgLmNsb3NlLWJ1dHRvbiBzdmcge1xuICAgICAgd2lkdGg6IDEuMjVyZW07XG4gICAgICBoZWlnaHQ6IDEuMjVyZW07IH1cblxuYm9keS5icm93biAjaGVhZGVyLCBib2R5LmJyb3duIGZvb3RlciNmb290ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjQjQ4MzhBOyB9XG5cbmJvZHkuZ3JlZW4gI2hlYWRlciwgYm9keS5ncmVlbiBmb290ZXIjZm9vdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzM5QUE0NzsgfVxuXG5ib2R5LmJsdWUgI2hlYWRlciwgYm9keS5ibHVlIGZvb3RlciNmb290ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjlBM0E5OyB9XG5cbmJvZHkuZGFya2JsdWUgI2hlYWRlciwgYm9keS5kYXJrYmx1ZSBmb290ZXIjZm9vdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwNkY2OTsgfVxuXG4uZG9uYXRlLWJ1dHRvbixcbi50b3RvcCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwNkY2OTtcbiAgYm9yZGVyLXJhZGl1czogMy43NXJlbTtcbiAgYm94LXNoYWRvdzogMCAwIDdweCByZ2JhKDIwLCAyMCwgMjAsIDAuMyk7XG4gIHBhZGRpbmc6IDAuODc1cmVtIDEuMjVyZW0gMC42ODc1cmVtIDEuMjVyZW07XG4gIHRyYW5zaXRpb246IGFsbCAzMDBtcyBlYXNlLWluLW91dDsgfVxuICAuZG9uYXRlLWJ1dHRvbiBzcGFuLFxuICAudG90b3Agc3BhbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luOiAwIDAuMTg3NXJlbTtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgbGluZS1oZWlnaHQ6IDEuMnJlbTtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udEZhbWlseSk7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuN3B4OyB9XG4gICAgLmRvbmF0ZS1idXR0b24gc3Bhbi5pY29uLFxuICAgIC50b3RvcCBzcGFuLmljb24ge1xuICAgICAgd2lkdGg6IDEuMjVyZW07XG4gICAgICBoZWlnaHQ6IDEuMjVyZW07XG4gICAgICBtYXJnaW4tdG9wOiAwLjA2MjVyZW07IH1cbiAgICAgIC5kb25hdGUtYnV0dG9uIHNwYW4uaWNvbiBzdmcsXG4gICAgICAudG90b3Agc3Bhbi5pY29uIHN2ZyB7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAgICAgICAuZG9uYXRlLWJ1dHRvbiBzcGFuLmljb24gc3ZnIHBhdGgsXG4gICAgICAgIC50b3RvcCBzcGFuLmljb24gc3ZnIHBhdGgge1xuICAgICAgICAgIGZpbGw6ICNmZmZmZmY7XG4gICAgICAgICAgc3Ryb2tlOiAjZmZmZmZmOyB9XG4gIC5kb25hdGUtYnV0dG9uOmhvdmVyLFxuICAudG90b3A6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDgzN2M7IH1cblxuLmRvbmF0ZS1tb2JpbGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDAuOTM3NXJlbTtcbiAgdG9wOiAwLjc1cmVtO1xuICB6LWluZGV4OiAxMDsgfVxuICAuZG9uYXRlLW1vYmlsZSAuZG9uYXRlLWJ1dHRvbiB7XG4gICAgcGFkZGluZzogMC42MjVyZW0gMC45Mzc1cmVtIDAuNjI1cmVtIDAuOTM3NXJlbTsgfVxuICAgIC5kb25hdGUtbW9iaWxlIC5kb25hdGUtYnV0dG9uIHNwYW4ge1xuICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICBsaW5lLWhlaWdodDogMS4ycmVtO1xuICAgICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnRGYW1pbHkpO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuN3B4OyB9XG4gICAgICAuZG9uYXRlLW1vYmlsZSAuZG9uYXRlLWJ1dHRvbiBzcGFuLmljb24ge1xuICAgICAgICBoZWlnaHQ6IDEuMDYyNXJlbTtcbiAgICAgICAgd2lkdGg6IDEuMDYyNXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuZG9uYXRlLW1vYmlsZSAuZG9uYXRlLWJ1dHRvbiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4uYm90dG9tLWJ1dHRvbnMge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogNS4zMTI1cmVtO1xuICB3aWR0aDogY2FsYygxMDAlIC0gODBweCk7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAyLjVyZW0gYXV0byAwOyB9XG4gIC5ib3R0b20tYnV0dG9ucyAuZG9uYXRlLWJ1dHRvbiB7XG4gICAgbGVmdDogNDBweDtcbiAgICBib3R0b206IDEwMHB4O1xuICAgIHotaW5kZXg6IDEyOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgICAuYm90dG9tLWJ1dHRvbnMgLmRvbmF0ZS1idXR0b24ge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgLmJvdHRvbS1idXR0b25zIC50b3RvcCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICB3aWR0aDogMy4xODc1cmVtO1xuICAgIGhlaWdodDogMy4xODc1cmVtO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgLmJvdHRvbS1idXR0b25zIC50b3RvcCBzcGFuLmljb24ge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICBoZWlnaHQ6IDEuODEyNXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjU2MjVyZW07XG4gICAgICBtYXJnaW46IDAgYXV0bzsgfVxuICAgICAgLmJvdHRvbS1idXR0b25zIC50b3RvcCBzcGFuLmljb24gc3ZnIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGVaKDE4MGRlZyk7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAgIC5ib3R0b20tYnV0dG9ucyAudG90b3Age1xuICAgICAgICByaWdodDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNTAlKTsgfSB9XG5cbi5lZGl0bW9kZSAubWdubEVkaXRvckJhciB7XG4gIG1heC13aWR0aDogY2FsYygxMDAlIC0gMjhweCkgIWltcG9ydGFudDtcbiAgbWluLXdpZHRoOiAxMDBweCAhaW1wb3J0YW50OyB9XG5cbi5vd2wtY2Fyb3VzZWwgLm93bC1zdGFnZSxcbi5vd2wtY2Fyb3VzZWwub3dsLWRyYWcgLm93bC1pdGVtIHtcbiAgLW1zLXRvdWNoLWFjdGlvbjogYXV0bztcbiAgdG91Y2gtYWN0aW9uOiBhdXRvOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICBib2R5IC5ncmlkLWNvbnRhaW5lcixcbiAgYm9keSAuZ3JpZC1jb250YWluZXIuZmx1aWQge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICBib2R5IC5ncmlkLWNvbnRhaW5lciA+IC5ncmlkLXgsXG4gICAgYm9keSAuZ3JpZC1jb250YWluZXIuZmx1aWQgPiAuZ3JpZC14IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDsgfVxuICAgICAgYm9keSAuZ3JpZC1jb250YWluZXIgPiAuZ3JpZC14ID4gLmNlbGwsXG4gICAgICBib2R5IC5ncmlkLWNvbnRhaW5lci5mbHVpZCA+IC5ncmlkLXggPiAuY2VsbCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50O1xuICAgICAgICB3aWR0aDogMTAwJTsgfVxuICAgIGJvZHkgLmdyaWQtY29udGFpbmVyIC5jZWxsLFxuICAgIGJvZHkgLmdyaWQtY29udGFpbmVyLmZsdWlkIC5jZWxsIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMS41NjI1cmVtO1xuICAgICAgcGFkZGluZy1yaWdodDogMS41NjI1cmVtOyB9IH1cblxuLmNlbGwudGV4dC1jZW50ZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLmNlbGwudGV4dC1yaWdodCB7XG4gIHRleHQtYWxpZ246IHJpZ2h0OyB9XG5cbi5jZWxsLnRleHQtbGVmdCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmNlbGwubWVkaXVtLXRleHQtcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmNlbGwubGFyZ2UtdGV4dC1yaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH0gfVxuXG4jaGVhZGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMS4yNXJlbSAyLjVyZW0gMC43NXJlbSAyLjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAjaGVhZGVyIHtcbiAgICAgIG1heC1oZWlnaHQ6IDQuNjI1cmVtO1xuICAgICAgaGVpZ2h0OiA0LjYyNXJlbTsgfVxuICAgICAgLmVkaXRtb2RlICNoZWFkZXIge1xuICAgICAgICBtYXgtaGVpZ2h0OiA5LjM3NXJlbTtcbiAgICAgICAgaGVpZ2h0OiA5LjM3NXJlbTsgfSB9XG4gICNoZWFkZXIgLmRlc2t0b3Atc2VjdGlvbi1sb2dvIHtcbiAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDI3OHB4KTtcbiAgICBsaW5lLWhlaWdodDogMi44MTI1cmVtO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICAjaGVhZGVyIC5kZXNrdG9wLXNlY3Rpb24tbG9nbyAjc2VjdGlvbnNMb2dvIHtcbiAgICAgIHdpZHRoOiAzNS45Mzc1cmVtO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gICAgI2hlYWRlciAuZGVza3RvcC1zZWN0aW9uLWxvZ28gYSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICNoZWFkZXIgLmRlc2t0b3Atc2VjdGlvbi1sb2dvIGltZyB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBtYXgtaGVpZ2h0OiAyLjY4NzVyZW07XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgICAjaGVhZGVyIC5kZXNrdG9wLXNlY3Rpb24tbG9nbyBzdmcge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbWF4LWhlaWdodDogMi42ODc1cmVtO1xuICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAjaGVhZGVyIC50b3AtcmlnaHQtd3JhcHBlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7IH1cbiAgICAjaGVhZGVyIC50b3AtcmlnaHQtd3JhcHBlciAjbG9nby1sYW5ndWFnZS13cmFwcGVyIHtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHdpZHRoOiAxNy4zNzVyZW07IH1cbiAgICAgICNoZWFkZXIgLnRvcC1yaWdodC13cmFwcGVyICNsb2dvLWxhbmd1YWdlLXdyYXBwZXIgI2NvdW50cnktc2VsZWN0b3Ige1xuICAgICAgICB3aWR0aDogNy42ODc1cmVtO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgICAgICNoZWFkZXIgLnRvcC1yaWdodC13cmFwcGVyICNsb2dvLWxhbmd1YWdlLXdyYXBwZXIgI2xvZ28ge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHdpZHRoOiA5LjY4NzVyZW07IH1cbiAgICAgICAgI2hlYWRlciAudG9wLXJpZ2h0LXdyYXBwZXIgI2xvZ28tbGFuZ3VhZ2Utd3JhcHBlciAjbG9nbyBhIHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgd2lkdGg6IDkuNjg3NXJlbTtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgei1pbmRleDogOTk7IH1cbiAgICAgICAgI2hlYWRlciAudG9wLXJpZ2h0LXdyYXBwZXIgI2xvZ28tbGFuZ3VhZ2Utd3JhcHBlciAjbG9nbyBpbWcge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIHRvcDogMDsgfVxuICAgICAgI2hlYWRlciAudG9wLXJpZ2h0LXdyYXBwZXIgI2xvZ28tbGFuZ3VhZ2Utd3JhcHBlciAjY291bnRyeS1zZWxlY3RvciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgICAgICNoZWFkZXIgLnRvcC1yaWdodC13cmFwcGVyICNsb2dvLWxhbmd1YWdlLXdyYXBwZXIgI2NvdW50cnktc2VsZWN0b3IgLmN1cnJlbnQtbGFuZ3VhZ2Uge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDFyZW07IH1cbiAgICAgICAgICAjaGVhZGVyIC50b3AtcmlnaHQtd3JhcHBlciAjbG9nby1sYW5ndWFnZS13cmFwcGVyICNjb3VudHJ5LXNlbGVjdG9yIC5jdXJyZW50LWxhbmd1YWdlIHNwYW4uaWNvbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIHdpZHRoOiAwLjYyNXJlbTsgfVxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBhY3RpdmUpLCAoLW1zLWhpZ2gtY29udHJhc3Q6IG5vbmUpIHtcbiAgICAgICAgICAgICAgI2hlYWRlciAudG9wLXJpZ2h0LXdyYXBwZXIgI2xvZ28tbGFuZ3VhZ2Utd3JhcHBlciAjY291bnRyeS1zZWxlY3RvciAuY3VycmVudC1sYW5ndWFnZSBzcGFuLmljb24ge1xuICAgICAgICAgICAgICAgIHRvcDogLTQuMTI1cmVtOyB9IH1cbiAgICAgICAgICAgICNoZWFkZXIgLnRvcC1yaWdodC13cmFwcGVyICNsb2dvLWxhbmd1YWdlLXdyYXBwZXIgI2NvdW50cnktc2VsZWN0b3IgLmN1cnJlbnQtbGFuZ3VhZ2Ugc3Bhbi5pY29uIHN2ZyB7XG4gICAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAgICAgICAgICAgICAjaGVhZGVyIC50b3AtcmlnaHQtd3JhcHBlciAjbG9nby1sYW5ndWFnZS13cmFwcGVyICNjb3VudHJ5LXNlbGVjdG9yIC5jdXJyZW50LWxhbmd1YWdlIHNwYW4uaWNvbiBzdmcgcGF0aCB7XG4gICAgICAgICAgICAgICAgZmlsbDogI2ZmZmZmZjtcbiAgICAgICAgICAgICAgICBzdHJva2U6ICNmZmZmZmY7IH1cbiAgICAgICAgI2hlYWRlciAudG9wLXJpZ2h0LXdyYXBwZXIgI2xvZ28tbGFuZ3VhZ2Utd3JhcHBlciAjY291bnRyeS1zZWxlY3RvciBwLFxuICAgICAgICAjaGVhZGVyIC50b3AtcmlnaHQtd3JhcHBlciAjbG9nby1sYW5ndWFnZS13cmFwcGVyICNjb3VudHJ5LXNlbGVjdG9yIGEge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMS4ycmVtO1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiBOZXVlU2Fuc1Byby1MaWdodCwgSGVsdmV0aXZhLCBzYW5zLXNlcmlmO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7IH1cbiAgICAgICAgI2hlYWRlciAudG9wLXJpZ2h0LXdyYXBwZXIgI2xvZ28tbGFuZ3VhZ2Utd3JhcHBlciAjY291bnRyeS1zZWxlY3Rvci5hY3RpdmUgdWwge1xuICAgICAgICAgIG1heC1oZWlnaHQ6IDMwMHB4O1xuICAgICAgICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgMzAwbXM7IH1cbiAgICAgICAgI2hlYWRlciAudG9wLXJpZ2h0LXdyYXBwZXIgI2xvZ28tbGFuZ3VhZ2Utd3JhcHBlciAjY291bnRyeS1zZWxlY3Rvci5hY3RpdmUgLmN1cnJlbnQtbGFuZ3VhZ2Ugc3Bhbi5pY29uIHN2ZyB7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGVaKDE4MGRlZyk7IH1cbiAgICAgICAgI2hlYWRlciAudG9wLXJpZ2h0LXdyYXBwZXIgI2xvZ28tbGFuZ3VhZ2Utd3JhcHBlciAjY291bnRyeS1zZWxlY3RvciB1bCB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgICB6LWluZGV4OiA5OTtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgIG1heC1oZWlnaHQ6IDA7XG4gICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDIwMG1zIGVhc2UtaW4tb3V0O1xuICAgICAgICAgIGJveC1zaGFkb3c6IDAuMDYyNXJlbSAwLjA2MjVyZW0gMC4zMTI1cmVtIHJnYmEoMjAsIDIwLCAyMCwgMC4xKTsgfVxuICAgICAgICAgICNoZWFkZXIgLnRvcC1yaWdodC13cmFwcGVyICNsb2dvLWxhbmd1YWdlLXdyYXBwZXIgI2NvdW50cnktc2VsZWN0b3IgdWwgbGkge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgcGFkZGluZzogMC40Mzc1cmVtIDA7IH1cbiAgICAgICAgICAgICNoZWFkZXIgLnRvcC1yaWdodC13cmFwcGVyICNsb2dvLWxhbmd1YWdlLXdyYXBwZXIgI2NvdW50cnktc2VsZWN0b3IgdWwgbGkgYSB7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDsgfVxuICAgICAgICAgICAgICAjaGVhZGVyIC50b3AtcmlnaHQtd3JhcHBlciAjbG9nby1sYW5ndWFnZS13cmFwcGVyICNjb3VudHJ5LXNlbGVjdG9yIHVsIGxpIGE6aG92ZXIge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuNTsgfVxuICAgICAgICAgICAgYm9keS5ncmVlbiAjaGVhZGVyIC50b3AtcmlnaHQtd3JhcHBlciAjbG9nby1sYW5ndWFnZS13cmFwcGVyICNjb3VudHJ5LXNlbGVjdG9yIHVsIGxpIHtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzM5QUE0NzsgfVxuICAgICAgICAgICAgYm9keS5ibHVlICNoZWFkZXIgLnRvcC1yaWdodC13cmFwcGVyICNsb2dvLWxhbmd1YWdlLXdyYXBwZXIgI2NvdW50cnktc2VsZWN0b3IgdWwgbGkge1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjlBM0E5OyB9XG4gICAgICAgICAgICBib2R5LmRhcmtibHVlICNoZWFkZXIgLnRvcC1yaWdodC13cmFwcGVyICNsb2dvLWxhbmd1YWdlLXdyYXBwZXIgI2NvdW50cnktc2VsZWN0b3IgdWwgbGkge1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA2RjY5OyB9XG4gICAgICAgICAgICBib2R5LmJyb3duICNoZWFkZXIgLnRvcC1yaWdodC13cmFwcGVyICNsb2dvLWxhbmd1YWdlLXdyYXBwZXIgI2NvdW50cnktc2VsZWN0b3IgdWwgbGkge1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjQjQ4MzhBOyB9XG4gICNoZWFkZXIgLm1vYmlsZS1zZWN0aW9uLWxvZ28ge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICNoZWFkZXIgLm1vYmlsZS1zZWN0aW9uLWxvZ28gaW1nIHtcbiAgICAgIG1heC13aWR0aDogNzB2dzsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAjaGVhZGVyIHtcbiAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAgICAgI2hlYWRlciAudG9wLXJpZ2h0LXdyYXBwZXIge1xuICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgICAjaGVhZGVyIC50b3AtcmlnaHQtd3JhcHBlciAjbG9nby1sYW5ndWFnZS13cmFwcGVyIHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjg3NXJlbTsgfVxuICAgICAgICAgICNoZWFkZXIgLnRvcC1yaWdodC13cmFwcGVyICNsb2dvLWxhbmd1YWdlLXdyYXBwZXIgI2NvdW50cnktc2VsZWN0b3Ige1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgbGVmdDogLTEuMjVyZW07XG4gICAgICAgICAgICB3aWR0aDogNTAlOyB9XG4gICAgICAgICAgI2hlYWRlciAudG9wLXJpZ2h0LXdyYXBwZXIgI2xvZ28tbGFuZ3VhZ2Utd3JhcHBlciAjbG9nbyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgICAgIHdpZHRoOiA1MCU7IH1cbiAgICAgICAgICAgICNoZWFkZXIgLnRvcC1yaWdodC13cmFwcGVyICNsb2dvLWxhbmd1YWdlLXdyYXBwZXIgI2xvZ28gYSB7XG4gICAgICAgICAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgICAgICAgICAjaGVhZGVyIC50b3AtcmlnaHQtd3JhcHBlciAjbG9nby1sYW5ndWFnZS13cmFwcGVyICNsb2dvIGltZyB7XG4gICAgICAgICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTsgfSB9XG5cbmZvb3RlciNmb290ZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLXRvcDogMi41cmVtOyB9XG5cbmJvZHkubmF2ZXhwIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4jbmF2aWdhdGlvbnMtd3JhcHBlciB7XG4gIG1heC13aWR0aDogMTAwJTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAjbmF2aWdhdGlvbnMtd3JhcHBlciB7XG4gICAgICBtaW4taGVpZ2h0OiAzLjkzNzVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAjbmF2aWdhdGlvbnMtd3JhcHBlciBuYXYsICNuYXZpZ2F0aW9ucy13cmFwcGVyICNuYXZpZ2F0aW9uIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgIHotaW5kZXg6IDk7IH1cbiAgICAgICNuYXZpZ2F0aW9ucy13cmFwcGVyIG5hdiAjbWV0YS1uYXYsICNuYXZpZ2F0aW9ucy13cmFwcGVyICNuYXZpZ2F0aW9uICNtZXRhLW5hdiB7XG4gICAgICAgIHRvcDogNC4wNjI1cmVtO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2Q2ZDZkNjsgfVxuICAgICAgI25hdmlnYXRpb25zLXdyYXBwZXIgbmF2IC5zdWItb3BlbiA+IGxpID4gYTpub3QoLm9wZW4pLFxuICAgICAgI25hdmlnYXRpb25zLXdyYXBwZXIgbmF2IC5zdWItb3BlbiA+IGxpOm5vdCgub3BlbikgPiBhLCAjbmF2aWdhdGlvbnMtd3JhcHBlciAjbmF2aWdhdGlvbiAuc3ViLW9wZW4gPiBsaSA+IGE6bm90KC5vcGVuKSxcbiAgICAgICNuYXZpZ2F0aW9ucy13cmFwcGVyICNuYXZpZ2F0aW9uIC5zdWItb3BlbiA+IGxpOm5vdCgub3BlbikgPiBhIHtcbiAgICAgICAgb3BhY2l0eTogMC40NTsgfVxuICAgICAgI25hdmlnYXRpb25zLXdyYXBwZXIgbmF2IC5zdWItb3BlbiA+IGxpOm5vdCgub3BlbikgPiBpID4gc3ZnLCAjbmF2aWdhdGlvbnMtd3JhcHBlciAjbmF2aWdhdGlvbiAuc3ViLW9wZW4gPiBsaTpub3QoLm9wZW4pID4gaSA+IHN2ZyB7XG4gICAgICAgIG9wYWNpdHk6IDAuNDU7IH1cbiAgICAgICNuYXZpZ2F0aW9ucy13cmFwcGVyIG5hdiB1bC5tYWluLW5hdmlnYXRpb24sICNuYXZpZ2F0aW9ucy13cmFwcGVyICNuYXZpZ2F0aW9uIHVsLm1haW4tbmF2aWdhdGlvbiB7XG4gICAgICAgIG92ZXJmbG93OiBzY3JvbGw7XG4gICAgICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICAgICAgbWF4LWhlaWdodDogMDtcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG4gICAgICAgICNuYXZpZ2F0aW9ucy13cmFwcGVyIG5hdiB1bC5tYWluLW5hdmlnYXRpb24gPiA6bGFzdC1jaGlsZDphZnRlciwgI25hdmlnYXRpb25zLXdyYXBwZXIgI25hdmlnYXRpb24gdWwubWFpbi1uYXZpZ2F0aW9uID4gOmxhc3QtY2hpbGQ6YWZ0ZXIge1xuICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbWluLWhlaWdodDogMjB2aDsgfVxuICAgICAgICAjbmF2aWdhdGlvbnMtd3JhcHBlciBuYXYgdWwubWFpbi1uYXZpZ2F0aW9uIGxpLCAjbmF2aWdhdGlvbnMtd3JhcHBlciAjbmF2aWdhdGlvbiB1bC5tYWluLW5hdmlnYXRpb24gbGkge1xuICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZDZkNmQ2OyB9XG4gICAgICAgICAgI25hdmlnYXRpb25zLXdyYXBwZXIgbmF2IHVsLm1haW4tbmF2aWdhdGlvbiBsaSA+IHVsLCAjbmF2aWdhdGlvbnMtd3JhcHBlciAjbmF2aWdhdGlvbiB1bC5tYWluLW5hdmlnYXRpb24gbGkgPiB1bCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAgICAgI25hdmlnYXRpb25zLXdyYXBwZXIgbmF2IHVsLm1haW4tbmF2aWdhdGlvbiBsaS5vcGVuID4gdWwsICNuYXZpZ2F0aW9ucy13cmFwcGVyIG5hdiB1bC5tYWluLW5hdmlnYXRpb24gbGkuYWN0aXZlID4gdWwsICNuYXZpZ2F0aW9ucy13cmFwcGVyICNuYXZpZ2F0aW9uIHVsLm1haW4tbmF2aWdhdGlvbiBsaS5vcGVuID4gdWwsICNuYXZpZ2F0aW9ucy13cmFwcGVyICNuYXZpZ2F0aW9uIHVsLm1haW4tbmF2aWdhdGlvbiBsaS5hY3RpdmUgPiB1bCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG4gICAgICAgICAgICAjbmF2aWdhdGlvbnMtd3JhcHBlciBuYXYgdWwubWFpbi1uYXZpZ2F0aW9uIGxpLm9wZW4gPiB1bCA+IGxpOmZpcnN0LWNoaWxkLCAjbmF2aWdhdGlvbnMtd3JhcHBlciBuYXYgdWwubWFpbi1uYXZpZ2F0aW9uIGxpLmFjdGl2ZSA+IHVsID4gbGk6Zmlyc3QtY2hpbGQsICNuYXZpZ2F0aW9ucy13cmFwcGVyICNuYXZpZ2F0aW9uIHVsLm1haW4tbmF2aWdhdGlvbiBsaS5vcGVuID4gdWwgPiBsaTpmaXJzdC1jaGlsZCwgI25hdmlnYXRpb25zLXdyYXBwZXIgI25hdmlnYXRpb24gdWwubWFpbi1uYXZpZ2F0aW9uIGxpLmFjdGl2ZSA+IHVsID4gbGk6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICMwMDZGNjk7IH1cbiAgICAgICAgICAjbmF2aWdhdGlvbnMtd3JhcHBlciBuYXYgdWwubWFpbi1uYXZpZ2F0aW9uIGxpLm9wZW4gPiBhLFxuICAgICAgICAgICNuYXZpZ2F0aW9ucy13cmFwcGVyIG5hdiB1bC5tYWluLW5hdmlnYXRpb24gbGkub3BlbiA+IC5uYXYtYnV0dG9uLCAjbmF2aWdhdGlvbnMtd3JhcHBlciBuYXYgdWwubWFpbi1uYXZpZ2F0aW9uIGxpLmFjdGl2ZSA+IGEsXG4gICAgICAgICAgI25hdmlnYXRpb25zLXdyYXBwZXIgbmF2IHVsLm1haW4tbmF2aWdhdGlvbiBsaS5hY3RpdmUgPiAubmF2LWJ1dHRvbiwgI25hdmlnYXRpb25zLXdyYXBwZXIgI25hdmlnYXRpb24gdWwubWFpbi1uYXZpZ2F0aW9uIGxpLm9wZW4gPiBhLFxuICAgICAgICAgICNuYXZpZ2F0aW9ucy13cmFwcGVyICNuYXZpZ2F0aW9uIHVsLm1haW4tbmF2aWdhdGlvbiBsaS5vcGVuID4gLm5hdi1idXR0b24sICNuYXZpZ2F0aW9ucy13cmFwcGVyICNuYXZpZ2F0aW9uIHVsLm1haW4tbmF2aWdhdGlvbiBsaS5hY3RpdmUgPiBhLFxuICAgICAgICAgICNuYXZpZ2F0aW9ucy13cmFwcGVyICNuYXZpZ2F0aW9uIHVsLm1haW4tbmF2aWdhdGlvbiBsaS5hY3RpdmUgPiAubmF2LWJ1dHRvbiB7XG4gICAgICAgICAgICBjb2xvcjogIzAwNkY2OTtcbiAgICAgICAgICAgIG9wYWNpdHk6IDEgIWltcG9ydGFudDsgfVxuICAgICAgICAgICAgI25hdmlnYXRpb25zLXdyYXBwZXIgbmF2IHVsLm1haW4tbmF2aWdhdGlvbiBsaS5vcGVuID4gYSBzdmcsXG4gICAgICAgICAgICAjbmF2aWdhdGlvbnMtd3JhcHBlciBuYXYgdWwubWFpbi1uYXZpZ2F0aW9uIGxpLm9wZW4gPiAubmF2LWJ1dHRvbiBzdmcsICNuYXZpZ2F0aW9ucy13cmFwcGVyIG5hdiB1bC5tYWluLW5hdmlnYXRpb24gbGkuYWN0aXZlID4gYSBzdmcsXG4gICAgICAgICAgICAjbmF2aWdhdGlvbnMtd3JhcHBlciBuYXYgdWwubWFpbi1uYXZpZ2F0aW9uIGxpLmFjdGl2ZSA+IC5uYXYtYnV0dG9uIHN2ZywgI25hdmlnYXRpb25zLXdyYXBwZXIgI25hdmlnYXRpb24gdWwubWFpbi1uYXZpZ2F0aW9uIGxpLm9wZW4gPiBhIHN2ZyxcbiAgICAgICAgICAgICNuYXZpZ2F0aW9ucy13cmFwcGVyICNuYXZpZ2F0aW9uIHVsLm1haW4tbmF2aWdhdGlvbiBsaS5vcGVuID4gLm5hdi1idXR0b24gc3ZnLCAjbmF2aWdhdGlvbnMtd3JhcHBlciAjbmF2aWdhdGlvbiB1bC5tYWluLW5hdmlnYXRpb24gbGkuYWN0aXZlID4gYSBzdmcsXG4gICAgICAgICAgICAjbmF2aWdhdGlvbnMtd3JhcHBlciAjbmF2aWdhdGlvbiB1bC5tYWluLW5hdmlnYXRpb24gbGkuYWN0aXZlID4gLm5hdi1idXR0b24gc3ZnIHtcbiAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHJvdGF0ZVooLTkwZGVnKSAhaW1wb3J0YW50OyB9XG4gICAgICAgICAgICAgICNuYXZpZ2F0aW9ucy13cmFwcGVyIG5hdiB1bC5tYWluLW5hdmlnYXRpb24gbGkub3BlbiA+IGEgc3ZnIHBhdGgsXG4gICAgICAgICAgICAgICNuYXZpZ2F0aW9ucy13cmFwcGVyIG5hdiB1bC5tYWluLW5hdmlnYXRpb24gbGkub3BlbiA+IC5uYXYtYnV0dG9uIHN2ZyBwYXRoLCAjbmF2aWdhdGlvbnMtd3JhcHBlciBuYXYgdWwubWFpbi1uYXZpZ2F0aW9uIGxpLmFjdGl2ZSA+IGEgc3ZnIHBhdGgsXG4gICAgICAgICAgICAgICNuYXZpZ2F0aW9ucy13cmFwcGVyIG5hdiB1bC5tYWluLW5hdmlnYXRpb24gbGkuYWN0aXZlID4gLm5hdi1idXR0b24gc3ZnIHBhdGgsICNuYXZpZ2F0aW9ucy13cmFwcGVyICNuYXZpZ2F0aW9uIHVsLm1haW4tbmF2aWdhdGlvbiBsaS5vcGVuID4gYSBzdmcgcGF0aCxcbiAgICAgICAgICAgICAgI25hdmlnYXRpb25zLXdyYXBwZXIgI25hdmlnYXRpb24gdWwubWFpbi1uYXZpZ2F0aW9uIGxpLm9wZW4gPiAubmF2LWJ1dHRvbiBzdmcgcGF0aCwgI25hdmlnYXRpb25zLXdyYXBwZXIgI25hdmlnYXRpb24gdWwubWFpbi1uYXZpZ2F0aW9uIGxpLmFjdGl2ZSA+IGEgc3ZnIHBhdGgsXG4gICAgICAgICAgICAgICNuYXZpZ2F0aW9ucy13cmFwcGVyICNuYXZpZ2F0aW9uIHVsLm1haW4tbmF2aWdhdGlvbiBsaS5hY3RpdmUgPiAubmF2LWJ1dHRvbiBzdmcgcGF0aCB7XG4gICAgICAgICAgICAgICAgZmlsbDogIzAwNkY2OTtcbiAgICAgICAgICAgICAgICBzdHJva2U6ICMwMDZGNjk7IH1cbiAgICAgICAgICAgICNuYXZpZ2F0aW9ucy13cmFwcGVyIG5hdiB1bC5tYWluLW5hdmlnYXRpb24gbGkub3BlbiA+IGEuYWN0aXZlLFxuICAgICAgICAgICAgI25hdmlnYXRpb25zLXdyYXBwZXIgbmF2IHVsLm1haW4tbmF2aWdhdGlvbiBsaS5vcGVuID4gLm5hdi1idXR0b24uYWN0aXZlLCAjbmF2aWdhdGlvbnMtd3JhcHBlciBuYXYgdWwubWFpbi1uYXZpZ2F0aW9uIGxpLmFjdGl2ZSA+IGEuYWN0aXZlLFxuICAgICAgICAgICAgI25hdmlnYXRpb25zLXdyYXBwZXIgbmF2IHVsLm1haW4tbmF2aWdhdGlvbiBsaS5hY3RpdmUgPiAubmF2LWJ1dHRvbi5hY3RpdmUsICNuYXZpZ2F0aW9ucy13cmFwcGVyICNuYXZpZ2F0aW9uIHVsLm1haW4tbmF2aWdhdGlvbiBsaS5vcGVuID4gYS5hY3RpdmUsXG4gICAgICAgICAgICAjbmF2aWdhdGlvbnMtd3JhcHBlciAjbmF2aWdhdGlvbiB1bC5tYWluLW5hdmlnYXRpb24gbGkub3BlbiA+IC5uYXYtYnV0dG9uLmFjdGl2ZSwgI25hdmlnYXRpb25zLXdyYXBwZXIgI25hdmlnYXRpb24gdWwubWFpbi1uYXZpZ2F0aW9uIGxpLmFjdGl2ZSA+IGEuYWN0aXZlLFxuICAgICAgICAgICAgI25hdmlnYXRpb25zLXdyYXBwZXIgI25hdmlnYXRpb24gdWwubWFpbi1uYXZpZ2F0aW9uIGxpLmFjdGl2ZSA+IC5uYXYtYnV0dG9uLmFjdGl2ZSB7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogLTAuMDYyNXJlbTtcbiAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBOZXVlU2Fuc1Byby1Cb2xkLCBIZWx2ZXRpdmEsIHNhbnMtc2VyaWY7XG4gICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7IH1cbiAgICAgICAgI25hdmlnYXRpb25zLXdyYXBwZXIgbmF2IHVsLm1haW4tbmF2aWdhdGlvbiBsaSwgI25hdmlnYXRpb25zLXdyYXBwZXIgI25hdmlnYXRpb24gdWwubWFpbi1uYXZpZ2F0aW9uIGxpIHtcbiAgICAgICAgICBoZWlnaHQ6IGluaXRpYWwgIWltcG9ydGFudDsgfVxuICAgICAgICAgICNuYXZpZ2F0aW9ucy13cmFwcGVyIG5hdiB1bC5tYWluLW5hdmlnYXRpb24gbGkuaGFzLWRyb3Bkb3duLCAjbmF2aWdhdGlvbnMtd3JhcHBlciAjbmF2aWdhdGlvbiB1bC5tYWluLW5hdmlnYXRpb24gbGkuaGFzLWRyb3Bkb3duIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgICAgICAgI25hdmlnYXRpb25zLXdyYXBwZXIgbmF2IHVsLm1haW4tbmF2aWdhdGlvbiBsaS5oYXMtZHJvcGRvd24gYSwgI25hdmlnYXRpb25zLXdyYXBwZXIgI25hdmlnYXRpb24gdWwubWFpbi1uYXZpZ2F0aW9uIGxpLmhhcy1kcm9wZG93biBhIHtcbiAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gNjFweCk7IH1cbiAgICAgICAgICAgICNuYXZpZ2F0aW9ucy13cmFwcGVyIG5hdiB1bC5tYWluLW5hdmlnYXRpb24gbGkuaGFzLWRyb3Bkb3duIC5uYXYtYnV0dG9uLCAjbmF2aWdhdGlvbnMtd3JhcHBlciAjbmF2aWdhdGlvbiB1bC5tYWluLW5hdmlnYXRpb24gbGkuaGFzLWRyb3Bkb3duIC5uYXYtYnV0dG9uIHtcbiAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgICB3aWR0aDogMy43NXJlbTtcbiAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICBoZWlnaHQ6IDIuNnJlbTtcbiAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgICAgICAgICAgICNuYXZpZ2F0aW9ucy13cmFwcGVyIG5hdiB1bC5tYWluLW5hdmlnYXRpb24gbGkuaGFzLWRyb3Bkb3duIC5uYXYtYnV0dG9uIHN2ZywgI25hdmlnYXRpb25zLXdyYXBwZXIgI25hdmlnYXRpb24gdWwubWFpbi1uYXZpZ2F0aW9uIGxpLmhhcy1kcm9wZG93biAubmF2LWJ1dHRvbiBzdmcge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEuMDYyNXJlbTtcbiAgICAgICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgcm90YXRlWig5MGRlZyk7IH1cbiAgICAgICNuYXZpZ2F0aW9ucy13cmFwcGVyIG5hdiB1bC5sZXZlbC0xIGxpLmVtcHR5LCAjbmF2aWdhdGlvbnMtd3JhcHBlciAjbmF2aWdhdGlvbiB1bC5sZXZlbC0xIGxpLmVtcHR5IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgI25hdmlnYXRpb25zLXdyYXBwZXIgbmF2IHVsLmxldmVsLTEgPiBsaSwgI25hdmlnYXRpb25zLXdyYXBwZXIgI25hdmlnYXRpb24gdWwubGV2ZWwtMSA+IGxpIHtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkNmQ2ZDY7IH1cbiAgICAgICAgI25hdmlnYXRpb25zLXdyYXBwZXIgbmF2IHVsLmxldmVsLTEgPiBsaSBhLCAjbmF2aWdhdGlvbnMtd3JhcHBlciAjbmF2aWdhdGlvbiB1bC5sZXZlbC0xID4gbGkgYSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgcGFkZGluZy10b3A6IDAuODEyNXJlbTtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMC41NjI1cmVtO1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMjBweDsgfVxuICAgICAgICAjbmF2aWdhdGlvbnMtd3JhcHBlciBuYXYgdWwubGV2ZWwtMSA+IGxpID4gYSwgI25hdmlnYXRpb25zLXdyYXBwZXIgI25hdmlnYXRpb24gdWwubGV2ZWwtMSA+IGxpID4gYSB7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAxNXB4OyB9XG4gICAgICAgICNuYXZpZ2F0aW9ucy13cmFwcGVyIG5hdiB1bC5sZXZlbC0xID4gbGkgdWwgPiBsaSA+IGEsICNuYXZpZ2F0aW9ucy13cmFwcGVyICNuYXZpZ2F0aW9uIHVsLmxldmVsLTEgPiBsaSB1bCA+IGxpID4gYSB7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAzNXB4OyB9XG4gICAgICAgICNuYXZpZ2F0aW9ucy13cmFwcGVyIG5hdiB1bC5sZXZlbC0xID4gbGkgdWwgPiBsaSB1bCA+IGxpID4gYSwgI25hdmlnYXRpb25zLXdyYXBwZXIgI25hdmlnYXRpb24gdWwubGV2ZWwtMSA+IGxpIHVsID4gbGkgdWwgPiBsaSA+IGEge1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogNTVweDsgfVxuICAgICAgICAjbmF2aWdhdGlvbnMtd3JhcHBlciBuYXYgdWwubGV2ZWwtMSA+IGxpIHVsID4gbGkgdWwgPiBsaSB1bCA+IGxpID4gYSwgI25hdmlnYXRpb25zLXdyYXBwZXIgI25hdmlnYXRpb24gdWwubGV2ZWwtMSA+IGxpIHVsID4gbGkgdWwgPiBsaSB1bCA+IGxpID4gYSB7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiA3NXB4OyB9XG4gICAgICAjbmF2aWdhdGlvbnMtd3JhcHBlciBuYXYgbGkuYWN0aXZlID4gdWwsXG4gICAgICAjbmF2aWdhdGlvbnMtd3JhcHBlciBuYXYgbGkub3BlbiA+IHVsLCAjbmF2aWdhdGlvbnMtd3JhcHBlciAjbmF2aWdhdGlvbiBsaS5hY3RpdmUgPiB1bCxcbiAgICAgICNuYXZpZ2F0aW9ucy13cmFwcGVyICNuYXZpZ2F0aW9uIGxpLm9wZW4gPiB1bCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgYm9keS5uYXZleHAgI25hdmlnYXRpb25zLXdyYXBwZXIgbmF2LCBib2R5Lm5hdmV4cCAjbmF2aWdhdGlvbnMtd3JhcHBlciAjbmF2aWdhdGlvbiB7XG4gICAgICBwYWRkaW5nLXRvcDogNy44MTI1cmVtOyB9XG4gICAgICBib2R5Lm5hdmV4cCAjbmF2aWdhdGlvbnMtd3JhcHBlciBuYXYgI21ldGEtbmF2LCBib2R5Lm5hdmV4cCAjbmF2aWdhdGlvbnMtd3JhcHBlciAjbmF2aWdhdGlvbiAjbWV0YS1uYXYge1xuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgICBib2R5Lm5hdmV4cCAjbmF2aWdhdGlvbnMtd3JhcHBlciBuYXYgdWwubWFpbi1uYXZpZ2F0aW9uLCBib2R5Lm5hdmV4cCAjbmF2aWdhdGlvbnMtd3JhcHBlciAjbmF2aWdhdGlvbiB1bC5tYWluLW5hdmlnYXRpb24ge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWF4LWhlaWdodDogY2FsYygxMDB2aCAtIDI2MHB4KTtcbiAgICAgICAgbWluLWhlaWdodDogY2FsYygxMDB2aCAtIDI2MHB4KTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDEuMjVyZW07XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgIGJvZHk6bm90KC5uYXZleHApICNuYXZpZ2F0aW9ucy13cmFwcGVyIG5hdiwgYm9keTpub3QoLm5hdmV4cCkgI25hdmlnYXRpb25zLXdyYXBwZXIgI25hdmlnYXRpb24ge1xuICAgICAgbWF4LWhlaWdodDogMDtcbiAgICAgIG9wYWNpdHk6IDA7IH0gfVxuICBib2R5Om5vdCgudG91Y2gtdXNlcikgI25hdmlnYXRpb25zLXdyYXBwZXIgbmF2IGxpOmhvdmVyID4gYSwgYm9keTpub3QoLnRvdWNoLXVzZXIpICNuYXZpZ2F0aW9ucy13cmFwcGVyICNuYXZpZ2F0aW9uIGxpOmhvdmVyID4gYSB7XG4gICAgY29sb3I6ICMwMDZGNjk7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAzMDBtczsgfVxuICAgIGJvZHk6bm90KC50b3VjaC11c2VyKSAjbmF2aWdhdGlvbnMtd3JhcHBlciBuYXYgbGk6aG92ZXIgPiBhOmFmdGVyLCBib2R5Om5vdCgudG91Y2gtdXNlcikgI25hdmlnYXRpb25zLXdyYXBwZXIgI25hdmlnYXRpb24gbGk6aG92ZXIgPiBhOmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDZGNjk7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gY2FsYygyICogMS4yNXJlbSkpOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgICNuYXZpZ2F0aW9ucy13cmFwcGVyIG5hdiAjbWV0YS1uYXYgPiBhIHNwYW4gc3Bhbjpub3QoLmljb24pLCAjbmF2aWdhdGlvbnMtd3JhcHBlciAjbmF2aWdhdGlvbiAjbWV0YS1uYXYgPiBhIHNwYW4gc3Bhbjpub3QoLmljb24pIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfSB9XG5cbiNuYXZpZ2F0aW9uLCBuYXYge1xuICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgI25hdmlnYXRpb24gYSwgbmF2IGEge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgY29sb3I6ICMxNDE0MTQ7XG4gICAgbGluZS1oZWlnaHQ6IDEuMnJlbTtcbiAgICBmb250LWZhbWlseTogTmV1ZVNhbnNQcm8tU2VtaUJvbGQsIEhlbHZldGl2YSwgc2Fucy1zZXJpZjtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDMwMG1zOyB9XG4gICAgI25hdmlnYXRpb24gYS5hY3RpdmUsIG5hdiBhLmFjdGl2ZSB7XG4gICAgICBjb2xvcjogIzAwNkY2OTsgfVxuICAgICNuYXZpZ2F0aW9uIGEub3BlbiwgbmF2IGEub3BlbiB7XG4gICAgICBjb2xvcjogIzAwNkY2OTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICNuYXZpZ2F0aW9uIGEsIG5hdiBhIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgI25hdmlnYXRpb24gdWwubGV2ZWwtMSwgbmF2IHVsLmxldmVsLTEge1xuICAgICAgcGFkZGluZy1sZWZ0OiAxLjI1cmVtO1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDIwMHB4KTtcbiAgICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gMjAwcHgpO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIGRpc3BsYXk6IC1tb3otYm94O1xuICAgICAgLyogT0xEIC0gRmlyZWZveCAxOS0gKGRvZXNuJ3Qgd29yayB2ZXJ5IHdlbGwpICovXG4gICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICAgIC8qIFRXRUVORVIgLSBJRSAxMCAqL1xuICAgICAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICAgICAgLyogTkVXIC0gQ2hyb21lICovXG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgLyogTkVXLCBTcGVjIC0gT3BlcmEgMTIuMSwgRmlyZWZveCAyMCsgKi9cbiAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgIC1tcy1mbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgIC13ZWJraXQtZmxleC13cmFwOiBub3dyYXA7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgIC13ZWJraXQtYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgYW5kIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgICNuYXZpZ2F0aW9uIHVsLmxldmVsLTEsIG5hdiB1bC5sZXZlbC0xIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAyMDBweCk7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgI25hdmlnYXRpb24gdWwubGV2ZWwtMSA+IGxpLCBuYXYgdWwubGV2ZWwtMSA+IGxpIHtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7IH1cbiAgICAgICAgI25hdmlnYXRpb24gdWwubGV2ZWwtMSA+IGxpICosIG5hdiB1bC5sZXZlbC0xID4gbGkgKiB7XG4gICAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7IH1cbiAgICAgICAgI25hdmlnYXRpb24gdWwubGV2ZWwtMSA+IGxpLnRvdWNoZWQgPiBhLCAjbmF2aWdhdGlvbiB1bC5sZXZlbC0xID4gbGkudG91Y2hlZCA+IGEsIG5hdiB1bC5sZXZlbC0xID4gbGkudG91Y2hlZCA+IGEsIG5hdiB1bC5sZXZlbC0xID4gbGkudG91Y2hlZCA+IGEge1xuICAgICAgICAgIGNvbG9yOiAjMDA2RjY5OyB9XG4gICAgICAgICNuYXZpZ2F0aW9uIHVsLmxldmVsLTEgPiBsaSA+IGEsIG5hdiB1bC5sZXZlbC0xID4gbGkgPiBhIHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgcGFkZGluZzogMS4xMjVyZW0gMS4yNXJlbTtcbiAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwcHgpO1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgICAgICNuYXZpZ2F0aW9uIHVsLmxldmVsLTEgPiBsaSA+IGE6YWZ0ZXIsIG5hdiB1bC5sZXZlbC0xID4gbGkgPiBhOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgICAgICBoZWlnaHQ6IDNweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAzMDBtcywgd2lkdGggMzAwbXM7IH1cbiAgICAgICAgICAjbmF2aWdhdGlvbiB1bC5sZXZlbC0xID4gbGkgPiBhLm9wZW46YWZ0ZXIsIG5hdiB1bC5sZXZlbC0xID4gbGkgPiBhLm9wZW46YWZ0ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwNkY2OTtcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSBjYWxjKDIgKiAxLjI1cmVtKSk7IH1cbiAgICAgICAgI25hdmlnYXRpb24gdWwubGV2ZWwtMSA+IGxpLnRvdWNoZWQgdWwubGV2ZWwtMiwgbmF2IHVsLmxldmVsLTEgPiBsaS50b3VjaGVkIHVsLmxldmVsLTIge1xuICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgei1pbmRleDogOTk5O1xuICAgICAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICAgICAgI25hdmlnYXRpb24gdWwubGV2ZWwtMSA+IGxpLnRvdWNoZWQgdWwubGV2ZWwtMjpiZWZvcmUsIG5hdiB1bC5sZXZlbC0xID4gbGkudG91Y2hlZCB1bC5sZXZlbC0yOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgICAgICAgICB6LWluZGV4OiAtMTsgfVxuICAgICAgICAgICNuYXZpZ2F0aW9uIHVsLmxldmVsLTEgPiBsaS50b3VjaGVkIHVsLmxldmVsLTI6YWZ0ZXIsIG5hdiB1bC5sZXZlbC0xID4gbGkudG91Y2hlZCB1bC5sZXZlbC0yOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICB3aWR0aDogMTQwJTtcbiAgICAgICAgICAgIGxlZnQ6IC0yMCU7XG4gICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2Q2ZDZkNjtcbiAgICAgICAgICAgIHotaW5kZXg6IC0xOyB9XG4gICAgICAjbmF2aWdhdGlvbiB1bC5sZXZlbC0xID4gbGkuaGFzLWRyb3Bkb3duIC5uYXYtYnV0dG9uLCBuYXYgdWwubGV2ZWwtMSA+IGxpLmhhcy1kcm9wZG93biAubmF2LWJ1dHRvbiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgICNuYXZpZ2F0aW9uIHVsLmxldmVsLTEgPiBsaS5oYXMtZHJvcGRvd24gbGkub3BlbiA+IGEsIG5hdiB1bC5sZXZlbC0xID4gbGkuaGFzLWRyb3Bkb3duIGxpLm9wZW4gPiBhIHtcbiAgICAgICAgY29sb3I6ICMwMDZGNjk7IH1cbiAgICAjbmF2aWdhdGlvbiB1bC5sZXZlbC0yLCBuYXYgdWwubGV2ZWwtMiB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDEwMCU7XG4gICAgICBwYWRkaW5nOiAwLjkzNzVyZW0gMS4yNXJlbSAwIDEuMjVyZW07XG4gICAgICB6LWluZGV4OiAtMTtcbiAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgIGxlZnQ6IDIuNXJlbTtcbiAgICAgIHJpZ2h0OiAyLjVyZW07IH1cbiAgICAgICNuYXZpZ2F0aW9uIHVsLmxldmVsLTIgPiBsaSwgbmF2IHVsLmxldmVsLTIgPiBsaSB7XG4gICAgICAgIHdpZHRoOiAyNCU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwIDAuNjI1cmVtIDAgMS4yNXJlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMi4xODc1cmVtO1xuICAgICAgICBtYXJnaW4tdG9wOiAxLjI1cmVtO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgICAgI25hdmlnYXRpb24gdWwubGV2ZWwtMiA+IGxpOmJlZm9yZSwgbmF2IHVsLmxldmVsLTIgPiBsaTpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgIGhlaWdodDogOTclO1xuICAgICAgICAgIHRvcDogMC4xODc1cmVtO1xuICAgICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNkNmQ2ZDY7IH1cbiAgICAgICAgI25hdmlnYXRpb24gdWwubGV2ZWwtMiA+IGxpOm50aC1vZi10eXBlKDRuKTpiZWZvcmUsICNuYXZpZ2F0aW9uIHVsLmxldmVsLTIgPiBsaTpsYXN0LW9mLXR5cGU6YmVmb3JlLCBuYXYgdWwubGV2ZWwtMiA+IGxpOm50aC1vZi10eXBlKDRuKTpiZWZvcmUsIG5hdiB1bC5sZXZlbC0yID4gbGk6bGFzdC1vZi10eXBlOmJlZm9yZSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgYW5kIChtaW4td2lkdGg6IDg3LjVlbSkge1xuICAgICAgI25hdmlnYXRpb24gdWwubGV2ZWwtMiA+IGxpLCBuYXYgdWwubGV2ZWwtMiA+IGxpIHtcbiAgICAgICAgd2lkdGg6IDE5JTsgfVxuICAgICAgICAjbmF2aWdhdGlvbiB1bC5sZXZlbC0yID4gbGk6bnRoLW9mLXR5cGUoNG4pOmJlZm9yZSwgbmF2IHVsLmxldmVsLTIgPiBsaTpudGgtb2YtdHlwZSg0bik6YmVmb3JlIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgICAjbmF2aWdhdGlvbiB1bC5sZXZlbC0yID4gbGk6bnRoLW9mLXR5cGUoNW4pOmJlZm9yZSwgI25hdmlnYXRpb24gdWwubGV2ZWwtMiA+IGxpOmxhc3Qtb2YtdHlwZTpiZWZvcmUsIG5hdiB1bC5sZXZlbC0yID4gbGk6bnRoLW9mLXR5cGUoNW4pOmJlZm9yZSwgbmF2IHVsLmxldmVsLTIgPiBsaTpsYXN0LW9mLXR5cGU6YmVmb3JlIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgI25hdmlnYXRpb24gdWwubGV2ZWwtMiA+IGxpID4gYSwgbmF2IHVsLmxldmVsLTIgPiBsaSA+IGEge1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0OyB9XG4gICAgICAgICAgI25hdmlnYXRpb24gdWwubGV2ZWwtMiA+IGxpID4gYS5hY3RpdmUsICNuYXZpZ2F0aW9uIHVsLmxldmVsLTIgPiBsaSA+IGEub3BlbiwgbmF2IHVsLmxldmVsLTIgPiBsaSA+IGEuYWN0aXZlLCBuYXYgdWwubGV2ZWwtMiA+IGxpID4gYS5vcGVuIHtcbiAgICAgICAgICAgIGNvbG9yOiBpbml0aWFsOyB9XG4gICAgICAgICAgI25hdmlnYXRpb24gdWwubGV2ZWwtMiA+IGxpID4gYS5hY3RpdmUsIG5hdiB1bC5sZXZlbC0yID4gbGkgPiBhLmFjdGl2ZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAzcHggIzAwNkY2OSBzb2xpZDsgfVxuICAgICAgICAjbmF2aWdhdGlvbiB1bC5sZXZlbC0yID4gbGkuYWN0aXZlID4gdWwsICNuYXZpZ2F0aW9uIHVsLmxldmVsLTIgPiBsaS5vcGVuID4gdWwsIG5hdiB1bC5sZXZlbC0yID4gbGkuYWN0aXZlID4gdWwsIG5hdiB1bC5sZXZlbC0yID4gbGkub3BlbiA+IHVsIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgICAjbmF2aWdhdGlvbiB1bC5sZXZlbC0yID4gbGkgPiB1bC5sZXZlbC0zID4gbGksIG5hdiB1bC5sZXZlbC0yID4gbGkgPiB1bC5sZXZlbC0zID4gbGkge1xuICAgICAgICAgIHBhZGRpbmc6IDAuNjI1cmVtIDAgMCAwOyB9XG4gICAgICAgICAgI25hdmlnYXRpb24gdWwubGV2ZWwtMiA+IGxpID4gdWwubGV2ZWwtMyA+IGxpID4gYSwgbmF2IHVsLmxldmVsLTIgPiBsaSA+IHVsLmxldmVsLTMgPiBsaSA+IGEge1xuICAgICAgICAgICAgZm9udC1zaXplOiAtMC4wNjI1cmVtO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gICAgICAgICAgICBmb250LWZhbWlseTogTmV1ZVNhbnNQcm8tTGlnaHQsIEhlbHZldGl2YSwgc2Fucy1zZXJpZjtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7IH1cbiAgICAgICAgICAgICNuYXZpZ2F0aW9uIHVsLmxldmVsLTIgPiBsaSA+IHVsLmxldmVsLTMgPiBsaSA+IGEuYWN0aXZlLCAjbmF2aWdhdGlvbiB1bC5sZXZlbC0yID4gbGkgPiB1bC5sZXZlbC0zID4gbGkgPiBhLm9wZW4sIG5hdiB1bC5sZXZlbC0yID4gbGkgPiB1bC5sZXZlbC0zID4gbGkgPiBhLmFjdGl2ZSwgbmF2IHVsLmxldmVsLTIgPiBsaSA+IHVsLmxldmVsLTMgPiBsaSA+IGEub3BlbiB7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogM3B4ICMwMDZGNjkgc29saWQ7IH1cbiAgICAgICNuYXZpZ2F0aW9uIHVsLmxldmVsLTIgdWwsIG5hdiB1bC5sZXZlbC0yIHVsIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgaHRtbC5uby1qcyAjbmF2aWdhdGlvbiB1bC5sZXZlbC0xID4gbGk6aG92ZXIgdWwubGV2ZWwtMiB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB6LWluZGV4OiA5OTk7IH1cbiAgICBodG1sLm5vLWpzICNuYXZpZ2F0aW9uIHVsLmxldmVsLTEgPiBsaTpob3ZlciB1bC5sZXZlbC0yOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xuICAgICAgei1pbmRleDogLTE7IH1cbiAgICBodG1sLm5vLWpzICNuYXZpZ2F0aW9uIHVsLmxldmVsLTEgPiBsaTpob3ZlciB1bC5sZXZlbC0yOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICB3aWR0aDogMTQwJTtcbiAgICAgIGxlZnQ6IC0yMCU7XG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2Q2ZDZkNjtcbiAgICAgIHotaW5kZXg6IC0xOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gIGh0bWwubm8tanMgI25hdmlnYXRpb25zLXdyYXBwZXI6aG92ZXIgI25hdmlnYXRpb24ge1xuICAgIG1hcmdpbi10b3A6IDMuNHJlbTtcbiAgICBtYXgtaGVpZ2h0OiAxMDByZW07XG4gICAgb3BhY2l0eTogMTsgfVxuICAgIGh0bWwubm8tanMgI25hdmlnYXRpb25zLXdyYXBwZXI6aG92ZXIgI25hdmlnYXRpb24gdWwubWFpbi1uYXZpZ2F0aW9uIHtcbiAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgYmFja2dyb3VuZDogI2ZmZmZmZjsgfVxuICAgICAgaHRtbC5uby1qcyAjbmF2aWdhdGlvbnMtd3JhcHBlcjpob3ZlciAjbmF2aWdhdGlvbiB1bC5tYWluLW5hdmlnYXRpb24gbGkgdWwge1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG5cbiNuYXZpZ2F0aW9ucy13cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbiNtZXRhLW5hdiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogNTAlO1xuICBwYWRkaW5nLXJpZ2h0OiAxLjc1cmVtO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGRpc3BsYXk6IC1tb3otYm94O1xuICAvKiBPTEQgLSBGaXJlZm94IDE5LSAoZG9lc24ndCB3b3JrIHZlcnkgd2VsbCkgKi9cbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIC8qIFRXRUVORVIgLSBJRSAxMCAqL1xuICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gIC8qIE5FVyAtIENocm9tZSAqL1xuICBkaXNwbGF5OiBmbGV4O1xuICAvKiBORVcsIFNwZWMgLSBPcGVyYSAxMi4xLCBGaXJlZm94IDIwKyAqL1xuICAtbXMtZmxleC1kaXJlY3Rpb246IHJvdztcbiAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogcm93O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAtbXMtZmxleC13cmFwOiBub3dyYXA7XG4gIC13ZWJraXQtZmxleC13cmFwOiBub3dyYXA7XG4gIGZsZXgtd3JhcDogbm93cmFwO1xuICAtd2Via2l0LWFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG4gICNtZXRhLW5hdiA+IGEge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwYWRkaW5nOiAwIDAuNDM3NXJlbTtcbiAgICBoZWlnaHQ6IDMuOTM3NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMy45Mzc1cmVtO1xuICAgIGZsZXgtc2hyaW5rOiAwOyB9XG4gICAgI21ldGEtbmF2ID4gYSA+IHNwYW4ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgICNtZXRhLW5hdiA+IGEgPiBzcGFuID4gc3BhbiB7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgcGFkZGluZzogMCAwLjMxMjVyZW07IH1cbiAgICAgICAgI21ldGEtbmF2ID4gYSA+IHNwYW4gPiBzcGFuIGltZyB7XG4gICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDE0MDBweCkge1xuICAgICAgI21ldGEtbmF2ID4gYSBzcGFuIHNwYW46bm90KC5pY29uKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAjbWV0YS1uYXYgLmljb24ge1xuICAgIHdpZHRoOiAyLjE4NzVyZW07XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgICAjbWV0YS1uYXYgLmljb24gaW1nIHtcbiAgICAgIGhlaWdodDogMS4yNXJlbTtcbiAgICAgIHdpZHRoOiBhdXRvOyB9XG5cbnVsLmxldmVsLTIua2VlcC1vcGVuIHtcbiAgb3BhY2l0eTogMSAhaW1wb3J0YW50O1xuICB6LWluZGV4OiAxMyAhaW1wb3J0YW50OyB9XG4gIC5lZGl0bW9kZSB1bC5sZXZlbC0yLmtlZXAtb3BlbiB7XG4gICAgei1pbmRleDogOTk5OTk5ICFpbXBvcnRhbnQ7IH1cblxuLmVkaXRtb2RlICNuYXZpZ2F0aW9ucy13cmFwcGVyIHtcbiAgbWluLWhlaWdodDogNXJlbTsgfVxuICAuZWRpdG1vZGUgI25hdmlnYXRpb25zLXdyYXBwZXIgI21ldGEtbmF2IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICB3aWR0aDogNDAwcHg7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHotaW5kZXg6IDk5OTk5O1xuICAgIHRvcDogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YzZjNmMztcbiAgICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuICAgIC5lZGl0bW9kZSAjbmF2aWdhdGlvbnMtd3JhcHBlciAjbWV0YS1uYXYgYSB7XG4gICAgICBoZWlnaHQ6IDIuMDYyNXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyLjA2MjVyZW07XG4gICAgICB3aWR0aDogYXV0bzsgfVxuXG4ucy1idXJnZXIge1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgei1pbmRleDogMTA7XG4gIGhlaWdodDogMjBweDtcbiAgd2lkdGg6IDI4cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgLnMtYnVyZ2VyIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgICB0b3A6IDEuNXJlbTtcbiAgICAgIHJpZ2h0OiAxcmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5zLWJ1cmdlciB7XG4gICAgICB0b3A6IDYuMTI1cmVtO1xuICAgICAgcmlnaHQ6IDQuMjVyZW07XG4gICAgICB6LWluZGV4OiA5OTk5OTk7IH0gfVxuICAucy1idXJnZXI6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBhZGRpbmc6IC0xLjU2MjVyZW0gLTEuNTYyNXJlbSAyLjEyNXJlbSAyLjEyNXJlbTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAucy1idXJnZXIge1xuICAgICAgdG9wOiAxLjU2MjVyZW07IH0gfVxuICAucy1idXJnZXIucmV2ZXJzZSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGVaKDE4MGRlZyk7IH1cbiAgLnMtYnVyZ2VyIHNwYW4ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBoZWlnaHQ6IDJweDtcbiAgICB3aWR0aDogMjhweDtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuM3M7IH1cbiAgICAucy1idXJnZXIgc3Bhbi50IHtcbiAgICAgIHRvcDogMDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxNDE0MTQ7IH1cbiAgICAucy1idXJnZXIgc3Bhbi5tIHtcbiAgICAgIHRvcDogY2FsYygyMHB4IC8gMiAtIDJweCAvIDIpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzE0MTQxNDsgfVxuICAgIC5zLWJ1cmdlciBzcGFuLmIge1xuICAgICAgdG9wOiBjYWxjKDIwcHggLSAycHgpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzE0MTQxNDsgfVxuICBib2R5Om5vdCgudG91Y2gtdXNlcikgLnMtYnVyZ2VyOmhvdmVyIC50LCBib2R5Om5vdCgudG91Y2gtdXNlcikgLnMtYnVyZ2VyOmhvdmVyIC5tLCBib2R5Om5vdCgudG91Y2gtdXNlcikgLnMtYnVyZ2VyOmhvdmVyIC5iIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBncmVlbjsgfVxuICBib2R5Om5vdCgudG91Y2gtdXNlcikgLnMtYnVyZ2VyLmlzLWFjdGl2ZTpob3ZlciAudCwgYm9keTpub3QoLnRvdWNoLXVzZXIpIC5zLWJ1cmdlci5pcy1hY3RpdmU6aG92ZXIgLm0sIGJvZHk6bm90KC50b3VjaC11c2VyKSAucy1idXJnZXIuaXMtYWN0aXZlOmhvdmVyIC5iIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBncmVlbjsgfVxuICAucy1idXJnZXIuaXMtYWN0aXZlIC50IHtcbiAgICB0b3A6IDA7XG4gICAgYW5pbWF0aW9uOiBhY3RpdmF0ZS10LW5vcm1hbCAyMDBtcyBsaW5lYXIgMTtcbiAgICBhbmltYXRpb24tZGlyZWN0aW9uOiBub3JtYWw7XG4gICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzE0MTQxNDsgfVxuXG5Aa2V5ZnJhbWVzIGFjdGl2YXRlLXQtbm9ybWFsIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKSB0cmFuc2xhdGVYKDApIHJvdGF0ZVooMCk7XG4gICAgb3BhY2l0eTogMTsgfVxuICA0MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxOHB4KSB0cmFuc2xhdGVYKDApIHJvdGF0ZVooMCk7XG4gICAgb3BhY2l0eTogMTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoOHB4KSB0cmFuc2xhdGVYKDApIHJvdGF0ZVooNDVkZWcpO1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5zLWJ1cmdlci5pcy1hY3RpdmUgLnQge1xuICAgICAgICBhbmltYXRpb24tZHVyYXRpb246IDFtczsgfSB9XG4gIC5zLWJ1cmdlci5pcy1hY3RpdmUgLm0ge1xuICAgIHRvcDogY2FsYygyMHB4IC8gMiAtIDJweCAvIDIpO1xuICAgIGFuaW1hdGlvbjogYWN0aXZhdGUtbS1ub3JtYWwgMjAwbXMgbGluZWFyIDE7XG4gICAgYW5pbWF0aW9uLWRpcmVjdGlvbjogbm9ybWFsO1xuICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMxNDE0MTQ7IH1cblxuQGtleWZyYW1lcyBhY3RpdmF0ZS1tLW5vcm1hbCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCkgdHJhbnNsYXRlWCgwKSByb3RhdGVaKDApO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgMjUlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoOHB4KSB0cmFuc2xhdGVZKDApIHJvdGF0ZVooMCk7XG4gICAgb3BhY2l0eTogMDsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoOHB4KSB0cmFuc2xhdGVZKDApIHJvdGF0ZVooMCk7XG4gICAgb3BhY2l0eTogMDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnMtYnVyZ2VyLmlzLWFjdGl2ZSAubSB7XG4gICAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMW1zOyB9IH1cbiAgLnMtYnVyZ2VyLmlzLWFjdGl2ZSAuYiB7XG4gICAgdG9wOiBjYWxjKDIwcHggLSAycHgpO1xuICAgIGFuaW1hdGlvbjogYWN0aXZhdGUtYi1ub3JtYWwgMjAwbXMgbGluZWFyIDE7XG4gICAgYW5pbWF0aW9uLWRpcmVjdGlvbjogbm9ybWFsO1xuICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMxNDE0MTQ7IH1cblxuQGtleWZyYW1lcyBhY3RpdmF0ZS1iLW5vcm1hbCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCkgdHJhbnNsYXRlWCgwKSByb3RhdGVaKDApO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgNDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCkgdHJhbnNsYXRlWCgwKSByb3RhdGVaKDApO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMHB4KSB0cmFuc2xhdGVYKDApIHJvdGF0ZVooLTQ1ZGVnKTtcbiAgICBvcGFjaXR5OiAxOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAucy1idXJnZXIuaXMtYWN0aXZlIC5iIHtcbiAgICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxbXM7IH0gfVxuICAucy1idXJnZXIuaXMtYWN0aXZlLnJldmVyc2UgLnQge1xuICAgIGFuaW1hdGlvbjogYWN0aXZhdGUtdC1ub3JtYWwgMjAwbXMgbGluZWFyIDE7XG4gICAgYW5pbWF0aW9uLWRpcmVjdGlvbjogbm9ybWFsO1xuICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMxNDE0MTQ7IH1cblxuQGtleWZyYW1lcyBhY3RpdmF0ZS10LW5vcm1hbCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCkgdHJhbnNsYXRlWCgwKSByb3RhdGVaKDApO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgNDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMThweCkgdHJhbnNsYXRlWCgwKSByb3RhdGVaKDApO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDhweCkgdHJhbnNsYXRlWCgwKSByb3RhdGVaKDQ1ZGVnKTtcbiAgICBvcGFjaXR5OiAxOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAucy1idXJnZXIuaXMtYWN0aXZlLnJldmVyc2UgLnQge1xuICAgICAgICBhbmltYXRpb24tZHVyYXRpb246IDFtczsgfSB9XG4gIC5zLWJ1cmdlci5pcy1hY3RpdmUucmV2ZXJzZSAubSB7XG4gICAgYW5pbWF0aW9uOiBhY3RpdmF0ZS1tLW5vcm1hbCAyMDBtcyBsaW5lYXIgMTtcbiAgICBhbmltYXRpb24tZGlyZWN0aW9uOiBub3JtYWw7XG4gICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzE0MTQxNDsgfVxuXG5Aa2V5ZnJhbWVzIGFjdGl2YXRlLW0tbm9ybWFsIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKSB0cmFuc2xhdGVYKDApIHJvdGF0ZVooMCk7XG4gICAgb3BhY2l0eTogMTsgfVxuICAyNSUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg4cHgpIHRyYW5zbGF0ZVkoMCkgcm90YXRlWigwKTtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg4cHgpIHRyYW5zbGF0ZVkoMCkgcm90YXRlWigwKTtcbiAgICBvcGFjaXR5OiAwOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAucy1idXJnZXIuaXMtYWN0aXZlLnJldmVyc2UgLm0ge1xuICAgICAgICBhbmltYXRpb24tZHVyYXRpb246IDFtczsgfSB9XG4gIC5zLWJ1cmdlci5pcy1hY3RpdmUucmV2ZXJzZSAuYiB7XG4gICAgYW5pbWF0aW9uOiBhY3RpdmF0ZS1iLW5vcm1hbCAyMDBtcyBsaW5lYXIgMTtcbiAgICBhbmltYXRpb24tZGlyZWN0aW9uOiBub3JtYWw7XG4gICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzE0MTQxNDsgfVxuXG5Aa2V5ZnJhbWVzIGFjdGl2YXRlLWItbm9ybWFsIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKSB0cmFuc2xhdGVYKDApIHJvdGF0ZVooMCk7XG4gICAgb3BhY2l0eTogMTsgfVxuICA0MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKSB0cmFuc2xhdGVYKDApIHJvdGF0ZVooMCk7XG4gICAgb3BhY2l0eTogMTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwcHgpIHRyYW5zbGF0ZVgoMCkgcm90YXRlWigtNDVkZWcpO1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5zLWJ1cmdlci5pcy1hY3RpdmUucmV2ZXJzZSAuYiB7XG4gICAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMW1zOyB9IH1cbiAgYm9keTpub3QoLnRvdWNoLXVzZXIpIC5zLWJ1cmdlci5ub3QtYWN0aXZlOmhvdmVyIC50LCBib2R5Om5vdCgudG91Y2gtdXNlcikgLnMtYnVyZ2VyLm5vdC1hY3RpdmU6aG92ZXIgLm0sIGJvZHk6bm90KC50b3VjaC11c2VyKSAucy1idXJnZXIubm90LWFjdGl2ZTpob3ZlciAuYiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzE0MTQxNDsgfVxuICAucy1idXJnZXIubm90LWFjdGl2ZSAudCB7XG4gICAgdG9wOiAwO1xuICAgIGFuaW1hdGlvbjogYWN0aXZhdGUtdC1yZXZlcnNlIDIwMG1zIGxpbmVhciAxO1xuICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IGJhY2t3YXJkcztcbiAgICBhbmltYXRpb24tZGlyZWN0aW9uOiByZXZlcnNlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMxNDE0MTQ7IH1cblxuQGtleWZyYW1lcyBhY3RpdmF0ZS10LXJldmVyc2Uge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApIHRyYW5zbGF0ZVgoMCkgcm90YXRlWigwKTtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDQwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDE4cHgpIHRyYW5zbGF0ZVgoMCkgcm90YXRlWigwKTtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg4cHgpIHRyYW5zbGF0ZVgoMCkgcm90YXRlWig0NWRlZyk7XG4gICAgb3BhY2l0eTogMTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnMtYnVyZ2VyLm5vdC1hY3RpdmUgLnQge1xuICAgICAgICBhbmltYXRpb24tZHVyYXRpb246IDFtczsgfSB9XG4gIC5zLWJ1cmdlci5ub3QtYWN0aXZlIC5tIHtcbiAgICB0b3A6IGNhbGMoMjBweCAvIDIgLSAycHggLyAyKTtcbiAgICBhbmltYXRpb246IGFjdGl2YXRlLW0tcmV2ZXJzZSAyMDBtcyBsaW5lYXIgMTtcbiAgICBhbmltYXRpb24tZmlsbC1tb2RlOiBiYWNrd2FyZHM7XG4gICAgYW5pbWF0aW9uLWRpcmVjdGlvbjogcmV2ZXJzZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTQxNDE0OyB9XG5cbkBrZXlmcmFtZXMgYWN0aXZhdGUtbS1yZXZlcnNlIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKSB0cmFuc2xhdGVYKDApIHJvdGF0ZVooMCk7XG4gICAgb3BhY2l0eTogMTsgfVxuICAyNSUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg4cHgpIHRyYW5zbGF0ZVkoMCkgcm90YXRlWigwKTtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg4cHgpIHRyYW5zbGF0ZVkoMCkgcm90YXRlWigwKTtcbiAgICBvcGFjaXR5OiAwOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAucy1idXJnZXIubm90LWFjdGl2ZSAubSB7XG4gICAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMW1zOyB9IH1cbiAgLnMtYnVyZ2VyLm5vdC1hY3RpdmUgLmIge1xuICAgIHRvcDogY2FsYygyMHB4IC0gMnB4KTtcbiAgICBhbmltYXRpb246IGFjdGl2YXRlLWItcmV2ZXJzZSAyMDBtcyBsaW5lYXIgMTtcbiAgICBhbmltYXRpb24tZmlsbC1tb2RlOiBiYWNrd2FyZHM7XG4gICAgYW5pbWF0aW9uLWRpcmVjdGlvbjogcmV2ZXJzZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTQxNDE0OyB9XG5cbkBrZXlmcmFtZXMgYWN0aXZhdGUtYi1yZXZlcnNlIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKSB0cmFuc2xhdGVYKDApIHJvdGF0ZVooMCk7XG4gICAgb3BhY2l0eTogMTsgfVxuICA0MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKSB0cmFuc2xhdGVYKDApIHJvdGF0ZVooMCk7XG4gICAgb3BhY2l0eTogMTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwcHgpIHRyYW5zbGF0ZVgoMCkgcm90YXRlWigtNDVkZWcpO1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5zLWJ1cmdlci5ub3QtYWN0aXZlIC5iIHtcbiAgICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxbXM7IH0gfVxuXG4uYnV0dG9uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmb250LXNpemU6IDEuMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjVyZW07XG4gIGZvbnQtZmFtaWx5OiBOZXVlU2Fuc1Byby1TZW1pQm9sZCwgSGVsdmV0aXZhLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsZXR0ZXItc3BhY2luZzogMC45cHg7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBwYWRkaW5nLXRvcDogMC42MjVyZW07XG4gIHBhZGRpbmctYm90dG9tOiAwLjM3NXJlbTtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG4gIGJvcmRlci13aWR0aDogMnB4O1xuICB0cmFuc2l0aW9uOiBhbGwgMzAwbXMgZWFzZS1pbi1vdXQ7IH1cbiAgLmJ1dHRvbi5sYXJnZSwgLmJ1dHRvbi50aW55LCAuYnV0dG9uLnNtYWxsIHtcbiAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNXJlbTtcbiAgICBmb250LWZhbWlseTogTmV1ZVNhbnNQcm8tU2VtaUJvbGQsIEhlbHZldGl2YSwgc2Fucy1zZXJpZjtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjlweDsgfVxuICAuYnV0dG9uLmhvbGxvdyB7XG4gICAgYm9yZGVyLXdpZHRoOiAycHg7IH1cbiAgLmJ1dHRvbjpob3ZlciB7XG4gICAgY29sb3I6ICNmZmZmZmYgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA4MzdjICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjMDA4MzdjICFpbXBvcnRhbnQ7IH1cblxuLmNvbXBvbmVudC10ZXh0LWltYWdlIC5pbWFnZSBpbWcge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IGF1dG87IH1cblxuLmltYWdlLWNhcHRpb24ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiA5MCU7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgbWFyZ2luOiAwLjMxMjVyZW0gMDtcbiAgb3BhY2l0eTogMC41OyB9XG5cbi50ZXh0IHVsIGxpIHtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lICFpbXBvcnRhbnQ7IH1cbiAgLnRleHQgdWwgbGk6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIi1cIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcGFkZGluZy1yaWdodDogMC41cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAtMS4yNXJlbTsgfVxuXG4uY29tcG9uZW50LXNsaWRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWJvdHRvbTogMy4xMjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuY29tcG9uZW50LXNsaWRlciB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNTUuMzklO1xuICAgICAgaGVpZ2h0OiAwOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgYW5kIChtaW4td2lkdGg6IDE1MDBweCkge1xuICAgIC5jb21wb25lbnQtc2xpZGVyIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAyOC4xMjVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5mdWxsIC5jb21wb25lbnQtc2xpZGVyIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAzMy4zNCU7XG4gICAgICBoZWlnaHQ6IDA7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxNTAwcHgpIHtcbiAgICAuZnVsbCAuY29tcG9uZW50LXNsaWRlciB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMjguMTI1cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgLmNvbXBvbmVudC1zbGlkZXIge1xuICAgICAgd2lkdGg6IDEwMHZ3O1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpOyB9IH1cbiAgLmNvbXBvbmVudC1zbGlkZXIgYm9keTpub3QoLmVkaXRtb2RlKSB7XG4gICAgbWF4LWhlaWdodDogNDYuODc1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmNvbXBvbmVudC1zbGlkZXIgLm93bC1jYXJvdXNlbCB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNTAlKTtcbiAgICAgIHJpZ2h0OiA1MCU7XG4gICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlOyB9XG4gICAgICAuY29tcG9uZW50LXNsaWRlciAub3dsLWNhcm91c2VsIC5vd2wtc3RhZ2Utb3V0ZXIge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIG1heC1oZWlnaHQ6IDEwMCU7IH1cbiAgICAgICAgLmNvbXBvbmVudC1zbGlkZXIgLm93bC1jYXJvdXNlbCAub3dsLXN0YWdlLW91dGVyIC5vd2wtc3RhZ2Uge1xuICAgICAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlOyB9XG4gICAgICAgICAgLmNvbXBvbmVudC1zbGlkZXIgLm93bC1jYXJvdXNlbCAub3dsLXN0YWdlLW91dGVyIC5vd2wtc3RhZ2UgLm93bC1pdGVtIHtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDEwMCU7IH0gfVxuICBAbWVkaWEgYWxsIGFuZCAoLW1zLWhpZ2gtY29udHJhc3Q6IG5vbmUpIHtcbiAgICAuY29tcG9uZW50LXNsaWRlciAub3dsLWNhcm91c2VsIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMHZ3IC0gMTdweCk7IH0gfVxuICAuY29tcG9uZW50LXNsaWRlciAuc2xpZGVyLWl0ZW0ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgICAuY29tcG9uZW50LXNsaWRlciAuc2xpZGVyLWl0ZW0gLnNsaWRlci1saW5rIHtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoMTgwLCAxMzEsIDEzOCwgMC41KTsgfVxuICAgICAgLmNvbXBvbmVudC1zbGlkZXIgLnNsaWRlci1pdGVtIC5zbGlkZXItbGluazpob3ZlciAuYnV0dG9uIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwODM3YyAhaW1wb3J0YW50O1xuICAgICAgICBib3JkZXItY29sb3I6ICMwMDgzN2MgIWltcG9ydGFudDsgfVxuICAgIC5jb21wb25lbnQtc2xpZGVyIC5zbGlkZXItaXRlbSAuaW1hZ2Uge1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgICAgICAuY29tcG9uZW50LXNsaWRlciAuc2xpZGVyLWl0ZW0gLmltYWdlIHtcbiAgICAgICAgICBoZWlnaHQ6IDU1dnc7XG4gICAgICAgICAgbWF4LWhlaWdodDogMTAwJTsgfSB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAuY29tcG9uZW50LXNsaWRlciAuc2xpZGVyLWl0ZW0gLmltYWdlIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgYm90dG9tOiAwOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmNvbXBvbmVudC1zbGlkZXIgLnNsaWRlci1pdGVtIC50ZXh0LXdyYXBwZXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvdHRvbTogMS44NzVyZW07XG4gICAgICAgIHdpZHRoOiA0MCU7XG4gICAgICAgIG1heC13aWR0aDogMzYuODc1cmVtO1xuICAgICAgICBtaW4td2lkdGg6IDIwcmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAgIC5jb21wb25lbnQtc2xpZGVyIC5zbGlkZXItaXRlbSAudGV4dC13cmFwcGVyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5jb21wb25lbnQtc2xpZGVyIC5zbGlkZXItaXRlbSAudGV4dC13cmFwcGVyLnJpZ2h0IHtcbiAgICAgICAgcmlnaHQ6IDEuODc1cmVtOyB9XG4gICAgICAuY29tcG9uZW50LXNsaWRlciAuc2xpZGVyLWl0ZW0gLnRleHQtd3JhcHBlci5sZWZ0IHtcbiAgICAgICAgbGVmdDogMS44NzVyZW07IH0gfVxuICAgIC5jb21wb25lbnQtc2xpZGVyIC5zbGlkZXItaXRlbSAudGV4dC13cmFwcGVyIC5jb2xvci1hcmVhIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvdHRvbTogMDsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgLmNvbXBvbmVudC1zbGlkZXIgLnNsaWRlci1pdGVtIC50ZXh0LXdyYXBwZXIgLmNvbG9yLWFyZWEge1xuICAgICAgICAgIG9wYWNpdHk6IDAuNzU7IH0gfVxuICAgIC5jb21wb25lbnQtc2xpZGVyIC5zbGlkZXItaXRlbSAudGV4dC13cmFwcGVyIC50ZXh0LWJsb2NrIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHBhZGRpbmc6IDEuNXJlbTsgfVxuICAgICAgLmNvbXBvbmVudC1zbGlkZXIgLnNsaWRlci1pdGVtIC50ZXh0LXdyYXBwZXIgLnRleHQtYmxvY2sgaDQge1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC40Mzc1cmVtOyB9XG4gICAgICAuY29tcG9uZW50LXNsaWRlciAuc2xpZGVyLWl0ZW0gLnRleHQtd3JhcHBlciAudGV4dC1ibG9jayBwIHtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7IH1cbiAgICAgIC5jb21wb25lbnQtc2xpZGVyIC5zbGlkZXItaXRlbSAudGV4dC13cmFwcGVyIC50ZXh0LWJsb2NrIC5idXR0b24ge1xuICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAjZmZmZmZmO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIHBhZGRpbmc6IDAuNXJlbTtcbiAgICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTsgfVxuICAgICAgICAuY29tcG9uZW50LXNsaWRlciAuc2xpZGVyLWl0ZW0gLnRleHQtd3JhcHBlciAudGV4dC1ibG9jayAuYnV0dG9uOmhvdmVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA4MzdjICFpbXBvcnRhbnQ7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAjMDA4MzdjICFpbXBvcnRhbnQ7IH1cbiAgICAgIC5jb21wb25lbnQtc2xpZGVyIC5zbGlkZXItaXRlbSAudGV4dC13cmFwcGVyIC50ZXh0LWJsb2NrIGg0ICsgLmJ1dHRvbiB7XG4gICAgICAgIG1hcmdpbi10b3A6IDEuMDYyNXJlbTsgfVxuICAgICAgLmNvbXBvbmVudC1zbGlkZXIgLnNsaWRlci1pdGVtIC50ZXh0LXdyYXBwZXIgLnRleHQtYmxvY2sgcCArIC5idXR0b24ge1xuICAgICAgICBtYXJnaW4tdG9wOiAxLjA2MjVyZW07IH1cblxuLm93bC1kb3RzIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwYWRkaW5nOiAwIDIuODEyNXJlbTsgfVxuICAuY291cnNlcy1zbGlkZXIgLm93bC1kb3RzIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuY291cnNlcy1zbGlkZXIgLm93bC1kb3RzIHtcbiAgICAgICAgYm90dG9tOiAtMS4yNXJlbTsgfSB9XG4gIC5vd2wtZG90cyAub3dsLWRvdCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGhlaWdodDogMC42MjVyZW07XG4gICAgd2lkdGg6IDAuNjI1cmVtO1xuICAgIG1hcmdpbjogMC4xMjVyZW0gMC4xMjVyZW0gMC4xODc1cmVtIDAuMTg3NXJlbTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZDZkNmQ2ICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZDogI2ZmZmZmZiAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTsgfVxuICAgIC5vd2wtZG90cyAub3dsLWRvdC5hY3RpdmUge1xuICAgICAgYmFja2dyb3VuZDogIzAwNkY2OSAhaW1wb3J0YW50OyB9XG5cbi5vd2wtbmF2IGJ1dHRvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaGVpZ2h0OiAyLjMxMjVyZW07XG4gIHdpZHRoOiAyLjMxMjVyZW07XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEyMCUpOyB9XG4gIC5jb3Vyc2VzLXNsaWRlciAub3dsLW5hdiBidXR0b24ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAub3dsLW5hdiBidXR0b24ge1xuICAgICAgdG9wOiAyM3Z3O1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9IH1cbiAgLm93bC1uYXYgYnV0dG9uOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lOyB9XG4gIC5vd2wtbmF2IGJ1dHRvbiBzcGFuIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgtNTAlKSBzY2FsZSgxKTtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgb3BhY2l0eTogMC40NTtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDMwMG1zLCB0cmFuc2Zvcm0gMjAwbXM7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgIGJhY2tncm91bmQtc2l6ZTogYXV0bztcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5vd2wtbmF2IGJ1dHRvbiBzcGFuOmhvdmVyIHtcbiAgICAgIG9wYWNpdHk6IDE7IH1cbiAgLm93bC1uYXYgYnV0dG9uLm93bC1uZXh0IHtcbiAgICByaWdodDogMi41cmVtOyB9XG4gICAgLmNvdXJzZXMtc2xpZGVyIC5vd2wtbmF2IGJ1dHRvbi5vd2wtbmV4dCB7XG4gICAgICByaWdodDogLTIuNXJlbTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgICAgIC5jb3Vyc2VzLXNsaWRlciAub3dsLW5hdiBidXR0b24ub3dsLW5leHQge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAgIC5vd2wtbmF2IGJ1dHRvbi5vd2wtbmV4dCBzcGFuIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvYXJyb3ctcmlnaHQtYmx1ZS5zdmdcIik7IH1cbiAgLm93bC1uYXYgYnV0dG9uLm93bC1wcmV2IHtcbiAgICBsZWZ0OiAyLjVyZW07IH1cbiAgICAuY291cnNlcy1zbGlkZXIgLm93bC1uYXYgYnV0dG9uLm93bC1wcmV2IHtcbiAgICAgIGxlZnQ6IC0yLjVyZW07IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgICAgICAuY291cnNlcy1zbGlkZXIgLm93bC1uYXYgYnV0dG9uLm93bC1wcmV2IHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgICAub3dsLW5hdiBidXR0b24ub3dsLXByZXYgc3BhbiB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL2Fycm93LWxlZnQtYnJvd24uc3ZnXCIpOyB9XG4gIC5vd2wtbmF2IGJ1dHRvbi5kaXNhYmxlZCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuXG4ub3dsLWNhcm91c2VsIC5vd2wtc3RhZ2UsXG4ub3dsLWNhcm91c2VsLm93bC1kcmFnIC5vd2wtaXRlbSB7XG4gIC1tcy10b3VjaC1hY3Rpb246IGF1dG8gIWltcG9ydGFudDtcbiAgdG91Y2gtYWN0aW9uOiBhdXRvICFpbXBvcnRhbnQ7IH1cblxuLmVkaXRtb2RlIC5jb21wb25lbnQtc2xpZGVyIHtcbiAgaGVpZ2h0OiBhdXRvO1xuICBtYXJnaW4tYm90dG9tOiAzLjEyNXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDA7IH1cbiAgLmVkaXRtb2RlIC5jb21wb25lbnQtc2xpZGVyIC5zbGlkZXItaXRlbSB7XG4gICAgbWluLWhlaWdodDogNDB2dztcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206IDIuNXJlbTsgfVxuXG4uYXJ0aWNsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIHBhZGRpbmctdG9wOiAwLjkzNzVyZW0gIWltcG9ydGFudDtcbiAgcGFkZGluZy1ib3R0b206IDAuOTM3NXJlbSAhaW1wb3J0YW50OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmFydGljbGUge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW0gIWltcG9ydGFudDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbSAhaW1wb3J0YW50OyB9IH1cbiAgLmFydGljbGUgLnRleHQgPiBwIHtcbiAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMjRweDtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udEZhbWlseSk7IH1cbiAgLmFydGljbGUgaDQge1xuICAgIG1hcmdpbi10b3A6IDAuMzEyNXJlbTsgfVxuICAuYXJ0aWNsZSB1bC50YWdzIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtO1xuICAgIG1hcmdpbi10b3A6IDAuMzEyNXJlbTtcbiAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5hcnRpY2xlIHVsLnRhZ3MgbGkge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgICAuYXJ0aWNsZSB1bC50YWdzIGxpIGEuYXJ0aWNsZV90YWcge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IDAuMTI1cmVtIDAuNjI1cmVtO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWNlMGUyO1xuICAgICAgICBjb2xvcjogIzAwNTQ2MztcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMjAwbXM7XG4gICAgICAgIG1hcmdpbjogMCAwLjE4NzVyZW0gMC4xODc1cmVtIDA7IH1cbiAgICAgICAgYm9keTpub3QoLnRvdWNoLXVzZXIpIC5hcnRpY2xlIHVsLnRhZ3MgbGkgYS5hcnRpY2xlX3RhZzpob3ZlciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwNTQ2MztcbiAgICAgICAgICBjb2xvcjogI2VjZTBlMjsgfVxuICAuYXJ0aWNsZSBwLnN1YnRpdGxlIHtcbiAgICBmb250LXNpemU6IDEuM3JlbTtcbiAgICBjb2xvcjogIzAwNkY2OTtcbiAgICBsaW5lLWhlaWdodDogMS41NnJlbTtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udEZhbWlseSk7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuN3B4O1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMC44MTI1cmVtOyB9XG4gICAgLmFydGljbGUgcC5zdWJ0aXRsZSBhIHtcbiAgICAgIGNvbG9yOiBpbmhlcml0OyB9XG4gIC5hcnRpY2xlIC5hcnRpY2xlLWltYWdlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSArIDMwcHgpO1xuICAgIHRvcDogLTAuOTM3NXJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogODUlO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgbGVmdDogLTAuOTM3NXJlbTsgfVxuICAgIC5hcnRpY2xlIC5hcnRpY2xlLWltYWdlICsgLmltYWdlLWNhcHRpb24ge1xuICAgICAgbWFyZ2luLXRvcDogLTAuNXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgICAuYXJ0aWNsZSAuYXJ0aWNsZS1pbWFnZSB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgKyAzcmVtKTtcbiAgICAgICAgbGVmdDogLTEuNXJlbTsgfSB9XG4gIC5hcnRpY2xlIC50ZXh0Lmhhc0RhdGVPckF1dGhvciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS4xMjVyZW07IH1cbiAgICAuYXJ0aWNsZSAudGV4dC5oYXNEYXRlT3JBdXRob3IgcDpudGgtY2hpbGQoMikge1xuICAgICAgZGlzcGxheTogaW5saW5lOyB9XG4gIC5hcnRpY2xlIC5kYXRlQW5kQXV0aG9yIHtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgY29sb3I6ICMwMDU0NjM7XG4gICAgbGluZS1oZWlnaHQ6IDEuMnJlbTtcbiAgICBmb250LWZhbWlseTogTmV1ZVNhbnNQcm8tU2VtaUJvbGQsIEhlbHZldGl2YSwgc2Fucy1zZXJpZjtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjVweDsgfVxuICAuYXJ0aWNsZSAuaW1nIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07IH1cbiAgICAuYXJ0aWNsZSAuaW1nLmxlZnQge1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgIC5hcnRpY2xlIC5pbWcucmlnaHQge1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgICAuYXJ0aWNsZSAuaW1nLmNlbnRlciB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAuYXJ0aWNsZSAuaW1nIGltZyB7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgICAuYXJ0aWNsZSAuaW1nIHNwYW4ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC5hcnRpY2xlIC5jb2RlICoge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgIC5hcnRpY2xlLnNtYWxsLTEyIHtcbiAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuXG4uYXJ0aWNsZXMge1xuICBwYWRkaW5nOiAwOyB9XG4gIC5hcnRpY2xlcyAuYXJ0aWNsZS1jZWxsIHtcbiAgICBwYWRkaW5nOiAwLjkzNzVyZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsgfVxuXG4uYXJ0aWNsZXMtdmlldyB7XG4gIG1hcmdpbi1ib3R0b206IDMuMTI1cmVtOyB9XG5cbi5lZGl0b3ItZ3JpZCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICBwYWRkaW5nLXRvcDogMS44NzVyZW0gIWltcG9ydGFudDsgfVxuICAuZWRpdG9yLWdyaWQgLm1nbmxFZGl0b3JCYXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgdG9wOiA3cHggIWltcG9ydGFudDsgfVxuXG4ubWFzb25yeS1ncmlkIHtcbiAgY29sdW1uLWNvdW50OiAxO1xuICBjb2x1bW4tZ2FwOiAycmVtO1xuICBtYXJnaW4tdG9wOiAxcmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAubWFzb25yeS1ncmlkIHtcbiAgICAgIGNvbHVtbi1jb3VudDogMjtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxcmVtO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxcmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5tYXNvbnJ5LWdyaWQge1xuICAgICAgY29sdW1uLWNvdW50OiAzOyB9IH1cblxuLm1hc29ucnktdmlldyB7XG4gIC13ZWJraXQtY29sdW1uLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgYnJlYWstaW5zaWRlOiBhdm9pZC1jb2x1bW47XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBwYWRkaW5nLWJvdHRvbTogMnJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAubWFzb25yeS12aWV3IC5hcnRpY2xlIHtcbiAgICAgIHBhZGRpbmc6IDEuNXJlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAuY29tcG9uZW50LW1hcCAubWFwIHtcbiAgICBtaW4taGVpZ2h0OiAyOC4xMjVyZW07IH0gfVxuXG4uY29tcG9uZW50LW1hcCAubWFwLm5vLWhlaWdodCB7XG4gIGhlaWdodDogMDtcbiAgcGFkZGluZy1ib3R0b206IDY2JTsgfVxuXG4uY29tcG9uZW50LW1hcCAucG9wdWxhdGlvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtMTB2aDtcbiAgbGVmdDogLTEwdnc7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBtYXgtaGVpZ2h0OiAwO1xuICBtYXgtd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgd2lkdGg6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLmluZm9Cb3gge1xuICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgbWF4LXdpZHRoOiA0MHJlbTtcbiAgd2lkdGg6IDQwcmVtO1xuICBtYXgtaGVpZ2h0OiAyMC41NjI1cmVtO1xuICBoZWlnaHQ6IDIwLjU2MjVyZW07XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApIHRyYW5zbGF0ZVkoLTQyNHB4KSB0cmFuc2xhdGVYKC01MCUpICFpbXBvcnRhbnQ7XG4gIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApIHRyYW5zbGF0ZVkoLTQyNHB4KSB0cmFuc2xhdGVYKC01MCUpICFpbXBvcnRhbnQ7XG4gIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCkgdHJhbnNsYXRlWSgtNDI0cHgpIHRyYW5zbGF0ZVgoLTUwJSkgIWltcG9ydGFudDtcbiAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApIHRyYW5zbGF0ZVkoLTQyNHB4KSB0cmFuc2xhdGVYKC01MCUpICFpbXBvcnRhbnQ7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKSB0cmFuc2xhdGVZKC00MjRweCkgdHJhbnNsYXRlWCgtNTAlKSAhaW1wb3J0YW50OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgIC5pbmZvQm94IHtcbiAgICAgIG1heC13aWR0aDogY2FsYygxMDB2dyAtIDUwcHgpOyB9IH1cbiAgLmluZm9Cb3ggPiBpbWcge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmluZm9Cb3ggLmluZm8td2luZG93IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcGFkZGluZzogMS44NzVyZW07XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIHBhZGRpbmc6IDEuNTYyNXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgICAgLmluZm9Cb3ggLmluZm8td2luZG93IHtcbiAgICAgICAgbWFyZ2luOiAwLjkzNzVyZW0gMC45Mzc1cmVtIDAgMC45Mzc1cmVtOyB9IH1cbiAgICAuaW5mb0JveCAuaW5mby13aW5kb3cgLmNsb3NlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMC42MjVyZW07XG4gICAgICByaWdodDogMC42MjVyZW07XG4gICAgICB3aWR0aDogMC45Mzc1cmVtO1xuICAgICAgaGVpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgICAgIC5pbmZvQm94IC5pbmZvLXdpbmRvdyAuY2xvc2Ugc3ZnIHBhdGgge1xuICAgICAgICBmaWxsOiAjZmZmZmZmO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDsgfVxuICAgICAgLmluZm9Cb3ggLmluZm8td2luZG93IC5jbG9zZTpob3ZlciBzdmcgcGF0aCB7XG4gICAgICAgIGZpbGw6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTsgfVxuICAgIC5pbmZvQm94IC5pbmZvLXdpbmRvdzphZnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIHdpZHRoOiAwO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgYm90dG9tOiAtNTdweDtcbiAgICAgIGJvcmRlci13aWR0aDogMzBweDtcbiAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICBib3JkZXItcmlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItbGVmdC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAuaW5mb0JveCAuaW5mby13aW5kb3cgcCxcbiAgICAuaW5mb0JveCAuaW5mby13aW5kb3cgc3BhbixcbiAgICAuaW5mb0JveCAuaW5mby13aW5kb3cgYSB7XG4gICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjJyZW07XG4gICAgICBmb250LWZhbWlseTogdmFyKC0tZm9udEZhbWlseSk7IH1cbiAgICAuaW5mb0JveCAuaW5mby13aW5kb3cgYSB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAgIC5pbmZvQm94IC5pbmZvLXdpbmRvdyBhOmhvdmVyIHtcbiAgICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7IH1cbiAgICAuaW5mb0JveCAuaW5mby13aW5kb3cgLm5hbWUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC4zMTI1cmVtOyB9XG4gICAgICAuaW5mb0JveCAuaW5mby13aW5kb3cgLm5hbWUgc3BhbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS44NzVyZW07XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICBsaW5lLWhlaWdodDogMi4yNXJlbTtcbiAgICAgICAgZm9udC1mYW1pbHk6IE5ldWVTYW5zUHJvLVNlbWlCb2xkLCBIZWx2ZXRpdmEsIHNhbnMtc2VyaWY7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAgIC5pbmZvQm94IC5pbmZvLXdpbmRvdy53aXRoLWltYWdlIHtcbiAgICAgICAgZGlzcGxheTogLW1vei1ib3g7XG4gICAgICAgIC8qIE9MRCAtIEZpcmVmb3ggMTktIChkb2Vzbid0IHdvcmsgdmVyeSB3ZWxsKSAqL1xuICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICAgICAgLyogVFdFRU5FUiAtIElFIDEwICovXG4gICAgICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgICAgICAgLyogTkVXIC0gQ2hyb21lICovXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIC8qIE5FVywgU3BlYyAtIE9wZXJhIDEyLjEsIEZpcmVmb3ggMjArICovXG4gICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIC1tcy1mbGV4LXdyYXA6IG5vLXdyYXA7XG4gICAgICAgIC13ZWJraXQtZmxleC13cmFwOiBuby13cmFwO1xuICAgICAgICBmbGV4LXdyYXA6IG5vLXdyYXA7XG4gICAgICAgIC13ZWJraXQtYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICAtd2Via2l0LWp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmluZm9Cb3ggLmluZm8td2luZG93LndpdGgtaW1hZ2Uge1xuICAgICAgICBkaXNwbGF5OiAtbW96LWJveDtcbiAgICAgICAgLyogT0xEIC0gRmlyZWZveCAxOS0gKGRvZXNuJ3Qgd29yayB2ZXJ5IHdlbGwpICovXG4gICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgICAgICAvKiBUV0VFTkVSIC0gSUUgMTAgKi9cbiAgICAgICAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICAgICAgICAvKiBORVcgLSBDaHJvbWUgKi9cbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgLyogTkVXLCBTcGVjIC0gT3BlcmEgMTIuMSwgRmlyZWZveCAyMCsgKi9cbiAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIC13ZWJraXQtZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgLW1zLWZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgICAtd2Via2l0LWZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgICAgLXdlYmtpdC1hbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAtd2Via2l0LWp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgd2lkdGg6IDQwcmVtO1xuICAgICAgICBoZWlnaHQ6IDIwLjU2MjVyZW07IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuaW5mb0JveCAuaW5mby13aW5kb3cud2l0aC1pbWFnZSAudGV4dCB7XG4gICAgICAgIGhlaWdodDogMTAwJTsgfVxuICAgICAgLmluZm9Cb3ggLmluZm8td2luZG93LndpdGgtaW1hZ2UgLnRleHQsXG4gICAgICAuaW5mb0JveCAuaW5mby13aW5kb3cud2l0aC1pbWFnZSAuaW1hZ2Uge1xuICAgICAgICB3aWR0aDogNTAlOyB9IH1cbiAgICAuaW5mb0JveCAuaW5mby13aW5kb3cud2l0aC1pbWFnZSAuaW1hZ2Uge1xuICAgICAgcGFkZGluZy10b3A6IDAuOTM3NXJlbTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICAgLmluZm9Cb3ggLmluZm8td2luZG93LndpdGgtaW1hZ2UgLmltYWdlIGltZyB7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LWhlaWdodDogMTUuNTYyNXJlbTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgICAgIC5pbmZvQm94IC5pbmZvLXdpbmRvdy53aXRoLWltYWdlIC5pbWFnZSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgICAuaW5mb0JveCAuaW5mby13aW5kb3cud2l0aC1pbWFnZSAudGV4dCBwLFxuICAgICAgLmluZm9Cb3ggLmluZm8td2luZG93LndpdGgtaW1hZ2UgLnRleHQgYSxcbiAgICAgIC5pbmZvQm94IC5pbmZvLXdpbmRvdy53aXRoLWltYWdlIC50ZXh0IHNwYW4ge1xuICAgICAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMDYyNXJlbTsgfVxuICAgICAgLmluZm9Cb3ggLmluZm8td2luZG93LndpdGgtaW1hZ2UgLm5hbWUgc3BhbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjJyZW07XG4gICAgICAgIGZvbnQtZmFtaWx5OiBOZXVlU2Fuc1Byby1TZW1pQm9sZCwgSGVsdmV0aXZhLCBzYW5zLXNlcmlmO1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuaW5mb0JveCAuaW5mby13aW5kb3cgLnRleHQge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07IH0gfVxuICAgIC5pbmZvQm94IC5pbmZvLXdpbmRvdyAudGV4dCAuYWRkcmVzcyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxLjU2MjVyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAgIC5pbmZvQm94IC5pbmZvLXdpbmRvdyAudGV4dCB7XG4gICAgICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgICAgIG92ZXJmbG93LXg6IGhpZGRlbjsgfSB9XG5cbi5lbnRyeS13cmFwcGVyIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiBjYWxjKDEwMCUgKyAzMHB4KTtcbiAgb3ZlcmZsb3c6IHZpc2libGUgIWltcG9ydGFudDsgfVxuXG4uY291cnNlYm94IHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgZmxvYXQ6IGxlZnQ7IH1cbiAgLmNvdXJzZWJveC5ncmlkLWl0ZW0ge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLyAzKTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjg3NXJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMS44NzVyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgICAuY291cnNlYm94LmdyaWQtaXRlbSB7XG4gICAgICAgIHdpZHRoOiA1MCU7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgICAgLmNvdXJzZWJveC5ncmlkLWl0ZW0ge1xuICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG4gIC5jb3Vyc2Vib3guc2xpZGVyLWl0ZW0ge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA4MHB4KTtcbiAgICBtYXJnaW4tbGVmdDogMi41cmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmNvdXJzZWJveC5zbGlkZXItaXRlbSB7XG4gICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5jb3Vyc2Vib3guc2xpZGVyLWl0ZW0ge1xuICAgICAgICB3aWR0aDogMzMuMzMzMzMzJTsgfSB9XG4gIC5jb3Vyc2Vib3ggLmlubmVyLXdyYXBwZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBoZWlnaHQ6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDEwMCU7XG4gICAgdHJhbnNpdGlvbjogYWxsIDMwMG1zIGVhc2UtaW4tb3V0OyB9XG4gIC5jb3Vyc2Vib3ggLmNvbnRlbnQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBib3R0b206IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgcGFkZGluZzogMC45Mzc1cmVtIDAuNjI1cmVtIDAgMC45Mzc1cmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgICAuY291cnNlYm94IC5jb250ZW50IHtcbiAgICAgICAgcGFkZGluZzogMS41NjI1cmVtIDEuNTYyNXJlbSAxLjU2MjVyZW0gMS44NzVyZW07IH0gfVxuICAuY291cnNlYm94OmhvdmVyIC5pbm5lci13cmFwcGVyIHtcbiAgICBib3gtc2hhZG93OiAwIDAgMC43NXJlbSByZ2JhKDIwLCAyMCwgMjAsIDAuMik7IH1cbiAgLmNvdXJzZWJveCBzcGFuLnRleHQge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIGNvbG9yOiAjMDA2RjY5O1xuICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gMzVweCk7IH1cbiAgLmNvdXJzZWJveCBwLnN1YmplY3Qge1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICBjb2xvcjogIzAwNkY2OTtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjMxMjVyZW07IH1cbiAgICAuY291cnNlYm94IHAuc3ViamVjdCBzcGFuIHN2ZyB7XG4gICAgICB3aWR0aDogMS4wNjI1cmVtO1xuICAgICAgdmVydGljYWwtYWxpZ246IHRleHQtdG9wOyB9XG4gICAgICAuY291cnNlYm94IHAuc3ViamVjdCBzcGFuIHN2ZyBwYXRoIHtcbiAgICAgICAgc3Ryb2tlOiAjMDA2RjY5O1xuICAgICAgICBmaWxsOiAjMDA2RjY5OyB9XG4gIC5jb3Vyc2Vib3ggaDQge1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS41cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTsgfVxuICAuY291cnNlYm94IHAucGxhY2Uge1xuICAgIGNvbG9yOiAjMDA2RjY5O1xuICAgIG1hcmdpbi1ib3R0b206IDAuNTYyNXJlbTsgfVxuICAuY291cnNlYm94IHAuY2xvY2sge1xuICAgIG1hcmdpbi1ib3R0b206IDAuNTYyNXJlbTsgfVxuXG4uY291cnNlLWRldGFpbCBzcGFuLmljb24sXG4uY291cnNlYm94IHNwYW4uaWNvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDEuNXJlbTtcbiAgaGVpZ2h0OiAxLjA2MjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjVyZW07IH1cblxucC5zdWJqZWN0IHtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuICBwLnN1YmplY3Qgc3BhbiBzdmcge1xuICAgIHdpZHRoOiAxLjA2MjVyZW07XG4gICAgdmVydGljYWwtYWxpZ246IHRleHQtdG9wOyB9XG4gICAgcC5zdWJqZWN0IHNwYW4gc3ZnIHBhdGgge1xuICAgICAgc3Ryb2tlOiAjMDA2RjY5O1xuICAgICAgZmlsbDogIzAwNkY2OTsgfVxuICBwLnN1YmplY3Qgc3Bhbi50ZXh0IHtcbiAgICBsaW5lLWhlaWdodDogMC45Mzc1cmVtOyB9XG5cbnAucGxhY2Ugc3BhbiBzdmcge1xuICB3aWR0aDogMS4wNjI1cmVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogdGV4dC10b3A7IH1cbiAgcC5wbGFjZSBzcGFuIHN2ZyBwYXRoIHtcbiAgICBzdHJva2U6ICMwMDZGNjk7XG4gICAgZmlsbDogIzAwNkY2OTsgfVxuXG5wLmNsb2NrIHNwYW4gc3ZnIHtcbiAgd2lkdGg6IDEuMDYyNXJlbTtcbiAgdmVydGljYWwtYWxpZ246IHRleHQtdG9wOyB9XG4gIHAuY2xvY2sgc3BhbiBzdmcgcGF0aCB7XG4gICAgZmlsbDogIzAwNkY2OTsgfVxuICBwLmNsb2NrIHNwYW4gc3ZnIGNpcmNsZSB7XG4gICAgc3Ryb2tlOiAjMDA2RjY5OyB9XG5cbnAuZGF0ZSBzdmcge1xuICB3aWR0aDogMS4wNjI1cmVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogdGV4dC10b3A7IH1cbiAgcC5kYXRlIHN2ZyBwYXRoIHtcbiAgICBzdHJva2U6ICMwMDZGNjk7XG4gICAgZmlsbDogIzAwNkY2OTsgfVxuXG5wLmxvY2FsIHN2ZyB7XG4gIHdpZHRoOiAxLjA2MjVyZW07XG4gIHZlcnRpY2FsLWFsaWduOiB0ZXh0LXRvcDsgfVxuICBwLmxvY2FsIHN2ZyBwYXRoLCBwLmxvY2FsIHN2ZyBjaXJjbGUsIHAubG9jYWwgc3ZnIHJlY3Qge1xuICAgIHN0cm9rZTogIzAwNkY2OTsgfVxuXG5wLnN1YnZlbnRpb24ge1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBsaW5lLWhlaWdodDogMS41OyB9XG4gIHAuc3VidmVudGlvbiBzcGFuLnRleHQge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gMzVweCk7IH1cbiAgcC5zdWJ2ZW50aW9uIHN2ZyB7XG4gICAgd2lkdGg6IDEuMDYyNXJlbTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdGV4dC10b3A7IH1cbiAgICBwLnN1YnZlbnRpb24gc3ZnIHBhdGgge1xuICAgICAgc3Ryb2tlOiAjMDA2RjY5O1xuICAgICAgZmlsbDogIzAwNkY2OTsgfVxuXG4uY291cnNlLWRldGFpbCB7XG4gIG1hcmdpbi1ib3R0b206IDIuNXJlbSAhaW1wb3J0YW50OyB9XG4gIC5jb3Vyc2UtZGV0YWlsIHAuc3ViamVjdCBzcGFuLmljb24gc3ZnIHtcbiAgICB3aWR0aDogMS4yNXJlbTsgfVxuICAuY291cnNlLWRldGFpbCAuY2VsbCBwLmJvbGQge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG4gIC5jb3Vyc2UtZGV0YWlsIC5jZWxsIHAuaW5mbyB7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjQzNzVyZW07XG4gICAgbWFyZ2luLXRvcDogMC4xODc1cmVtOyB9XG4gIC5jb3Vyc2UtZGV0YWlsIC5sZWZ0LWRldGFpbCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2U1ZWJlYjtcbiAgICBwYWRkaW5nOiAxLjM3NXJlbSAxLjU2MjVyZW0gMC43NXJlbSAxLjU2MjVyZW07IH1cbiAgICAuY291cnNlLWRldGFpbCAubGVmdC1kZXRhaWwgcCwgLmNvdXJzZS1kZXRhaWwgLmxlZnQtZGV0YWlsIHNwYW4ge1xuICAgICAgY29sb3I6ICMwMDZGNjk7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAgIC5jb3Vyc2UtZGV0YWlsIC5sZWZ0LWRldGFpbCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuMzc1cmVtOyB9IH1cbiAgLmNvdXJzZS1kZXRhaWwgLnJpZ2h0LWRldGFpbCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwNTQ2MztcbiAgICBwYWRkaW5nOiAxLjM3NXJlbSAxLjU2MjVyZW0gMC43NXJlbSAxLjU2MjVyZW07IH1cbiAgICAuY291cnNlLWRldGFpbCAucmlnaHQtZGV0YWlsIHAsIC5jb3Vyc2UtZGV0YWlsIC5yaWdodC1kZXRhaWwgc3BhbiB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAuY291cnNlLWRldGFpbCAubGVpdHVuZyBwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgIC5jb3Vyc2UtZGV0YWlsIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgLmNvdXJzZXMtd3JhcHBlciA+IC5jb21wb25lbnQtdGV4dCB7XG4gICAgcGFkZGluZzogMCAxLjU2MjVyZW07IH0gfVxuXG4uY291cnNlcy13cmFwcGVyIC5maWx0ZXJzIHtcbiAgZGlzcGxheTogLW1vei1ib3g7XG4gIC8qIE9MRCAtIEZpcmVmb3ggMTktIChkb2Vzbid0IHdvcmsgdmVyeSB3ZWxsKSAqL1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgLyogVFdFRU5FUiAtIElFIDEwICovXG4gIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgLyogTkVXIC0gQ2hyb21lICovXG4gIGRpc3BsYXk6IGZsZXg7XG4gIC8qIE5FVywgU3BlYyAtIE9wZXJhIDEyLjEsIEZpcmVmb3ggMjArICovXG4gIC1tcy1mbGV4LWRpcmVjdGlvbjogcm93O1xuICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIC1tcy1mbGV4LXdyYXA6IG5vd3JhcDtcbiAgLXdlYmtpdC1mbGV4LXdyYXA6IG5vd3JhcDtcbiAgZmxleC13cmFwOiBub3dyYXA7XG4gIC13ZWJraXQtYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgLmNvdXJzZXMtd3JhcHBlciAuZmlsdGVycyB7XG4gICAgICBkaXNwbGF5OiAtbW96LWJveDtcbiAgICAgIC8qIE9MRCAtIEZpcmVmb3ggMTktIChkb2Vzbid0IHdvcmsgdmVyeSB3ZWxsKSAqL1xuICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgICAvKiBUV0VFTkVSIC0gSUUgMTAgKi9cbiAgICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgICAgIC8qIE5FVyAtIENocm9tZSAqL1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIC8qIE5FVywgU3BlYyAtIE9wZXJhIDEyLjEsIEZpcmVmb3ggMjArICovXG4gICAgICAtbXMtZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgIC13ZWJraXQtZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAtbXMtZmxleC13cmFwOiB3cmFwO1xuICAgICAgLXdlYmtpdC1mbGV4LXdyYXA6IHdyYXA7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAtd2Via2l0LWFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbiAgICAgIC5jb3Vyc2VzLXdyYXBwZXIgLmZpbHRlcnMgLmZpbHRlciB7XG4gICAgICAgIG1pbi13aWR0aDogMTYuODc1cmVtO1xuICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTsgfSB9XG4gIC5jb3Vyc2VzLXdyYXBwZXIgLmZpbHRlcnMgLmZpbHRlciB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMTVweCk7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gIC5jb3Vyc2VzLXdyYXBwZXIge1xuICAgIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDsgfSB9XG5cbi5lZGl0bW9kZSAuY291cnNlcy13cmFwcGVyIC5zbGlkZXItaXRlbSB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLyAzKTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHBhZGRpbmc6IDAgMTVweCAxNXB4IDA7IH1cblxuLmNvdXJzZS1uby1uZWctbWFyZ2luID4gLmdyaWQtbWFyZ2luLXkge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5jb3Vyc2VzLXNsaWRlciB7XG4gIG1hcmdpbi1ib3R0b206IDMuMTI1cmVtO1xuICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAtMC45Mzc1cmVtOyB9XG4gIC5jb3Vyc2VzLXNsaWRlciAub3dsLWxvYWRlZCAuc2xpZGVyLWl0ZW0ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5jb3Vyc2VzLXNsaWRlciAub3dsLWl0ZW0gLmNvdXJzZWJveCB7XG4gICAgcGFkZGluZzogMC45Mzc1cmVtIDIuNXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5jb3Vyc2VzLXNsaWRlciAub3dsLWl0ZW0gLmNvdXJzZWJveCB7XG4gICAgICAgIHBhZGRpbmc6IDAuOTM3NXJlbTsgfSB9XG5cbi5jb3Vyc2UtbGlzdCB7XG4gIHdpZHRoOiA1My43NXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAuY291cnNlLWxpc3Qge1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICAuY291cnNlLWxpc3QgcCB7XG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07IH1cbiAgLmNvdXJzZS1saXN0IGEge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBjb2xvcjogIzAwNkY2OTsgfVxuICAgIC5jb3Vyc2UtbGlzdCBhIGg0IHtcbiAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTsgfVxuICAuY291cnNlLWxpc3QgLmNvbnRlbnQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleDogMiAxIGF1dG87XG4gICAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07XG4gICAgd2lkdGg6IDUzLjc1cmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgICAuY291cnNlLWxpc3QgLmNvbnRlbnQge1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMzBweCkgIWltcG9ydGFudDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfSB9XG4gICAgLmNvdXJzZS1saXN0IC5jb250ZW50IGRpdiB7XG4gICAgICBwYWRkaW5nLXRvcDogMC45Mzc1cmVtO1xuICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgIHdpZHRoOiAyMyU7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuMzEyNXJlbTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuMzEyNXJlbTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgICAgIC5jb3Vyc2UtbGlzdCAuY29udGVudCBkaXYge1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMS44NzVyZW07XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogMS41NjI1cmVtO1xuICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgICAgIC5jb3Vyc2UtbGlzdCAuY29udGVudCBkaXY6bnRoLWNoaWxkKDEpIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07XG4gICAgICAgIHdpZHRoOiAzNCU7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgICAgICAgLmNvdXJzZS1saXN0IC5jb250ZW50IGRpdjpudGgtY2hpbGQoMSkge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxLjg3NXJlbTtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDEuNTYyNXJlbTtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwLjYyNXJlbTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgICAgIC5jb3Vyc2UtbGlzdCAuY29udGVudCBkaXY6bnRoLWNoaWxkKDQpIHtcbiAgICAgICAgd2lkdGg6IDIwJTsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAgICAgICAuY291cnNlLWxpc3QgLmNvbnRlbnQgZGl2Om50aC1jaGlsZCg0KSB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEuODc1cmVtO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMS41NjI1cmVtO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICAgICAgLmNvdXJzZS1saXN0IC5jb250ZW50IGRpdiAuc3ViamVjdCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAuMzEyNXJlbTsgfVxuICAgICAgICAuY291cnNlLWxpc3QgLmNvbnRlbnQgZGl2IC5zdWJqZWN0IHNwYW4gc3ZnIHtcbiAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IH1cbiAgICAgIC5jb3Vyc2UtbGlzdCAuY29udGVudCBkaXYgLnBsYWNlIHNwYW4gc3ZnIHtcbiAgICAgICAgd2lkdGg6IDAuODc1cmVtOyB9XG4gICAgICAuY291cnNlLWxpc3QgLmNvbnRlbnQgZGl2IC5jbG9jaywgLmNvdXJzZS1saXN0IC5jb250ZW50IGRpdiAucGxhY2Uge1xuICAgICAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAgICAgIC5jb3Vyc2UtbGlzdCAuY29udGVudCBkaXYgLmNsb2NrIC5pY29uLCAuY291cnNlLWxpc3QgLmNvbnRlbnQgZGl2IC5wbGFjZSAuaWNvbiB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjMxMjVyZW07IH1cblxuLmNvdXJzZS1zb3J0ZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIGZvbnQtc2l6ZTogMS4wNjI1cmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgLmNvdXJzZS1zb3J0ZXIge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gIC5jb3Vyc2Utc29ydGVyIC5zb3J0LWl0ZW0ge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gICAgLyogaU9TIFNhZmFyaSAqL1xuICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLyogU2FmYXJpICovXG4gICAgLWtodG1sLXVzZXItc2VsZWN0OiBub25lO1xuICAgIC8qIEtvbnF1ZXJvciBIVE1MICovXG4gICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAvKiBPbGQgdmVyc2lvbnMgb2YgRmlyZWZveCAqL1xuICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAvKiBJbnRlcm5ldCBFeHBsb3Jlci9FZGdlICovXG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7IH1cbiAgLmNvdXJzZS1zb3J0ZXIgZGl2IHtcbiAgICB3aWR0aDogMjMlOyB9XG4gICAgLmNvdXJzZS1zb3J0ZXIgZGl2Om50aC1jaGlsZCgxKSB7XG4gICAgICB3aWR0aDogMzQlOyB9XG4gICAgLmNvdXJzZS1zb3J0ZXIgZGl2Om50aC1jaGlsZCg0KSB7XG4gICAgICB3aWR0aDogMjAlOyB9XG4gIC5jb3Vyc2Utc29ydGVyIC5zb3J0LWFycm93cyB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgZmxleC1zaHJpbms6IDE7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAgIC5jb3Vyc2Utc29ydGVyIC5zb3J0LWFycm93cyAuYXJyb3cge1xuICAgICAgd2lkdGg6IDAuNzVyZW07XG4gICAgICBoZWlnaHQ6IDAuNXJlbTtcbiAgICAgIGZpbGw6ICNCNDgzOEE7IH1cbiAgICAgIC5jb3Vyc2Utc29ydGVyIC5zb3J0LWFycm93cyAuYXJyb3cuc2VsZWN0ZWQge1xuICAgICAgICBmaWxsOiAjMDA2RjY5OyB9XG4gICAgICAuY291cnNlLXNvcnRlciAuc29ydC1hcnJvd3MgLmFycm93IHN2ZyB7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIG1hcmdpbi10b3A6IC0wLjVyZW07IH1cbiAgICAuY291cnNlLXNvcnRlciAuc29ydC1hcnJvd3MgLmFycm93LXVwIHN2ZyB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZVooMTgwZGVnKTsgfVxuXG4uZmlsdGVycyB7XG4gIG1hcmdpbi1ib3R0b206IDIuNXJlbTtcbiAgbWFyZ2luLXRvcDogMC42MjVyZW07IH1cbiAgLmZpbHRlcnMgLmZpbHRlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2RjZDdkNztcbiAgICB3aWR0aDogMjIuMDYyNXJlbTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgLmZpbHRlcnMgLmZpbHRlciAuZmlsdGVyLWxhYmVsIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDAuNjI1cmVtO1xuICAgICAgY29sb3I6ICNCNDgzOEE7XG4gICAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgLmZpbHRlcnMgLmZpbHRlciAuZmlsdGVyLWxhYmVsIHtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMjAwbXM7IH0gfVxuICAgIC5maWx0ZXJzIC5maWx0ZXIgcC5zZWxlY3RlZCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBhZGRpbmc6IDEuMjVyZW0gMC44NzVyZW0gMC4yNXJlbSAwLjYyNXJlbTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGhlaWdodDogMTAwJTsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgLmZpbHRlcnMgLmZpbHRlciBwLnNlbGVjdGVkIHtcbiAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMjAwbXM7IH0gfVxuICAgIC5maWx0ZXJzIC5maWx0ZXIgc3BhbiB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICAgIC5maWx0ZXJzIC5maWx0ZXIgc3Bhbi5sYWJlbCB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxNXB4KTtcbiAgICAgICAgY29sb3I6ICM2NTY1NjU7IH1cbiAgICAgIC5maWx0ZXJzIC5maWx0ZXIgc3Bhbi5pY29uIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICB3aWR0aDogMS4wNjI1cmVtO1xuICAgICAgICBoZWlnaHQ6IDEuODc1cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMS44NzVyZW07IH1cbiAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgICAuZmlsdGVycyAuZmlsdGVyIHNwYW4uaWNvbiB7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMjAwbXM7IH0gfVxuICAgICAgICAuZmlsdGVycyAuZmlsdGVyIHNwYW4uaWNvbiBzdmcge1xuICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgICAuZmlsdGVycyAuZmlsdGVyIHVsIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHotaW5kZXg6IDI7XG4gICAgICB3aWR0aDogY2FsYygxMDAlICsgMnB4KTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBsZWZ0OiAtMXB4O1xuICAgICAgdG9wOiBjYWxjKDEwMCUgLSAxcHgpO1xuICAgICAgbWF4LWhlaWdodDogMDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5maWx0ZXJzIC5maWx0ZXIgdWwge1xuICAgICAgICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgMjAwbXM7IH0gfVxuICAgICAgLmZpbHRlcnMgLmZpbHRlciB1bCBsaSB7XG4gICAgICAgIHBhZGRpbmc6IDAuNXJlbSAwLjg3NXJlbSAwLjVyZW0gMC44NzVyZW07XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkY2Q3ZDc7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2RjZDdkNztcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2RjZDdkNztcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MDBweCk7IH1cbiAgICAgICAgLmZpbHRlcnMgLmZpbHRlciB1bCBsaTpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkY2Q3ZDc7IH1cbiAgICAgICAgYm9keTpub3QoLnRvdWNoLXVzZXIpIC5maWx0ZXJzIC5maWx0ZXIgdWwgbGk6bm90KC5hY3RpdmUpOmhvdmVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGNkN2Q3OyB9XG4gICAgICAgIC5maWx0ZXJzIC5maWx0ZXIgdWwgbGkgcCB7XG4gICAgICAgICAgbWFyZ2luOiAwOyB9XG4gICAgICAgICAgLmZpbHRlcnMgLmZpbHRlciB1bCBsaSBwIHNwYW4uYXJyb3cge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAgIC5maWx0ZXJzIC5maWx0ZXIgdWwgbGkge1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDIwMG1zOyB9IH1cbiAgICAgICAgLmZpbHRlcnMgLmZpbHRlciB1bCBsaS5hY3RpdmUge1xuICAgICAgICAgIGN1cnNvcjogaW5pdGlhbDsgfVxuICAgICAgICAgIC5maWx0ZXJzIC5maWx0ZXIgdWwgbGkuYWN0aXZlIHNwYW4ubGFiZWwge1xuICAgICAgICAgICAgY29sb3I6ICMxNDE0MTQ7IH1cbiAgICAgICAgLmZpbHRlcnMgLmZpbHRlciB1bCBsaS5pbmFjdGl2ZSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5maWx0ZXJzIC5maWx0ZXIub3BlbiBwLmZpbHRlci1sYWJlbCwgLmZpbHRlcnMgLmZpbHRlci5sYWJlbC1kb3duIHAuZmlsdGVyLWxhYmVsIHtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOyB9XG4gICAgLmZpbHRlcnMgLmZpbHRlci5vcGVuIHAuc2VsZWN0ZWQge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDUwcHgpOyB9XG4gICAgICAuZmlsdGVycyAuZmlsdGVyLm9wZW4gcC5zZWxlY3RlZCAuaWNvbiB7XG4gICAgICAgIG9wYWNpdHk6IDA7IH1cbiAgICAuZmlsdGVycyAuZmlsdGVyLm9wZW4gdWwge1xuICAgICAgbWF4LWhlaWdodDogNTB2aDtcbiAgICAgIG92ZXJmbG93OiBzY3JvbGw7XG4gICAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7IH1cbiAgICAgIC5maWx0ZXJzIC5maWx0ZXIub3BlbiB1bCBsaSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxuXG4uZm9ybSB7XG4gIG1hcmdpbi1ib3R0b206IDMuMTI1cmVtOyB9XG4gIC5mb3JtIC5ncm91cCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSArIDIwcHgpOyB9XG4gICAgYm9keTpub3QoLmVkaXRtb2RlKSAuZm9ybSAuZ3JvdXAge1xuICAgICAgZGlzcGxheTogLW1vei1ib3g7XG4gICAgICAvKiBPTEQgLSBGaXJlZm94IDE5LSAoZG9lc24ndCB3b3JrIHZlcnkgd2VsbCkgKi9cbiAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgICAgLyogVFdFRU5FUiAtIElFIDEwICovXG4gICAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gICAgICAvKiBORVcgLSBDaHJvbWUgKi9cbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAvKiBORVcsIFNwZWMgLSBPcGVyYSAxMi4xLCBGaXJlZm94IDIwKyAqL1xuICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgLW1zLWZsZXgtd3JhcDogd3JhcDtcbiAgICAgIC13ZWJraXQtZmxleC13cmFwOiB3cmFwO1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgLXdlYmtpdC1hbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgICAuZm9ybSAuZ3JvdXAgLmZvcm0tcm93IHtcbiAgICAgIG1pbi13aWR0aDogMTUuNjI1cmVtO1xuICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgcGFkZGluZy1yaWdodDogMS4yNXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5mb3JtIC5ncm91cCAuZm9ybS1yb3cge1xuICAgICAgICAgIG1heC13aWR0aDogNTAlOyB9IH1cbiAgICAgIC5mb3JtIC5ncm91cCAuZm9ybS1yb3cgbGFiZWwge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAgIC5mb3JtIC5ncm91cCAuZm9ybS1yb3cgbGFiZWwgc3BhbiB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgY29sb3I6ICNCNDgzOEE7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDIwMG1zO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsgfVxuICAgICAgLmZvcm0gLmdyb3VwIC5mb3JtLXJvdyBpbnB1dFt0eXBlPXRleHRdLFxuICAgICAgLmZvcm0gLmdyb3VwIC5mb3JtLXJvdyBpbnB1dFt0eXBlPWVtYWlsXSB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNkY2Q3ZDc7XG4gICAgICAgIGhlaWdodDogM3JlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbSAhaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nOiAxLjA2MjVyZW0gMC40Mzc1cmVtIDAgMC42MjVyZW07IH1cbiAgICAgICAgLmZvcm0gLmdyb3VwIC5mb3JtLXJvdyBpbnB1dFt0eXBlPXRleHRdOmZvY3VzLFxuICAgICAgICAuZm9ybSAuZ3JvdXAgLmZvcm0tcm93IGlucHV0W3R5cGU9ZW1haWxdOmZvY3VzIHtcbiAgICAgICAgICBvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7IH1cbiAgICAgIC5mb3JtIC5ncm91cCAuZm9ybS1yb3cgLmRlc2NyaXB0aW9uIHAge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4wNjI1cmVtOyB9XG4gIC5mb3JtIGZpZWxkc2V0IHtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7IH1cbiAgLmZvcm0gLmZvcm0taXRlbSBpbnB1dCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlOyB9XG4gIC5mb3JtIGxhYmVsIGEge1xuICAgIGNvbG9yOiAjMTQxNDE0O1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gIC5mb3JtIGxhYmVsIHAge1xuICAgIG1hcmdpbjogMDsgfVxuICAuZm9ybSBpbnB1dFt0eXBlPWNoZWNrYm94XSArIGxhYmVsLFxuICAuZm9ybSBpbnB1dFt0eXBlPXJhZGlvXSArIGxhYmVsIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1sZWZ0OiAxLjY4NzVyZW07XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfVxuICAgIC5mb3JtIGlucHV0W3R5cGU9Y2hlY2tib3hdICsgbGFiZWw6YmVmb3JlLFxuICAgIC5mb3JtIGlucHV0W3R5cGU9cmFkaW9dICsgbGFiZWw6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgIGhlaWdodDogMXJlbTtcbiAgICAgIHdpZHRoOiAxcmVtO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2RjZDdkNzsgfVxuICAgIC5mb3JtIGlucHV0W3R5cGU9Y2hlY2tib3hdICsgbGFiZWw6YWZ0ZXIsXG4gICAgLmZvcm0gaW5wdXRbdHlwZT1yYWRpb10gKyBsYWJlbDphZnRlciB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBsZWZ0OiA5cHg7XG4gICAgICBjb2xvcjogIzAwNkY2OTtcbiAgICAgIGZvbnQtc2l6ZTogMS42MjVyZW07XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgNzBtcywgbWF4LXdpZHRoIDcwbXM7XG4gICAgICBoZWlnaHQ6IDEuMTI1cmVtO1xuICAgICAgbWF4LWhlaWdodDogMDtcbiAgICAgIHdpZHRoOiAxLjEyNXJlbTtcbiAgICAgIG1heC13aWR0aDogMDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9XG4gIC5mb3JtIGlucHV0W3R5cGU9Y2hlY2tib3hdICsgbGFiZWw6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9jaGVja2JveC1jaGVja2VkLnN2Z1wiKTsgfVxuICAuZm9ybSBpbnB1dFt0eXBlPXJhZGlvXSArIGxhYmVsOmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvcmFkaW8tYWN0aXZlLnN2Z1wiKTsgfVxuICAuZm9ybSBpbnB1dFt0eXBlPXJhZGlvXSArIGxhYmVsOmJlZm9yZSB7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlOyB9XG4gIC5mb3JtIGlucHV0W3R5cGU9Y2hlY2tib3hdOmNoZWNrZWQgKyBsYWJlbDphZnRlcixcbiAgLmZvcm0gaW5wdXRbdHlwZT1yYWRpb106Y2hlY2tlZCArIGxhYmVsOmFmdGVyIHtcbiAgICBtYXgtaGVpZ2h0OiAxLjEyNXJlbTtcbiAgICBtYXgtd2lkdGg6IDEuMTI1cmVtOyB9XG4gIC5mb3JtIGlucHV0W3R5cGU9Y2hlY2tib3hdLFxuICAuZm9ybSBpbnB1dFt0eXBlPXJhZGlvXSB7XG4gICAgb3BhY2l0eTogMDsgfVxuICAuZm9ybSAuYnV0dG9uLXdyYXBwZXIge1xuICAgIG1pbi13aWR0aDogMTUuNjI1cmVtO1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjI1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5mb3JtIC5idXR0b24td3JhcHBlciB7XG4gICAgICAgIG1heC13aWR0aDogNTAlOyB9IH1cbiAgICAuZm9ybSAuYnV0dG9uLXdyYXBwZXIgaW5wdXRbdHlwZT1zdWJtaXRdIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgICAgY29sb3I6ICMwMDZGNjk7XG4gICAgICBsaW5lLWhlaWdodDogMi4xMjVyZW07XG4gICAgICBmb250LWZhbWlseTogTmV1ZVNhbnNQcm8tU2VtaUJvbGQsIEhlbHZldGl2YSwgc2Fucy1zZXJpZjtcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICBsZXR0ZXItc3BhY2luZzogMC45cHg7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgIHBhZGRpbmctdG9wOiAwLjI1cmVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgICAgYm9yZGVyOiAycHggc29saWQgIzAwNkY2OTtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAzMDBtcyBlYXNlLWluLW91dDsgfVxuICAgICAgLmZvcm0gLmJ1dHRvbi13cmFwcGVyIGlucHV0W3R5cGU9c3VibWl0XS5sYXJnZSwgLmZvcm0gLmJ1dHRvbi13cmFwcGVyIGlucHV0W3R5cGU9c3VibWl0XS50aW55LCAuZm9ybSAuYnV0dG9uLXdyYXBwZXIgaW5wdXRbdHlwZT1zdWJtaXRdLnNtYWxsIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgICAgICBjb2xvcjogIzAwNkY2OTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIuMTI1cmVtO1xuICAgICAgICBmb250LWZhbWlseTogTmV1ZVNhbnNQcm8tU2VtaUJvbGQsIEhlbHZldGl2YSwgc2Fucy1zZXJpZjtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuOXB4OyB9XG4gICAgICAuZm9ybSAuYnV0dG9uLXdyYXBwZXIgaW5wdXRbdHlwZT1zdWJtaXRdOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzAwODM3YztcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwODM3YzsgfVxuICAgICAgLmZvcm0gLmJ1dHRvbi13cmFwcGVyIGlucHV0W3R5cGU9c3VibWl0XVtkaXNhYmxlZD1kaXNhYmxlZF0ge1xuICAgICAgICBvcGFjaXR5OiAwLjM7XG4gICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgLmZvcm0gaW5wdXRbdHlwZT1zdWJtaXRdIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmUgIWltcG9ydGFudDtcbiAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmUgIWltcG9ydGFudDtcbiAgICBhcHBlYXJhbmNlOiBub25lICFpbXBvcnRhbnQ7IH1cblxuLmZvcm0gLmdyb3VwIC5mb3JtLXJvdyBsYWJlbC5zZXQgc3BhbiwgLmZvcm0gLmdyb3VwIC5mb3JtLXJvdyBsYWJlbC5waGQgc3BhbiwgLmZvcm0gLmdyb3VwIC5mb3JtLXJvdyBpbnB1dFt0eXBlPXRleHRdOmZvY3VzICsgc3Bhbixcbi5mb3JtIC5ncm91cCAuZm9ybS1yb3cgaW5wdXRbdHlwZT1lbWFpbF06Zm9jdXMgKyBzcGFuIHtcbiAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjNweCk7IH1cblxuLmdyb3VwIC5mb3JtLXJvdyBmaWVsZHNldCA+IGxhYmVsLnNlbGVjdGlvbiB7XG4gIG1hcmdpbi1ib3R0b206IDAuNDM3NXJlbTsgfVxuICAuZ3JvdXAgLmZvcm0tcm93IGZpZWxkc2V0ID4gbGFiZWwuc2VsZWN0aW9uID4gc3BhbiB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgdG9wOiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDsgfVxuXG4uZ3JvdXAgLmZvcm0tcm93IGZpZWxkc2V0IGZpZWxkc2V0LnNlbGVjdGlvbiAuZm9ybS1pdGVtIHtcbiAgaGVpZ2h0OiAxLjQzNzVyZW07IH1cblxuLmdyb3VwIC5mb3JtLXJvdyBmaWVsZHNldCBmaWVsZHNldC5zZWxlY3Rpb24ubW9kIGxlZ2VuZCB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5ncm91cCAuZm9ybS1yb3cgZmllbGRzZXQgZmllbGRzZXQuc2VsZWN0aW9uLm1vZCAuZm9ybS1pdGVtIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTsgfVxuXG4uZ3JvdXAgLmZvcm0tcm93IGZpZWxkc2V0IC5maWx0ZXJzIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbWFyZ2luLXRvcDogMDsgfVxuICAuZ3JvdXAgLmZvcm0tcm93IGZpZWxkc2V0IC5maWx0ZXJzIC5zZWxlY3QuZmlsdGVyIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5ncm91cCAuZm9ybS1yb3cgZmllbGRzZXQgLmZpbHRlcnMgLnNlbGVjdC5maWx0ZXIgLm9wdGlvbnMgc3Bhbi5pY29uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAuZ3JvdXAgLmZvcm0tcm93IGZpZWxkc2V0IC5maWx0ZXJzIC5zZWxlY3QuZmlsdGVyICoge1xuICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7IH1cblxubGFiZWwudGV4dGFyZWEtbGFiZWwgc3BhbiB7XG4gIHRvcDogNHB4ICFpbXBvcnRhbnQ7XG4gIHRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50O1xuICBmb250LXNpemU6IDAuODEyNXJlbSAhaW1wb3J0YW50OyB9XG5cbmxhYmVsLnRleHRhcmVhLWxhYmVsIHRleHRhcmVhIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmctdG9wOiAxLjQzNzVyZW07XG4gIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2RjZDdkNzsgfVxuXG4ucmVjYXB0Y2hhLXZhbGlkYXRvciB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmZvcm0tcm93LmVycm9yIGxhYmVsIGVtIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uZm9ybS1yb3cuZXJyb3IgbGFiZWwgc3BhbiwgLmZvcm0tcm93LmVycm9yIGxhYmVsIC5maWx0ZXIuc2VsZWN0IC5maWx0ZXItbGFiZWwge1xuICBjb2xvcjogI2YwMTQxNCAhaW1wb3J0YW50OyB9XG5cbi5mb3JtLXJvdy5lcnJvciBsYWJlbCBpbnB1dCwgLmZvcm0tcm93LmVycm9yIGxhYmVsIHRleHRhcmVhLCAuZm9ybS1yb3cuZXJyb3IgbGFiZWwgLmZpbHRlci5zZWxlY3Qge1xuICBib3JkZXItY29sb3I6ICNmMDE0MTQgIWltcG9ydGFudDsgfVxuXG4uZm9ybS1yb3cuZXJyb3IgLnNlbGVjdGlvbiAuc2VsZWN0LmZpbHRlciB7XG4gIGJvcmRlci1jb2xvcjogI2YwMTQxNDsgfVxuICAuZm9ybS1yb3cuZXJyb3IgLnNlbGVjdGlvbiAuc2VsZWN0LmZpbHRlciAuZmlsdGVyLWxhYmVsIHtcbiAgICBjb2xvcjogI2YwMTQxNDsgfVxuXG4uZm9ybS1yb3cuZXJyb3IgLnNlbGVjdGlvbiAub3B0LWdyb3VwIGlucHV0ICsgbGFiZWw6YmVmb3JlIHtcbiAgYm9yZGVyLWNvbG9yOiAjZjAxNDE0ICFpbXBvcnRhbnQ7IH1cblxubGFiZWwuaXMtaW52YWxpZC1sYWJlbCBzcGFuLCBsYWJlbC5pcy1pbnZhbGlkLWxhYmVsIGEsIGxhYmVsLmlzLWludmFsaWQtbGFiZWwgcCB7XG4gIGNvbG9yOiAjZjAxNDE0ICFpbXBvcnRhbnQ7IH1cblxubGFiZWwuaXMtaW52YWxpZC1sYWJlbDpiZWZvcmUge1xuICBib3JkZXItY29sb3I6ICNmMDE0MTQgIWltcG9ydGFudDsgfVxuXG5pbnB1dC5pcy1pbnZhbGlkLWlucHV0IHtcbiAgYm9yZGVyLWNvbG9yOiAjZjAxNDE0ICFpbXBvcnRhbnQ7IH1cblxuc2VsZWN0LmlzLWludmFsaWQtaW5wdXQgKyAuZmlsdGVyLnNlbGVjdCB7XG4gIGJvcmRlci1jb2xvcjogI2YwMTQxNCAhaW1wb3J0YW50OyB9XG4gIHNlbGVjdC5pcy1pbnZhbGlkLWlucHV0ICsgLmZpbHRlci5zZWxlY3QgLmZpbHRlci1sYWJlbCB7XG4gICAgY29sb3I6ICNmMDE0MTQgIWltcG9ydGFudDsgfVxuXG4udGV4dC5lcnJvciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMDE0MTQ7IH1cblxuLnRleHQuc3VjY2VzcyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzOWFhNDc7IH1cblxuLnRleHQuZXJyb3IsIC50ZXh0LnN1Y2Nlc3Mge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IDAuOTM3NXJlbSAwLjkzNzVyZW0gMC45Mzc1cmVtIDMuNTYyNXJlbTtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIG1hcmdpbjogMS44NzVyZW0gMDsgfVxuICAudGV4dC5lcnJvciBoNCwgLnRleHQuc3VjY2VzcyBoNCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBmb250LXNpemU6IDEuNTYyNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS44NzVyZW07IH1cbiAgLnRleHQuZXJyb3IgaDQsIC50ZXh0LmVycm9yIHAsIC50ZXh0LmVycm9yIGEsIC50ZXh0LmVycm9yIGxpLCAudGV4dC5zdWNjZXNzIGg0LCAudGV4dC5zdWNjZXNzIHAsIC50ZXh0LnN1Y2Nlc3MgYSwgLnRleHQuc3VjY2VzcyBsaSB7XG4gICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgLnRleHQuZXJyb3Igc3Bhbi5pY29uLCAudGV4dC5zdWNjZXNzIHNwYW4uaWNvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGxlZnQ6IDAuOTM3NXJlbTtcbiAgICB3aWR0aDogMS42ODc1cmVtO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsgfVxuXG4jbWdubGhwIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4udGlsZS1jb21wb25lbnQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDA7XG4gIHBhZGRpbmctYm90dG9tOiAxMDUlO1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2l0aW9uOiBhbGwgMzAwbXM7IH1cbiAgLnRpbGUtY29tcG9uZW50IC50aWxlLWlubmVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwOyB9XG4gICAgLnRpbGUtY29tcG9uZW50IC50aWxlLWlubmVyIC5pbWFnZSB7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSA4MHB4KTtcbiAgICAgIG1heC1oZWlnaHQ6IGNhbGMoMTAwJSAtIDgwcHgpO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDMwMG1zIGVhc2UtaW4tb3V0OyB9XG4gICAgICAudGlsZS1jb21wb25lbnQgLnRpbGUtaW5uZXIgLmltYWdlIHNwYW4ge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAzMDBtcyBlYXNlLWluLW91dDsgfVxuICAgICAgLnRpbGUtY29tcG9uZW50IC50aWxlLWlubmVyIC5pbWFnZSAuY29udGVudC1pbWFnZS1pbnZpc2libGUge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLnRpbGUtY29tcG9uZW50IC50aWxlLWlubmVyIC50ZXh0IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGhlaWdodDogNXJlbTtcbiAgICAgIG1heC1oZWlnaHQ6IDVyZW07XG4gICAgICBib3R0b206IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgcGFkZGluZzogMCAxLjU2MjVyZW07XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW4tdG9wOiAwOyB9XG4gICAgICAudGlsZS1jb21wb25lbnQgLnRpbGUtaW5uZXIgLnRleHQgcCB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZzogMCAxLjU2MjVyZW07XG4gICAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNXJlbTtcbiAgICAgICAgZm9udC1mYW1pbHk6IE5ldWVTYW5zUHJvLVNlbWlCb2xkLCBIZWx2ZXRpdmEsIHNhbnMtc2VyaWY7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgIGh5cGhlbnM6IGF1dG87IH1cblxuYm9keTpub3QoLnRvdWNoLXVzZXIpIGEudGlsZS1jb21wb25lbnQ6aG92ZXIge1xuICBib3gtc2hhZG93OiAwIDAgMS41NjI1cmVtIHJnYmEoMjAsIDIwLCAyMCwgMC4yKTtcbiAgb3BhY2l0eTogLjk5OyB9XG4gIGJvZHk6bm90KC50b3VjaC11c2VyKSBhLnRpbGUtY29tcG9uZW50OmhvdmVyIC5pbWFnZSBzcGFuIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDIpOyB9XG5cbiNjb29raWUtcHJpdmFjeS1ub3RpY2Uge1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHotaW5kZXg6IDk5O1xuICByaWdodDogMC41cmVtO1xuICBsZWZ0OiAwLjVyZW07XG4gIGJvdHRvbTogMDtcbiAgYm9yZGVyOiBub25lO1xuICBtYXJnaW46IDFyZW07XG4gIGJveC1zaGFkb3c6IDAgMCA3cHggcmdiYSgyMCwgMjAsIDIwLCAwLjMpO1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwNkY2OTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgI2Nvb2tpZS1wcml2YWN5LW5vdGljZSB7XG4gICAgICBtYXgtd2lkdGg6IDUzLjc3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9IH1cbiAgI2Nvb2tpZS1wcml2YWN5LW5vdGljZSBhIHtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAgICNjb29raWUtcHJpdmFjeS1ub3RpY2UgYTpob3ZlciB7XG4gICAgICBjb2xvcjogIzNkYjU0YjsgfVxuICAjY29va2llLXByaXZhY3ktbm90aWNlIC5idXR0b24ge1xuICAgIGNvbG9yOiAjMDA2RjY5O1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiAjZmZmZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgbGVmdDogMDtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgcGFkZGluZy1sZWZ0OiAxLjg3NXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjg3NXJlbTtcbiAgICBtYXJnaW4tdG9wOiAwOyB9XG4gICAgI2Nvb2tpZS1wcml2YWN5LW5vdGljZSAuYnV0dG9uOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxNDE0MTQgIWltcG9ydGFudDsgfVxuXG4uY29tcG9uZW50LWh0bWw6OmJlZm9yZSwgLmNvbXBvbmVudC1odG1sOjphZnRlciB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjb250ZW50OiAnICc7XG4gIGZsZXgtYmFzaXM6IDA7XG4gIG9yZGVyOiAxOyB9XG5cbi5jb21wb25lbnQtaHRtbDo6YWZ0ZXIge1xuICBjbGVhcjogYm90aDsgfVxuXG4uY29tcG9uZW50LWh0bWwucmVzcG9uc2l2ZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBwYWRkaW5nLWJvdHRvbTogNTYuMjUlO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5jb21wb25lbnQtaHRtbC5yZXNwb25zaXZlIGlmcmFtZSxcbiAgLmNvbXBvbmVudC1odG1sLnJlc3BvbnNpdmUgb2JqZWN0LFxuICAuY29tcG9uZW50LWh0bWwucmVzcG9uc2l2ZSBlbWJlZCxcbiAgLmNvbXBvbmVudC1odG1sLnJlc3BvbnNpdmUgdmlkZW8ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7IH1cblxuQG1lZGlhIHByaW50IHtcbiAgLmNvbXBvbmVudC1odG1sIHtcbiAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuI25mdC1jYW1wYWlnbiB7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlOyB9XG4gICNuZnQtY2FtcGFpZ24gZGl2LCAjbmZ0LWNhbXBhaWduIHAge1xuICAgIGZvbnQtZmFtaWx5OiAnU291cmNlIFNhbnMgUHJvJywgc2Fucy1zZXJpZjtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDsgfVxuICAjbmZ0LWNhbXBhaWduICNuZnQtbmF2LWJhci13cmFwcGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDBweDtcbiAgICB6LWluZGV4OiA1OyB9XG4gICAgI25mdC1jYW1wYWlnbiAjbmZ0LW5hdi1iYXItd3JhcHBlciBkaXYsICNuZnQtY2FtcGFpZ24gI25mdC1uYXYtYmFyLXdyYXBwZXIgcCwgI25mdC1jYW1wYWlnbiAjbmZ0LW5hdi1iYXItd3JhcHBlciBhIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICBsaW5lLWhlaWdodDogMjBweDsgfVxuICAgICNuZnQtY2FtcGFpZ24gI25mdC1uYXYtYmFyLXdyYXBwZXIgLnMtYnVyZ2VyIHtcbiAgICAgIGxlZnQ6IDE3cHggIWltcG9ydGFudDtcbiAgICAgIHRvcDogMzNweCAhaW1wb3J0YW50OyB9XG4gICAgICAjbmZ0LWNhbXBhaWduICNuZnQtbmF2LWJhci13cmFwcGVyIC5zLWJ1cmdlciBzcGFuIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsgfVxuICAgICNuZnQtY2FtcGFpZ24gI25mdC1uYXYtYmFyLXdyYXBwZXIgI25mdF9uYXYge1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIHBhZGRpbmc6IDI4cHggMjBweCAwIDIwcHg7XG4gICAgICBtYXgtd2lkdGg6IDExNDRweDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDIzcHgpIHtcbiAgICAgICAgI25mdC1jYW1wYWlnbiAjbmZ0LW5hdi1iYXItd3JhcHBlciAjbmZ0X25hdiB7XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IDUwcHg7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzE0MTQxNDtcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyICFpbXBvcnRhbnQ7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbiAhaW1wb3J0YW50O1xuICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuNXM7IH1cbiAgICAgICAgICAjbmZ0LWNhbXBhaWduICNuZnQtbmF2LWJhci13cmFwcGVyICNuZnRfbmF2Lm5vdC12aXNpYmxlIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7IH1cbiAgICAgICAgICAjbmZ0LWNhbXBhaWduICNuZnQtbmF2LWJhci13cmFwcGVyICNuZnRfbmF2IC5uZnRfbmF2aWdhdGlvbixcbiAgICAgICAgICAjbmZ0LWNhbXBhaWduICNuZnQtbmF2LWJhci13cmFwcGVyICNuZnRfbmF2IC5uZnRfYW5jaG9yX25hdixcbiAgICAgICAgICAjbmZ0LWNhbXBhaWduICNuZnQtbmF2LWJhci13cmFwcGVyICNuZnRfbmF2IC5uZnRfbmF2X2xpbmtzIHtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4gIWltcG9ydGFudDsgfVxuICAgICAgICAgICNuZnQtY2FtcGFpZ24gI25mdC1uYXYtYmFyLXdyYXBwZXIgI25mdF9uYXYgLm5mdF9hbmNob3JfbmF2IHtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAyMHB4OyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDE0NDZweCkge1xuICAgICAgICAjbmZ0LWNhbXBhaWduICNuZnQtbmF2LWJhci13cmFwcGVyICNuZnRfbmF2IHtcbiAgICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDMwMHB4KTtcbiAgICAgICAgICBwYWRkaW5nOiAyOHB4IDAgMCAwOyB9IH1cbiAgICAjbmZ0LWNhbXBhaWduICNuZnQtbmF2LWJhci13cmFwcGVyICNuZnQtbG9nby13cmFwcGVyICNuZnRfbG9nbyBpbWcge1xuICAgICAgd2lkdGg6IDEwMHB4O1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDIzcHgpIHtcbiAgICAgICAgI25mdC1jYW1wYWlnbiAjbmZ0LW5hdi1iYXItd3JhcHBlciAjbmZ0LWxvZ28td3JhcHBlciAjbmZ0X2xvZ28gaW1nIHtcbiAgICAgICAgICBtYXJnaW46IDRweCAwIDIwcHggLTY1cHg7IH0gfVxuICAgICNuZnQtY2FtcGFpZ24gI25mdC1uYXYtYmFyLXdyYXBwZXIgLm5hdl9kb25hdGUge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICAjbmZ0LWNhbXBhaWduICNuZnQtbmF2LWJhci13cmFwcGVyICNuYXZfZG9uYXRlX2J0biB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGhlaWdodDogMzBweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDI0cHg7XG4gICAgICBtYXJnaW4tbGVmdDogMjRweDtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50OyB9XG4gICAgICAjbmZ0LWNhbXBhaWduICNuZnQtbmF2LWJhci13cmFwcGVyICNuYXZfZG9uYXRlX2J0bjpob3ZlciB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHdoaXRlOyB9XG4gICAgICAjbmZ0LWNhbXBhaWduICNuZnQtbmF2LWJhci13cmFwcGVyICNuYXZfZG9uYXRlX2J0biBhIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgcGFkZGluZzogNHB4IDEycHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgICAgICNuZnQtY2FtcGFpZ24gI25mdC1uYXYtYmFyLXdyYXBwZXIgI25hdl9kb25hdGVfYnRuIGEgaW1nIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDhweDsgfVxuICAgICAgICAjbmZ0LWNhbXBhaWduICNuZnQtbmF2LWJhci13cmFwcGVyICNuYXZfZG9uYXRlX2J0biBhIHNwYW4ge1xuICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgICNuZnQtY2FtcGFpZ24gI25mdC1uYXYtYmFyLXdyYXBwZXIgLm5mdF9uYXZpZ2F0aW9uIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICBjb2xvcjogd2hpdGU7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwMHB4KSB7XG4gICAgICAgICNuZnQtY2FtcGFpZ24gI25mdC1uYXYtYmFyLXdyYXBwZXIgLm5mdF9uYXZpZ2F0aW9uIHtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH0gfVxuICAgICAgI25mdC1jYW1wYWlnbiAjbmZ0LW5hdi1iYXItd3JhcHBlciAubmZ0X25hdmlnYXRpb24gLm5mdF9hbmNob3JfbmF2IHtcbiAgICAgICAgZGlzcGxheTogZmxleDsgfVxuICAjbmZ0LWNhbXBhaWduICNuZnRfdGVhc2VyIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGRpc3BsYXk6IGluaXRpYWw7IH1cbiAgICAjbmZ0LWNhbXBhaWduICNuZnRfdGVhc2VyLnRlYXNlcl9ob3ZlciAuY3JvcF93cmFwIHtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjVzO1xuICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgIGhlaWdodDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50OyB9XG4gICAgI25mdC1jYW1wYWlnbiAjbmZ0X3RlYXNlci50ZWFzZXJfaG92ZXIgI25mdF9ob3Zlcl9vdmVybGF5IHtcbiAgICAgIG9wYWNpdHk6IDEgIWltcG9ydGFudDsgfVxuICAgICNuZnQtY2FtcGFpZ24gI25mdF90ZWFzZXIgLnRlYXNlci1iZy1pbWFnZSB7XG4gICAgICBoZWlnaHQ6IDEwMHZoO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5ODBweCkgYW5kIChtaW4taGVpZ2h0OiA5MDBweCkge1xuICAgICAgICAjbmZ0LWNhbXBhaWduICNuZnRfdGVhc2VyIC50ZWFzZXItYmctaW1hZ2Uge1xuICAgICAgICAgIGhlaWdodDogODB2aDsgfVxuICAgICAgICAgICNuZnQtY2FtcGFpZ24gI25mdF90ZWFzZXIgLnRlYXNlci1iZy1pbWFnZSAjbmZ0X3RlYXNlcl9jYXJkIHtcbiAgICAgICAgICAgIGhlaWdodDogODB2aDsgfSB9XG4gICAgI25mdC1jYW1wYWlnbiAjbmZ0X3RlYXNlciAjbmZ0X3RlYXNlcl9jYXJkIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlOyB9XG4gICAgICAjbmZ0LWNhbXBhaWduICNuZnRfdGVhc2VyICNuZnRfdGVhc2VyX2NhcmQgLm5mdF90ZWFzZXJfY2FyZF9jcm9wIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgICAgICAgI25mdC1jYW1wYWlnbiAjbmZ0X3RlYXNlciAjbmZ0X3RlYXNlcl9jYXJkIC5uZnRfdGVhc2VyX2NhcmRfY3JvcCAuY2FyZF90ZXh0IHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAyNHB4O1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgIGhlaWdodDogMzIwcHg7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoMjU2cHgpOyB9XG4gICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDUwcHgpIGFuZCAobWluLWhlaWdodDogNzAwcHgpIHtcbiAgICAgICAgICAgICNuZnQtY2FtcGFpZ24gI25mdF90ZWFzZXIgI25mdF90ZWFzZXJfY2FyZCAubmZ0X3RlYXNlcl9jYXJkX2Nyb3AgLmNhcmRfdGV4dCB7XG4gICAgICAgICAgICAgIGhlaWdodDogNDYwcHg7XG4gICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDM2OHB4KTsgfSB9XG4gICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTgwcHgpIGFuZCAobWluLWhlaWdodDogOTAwcHgpIHtcbiAgICAgICAgICAgICNuZnQtY2FtcGFpZ24gI25mdF90ZWFzZXIgI25mdF90ZWFzZXJfY2FyZCAubmZ0X3RlYXNlcl9jYXJkX2Nyb3AgLmNhcmRfdGV4dCB7XG4gICAgICAgICAgICAgIGhlaWdodDogNTgwcHg7XG4gICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDQ2NHB4KTsgfSB9XG4gICAgICAgICAgI25mdC1jYW1wYWlnbiAjbmZ0X3RlYXNlciAjbmZ0X3RlYXNlcl9jYXJkIC5uZnRfdGVhc2VyX2NhcmRfY3JvcCAuY2FyZF90ZXh0IC5uZnQtdGVhc2VyLXRleHQtdG9wIHtcbiAgICAgICAgICAgIG1hcmdpbjogMjBweDsgfVxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDUwcHgpIGFuZCAobWluLWhlaWdodDogNzAwcHgpIHtcbiAgICAgICAgICAgICAgI25mdC1jYW1wYWlnbiAjbmZ0X3RlYXNlciAjbmZ0X3RlYXNlcl9jYXJkIC5uZnRfdGVhc2VyX2NhcmRfY3JvcCAuY2FyZF90ZXh0IC5uZnQtdGVhc2VyLXRleHQtdG9wIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDQwcHg7IH0gfVxuICAgICAgICAgICNuZnQtY2FtcGFpZ24gI25mdF90ZWFzZXIgI25mdF90ZWFzZXJfY2FyZCAubmZ0X3RlYXNlcl9jYXJkX2Nyb3AgLmNhcmRfdGV4dCAjbmZ0X2hvdmVyX292ZXJsYXkge1xuICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDB2dztcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zczsgfVxuICAgICAgICAgICAgI25mdC1jYW1wYWlnbiAjbmZ0X3RlYXNlciAjbmZ0X3RlYXNlcl9jYXJkIC5uZnRfdGVhc2VyX2NhcmRfY3JvcCAuY2FyZF90ZXh0ICNuZnRfaG92ZXJfb3ZlcmxheSAub3ZlcmxheV90aXRsZSB7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5ODBweCkgYW5kIChtaW4taGVpZ2h0OiA5MDBweCkge1xuICAgICAgICAgICAgICAgICNuZnQtY2FtcGFpZ24gI25mdF90ZWFzZXIgI25mdF90ZWFzZXJfY2FyZCAubmZ0X3RlYXNlcl9jYXJkX2Nyb3AgLmNhcmRfdGV4dCAjbmZ0X2hvdmVyX292ZXJsYXkgLm92ZXJsYXlfdGl0bGUge1xuICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiA2NHB4O1xuICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDsgfSB9XG4gICAgICAgICAgICAjbmZ0LWNhbXBhaWduICNuZnRfdGVhc2VyICNuZnRfdGVhc2VyX2NhcmQgLm5mdF90ZWFzZXJfY2FyZF9jcm9wIC5jYXJkX3RleHQgI25mdF9ob3Zlcl9vdmVybGF5IC5vdmVybGF5X3N1YnRpdGxlIHtcbiAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAyMHB4OyB9XG4gICAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk4MHB4KSBhbmQgKG1pbi1oZWlnaHQ6IDkwMHB4KSB7XG4gICAgICAgICAgICAgICAgI25mdC1jYW1wYWlnbiAjbmZ0X3RlYXNlciAjbmZ0X3RlYXNlcl9jYXJkIC5uZnRfdGVhc2VyX2NhcmRfY3JvcCAuY2FyZF90ZXh0ICNuZnRfaG92ZXJfb3ZlcmxheSAub3ZlcmxheV9zdWJ0aXRsZSB7XG4gICAgICAgICAgICAgICAgICBmb250LXNpemU6IDI0cHg7IH0gfVxuICAgICAgICAgICNuZnQtY2FtcGFpZ24gI25mdF90ZWFzZXIgI25mdF90ZWFzZXJfY2FyZCAubmZ0X3RlYXNlcl9jYXJkX2Nyb3AgLmNhcmRfdGV4dCAubmZ0LXRlYXNlci10ZXh0LWJvdHRvbSB7XG4gICAgICAgICAgICBtYXJnaW46IDIwcHg7IH1cbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ1MHB4KSBhbmQgKG1pbi1oZWlnaHQ6IDcwMHB4KSB7XG4gICAgICAgICAgICAgICNuZnQtY2FtcGFpZ24gI25mdF90ZWFzZXIgI25mdF90ZWFzZXJfY2FyZCAubmZ0X3RlYXNlcl9jYXJkX2Nyb3AgLmNhcmRfdGV4dCAubmZ0LXRlYXNlci10ZXh0LWJvdHRvbSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiA0MHB4OyB9IH1cbiAgICAgICAgICAgICNuZnQtY2FtcGFpZ24gI25mdF90ZWFzZXIgI25mdF90ZWFzZXJfY2FyZCAubmZ0X3RlYXNlcl9jYXJkX2Nyb3AgLmNhcmRfdGV4dCAubmZ0LXRlYXNlci10ZXh0LWJvdHRvbSAudGVhc2VyX3RpdGxlIHtcbiAgICAgICAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMnB4OyB9XG4gICAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk4MHB4KSBhbmQgKG1pbi1oZWlnaHQ6IDkwMHB4KSB7XG4gICAgICAgICAgICAgICAgI25mdC1jYW1wYWlnbiAjbmZ0X3RlYXNlciAjbmZ0X3RlYXNlcl9jYXJkIC5uZnRfdGVhc2VyX2NhcmRfY3JvcCAuY2FyZF90ZXh0IC5uZnQtdGVhc2VyLXRleHQtYm90dG9tIC50ZWFzZXJfdGl0bGUge1xuICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMThweDsgfSB9XG4gICAgICAgICAgI25mdC1jYW1wYWlnbiAjbmZ0X3RlYXNlciAjbmZ0X3RlYXNlcl9jYXJkIC5uZnRfdGVhc2VyX2NhcmRfY3JvcCAuY2FyZF90ZXh0IC5uZnRfbmF2X2J0bl93cmFwcGVyOmhvdmVyIHtcbiAgICAgICAgICAgIG91dGxpbmU6IDA7IH1cbiAgICAgICAgICAjbmZ0LWNhbXBhaWduICNuZnRfdGVhc2VyICNuZnRfdGVhc2VyX2NhcmQgLm5mdF90ZWFzZXJfY2FyZF9jcm9wIC5jYXJkX3RleHQgLnRlYXNlcl9jdGEge1xuICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuM3M7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICAgICAgICAgICNuZnQtY2FtcGFpZ24gI25mdF90ZWFzZXIgI25mdF90ZWFzZXJfY2FyZCAubmZ0X3RlYXNlcl9jYXJkX2Nyb3AgLmNhcmRfdGV4dCAudGVhc2VyX2N0YTpob3ZlciB7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yNSk7IH1cbiAgICAgICAgI25mdC1jYW1wYWlnbiAjbmZ0X3RlYXNlciAjbmZ0X3RlYXNlcl9jYXJkIC5uZnRfdGVhc2VyX2NhcmRfY3JvcCAuY3JvcF93cmFwIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpIHRyYW5zbGF0ZVooMCk7XG4gICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjVzO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDI0cHg7XG4gICAgICAgICAgaGVpZ2h0OiAzMjBweDtcbiAgICAgICAgICB3aWR0aDogY2FsYygyNTZweCk7XG4gICAgICAgICAgLXdlYmtpdC1tYXNrLWltYWdlOiAtd2Via2l0LXJhZGlhbC1ncmFkaWVudCh3aGl0ZSwgYmxhY2spOyB9XG4gICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDUwcHgpIGFuZCAobWluLWhlaWdodDogNzAwcHgpIHtcbiAgICAgICAgICAgICNuZnQtY2FtcGFpZ24gI25mdF90ZWFzZXIgI25mdF90ZWFzZXJfY2FyZCAubmZ0X3RlYXNlcl9jYXJkX2Nyb3AgLmNyb3Bfd3JhcCB7XG4gICAgICAgICAgICAgIGhlaWdodDogNDYwcHg7XG4gICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDM2OHB4KTsgfSB9XG4gICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTgwcHgpIGFuZCAobWluLWhlaWdodDogOTAwcHgpIHtcbiAgICAgICAgICAgICNuZnQtY2FtcGFpZ24gI25mdF90ZWFzZXIgI25mdF90ZWFzZXJfY2FyZCAubmZ0X3RlYXNlcl9jYXJkX2Nyb3AgLmNyb3Bfd3JhcCB7XG4gICAgICAgICAgICAgIGhlaWdodDogNTgwcHg7XG4gICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDQ2NHB4KTsgfSB9XG4gICAgICAgICAgI25mdC1jYW1wYWlnbiAjbmZ0X3RlYXNlciAjbmZ0X3RlYXNlcl9jYXJkIC5uZnRfdGVhc2VyX2NhcmRfY3JvcCAuY3JvcF93cmFwIC5jYXJkX2ltYWdlIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICAgICAgICB3aWR0aDogMTAwdnc7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMHZoO1xuICAgICAgICAgICAgLXdlYmtpdC1tYXNrLWltYWdlOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIGxlZnQgYm90dG9tLCBmcm9tKHJnYmEoMCwgMCwgMCwgMC4zKSksIHRvKGJsYWNrKSk7XG4gICAgICAgICAgICBtYXNrLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCByZ2JhKDAsIDAsIDAsIDAuMyksIGJsYWNrKTsgfVxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTgwcHgpIGFuZCAobWluLWhlaWdodDogOTAwcHgpIHtcbiAgICAgICAgICAgICAgI25mdC1jYW1wYWlnbiAjbmZ0X3RlYXNlciAjbmZ0X3RlYXNlcl9jYXJkIC5uZnRfdGVhc2VyX2NhcmRfY3JvcCAuY3JvcF93cmFwIC5jYXJkX2ltYWdlIHtcbiAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiA4NjBweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDgwdmg7IH0gfVxuICAjbmZ0LWNhbXBhaWduIC52aWRlby10ZWFzZXIgLnZpZGVvLWVtYmVkIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1ib3R0b206IDU2LjI1JTtcbiAgICBoZWlnaHQ6IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgICAjbmZ0LWNhbXBhaWduIC52aWRlby10ZWFzZXIgLnZpZGVvLWVtYmVkIGlmcmFtZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgI25mdC1jYW1wYWlnbiAuZmFxX2xpc3QgLmZhcV9lbnRyeSAuZmFxX2NvbGxhcHNpYmxlIC5mYXFfcXVlc3Rpb24ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAxOHB4O1xuICAgIGNvbG9yOiBibGFjaztcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgICAjbmZ0LWNhbXBhaWduIC5mYXFfbGlzdCAuZmFxX2VudHJ5IC5mYXFfY29sbGFwc2libGUgLmZhcV9xdWVzdGlvbiAucXVlc3Rpb24sICNuZnQtY2FtcGFpZ24gLmZhcV9saXN0IC5mYXFfZW50cnkgLmZhcV9jb2xsYXBzaWJsZSAuZmFxX3F1ZXN0aW9uIC5pY29uLCAjbmZ0LWNhbXBhaWduIC5mYXFfbGlzdCAuZmFxX2VudHJ5IC5mYXFfY29sbGFwc2libGUgLmZhcV9xdWVzdGlvbiBzdmcge1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG4gICAgI25mdC1jYW1wYWlnbiAuZmFxX2xpc3QgLmZhcV9lbnRyeSAuZmFxX2NvbGxhcHNpYmxlIC5mYXFfcXVlc3Rpb24gLnF1ZXN0aW9uIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7IH1cbiAgICAjbmZ0LWNhbXBhaWduIC5mYXFfbGlzdCAuZmFxX2VudHJ5IC5mYXFfY29sbGFwc2libGUgLmZhcV9xdWVzdGlvbiAuaWNvbiB7XG4gICAgICBtaW4td2lkdGg6IDIwcHg7IH1cbiAgICAjbmZ0LWNhbXBhaWduIC5mYXFfbGlzdCAuZmFxX2VudHJ5IC5mYXFfY29sbGFwc2libGUgLmZhcV9xdWVzdGlvbjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWFlYWVhOyB9XG4gICNuZnQtY2FtcGFpZ24gLmZhcV9saXN0IC5mYXFfZW50cnkgLmNvbGxhcHNpYmxlX2Fuc3dlciB7XG4gICAgcGFkZGluZzogMCAxOHB4O1xuICAgIG1heC1oZWlnaHQ6IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IC40cyBlYXNlOyB9XG4gICAgI25mdC1jYW1wYWlnbiAuZmFxX2xpc3QgLmZhcV9lbnRyeSAuY29sbGFwc2libGVfYW5zd2VyIHAge1xuICAgICAgbWFyZ2luOiAxOHB4IDA7IH1cbiAgI25mdC1jYW1wYWlnbiAuZmFxX2xpc3QgLmZhcV9lbnRyeS5hY3RpdmUgLmNvbGxhcHNpYmxlX2Fuc3dlciB7XG4gICAgbWF4LWhlaWdodDogMjAwMHB4ICFpbXBvcnRhbnQ7IH1cbiAgI25mdC1jYW1wYWlnbiAubmZ0X3Bob3RvX3NsaWRlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGhlaWdodDogY2FsYygzMjBweCArIDYwcHgpOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDUwcHgpIHtcbiAgICAgICNuZnQtY2FtcGFpZ24gLm5mdF9waG90b19zbGlkZXIge1xuICAgICAgICBoZWlnaHQ6IGNhbGMoNDYwcHggKyA2MHB4KTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTgwcHgpIHtcbiAgICAgICNuZnQtY2FtcGFpZ24gLm5mdF9waG90b19zbGlkZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgICAgICNuZnQtY2FtcGFpZ24gLm5mdF9waG90b19zbGlkZXIge1xuICAgICAgICBoZWlnaHQ6IGNhbGMoNTgwcHggKyA2MHB4KTsgfSB9XG4gICAgI25mdC1jYW1wYWlnbiAubmZ0X3Bob3RvX3NsaWRlcjpob3ZlciAucGhvdG9fc2xpZGVyX2lubmVyW2RhdGEtc2xpZGU9JzAnXSAucGhvdG9fY2FyZF90ZXh0IC50ZWFzZXJfcHJpY2Uge1xuICAgICAgb3BhY2l0eTogMSAhaW1wb3J0YW50OyB9XG4gICAgI25mdC1jYW1wYWlnbiAubmZ0X3Bob3RvX3NsaWRlcjpob3ZlciAucGhvdG9fc2xpZGVyX2lubmVyW2RhdGEtc2xpZGU9JzAnXSAucGhvdG9fY2FyZF9pbm5lci5ob3Zlcl9waG90byB7XG4gICAgICBvcGFjaXR5OiAxICFpbXBvcnRhbnQ7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpICFpbXBvcnRhbnQ7IH1cbiAgICAjbmZ0LWNhbXBhaWduIC5uZnRfcGhvdG9fc2xpZGVyIC5kb3RfcG9zaXRpb24ge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3R0b206IDA7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICB0b3A6IGNhbGMoMzIwcHggKyA0MHB4KTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDUwcHgpIHtcbiAgICAgICAgI25mdC1jYW1wYWlnbiAubmZ0X3Bob3RvX3NsaWRlciAuZG90X3Bvc2l0aW9uIHtcbiAgICAgICAgICB0b3A6IGNhbGMoNDYwcHggKyA2MHB4KTsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgICAgICAgI25mdC1jYW1wYWlnbiAubmZ0X3Bob3RvX3NsaWRlciAuZG90X3Bvc2l0aW9uIHtcbiAgICAgICAgICB0b3A6IGF1dG87IH0gfVxuICAgICAgI25mdC1jYW1wYWlnbiAubmZ0X3Bob3RvX3NsaWRlciAuZG90X3Bvc2l0aW9uIC5kb3Rfc3BhY2VyIHtcbiAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgIHdpZHRoOiAwOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk4MHB4KSB7XG4gICAgICAgICAgI25mdC1jYW1wYWlnbiAubmZ0X3Bob3RvX3NsaWRlciAuZG90X3Bvc2l0aW9uIC5kb3Rfc3BhY2VyIHtcbiAgICAgICAgICAgIHdpZHRoOiA1MCU7IH0gfVxuICAgICAgI25mdC1jYW1wYWlnbiAubmZ0X3Bob3RvX3NsaWRlciAuZG90X3Bvc2l0aW9uIC5kb3Rfd3JhcHBlcl9wb3NpdGlvbiB7XG4gICAgICAgIHdpZHRoOiBmaXQtY29udGVudDsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5ODBweCkge1xuICAgICAgICAgICNuZnQtY2FtcGFpZ24gLm5mdF9waG90b19zbGlkZXIgLmRvdF9wb3NpdGlvbiAuZG90X3dyYXBwZXJfcG9zaXRpb24ge1xuICAgICAgICAgICAgd2lkdGg6IDUwJTsgfSB9XG4gICAgICAjbmZ0LWNhbXBhaWduIC5uZnRfcGhvdG9fc2xpZGVyIC5kb3RfcG9zaXRpb24gLmRvdF93cmFwcGVyIHtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk4MHB4KSB7XG4gICAgICAgICAgI25mdC1jYW1wYWlnbiAubmZ0X3Bob3RvX3NsaWRlciAuZG90X3Bvc2l0aW9uIC5kb3Rfd3JhcHBlciB7XG4gICAgICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7IH0gfVxuICAgICAgICAjbmZ0LWNhbXBhaWduIC5uZnRfcGhvdG9fc2xpZGVyIC5kb3RfcG9zaXRpb24gLmRvdF93cmFwcGVyIC5kb3Qge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMTBweDsgfVxuICAgICAgICAgICNuZnQtY2FtcGFpZ24gLm5mdF9waG90b19zbGlkZXIgLmRvdF9wb3NpdGlvbiAuZG90X3dyYXBwZXIgLmRvdDpob3ZlciwgI25mdC1jYW1wYWlnbiAubmZ0X3Bob3RvX3NsaWRlciAuZG90X3Bvc2l0aW9uIC5kb3Rfd3JhcHBlciAuZG90LmFjdGl2ZSB7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgICAgICAgICAgICNuZnQtY2FtcGFpZ24gLm5mdF9waG90b19zbGlkZXIgLmRvdF9wb3NpdGlvbiAuZG90X3dyYXBwZXIgLmRvdDpob3ZlciBzdmcgY2lyY2xlLCAjbmZ0LWNhbXBhaWduIC5uZnRfcGhvdG9fc2xpZGVyIC5kb3RfcG9zaXRpb24gLmRvdF93cmFwcGVyIC5kb3QuYWN0aXZlIHN2ZyBjaXJjbGUge1xuICAgICAgICAgICAgICBmaWxsOiBibGFjazsgfVxuICAgICAgI25mdC1jYW1wYWlnbiAubmZ0X3Bob3RvX3NsaWRlciAuZG90X3Bvc2l0aW9uLnJldmVyc2UgLmRvdF93cmFwcGVyX3Bvc2l0aW9uIHtcbiAgICAgICAgb3JkZXI6IDA7IH1cbiAgICAgICNuZnQtY2FtcGFpZ24gLm5mdF9waG90b19zbGlkZXIgLmRvdF9wb3NpdGlvbi5yZXZlcnNlIC5kb3Rfc3BhY2VyIHtcbiAgICAgICAgb3JkZXI6IDE7IH1cbiAgICAjbmZ0LWNhbXBhaWduIC5uZnRfcGhvdG9fc2xpZGVyIC5waG90b19zbGlkZXJfaW5uZXIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk4MHB4KSB7XG4gICAgICAgICNuZnQtY2FtcGFpZ24gLm5mdF9waG90b19zbGlkZXIgLnBob3RvX3NsaWRlcl9pbm5lciB7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgICAgICAgI25mdC1jYW1wYWlnbiAubmZ0X3Bob3RvX3NsaWRlciAucGhvdG9fc2xpZGVyX2lubmVyIHtcbiAgICAgICAgICBoZWlnaHQ6IGNhbGMoNTgwcHggKyA2MHB4KTsgfSB9XG4gICAgICAjbmZ0LWNhbXBhaWduIC5uZnRfcGhvdG9fc2xpZGVyIC5waG90b19zbGlkZXJfaW5uZXIgLnBob3RvX3NsaWRlciB7XG4gICAgICAgIG9yZGVyOiAwO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG1hcmdpbjogMjBweCAwO1xuICAgICAgICBoZWlnaHQ6IGNhbGMoMzIwcHggKyA2MHB4KTtcbiAgICAgICAgd2lkdGg6IGNhbGMoMjU2cHgpO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDUwcHgpIHtcbiAgICAgICAgICAjbmZ0LWNhbXBhaWduIC5uZnRfcGhvdG9fc2xpZGVyIC5waG90b19zbGlkZXJfaW5uZXIgLnBob3RvX3NsaWRlciB7XG4gICAgICAgICAgICBoZWlnaHQ6IGNhbGMoNDYwcHggKyA2MHB4KTtcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKDM2OHB4KTsgfSB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk4MHB4KSB7XG4gICAgICAgICAgI25mdC1jYW1wYWlnbiAubmZ0X3Bob3RvX3NsaWRlciAucGhvdG9fc2xpZGVyX2lubmVyIC5waG90b19zbGlkZXIge1xuICAgICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgICAgIG9yZGVyOiAxOyB9IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICAgICAgICAgI25mdC1jYW1wYWlnbiAubmZ0X3Bob3RvX3NsaWRlciAucGhvdG9fc2xpZGVyX2lubmVyIC5waG90b19zbGlkZXIge1xuICAgICAgICAgICAgaGVpZ2h0OiBjYWxjKDU4MHB4ICsgNjBweCk7IH0gfVxuICAgICAgICAjbmZ0LWNhbXBhaWduIC5uZnRfcGhvdG9fc2xpZGVyIC5waG90b19zbGlkZXJfaW5uZXIgLnBob3RvX3NsaWRlciAucGhvdG9fY2FyZCB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogMjRweDtcbiAgICAgICAgICBoZWlnaHQ6IDMyMHB4O1xuICAgICAgICAgIHdpZHRoOiBjYWxjKDI1NnB4KTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC44cyBjdWJpYy1iZXppZXIoMC4xOCwgMC45OCwgMC40NSwgMSk7XG4gICAgICAgICAgYm94LXNoYWRvdzogMCAycHggMTBweCAwIHJnYmEoMCwgMCwgMCwgMC4wNyk7IH1cbiAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0NTBweCkge1xuICAgICAgICAgICAgI25mdC1jYW1wYWlnbiAubmZ0X3Bob3RvX3NsaWRlciAucGhvdG9fc2xpZGVyX2lubmVyIC5waG90b19zbGlkZXIgLnBob3RvX2NhcmQge1xuICAgICAgICAgICAgICBoZWlnaHQ6IDQ2MHB4O1xuICAgICAgICAgICAgICB3aWR0aDogY2FsYygzNjhweCk7IH0gfVxuICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAgICAgICAgICAgI25mdC1jYW1wYWlnbiAubmZ0X3Bob3RvX3NsaWRlciAucGhvdG9fc2xpZGVyX2lubmVyIC5waG90b19zbGlkZXIgLnBob3RvX2NhcmQge1xuICAgICAgICAgICAgICBoZWlnaHQ6IDU4MHB4O1xuICAgICAgICAgICAgICB3aWR0aDogY2FsYyg0NjRweCk7IH0gfVxuICAgICAgICAgICNuZnQtY2FtcGFpZ24gLm5mdF9waG90b19zbGlkZXIgLnBob3RvX3NsaWRlcl9pbm5lciAucGhvdG9fc2xpZGVyIC5waG90b19jYXJkIC5waG90b19jYXJkX2lubmVyIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMjRweDsgfVxuICAgICAgICAgICAgI25mdC1jYW1wYWlnbiAubmZ0X3Bob3RvX3NsaWRlciAucGhvdG9fc2xpZGVyX2lubmVyIC5waG90b19zbGlkZXIgLnBob3RvX2NhcmQgLnBob3RvX2NhcmRfaW5uZXIuaG92ZXJfcGhvdG8ge1xuICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMXMgZWFzZS1pbi1vdXQ7XG4gICAgICAgICAgICAgIC1tb3otdHJhbnNpdGlvbjogYWxsIDFzIGVhc2UtaW4tb3V0O1xuICAgICAgICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAxcyBlYXNlLWluLW91dDtcbiAgICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjMpOyB9XG4gICAgICAgICAgI25mdC1jYW1wYWlnbiAubmZ0X3Bob3RvX3NsaWRlciAucGhvdG9fc2xpZGVyX2lubmVyIC5waG90b19zbGlkZXIgLnBob3RvX2NhcmQgLnBob3RvX2NhcmRfdGV4dCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgICAgICBwYWRkaW5nOiA0MHB4O1xuICAgICAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgei1pbmRleDogNTU1O1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgICAgICAgICNuZnQtY2FtcGFpZ24gLm5mdF9waG90b19zbGlkZXIgLnBob3RvX3NsaWRlcl9pbm5lciAucGhvdG9fc2xpZGVyIC5waG90b19jYXJkIC5waG90b19jYXJkX3RleHQgLnRlYXNlcl90aXRsZSB7XG4gICAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTsgfVxuICAgICAgICAgICAgI25mdC1jYW1wYWlnbiAubmZ0X3Bob3RvX3NsaWRlciAucGhvdG9fc2xpZGVyX2lubmVyIC5waG90b19zbGlkZXIgLnBob3RvX2NhcmQgLnBob3RvX2NhcmRfdGV4dCAudGVhc2VyX3ByaWNlIHtcbiAgICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDFzIGVhc2UtaW4tb3V0O1xuICAgICAgICAgICAgICAtbW96LXRyYW5zaXRpb246IGFsbCAxcyBlYXNlLWluLW91dDtcbiAgICAgICAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMXMgZWFzZS1pbi1vdXQ7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDsgfVxuICAgICAgI25mdC1jYW1wYWlnbiAubmZ0X3Bob3RvX3NsaWRlciAucGhvdG9fc2xpZGVyX2lubmVyIC5waG90b190ZXh0IHtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIG9yZGVyOiAxO1xuICAgICAgICB6LWluZGV4OiAxOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk4MHB4KSB7XG4gICAgICAgICAgI25mdC1jYW1wYWlnbiAubmZ0X3Bob3RvX3NsaWRlciAucGhvdG9fc2xpZGVyX2lubmVyIC5waG90b190ZXh0IHtcbiAgICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgICAgICBvcmRlcjogMDtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDcwcHg7IH0gfVxuICAgICAgICAjbmZ0LWNhbXBhaWduIC5uZnRfcGhvdG9fc2xpZGVyIC5waG90b19zbGlkZXJfaW5uZXIgLnBob3RvX3RleHQgLnRlYXNlcl90aXRsZSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzJweDsgfVxuICAgICAgICAjbmZ0LWNhbXBhaWduIC5uZnRfcGhvdG9fc2xpZGVyIC5waG90b19zbGlkZXJfaW5uZXIgLnBob3RvX3RleHQgLm5mdF90ZXh0IHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzMnB4OyB9XG4gICAgICAgICNuZnQtY2FtcGFpZ24gLm5mdF9waG90b19zbGlkZXIgLnBob3RvX3NsaWRlcl9pbm5lciAucGhvdG9fdGV4dCAucGhvdG9fY3RhX2J0biB7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgYmxhY2s7IH1cbiAgICAgICAgICAjbmZ0LWNhbXBhaWduIC5uZnRfcGhvdG9fc2xpZGVyIC5waG90b19zbGlkZXJfaW5uZXIgLnBob3RvX3RleHQgLnBob3RvX2N0YV9idG46aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2VhZWFlYTsgfVxuICAgICAgICAjbmZ0LWNhbXBhaWduIC5uZnRfcGhvdG9fc2xpZGVyIC5waG90b19zbGlkZXJfaW5uZXIgLnBob3RvX3RleHQgLmluc3RhX2NvbnRlbnQge1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICBtYXJnaW46IDIwcHggMDsgfVxuICAgICAgICAgICNuZnQtY2FtcGFpZ24gLm5mdF9waG90b19zbGlkZXIgLnBob3RvX3NsaWRlcl9pbm5lciAucGhvdG9fdGV4dCAuaW5zdGFfY29udGVudCAuaW5zdGFfaW1nIHtcbiAgICAgICAgICAgIHdpZHRoOiA4MHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiA4MHB4O1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlOyB9XG4gICAgICAgICAgI25mdC1jYW1wYWlnbiAubmZ0X3Bob3RvX3NsaWRlciAucGhvdG9fc2xpZGVyX2lubmVyIC5waG90b190ZXh0IC5pbnN0YV9jb250ZW50IC5pbnN0YV90ZXh0IHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAyMHB4OyB9XG4gICAgICAgICAgI25mdC1jYW1wYWlnbiAubmZ0X3Bob3RvX3NsaWRlciAucGhvdG9fc2xpZGVyX2lubmVyIC5waG90b190ZXh0IC5pbnN0YV9jb250ZW50IC5pbnN0YV9mb2xsb3dlcnMge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDsgfVxuICAgICAgI25mdC1jYW1wYWlnbiAubmZ0X3Bob3RvX3NsaWRlciAucGhvdG9fc2xpZGVyX2lubmVyW2RhdGEtc2xpZGU9JzAnXSAucGhvdG9fY2FyZCB7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjMycyBjdWJpYy1iZXppZXIoMC4xOCwgMC45OCwgMC40NSwgMSk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDBweCwgMHB4KSBzY2FsZSgxKTtcbiAgICAgICAgei1pbmRleDogNjtcbiAgICAgICAgb3BhY2l0eTogMTsgfVxuICAgICAgI25mdC1jYW1wYWlnbiAubmZ0X3Bob3RvX3NsaWRlciAucGhvdG9fc2xpZGVyX2lubmVyW2RhdGEtc2xpZGU9JzAnXSAucGhvdG9fdGV4dCB7XG4gICAgICAgIG9wYWNpdHk6IDE7IH1cbiAgICAgICNuZnQtY2FtcGFpZ24gLm5mdF9waG90b19zbGlkZXIgLnBob3RvX3NsaWRlcl9pbm5lcltkYXRhLXNsaWRlPScwJ10gYSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IGF1dG87IH1cbiAgICAgICNuZnQtY2FtcGFpZ24gLm5mdF9waG90b19zbGlkZXIgLnBob3RvX3NsaWRlcl9pbm5lcltkYXRhLXNsaWRlPScxJ10gLnBob3RvX2NhcmQge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOSk7XG4gICAgICAgIHotaW5kZXg6IDU7XG4gICAgICAgIGxlZnQ6IDI1cHg7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjUwcHgpIHtcbiAgICAgICAgICAjbmZ0LWNhbXBhaWduIC5uZnRfcGhvdG9fc2xpZGVyIC5waG90b19zbGlkZXJfaW5uZXJbZGF0YS1zbGlkZT0nMSddIC5waG90b19jYXJkIHtcbiAgICAgICAgICAgIGxlZnQ6IGNhbGMoMjVweCAqIDIpOyB9IH1cbiAgICAgICNuZnQtY2FtcGFpZ24gLm5mdF9waG90b19zbGlkZXIgLnBob3RvX3NsaWRlcl9pbm5lcltkYXRhLXNsaWRlPScyJ10gLnBob3RvX2NhcmQge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOCk7XG4gICAgICAgIHotaW5kZXg6IDQ7XG4gICAgICAgIGxlZnQ6IGNhbGMoMiAqIDI1cHgpOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY1MHB4KSB7XG4gICAgICAgICAgI25mdC1jYW1wYWlnbiAubmZ0X3Bob3RvX3NsaWRlciAucGhvdG9fc2xpZGVyX2lubmVyW2RhdGEtc2xpZGU9JzInXSAucGhvdG9fY2FyZCB7XG4gICAgICAgICAgICBsZWZ0OiBjYWxjKGNhbGMoMiAqIDI1cHgpICogMik7IH0gfVxuICAgICAgI25mdC1jYW1wYWlnbiAubmZ0X3Bob3RvX3NsaWRlciAucGhvdG9fc2xpZGVyX2lubmVyW2RhdGEtc2xpZGU9JzMnXSAucGhvdG9fY2FyZCB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC43KTtcbiAgICAgICAgei1pbmRleDogMztcbiAgICAgICAgbGVmdDogY2FsYygzICogMjVweCk7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjUwcHgpIHtcbiAgICAgICAgICAjbmZ0LWNhbXBhaWduIC5uZnRfcGhvdG9fc2xpZGVyIC5waG90b19zbGlkZXJfaW5uZXJbZGF0YS1zbGlkZT0nMyddIC5waG90b19jYXJkIHtcbiAgICAgICAgICAgIGxlZnQ6IGNhbGMoY2FsYygzICogMjVweCkgKiAyKTsgfSB9XG4gICAgICAjbmZ0LWNhbXBhaWduIC5uZnRfcGhvdG9fc2xpZGVyIC5waG90b19zbGlkZXJfaW5uZXJbZGF0YS1zbGlkZT0nNCddIC5waG90b19jYXJkIHtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjYpO1xuICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICBsZWZ0OiBjYWxjKDQgKiAyNXB4KTsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NTBweCkge1xuICAgICAgICAgICNuZnQtY2FtcGFpZ24gLm5mdF9waG90b19zbGlkZXIgLnBob3RvX3NsaWRlcl9pbm5lcltkYXRhLXNsaWRlPSc0J10gLnBob3RvX2NhcmQge1xuICAgICAgICAgICAgbGVmdDogY2FsYyhjYWxjKDQgKiAyNXB4KSAqIDIpOyB9IH1cbiAgICAgICNuZnQtY2FtcGFpZ24gLm5mdF9waG90b19zbGlkZXIgLnBob3RvX3NsaWRlcl9pbm5lcltkYXRhLXNsaWRlPSc1J10gLnBob3RvX2NhcmQge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuNSk7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIGxlZnQ6IGNhbGMoNSAqIDI1cHgpOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY1MHB4KSB7XG4gICAgICAgICAgI25mdC1jYW1wYWlnbiAubmZ0X3Bob3RvX3NsaWRlciAucGhvdG9fc2xpZGVyX2lubmVyW2RhdGEtc2xpZGU9JzUnXSAucGhvdG9fY2FyZCB7XG4gICAgICAgICAgICBsZWZ0OiBjYWxjKGNhbGMoNSAqIDI1cHgpICogMik7IH0gfVxuICAgICAgI25mdC1jYW1wYWlnbiAubmZ0X3Bob3RvX3NsaWRlciAucGhvdG9fc2xpZGVyX2lubmVyW2RhdGEtc2xpZGU9JzEnXSAucGhvdG9fY2FyZCwgI25mdC1jYW1wYWlnbiAubmZ0X3Bob3RvX3NsaWRlciAucGhvdG9fc2xpZGVyX2lubmVyW2RhdGEtc2xpZGU9JzInXSAucGhvdG9fY2FyZCwgI25mdC1jYW1wYWlnbiAubmZ0X3Bob3RvX3NsaWRlciAucGhvdG9fc2xpZGVyX2lubmVyW2RhdGEtc2xpZGU9JzMnXSAucGhvdG9fY2FyZCwgI25mdC1jYW1wYWlnbiAubmZ0X3Bob3RvX3NsaWRlciAucGhvdG9fc2xpZGVyX2lubmVyW2RhdGEtc2xpZGU9JzQnXSAucGhvdG9fY2FyZCwgI25mdC1jYW1wYWlnbiAubmZ0X3Bob3RvX3NsaWRlciAucGhvdG9fc2xpZGVyX2lubmVyW2RhdGEtc2xpZGU9JzUnXSAucGhvdG9fY2FyZCB7XG4gICAgICAgIG9wYWNpdHk6IDAuODsgfVxuICAgICAgI25mdC1jYW1wYWlnbiAubmZ0X3Bob3RvX3NsaWRlciAucGhvdG9fc2xpZGVyX2lubmVyW2RhdGEtc2xpZGU9JzEnXSAuYmx1cl9sYXllciwgI25mdC1jYW1wYWlnbiAubmZ0X3Bob3RvX3NsaWRlciAucGhvdG9fc2xpZGVyX2lubmVyW2RhdGEtc2xpZGU9JzInXSAuYmx1cl9sYXllciwgI25mdC1jYW1wYWlnbiAubmZ0X3Bob3RvX3NsaWRlciAucGhvdG9fc2xpZGVyX2lubmVyW2RhdGEtc2xpZGU9JzMnXSAuYmx1cl9sYXllciwgI25mdC1jYW1wYWlnbiAubmZ0X3Bob3RvX3NsaWRlciAucGhvdG9fc2xpZGVyX2lubmVyW2RhdGEtc2xpZGU9JzQnXSAuYmx1cl9sYXllciwgI25mdC1jYW1wYWlnbiAubmZ0X3Bob3RvX3NsaWRlciAucGhvdG9fc2xpZGVyX2lubmVyW2RhdGEtc2xpZGU9JzUnXSAuYmx1cl9sYXllciB7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMTk2LCAxOTYsIDE5NiwgMC41KTtcbiAgICAgICAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDc1cHgpO1xuICAgICAgICB6LWluZGV4OiA4OyB9XG4gICAgICAjbmZ0LWNhbXBhaWduIC5uZnRfcGhvdG9fc2xpZGVyIC5waG90b19zbGlkZXJfaW5uZXJbZGF0YS1zbGlkZT0nMSddIC5waG90b190ZXh0LCAjbmZ0LWNhbXBhaWduIC5uZnRfcGhvdG9fc2xpZGVyIC5waG90b19zbGlkZXJfaW5uZXJbZGF0YS1zbGlkZT0nMiddIC5waG90b190ZXh0LCAjbmZ0LWNhbXBhaWduIC5uZnRfcGhvdG9fc2xpZGVyIC5waG90b19zbGlkZXJfaW5uZXJbZGF0YS1zbGlkZT0nMyddIC5waG90b190ZXh0LCAjbmZ0LWNhbXBhaWduIC5uZnRfcGhvdG9fc2xpZGVyIC5waG90b19zbGlkZXJfaW5uZXJbZGF0YS1zbGlkZT0nNCddIC5waG90b190ZXh0LCAjbmZ0LWNhbXBhaWduIC5uZnRfcGhvdG9fc2xpZGVyIC5waG90b19zbGlkZXJfaW5uZXJbZGF0YS1zbGlkZT0nNSddIC5waG90b190ZXh0IHtcbiAgICAgICAgb3BhY2l0eTogMDsgfVxuICAgICAgI25mdC1jYW1wYWlnbiAubmZ0X3Bob3RvX3NsaWRlciAucGhvdG9fc2xpZGVyX2lubmVyLnJldmVyc2UgLnBob3RvX3NsaWRlciB7XG4gICAgICAgIG9yZGVyOiAwOyB9XG4gICAgICAjbmZ0LWNhbXBhaWduIC5uZnRfcGhvdG9fc2xpZGVyIC5waG90b19zbGlkZXJfaW5uZXIucmV2ZXJzZSAucGhvdG9fdGV4dCB7XG4gICAgICAgIG9yZGVyOiAxOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk4MHB4KSB7XG4gICAgICAgICAgI25mdC1jYW1wYWlnbiAubmZ0X3Bob3RvX3NsaWRlciAucGhvdG9fc2xpZGVyX2lubmVyLnJldmVyc2UgLnBob3RvX3RleHQge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA3MHB4O1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDsgfSB9XG4gICNuZnQtY2FtcGFpZ24gLm5mdF9zcGFjZXIgLnMge1xuICAgIGhlaWdodDogNTBweDsgfVxuICAjbmZ0LWNhbXBhaWduIC5uZnRfc3BhY2VyIC5saW5lIHtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjI1KTsgfVxuICAjbmZ0LWNhbXBhaWduICNmb290ZXIge1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIG1heC13aWR0aDogMTE0NHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfVxuICAgICNuZnQtY2FtcGFpZ24gI2Zvb3RlciBoMSwgI25mdC1jYW1wYWlnbiAjZm9vdGVyIGgyLCAjbmZ0LWNhbXBhaWduICNmb290ZXIgaDMsICNuZnQtY2FtcGFpZ24gI2Zvb3RlciBoNCwgI25mdC1jYW1wYWlnbiAjZm9vdGVyIGg1LCAjbmZ0LWNhbXBhaWduICNmb290ZXIgYSwgI25mdC1jYW1wYWlnbiAjZm9vdGVyIHAge1xuICAgICAgZm9udC1mYW1pbHk6ICdTb3VyY2UgU2FucyBQcm8nO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgICNuZnQtY2FtcGFpZ24gI2Zvb3RlciAudGV4dCBwLFxuICAgICNuZnQtY2FtcGFpZ24gI2Zvb3RlciAudGV4dCBhIHtcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS40Mzc1cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC43NXJlbTsgfVxuICAjbmZ0LWNhbXBhaWduIC5uZnRfY29udGVudCB7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgbWF4LXdpZHRoOiAxMTQ0cHg7XG4gICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9XG4gICNuZnQtY2FtcGFpZ24gLm5mdF9zZWN0aW9uIHtcbiAgICBtYXJnaW46IDUwcHggMDtcbiAgICBwYWRkaW5nOiA1MHB4IDA7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4yNSk7IH1cbiAgI25mdC1jYW1wYWlnbiAubmZ0X2JnX2ltZyB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgfVxuICAgICNuZnQtY2FtcGFpZ24gLm5mdF9iZ19pbWcgdmlkZW8ge1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTsgfVxuICAgICNuZnQtY2FtcGFpZ24gLm5mdF9iZ19pbWcgI25mdF90ZWFzZXJfY2FyZCB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBib3R0b206IDA7IH1cbiAgI25mdC1jYW1wYWlnbiAubmZ0X25hdl9saW5rcyBhIHtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgbWFyZ2luLWxlZnQ6IDI0cHg7IH1cbiAgI25mdC1jYW1wYWlnbiAubmZ0X3RleHQgcCBhLFxuICAjbmZ0LWNhbXBhaWduIC50ZXh0IGxpIGEsXG4gICNuZnQtY2FtcGFpZ24gLnRleHQgcCBhLFxuICAjbmZ0LWNhbXBhaWduIC50ZXh0IHAgc3Bhbi5saW5rLFxuICAjbmZ0LWNhbXBhaWduIHNwYW4ub3BlbmNoYXQsXG4gICNuZnQtY2FtcGFpZ24gc3Bhbi5vcGVuc29waGlhIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgY29sb3I6ICMwMDA7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgI25mdC1jYW1wYWlnbiAubmZ0X3RleHQgcCBhOjphZnRlciwgI25mdC1jYW1wYWlnbiAubmZ0X3RleHQgcCBhOjpiZWZvcmUsXG4gICAgI25mdC1jYW1wYWlnbiAudGV4dCBsaSBhOjphZnRlcixcbiAgICAjbmZ0LWNhbXBhaWduIC50ZXh0IGxpIGE6OmJlZm9yZSxcbiAgICAjbmZ0LWNhbXBhaWduIC50ZXh0IHAgYTo6YWZ0ZXIsXG4gICAgI25mdC1jYW1wYWlnbiAudGV4dCBwIGE6OmJlZm9yZSxcbiAgICAjbmZ0LWNhbXBhaWduIC50ZXh0IHAgc3Bhbi5saW5rOjphZnRlcixcbiAgICAjbmZ0LWNhbXBhaWduIC50ZXh0IHAgc3Bhbi5saW5rOjpiZWZvcmUsXG4gICAgI25mdC1jYW1wYWlnbiBzcGFuLm9wZW5jaGF0OjphZnRlcixcbiAgICAjbmZ0LWNhbXBhaWduIHNwYW4ub3BlbmNoYXQ6OmJlZm9yZSxcbiAgICAjbmZ0LWNhbXBhaWduIHNwYW4ub3BlbnNvcGhpYTo6YWZ0ZXIsXG4gICAgI25mdC1jYW1wYWlnbiBzcGFuLm9wZW5zb3BoaWE6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMnB4O1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbGVmdDogMDsgfVxuICAgICNuZnQtY2FtcGFpZ24gLm5mdF90ZXh0IHAgYTo6YmVmb3JlLFxuICAgICNuZnQtY2FtcGFpZ24gLnRleHQgbGkgYTo6YmVmb3JlLFxuICAgICNuZnQtY2FtcGFpZ24gLnRleHQgcCBhOjpiZWZvcmUsXG4gICAgI25mdC1jYW1wYWlnbiAudGV4dCBwIHNwYW4ubGluazo6YmVmb3JlLFxuICAgICNuZnQtY2FtcGFpZ24gc3Bhbi5vcGVuY2hhdDo6YmVmb3JlLFxuICAgICNuZnQtY2FtcGFpZ24gc3Bhbi5vcGVuc29waGlhOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2FiYWJhYjtcbiAgICAgIG1peC1ibGVuZC1tb2RlOiBtdWx0aXBseTsgfVxuICAgICNuZnQtY2FtcGFpZ24gLm5mdF90ZXh0IHAgYTo6YWZ0ZXIsXG4gICAgI25mdC1jYW1wYWlnbiAudGV4dCBsaSBhOjphZnRlcixcbiAgICAjbmZ0LWNhbXBhaWduIC50ZXh0IHAgYTo6YWZ0ZXIsXG4gICAgI25mdC1jYW1wYWlnbiAudGV4dCBwIHNwYW4ubGluazo6YWZ0ZXIsXG4gICAgI25mdC1jYW1wYWlnbiBzcGFuLm9wZW5jaGF0OjphZnRlcixcbiAgICAjbmZ0LWNhbXBhaWduIHNwYW4ub3BlbnNvcGhpYTo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGVYKDApO1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgZWFzZTsgfVxuICAgICNuZnQtY2FtcGFpZ24gLm5mdF90ZXh0IHAgYTpob3Zlcjo6YWZ0ZXIsXG4gICAgI25mdC1jYW1wYWlnbiAudGV4dCBsaSBhOmhvdmVyOjphZnRlcixcbiAgICAjbmZ0LWNhbXBhaWduIC50ZXh0IHAgYTpob3Zlcjo6YWZ0ZXIsXG4gICAgI25mdC1jYW1wYWlnbiAudGV4dCBwIHNwYW4ubGluazpob3Zlcjo6YWZ0ZXIsXG4gICAgI25mdC1jYW1wYWlnbiBzcGFuLm9wZW5jaGF0OmhvdmVyOjphZnRlcixcbiAgICAjbmZ0LWNhbXBhaWduIHNwYW4ub3BlbnNvcGhpYTpob3Zlcjo6YWZ0ZXIge1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZVgoMSk7IH1cbiAgI25mdC1jYW1wYWlnbiBoMSwgI25mdC1jYW1wYWlnbiAuaDEge1xuICAgIGZvbnQtd2VpZ2h0OiA5MDA7XG4gICAgZm9udC1zaXplOiA2NHB4OyB9XG4gICNuZnQtY2FtcGFpZ24gaDIsICNuZnQtY2FtcGFpZ24gLmxlYWQge1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1zaXplOiA0MnB4OyB9XG4gICNuZnQtY2FtcGFpZ24gaDMsICNuZnQtY2FtcGFpZ24gLmgzIHtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtc2l6ZTogMzJweDsgfVxuICAjbmZ0LWNhbXBhaWduIGg0LCAjbmZ0LWNhbXBhaWduIC5oNCwgI25mdC1jYW1wYWlnbiAudGl0bGUge1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1zaXplOiAyNHB4OyB9XG4gICNuZnQtY2FtcGFpZ24gaDUsICNuZnQtY2FtcGFpZ24gLmg1IHtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGZvbnQtc2l6ZTogMjJweDsgfVxuICAjbmZ0LWNhbXBhaWduIHN0cm9uZyB7XG4gICAgZm9udC13ZWlnaHQ6IDkwMDsgfVxuICAjbmZ0LWNhbXBhaWduIC5uZnRfYnV0dG9uX2xpbmsge1xuICAgIHBhZGRpbmc6IDdweCAxNnB4O1xuICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgIGJvcmRlci1yYWRpdXM6IDI0cHg7XG4gICAgY29sb3I6IGJsYWNrOyB9XG4gICNuZnQtY2FtcGFpZ24gLm5mdF9idXR0b24ge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgYm9yZGVyLXJhZGl1czogMjRweDsgfVxuICAgICNuZnQtY2FtcGFpZ24gLm5mdF9idXR0b24gYSB7XG4gICAgICBwYWRkaW5nOiA3cHggMTZweDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgY29sb3I6IGJsYWNrOyB9XG4gICAgICAjbmZ0LWNhbXBhaWduIC5uZnRfYnV0dG9uIGEgc3BhbiB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogOHB4O1xuICAgICAgICBmb250LXdlaWdodDogNjAwOyB9XG4gICNuZnQtY2FtcGFpZ24gLm5mdF9idXR0b25fbGluayxcbiAgI25mdC1jYW1wYWlnbiAubmZ0X2J1dHRvbiBhIHNwYW4sXG4gICNuZnQtY2FtcGFpZ24gLm5mdF9idXR0b24ge1xuICAgIGZvbnQtc2l6ZTogMTZweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ1MHB4KSB7XG4gICAgICAjbmZ0LWNhbXBhaWduIC5uZnRfYnV0dG9uX2xpbmssXG4gICAgICAjbmZ0LWNhbXBhaWduIC5uZnRfYnV0dG9uIGEgc3BhbixcbiAgICAgICNuZnQtY2FtcGFpZ24gLm5mdF9idXR0b24ge1xuICAgICAgICBmb250LXNpemU6IDE4cHg7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk4MHB4KSB7XG4gICAgICAjbmZ0LWNhbXBhaWduIC5uZnRfYnV0dG9uX2xpbmssXG4gICAgICAjbmZ0LWNhbXBhaWduIC5uZnRfYnV0dG9uIGEgc3BhbixcbiAgICAgICNuZnQtY2FtcGFpZ24gLm5mdF9idXR0b24ge1xuICAgICAgICBmb250LXNpemU6IDIwcHg7IH0gfVxuICAjbmZ0LWNhbXBhaWduIC5uZnRfbmF2X2J0bl93cmFwcGVyIHtcbiAgICBtYXJnaW4tbGVmdDogMjRweDsgfVxuICAgICNuZnQtY2FtcGFpZ24gLm5mdF9uYXZfYnRuX3dyYXBwZXI6aG92ZXIge1xuICAgICAgb3V0bGluZTogMXB4IHNvbGlkIHdoaXRlOyB9XG4gICAgI25mdC1jYW1wYWlnbiAubmZ0X25hdl9idG5fd3JhcHBlciBhLm5mdF9uYXZfYnRuIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICBwYWRkaW5nOiA0cHggMTJweDtcbiAgICAgIGNvbG9yOiB3aGl0ZTsgfVxuICAjbmZ0LWNhbXBhaWduIC50ZWFzZXJfdGl0bGUge1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1zaXplOiA0MnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjE7XG4gICAgY29sb3I6IGJsYWNrOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTIwMHB4KSBhbmQgKG1pbi1oZWlnaHQ6IDkwMHB4KSB7XG4gICAgICAjbmZ0LWNhbXBhaWduIC50ZWFzZXJfdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDJlbTsgfSB9XG4gICNuZnQtY2FtcGFpZ24gLnBob3RvX2NhcmQgKixcbiAgI25mdC1jYW1wYWlnbiAubmZ0X3RlYXNlcl9jYXJkX2Nyb3AgKiB7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7IH1cbiAgI25mdC1jYW1wYWlnbiAucGhvdG9fY2FyZCAudGVhc2VyX3RpdGxlLFxuICAjbmZ0LWNhbXBhaWduIC5uZnRfdGVhc2VyX2NhcmRfY3JvcCAudGVhc2VyX3RpdGxlIHtcbiAgICBmb250LXNpemU6IDI0cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTZweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ1MHB4KSBhbmQgKG1pbi1oZWlnaHQ6IDcwMHB4KSB7XG4gICAgICAjbmZ0LWNhbXBhaWduIC5waG90b19jYXJkIC50ZWFzZXJfdGl0bGUsXG4gICAgICAjbmZ0LWNhbXBhaWduIC5uZnRfdGVhc2VyX2NhcmRfY3JvcCAudGVhc2VyX3RpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAzNnB4OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5ODBweCkgYW5kIChtaW4taGVpZ2h0OiA5MDBweCkge1xuICAgICAgI25mdC1jYW1wYWlnbiAucGhvdG9fY2FyZCAudGVhc2VyX3RpdGxlLFxuICAgICAgI25mdC1jYW1wYWlnbiAubmZ0X3RlYXNlcl9jYXJkX2Nyb3AgLnRlYXNlcl90aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogNDJweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMThweDsgfSB9XG4gICNuZnQtY2FtcGFpZ24gLm5mdF90ZXh0IHAsXG4gICNuZnQtY2FtcGFpZ24gLm5mdF90ZXh0IHtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgY29sb3I6IGJsYWNrOyB9XG4gICNuZnQtY2FtcGFpZ24gLmRyb3AtY291bnQge1xuICAgIGZvbnQtd2VpZ2h0OiAyMDA7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIGZvbnQtc2l6ZTogMTRweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ1MHB4KSB7XG4gICAgICAjbmZ0LWNhbXBhaWduIC5kcm9wLWNvdW50IHtcbiAgICAgICAgZm9udC1zaXplOiAyMHB4OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5ODBweCkge1xuICAgICAgI25mdC1jYW1wYWlnbiAuZHJvcC1jb3VudCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjRweDsgfSB9XG4gICNuZnQtY2FtcGFpZ24gLmRyb3Atc21hbGwge1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIGZvbnQtc2l6ZTogMTRweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk4MHB4KSB7XG4gICAgICAjbmZ0LWNhbXBhaWduIC5kcm9wLXNtYWxsIHtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4OyB9IH1cbiAgI25mdC1jYW1wYWlnbiAuZHJvcC1iaWcge1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGNvbG9yOiB3aGl0ZTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ1MHB4KSB7XG4gICAgICAjbmZ0LWNhbXBhaWduIC5kcm9wLWJpZyB7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTgwcHgpIHtcbiAgICAgICNuZnQtY2FtcGFpZ24gLmRyb3AtYmlnIHtcbiAgICAgICAgZm9udC1zaXplOiAyMHB4OyB9IH1cbiAgI25mdC1jYW1wYWlnbiA6OnNlbGVjdGlvbiB7XG4gICAgYmFja2dyb3VuZDogIzAwMDAwMDsgfVxuICAjbmZ0LWNhbXBhaWduICNsZW1hLWNvbnRhaW5lci5sZW1hLWNvbnRhaW5lciAubGVtYS13cmFwcGVyIC5sZW1hLWFjY29yZGlvbi1pdGVtIC5sZW1hLWFjY29yZGlvbi1oZWFkZXIsXG4gICNuZnQtY2FtcGFpZ24gI2xlbWEtY29udGFpbmVyLmxlbWEtY29udGFpbmVyIC5sZW1hLXdyYXBwZXIgLmxlbWEtYWNjb3JkaW9uLWl0ZW0gLmxlbWEtYWNjb3JkaW9uLWNvbnRlbnQge1xuICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNjYmNiY2I7IH1cbiAgICAjbmZ0LWNhbXBhaWduICNsZW1hLWNvbnRhaW5lci5sZW1hLWNvbnRhaW5lciAubGVtYS13cmFwcGVyIC5sZW1hLWFjY29yZGlvbi1pdGVtIC5sZW1hLWFjY29yZGlvbi1oZWFkZXIgLmxlbWEtYWNjb3JkaW9uLWl0ZW0tdGl0bGUsXG4gICAgI25mdC1jYW1wYWlnbiAjbGVtYS1jb250YWluZXIubGVtYS1jb250YWluZXIgLmxlbWEtd3JhcHBlciAubGVtYS1hY2NvcmRpb24taXRlbSAubGVtYS1hY2NvcmRpb24tY29udGVudCAubGVtYS1hY2NvcmRpb24taXRlbS10aXRsZSB7XG4gICAgICBjb2xvcjogYmxhY2s7IH1cbiAgICAgICNuZnQtY2FtcGFpZ24gI2xlbWEtY29udGFpbmVyLmxlbWEtY29udGFpbmVyIC5sZW1hLXdyYXBwZXIgLmxlbWEtYWNjb3JkaW9uLWl0ZW0gLmxlbWEtYWNjb3JkaW9uLWhlYWRlciAubGVtYS1hY2NvcmRpb24taXRlbS10aXRsZTpiZWZvcmUsXG4gICAgICAjbmZ0LWNhbXBhaWduICNsZW1hLWNvbnRhaW5lci5sZW1hLWNvbnRhaW5lciAubGVtYS13cmFwcGVyIC5sZW1hLWFjY29yZGlvbi1pdGVtIC5sZW1hLWFjY29yZGlvbi1jb250ZW50IC5sZW1hLWFjY29yZGlvbi1pdGVtLXRpdGxlOmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQ6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA1Ny4xIDI4LjYnJTNlJTNjcGF0aCBkPSdNLjQgMmwyNy40IDI2LjJjLjUuNCAxLjIuNCAxLjYgMEw1Ni44IDJjLjUtLjUuNS0xLjIgMC0xLjctLjItLjItLjUtLjMtLjgtLjNoLTQuOGMtLjMgMC0uNi4xLS44LjNMMjguNiAyMSA2LjguM0M2LjUuMSA2LjMgMCA2IDBIMS4yQy41IDAgMCAuNSAwIDEuMmMwIC4zLjEuNi40Ljh6JyBmaWxsPSdibGFjaycvJTNlJTNjL3N2ZyUzZVwiKSBuby1yZXBlYXQgIWltcG9ydGFudDsgfVxuICAjbmZ0LWNhbXBhaWduICNsZW1hLWNvbnRhaW5lci5sZW1hLWNvbnRhaW5lciAubGVtYS13cmFwcGVyIC5sZW1hLWFjY29yZGlvbi1pdGVtLmFjY29yZGlvbi1vcGVuIC5sZW1hLWFjY29yZGlvbi1oZWFkZXIgcCxcbiAgI25mdC1jYW1wYWlnbiAjbGVtYS1jb250YWluZXIubGVtYS1jb250YWluZXIgLmxlbWEtd3JhcHBlciAubGVtYS1hY2NvcmRpb24taXRlbS5hY2NvcmRpb24tb3BlbiAubGVtYS1hY2NvcmRpb24tY29udGVudCBwIHtcbiAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAjbmZ0LWNhbXBhaWduICNsZW1hLWNvbnRhaW5lci5sZW1hLWNvbnRhaW5lciAubGVtYS13cmFwcGVyIC5sZW1hLWFjY29yZGlvbi1pdGVtLmFjY29yZGlvbi1vcGVuIC5sZW1hLWFjY29yZGlvbi1oZWFkZXIgLmxlbWEtYWNjb3JkaW9uLWl0ZW0tdGl0bGUsXG4gICNuZnQtY2FtcGFpZ24gI2xlbWEtY29udGFpbmVyLmxlbWEtY29udGFpbmVyIC5sZW1hLXdyYXBwZXIgLmxlbWEtYWNjb3JkaW9uLWl0ZW0uYWNjb3JkaW9uLW9wZW4gLmxlbWEtYWNjb3JkaW9uLWNvbnRlbnQgLmxlbWEtYWNjb3JkaW9uLWl0ZW0tdGl0bGUge1xuICAgIGNvbG9yOiB3aGl0ZTsgfVxuICAjbmZ0LWNhbXBhaWduICNsZW1hLWNvbnRhaW5lci5sZW1hLWNvbnRhaW5lciAubGVtYS13cmFwcGVyIC5sZW1hLWFjY29yZGlvbi1pdGVtLmFjY29yZGlvbi1vcGVuIC5sZW1hLWFjY29yZGlvbi1oZWFkZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDAwMDA7IH1cbiAgI25mdC1jYW1wYWlnbiAjbGVtYS1jb250YWluZXIubGVtYS1jb250YWluZXIgLmxlbWEtd3JhcHBlciAubGVtYS1zdGVwLWhlYWRlciAubGVtYS1zdGVwLWhlYWRlci10ZXh0IHtcbiAgICBmb250LXNpemU6IDJyZW07XG4gICAgY29sb3I6ICMwMDAwMDA7XG4gICAgbGluZS1oZWlnaHQ6IDIuNHJlbTtcbiAgICBmb250LWZhbWlseTogTmV1ZVNhbnNQcm8tU2VtaUJvbGQsIEhlbHZldGl2YSwgc2Fucy1zZXJpZjtcbiAgICBmb250LXdlaWdodDogbm9ybWFsOyB9XG4gICNuZnQtY2FtcGFpZ24gI2xlbWEtY29udGFpbmVyLmxlbWEtY29udGFpbmVyIC5sZW1hLXdyYXBwZXIgLmxlbWEtc3RlcC1oZWFkZXIgLmxlbWEtc3RlcC1udW1iZXIgc3BhbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDsgfVxuICAjbmZ0LWNhbXBhaWduICNsZW1hLWNvbnRhaW5lci5sZW1hLWNvbnRhaW5lciAubGVtYS13cmFwcGVyIGlucHV0W3R5cGU9XCJyYWRpb1wiXSArIGxhYmVsOmFmdGVyLFxuICAjbmZ0LWNhbXBhaWduICNsZW1hLWNvbnRhaW5lci5sZW1hLWNvbnRhaW5lciAubGVtYS13cmFwcGVyIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSArIGxhYmVsOmFmdGVyIHtcbiAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAjbmZ0LWNhbXBhaWduICNsZW1hLWNvbnRhaW5lci5sZW1hLWNvbnRhaW5lciAubGVtYS13cmFwcGVyIGlucHV0W3R5cGU9XCJyYWRpb1wiXSArIGxhYmVsOmJlZm9yZSxcbiAgI25mdC1jYW1wYWlnbiAjbGVtYS1jb250YWluZXIubGVtYS1jb250YWluZXIgLmxlbWEtd3JhcHBlciBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0gKyBsYWJlbDpiZWZvcmUge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICMwMDAwMDA7IH1cbiAgI25mdC1jYW1wYWlnbiAjbGVtYS1jb250YWluZXIubGVtYS1jb250YWluZXIgLmxlbWEtd3JhcHBlciAubGVtYS1idXR0b24ge1xuICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICMwMDAwMDA7IH1cbiAgI25mdC1jYW1wYWlnbiAjbGVtYS1jb250YWluZXIubGVtYS1jb250YWluZXIgLmxlbWEtd3JhcHBlciAubGVtYS1hbW91bnQtYm94LmxlbWEtYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kOiAjMDAwMDAwOyB9XG4gICNuZnQtY2FtcGFpZ24uZWRpdG1vZGUgLm5mdF9iZ19pbWcge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAjbmZ0LWNhbXBhaWduLmVkaXRtb2RlIC5uZnRfcGhvdG9fc2xpZGVyIHtcbiAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICNuZnQtY2FtcGFpZ24uZWRpdG1vZGUgLm5mdF9waG90b19zbGlkZXIgLnBob3RvX3NsaWRlcl9pbm5lciB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogY2FsYyg1ODBweCArIDExMHB4KTtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvOyB9XG4gICAgICAjbmZ0LWNhbXBhaWduLmVkaXRtb2RlIC5uZnRfcGhvdG9fc2xpZGVyIC5waG90b19zbGlkZXJfaW5uZXIgLnBob3RvX3RleHQge1xuICAgICAgICBvcGFjaXR5OiAxICFpbXBvcnRhbnQ7XG4gICAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgICAjbmZ0LWNhbXBhaWduLmVkaXRtb2RlIC5uZnRfcGhvdG9fc2xpZGVyIC5waG90b19zbGlkZXJfaW5uZXIgLnBob3RvX3NsaWRlciB7XG4gICAgICAgIGZsb2F0OiByaWdodDsgfVxuICAjbmZ0LWNhbXBhaWduLmVkaXRtb2RlIC5kb3Rfc3BhY2VyIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gICNuZnQtY2FtcGFpZ24uZWRpdG1vZGUgLmRvdF93cmFwcGVyX3Bvc2l0aW9uIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gICNuZnQtY2FtcGFpZ24uZWRpdG1vZGUgLmRvdF9wb3NpdGlvbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbiNuYXZpZ2F0aW9uICNuZnRfY3RhX2J0biB7XG4gIGRpc3BsYXk6IGZsZXg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjRlbSkge1xuICAgICNuYXZpZ2F0aW9uICNuZnRfY3RhX2J0biB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAwLjkzNzVyZW07XG4gICAgICBib3R0b206IDAuNzVyZW07IH0gfVxuICAjbmF2aWdhdGlvbiAjbmZ0X2N0YV9idG4gLmRvbmF0ZS1idXR0b24ge1xuICAgIG1hcmdpbjogYXV0byAwO1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg4OS44ZGVnLCAjM0E1Mzc2IDAuMTUlLCAjQTY5MDhEIDk5LjgxJSk7IH1cbiAgICAjbmF2aWdhdGlvbiAjbmZ0X2N0YV9idG4gLmRvbmF0ZS1idXR0b24gc3BhbiB7XG4gICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS4ycmVtO1xuICAgICAgZm9udC1mYW1pbHk6IE5ldWVTYW5zUHJvLVNlbWlCb2xkLCBIZWx2ZXRpdmEsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuOXB4OyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgI25hdmlnYXRpb24ge1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgICAjbmF2aWdhdGlvbiB1bC5sZXZlbC0xIHtcbiAgICAgIHdpZHRoOiB1bnNldDsgfSB9XG5cbmJvZHkjbmZ0LWNhbXBhaWduLnNvcGhpYSAjbmZ0X3RlYXNlciAudGVhc2VyX3RpdGxlIHtcbiAgdGV4dC1zaGFkb3c6IHJlZCAwIDAgNDBweDsgfVxuXG5ib2R5I25mdC1jYW1wYWlnbi5zb3BoaWEgI25mdF90ZWFzZXIgLm5mdF9iZ19pbWcge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiAyMHB4IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyM3B4KSB7XG4gICAgYm9keSNuZnQtY2FtcGFpZ24uc29waGlhICNuZnRfdGVhc2VyIC5uZnRfYmdfaW1nIHtcbiAgICAgIHBhZGRpbmc6IDgwcHggMCAyMHB4IDA7IH0gfVxuICBAbWVkaWEgKG9yaWVudGF0aW9uOiBwb3J0cmFpdCkgYW5kIChtYXgtd2lkdGg6IDEwMjNweCkge1xuICAgIGJvZHkjbmZ0LWNhbXBhaWduLnNvcGhpYSAjbmZ0X3RlYXNlciAubmZ0X2JnX2ltZyB7XG4gICAgICBwYWRkaW5nOiAyMHB4OyB9IH1cblxuYm9keSNuZnQtY2FtcGFpZ24uc29waGlhIC5uZnRfYmdfaW1nLmdyZWVuIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzM5QUE0NzsgfVxuXG5ib2R5I25mdC1jYW1wYWlnbi5zb3BoaWEgLm5mdF9iZ19pbWcuYmx1ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2OUEzQTk7IH1cblxuYm9keSNuZnQtY2FtcGFpZ24uc29waGlhIC5uZnRfYmdfaW1nLmRhcmtibHVlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwNkY2OTsgfVxuXG5ib2R5I25mdC1jYW1wYWlnbi5zb3BoaWEgLm5mdF9iZ19pbWcuYnJvd24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjQjQ4MzhBOyB9XG5cbnNwYW4ub3BlbmNoYXQsIHNwYW4ub3BlbnNvcGhpYSB7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuXG5zcGFuLnZpZGVvLWNpcmNsZSB7XG4gIHdpZHRoOiBhdXRvO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBtYXgtaGVpZ2h0OiAxMDAlO1xuICBhc3BlY3QtcmF0aW86IDE7IH1cblxuQHVzZSAnc2FzczptYXRoJztcbiNwb3B1cCB7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgei1pbmRleDogOTk5OTk5OTk5OTk7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAuNXMsIHRyYW5zZm9ybSAuNXM7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuNyk7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDAwMDBCQjsgfVxuICAjcG9wdXAudmlzaWJsZSB7XG4gICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9XG4gICNwb3B1cCAub3ZlcmxheS13cmFwcGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuNXM7IH1cbiAgICAjcG9wdXAgLm92ZXJsYXktd3JhcHBlciAub3ZlcmxheS1jbG9zZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogMjBweDtcbiAgICAgIHRvcDogMjBweDtcbiAgICAgIHotaW5kZXg6IDk5O1xuICAgICAgYm9yZGVyOiBub25lOyB9XG4gICAgICAjcG9wdXAgLm92ZXJsYXktd3JhcHBlciAub3ZlcmxheS1jbG9zZSBzdmcge1xuICAgICAgICB3aWR0aDogMzcuN3B4O1xuICAgICAgICBoZWlnaHQ6IDM3LjdweDsgfVxuICAgICAgICAjcG9wdXAgLm92ZXJsYXktd3JhcHBlciAub3ZlcmxheS1jbG9zZSBzdmcgLm92LWNsb3NlIHtcbiAgICAgICAgICBzdHJva2U6ICNmZmZmZmY7IH1cbiAgI3BvcHVwIC5vdmVybGF5LXNjcm9sbCB7XG4gICAgd2lkdGg6IDcwMHB4O1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IGF1dG87XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgb3ZlcnNjcm9sbC1iZWhhdmlvci1ibG9jazogY29udGFpbjsgfVxuICAjcG9wdXAgLm92ZXJsYXktY29udGVudCB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG4gICAgI3BvcHVwIC5vdmVybGF5LWNvbnRlbnQgPiBpZnJhbWUge1xuICAgICAgbWluLWhlaWdodDogOTB2aDsgfVxuICAgICNwb3B1cCAub3ZlcmxheS1jb250ZW50LmNvbnRlbnQtd2lkdGgge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgcGFkZGluZy1yaWdodDogMDsgfVxuXG4uY29tcG9uZW50LWh0bWwgLnJudy13aWRnZXQtY29udGFpbmVyIHtcbiAgLS10YW1hcm8tYmxvY2staGVhZGVyLXBvc2l0aW9uLWJnLWNvbG9yOiAjMDA2ZjY5O1xuICAtLXRhbWFyby1iZy1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgLmNvbXBvbmVudC1odG1sIC5ybnctd2lkZ2V0LWNvbnRhaW5lciAud2lkZ2V0LWJsb2NrLWhlYWRlciBoMiAucG9zaXRpb24ge1xuICAgIGZvbnQtc2l6ZTogMTdweCAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiAyN3B4ICFpbXBvcnRhbnQ7XG4gICAgbGluZS1oZWlnaHQ6IDI3cHggIWltcG9ydGFudDtcbiAgICBoZWlnaHQ6IDI3cHggIWltcG9ydGFudDtcbiAgICBtYXJnaW4tdG9wOiAycHggIWltcG9ydGFudDsgfVxuICAuY29tcG9uZW50LWh0bWwgLnJudy13aWRnZXQtY29udGFpbmVyIC53aWRnZXQtYmxvY2staGVhZGVyIGgyIC50ZXh0IHtcbiAgICBtYXJnaW4tbGVmdDogMC41cmVtICFpbXBvcnRhbnQ7XG4gICAgZm9udC1zaXplOiAyLjVyZW0gIWltcG9ydGFudDtcbiAgICBjb2xvcjogIzAwNmY2OSAhaW1wb3J0YW50O1xuICAgIGxpbmUtaGVpZ2h0OiAzcmVtICFpbXBvcnRhbnQ7XG4gICAgZm9udC1mYW1pbHk6IE5ldWVTYW5zUHJvLVNlbWlCb2xkLCBIZWx2ZXRpdmEsIHNhbnMtc2VyaWYgIWltcG9ydGFudDtcbiAgICBmb250LXdlaWdodDogNDAwICFpbXBvcnRhbnQ7IH1cbiAgLmNvbXBvbmVudC1odG1sIC5ybnctd2lkZ2V0LWNvbnRhaW5lciAud2lkZ2V0LWJsb2NrLWNvbnRlbnQgLnBheW1lbnQtYW1vdW50cyAuYW1vdW50cyAubGFiZWwtcmFkaW8tYmxvY2sge1xuICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveCAhaW1wb3J0YW50O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3ggIWltcG9ydGFudDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICB3aWR0aDogOTBweCAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogOTBweCAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQ6ICNmZmYgIWltcG9ydGFudDtcbiAgICBib3JkZXI6ICNjY2MgMXB4IHNvbGlkICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMTBweCAhaW1wb3J0YW50O1xuICAgIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAyMHB4ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweCAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAjNzc3ICFpbXBvcnRhbnQ7XG4gICAgY3Vyc29yOiBwb2ludGVyICFpbXBvcnRhbnQ7IH1cbiAgICAuY29tcG9uZW50LWh0bWwgLnJudy13aWRnZXQtY29udGFpbmVyIC53aWRnZXQtYmxvY2stY29udGVudCAucGF5bWVudC1hbW91bnRzIC5hbW91bnRzIC5sYWJlbC1yYWRpby1ibG9jay5pbnB1dC1jaGVja2VkIHtcbiAgICAgIGNvbG9yOiAjZmZmZmZmICFpbXBvcnRhbnQ7XG4gICAgICBiYWNrZ3JvdW5kOiAjMDA2RjY5ICFpbXBvcnRhbnQ7XG4gICAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDsgfVxuICAgICAgLmNvbXBvbmVudC1odG1sIC5ybnctd2lkZ2V0LWNvbnRhaW5lciAud2lkZ2V0LWJsb2NrLWNvbnRlbnQgLnBheW1lbnQtYW1vdW50cyAuYW1vdW50cyAubGFiZWwtcmFkaW8tYmxvY2suaW5wdXQtY2hlY2tlZCAuY29kZSxcbiAgICAgIC5jb21wb25lbnQtaHRtbCAucm53LXdpZGdldC1jb250YWluZXIgLndpZGdldC1ibG9jay1jb250ZW50IC5wYXltZW50LWFtb3VudHMgLmFtb3VudHMgLmxhYmVsLXJhZGlvLWJsb2NrLmlucHV0LWNoZWNrZWQgLnZhbHVlIHtcbiAgICAgICAgY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7IH1cbiAgICAuY29tcG9uZW50LWh0bWwgLnJudy13aWRnZXQtY29udGFpbmVyIC53aWRnZXQtYmxvY2stY29udGVudCAucGF5bWVudC1hbW91bnRzIC5hbW91bnRzIC5sYWJlbC1yYWRpby1ibG9jayAubWFpbiB7XG4gICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG4gICAgICAuY29tcG9uZW50LWh0bWwgLnJudy13aWRnZXQtY29udGFpbmVyIC53aWRnZXQtYmxvY2stY29udGVudCAucGF5bWVudC1hbW91bnRzIC5hbW91bnRzIC5sYWJlbC1yYWRpby1ibG9jayAubWFpbiAuaW5wdXQtcmFkaW8sXG4gICAgICAuY29tcG9uZW50LWh0bWwgLnJudy13aWRnZXQtY29udGFpbmVyIC53aWRnZXQtYmxvY2stY29udGVudCAucGF5bWVudC1hbW91bnRzIC5hbW91bnRzIC5sYWJlbC1yYWRpby1ibG9jayAubWFpbiAubWQtY2hlY2thYmxlLWljb24td3JhcHBlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICAgICAgLmNvbXBvbmVudC1odG1sIC5ybnctd2lkZ2V0LWNvbnRhaW5lciAud2lkZ2V0LWJsb2NrLWNvbnRlbnQgLnBheW1lbnQtYW1vdW50cyAuYW1vdW50cyAubGFiZWwtcmFkaW8tYmxvY2sgLm1haW4gLmNvZGUge1xuICAgICAgICBmb250LXNpemU6IDEwcHggIWltcG9ydGFudDtcbiAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMnB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxMnB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWYgIWltcG9ydGFudDsgfVxuICAgICAgLmNvbXBvbmVudC1odG1sIC5ybnctd2lkZ2V0LWNvbnRhaW5lciAud2lkZ2V0LWJsb2NrLWNvbnRlbnQgLnBheW1lbnQtYW1vdW50cyAuYW1vdW50cyAubGFiZWwtcmFkaW8tYmxvY2sgLm1haW4gLnZhbHVlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICAgICAgZm9udC1zaXplOiAzNXB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50O1xuICAgICAgICBsaW5lLWhlaWdodDogNDJweCAhaW1wb3J0YW50O1xuICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWYgIWltcG9ydGFudDsgfVxuICAgICAgICAuY29tcG9uZW50LWh0bWwgLnJudy13aWRnZXQtY29udGFpbmVyIC53aWRnZXQtYmxvY2stY29udGVudCAucGF5bWVudC1hbW91bnRzIC5hbW91bnRzIC5sYWJlbC1yYWRpby1ibG9jayAubWFpbiAudmFsdWUgLmZvcm0tYmxvY2sge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50OyB9XG4gICAgICAgICAgLmNvbXBvbmVudC1odG1sIC5ybnctd2lkZ2V0LWNvbnRhaW5lciAud2lkZ2V0LWJsb2NrLWNvbnRlbnQgLnBheW1lbnQtYW1vdW50cyAuYW1vdW50cyAubGFiZWwtcmFkaW8tYmxvY2sgLm1haW4gLnZhbHVlIC5mb3JtLWJsb2NrIC5maWVsZC1ibG9jayB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgICAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuICAgICAgICAgICAgLmNvbXBvbmVudC1odG1sIC5ybnctd2lkZ2V0LWNvbnRhaW5lciAud2lkZ2V0LWJsb2NrLWNvbnRlbnQgLnBheW1lbnQtYW1vdW50cyAuYW1vdW50cyAubGFiZWwtcmFkaW8tYmxvY2sgLm1haW4gLnZhbHVlIC5mb3JtLWJsb2NrIC5maWVsZC1ibG9jayBpbnB1dFt0eXBlPXRleHRdIHtcbiAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgd2lkdGg6IDNjaDtcbiAgICAgICAgICAgICAgcGFkZGluZzogMHB4ICFpbXBvcnRhbnQ7IH1cbiAgICAgICAgICAgICAgLmNvbXBvbmVudC1odG1sIC5ybnctd2lkZ2V0LWNvbnRhaW5lciAud2lkZ2V0LWJsb2NrLWNvbnRlbnQgLnBheW1lbnQtYW1vdW50cyAuYW1vdW50cyAubGFiZWwtcmFkaW8tYmxvY2sgLm1haW4gLnZhbHVlIC5mb3JtLWJsb2NrIC5maWVsZC1ibG9jayBpbnB1dFt0eXBlPXRleHRdOjpwbGFjZWhvbGRlciB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIGNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50OyB9XG4gIC5jb21wb25lbnQtaHRtbCAucm53LXdpZGdldC1jb250YWluZXIgLndpZGdldC1ibG9jay1jb250ZW50IC5maWVsZHMtYmxvY2sge1xuICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDsgfVxuICAgIC5jb21wb25lbnQtaHRtbCAucm53LXdpZGdldC1jb250YWluZXIgLndpZGdldC1ibG9jay1jb250ZW50IC5maWVsZHMtYmxvY2sgbGFiZWwge1xuICAgICAgcGFkZGluZy10b3A6IDAgIWltcG9ydGFudDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gICAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgIG1heC13aWR0aDogOTBweCAhaW1wb3J0YW50O1xuICAgICAgZm9udC1zaXplOiAxNXB4ICFpbXBvcnRhbnQ7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDsgfVxuICAuY29tcG9uZW50LWh0bWwgLnJudy13aWRnZXQtY29udGFpbmVyIC53aWRnZXQtYmxvY2stY29udGVudCAuZmllbGQtYmxvY2sgLmljb25zLWJsb2NrIHtcbiAgICByaWdodDogMTBweDtcbiAgICB0b3A6IC0ycHg7IH1cbiAgLmNvbXBvbmVudC1odG1sIC5ybnctd2lkZ2V0LWNvbnRhaW5lciAud2lkZ2V0LWJsb2NrLWNvbnRlbnQgLmZpZWxkLWJsb2NrIHNlbGVjdCxcbiAgLmNvbXBvbmVudC1odG1sIC5ybnctd2lkZ2V0LWNvbnRhaW5lciAud2lkZ2V0LWJsb2NrLWNvbnRlbnQgLmZpZWxkLWJsb2NrIHRleHRhcmVhLFxuICAuY29tcG9uZW50LWh0bWwgLnJudy13aWRnZXQtY29udGFpbmVyIC53aWRnZXQtYmxvY2stY29udGVudCAuZmllbGQtYmxvY2sgaW5wdXRbdHlwZT1cImVtYWlsXCJdLFxuICAuY29tcG9uZW50LWh0bWwgLnJudy13aWRnZXQtY29udGFpbmVyIC53aWRnZXQtYmxvY2stY29udGVudCAuZmllbGQtYmxvY2sgaW5wdXRbdHlwZT1cInRlbFwiXSxcbiAgLmNvbXBvbmVudC1odG1sIC5ybnctd2lkZ2V0LWNvbnRhaW5lciAud2lkZ2V0LWJsb2NrLWNvbnRlbnQgLmZpZWxkLWJsb2NrIGlucHV0W3R5cGU9XCJ0ZXh0XCJdIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZGNkN2Q3ICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICNiNDgzOGEgIWltcG9ydGFudDtcbiAgICBmb250LXNpemU6IDFyZW0gIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWxlZnQ6IC42MjVyZW0gIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAuNjI1cmVtICFpbXBvcnRhbnQ7XG4gICAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94ICFpbXBvcnRhbnQ7XG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94ICFpbXBvcnRhbnQ7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveCAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQ6ICNmZmYgIWltcG9ydGFudDtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogNDZweCAhaW1wb3J0YW50O1xuICAgIGJvcmRlcjogI2NjYyAxcHggc29saWQgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiAwIDIwcHggIWltcG9ydGFudDtcbiAgICBmb250LWZhbWlseTogXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmICFpbXBvcnRhbnQ7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbCAhaW1wb3J0YW50O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjIgIWltcG9ydGFudDtcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZCAhaW1wb3J0YW50O1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDJweCByZ2JhKDEwLCAxMCwgMTAsIDAuMSk7XG4gICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQsIC13ZWJraXQtYm94LXNoYWRvdyAwLjVzOyB9XG4gICAgLmNvbXBvbmVudC1odG1sIC5ybnctd2lkZ2V0LWNvbnRhaW5lciAud2lkZ2V0LWJsb2NrLWNvbnRlbnQgLmZpZWxkLWJsb2NrIHNlbGVjdDo6cGxhY2Vob2xkZXIsXG4gICAgLmNvbXBvbmVudC1odG1sIC5ybnctd2lkZ2V0LWNvbnRhaW5lciAud2lkZ2V0LWJsb2NrLWNvbnRlbnQgLmZpZWxkLWJsb2NrIHRleHRhcmVhOjpwbGFjZWhvbGRlcixcbiAgICAuY29tcG9uZW50LWh0bWwgLnJudy13aWRnZXQtY29udGFpbmVyIC53aWRnZXQtYmxvY2stY29udGVudCAuZmllbGQtYmxvY2sgaW5wdXRbdHlwZT1cImVtYWlsXCJdOjpwbGFjZWhvbGRlcixcbiAgICAuY29tcG9uZW50LWh0bWwgLnJudy13aWRnZXQtY29udGFpbmVyIC53aWRnZXQtYmxvY2stY29udGVudCAuZmllbGQtYmxvY2sgaW5wdXRbdHlwZT1cInRlbFwiXTo6cGxhY2Vob2xkZXIsXG4gICAgLmNvbXBvbmVudC1odG1sIC5ybnctd2lkZ2V0LWNvbnRhaW5lciAud2lkZ2V0LWJsb2NrLWNvbnRlbnQgLmZpZWxkLWJsb2NrIGlucHV0W3R5cGU9XCJ0ZXh0XCJdOjpwbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogIzk5OSAhaW1wb3J0YW50O1xuICAgICAgZm9udC1mYW1pbHk6IFwiSGVsdmV0aWNhIE5ldWVcIixIZWx2ZXRpY2EsQXJpYWwsc2Fucy1zZXJpZiAhaW1wb3J0YW50O1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbCAhaW1wb3J0YW50O1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMiAhaW1wb3J0YW50O1xuICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQgIWltcG9ydGFudDtcbiAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGUgIWltcG9ydGFudDtcbiAgICAgIGZvbnQtc2l6ZTogMThweCAhaW1wb3J0YW50O1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDFweCAhaW1wb3J0YW50OyB9XG4gIC5jb21wb25lbnQtaHRtbCAucm53LXdpZGdldC1jb250YWluZXIgLndpZGdldC1ibG9jay1jb250ZW50IC5maWVsZC1ibG9jayBzZWxlY3Qge1xuICAgIGZvbnQtc2l6ZTogMThweCAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAjMzMzICFpbXBvcnRhbnQ7XG4gICAgbGluZS1oZWlnaHQ6IDIuNCAhaW1wb3J0YW50OyB9XG4gIC5jb21wb25lbnQtaHRtbCAucm53LXdpZGdldC1jb250YWluZXIgLndpZGdldC1ibG9jay1jb250ZW50IC5maWVsZC1ibG9jayB0ZXh0YXJlYSB7XG4gICAgcGFkZGluZy10b3A6IDEwcHggIWltcG9ydGFudDtcbiAgICBoZWlnaHQ6IDQ1cHggIWltcG9ydGFudDsgfVxuICAuY29tcG9uZW50LWh0bWwgLnJudy13aWRnZXQtY29udGFpbmVyIC5wYXltZW50LW1ldGhvZC1mb3JtLmNhcmQgLmZpZWxkLWJsb2NrIGxhYmVsIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgLmNvbXBvbmVudC1odG1sIC5ybnctd2lkZ2V0LWNvbnRhaW5lciAucGF5bWVudC1tZXRob2QtZm9ybS5jYXJkIC5maWVsZC1ibG9jayAuaWNvbnMtYmxvY2sge1xuICAgIHJpZ2h0OiAxMHB4ICFpbXBvcnRhbnQ7XG4gICAgdG9wOiAtNXB4ICFpbXBvcnRhbnQ7IH1cbiAgLmNvbXBvbmVudC1odG1sIC5ybnctd2lkZ2V0LWNvbnRhaW5lciAucGF5bWVudC1zdWJtaXQgLm1haW4ge1xuICAgIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50OyB9XG4gICAgLmNvbXBvbmVudC1odG1sIC5ybnctd2lkZ2V0LWNvbnRhaW5lciAucGF5bWVudC1zdWJtaXQgLm1haW4gYnV0dG9uIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbSAhaW1wb3J0YW50O1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNXJlbSAhaW1wb3J0YW50O1xuICAgICAgZm9udC1mYW1pbHk6IE5ldWVTYW5zUHJvLVNlbWlCb2xkLCBIZWx2ZXRpdmEsIHNhbnMtc2VyaWYgIWltcG9ydGFudDtcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWwgIWltcG9ydGFudDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAwLjlweCAhaW1wb3J0YW50O1xuICAgICAgYm9yZGVyLXJhZGl1czogNXB4ICFpbXBvcnRhbnQ7XG4gICAgICBiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcbiAgICAgIGNvbG9yOiAjMDA2RjY5ICFpbXBvcnRhbnQ7XG4gICAgICBib3JkZXI6IDJweCBzb2xpZCAjMDA2RjY5ICFpbXBvcnRhbnQ7XG4gICAgICB3aWR0aDogNTAlICFpbXBvcnRhbnQ7XG4gICAgICBwYWRkaW5nLXRvcDogMC42MjVyZW0gIWltcG9ydGFudDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwLjM3NXJlbSAhaW1wb3J0YW50O1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgICAgIC5jb21wb25lbnQtaHRtbCAucm53LXdpZGdldC1jb250YWluZXIgLnBheW1lbnQtc3VibWl0IC5tYWluIGJ1dHRvbjpob3ZlciB7XG4gICAgICAgIG9wYWNpdHk6IC44ICFpbXBvcnRhbnQ7IH1cbiAgLmNvbXBvbmVudC1odG1sIC5ybnctd2lkZ2V0LWNvbnRhaW5lciAuZm9vdGVyLWluZm8gYnV0dG9uIC5saW5rIHtcbiAgICBjb2xvcjogIzMzMyAhaW1wb3J0YW50OyB9XG5cbi5mb3VuZGF0aW9uLW1xIHtcbiAgZm9udC1mYW1pbHk6IFwic21hbGw9MGVtJm1lZGl1bT00MGVtJmxhcmdlPTY0ZW0meGxhcmdlPTc1ZW0meHhsYXJnZT05MGVtXCI7IH1cblxuI2xlbWEtY29udGFpbmVyLmxlbWEtY29udGFpbmVyIHtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMS41cmVtO1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udEZhbWlseSk7XG4gIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG4gICNsZW1hLWNvbnRhaW5lci5sZW1hLWNvbnRhaW5lciAubGVtYS13cmFwcGVyIHAge1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS41cmVtO1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250RmFtaWx5KTsgfVxuICAjbGVtYS1jb250YWluZXIubGVtYS1jb250YWluZXIgLmxlbWEtd3JhcHBlciAubGVtYS1hY2NvcmRpb24taXRlbSAubGVtYS1hY2NvcmRpb24taGVhZGVyLFxuICAjbGVtYS1jb250YWluZXIubGVtYS1jb250YWluZXIgLmxlbWEtd3JhcHBlciAubGVtYS1hY2NvcmRpb24taXRlbSAubGVtYS1hY2NvcmRpb24tY29udGVudCB7XG4gICAgY29sb3I6ICMwMDZGNjk7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlNWViZWI7IH1cbiAgICAjbGVtYS1jb250YWluZXIubGVtYS1jb250YWluZXIgLmxlbWEtd3JhcHBlciAubGVtYS1hY2NvcmRpb24taXRlbSAubGVtYS1hY2NvcmRpb24taGVhZGVyIC5sZW1hLWFjY29yZGlvbi1pdGVtLXRpdGxlOmJlZm9yZSxcbiAgICAjbGVtYS1jb250YWluZXIubGVtYS1jb250YWluZXIgLmxlbWEtd3JhcHBlciAubGVtYS1hY2NvcmRpb24taXRlbSAubGVtYS1hY2NvcmRpb24tY29udGVudCAubGVtYS1hY2NvcmRpb24taXRlbS10aXRsZTpiZWZvcmUge1xuICAgICAgdG9wOiAxOXB4O1xuICAgICAgbGVmdDogMjBweDtcbiAgICAgIHdpZHRoOiAxM3B4O1xuICAgICAgaGVpZ2h0OiA4cHg7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZVooLTkwZGVnKTtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzO1xuICAgICAgYmFja2dyb3VuZDogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDU3LjEgMjguNiclM2UlM2NwYXRoIGQ9J00uNCAybDI3LjQgMjYuMmMuNS40IDEuMi40IDEuNiAwTDU2LjggMmMuNS0uNS41LTEuMiAwLTEuNy0uMi0uMi0uNS0uMy0uOC0uM2gtNC44Yy0uMyAwLS42LjEtLjguM0wyOC42IDIxIDYuOC4zQzYuNS4xIDYuMyAwIDYgMEgxLjJDLjUgMCAwIC41IDAgMS4yYzAgLjMuMS42LjQuOHonIGZpbGw9JyUyMzAwNkY2OScvJTNlJTNjL3N2ZyUzZVwiKSBuby1yZXBlYXQgIWltcG9ydGFudDsgfVxuICAjbGVtYS1jb250YWluZXIubGVtYS1jb250YWluZXIgLmxlbWEtd3JhcHBlciAubGVtYS1hY2NvcmRpb24taXRlbS5hY2NvcmRpb24tb3BlbiAubGVtYS1hY2NvcmRpb24taGVhZGVyLFxuICAjbGVtYS1jb250YWluZXIubGVtYS1jb250YWluZXIgLmxlbWEtd3JhcHBlciAubGVtYS1hY2NvcmRpb24taXRlbS5hY2NvcmRpb24tb3BlbiAubGVtYS1hY2NvcmRpb24tY29udGVudCB7XG4gICAgYm9yZGVyOiBub25lOyB9XG4gICAgI2xlbWEtY29udGFpbmVyLmxlbWEtY29udGFpbmVyIC5sZW1hLXdyYXBwZXIgLmxlbWEtYWNjb3JkaW9uLWl0ZW0uYWNjb3JkaW9uLW9wZW4gLmxlbWEtYWNjb3JkaW9uLWhlYWRlciBwLFxuICAgICNsZW1hLWNvbnRhaW5lci5sZW1hLWNvbnRhaW5lciAubGVtYS13cmFwcGVyIC5sZW1hLWFjY29yZGlvbi1pdGVtLmFjY29yZGlvbi1vcGVuIC5sZW1hLWFjY29yZGlvbi1jb250ZW50IHAge1xuICAgICAgY29sb3I6ICMwMDZGNjk7IH1cbiAgICAjbGVtYS1jb250YWluZXIubGVtYS1jb250YWluZXIgLmxlbWEtd3JhcHBlciAubGVtYS1hY2NvcmRpb24taXRlbS5hY2NvcmRpb24tb3BlbiAubGVtYS1hY2NvcmRpb24taGVhZGVyIC5sZW1hLWFjY29yZGlvbi1pdGVtLXRpdGxlOmJlZm9yZSxcbiAgICAjbGVtYS1jb250YWluZXIubGVtYS1jb250YWluZXIgLmxlbWEtd3JhcHBlciAubGVtYS1hY2NvcmRpb24taXRlbS5hY2NvcmRpb24tb3BlbiAubGVtYS1hY2NvcmRpb24tY29udGVudCAubGVtYS1hY2NvcmRpb24taXRlbS10aXRsZTpiZWZvcmUge1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGVaKDBkZWcpO1xuICAgICAgYmFja2dyb3VuZDogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDU3LjEgMjguNiclM2UlM2NwYXRoIGQ9J00uNCAybDI3LjQgMjYuMmMuNS40IDEuMi40IDEuNiAwTDU2LjggMmMuNS0uNS41LTEuMiAwLTEuNy0uMi0uMi0uNS0uMy0uOC0uM2gtNC44Yy0uMyAwLS42LjEtLjguM0wyOC42IDIxIDYuOC4zQzYuNS4xIDYuMyAwIDYgMEgxLjJDLjUgMCAwIC41IDAgMS4yYzAgLjMuMS42LjQuOHonIGZpbGw9JyUyM2ZmZicvJTNlJTNjL3N2ZyUzZVwiKSBuby1yZXBlYXQgIWltcG9ydGFudDsgfVxuICAjbGVtYS1jb250YWluZXIubGVtYS1jb250YWluZXIgLmxlbWEtd3JhcHBlciAubGVtYS1hY2NvcmRpb24taXRlbS5hY2NvcmRpb24tb3BlbiAubGVtYS1hY2NvcmRpb24taGVhZGVyIHtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA2RjY5OyB9XG4gICNsZW1hLWNvbnRhaW5lci5sZW1hLWNvbnRhaW5lciAubGVtYS13cmFwcGVyIC5sZW1hLXN0ZXAge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG4gICNsZW1hLWNvbnRhaW5lci5sZW1hLWNvbnRhaW5lciAubGVtYS13cmFwcGVyIC5sZW1hLXN0ZXAtaGVhZGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItYm90dG9tOiAwOyB9XG4gICAgI2xlbWEtY29udGFpbmVyLmxlbWEtY29udGFpbmVyIC5sZW1hLXdyYXBwZXIgLmxlbWEtc3RlcC1oZWFkZXIgLmxlbWEtc3RlcC1oZWFkZXItdGV4dCB7XG4gICAgICBmb250LXNpemU6IDIuNXJlbTtcbiAgICAgIGNvbG9yOiAjMDA2RjY5O1xuICAgICAgbGluZS1oZWlnaHQ6IDNyZW07XG4gICAgICBmb250LWZhbWlseTogTmV1ZVNhbnNQcm8tU2VtaUJvbGQsIEhlbHZldGl2YSwgc2Fucy1zZXJpZjtcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDIuNXJlbTsgfVxuICAgICNsZW1hLWNvbnRhaW5lci5sZW1hLWNvbnRhaW5lciAubGVtYS13cmFwcGVyIC5sZW1hLXN0ZXAtaGVhZGVyIC5sZW1hLXN0ZXAtbnVtYmVyIHtcbiAgICAgIHRvcDogMS4wNjI1cmVtOyB9XG4gICAgICAjbGVtYS1jb250YWluZXIubGVtYS1jb250YWluZXIgLmxlbWEtd3JhcHBlciAubGVtYS1zdGVwLWhlYWRlciAubGVtYS1zdGVwLW51bWJlciBzcGFuIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwNkY2OTsgfVxuICAjbGVtYS1jb250YWluZXIubGVtYS1jb250YWluZXIgLmxlbWEtd3JhcHBlciAubGVtYS1jaGVja2JveC1sYWJlbCB7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjVyZW07XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnRGYW1pbHkpOyB9XG4gICNsZW1hLWNvbnRhaW5lci5sZW1hLWNvbnRhaW5lciAubGVtYS13cmFwcGVyIC5sZW1hLWlucHV0LXRleHQsXG4gICNsZW1hLWNvbnRhaW5lci5sZW1hLWNvbnRhaW5lciAubGVtYS13cmFwcGVyIC5sZW1hLWlucHV0LXRleHRhcmVhIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZGNkN2Q3O1xuICAgIGNvbG9yOiAjQjQ4MzhBO1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtOyB9XG4gICAgI2xlbWEtY29udGFpbmVyLmxlbWEtY29udGFpbmVyIC5sZW1hLXdyYXBwZXIgLmxlbWEtaW5wdXQtdGV4dDpmb2N1cyxcbiAgICAjbGVtYS1jb250YWluZXIubGVtYS1jb250YWluZXIgLmxlbWEtd3JhcHBlciAubGVtYS1pbnB1dC10ZXh0YXJlYTpmb2N1cyB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjZGNkN2Q3OyB9XG4gICNsZW1hLWNvbnRhaW5lci5sZW1hLWNvbnRhaW5lciAubGVtYS13cmFwcGVyIGlucHV0W3R5cGU9XCJyYWRpb1wiXSArIGxhYmVsLFxuICAjbGVtYS1jb250YWluZXIubGVtYS1jb250YWluZXIgLmxlbWEtd3JhcHBlciBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0gKyBsYWJlbCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctbGVmdDogMS42ODc1cmVtO1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAgICNsZW1hLWNvbnRhaW5lci5sZW1hLWNvbnRhaW5lciAubGVtYS13cmFwcGVyIGlucHV0W3R5cGU9XCJyYWRpb1wiXSArIGxhYmVsOmJlZm9yZSxcbiAgICAjbGVtYS1jb250YWluZXIubGVtYS1jb250YWluZXIgLmxlbWEtd3JhcHBlciBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0gKyBsYWJlbDpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgaGVpZ2h0OiAxcmVtO1xuICAgICAgd2lkdGg6IDFyZW07XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjZGNkN2Q3O1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsgfVxuICAgICNsZW1hLWNvbnRhaW5lci5sZW1hLWNvbnRhaW5lciAubGVtYS13cmFwcGVyIGlucHV0W3R5cGU9XCJyYWRpb1wiXSArIGxhYmVsOmFmdGVyLFxuICAgICNsZW1hLWNvbnRhaW5lci5sZW1hLWNvbnRhaW5lciAubGVtYS13cmFwcGVyIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSArIGxhYmVsOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIGxlZnQ6IDlweDtcbiAgICAgIGNvbG9yOiAjMDA2RjY5O1xuICAgICAgZm9udC1zaXplOiAxLjYyNXJlbTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCA3MG1zLCBtYXgtd2lkdGggNzBtcztcbiAgICAgIGhlaWdodDogMS4xMjVyZW07XG4gICAgICBtYXgtaGVpZ2h0OiAwO1xuICAgICAgd2lkdGg6IDEuMTI1cmVtO1xuICAgICAgbWF4LXdpZHRoOiAwO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgfVxuICAjbGVtYS1jb250YWluZXIubGVtYS1jb250YWluZXIgLmxlbWEtd3JhcHBlciBpbnB1dFt0eXBlPVwicmFkaW9cIl06Y2hlY2tlZCArIGxhYmVsOmJlZm9yZSxcbiAgI2xlbWEtY29udGFpbmVyLmxlbWEtY29udGFpbmVyIC5sZW1hLXdyYXBwZXIgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQgKyBsYWJlbDpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7IH1cbiAgI2xlbWEtY29udGFpbmVyLmxlbWEtY29udGFpbmVyIC5sZW1hLXdyYXBwZXIgaW5wdXRbdHlwZT1cInJhZGlvXCJdOmNoZWNrZWQgKyBsYWJlbDphZnRlcixcbiAgI2xlbWEtY29udGFpbmVyLmxlbWEtY29udGFpbmVyIC5sZW1hLXdyYXBwZXIgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQgKyBsYWJlbDphZnRlciB7XG4gICAgbWF4LWhlaWdodDogMS4xMjVyZW07XG4gICAgbWF4LXdpZHRoOiAxLjEyNXJlbTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvY2hlY2tib3gtY2hlY2tlZC5zdmdcIik7IH1cbiAgI2xlbWEtY29udGFpbmVyLmxlbWEtY29udGFpbmVyIC5sZW1hLXdyYXBwZXIgaW5wdXRbdHlwZT1cInJhZGlvXCJdOmNoZWNrZWQgKyBsYWJlbDphZnRlciB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL3JhZGlvLWFjdGl2ZS5zdmdcIik7IH1cbiAgI2xlbWEtY29udGFpbmVyLmxlbWEtY29udGFpbmVyIC5sZW1hLXdyYXBwZXIgaW5wdXRbdHlwZT1cInJhZGlvXCJdICsgbGFiZWw6YmVmb3JlIHtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7IH1cbiAgI2xlbWEtY29udGFpbmVyLmxlbWEtY29udGFpbmVyIC5sZW1hLXdyYXBwZXIgLmxlbWEtc3VtbWFyeS1jaGVjayB7XG4gICAgcGFkZGluZzogMDsgfVxuICAgICNsZW1hLWNvbnRhaW5lci5sZW1hLWNvbnRhaW5lciAubGVtYS13cmFwcGVyIC5sZW1hLXN1bW1hcnktY2hlY2sgYnIge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAjbGVtYS1jb250YWluZXIubGVtYS1jb250YWluZXIgLmxlbWEtd3JhcHBlciAubGVtYS1idXR0b24ge1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS41cmVtO1xuICAgIGZvbnQtZmFtaWx5OiBOZXVlU2Fuc1Byby1TZW1pQm9sZCwgSGVsdmV0aXZhLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuOXB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBjb2xvcjogIzAwNkY2OTtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjMDA2RjY5O1xuICAgIHdpZHRoOiA1MCU7XG4gICAgcGFkZGluZy10b3A6IDAuNjI1cmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAwLjM3NXJlbTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgI2xlbWEtY29udGFpbmVyLmxlbWEtY29udGFpbmVyIC5sZW1hLXdyYXBwZXIgLmxlbWEtc3RlcC1jb250ZW50IHtcbiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDsgfVxuICAjbGVtYS1jb250YWluZXIubGVtYS1jb250YWluZXIgLmxlbWEtd3JhcHBlciAubGVtYS1zdGVwLXJvdy1hbW91bnRzIHtcbiAgICBib3JkZXItdG9wOiBub25lO1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgI2xlbWEtY29udGFpbmVyLmxlbWEtY29udGFpbmVyIC5sZW1hLXdyYXBwZXIgLmxlbWEtYW1vdW50LWJveC5sZW1hLWFjdGl2ZSB7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgYmFja2dyb3VuZDogIzAwNkY2OTtcbiAgICBib3JkZXI6IG5vbmU7IH1cblxuYm9keSNpZnJhbWVfYm9keSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmM2YzZjM7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDsgfVxuICBib2R5I2lmcmFtZV9ib2R5IGgxLCBib2R5I2lmcmFtZV9ib2R5IGgyLCBib2R5I2lmcmFtZV9ib2R5IGgzLCBib2R5I2lmcmFtZV9ib2R5IGg0LCBib2R5I2lmcmFtZV9ib2R5IGg1LCBib2R5I2lmcmFtZV9ib2R5IGg2LCBib2R5I2lmcmFtZV9ib2R5IGRpdiwgYm9keSNpZnJhbWVfYm9keSBwLCBib2R5I2lmcmFtZV9ib2R5IHRhYmxlLCBib2R5I2lmcmFtZV9ib2R5IGZvcm0sIGJvZHkjaWZyYW1lX2JvZHkgaW5wdXQsIGJvZHkjaWZyYW1lX2JvZHkgdGV4dGFyZWEsIGJvZHkjaWZyYW1lX2JvZHkgc3BhbiB7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjVyZW07XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnRGYW1pbHkpO1xuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDsgfVxuICBib2R5I2lmcmFtZV9ib2R5IGEge1xuICAgIGNvbG9yOiAjMDA2RjY5O1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gICAgYm9keSNpZnJhbWVfYm9keSBhOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjMDA1ZjVhOyB9XG4gIGJvZHkjaWZyYW1lX2JvZHkgdGV4dGFyZWEsXG4gIGJvZHkjaWZyYW1lX2JvZHkgc2VsZWN0LFxuICBib2R5I2lmcmFtZV9ib2R5IGlucHV0IHtcbiAgICBtaW4td2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgYm9keSNpZnJhbWVfYm9keSB0ZC5jYWxjX2xhYmVsLFxuICBib2R5I2lmcmFtZV9ib2R5IHRkLmNhbGNfZmllbGQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZDZkNmQ2O1xuICAgIHBhZGRpbmc6IDAuNjI1cmVtIDA7IH1cbiAgYm9keSNpZnJhbWVfYm9keSB0ZC5jYWxjX2ZpZWxkIHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIGJvZHkjaWZyYW1lX2JvZHkgdGQuY2FsY19maWVsZCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICBib2R5I2lmcmFtZV9ib2R5IHRkLmNhbGNfbGFiZWwge1xuICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwOyB9IH1cbiAgYm9keSNpZnJhbWVfYm9keSBpbnB1dC51c2VyX2lucHV0LFxuICBib2R5I2lmcmFtZV9ib2R5IGlucHV0LnJlc3VsdCxcbiAgYm9keSNpZnJhbWVfYm9keSBpbnB1dC5yZXN1bHRfbmVnIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW07IH1cbiAgYm9keSNpZnJhbWVfYm9keSAucHVibGljX3N1Ym1pdF9idXR0b24sXG4gIGJvZHkjaWZyYW1lX2JvZHkgLnB1YmxpY19zdWJtaXRfYnV0dG9uX29uIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgICBjb2xvcjogIzAwNkY2OTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgbWluLXdpZHRoOiBhdXRvO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICMwMDZGNjk7XG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgIHBhZGRpbmctbGVmdDogMS44NzVyZW07XG4gICAgcGFkZGluZy1yaWdodDogMS44NzVyZW07XG4gICAgbWFyZ2luOiAxLjI1cmVtIDA7XG4gICAgYmFja2dyb3VuZDogbm9uZTsgfVxuICBib2R5I2lmcmFtZV9ib2R5IC5wdWJsaWNfc3VibWl0X2J1dHRvbl9vbiB7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwODM3YztcbiAgICBib3JkZXItY29sb3I6ICMwMDgzN2M7IH1cbiAgYm9keSNpZnJhbWVfYm9keSAuY2FsY3VsYXRvciAubGlzdCB7XG4gICAgZm9udC1zaXplOiAxLjg3NXJlbTtcbiAgICBjb2xvcjogIzAwNkY2OTtcbiAgICBsaW5lLWhlaWdodDogMi4yNXJlbTtcbiAgICBmb250LWZhbWlseTogTmV1ZVNhbnNQcm8tU2VtaUJvbGQsIEhlbHZldGl2YSwgc2Fucy1zZXJpZjtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIHBhZGRpbmc6IDEuMjVyZW0gMCAwIDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICBib2R5I2lmcmFtZV9ib2R5IC5jYWxjdWxhdG9yIC5saXN0IHtcbiAgICAgICAgZm9udC1zaXplOiAyLjVyZW07XG4gICAgICAgIGNvbG9yOiAjMDA2RjY5O1xuICAgICAgICBsaW5lLWhlaWdodDogM3JlbTtcbiAgICAgICAgZm9udC1mYW1pbHk6IE5ldWVTYW5zUHJvLVNlbWlCb2xkLCBIZWx2ZXRpdmEsIHNhbnMtc2VyaWY7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7IH0gfVxuICBib2R5I2lmcmFtZV9ib2R5IC5hZHZpc2UxLFxuICBib2R5I2lmcmFtZV9ib2R5IC5ub3JpZ2h0cyB7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgbWFyZ2luLXRvcDogMS44NzVyZW07XG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgIGJvcmRlci13aWR0aDogMnB4O1xuICAgIHBhZGRpbmc6IDEuMjVyZW07IH1cbiAgYm9keSNpZnJhbWVfYm9keSAuYWR2aXNlMSB7XG4gICAgYm9yZGVyLWNvbG9yOiAjMzlBQTQ3O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzOUFBNDc7IH1cbiAgYm9keSNpZnJhbWVfYm9keSAubm9yaWdodHMge1xuICAgIGJvcmRlci1jb2xvcjogI2YwMTQxNDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjAxNDE0OyB9XG5cbi8qXG4gKiAgT3dsIENhcm91c2VsIC0gQ29yZVxuICovXG4ub3dsLWNhcm91c2VsIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgd2lkdGg6IDEwMCU7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIC8qIHBvc2l0aW9uIHJlbGF0aXZlIGFuZCB6LWluZGV4IGZpeCB3ZWJraXQgcmVuZGVyaW5nIGZvbnRzIGlzc3VlICovXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTsgfVxuICAub3dsLWNhcm91c2VsIC5vd2wtc3RhZ2Uge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAtbXMtdG91Y2gtYWN0aW9uOiBwYW4tWTtcbiAgICB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjtcbiAgICAtbW96LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAvKiBmaXggZmlyZWZveCBhbmltYXRpb24gZ2xpdGNoICovIH1cbiAgLm93bC1jYXJvdXNlbCAub3dsLXN0YWdlOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIi5cIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjbGVhcjogYm90aDtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgaGVpZ2h0OiAwOyB9XG4gIC5vd2wtY2Fyb3VzZWwgLm93bC1zdGFnZS1vdXRlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgLyogZml4IGZvciBmbGFzaGluZyBiYWNrZ3JvdW5kICovXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDBweCwgMHB4LCAwcHgpOyB9XG4gIC5vd2wtY2Fyb3VzZWwgLm93bC13cmFwcGVyLFxuICAub3dsLWNhcm91c2VsIC5vd2wtaXRlbSB7XG4gICAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgLW1vei1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgLW1zLWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9XG4gIC5vd2wtY2Fyb3VzZWwgLm93bC1pdGVtIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWluLWhlaWdodDogMXB4O1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lOyB9XG4gIC5vd2wtY2Fyb3VzZWwgLm93bC1pdGVtIGltZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLm93bC1jYXJvdXNlbCAub3dsLW5hdi5kaXNhYmxlZCxcbiAgLm93bC1jYXJvdXNlbCAub3dsLWRvdHMuZGlzYWJsZWQge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLm93bC1jYXJvdXNlbCAub3dsLW5hdiAub3dsLXByZXYsXG4gIC5vd2wtY2Fyb3VzZWwgLm93bC1uYXYgLm93bC1uZXh0LFxuICAub3dsLWNhcm91c2VsIC5vd2wtZG90IHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgY3Vyc29yOiBoYW5kO1xuICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLWtodG1sLXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICAgIHVzZXItc2VsZWN0OiBub25lOyB9XG4gIC5vd2wtY2Fyb3VzZWwgLm93bC1uYXYgYnV0dG9uLm93bC1wcmV2LFxuICAub3dsLWNhcm91c2VsIC5vd2wtbmF2IGJ1dHRvbi5vd2wtbmV4dCxcbiAgLm93bC1jYXJvdXNlbCBidXR0b24ub3dsLWRvdCB7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgIGZvbnQ6IGluaGVyaXQ7IH1cbiAgLm93bC1jYXJvdXNlbC5vd2wtbG9hZGVkIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAub3dsLWNhcm91c2VsLm93bC1sb2FkaW5nIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5vd2wtY2Fyb3VzZWwub3dsLWhpZGRlbiB7XG4gICAgb3BhY2l0eTogMDsgfVxuICAub3dsLWNhcm91c2VsLm93bC1yZWZyZXNoIC5vd2wtaXRlbSB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG4gIC5vd2wtY2Fyb3VzZWwub3dsLWRyYWcgLm93bC1pdGVtIHtcbiAgICB0b3VjaC1hY3Rpb246IG5vbmU7XG4gICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTsgfVxuICAub3dsLWNhcm91c2VsLm93bC1ncmFiIHtcbiAgICBjdXJzb3I6IG1vdmU7XG4gICAgY3Vyc29yOiBncmFiOyB9XG4gIC5vd2wtY2Fyb3VzZWwub3dsLXJ0bCB7XG4gICAgZGlyZWN0aW9uOiBydGw7IH1cbiAgLm93bC1jYXJvdXNlbC5vd2wtcnRsIC5vd2wtaXRlbSB7XG4gICAgZmxvYXQ6IHJpZ2h0OyB9XG5cbi8qIE5vIEpzICovXG4ubm8tanMgLm93bC1jYXJvdXNlbCB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qXG4gKiAgT3dsIENhcm91c2VsIC0gQW5pbWF0ZSBQbHVnaW5cbiAqL1xuLm93bC1jYXJvdXNlbCAuYW5pbWF0ZWQge1xuICBhbmltYXRpb24tZHVyYXRpb246IDEwMDBtcztcbiAgYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDsgfVxuXG4ub3dsLWNhcm91c2VsIC5vd2wtYW5pbWF0ZWQtaW4ge1xuICB6LWluZGV4OiAwOyB9XG5cbi5vd2wtY2Fyb3VzZWwgLm93bC1hbmltYXRlZC1vdXQge1xuICB6LWluZGV4OiAxOyB9XG5cbi5vd2wtY2Fyb3VzZWwgLmZhZGVPdXQge1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dDsgfVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuLypcbiAqIFx0T3dsIENhcm91c2VsIC0gQXV0byBIZWlnaHQgUGx1Z2luXG4gKi9cbi5vd2wtaGVpZ2h0IHtcbiAgdHJhbnNpdGlvbjogaGVpZ2h0IDUwMG1zIGVhc2UtaW4tb3V0OyB9XG5cbi8qXG4gKiBcdE93bCBDYXJvdXNlbCAtIExhenkgTG9hZCBQbHVnaW5cbiAqL1xuLm93bC1jYXJvdXNlbCAub3dsLWl0ZW0gLm93bC1sYXp5IHtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSA0MDBtcyBlYXNlOyB9XG5cbi5vd2wtY2Fyb3VzZWwgLm93bC1pdGVtIGltZy5vd2wtbGF6eSB7XG4gIHRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7IH1cblxuLypcbiAqIFx0T3dsIENhcm91c2VsIC0gVmlkZW8gUGx1Z2luXG4gKi9cbi5vd2wtY2Fyb3VzZWwgLm93bC12aWRlby13cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQ6ICMxNDE0MTQ7IH1cblxuLm93bC1jYXJvdXNlbCAub3dsLXZpZGVvLXBsYXktaWNvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaGVpZ2h0OiA4MHB4O1xuICB3aWR0aDogODBweDtcbiAgbGVmdDogNTAlO1xuICB0b3A6IDUwJTtcbiAgbWFyZ2luLWxlZnQ6IC00MHB4O1xuICBtYXJnaW4tdG9wOiAtNDBweDtcbiAgYmFja2dyb3VuZDogdXJsKFwib3dsLnZpZGVvLnBsYXkucG5nXCIpIG5vLXJlcGVhdDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB6LWluZGV4OiAxO1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDEwMG1zIGVhc2U7IH1cblxuLm93bC1jYXJvdXNlbCAub3dsLXZpZGVvLXBsYXktaWNvbjpob3ZlciB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS4zLCAxLjMpOyB9XG5cbi5vd2wtY2Fyb3VzZWwgLm93bC12aWRlby1wbGF5aW5nIC5vd2wtdmlkZW8tdG4sXG4ub3dsLWNhcm91c2VsIC5vd2wtdmlkZW8tcGxheWluZyAub3dsLXZpZGVvLXBsYXktaWNvbiB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLm93bC1jYXJvdXNlbCAub3dsLXZpZGVvLXRuIHtcbiAgb3BhY2l0eTogMDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgNDAwbXMgZWFzZTsgfVxuXG4ub3dsLWNhcm91c2VsIC5vd2wtdmlkZW8tZnJhbWUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDE7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7IH1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJyZWFrcG9pbnRzXG4vLy8vXG5cbi8vLyBBIGxpc3Qgb2YgbmFtZWQgYnJlYWtwb2ludHMuIFlvdSBjYW4gdXNlIHRoZXNlIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRvIHF1aWNrbHkgY3JlYXRlIG1lZGlhIHF1ZXJpZXMuXG4vLy8gQHR5cGUgTWFwXG4kYnJlYWtwb2ludHM6IChcbiAgc21hbGw6IDAsXG4gIG1lZGl1bTogNjQwcHgsXG4gIGxhcmdlOiAxMDI0cHgsXG4gIHhsYXJnZTogMTIwMHB4LFxuICB4eGxhcmdlOiAxNDQwcHgsXG4pICFkZWZhdWx0O1xuXG4vLy8gVGhlIGxhcmdlc3QgbmFtZWQgYnJlYWtwb2ludCBpbiB3aGljaCB0byBpbmNsdWRlIHByaW50IGFzIGEgbWVkaWEgdHlwZVxuLy8vIEB0eXBlIEtleXdvcmRcbiRwcmludC1icmVha3BvaW50OiBsYXJnZSAhZGVmYXVsdDtcblxuJC16Zi16ZXJvLWJyZWFrcG9pbnQ6IHNtYWxsICFkZWZhdWx0O1xuXG4kLXpmLWJyZWFrcG9pbnRzLWtleXM6IG1hcC10by1saXN0KCRicmVha3BvaW50cywgJ2tleXMnKTtcblxuQGlmIG50aChtYXAtdmFsdWVzKCRicmVha3BvaW50cyksIDEpICE9IDAge1xuICBAZXJyb3IgJ1lvdXIgc21hbGxlc3QgYnJlYWtwb2ludCAoZGVmaW5lZCBpbiAkYnJlYWtwb2ludHMpIG11c3QgYmUgc2V0IHRvIFwiMFwiLic7XG59XG5AZWxzZSB7XG4gICQtemYtemVyby1icmVha3BvaW50OiBudGgobWFwLWtleXMoJGJyZWFrcG9pbnRzKSwgMSk7XG59XG5cbi8vLyBBbGwgb2YgdGhlIG5hbWVzIGluIHRoaXMgbGlzdCB3aWxsIGJlIG91dHB1dCBhcyBjbGFzc2VzIGluIHlvdXIgQ1NTLCBsaWtlIGAuc21hbGwtMTJgLCBgLm1lZGl1bS02YCwgYW5kIHNvIG9uLiBFYWNoIHZhbHVlIGluIHRoaXMgbGlzdCBtdXN0IGFsc28gYmUgaW4gdGhlIGAkYnJlYWtwb2ludHNgIG1hcC5cbi8vLyBAdHlwZSBMaXN0XG4kYnJlYWtwb2ludC1jbGFzc2VzOiAoc21hbGwgbWVkaXVtIGxhcmdlKSAhZGVmYXVsdDtcblxuLy8vIEdlbmVyYXRlcyBhIG1lZGlhIHF1ZXJ5IHN0cmluZyBtYXRjaGluZyB0aGUgaW5wdXQgdmFsdWUuIFJlZmVyIHRvIHRoZSBkb2N1bWVudGF0aW9uIGZvciB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdG8gc2VlIHdoYXQgdGhlIHBvc3NpYmxlIGlucHV0cyBhcmUuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkdmFsIFtzbWFsbF0gLSBCcmVha3BvaW50IG5hbWUsIG9yIHB4LCByZW0sIG9yIGVtIHZhbHVlIHRvIHByb2Nlc3MuXG5AZnVuY3Rpb24gYnJlYWtwb2ludCgkdmFsOiAkLXpmLXplcm8tYnJlYWtwb2ludCkge1xuICAvLyBTaXplIG9yIGtleXdvcmRcbiAgJGJwOiBudGgoJHZhbCwgMSk7XG4gIC8vIFZhbHVlIGZvciBtYXgtd2lkdGggbWVkaWEgcXVlcmllc1xuICAkYnAtbWF4OiAwO1xuICAvLyBEaXJlY3Rpb24gb2YgbWVkaWEgcXVlcnkgKHVwLCBkb3duLCBvciBvbmx5KVxuICAkZGlyOiBpZihsZW5ndGgoJHZhbCkgPiAxLCBudGgoJHZhbCwgMiksIHVwKTtcbiAgLy8gRXZlbnR1YWwgb3V0cHV0XG4gICRzdHI6ICcnO1xuICAvLyBJcyBpdCBhIG5hbWVkIG1lZGlhIHF1ZXJ5P1xuICAkbmFtZWQ6IGZhbHNlO1xuXG4gIC8vIE9yaWVudGF0aW9uIG1lZGlhIHF1ZXJpZXMgaGF2ZSBhIHVuaXF1ZSBzeW50YXhcbiAgQGlmICRicCA9PSAnbGFuZHNjYXBlJyBvciAkYnAgPT0gJ3BvcnRyYWl0JyB7XG4gICAgQHJldHVybiAnKG9yaWVudGF0aW9uOiAjeyRicH0pJztcbiAgfVxuICBAZWxzZSBpZiAkYnAgPT0gJ3JldGluYScge1xuICAgIEByZXR1cm4gJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSknO1xuICB9XG5cbiAgLy8gVHJ5IHRvIHB1bGwgYSBuYW1lZCBicmVha3BvaW50IG91dCBvZiB0aGUgJGJyZWFrcG9pbnRzIG1hcFxuICBAaWYgdHlwZS1vZigkYnApID09ICdzdHJpbmcnIHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkYnApIHtcbiAgICAgIEBpZiAkZGlyID09ICdvbmx5JyBvciAkZGlyID09ICdkb3duJyB7XG4gICAgICAgICRicC1tYXg6IC16Zi1tYXAtbmV4dCgkYnJlYWtwb2ludHMsICRicCk7XG4gICAgICB9XG5cbiAgICAgICRicDogbWFwLWdldCgkYnJlYWtwb2ludHMsICRicCk7XG4gICAgICAkbmFtZWQ6IHRydWU7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICRicDogMDtcbiAgICAgIEB3YXJuICdicmVha3BvaW50KCk6IFwiI3skdmFsfVwiIGlzIG5vdCBkZWZpbmVkIGluIHlvdXIgJGJyZWFrcG9pbnRzIHNldHRpbmcuJztcbiAgICB9XG4gIH1cblxuICAvLyBDb252ZXJ0IGFueSBwaXhlbCwgcmVtLCBvciB1bml0bGVzcyB2YWx1ZSB0byBlbVxuICAkYnA6IC16Zi1icC10by1lbSgkYnApO1xuICBAaWYgJGJwLW1heCB7XG4gICAgJGJwLW1heDogLXpmLWJwLXRvLWVtKCRicC1tYXgpIC0gKDEvMTYpO1xuICB9XG5cbiAgLy8gQ29uZGl0aW9ucyB0byBza2lwIG1lZGlhIHF1ZXJ5IGNyZWF0aW9uXG4gIC8vIC0gSXQncyBhIG5hbWVkIGJyZWFrcG9pbnQgdGhhdCByZXNvbHZlZCB0byBcIjAgZG93blwiIG9yIFwiMCB1cFwiXG4gIC8vIC0gSXQncyBhIG51bWVyaWMgYnJlYWtwb2ludCB0aGF0IHJlc29sdmVkIHRvIFwiMCBcIiArIGFueXRoaW5nXG4gIEBpZiAkYnAgPiAwZW0gb3IgJGRpciA9PSAnb25seScgb3IgJGRpciA9PSAnZG93bicge1xuICAgIC8vIGBvbmx5YCByYW5nZXMgdXNlIHRoZSBmb3JtYXQgYChtaW4td2lkdGg6IG4pIGFuZCAobWF4LXdpZHRoOiBuKWBcbiAgICBAaWYgJGRpciA9PSAnb25seScge1xuICAgICAgLy8gT25seSBuYW1lZCBtZWRpYSBxdWVyaWVzIGNhbiBoYXZlIGFuIFwib25seVwiIHJhbmdlXG4gICAgICBAaWYgJG5hbWVkID09IHRydWUge1xuICAgICAgICAvLyBPbmx5IHVzZSBcIm1pbi13aWR0aFwiIGlmIHRoZSBmbG9vciBpcyBncmVhdGVyIHRoYW4gMFxuICAgICAgICBAaWYgJGJwID4gMGVtIHtcbiAgICAgICAgICAkc3RyOiAkc3RyICsgJyhtaW4td2lkdGg6ICN7JGJwfSknO1xuXG4gICAgICAgICAgLy8gT25seSBhZGQgXCJhbmRcIiB0byB0aGUgbWVkaWEgcXVlcnkgaWYgdGhlcmUncyBhIGNlaWxpbmdcbiAgICAgICAgICBAaWYgJGJwLW1heCAhPSBudWxsIHtcbiAgICAgICAgICAgICRzdHI6ICRzdHIgKyAnIGFuZCAnO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIE9ubHkgdXNlIFwibWF4LXdpZHRoXCIgaWYgdGhlcmUncyBhIGNlaWxpbmdcbiAgICAgICAgQGlmICRicC1tYXggIT0gbnVsbCB7XG4gICAgICAgICAgJHN0cjogJHN0ciArICcobWF4LXdpZHRoOiAjeyRicC1tYXh9KSc7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgQHdhcm4gJ2JyZWFrcG9pbnQoKTogT25seSBuYW1lZCBtZWRpYSBxdWVyaWVzIGNhbiBoYXZlIGFuIGBvbmx5YCByYW5nZS4nO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIGBkb3duYCByYW5nZXMgdXNlIHRoZSBmb3JtYXQgYChtYXgtd2lkdGg6IG4pYFxuICAgIEBlbHNlIGlmICRkaXIgPT0gJ2Rvd24nIHtcbiAgICAgICRtYXg6IGlmKCRuYW1lZCwgJGJwLW1heCwgJGJwKTtcblxuICAgICAgLy8gU2tpcCBtZWRpYSBxdWVyeSBjcmVhdGlvbiBpZiBpbnB1dCB2YWx1ZSBpcyBleGFjdGx5IFwiMCBkb3duXCIsXG4gICAgICAvLyB1bmxlc3MgdGhlIGZ1bmN0aW9uIHdhcyBjYWxsZWQgYXMgXCJzbWFsbCBkb3duXCIsIGluIHdoaWNoIGNhc2UgaXQncyBqdXN0IFwic21hbGwgb25seVwiXG4gICAgICBAaWYgJG5hbWVkIG9yICRicCA+IDBlbSB7XG4gICAgICAgIEBpZiAkbWF4ICE9IG51bGwge1xuICAgICAgICAgICRzdHI6ICRzdHIgKyAnKG1heC13aWR0aDogI3skbWF4fSknO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gYHVwYCByYW5nZXMgdXNlIHRoZSBmb3JtYXQgYChtaW4td2lkdGg6IG4pYFxuICAgIEBlbHNlIGlmICRicCA+IDBlbSB7XG4gICAgICAkc3RyOiAkc3RyICsgJyhtaW4td2lkdGg6ICN7JGJwfSknO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJHN0cjtcbn1cblxuLy8vIFdyYXBzIGEgbWVkaWEgcXVlcnkgYXJvdW5kIHRoZSBjb250ZW50IHlvdSBwdXQgaW5zaWRlIHRoZSBtaXhpbi4gVGhpcyBtaXhpbiBhY2NlcHRzIGEgbnVtYmVyIG9mIHZhbHVlczpcbi8vLyAgLSBJZiBhIHN0cmluZyBpcyBwYXNzZWQsIHRoZSBtaXhpbiB3aWxsIGxvb2sgZm9yIGl0IGluIHRoZSBgJGJyZWFrcG9pbnRzYCBtYXAsIGFuZCB1c2UgYSBtZWRpYSBxdWVyeSB0aGVyZS5cbi8vLyAgLSBJZiBhIHBpeGVsIHZhbHVlIGlzIHBhc3NlZCwgaXQgd2lsbCBiZSBjb252ZXJ0ZWQgdG8gYW4gZW0gdmFsdWUgdXNpbmcgYCRnbG9iYWwtZm9udC1zaXplYCBhcyB0aGUgYmFzZS5cbi8vLyAgLSBJZiBhIHJlbSB2YWx1ZSBpcyBwYXNzZWQsIHRoZSB1bml0IHdpbGwgYmUgY2hhbmdlZCB0byBlbS5cbi8vLyAgLSBJZiBhbiBlbSB2YWx1ZSBpcyBwYXNzZWQsIHRoZSB2YWx1ZSB3aWxsIGJlIHVzZWQgYXMtaXMuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkdmFsdWUgLSBCcmVha3BvaW50IG5hbWUsIG9yIHB4LCByZW0sIG9yIGVtIHZhbHVlIHRvIHByb2Nlc3MuXG4vLy9cbi8vLyBAb3V0cHV0IElmIHRoZSBicmVha3BvaW50IGlzIFwiMHB4IGFuZCBsYXJnZXJcIiwgb3V0cHV0cyB0aGUgY29udGVudCBhcy1pcy4gT3RoZXJ3aXNlLCBvdXRwdXRzIHRoZSBjb250ZW50IHdyYXBwZWQgaW4gYSBtZWRpYSBxdWVyeS5cbkBtaXhpbiBicmVha3BvaW50KCR2YWx1ZSkge1xuICAkc3RyOiBicmVha3BvaW50KCR2YWx1ZSk7XG4gICRicDogaW5kZXgoJC16Zi1icmVha3BvaW50cy1rZXlzLCAkdmFsdWUpO1xuICAkcGJwOiBpbmRleCgkLXpmLWJyZWFrcG9pbnRzLWtleXMsICRwcmludC1icmVha3BvaW50KTtcblxuICAkb2xkLXpmLXNpemU6IG51bGw7XG5cbiAgLy8gTWFrZSBicmVha3BvaW50IHNpemUgYXZhaWxhYmxlIGFzIGEgdmFyaWFibGVcbiAgQGlmIGdsb2JhbC12YXJpYWJsZS1leGlzdHMoLXpmLXNpemUpIHtcbiAgICAkb2xkLXpmLXNpemU6ICQtemYtc2l6ZTtcbiAgfVxuICAkLXpmLXNpemU6IG50aCgkdmFsdWUsIDEpICFnbG9iYWw7IC8vIGdldCB0aGUgZmlyc3QgdmFsdWUgdG8gYWNjb3VudCBmb3IgYG9ubHlgIGFuZCBgZG93bmAga2V5d29yZHNcblxuICAvLyBJZiAkc3RyIGlzIHN0aWxsIGFuIGVtcHR5IHN0cmluZywgbm8gbWVkaWEgcXVlcnkgaXMgbmVlZGVkXG4gIEBpZiAkc3RyID09ICcnIHtcbiAgICBAY29udGVudDtcbiAgfVxuXG4gIC8vIE90aGVyd2lzZSwgd3JhcCB0aGUgY29udGVudCBpbiBhIG1lZGlhIHF1ZXJ5XG4gIEBlbHNlIHtcbiAgICAvLyBGb3IgbmFtZWQgYnJlYWtwb2ludHMgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICRwcmludC1icmVha3BvaW50LCBhZGQgcHJpbnQgdG8gdGhlIG1lZGlhIHR5cGVzXG4gICAgQGlmICRicCAhPSBudWxsIGFuZCAkYnAgPD0gJHBicCB7XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgI3skc3RyfSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgI3skc3RyfSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiAkb2xkLXpmLXNpemUgIT0gbnVsbCB7XG4gICAgLy8gUmVzdG9yZSB0aGUgb2xkIGJyZWFrcG9pbnQgc2l6ZVxuICAgICQtemYtc2l6ZTogJG9sZC16Zi1zaXplICFnbG9iYWw7XG4gIH0gQGVsc2Uge1xuICAgICQtemYtc2l6ZTogbnVsbCAhZ2xvYmFsO1xuICB9XG59XG5cbi8vLyBDb252ZXJzIHRoZSBicmVha3BvaW50cyBtYXAgdG8gYSBVUkwtZW5jb2RlZCBzdHJpbmcsIGxpa2UgdGhpczogYGtleTE9dmFsdWUxJmtleTI9dmFsdWUyYC4gVGhlIHZhbHVlIGlzIHRoZW4gZHJvcHBlZCBpbnRvIHRoZSBDU1MgZm9yIGEgc3BlY2lhbCBgPG1ldGE+YCB0YWcsIHdoaWNoIGlzIHJlYWQgYnkgdGhlIEZvdW5kYXRpb24gSmF2YVNjcmlwdC4gVGhpcyBpcyBob3cgd2UgdHJhbnNmZXIgdmFsdWVzIGZyb20gU2FzcyB0byBKYXZhU2NyaXB0LCBzbyB0aGV5IGNhbiBiZSBkZWZpbmVkIGluIG9uZSBwbGFjZS5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIGNvbnZlcnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7U3RyaW5nfSBBIHN0cmluZyBjb250YWluaW5nIHRoZSBtYXAncyBjb250ZW50cy5cbkBmdW5jdGlvbiAtemYtYnAtc2VyaWFsaXplKCRtYXApIHtcbiAgJHN0cjogJyc7XG4gIEBlYWNoICRrZXksICR2YWx1ZSBpbiAkbWFwIHtcbiAgICAkc3RyOiAkc3RyICsgJGtleSArICc9JyArIC16Zi1icC10by1lbSgkdmFsdWUpICsgJyYnO1xuICB9XG4gICRzdHI6IHN0ci1zbGljZSgkc3RyLCAxLCAtMik7XG5cbiAgQHJldHVybiAkc3RyO1xufVxuXG4vLy8gRmluZCB0aGUgbmV4dCBrZXkgaW4gYSBtYXAuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byB0cmF2ZXJzZS5cbi8vLyBAcGFyYW0ge01peGVkfSAka2V5IC0gS2V5IHRvIHVzZSBhcyBhIHN0YXJ0aW5nIHBvaW50LlxuLy8vXG4vLy8gQHJldHVybnMge01peGVkfSBUaGUgdmFsdWUgZm9yIHRoZSBrZXkgYWZ0ZXIgYCRrZXlgLCBpZiBgJGtleWAgd2FzIGZvdW5kLiBJZiBgJGtleWAgd2FzIG5vdCBmb3VuZCwgb3IgYCRrZXlgIHdhcyB0aGUgbGFzdCB2YWx1ZSBpbiB0aGUgbWFwLCByZXR1cm5zIGBudWxsYC5cbkBmdW5jdGlvbiAtemYtbWFwLW5leHQoJG1hcCwgJGtleSkge1xuXG4gIC8vIFN0b3JlIHRoZSBrZXlzIG9mIHRoZSBtYXAgYXMgYSBsaXN0XG4gICR2YWx1ZXM6IG1hcC1rZXlzKCRtYXApO1xuXG4gICRpOiAwO1xuXG4gIC8vIElmIHRoZSBLZXkgRXhpc3RzLCBHZXQgdGhlIGluZGV4IG9mIHRoZSBrZXkgd2l0aGluIHRoZSBtYXAgYW5kIGFkZCAxIHRvIGl0IGZvciB0aGUgbmV4dCBicmVha3BvaW50IGluIHRoZSBtYXBcbiAgQGlmIChtYXAtaGFzLWtleSgkbWFwLCAka2V5KSkge1xuICAgICRpOiBpbmRleCgkdmFsdWVzLCAka2V5KSArIDE7XG4gIH1cblxuICAvLyBJZiB0aGUga2V5IGRvZXNuJ3QgZXhpc3QsIG9yIGl0J3MgdGhlIGxhc3Qga2V5IGluIHRoZSBtYXAsIHJldHVybiBudWxsXG4gIEBpZiAoJGkgPiBsZW5ndGgoJG1hcCkgb3IgJGkgPT0gMCkge1xuICAgIEByZXR1cm4gbnVsbDtcbiAgfVxuICAvLyBPdGhlcndpc2UsIHJldHVybiB0aGUgdmFsdWVcbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCBudGgoJHZhbHVlcywgJGkpKTtcbiAgfVxuXG59XG5cbi8vLyBSZXR1cm4gYSBsaXN0IG9mIG91ciBuYW1lZCBicmVha3BvaW50cyBsZXNzIHRoYW4gJGtleS4gVXNlZnVsIGZvciBkZWFsaW5nIHdpdGhcbi8vLyByZXNwb25zaXZlIGd1dHRlcnMgZm9yIHRoZSBncmlkLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRrZXkgLSBLZXkgdG8gdXNlIGFzIGxhc3QgYnJlYWtwb2ludC5cbi8vL1xuLy8vIEByZXR1cm5zIHtBcnJheX0gVGhlIGxpc3Qgb2YgYnJlYWtwb2ludHMgdXAgdG8gYW5kLiBJZiAka2V5IGlzIGF1dG8sIHJldHVybnMgYnJlYWtwb2ludHMgYWJvdmUgdGhlIHplcm9cbkBmdW5jdGlvbiAtemYtYnJlYWtwb2ludHMtbGVzcy10aGFuKCRrZXkpIHtcbiAgJGxpc3Q6ICgpO1xuICAkZm91bmRfa2V5OiBmYWxzZTtcblxuICBAZWFjaCAkbmFtZSBpbiAkLXpmLWJyZWFrcG9pbnRzLWtleXMge1xuICAgIEBpZiAoJG5hbWUgPT0gJGtleSkge1xuICAgICAgJGZvdW5kX2tleTogdHJ1ZTtcbiAgICB9XG4gICAgQGlmIG5vdCAkZm91bmRfa2V5IHtcbiAgICAgICRsaXN0OiBhcHBlbmQoJGxpc3QsICRuYW1lKTtcbiAgICB9XG4gIH1cbiAgQHJldHVybiAkbGlzdDtcbn1cblxuLy8vIFJldHVybiBhIGxpc3Qgb2Ygb3VyIG5hbWVkIGJyZWFrcG9pbnRzIGxlc3MgdGhhbiAka2V5LiBVc2VmdWwgZm9yIGRlYWxpbmcgd2l0aFxuLy8vIHJlc3BvbnNpdmUgZ3V0dGVycyBmb3IgdGhlIGdyaWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbmcgLSBhIG5hbWVkIG9yIG5vbi1uYW1lZCBicmVha3BvaW5nLlxuLy8vXG4vLy8gQHJldHVybnMge0FycmF5fSBUaGUgbGlzdCBvZiBicmVha3BvaW50cyB1cCB0byBhbmQuIElmICRrZXkgaXMgYXV0bywgcmV0dXJucyBicmVha3BvaW50cyBhYm92ZSB0aGUgemVyb1xuQGZ1bmN0aW9uIC16Zi1jbG9zZXN0LW5hbWVkLWJyZWFrcG9pbnQoJGJyZWFrcG9pbnQpIHtcbiAgJGxhc3Q6ICQtemYtemVyby1icmVha3BvaW50O1xuICAkZm91bmQ6IGZhbHNlO1xuXG4gICR2YWx1ZTogdW5pdGxlc3MtY2FsYygkYnJlYWtwb2ludCwgMXB4KTtcbiAgQGVhY2ggJGtleSwgJHZhbCBpbiAkYnJlYWtwb2ludHMge1xuICAgIEBpZiBub3QgJGZvdW5kIHtcbiAgICAgIEBpZiB1bml0bGVzcy1jYWxjKCR2YWwpID4gJHZhbHVlIHtcbiAgICAgICAgJGZvdW5kOiB0cnVlO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgICRsYXN0OiAka2V5O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJGxhc3Q7XG59XG5cbi8vLyBHZXQgYSB2YWx1ZSBmb3IgYSBicmVha3BvaW50IGZyb20gYSByZXNwb25zaXZlIGNvbmZpZyBtYXAgb3Igc2luZ2xlIHZhbHVlLlxuLy8vIC0gSWYgdGhlIGNvbmZpZyBpcyBhIHNpbmdsZSB2YWx1ZSwgcmV0dXJuIGl0IHJlZ2FyZGxlc3Mgb2YgYCR2YWx1ZWAuXG4vLy8gLSBJZiB0aGUgY29uZmlnIGlzIGEgbWFwIGFuZCBoYXMgdGhlIGtleSBgJHZhbHVlYCwgdGhlIGV4YWN0IGJyZWFrcG9pbnQgdmFsdWUgaXMgcmV0dXJuZWQuXG4vLy8gLSBJZiB0aGUgY29uZmlnIGlzIGEgbWFwIGFuZCBkb2VzICpub3QqIGhhdmUgdGhlIGJyZWFrcG9pbnQsIHRoZSB2YWx1ZSBtYXRjaGluZyB0aGUgbmV4dCBsb3dlc3QgYnJlYWtwb2ludCBpbiB0aGUgY29uZmlnIG1hcCBpcyByZXR1cm5lZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJG1hcCAtIFJlc3BvbnNpdmUgY29uZmlnIG1hcCBvciBzaW5nbGUgdmFsdWUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkdmFsdWUgLSBCcmVha3BvaW50IG5hbWUgdG8gdXNlLlxuLy8vXG4vLy8gQHJldHVybiB7TWl4ZWR9IFRoZSBjb3JyZXNwb25kaW5nIGJyZWFrcG9pbnQgdmFsdWUuXG5AZnVuY3Rpb24gLXpmLWdldC1icC12YWwoJG1hcCwgJHZhbHVlKSB7XG4gIC8vIElmIHRoZSBnaXZlbiBtYXAgaXMgYSBzaW5nbGUgdmFsdWUsIHJldHVybiBpdFxuICBAaWYgdHlwZS1vZigkbWFwKSA9PSAnbnVtYmVyJyB7XG4gICAgQHJldHVybiAkbWFwO1xuICB9XG5cblxuICAvLyBDaGVjayBpZiB0aGUgYnJlYWtwb2ludCBuYW1lIGV4aXN0cyBnbG9iYWxseVxuICBAaWYgbm90IG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJHZhbHVlKSB7XG4gICAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSAnbnVtYmVyJyB7XG4gICAgICAkdmFsdWU6IC16Zi1jbG9zZXN0LW5hbWVkLWJyZWFrcG9pbnQoJHZhbHVlKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIEByZXR1cm4gbnVsbDtcbiAgICB9XG4gIH1cbiAgLy8gQ2hlY2sgaWYgdGhlIGJyZWFrcG9pbnQgbmFtZSBleGlzdHMgaW4gdGhlIGxvY2FsIGNvbmZpZyBtYXBcbiAgQGVsc2UgaWYgbWFwLWhhcy1rZXkoJG1hcCwgJHZhbHVlKSB7XG4gICAgLy8gSWYgaXQgZG9lcywganVzdCByZXR1cm4gdGhlIHZhbHVlXG4gICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsICR2YWx1ZSk7XG4gIH1cbiAgLy8gT3RoZXJ3aXNlLCBmaW5kIHRoZSBuZXh0IGxvd2VzdCBicmVha3BvaW50IGFuZCByZXR1cm4gdGhhdCB2YWx1ZVxuICBAZWxzZSB7XG4gICAgJGFuY2hvcjogbnVsbDtcbiAgICAkZm91bmQ6IGZhbHNlO1xuXG4gICAgQGVhY2ggJGtleSwgJHZhbCBpbiAkYnJlYWtwb2ludHMge1xuICAgICAgQGlmIG5vdCAkZm91bmQge1xuICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJG1hcCwgJGtleSkge1xuICAgICAgICAgICRhbmNob3I6ICRrZXk7XG4gICAgICAgIH1cbiAgICAgICAgQGlmICRrZXkgPT0gJHZhbHVlIHtcbiAgICAgICAgICAkZm91bmQ6IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgJGFuY2hvcik7XG4gIH1cbn1cblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgc21hbGwpIHtcbiAgJHNtYWxsLXVwOiBzY3JlZW47XG4gICRzbWFsbC1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChzbWFsbCBvbmx5KX0nKTtcbn1cblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgbWVkaXVtKSB7XG4gICRtZWRpdW0tdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KG1lZGl1bSl9Jyk7XG4gICRtZWRpdW0tb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobWVkaXVtIG9ubHkpfScpO1xufVxuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBsYXJnZSkge1xuICAkbGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KGxhcmdlKX0nKTtcbiAgJGxhcmdlLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KGxhcmdlIG9ubHkpfScpO1xufVxuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCB4bGFyZ2UpIHtcbiAgJHhsYXJnZS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeGxhcmdlKX0nKTtcbiAgJHhsYXJnZS1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4bGFyZ2Ugb25seSl9Jyk7XG59XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHh4bGFyZ2UpIHtcbiAgJHh4bGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHh4bGFyZ2UpfScpO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcmV2ZWFsXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgYSBtb2RhbC5cbi8vLyBAdHlwZSBDb2xvclxuJHJldmVhbC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHdpZHRoIG9mIGEgbW9kYWwsIHdpdGggbm8gY2xhc3MgYXBwbGllZC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtd2lkdGg6IDYwMHB4ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBtYXhpbXVtIHdpZHRoIG9mIGEgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLW1heC13aWR0aDogJGdsb2JhbC13aWR0aCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBpbnNpZGUgYSBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgYXJvdW5kIGEgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIHotaW5kZXggZm9yIG1vZGFscy4gVGhlIG92ZXJsYXkgdXNlcyB0aGlzIHZhbHVlLCB3aGlsZSB0aGUgbW9kYWwgaXRzZWxmIHVzZXMgdGhpcyB2YWx1ZSBwbHVzIG9uZS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtemluZGV4OiAxMDA1ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBtb2RhbCBvdmVybGF5cy5cbi8vLyBAdHlwZSBDb2xvclxuJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjQ1KSAhZGVmYXVsdDtcblxuXG4vLyBQbGFjZWhvbGRlciBzZWxlY3RvciBmb3IgbWVkaXVtLWFuZC11cCBtb2RhbHNcbi8vIFByZXZlbnRzIGR1cGxpY2F0ZSBDU1Mgd2hlbiBkZWZpbmluZyBtdWx0aXBsZSBSZXZlYWwgc2l6ZXNcbkBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICVyZXZlYWwtY2VudGVyZWQge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IGF1dG87XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gIH1cbn1cblxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgbW9kYWwgb3ZlcmxheS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmRdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgb3ZlcmxheS5cbkBtaXhpbiByZXZlYWwtb3ZlcmxheSgkYmFja2dyb3VuZDogJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmQpIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICRyZXZlYWwtemluZGV4O1xuXG4gIGRpc3BsYXk6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICBvdmVyZmxvdy15OiBzY3JvbGw7XG59XG5cbi8vLyBBZGRzIGJhc2Ugc3R5bGVzIGZvciBhIG1vZGFsLlxuQG1peGluIHJldmVhbC1tb2RhbC1iYXNlIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICB6LWluZGV4OiAkcmV2ZWFsLXppbmRleCArIDE7XG4gIC8vIFdvcmthcm91bmQgYW5kcm9pZCBicm93c2VyIHotaW5kZXggYnVnXG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcblxuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAkcmV2ZWFsLXBhZGRpbmc7XG5cbiAgYm9yZGVyOiAkcmV2ZWFsLWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJHJldmVhbC1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRyZXZlYWwtYmFja2dyb3VuZDtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIG1pbi1oZWlnaHQ6IDA7XG4gIH1cblxuICAvLyBNYWtlIHN1cmUgcm93cyBkb24ndCBoYXZlIGEgbWluLXdpZHRoIG9uIHRoZW1cbiAgLmNvbHVtbiB7XG4gICAgbWluLXdpZHRoOiAwO1xuICB9XG5cbiAgLy8gU3RyaXAgbWFyZ2lucyBmcm9tIHRoZSBsYXN0IGl0ZW0gaW4gdGhlIG1vZGFsXG4gID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8vIEFkanVzdHMgdGhlIHdpZHRoIG9mIGEgbW9kYWwuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCAtIFdpZHRoIG9mIHRoZSBtb2RhbC4gR2VuZXJhbGx5IGEgcGVyY2VudGFnZS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1heC13aWR0aCBbJHJldmVhbC1tYXgtd2lkdGhdIC0gTWF4aW11bSB3aWR0aCBvZiB0aGUgbW9kYWwuXG5AbWl4aW4gcmV2ZWFsLW1vZGFsLXdpZHRoKFxuICAkd2lkdGg6ICRyZXZlYWwtd2lkdGgsXG4gICRtYXgtd2lkdGg6ICRyZXZlYWwtbWF4LXdpZHRoXG4pIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICBAZXh0ZW5kICVyZXZlYWwtY2VudGVyZWQ7XG4gICAgd2lkdGg6ICR3aWR0aDtcbiAgICBtYXgtd2lkdGg6ICRtYXgtd2lkdGg7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBmdWxsLXNjcmVlbiBtb2RhbCwgd2hpY2ggc3RyZXRjaGVzIHRoZSBmdWxsIHdpZHRoIGFuZCBoZWlnaHQgb2YgdGhlIHdpbmRvdy5cbkBtaXhpbiByZXZlYWwtbW9kYWwtZnVsbHNjcmVlbiB7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcblxuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiBub25lO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGhlaWdodDogMTAwdmg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tZHVwbGljYXRlLXByb3BlcnRpZXNcbiAgbWluLWhlaWdodDogMTAwdmg7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuXG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tcmV2ZWFsIHtcbiAgLy8gW1RPRE9dIElzIHRoaXMgbmVjZXNzYXJ5P1xuICBib2R5LmlzLXJldmVhbC1vcGVuIHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxuXG4gIC8vIGh0bWwgZ2V0cyB0aGlzIGNsYXNzIG9ubHkgaW4gaU9TXG4gIGh0bWwuaXMtcmV2ZWFsLW9wZW4sXG4gIGh0bWwuaXMtcmV2ZWFsLW9wZW4gYm9keSB7XG4gICAgbWluLWhlaWdodDogMTAwJTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgfVxuXG4gIC8vIE92ZXJsYXlcbiAgLnJldmVhbC1vdmVybGF5IHtcbiAgICBAaW5jbHVkZSByZXZlYWwtb3ZlcmxheTtcbiAgfVxuXG4gIC8vIE1vZGFsIGNvbnRhaW5lclxuICAucmV2ZWFsIHtcbiAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtYmFzZTtcbiAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtd2lkdGgoJHJldmVhbC13aWR0aCk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMTAwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG5cbiAgICAvLyBSZW1vdmUgcGFkZGluZ1xuICAgICYuY29sbGFwc2Uge1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAvLyBTaXppbmcgY2xhc3Nlc1xuICAgICYudGlueSAgeyBAaW5jbHVkZSByZXZlYWwtbW9kYWwtd2lkdGgoMzAlKTsgfVxuICAgICYuc21hbGwgeyBAaW5jbHVkZSByZXZlYWwtbW9kYWwtd2lkdGgoNTAlKTsgfVxuICAgICYubGFyZ2UgeyBAaW5jbHVkZSByZXZlYWwtbW9kYWwtd2lkdGgoOTAlKTsgfVxuXG4gICAgLy8gRnVsbC1zY3JlZW4gbW9kZVxuICAgICYuZnVsbCB7XG4gICAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtZnVsbHNjcmVlbjtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCQtemYtemVyby1icmVha3BvaW50IG9ubHkpIHtcbiAgICAgIEBpbmNsdWRlIHJldmVhbC1tb2RhbC1mdWxsc2NyZWVuO1xuICAgIH1cblxuICAgICYud2l0aG91dC1vdmVybGF5IHtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8gTWFyZ2luIEdyaWQgY2xhc3Nlc1xuQG1peGluIHh5LWJhc2UtZ3JpZC1jbGFzc2VzIHtcblxuICAvLyBHcmlkIENvbnRhaW5lclxuICAuZ3JpZC1jb250YWluZXIge1xuICAgIEBpbmNsdWRlIHh5LWdyaWQtY29udGFpbmVyO1xuXG4gICAgJi5mbHVpZCB7XG4gICAgICBAaW5jbHVkZSB4eS1ncmlkLWNvbnRhaW5lcigxMDAlKTtcbiAgICB9XG5cbiAgICAmLmZ1bGwge1xuICAgICAgQGluY2x1ZGUgeHktZ3JpZC1jb250YWluZXIoMTAwJSwgMCk7XG4gICAgfVxuICB9XG5cbiAgLy8gQmFzZSBncmlkIHN0eWxlc1xuICAuZ3JpZC14IHtcbiAgICBAaW5jbHVkZSB4eS1ncmlkO1xuICB9XG5cbiAgLmNlbGwge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZSgpO1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKCRncmlkLWNvbHVtbnMsIGZhbHNlLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcpO1xuXG4gICAgJi5hdXRvIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZShhdXRvKTtcbiAgICB9XG5cbiAgICAmLnNocmluayB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLWJhc2Uoc2hyaW5rKTtcbiAgICB9XG5cbiAgfVxuICAuZ3JpZC14IHtcbiAgICA+IC5hdXRvIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKGF1dG8sIGZhbHNlKTtcbiAgICB9XG5cbiAgICA+IC5zaHJpbmsge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoc2hyaW5rLCBmYWxzZSk7XG4gICAgfVxuICB9XG5cbiAgLy8gQXV0byB3aWR0aFxuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgIC8vIFRoaXMgaXMgYSBiaXQgb2YgYSBoYWNrL3dvcmthcm91bmQsIHNlZSB0aGVzZSBpc3N1ZXMgJiBQUnMgZm9yIHRoZSBiYWNrc3Rvcnk6XG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3p1cmIvZm91bmRhdGlvbi1zaXRlcy9pc3N1ZXMvMTAyNDRcbiAgICAvLyBodHRwczovL2dpdGh1Yi5jb20venVyYi9mb3VuZGF0aW9uLXNpdGVzL3B1bGwvMTAyMjIgYW5kXG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3p1cmIvZm91bmRhdGlvbi1zaXRlcy9wdWxsLzEwMTY0XG4gICAgLmdyaWQteCB7XG4gICAgICAkc3RyOiBcIj4gLiN7JC16Zi1zaXplfS1zaHJpbmssID4gLiN7JC16Zi1zaXplfS1mdWxsXCI7XG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgICAkc3RyOiAkc3RyICsgXCIsID4gLiN7JC16Zi1zaXplfS0jeyRpfVwiXG4gICAgICB9XG4gICAgICAjeyRzdHJ9IHtcbiAgICAgICAgZmxleC1iYXNpczogYXV0bztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgIEBpZiBub3QoJC16Zi1zaXplID09IHNtYWxsKSB7XG4gICAgICAuZ3JpZC14ID4gLiN7JC16Zi1zaXplfS1hdXRvIHtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1iYXNlKGF1dG8pO1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYyhhdXRvLCBmYWxzZSk7XG4gICAgICB9XG5cbiAgICAgIC5ncmlkLXggPiAuI3skLXpmLXNpemV9LXNocmluayB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZShzaHJpbmspO1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYyhzaHJpbmssIGZhbHNlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgLy8gU2l6aW5nIChwZXJjZW50YWdlKVxuICAgICAgLmdyaWQteCA+IC4jeyQtemYtc2l6ZX0tI3skaX0ge1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYygkaSwgZmFsc2UsICRndXR0ZXItdHlwZTogcGFkZGluZyk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUmVzZXQgd2lkdGggd2hlbiB1c2luZyBgLmdyaWQtbWFyZ2luLXhgIG5vdCBvbiBgLmdyaWQteGBcbiAgLmdyaWQtbWFyZ2luLXg6bm90KC5ncmlkLXgpID4gLmNlbGwge1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG5cbiAgLy8gUmVzZXQgaGVpZ2h0IHdoZW4gdXNpbmcgYC5ncmlkLW1hcmdpbi15YCBub3Qgb24gYC5ncmlkLXlgXG4gIC5ncmlkLW1hcmdpbi15Om5vdCguZ3JpZC15KSA+IC5jZWxsIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbn1cblxuQG1peGluIC14eS1icmVha3BvaW50LWNlbGwtY2xhc3NlcygkY2xhc3MtYnJlYWtwb2ludCwgJGd1dHRlci1icmVha3BvaW50LCAkdmVydGljYWwpIHtcbiAgJHByZWZpeDogaWYoJGNsYXNzLWJyZWFrcG9pbnQgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQsICcnLCAnI3skY2xhc3MtYnJlYWtwb2ludH0tJyk7XG4gID4gLiN7JHByZWZpeH1hdXRvIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYyhhdXRvLCBmYWxzZSwgJGJyZWFrcG9pbnQ6ICRndXR0ZXItYnJlYWtwb2ludCwgJHZlcnRpY2FsOiAkdmVydGljYWwpO1xuICB9XG5cbiAgPiAuI3skcHJlZml4fXNocmluayB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoc2hyaW5rLCBmYWxzZSwgJGJyZWFrcG9pbnQ6ICRndXR0ZXItYnJlYWtwb2ludCwgJHZlcnRpY2FsOiAkdmVydGljYWwpO1xuICB9XG5cbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAvLyBTaXppbmcgKHBlcmNlbnRhZ2UpXG4gICAgJGNsYXNzbmFtZTogaWYoJHZlcnRpY2FsLCAnLiN7JGNsYXNzLWJyZWFrcG9pbnR9LSN7JGl9JywgJy4jeyRjbGFzcy1icmVha3BvaW50fS0jeyRpfScpO1xuXG4gICAgPiAjeyRjbGFzc25hbWV9IHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKCRpLCBmYWxzZSwgJGJyZWFrcG9pbnQ6ICRndXR0ZXItYnJlYWtwb2ludCwgJHZlcnRpY2FsOiAkdmVydGljYWwpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBNYXJnaW4gR3JpZCBjbGFzc2VzXG5AbWl4aW4geHktbWFyZ2luLWdyaWQtY2xhc3NlcyhcbiAgJGd1dHRlci1wb3NpdGlvbjogbGVmdCByaWdodCxcbiAgJHZlcnRpY2FsOiBmYWxzZSxcbiAgJHdyYXBwaW5nLXNlbGVjdG9yOiAnLmdyaWQtbWFyZ2luLXgnXG4pe1xuICAjeyR3cmFwcGluZy1zZWxlY3Rvcn0ge1xuICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJG5lZ2F0aXZlOiB0cnVlLCAkZ3V0dGVyLXBvc2l0aW9uOiAkZ3V0dGVyLXBvc2l0aW9uKTtcblxuICAgIC8vIEJhc2UgY2VsbCBzdHlsZXNcbiAgICA+IC5jZWxsIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKCR2ZXJ0aWNhbDogJHZlcnRpY2FsKTtcbiAgICB9XG5cbiAgICAvLyBiYXNlIHN0eWxlcyBuZWVkIHRvIGFsbCBiZSBiZWZvcmUgdGhlIGF1dG8gYW5kIHNocmluayBzdHlsZXNcbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgICAgQGlmKHR5cGUtb2YoJGdyaWQtbWFyZ2luLWd1dHRlcnMpID09ICdtYXAnIGFuZCBtYXAtaGFzLWtleSgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJC16Zi1zaXplKSBhbmQgJC16Zi1zaXplICE9ICQtemYtemVyby1icmVha3BvaW50KSB7XG4gICAgICAgID4gLmNlbGwge1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKCRicmVha3BvaW50OiAkLXpmLXNpemUsICR2ZXJ0aWNhbDogJHZlcnRpY2FsKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG5cbiAgICAgIC8vIFRoaXMgaXMgcHVyZWx5IGZvciByZXNwb25zaXZlIGd1dHRlcnMgLSB0aGUgbWFyZ2luIGdyaWQgaGFzIHRvIGdvIGJhY2sgYW5kIGFkanVzdCB3aWR0aHMgKG9yIGhlaWdodHMpXG4gICAgICAvLyBmb3IgcHJpb3IgYnJlYWtwb2ludHMgYmFzZWQgb24gdGhlIHJlc3BvbnNpdmUgZ3V0dGVyLlxuICAgICAgQGlmKHR5cGUtb2YoJGdyaWQtbWFyZ2luLWd1dHRlcnMpID09ICdtYXAnIGFuZCBtYXAtaGFzLWtleSgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJC16Zi1zaXplKSkge1xuICAgICAgICBAZWFjaCAkYnAgaW4gLXpmLWJyZWFrcG9pbnRzLWxlc3MtdGhhbigkLXpmLXNpemUpIHtcbiAgICAgICAgICBAaWYobWFwLWhhcy1rZXkoJGdyaWQtbWFyZ2luLWd1dHRlcnMsICRicCkpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIC14eS1icmVha3BvaW50LWNlbGwtY2xhc3NlcygkYnAsICQtemYtc2l6ZSwgJHZlcnRpY2FsKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgLXh5LWJyZWFrcG9pbnQtY2VsbC1jbGFzc2VzKCQtemYtc2l6ZSwgJC16Zi1zaXplLCAkdmVydGljYWwpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBQYWRkaW5nIEdyaWQgY2xhc3Nlc1xuQG1peGluIHh5LXBhZGRpbmctZ3JpZC1jbGFzc2VzIHtcbiAgLmdyaWQtcGFkZGluZy14IHtcblxuICAgIC8vIE5lZ2F0aXZlIG1hcmdpbiBmb3IgbmVzdGVkIGdyaWRzXG4gICAgLmdyaWQtcGFkZGluZy14IHtcbiAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJG5lZ2F0aXZlOiB0cnVlKTtcbiAgICB9XG5cbiAgICAvLyBOZWdhdGl2ZSBtYXJnaW4gZm9yIGdyaWRzIHdpdGhpbiBgZ3JpZC1jb250YWluZXIvZ3JpZC1jb250YWluZXIuZmx1aWRgXG4gICAgLy8gVGhpcyBhbGxvd3MgbWFyZ2luIGFuZCBwYWRkaW5nIGdyaWRzIHRvIGxpbmUgdXAgd2l0aCBlYWNob3RoZXJcbiAgICAuZ3JpZC1jb250YWluZXI6bm90KC5mdWxsKSA+ICYge1xuICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkbmVnYXRpdmU6IHRydWUpO1xuICAgIH1cblxuICAgIC8vIEJhc2UgY2VsbCBzdHlsZXNcbiAgICA+IC5jZWxsIHtcbiAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlcnM6ICRncmlkLXBhZGRpbmctZ3V0dGVycywgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gQmxvY2sgR3JpZCBjbGFzc2VzXG5AbWl4aW4geHktYmxvY2stZ3JpZC1jbGFzc2VzKCRtYXJnaW4tZ3JpZDogdHJ1ZSwgJHBhZGRpbmctZ3JpZDogdHJ1ZSkge1xuICBAaWYgJHBhZGRpbmctZ3JpZCB7XG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICR4eS1ibG9jay1ncmlkLW1heCB7XG4gICAgICAgIC4jeyQtemYtc2l6ZX0tdXAtI3skaX0ge1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtbGF5b3V0KCRpLCAnLmNlbGwnLCBmYWxzZSwgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiAkbWFyZ2luLWdyaWQge1xuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkeHktYmxvY2stZ3JpZC1tYXgge1xuICAgICAgICAvLyBUaGlzIGlzIHB1cmVseSBmb3IgcmVzcG9uc2l2ZSBndXR0ZXJzIC0gdGhlIG1hcmdpbiBncmlkIGhhcyB0byBnbyBiYWNrIGFuZCBhZGp1c3Qgd2lkdGhzIChvciBoZWlnaHRzKVxuICAgICAgICAvLyBmb3IgcHJpb3IgYnJlYWtwb2ludHMgYmFzZWQgb24gdGhlIHJlc3BvbnNpdmUgZ3V0dGVyLlxuICAgICAgICBAaWYodHlwZS1vZigkZ3JpZC1tYXJnaW4tZ3V0dGVycykgPT0gJ21hcCcgYW5kIG1hcC1oYXMta2V5KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkLXpmLXNpemUpKSB7XG4gICAgICAgICAgQGVhY2ggJGJwIGluIC16Zi1icmVha3BvaW50cy1sZXNzLXRoYW4oJC16Zi1zaXplKSB7XG4gICAgICAgICAgICBAaWYobWFwLWhhcy1rZXkoJGdyaWQtbWFyZ2luLWd1dHRlcnMsICRicCkpIHtcbiAgICAgICAgICAgICAgLmdyaWQtbWFyZ2luLXguI3skYnB9LXVwLSN7JGl9IHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWxheW91dCgkaSwgJy5jZWxsJywgZmFsc2UsICRndXR0ZXItdHlwZTogbWFyZ2luLCAkYnJlYWtwb2ludDogJGJwKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkeHktYmxvY2stZ3JpZC1tYXgge1xuICAgICAgICAuZ3JpZC1tYXJnaW4teC4jeyQtemYtc2l6ZX0tdXAtI3skaX0ge1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtbGF5b3V0KCRpLCAnLmNlbGwnLCBmYWxzZSwgJGd1dHRlci10eXBlOiBtYXJnaW4sICRicmVha3BvaW50OiAkLXpmLXNpemUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIENvbGxhcHNlIGNsYXNzZXNcbkBtaXhpbiB4eS1jb2xsYXBzZS1ncmlkLWNsYXNzZXMoJG1hcmdpbi1ncmlkOiB0cnVlLCAkcGFkZGluZy1ncmlkOiB0cnVlKSB7XG4gIEBlYWNoICRicCBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICBAaWYgJG1hcmdpbi1ncmlkIHtcbiAgICAgIC4jeyRicH0tbWFyZ2luLWNvbGxhcHNlIHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1jb2xsYXBzZSgkZ3V0dGVyLXR5cGU6IG1hcmdpbiwgJG1pbi1icmVha3BvaW50OiAkYnApO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkcGFkZGluZy1ncmlkIHtcbiAgICAgIC4jeyRicH0tcGFkZGluZy1jb2xsYXBzZSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtY29sbGFwc2UoJGd1dHRlci10eXBlOiBwYWRkaW5nLCAkbWluLWJyZWFrcG9pbnQ6ICRicCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIE9mZnNldCBjbGFzc2VzXG5AbWl4aW4geHktb2Zmc2V0LWNlbGwtY2xhc3NlcyB7XG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAvLyBPZmZzZXRzXG4gICAgICAkbzogJGkgLSAxO1xuXG4gICAgICAuI3skLXpmLXNpemV9LW9mZnNldC0jeyRvfSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtb2Zmc2V0KCRvLCAkZ3V0dGVyczogJGdyaWQtcGFkZGluZy1ndXR0ZXJzLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcsICRicmVha3BvaW50OiAkLXpmLXNpemUpO1xuICAgICAgfVxuXG4gICAgICAuZ3JpZC1tYXJnaW4teCA+IC4jeyQtemYtc2l6ZX0tb2Zmc2V0LSN7JG99IHtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1vZmZzZXQoJG8sICRicmVha3BvaW50OiAkLXpmLXNpemUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBWZXJ0aWNhbCBHcmlkIGNsYXNzZXNcbkBtaXhpbiB4eS12ZXJ0aWNhbC1ncmlkLWNsYXNzZXMoXG4gICRtYXJnaW4tZ3JpZDogdHJ1ZSxcbiAgJHBhZGRpbmctZ3JpZDogdHJ1ZVxuKSB7XG5cbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICBAaWYgbm90KCQtemYtc2l6ZSA9PSBzbWFsbCkge1xuICAgIH1cbiAgfVxuXG4gIC5ncmlkLXkge1xuICAgIEBpbmNsdWRlIHh5LWdyaWQodmVydGljYWwsIGZhbHNlKTtcblxuXG4gICAgPiAuY2VsbCB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLXJlc2V0KCk7XG4gICAgfVxuXG4gICAgPiAuYXV0byB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYyhhdXRvLCBmYWxzZSwgJGJyZWFrcG9pbnQ6ICQtemYtc2l6ZSwgJHZlcnRpY2FsOiB0cnVlKTtcbiAgICB9XG5cbiAgICA+IC5zaHJpbmsge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoc2hyaW5rLCBmYWxzZSwgJGJyZWFrcG9pbnQ6ICQtemYtc2l6ZSwgJHZlcnRpY2FsOiB0cnVlKTtcbiAgICB9XG5cblxuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgICAvLyBUaGlzIGlzIGEgYml0IG9mIGEgaGFjay93b3JrYXJvdW5kLCBzZWUgdGhlc2UgaXNzdWVzIGFuZCBQUnMgZm9yIHRoZSBiYWNrc3Rvcnk6XG4gICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20venVyYi9mb3VuZGF0aW9uLXNpdGVzL2lzc3Vlcy8xMDI0NFxuICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3p1cmIvZm91bmRhdGlvbi1zaXRlcy9wdWxsLzEwMjIyIGFuZFxuICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3p1cmIvZm91bmRhdGlvbi1zaXRlcy9wdWxsLzEwMTY0XG4gICAgICAkc3RyOiBcIj4gLiN7JC16Zi1zaXplfS1zaHJpbmssID4gLiN7JC16Zi1zaXplfS1mdWxsXCI7XG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgICAkc3RyOiAkc3RyICsgXCIsID4gLiN7JC16Zi1zaXplfS0jeyRpfVwiXG4gICAgICB9XG4gICAgICAjeyRzdHJ9IHtcbiAgICAgICAgZmxleC1iYXNpczogYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgICAgQGlmIG5vdCgkLXpmLXNpemUgPT0gc21hbGwpIHtcbiAgICAgICAgPiAuI3skLXpmLXNpemV9LWF1dG8ge1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZShhdXRvKTtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYyhhdXRvLCBmYWxzZSwgJGJyZWFrcG9pbnQ6ICQtemYtc2l6ZSwgJHZlcnRpY2FsOiB0cnVlKTtcbiAgICAgICAgfVxuXG4gICAgICAgID4gLiN7JC16Zi1zaXplfS1zaHJpbmsge1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKHNocmluaywgZmFsc2UsICRicmVha3BvaW50OiAkLXpmLXNpemUsICR2ZXJ0aWNhbDogdHJ1ZSk7XG4gICAgICAgIH1cblxuICAgICAgfVxuXG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgICAvLyBTaXppbmcgKHBlcmNlbnRhZ2UpXG4gICAgICAgID4gLiN7JC16Zi1zaXplfS0jeyRpfSB7XG4gICAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoJGksIGZhbHNlLCAkdmVydGljYWw6IHRydWUsICRndXR0ZXItdHlwZTogcGFkZGluZyk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgIH1cbiAgfVxuXG4gIEBpZiAkcGFkZGluZy1ncmlkIHtcbiAgICAuZ3JpZC1wYWRkaW5nLXkge1xuICAgICAgLy8gTmVnYXRpdmUgbWFyZ2luIGZvciBuZXN0ZWQgZ3JpZHNcbiAgICAgIC5ncmlkLXBhZGRpbmcteSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJG5lZ2F0aXZlOiB0cnVlLCAkZ3V0dGVyLXBvc2l0aW9uOiB0b3AgYm90dG9tKTtcbiAgICAgIH1cblxuICAgICAgLy8gQmFzZSBjZWxsIHN0eWxlc1xuICAgICAgPiAuY2VsbCB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlcnM6ICRncmlkLXBhZGRpbmctZ3V0dGVycywgJGd1dHRlci10eXBlOiBwYWRkaW5nLCAkZ3V0dGVyLXBvc2l0aW9uOiB0b3AgYm90dG9tKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgJG1hcmdpbi1ncmlkIHtcbiAgICBAaW5jbHVkZSB4eS1tYXJnaW4tZ3JpZC1jbGFzc2VzKHRvcCBib3R0b20sIHRydWUsICcuZ3JpZC1tYXJnaW4teScpO1xuICB9XG5cbn1cblxuQG1peGluIHh5LWZyYW1lLWdyaWQtY2xhc3NlcygkdmVydGljYWwtZ3JpZDogdHJ1ZSwgJG1hcmdpbi1ncmlkOiB0cnVlKSB7XG4gIC8vIEZyYW1lZCBncmlkIHN0eWxlc1xuICAuZ3JpZC1mcmFtZSB7XG4gICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZTtcbiAgfVxuXG4gIC5jZWxsIC5ncmlkLWZyYW1lIHtcbiAgICB3aWR0aDogMTAwJTsgLy8gU2FtZSBhcyBpbmNsdWRlIHdpdGggJG5lc3RlZCwgYnV0IHdpdGggbGVzcyBjc3NcbiAgfVxuXG4gIC5jZWxsLWJsb2NrIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrKCk7XG4gIH1cblxuICAuY2VsbC1ibG9jay15IHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrKHRydWUpO1xuICB9XG5cblxuICAuY2VsbC1ibG9jay1jb250YWluZXIge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtYmxvY2stY29udGFpbmVyKCk7XG4gIH1cblxuXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoZmFsc2UpIHtcblxuICAgIC4jeyQtemYtc2l6ZX0tZ3JpZC1mcmFtZSB7XG4gICAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lO1xuICAgIH1cblxuICAgIC5jZWxsIC4jeyQtemYtc2l6ZX0tZ3JpZC1mcmFtZSB7XG4gICAgICB3aWR0aDogMTAwJTsgLy8gU2FtZSBhcyBpbmNsdWRlIHdpdGggJG5lc3RlZCwgYnV0IHdpdGggbGVzcyBjc3NcbiAgICB9XG5cbiAgICAuI3skLXpmLXNpemV9LWNlbGwtYmxvY2sge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1ibG9jaygpO1xuICAgIH1cblxuICAgIC4jeyQtemYtc2l6ZX0tY2VsbC1ibG9jay1jb250YWluZXIge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1ibG9jay1jb250YWluZXIoKTtcbiAgICB9XG5cbiAgICAuI3skLXpmLXNpemV9LWNlbGwtYmxvY2steSB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrKHRydWUpO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkdmVydGljYWwtZ3JpZCB7XG4gICAgLmdyaWQteSB7XG4gICAgICAmLmdyaWQtZnJhbWUge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZSh0cnVlKTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludChmYWxzZSkge1xuICAgICAgICAmLiN7JC16Zi1zaXplfS1ncmlkLWZyYW1lIHtcbiAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lKHRydWUpO1xuICAgICAgICB9XG5cbiAgICAgIH1cbiAgICB9XG4gICAgLmNlbGwge1xuICAgICAgLmdyaWQteS5ncmlkLWZyYW1lIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlOyAvLyBTYW1lIGFzIGluY2x1ZGUgd2l0aCAkbmVzdGVkLCBidXQgd2l0aCBsZXNzIGNzc1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludChmYWxzZSkge1xuICAgICAgICAuZ3JpZC15LiN7JC16Zi1zaXplfS1ncmlkLWZyYW1lIHtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7IC8vIFNhbWUgYXMgaW5jbHVkZSB3aXRoICRuZXN0ZWQsIGJ1dCB3aXRoIGxlc3MgY3NzXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGlmICRtYXJnaW4tZ3JpZCB7XG4gICAgQGluY2x1ZGUgeHktbWFyZ2luLWdyaWQtY2xhc3Nlcyh0b3AgYm90dG9tLCB0cnVlLCAnLmdyaWQtbWFyZ2luLXknKTtcbiAgICAuZ3JpZC1mcmFtZS5ncmlkLW1hcmdpbi15IHtcbiAgICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWUodHJ1ZSwgZmFsc2UsICRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkaW5jbHVkZS1iYXNlOiBmYWxzZSk7XG4gICAgfVxuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoZmFsc2UpIHtcbiAgICAgIC5ncmlkLW1hcmdpbi15LiN7JC16Zi1zaXplfS1ncmlkLWZyYW1lIHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZSh0cnVlLCBmYWxzZSwgJGdyaWQtbWFyZ2luLWd1dHRlcnMsICQtemYtc2l6ZSwgZmFsc2UpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBGaW5hbCBjbGFzc2VzXG5AbWl4aW4gZm91bmRhdGlvbi14eS1ncmlkLWNsYXNzZXMoXG4gICRiYXNlLWdyaWQ6IHRydWUsXG4gICRtYXJnaW4tZ3JpZDogdHJ1ZSxcbiAgJHBhZGRpbmctZ3JpZDogdHJ1ZSxcbiAgJGJsb2NrLWdyaWQ6IHRydWUsXG4gICRjb2xsYXBzZTogdHJ1ZSxcbiAgJG9mZnNldDogdHJ1ZSxcbiAgJHZlcnRpY2FsLWdyaWQ6IHRydWUsXG4gICRmcmFtZS1ncmlkOiB0cnVlXG4pIHtcblxuICAvLyBCYXNlIGdyaWQgc3R5bGVzXG4gIEBpZigkYmFzZS1ncmlkKSB7XG4gICAgQGluY2x1ZGUgeHktYmFzZS1ncmlkLWNsYXNzZXMoKTtcbiAgfVxuXG4gIC8vIE1hcmdpbiBncmlkXG4gIEBpZigkbWFyZ2luLWdyaWQpIHtcbiAgICBAaW5jbHVkZSB4eS1tYXJnaW4tZ3JpZC1jbGFzc2VzKCk7XG4gIH1cblxuICAvLyBQYWRkaW5nIGdyaWRcbiAgQGlmKCRwYWRkaW5nLWdyaWQpIHtcbiAgICBAaW5jbHVkZSB4eS1wYWRkaW5nLWdyaWQtY2xhc3NlcygpO1xuICB9XG5cbiAgLy8gQmxvY2sgZ3JpZFxuICBAaWYoJGJsb2NrLWdyaWQpIHtcbiAgICBAaW5jbHVkZSB4eS1ibG9jay1ncmlkLWNsYXNzZXMoJG1hcmdpbi1ncmlkLCAkcGFkZGluZy1ncmlkKTtcbiAgfVxuXG4gIC8vIENvbGxhcHNlIGd1dHRlcnNcbiAgQGlmKCRjb2xsYXBzZSkge1xuICAgIEBpbmNsdWRlIHh5LWNvbGxhcHNlLWdyaWQtY2xhc3NlcygkbWFyZ2luLWdyaWQsICRwYWRkaW5nLWdyaWQpO1xuICB9XG5cbiAgLy8gT2Zmc2V0IGd1dHRlcnNcbiAgQGlmKCRvZmZzZXQpIHtcbiAgICBAaW5jbHVkZSB4eS1vZmZzZXQtY2VsbC1jbGFzc2VzKCk7XG4gIH1cblxuICAvLyBWZXJ0aWNhbCBncmlkXG4gIEBpZigkdmVydGljYWwtZ3JpZCkge1xuICAgIEBpbmNsdWRlIHh5LXZlcnRpY2FsLWdyaWQtY2xhc3NlcygkbWFyZ2luLWdyaWQsICRwYWRkaW5nLWdyaWQpO1xuICB9XG5cbiAgQGlmICgkZnJhbWUtZ3JpZCkge1xuICAgIEBpbmNsdWRlIHh5LWZyYW1lLWdyaWQtY2xhc3NlcygkdmVydGljYWwtZ3JpZCwgJG1hcmdpbi1ncmlkKVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vLyBDcmVhdGUgZ3V0dGVycyBmb3IgYSBjZWxsL2NvbnRhaW5lci5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBUeXBlIG9mIGd1dHRlciB0byBvdXRwdXQuIEFjY2VwdHMgZWl0aGVyIG1hcmdpbiBvciBwYWRkaW5nLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGd1dHRlci1wb3NpdGlvbiBbcmlnaHQgbGVmdF0gLSBUaGUgcG9zaXRpb24gdG8gYXBwbHkgZ3V0dGVycyB0by4gQWNjZXB0cyBgdG9wYCwgYGJvdHRvbWAsIGBsZWZ0YCwgYHJpZ2h0YCBpbiBhbnkgY29tYmluYXRpb24uXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkbmVnYXRpdmUgW2ZhbHNlXSAtIFdoZXRoZXIgdG8gYXBwbHkgdGhlIGd1dHRlciBhcyBhIG5lZ2F0aXZlIHZhbHVlLiBDb21tb25seSB1c2VkIGZvciBuZXN0ZWQgZ3JpZHMuXG5AbWl4aW4geHktZ3V0dGVycyhcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGd1dHRlci1wb3NpdGlvbjogcmlnaHQgbGVmdCxcbiAgJG5lZ2F0aXZlOiBmYWxzZVxuKSB7XG4gICRvcGVyYXRvcjogaWYoJG5lZ2F0aXZlLCAnLScsICcnKTtcblxuICAvLyBJZiB3ZSBoYXZlIGRlY2xhcmVkIG5lZ2F0aXZlIGd1dHRlcnMsIGZvcmNlIHR5cGUgdG8gYG1hcmdpbi5cbiAgJGd1dHRlci10eXBlOiBpZigkbmVnYXRpdmUsICdtYXJnaW4nLCAkZ3V0dGVyLXR5cGUpO1xuXG4gIC8vIE91dHB1dCBvdXIgbWFyZ2luIGd1dHRlcnMuXG4gIEBpZiAodHlwZS1vZigkZ3V0dGVycykgPT0gJ21hcCcpIHtcbiAgICBAaW5jbHVkZSAtemYtYnJlYWtwb2ludC12YWx1ZShhdXRvLCAkZ3V0dGVycykge1xuICAgICAgJGd1dHRlcjogcmVtLWNhbGMoJC16Zi1icC12YWx1ZSkgLyAyO1xuXG4gICAgICAvLyBMb29wIHRocm91Z2ggZWFjaCBndXR0ZXIgcG9zaXRpb25cbiAgICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICAgI3skZ3V0dGVyLXR5cGV9LSN7JHZhbHVlfTogI3skb3BlcmF0b3J9JGd1dHRlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2VpZiAodHlwZS1vZigkZ3V0dGVycykgPT0gJ251bWJlcicpIHtcbiAgICAkZ3V0dGVyOiByZW0tY2FsYygkZ3V0dGVycykgLyAyO1xuXG4gICAgLy8gTG9vcCB0aHJvdWdoIGVhY2ggZ3V0dGVyIHBvc2l0aW9uXG4gICAgQGVhY2ggJHZhbHVlIGluICRndXR0ZXItcG9zaXRpb24ge1xuICAgICAgI3skZ3V0dGVyLXR5cGV9LSN7JHZhbHVlfTogI3skb3BlcmF0b3J9JGd1dHRlcjtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIENyZWF0ZXMgYSBtYXggd2lkdGggY29udGFpbmVyLCBkZXNpZ25lZCB0byBob3VzZSB5b3VyIGdyaWQgY29udGVudC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggWyRncmlkLWNvbnRhaW5lcl0gLSBhIHdpZHRoIHRvIGxpbWl0IHRoZSBjb250YWluZXIgdG8uXG5AbWl4aW4geHktZ3JpZC1jb250YWluZXIoXG4gICR3aWR0aDogJGdyaWQtY29udGFpbmVyLFxuICAkcGFkZGluZzogJGdyaWQtY29udGFpbmVyLXBhZGRpbmdcbikge1xuICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXJzOiAkcGFkZGluZywgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcblxuICBtYXgtd2lkdGg6ICR3aWR0aDtcbiAgbWFyZ2luOiAwIGF1dG87XG59XG5cbi8vLyBDcmVhdGVzIGEgY29udGFpbmVyIGZvciB5b3VyIGZsZXggY2VsbHMuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXJlY3Rpb24gW2hvcml6b250YWxdIC0gRWl0aGVyIGhvcml6b250YWwgb3IgdmVydGljYWwgZGlyZWN0aW9uIG9mIGNlbGxzIHdpdGhpbi5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR3cmFwIFt0cnVlXSAtIElmIHRoZSBjZWxscyB3aXRoaW4gc2hvdWxkIHdyYXAgb3Igbm90LlxuQG1peGluIHh5LWdyaWQoXG4gICRkaXJlY3Rpb246IGhvcml6b250YWwsXG4gICR3cmFwOiB0cnVlXG4pIHtcbiAgJGRpcmVjdGlvbjogaWYoJGRpcmVjdGlvbiA9PSAnaG9yaXpvbnRhbCcsIHJvdywgY29sdW1uKTtcbiAgJHdyYXA6IGlmKCR3cmFwLCB3cmFwLCBub3dyYXApO1xuXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogJGRpcmVjdGlvbiAkd3JhcDtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTAwJSAhZGVmYXVsdDtcblxuLy8vIFJlbW92ZXMgdGhlIHVuaXQgKGUuZy4gcHgsIGVtLCByZW0pIGZyb20gYSB2YWx1ZSwgcmV0dXJuaW5nIHRoZSBudW1iZXIgb25seS5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbnVtIC0gTnVtYmVyIHRvIHN0cmlwIHVuaXQgZnJvbS5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBzYW1lIG51bWJlciwgc2FucyB1bml0LlxuQGZ1bmN0aW9uIHN0cmlwLXVuaXQoJG51bSkge1xuICBAcmV0dXJuICRudW0gLyAoJG51bSAqIDAgKyAxKTtcbn1cblxuLy8vIENvbnZlcnRzIG9uZSBvciBtb3JlIHBpeGVsIHZhbHVlcyBpbnRvIG1hdGNoaW5nIHJlbSB2YWx1ZXMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkdmFsdWVzIC0gT25lIG9yIG1vcmUgdmFsdWVzIHRvIGNvbnZlcnQuIEJlIHN1cmUgdG8gc2VwYXJhdGUgdGhlbSB3aXRoIHNwYWNlcyBhbmQgbm90IGNvbW1hcy4gSWYgeW91IG5lZWQgdG8gY29udmVydCBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0LCB3cmFwIHRoZSBsaXN0IGluIHBhcmVudGhlc2VzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSBbbnVsbF0gLSBUaGUgYmFzZSB2YWx1ZSB0byB1c2Ugd2hlbiBjYWxjdWxhdGluZyB0aGUgYHJlbWAuIElmIHlvdSdyZSB1c2luZyBGb3VuZGF0aW9uIG91dCBvZiB0aGUgYm94LCB0aGlzIGlzIDE2cHguIElmIHRoaXMgcGFyYW1ldGVyIGlzIGBudWxsYCwgdGhlIGZ1bmN0aW9uIHdpbGwgcmVmZXJlbmNlIHRoZSBgJGJhc2UtZm9udC1zaXplYCB2YXJpYWJsZSBhcyB0aGUgYmFzZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtMaXN0fSBBIGxpc3Qgb2YgY29udmVydGVkIHZhbHVlcy5cbkBmdW5jdGlvbiByZW0tY2FsYygkdmFsdWVzLCAkYmFzZTogbnVsbCkge1xuICAkcmVtLXZhbHVlczogKCk7XG4gICRjb3VudDogbGVuZ3RoKCR2YWx1ZXMpO1xuXG4gIC8vIElmIG5vIGJhc2UgaXMgZGVmaW5lZCwgZGVmZXIgdG8gdGhlIGdsb2JhbCBmb250IHNpemVcbiAgQGlmICRiYXNlID09IG51bGwge1xuICAgICRiYXNlOiAkZ2xvYmFsLWZvbnQtc2l6ZTtcbiAgfVxuXG4gIC8vIElmIHRoZSBiYXNlIGZvbnQgc2l6ZSBpcyBhICUsIHRoZW4gbXVsdGlwbHkgaXQgYnkgMTZweFxuICAvLyBUaGlzIGlzIGJlY2F1c2UgMTAwJSBmb250IHNpemUgPSAxNnB4IGluIG1vc3QgYWxsIGJyb3dzZXJzXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAnJScge1xuICAgICRiYXNlOiAoJGJhc2UgLyAxMDAlKSAqIDE2cHg7XG4gIH1cblxuICAvLyBVc2luZyByZW0gYXMgYmFzZSBhbGxvd3MgY29ycmVjdCBzY2FsaW5nXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAncmVtJyB7XG4gICAgJGJhc2U6IHN0cmlwLXVuaXQoJGJhc2UpICogMTZweDtcbiAgfVxuXG4gIEBpZiAkY291bnQgPT0gMSB7XG4gICAgQHJldHVybiAtemYtdG8tcmVtKCR2YWx1ZXMsICRiYXNlKTtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGNvdW50IHtcbiAgICAkcmVtLXZhbHVlczogYXBwZW5kKCRyZW0tdmFsdWVzLCAtemYtdG8tcmVtKG50aCgkdmFsdWVzLCAkaSksICRiYXNlKSk7XG4gIH1cblxuICBAcmV0dXJuICRyZW0tdmFsdWVzO1xufVxuXG4vLyBDb252ZXJ0cyBhIHVuaXRsZXNzLCBwaXhlbCwgb3IgcmVtIHZhbHVlIHRvIGVtLCBmb3IgdXNlIGluIGJyZWFrcG9pbnRzLlxuQGZ1bmN0aW9uIC16Zi1icC10by1lbSgkdmFsdWUpIHtcbiAgLy8gUGl4ZWwgYW5kIHVuaXRsZXNzIHZhbHVlcyBhcmUgY29udmVydGVkIHRvIHJlbXNcbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAncHgnIG9yIHVuaXRsZXNzKCR2YWx1ZSkge1xuICAgICR2YWx1ZTogcmVtLWNhbGMoJHZhbHVlLCAkYmFzZTogMTZweCk7XG4gIH1cblxuICAvLyBUaGVuIHRoZSB2YWx1ZSBpcyBjb252ZXJ0ZWQgdG8gZW1zXG4gIEByZXR1cm4gc3RyaXAtdW5pdCgkdmFsdWUpICogMWVtO1xufVxuXG4vLy8gQ29udmVydHMgYSBwaXhlbCB2YWx1ZSB0byBtYXRjaGluZyByZW0gdmFsdWUuICpBbnkqIHZhbHVlIHBhc3NlZCwgcmVnYXJkbGVzcyBvZiB1bml0LCBpcyBhc3N1bWVkIHRvIGJlIGEgcGl4ZWwgdmFsdWUuIEJ5IGRlZmF1bHQsIHRoZSBiYXNlIHBpeGVsIHZhbHVlIHVzZWQgdG8gY2FsY3VsYXRlIHRoZSByZW0gdmFsdWUgaXMgdGFrZW4gZnJvbSB0aGUgYCRnbG9iYWwtZm9udC1zaXplYCB2YXJpYWJsZS5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdmFsdWUgLSBQaXhlbCB2YWx1ZSB0byBjb252ZXJ0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSBbbnVsbF0gLSBCYXNlIGZvciBwaXhlbCBjb252ZXJzaW9uLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gQSBudW1iZXIgaW4gcmVtcywgY2FsY3VsYXRlZCBiYXNlZCBvbiB0aGUgZ2l2ZW4gdmFsdWUgYW5kIHRoZSBiYXNlIHBpeGVsIHZhbHVlLiByZW0gdmFsdWVzIGFyZSBwYXNzZWQgdGhyb3VnaCBhcyBpcy5cbkBmdW5jdGlvbiAtemYtdG8tcmVtKCR2YWx1ZSwgJGJhc2U6IG51bGwpIHtcbiAgLy8gQ2hlY2sgaWYgdGhlIHZhbHVlIGlzIGEgbnVtYmVyXG4gIEBpZiB0eXBlLW9mKCR2YWx1ZSkgIT0gJ251bWJlcicge1xuICAgIEB3YXJuIGluc3BlY3QoJHZhbHVlKSArICcgd2FzIHBhc3NlZCB0byByZW0tY2FsYygpLCB3aGljaCBpcyBub3QgYSBudW1iZXIuJztcbiAgICBAcmV0dXJuICR2YWx1ZTtcbiAgfVxuXG4gIC8vIFRyYW5zZm9ybSBlbSBpbnRvIHJlbSBpZiBzb21lb25lIGhhbmRzIG92ZXIgJ2VtJ3NcbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAnZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAqIDFyZW07XG4gIH1cblxuICAvLyBDYWxjdWxhdGUgcmVtIGlmIHVuaXRzIGZvciAkdmFsdWUgaXMgbm90IHJlbSBvciBlbVxuICBAaWYgdW5pdCgkdmFsdWUpICE9ICdyZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAvIHN0cmlwLXVuaXQoJGJhc2UpICogMXJlbTtcbiAgfVxuXG4gIC8vIFR1cm4gMHJlbSBpbnRvIDBcbiAgQGlmICR2YWx1ZSA9PSAwcmVtIHtcbiAgICAkdmFsdWU6IDA7XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZTtcbn1cblxuLy8vIENvbnZlcnRzIGEgcGl4ZWwsIHBlcmNlbnRhZ2UsIHJlbSBvciBlbSB2YWx1ZSB0byBhIHVuaXRsZXNzIHZhbHVlIGJhc2VkIG9uIGEgZ2l2ZW4gZm9udCBzaXplLiBJZGVhbCBmb3Igd29ya2luZyBvdXQgdW5pdGxlc3MgbGluZSBoZWlnaHRzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZSAtIFZhbHVlIHRvIGNvbnZlcnQgdG8gYSB1bml0bGVzcyBsaW5lIGhlaWdodFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSAtIFRoZSBmb250IHNpemUgdG8gdXNlIHRvIHdvcmsgb3V0IHRoZSBsaW5lIGhlaWdodCAtIGRlZmF1bHRzIHRvICRnbG9iYWwtZm9udC1zaXplXG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IC0gVW5pdGxlc3MgbnVtYmVyXG5AZnVuY3Rpb24gdW5pdGxlc3MtY2FsYygkdmFsdWUsICRiYXNlOiBudWxsKSB7XG5cbiAgLy8gSWYgbm8gYmFzZSBpcyBkZWZpbmVkLCBkZWZlciB0byB0aGUgZ2xvYmFsIGZvbnQgc2l6ZVxuICBAaWYgJGJhc2UgPT0gbnVsbCB7XG4gICAgJGJhc2U6ICRnbG9iYWwtZm9udC1zaXplO1xuICB9XG5cbiAgLy8gRmlyc3QsIGxldHMgY29udmVydCBvdXIgJGJhc2UgdG8gcGl4ZWxzXG5cbiAgLy8gSWYgdGhlIGJhc2UgZm9udCBzaXplIGlzIGEgJSwgdGhlbiBtdWx0aXBseSBpdCBieSAxNnB4XG4gIEBpZiB1bml0KCRiYXNlKSA9PSAnJScge1xuICAgICRiYXNlOiAoJGJhc2UgLyAxMDAlKSAqIDE2cHg7XG4gIH1cblxuICBAaWYgdW5pdCgkYmFzZSkgPT0gJ3JlbScge1xuICAgICRiYXNlOiBzdHJpcC11bml0KCRiYXNlKSAqIDE2cHg7XG4gIH1cblxuICBAaWYgdW5pdCgkYmFzZSkgPT0gJ2VtJyB7XG4gICAgJGJhc2U6IHN0cmlwLXVuaXQoJGJhc2UpICogMTZweDtcbiAgfVxuXG4gIC8vIE5vdyBsZXRzIGNvbnZlcnQgb3VyIHZhbHVlIHRvIHBpeGVscyB0b29cbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAnJScge1xuICAgICR2YWx1ZTogKCR2YWx1ZSAvIDEwMCUpICogJGJhc2U7XG4gIH1cblxuICBAaWYgdW5pdCgkdmFsdWUpID09ICdyZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAqICRiYXNlO1xuICB9XG5cbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAnZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAqICRiYXNlO1xuICB9XG5cbiAgLy8gJ3B4J1xuICBAaWYgdW5pdCgkdmFsdWUpID09ICdweCcge1xuICAgIEByZXR1cm4gc3RyaXAtdW5pdCgkdmFsdWUpIC8gc3RyaXAtdW5pdCgkYmFzZSk7XG4gIH1cblxuICAvLyBhc3N1bWUgdGhhdCBsaW5lLWhlaWdodHMgZ3JlYXRlcm4gdGhlbiAxMCBhcmUgbWVhbnQgdG8gYmUgYWJzb2x1dGUgaW4gJ3B4J1xuICBAaWYgdW5pdGxlc3MoJHZhbHVlKSBhbmQgKCR2YWx1ZSA+IDEwKSB7XG4gICAgQHJldHVybiAkdmFsdWUgLyBzdHJpcC11bml0KCRiYXNlKTtcbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gQ2FsY3VsYXRlIHRoZSBwZXJjZW50YWdlIHNpemUgb2YgYSBjZWxsLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJHNpemUgWyRncmlkLWNvbHVtbnNdIC0gU2l6ZSB0byBtYWtlIHRoZSBjZWxsLiBZb3UgY2FuIHBhc3MgYSB2YWx1ZSBpbiBtdWx0aXBsZSBmb3JtYXRzLCBzdWNoIGFzIGA2YCwgYDUwJWAsIGAxIG9mIDIgb3IgMS8zLlxuQGZ1bmN0aW9uIHh5LWNlbGwtc2l6ZShcbiAgJHNpemU6ICRncmlkLWNvbHVtbnNcbikge1xuICAvLyBQYXJzaW5nIHBlcmNlbnRzLCBkZWNpbWFscywgbiBvZiBuIGFuZCBudW1iZXIgY291bnRzXG4gIEBpZiB0eXBlLW9mKCRzaXplKSA9PSAnbnVtYmVyJyB7XG4gICAgQGlmIHVuaXQoJHNpemUpID09ICclJyB7XG4gICAgICAkc2l6ZTogJHNpemU7XG4gICAgfVxuICAgIEBlbHNlIGlmICRzaXplIDwgMSB7XG4gICAgICAkc2l6ZTogcGVyY2VudGFnZSgkc2l6ZSk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICRzaXplOiBwZXJjZW50YWdlKCRzaXplIC8gJGdyaWQtY29sdW1ucyk7XG4gICAgfVxuICB9XG5cbiAgLy8gUGFyc2luZyBcIm4gb2YgblwiIG9yIFwibi9uXCIgZXhwcmVzc2lvbnNcbiAgQGVsc2VpZiB0eXBlLW9mKCRzaXplKSA9PSAnbGlzdCcge1xuICAgIEBpZiBsZW5ndGgoJHNpemUpICE9IDMge1xuICAgICAgQGVycm9yICdXcm9uZyBzeW50YXggZm9yIHh5LWNlbGwtc2l6ZSgpLiBVc2UgdGhlIGZvcm1hdCBcIm4gb2YgblwiIG9yIFwibi9uXCIuJztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJHNpemU6IHBlcmNlbnRhZ2UobnRoKCRzaXplLCAxKSAvIG50aCgkc2l6ZSwgMykpO1xuICAgIH1cbiAgfVxuICAvLyBBbnl0aGluZyBlbHNlIGlzIGluY29ycmVjdFxuICBAZWxzZSB7XG4gICAgQGVycm9yICdXcm9uZyBzeW50YXggZm9yIHh5LWNlbGwtc2l6ZSgpLiBVc2UgYSBudW1iZXIsIGRlY2ltYWwsIHBlcmNlbnRhZ2UsIG9yIFwibiBvZiBuXCIgLyBcIm4vblwiLic7XG4gIH1cblxuICBAcmV0dXJuICRzaXplO1xufVxuXG4vLy8gU2V0cyBiYXNlIGZsZXggcHJvcGVydGllcyBmb3IgY2VsbHMuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIFtmdWxsXSAtIFRoZSBzaXplIG9mIHlvdXIgY2VsbC4gQWNjZXB0cyBgZnVsbGAsIGBhdXRvYCBvciBgc2hyaW5rYC5cbkBtaXhpbiB4eS1jZWxsLWJhc2UoJHNpemU6IGZ1bGwpIHtcbiAgQGlmKCRzaXplID09ICdmdWxsJykge1xuICAgIC8vIFRoaXMgaXMgdGhlIGJhc2Ugc3R5bGUsIGFsbCBvdGhlcnMgaW5oZXJpdCBmcm9tIGl0XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgbWluLWhlaWdodDogMHB4O1xuICAgIG1pbi13aWR0aDogMHB4O1xuICB9XG4gIEBlbHNlaWYgKCRzaXplID09ICdhdXRvJykge1xuICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gIH1cbiAgQGVsc2VpZiAoJHNpemUgPT0gJ3NocmluaycpIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgfVxufVxuXG4vLy8gUmVzZXRzIGEgY2VsbHMgd2lkdGggKG9yIGhlaWdodCBpZiB2ZXJ0aWNhbCBpcyB0cnVlKSBhcyB3ZWxsIGFzIHN0cmlwcyBpdHMgZ3V0dGVycy5cbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBTZXQgdG8gdHJ1ZSB0byBvdXRwdXQgdmVydGljYWwgKGhlaWdodCkgc3R5bGVzIHJhdGhlciB0aGFuIHdpZHRocy5cbkBtaXhpbiB4eS1jZWxsLXJlc2V0KCR2ZXJ0aWNhbDogdHJ1ZSkge1xuICAkZGlyZWN0aW9uOiBpZigkdmVydGljYWwgPT0gdHJ1ZSwgd2lkdGgsIGhlaWdodCk7XG4gICN7JGRpcmVjdGlvbn06IGF1dG87XG59XG5cbi8vIFNldHMgb3VyIGNlbGwgd2lkdGhzIG9yIGhlaWdodHMgZGVwZW5kaW5nIG9uIGd1dHRlciB0eXBlLlxuQG1peGluIC14eS1jZWxsLXByb3BlcnRpZXMoJHNpemUsICRtYXJnaW4tZ3V0dGVyLCAkdmVydGljYWwpIHtcbiAgJGRpcmVjdGlvbjogaWYoJHZlcnRpY2FsID09IHRydWUsIGhlaWdodCwgd2lkdGgpO1xuICBAaWYoJHNpemUgPT0gJ2Z1bGwnKSB7XG4gICAgJHZhbDogaWYoJG1hcmdpbi1ndXR0ZXIgPT0gMCwgMTAwJSwgY2FsYygxMDAlIC0gI3tyZW0tY2FsYygkbWFyZ2luLWd1dHRlcil9KSk7XG4gICAgI3skZGlyZWN0aW9ufTogJHZhbDtcbiAgfVxuICBAZWxzZWlmICgkc2l6ZSA9PSAnYXV0bycpIHtcbiAgICAjeyRkaXJlY3Rpb259OiBhdXRvO1xuICAgICR2YWw6IGlmKCRtYXJnaW4tZ3V0dGVyID09IDAsIDEwMCUsIGNhbGMoMTAwJSAtICN7cmVtLWNhbGMoJG1hcmdpbi1ndXR0ZXIpfSkpO1xuICB9XG4gIEBlbHNlaWYgKCRzaXplID09ICdzaHJpbmsnKSB7XG4gICAgI3skZGlyZWN0aW9ufTogYXV0bztcbiAgfVxuICBAZWxzZSB7XG4gICAgJHZhbDogaWYoJG1hcmdpbi1ndXR0ZXIgPT0gMCwgI3t4eS1jZWxsLXNpemUoJHNpemUpfSwgY2FsYygje3h5LWNlbGwtc2l6ZSgkc2l6ZSl9IC0gI3tyZW0tY2FsYygkbWFyZ2luLWd1dHRlcil9KSk7XG4gICAgI3skZGlyZWN0aW9ufTogJHZhbDtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIGNlbGwgZm9yIHlvdXIgZ3JpZC5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRzaXplIFtmdWxsXSAtIFRoZSBzaXplIG9mIHlvdXIgY2VsbC4gQ2FuIGJlIGBmdWxsYCAoZGVmYXVsdCkgZm9yIDEwMCUgd2lkdGgsIGBhdXRvYCB0byB1c2UgdXAgYXZhaWxhYmxlIHNwYWNlIGFuZCBgc2hyaW5rYCB0byB1c2UgdXAgb25seSByZXF1aXJlZCBzcGFjZS5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRndXR0ZXItb3V0cHV0IFt0cnVlXSAtIFdoZXRoZXIgb3Igbm90IHRvIG91dHB1dCBndXR0ZXJzXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtMaXN0fSAkZ3V0dGVyLXBvc2l0aW9uIFtyaWdodCBsZWZ0XSAtIFRoZSBwb3NpdGlvbiB0byBhcHBseSBndXR0ZXJzIHRvLiBBY2NlcHRzIGB0b3BgLCBgYm90dG9tYCwgYGxlZnRgLCBgcmlnaHRgIGluIGFueSBjb21iaW5hdGlvbi5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgc2l6ZSBpbiB5b3VyIGd1dHRlcnMgbWFwIHRvIGdldCB0aGUgc2l6ZSBmcm9tLiBJZiB1c2luZyB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0aGlzIHdpbGwgYmUgc2V0IGF1dG9tYXRpY2FsbHkgdW5sZXNzIG1hbnVhbGx5IGVudGVyZWQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIFNldCB0byB0cnVlIHRvIG91dHB1dCB2ZXJ0aWNhbCAoaGVpZ2h0KSBzdHlsZXMgcmF0aGVyIHRoYW4gd2lkdGhzLlxuQG1peGluIHh5LWNlbGwoXG4gICRzaXplOiBmdWxsLFxuICAkZ3V0dGVyLW91dHB1dDogdHJ1ZSxcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGd1dHRlci1wb3NpdGlvbjogcmlnaHQgbGVmdCxcbiAgJGJyZWFrcG9pbnQ6IG51bGwsXG4gICR2ZXJ0aWNhbDogZmFsc2Vcbikge1xuICBAaWYoJGJyZWFrcG9pbnQgPT0gbnVsbCkge1xuICAgIC8vIElmIGAkYnAtc2l6ZWAgaXMgYXZhaWxhYmxlIHRoZW4gdXNlIHRoaXMsIG90aGVyd2lzZSByZXZlcnQgdG8gdGhlIHNtYWxsZXN0IGJwLlxuICAgIEBpZih2YXJpYWJsZS1leGlzdHMoLXpmLXNpemUpIGFuZCB0eXBlLW9mKCQtemYtc2l6ZSkgIT0gJ251bWJlcicpIGFuZCAkLXpmLXNpemUgIT0gbnVsbCB7XG4gICAgICAkYnJlYWtwb2ludDogJC16Zi1zaXplO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAkYnJlYWtwb2ludDogJC16Zi16ZXJvLWJyZWFrcG9pbnQ7XG4gICAgfVxuICB9XG5cbiAgLy8gR2V0IG91ciBndXR0ZXJzIGZyb20gbWFwIGlmIGF2YWlsYWJsZSwgaWYgbm90IG1hcCBqdXN0IHJldHVybiB0aGUgdmFsdWUuXG4gICRndXR0ZXI6IC16Zi1nZXQtYnAtdmFsKCRndXR0ZXJzLCAkYnJlYWtwb2ludCk7XG5cbiAgLy8gQmFzZSBmbGV4IHByb3BlcnRpZXNcbiAgQGluY2x1ZGUgeHktY2VsbC1iYXNlKCRzaXplKTtcblxuICBAaWYoJGd1dHRlci10eXBlID09ICdtYXJnaW4nKSB7XG4gICAgQGluY2x1ZGUgLXh5LWNlbGwtcHJvcGVydGllcygkc2l6ZSwgJGd1dHRlciwgJHZlcnRpY2FsKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGluY2x1ZGUgLXh5LWNlbGwtcHJvcGVydGllcygkc2l6ZSwgMCwgJHZlcnRpY2FsKTtcbiAgfVxuXG4gIEBpZiAkZ3V0dGVyLW91dHB1dCB7XG4gICAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyLCAkZ3V0dGVyLXR5cGUsICRndXR0ZXItcG9zaXRpb24pO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgc2luZ2xlIGJyZWFrcG9pbnQgc2l6ZWQgZ3JpZC4gVXNlZCB0byBnZW5lcmF0ZSBvdXIgZ3JpZCBjbGFzc2VzLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHNpemUgW2Z1bGxdIC0gVGhlIHNpemUgb2YgeW91ciBjZWxsLiBDYW4gYmUgYGZ1bGxgIChkZWZhdWx0KSBmb3IgMTAwJSB3aWR0aCwgYGF1dG9gIHRvIHVzZSB1cCBhdmFpbGFibGUgc3BhY2UgYW5kIGBzaHJpbmtgIHRvIHVzZSB1cCBvbmx5IHJlcXVpcmVkIHNwYWNlLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGd1dHRlci1vdXRwdXQgW3RydWVdIC0gV2hldGhlciBvciBub3QgdG8gb3V0cHV0IGd1dHRlcnNcbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgc2l6ZSBpbiB5b3VyIGd1dHRlcnMgbWFwIHRvIGdldCB0aGUgc2l6ZSBmcm9tLiBJZiB1c2luZyB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0aGlzIHdpbGwgYmUgc2V0IGF1dG9tYXRpY2FsbHkgdW5sZXNzIG1hbnVhbGx5IGVudGVyZWQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIFNldCB0byB0cnVlIHRvIG91dHB1dCB2ZXJ0aWNhbCAoaGVpZ2h0KSBzdHlsZXMgcmF0aGVyIHRoYW4gd2lkdGhzLlxuQG1peGluIHh5LWNlbGwtc3RhdGljKFxuICAkc2l6ZTogZnVsbCxcbiAgJGd1dHRlci1vdXRwdXQ6IHRydWUsXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRicmVha3BvaW50OiAkLXpmLXplcm8tYnJlYWtwb2ludCxcbiAgJHZlcnRpY2FsOiBmYWxzZVxuKSB7XG5cbiAgJGd1dHRlcjogLXpmLWdldC1icC12YWwoJGd1dHRlcnMsICRicmVha3BvaW50KTtcbiAgJGd1dHRlci1wb3NpdGlvbjogaWYoJHZlcnRpY2FsID09IHRydWUsIHRvcCBib3R0b20sIGxlZnQgcmlnaHQpO1xuXG4gIEBpZigkZ3V0dGVyLXR5cGUgPT0gJ21hcmdpbicpIHtcbiAgICBAaW5jbHVkZSAteHktY2VsbC1wcm9wZXJ0aWVzKCRzaXplLCAkZ3V0dGVyLCAkdmVydGljYWwpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAaW5jbHVkZSAteHktY2VsbC1wcm9wZXJ0aWVzKCRzaXplLCAwLCAkdmVydGljYWwpO1xuICB9XG5cbiAgLy8gSWYgd2Ugd2FudCB0byBvdXRwdXQgdGhlIGd1dHRlcnNcbiAgQGlmKCRndXR0ZXItb3V0cHV0KSB7XG4gICAgLy8gVE9ETzogRmlndXJlIG91dCBpZiB3ZSBuZWVkIHRvIHBhc3MgYnJlYWtwb2ludCBpbiBoZXJlIHRvby5cbiAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXIsICRndXR0ZXItdHlwZSwgJGd1dHRlci1wb3NpdGlvbik7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIFNpemVzIGNoaWxkIGVsZW1lbnRzIHNvIHRoYXQgYCRuYCBudW1iZXIgb2YgaXRlbXMgYXBwZWFyIG9uIGVhY2ggcm93LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRuIC0gTnVtYmVyIG9mIGVsZW1lbnRzIHRvIGRpc3BsYXkgcGVyIHJvdy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFsnLmNlbGwnXSAtIFNlbGVjdG9yKHMpIHRvIHVzZSBmb3IgY2hpbGQgZWxlbWVudHMuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZ3V0dGVyLW91dHB1dCBbdHJ1ZV0gLSBXaGV0aGVyIG9yIG5vdCB0byBvdXRwdXQgZ3V0dGVyc1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBUeXBlIG9mIGd1dHRlciB0byBvdXRwdXQuIEFjY2VwdHMgYG1hcmdpbmAgb3IgYHBhZGRpbmdgLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGd1dHRlci1wb3NpdGlvbiBbcmlnaHQgbGVmdF0gLSBUaGUgcG9zaXRpb24gdG8gYXBwbHkgZ3V0dGVycyB0by4gQWNjZXB0cyBgdG9wYCwgYGJvdHRvbWAsIGBsZWZ0YCwgYHJpZ2h0YCBpbiBhbnkgY29tYmluYXRpb24uXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIFNldCB0byB0cnVlIHRvIG91dHB1dCB2ZXJ0aWNhbCAoaGVpZ2h0KSBzdHlsZXMgcmF0aGVyIHRoYW4gd2lkdGhzLlxuQG1peGluIHh5LWdyaWQtbGF5b3V0KFxuICAkbixcbiAgJHNlbGVjdG9yOiAnLmNlbGwnLFxuICAkZ3V0dGVyLW91dHB1dDogdHJ1ZSxcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGd1dHRlci1wb3NpdGlvbjogcmlnaHQgbGVmdCxcbiAgJGJyZWFrcG9pbnQ6ICQtemYtemVyby1icmVha3BvaW50LFxuICAkdmVydGljYWw6IGZhbHNlXG4pIHtcbiAgJHNpemU6IHBlcmNlbnRhZ2UoMS8kbik7XG5cbiAgJiA+ICN7JHNlbGVjdG9yfSB7XG4gICAgQGluY2x1ZGUgeHktY2VsbCgkc2l6ZSwgJGd1dHRlci1vdXRwdXQsICRndXR0ZXJzLCAkZ3V0dGVyLXR5cGUsICRndXR0ZXItcG9zaXRpb24sICRicmVha3BvaW50LCAkdmVydGljYWwpO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vLyBDb2xsYXBzZXMgdGhlIGdyaWQgYSBjZWxscyB3aXRoaW4gaXQuXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFsuY2VsbF0gLSBUaGUgY2hpbGQgZWxlbWVudCB0byByZW1vdmUgdGhlIGd1dHRlciBmcm9tLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gVGhlIHR5cGUgb2YgZ3V0dGVyIHRvIHJlbW92ZS5cbi8vLyBAcGFyYW0ge0xpc3R9ICRndXR0ZXItcG9zaXRpb24gW3JpZ2h0IGxlZnRdIC0gVGhlIHBvc2l0aW9ucyB0byByZW1vdmUgZ3V0dGVycyBmcm9tLiBBY2NlcHRzIGB0b3BgLCBgYm90dG9tYCwgYGxlZnRgLCBgcmlnaHRgIGluIGFueSBjb21iaW5hdGlvbi5cbkBtaXhpbiB4eS1ncmlkLWNvbGxhcHNlKFxuICAkc2VsZWN0b3I6ICcuY2VsbCcsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkZ3V0dGVyLXBvc2l0aW9uOiByaWdodCBsZWZ0LFxuICAkbWluLWJyZWFrcG9pbnQ6ICQtemYtemVyby1icmVha3BvaW50XG4pIHtcbiAgLy8gRmlyc3QsIGxldHMgbmVnYXRlIGFueSBtYXJnaW5zIG9uIHRoZSB0b3AgbGV2ZWxcbiAgQGlmICgkZ3V0dGVyLXR5cGUgPT0gJ21hcmdpbicpIHtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1pbi1icmVha3BvaW50KSB7XG4gICAgICBAZWFjaCAkdmFsdWUgaW4gJGd1dHRlci1wb3NpdGlvbiB7XG4gICAgICAgIG1hcmdpbi0jeyR2YWx1ZX06IDA7XG4gICAgICB9XG5cbiAgICAgID4gI3skc2VsZWN0b3J9IHtcbiAgICAgICAgQGVhY2ggJHZhbHVlIGluICRndXR0ZXItcG9zaXRpb24ge1xuICAgICAgICAgIG1hcmdpbi0jeyR2YWx1ZX06IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAkZXhjbHVkZWQtYnBzOiAtemYtYnJlYWtwb2ludHMtbGVzcy10aGFuKCRtaW4tYnJlYWtwb2ludCk7XG5cbiAgICAvLyBPdXRwdXQgbmV3IHdpZHRocyB0byBub3QgaW5jbHVkZSBndXR0ZXJzXG4gICAgQGVhY2ggJGJwIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGlmKHNsLWNvbnRhaW4oJGV4Y2x1ZGVkLWJwcywgJGJwKSkge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRtaW4tYnJlYWtwb2ludCkge1xuICAgICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAgICAgICAvLyBTaXppbmcgKHBlcmNlbnRhZ2UpXG4gICAgICAgICAgICA+IC4jeyRicH0tI3skaX0ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYygkaSwgJGd1dHRlci1vdXRwdXQ6IGZhbHNlLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwKSB7XG4gICAgICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgICAgICAgIC8vIFNpemluZyAocGVyY2VudGFnZSlcbiAgICAgICAgICAgID4gLiN7JGJwfS0jeyRpfSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKCRpLCAkZ3V0dGVyLW91dHB1dDogZmFsc2UsICRndXR0ZXItdHlwZTogcGFkZGluZyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9IFxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRtaW4tYnJlYWtwb2ludCkge1xuICAgICAgQGVhY2ggJHZhbHVlIGluICRndXR0ZXItcG9zaXRpb24ge1xuICAgICAgICBtYXJnaW4tI3skdmFsdWV9OiAwO1xuICAgICAgfVxuXG4gICAgICA+ICN7JHNlbGVjdG9yfSB7XG4gICAgICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICAgICBwYWRkaW5nLSN7JHZhbHVlfTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gT2Zmc2V0cyBhIGNvbHVtbiB0byB0aGUgcmlnaHQvYm90dG9tIGJ5IGAkbmAgY29sdW1ucy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRuIC0gU2l6ZSB0byBvZmZzZXQgYnkuIFlvdSBjYW4gcGFzcyBpbiBhbnkgdmFsdWUgYWNjZXB0ZWQgYnkgdGhlIGB6Zi1jZWxsKClgIG1peGluLCBzdWNoIGFzIGA2YCwgYDUwJWAsIG9yIGAxIG9mIDJgLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gU2V0cyB0aGUgZGlyZWN0aW9uIG9mIHRoZSBvZmZzZXQuIElmIHNldCB0byB0cnVlIHdpbGwgYXBwbHkgbWFyZ2luLXRvcCBpbnN0ZWFkLlxuQG1peGluIHh5LWNlbGwtb2Zmc2V0KFxuICRuLFxuICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAkYnJlYWtwb2ludDogJC16Zi16ZXJvLWJyZWFrcG9pbnQsXG4gJHZlcnRpY2FsOiBmYWxzZVxuKSB7XG4gICRkaXJlY3Rpb246IGlmKCR2ZXJ0aWNhbCwgJ3RvcCcsICRnbG9iYWwtbGVmdCk7XG5cbiAgQGluY2x1ZGUgLXpmLWJyZWFrcG9pbnQtdmFsdWUoJGJyZWFrcG9pbnQsICRndXR0ZXJzKSB7XG4gICAgJGd1dHRlcjogcmVtLWNhbGMoJC16Zi1icC12YWx1ZSkgLyAyO1xuICAgICRzaXplOiBpZigkZ3V0dGVyLXR5cGUgPT0gJ21hcmdpbicsIGNhbGMoI3t4eS1jZWxsLXNpemUoJG4pfSArICN7JGd1dHRlcn0pLCAje3h5LWNlbGwtc2l6ZSgkbil9KTtcblxuICAgIG1hcmdpbi0jeyRkaXJlY3Rpb259OiAjeyRzaXplfTtcbiAgfVxufVxuIiwiLy8vIE1vZGlmaWVzIGEgZ3JpZCB0byBnaXZlIGl0IFwiZnJhbWVcIiBiZWhhdmlvciAobm8gb3ZlcmZsb3csIG5vIHdyYXAsIHN0cmV0Y2ggYmVoYXZpb3IpXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gSXMgZ3JpZCB2ZXJ0aWNhbCBvciBob3Jpem9udGFsLiBTaG91bGQgbWF0Y2ggZ3JpZC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRuZXN0ZWQgW2ZhbHNlXSAtIElzIGdyaWQgbmVzdGVkIG9yIG5vdC4gSWYgbmVzdGVkIGlzIHRydWUgdGhpcyBzZXRzIHRoZSBmcmFtZSB0byAxMDAlIGhlaWdodCwgb3RoZXJ3aXNlIHdpbGwgYmUgMTAwdmguXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbbnVsbF0gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgbmFtZSBvZiB0aGUgYnJlYWtwb2ludCBzaXplIGluIHlvdXIgZ3V0dGVycyBtYXAgdG8gZ2V0IHRoZSBzaXplIGZyb20uXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkaW5jbHVkZS1iYXNlIFt0cnVlXSAtIEluY2x1ZGUgdGhlIGJhc2Ugc3R5bGVzIHRoYXQgZG9uJ3QgdmFyeSBwZXIgYnJlYWtwb2ludC5cbkBtaXhpbiB4eS1ncmlkLWZyYW1lKFxuICAkdmVydGljYWw6IGZhbHNlLFxuICAkbmVzdGVkOiBmYWxzZSxcbiAgJGd1dHRlcnM6IG51bGwsXG4gICRicmVha3BvaW50OiBudWxsLFxuICAkaW5jbHVkZS1iYXNlOiB0cnVlXG4pIHtcblxuICBAaWYgJGluY2x1ZGUtYmFzZSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIH1cblxuICBAaWYgJGJyZWFrcG9pbnQgPT0gbnVsbCBhbmQgdHlwZS1vZigkZ3V0dGVycykgPT0gJ21hcCcge1xuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lKCR2ZXJ0aWNhbCwgJG5lc3RlZCwgJGd1dHRlcnMsICQtemYtc2l6ZSwgZmFsc2UpO1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgLy8gR2V0IG91ciBndXR0ZXJzIGlmIGFwcGxpY2FibGVcbiAgICAkZ3V0dGVyOiAtemYtZ2V0LWJwLXZhbCgkZ3V0dGVycywgJGJyZWFrcG9pbnQpO1xuXG4gICAgLy8gSWYgd2UgaGF2ZSBhIGd1dHRlciwgYWRkIGl0IHRvIHRoZSB3aWR0aC9oZWlnaHRcbiAgICBAaWYgJGd1dHRlciB7XG4gICAgICBAaWYgJHZlcnRpY2FsID09IHRydWUge1xuICAgICAgICAkdW5pdDogaWYoJG5lc3RlZCA9PSB0cnVlLCAxMDAlLCAxMDB2aCk7XG4gICAgICAgICRndXR0ZXI6IHJlbS1jYWxjKCRndXR0ZXIpO1xuICAgICAgICBoZWlnaHQ6IGNhbGMoI3skdW5pdH0gKyAjeyRndXR0ZXJ9KTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAkdW5pdDogaWYoJG5lc3RlZCA9PSB0cnVlLCAxMDAlLCAxMDB2dyk7XG4gICAgICAgICRndXR0ZXI6IHJlbS1jYWxjKCRndXR0ZXIpO1xuICAgICAgICB3aWR0aDogY2FsYygjeyR1bml0fSArICN7JGd1dHRlcn0pO1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAaWYgJHZlcnRpY2FsID09IHRydWUge1xuICAgICAgICBoZWlnaHQ6IGlmKCRuZXN0ZWQgPT0gdHJ1ZSwgMTAwJSwgMTAwdmgpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIHdpZHRoOiBpZigkbmVzdGVkID09IHRydWUsIDEwMCUsIDEwMHZ3KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIE1vZGlmaWVzIGEgY2VsbCB0byBnaXZlIGl0IFwiYmxvY2tcIiBiZWhhdmlvciAob3ZlcmZsb3cgYXV0bywgaW5lcnRpYWwgc2Nyb2xsaW5nKVxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIElzIGdyaWQgdmVydGljYWwgb3IgaG9yaXpvbnRhbC4gU2hvdWxkIG1hdGNoIGdyaWQuXG5AbWl4aW4geHktY2VsbC1ibG9jayhcbiAgJHZlcnRpY2FsOiBmYWxzZVxuKSB7XG4gICRwcm9wZXJ0eTogaWYoJHZlcnRpY2FsID09IHRydWUsICdvdmVyZmxvdy15JywgJ292ZXJmbG93LXgnKTtcblxuICBAaWYgJHZlcnRpY2FsID09IHRydWUge1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgfSBAZWxzZSB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cblxuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIC1tcy1vdmVyZmxvdy1zdHlwZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyO1xufVxuXG4vLy8gQ29udGFpbmVyIGZvciBpbnNpZGUgYSBncmlkIGZyYW1lIGNvbnRhaW5pbmcgbXVsdGlwbGUgYmxvY2tzLiBUeXBpY2FsbHkgdXNlZFxuLy8vIGFzIGEgbW9kaWZpZXIgZm9yIGEgYC5jZWxsYCB0byBhbGxvdyB0aGUgY2VsbCB0byBwYXNzIGFsb25nIGZsZXggc2l6aW5nXG4vLy8gY29uc3RyYWludHMgLyBmcm9tIHBhcmVudHMgdG8gY2hpbGRyZW4uXG5AbWl4aW4geHktY2VsbC1ibG9jay1jb250YWluZXIoKSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG1heC1oZWlnaHQ6IDEwMCU7XG5cbiAgPiAuZ3JpZC14IHtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmbGV4LWdyaWRcbi8vLy9cblxuLy8vIENyZWF0ZXMgYSBjb250YWluZXIgZm9yIGEgZmxleCBncmlkIHJvdy5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxMaXN0fSAkYmVoYXZpb3IgW251bGxdXG4vLy8gICBNb2RpZmljYXRpb25zIHRvIHRoZSBkZWZhdWx0IGdyaWQgc3R5bGVzLiBgbmVzdGAgaW5kaWNhdGVzIHRoZSByb3cgd2lsbCBiZSBwbGFjZWQgaW5zaWRlIGFub3RoZXIgcm93LiBgY29sbGFwc2VgIGluZGljYXRlcyB0aGF0IHRoZSBjb2x1bW5zIGluc2lkZSB0aGlzIHJvdyB3aWxsIG5vdCBoYXZlIHBhZGRpbmcuIGBuZXN0IGNvbGxhcHNlYCBjb21iaW5lcyBib3RoIGJlaGF2aW9ycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkc2l6ZSBbJGdyaWQtcm93LXdpZHRoXSBNYXhpbXVtIHNpemUgb2YgdGhlIHJvdy4gU2V0IHRvIGBleHBhbmRgIHRvIG1ha2UgdGhlIHJvdyB0YWtpbmcgdGhlIGZ1bGwgd2lkdGguXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRjb2x1bW5zIFtudWxsXSAtIE51bWJlciBvZiBjb2x1bW5zIHRvIHVzZSBmb3IgdGhpcyByb3cuIElmIHNldCB0byBgbnVsbGAgKHRoZSBkZWZhdWx0KSwgdGhlIGdsb2JhbCBjb2x1bW4gY291bnQgd2lsbCBiZSB1c2VkLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGJhc2UgW3RydWVdIC0gU2V0IHRvIGBmYWxzZWAgdG8gcHJldmVudCBiYXNpYyBzdHlsZXMgZnJvbSBiZWluZyBvdXRwdXQuIFVzZWZ1bCBpZiB5b3UncmUgY2FsbGluZyB0aGlzIG1peGluIG9uIHRoZSBzYW1lIGVsZW1lbnQgdHdpY2UsIGFzIGl0IHByZXZlbnRzIGR1cGxpY2F0ZSBDU1Mgb3V0cHV0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gR3V0dGVyIG1hcCBvciBzaW5nbGUgdmFsdWUgdG8gdXNlIHdoZW4gaW52ZXJ0aW5nIG1hcmdpbnMsIGluIGNhc2UgdGhlIHJvdyBpcyBuZXN0ZWQuIFJlc3BvbnNpdmUgZ3V0dGVyIHNldHRpbmdzIGJ5IGRlZmF1bHQuXG5AbWl4aW4gZmxleC1ncmlkLXJvdyhcbiAgJGJlaGF2aW9yOiBudWxsLFxuICAkc2l6ZTogJGdyaWQtcm93LXdpZHRoLFxuICAkY29sdW1uczogbnVsbCxcbiAgJGJhc2U6IHRydWUsXG4gICR3cmFwOiB0cnVlLFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gICRtYXJnaW46IGF1dG87XG4gICR3cmFwOiBpZigkd3JhcCwgd3JhcCwgbm93cmFwKTtcblxuICBAaWYgaW5kZXgoJGJlaGF2aW9yLCBuZXN0KSAhPSBudWxsIHtcbiAgICBAaW5jbHVkZSBncmlkLXJvdy1uZXN0KCRndXR0ZXJzKTtcblxuICAgIEBpZiBpbmRleCgkYmVoYXZpb3IsIGNvbGxhcHNlKSAhPSBudWxsIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQGluY2x1ZGUgZ3JpZC1yb3ctc2l6ZSgkc2l6ZSk7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICB9XG5cbiAgQGlmICRiYXNlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93ICR3cmFwO1xuICB9XG5cbiAgQGlmICRjb2x1bW5zICE9IG51bGwge1xuICAgIEBpbmNsdWRlIGdyaWQtY29udGV4dCgkY29sdW1ucywgJGJhc2UpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQ2FsY3VsYXRlcyB0aGUgYGZsZXhgIHByb3BlcnR5IGZvciBhIGZsZXggZ3JpZCBjb2x1bW4uIEl0IGFjY2VwdHMgYWxsIG9mIHRoZSBzYW1lIHZhbHVlcyBhcyB0aGUgYmFzaWMgYGdyaWQtY29sdW1uKClgIGZ1bmN0aW9uLCBhbG9uZyB3aXRoIHR3byBleHRyYXM6XG4vLy8gICAtIGBleHBhbmRgICh0aGUgZGVmYXVsdCkgd2lsbCBtYWtlIHRoZSBjb2x1bW4gZXhwYW5kIHRvIGZpbGwgc3BhY2UuXG4vLy8gICAtIGBzaHJpbmtgIHdpbGwgbWFrZSB0aGUgY29sdW1uIGNvbnRyYWN0LCBzbyBpdCBvbmx5IHRha2VzIHVwIHRoZSBob3Jpem9udGFsIHNwYWNlIGl0IG5lZWRzLlxuLy8vXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGNvbHVtbnMgW2V4cGFuZF0gLSBXaWR0aCBvZiB0aGUgY29sdW1uLlxuQGZ1bmN0aW9uIGZsZXgtZ3JpZC1jb2x1bW4oJGNvbHVtbnM6IGV4cGFuZCkge1xuICAkZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcblxuICBAaWYgJGNvbHVtbnMgPT0gc2hyaW5rIHtcbiAgICAkZmxleDogMCAwIGF1dG87XG4gIH1cbiAgQGVsc2UgaWYgJGNvbHVtbnMgIT0gZXhwYW5kIHtcbiAgICAkZmxleDogMCAwIGdyaWQtY29sdW1uKCRjb2x1bW5zKTtcbiAgfVxuXG4gIEByZXR1cm4gJGZsZXg7XG59XG5cbi8vLyBDcmVhdGVzIGEgY29sdW1uIGZvciBhIGZsZXggZ3JpZC4gQnkgZGVmYXVsdCwgdGhlIGNvbHVtbiB3aWxsIHN0cmV0Y2ggdG8gdGhlIGZ1bGwgd2lkdGggb2YgaXRzIGNvbnRhaW5lciwgYnV0IHRoaXMgY2FuIGJlIG92ZXJyaWRkZW4gd2l0aCBzaXppbmcgY2xhc3Nlcywgb3IgYnkgdXNpbmcgdGhlIGB1bnN0YWNrYCBjbGFzcyBvbiB0aGUgcGFyZW50IGZsZXggcm93LlxuLy8vXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGNvbHVtbnMgW2V4cGFuZF0gLSBXaWR0aCBvZiB0aGUgY29sdW1uLiBSZWZlciB0byB0aGUgYGZsZXgtZ3JpZC1jb2x1bW4oKWAgZnVuY3Rpb24gdG8gc2VlIHBvc3NpYmxlIHZhbHVlcy5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMgd2lkdGguIFNlZSB0aGUgYGdyaWQtY29sdW1uLWd1dHRlcmAgbWl4aW4uXG5AbWl4aW4gZmxleC1ncmlkLWNvbHVtbihcbiAgJGNvbHVtbnM6IGV4cGFuZCxcbiAgJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICAvLyBCYXNlIHByb3BlcnRpZXNcbiAgQGluY2x1ZGUgZmxleC1ncmlkLXNpemUoJGNvbHVtbnMpO1xuXG4gIC8vIEd1dHRlcnNcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tZ3V0dGVyKCRndXR0ZXJzOiAkZ3V0dGVycyk7XG5cbiAgLy8gZml4ZXMgcmVjZW50IENocm9tZSB2ZXJzaW9uIG5vdCBsaW1pdGluZyBjaGlsZCB3aWR0aFxuICAvLyBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy8zNDkzNDU4Ni93aGl0ZS1zcGFjZS1ub3dyYXAtYW5kLWZsZXhib3gtZGlkLW5vdC13b3JrLWluLWNocm9tZVxuICBAaWYgJGNvbHVtbnMgPT0gZXhwYW5kIHtcbiAgICBtaW4td2lkdGg6IDA7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBibG9jayBncmlkIGZvciBhIGZsZXggZ3JpZCByb3cuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG4gLSBOdW1iZXIgb2YgY29sdW1ucyB0byBkaXNwbGF5IG9uIGVhY2ggcm93LlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgLSBTZWxlY3RvciB0byB1c2UgdG8gdGFyZ2V0IGNvbHVtbnMgd2l0aGluIHRoZSByb3cuXG5AbWl4aW4gZmxleC1ncmlkLWxheW91dChcbiAgJG4sXG4gICRzZWxlY3RvcjogJy5jb2x1bW4nXG4pIHtcbiAgZmxleC13cmFwOiB3cmFwO1xuXG4gID4gI3skc2VsZWN0b3J9IHtcbiAgICAkcGN0OiBwZXJjZW50YWdlKDEvJG4pO1xuXG4gICAgZmxleDogMCAwICRwY3Q7XG4gICAgbWF4LXdpZHRoOiAkcGN0O1xuICB9XG59XG5cbi8vLyBDaGFuZ2VzIHRoZSB3aWR0aCBmbGV4IGdyaWQgY29sdW1uLlxuLy8vIEBwYXJhbSB7TWl4ZWR9ICRjb2x1bW5zIFtleHBhbmRdIC0gV2lkdGggb2YgdGhlIGNvbHVtbi4gUmVmZXIgdG8gdGhlIGBmbGV4LWdyaWQtY29sdW1uKClgIGZ1bmN0aW9uIHRvIHNlZSBwb3NzaWJsZSB2YWx1ZXMuXG5AbWl4aW4gZmxleC1ncmlkLXNpemUoJGNvbHVtbnM6IG51bGwpIHtcbiAgJGNvbHVtbnM6ICRjb2x1bW5zIG9yIGV4cGFuZDtcblxuICBmbGV4OiBmbGV4LWdyaWQtY29sdW1uKCRjb2x1bW5zKTtcblxuICAvLyBtYXgtd2lkdGggZml4ZXMgSUUgMTAvMTEgbm90IHJlc3BlY3RpbmcgdGhlIGZsZXgtYmFzaXMgcHJvcGVydHlcbiAgQGlmICRjb2x1bW5zICE9IGV4cGFuZCBhbmQgJGNvbHVtbnMgIT0gc2hyaW5rIHtcbiAgICBtYXgtd2lkdGg6IGdyaWQtY29sdW1uKCRjb2x1bW5zKTtcbiAgfVxufVxuXG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZsZXgtZ3JpZCB7XG4gIC8vIFJvd1xuICAucm93IHtcbiAgICBAaW5jbHVkZSBmbGV4LWdyaWQtcm93O1xuXG4gICAgLy8gTmVzdGluZyBiZWhhdmlvclxuICAgICYgLnJvdyB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWdyaWQtcm93KG5lc3QsICRiYXNlOiBmYWxzZSk7XG5cbiAgICAgICYuY29sbGFwc2Uge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEV4cGFuZGVkIHJvd1xuICAgICYuZXhwYW5kZWQge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1yb3ctc2l6ZShleHBhbmQpO1xuXG4gICAgICAucm93IHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOm5vdCguZXhwYW5kZWQpIC5yb3cge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1yb3ctc2l6ZShleHBhbmQpO1xuICAgIH1cblxuICAgICYuY29sbGFwc2Uge1xuICAgICAgPiAuY29sdW1uIHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2wtY29sbGFwc2U7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gVW5kbyBuZWdhdGl2ZSBtYXJnaW5zXG4gICAgLy8gRnJvbSBjb2xsYXBzZWQgY2hpbGRcbiAgICAmLmlzLWNvbGxhcHNlLWNoaWxkLFxuICAgICYuY29sbGFwc2UgPiAuY29sdW1uID4gLnJvdyB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG4gIH1cblxuICAvLyBDb2x1bW5cbiAgLmNvbHVtbiB7XG4gICAgQGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbjtcbiAgfVxuXG4gIC8vIENvbHVtbiByb3dcbiAgLy8gVGhlIGRvdWJsZSAucm93IGNsYXNzIGlzIG5lZWRlZCB0byBidW1wIHVwIHRoZSBzcGVjaWZpY2l0eVxuICAuY29sdW1uLnJvdy5yb3cge1xuICAgIGZsb2F0OiBub25lO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgLy8gVG8gcHJvcGVybHkgbmVzdCBhIGNvbHVtbiByb3csIHBhZGRpbmcgYW5kIG1hcmdpbiBpcyByZW1vdmVkXG4gIC5yb3cgLmNvbHVtbi5yb3cucm93IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cblxuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50IHtcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbi1jb3VudCB7XG4gICAgICAvLyBTaXppbmcgKHBlcmNlbnRhZ2UpXG4gICAgICAuI3skLXpmLXNpemV9LSN7JGl9IHtcbiAgICAgICAgZmxleDogZmxleC1ncmlkLWNvbHVtbigkaSk7XG4gICAgICAgIG1heC13aWR0aDogZ3JpZC1jb2x1bW4oJGkpO1xuICAgICAgfVxuXG4gICAgICAvLyBPZmZzZXRzXG4gICAgICAkbzogJGkgLSAxO1xuXG4gICAgICAuI3skLXpmLXNpemV9LW9mZnNldC0jeyRvfSB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uLW9mZnNldCgkbyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQmxvY2sgZ3JpZFxuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGJsb2NrLWdyaWQtbWF4IHtcbiAgICAgIC4jeyQtemYtc2l6ZX0tdXAtI3skaX0ge1xuICAgICAgICBAaW5jbHVkZSBmbGV4LWdyaWQtbGF5b3V0KCRpKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJC16Zi1zaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgIC8vIFNpemluZyAoZXhwYW5kKVxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkLXpmLXNpemUpIHtcbiAgICAgICAgLiN7JC16Zi1zaXplfS1leHBhbmQge1xuICAgICAgICAgIGZsZXg6IGZsZXgtZ3JpZC1jb2x1bW4oKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBBdXRvLXN0YWNraW5nL3Vuc3RhY2tpbmdcbiAgICAgIEBhdC1yb290ICh3aXRob3V0OiBtZWRpYSkge1xuICAgICAgICAucm93LiN7JC16Zi1zaXplfS11bnN0YWNrIHtcbiAgICAgICAgICA+IC5jb2x1bW4ge1xuICAgICAgICAgICAgZmxleDogZmxleC1ncmlkLWNvbHVtbigxMDAlKTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkLXpmLXNpemUpIHtcbiAgICAgICAgICAgICAgZmxleDogZmxleC1ncmlkLWNvbHVtbigpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFJlc3BvbnNpdmUgY29sbGFwc2luZ1xuICAgIC4jeyQtemYtc2l6ZX0tY29sbGFwc2Uge1xuICAgICAgPiAuY29sdW1uIHsgQGluY2x1ZGUgZ3JpZC1jb2wtY29sbGFwc2U7IH1cbiAgICB9XG5cbiAgICAuI3skLXpmLXNpemV9LXVuY29sbGFwc2Uge1xuICAgICAgPiAuY29sdW1uIHsgQGluY2x1ZGUgZ3JpZC1jb2wtZ3V0dGVyKCQtemYtc2l6ZSk7IH1cbiAgICB9XG4gIH1cblxuICAvLyBTaXppbmcgKHNocmluaylcbiAgLnNocmluayB7XG4gICAgZmxleDogZmxleC1ncmlkLWNvbHVtbihzaHJpbmspO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuXG4gIC8vIEJsb2NrIGdyaWQgY29sdW1uc1xuICAuY29sdW1uLWJsb2NrIHtcbiAgICBAaW5jbHVkZSBncmlkLWNvbHVtbi1tYXJnaW47XG4gIH1cblxuICAuY29sdW1ucyB7XG4gICAgQGV4dGVuZCAuY29sdW1uOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHBsYWNlaG9sZGVyLWluLWV4dGVuZFxuXG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGdyaWRcbi8vLy9cblxuLy8vIENoYW5nZSB0aGUgYmVoYXZpb3Igb2YgY29sdW1ucyBkZWZpbmVkIGluc2lkZSB0aGlzIG1peGluIHRvIHVzZSBhIGRpZmZlcmVudCBjb2x1bW4gY291bnQuXG4vLy8gQGNvbnRlbnRcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkY29sdW1ucyAtIE51bWJlciBvZiBjb2x1bW5zIHRvIHVzZS5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRyb290IFtmYWxzZV1cbi8vLyAgIElmIGBmYWxzZWAsIHNlbGVjdG9ycyBpbnNpZGUgdGhpcyBtaXhpbiB3aWxsIG5lc3QgaW5zaWRlIHRoZSBwYXJlbnQgc2VsZWN0b3IuXG4vLy8gICBJZiBgdHJ1ZWAsIHNlbGVjdG9ycyB3aWxsIG5vdCBuZXN0LlxuQG1peGluIGdyaWQtY29udGV4dChcbiAgJGNvbHVtbnMsXG4gICRyb290OiBmYWxzZVxuKSB7XG4gIC8vIFN0b3JlIHRoZSBjdXJyZW50IGNvbHVtbiBjb3VudCBzbyBpdCBjYW4gYmUgcmUtc2V0IGxhdGVyXG4gICRvbGQtZ3JpZC1jb2x1bW4tY291bnQ6ICRncmlkLWNvbHVtbi1jb3VudDtcbiAgJGdyaWQtY29sdW1uLWNvdW50OiAkY29sdW1ucyAhZ2xvYmFsO1xuXG4gIEBpZiAkcm9vdCB7XG4gICAgQGF0LXJvb3QgeyBAY29udGVudDsgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxuXG4gIC8vIFJlc3RvcmUgdGhlIG9sZCBjb2x1bW4gY291bnRcbiAgJGdyaWQtY29sdW1uLWNvdW50OiAkb2xkLWdyaWQtY29sdW1uLWNvdW50ICFnbG9iYWw7XG59XG5cbi8vLyBDcmVhdGVzIGEgZ3JpZCByb3cuXG4vLy8gQGNvbnRlbnRcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkY29sdW1ucyBbbnVsbF0gLSBDb2x1bW4gY291bnQgZm9yIHRoaXMgcm93LiBgbnVsbGAgd2lsbCB1c2UgdGhlIGRlZmF1bHQgY29sdW1uIGNvdW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZHN9ICRiZWhhdmlvciBbbnVsbF1cbi8vLyAgIE1vZGlmaWNhdGlvbnMgdG8gdGhlIGRlZmF1bHQgZ3JpZCBzdHlsZXMuIGBuZXN0YCBpbmRpY2F0ZXMgdGhlIHJvdyB3aWxsIGJlIHBsYWNlZCBpbnNpZGUgYW5vdGhlciByb3cuIGBjb2xsYXBzZWAgaW5kaWNhdGVzIHRoYXQgdGhlIGNvbHVtbnMgaW5zaWRlIHRoaXMgcm93IHdpbGwgbm90IGhhdmUgcGFkZGluZy4gYG5lc3QgY29sbGFwc2VgIGNvbWJpbmVzIGJvdGggYmVoYXZpb3JzLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRzaXplIFskZ3JpZC1yb3ctd2lkdGhdIE1heGltdW0gc2l6ZSBvZiB0aGUgcm93LiBTZXQgdG8gYGV4cGFuZGAgdG8gbWFrZSB0aGUgcm93IHRha2luZyB0aGUgZnVsbCB3aWR0aC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRjZiBbdHJ1ZV0gLSBXaGV0aGVyIG9yIG5vdCB0byBpbmNsdWRlIGEgY2xlYXJmaXguXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBHdXR0ZXIgbWFwIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2Ugd2hlbiBpbnZlcnRpbmcgbWFyZ2lucy4gUmVzcG9uc2l2ZSBndXR0ZXIgc2V0dGluZ3MgYnkgZGVmYXVsdC5cbkBtaXhpbiBncmlkLXJvdyhcbiAgJGNvbHVtbnM6IG51bGwsXG4gICRiZWhhdmlvcjogbnVsbCxcbiAgJHNpemU6ICRncmlkLXJvdy13aWR0aCxcbiAgJGNmOiB0cnVlLFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gICRtYXJnaW46IGF1dG87XG5cbiAgQGlmIGluZGV4KCRiZWhhdmlvciwgbmVzdCkgIT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgZ3JpZC1yb3ctbmVzdCgkZ3V0dGVycyk7XG5cbiAgICBAaWYgaW5kZXgoJGJlaGF2aW9yLCBjb2xsYXBzZSkgIT0gbnVsbCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBpbmNsdWRlIGdyaWQtcm93LXNpemUoJHNpemUpO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgfVxuXG4gIEBpZiAkY2Yge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICB9XG5cbiAgQGlmICRjb2x1bW5zICE9IG51bGwge1xuICAgIEBpbmNsdWRlIGdyaWQtY29udGV4dCgkY29sdW1ucykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBJbnZlcnRzIHRoZSBtYXJnaW5zIG9mIGEgcm93IHRvIG5lc3QgaXQgaW5zaWRlIG9mIGEgY29sdW1uLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBHdXR0ZXIgbWFwIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2Ugd2hlbiBpbnZlcnRpbmcgbWFyZ2lucy4gUmVzcG9uc2l2ZSBndXR0ZXIgc2V0dGluZ3MgYnkgZGVmYXVsdC5cbkBtaXhpbiBncmlkLXJvdy1uZXN0KCRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyKSB7XG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgICRtYXJnaW46IHJlbS1jYWxjKC16Zi1nZXQtYnAtdmFsKCRndXR0ZXJzLCAkLXpmLXNpemUpKSAvIDIgKiAtMTtcblxuICAgIG1hcmdpbi1yaWdodDogJG1hcmdpbjtcbiAgICBtYXJnaW4tbGVmdDogJG1hcmdpbjtcbiAgfVxufVxuXG4vLy8gU2V0IGEgZ3JpZCByb3cgc2l6ZVxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHNpemUgWyRncmlkLXJvdy13aWR0aF0gTWF4aW11bSBzaXplIG9mIHRoZSByb3cuIFNldCB0byBgZXhwYW5kYCB0byBtYWtlIHRoZSByb3cgdGFraW5nIHRoZSBmdWxsIHdpZHRoLlxuQG1peGluIGdyaWQtcm93LXNpemUoJHNpemU6ICRncmlkLXJvdy13aWR0aCkge1xuICBAaWYgJHNpemUgPT0gZXhwYW5kIHtcbiAgICAkc2l6ZTogbm9uZTtcbiAgfVxuXG4gIG1heC13aWR0aDogJHNpemU7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBncmlkXG4vLy8vXG5cbi8vLyBTZXQgdGhlIGd1dHRlcnMgb24gYSBjb2x1bW5cbi8vLyBAcGFyYW0ge051bWJlcnxLZXl3b3JkfSAkZ3V0dGVyIFthdXRvXVxuLy8vICAgU3BhY2luZyBiZXR3ZWVuIGNvbHVtbnMsIGFjY2VwdHMgbXVsdGlwbGUgdmFsdWVzOlxuLy8vICAgLSBBIHNpbmdsZSB2YWx1ZSB3aWxsIG1ha2UgdGhlIGd1dHRlciB0aGF0IGV4YWN0IHNpemUuXG4vLy8gICAtIEEgYnJlYWtwb2ludCBuYW1lIHdpbGwgbWFrZSB0aGUgZ3V0dGVyIHRoZSBjb3JyZXNwb25kaW5nIHNpemUgaW4gdGhlICRndXR0ZXJzIG1hcC5cbi8vLyAgIC0gXCJhdXRvXCIgd2lsbCBtYWtlIHRoZSBndXR0ZXIgcmVzcG9uc2l2ZSwgdXNpbmcgdGhlICRndXR0ZXJzIG1hcCB2YWx1ZXMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBHdXR0ZXIgbWFwIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2UuIFJlc3BvbnNpdmUgZ3V0dGVyIHNldHRpbmdzIGJ5IGRlZmF1bHQuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tZ3V0dGVyKFxuICAkZ3V0dGVyOiBhdXRvLFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIC16Zi1icmVha3BvaW50LXZhbHVlKCRndXR0ZXIsICRndXR0ZXJzKSB7XG4gICAgJHBhZGRpbmc6IHJlbS1jYWxjKCQtemYtYnAtdmFsdWUpIC8gMjtcblxuICAgIHBhZGRpbmctcmlnaHQ6ICRwYWRkaW5nO1xuICAgIHBhZGRpbmctbGVmdDogJHBhZGRpbmc7XG4gIH1cbn1cblxuLy8vIENvbGxhcHNlIHRoZSBndXR0ZXJzIG9uIGEgY29sdW1uIGJ5IHJlbW92aW5nIHRoZSBwYWRkaW5nLiAqKk5vdGU6Kiogb25seSB1c2UgdGhpcyBtaXhpbiB3aXRoaW4gYSBicmVha3BvaW50LiBUbyBjb2xsYXBzZSBhIGNvbHVtbidzIGd1dHRlcnMgb24gYWxsIHNjcmVlbiBzaXplcywgdXNlIHRoZSBgJGd1dHRlcmAgcGFyYW1ldGVyIG9mIHRoZSBgZ3JpZC1jb2x1bW4oKWAgbWl4aW4gaW5zdGVhZC5cbkBtaXhpbiBncmlkLWNvbHVtbi1jb2xsYXBzZSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWd1dHRlcigwKTtcbn1cblxuLy8vIFVuLWNvbGxhcHNlIHRoZSBndXR0ZXJzIG9uIGEgY29sdW1uIGJ5IHJlLWFkZGluZyB0aGUgcGFkZGluZy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZ3V0dGVyIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIFNwYWNpbmcgYmV0d2VlbiBjb2x1bW5zLlxuQG1peGluIGdyaWQtY29sdW1uLXVuY29sbGFwc2UoJGd1dHRlcjogJGdyaWQtY29sdW1uLWd1dHRlcikge1xuICBAd2FybiAnVGhpcyBtaXhpbiBpcyBiZWluZyByZXBsYWNlZCBieSBncmlkLWNvbHVtbi1ndXR0ZXIoKS4gZ3JpZC1jb2x1bW4tdW5jb2xsYXBzZSgpIHdpbGwgYmUgcmVtb3ZlZCBpbiBGb3VuZGF0aW9uIDYuNC4nO1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1ndXR0ZXIoJGd1dHRlcnM6ICRndXR0ZXIpO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tZ3V0dGVyKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1ndXR0ZXJcbkBtaXhpbiBncmlkLWNvbC1ndXR0ZXIoXG4gICRndXR0ZXI6IGF1dG8sXG4gICRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tZ3V0dGVyKCRndXR0ZXIsICRndXR0ZXJzKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLWNvbGxhcHNlKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1jb2xsYXBzZVxuQG1peGluIGdyaWQtY29sLWNvbGxhcHNlIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tY29sbGFwc2U7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi11bmNvbGxhcHNlKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi11bmNvbGxhcHNlXG5AbWl4aW4gZ3JpZC1jb2wtdW5jb2xsYXBzZSgkZ3V0dGVyOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyKSB7XG4gIEB3YXJuICdUaGlzIG1peGluIGlzIGJlaW5nIHJlcGxhY2VkIGJ5IGdyaWQtY29sLWd1dHRlcigpLiBncmlkLWNvbC11bmNvbGxhcHNlKCkgd2lsbCBiZSByZW1vdmVkIGluIEZvdW5kYXRpb24gNi40Lic7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLXVuY29sbGFwc2UoJGd1dHRlcik7XG59XG5cbi8vLyBTZXRzIGJvdHRvbSBtYXJnaW4gb24gZ3JpZCBjb2x1bW5zIHRvIG1hdGNoIGd1dHRlcnNcbi8vLyBAcGFyYW0ge051bWJlcnxLZXl3b3JkfSAkbWFyZ2luIFthdXRvXVxuLy8vICAgVGhlIGJvdHRvbSBtYXJnaW4gb24gZ3JpZCBjb2x1bW5zLCBhY2NlcHRzIG11bHRpcGxlIHZhbHVlczpcbi8vLyAgIC0gQSBzaW5nbGUgdmFsdWUgd2lsbCBtYWtlIHRoZSBtYXJnaW4gdGhhdCBleGFjdCBzaXplLlxuLy8vICAgLSBBIGJyZWFrcG9pbnQgbmFtZSB3aWxsIG1ha2UgdGhlIG1hcmdpbiB0aGUgY29ycmVzcG9uZGluZyBzaXplIGluIHRoZSAkbWFyZ2lucyBtYXAuXG4vLy8gICAtIFwiYXV0b1wiIHdpbGwgbWFrZSB0aGUgbWFyZ2luIHJlc3BvbnNpdmUsIHVzaW5nIHRoZSAkbWFyZ2lucyBtYXAgdmFsdWVzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJG1hcmdpbnMgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2UuIFJlc3BvbnNpdmUgZ3V0dGVyIHNldHRpbmdzIGJ5IGRlZmF1bHQuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tbWFyZ2luIChcbiAgJG1hcmdpbjogYXV0byxcbiAgJG1hcmdpbnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICBAaW5jbHVkZSAtemYtYnJlYWtwb2ludC12YWx1ZSgkbWFyZ2luLCAkbWFyZ2lucykge1xuICAgICRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygkLXpmLWJwLXZhbHVlKTtcbiAgICBtYXJnaW4tYm90dG9tOiAkbWFyZ2luLWJvdHRvbTtcblxuICAgID4gOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGdyaWRcbi8vLy9cblxuLy8vIENhbGN1bGF0ZXMgdGhlIHdpZHRoIG9mIGEgY29sdW1uIGJhc2VkIG9uIGEgbnVtYmVyIG9mIGZhY3RvcnMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkY29sdW1uc1xuLy8vICAgV2lkdGggb2YgdGhlIGNvbHVtbi4gQWNjZXB0cyBtdWx0aXBsZSB2YWx1ZXM6XG4vLy8gICAtIEEgcGVyY2VudGFnZSB2YWx1ZSB3aWxsIG1ha2UgdGhlIGNvbHVtbiB0aGF0IGV4YWN0IHNpemUuXG4vLy8gICAtIEEgc2luZ2xlIGRpZ2l0IHdpbGwgbWFrZSB0aGUgY29sdW1uIHNwYW4gdGhhdCBudW1iZXIgb2YgY29sdW1ucyB3aWRlLCB0YWtpbmcgaW50byBhY2NvdW50IHRoZSBjb2x1bW4gY291bnQgb2YgdGhlIHBhcmVudCByb3cuXG4vLy8gICAtIEEgbGlzdCBvZiB0aGUgZm9ybWF0IFwieCBvZiB5XCIgKHdpdGhvdXQgcXVvdGVzKSB3aWxsIG1ha2UgYSBjb2x1bW4gdGhhdCBpcyAqeCogY29sdW1ucyB3aWRlLCBhc3N1bWluZyAqeSogdG90YWwgY29sdW1ucyBmb3IgdGhlIHBhcmVudC5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IEEgY2FsY3VsYXRlZCBwZXJjZW50YWdlIHZhbHVlLlxuQGZ1bmN0aW9uIGdyaWQtY29sdW1uKCRjb2x1bW5zKSB7XG4gICR3aWR0aDogMCU7XG5cbiAgLy8gUGFyc2luZyBwZXJjZW50cywgZGVjaW1hbHMsIGFuZCBjb2x1bW4gY291bnRzXG4gIEBpZiB0eXBlLW9mKCRjb2x1bW5zKSA9PSAnbnVtYmVyJyB7XG4gICAgQGlmIHVuaXQoJGNvbHVtbnMpID09ICclJyB7XG4gICAgICAkd2lkdGg6ICRjb2x1bW5zO1xuICAgIH1cbiAgICBAZWxzZSBpZiAkY29sdW1ucyA8IDEge1xuICAgICAgJHdpZHRoOiBwZXJjZW50YWdlKCRjb2x1bW5zKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJHdpZHRoOiBwZXJjZW50YWdlKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1uLWNvdW50KTtcbiAgICB9XG4gIH1cblxuICAvLyBQYXJzaW5nIFwibiBvZiBuXCIgZXhwcmVzc2lvbnNcbiAgQGVsc2UgaWYgdHlwZS1vZigkY29sdW1ucykgPT0gJ2xpc3QnIHtcbiAgICBAaWYgbGVuZ3RoKCRjb2x1bW5zKSAhPSAzIHtcbiAgICAgIEBlcnJvciAnV3Jvbmcgc3ludGF4IGZvciBncmlkLWNvbHVtbigpLiBVc2UgdGhlIGZvcm1hdCBcIm4gb2YgblwiLic7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICR3aWR0aDogcGVyY2VudGFnZShudGgoJGNvbHVtbnMsIDEpIC8gbnRoKCRjb2x1bW5zLCAzKSk7XG4gICAgfVxuICB9XG5cbiAgLy8gQW55dGhpbmcgZWxzZSBpcyBpbmNvcnJlY3RcbiAgQGVsc2Uge1xuICAgIEBlcnJvciAnV3Jvbmcgc3ludGF4IGZvciBncmlkLWNvbHVtbigpLiBVc2UgYSBudW1iZXIsIGRlY2ltYWwsIHBlcmNlbnRhZ2UsIG9yIFwibiBvZiBuXCIuJztcbiAgfVxuXG4gIEByZXR1cm4gJHdpZHRoO1xufVxuXG4vLy8gQ3JlYXRlcyBhIGdyaWQgY29sdW1uLlxuLy8vXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGNvbHVtbnMgWyRncmlkLWNvbHVtbi1jb3VudF0gLSBXaWR0aCBvZiB0aGUgY29sdW1uLiBSZWZlciB0byB0aGUgYGdyaWQtY29sdW1uKClgIGZ1bmN0aW9uIHRvIHNlZSBwb3NzaWJsZSB2YWx1ZXMuXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGd1dHRlcnMgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gU3BhY2luZyBiZXR3ZWVuIGNvbHVtbnMuIFJlZmVyIHRvIHRoZSBgZ3JpZC1jb2x1bW4tZ3V0dGVyKClgIGZ1bmN0aW9uIHRvIHNlZSBwb3NzaWJsZSB2YWx1ZXMuXG5AbWl4aW4gZ3JpZC1jb2x1bW4oXG4gICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW4tY291bnQsXG4gICRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tc2l6ZSgkY29sdW1ucyk7XG4gIGZsb2F0OiAkZ2xvYmFsLWxlZnQ7XG5cbiAgLy8gR3V0dGVyc1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1ndXR0ZXIoJGd1dHRlcnM6ICRndXR0ZXJzKTtcblxuICAvLyBMYXN0IGNvbHVtbiBhbGlnbm1lbnRcbiAgQGlmICRncmlkLWNvbHVtbi1hbGlnbi1lZGdlIHtcbiAgICAmOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgZmxvYXQ6ICRnbG9iYWwtcmlnaHQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgZ3JpZCBjb2x1bW4gcm93LiBUaGlzIGlzIHRoZSBlcXVpdmFsZW50IG9mIGFkZGluZyBgLnJvd2AgYW5kIGAuY29sdW1uYCB0byB0aGUgc2FtZSBlbGVtZW50LlxuLy8vXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGd1dHRlcnMgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gV2lkdGggb2YgdGhlIGd1dHRlcnMgb24gZWl0aGVyIHNpZGUgb2YgdGhlIGNvbHVtbiByb3cuIFJlZmVyIHRvIHRoZSBgZ3JpZC1jb2x1bW4tZ3V0dGVyKClgIGZ1bmN0aW9uIHRvIHNlZSBwb3NzaWJsZSB2YWx1ZXMuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tcm93KFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIGdyaWQtcm93O1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbigkZ3V0dGVyczogJGd1dHRlcnMpO1xuXG4gICYsXG4gICY6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gIH1cbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtblxuQGZ1bmN0aW9uIGdyaWQtY29sKFxuICAkY29sdW1uczogJGdyaWQtY29sdW1uLWNvdW50XG4pIHtcbiAgQHJldHVybiBncmlkLWNvbHVtbigkY29sdW1ucyk7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbigpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW5cbkBtaXhpbiBncmlkLWNvbChcbiAgJGNvbHVtbnM6ICRncmlkLWNvbHVtbi1jb3VudCxcbiAgJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbigkY29sdW1ucywgJGd1dHRlcnMpO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tcm93KClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1yb3dcbkBtaXhpbiBncmlkLWNvbC1yb3coXG4gICRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tcm93KCRndXR0ZXJzKTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGdyaWRcbi8vLy9cblxuLy8vIFJlcG9zaXRpb24gYSBjb2x1bW4uXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxLZXl3b3JkfSAkcG9zaXRpb24gLSBEaXJlY3Rpb24gYW5kIGFtb3VudCB0byBtb3ZlLiBUaGUgY29sdW1uIHdpbGwgbW92ZSBlcXVhbCB0byB0aGUgd2lkdGggb2YgdGhlIGNvbHVtbiBjb3VudCBzcGVjaWZpZWQuIEEgcG9zaXRpdmUgbnVtYmVyIHdpbGwgcHVzaCB0aGUgY29sdW1uIHRvIHRoZSByaWdodCwgd2hpbGUgYSBuZWdhdGl2ZSBudW1iZXIgd2lsbCBwdWxsIGl0IHRvIHRoZSBsZWZ0LiBTZXQgdG8gY2VudGVyIHRvIGNlbnRlciB0aGUgY29sdW1uLlxuQG1peGluIGdyaWQtY29sdW1uLXBvc2l0aW9uKCRwb3NpdGlvbikge1xuICBAaWYgdHlwZS1vZigkcG9zaXRpb24pID09ICdudW1iZXInIHtcbiAgICAkb2Zmc2V0OiBwZXJjZW50YWdlKCRwb3NpdGlvbiAvICRncmlkLWNvbHVtbi1jb3VudCk7XG5cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAkb2Zmc2V0O1xuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSBjZW50ZXIge1xuICAgICYsICY6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIGNsZWFyOiBib3RoO1xuICAgIH1cbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIH1cbiAgQGVsc2Uge1xuICAgIEB3YXJuICdXcm9uZyBzeW50YXggZm9yIGdyaWQtY29sdW1uLXBvc2l0aW9uKCkuIEVudGVyIGEgcG9zaXRpdmUgb3IgbmVnYXRpdmUgbnVtYmVyLCBvciBjZW50ZXIuJztcbiAgfVxufVxuXG4vLy8gUmVzZXQgYSBwb3NpdGlvbiBkZWZpbml0aW9uLlxuQG1peGluIGdyaWQtY29sdW1uLXVucG9zaXRpb24ge1xuICBwb3NpdGlvbjogc3RhdGljO1xuICBmbG9hdDogJGdsb2JhbC1sZWZ0O1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuXG4vLy8gT2Zmc2V0cyBhIGNvbHVtbiB0byB0aGUgcmlnaHQgYnkgYCRuYCBjb2x1bW5zLlxuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRuIC0gV2lkdGggdG8gb2Zmc2V0IGJ5LiBZb3UgY2FuIHBhc3MgaW4gYW55IHZhbHVlIGFjY2VwdGVkIGJ5IHRoZSBgZ3JpZC1jb2x1bW4oKWAgbWl4aW4sIHN1Y2ggYXMgYDZgLCBgNTAlYCwgb3IgYDEgb2YgMmAuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tb2Zmc2V0KCRuKSB7XG4gIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IGdyaWQtY29sdW1uKCRuKTtcbn1cblxuLy8vIERpc2FibGUgdGhlIGRlZmF1bHQgYmVoYXZpb3Igb2YgdGhlIGxhc3QgY29sdW1uIGluIGEgcm93IGFsaWduaW5nIHRvIHRoZSBvcHBvc2l0ZSBlZGdlLlxuQG1peGluIGdyaWQtY29sdW1uLWVuZCB7XG4gIC8vIFRoaXMgZXh0cmEgc3BlY2lmaWNpdHkgaXMgcmVxdWlyZWQgZm9yIHRoZSBwcm9wZXJ0eSB0byBiZSBhcHBsaWVkXG4gICY6bGFzdC1jaGlsZDpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogJGdsb2JhbC1sZWZ0O1xuICB9XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1wb3NpdGlvbigpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tcG9zaXRpb25cbkBtaXhpbiBncmlkLWNvbC1wb3MoJHBvc2l0aW9uKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLXBvc2l0aW9uKCRwb3NpdGlvbik7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi11bnBvc2l0aW9uKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi11bnBvc2l0aW9uXG5AbWl4aW4gZ3JpZC1jb2wtdW5wb3Mge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi11bnBvc2l0aW9uO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tb2Zmc2V0KClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1vZmZzZXRcbkBtaXhpbiBncmlkLWNvbC1vZmYoJG4pIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tb2Zmc2V0KCRuKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLWVuZCgpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tZW5kXG5AbWl4aW4gZ3JpZC1jb2wtZW5kIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tZW5kO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgRmxleGJveCBVdGlsaXRpZXNcbi8vLy9cbi8vXG4vLy8gRGVmYXVsdCB2YWx1ZSBmb3IgdGhlIGNvdW50IG9mIHNvdXJjZSBvcmRlcmluZ2Bcbi8vLyBAdHlwZSBOdW1iZXJcbiRmbGV4LXNvdXJjZS1vcmRlcmluZy1jb3VudDogNiAhZGVmYXVsdDtcblxuLy8vIFF1aWNrbHkgZGlzYWJsZS9lbmFibGUgUmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3IgVmFuaWxsYSBGbGV4IEhlbHBlcnMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGZsZXhib3gtcmVzcG9uc2l2ZS1icmVha3BvaW50czogdHJ1ZSAhZGVmYXVsdDtcblxuQG1peGluIGZsZXgtaGVscGVycyB7XG4gIC5mbGV4LWNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgZmxleDtcbiAgfVxuXG4gIC5mbGV4LWNoaWxkLWF1dG8ge1xuICAgIGZsZXg6IDEgMSBhdXRvO1xuICB9XG5cbiAgLmZsZXgtY2hpbGQtZ3JvdyB7XG4gICAgZmxleDogMSAwIGF1dG87XG4gIH1cblxuICAuZmxleC1jaGlsZC1zaHJpbmsge1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICB9XG5cbiAgQGVhY2ggJGRpciwgJHByb3AgaW4gJC16Zi1mbGV4LWRpcmVjdGlvbiB7XG4gICAgLmZsZXgtZGlyLSN7JGRpcn0ge1xuICAgICAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24oJHByb3ApO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAoJGZsZXhib3gtcmVzcG9uc2l2ZS1icmVha3BvaW50cykge1xuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgLiN7JHNpemV9LWZsZXgtY29udGFpbmVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZsZXg7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLiN7JHNpemV9LWZsZXgtY2hpbGQtYXV0byB7XG4gICAgICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuI3skc2l6ZX0tZmxleC1jaGlsZC1ncm93IHtcbiAgICAgICAgICAgIGZsZXg6IDEgMCBhdXRvO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC4jeyRzaXplfS1mbGV4LWNoaWxkLXNocmluayB7XG4gICAgICAgICAgICBmbGV4OiAwIDEgYXV0bztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAZWFjaCAkZGlyLCAkcHJvcCBpbiAkLXpmLWZsZXgtZGlyZWN0aW9uIHtcbiAgICAgICAgICAgIC4jeyRzaXplfS1mbGV4LWRpci0jeyRkaXJ9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24oJHByb3ApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mbGV4LWNsYXNzZXMge1xuICAvLyBIb3Jpem9udGFsIGFsaWdubWVudCB1c2luZyBqdXN0aWZ5LWNvbnRlbnRcbiAgQGVhY2ggJGhkaXIsICRwcm9wIGluIG1hcC1yZW1vdmUoJC16Zi1mbGV4LWp1c3RpZnksICdsZWZ0Jykge1xuICAgIC5hbGlnbi0jeyRoZGlyfSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWFsaWduKCR4OiAkaGRpcik7XG4gICAgfVxuICB9XG4gIFxuICAvLyBIb3Jpem9udGFsIGFsaWdubWVudCBTcGVjaWZpY2FsbHkgZm9yIFZlcnRpY2FsIE1lbnVcbiAgQGVhY2ggJGhkaXIsICRwcm9wIGluIG1hcC1yZW1vdmUoJC16Zi1mbGV4LWp1c3RpZnksICdsZWZ0JywgJ2p1c3RpZnknLCAnc3BhY2VkJykge1xuICAgIC5hbGlnbi0jeyRoZGlyfSB7XG4gICAgICAmLnZlcnRpY2FsLm1lbnUgPiBsaSA+IGEgeyBcbiAgICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbigkeDogJGhkaXIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFZlcnRpY2FsIGFsaWdubWVudCB1c2luZyBhbGlnbi1pdGVtcyBhbmQgYWxpZ24tc2VsZlxuICBAZWFjaCAkdmRpciwgJHByb3AgaW4gJC16Zi1mbGV4LWFsaWduIHtcbiAgICAuYWxpZ24tI3skdmRpcn0ge1xuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbigkeTogJHZkaXIpO1xuICAgIH1cblxuICAgIC5hbGlnbi1zZWxmLSN7JHZkaXJ9IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24tc2VsZigkeTogJHZkaXIpO1xuICAgIH1cbiAgfVxuXG4gIC8vIENlbnRyYWwgYWxpZ25tZW50IG9mIGNvbnRlbnRcbiAgLmFsaWduLWNlbnRlci1taWRkbGUge1xuICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24oJHg6IGNlbnRlciwgJHk6IG1pZGRsZSk7XG4gICAgYWxpZ24tY29udGVudDogY2VudGVyO1xuICB9XG5cbiAgLy8gU291cmNlIG9yZGVyaW5nXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGZsZXgtc291cmNlLW9yZGVyaW5nLWNvdW50IHtcbiAgICAgIC4jeyQtemYtc2l6ZX0tb3JkZXItI3skaX0ge1xuICAgICAgICBAaW5jbHVkZSBmbGV4LW9yZGVyKCRpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBWYW5pbGxhIEZsZXhib3ggSGVscGVyc1xuICBAaW5jbHVkZSBmbGV4LWhlbHBlcnM7XG59XG4iLCIkLXpmLWZsZXgtanVzdGlmeTogKFxuICAnbGVmdCc6IGZsZXgtc3RhcnQsXG4gICdyaWdodCc6IGZsZXgtZW5kLFxuICAnY2VudGVyJzogY2VudGVyLFxuICAnanVzdGlmeSc6IHNwYWNlLWJldHdlZW4sXG4gICdzcGFjZWQnOiBzcGFjZS1hcm91bmQsXG4pO1xuXG4kLXpmLWZsZXgtYWxpZ246IChcbiAgJ3RvcCc6IGZsZXgtc3RhcnQsXG4gICdib3R0b20nOiBmbGV4LWVuZCxcbiAgJ21pZGRsZSc6IGNlbnRlcixcbiAgJ3N0cmV0Y2gnOiBzdHJldGNoLFxuKTtcblxuJC16Zi1mbGV4LWRpcmVjdGlvbjogKFxuICAncm93Jzogcm93LFxuICAncm93LXJldmVyc2UnOiByb3ctcmV2ZXJzZSxcbiAgJ2NvbHVtbic6IGNvbHVtbixcbiAgJ2NvbHVtbi1yZXZlcnNlJzogY29sdW1uLXJldmVyc2UsXG4pO1xuXG4vLy8gRW5hYmxlcyBmbGV4Ym94IGJ5IGFkZGluZyBgZGlzcGxheTogZmxleGAgdG8gdGhlIGVsZW1lbnQuXG5AbWl4aW4gZmxleCB7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbi8vLyBIb3Jpem9udGFsbHkgb3IgdmVydGljYWxseSBhbGlnbnMgdGhlIGl0ZW1zIHdpdGhpbiBhIGZsZXggY29udGFpbmVyLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkeCBbbnVsbF0gLSBIb3Jpem9udGFsIGFsaWdubWVudCB0byB1c2UuIENhbiBiZSBgbGVmdGAsIGByaWdodGAsIGBjZW50ZXJgLCBganVzdGlmeWAsIG9yIGBzcGFjZWRgLiBPciwgc2V0IGl0IHRvIGBudWxsYCAodGhlIGRlZmF1bHQpIHRvIG5vdCBzZXQgaG9yaXpvbnRhbCBhbGlnbm1lbnQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkeSBbbnVsbF0gLSBWZXJ0aWNhbCBhbGlnbm1lbnQgdG8gdXNlLiBDYW4gYmUgYHRvcGAsIGBib3R0b21gLCBgbWlkZGxlYCwgb3IgYHN0cmV0Y2hgLiBPciwgc2V0IGl0IHRvIGBudWxsYCAodGhlIGRlZmF1bHQpIHRvIG5vdCBzZXQgdmVydGljYWwgYWxpZ25tZW50LlxuQG1peGluIGZsZXgtYWxpZ24oJHg6IG51bGwsICR5OiBudWxsKSB7XG4gIEBpZiAkeCB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCQtemYtZmxleC1qdXN0aWZ5LCAkeCkge1xuICAgICAgJHg6IG1hcC1nZXQoJC16Zi1mbGV4LWp1c3RpZnksICR4KTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQHdhcm4gJ2ZsZXgtZ3JpZC1yb3ctYWxpZ24oKTogI3skeH0gaXMgbm90IGEgdmFsaWQgdmFsdWUgZm9yIGhvcml6b250YWwgYWxpZ25tZW50LiBVc2UgbGVmdCwgcmlnaHQsIGNlbnRlciwganVzdGlmeSwgb3Igc3BhY2VkLic7XG4gICAgfVxuICB9XG5cbiAgQGlmICR5IHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJC16Zi1mbGV4LWFsaWduLCAkeSkge1xuICAgICAgJHk6IG1hcC1nZXQoJC16Zi1mbGV4LWFsaWduLCAkeSk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEB3YXJuICdmbGV4LWdyaWQtcm93LWFsaWduKCk6ICN7JHl9IGlzIG5vdCBhIHZhbGlkIHZhbHVlIGZvciB2ZXJ0aWNhbCBhbGlnbm1lbnQuIFVzZSB0b3AsIGJvdHRvbSwgbWlkZGxlLCBvciBzdHJldGNoLic7XG4gICAgfVxuICB9XG5cbiAganVzdGlmeS1jb250ZW50OiAkeDtcbiAgYWxpZ24taXRlbXM6ICR5O1xufVxuXG4vLy8gVmVydGljYWxseSBhbGlnbiBhIHNpbmdsZSBjb2x1bW4gd2l0aGluIGEgZmxleCByb3cuIEFwcGx5IHRoaXMgbWl4aW4gdG8gYSBmbGV4IGNvbHVtbi5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHkgW251bGxdIC0gVmVydGljYWwgYWxpZ25tZW50IHRvIHVzZS4gQ2FuIGJlIGB0b3BgLCBgYm90dG9tYCwgYG1pZGRsZWAsIG9yIGBzdHJldGNoYC4gT3IsIHNldCBpdCB0byBgbnVsbGAgKHRoZSBkZWZhdWx0KSB0byBub3Qgc2V0IHZlcnRpY2FsIGFsaWdubWVudC5cbkBtaXhpbiBmbGV4LWFsaWduLXNlbGYoJHk6IG51bGwpIHtcbiAgQGlmICR5IHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJC16Zi1mbGV4LWFsaWduLCAkeSkge1xuICAgICAgJHk6IG1hcC1nZXQoJC16Zi1mbGV4LWFsaWduLCAkeSk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEB3YXJuICdmbGV4LWdyaWQtY29sdW1uLWFsaWduKCk6ICN7JHl9IGlzIG5vdCBhIHZhbGlkIHZhbHVlIGZvciBhbGlnbm1lbnQuIFVzZSB0b3AsIGJvdHRvbSwgbWlkZGxlLCBvciBzdHJldGNoLic7XG4gICAgfVxuICB9XG5cbiAgYWxpZ24tc2VsZjogJHk7XG59XG5cbi8vLyBDaGFuZ2VzIHRoZSBzb3VyY2Ugb3JkZXIgb2YgYSBmbGV4IGNoaWxkLiBDaGlsZHJlbiB3aXRoIGxvd2VyIG51bWJlcnMgYXBwZWFyIGZpcnN0IGluIHRoZSBsYXlvdXQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRvcmRlciBbMF0gLSBPcmRlciBudW1iZXIgdG8gYXBwbHkuXG5AbWl4aW4gZmxleC1vcmRlcigkb3JkZXI6IDApIHtcbiAgb3JkZXI6ICRvcmRlcjtcbn1cblxuLy8vIENoYW5nZSBmbGV4LWRpcmVjdGlvblxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpcmVjdGlvbiBbcm93XSAtIEZsZXggZGlyZWN0aW9uIHRvIHVzZS4gQ2FuIGJlXG4vLy8gICAtIHJvdyAoZGVmYXVsdCk6IHNhbWUgYXMgdGV4dCBkaXJlY3Rpb25cbi8vLyAgIC0gcm93LXJldmVyc2U6IG9wcG9zaXRlIHRvIHRleHQgZGlyZWN0aW9uXG4vLy8gICAtIGNvbHVtbjogc2FtZSBhcyByb3cgYnV0IHRvcCB0byBib3R0b21cbi8vLyAgIC0gY29sdW1uLXJldmVyc2U6IHNhbWUgYXMgcm93LXJldmVyc2UgdG9wIHRvIGJvdHRvbVxuQG1peGluIGZsZXgtZGlyZWN0aW9uKCRkaXJlY3Rpb246IHJvdykge1xuICBmbGV4LWRpcmVjdGlvbjogJGRpcmVjdGlvbjtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8gSGlkZSBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIG9ubHkgZGlzcGxheWluZyBpdCBhYm92ZSBhIGNlcnRhaW4gc2NyZWVuIHNpemUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBzaG93LWZvcigkc2l6ZSkge1xuICAkc2l6ZTogbWFwLWdldCgkYnJlYWtwb2ludHMsICRzaXplKTtcbiAgJHNpemU6IC16Zi1icC10by1lbSgkc2l6ZSkgLSAoMSAvIDE2KTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplIGRvd24pIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8vIEhpZGUgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBvbmx5IGRpc3BsYXlpbmcgaXQgd2l0aGluIGEgY2VydGFpbiBicmVha3BvaW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gc2hvdy1mb3Itb25seSgkc2l6ZSkge1xuICAkbG93ZXItYm91bmQtc2l6ZTogbWFwLWdldCgkYnJlYWtwb2ludHMsICRzaXplKTtcbiAgJHVwcGVyLWJvdW5kLXNpemU6IC16Zi1tYXAtbmV4dCgkYnJlYWtwb2ludHMsICRzaXplKTtcblxuICAvLyBtb3JlIG9mdGVuIHRoYW4gbm90IHRoaXMgd2lsbCBiZSBjb3JyZWN0LCBqdXN0IG9uZSB0aW1lIHJvdW5kIHRoZSBsb29wIGl0IHdvbid0IHNvIHNldCBpbiBzY29wZSBoZXJlXG4gICRsb3dlci1ib3VuZDogLXpmLWJwLXRvLWVtKCRsb3dlci1ib3VuZC1zaXplKSAtICgxIC8gMTYpO1xuICAvLyB0ZXN0IGFjdHVhbCBsb3dlci1ib3VuZC1zaXplLCBpZiAwIHNldCBpdCB0byAwZW1cbiAgQGlmIHN0cmlwLXVuaXQoJGxvd2VyLWJvdW5kLXNpemUpID09IDAge1xuICAgICRsb3dlci1ib3VuZDogLXpmLWJwLXRvLWVtKCRsb3dlci1ib3VuZC1zaXplKTtcbiAgfVxuXG4gIEBpZiAkdXBwZXItYm91bmQtc2l6ZSA9PSBudWxsIHtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbG93ZXItYm91bmQpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgICR1cHBlci1ib3VuZDogLXpmLWJwLXRvLWVtKCR1cHBlci1ib3VuZC1zaXplKTtcblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRsb3dlci1ib3VuZCksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHVwcGVyLWJvdW5kKSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cblxuLy8vIFNob3cgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBhbmQgaGlkZSBpdCBhYm92ZSBhIGNlcnRhaW4gc2NyZWVuIHNpemUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBoaWRlLWZvcigkc2l6ZSkge1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vLyBTaG93IGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgYW5kIGhpZGUgaXQgYWJvdmUgYSBjZXJ0YWluIHNjcmVlbiBzaXplLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gaGlkZS1mb3Itb25seSgkc2l6ZSkge1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplIG9ubHkpIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdmlzaWJpbGl0eS1jbGFzc2VzIHtcbiAgLy8gQmFzaWMgaGlkaW5nIGNsYXNzZXNcbiAgLmhpZGUge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5pbnZpc2libGUge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxuXG4gIC8vIFJlc3BvbnNpdmUgdmlzaWJpbGl0eSBjbGFzc2VzXG4gIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAuaGlkZS1mb3ItI3skc2l6ZX0ge1xuICAgICAgICBAaW5jbHVkZSBoaWRlLWZvcigkc2l6ZSk7XG4gICAgICB9XG5cbiAgICAgIC5zaG93LWZvci0jeyRzaXplfSB7XG4gICAgICAgIEBpbmNsdWRlIHNob3ctZm9yKCRzaXplKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuaGlkZS1mb3ItI3skc2l6ZX0tb25seSB7XG4gICAgICBAaW5jbHVkZSBoaWRlLWZvci1vbmx5KCRzaXplKTtcbiAgICB9XG5cbiAgICAuc2hvdy1mb3ItI3skc2l6ZX0tb25seSB7XG4gICAgICBAaW5jbHVkZSBzaG93LWZvci1vbmx5KCRzaXplKTtcbiAgICB9XG4gIH1cblxuICAvLyBTY3JlZW4gcmVhZGVyIHZpc2liaWxpdHkgY2xhc3Nlc1xuICAvLyBOZWVkIGEgXCJoaWRlLWZvci1zclwiIGNsYXNzPyBBZGQgYXJpYS1oaWRkZW49J3RydWUnIHRvIHRoZSBlbGVtZW50XG4gIC5zaG93LWZvci1zcixcbiAgLnNob3ctb24tZm9jdXMge1xuICAgIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlO1xuICB9XG5cbiAgLy8gT25seSBkaXNwbGF5IHRoZSBlbGVtZW50IHdoZW4gaXQncyBmb2N1c2VkXG4gIC5zaG93LW9uLWZvY3VzIHtcbiAgICAmOmFjdGl2ZSxcbiAgICAmOmZvY3VzIHtcbiAgICAgIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlLW9mZjtcbiAgICB9XG4gIH1cblxuICAvLyBMYW5kc2NhcGUgYW5kIHBvcnRyYWl0IHZpc2liaWxpdHlcbiAgLnNob3ctZm9yLWxhbmRzY2FwZSxcbiAgLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYW5kc2NhcGUpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChwb3J0cmFpdCkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC5oaWRlLWZvci1sYW5kc2NhcGUsXG4gIC5zaG93LWZvci1wb3J0cmFpdCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYW5kc2NhcGUpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHBvcnRyYWl0KSB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbi8vLyBDcmVhdGVzIGFuIGlubmVyIGJveC1zaGFkb3cgZm9yIG9ubHkgb25lIHNpZGVcbi8vLyBcbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaWRlIC0gU2lkZSB0aGUgc2hhZG93IGlzIHN1cHBvc2VkIHRvIGFwcGVhci4gQ2FuIGJlIGB0b3BgLCBgbGVmdGAsIGByaWdodGAgb3IgYGJvdHRvbWAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzaXplIC0gV2lkdGggZm9yIHRoZSB0YXJnZXQgc2lkZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBDb2xvciBvZiB0aGUgc2hhZG93LlxuQG1peGluIGlubmVyLXNpZGUtc2hhZG93KFxuICAkc2lkZTogYm90dG9tLFxuICAkc2l6ZTogMjBweCxcbiAgJGNvbG9yOiByZ2JhKCRibGFjaywgMC4yNSlcbikge1xuXG4gICRoZWxwZXI6IHJvdW5kKCRzaXplICogMC42NSk7XG5cbiAgQGlmICgkc2lkZSA9PSB0b3ApIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwICRoZWxwZXIgJHNpemUgKC0xKSokaGVscGVyICRjb2xvcjtcbiAgfSBAZWxzZSBpZiAoJHNpZGUgPT0gbGVmdCkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0ICRoZWxwZXIgMCAkc2l6ZSAoLTEpKiRoZWxwZXIgJGNvbG9yO1xuICB9IEBlbHNlIGlmICgkc2lkZSA9PSByaWdodCkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0ICgtMSkqJGhlbHBlciAwICRzaXplICgtMSkqJGhlbHBlciAkY29sb3I7XG4gIH0gQGVsc2UgaWYgKCRzaWRlID09IGJvdHRvbSkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgKC0xKSokaGVscGVyICRzaXplICgtMSkqJGhlbHBlciAkY29sb3I7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBDU1MgdHJpYW5nbGUsIHdoaWNoIGNhbiBiZSB1c2VkIGZvciBkcm9wZG93biBhcnJvd3MsIGRyb3Bkb3duIHBpcHMsIGFuZCBtb3JlLiBVc2UgdGhpcyBtaXhpbiBpbnNpZGUgYSBgJjo6YmVmb3JlYCBvciBgJjo6YWZ0ZXJgIHNlbGVjdG9yLCB0byBhdHRhY2ggdGhlIHRyaWFuZ2xlIHRvIGFuIGV4aXN0aW5nIGVsZW1lbnQuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHRyaWFuZ2xlLXNpemUgLSBXaWR0aCBvZiB0aGUgdHJpYW5nbGUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJHRyaWFuZ2xlLWNvbG9yIC0gQ29sb3Igb2YgdGhlIHRyaWFuZ2xlLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHRyaWFuZ2xlLWRpcmVjdGlvbiAtIERpcmVjdGlvbiB0aGUgdHJpYW5nbGUgcG9pbnRzLiBDYW4gYmUgYHVwYCwgYHJpZ2h0YCwgYGRvd25gLCBvciBgbGVmdGAuXG5AbWl4aW4gY3NzLXRyaWFuZ2xlKFxuICAkdHJpYW5nbGUtc2l6ZSxcbiAgJHRyaWFuZ2xlLWNvbG9yLFxuICAkdHJpYW5nbGUtZGlyZWN0aW9uXG4pIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG5cbiAgYm9yZGVyOiBpbnNldCAkdHJpYW5nbGUtc2l6ZTtcblxuICBjb250ZW50OiAnJztcblxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gZG93bikge1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAkdHJpYW5nbGUtY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IHVwKSB7XG4gICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgICBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvcjtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gcmlnaHQpIHtcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yO1xuICB9XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSBsZWZ0KSB7XG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIG1lbnUgaWNvbiB3aXRoIGEgc2V0IHdpZHRoLCBoZWlnaHQsIG51bWJlciBvZiBiYXJzLCBhbmQgY29sb3JzLiBUaGUgbWl4aW4gdXNlcyB0aGUgaGVpZ2h0IG9mIHRoZSBpY29uIGFuZCB0aGUgd2VpZ2h0IG9mIHRoZSBiYXJzIHRvIGRldGVybWluZSBzcGFjaW5nLiA8ZGl2IGNsYXNzPVwiZG9jcy1leGFtcGxlLWJ1cmdlclwiPjwvZGl2PlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYmxhY2tdIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3ItaG92ZXIgWyRkYXJrLWdyYXldIC0gQ29sb3IgdG8gdXNlIHdoZW4gdGhlIGljb24gaXMgaG92ZXJlZCBvdmVyLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggWzIwcHhdIC0gV2lkdGggb2YgdGhlIGljb24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRoZWlnaHQgWzE2cHhdIC0gSGVpZ2h0IG9mIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2VpZ2h0IFsycHhdIC0gSGVpZ2h0IG9mIGluZGl2aWR1YWwgYmFycyBpbiB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhcnMgWzNdIC0gTnVtYmVyIG9mIGJhcnMgaW4gdGhlIGljb24uXG5AbWl4aW4gaGFtYnVyZ2VyKFxuICAkY29sb3I6ICRibGFjayxcbiAgJGNvbG9yLWhvdmVyOiAkZGFyay1ncmF5LFxuICAkd2lkdGg6IDIwcHgsXG4gICRoZWlnaHQ6IDE2cHgsXG4gICR3ZWlnaHQ6IDJweCxcbiAgJGJhcnM6IDNcbikge1xuICAvLyBib3gtc2hhZG93IENTUyBvdXRwdXRcbiAgJHNoYWRvdzogKCk7XG4gICRob3Zlci1zaGFkb3c6ICgpO1xuXG4gIC8vIFNwYWNpbmcgYmV0d2VlbiBiYXJzIGlzIGNhbGN1bGF0ZWQgYmFzZWQgb24gdGhlIHRvdGFsIGhlaWdodCBvZiB0aGUgaWNvbiBhbmQgdGhlIHdlaWdodCBvZiBlYWNoIGJhclxuICAkc3BhY2luZzogKCRoZWlnaHQgLSAoJHdlaWdodCAqICRiYXJzKSkgLyAoJGJhcnMgLSAxKTtcblxuICBAaWYgdW5pdCgkc3BhY2luZykgPT0gJ3B4JyB7XG4gICAgJHNwYWNpbmc6IGZsb29yKCRzcGFjaW5nKTtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGJhcnMge1xuICAgICRvZmZzZXQ6ICgkd2VpZ2h0ICsgJHNwYWNpbmcpICogKCRpIC0gMSk7XG4gICAgJHNoYWRvdzogYXBwZW5kKCRzaGFkb3csIDAgJG9mZnNldCAwICRjb2xvciwgY29tbWEpO1xuICB9XG5cbiAgLy8gSWNvbiBjb250YWluZXJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHdpZHRoOiAkd2lkdGg7XG4gIGhlaWdodDogJGhlaWdodDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gIC8vIEljb24gYmFyc1xuICAmOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAkd2VpZ2h0O1xuXG4gICAgYmFja2dyb3VuZDogJGNvbG9yO1xuICAgIGJveC1zaGFkb3c6ICRzaGFkb3c7XG5cbiAgICBjb250ZW50OiAnJztcbiAgfVxuXG4gIC8vIEhvdmVyIHN0YXRlXG4gIEBpZiAkY29sb3ItaG92ZXIge1xuICAgIC8vIEdlbmVyYXRlIENTU1xuICAgIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGJhcnMge1xuICAgICAgJG9mZnNldDogKCR3ZWlnaHQgKyAkc3BhY2luZykgKiAoJGkgLSAxKTtcbiAgICAgICRob3Zlci1zaGFkb3c6IGFwcGVuZCgkaG92ZXItc2hhZG93LCAwICRvZmZzZXQgMCAkY29sb3ItaG92ZXIsIGNvbW1hKTtcbiAgICB9XG5cbiAgICAmOmhvdmVyOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItaG92ZXI7XG4gICAgICBib3gtc2hhZG93OiAkaG92ZXItc2hhZG93O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBhIGRvd253YXJkLWZhY2luZyB0cmlhbmdsZSBhcyBhIGJhY2tncm91bmQgaW1hZ2UgdG8gYW4gZWxlbWVudC4gVGhlIGltYWdlIGlzIGZvcm1hdHRlZCBhcyBhbiBTVkcsIG1ha2luZyBpdCBlYXN5IHRvIGNoYW5nZSB0aGUgY29sb3IuIEJlY2F1c2UgSW50ZXJuZXQgRXhwbG9yZXIgZG9lc24ndCBzdXBwb3J0IGVuY29kZWQgU1ZHcyBhcyBiYWNrZ3JvdW5kIGltYWdlcywgYSBQTkcgZmFsbGJhY2sgaXMgYWxzbyBpbmNsdWRlZC5cbi8vLyBUaGVyZSBhcmUgdHdvIFBORyBmYWxsYmFja3M6IGEgYmxhY2sgdHJpYW5nbGUgYW5kIGEgd2hpdGUgdHJpYW5nbGUuIFRoZSBvbmUgdXNlZCBkZXBlbmRzIG9uIHRoZSBsaWdodG5lc3Mgb2YgdGhlIGlucHV0IGNvbG9yLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYmxhY2tdIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgdHJpYW5nbGUuXG5AbWl4aW4gYmFja2dyb3VuZC10cmlhbmdsZSgkY29sb3I6ICRibGFjaykge1xuICAkcmdiOiAncmdiJTI4I3tyb3VuZChyZWQoJGNvbG9yKSl9LCAje3JvdW5kKGdyZWVuKCRjb2xvcikpfSwgI3tyb3VuZChibHVlKCRjb2xvcikpfSUyOSc7XG5cbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZlcnNpb249JzEuMScgd2lkdGg9JzMyJyBoZWlnaHQ9JzI0JyB2aWV3Qm94PScwIDAgMzIgMjQnPjxwb2x5Z29uIHBvaW50cz0nMCwwIDMyLDAgMTYsMjQnIHN0eWxlPSdmaWxsOiAjeyRyZ2J9Jz48L3BvbHlnb24+PC9zdmc+XCIpO1xuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6MFxcMCkge1xuICAgIEBpZiBsaWdodG5lc3MoJGNvbG9yKSA8IDYwJSB7XG4gICAgICAvLyBXaGl0ZSB0cmlhbmdsZVxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQVlDQVlBQUFDYlUvODBBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQUlwSlJFRlVlTnJFa2NrTmdEQU1CQmZSa0V0ME9iUkJCZHNHWFVEZ21RZks0WGhIMm04Y3pRQUF5MjdSM3RzdzRRZmUyeDh1T082b1lMYjZHbE9vcjNHRitzd1VSQU9tVUorUnd0RUpzOVd2VEdFWXhCWHFJMU1RQVpoQ2ZVUUtSekRNVmorVHdyQUlWNmp2U1VFa1lBcjFMU2tjeVRCYi9WK0tZZlg3eEFldXNxM3NMRHRHSDNrRUdBQ1BXSWZsTlpmaFJRQUFBQUJKUlU1RXJrSmdnZz09Jyk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIC8vIEJsYWNrIHRyaWFuZ2xlXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0FBQUFBWUNBWUFBQUNiVS84MEFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBTUJKUkVGVWVOckVsbHNPaENBTVJWc3pDOUlselU3S0NtVkhUSnNvTVdZTVV0cHl2OUJnYnVYUUI1WlNkZ0JZWVk0eWNnQml2azhLWUZzUU1mTWlUVEJQNG8zblV6Q0t6T2FiTEpiTHkyL2czMWV2R2tBZ2luUjQvWmVnS0g1cVgzYkpDc2NBM3QweDNrZ081dFFGeWhoRmY1MHhScUZMYnlNVU5KUXpneWpHUy93Z0Nwdktxa1JCcHVXckU0VjlkKzFFNGRQVVhxSWcxMDdTUU9FLzJEUlF4TXdURHlnSUluVkRFVDlUM2xDb2ovNmovVkNtR2paT2wybEtwWjhBQXdEUVA3eklpbURHRlFBQUFBQkpSVTVFcmtKZ2dnPT0nKTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFwcGxpZXMgdGhlIG1pY3JvIGNsZWFyZml4IGhhY2sgcG9wdWxhcml6ZWQgYnkgTmljb2xhcyBHYWxsYWdoZXIuIEluY2x1ZGUgdGhpcyBtaXhpbiBvbiBhIGNvbnRhaW5lciBpZiBpdHMgY2hpbGRyZW4gYXJlIGFsbCBmbG9hdGVkLCB0byBnaXZlIHRoZSBjb250YWluZXIgYSBwcm9wZXIgaGVpZ2h0LlxuLy8vIFRoZSBjbGVhcmZpeCBpcyBhdWdtZW50ZWQgd2l0aCBzcGVjaWZpYyBzdHlsZXMgdG8gcHJldmVudCBib3JkZXJzIGluIGZsZXhib3ggZW52aXJvbm1lbnRzXG4vLy8gQGxpbmsgaHR0cDovL25pY29sYXNnYWxsYWdoZXIuY29tL21pY3JvLWNsZWFyZml4LWhhY2svIE1pY3JvIENsZWFyZml4IEhhY2tcbi8vLyBAbGluayBodHRwOi8vZGFuaXNhZGVzaWduZXIuY29tL2Jsb2cvZmxleGJveC1jbGVhci1maXgtcHNldWRvLWVsZW1lbnRzLyBGbGV4Ym94IGZpeFxuQG1peGluIGNsZWFyZml4IHtcbiAgJjo6YmVmb3JlLFxuICAmOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4LWJhc2lzOiAwO1xuICAgICAgb3JkZXI6IDE7XG4gICAgfVxuICB9XG5cbiAgJjo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG59XG5cbi8vLyBBZGRzIENTUyBmb3IgYSBcInF1YW50aXR5IHF1ZXJ5XCIgc2VsZWN0b3IgdGhhdCBhdXRvbWF0aWNhbGx5IHNpemVzIGVsZW1lbnRzIGJhc2VkIG9uIGhvdyBtYW55IHRoZXJlIGFyZSBpbnNpZGUgYSBjb250YWluZXIuXG4vLy8gQGxpbmsgaHR0cDovL2FsaXN0YXBhcnQuY29tL2FydGljbGUvcXVhbnRpdHktcXVlcmllcy1mb3ItY3NzIFF1YW50aXR5IFF1ZXJpZXMgZm9yIENTU1xuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtYXggLSBNYXhpbXVtIG51bWJlciBvZiBpdGVtcyB0byBkZXRlY3QuIFRoZSBoaWdoZXIgdGhpcyBudW1iZXIgaXMsIHRoZSBtb3JlIENTUyB0aGF0J3MgcmVxdWlyZWQgdG8gY292ZXIgZWFjaCBudW1iZXIgb2YgaXRlbXMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZWxlbSBbbGldIC0gVGFnIHRvIHVzZSBmb3Igc2libGluZyBzZWxlY3RvcnMuXG5AbWl4aW4gYXV0by13aWR0aCgkbWF4LCAkZWxlbTogbGkpIHtcbiAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkbWF4IHtcbiAgICAmOm50aC1sYXN0LWNoaWxkKCN7JGl9KTpmaXJzdC1jaGlsZCxcbiAgICAmOm50aC1sYXN0LWNoaWxkKCN7JGl9KTpmaXJzdC1jaGlsZCB+ICN7JGVsZW19IHtcbiAgICAgIHdpZHRoOiBwZXJjZW50YWdlKDEgLyAkaSk7XG4gICAgfVxuICB9XG59XG5cbi8vLyBSZW1vdmVzIHRoZSBmb2N1cyByaW5nIGFyb3VuZCBhbiBlbGVtZW50IHdoZW4gYSBtb3VzZSBpbnB1dCBpcyBkZXRlY3RlZC5cbkBtaXhpbiBkaXNhYmxlLW1vdXNlLW91dGxpbmUge1xuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gJiB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxufVxuXG4vLy8gTWFrZXMgYW4gZWxlbWVudCB2aXN1YWxseSBoaWRkZW4sIGJ1dCBzdGlsbCBhY2Nlc3NpYmxlIHRvIGtleWJvYXJkcyBhbmQgYXNzaXN0aXZlIGRldmljZXMuXG4vLy8gQGxpbmsgaHR0cDovL3Nub29rLmNhL2FyY2hpdmVzL2h0bWxfYW5kX2Nzcy9oaWRpbmctY29udGVudC1mb3ItYWNjZXNzaWJpbGl0eSBIaWRpbmcgQ29udGVudCBmb3IgQWNjZXNzaWJpbGl0eVxuLy8vIEBsaW5rIGh0dHA6Ly9odWdvZ2lyYXVkZWwuY29tLzIwMTYvMTAvMTMvY3NzLWhpZGUtYW5kLXNlZWsvXG5AbWl4aW4gZWxlbWVudC1pbnZpc2libGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmc6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCwwLDAsMCk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGNsaXAtcGF0aDogaW5zZXQoNTAlKTtcbiAgYm9yZGVyOiAwO1xufVxuXG4vLy8gUmV2ZXJzZXMgdGhlIENTUyBvdXRwdXQgY3JlYXRlZCBieSB0aGUgYGVsZW1lbnQtaW52aXNpYmxlKClgIG1peGluLlxuQG1peGluIGVsZW1lbnQtaW52aXNpYmxlLW9mZiB7XG4gIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDtcbiAgd2lkdGg6IGF1dG87XG4gIGhlaWdodDogYXV0bztcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIGNsaXA6IGF1dG87XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIGNsaXAtcGF0aDogbm9uZTtcbn1cblxuLy8vIFZlcnRpY2FsbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gdmVydGljYWwtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xufVxuXG4vLy8gSG9yaXpvbnRhbGx5IGNlbnRlcnMgdGhlIGVsZW1lbnQgaW5zaWRlIG9mIGl0cyBmaXJzdCBub24tc3RhdGljIHBhcmVudCxcbi8vLyBAbGluayBodHRwOi8vd3d3LnNpdGVwb2ludC5jb20vY2VudGVyaW5nLXdpdGgtc2Fzcy8gQ2VudGVyaW5nIFdpdGggU2Fzc1xuQG1peGluIGhvcml6b250YWwtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbn1cblxuLy8vIEFic29sdXRlbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gYWJzb2x1dGUtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbn1cblxuLy8vIEl0ZXJhdGVzIHRocm91Z2ggYnJlYWtwb2ludHMgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnQtY2xhc3Nlc2AgYW5kIHByaW50cyB0aGUgQ1NTIGluc2lkZSB0aGUgbWl4aW4gYXQgZWFjaCBicmVha3BvaW50J3MgbWVkaWEgcXVlcnkuIFVzZSB0aGlzIHdpdGggdGhlIGdyaWQsIG9yIGFueSBvdGhlciBjb21wb25lbnQgdGhhdCBoYXMgcmVzcG9uc2l2ZSBjbGFzc2VzLlxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkc21hbGwgW3RydWVdIC0gSWYgYGZhbHNlYCwgdGhlIG1peGluIHdpbGwgc2tpcCB0aGUgYHNtYWxsYCBicmVha3BvaW50LiBVc2UgdGhpcyB3aXRoIGNvbXBvbmVudHMgdGhhdCBkb24ndCBwcmVmaXggY2xhc3NlcyB3aXRoIGBzbWFsbC1gLCBvbmx5IGBtZWRpdW0tYCBhbmQgdXAuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkYXV0by1pbnNlcnQtYnJlYWtwb2ludHMgW3RydWVdIC0gSWYgYGZhbHNlYCwgdGhlIG1peGluIHdpbGwgaXRlcmF0ZSBvdmVyIGJyZWFrcG9pbnRzIHdpdGhvdXQgZG9pbmcgdGhlIG1lZGlhIHF1ZXJ5IGl0c2VsZi4gVXNlZnVsIGZvciBtb3JlIGNvbXBsZXggbWVkaWEgcXVlcnkgZ2VuZXJhdGlvbiBhcyBpbiB0aGUgbWFyZ2luIGdyaWQuXG5AbWl4aW4gLXpmLWVhY2gtYnJlYWtwb2ludCgkc21hbGw6IHRydWUsICRhdXRvLWluc2VydC1icmVha3BvaW50czogdHJ1ZSkge1xuICAkbGlzdDogJGJyZWFrcG9pbnQtY2xhc3NlcztcblxuICBAaWYgbm90ICRzbWFsbCB7XG4gICAgJGxpc3Q6IHNsLXJlbW92ZSgkbGlzdCwgJC16Zi16ZXJvLWJyZWFrcG9pbnQpO1xuICB9XG5cbiAgQGVhY2ggJG5hbWUgaW4gJGxpc3Qge1xuICAgICQtemYtc2l6ZTogJG5hbWUgIWdsb2JhbDtcblxuICAgIEBpZiAkYXV0by1pbnNlcnQtYnJlYWtwb2ludHMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBHZW5lcmF0ZSB0aGUgYEBjb250ZW50YCBwYXNzZWQgdG8gdGhlIG1peGluIHdpdGggYSB2YWx1ZSBgJC16Zi1icC12YWx1ZWAgcmVsYXRlZCB0byBhIGJyZWFrcG9pbnQsIGRlcGVuZGluZyBvbiB0aGUgYCRuYW1lYCBwYXJhbWV0ZXI6XG4vLy8gLSBGb3IgYSBzaW5nbGUgdmFsdWUsIGAkLXpmLWJwLXZhbHVlYCBpcyB0aGlzIHZhbHVlLlxuLy8vIC0gRm9yIGEgYnJlYWtwb2ludCBuYW1lLCBgJC16Zi1icC12YWx1ZWAgaXMgdGhlIGNvcnJlc3BvbmRpbmcgYnJlYWtwb2ludCB2YWx1ZSBpbiBgJG1hcGAuXG4vLy8gLSBGb3IgXCJhdXRvXCIsIGAkLXpmLWJwLXZhbHVlYCBpcyB0aGUgY29ycmVzcG9uZGluZyBicmVha3BvaW50IHZhbHVlIGluIGAkbWFwYCBhbmQgaXMgcGFzc2VkIHRvIGBAY29udGVudGAsIHdoaWNoIGlzIG1hZGUgcmVzcG9uc2l2ZSBmb3IgZWFjaCBicmVha3BvaW50IG9mIGAkbWFwYC5cbi8vLyBAcGFyYW0ge051bWJlcnxBcnJheXxLZXl3b3JkfSAkbmFtZSBbYXV0b10gLSBTaW5nbGUgdmFsdWUsIGJyZWFrcG9pbnQgbmFtZSwgb3IgbGlzdCBvZiBicmVha3BvaW50IG5hbWVzIHRvIHVzZS4gXCJhdXRvXCIgYnkgZGVmYXVsdC5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRtYXAgLSBNYXAgb2YgYnJlYWtwb2ludHMgYW5kIHZhbHVlcyBvciBzaW5nbGUgdmFsdWUgdG8gdXNlLlxuQG1peGluIC16Zi1icmVha3BvaW50LXZhbHVlKFxuICAkbmFtZTogYXV0byxcbiAgJG1hcDogbnVsbFxuKSB7XG4gIEBpZiAkbmFtZSA9PSBhdXRvIGFuZCB0eXBlLW9mKCRtYXApID09ICdtYXAnIHtcbiAgICAvLyBcImF1dG9cIlxuICAgIEBlYWNoICRrLCAkdiBpbiAkbWFwIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGspIHtcbiAgICAgICAgQGluY2x1ZGUgLXpmLWJyZWFrcG9pbnQtdmFsdWUoJHYsICRtYXApIHtcbiAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLy8gYnJlYWtwb2ludCBuYW1lXG4gICAgQGlmIHR5cGUtb2YoJG5hbWUpID09ICdzdHJpbmcnIHtcbiAgICAgICRuYW1lOiAtemYtZ2V0LWJwLXZhbCgkbWFwLCAkbmFtZSk7XG4gICAgfVxuXG4gICAgLy8gYnJlYWtwb2ludCB2YWx1ZVxuICAgICQtemYtYnAtdmFsdWU6ICRuYW1lICFnbG9iYWw7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJ1dHRvblxuLy8vL1xuXG4vLy8gRm9udCBmYW1pbHkgZm9yIGJ1dHRvbiBlbGVtZW50cy5cbi8vLyBAdHlwZSBGb250XG4kYnV0dG9uLWZvbnQtZmFtaWx5OiBpbmhlcml0ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBpbnNpZGUgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLXBhZGRpbmc6IDAuODVlbSAxZW0gIWRlZmF1bHQ7XG5cbi8vLyBNYXJnaW4gYXJvdW5kIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmaWxsIGZvciBidXR0b25zLiBDYW4gZWl0aGVyIGJlIGBzb2xpZGAgb3IgYGhvbGxvd2AuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGJ1dHRvbi1maWxsOiBzb2xpZCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBDb2xvclxuJGJ1dHRvbi1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb24gaG92ZXIgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlcjogc2NhbGUtY29sb3IoJGJ1dHRvbi1iYWNrZ3JvdW5kLCAkbGlnaHRuZXNzOiAtMTUlKSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgY29sb3IgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQWx0ZXJuYXRpdmUgZm9udCBjb2xvciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLWNvbG9yLWFsdDogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBmb3IgYnV0dG9ucywgZGVmYXVsdGVkIHRvIGdsb2JhbC1yYWRpdXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgd2lkdGggZm9yIGhvbGxvdyBvdXRsaW5lIGJ1dHRvbnNcbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24taG9sbG93LWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xuXG4vLy8gU2l6ZXMgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTWFwXG4kYnV0dG9uLXNpemVzOiAoXG4gIHRpbnk6IDAuNnJlbSxcbiAgc21hbGw6IDAuNzVyZW0sXG4gIGRlZmF1bHQ6IDAuOXJlbSxcbiAgbGFyZ2U6IDEuMjVyZW0sXG4pICFkZWZhdWx0O1xuXG4vLy8gQ29sb3JpbmcgY2xhc3Nlcy4gQSBtYXAgb2YgY2xhc3NlcyB0byBvdXRwdXQgaW4geW91ciBDU1MsIGxpa2UgYC5zZWNvbmRhcnlgLCBgLnN1Y2Nlc3NgLCBhbmQgc28gb24uXG4vLy8gQHR5cGUgTWFwXG4kYnV0dG9uLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGUgIWRlZmF1bHQ7XG5cbi8vLyBvcGFjaXR5IGZvciBhIGRpc2FibGVkIGJ1dHRvbi5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLW9wYWNpdHktZGlzYWJsZWQ6IDAuMjUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGxpZ2h0bmVzcyBvbiBob3ZlciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3M6IC0yMCUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBsaWdodG5lc3Mgb24gaG92ZXIgZm9yIGhvbGxvdyBidXR0b25zLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbi1ob2xsb3ctaG92ZXItbGlnaHRuZXNzOiAtNTAlICFkZWZhdWx0O1xuXG4vLyBJbnRlcm5hbDogZmxpcCBmcm9tIG1hcmdpbi1yaWdodCB0byBtYXJnaW4tbGVmdCBmb3IgZGVmYXVsdHNcbkBpZiAkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09ICdydGwnIHtcbiAgJGJ1dHRvbi1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbn1cblxuLy8vIHRyYW5zaXRpb25zIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLW91dCwgY29sb3IgMC4yNXMgZWFzZS1vdXQgIWRlZmF1bHQ7XG5cbi8vIFRPRE86IERvY3VtZW50IGJ1dHRvbi1iYXNlKCkgbWl4aW5cbkBtaXhpbiBidXR0b24tYmFzZSB7XG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW46ICRidXR0b24tbWFyZ2luO1xuICBmb250LWZhbWlseTogJGJ1dHRvbi1mb250LWZhbWlseTtcblxuICBAaWYgKHR5cGUtb2YoJGJ1dHRvbi1wYWRkaW5nKSA9PSAnbWFwJykge1xuICAgIEBlYWNoICRzaXplLCAkcGFkZGluZyBpbiAkYnV0dG9uLXBhZGRpbmcge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICBwYWRkaW5nOiAkcGFkZGluZztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIHBhZGRpbmc6ICRidXR0b24tcGFkZGluZztcbiAgfVxuXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6ICRidXR0b24tcmFkaXVzO1xuICB0cmFuc2l0aW9uOiAkYnV0dG9uLXRyYW5zaXRpb247XG5cbiAgZm9udC1zaXplOiBtYXAtZ2V0KCRidXR0b24tc2l6ZXMsIGRlZmF1bHQpO1xuICBsaW5lLWhlaWdodDogMTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi8vLyBFeHBhbmRzIGEgYnV0dG9uIHRvIG1ha2UgaXQgZnVsbC13aWR0aC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRleHBhbmQgW3RydWVdIC0gU2V0IHRvIGB0cnVlYCB0byBlbmFibGUgdGhlIGV4cGFuZCBiZWhhdmlvci4gU2V0IHRvIGBmYWxzZWAgdG8gcmV2ZXJzZSB0aGlzIGJlaGF2aW9yLlxuQG1peGluIGJ1dHRvbi1leHBhbmQoJGV4cGFuZDogdHJ1ZSkge1xuICBAaWYgJGV4cGFuZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG4gIEBlbHNlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgbWFyZ2luOiAkYnV0dG9uLW1hcmdpbjtcbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgdmlzdWFsIHN0eWxlIG9mIGEgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskYnV0dG9uLWJhY2tncm91bmRdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kLWhvdmVyIFskYnV0dG9uLWJhY2tncm91bmQtaG92ZXJdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uIG9uIGhvdmVyLiBTZXQgdG8gYGF1dG9gIHRvIGhhdmUgdGhlIG1peGluIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBob3ZlciBjb2xvci5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRidXR0b24tY29sb3JdIC0gVGV4dCBjb2xvciBvZiB0aGUgYnV0dG9uLiBTZXQgdG8gYGF1dG9gIHRvIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBjb2xvciBiYXNlZCBvbiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbkBtaXhpbiBidXR0b24tc3R5bGUoXG4gICRiYWNrZ3JvdW5kOiAkYnV0dG9uLWJhY2tncm91bmQsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkYnV0dG9uLWJhY2tncm91bmQtaG92ZXIsXG4gICRjb2xvcjogJGJ1dHRvbi1jb2xvcixcbiAgJGJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzOiAkYnV0dG9uLWJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzXG4pIHtcbiAgQGlmICRjb2xvciA9PSBhdXRvIHtcbiAgICAkY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJGJhY2tncm91bmQsICgkYnV0dG9uLWNvbG9yLCAkYnV0dG9uLWNvbG9yLWFsdCkpO1xuICB9XG5cbiAgQGlmICRiYWNrZ3JvdW5kLWhvdmVyID09IGF1dG8ge1xuICAgICRiYWNrZ3JvdW5kLWhvdmVyOiBzY2FsZS1jb2xvcigkYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogJGJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzKTtcbiAgfVxuXG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICBjb2xvcjogJGNvbG9yO1xuXG4gICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLWhvdmVyO1xuICAgIGNvbG9yOiAkY29sb3I7XG4gIH1cbn1cblxuLy8vIFJlbW92ZXMgYmFja2dyb3VuZCBmaWxsIG9uIGhvdmVyIGFuZCBmb2N1cyBmb3IgaG9sbG93IGJ1dHRvbnMuXG5AbWl4aW4gYnV0dG9uLWhvbGxvdyB7XG4gICYsXG4gICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG5cbiAgJi5kaXNhYmxlZCxcbiAgJltkaXNhYmxlZF0ge1xuICAgICYsXG4gICAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGJ1dHRvbi1ob2xsb3ctc3R5bGUoXG4gICRjb2xvcjogJGJ1dHRvbi1iYWNrZ3JvdW5kLFxuICAkaG92ZXItbGlnaHRuZXNzOiAkYnV0dG9uLWhvbGxvdy1ob3Zlci1saWdodG5lc3MsXG4gICRib3JkZXItd2lkdGg6ICRidXR0b24taG9sbG93LWJvcmRlci13aWR0aFxuKSB7XG4gICRjb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAkaG92ZXItbGlnaHRuZXNzKTtcblxuICBib3JkZXI6ICRib3JkZXItd2lkdGggc29saWQgJGNvbG9yO1xuICBjb2xvcjogJGNvbG9yO1xuXG4gICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogJGNvbG9yLWhvdmVyO1xuICAgIGNvbG9yOiAkY29sb3ItaG92ZXI7XG4gICAgJi5kaXNhYmxlZCxcbiAgICAmW2Rpc2FibGVkXSB7XG4gICAgICBib3JkZXI6ICRib3JkZXItd2lkdGggc29saWQgJGNvbG9yO1xuICAgICAgY29sb3I6ICRjb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgZGlzYWJsZWQgc3R5bGVzIHRvIGEgYnV0dG9uIGJ5IGZhZGluZyB0aGUgZWxlbWVudCwgcmVzZXRpbmcgdGhlIGN1cnNvciwgYW5kIGRpc2FibGluZyBwb2ludGVyIGV2ZW50cy5cbi8vLyBAcGFyYW0gW0NvbG9yXSAkYmFja2dyb3VuZCBbJGJ1dHRvbi1iYWNrZ3JvdW5kXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGRpc2FibGVkIGJ1dHRvbi5cbi8vLyBAcGFyYW0gW0NvbG9yXSAkY29sb3IgWyRidXR0b24tY29sb3JdIC0gVGV4dCBjb2xvciBvZiB0aGUgZGlzYWJsZWQgYnV0dG9uLiBTZXQgdG8gYGF1dG9gIHRvIGhhdmUgdGhlIG1peGluIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBjb2xvciBiYXNlZCBvbiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbkBtaXhpbiBidXR0b24tZGlzYWJsZWQoXG4gICRiYWNrZ3JvdW5kOiAkYnV0dG9uLWJhY2tncm91bmQsXG4gICRjb2xvcjogJGJ1dHRvbi1jb2xvclxuKSB7XG4gIEBpZiAkY29sb3IgPT0gYXV0byB7XG4gICAgJGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRiYWNrZ3JvdW5kLCAoJGJ1dHRvbi1jb2xvciwgJGJ1dHRvbi1jb2xvci1hbHQpKTtcbiAgfVxuXG4gIG9wYWNpdHk6ICRidXR0b24tb3BhY2l0eS1kaXNhYmxlZDtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcblxuICAmLCAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGNvbG9yO1xuICB9XG59XG5cbi8vLyBBZGRzIGEgZHJvcGRvd24gYXJyb3cgdG8gYSBidXR0b24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzaXplIFswLjRlbV0gLSBTaXplIG9mIHRoZSBhcnJvdy4gV2UgcmVjb21tZW5kIHVzaW5nIGFuIGBlbWAgdmFsdWUgc28gdGhlIHRyaWFuZ2xlIHNjYWxlcyB3aGVuIHVzZWQgaW5zaWRlIGRpZmZlcmVudCBzaXplcyBvZiBidXR0b25zLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbd2hpdGVdIC0gQ29sb3Igb2YgdGhlIGFycm93LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkb2Zmc2V0IFskYnV0dG9uLXBhZGRpbmddIC0gRGlzdGFuY2UgYmV0d2VlbiB0aGUgYXJyb3cgYW5kIHRoZSB0ZXh0IG9mIHRoZSBidXR0b24uIERlZmF1bHRzIHRvIHdoYXRldmVyIHRoZSByaWdodCBwYWRkaW5nIG9mIGEgYnV0dG9uIGlzLlxuQG1peGluIGJ1dHRvbi1kcm9wZG93bihcbiAgJHNpemU6IDAuNGVtLFxuICAkY29sb3I6ICR3aGl0ZSxcbiAgJG9mZnNldDogZ2V0LXNpZGUoJGJ1dHRvbi1wYWRkaW5nLCByaWdodClcbikge1xuICAmOjphZnRlciB7XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRzaXplLCAkY29sb3IsIGRvd24pO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDAuNGVtOyAvLyBBbGlnbnMgdGhlIGFycm93IHdpdGggdGhlIHRleHQgb2YgdGhlIGJ1dHRvblxuXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZsb2F0OiAjeyRnbG9iYWwtcmlnaHR9O1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRvZmZzZXQ7XG4gIH1cbn1cblxuLy8vIEFkZHMgYWxsIHN0eWxlcyBmb3IgYSBidXR0b24uIEZvciBtb3JlIGdyYW51bGFyIGNvbnRyb2wgb3ZlciBzdHlsZXMsIHVzZSB0aGUgaW5kaXZpZHVhbCBidXR0b24gbWl4aW5zLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGV4cGFuZCBbZmFsc2VdIC0gU2V0IHRvIGB0cnVlYCB0byBtYWtlIHRoZSBidXR0b24gZnVsbC13aWR0aC5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJGJ1dHRvbi1iYWNrZ3JvdW5kXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZC1ob3ZlciBbJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbiBvbiBob3Zlci4gU2V0IHRvIGBhdXRvYCB0byBoYXZlIHRoZSBtaXhpbiBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgaG92ZXIgY29sb3IuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYnV0dG9uLWNvbG9yXSAtIFRleHQgY29sb3Igb2YgdGhlIGJ1dHRvbi4gU2V0IHRvIGBhdXRvYCB0byBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgY29sb3IgYmFzZWQgb24gdGhlIGJhY2tncm91bmQgY29sb3IuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3R5bGUgW3NvbGlkXSAtIFNldCB0byBgaG9sbG93YCB0byBjcmVhdGUgYSBob2xsb3cgYnV0dG9uLiBUaGUgY29sb3IgZGVmaW5lZCBpbiBgJGJhY2tncm91bmRgIHdpbGwgYmUgdXNlZCBhcyB0aGUgcHJpbWFyeSBjb2xvciBvZiB0aGUgYnV0dG9uLlxuQG1peGluIGJ1dHRvbihcbiAgJGV4cGFuZDogZmFsc2UsXG4gICRiYWNrZ3JvdW5kOiAkYnV0dG9uLWJhY2tncm91bmQsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkYnV0dG9uLWJhY2tncm91bmQtaG92ZXIsXG4gICRjb2xvcjogJGJ1dHRvbi1jb2xvcixcbiAgJHN0eWxlOiAkYnV0dG9uLWZpbGxcbikge1xuICBAaW5jbHVkZSBidXR0b24tYmFzZTtcblxuICBAaWYgJHN0eWxlID09IHNvbGlkIHtcbiAgICBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJhY2tncm91bmQsICRiYWNrZ3JvdW5kLWhvdmVyLCAkY29sb3IpO1xuICB9XG4gIEBlbHNlIGlmICRzdHlsZSA9PSBob2xsb3cge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3c7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZSgkYmFja2dyb3VuZCk7XG4gIH1cblxuICBAaWYgJGV4cGFuZCB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWV4cGFuZDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1idXR0b24ge1xuICAuYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBidXR0b247XG5cbiAgICAvLyBTaXplc1xuICAgIEBlYWNoICRzaXplLCAkdmFsdWUgaW4gbWFwLXJlbW92ZSgkYnV0dG9uLXNpemVzLCBkZWZhdWx0KSB7XG4gICAgICAmLiN7JHNpemV9IHtcbiAgICAgICAgZm9udC1zaXplOiAkdmFsdWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5leHBhbmRlZCB7IEBpbmNsdWRlIGJ1dHRvbi1leHBhbmQ7IH1cblxuICAgIC8vIENvbG9yc1xuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGJ1dHRvbi1wYWxldHRlIHtcbiAgICAgIEBpZiAkYnV0dG9uLWZpbGwgIT0gaG9sbG93IHtcbiAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRjb2xvciwgYXV0bywgYXV0byk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZSgkY29sb3IpO1xuICAgICAgICB9XG5cbiAgICAgICAgJi4jeyRuYW1lfS5kcm9wZG93bjo6YWZ0ZXIge1xuICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRjb2xvcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIERpc2FibGVkIHN0eWxlXG4gICAgJi5kaXNhYmxlZCxcbiAgICAmW2Rpc2FibGVkXSB7XG4gICAgICBAaW5jbHVkZSBidXR0b24tZGlzYWJsZWQ7XG5cbiAgICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGJ1dHRvbi1wYWxldHRlIHtcbiAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWRpc2FibGVkKCRjb2xvciwgYXV0byk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBIb2xsb3cgc3R5bGVcbiAgICBAaWYgJGJ1dHRvbi1maWxsICE9IGhvbGxvdyB7XG4gICAgICAmLmhvbGxvdyB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3c7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGU7XG5cbiAgICAgICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkYnV0dG9uLXBhbGV0dGUge1xuICAgICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZSgkY29sb3IpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIENsZWFyIHN0eWxlXG4gICAgQGlmICRidXR0b24tZmlsbCAhPSBjbGVhciB7XG4gICAgICAmLmNsZWFyIHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdztcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZTtcblxuICAgICAgICAmLCAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgICAgICAmLCAmLmRpc2FibGVkLCAmW2Rpc2FibGVkXSB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGJ1dHRvbi1wYWxldHRlIHtcbiAgICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGUoJGNvbG9yKTtcblxuICAgICAgICAgICAgJiwgJjpob3ZlcixcbiAgICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgICAmLFxuICAgICAgICAgICAgICAmLmRpc2FibGVkLFxuICAgICAgICAgICAgICAmW2Rpc2FibGVkXSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIERyb3Bkb3duIGFycm93XG4gICAgJi5kcm9wZG93biB7XG4gICAgICBAaW5jbHVkZSBidXR0b24tZHJvcGRvd247XG5cbiAgICAgIEBpZiAkYnV0dG9uLWZpbGwgPT0gaG9sbG93IHtcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRidXR0b24tYmFja2dyb3VuZDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLmhvbGxvdyB7XG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkYnV0dG9uLWJhY2tncm91bmQ7XG4gICAgICAgIH1cblxuICAgICAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRidXR0b24tcGFsZXR0ZSB7XG4gICAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRjb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBCdXR0b24gd2l0aCBkcm9wZG93biBhcnJvdyBvbmx5XG4gICAgJi5hcnJvdy1vbmx5OjphZnRlciB7XG4gICAgICB0b3A6IC0wLjFlbTtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgICB9XG4gIH1cbiAgYS5idXR0b24ge1xuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuICB9XG59XG4iLCIvLyAgRm91bmRhdGlvbiBmb3IgU2l0ZXMgU2V0dGluZ3Ncbi8vICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy9cbi8vICBUYWJsZSBvZiBDb250ZW50czpcbi8vXG4vLyAgIDEuIEdsb2JhbFxuLy8gICAyLiBCcmVha3BvaW50c1xuLy8gICAzLiBUaGUgR3JpZFxuLy8gICA0LiBCYXNlIFR5cG9ncmFwaHlcbi8vICAgNS4gVHlwb2dyYXBoeSBIZWxwZXJzXG4vLyAgIDYuIEFiaWRlXG4vLyAgIDcuIEFjY29yZGlvblxuLy8gICA4LiBBY2NvcmRpb24gTWVudVxuLy8gICA5LiBCYWRnZVxuLy8gIDEwLiBCcmVhZGNydW1ic1xuLy8gIDExLiBCdXR0b25cbi8vICAxMi4gQnV0dG9uIEdyb3VwXG4vLyAgMTMuIENhbGxvdXRcbi8vICAxNC4gQ2FyZFxuLy8gIDE1LiBDbG9zZSBCdXR0b25cbi8vICAxNi4gRHJpbGxkb3duXG4vLyAgMTcuIERyb3Bkb3duXG4vLyAgMTguIERyb3Bkb3duIE1lbnVcbi8vICAxOS4gRmxleGJveCBVdGlsaXRpZXNcbi8vICAyMC4gRm9ybXNcbi8vICAyMS4gTGFiZWxcbi8vICAyMi4gTWVkaWEgT2JqZWN0XG4vLyAgMjMuIE1lbnVcbi8vICAyNC4gTWV0ZXJcbi8vICAyNS4gT2ZmLWNhbnZhc1xuLy8gIDI2LiBPcmJpdFxuLy8gIDI3LiBQYWdpbmF0aW9uXG4vLyAgMjguIFByb2dyZXNzIEJhclxuLy8gIDI5LiBQcm90b3R5cGUgQXJyb3dcbi8vICAzMC4gUHJvdG90eXBlIEJvcmRlci1Cb3hcbi8vICAzMS4gUHJvdG90eXBlIEJvcmRlci1Ob25lXG4vLyAgMzIuIFByb3RvdHlwZSBCb3JkZXJlZFxuLy8gIDMzLiBQcm90b3R5cGUgRGlzcGxheVxuLy8gIDM0LiBQcm90b3R5cGUgRm9udC1TdHlsaW5nXG4vLyAgMzUuIFByb3RvdHlwZSBMaXN0LVN0eWxlLVR5cGVcbi8vICAzNi4gUHJvdG90eXBlIE92ZXJmbG93XG4vLyAgMzcuIFByb3RvdHlwZSBQb3NpdGlvblxuLy8gIDM4LiBQcm90b3R5cGUgUm91bmRlZFxuLy8gIDM5LiBQcm90b3R5cGUgU2VwYXJhdG9yXG4vLyAgNDAuIFByb3RvdHlwZSBTaGFkb3dcbi8vICA0MS4gUHJvdG90eXBlIFNpemluZ1xuLy8gIDQyLiBQcm90b3R5cGUgU3BhY2luZ1xuLy8gIDQzLiBQcm90b3R5cGUgVGV4dC1EZWNvcmF0aW9uXG4vLyAgNDQuIFByb3RvdHlwZSBUZXh0LVRyYW5zZm9ybWF0aW9uXG4vLyAgNDUuIFByb3RvdHlwZSBUZXh0LVV0aWxpdGllc1xuLy8gIDQ2LiBSZXNwb25zaXZlIEVtYmVkXG4vLyAgNDcuIFJldmVhbFxuLy8gIDQ4LiBTbGlkZXJcbi8vICA0OS4gU3dpdGNoXG4vLyAgNTAuIFRhYmxlXG4vLyAgNTEuIFRhYnNcbi8vICA1Mi4gVGh1bWJuYWlsXG4vLyAgNTMuIFRpdGxlIEJhclxuLy8gIDU0LiBUb29sdGlwXG4vLyAgNTUuIFRvcCBCYXJcbi8vICA1Ni4gWHkgR3JpZFxuXG5AaW1wb3J0ICd1dGlsL3V0aWwnO1xuXG4vLyAxLiBHbG9iYWxcbi8vIC0tLS0tLS0tLVxuXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTAwJTtcbiRnbG9iYWwtd2lkdGg6IHJlbS1jYWxjKDg5MCk7XG4kZ2xvYmFsLWxpbmVoZWlnaHQ6IDEuNTtcbiRmb3VuZGF0aW9uLXBhbGV0dGU6IChcbiAgcHJpbWFyeTogIzE3NzliYSxcbiAgc2Vjb25kYXJ5OiAjNzY3Njc2LFxuICBzdWNjZXNzOiAjMzlhYTQ3LFxuICB3YXJuaW5nOiAjZmZhZTAwLFxuICBhbGVydDogI2YwMTQxNCxcbik7XG4kbGlnaHQtZ3JheTogI2U2ZTZlNjtcbiRtZWRpdW0tZ3JheTogI2NhY2FjYTtcbiRkYXJrLWdyYXk6ICM4YThhOGE7XG4kYmxhY2s6ICMwYTBhMGE7XG4kd2hpdGU6ICNmZWZlZmU7XG4kYm9keS1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kYm9keS1mb250LWNvbG9yOiAkYmxhY2s7XG4kYm9keS1mb250LWZhbWlseTogJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmO1xuJGJvZHktYW50aWFsaWFzZWQ6IHRydWU7XG4kZ2xvYmFsLW1hcmdpbjogMXJlbTtcbiRnbG9iYWwtcGFkZGluZzogMXJlbTtcbiRnbG9iYWwtcG9zaXRpb246IDFyZW07XG4kZ2xvYmFsLXdlaWdodC1ub3JtYWw6IG5vcm1hbDtcbiRnbG9iYWwtd2VpZ2h0LWJvbGQ6IGJvbGQ7XG4kZ2xvYmFsLXJhZGl1czogNXB4O1xuJGdsb2JhbC1tZW51LXBhZGRpbmc6IDAuN3JlbSAxcmVtO1xuJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW46IDFyZW07XG4kZ2xvYmFsLXRleHQtZGlyZWN0aW9uOiBsdHI7XG4kZ2xvYmFsLWZsZXhib3g6IHRydWU7XG4kZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50czogZmFsc2U7XG4kZ2xvYmFsLWJ1dHRvbi1jdXJzb3I6IGF1dG87XG4kZ2xvYmFsLWNvbG9yLXBpY2stY29udHJhc3QtdG9sZXJhbmNlOiAwO1xuJHByaW50LXRyYW5zcGFyZW50LWJhY2tncm91bmRzOiB0cnVlO1xuXG5AaW5jbHVkZSBhZGQtZm91bmRhdGlvbi1jb2xvcnM7XG5cbi8vIDIuIEJyZWFrcG9pbnRzXG4vLyAtLS0tLS0tLS0tLS0tLVxuXG4kYnJlYWtwb2ludHM6IChcbiAgc21hbGw6IDAsXG4gIG1lZGl1bTogNjQwcHgsXG4gIGxhcmdlOiAxMDI0cHgsXG4gIHhsYXJnZTogMTIwMHB4LFxuICB4eGxhcmdlOiAxNDQwcHgsXG4pO1xuJHByaW50LWJyZWFrcG9pbnQ6IGxhcmdlO1xuJGJyZWFrcG9pbnQtY2xhc3NlczogKHNtYWxsIG1lZGl1bSBsYXJnZSk7XG5cbi8vIDMuIFRoZSBHcmlkXG4vLyAtLS0tLS0tLS0tLVxuXG4kZ3JpZC1yb3ctd2lkdGg6ICRnbG9iYWwtd2lkdGg7XG4kZ3JpZC1jb2x1bW4tY291bnQ6IDEyO1xuJGdyaWQtY29sdW1uLWd1dHRlcjogKFxuICBzbWFsbDogMTVweCxcbiAgbWVkaXVtOiAyM3B4LFxuKTtcbiRncmlkLWNvbHVtbi1hbGlnbi1lZGdlOiB0cnVlO1xuJGdyaWQtY29sdW1uLWFsaWFzOiAnY29sdW1ucyc7XG4kYmxvY2stZ3JpZC1tYXg6IDg7XG5cbi8vIDQuIEJhc2UgVHlwb2dyYXBoeVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRoZWFkZXItZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xuJGhlYWRlci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuJGhlYWRlci1mb250LXN0eWxlOiBub3JtYWw7XG4kZm9udC1mYW1pbHktbW9ub3NwYWNlOiBDb25zb2xhcywgJ0xpYmVyYXRpb24gTW9ubycsIENvdXJpZXIsIG1vbm9zcGFjZTtcbiRoZWFkZXItY29sb3I6IGluaGVyaXQ7XG4kaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNDtcbiRoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuJGhlYWRlci1zdHlsZXM6IChcbiAgc21hbGw6IChcbiAgICAnaDEnOiAoJ2ZvbnQtc2l6ZSc6IDI0KSxcbiAgICAnaDInOiAoJ2ZvbnQtc2l6ZSc6IDIwKSxcbiAgICAnaDMnOiAoJ2ZvbnQtc2l6ZSc6IDE5KSxcbiAgICAnaDQnOiAoJ2ZvbnQtc2l6ZSc6IDE4KSxcbiAgICAnaDUnOiAoJ2ZvbnQtc2l6ZSc6IDE3KSxcbiAgICAnaDYnOiAoJ2ZvbnQtc2l6ZSc6IDE2KSxcbiAgKSxcbiAgbWVkaXVtOiAoXG4gICAgJ2gxJzogKCdmb250LXNpemUnOiA0OCksXG4gICAgJ2gyJzogKCdmb250LXNpemUnOiA0MCksXG4gICAgJ2gzJzogKCdmb250LXNpemUnOiAzMSksXG4gICAgJ2g0JzogKCdmb250LXNpemUnOiAyNSksXG4gICAgJ2g1JzogKCdmb250LXNpemUnOiAyMCksXG4gICAgJ2g2JzogKCdmb250LXNpemUnOiAxNiksXG4gICksXG4pO1xuJGhlYWRlci10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuJHNtYWxsLWZvbnQtc2l6ZTogODAlO1xuJGhlYWRlci1zbWFsbC1mb250LWNvbG9yOiAkbWVkaXVtLWdyYXk7XG4kcGFyYWdyYXBoLWxpbmVoZWlnaHQ6IDEuNjtcbiRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTogMXJlbTtcbiRwYXJhZ3JhcGgtdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbiRjb2RlLWNvbG9yOiAkYmxhY2s7XG4kY29kZS1mb250LWZhbWlseTogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTtcbiRjb2RlLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kY29kZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRjb2RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRjb2RlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNSAxKTtcbiRhbmNob3ItY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJGFuY2hvci1jb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJGFuY2hvci1jb2xvciwgJGxpZ2h0bmVzczogLTE0JSk7XG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyOiBub25lO1xuJGhyLXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xuJGhyLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRoci1tYXJnaW46IHJlbS1jYWxjKDIwKSBhdXRvO1xuJGxpc3QtbGluZWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0O1xuJGxpc3QtbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xuJGxpc3Qtc3R5bGUtdHlwZTogZGlzYztcbiRsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlO1xuJGxpc3Qtc2lkZS1tYXJnaW46IDEuMjVyZW07XG4kbGlzdC1uZXN0ZWQtc2lkZS1tYXJnaW46IDEuMjVyZW07XG4kZGVmbmxpc3QtbWFyZ2luLWJvdHRvbTogMXJlbTtcbiRkZWZubGlzdC10ZXJtLXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiRkZWZubGlzdC10ZXJtLW1hcmdpbi1ib3R0b206IDAuM3JlbTtcbiRibG9ja3F1b3RlLWNvbG9yOiAkZGFyay1ncmF5O1xuJGJsb2NrcXVvdGUtcGFkZGluZzogcmVtLWNhbGMoOSAyMCAwIDE5KTtcbiRibG9ja3F1b3RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRjaXRlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuJGNpdGUtY29sb3I6ICRkYXJrLWdyYXk7XG4kY2l0ZS1wc2V1ZG8tY29udGVudDogJ1xcMjAxNCBcXDAwMjAnO1xuJGtleXN0cm9rZS1mb250OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlO1xuJGtleXN0cm9rZS1jb2xvcjogJGJsYWNrO1xuJGtleXN0cm9rZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRrZXlzdHJva2UtcGFkZGluZzogcmVtLWNhbGMoMiA0IDApO1xuJGtleXN0cm9rZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGFiYnItdW5kZXJsaW5lOiAxcHggZG90dGVkICRibGFjaztcblxuLy8gNS4gVHlwb2dyYXBoeSBIZWxwZXJzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJGxlYWQtZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZSAqIDEuMjU7XG4kbGVhZC1saW5laGVpZ2h0OiAxLjY7XG4kc3ViaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNDtcbiRzdWJoZWFkZXItY29sb3I6ICRkYXJrLWdyYXk7XG4kc3ViaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kc3ViaGVhZGVyLW1hcmdpbi10b3A6IDAuMnJlbTtcbiRzdWJoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuJHN0YXQtZm9udC1zaXplOiAyLjVyZW07XG5cbi8vIDYuIEFiaWRlXG4vLyAtLS0tLS0tLVxuXG4kYWJpZGUtaW5wdXRzOiB0cnVlO1xuJGFiaWRlLWxhYmVsczogdHJ1ZTtcbiRpbnB1dC1iYWNrZ3JvdW5kLWludmFsaWQ6ICR3aGl0ZTtcbiRmb3JtLWxhYmVsLWNvbG9yLWludmFsaWQ6IGdldC1jb2xvcihhbGVydCk7XG4kaW5wdXQtZXJyb3ItY29sb3I6IGdldC1jb2xvcihhbGVydCk7XG4kaW5wdXQtZXJyb3ItZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4kaW5wdXQtZXJyb3ItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG5cbi8vIDcuIEFjY29yZGlvblxuLy8gLS0tLS0tLS0tLS0tXG5cbiRhY2NvcmRpb24tYmFja2dyb3VuZDogJHdoaXRlO1xuJGFjY29yZGlvbi1wbHVzbWludXM6IHRydWU7XG4kYWNjb3JkaW9uLXRpdGxlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuJGFjY29yZGlvbi1pdGVtLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiRhY2NvcmRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheTtcbiRhY2NvcmRpb24taXRlbS1wYWRkaW5nOiAxLjI1cmVtIDFyZW07XG4kYWNjb3JkaW9uLWNvbnRlbnQtYmFja2dyb3VuZDogJHdoaXRlO1xuJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ncmF5O1xuJGFjY29yZGlvbi1jb250ZW50LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuJGFjY29yZGlvbi1jb250ZW50LXBhZGRpbmc6IDFyZW07XG5cbi8vIDguIEFjY29yZGlvbiBNZW51XG4vLyAtLS0tLS0tLS0tLS0tLS0tLVxuXG4kYWNjb3JkaW9ubWVudS1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZztcbiRhY2NvcmRpb25tZW51LW5lc3RlZC1tYXJnaW46ICRnbG9iYWwtbWVudS1uZXN0ZWQtbWFyZ2luO1xuJGFjY29yZGlvbm1lbnUtc3VibWVudS1wYWRkaW5nOiAkYWNjb3JkaW9ubWVudS1wYWRkaW5nO1xuJGFjY29yZGlvbm1lbnUtYXJyb3dzOiB0cnVlO1xuJGFjY29yZGlvbm1lbnUtYXJyb3ctY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJGFjY29yZGlvbm1lbnUtaXRlbS1iYWNrZ3JvdW5kOiBudWxsO1xuJGFjY29yZGlvbm1lbnUtYm9yZGVyOiBudWxsO1xuJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtYmFja2dyb3VuZDogbnVsbDtcbiRhY2NvcmRpb24tc3VibWVudS10b2dnbGUtYm9yZGVyOiAkYWNjb3JkaW9ubWVudS1ib3JkZXI7XG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS13aWR0aDogNDBweDtcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWhlaWdodDogJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtd2lkdGg7XG4kYWNjb3JkaW9ubWVudS1hcnJvdy1zaXplOiA2cHg7XG5cbi8vIDkuIEJhZGdlXG4vLyAtLS0tLS0tLVxuXG4kYmFkZ2UtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kYmFkZ2UtY29sb3I6ICR3aGl0ZTtcbiRiYWRnZS1jb2xvci1hbHQ6ICRibGFjaztcbiRiYWRnZS1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlO1xuJGJhZGdlLXBhZGRpbmc6IDAuM2VtO1xuJGJhZGdlLW1pbndpZHRoOiAyLjFlbTtcbiRiYWRnZS1mb250LXNpemU6IDAuNnJlbTtcblxuLy8gMTAuIEJyZWFkY3J1bWJzXG4vLyAtLS0tLS0tLS0tLS0tLS1cblxuJGJyZWFkY3J1bWJzLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luIDA7XG4kYnJlYWRjcnVtYnMtaXRlbS1mb250LXNpemU6IHJlbS1jYWxjKDExKTtcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yLWN1cnJlbnQ6ICRibGFjaztcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yLWRpc2FibGVkOiAkbWVkaXVtLWdyYXk7XG4kYnJlYWRjcnVtYnMtaXRlbS1tYXJnaW46IDAuNzVyZW07XG4kYnJlYWRjcnVtYnMtaXRlbS11cHBlcmNhc2U6IHRydWU7XG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3I6IHRydWU7XG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItaXRlbTogJy8nO1xuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWl0ZW0tcnRsOiAnXFxcXCc7XG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItY29sb3I6ICRtZWRpdW0tZ3JheTtcblxuLy8gMTEuIEJ1dHRvblxuLy8gLS0tLS0tLS0tLVxuXG4kYnV0dG9uLWZvbnQtZmFtaWx5OiBpbmhlcml0O1xuJGJ1dHRvbi1wYWRkaW5nOiAwLjg1ZW0gMWVtO1xuJGJ1dHRvbi1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwO1xuJGJ1dHRvbi1maWxsOiBzb2xpZDtcbiRidXR0b24tYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXI6IHNjYWxlLWNvbG9yKCRidXR0b24tYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogLTE1JSk7XG4kYnV0dG9uLWNvbG9yOiAkd2hpdGU7XG4kYnV0dG9uLWNvbG9yLWFsdDogJGJsYWNrO1xuJGJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGJ1dHRvbi1ob2xsb3ctYm9yZGVyLXdpZHRoOiAxcHg7XG4kYnV0dG9uLXNpemVzOiAoXG4gIHRpbnk6IDAuNnJlbSxcbiAgc21hbGw6IDAuNzVyZW0sXG4gIGRlZmF1bHQ6IDAuOXJlbSxcbiAgbGFyZ2U6IDEuMjVyZW0sXG4pO1xuJGJ1dHRvbi1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlO1xuJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkOiAwLjI1O1xuJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzczogLTIwJTtcbiRidXR0b24taG9sbG93LWhvdmVyLWxpZ2h0bmVzczogLTUwJTtcbiRidXR0b24tdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLW91dCwgY29sb3IgMC4yNXMgZWFzZS1vdXQ7XG5cbi8vIDEyLiBCdXR0b24gR3JvdXBcbi8vIC0tLS0tLS0tLS0tLS0tLS1cblxuJGJ1dHRvbmdyb3VwLW1hcmdpbjogMXJlbTtcbiRidXR0b25ncm91cC1zcGFjaW5nOiAxcHg7XG4kYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3I6ICcuYnV0dG9uJztcbiRidXR0b25ncm91cC1leHBhbmQtbWF4OiA2O1xuJGJ1dHRvbmdyb3VwLXJhZGl1cy1vbi1lYWNoOiB0cnVlO1xuXG4vLyAxMy4gQ2FsbG91dFxuLy8gLS0tLS0tLS0tLS1cblxuJGNhbGxvdXQtYmFja2dyb3VuZDogJHdoaXRlO1xuJGNhbGxvdXQtYmFja2dyb3VuZC1mYWRlOiA4NSU7XG4kY2FsbG91dC1ib3JkZXI6IDFweCBzb2xpZCByZ2JhKCRibGFjaywgMC4yNSk7XG4kY2FsbG91dC1tYXJnaW46IDAgMCAxcmVtIDA7XG4kY2FsbG91dC1wYWRkaW5nOiAxcmVtO1xuJGNhbGxvdXQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiRjYWxsb3V0LWZvbnQtY29sb3ItYWx0OiAkYm9keS1iYWNrZ3JvdW5kO1xuJGNhbGxvdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRjYWxsb3V0LWxpbmstdGludDogMzAlO1xuXG4vLyAxNC4gQ2FyZFxuLy8gLS0tLS0tLS1cblxuJGNhcmQtYmFja2dyb3VuZDogJHdoaXRlO1xuJGNhcmQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiRjYXJkLWRpdmlkZXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kY2FyZC1ib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheTtcbiRjYXJkLXNoYWRvdzogbm9uZTtcbiRjYXJkLWJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGNhcmQtcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nO1xuJGNhcmQtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG5cbi8vIDE1LiBDbG9zZSBCdXR0b25cbi8vIC0tLS0tLS0tLS0tLS0tLS1cblxuJGNsb3NlYnV0dG9uLXBvc2l0aW9uOiByaWdodCB0b3A7XG4kY2xvc2VidXR0b24tb2Zmc2V0LWhvcml6b250YWw6IChcbiAgc21hbGw6IDAuNjZyZW0sXG4gIG1lZGl1bTogMXJlbSxcbik7XG4kY2xvc2VidXR0b24tb2Zmc2V0LXZlcnRpY2FsOiAoXG4gIHNtYWxsOiAwLjMzZW0sXG4gIG1lZGl1bTogMC41cmVtLFxuKTtcbiRjbG9zZWJ1dHRvbi1zaXplOiAoXG4gIHNtYWxsOiAxLjVlbSxcbiAgbWVkaXVtOiAyZW0sXG4pO1xuJGNsb3NlYnV0dG9uLWxpbmVoZWlnaHQ6IDE7XG4kY2xvc2VidXR0b24tY29sb3I6ICRkYXJrLWdyYXk7XG4kY2xvc2VidXR0b24tY29sb3ItaG92ZXI6ICRibGFjaztcblxuLy8gMTYuIERyaWxsZG93blxuLy8gLS0tLS0tLS0tLS0tLVxuXG4kZHJpbGxkb3duLXRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBsaW5lYXI7XG4kZHJpbGxkb3duLWFycm93czogdHJ1ZTtcbiRkcmlsbGRvd24tcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmc7XG4kZHJpbGxkb3duLW5lc3RlZC1tYXJnaW46IDA7XG4kZHJpbGxkb3duLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRkcmlsbGRvd24tc3VibWVudS1wYWRkaW5nOiAkZHJpbGxkb3duLXBhZGRpbmc7XG4kZHJpbGxkb3duLXN1Ym1lbnUtYmFja2dyb3VuZDogJHdoaXRlO1xuJGRyaWxsZG93bi1hcnJvdy1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kZHJpbGxkb3duLWFycm93LXNpemU6IDZweDtcblxuLy8gMTcuIERyb3Bkb3duXG4vLyAtLS0tLS0tLS0tLS1cblxuJGRyb3Bkb3duLXBhZGRpbmc6IDFyZW07XG4kZHJvcGRvd24tYmFja2dyb3VuZDogJGJvZHktYmFja2dyb3VuZDtcbiRkcm9wZG93bi1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kZHJvcGRvd24tZm9udC1zaXplOiAxcmVtO1xuJGRyb3Bkb3duLXdpZHRoOiAzMDBweDtcbiRkcm9wZG93bi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGRyb3Bkb3duLXNpemVzOiAoXG4gIHRpbnk6IDEwMHB4LFxuICBzbWFsbDogMjAwcHgsXG4gIGxhcmdlOiA0MDBweCxcbik7XG5cbi8vIDE4LiBEcm9wZG93biBNZW51XG4vLyAtLS0tLS0tLS0tLS0tLS0tLVxuXG4kZHJvcGRvd25tZW51LWFycm93czogdHJ1ZTtcbiRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3I6ICRhbmNob3ItY29sb3I7XG4kZHJvcGRvd25tZW51LWFycm93LXNpemU6IDZweDtcbiRkcm9wZG93bm1lbnUtYXJyb3ctcGFkZGluZzogMS41cmVtO1xuJGRyb3Bkb3dubWVudS1taW4td2lkdGg6IDIwMHB4O1xuJGRyb3Bkb3dubWVudS1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kZHJvcGRvd25tZW51LXN1Ym1lbnUtYmFja2dyb3VuZDogJGRyb3Bkb3dubWVudS1iYWNrZ3JvdW5kO1xuJGRyb3Bkb3dubWVudS1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZztcbiRkcm9wZG93bm1lbnUtbmVzdGVkLW1hcmdpbjogMDtcbiRkcm9wZG93bm1lbnUtc3VibWVudS1wYWRkaW5nOiAkZHJvcGRvd25tZW51LXBhZGRpbmc7XG4kZHJvcGRvd25tZW51LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRkcm9wZG93bi1tZW51LWl0ZW0tY29sb3ItYWN0aXZlOiBnZXQtY29sb3IocHJpbWFyeSk7XG4kZHJvcGRvd24tbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlOiB0cmFuc3BhcmVudDtcblxuLy8gMTkuIEZsZXhib3ggVXRpbGl0aWVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJGZsZXgtc291cmNlLW9yZGVyaW5nLWNvdW50OiA2O1xuJGZsZXhib3gtcmVzcG9uc2l2ZS1icmVha3BvaW50czogdHJ1ZTtcblxuLy8gMjAuIEZvcm1zXG4vLyAtLS0tLS0tLS1cblxuJGZpZWxkc2V0LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRmaWVsZHNldC1wYWRkaW5nOiByZW0tY2FsYygyMCk7XG4kZmllbGRzZXQtbWFyZ2luOiByZW0tY2FsYygxOCAwKTtcbiRsZWdlbmQtcGFkZGluZzogcmVtLWNhbGMoMCAzKTtcbiRmb3JtLXNwYWNpbmc6IHJlbS1jYWxjKDE2KTtcbiRoZWxwdGV4dC1jb2xvcjogJGJsYWNrO1xuJGhlbHB0ZXh0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuJGhlbHB0ZXh0LWZvbnQtc3R5bGU6IGl0YWxpYztcbiRpbnB1dC1wcmVmaXgtY29sb3I6ICRibGFjaztcbiRpbnB1dC1wcmVmaXgtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kaW5wdXQtcHJlZml4LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRpbnB1dC1wcmVmaXgtcGFkZGluZzogMXJlbTtcbiRmb3JtLWxhYmVsLWNvbG9yOiAkYmxhY2s7XG4kZm9ybS1sYWJlbC1mb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiRmb3JtLWxhYmVsLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kZm9ybS1sYWJlbC1saW5lLWhlaWdodDogMS44O1xuJHNlbGVjdC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kc2VsZWN0LXRyaWFuZ2xlLWNvbG9yOiAkZGFyay1ncmF5O1xuJHNlbGVjdC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGlucHV0LWNvbG9yOiAkYmxhY2s7XG4kaW5wdXQtcGxhY2Vob2xkZXItY29sb3I6ICRtZWRpdW0tZ3JheTtcbiRpbnB1dC1mb250LWZhbWlseTogaW5oZXJpdDtcbiRpbnB1dC1mb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiRpbnB1dC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuJGlucHV0LWxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWxpbmVoZWlnaHQ7XG4kaW5wdXQtYmFja2dyb3VuZDogJHdoaXRlO1xuJGlucHV0LWJhY2tncm91bmQtZm9jdXM6ICR3aGl0ZTtcbiRpbnB1dC1iYWNrZ3JvdW5kLWRpc2FibGVkOiAkbGlnaHQtZ3JheTtcbiRpbnB1dC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kaW5wdXQtYm9yZGVyLWZvY3VzOiAxcHggc29saWQgJGRhcmstZ3JheTtcbiRpbnB1dC1wYWRkaW5nOiAkZm9ybS1zcGFjaW5nIC8gMjtcbiRpbnB1dC1zaGFkb3c6IGluc2V0IDAgMXB4IDJweCByZ2JhKCRibGFjaywgMC4xKTtcbiRpbnB1dC1zaGFkb3ctZm9jdXM6IDAgMCA1cHggJG1lZGl1bS1ncmF5O1xuJGlucHV0LWN1cnNvci1kaXNhYmxlZDogbm90LWFsbG93ZWQ7XG4kaW5wdXQtdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQ7XG4kaW5wdXQtbnVtYmVyLXNwaW5uZXJzOiB0cnVlO1xuJGlucHV0LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kZm9ybS1idXR0b24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gMjEuIExhYmVsXG4vLyAtLS0tLS0tLS1cblxuJGxhYmVsLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJGxhYmVsLWNvbG9yOiAkd2hpdGU7XG4kbGFiZWwtY29sb3ItYWx0OiAkYmxhY2s7XG4kbGFiZWwtcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZTtcbiRsYWJlbC1mb250LXNpemU6IDAuOHJlbTtcbiRsYWJlbC1wYWRkaW5nOiAwLjMzMzMzcmVtIDAuNXJlbTtcbiRsYWJlbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyAyMi4gTWVkaWEgT2JqZWN0XG4vLyAtLS0tLS0tLS0tLS0tLS0tXG5cbiRtZWRpYW9iamVjdC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZztcbiRtZWRpYW9iamVjdC1pbWFnZS13aWR0aC1zdGFja2VkOiAxMDAlO1xuXG4vLyAyMy4gTWVudVxuLy8gLS0tLS0tLS1cblxuJG1lbnUtbWFyZ2luOiAwO1xuJG1lbnUtbmVzdGVkLW1hcmdpbjogJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW47XG4kbWVudS1pdGVtcy1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZztcbiRtZW51LXNpbXBsZS1tYXJnaW46IDFyZW07XG4kbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTogJHdoaXRlO1xuJG1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTogZ2V0LWNvbG9yKHByaW1hcnkpO1xuJG1lbnUtaWNvbi1zcGFjaW5nOiAwLjI1cmVtO1xuJG1lbnUtaXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheTtcbiRtZW51LXN0YXRlLWJhY2stY29tcGF0OiB0cnVlO1xuJG1lbnUtY2VudGVyZWQtYmFjay1jb21wYXQ6IHRydWU7XG4kbWVudS1pY29ucy1iYWNrLWNvbXBhdDogdHJ1ZTtcblxuLy8gMjQuIE1ldGVyXG4vLyAtLS0tLS0tLS1cblxuJG1ldGVyLWhlaWdodDogMXJlbTtcbiRtZXRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJG1ldGVyLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbiRtZXRlci1maWxsLWdvb2Q6ICRzdWNjZXNzLWNvbG9yO1xuJG1ldGVyLWZpbGwtbWVkaXVtOiAkd2FybmluZy1jb2xvcjtcbiRtZXRlci1maWxsLWJhZDogJGFsZXJ0LWNvbG9yO1xuXG4vLyAyNS4gT2ZmLWNhbnZhc1xuLy8gLS0tLS0tLS0tLS0tLS1cblxuJG9mZmNhbnZhcy1zaXplczogKFxuICBzbWFsbDogMjUwcHgsXG4pO1xuJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplczogKFxuICBzbWFsbDogMjUwcHgsXG4pO1xuJG9mZmNhbnZhcy1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRvZmZjYW52YXMtc2hhZG93OiAwIDAgMTBweCByZ2JhKCRibGFjaywgMC43KTtcbiRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemU6IDIwcHg7XG4kb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1jb2xvcjogcmdiYSgkYmxhY2ssIDAuMjUpO1xuJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleDogMTE7XG4kb2ZmY2FudmFzLXB1c2gtemluZGV4OiAxMjtcbiRvZmZjYW52YXMtb3ZlcmxhcC16aW5kZXg6IDEzO1xuJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4OiAxMjtcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGg6IDAuNXM7XG4kb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nOiBlYXNlO1xuJG9mZmNhbnZhcy1maXhlZC1yZXZlYWw6IHRydWU7XG4kb2ZmY2FudmFzLWV4aXQtYmFja2dyb3VuZDogcmdiYSgkd2hpdGUsIDAuMjUpO1xuJG1haW5jb250ZW50LWNsYXNzOiAnb2ZmLWNhbnZhcy1jb250ZW50JztcblxuLy8gMjYuIE9yYml0XG4vLyAtLS0tLS0tLS1cblxuJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4kb3JiaXQtYnVsbGV0LWJhY2tncm91bmQtYWN0aXZlOiAkZGFyay1ncmF5O1xuJG9yYml0LWJ1bGxldC1kaWFtZXRlcjogMS4ycmVtO1xuJG9yYml0LWJ1bGxldC1tYXJnaW46IDAuMXJlbTtcbiRvcmJpdC1idWxsZXQtbWFyZ2luLXRvcDogMC44cmVtO1xuJG9yYml0LWJ1bGxldC1tYXJnaW4tYm90dG9tOiAwLjhyZW07XG4kb3JiaXQtY2FwdGlvbi1iYWNrZ3JvdW5kOiByZ2JhKCRibGFjaywgMC41KTtcbiRvcmJpdC1jYXB0aW9uLXBhZGRpbmc6IDFyZW07XG4kb3JiaXQtY29udHJvbC1iYWNrZ3JvdW5kLWhvdmVyOiByZ2JhKCRibGFjaywgMC41KTtcbiRvcmJpdC1jb250cm9sLXBhZGRpbmc6IDFyZW07XG4kb3JiaXQtY29udHJvbC16aW5kZXg6IDEwO1xuXG4vLyAyNy4gUGFnaW5hdGlvblxuLy8gLS0tLS0tLS0tLS0tLS1cblxuJHBhZ2luYXRpb24tZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4kcGFnaW5hdGlvbi1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3I6ICRibGFjaztcbiRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZzogcmVtLWNhbGMoMyAxMCk7XG4kcGFnaW5hdGlvbi1pdGVtLXNwYWNpbmc6IHJlbS1jYWxjKDEpO1xuJHBhZ2luYXRpb24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXk7XG4kcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtY3VycmVudDogJHByaW1hcnktY29sb3I7XG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWN1cnJlbnQ6ICR3aGl0ZTtcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItZGlzYWJsZWQ6ICRtZWRpdW0tZ3JheTtcbiRwYWdpbmF0aW9uLWVsbGlwc2lzLWNvbG9yOiAkYmxhY2s7XG4kcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXM6IGZhbHNlO1xuJHBhZ2luYXRpb24tbW9iaWxlLWN1cnJlbnQtaXRlbTogZmFsc2U7XG4kcGFnaW5hdGlvbi1hcnJvd3M6IHRydWU7XG5cbi8vIDI4LiBQcm9ncmVzcyBCYXJcbi8vIC0tLS0tLS0tLS0tLS0tLS1cblxuJHByb2dyZXNzLWhlaWdodDogMXJlbTtcbiRwcm9ncmVzcy1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4kcHJvZ3Jlc3MtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG4kcHJvZ3Jlc3MtbWV0ZXItYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kcHJvZ3Jlc3MtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gMjkuIFByb3RvdHlwZSBBcnJvd1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWFycm93LWRpcmVjdGlvbnM6IChcbiAgZG93bixcbiAgdXAsXG4gIHJpZ2h0LFxuICBsZWZ0XG4pO1xuJHByb3RvdHlwZS1hcnJvdy1zaXplOiAwLjQzNzVyZW07XG4kcHJvdG90eXBlLWFycm93LWNvbG9yOiAkYmxhY2s7XG5cbi8vIDMwLiBQcm90b3R5cGUgQm9yZGVyLUJveFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtYm9yZGVyLWJveC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG5cbi8vIDMxLiBQcm90b3R5cGUgQm9yZGVyLU5vbmVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1ib3JkZXItbm9uZS1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG5cbi8vIDMyLiBQcm90b3R5cGUgQm9yZGVyZWRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1ib3JkZXJlZC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLWJvcmRlci13aWR0aDogcmVtLWNhbGMoMSk7XG4kcHJvdG90eXBlLWJvcmRlci10eXBlOiBzb2xpZDtcbiRwcm90b3R5cGUtYm9yZGVyLWNvbG9yOiAkbWVkaXVtLWdyYXk7XG5cbi8vIDMzLiBQcm90b3R5cGUgRGlzcGxheVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtZGlzcGxheS1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLWRpc3BsYXk6IChcbiAgaW5saW5lLFxuICBpbmxpbmUtYmxvY2ssXG4gIGJsb2NrLFxuICB0YWJsZSxcbiAgdGFibGUtY2VsbFxuKTtcblxuLy8gMzQuIFByb3RvdHlwZSBGb250LVN0eWxpbmdcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtZm9udC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXdpZGUtbGV0dGVyLXNwYWNpbmc6IHJlbS1jYWxjKDQpO1xuJHByb3RvdHlwZS1mb250LW5vcm1hbDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuJHByb3RvdHlwZS1mb250LWJvbGQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG5cbi8vIDM1LiBQcm90b3R5cGUgTGlzdC1TdHlsZS1UeXBlXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWxpc3QtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1zdHlsZS10eXBlLXVub3JkZXJlZDogKFxuICBkaXNjLFxuICBjaXJjbGUsXG4gIHNxdWFyZVxuKTtcbiRwcm90b3R5cGUtc3R5bGUtdHlwZS1vcmRlcmVkOiAoXG4gIGRlY2ltYWwsXG4gIGxvd2VyLWFscGhhLFxuICBsb3dlci1sYXRpbixcbiAgbG93ZXItcm9tYW4sXG4gIHVwcGVyLWFscGhhLFxuICB1cHBlci1sYXRpbixcbiAgdXBwZXItcm9tYW5cbik7XG5cbi8vIDM2LiBQcm90b3R5cGUgT3ZlcmZsb3dcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1vdmVyZmxvdy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLW92ZXJmbG93OiAoXG4gIHZpc2libGUsXG4gIGhpZGRlbixcbiAgc2Nyb2xsXG4pO1xuXG4vLyAzNy4gUHJvdG90eXBlIFBvc2l0aW9uXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtcG9zaXRpb24tYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1wb3NpdGlvbjogKFxuICBzdGF0aWMsXG4gIHJlbGF0aXZlLFxuICBhYnNvbHV0ZSxcbiAgZml4ZWRcbik7XG4kcHJvdG90eXBlLXBvc2l0aW9uLXotaW5kZXg6IDk3NTtcblxuLy8gMzguIFByb3RvdHlwZSBSb3VuZGVkXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1yb3VuZGVkLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtYm9yZGVyLXJhZGl1czogcmVtLWNhbGMoMyk7XG5cbi8vIDM5LiBQcm90b3R5cGUgU2VwYXJhdG9yXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXNlcGFyYXRvci1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXNlcGFyYXRvci1hbGlnbjogY2VudGVyO1xuJHByb3RvdHlwZS1zZXBhcmF0b3ItaGVpZ2h0OiByZW0tY2FsYygyKTtcbiRwcm90b3R5cGUtc2VwYXJhdG9yLXdpZHRoOiAzcmVtO1xuJHByb3RvdHlwZS1zZXBhcmF0b3ItYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kcHJvdG90eXBlLXNlcGFyYXRvci1tYXJnaW4tdG9wOiAkZ2xvYmFsLW1hcmdpbjtcblxuLy8gNDAuIFByb3RvdHlwZSBTaGFkb3dcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtc2hhZG93LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtYm94LXNoYWRvdzogMCAycHggNXB4IDAgcmdiYSgwLDAsMCwuMTYpLFxuMCAycHggMTBweCAwIHJnYmEoMCwwLDAsLjEyKTtcblxuLy8gNDEuIFByb3RvdHlwZSBTaXppbmdcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtc2l6aW5nLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtc2l6aW5nOiAoXG4gIHdpZHRoLFxuICBoZWlnaHRcbik7XG4kcHJvdG90eXBlLXNpemVzOiAoXG4gIDI1OiAyNSUsXG4gIDUwOiA1MCUsXG4gIDc1OiA3NSUsXG4gIDEwMDogMTAwJVxuKTtcblxuLy8gNDIuIFByb3RvdHlwZSBTcGFjaW5nXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1zcGFjaW5nLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtc3BhY2Vycy1jb3VudDogMztcblxuLy8gNDMuIFByb3RvdHlwZSBUZXh0LURlY29yYXRpb25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtZGVjb3JhdGlvbi1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXRleHQtZGVjb3JhdGlvbjogKFxuICBvdmVybGluZSxcbiAgdW5kZXJsaW5lLFxuICBsaW5lLXRocm91Z2gsXG4pO1xuXG4vLyA0NC4gUHJvdG90eXBlIFRleHQtVHJhbnNmb3JtYXRpb25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXRyYW5zZm9ybWF0aW9uLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtdGV4dC10cmFuc2Zvcm1hdGlvbjogKFxuICBsb3dlcmNhc2UsXG4gIHVwcGVyY2FzZSxcbiAgY2FwaXRhbGl6ZVxuKTtcblxuLy8gNDUuIFByb3RvdHlwZSBUZXh0LVV0aWxpdGllc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXV0aWxpdGllcy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuXG4vLyA0Ni4gUmVzcG9uc2l2ZSBFbWJlZFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHJlc3BvbnNpdmUtZW1iZWQtbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTYpO1xuJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zOiAoXG4gIGRlZmF1bHQ6IDQgYnkgMyxcbiAgd2lkZXNjcmVlbjogMTYgYnkgOSxcbik7XG5cbi8vIDQ3LiBSZXZlYWxcbi8vIC0tLS0tLS0tLS1cblxuJHJldmVhbC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kcmV2ZWFsLXdpZHRoOiA2MDBweDtcbiRyZXZlYWwtbWF4LXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xuJHJldmVhbC1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmc7XG4kcmV2ZWFsLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRyZXZlYWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRyZXZlYWwtemluZGV4OiAxMDA1O1xuJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjQ1KTtcblxuLy8gNDguIFNsaWRlclxuLy8gLS0tLS0tLS0tLVxuXG4kc2xpZGVyLXdpZHRoLXZlcnRpY2FsOiAwLjVyZW07XG4kc2xpZGVyLXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuJHNsaWRlci1oZWlnaHQ6IDAuNXJlbTtcbiRzbGlkZXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kc2xpZGVyLWZpbGwtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuJHNsaWRlci1oYW5kbGUtaGVpZ2h0OiAxLjRyZW07XG4kc2xpZGVyLWhhbmRsZS13aWR0aDogMS40cmVtO1xuJHNsaWRlci1oYW5kbGUtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kc2xpZGVyLW9wYWNpdHktZGlzYWJsZWQ6IDAuMjU7XG4kc2xpZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDQ5LiBTd2l0Y2hcbi8vIC0tLS0tLS0tLS1cblxuJHN3aXRjaC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4kc3dpdGNoLWJhY2tncm91bmQtYWN0aXZlOiAkcHJpbWFyeS1jb2xvcjtcbiRzd2l0Y2gtaGVpZ2h0OiAycmVtO1xuJHN3aXRjaC1oZWlnaHQtdGlueTogMS41cmVtO1xuJHN3aXRjaC1oZWlnaHQtc21hbGw6IDEuNzVyZW07XG4kc3dpdGNoLWhlaWdodC1sYXJnZTogMi41cmVtO1xuJHN3aXRjaC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJHN3aXRjaC1tYXJnaW46ICRnbG9iYWwtbWFyZ2luO1xuJHN3aXRjaC1wYWRkbGUtYmFja2dyb3VuZDogJHdoaXRlO1xuJHN3aXRjaC1wYWRkbGUtb2Zmc2V0OiAwLjI1cmVtO1xuJHN3aXRjaC1wYWRkbGUtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLW91dDtcblxuLy8gNTAuIFRhYmxlXG4vLyAtLS0tLS0tLS1cblxuJHRhYmxlLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiR0YWJsZS1jb2xvci1zY2FsZTogNSU7XG4kdGFibGUtYm9yZGVyOiAxcHggc29saWQgc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSk7XG4kdGFibGUtcGFkZGluZzogcmVtLWNhbGMoOCAxMCAxMCk7XG4kdGFibGUtaG92ZXItc2NhbGU6IDIlO1xuJHRhYmxlLXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpO1xuJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI6IGRhcmtlbigkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlICsgJHRhYmxlLWhvdmVyLXNjYWxlKTtcbiR0YWJsZS1pcy1zdHJpcGVkOiB0cnVlO1xuJHRhYmxlLXN0cmlwZWQtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSk7XG4kdGFibGUtc3RyaXBlOiBldmVuO1xuJHRhYmxlLWhlYWQtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSAvIDIpO1xuJHRhYmxlLWhlYWQtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWhlYWQtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKTtcbiR0YWJsZS1mb290LWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpO1xuJHRhYmxlLWZvb3Qtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWZvb3QtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKTtcbiR0YWJsZS1oZWFkLWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4kdGFibGUtZm9vdC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuJHNob3ctaGVhZGVyLWZvci1zdGFja2VkOiBmYWxzZTtcbiR0YWJsZS1zdGFjay1icmVha3BvaW50OiBtZWRpdW07XG5cbi8vIDUxLiBUYWJzXG4vLyAtLS0tLS0tLVxuXG4kdGFiLW1hcmdpbjogMDtcbiR0YWItYmFja2dyb3VuZDogJHdoaXRlO1xuJHRhYi1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kdGFiLWJhY2tncm91bmQtYWN0aXZlOiAkbGlnaHQtZ3JheTtcbiR0YWItYWN0aXZlLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiR0YWItaXRlbS1mb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiR0YWItaXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkd2hpdGU7XG4kdGFiLWl0ZW0tcGFkZGluZzogMS4yNXJlbSAxLjVyZW07XG4kdGFiLWV4cGFuZC1tYXg6IDY7XG4kdGFiLWNvbnRlbnQtYmFja2dyb3VuZDogJHdoaXRlO1xuJHRhYi1jb250ZW50LWJvcmRlcjogJGxpZ2h0LWdyYXk7XG4kdGFiLWNvbnRlbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4kdGFiLWNvbnRlbnQtcGFkZGluZzogMXJlbTtcblxuLy8gNTIuIFRodW1ibmFpbFxuLy8gLS0tLS0tLS0tLS0tLVxuXG4kdGh1bWJuYWlsLWJvcmRlcjogc29saWQgNHB4ICR3aGl0ZTtcbiR0aHVtYm5haWwtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG4kdGh1bWJuYWlsLXNoYWRvdzogMCAwIDAgMXB4IHJnYmEoJGJsYWNrLCAwLjIpO1xuJHRodW1ibmFpbC1zaGFkb3ctaG92ZXI6IDAgMCA2cHggMXB4IHJnYmEoJHByaW1hcnktY29sb3IsIDAuNSk7XG4kdGh1bWJuYWlsLXRyYW5zaXRpb246IGJveC1zaGFkb3cgMjAwbXMgZWFzZS1vdXQ7XG4kdGh1bWJuYWlsLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDUzLiBUaXRsZSBCYXJcbi8vIC0tLS0tLS0tLS0tLS1cblxuJHRpdGxlYmFyLWJhY2tncm91bmQ6ICRibGFjaztcbiR0aXRsZWJhci1jb2xvcjogJHdoaXRlO1xuJHRpdGxlYmFyLXBhZGRpbmc6IDAuNXJlbTtcbiR0aXRsZWJhci10ZXh0LWZvbnQtd2VpZ2h0OiBib2xkO1xuJHRpdGxlYmFyLWljb24tY29sb3I6ICR3aGl0ZTtcbiR0aXRsZWJhci1pY29uLWNvbG9yLWhvdmVyOiAkbWVkaXVtLWdyYXk7XG4kdGl0bGViYXItaWNvbi1zcGFjaW5nOiAwLjI1cmVtO1xuXG4vLyA1NC4gVG9vbHRpcFxuLy8gLS0tLS0tLS0tLS1cblxuJGhhcy10aXAtY3Vyc29yOiBoZWxwO1xuJGhhcy10aXAtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4kaGFzLXRpcC1ib3JkZXItYm90dG9tOiBkb3R0ZWQgMXB4ICRkYXJrLWdyYXk7XG4kdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XG4kdG9vbHRpcC1jb2xvcjogJHdoaXRlO1xuJHRvb2x0aXAtcGFkZGluZzogMC43NXJlbTtcbiR0b29sdGlwLW1heC13aWR0aDogMTByZW07XG4kdG9vbHRpcC1mb250LXNpemU6ICRzbWFsbC1mb250LXNpemU7XG4kdG9vbHRpcC1waXAtd2lkdGg6IDAuNzVyZW07XG4kdG9vbHRpcC1waXAtaGVpZ2h0OiAkdG9vbHRpcC1waXAtd2lkdGggKiAwLjg2NjtcbiR0b29sdGlwLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDU1LiBUb3AgQmFyXG4vLyAtLS0tLS0tLS0tLVxuXG4kdG9wYmFyLXBhZGRpbmc6IDAuNXJlbTtcbiR0b3BiYXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kdG9wYmFyLXN1Ym1lbnUtYmFja2dyb3VuZDogJHRvcGJhci1iYWNrZ3JvdW5kO1xuJHRvcGJhci10aXRsZS1zcGFjaW5nOiAwLjVyZW0gMXJlbSAwLjVyZW0gMDtcbiR0b3BiYXItaW5wdXQtd2lkdGg6IDIwMHB4O1xuJHRvcGJhci11bnN0YWNrLWJyZWFrcG9pbnQ6IG1lZGl1bTtcblxuLy8gNTYuIFh5IEdyaWRcbi8vIC0tLS0tLS0tLS0tXG5cbiR4eS1ncmlkOiB0cnVlO1xuJGdyaWQtY29udGFpbmVyOiAkZ2xvYmFsLXdpZHRoO1xuJGdyaWQtY29sdW1uczogMTI7XG4kZ3JpZC1tYXJnaW4tZ3V0dGVyczogKFxuICBzbWFsbDogMzBweCxcbiAgbWVkaXVtOiAzMHB4XG4pO1xuXG4kZ3JpZC1wYWRkaW5nLWd1dHRlcnM6IChcbiAgICAgICAgc21hbGw6IDQ4cHgsXG4gICAgICAgIG1lZGl1bTogNDhweFxuKTtcbiRncmlkLXBhZGRpbmctZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnM7XG4kZ3JpZC1jb250YWluZXItcGFkZGluZzogJGdyaWQtcGFkZGluZy1ndXR0ZXJzO1xuJGdyaWQtY29udGFpbmVyLW1heDogJGdsb2JhbC13aWR0aDtcbiR4eS1ibG9jay1ncmlkLW1heDogODtcbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLyBbVE9ET10gQ2hlY2sgaG93IHBsdWdpbiBjb25maXJtcyBkaXNhYmxlZCBvciB2ZXJ0aWNhbCBzdGF0dXNcbi8vIFtUT0RPXSBDaGVjayBpZiB0cmFuc2l0aW9uOiBhbGw7IGlzIG5lY2Vzc2FyeVxuXG4vLy8vXG4vLy8gQGdyb3VwIHNsaWRlclxuLy8vL1xuXG4vLy8gRGVmYXVsdCBzbGlkZXIgd2lkdGggb2YgYSB2ZXJ0aWNhbCBzbGlkZXIuIChEb2Vzbid0IGFwcGx5IHRvIHRoZSBuYXRpdmUgc2xpZGVyLilcbi8vLyBAdHlwZSBOdW1iZXJcbiRzbGlkZXItd2lkdGgtdmVydGljYWw6IDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIFRyYW5zaXRpb24gcHJvcGVydGllcyB0byBhcHBseSB0byB0aGUgc2xpZGVyIGhhbmRsZSBhbmQgZmlsbC4gKERvZXNuJ3QgYXBwbHkgdG8gdGhlIG5hdGl2ZSBzbGlkZXIuKVxuLy8vIEB0eXBlIFRyYW5zaXRpb25cbiRzbGlkZXItdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHRoZSBnZW5lcmFsIHN0eWxlcyBmb3Igc2xpZGVycy5cbkBtaXhpbiBzbGlkZXItY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6ICRzbGlkZXItaGVpZ2h0O1xuICBtYXJnaW4tdG9wOiAxLjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAyLjI1cmVtO1xuXG4gIGJhY2tncm91bmQtY29sb3I6ICRzbGlkZXItYmFja2dyb3VuZDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgdG91Y2gtYWN0aW9uOiBub25lO1xufVxuXG4vLy8gQWRkcyB0aGUgZ2VuZXJhbCBzdHlsZXMgZm9yIGFjdGl2ZSBmaWxsIGZvciBzbGlkZXJzLlxuQG1peGluIHNsaWRlci1maWxsIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG5cbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogJHNsaWRlci1oZWlnaHQ7XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogJHNsaWRlci1maWxsLWJhY2tncm91bmQ7XG4gIHRyYW5zaXRpb246ICRzbGlkZXItdHJhbnNpdGlvbjtcblxuICAmLmlzLWRyYWdnaW5nIHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMHMgbGluZWFyO1xuICB9XG59XG5cbi8vLyBBZGRzIHRoZSBnZW5lcmFsIHN0eWxlcyBmb3IgdGhlIHNsaWRlciBoYW5kbGVzLlxuQG1peGluIHNsaWRlci1oYW5kbGUge1xuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIEBpbmNsdWRlIHZlcnRpY2FsLWNlbnRlcjtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTtcblxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAkc2xpZGVyLWhhbmRsZS13aWR0aDtcbiAgaGVpZ2h0OiAkc2xpZGVyLWhhbmRsZS1oZWlnaHQ7XG5cbiAgYm9yZGVyLXJhZGl1czogJHNsaWRlci1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzbGlkZXItaGFuZGxlLWJhY2tncm91bmQ7XG4gIHRyYW5zaXRpb246ICRzbGlkZXItdHJhbnNpdGlvbjtcbiAgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogc2NhbGUtY29sb3IoJHNsaWRlci1oYW5kbGUtYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogLTE1JSk7XG4gIH1cblxuICAmLmlzLWRyYWdnaW5nIHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMHMgbGluZWFyO1xuICB9XG59XG5cbkBtaXhpbiBzbGlkZXItZGlzYWJsZWQge1xuICBvcGFjaXR5OiAkc2xpZGVyLW9wYWNpdHktZGlzYWJsZWQ7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG5cbkBtaXhpbiBzbGlkZXItdmVydGljYWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAkc2xpZGVyLXdpZHRoLXZlcnRpY2FsO1xuICBoZWlnaHQ6IDEyLjVyZW07XG4gIG1hcmdpbjogMCAxLjI1cmVtO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEsIC0xKTtcblxuICAuc2xpZGVyLWZpbGwge1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogJHNsaWRlci13aWR0aC12ZXJ0aWNhbDtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICB9XG5cbiAgLnNsaWRlci1oYW5kbGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogNTAlO1xuICAgIHdpZHRoOiAkc2xpZGVyLWhhbmRsZS1oZWlnaHQ7XG4gICAgaGVpZ2h0OiAkc2xpZGVyLWhhbmRsZS13aWR0aDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tc2xpZGVyIHtcbiAgLy8gQ29udGFpbmVyXG4gIC5zbGlkZXIge1xuICAgIEBpbmNsdWRlIHNsaWRlci1jb250YWluZXI7XG4gIH1cblxuICAvLyBGaWxsIGFyZWFcbiAgLnNsaWRlci1maWxsIHtcbiAgICBAaW5jbHVkZSBzbGlkZXItZmlsbDtcbiAgfVxuXG4gIC8vIERyYWdnYWJsZSBoYW5kbGVcbiAgLnNsaWRlci1oYW5kbGUge1xuICAgIEBpbmNsdWRlIHNsaWRlci1oYW5kbGU7XG4gIH1cblxuICAvLyBEaXNhYmxlZCBzdGF0ZVxuICAuc2xpZGVyLmRpc2FibGVkLFxuICAuc2xpZGVyW2Rpc2FibGVkXSB7XG4gICAgQGluY2x1ZGUgc2xpZGVyLWRpc2FibGVkO1xuICB9XG5cbiAgLy8gVmVydGljYWwgc2xpZGVyXG4gIC5zbGlkZXIudmVydGljYWwge1xuICAgIEBpbmNsdWRlIHNsaWRlci12ZXJ0aWNhbDtcbiAgfVxuXG4gIC8vIFJUTCBzdXBwb3J0XG4gIEBpZiAkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCB7XG4gICAgLnNsaWRlcjpub3QoLnZlcnRpY2FsKSB7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKC0xLCAxKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIG1lZGlhLW9iamVjdFxuLy8vL1xuXG4vLy8gQm90dG9tIG1hcmdpbiBvZiBhIG1lZGlhIG9iamVjdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZWRpYW9iamVjdC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIExlZnQgYW5kIHJpZ2h0IHBhZGRpbmcgb24gc2VjdGlvbnMgd2l0aGluIGEgbWVkaWEgb2JqZWN0LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lZGlhb2JqZWN0LXNlY3Rpb24tcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gV2lkdGggb2YgaW1hZ2VzIHdpdGhpbiBhIG1lZGlhIG9iamVjdCwgd2hlbiB0aGUgb2JqZWN0IGlzIHN0YWNrZWQgdmVydGljYWxseS4gU2V0IHRvICdhdXRvJyB0byB1c2UgdGhlIGltYWdlJ3MgbmF0dXJhbCB3aWR0aC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZWRpYW9iamVjdC1pbWFnZS13aWR0aC1zdGFja2VkOiAxMDAlICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgbWVkaWEgb2JqZWN0IGNvbnRhaW5lci5cbkBtaXhpbiBtZWRpYS1vYmplY3QtY29udGFpbmVyIHtcbiAgZGlzcGxheTogaWYoJGdsb2JhbC1mbGV4Ym94LCBmbGV4LCBibG9jayk7XG4gIG1hcmdpbi1ib3R0b206ICRtZWRpYW9iamVjdC1tYXJnaW4tYm90dG9tO1xuXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3Igc2VjdGlvbnMgd2l0aGluIGEgbWVkaWEgb2JqZWN0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcGFkZGluZyBbJG1lZGlhb2JqZWN0LXNlY3Rpb24tcGFkZGluZ10gLSBQYWRkaW5nIGJldHdlZW4gc2VjdGlvbnMuXG5AbWl4aW4gbWVkaWEtb2JqZWN0LXNlY3Rpb24oJHBhZGRpbmc6ICRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmcpIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleDogMCAxIGF1dG87XG4gIH1cbiAgQGVsc2Uge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgfVxuXG4gICY6Zmlyc3QtY2hpbGQge1xuICAgIHBhZGRpbmctI3skZ2xvYmFsLXJpZ2h0fTogJHBhZGRpbmc7XG4gIH1cblxuICAmOmxhc3QtY2hpbGQ6bm90KDpudGgtY2hpbGQoMikpIHtcbiAgICBwYWRkaW5nLSN7JGdsb2JhbC1sZWZ0fTogJHBhZGRpbmc7XG4gIH1cblxuICA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyB0byBzdGFjayBzZWN0aW9ucyBvZiBhIG1lZGlhIG9iamVjdC4gQXBwbHkgdGhpcyB0byB0aGUgc2VjdGlvbiBlbGVtZW50cywgbm90IHRoZSBjb250YWluZXIuXG5AbWl4aW4gbWVkaWEtb2JqZWN0LXN0YWNrIHtcbiAgcGFkZGluZzogMDtcbiAgcGFkZGluZy1ib3R0b206ICRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmc7XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleC1iYXNpczogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cbiAgQGVsc2Uge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgaW1nIHtcbiAgICB3aWR0aDogJG1lZGlhb2JqZWN0LWltYWdlLXdpZHRoLXN0YWNrZWQ7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tbWVkaWEtb2JqZWN0IHtcbiAgLm1lZGlhLW9iamVjdCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtb2JqZWN0LWNvbnRhaW5lcjtcblxuICAgIGltZyB7XG4gICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgfVxuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAmLnN0YWNrLWZvci0jeyQtemYtemVyby1icmVha3BvaW50fSB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJC16Zi16ZXJvLWJyZWFrcG9pbnQgb25seSkge1xuICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYuc3RhY2stZm9yLSN7JC16Zi16ZXJvLWJyZWFrcG9pbnR9IC5tZWRpYS1vYmplY3Qtc2VjdGlvbiB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCQtemYtemVyby1icmVha3BvaW50IG9ubHkpIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtb2JqZWN0LXN0YWNrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5tZWRpYS1vYmplY3Qtc2VjdGlvbiB7XG4gICAgQGluY2x1ZGUgbWVkaWEtb2JqZWN0LXNlY3Rpb247XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICYubWFpbi1zZWN0aW9uIHtcbiAgICAgICAgZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJi5taWRkbGUge1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgfVxuXG4gICAgICAmLmJvdHRvbSB7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBjYWxsb3V0XG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYWxsb3V0LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZmFkZSB2YWx1ZSBmb3IgY2FsbG91dCBiYWNrZ3JvdW5kcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjYWxsb3V0LWJhY2tncm91bmQtZmFkZTogODUlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgc3R5bGUgZm9yIGNhbGxvdXRzLlxuLy8vIEB0eXBlIExpc3RcbiRjYWxsb3V0LWJvcmRlcjogMXB4IHNvbGlkIHJnYmEoJGJsYWNrLCAwLjI1KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm90dG9tIG1hcmdpbiBmb3IgY2FsbG91dHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2FsbG91dC1tYXJnaW46IDAgMCAxcmVtIDAgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGlubmVyIHBhZGRpbmcgZm9yIGNhbGxvdXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGNhbGxvdXQtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgY2FsbG91dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYWxsb3V0LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGNhbGxvdXRzLCBpZiB0aGUgY2FsbG91dCBoYXMgYSBkYXJrIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYWxsb3V0LWZvbnQtY29sb3ItYWx0OiAkYm9keS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgcmFkaXVzIGZvciBjYWxsb3V0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGNhbGxvdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEFtb3VudCB0byB0aW50IGxpbmtzIHVzZWQgd2l0aGluIGNvbG9yZWQgcGFuZWxzLiBTZXQgdG8gYGZhbHNlYCB0byBkaXNhYmxlIHRoaXMgZmVhdHVyZS5cbi8vLyBAdHlwZSBOdW1iZXIgfCBCb29sZWFuXG4kY2FsbG91dC1saW5rLXRpbnQ6IDMwJSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgYmFzaWMgc3R5bGVzIGZvciBhIGNhbGxvdXQsIGluY2x1ZGluZyBwYWRkaW5nIGFuZCBtYXJnaW4uXG5AbWl4aW4gY2FsbG91dC1iYXNlKCkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogJGNhbGxvdXQtbWFyZ2luO1xuICBwYWRkaW5nOiAkY2FsbG91dC1wYWRkaW5nO1xuXG4gIGJvcmRlcjogJGNhbGxvdXQtYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkY2FsbG91dC1yYWRpdXM7XG5cbiAgLy8gUmVzcGVjdCB0aGUgcGFkZGluZywgZm9vbC5cbiAgPiA6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cblxuICA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi8vLyBHZW5lcmF0ZSBxdWljayBzdHlsZXMgZm9yIGEgY2FsbG91dCB1c2luZyBhIHNpbmdsZSBjb2xvciBhcyBhIGJhc2VsaW5lLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGNhbGxvdXQtYmFja2dyb3VuZF0gLSBDb2xvciB0byB1c2UuXG5AbWl4aW4gY2FsbG91dC1zdHlsZSgkY29sb3I6ICRjYWxsb3V0LWJhY2tncm91bmQpIHtcbiAgJGJhY2tncm91bmQ6IHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogJGNhbGxvdXQtYmFja2dyb3VuZC1mYWRlKTtcblxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJGJhY2tncm91bmQsICgkY2FsbG91dC1mb250LWNvbG9yLCAkY2FsbG91dC1mb250LWNvbG9yLWFsdCkpO1xufVxuXG5AbWl4aW4gY2FsbG91dC1zaXplKCRwYWRkaW5nKSB7XG4gIHBhZGRpbmctdG9wOiAkcGFkZGluZztcbiAgcGFkZGluZy1yaWdodDogJHBhZGRpbmc7XG4gIHBhZGRpbmctYm90dG9tOiAkcGFkZGluZztcbiAgcGFkZGluZy1sZWZ0OiAkcGFkZGluZztcbn1cblxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgY2FsbG91dC5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRjYWxsb3V0LWJhY2tncm91bmRdIC0gQ29sb3IgdG8gdXNlLlxuQG1peGluIGNhbGxvdXQoJGNvbG9yOiAkY2FsbG91dC1iYWNrZ3JvdW5kKSB7XG4gIEBpbmNsdWRlIGNhbGxvdXQtYmFzZTtcbiAgQGluY2x1ZGUgY2FsbG91dC1zdHlsZSgkY29sb3IpO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1jYWxsb3V0IHtcbiAgLmNhbGxvdXQge1xuICAgIEBpbmNsdWRlIGNhbGxvdXQ7XG5cbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRmb3VuZGF0aW9uLXBhbGV0dGUge1xuICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgIEBpbmNsdWRlIGNhbGxvdXQtc3R5bGUoJGNvbG9yKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnNtYWxsIHtcbiAgICAgIEBpbmNsdWRlIGNhbGxvdXQtc2l6ZSgwLjVyZW0pO1xuICAgIH1cblxuICAgICYubGFyZ2Uge1xuICAgICAgQGluY2x1ZGUgY2FsbG91dC1zaXplKDNyZW0pO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIEZvbnQgY29sb3Igb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBjb2xvciBvZiBwbGFjZWhvbGRlciB0ZXh0IHdpdGhpbiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGZhbWlseSBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBGb250XG4kaW5wdXQtZm9udC1mYW1pbHk6IGluaGVyaXQgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaW5wdXQtZm9udC1zaXplOiByZW0tY2FsYygxNikgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaW5wdXQtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRpbnB1dC1saW5lLWhlaWdodDogJGdsb2JhbC1saW5laGVpZ2h0ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgZm9jdXNlZCBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJhY2tncm91bmQtZm9jdXM6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgZGlzYWJsZWQgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1iYWNrZ3JvdW5kLWRpc2FibGVkOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBhcm91bmQgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQm9yZGVyXG4kaW5wdXQtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGFyb3VuZCBmb2N1c2VkIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYm9yZGVyLWZvY3VzOiAxcHggc29saWQgJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1wYWRkaW5nOiAkZm9ybS1zcGFjaW5nIC8gMiAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgaW5zaWRlIHRleHQgaW5wdXRzIHdoZW4gbm90IGZvY3VzZWQuXG4vLy8gQHR5cGUgU2hhZG93XG4kaW5wdXQtc2hhZG93OiBpbnNldCAwIDFweCAycHggcmdiYSgkYmxhY2ssIDAuMSkgIWRlZmF1bHQ7XG5cbi8vLyBCb3ggc2hhZG93IG91dHNpZGUgdGV4dCBpbnB1dHMgd2hlbiBmb2N1c2VkLlxuLy8vIEB0eXBlIFNoYWRvd1xuJGlucHV0LXNoYWRvdy1mb2N1czogMCAwIDVweCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBDdXJzb3IgdG8gdXNlIHdoZW4gaG92ZXJpbmcgb3ZlciBhIGRpc2FibGVkIHRleHQgaW5wdXQuXG4vLy8gQHR5cGUgQ3Vyc29yXG4kaW5wdXQtY3Vyc29yLWRpc2FibGVkOiBub3QtYWxsb3dlZCAhZGVmYXVsdDtcblxuLy8vIFByb3BlcnRpZXMgdG8gdHJhbnNpdGlvbiBvbiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBUcmFuc2l0aW9uXG4kaW5wdXQtdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG5cbi8vLyBFbmFibGVzIHRoZSB1cC9kb3duIGJ1dHRvbnMgdGhhdCBDaHJvbWUgYW5kIEZpcmVmb3ggYWRkIHRvIGA8aW5wdXQgdHlwZT0nbnVtYmVyJz5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRpbnB1dC1udW1iZXItc3Bpbm5lcnM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBSYWRpdXMgZm9yIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEJvcmRlclxuJGlucHV0LXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIGZvciBmb3JtIGJ1dHRvbnMsIGRlZmF1bHRlZCB0byBnbG9iYWwtcmFkaXVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGZvcm0tYnV0dG9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3JtLWVsZW1lbnQge1xuICAkaGVpZ2h0OiAoJGlucHV0LWZvbnQtc2l6ZSAqIHVuaXRsZXNzLWNhbGMoJGlucHV0LWxpbmUtaGVpZ2h0KSkgKyAoZ2V0LXNpZGUoJGlucHV0LXBhZGRpbmcsICd0b3AnKSArIGdldC1zaWRlKCRpbnB1dC1wYWRkaW5nLCAnYm90dG9tJykpIC0gcmVtLWNhbGMoMSk7XG5cbiAgZGlzcGxheTogYmxvY2s7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nO1xuXG4gIGJvcmRlcjogJGlucHV0LWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJGlucHV0LXJhZGl1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQ7XG4gIGJveC1zaGFkb3c6ICRpbnB1dC1zaGFkb3c7XG5cbiAgZm9udC1mYW1pbHk6ICRpbnB1dC1mb250LWZhbWlseTtcbiAgZm9udC1zaXplOiAkaW5wdXQtZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGlucHV0LWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGlucHV0LWNvbG9yO1xuXG4gIEBpZiBoYXMtdmFsdWUoJGlucHV0LXRyYW5zaXRpb24pIHtcbiAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcbiAgfVxuXG4gIC8vIEZvY3VzIHN0YXRlXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyLWZvY3VzO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzO1xuICAgIGJveC1zaGFkb3c6ICRpbnB1dC1zaGFkb3ctZm9jdXM7XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7XG4gICAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS10ZXh0IHtcbiAgLy8gVGV4dCBpbnB1dHNcbiAgI3t0ZXh0LWlucHV0cygpfSxcbiAgdGV4dGFyZWEge1xuICAgIEBpbmNsdWRlIGZvcm0tZWxlbWVudDtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICB9XG5cbiAgLy8gVGV4dCBhcmVhc1xuICB0ZXh0YXJlYSB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuXG4gICAgJltyb3dzXSB7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgfVxuICB9XG5cbiAgaW5wdXQsXG4gIHRleHRhcmVhIHtcbiAgICAvLyBQbGFjZWhvbGRlciB0ZXh0XG4gICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjtcbiAgICB9XG5cbiAgICAvLyBEaXNhYmxlZC9yZWFkb25seSBzdGF0ZVxuICAgICY6ZGlzYWJsZWQsXG4gICAgJltyZWFkb25seV0ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ7XG4gICAgICBjdXJzb3I6ICRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ7XG4gICAgfVxuICB9XG5cbiAgLy8gUmVzZXQgc3R5bGVzIG9uIGJ1dHRvbi1saWtlIGlucHV0c1xuICBbdHlwZT0nc3VibWl0J10sXG4gIFt0eXBlPSdidXR0b24nXSB7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiAkZm9ybS1idXR0b24tcmFkaXVzO1xuICB9XG5cbiAgLy8gUmVzZXQgTm9ybWFsaXplIHNldHRpbmcgY29udGVudC1ib3ggdG8gc2VhcmNoIGVsZW1lbnRzXG4gIGlucHV0W3R5cGU9J3NlYXJjaCddIHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgfVxuXG4gIC8vIE51bWJlciBpbnB1dCBzdHlsZXNcbiAgW3R5cGU9J251bWJlciddIHtcbiAgICBAaWYgbm90ICRpbnB1dC1udW1iZXItc3Bpbm5lcnMge1xuICAgICAgLW1vei1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tdmVuZG9yLXByZWZpeFxuXG4gICAgICAmOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuICAgICAgJjo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby12ZW5kb3ItcHJlZml4XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tY2hlY2tib3gge1xuICBbdHlwZT0nZmlsZSddLFxuICBbdHlwZT0nY2hlY2tib3gnXSxcbiAgW3R5cGU9J3JhZGlvJ10ge1xuICAgIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG4gIH1cblxuICAvLyBTdHlsZXMgZm9yIGlucHV0L2xhYmVsIHNpYmxpbmdzXG4gIFt0eXBlPSdjaGVja2JveCddICsgbGFiZWwsXG4gIFt0eXBlPSdyYWRpbyddICsgbGFiZWwge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG5cbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkZm9ybS1zcGFjaW5nICogMC41O1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkZm9ybS1zcGFjaW5nO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAmW2Zvcl0ge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cbiAgfVxuXG4gIC8vIFN0eWxlcyBmb3IgaW5wdXRzIGluc2lkZSBsYWJlbHNcbiAgbGFiZWwgPiBbdHlwZT0nY2hlY2tib3gnXSxcbiAgbGFiZWwgPiBbdHlwZT0ncmFkaW8nXSB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRmb3JtLXNwYWNpbmcgKiAwLjU7XG4gIH1cblxuICAvLyBOb3JtYWxpemUgZmlsZSBpbnB1dCB3aWR0aFxuICBbdHlwZT0nZmlsZSddIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIENvbG9yIGZvciBmb3JtIGxhYmVscy5cbi8vLyBAdHlwZSBDb2xvclxuJGZvcm0tbGFiZWwtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBmb3IgZm9ybSBsYWJlbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZm9ybS1sYWJlbC1mb250LXNpemU6IHJlbS1jYWxjKDE0KSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IGZvciBmb3JtIGxhYmVscy5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kZm9ybS1sYWJlbC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgZm9yIGZvcm0gbGFiZWxzLiBUaGUgaGlnaGVyIHRoZSBudW1iZXIsIHRoZSBtb3JlIHNwYWNlIGJldHdlZW4gdGhlIGxhYmVsIGFuZCBpdHMgaW5wdXQgZmllbGQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZm9ybS1sYWJlbC1saW5lLWhlaWdodDogMS44ICFkZWZhdWx0O1xuXG5AbWl4aW4gZm9ybS1sYWJlbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDA7XG5cbiAgZm9udC1zaXplOiAkZm9ybS1sYWJlbC1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkZm9ybS1sYWJlbC1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRmb3JtLWxhYmVsLWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGZvcm0tbGFiZWwtY29sb3I7XG59XG5cbkBtaXhpbiBmb3JtLWxhYmVsLW1pZGRsZSB7XG4gICRpbnB1dC1ib3JkZXItd2lkdGg6IGdldC1ib3JkZXItdmFsdWUoJGlucHV0LWJvcmRlciwgd2lkdGgpO1xuXG4gIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG4gIHBhZGRpbmc6ICgkZm9ybS1zcGFjaW5nIC8gMiArIHJlbS1jYWxjKCRpbnB1dC1ib3JkZXItd2lkdGgpKSAwO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWxhYmVsIHtcbiAgbGFiZWwge1xuICAgIEBpbmNsdWRlIGZvcm0tbGFiZWw7XG5cbiAgICAmLm1pZGRsZSB7XG4gICAgICBAaW5jbHVkZSBmb3JtLWxhYmVsLW1pZGRsZTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBoZWxwIHRleHQuXG4vLy8gQHR5cGUgQ29sb3JcbiRoZWxwdGV4dC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGhlbHAgdGV4dC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRoZWxwdGV4dC1mb250LXNpemU6IHJlbS1jYWxjKDEzKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzdHlsZSBmb3IgaGVscCB0ZXh0LlxuLy8vIEB0eXBlIEtleXdvcmRcbiRoZWxwdGV4dC1mb250LXN0eWxlOiBpdGFsaWMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0taGVscHRleHQge1xuICAuaGVscC10ZXh0IHtcbiAgICAkbWFyZ2luLXRvcDogKCRmb3JtLXNwYWNpbmcgKiAwLjUpICogLTE7XG5cbiAgICBtYXJnaW4tdG9wOiAkbWFyZ2luLXRvcDtcbiAgICBmb250LXNpemU6ICRoZWxwdGV4dC1mb250LXNpemU7XG4gICAgZm9udC1zdHlsZTogJGhlbHB0ZXh0LWZvbnQtc3R5bGU7XG4gICAgY29sb3I6ICRoZWxwdGV4dC1jb2xvcjtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIENvbG9yIG9mIGxhYmVscyBwcmVmaXhlZCB0byBhbiBpbnB1dC5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LXByZWZpeC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBsYWJlbHMgcHJlZml4ZWQgdG8gYW4gaW5wdXQuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1wcmVmaXgtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIGxhYmVscyBwcmVmaXhlZCB0byBhbiBpbnB1dC5cbi8vLyBAdHlwZSBCb3JkZXJcbiRpbnB1dC1wcmVmaXgtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gTGVmdC9yaWdodCBwYWRkaW5nIG9mIGFuIHByZS9wb3N0Zml4ZWQgaW5wdXQgbGFiZWxcbiRpbnB1dC1wcmVmaXgtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1wcmVwb3N0Zml4IHtcbiAgJGhlaWdodDogKCRpbnB1dC1mb250LXNpemUgKyAkZm9ybS1zcGFjaW5nICogMS41KTtcblxuICAuaW5wdXQtZ3JvdXAge1xuICAgIGRpc3BsYXk6IGlmKCRnbG9iYWwtZmxleGJveCwgZmxleCwgdGFibGUpO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206ICRmb3JtLXNwYWNpbmc7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIH1cblxuICAgID4gOmZpcnN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCAwICRpbnB1dC1yYWRpdXMgJGlucHV0LXJhZGl1cyAwLCAkaW5wdXQtcmFkaXVzIDAgMCAkaW5wdXQtcmFkaXVzKTtcbiAgICB9XG5cbiAgICA+IDpsYXN0LWNoaWxkIHtcbiAgICAgID4gKiB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCAkaW5wdXQtcmFkaXVzIDAgMCAkaW5wdXQtcmFkaXVzLCAwICRpbnB1dC1yYWRpdXMgJGlucHV0LXJhZGl1cyAwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAlaW5wdXQtZ3JvdXAtY2hpbGQge1xuICAgIG1hcmdpbjogMDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuICB9XG5cbiAgLmlucHV0LWdyb3VwLWxhYmVsIHtcbiAgICBAZXh0ZW5kICVpbnB1dC1ncm91cC1jaGlsZDtcbiAgICBwYWRkaW5nOiAwICRpbnB1dC1wcmVmaXgtcGFkZGluZztcbiAgICBib3JkZXI6ICRpbnB1dC1wcmVmaXgtYm9yZGVyO1xuICAgIGJhY2tncm91bmQ6ICRpbnB1dC1wcmVmaXgtYmFja2dyb3VuZDtcblxuICAgIGNvbG9yOiAkaW5wdXQtcHJlZml4LWNvbG9yO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB3aWR0aDogMSU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtcHJlZml4LWJvcmRlcikge1xuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICAgICAgfVxuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItI3skZ2xvYmFsLWxlZnR9OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5pbnB1dC1ncm91cC1maWVsZCB7XG4gICAgQGV4dGVuZCAlaW5wdXQtZ3JvdXAtY2hpbGQ7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIG1pbi13aWR0aDogMDtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgaGVpZ2h0OiAkaGVpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIC5pbnB1dC1ncm91cC1idXR0b24ge1xuICAgIEBleHRlbmQgJWlucHV0LWdyb3VwLWNoaWxkO1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB3aWR0aDogMSU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgYSxcbiAgICBpbnB1dCxcbiAgICBidXR0b24sXG4gICAgbGFiZWwge1xuICAgICAgQGV4dGVuZCAlaW5wdXQtZ3JvdXAtY2hpbGQ7XG5cbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIGhlaWdodDogJGhlaWdodDtcbiAgICAgIH1cbiAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICBmb250LXNpemU6ICRpbnB1dC1mb250LXNpemU7XG4gICAgfVxuICB9XG5cbiAgLy8gU3BlY2lmaWNpdHkgYnVtcCBuZWVkZWQgdG8gcHJldmVudCBvdmVycmlkZSBieSBidXR0b25zXG4gIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIC5pbnB1dC1ncm91cCAuaW5wdXQtZ3JvdXAtYnV0dG9uIHtcbiAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgYXJvdW5kIGN1c3RvbSBmaWVsZHNldHMuXG4vLy8gQHR5cGUgQm9yZGVyXG4kZmllbGRzZXQtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGluc2lkZSBjdXN0b20gZmllbGRzZXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGZpZWxkc2V0LXBhZGRpbmc6IHJlbS1jYWxjKDIwKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbWFyZ2luIGFyb3VuZCBjdXN0b20gZmllbGRzZXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGZpZWxkc2V0LW1hcmdpbjogcmVtLWNhbGMoMTggMCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgYmV0d2VlbiB0aGUgbGVnZW5kIHRleHQgYW5kIGZpZWxkc2V0IGJvcmRlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsZWdlbmQtcGFkZGluZzogcmVtLWNhbGMoMCAzKSAhZGVmYXVsdDtcblxuQG1peGluIGZpZWxkc2V0IHtcbiAgbWFyZ2luOiAkZmllbGRzZXQtbWFyZ2luO1xuICBwYWRkaW5nOiAkZmllbGRzZXQtcGFkZGluZztcbiAgYm9yZGVyOiAkZmllbGRzZXQtYm9yZGVyO1xuXG4gIGxlZ2VuZCB7XG4gICAgLy8gQ292ZXJzIHVwIHRoZSBmaWVsZHNldCdzIGJvcmRlciB0byBjcmVhdGUgYXJ0aWZpY2lhbCBwYWRkaW5nXG4gICAgbWFyZ2luOiAwO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IHJlbS1jYWxjKC0zKTtcbiAgICBwYWRkaW5nOiAkbGVnZW5kLXBhZGRpbmc7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1maWVsZHNldCB7XG4gIGZpZWxkc2V0IHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXI6IDA7XG4gIH1cblxuICBsZWdlbmQge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAkZm9ybS1zcGFjaW5nICogMC41O1xuICB9XG5cbiAgLmZpZWxkc2V0IHtcbiAgICBAaW5jbHVkZSBmaWVsZHNldDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIHNlbGVjdCBtZW51cy5cbi8vLyBAdHlwZSBDb2xvclxuJHNlbGVjdC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiB0aGUgZHJvcGRvd24gdHJpYW5nbGUgaW5zaWRlIHNlbGVjdCBtZW51cy4gU2V0IHRvIGB0cmFuc3BhcmVudGAgdG8gcmVtb3ZlIGl0IGVudGlyZWx5LlxuLy8vIEB0eXBlIENvbG9yXG4kc2VsZWN0LXRyaWFuZ2xlLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgZm9yIHNlbGVjdCBtZW51cy5cbi8vLyBAdHlwZSBDb2xvclxuJHNlbGVjdC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG5AbWl4aW4gZm9ybS1zZWxlY3Qge1xuICAkaGVpZ2h0OiAoJGlucHV0LWZvbnQtc2l6ZSAqIHVuaXRsZXNzLWNhbGMoJGlucHV0LWxpbmUtaGVpZ2h0KSkgKyAoZ2V0LXNpZGUoJGlucHV0LXBhZGRpbmcsICd0b3AnKSArIGdldC1zaWRlKCRpbnB1dC1wYWRkaW5nLCAnYm90dG9tJykpIC0gcmVtLWNhbGMoMSk7XG5cbiAgaGVpZ2h0OiAkaGVpZ2h0O1xuICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZztcblxuICBhcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXI6ICRpbnB1dC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRzZWxlY3QtcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2VsZWN0LWJhY2tncm91bmQ7XG5cbiAgZm9udC1mYW1pbHk6ICRpbnB1dC1mb250LWZhbWlseTtcbiAgZm9udC1zaXplOiAkaW5wdXQtZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGlucHV0LWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGlucHV0LWNvbG9yO1xuXG4gIEBpZiAkc2VsZWN0LXRyaWFuZ2xlLWNvbG9yICE9IHRyYW5zcGFyZW50IHtcbiAgICBAaW5jbHVkZSBiYWNrZ3JvdW5kLXRyaWFuZ2xlKCRzZWxlY3QtdHJpYW5nbGUtY29sb3IpO1xuICAgIGJhY2tncm91bmQtb3JpZ2luOiBjb250ZW50LWJveDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAkZ2xvYmFsLXJpZ2h0ICgtJGZvcm0tc3BhY2luZykgY2VudGVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiA5cHggNnB4O1xuXG4gICAgcGFkZGluZy0jeyRnbG9iYWwtcmlnaHR9OiAoJGZvcm0tc3BhY2luZyAqIDEuNSk7XG4gIH1cblxuICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7XG4gICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XG4gIH1cblxuICAvLyBGb2N1cyBzdGF0ZVxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJvcmRlcjogJGlucHV0LWJvcmRlci1mb2N1cztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1mb2N1cztcbiAgICBib3gtc2hhZG93OiAkaW5wdXQtc2hhZG93LWZvY3VzO1xuXG4gICAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtdHJhbnNpdGlvbikge1xuICAgICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XG4gICAgfVxuICB9XG5cbiAgLy8gRGlzYWJsZWQgc3RhdGVcbiAgJjpkaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ7XG4gICAgY3Vyc29yOiAkaW5wdXQtY3Vyc29yLWRpc2FibGVkO1xuICB9XG5cbiAgLy8gSGlkZSB0aGUgZHJvcGRvd24gYXJyb3cgc2hvd24gaW4gbmV3ZXIgSUUgdmVyc2lvbnNcbiAgJjo6LW1zLWV4cGFuZCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gICZbbXVsdGlwbGVdIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLXNlbGVjdCB7XG4gIHNlbGVjdCB7XG4gICAgQGluY2x1ZGUgZm9ybS1zZWxlY3Q7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGFiaWRlXG4vLy8vXG5cbi8vLyBTZXRzIGlmIGVycm9yIHN0eWxlcyBzaG91bGQgYmUgYWRkZWQgdG8gaW5wdXRzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRhYmlkZS1pbnB1dHM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGlmIGVycm9yIHN0eWxlcyBzaG91bGQgYmUgYWRkZWQgdG8gbGFiZWxzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRhYmlkZS1sYWJlbHM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIHRvIHVzZSBmb3IgaW52YWxpZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJhY2tncm91bmQtaW52YWxpZDogZ2V0LWNvbG9yKGFsZXJ0KSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHRvIHVzZSBmb3IgbGFiZWxzIG9mIGludmFsaWQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kZm9ybS1sYWJlbC1jb2xvci1pbnZhbGlkOiBnZXQtY29sb3IoYWxlcnQpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBmb3JtIGVycm9yIHRleHQuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1lcnJvci1jb2xvcjogZ2V0LWNvbG9yKGFsZXJ0KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBmb3JtIGVycm9yIHRleHQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaW5wdXQtZXJyb3ItZm9udC1zaXplOiByZW0tY2FsYygxMikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgd2VpZ2h0IGZvciBmb3JtIGVycm9yIHRleHQuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGlucHV0LWVycm9yLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4vLy8gU3R5bGVzIHRoZSBiYWNrZ3JvdW5kIGFuZCBib3JkZXIgb2YgYW4gaW5wdXQgZmllbGQgdG8gaGF2ZSBhbiBlcnJvciBzdGF0ZS5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskYWxlcnQtY29sb3JdIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgYmFja2dyb3VuZCBhbmQgYm9yZGVyLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFja2dyb3VuZC1saWdodGVuIFsxMCVdIC0gTGlnaHRuZXNzIGxldmVsIG9mIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxuQG1peGluIGZvcm0taW5wdXQtZXJyb3IoXG4gICRiYWNrZ3JvdW5kOiAkaW5wdXQtYmFja2dyb3VuZC1pbnZhbGlkLFxuICAkYmFja2dyb3VuZC1saWdodGVuOiAxMCVcbikge1xuICAmOm5vdCg6Zm9jdXMpIHtcbiAgICBib3JkZXItY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1peCgkYmFja2dyb3VuZCwgJHdoaXRlLCAkYmFja2dyb3VuZC1saWdodGVuKTtcbiAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogJGJhY2tncm91bmQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIGVycm9yIHN0eWxlcyB0byBhIGZvcm0gZWxlbWVudCwgdXNpbmcgdGhlIHZhbHVlcyBpbiB0aGUgc2V0dGluZ3MgZmlsZS5cbkBtaXhpbiBmb3JtLWVycm9yIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWFyZ2luLXRvcDogJGZvcm0tc3BhY2luZyAqIC0wLjU7XG4gIG1hcmdpbi1ib3R0b206ICRmb3JtLXNwYWNpbmc7XG5cbiAgZm9udC1zaXplOiAkaW5wdXQtZXJyb3ItZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGlucHV0LWVycm9yLWZvbnQtd2VpZ2h0O1xuICBjb2xvcjogJGlucHV0LWVycm9yLWNvbG9yO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWVycm9yIHtcbiAgQGlmICRhYmlkZS1pbnB1dHMge1xuICAgIC8vIEVycm9yIGNsYXNzIGZvciBpbnZhbGlkIGlucHV0c1xuICAgIC5pcy1pbnZhbGlkLWlucHV0IHtcbiAgICAgIEBpbmNsdWRlIGZvcm0taW5wdXQtZXJyb3I7XG4gICAgfVxuICB9XG5cbiAgQGlmICRhYmlkZS1sYWJlbHMge1xuICAgIC8vIEVycm9yIGNsYXNzIGZvciBsYWJlbHMgb2YgaW52YWxpZCBvdXRwdXRzXG4gICAgLmlzLWludmFsaWQtbGFiZWwge1xuICAgICAgY29sb3I6ICRmb3JtLWxhYmVsLWNvbG9yLWludmFsaWQ7XG4gICAgfVxuICB9XG5cbiAgLy8gRm9ybSBlcnJvciBlbGVtZW50XG4gIC5mb3JtLWVycm9yIHtcbiAgICBAaW5jbHVkZSBmb3JtLWVycm9yO1xuXG4gICAgJi5pcy12aXNpYmxlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcmVzcG9uc2l2ZS1lbWJlZFxuLy8vL1xuXG4vLy8gTWFyZ2luIGJlbG93IGEgcmVzcG9uc2l2ZSBlbWJlZCBjb250YWluZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmVzcG9uc2l2ZS1lbWJlZC1tYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNikgIWRlZmF1bHQ7XG5cbi8vLyBBc3BlY3QgcmF0aW9zIHVzZWQgdG8gZGV0ZXJtaW5lIHBhZGRpbmctYm90dG9tIG9mIHJlc3BvbnNpdmUgZW1iZWQgY29udGFpbmVycy5cbi8vLyBAdHlwZSBNYXBcbiRyZXNwb25zaXZlLWVtYmVkLXJhdGlvczogKFxuICBkZWZhdWx0OiA0IGJ5IDMsXG4gIHdpZGVzY3JlZW46IDE2IGJ5IDksXG4pICFkZWZhdWx0O1xuXG4vLyBXQVJOSU5HOiBXaWxsIGJlIHJlbW92ZWQgaW4gdmVyc2lvbiA2LjRcbiRyZXNwb25zaXZlLWVtYmVkLXJhdGlvOiBkZWZhdWx0O1xuXG4vLy8gQ3JlYXRlcyBhIHJlc3BvbnNpdmUgZW1iZWQgY29udGFpbmVyLlxuLy8vIEBwYXJhbSB7U3RyaW5nfExpc3R9ICRyYXRpbyBbZGVmYXVsdF0gLSBSYXRpbyBvZiB0aGUgY29udGFpbmVyLiBDYW4gYmUgYSBrZXkgZnJvbSB0aGUgYCRyZXNwb25zaXZlLWVtYmVkLXJhdGlvc2AgbWFwIG9yIGEgbGlzdCBmb3JtYXR0ZWQgYXMgYHggYnkgeWAuXG5AbWl4aW4gcmVzcG9uc2l2ZS1lbWJlZCgkcmF0aW86IGRlZmF1bHQpIHtcbiAgQGlmIHR5cGUtb2YoJHJhdGlvKSA9PSAnc3RyaW5nJyB7XG4gICAgJHJhdGlvOiBtYXAtZ2V0KCRyZXNwb25zaXZlLWVtYmVkLXJhdGlvcywgJHJhdGlvKTtcbiAgfVxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luLWJvdHRvbTogJHJlc3BvbnNpdmUtZW1iZWQtbWFyZ2luLWJvdHRvbTtcbiAgcGFkZGluZy1ib3R0b206IHJhdGlvLXRvLXBlcmNlbnRhZ2UoJHJhdGlvKTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICBpZnJhbWUsXG4gIG9iamVjdCxcbiAgZW1iZWQsXG4gIHZpZGVvIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgICN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tcmVzcG9uc2l2ZS1lbWJlZCB7XG4gIC5yZXNwb25zaXZlLWVtYmVkLFxuICAuZmxleC12aWRlbyB7XG4gICAgQGluY2x1ZGUgcmVzcG9uc2l2ZS1lbWJlZCgkcmF0aW86IGRlZmF1bHQpO1xuXG4gICAgJHJhdGlvczogbWFwLXJlbW92ZSgkcmVzcG9uc2l2ZS1lbWJlZC1yYXRpb3MsZGVmYXVsdCk7XG5cbiAgICBAZWFjaCAkbmFtZSwgJHJhdGlvIGluICRyYXRpb3Mge1xuICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiByYXRpby10by1wZXJjZW50YWdlKCRyYXRpbyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZsZXgtdmlkZW8ge1xuICBAd2FybiAnVGhpcyBtaXhpbiBpcyBiZWluZyByZXBsYWNlZCBieSBmb3VuZGF0aW9uLXJlc3BvbnNpdmUtZW1iZWQoKS4gZm91bmRhdGlvbi1mbGV4LXZpZGVvKCkgd2lsbCBiZSByZW1vdmVkIGluIEZvdW5kYXRpb24gNi40Lic7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcmVzcG9uc2l2ZS1lbWJlZDtcbn1cblxuQG1peGluIGZsZXgtdmlkZW8oJHJhdGlvOiAkcmVzcG9uc2l2ZS1lbWJlZC1yYXRpbykge1xuICBAd2FybiAnVGhpcyBtaXhpbiBpcyBiZWluZyByZXBsYWNlZCBieSByZXNwb25zaXZlLWVtYmVkKCkuIGZsZXgtdmlkZW8oKSB3aWxsIGJlIHJlbW92ZWQgaW4gRm91bmRhdGlvbiA2LjQuJztcbiAgQGluY2x1ZGUgcmVzcG9uc2l2ZS1lbWJlZCgkcmF0aW8pO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbi8vLyBGaW5kcyB0aGUgZ3JlYXRlc3QgY29tbW9uIGRpdmlzb3Igb2YgdHdvIGludGVnZXJzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRhIC0gRmlyc3QgbnVtYmVyIHRvIGNvbXBhcmUuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiIC0gU2Vjb25kIG51bWJlciB0byBjb21wYXJlLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIGdyZWF0ZXN0IGNvbW1vbiBkaXZpc29yLlxuQGZ1bmN0aW9uIGdjZCgkYSwgJGIpIHtcbiAgLy8gRnJvbTogaHR0cDovL3Jvc2V0dGFjb2RlLm9yZy93aWtpL0dyZWF0ZXN0X2NvbW1vbl9kaXZpc29yI0phdmFTY3JpcHRcbiAgQGlmICgkYiAhPSAwKSB7XG4gICAgQHJldHVybiBnY2QoJGIsICRhICUgJGIpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuIGFicygkYSk7XG4gIH1cbn1cblxuLy8vIEhhbmRsZXMgZGVjaW1hbCBleHBvbmVudHMgYnkgdHJ5aW5nIHRvIGNvbnZlcnQgdGhlbSBpbnRvIGEgZnJhY3Rpb24gYW5kIHRoZW4gdXNlIGEgbnRoLXJvb3QtYWxnb3JpdGhtIGZvciBwYXJ0cyBvZiB0aGUgY2FsY3VsYXRpb25cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSAtIFRoZSBiYXNlIG51bWJlci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGV4cG9uZW50IC0gVGhlIGV4cG9uZW50LlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIHByb2R1Y3Qgb2YgdGhlIGV4cG9uZW50aWF0aW9uLlxuQGZ1bmN0aW9uIHBvdygkYmFzZSwgJGV4cG9uZW50LCAkcHJlYzogMTYpIHtcbiAgQGlmIChmbG9vcigkZXhwb25lbnQpICE9ICRleHBvbmVudCkge1xuICAgICRwcmVjMiA6IHBvdygxMCwgJHByZWMpO1xuICAgICRleHBvbmVudDogcm91bmQoJGV4cG9uZW50ICogJHByZWMyKTtcbiAgICAkZGVub21pbmF0b3I6IGdjZCgkZXhwb25lbnQsICRwcmVjMik7XG4gICAgQHJldHVybiBudGgtcm9vdChwb3coJGJhc2UsICRleHBvbmVudCAvICRkZW5vbWluYXRvciksICRwcmVjMiAvICRkZW5vbWluYXRvciwgJHByZWMpO1xuICB9XG5cbiAgJHZhbHVlOiAkYmFzZTtcbiAgQGlmICRleHBvbmVudCA+IDEge1xuICAgIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGV4cG9uZW50IHtcbiAgICAgICR2YWx1ZTogJHZhbHVlICogJGJhc2U7XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRleHBvbmVudCA8IDEge1xuICAgIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggLSRleHBvbmVudCB7XG4gICAgICAkdmFsdWU6ICR2YWx1ZSAvICRiYXNlO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuXG5AZnVuY3Rpb24gbnRoLXJvb3QoJG51bSwgJG46IDIsICRwcmVjOiAxMikge1xuICAvLyBGcm9tOiBodHRwOi8vcm9zZXR0YWNvZGUub3JnL3dpa2kvTnRoX3Jvb3QjSmF2YVNjcmlwdFxuICAkeDogMTtcblxuICBAZm9yICRpIGZyb20gMCB0aHJvdWdoICRwcmVjIHtcbiAgICAkeDogMSAvICRuICogKCgkbiAtIDEpICogJHggKyAoJG51bSAvIHBvdygkeCwgJG4gLSAxKSkpO1xuICB9XG5cbiAgQHJldHVybiAkeDtcbn1cblxuLy8vIENhbGN1bGF0ZXMgdGhlIGhlaWdodCBhcyBhIHBlcmNlbnRhZ2Ugb2YgdGhlIHdpZHRoIGZvciBhIGdpdmVuIHJhdGlvLlxuLy8vIEBwYXJhbSB7TGlzdH0gJHJhdGlvIC0gUmF0aW8gdG8gdXNlIHRvIGNhbGN1bGF0ZSB0aGUgaGVpZ2h0LCBmb3JtYXR0ZWQgYXMgYHggYnkgeWAuXG4vLy8gQHJldHVybiB7TnVtYmVyfSBBIHBlcmNlbnRhZ2UgdmFsdWUgZm9yIHRoZSBoZWlnaHQgcmVsYXRpdmUgdG8gdGhlIHdpZHRoIG9mIGEgcmVzcG9uc2l2ZSBjb250YWluZXIuXG5AZnVuY3Rpb24gcmF0aW8tdG8tcGVyY2VudGFnZSgkcmF0aW8pIHtcbiAgJHc6IG50aCgkcmF0aW8sIDEpO1xuICAkaDogbnRoKCRyYXRpbywgMyk7XG4gIEByZXR1cm4gJGggLyAkdyAqIDEwMCU7XG59XG4iLCJAY2hhcnNldCBcInV0Zi04XCI7XG5cbi8vY29sb3JzXG4kZ3JleTogI2Q2ZDZkNjtcbiRncmV5ZGFyazogIzY1NjU2NTtcbiR3aGl0ZTogI2ZmZmZmZjtcbiRiZ1doaXRlOiAjZjNmM2YzO1xuJHBldHJvbDogIzAwNkY2OTtcbiRkdW5rZWxibGF1OiAjMDA1NDYzO1xuJGJsYWNrOiAjMTQxNDE0O1xuJGxpZ2h0Z3JheTogI2RjZDdkNztcblxuLy90ZW1wbGF0ZSBjb2xvcnNcbiRvbGl2ZWdyZWVuOiAjYzZkNzMyO1xuJGJyb3duOiAjQjQ4MzhBO1xuJGJyb3dubGlnaHQ6ICNlY2UwZTI7XG4kYmx1ZTogIzY5QTNBOTtcbiRibHVlbGlnaHQ6ICNlNWViZWI7XG4kZ3JlZW46ICMzOUFBNDc7XG4kZGFya2JsdWU6ICMwMDZGNjk7XG5cbi8vZm9udHNcbiRmYWxsYmFja0ZvbnQ6IFwiSGVsdmV0aXZhXCIsIHNhbnMtc2VyaWY7XG4kc2Fuc1Byb0JsYWNrOiBOZXVlU2Fuc1Byby1CbGFjaywgI3skZmFsbGJhY2tGb250fTtcbiRzYW5zUHJvQmxhY2tJOiBOZXVlU2Fuc1Byby1CbGFja0l0YWxpYywgI3skZmFsbGJhY2tGb250fTtcbiRzYW5zUHJvQm9sZDogTmV1ZVNhbnNQcm8tQm9sZCwgI3skZmFsbGJhY2tGb250fTtcbiRzYW5zUHJvQm9sZEk6IE5ldWVTYW5zUHJvLUJvbGRJdGFsaWMsICN7JGZhbGxiYWNrRm9udH07XG4kc2Fuc1Byb0xpZ2h0OiBOZXVlU2Fuc1Byby1MaWdodCwgI3skZmFsbGJhY2tGb250fTtcbiRzYW5zUHJvTGlnaHRJOiBOZXVlU2Fuc1Byby1MaWdodEl0YWxpYywgI3skZmFsbGJhY2tGb250fTtcbiRzYW5zUHJvU2VtaUJvbGQ6IE5ldWVTYW5zUHJvLVNlbWlCb2xkLCAjeyRmYWxsYmFja0ZvbnR9O1xuJHNhbnNQcm9TZW1pQm9sZEk6IE5ldWVTYW5zUHJvLVNlbWlCb2xkSXRhbGljLCAjeyRmYWxsYmFja0ZvbnR9O1xuJHNhbnNQcm9UaGluOiBOZXVlU2Fuc1Byby1UaGluLCAjeyRmYWxsYmFja0ZvbnR9O1xuJHNhbnNQcm9UaGluSTogTmV1ZVNhbnNQcm8tVGhpbkl0YWxpYywgI3skZmFsbGJhY2tGb250fTtcblxuLy9mb250cyBzaXplXG4kbGFyZ2UtZnM6IDQwO1xuJG1lZGl1bS1mczogMzA7XG4kc21hbGxlci1mczogMjY7XG4kbm9ybWFsLWZzOiAxNjtcbiRidXR0b24tZnM6IDIwO1xuXG4vL3dpZHRoc1xuJGNvbnRlbnRQYWRkaW5nOiAxMDtcbiRjb250ZW50V2lkdGg6IDg2MiArIDIgKiAkY29udGVudFBhZGRpbmc7XG5cblxuLy9zbWFsbCBzY3JlZW5zXG4kc2lkZXBhZGRpbmc6IDI1O1xuXG4vL2ZvdW5kYXRpb24gbWVkaWEgcXVlcnlcbi5mb3VuZGF0aW9uLW1xIHtcbiAgZm9udC1mYW1pbHk6IFwic21hbGw9MGVtJm1lZGl1bT00MGVtJmxhcmdlPTY0ZW0meGxhcmdlPTc1ZW0meHhsYXJnZT05MGVtXCI7XG59XG4iLCJAY2hhcnNldCBcInV0Zi04XCI7XG5cbiRmb250c0Jhc2VQYXRoOiBcIi8ucmVzb3VyY2VzL2JiLXByby1zZW5lY3R1dGUtdGhlbWUvd2VicmVzb3VyY2VzL2ZvbnRzL1wiO1xuXG5AZm9udC1mYWNlIHtmb250LWZhbWlseTogJ05ldWVTYW5zUHJvLUJsYWNrJztzcmM6IHVybCgnI3skZm9udHNCYXNlUGF0aH1OZXVlU2Fuc1Byby1CbGFjay5vdGYnKSBmb3JtYXQoXCJvcGVudHlwZVwiKX1cbkBmb250LWZhY2Uge2ZvbnQtZmFtaWx5OiAnTmV1ZVNhbnNQcm8tQmxhY2tJdGFsaWMnO3NyYzogdXJsKCcjeyRmb250c0Jhc2VQYXRofU5ldWVTYW5zUHJvLUJsYWNrSXRhbGljLm90ZicpIGZvcm1hdChcIm9wZW50eXBlXCIpfVxuQGZvbnQtZmFjZSB7Zm9udC1mYW1pbHk6ICdOZXVlU2Fuc1Byby1Cb2xkJztzcmM6IHVybCgnI3skZm9udHNCYXNlUGF0aH1OZXVlU2Fuc1Byby1Cb2xkLm90ZicpIGZvcm1hdChcIm9wZW50eXBlXCIpfVxuQGZvbnQtZmFjZSB7Zm9udC1mYW1pbHk6ICdOZXVlU2Fuc1Byby1Cb2xkSXRhbGljJztzcmM6IHVybCgnI3skZm9udHNCYXNlUGF0aH1OZXVlU2Fuc1Byby1Cb2xkSXRhbGljLm90ZicpIGZvcm1hdChcIm9wZW50eXBlXCIpfVxuQGZvbnQtZmFjZSB7Zm9udC1mYW1pbHk6ICdOZXVlU2Fuc1Byby1MaWdodCc7c3JjOiB1cmwoJyN7JGZvbnRzQmFzZVBhdGh9TmV1ZVNhbnNQcm8tTGlnaHQub3RmJykgZm9ybWF0KFwib3BlbnR5cGVcIil9XG5AZm9udC1mYWNlIHtmb250LWZhbWlseTogJ05ldWVTYW5zUHJvLUxpZ2h0SXRhbGljJztzcmM6IHVybCgnI3skZm9udHNCYXNlUGF0aH1OZXVlU2Fuc1Byby1MaWdodEl0YWxpYy5vdGYnKSBmb3JtYXQoXCJvcGVudHlwZVwiKX1cbkBmb250LWZhY2Uge2ZvbnQtZmFtaWx5OiAnTmV1ZVNhbnNQcm8tTm9ybWFsJztzcmM6IHVybCgnI3skZm9udHNCYXNlUGF0aH1OZXVlU2Fuc1Byby1Ob3JtYWwub3RmJykgZm9ybWF0KFwib3BlbnR5cGVcIil9XG5AZm9udC1mYWNlIHtmb250LWZhbWlseTogJ05ldWVTYW5zUHJvLU5vcm1hbEl0YWxpYyc7c3JjOiB1cmwoJyN7JGZvbnRzQmFzZVBhdGh9TmV1ZVNhbnNQcm8tTm9ybWFsSXRhbGljLm90ZicpIGZvcm1hdChcIm9wZW50eXBlXCIpfVxuQGZvbnQtZmFjZSB7Zm9udC1mYW1pbHk6ICdOZXVlU2Fuc1Byby1TZW1pQm9sZCc7c3JjOiB1cmwoJyN7JGZvbnRzQmFzZVBhdGh9TmV1ZVNhbnNQcm8tU2VtaUJvbGQub3RmJykgZm9ybWF0KFwib3BlbnR5cGVcIil9XG5AZm9udC1mYWNlIHtmb250LWZhbWlseTogJ05ldWVTYW5zUHJvLVNlbWlCb2xkSXRhbGljJztzcmM6IHVybCgnI3skZm9udHNCYXNlUGF0aH1OZXVlU2Fuc1Byby1TZW1pQm9sZEl0YWxpYy5vdGYnKSBmb3JtYXQoXCJvcGVudHlwZVwiKX1cbkBmb250LWZhY2Uge2ZvbnQtZmFtaWx5OiAnTmV1ZVNhbnNQcm8tVGhpbic7c3JjOiB1cmwoJyN7JGZvbnRzQmFzZVBhdGh9TmV1ZVNhbnNQcm8tVGhpbi5vdGYnKSBmb3JtYXQoXCJvcGVudHlwZVwiKX1cbkBmb250LWZhY2Uge2ZvbnQtZmFtaWx5OiAnTmV1ZVNhbnNQcm8tVGhpbkl0YWxpYyc7c3JjOiB1cmwoJyN7JGZvbnRzQmFzZVBhdGh9TmV1ZVNhbnNQcm8tVGhpbkl0YWxpYy5vdGYnKSBmb3JtYXQoXCJvcGVudHlwZVwiKX1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcbjpyb290IHtcbiAgLS1mb250RmFtaWx5OiBcInZlcmRhbmFcIiwgXCJoZWx2ZXRpY2FcIiwgc2Fucy1zZXJpZjtcbn1cblxuQG1peGluIGZvbnQtZmFtaWx5KCR0eXBlOiBsaWdodCwgJGZvbnRzaXplOiBudWxsLCAkbGluZWhlaWdodDogbnVsbCwgJGNvbG9yOm51bGwsICRsZXR0ZXJzcGFjaW5nOm51bGwpIHtcbiAgQGlmICgkZm9udHNpemUgIT0gbnVsbCkge1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGZvbnRzaXplKTtcbiAgfSBAZWxzZSB7XG4gICAgZm9udC1zaXplOiAkYmFzZS1mb250LXNpemU7XG4gIH1cblxuICBAaWYgKCRjb2xvcikge1xuICAgIGNvbG9yOiAkY29sb3I7XG4gIH1cblxuICBAaWYgKCRsaW5laGVpZ2h0KSB7XG4gICAgQGlmICgkbGluZWhlaWdodCA9PSAtMSkge1xuICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKCRmb250c2l6ZSAqIDEuMik7XG4gICAgfSBAZWxzZSB7XG4gICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoJGxpbmVoZWlnaHQpO1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgbGluZS1oZWlnaHQ6ICRiYXNlLWxpbmUtaGVpZ2h0O1xuICB9XG5cbiAgQGlmICgkdHlwZSA9PSBibGFjaykge1xuICAgIGZvbnQtZmFtaWx5OiAjeyRzYW5zUHJvQmxhY2t9O1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgLy9mb250LXdlaWdodDogODAwO1xuICB9IEBlbHNlIGlmICgkdHlwZSA9PSBibGFja0kpIHtcbiAgICBmb250LWZhbWlseTogI3skc2Fuc1Byb0JsYWNrSX07XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAvL2ZvbnQtd2VpZ2h0OiA4MDA7XG4gICAgLy9mb250LXN0eWxlOiBpdGFsaWM7XG4gIH0gQGVsc2UgaWYgKCR0eXBlID09IGJvbGQpIHtcbiAgICBmb250LWZhbWlseTogI3skc2Fuc1Byb0JvbGR9O1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgLy9mb250LXdlaWdodDogNzAwO1xuICB9IEBlbHNlIGlmICgkdHlwZSA9PSBib2xkSSkge1xuICAgIGZvbnQtZmFtaWx5OiAjeyRzYW5zUHJvQm9sZEl9O1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgLy9mb250LXdlaWdodDogNTAwO1xuICAgIC8vZm9udC1zdHlsZTogaXRhbGljO1xuICB9IEBlbHNlIGlmICgkdHlwZSA9PSBzZW1pYm9sZCkge1xuICAgIGZvbnQtZmFtaWx5OiAjeyRzYW5zUHJvU2VtaUJvbGR9O1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgLy9mb250LXdlaWdodDogNTAwO1xuICB9IEBlbHNlIGlmICgkdHlwZSA9PSBzZW1pYm9sZEkpIHtcbiAgICBmb250LWZhbWlseTogI3skc2Fuc1Byb1NlbWlCb2xkSX07XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAvL2ZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgLy9mb250LXN0eWxlOiBpdGFsaWM7XG4gIH0gQGVsc2UgaWYgKCR0eXBlID09IGxpZ2h0KSB7XG4gICAgZm9udC1mYW1pbHk6ICN7JHNhbnNQcm9MaWdodH07XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAvL2ZvbnQtd2VpZ2h0OiAzMDA7XG4gIH0gQGVsc2UgaWYgKCR0eXBlID09IGxpZ2h0SSkge1xuICAgIGZvbnQtZmFtaWx5OiAjeyRzYW5zUHJvTGlnaHRJfTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIC8vZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAvL2ZvbnQtc3R5bGU6IGl0YWxpYztcbiAgfSBAZWxzZSBpZiAoJHR5cGUgPT0gdGhpbikge1xuICAgIGZvbnQtZmFtaWx5OiAjeyRzYW5zUHJvVGhpbn07XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAvL2ZvbnQtd2VpZ2h0OiAxMDA7XG4gIH0gQGVsc2UgaWYgKCR0eXBlID09IHRoaW5JKSB7XG4gICAgZm9udC1mYW1pbHk6ICN7JHNhbnNQcm9UaGluSX07XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAvL2ZvbnQtd2VpZ2h0OiAxMDA7XG4gICAgLy9mb250LXN0eWxlOiBpdGFsaWM7XG4gIH0gQGVsc2Uge1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250RmFtaWx5KTtcbiAgfVxuXG4gIEBpZiAoJGxldHRlcnNwYWNpbmcgIT0gbnVsbCkge1xuICAgIGxldHRlci1zcGFjaW5nOiAjeyRsZXR0ZXJzcGFjaW5nICsgXCJweFwifTtcbiAgfVxufVxuXG5AbWl4aW4gZmxleEJveGVzKCRqdXN0aWZ5OmNlbnRlciwgJGFsaWduOmNlbnRlciwgJGRpcmVjdGlvbjpyb3csICR3cmFwOm5vd3JhcCkge1xuICBkaXNwbGF5OiAtbW96LWJveDsgLyogT0xEIC0gRmlyZWZveCAxOS0gKGRvZXNuJ3Qgd29yayB2ZXJ5IHdlbGwpICovXG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94OyAvKiBUV0VFTkVSIC0gSUUgMTAgKi9cbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4OyAvKiBORVcgLSBDaHJvbWUgKi9cbiAgZGlzcGxheTogZmxleDsgLyogTkVXLCBTcGVjIC0gT3BlcmEgMTIuMSwgRmlyZWZveCAyMCsgKi9cblxuICAtbXMtZmxleC1kaXJlY3Rpb246ICRkaXJlY3Rpb247XG4gIC13ZWJraXQtZmxleC1kaXJlY3Rpb246ICRkaXJlY3Rpb247XG4gIGZsZXgtZGlyZWN0aW9uOiAkZGlyZWN0aW9uO1xuXG4gIC1tcy1mbGV4LXdyYXA6ICR3cmFwO1xuICAtd2Via2l0LWZsZXgtd3JhcDogJHdyYXA7XG4gIGZsZXgtd3JhcDogJHdyYXA7XG5cbiAgLXdlYmtpdC1hbGlnbi1pdGVtczogJGFsaWduO1xuICBhbGlnbi1pdGVtczogJGFsaWduO1xuXG4gIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiAkanVzdGlmeTtcbiAganVzdGlmeS1jb250ZW50OiAkanVzdGlmeTtcbn1cblxuQG1peGluIHNwYWNlcigkbWF4OjEyKSB7XG4gIC5zcGFjZXIge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkbWF4IHtcbiAgICAgICAgJi5zbWFsbC0jeyRpfSB7XG4gICAgICAgICAgaGVpZ2h0OiAjeyRpfXJlbVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIG9ubHkpIHtcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJG1heCB7XG4gICAgICAgICYubWVkaXVtLSN7JGl9IHtcbiAgICAgICAgICBoZWlnaHQ6ICN7JGl9cmVtXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRtYXgge1xuICAgICAgICAmLmxhcmdlLSN7JGl9IHtcbiAgICAgICAgICBoZWlnaHQ6ICN7JGl9cmVtXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgfVxufVxuXG5AbWl4aW4gYnV0dG9uLXJlc2V0IHtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiBub25lO1xuICBmb250OiBpbmhlcml0O1xuICBjb2xvcjogaW5oZXJpdDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbiIsIkBjaGFyc2V0IFwidXRmLThcIjtcblxuLy8gSUUgMTArXG4qIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuOnJvb3Qge1xuICAtLWJveC1zaGFkb3c6IDAgMCA3cHggcmdiYSgyMCwgMjAsIDIwLCAwLjMpO1xufVxuXG4vLyBXZWJLaXQvQmxpbmsgQnJvd3NlcnNcbjo6c2VsZWN0aW9uIHtcbiAgY29sb3I6ICR3aGl0ZTtcbiAgYmFja2dyb3VuZDogJHBldHJvbDtcbn1cblxuLy8gR2Vja28gQnJvd3NlcnNcbjo6LW1vei1zZWxlY3Rpb24ge1xuICBjb2xvcjogJHdoaXRlO1xuICBiYWNrZ3JvdW5kOiAkcGV0cm9sO1xufVxuXG5ib2R5IHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmdXaGl0ZTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIEBpbmNsdWRlIGZvbnQtZmFtaWx5KHN0YW5kYXJkLCAkbm9ybWFsLWZzLCAtMSwgbnVsbCk7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbn1cblxudWwge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG59XG5cbmxpIHtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xufVxuXG5zcGFuLnRpdGxlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIEBpbmNsdWRlIGZvbnQtZmFtaWx5KHN0YW5kYXJkLCAkbm9ybWFsLWZzLCAyNCwgbnVsbCk7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKCRub3JtYWwtZnMpO1xufVxuXG5oMSB7XG4gIEBpbmNsdWRlIGZvbnQtZmFtaWx5KHNlbWlib2xkLCAkbGFyZ2UtZnMsIC0xLCAkcGV0cm9sLCAwLjYpO1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygkbm9ybWFsLWZzICogMik7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygkbGFyZ2UtZnMgLSA4KTtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygkbm9ybWFsLWZzKTtcbiAgfVxuXG4gICNmb290ZXIgJiB7XG4gICAgQGluY2x1ZGUgZm9udC1mYW1pbHkoc3RhbmRhcmQsIDE0LCAyMyk7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIH1cbn1cblxuaDIge1xuICBAaW5jbHVkZSBmb250LWZhbWlseShzZW1pYm9sZCwgJG1lZGl1bS1mcywgLTEsICRwZXRyb2wsIDAuNyk7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKCRub3JtYWwtZnMgLyAyKTtcblxuICAjZm9vdGVyICYge1xuICAgIEBpbmNsdWRlIGZvbnQtZmFtaWx5KHN0YW5kYXJkLCAxNCwgMjMpO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKCRub3JtYWwtZnMgLSA0KTtcbiAgfVxufVxuXG5oMyxcbmg0LFxuaDUge1xuICBAaW5jbHVkZSBmb250LWZhbWlseShzZW1pYm9sZCwgJHNtYWxsZXItZnMsIC0xLCAkcGV0cm9sLCAwLjcpO1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygkc21hbGxlci1mcyAvIDIpO1xuXG4gICNmb290ZXIgJiB7XG4gICAgQGluY2x1ZGUgZm9udC1mYW1pbHkoc3RhbmRhcmQsIDE0LCAyMyk7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoJHNtYWxsZXItZnMgLSA0KTtcbiAgfVxufVxuXG5oMSxcbmgyLFxuaDMsXG5oNCxcbmg1IHtcbiAgaHlwaGVuczogYXV0bztcbiAgJiBhIHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICBoeXBoZW5zOiBhdXRvO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbnAubGVhZCB7XG4gIEBpbmNsdWRlIGZvbnQtZmFtaWx5KHNlbWlib2xkLCAyMC44LCAyOC44LCAkYmxhY2ssIDAuNik7XG4gIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDEwKTtcblxuICAjZm9vdGVyICYge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIEBpbmNsdWRlIGZvbnQtZmFtaWx5KHN0YW5kYXJkLCAxNCwgMjMpO1xuICB9XG59XG5cbnAge1xuICBAaW5jbHVkZSBmb250LWZhbWlseShzdGFuZGFyZCwgJG5vcm1hbC1mcywgMjQpO1xuICBtYXJnaW4tdG9wOiAwO1xuXG4gICNmb290ZXIgJiB7XG4gICAgQGluY2x1ZGUgZm9udC1mYW1pbHkoc3RhbmRhcmQsIDE0LCAyMyk7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTIpO1xuICB9XG59XG5cbmxpIHtcbiAgbGluZS1oZWlnaHQ6IDEuNXJlbTtcbn1cblxuYSB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLnRleHQge1xuICAmIHAgKyB1bCwgJiBwICsgb2wge1xuICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKC0xNik7XG4gIH1cbn1cblxuYnV0dG9uIHtcbiAgQGluY2x1ZGUgYnV0dG9uLXJlc2V0KCk7XG59XG5cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlcjogMDtcbn1cblxuYnV0dG9uOmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbn1cblxuLy9lZGl0b3Jcbi5zLW1nbmxsaW5rIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBsaW5lLWhlaWdodDogMTVweDtcbiAgZm9udC1zaXplOiA5cHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAzZTFmZjtcbiAgY29sb3I6IHdoaXRlO1xuICBwYWRkaW5nOiAycHggNXB4IDJweCA1cHg7XG4gIGZvbnQtZmFtaWx5OiBWZXJkYW5hLCBzYW5zLXNlcmlmICFpbXBvcnRhbnQ7XG4gIHotaW5kZXg6IDk5OTk5OTk7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi50ZXh0IHtcbiAgJiBsaSBhLFxuICAmIHAgYSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgY29sb3I6ICRwZXRyb2w7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiBzY2FsZS1jb2xvcigkcGV0cm9sLCAkbGlnaHRuZXNzOiAtMTQlKTtcbiAgICB9XG4gIH1cblxuICAmLmNvbG9yIHtcbiAgICAmIHAsICYgc3Ryb25nLCAmIGxpIHtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIH1cblxuICAgICY6bm90KC5kZWZhdWx0KSBhIHtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIH1cbiAgfVxuXG4gICYgdWwsICYgb2wge1xuICAgIHBhZGRpbmctbGVmdDogcmVtLWNhbGMoMjApO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoJG5vcm1hbC1mcyk7XG5cbiAgICAmIGxpIHtcbiAgICAgIGxpc3Qtc3R5bGUtdHlwZTogaW5oZXJpdDtcbiAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDMpO1xuICAgIH1cbiAgfVxuXG4gICYgdGFibGUge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRibGFjaztcbiAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuXG4gICAgJiB0ZCwgJiB0aCB7XG4gICAgICBwYWRkaW5nOiByZW0tY2FsYyg3KTtcbiAgICB9XG4gIH1cbn1cblxuaWZyYW1lIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGJvcmRlcjogbm9uZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xufVxuXG5AaW5jbHVkZSBzcGFjZXIoKTtcblxuYm9keSB7XG5cbiAgJiAucmV2ZWFsLW92ZXJsYXkge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC45KTtcbiAgfVxuXG4gIC5yZXZlYWwge1xuICAgIHdpZHRoOiAxMDB2dyAhaW1wb3J0YW50O1xuICAgIG1heC13aWR0aDogMTAwdncgIWltcG9ydGFudDtcbiAgICBoZWlnaHQ6IDEwMHZoICFpbXBvcnRhbnQ7XG4gICAgbGluZS1oZWlnaHQ6IDEwMHZoO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBwYWRkaW5nOiByZW0tY2FsYygzMCkgcmVtLWNhbGMoNTApO1xuICAgIH1cblxuICAgICYgPiAqIHtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAmID4gaW1nIHtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuXG4gICAgJiAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogcmVtLWNhbGMoMjApO1xuICAgICAgcmlnaHQ6IHJlbS1jYWxjKDIwKTtcbiAgICAgIGhlaWdodDogcmVtLWNhbGMoMzQpO1xuICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDIwKTtcbiAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDcpO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAmIHN2ZyB7XG4gICAgICAgIHdpZHRoOiByZW0tY2FsYygyMCk7XG4gICAgICAgIGhlaWdodDogcmVtLWNhbGMoMjApO1xuICAgICAgfVxuICAgIH1cblxuICB9XG5cbiAgJi5icm93biB7XG4gICAgJiAjaGVhZGVyLCAmIGZvb3RlciNmb290ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJyb3duO1xuICAgIH1cbiAgfVxuXG4gICYuZ3JlZW4ge1xuICAgICYgI2hlYWRlciwgJiBmb290ZXIjZm9vdGVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRncmVlbjtcbiAgICB9XG4gIH1cblxuICAmLmJsdWUge1xuICAgICYgI2hlYWRlciwgJiBmb290ZXIjZm9vdGVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibHVlO1xuICAgIH1cbiAgfVxuXG4gICYuZGFya2JsdWUge1xuICAgICYgI2hlYWRlciwgJiBmb290ZXIjZm9vdGVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRkYXJrYmx1ZTtcbiAgICB9XG4gIH1cbn1cblxuLmRvbmF0ZS1idXR0b24sXG4udG90b3Age1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwZXRyb2w7XG4gIGJvcmRlci1yYWRpdXM6IHJlbS1jYWxjKDYwKTtcbiAgYm94LXNoYWRvdzogMCAwIDdweCB0cmFuc3BhcmVudGl6ZSgkYmxhY2ssIDAuNyk7XG4gIHBhZGRpbmc6IHJlbS1jYWxjKDE0KSByZW0tY2FsYygyMCkgcmVtLWNhbGMoMTEpIHJlbS1jYWxjKDIwKTtcbiAgdHJhbnNpdGlvbjogYWxsIDMwMG1zIGVhc2UtaW4tb3V0O1xuXG4gICYgc3BhbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luOiAwIHJlbS1jYWxjKDMpO1xuICAgIEBpbmNsdWRlIGZvbnQtZmFtaWx5KG1lZGl1bSwgJG5vcm1hbC1mcywgLTEsICR3aGl0ZSwgMC43KTtcblxuICAgICYuaWNvbiB7XG4gICAgICB3aWR0aDogcmVtLWNhbGMoMjApO1xuICAgICAgaGVpZ2h0OiByZW0tY2FsYygyMCk7XG4gICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygxKTtcblxuICAgICAgJiBzdmcge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgJiBwYXRoIHtcbiAgICAgICAgICBmaWxsOiAkd2hpdGU7XG4gICAgICAgICAgc3Ryb2tlOiAkd2hpdGU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzY2FsZS1jb2xvcigkcGV0cm9sLCAkbGlnaHRuZXNzOiA1JSk7XG4gIH1cbn1cblxuLmRvbmF0ZS1tb2JpbGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IHJlbS1jYWxjKDE1KTtcbiAgdG9wOiByZW0tY2FsYygxMik7XG4gIHotaW5kZXg6IDEwO1xuXG4gICYgLmRvbmF0ZS1idXR0b24ge1xuICAgIHBhZGRpbmc6IHJlbS1jYWxjKDEwKSByZW0tY2FsYygxNSkgcmVtLWNhbGMoMTApIHJlbS1jYWxjKDE1KTtcblxuICAgICYgc3BhbiB7XG4gICAgICBAaW5jbHVkZSBmb250LWZhbWlseShtZWRpdW0sICRub3JtYWwtZnMsIC0xLCAkd2hpdGUsIDAuNyk7XG5cbiAgICAgICYuaWNvbiB7XG4gICAgICAgIGhlaWdodDogcmVtLWNhbGMoMTcpO1xuICAgICAgICB3aWR0aDogcmVtLWNhbGMoMTcpO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbi5ib3R0b20tYnV0dG9ucyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiByZW0tY2FsYyg4NSk7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSA4MHB4KTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW46IHJlbS1jYWxjKDQwKSBhdXRvIDA7XG5cbiAgJiAuZG9uYXRlLWJ1dHRvbiB7XG4gICAgbGVmdDogNDBweDtcbiAgICBib3R0b206IDEwMHB4O1xuICAgIHotaW5kZXg6IDEyO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgJiAudG90b3Age1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgd2lkdGg6IHJlbS1jYWxjKDUxKTtcbiAgICBoZWlnaHQ6IHJlbS1jYWxjKDUxKTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICYgc3Bhbi5pY29uIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgaGVpZ2h0OiByZW0tY2FsYygyOSk7XG4gICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjUpO1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG5cbiAgICAgICYgc3ZnIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGVaKDE4MGRlZyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICByaWdodDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDUwJSk7XG4gICAgfVxuICB9XG59XG5cbi5lZGl0bW9kZSB7XG4gICYgLm1nbmxFZGl0b3JCYXIge1xuICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gMjhweCkgIWltcG9ydGFudDtcbiAgICAvL21pbi13aWR0aDogY2FsYygxMDAlIC0gMjhweCkgIWltcG9ydGFudDtcbiAgICBtaW4td2lkdGg6IDEwMHB4ICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy9vd2xfY2Fyb3Vzc2VsIGNzcyB0b3VjaC1hY3Rpb24gYnVnXG4ub3dsLWNhcm91c2VsIC5vd2wtc3RhZ2UsXG4ub3dsLWNhcm91c2VsLm93bC1kcmFnIC5vd2wtaXRlbSB7XG4gIC1tcy10b3VjaC1hY3Rpb246IGF1dG87XG4gIHRvdWNoLWFjdGlvbjogYXV0bztcbn1cblxuYm9keSB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICYgLmdyaWQtY29udGFpbmVyLFxuICAgICYgLmdyaWQtY29udGFpbmVyLmZsdWlkIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICAmID4gLmdyaWQteCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50O1xuXG4gICAgICAgICYgPiAuY2VsbCB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmIC5jZWxsIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiByZW0tY2FsYygyNSk7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IHJlbS1jYWxjKDI1KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmNlbGwge1xuICAmLnRleHQtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbiAgJi50ZXh0LXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgfVxuICAmLnRleHQtbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgfVxuXG4gICYubWVkaXVtLXRleHQtcmlnaHQge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG4gIH1cblxuICAmLmxhcmdlLXRleHQtcmlnaHQge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cbiAgfVxufVxuIiwiQGNoYXJzZXQgXCJ1dGYtOFwiO1xuXG4kbG9nb0xhbmdOYXZXaWR0aDogMjc4O1xuXG4jaGVhZGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogcmVtLWNhbGMoMjApIHJlbS1jYWxjKDQwKSByZW0tY2FsYygxMikgcmVtLWNhbGMoNDApO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgbWF4LWhlaWdodDogcmVtLWNhbGMoNzQpO1xuICAgIGhlaWdodDogcmVtLWNhbGMoNzQpO1xuICAgIC5lZGl0bW9kZSAmIHtcbiAgICAgIG1heC1oZWlnaHQ6IHJlbS1jYWxjKDE1MCk7XG4gICAgICBoZWlnaHQ6IHJlbS1jYWxjKDE1MCk7XG4gICAgfVxuICB9XG4gICYgLmRlc2t0b3Atc2VjdGlvbi1sb2dvIHtcbiAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtICN7JGxvZ29MYW5nTmF2V2lkdGggKyBcInB4XCJ9KTtcbiAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoNDUpO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgJiAjc2VjdGlvbnNMb2dvIHtcbiAgICAgIHdpZHRoOiByZW0tY2FsYyg1NzUpO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cbiAgICAmIGEge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICAgICYgaW1nIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG1heC1oZWlnaHQ6IHJlbS1jYWxjKDQzKTtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcblxuICAgIH1cblxuICAgICYgc3ZnIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG1heC1oZWlnaHQ6IHJlbS1jYWxjKDQzKTtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gIH1cblxuICAmIC50b3AtcmlnaHQtd3JhcHBlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG5cbiAgICAmICNsb2dvLWxhbmd1YWdlLXdyYXBwZXIge1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgd2lkdGg6IHJlbS1jYWxjKCRsb2dvTGFuZ05hdldpZHRoKTtcbiAgICAgICYgI2NvdW50cnktc2VsZWN0b3Ige1xuICAgICAgICB3aWR0aDogcmVtLWNhbGMoMTIzKTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgfVxuICAgICAgJiAjbG9nbyB7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDE1NSk7XG5cbiAgICAgICAgJiBhIHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDE1NSk7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgIHotaW5kZXg6IDk5O1xuICAgICAgICB9XG4gICAgICAgICYgaW1nIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJiAjY291bnRyeS1zZWxlY3RvciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAmIC5jdXJyZW50LWxhbmd1YWdlIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYygxNik7XG5cbiAgICAgICAgICAmIHNwYW4uaWNvbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kICgtbXMtaGlnaC1jb250cmFzdDogYWN0aXZlKSwgKC1tcy1oaWdoLWNvbnRyYXN0OiBub25lKSB7XG4gICAgICAgICAgICAgIHRvcDpyZW0tY2FsYygtNjYpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDEwKTtcbiAgICAgICAgICAgICYgc3ZnIHtcbiAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgICAgICAmIHBhdGgge1xuICAgICAgICAgICAgICAgIGZpbGw6ICR3aGl0ZTtcbiAgICAgICAgICAgICAgICBzdHJva2U6ICR3aGl0ZTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYgcCxcbiAgICAgICAgJiBhIHtcbiAgICAgICAgICBAaW5jbHVkZSBmb250LWZhbWlseShsaWdodCwgJG5vcm1hbC1mcywgLTEsICR3aGl0ZSk7XG4gICAgICAgIH1cblxuICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgJiB1bCB7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiAzMDBweDtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgMzAwbXM7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICYgLmN1cnJlbnQtbGFuZ3VhZ2Uge1xuICAgICAgICAgICAgJiBzcGFuLmljb24gc3ZnIHtcbiAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGVaKDE4MGRlZyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJiB1bCB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgICB6LWluZGV4OiA5OTtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgIG1heC1oZWlnaHQ6IDA7XG4gICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDIwMG1zIGVhc2UtaW4tb3V0O1xuICAgICAgICAgIGJveC1zaGFkb3c6IHJlbS1jYWxjKDEpIHJlbS1jYWxjKDEpIHJlbS1jYWxjKDUpIHRyYW5zcGFyZW50aXplKCRibGFjaywgMC45KTtcbiAgICAgICAgICAmIGxpIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDcpIDA7XG4gICAgICAgICAgICAmIGEge1xuICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYm9keS5ncmVlbiAmIHtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdyZWVuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYm9keS5ibHVlICYge1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJvZHkuZGFya2JsdWUgJiB7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRkYXJrYmx1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJvZHkuYnJvd24gJiB7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRicm93bjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgfVxuXG4gICYgLm1vYmlsZS1zZWN0aW9uLWxvZ28ge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAmIGltZyB7XG4gICAgICBtYXgtd2lkdGg6IDcwdnc7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgJiAudG9wLXJpZ2h0LXdyYXBwZXIge1xuICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAmICNsb2dvLWxhbmd1YWdlLXdyYXBwZXIge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNCk7XG4gICAgICAgICYgI2NvdW50cnktc2VsZWN0b3Ige1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgIGxlZnQ6IHJlbS1jYWxjKC0yMCk7XG4gICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgfVxuICAgICAgICAmICNsb2dvIHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgICAmIGEge1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgfVxuICAgICAgICAgICYgaW1nIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAY2hhcnNldCBcInV0Zi04XCI7XG5mb290ZXIjZm9vdGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDQwKTtcbn0iLCJAY2hhcnNldCBcInV0Zi04XCI7XG5cbi8vdGV4dHMgc2l6ZXNcbiRsZXYxYTogMTY7XG5cbmJvZHkubmF2ZXhwIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLy8gdG91Y2ggYW5kIHNtYWxsIGRldmljZXNcbkBtaXhpbiB0b3VjaEFuZFNtYWxsTmF2ZXhwIHtcbiAgJiB7XG4gICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDEyNSk7XG4gICAgI21ldGEtbmF2IHtcbiAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgfVxuXG4gICAgdWwubWFpbi1uYXZpZ2F0aW9uIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWF4LWhlaWdodDogY2FsYygxMDB2aCAtIDI2MHB4KTtcbiAgICAgIG1pbi1oZWlnaHQ6IGNhbGMoMTAwdmggLSAyNjBweCk7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMjApO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICB9XG5cbiAgfVxufVxuXG5AbWl4aW4gdG91Y2hBbmRTbWFsbCB7XG4gICYge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgei1pbmRleDogOTtcblxuICAgICYgI21ldGEtbmF2IHtcbiAgICAgIHRvcDogcmVtLWNhbGMoNjUpO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRncmV5O1xuICAgIH1cblxuICAgICYgLnN1Yi1vcGVuID4gbGkgPiBhOm5vdCgub3BlbiksXG4gICAgJiAuc3ViLW9wZW4gPiBsaTpub3QoLm9wZW4pID4gYSB7XG4gICAgICBvcGFjaXR5OiAwLjQ1O1xuICAgIH1cblxuICAgICYgLnN1Yi1vcGVuID4gbGk6bm90KC5vcGVuKSA+IGkgPiBzdmcge1xuICAgICAgb3BhY2l0eTogMC40NTtcbiAgICB9XG5cbiAgICAmIHVsLm1haW4tbmF2aWdhdGlvbiB7XG4gICAgICBvdmVyZmxvdzogc2Nyb2xsO1xuICAgICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgICAgbWF4LWhlaWdodDogMDtcbiAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcblxuICAgICAgJiA+IDpsYXN0LWNoaWxkIHtcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBtaW4taGVpZ2h0OiAyMHZoO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYgbGkge1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGdyZXk7XG4gICAgICAgICYgPiB1bCB7XG4gICAgICAgICAgZGlzcGxheTpub25lO1xuICAgICAgICB9XG4gICAgICAgICYub3BlbixcbiAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICYgPiB1bCB7XG4gICAgICAgICAgICBkaXNwbGF5OmJsb2NrICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAmID4gbGk6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRwZXRyb2w7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgICYgPiBhLFxuICAgICAgICAgICYgPiAubmF2LWJ1dHRvbiB7XG4gICAgICAgICAgICBjb2xvcjogJHBldHJvbDtcbiAgICAgICAgICAgIG9wYWNpdHk6MSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgJiBzdmcge1xuICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgcm90YXRlWigtOTBkZWcpICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICYgcGF0aCB7XG4gICAgICAgICAgICAgICAgZmlsbDogJHBldHJvbDtcbiAgICAgICAgICAgICAgICBzdHJva2U6ICRwZXRyb2w7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYuYWN0aXZle1xuICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LWZhbWlseShib2xkLC0xKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJiBsaXtcbiAgICAgICAgaGVpZ2h0OiBpbml0aWFsICFpbXBvcnRhbnQ7XG4gICAgICAgICYuaGFzLWRyb3Bkb3duIHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgJiBhIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA2MXB4KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgJiAubmF2LWJ1dHRvbiB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIHdpZHRoOiByZW0tY2FsYyg2MCk7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBoZWlnaHQ6IDIuNnJlbTtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgICYgc3ZnIHtcbiAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDE3KTtcbiAgICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSByb3RhdGVaKDkwZGVnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYgdWwubGV2ZWwtMSB7XG4gICAgICAmIGxpLmVtcHR5IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICAgICYgPiBsaSB7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkZ3JleTtcblxuICAgICAgICAmIGEge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYygxMyk7XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDkpO1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICAgICAgfVxuICAgICAgICAmID4gYSB7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICAgICAgICB9XG4gICAgICAgICYgdWwge1xuICAgICAgICAgICAgJiA+IGxpe1xuICAgICAgICAgICAgICAmID4gYSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAzNXB4O1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICYgdWwge1xuICAgICAgICAgICAgICAgICAgJiA+IGxpIHtcbiAgICAgICAgICAgICAgICAgICYgPiBhIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA1NXB4O1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgJiB1bCB7XG4gICAgICAgICAgICAgICAgICAgICYgPiBsaSB7XG4gICAgICAgICAgICAgICAgICAgICAgJiA+IGEgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNzVweDtcbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgJiBsaS5hY3RpdmUgPiB1bCxcbiAgICAmIGxpLm9wZW4gPiB1bCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cbn1cblxuI25hdmlnYXRpb25zLXdyYXBwZXIge1xuXG4gIC8vKiB7XG4gIC8vICBvdXRsaW5lOiAxcHggc29saWQgI2ZmZDRhNjtcbiAgLy99XG5cbiAgbWF4LXdpZHRoOiAxMDAlO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICBtaW4taGVpZ2h0OiByZW0tY2FsYyg2Myk7XG4gIH1cblxuICBuYXYsICNuYXZpZ2F0aW9uIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICBAaW5jbHVkZSB0b3VjaEFuZFNtYWxsO1xuICAgICAgYm9keS5uYXZleHAgJiB7XG4gICAgICAgIEBpbmNsdWRlIHRvdWNoQW5kU21hbGxOYXZleHA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgYm9keTpub3QoLm5hdmV4cCkgJiB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgIG1heC1oZWlnaHQ6IDA7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgYm9keTpub3QoLnRvdWNoLXVzZXIpICYgbGk6aG92ZXIgPiBhIHtcbiAgICAgIGNvbG9yOiAkcGV0cm9sO1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAzMDBtcztcblxuICAgICAgJjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwZXRyb2w7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSBjYWxjKDIgKiAxLjI1cmVtKSk7XG4gICAgICB9XG5cbiAgICB9XG5cbiAgICAjbWV0YS1uYXYge1xuICAgICAgJiA+IGEge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgICAgJiBzcGFuIHNwYW46bm90KC5pY29uKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vZ2xvYmFsIGFuZCBkZXNrdG9wXG4jbmF2aWdhdGlvbiwgbmF2IHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuXG4gIGEge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBAaW5jbHVkZSBmb250LWZhbWlseShzZW1pYm9sZCwgJGxldjFhLCAtMSwgJGJsYWNrKTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAzMDBtcztcblxuICAgICYuYWN0aXZlIHtcbiAgICAgIGNvbG9yOiAkcGV0cm9sO1xuICAgIH1cbiAgICAmLm9wZW4ge1xuICAgICAgY29sb3I6ICRwZXRyb2w7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuXG4gICAgYSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAvLyBmaXJzdCBsZXZlbFxuICAgICYgdWwubGV2ZWwtMSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDIwKTtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAyMDBweCk7XG4gICAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDIwMHB4KTtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDIwMHB4KTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgZmxleEJveGVzKGZsZXgtc3RhcnQsIGZsZXgtc3RhcnQsIHJvdywgbm93cmFwKTtcbiAgICAgICYgPiBsaSB7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICAqIHtcbiAgICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgICYudG91Y2hlZD5hLCAmLnRvdWNoZWQgPiBhIHtcbiAgICAgICAgICBjb2xvcjogJHBldHJvbDtcbiAgICAgICAgfVxuICAgICAgICAmID4gYSB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDE4KSByZW0tY2FsYygyMCk7XG4gICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMHB4KTtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgICAgICBoZWlnaHQ6IDNweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAzMDBtcywgd2lkdGggMzAwbXM7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJi5vcGVuIHtcbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcGV0cm9sO1xuICAgICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gY2FsYygyICogMS4yNXJlbSkpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYudG91Y2hlZCB7XG4gICAgICAgICAgJiB1bC5sZXZlbC0yIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB6LWluZGV4OiA5OTk7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMSk7XG4gICAgICAgICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICAgIHdpZHRoOiAxNDAlO1xuICAgICAgICAgICAgICBsZWZ0OiAtMjAlO1xuICAgICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGdyZXk7XG4gICAgICAgICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmID4gbGkuaGFzLWRyb3Bkb3duIHtcblxuICAgICAgICAmIC5uYXYtYnV0dG9uIHtcbiAgICAgICAgICBkaXNwbGF5Om5vbmU7XG4gICAgICAgIH1cbiAgICAgICAgJiBsaS5vcGVuID4gYSB7XG4gICAgICAgICAgICBjb2xvcjogJHBldHJvbDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIHN1YiBsZXZlbHNcbiAgICAmIHVsLmxldmVsLTIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAxMDAlO1xuICAgICAgcGFkZGluZzogcmVtLWNhbGMoMTUpIHJlbS1jYWxjKDIwKSAwIHJlbS1jYWxjKDIwKTtcbiAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgbGVmdDogcmVtLWNhbGMoNDApO1xuICAgICAgcmlnaHQ6IHJlbS1jYWxjKDQwKTtcbiAgICAgICYgPiBsaSB7XG4gICAgICAgIHdpZHRoOiAyNCU7XG5cbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICBib3gtc2l6aW5nOmJvcmRlci1ib3g7XG4gICAgICAgIG1hcmdpbjowO1xuICAgICAgICBwYWRkaW5nOiAwIHJlbS1jYWxjKDEwKSAwIHJlbS1jYWxjKDIwKTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTpyZW0tY2FsYygzNSk7XG4gICAgICAgIG1hcmdpbi10b3A6cmVtLWNhbGMoMjApO1xuICAgICAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgIGhlaWdodDo5NyU7XG4gICAgICAgICAgdG9wOnJlbS1jYWxjKDMpO1xuICAgICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICRncmV5O1xuICAgICAgICB9XG4gICAgICAgICY6bnRoLW9mLXR5cGUoNG4pLFxuICAgICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgJjpiZWZvcmV7XG4gICAgICAgICAgICBkaXNwbGF5Om5vbmU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoMTQwMHB4IHVwKSB7XG4gICAgICAgICAgd2lkdGg6MTklO1xuICAgICAgICAgICY6bnRoLW9mLXR5cGUoNG4pe1xuICAgICAgICAgICAgJjpiZWZvcmV7XG4gICAgICAgICAgICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgICY6bnRoLW9mLXR5cGUoNW4pLFxuICAgICAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICAgICY6YmVmb3Jle1xuICAgICAgICAgICAgICBkaXNwbGF5Om5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYgPiBhIHtcbiAgICAgICAgICBsaW5lLWhlaWdodDppbmhlcml0O1xuICAgICAgICAgICYuYWN0aXZlLFxuICAgICAgICAgICYub3BlbiB7XG4gICAgICAgICAgICBjb2xvcjogaW5pdGlhbDtcbiAgICAgICAgICB9XG4gICAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogM3B4ICRwZXRyb2wgc29saWQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYuYWN0aXZlLFxuICAgICAgICAmLm9wZW4ge1xuICAgICAgICAgICYgPiB1bCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJiA+IHVsLmxldmVsLTMge1xuICAgICAgICAgICYgPiBsaSB7XG4gICAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygxMHB4KSAwIDAgMDtcbiAgICAgICAgICAgICYgPiBhIHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1mYW1pbHkobGlnaHQsLTEpO1xuICAgICAgICAgICAgICAmLmFjdGl2ZSxcbiAgICAgICAgICAgICAgJi5vcGVuIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogM3B4ICRwZXRyb2wgc29saWQ7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJiB1bCB7XG4gICAgICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xuICAgICAgfVxuICAgIH1cblxuICAgICYgdWwubGV2ZWwtMS5qcy1oYW5kbGUge1xuICAgICAgJiB1bC5sZXZlbC0yIHtcbiAgICAgICAgJiBsaSB7XG4gICAgICAgICAgJiBhIHtcbiAgICAgICAgICAgIC8vd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxufVxuLy9ubyBqcyBiZWhhdmlvciBmb3IgbWVudVxuaHRtbC5uby1qcyB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAjbmF2aWdhdGlvbiB7XG4gICAgICB1bC5sZXZlbC0xIHtcbiAgICAgICAgPiBsaTpob3ZlciB7XG4gICAgICAgICAgdWwubGV2ZWwtMntcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB6LWluZGV4OiA5OTk7XG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7XG4gICAgICAgICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICAgIHdpZHRoOiAxNDAlO1xuICAgICAgICAgICAgICBsZWZ0OiAtMjAlO1xuICAgICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGdyZXk7XG4gICAgICAgICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgI25hdmlnYXRpb25zLXdyYXBwZXI6aG92ZXJ7XG4gICAgICAjbmF2aWdhdGlvbntcbiAgICAgICAgbWFyZ2luLXRvcDogMy40cmVtO1xuICAgICAgICBtYXgtaGVpZ2h0OiAxMDByZW07XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHVsLm1haW4tbmF2aWdhdGlvbiB7XG4gICAgICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgICAgICBsaSB7XG4gICAgICAgICAgICB1bCB7XG4gICAgICAgICAgICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbiNuYXZpZ2F0aW9ucy13cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4jbWV0YS1uYXYge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDUwJTtcbiAgcGFkZGluZy1yaWdodDogcmVtLWNhbGMoMjgpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIEBpbmNsdWRlIGZsZXhCb3hlcyhmbGV4LWVuZCwgZmxleC1zdGFydCwgcm93LCBub3dyYXApO1xuXG4gICYgPiBhIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcGFkZGluZzogMCByZW0tY2FsYyg3KTtcbiAgICBoZWlnaHQ6IHJlbS1jYWxjKDYzKTtcbiAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoNjMpO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICYgPiBzcGFuIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgJiA+IHNwYW4ge1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHBhZGRpbmc6IDAgcmVtLWNhbGMoNSk7XG4gICAgICAgICYgaW1nIHtcbiAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTQwMHB4KSB7XG4gICAgICAmIHNwYW4gc3Bhbjpub3QoLmljb24pIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJiAuaWNvbiB7XG4gICAgd2lkdGg6IHJlbS1jYWxjKDM1KTtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAmIGltZyB7XG4gICAgICBoZWlnaHQ6IHJlbS1jYWxjKDIwKTtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cbiAgfVxufVxuXG4vLyBhbmltYXRpb24gcnVsZXNcbnVsLmxldmVsLTIua2VlcC1vcGVuIHtcbiAgb3BhY2l0eTogMSAhaW1wb3J0YW50O1xuICB6LWluZGV4OiAxMyAhaW1wb3J0YW50O1xuICAuZWRpdG1vZGUgJiB7XG4gICAgei1pbmRleDogOTk5OTk5ICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLmVkaXRtb2RlIHtcbiAgJiAjbmF2aWdhdGlvbnMtd3JhcHBlciB7XG4gICAgbWluLWhlaWdodDogcmVtLWNhbGMoODApO1xuXG4gICAgI21ldGEtbmF2IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICB3aWR0aDogNDAwcHg7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB6LWluZGV4OiA5OTk5OTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiZ1doaXRlO1xuICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICAmIGEge1xuICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDMzKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDMzKTtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvL1xuLy8gVmFyaWFibGVzXG4vL1xuLy8gWW91IGNhbiBvdmVycmlkZSB0aGUgZGVmYXVsdCB2YWx1ZXMgYnkgc2V0dGluZyB0aGUgdmFyaWFibGVzIGluIHlvdXIgU2Fzc1xuLy8gYmVmb3JlIGltcG9ydGluZyB0aGUgbm9ybWFsaXplLXNjc3MgbGlicmFyeS5cblxuLy8gVGhlIGZvbnQgc2l6ZSBzZXQgb24gdGhlIHJvb3QgaHRtbCBlbGVtZW50LlxuJGJhc2UtZm9udC1zaXplOiAxNnB4ICFkZWZhdWx0O1xuXG4vLyBUaGUgYmFzZSBsaW5lIGhlaWdodCBkZXRlcm1pbmVzIHRoZSBiYXNpYyB1bml0IG9mIHZlcnRpY2FsIHJoeXRobS5cbiRiYXNlLWxpbmUtaGVpZ2h0OiAyNHB4ICFkZWZhdWx0O1xuXG4vLyBUaGUgbGVuZ3RoIHVuaXQgaW4gd2hpY2ggdG8gb3V0cHV0IHZlcnRpY2FsIHJoeXRobSB2YWx1ZXMuXG4vLyBTdXBwb3J0ZWQgdmFsdWVzOiBweCwgZW0sIHJlbS5cbiRiYXNlLXVuaXQ6ICdlbScgIWRlZmF1bHQ7XG5cbi8vIFRoZSBkZWZhdWx0IGZvbnQgZmFtaWx5LlxuJGJhc2UtZm9udC1mYW1pbHk6IHNhbnMtc2VyaWYgIWRlZmF1bHQ7XG5cbi8vIFRoZSBmb250IHNpemVzIGZvciBoMS1oNi5cbiRoMS1mb250LXNpemU6IDIgICAgKiAkYmFzZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kaDItZm9udC1zaXplOiAxLjUgICogJGJhc2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGgzLWZvbnQtc2l6ZTogMS4xNyAqICRiYXNlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRoNC1mb250LXNpemU6IDEgICAgKiAkYmFzZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kaDUtZm9udC1zaXplOiAwLjgzICogJGJhc2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGg2LWZvbnQtc2l6ZTogMC42NyAqICRiYXNlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcblxuLy8gVGhlIGFtb3VudCBsaXN0cyBhbmQgYmxvY2txdW90ZXMgYXJlIGluZGVudGVkLlxuJGluZGVudC1hbW91bnQ6IDQwcHggIWRlZmF1bHQ7XG5cbi8vIFRoZSBmb2xsb3dpbmcgdmFyaWFibGUgY29udHJvbHMgd2hldGhlciBub3JtYWxpemUtc2NzcyB3aWxsIG91dHB1dFxuLy8gZm9udC1zaXplcywgbGluZS1oZWlnaHRzIGFuZCBibG9jay1sZXZlbCB0b3AvYm90dG9tIG1hcmdpbnMgdGhhdCBmb3JtIGEgYmFzaWNcbi8vIHZlcnRpY2FsIHJoeXRobSBvbiB0aGUgcGFnZSwgd2hpY2ggZGlmZmVycyBmcm9tIHRoZSBvcmlnaW5hbCBOb3JtYWxpemUuY3NzLlxuLy8gSG93ZXZlciwgY2hhbmdpbmcgYW55IG9mIHRoZSB2YXJpYWJsZXMgYWJvdmUgd2lsbCBjYXVzZVxuLy8gJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0gdG8gYmUgYXV0b21hdGljYWxseSBzZXQgdG8gdHJ1ZS5cbiRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtOiBmYWxzZSAhZGVmYXVsdDtcbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy9zZXR0aW5nc1xuJHdpZHRoOiAyOHB4O1xuJGhlaWdodDogMjBweDtcbiRiYXItaGVpZ2h0OiAycHg7XG5cbiRzcGVlZDogMjAwbXM7XG5cbiRob3ZlckNvbG9yOiBncmVlbjtcbi8vYW5pbWF0aW9uXG5cbkBtaXhpbiBhY3RpdmF0ZSgkYmFyLCAkZGlyZWN0aW9uOm5vcm1hbCwgJGNvbG9yOiMwMDAwMDApIHtcbiAgQGlmICgkYmFyID09IG0pIHtcbiAgICBAa2V5ZnJhbWVzIGFjdGl2YXRlLSN7JGJhcn0tI3skZGlyZWN0aW9ufSB7XG4gICAgICAwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKSB0cmFuc2xhdGVYKDApIHJvdGF0ZVooMCk7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB9XG4gICAgICAyNSUge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoOHB4KSB0cmFuc2xhdGVZKDApIHJvdGF0ZVooMCk7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB9XG4gICAgICAxMDAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDhweCkgdHJhbnNsYXRlWSgwKSByb3RhdGVaKDApO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgfVxuXG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICAkdHJhbnNsYXRlWTE6IDE4cHg7XG4gICAgJHRyYW5zbGF0ZVkyOiA4cHg7XG4gICAgJHJvdGF0ZVo6IDQ1ZGVnO1xuXG4gICAgQGlmICgkYmFyID09IGIpIHtcbiAgICAgICR0cmFuc2xhdGVZMTogMDtcbiAgICAgICR0cmFuc2xhdGVZMjogLTEwcHg7XG4gICAgICAkcm90YXRlWjogLTQ1ZGVnO1xuICAgIH1cblxuICAgIEBrZXlmcmFtZXMgYWN0aXZhdGUtI3skYmFyfS0jeyRkaXJlY3Rpb259IHtcbiAgICAgIDAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApIHRyYW5zbGF0ZVgoMCkgcm90YXRlWigwKTtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgIH1cbiAgICAgIDQwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgjeyR0cmFuc2xhdGVZMX0pIHRyYW5zbGF0ZVgoMCkgcm90YXRlWigwKTtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgIH1cblxuICAgICAgMTAwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgjeyR0cmFuc2xhdGVZMn0pIHRyYW5zbGF0ZVgoMCkgcm90YXRlWigjeyRyb3RhdGVafSk7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgYW5pbWF0aW9uOiBhY3RpdmF0ZS0jeyRiYXJ9LSN7JGRpcmVjdGlvbn0gI3skc3BlZWR9IGxpbmVhciAxO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICBhbmltYXRpb24tZHVyYXRpb246IDFtcztcbiAgfVxuXG4gIEBpZiAoJGRpcmVjdGlvbiA9PSBub3JtYWwpIHtcbiAgICBhbmltYXRpb24tZGlyZWN0aW9uOiBub3JtYWw7XG4gICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7XG4gIH0gQGVsc2Uge1xuICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IGJhY2t3YXJkcztcbiAgICBhbmltYXRpb24tZGlyZWN0aW9uOiByZXZlcnNlO1xuICB9XG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbn1cblxuLnMtYnVyZ2VyIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHotaW5kZXg6IDEwO1xuICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIHdpZHRoOiAkd2lkdGg7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgdG9wOiByZW0tY2FsYygyNCk7XG4gICAgcmlnaHQ6IHJlbS1jYWxjKDE2KTtcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICB0b3A6IHJlbS1jYWxjKDk4KTtcbiAgICByaWdodDogcmVtLWNhbGMoNjgpO1xuICAgIHotaW5kZXg6OTk5OTk5O1xuICB9XG5cbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcGFkZGluZzogcmVtLWNhbGMoLTI1IC0yNSAzNCAzNCk7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIG9ubHkpIHtcbiAgICB0b3A6IHJlbS1jYWxjKDI1KTtcbiAgfVxuXG4gICYucmV2ZXJzZSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGVaKDE4MGRlZyk7XG4gIH1cblxuICAmIHNwYW4ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBoZWlnaHQ6ICRiYXItaGVpZ2h0O1xuICAgIHdpZHRoOiAkd2lkdGg7XG5cbiAgICAmLnQge1xuICAgICAgdG9wOiAwO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuICAgIH1cbiAgICAmLm0ge1xuICAgICAgdG9wOiBjYWxjKCN7JGhlaWdodH0gLyAyIC0gI3skYmFyLWhlaWdodH0gLyAyKTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibGFjaztcbiAgICB9XG4gICAgJi5iIHtcbiAgICAgIHRvcDogY2FsYygjeyRoZWlnaHR9IC0gI3skYmFyLWhlaWdodH0pO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuICAgIH1cbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuM3M7XG4gIH1cblxuICBib2R5Om5vdCgudG91Y2gtdXNlcikgJjpob3ZlciB7XG4gICAgJiAudCwgJiAubSwgJiAuYiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaG92ZXJDb2xvcjtcbiAgICB9XG4gIH1cblxuICAmLmlzLWFjdGl2ZSB7XG4gICAgYm9keTpub3QoLnRvdWNoLXVzZXIpICY6aG92ZXIge1xuICAgICAgJiAudCwgJiAubSwgJiAuYiB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRob3ZlckNvbG9yO1xuICAgICAgfVxuICAgIH1cblxuICAgICYgLnQge1xuICAgICAgdG9wOiAwO1xuICAgICAgQGluY2x1ZGUgYWN0aXZhdGUodCwgbm9ybWFsLCAkYmxhY2spO1xuICAgIH1cbiAgICAmIC5tIHtcbiAgICAgIHRvcDogY2FsYygjeyRoZWlnaHR9IC8gMiAtICN7JGJhci1oZWlnaHR9IC8gMik7XG4gICAgICBAaW5jbHVkZSBhY3RpdmF0ZShtLCBub3JtYWwsICRibGFjayk7XG4gICAgfVxuICAgICYgLmIge1xuICAgICAgdG9wOiBjYWxjKCN7JGhlaWdodH0gLSAjeyRiYXItaGVpZ2h0fSk7XG4gICAgICBAaW5jbHVkZSBhY3RpdmF0ZShiLCBub3JtYWwsICRibGFjayk7XG4gICAgfVxuXG4gICAgJi5yZXZlcnNlIHtcbiAgICAgICYgLnQge1xuICAgICAgICBAaW5jbHVkZSBhY3RpdmF0ZSh0LCBub3JtYWwsICRibGFjayk7XG4gICAgICB9XG4gICAgICAmIC5tIHtcbiAgICAgICAgQGluY2x1ZGUgYWN0aXZhdGUobSwgbm9ybWFsLCAkYmxhY2spO1xuICAgICAgfVxuICAgICAgJiAuYiB7XG4gICAgICAgIEBpbmNsdWRlIGFjdGl2YXRlKGIsIG5vcm1hbCwgJGJsYWNrKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJi5ub3QtYWN0aXZlIHtcbiAgICBib2R5Om5vdCgudG91Y2gtdXNlcikgJjpob3ZlciB7XG4gICAgICAmIC50LCAmIC5tLCAmIC5iIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuICAgICAgfVxuICAgIH1cbiAgICAmIC50IHtcbiAgICAgIHRvcDogMDtcbiAgICAgIEBpbmNsdWRlIGFjdGl2YXRlKHQsIHJldmVyc2UsICRibGFjayk7XG4gICAgfVxuICAgICYgLm0ge1xuICAgICAgdG9wOiBjYWxjKCN7JGhlaWdodH0gLyAyIC0gI3skYmFyLWhlaWdodH0gLyAyKTtcbiAgICAgIEBpbmNsdWRlIGFjdGl2YXRlKG0sIHJldmVyc2UsICRibGFjayk7XG4gICAgfVxuICAgICYgLmIge1xuICAgICAgdG9wOiBjYWxjKCN7JGhlaWdodH0gLSAjeyRiYXItaGVpZ2h0fSk7XG4gICAgICBAaW5jbHVkZSBhY3RpdmF0ZShiLCByZXZlcnNlLCAkYmxhY2spO1xuICAgIH1cbiAgfVxufVxuIiwiQGNoYXJzZXQgXCJ1dGYtOFwiO1xuXG4uYnV0dG9uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBAaW5jbHVkZSBmb250LWZhbWlseShzZW1pYm9sZCwgJGJ1dHRvbi1mcywgLTEsIG51bGwsIDAuOSk7XG4gICYubGFyZ2UsICYudGlueSwgJi5zbWFsbCB7XG4gICAgQGluY2x1ZGUgZm9udC1mYW1pbHkoc2VtaWJvbGQsICRidXR0b24tZnMsIC0xLCBudWxsLCAwLjkpO1xuICB9XG4gIG1hcmdpbjogMCBhdXRvO1xuICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoMTApO1xuICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoNik7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gIGJvcmRlci13aWR0aDogMnB4O1xuICB0cmFuc2l0aW9uOiBhbGwgMzAwbXMgZWFzZS1pbi1vdXQ7XG4gICYuaG9sbG93IHtcbiAgICBib3JkZXItd2lkdGg6IDJweDtcbiAgfVxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogc2NhbGUtY29sb3IoJHBldHJvbCwgJGxpZ2h0bmVzczogNSUpICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLWNvbG9yOiBzY2FsZS1jb2xvcigkcGV0cm9sLCAkbGlnaHRuZXNzOiA1JSkgIWltcG9ydGFudDtcbiAgfVxufVxuIiwiQGNoYXJzZXQgXCJ1dGYtOFwiO1xuXG4uY29tcG9uZW50LXRleHQtaW1hZ2Uge1xuICAmIC5pbWFnZSAge1xuICAgICYgaW1nIHtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgIH1cbiAgfVxufVxuXG4uaW1hZ2UtY2FwdGlvbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDkwJTtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBtYXJnaW46IHJlbS1jYWxjKDUgMCk7XG4gIG9wYWNpdHk6IDAuNTtcbn1cblxuLnRleHQgdWwgbGkge1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmUgIWltcG9ydGFudDtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiLVwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYyg4KTtcbiAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoLTIwKTtcbiAgfVxufVxuIiwiQGNoYXJzZXQgXCJ1dGYtOFwiO1xuXG4uY29tcG9uZW50LXNsaWRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgIHBhZGRpbmctYm90dG9tOiA1NS4zOSU7XG4gICAgaGVpZ2h0OiAwO1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDE1MDBweCkge1xuICAgICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDQ1MCk7XG4gICAgfVxuICB9XG5cbiAgLmZ1bGwgJiB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgcGFkZGluZy1ib3R0b206IDMzLjM0JTtcbiAgICAgIGhlaWdodDogMDtcbiAgICB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTUwMHB4KSB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoNDUwKTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgd2lkdGg6IDEwMHZ3O1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gIH1cblxuICBib2R5Om5vdCguZWRpdG1vZGUpIHtcbiAgICBtYXgtaGVpZ2h0OiByZW0tY2FsYyg3NTApO1xuICB9XG5cbiAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNTApO1xuXG4gICYgLm93bC1jYXJvdXNlbCB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgLy93aWR0aDogMTAwdnc7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNTAlKTtcbiAgICAgIHJpZ2h0OiA1MCU7XG4gICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgJiAub3dsLXN0YWdlLW91dGVyIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuXG4gICAgICAgICYgLm93bC1zdGFnZSB7XG4gICAgICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICAgICAgICAmIC5vd2wtaXRlbSB7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBAbWVkaWEgYWxsIGFuZCAoLW1zLWhpZ2gtY29udHJhc3Q6IG5vbmUpIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMHZ3IC0gMTdweCk7XG4gICAgfVxuICB9XG5cbiAgJiAuc2xpZGVyLWl0ZW0ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICAmIC5zbGlkZXItbGluayB7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudGl6ZSgkYnJvd24sIDAuNSk7XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICAuYnV0dG9uIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzY2FsZS1jb2xvcigkcGV0cm9sLCAkbGlnaHRuZXNzOiA1JSkgIWltcG9ydGFudDtcbiAgICAgICAgICBib3JkZXItY29sb3I6IHNjYWxlLWNvbG9yKCRwZXRyb2wsICRsaWdodG5lc3M6IDUlKSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJiAuaW1hZ2Uge1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgIGhlaWdodDogNTV2dztcbiAgICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgIH1cblxuICAgIH1cblxuICAgICYgLnRleHQtd3JhcHBlciB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm90dG9tOiByZW0tY2FsYygzMCk7XG4gICAgICAgIHdpZHRoOiA0MCU7XG4gICAgICAgIG1heC13aWR0aDogcmVtLWNhbGMoNTkwKTtcbiAgICAgICAgbWluLXdpZHRoOiByZW0tY2FsYygzMjApO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgJi5yaWdodCB7XG4gICAgICAgICAgcmlnaHQ6IHJlbS1jYWxjKDMwKTtcbiAgICAgICAgfVxuICAgICAgICAmLmxlZnQge1xuICAgICAgICAgIGxlZnQ6IHJlbS1jYWxjKDMwKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmIC5jb2xvci1hcmVhIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICBvcGFjaXR5OiAwLjc1O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYgLnRleHQtYmxvY2sge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDI0KTtcblxuICAgICAgICAmIGg0IHtcbiAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNyk7XG4gICAgICAgIH1cblxuICAgICAgICAmIHAge1xuICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgICAgIH1cblxuICAgICAgICAmIC5idXR0b24ge1xuICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICR3aGl0ZTtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgICAvL3BhZGRpbmctbGVmdDogcmVtLWNhbGMoMzApO1xuICAgICAgICAgIC8vcGFkZGluZy1yaWdodDogcmVtLWNhbGMoMzApO1xuICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoOCk7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG5cbiAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHNjYWxlLWNvbG9yKCRwZXRyb2wsICRsaWdodG5lc3M6IDUlKSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBzY2FsZS1jb2xvcigkcGV0cm9sLCAkbGlnaHRuZXNzOiA1JSkgIWltcG9ydGFudDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmIGg0ICsgLmJ1dHRvbiB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMTcpO1xuICAgICAgICB9XG5cbiAgICAgICAgJiBwICsgLmJ1dHRvbiB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMTcpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbn1cblxuLm93bC1kb3RzIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwYWRkaW5nOiByZW0tY2FsYygwIDQ1KTtcblxuICAuY291cnNlcy1zbGlkZXIgJiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICBib3R0b206IHJlbS1jYWxjKC0yMCk7XG4gICAgfVxuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgJiAub3dsLWRvdCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGhlaWdodDogcmVtLWNhbGMoMTApO1xuICAgIHdpZHRoOiByZW0tY2FsYygxMCk7XG4gICAgbWFyZ2luOiByZW0tY2FsYygyKSByZW0tY2FsYygyKSByZW0tY2FsYygzKSByZW0tY2FsYygzKTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkZ3JleSAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQ6ICR3aGl0ZSAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcblxuICAgICYuYWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQ6ICRwZXRyb2wgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuLm93bC1uYXYge1xuICAmIGJ1dHRvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGhlaWdodDogcmVtLWNhbGMoMzcpO1xuICAgIHdpZHRoOiByZW0tY2FsYygzNyk7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMjAlKTtcblxuICAgIC5jb3Vyc2VzLXNsaWRlciAmIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgIHRvcDogMjN2dztcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICB9XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgfVxuXG4gICAgJiBzcGFuIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoLTUwJSkgc2NhbGUoMSk7XG4gICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBvcGFjaXR5OiAwLjQ1O1xuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAzMDBtcywgdHJhbnNmb3JtIDIwMG1zO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBhdXRvO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5vd2wtbmV4dCB7XG4gICAgICByaWdodDogcmVtLWNhbGMoNDApO1xuXG4gICAgICAuY291cnNlcy1zbGlkZXIgJiB7XG4gICAgICAgIHJpZ2h0OiByZW0tY2FsYygtNDApO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYgc3BhbiB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9hcnJvdy1yaWdodC1ibHVlLnN2Z1wiKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLm93bC1wcmV2IHtcbiAgICAgIGxlZnQ6IHJlbS1jYWxjKDQwKTtcblxuICAgICAgLmNvdXJzZXMtc2xpZGVyICYge1xuICAgICAgICBsZWZ0OiByZW0tY2FsYygtNDApO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYgc3BhbiB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9hcnJvdy1sZWZ0LWJyb3duLnN2Z1wiKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmRpc2FibGVkIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbi5vd2wtY2Fyb3VzZWwgLm93bC1zdGFnZSwgLm93bC1jYXJvdXNlbC5vd2wtZHJhZyAub3dsLWl0ZW17XG4gIC1tcy10b3VjaC1hY3Rpb246IGF1dG8haW1wb3J0YW50O1xuICB0b3VjaC1hY3Rpb246IGF1dG8haW1wb3J0YW50O1xufVxuXG4vLyBlZGl0bW9kZVxuLmVkaXRtb2RlIHtcbiAgLmNvbXBvbmVudC1zbGlkZXIge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg1MCk7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG5cbiAgICAmIC5zbGlkZXItaXRlbSB7XG4gICAgICBtaW4taGVpZ2h0OiA0MHZ3O1xuICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDQwKTtcbiAgICB9XG4gIH1cbn1cbiIsIkBjaGFyc2V0IFwidXRmLThcIjtcblxuLmFydGljbGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgcGFkZGluZy1sZWZ0OiByZW0tY2FsYygxNSkgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYygxNSkgIWltcG9ydGFudDtcbiAgfVxuICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoMTUpICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygxNSkgIWltcG9ydGFudDtcblxuICAudGV4dCB7XG4gICAgPiBwIHtcbiAgICAgIEBpbmNsdWRlIGZvbnQtZmFtaWx5KHN0YW5kYXJkLCAoJG5vcm1hbC1mcyktMSwgbnVsbCwgbnVsbCk7XG4gICAgfVxuICB9XG5cbiAgJiBoNCB7XG4gICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoNSk7XG4gIH1cblxuICAmIHVsLnRhZ3Mge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNSk7XG4gICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoNSk7XG4gICAgd2lkdGg6IGF1dG87XG5cbiAgICAmIGxpIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICYgYS5hcnRpY2xlX3RhZyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMikgcmVtLWNhbGMoMTApO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnJvd25saWdodDtcbiAgICAgICAgY29sb3I6ICRkdW5rZWxibGF1O1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAyMDBtcztcbiAgICAgICAgbWFyZ2luOiByZW0tY2FsYygwIDMgMyAwKTtcbiAgICAgICAgYm9keTpub3QoLnRvdWNoLXVzZXIpICY6aG92ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRkdW5rZWxibGF1O1xuICAgICAgICAgIGNvbG9yOiAkYnJvd25saWdodDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYgcC5zdWJ0aXRsZSB7XG4gICAgQGluY2x1ZGUgZm9udC1mYW1pbHkocmVndWxhciwgMjAuOCwgLTEsICRwZXRyb2wsIDAuNyk7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMyk7XG4gICAgYSB7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB9XG4gIH1cblxuICAmIC5hcnRpY2xlLWltYWdlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSArIDMwcHgpO1xuICAgIHRvcDogcmVtLWNhbGMoLTE1KTtcbiAgICBwYWRkaW5nLWJvdHRvbTogODUlO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgbGVmdDogcmVtLWNhbGMoLTE1KTtcblxuICAgICsgLmltYWdlLWNhcHRpb24ge1xuICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoLTgpO1xuICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTApO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSArIDNyZW0pO1xuICAgICAgbGVmdDogcmVtLWNhbGMoLTI0KTtcbiAgICB9XG4gIH1cblxuICAmIC50ZXh0Lmhhc0RhdGVPckF1dGhvciB7XG4gICAgJiBwOm50aC1jaGlsZCgyKSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgfVxuICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE4KTtcbiAgfVxuXG4gICYgLmRhdGVBbmRBdXRob3Ige1xuICAgIEBpbmNsdWRlIGZvbnQtZmFtaWx5KHNlbWlib2xkLCAkbm9ybWFsLWZzLCAtMSwgJGR1bmtlbGJsYXUsIDAuNSk7XG4gIH1cblxuICAmIC5pbWcge1xuICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE1KTtcblxuICAgICYubGVmdCB7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIH1cbiAgICAmLnJpZ2h0IHtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cbiAgICAmLmNlbnRlciB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuICAgICYgaW1nIHtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB9XG4gICAgJiBzcGFuIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB9XG4gIH1cblxuICAmIC5jb2RlIHtcbiAgICAmICoge1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG4gIH1cblxuICAmLnNtYWxsLTEyIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG59XG5cbi8vIGFydGljbGUgbGlzdFxuLmFydGljbGVzIHtcbiAgcGFkZGluZzogMDtcbiAgJiAuYXJ0aWNsZS1jZWxsIHtcbiAgICBwYWRkaW5nOiByZW0tY2FsYygxNSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICB9XG59XG5cbi5hcnRpY2xlcy12aWV3IHtcbiAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNTApO1xufVxuXG4uZWRpdG9yLWdyaWQge1xuICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDMwKSAhaW1wb3J0YW50O1xuICAmIC5tZ25sRWRpdG9yQmFyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIHRvcDogN3B4ICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8gTWFzb25yeSBvcHRpb25cblxuLm1hc29ucnktZ3JpZCB7XG4gIGNvbHVtbi1jb3VudDogMTtcbiAgY29sdW1uLWdhcDogJGdsb2JhbC1tYXJnaW4qMjtcbiAgbWFyZ2luLXRvcDogJGdsb2JhbC1tYXJnaW47XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICBjb2x1bW4tY291bnQ6IDI7XG4gICAgbWFyZ2luLWxlZnQ6ICRnbG9iYWwtbWFyZ2luO1xuICAgIG1hcmdpbi1yaWdodDogJGdsb2JhbC1tYXJnaW47XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgY29sdW1uLWNvdW50OiAzO1xuICB9XG5cbn1cblxuLm1hc29ucnktdmlldyB7XG4gIC13ZWJraXQtY29sdW1uLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgYnJlYWstaW5zaWRlOiBhdm9pZC1jb2x1bW47XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBwYWRkaW5nLWJvdHRvbTogJGdsb2JhbC1tYXJnaW4qMjtcbiAgLmFydGljbGUge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgcGFkZGluZzogcmVtLWNhbGMoMjQpO1xuICAgIH1cbiAgfVxufVxuIiwiQGNoYXJzZXQgXCJ1dGYtOFwiO1xuXG4uY29tcG9uZW50LW1hcCB7XG4gIC5tYXAge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgbWluLWhlaWdodDogcmVtLWNhbGMoNDUwKTtcbiAgICB9XG4gICAgJi5uby1oZWlnaHQge1xuICAgICAgaGVpZ2h0OiAwO1xuICAgICAgcGFkZGluZy1ib3R0b206IDY2JTtcbiAgICB9XG4gIH1cbiAgJiAucG9wdWxhdGlvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLTEwdmg7XG4gICAgbGVmdDogLTEwdnc7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIG1heC1oZWlnaHQ6IDA7XG4gICAgbWF4LXdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICB3aWR0aDogMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG59XG5cbi5pbmZvQm94IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gIG1heC13aWR0aDogcmVtLWNhbGMoNjQwKTtcbiAgd2lkdGg6IHJlbS1jYWxjKDY0MCk7XG4gIG1heC1oZWlnaHQ6IHJlbS1jYWxjKDMyOSk7XG4gIGhlaWdodDogcmVtLWNhbGMoMzI5KTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCkgdHJhbnNsYXRlWSgtNDI0cHgpIHRyYW5zbGF0ZVgoLTUwJSkgIWltcG9ydGFudDtcbiAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCkgdHJhbnNsYXRlWSgtNDI0cHgpIHRyYW5zbGF0ZVgoLTUwJSkgIWltcG9ydGFudDtcbiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKSB0cmFuc2xhdGVZKC00MjRweCkgdHJhbnNsYXRlWCgtNTAlKSAhaW1wb3J0YW50O1xuICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCkgdHJhbnNsYXRlWSgtNDI0cHgpIHRyYW5zbGF0ZVgoLTUwJSkgIWltcG9ydGFudDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApIHRyYW5zbGF0ZVkoLTQyNHB4KSB0cmFuc2xhdGVYKC01MCUpICFpbXBvcnRhbnQ7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDEwMHZ3IC0gNTBweCk7XG4gIH1cblxuICAmID4gaW1nIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgJiAuaW5mby13aW5kb3cge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBwYWRkaW5nOiByZW0tY2FsYygzMCk7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgICAgcGFkZGluZzogcmVtLWNhbGMoMjUpO1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgIG1hcmdpbjogcmVtLWNhbGMoMTUgMTUgMCAxNSk7XG4gICAgfVxuICAgICYgLmNsb3NlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogcmVtLWNhbGMoMTApO1xuICAgICAgcmlnaHQ6IHJlbS1jYWxjKDEwKTtcbiAgICAgIHdpZHRoOiByZW0tY2FsYygxNSk7XG4gICAgICBoZWlnaHQ6IHJlbS1jYWxjKDE1KTtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICYgc3ZnIHBhdGgge1xuICAgICAgICBmaWxsOiAkd2hpdGU7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuICAgICAgfVxuICAgICAgJjpob3ZlciB7XG4gICAgICAgICYgc3ZnIHBhdGgge1xuICAgICAgICAgIGZpbGw6IHRyYW5zcGFyZW50aXplKCR3aGl0ZSwgMC4zKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICY6YWZ0ZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICB3aWR0aDogMDtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgIGJvdHRvbTogLTU3cHg7XG4gICAgICBib3JkZXItd2lkdGg6IDMwcHg7XG4gICAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cblxuICAgICYgcCxcbiAgICAmIHNwYW4sXG4gICAgJiBhIHtcbiAgICAgIEBpbmNsdWRlIGZvbnQtZmFtaWx5KHN0YW5kYXJkLCAkbm9ybWFsLWZzLCAtMSwgJHdoaXRlKTtcbiAgICB9XG5cbiAgICAmIGEge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxuICAgICYgYTpob3ZlciB7XG4gICAgICBjb2xvcjogdHJhbnNwYXJlbnRpemUoJHdoaXRlLCAwLjMpO1xuICAgIH1cblxuICAgICYgLm5hbWUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNSk7XG4gICAgICAmIHNwYW4ge1xuICAgICAgICBAaW5jbHVkZSBmb250LWZhbWlseShzZW1pYm9sZCwgJG1lZGl1bS1mcywgLTEsICR3aGl0ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi53aXRoLWltYWdlIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICBAaW5jbHVkZSBmbGV4Qm94ZXMoZmxleC1zdGFydCwgZmxleC1zdGFydCwgY29sdW1uLCBuby13cmFwKTtcblxuICAgICAgfVxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgQGluY2x1ZGUgZmxleEJveGVzKCk7XG4gICAgICAgIHdpZHRoOiByZW0tY2FsYyg2NDApO1xuICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDMyOSk7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICYgLnRleHQge1xuICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgICAmIC50ZXh0LFxuICAgICAgICAmIC5pbWFnZSB7XG4gICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmIC5pbWFnZSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYygxNSk7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgJiBpbWcge1xuICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgICBtYXgtaGVpZ2h0OiByZW0tY2FsYygyNDkpO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICYgLnRleHQgcCxcbiAgICAgICAgJiAudGV4dCBhLFxuICAgICAgICAmIC50ZXh0IHNwYW4ge1xuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygxNyk7XG4gICAgICAgIH1cbiAgICAgICAgJiAubmFtZSBzcGFuIHtcbiAgICAgICAgICBAaW5jbHVkZSBmb250LWZhbWlseShzZW1pYm9sZCwgJG5vcm1hbC1mcywgLTEsICR3aGl0ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmIC50ZXh0IHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IHJlbS1jYWxjKDE1KTtcbiAgICAgIH1cbiAgICAgICYgLmFkZHJlc3Mge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyNSk7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgICAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgICB9XG4gICAgfVxuICB9XG5cbn1cbiIsIkBjaGFyc2V0IFwidXRmLThcIjtcblxuLy9jb3Vyc2UgYm94XG4uZW50cnktd3JhcHBlciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogY2FsYygxMDAlICsgMzBweCk7XG4gIG92ZXJmbG93OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG59XG5cbi5jb3Vyc2Vib3gge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmbG9hdDogbGVmdDtcbiAgJi5ncmlkLWl0ZW0ge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLyAzKTtcbiAgICBwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYygzMCk7XG4gICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDMwKTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KSB7XG4gICAgICB3aWR0aDogNTAlO1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxuICAmLnNsaWRlci1pdGVtIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gODBweCk7XG4gICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDQwKTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgd2lkdGg6IDUwJTtcbiAgICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYygxNSk7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgIHdpZHRoOiAzMy4zMzMzMzMlO1xuICAgIH1cbiAgfVxuXG4gICYgLmlubmVyLXdyYXBwZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBoZWlnaHQ6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDEwMCU7XG4gICAgdHJhbnNpdGlvbjogYWxsIDMwMG1zIGVhc2UtaW4tb3V0O1xuICB9XG4gICYgLmNvbnRlbnQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBib3R0b206IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgcGFkZGluZzogcmVtLWNhbGMoMTUpIHJlbS1jYWxjKDEwKSAwIHJlbS1jYWxjKDE1KTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDI1KSByZW0tY2FsYygyNSkgcmVtLWNhbGMoMjUpIHJlbS1jYWxjKDMwKTtcbiAgICB9XG4gIH1cbiAgJjpob3ZlciB7XG4gICAgJiAuaW5uZXItd3JhcHBlciB7XG4gICAgICBib3gtc2hhZG93OiAwIDAgcmVtLWNhbGMoMTIpIHRyYW5zcGFyZW50aXplKCRibGFjaywgMC44KTtcbiAgICB9XG4gIH1cblxuICAmIHNwYW4udGV4dCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgY29sb3I6ICRwZXRyb2w7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAzNXB4KTtcbiAgfVxuICAmIHAuc3ViamVjdCB7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4gICAgY29sb3I6ICRwZXRyb2w7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNSk7XG5cbiAgICAmIHNwYW4ge1xuICAgICAgJiBzdmcge1xuICAgICAgICB3aWR0aDogcmVtLWNhbGMoMTcpO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdGV4dC10b3A7XG4gICAgICAgICYgcGF0aCB7XG4gICAgICAgICAgc3Ryb2tlOiAkcGV0cm9sO1xuICAgICAgICAgIGZpbGw6ICRwZXRyb2w7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJiBoNCB7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygkYnV0dG9uLWZzKTtcbiAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoJGJ1dHRvbi1mcyAqIDEuMik7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTUpO1xuXG4gIH1cblxuICAmIHAucGxhY2Uge1xuICAgIGNvbG9yOiAkcGV0cm9sO1xuICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDkpO1xuXG4gIH1cblxuICAmIHAuY2xvY2sge1xuICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDkpO1xuICB9XG59XG5cbiRpY29uV2lkdGg6IDE3O1xuLmNvdXJzZS1kZXRhaWwsXG4uY291cnNlYm94IHtcbiAgJiBzcGFuLmljb24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogcmVtLWNhbGMoMjQpO1xuICAgIGhlaWdodDogcmVtLWNhbGMoMTcpO1xuICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyNCk7XG4gIH1cbn1cblxucC5zdWJqZWN0IHtcbiAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICYgc3BhbiB7XG4gICAgJiBzdmcge1xuICAgICAgd2lkdGg6IHJlbS1jYWxjKCRpY29uV2lkdGgpO1xuICAgICAgdmVydGljYWwtYWxpZ246IHRleHQtdG9wO1xuICAgICAgJiBwYXRoIHtcbiAgICAgICAgc3Ryb2tlOiAkcGV0cm9sO1xuICAgICAgICBmaWxsOiAkcGV0cm9sO1xuICAgICAgfVxuICAgIH1cbiAgICAmLnRleHQge1xuICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDE1KTtcbiAgICB9XG4gIH1cbn1cblxucC5wbGFjZSB7XG4gICYgc3BhbiB7XG4gICAgJiBzdmcge1xuICAgICAgd2lkdGg6IHJlbS1jYWxjKCRpY29uV2lkdGgpO1xuICAgICAgdmVydGljYWwtYWxpZ246IHRleHQtdG9wO1xuICAgICAgJiBwYXRoIHtcbiAgICAgICAgc3Ryb2tlOiAkcGV0cm9sO1xuICAgICAgICBmaWxsOiAkcGV0cm9sO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5wLmNsb2NrIHtcbiAgJiBzcGFuIHtcbiAgICAmIHN2ZyB7XG4gICAgICB3aWR0aDogcmVtLWNhbGMoJGljb25XaWR0aCk7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogdGV4dC10b3A7XG4gICAgICAmIHBhdGgge1xuICAgICAgICBmaWxsOiAkcGV0cm9sO1xuICAgICAgfVxuICAgICAgJiBjaXJjbGUge1xuICAgICAgICBzdHJva2U6ICRwZXRyb2w7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbnAuZGF0ZSB7XG4gICYgc3ZnIHtcbiAgICB3aWR0aDogcmVtLWNhbGMoJGljb25XaWR0aCk7XG4gICAgdmVydGljYWwtYWxpZ246IHRleHQtdG9wO1xuICAgICYgcGF0aCB7XG4gICAgICBzdHJva2U6ICRwZXRyb2w7XG4gICAgICBmaWxsOiAkcGV0cm9sO1xuICAgIH1cbiAgfVxufVxuXG5wLmxvY2FsIHtcbiAgJiBzdmcge1xuICAgIHdpZHRoOiByZW0tY2FsYygkaWNvbldpZHRoKTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdGV4dC10b3A7XG4gICAgJiBwYXRoLCAmIGNpcmNsZSwgJiByZWN0IHtcbiAgICAgIHN0cm9rZTogJHBldHJvbDtcbiAgICB9XG4gIH1cbn1cblxucC5zdWJ2ZW50aW9uIHtcbiAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICYgc3Bhbi50ZXh0IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDM1cHgpO1xuICB9XG4gICYgc3ZnIHtcbiAgICB3aWR0aDogcmVtLWNhbGMoJGljb25XaWR0aCk7XG4gICAgdmVydGljYWwtYWxpZ246IHRleHQtdG9wO1xuICAgICYgcGF0aCB7XG4gICAgICBzdHJva2U6ICRwZXRyb2w7XG4gICAgICBmaWxsOiAkcGV0cm9sO1xuICAgIH1cbiAgfVxufVxuXG4uY291cnNlLWRldGFpbCB7XG4gIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDQwKSAhaW1wb3J0YW50O1xuICAmIHAuc3ViamVjdCBzcGFuLmljb24gc3ZnIHtcbiAgICB3aWR0aDogcmVtLWNhbGMoMjApO1xuICB9XG4gICYgLmNlbGwge1xuXG4gICAgJiBwLmJvbGQge1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgfVxuXG4gICAgJiBwLmluZm8ge1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg3KTtcbiAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDMpO1xuICAgIH1cbiAgfVxuICAmIC5sZWZ0LWRldGFpbCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJsdWVsaWdodDtcbiAgICBwYWRkaW5nOiByZW0tY2FsYygyMikgcmVtLWNhbGMoMjUpIHJlbS1jYWxjKDEyKSByZW0tY2FsYygyNSk7XG4gICAgJiBwLCAmIHNwYW4ge1xuICAgICAgY29sb3I6ICRwZXRyb2xcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIyKTtcbiAgICB9XG4gIH1cblxuICAmIC5yaWdodC1kZXRhaWwge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRkdW5rZWxibGF1O1xuICAgIHBhZGRpbmc6IHJlbS1jYWxjKDIyKSByZW0tY2FsYygyNSkgcmVtLWNhbGMoMTIpIHJlbS1jYWxjKDI1KTtcbiAgICAmIHAsICYgc3BhbiB7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgIH1cbiAgfVxuXG4gICYgLmxlaXR1bmcge1xuICAgICYgcCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICB9XG59XG5cbi5jb3Vyc2VzLXdyYXBwZXIge1xuICAmID4gLmNvbXBvbmVudC10ZXh0IHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgIHBhZGRpbmc6IDAgcmVtLWNhbGMoMjUpO1xuICAgIH1cbiAgfVxuICAmIC5maWx0ZXJzIHtcbiAgICBAaW5jbHVkZSBmbGV4Qm94ZXMoc3BhY2UtYmV0d2Vlbik7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICBAaW5jbHVkZSBmbGV4Qm94ZXMoc3BhY2UtYmV0d2VlbiwgY2VudGVyLCByb3csIHdyYXApO1xuICAgICAgJiAuZmlsdGVyIHtcbiAgICAgICAgbWluLXdpZHRoOiByZW0tY2FsYygyNzApO1xuICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE1KTtcbiAgICAgIH1cbiAgICB9XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMzApO1xuICAgICYgLmZpbHRlciB7XG4gICAgICB3aWR0aDogY2FsYyg1MCUgLSAxNXB4KTtcbiAgICB9XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5lZGl0bW9kZSB7XG4gICYgLmNvdXJzZXMtd3JhcHBlciAuc2xpZGVyLWl0ZW0ge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLyAzKTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBwYWRkaW5nOiAwIDE1cHggMTVweCAwO1xuICB9XG59XG5cbi5jb3Vyc2Utbm8tbmVnLW1hcmdpbiB7XG4gICYgPiAuZ3JpZC1tYXJnaW4teSB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi8vIEN1c3RvbSBmb3Igc2xpZGVyIGVudHJpZXNcbi5jb3Vyc2VzLXNsaWRlciB7XG4gIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDUwKTtcbiAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKC0xNSk7XG4gIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoLTE1KTtcblxuICAub3dsLWxvYWRlZCB7XG4gICAgLnNsaWRlci1pdGVtIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuICB9XG5cbiAgLm93bC1pdGVtIHtcbiAgICAuY291cnNlYm94IHtcbiAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDE1IDQwKTtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDE1KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmNvdXJzZS1saXN0IHtcbiAgd2lkdGg6IHJlbS1jYWxjKDg2MCk7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICBwIHtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE1KTtcbiAgfVxuXG4gIGEge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBjb2xvcjogJHBldHJvbDtcblxuICAgIGg0IHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGJ1dHRvbi1mcyk7XG4gICAgfVxuICB9XG5cbiAgLmNvbnRlbnQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleDogMiAxIGF1dG87XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTApO1xuICAgIHdpZHRoOiByZW0tY2FsYyg4NjApO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gMzBweCkhaW1wb3J0YW50O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB9XG5cbiAgICBkaXYge1xuICAgICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDE1KTtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICB3aWR0aDogMjMlO1xuICAgICAgcGFkZGluZy1sZWZ0OiByZW0tY2FsYyg1KTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IHJlbS1jYWxjKDUpO1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiByZW0tY2FsYygzMCk7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IHJlbS1jYWxjKDI1KTtcbiAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgIHdpZHRoOjEwMCU7XG4gICAgICB9XG5cbiAgICAgICY6bnRoLWNoaWxkKDEpIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiByZW0tY2FsYygxNSk7XG4gICAgICAgIHdpZHRoOiAzNCU7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiByZW0tY2FsYygzMCk7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogcmVtLWNhbGMoMjUpO1xuICAgICAgICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYygxMCk7XG4gICAgICAgICAgd2lkdGg6MTAwJTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmOm50aC1jaGlsZCg0KSB7XG4gICAgICAgIHdpZHRoOiAyMCU7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogcmVtLWNhbGMoMzApO1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IHJlbS1jYWxjKDI1KTtcbiAgICAgICAgICB3aWR0aDoxMDAlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5zdWJqZWN0IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNSk7XG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5wbGFjZSB7XG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICB3aWR0aDogcmVtLWNhbGMoMTQpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuY2xvY2ssIC5wbGFjZSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIC5pY29uIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5jb3Vyc2Utc29ydGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICBmb250LXNpemU6IHJlbS1jYWxjKDE3KTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDEwKTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLnNvcnQtaXRlbSB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTsgLyogaU9TIFNhZmFyaSAqL1xuICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7IC8qIFNhZmFyaSAqL1xuICAgIC1raHRtbC11c2VyLXNlbGVjdDogbm9uZTsgLyogS29ucXVlcm9yIEhUTUwgKi9cbiAgICAtbW96LXVzZXItc2VsZWN0OiBub25lOyAvKiBPbGQgdmVyc2lvbnMgb2YgRmlyZWZveCAqL1xuICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTsgLyogSW50ZXJuZXQgRXhwbG9yZXIvRWRnZSAqL1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICB9XG5cbiAgZGl2IHtcbiAgICB3aWR0aDogMjMlO1xuXG4gICAgJjpudGgtY2hpbGQoMSkge1xuICAgICAgd2lkdGg6IDM0JTtcbiAgICB9XG5cbiAgICAmOm50aC1jaGlsZCg0KSB7XG4gICAgICB3aWR0aDogMjAlO1xuICAgIH1cbiAgfVxuXG4gIC5zb3J0LWFycm93cyB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgZmxleC1zaHJpbms6IDE7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAuYXJyb3cge1xuICAgICAgd2lkdGg6IHJlbS1jYWxjKDEyKTtcbiAgICAgIGhlaWdodDogcmVtLWNhbGMoOCk7XG4gICAgICBmaWxsOiAkYnJvd247XG4gICAgICAmLnNlbGVjdGVkIHtcbiAgICAgICAgZmlsbDogJHBldHJvbDtcbiAgICAgIH1cbiAgICAgIHN2ZyB7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKC04KTtcbiAgICAgIH1cbiAgICB9XG4gICAgLmFycm93LXVwIHtcbiAgICAgIHN2ZyB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlWigxODBkZWcpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGNoYXJzZXQgXCJ1dGYtOFwiO1xuXG4uZmlsdGVycyB7XG4gIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDQwKTtcbiAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMTApO1xuICAmIC5maWx0ZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0Z3JheTtcbiAgICB3aWR0aDogcmVtLWNhbGMoMzUzKTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG5cbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgJiAuZmlsdGVyLWxhYmVsIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IHJlbS1jYWxjKDEwKTtcbiAgICAgIGNvbG9yOiAkYnJvd247XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAyMDBtcztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmIHAuc2VsZWN0ZWQge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwYWRkaW5nOiByZW0tY2FsYygyMCkgcmVtLWNhbGMoMTQpIHJlbS1jYWxjKDQpIHJlbS1jYWxjKDEwKTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAyMDBtcztcbiAgICAgIH1cbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG5cbiAgICAmIHNwYW4ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgJi5sYWJlbCB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxNXB4KTtcbiAgICAgICAgY29sb3I6ICRncmV5ZGFyaztcbiAgICAgIH1cbiAgICAgICYuaWNvbiB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDE3KTtcbiAgICAgICAgaGVpZ2h0OiByZW0tY2FsYygzMCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygzMCk7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDIwMG1zO1xuICAgICAgICB9XG4gICAgICAgICYgc3ZnIHtcbiAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJiB1bCB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB6LWluZGV4OiAyO1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSArIDJweCk7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbGVmdDogLTFweDtcbiAgICAgIHRvcDogY2FsYygxMDAlIC0gMXB4KTtcblxuICAgICAgLy9hbmltYXRpb24gcHJvcHNcbiAgICAgIG1heC1oZWlnaHQ6IDA7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAyMDBtcztcbiAgICAgIH1cblxuICAgICAgJiBsaSB7XG4gICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDgpIHJlbS1jYWxjKDE0KSByZW0tY2FsYyg4KSByZW0tY2FsYygxNCk7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRsaWdodGdyYXk7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgJGxpZ2h0Z3JheTtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgJGxpZ2h0Z3JheTtcbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRsaWdodGdyYXk7XG4gICAgICAgIH1cbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgICBib2R5Om5vdCgudG91Y2gtdXNlcikgJjpub3QoLmFjdGl2ZSk6aG92ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRsaWdodGdyYXk7XG4gICAgICAgIH1cblxuICAgICAgICAmIHAge1xuICAgICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICAgICYgc3Bhbi5hcnJvdyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAvLyBhbmltYXRpb24gcHJvcHNcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MDBweCk7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMjAwbXM7XG4gICAgICAgIH1cblxuICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgY3Vyc29yOiBpbml0aWFsO1xuICAgICAgICAgICYgc3Bhbi5sYWJlbCB7XG4gICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuaW5hY3RpdmUge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgIH1cbiAgICAmLm9wZW4sXG4gICAgJi5sYWJlbC1kb3duIHtcbiAgICAgIHAuZmlsdGVyLWxhYmVsIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICB9XG4gICAgfVxuICAgICYub3BlbiB7XG4gICAgICAmIHAuc2VsZWN0ZWQge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNTBweCk7XG4gICAgICAgIC5pY29uIHtcbiAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHVsIHtcbiAgICAgICAgbWF4LWhlaWdodDogNTB2aDtcbiAgICAgICAgb3ZlcmZsb3c6IHNjcm9sbDtcbiAgICAgICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgICAgICAmIGxpIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBjaGFyc2V0IFwidXRmLThcIjtcbi5mb3JtIHtcbiAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNTApO1xuXG4gICYgLmdyb3VwIHtcbiAgICB3aWR0aDogY2FsYygxMDAlICsgMjBweCk7XG5cbiAgICBib2R5Om5vdCguZWRpdG1vZGUpICYge1xuICAgICAgQGluY2x1ZGUgZmxleEJveGVzKGZsZXgtc3RhcnQsIGZsZXgtc3RhcnQsIHJvdywgd3JhcCk7XG4gICAgfVxuXG4gICAgJiAuZm9ybS1yb3cge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgbWF4LXdpZHRoOiA1MCU7XG4gICAgICB9XG4gICAgICBtaW4td2lkdGg6IHJlbS1jYWxjKDI1MCk7XG4gICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYygyMCk7XG4gICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XG5cbiAgICAgICYgbGFiZWwge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICYgc3BhbiB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgY29sb3I6ICRicm93bjtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDEwKTtcbiAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMjAwbXM7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICB9XG5cbiAgICAgIH1cblxuICAgICAgJiBsYWJlbC5zZXQsICYgbGFiZWwucGhkIHtcbiAgICAgICAgJiBzcGFuIHtcbiAgICAgICAgICBAZXh0ZW5kICVsYWJlbC1zZXQtc3BhbjtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmIGlucHV0W3R5cGU9dGV4dF0sXG4gICAgICAmIGlucHV0W3R5cGU9ZW1haWxdIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0Z3JheTtcbiAgICAgICAgaGVpZ2h0OiByZW0tY2FsYyg0OCk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRmb3JtLXNwYWNpbmcvMjtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRub3JtYWwtZnMpICFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDE3KSByZW0tY2FsYyg3KSAwIHJlbS1jYWxjKDEwKTtcblxuICAgICAgICAmOmZvY3VzICsgc3BhbiB7XG4gICAgICAgICAgQGV4dGVuZCAlbGFiZWwtc2V0LXNwYW47XG4gICAgICAgIH1cblxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICBvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJiAuZGVzY3JpcHRpb24ge1xuICAgICAgICAmIHAge1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMTcpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICB9XG4gIH1cblxuICAmIGZpZWxkc2V0IHtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG5cbiAgfVxuXG4gIC5mb3JtLWl0ZW0ge1xuICAgICYgaW5wdXQge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIH1cbiAgfVxuXG4gICYgbGFiZWwge1xuICAgICYgYSB7XG4gICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxuXG4gICAgJiBwIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG4gIH1cblxuICAmIGlucHV0W3R5cGU9Y2hlY2tib3hdICsgbGFiZWwsXG4gICYgaW5wdXRbdHlwZT1yYWRpb10gKyBsYWJlbCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctbGVmdDogcmVtLWNhbGMoMjcpO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBtYXJnaW4tYm90dG9tOiAkZm9ybS1zcGFjaW5nLzI7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICBoZWlnaHQ6IHJlbS1jYWxjKDE2KTtcbiAgICAgIHdpZHRoOiByZW0tY2FsYygxNik7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAkbGlnaHRncmF5O1xuICAgIH1cblxuICAgICY6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgbGVmdDogOXB4O1xuICAgICAgY29sb3I6ICRwZXRyb2w7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI2KTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCA3MG1zLCBtYXgtd2lkdGggNzBtcztcbiAgICAgIGhlaWdodDogcmVtLWNhbGMoMTgpO1xuICAgICAgbWF4LWhlaWdodDogMDtcbiAgICAgIHdpZHRoOiByZW0tY2FsYygxOCk7XG4gICAgICBtYXgtd2lkdGg6IDA7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICB9XG4gIH1cblxuICAmIGlucHV0W3R5cGU9Y2hlY2tib3hdICsgbGFiZWwge1xuICAgICY6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL2NoZWNrYm94LWNoZWNrZWQuc3ZnXCIpO1xuICAgIH1cbiAgfVxuXG4gICYgaW5wdXRbdHlwZT1yYWRpb10gKyBsYWJlbCB7XG4gICAgJjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvcmFkaW8tYWN0aXZlLnN2Z1wiKTtcbiAgICB9XG4gIH1cblxuICAmIGlucHV0W3R5cGU9cmFkaW9dICsgbGFiZWwge1xuICAgICY6YmVmb3JlIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICB9XG4gIH1cblxuICAmIGlucHV0W3R5cGU9Y2hlY2tib3hdOmNoZWNrZWQgKyBsYWJlbCxcbiAgJiBpbnB1dFt0eXBlPXJhZGlvXTpjaGVja2VkICsgbGFiZWwge1xuICAgICY6YWZ0ZXIge1xuICAgICAgbWF4LWhlaWdodDogcmVtLWNhbGMoMTgpO1xuICAgICAgbWF4LXdpZHRoOiByZW0tY2FsYygxOCk7XG4gICAgfVxuICB9XG5cbiAgJiBpbnB1dFt0eXBlPWNoZWNrYm94XSxcbiAgJiBpbnB1dFt0eXBlPXJhZGlvXSB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gICYgLmJ1dHRvbi13cmFwcGVyIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgbWF4LXdpZHRoOiA1MCU7XG4gICAgfVxuICAgIG1pbi13aWR0aDogcmVtLWNhbGMoMjUwKTtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgcGFkZGluZy1yaWdodDogcmVtLWNhbGMoMjApO1xuXG4gICAgJiBpbnB1dFt0eXBlPXN1Ym1pdF0ge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBAaW5jbHVkZSBmb250LWZhbWlseShzZW1pYm9sZCwgJGJ1dHRvbi1mcywgJG1lZGl1bS1mcyArIDQsICRwZXRyb2wsIDAuOSk7XG5cbiAgICAgICYubGFyZ2UsICYudGlueSwgJi5zbWFsbCB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZmFtaWx5KHNlbWlib2xkLCAkYnV0dG9uLWZzLCAkbWVkaXVtLWZzICsgNCwgJHBldHJvbCwgMC45KTtcbiAgICAgIH1cblxuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoNCk7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgIGJvcmRlcjogMnB4IHNvbGlkICRwZXRyb2w7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMzAwbXMgZWFzZS1pbi1vdXQ7XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICBib3JkZXItY29sb3I6IHNjYWxlLWNvbG9yKCRwZXRyb2wsICRsaWdodG5lc3M6IDUlKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogc2NhbGUtY29sb3IoJHBldHJvbCwgJGxpZ2h0bmVzczogNSUpO1xuICAgICAgfVxuXG4gICAgICAmW2Rpc2FibGVkPWRpc2FibGVkXSB7XG4gICAgICAgIG9wYWNpdHk6IDAuMztcbiAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmIGlucHV0W3R5cGU9c3VibWl0XSB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lICFpbXBvcnRhbnQ7XG4gICAgLW1vei1hcHBlYXJhbmNlOiBub25lICFpbXBvcnRhbnQ7XG4gICAgYXBwZWFyYW5jZTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbiVsYWJlbC1zZXQtc3BhbiB7XG4gIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIzcHgpO1xufVxuXG4vL2ZvciBvcHRpb25ncm91cFxuLmdyb3VwIC5mb3JtLXJvdyBmaWVsZHNldCB7XG4gICYgPiBsYWJlbC5zZWxlY3Rpb24ge1xuICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDcpO1xuXG4gICAgJiA+IHNwYW4ge1xuICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICB9XG4gIH1cblxuICAmIGZpZWxkc2V0LnNlbGVjdGlvbiB7XG4gICAgJiAuZm9ybS1pdGVtIHtcbiAgICAgIGhlaWdodDogcmVtLWNhbGMoMjMpO1xuICAgIH1cblxuICAgICYubW9kIHtcbiAgICAgICYgbGVnZW5kIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG5cbiAgICAgICYgLmZvcm0taXRlbSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYygxNSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJiAuZmlsdGVycyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBtYXJnaW4tdG9wOiAwO1xuXG4gICAgJiAuc2VsZWN0LmZpbHRlciB7XG4gICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgJiAub3B0aW9ucyB7XG4gICAgICAgICYgc3Bhbi5pY29uIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICoge1xuICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy90ZXh0YXJlYVxubGFiZWwudGV4dGFyZWEtbGFiZWwge1xuICAmIHNwYW4ge1xuICAgIHRvcDogNHB4ICFpbXBvcnRhbnQ7XG4gICAgdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxMykgIWltcG9ydGFudDtcbiAgfVxuXG4gICYgdGV4dGFyZWEge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYygyMyk7XG4gICAgcGFkZGluZy1sZWZ0OiByZW0tY2FsYygxMCk7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygkbm9ybWFsLWZzKTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkbGlnaHRncmF5O1xuICB9XG59XG5cblxuLy9yZWNhcHRjaGFcbi5yZWNhcHRjaGEtdmFsaWRhdG9yIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLy9lcnJvclxuXG4uZm9ybS1yb3cuZXJyb3Ige1xuICBsYWJlbCB7XG4gICAgZW0ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICBzcGFuLCAuZmlsdGVyLnNlbGVjdCAuZmlsdGVyLWxhYmVsIHtcbiAgICAgIGNvbG9yOiAkaW5wdXQtZXJyb3ItY29sb3IgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBpbnB1dCwgdGV4dGFyZWEsIC5maWx0ZXIuc2VsZWN0IHtcbiAgICAgIGJvcmRlci1jb2xvcjogJGlucHV0LWVycm9yLWNvbG9yICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLnNlbGVjdGlvbiB7XG4gICAgLnNlbGVjdC5maWx0ZXIge1xuICAgICAgYm9yZGVyLWNvbG9yOiAkaW5wdXQtZXJyb3ItY29sb3I7XG5cbiAgICAgIC5maWx0ZXItbGFiZWwge1xuICAgICAgICBjb2xvcjogJGlucHV0LWVycm9yLWNvbG9yO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5vcHQtZ3JvdXAge1xuICAgICAgaW5wdXQgKyBsYWJlbDpiZWZvcmUge1xuICAgICAgICBib3JkZXItY29sb3I6ICRpbnB1dC1lcnJvci1jb2xvciAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5sYWJlbC5pcy1pbnZhbGlkLWxhYmVsIHtcbiAgJiBzcGFuLCAmIGEsICYgcCB7XG4gICAgY29sb3I6ICRpbnB1dC1lcnJvci1jb2xvciAhaW1wb3J0YW50O1xuICB9XG5cbiAgJjpiZWZvcmUge1xuICAgIGJvcmRlci1jb2xvcjogJGlucHV0LWVycm9yLWNvbG9yICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuaW5wdXQuaXMtaW52YWxpZC1pbnB1dCB7XG4gIGJvcmRlci1jb2xvcjogJGlucHV0LWVycm9yLWNvbG9yICFpbXBvcnRhbnQ7XG59XG5cbnNlbGVjdC5pcy1pbnZhbGlkLWlucHV0ICsgLmZpbHRlci5zZWxlY3Qge1xuICBib3JkZXItY29sb3I6ICRpbnB1dC1lcnJvci1jb2xvciAhaW1wb3J0YW50O1xuXG4gICYgLmZpbHRlci1sYWJlbCB7XG4gICAgY29sb3I6ICRpbnB1dC1lcnJvci1jb2xvciAhaW1wb3J0YW50O1xuICB9XG59XG5cbi50ZXh0LmVycm9yIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWVycm9yLWNvbG9yO1xufVxuXG4udGV4dC5zdWNjZXNzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHN1Y2Nlc3MtY29sb3I7XG59XG5cbi50ZXh0LmVycm9yLCAudGV4dC5zdWNjZXNzIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiByZW0tY2FsYygxNSkgcmVtLWNhbGMoMTUpIHJlbS1jYWxjKDE1KSByZW0tY2FsYyg1Nyk7XG4gIGNvbG9yOiAkd2hpdGU7XG4gIG1hcmdpbjogcmVtLWNhbGMoMzApIDA7XG5cbiAgaDQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygyNSk7XG4gICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDMwKTtcbiAgfVxuXG4gIGg0LCBwLCBhLCBsaSB7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgfVxuXG4gICYgc3Bhbi5pY29uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbGVmdDogcmVtLWNhbGMoMTUpO1xuICAgIHdpZHRoOiByZW0tY2FsYygyNyk7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICB9XG59XG5cbiNtZ25saHAge1xuICBkaXNwbGF5OiBub25lO1xufVxuIiwiQGNoYXJzZXQgXCJ1dGYtOFwiO1xuXG4kdGl0bGVIZWlnaHQ6IDgwO1xuJHRpdGxlSG92ZXJIZWlnaHQ6IDgwO1xuXG4udGlsZS1jb21wb25lbnQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDA7XG4gIHBhZGRpbmctYm90dG9tOiAxMDUlO1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2l0aW9uOiBhbGwgMzAwbXM7XG5cbiAgJiAudGlsZS1pbm5lciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICAmIC5pbWFnZSB7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAjeyR0aXRsZUhlaWdodCArIFwicHhcIn0pO1xuICAgICAgbWF4LWhlaWdodDogY2FsYygxMDAlIC0gI3skdGl0bGVIZWlnaHQgKyBcInB4XCJ9KTtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAzMDBtcyBlYXNlLWluLW91dDtcbiAgICAgICYgc3BhbiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDMwMG1zIGVhc2UtaW4tb3V0O1xuICAgICAgfVxuICAgICAgJiAuY29udGVudC1pbWFnZS1pbnZpc2libGUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgICYgLnRleHQge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgaGVpZ2h0OiByZW0tY2FsYygkdGl0bGVIZWlnaHQpO1xuICAgICAgbWF4LWhlaWdodDogcmVtLWNhbGMoJHRpdGxlSGVpZ2h0KTtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBwYWRkaW5nOiAwIHJlbS1jYWxjKDI1KTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAmIHAge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmc6IDAgcmVtLWNhbGMoMjUpO1xuICAgICAgICBAaW5jbHVkZSBmb250LWZhbWlseShzZW1pYm9sZCwgJGJ1dHRvbi1mcywgLTEpO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICBoeXBoZW5zOiBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5ib2R5Om5vdCgudG91Y2gtdXNlcikgYS50aWxlLWNvbXBvbmVudDpob3ZlciB7XG4gIGJveC1zaGFkb3c6IDAgMCByZW0tY2FsYygyNSkgdHJhbnNwYXJlbnRpemUoJGJsYWNrLCAwLjgpO1xuICBvcGFjaXR5OiAuOTk7XG4gICYgLmltYWdlIHtcbiAgICBzcGFuIHtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wMik7XG4gICAgfVxuICB9XG59XG4iLCJAY2hhcnNldCBcInV0Zi04XCI7XG5cbi8vIENvb2tpZSBQcml2YWN5IE5vdGljZVxuXG4jY29va2llLXByaXZhY3ktbm90aWNlIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB6LWluZGV4OiA5OTtcbiAgcmlnaHQ6ICRnbG9iYWwtbWFyZ2luLzI7XG4gIGxlZnQ6ICRnbG9iYWwtbWFyZ2luLzI7XG4gIGJvdHRvbTogMDtcbiAgYm9yZGVyOiBub25lO1xuICBtYXJnaW46ICRnbG9iYWwtbWFyZ2luO1xuICBib3gtc2hhZG93OiAwIDAgN3B4IHRyYW5zcGFyZW50aXplKCRibGFjaywgMC43KTtcbiAgY29sb3I6ICR3aGl0ZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHBldHJvbDtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICBtYXgtd2lkdGg6ICgkZ2xvYmFsLXdpZHRoIC0gJGdsb2JhbC1tYXJnaW4qMS44NSk7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICB9XG5cbiAgYSB7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiBzY2FsZS1jb2xvcigkZ3JlZW4sICRsaWdodG5lc3M6IDUlKTtcbiAgICB9XG4gIH1cblxuICAuYnV0dG9uIHtcbiAgICBjb2xvcjogJHBldHJvbDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogJHdoaXRlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICBwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDMwKTtcbiAgICBwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYygzMCk7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibGFjayAhaW1wb3J0YW50O1xuICAgIH1cblxuICB9XG59XG4iLCJAY2hhcnNldCBcInV0Zi04XCI7XG5cbi8vIEh0bWwgY29tcG9uZW50XG5cbi5jb21wb25lbnQtaHRtbCB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuXG4gICYucmVzcG9uc2l2ZSB7XG4gICAgQGluY2x1ZGUgcmVzcG9uc2l2ZS1lbWJlZCgxNiBieSA5KTtcbiAgfVxuXG4gIEBtZWRpYSBwcmludCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuIiwiQGNoYXJzZXQgXCJ1dGYtOFwiO1xuJGNhcmRfaGVpZ2h0X3M6IDMyMHB4O1xuJGNhcmRfaGVpZ2h0X206IDQ2MHB4O1xuJGNhcmRfaGVpZ2h0X2w6IDU4MHB4O1xuXG4kd2lkdGhfYnJlYWtwb2ludF9tOiA0NTBweDtcbiR3aWR0aF9icmVha3BvaW50X2w6IDk4MHB4O1xuJGhlaWdodF9icmVha3BvaW50X206IDcwMHB4O1xuJGhlaWdodF9icmVha3BvaW50X2w6IDkwMHB4O1xuXG5cbiRjYXJkX3dpZHRoX3M6IGNhbGMoI3skY2FyZF9oZWlnaHRfcyAqIDAuOH0pO1xuJGNhcmRfd2lkdGhfbTogY2FsYygjeyRjYXJkX2hlaWdodF9tICogMC44fSk7XG4kY2FyZF93aWR0aF9sOiBjYWxjKCN7JGNhcmRfaGVpZ2h0X2wgKiAwLjh9KTtcblxuLy9ORlQgQ2FyZCBTbGlkZXJcbiRuZnRfY2FyZF93cmFwcGVyX2hlaWdodF9zOiBjYWxjKCN7JGNhcmRfaGVpZ2h0X3N9ICsgNjBweCk7XG4kbmZ0X2NhcmRfd3JhcHBlcl9oZWlnaHRfbTogY2FsYygjeyRjYXJkX2hlaWdodF9tfSArIDYwcHgpO1xuJG5mdF9jYXJkX3dyYXBwZXJfaGVpZ2h0X2w6IGNhbGMoI3skY2FyZF9oZWlnaHRfbH0gKyA2MHB4KTtcblxuXG4jbmZ0LWNhbXBhaWduIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIC8vb3ZlcmZsb3c6IHNjcm9sbCAhaW1wb3J0YW50O1xuXG4gIGRpdiwgcCB7XG4gICAgZm9udC1mYW1pbHk6ICdTb3VyY2UgU2FucyBQcm8nLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBsaW5lLWhlaWdodDogMS40O1xuICAgIC8vb3V0bGluZTogMXB4IHNvbGlkICNmZmI5YjI7XG4gIH1cblxuXG4gIC8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAvLyBOYXZpZ2F0b25cblxuICAjbmZ0LW5hdi1iYXItd3JhcHBlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwcHg7XG4gICAgei1pbmRleDogNTtcblxuICAgIGRpdiwgcCwgYSB7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgfVxuXG4gICAgLnMtYnVyZ2VyIHtcbiAgICAgIGxlZnQ6IDE3cHggIWltcG9ydGFudDtcbiAgICAgIHRvcDogMzNweCAhaW1wb3J0YW50O1xuXG4gICAgICBzcGFuIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgfVxuICAgIH1cblxuICAgICNuZnRfbmF2IHtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICBwYWRkaW5nOiAyOHB4IDIwcHggMCAyMHB4O1xuICAgICAgbWF4LXdpZHRoOiAxMTQ0cHg7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTtcblxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyM3B4KSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA1MHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4gIWltcG9ydGFudDtcblxuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjVzO1xuICAgICAgICAmLm5vdC12aXNpYmxlIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xuICAgICAgICB9XG5cbiAgICAgICAgLm5mdF9uYXZpZ2F0aW9uLFxuICAgICAgICAubmZ0X2FuY2hvcl9uYXYsXG4gICAgICAgIC5uZnRfbmF2X2xpbmtzIHtcbiAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydCAhaW1wb3J0YW50O1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydCAhaW1wb3J0YW50O1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4gIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5uZnRfYW5jaG9yX25hdiB7XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTQ0NnB4KSB7XG4gICAgICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gMzAwcHgpO1xuICAgICAgICBwYWRkaW5nOiAyOHB4IDAgMCAwO1xuICAgICAgfVxuICAgIH1cblxuICAgICNuZnQtbG9nby13cmFwcGVyIHtcbiAgICAgIC8vcGFkZGluZy1yaWdodDogMTAwcHg7XG5cbiAgICAgICNuZnRfbG9nbyB7XG4gICAgICAgIC8vaGVpZ2h0OiAxMDAlO1xuICAgICAgICAvL3dpZHRoOiA5LjY4NzVyZW07XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICB3aWR0aDogMTAwcHg7XG4gICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuXG4gICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyM3B4KSB7XG4gICAgICAgICAgICBtYXJnaW46IDRweCAwIDIwcHggLTY1cHg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm5hdl9kb25hdGUge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgI25hdl9kb25hdGVfYnRuIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpO1xuICAgICAgYm9yZGVyLXJhZGl1czogMjRweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyNHB4O1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB3aGl0ZTtcbiAgICAgIH1cblxuICAgICAgYSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIHBhZGRpbmc6IDRweCAxMnB4O1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcblxuICAgICAgICBpbWcge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogOHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAvL2xpbmUtaGVpZ2h0OiAxOHB4O1xuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAubmZ0X25hdmlnYXRpb24ge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgLy9wb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMDBweCkge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICB9XG5cbiAgICAgIC5uZnRfYW5jaG9yX25hdiB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIC8vZGlzcGxheTogbm9uZTtcbiAgICAgICAgLy9AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDAwcHgpIHtcbiAgICAgICAgLy8gIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIC8vfVxuICAgICAgfVxuICAgIH1cblxuICB9XG5cblxuICAvLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgLy8gSGVhZGVyXG5cbiAgI25mdF90ZWFzZXIge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZGlzcGxheTogaW5pdGlhbDtcblxuICAgIC8vIEhvdmVyIG9uIENhcmRcbiAgICAmLnRlYXNlcl9ob3ZlciB7XG5cbiAgICAgIC5jcm9wX3dyYXAge1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC41cztcbiAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgICAgIH1cblxuICAgICAgI25mdF9ob3Zlcl9vdmVybGF5IHtcbiAgICAgICAgb3BhY2l0eTogMSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cblxuICAgIC50ZWFzZXItYmctaW1hZ2Uge1xuICAgICAgaGVpZ2h0OiAxMDB2aDtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcblxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHdpZHRoX2JyZWFrcG9pbnRfbCkgYW5kIChtaW4taGVpZ2h0OiAkaGVpZ2h0X2JyZWFrcG9pbnRfbCkge1xuICAgICAgICAvL21pbi1oZWlnaHQ6IDg2MHB4O1xuICAgICAgICBoZWlnaHQ6IDgwdmg7XG5cbiAgICAgICAgI25mdF90ZWFzZXJfY2FyZCB7XG4gICAgICAgICAgaGVpZ2h0OiA4MHZoO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAvLyBIZWFkZXIgVGVhc2VyXG5cbiAgICAjbmZ0X3RlYXNlcl9jYXJkIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgICAubmZ0X3RlYXNlcl9jYXJkX2Nyb3Age1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgICAgIC5jYXJkX3RleHQge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDI0cHg7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgaGVpZ2h0OiAkY2FyZF9oZWlnaHRfcztcbiAgICAgICAgICB3aWR0aDogJGNhcmRfd2lkdGhfcztcblxuICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICR3aWR0aF9icmVha3BvaW50X20pIGFuZCAobWluLWhlaWdodDogJGhlaWdodF9icmVha3BvaW50X20pIHtcbiAgICAgICAgICAgIGhlaWdodDogJGNhcmRfaGVpZ2h0X207XG4gICAgICAgICAgICB3aWR0aDogJGNhcmRfd2lkdGhfbTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkd2lkdGhfYnJlYWtwb2ludF9sKSBhbmQgKG1pbi1oZWlnaHQ6ICRoZWlnaHRfYnJlYWtwb2ludF9sKSB7XG4gICAgICAgICAgICBoZWlnaHQ6ICRjYXJkX2hlaWdodF9sO1xuICAgICAgICAgICAgd2lkdGg6ICRjYXJkX3dpZHRoX2w7XG4gICAgICAgICAgfVxuXG5cbiAgICAgICAgICAubmZ0LXRlYXNlci10ZXh0LXRvcCB7XG4gICAgICAgICAgICBtYXJnaW46IDIwcHg7XG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkd2lkdGhfYnJlYWtwb2ludF9tKSBhbmQgKG1pbi1oZWlnaHQ6ICRoZWlnaHRfYnJlYWtwb2ludF9tKSB7XG4gICAgICAgICAgICAgIG1hcmdpbjogNDBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICAjbmZ0X2hvdmVyX292ZXJsYXkge1xuICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDB2dztcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcztcblxuICAgICAgICAgICAgLm92ZXJsYXlfdGl0bGUge1xuICAgICAgICAgICAgICBmb250LXNpemU6IDMwcHg7XG4gICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHdpZHRoX2JyZWFrcG9pbnRfbCkgYW5kIChtaW4taGVpZ2h0OiAkaGVpZ2h0X2JyZWFrcG9pbnRfbCkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogNjRweDtcbiAgICAgICAgICAgICAgICAvL2xpbmUtaGVpZ2h0OiA4MHB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAub3ZlcmxheV9zdWJ0aXRsZSB7XG4gICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgICAgICAgLy9saW5lLWhlaWdodDogMzBweDtcblxuICAgICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkd2lkdGhfYnJlYWtwb2ludF9sKSBhbmQgKG1pbi1oZWlnaHQ6ICRoZWlnaHRfYnJlYWtwb2ludF9sKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgICAgICAgICAgIC8vbGluZS1oZWlnaHQ6IDMwcHg7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgIH1cblxuICAgICAgICAgIC5uZnQtdGVhc2VyLXRleHQtYm90dG9tIHtcbiAgICAgICAgICAgIG1hcmdpbjogMjBweDtcbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICR3aWR0aF9icmVha3BvaW50X20pIGFuZCAobWluLWhlaWdodDogJGhlaWdodF9icmVha3BvaW50X20pIHtcbiAgICAgICAgICAgICAgbWFyZ2luOiA0MHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAudGVhc2VyX3RpdGxlIHtcbiAgICAgICAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMnB4O1xuICAgICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkd2lkdGhfYnJlYWtwb2ludF9sKSBhbmQgKG1pbi1oZWlnaHQ6ICRoZWlnaHRfYnJlYWtwb2ludF9sKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMThweDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIC5uZnRfbmF2X2J0bl93cmFwcGVyIHtcbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIC50ZWFzZXJfY3RhIHtcbiAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjNzO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI1KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgICAgIC5jcm9wX3dyYXAge1xuICAgICAgICAgIC8vaGVpZ2h0OiAkY2FyZF9oZWlnaHRfbDtcbiAgICAgICAgICAvL3dpZHRoOiAkY2FyZF93aWR0aF9sO1xuICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSkgdHJhbnNsYXRlWigwKTtcbiAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNXM7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogMjRweDtcblxuICAgICAgICAgIGhlaWdodDogJGNhcmRfaGVpZ2h0X3M7XG4gICAgICAgICAgd2lkdGg6ICRjYXJkX3dpZHRoX3M7XG5cbiAgICAgICAgICAtd2Via2l0LW1hc2staW1hZ2U6IC13ZWJraXQtcmFkaWFsLWdyYWRpZW50KHdoaXRlLCBibGFjayk7IC8vIHNhZmFyaSBmaXhcblxuICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICR3aWR0aF9icmVha3BvaW50X20pIGFuZCAobWluLWhlaWdodDogJGhlaWdodF9icmVha3BvaW50X20pIHtcbiAgICAgICAgICAgIGhlaWdodDogJGNhcmRfaGVpZ2h0X207XG4gICAgICAgICAgICB3aWR0aDogJGNhcmRfd2lkdGhfbTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkd2lkdGhfYnJlYWtwb2ludF9sKSBhbmQgKG1pbi1oZWlnaHQ6ICRoZWlnaHRfYnJlYWtwb2ludF9sKSB7XG4gICAgICAgICAgICBoZWlnaHQ6ICRjYXJkX2hlaWdodF9sO1xuICAgICAgICAgICAgd2lkdGg6ICRjYXJkX3dpZHRoX2w7XG4gICAgICAgICAgfVxuXG5cbiAgICAgICAgICAuY2FyZF9pbWFnZSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgICAgICAgd2lkdGg6IDEwMHZ3O1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDB2aDtcbiAgICAgICAgICAgIC8vaGVpZ2h0OiA4MHZoO1xuICAgICAgICAgICAgLXdlYmtpdC1tYXNrLWltYWdlOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIGxlZnQgYm90dG9tLCBmcm9tKHJnYmEoMCwgMCwgMCwgMC4zKSksIHRvKHJnYmEoMCwgMCwgMCwgMSkpKTtcbiAgICAgICAgICAgIG1hc2staW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHJnYmEoMCwgMCwgMCwgMC4zKSwgcmdiYSgwLCAwLCAwLCAxKSk7XG5cbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICR3aWR0aF9icmVha3BvaW50X2wpIGFuZCAobWluLWhlaWdodDogJGhlaWdodF9icmVha3BvaW50X2wpIHtcbiAgICAgICAgICAgICAgbWluLWhlaWdodDogODYwcHg7XG4gICAgICAgICAgICAgIGhlaWdodDogODB2aDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICB9XG5cbiAgICB9XG5cbiAgfVxuXG4gIC8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAvLyBWaWRlbyBUZWFzZXJcblxuICAudmlkZW8tdGVhc2VyIHtcbiAgICAudmlkZW8tZW1iZWQge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgcGFkZGluZy1ib3R0b206IDU2LjI1JTtcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG5cbiAgICAgIGlmcmFtZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAvLyBGQVFcblxuICAuZmFxX2xpc3Qge1xuXG4gICAgLmZhcV9lbnRyeSB7XG5cbiAgICAgIC5mYXFfY29sbGFwc2libGUge1xuXG4gICAgICAgIC5mYXFfcXVlc3Rpb24ge1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICBwYWRkaW5nOiAxOHB4O1xuICAgICAgICAgIGNvbG9yOiBibGFjaztcbiAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICAgICAucXVlc3Rpb24sIC5pY29uLCBzdmcge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC5xdWVzdGlvbiB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC5pY29uIHtcbiAgICAgICAgICAgIG1pbi13aWR0aDogMjBweDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlYWVhZWE7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5jb2xsYXBzaWJsZV9hbnN3ZXIge1xuICAgICAgICBwYWRkaW5nOiAwIDE4cHg7XG4gICAgICAgIG1heC1oZWlnaHQ6IDA7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgLjRzIGVhc2U7XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgbWFyZ2luOiAxOHB4IDA7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi5hY3RpdmUge1xuICAgICAgICAuY29sbGFwc2libGVfYW5zd2VyIHtcbiAgICAgICAgICBtYXgtaGVpZ2h0OiAyMDAwcHggIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAvLyBQaG90byBTbGlkZXJcblxuICAvLyY6bm90KC5lZGl0bW9kZSkge1xuXG4gIC5uZnRfcGhvdG9fc2xpZGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgaGVpZ2h0OiAkbmZ0X2NhcmRfd3JhcHBlcl9oZWlnaHRfcztcblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICR3aWR0aF9icmVha3BvaW50X20pIHtcbiAgICAgIGhlaWdodDogJG5mdF9jYXJkX3dyYXBwZXJfaGVpZ2h0X207XG4gICAgfVxuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHdpZHRoX2JyZWFrcG9pbnRfbCkge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICAgICBoZWlnaHQ6ICRuZnRfY2FyZF93cmFwcGVyX2hlaWdodF9sO1xuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgLnBob3RvX3NsaWRlcl9pbm5lcltkYXRhLXNsaWRlPScwJ10ge1xuICAgICAgICAucGhvdG9fY2FyZF90ZXh0IHtcbiAgICAgICAgICAudGVhc2VyX3ByaWNlIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDEgIWltcG9ydGFudDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucGhvdG9fY2FyZF9pbm5lciB7XG4gICAgICAgICAgJi5ob3Zlcl9waG90byB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMCkgIWltcG9ydGFudDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuZG90X3Bvc2l0aW9uIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgICB0b3A6IGNhbGMoI3skY2FyZF9oZWlnaHRfc30gKyA0MHB4KTtcblxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHdpZHRoX2JyZWFrcG9pbnRfbSkge1xuICAgICAgICB0b3A6ICRuZnRfY2FyZF93cmFwcGVyX2hlaWdodF9tO1xuICAgICAgfVxuXG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgfVxuXG5cbiAgICAgIC8vQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgICAvLyAgdG9wOiAkbmZ0X2NhcmRfd3JhcHBlcl9oZWlnaHRfbTtcbiAgICAgIC8vfVxuXG4gICAgICAuZG90X3NwYWNlciB7XG4gICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHdpZHRoX2JyZWFrcG9pbnRfbCkge1xuICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmRvdF93cmFwcGVyX3Bvc2l0aW9uIHtcbiAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xuXG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICR3aWR0aF9icmVha3BvaW50X2wpIHtcbiAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICB9XG5cbiAgICAgIH1cblxuICAgICAgLmRvdF93cmFwcGVyIHtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkd2lkdGhfYnJlYWtwb2ludF9sKSB7XG4gICAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgICAgICB9XG5cbiAgICAgICAgLmRvdCB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuXG4gICAgICAgICAgJjpob3ZlciwgJi5hY3RpdmUge1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAgICAgICBzdmcgY2lyY2xlIHtcbiAgICAgICAgICAgICAgZmlsbDogYmxhY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIFJldmVyc2VcbiAgICAgICYucmV2ZXJzZSB7XG4gICAgICAgIC5kb3Rfd3JhcHBlcl9wb3NpdGlvbiB7XG4gICAgICAgICAgb3JkZXI6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAuZG90X3NwYWNlciB7XG4gICAgICAgICAgb3JkZXI6IDE7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgIH1cblxuICAgIC5waG90b19zbGlkZXJfaW5uZXIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICR3aWR0aF9icmVha3BvaW50X2wpIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgIH1cblxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICAgICAgIGhlaWdodDogJG5mdF9jYXJkX3dyYXBwZXJfaGVpZ2h0X2w7XG4gICAgICB9XG5cbiAgICAgIC5waG90b19zbGlkZXIge1xuICAgICAgICBvcmRlcjogMDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBtYXJnaW46IDIwcHggMDtcbiAgICAgICAgaGVpZ2h0OiAkbmZ0X2NhcmRfd3JhcHBlcl9oZWlnaHRfcztcbiAgICAgICAgd2lkdGg6ICRjYXJkX3dpZHRoX3M7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcblxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkd2lkdGhfYnJlYWtwb2ludF9tKSB7XG4gICAgICAgICAgaGVpZ2h0OiAkbmZ0X2NhcmRfd3JhcHBlcl9oZWlnaHRfbTtcbiAgICAgICAgICB3aWR0aDogJGNhcmRfd2lkdGhfbTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICR3aWR0aF9icmVha3BvaW50X2wpIHtcbiAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICAgIG9yZGVyOiAxO1xuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICAgICAgICAgaGVpZ2h0OiAkbmZ0X2NhcmRfd3JhcHBlcl9oZWlnaHRfbDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5waG90b19jYXJkIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDI0cHg7XG4gICAgICAgICAgaGVpZ2h0OiAkY2FyZF9oZWlnaHRfcztcbiAgICAgICAgICB3aWR0aDogJGNhcmRfd2lkdGhfcztcbiAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC44cyBjdWJpYy1iZXppZXIoMC4xOCwgMC45OCwgMC40NSwgMSk7XG4gICAgICAgICAgYm94LXNoYWRvdzogMCAycHggMTBweCAwIHJnYmEoMCwgMCwgMCwgMC4wNyk7XG5cbiAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkd2lkdGhfYnJlYWtwb2ludF9tKSB7XG4gICAgICAgICAgICBoZWlnaHQ6ICRjYXJkX2hlaWdodF9tO1xuICAgICAgICAgICAgd2lkdGg6ICRjYXJkX3dpZHRoX207XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICAgICAgICAgICBoZWlnaHQ6ICRjYXJkX2hlaWdodF9sO1xuICAgICAgICAgICAgd2lkdGg6ICRjYXJkX3dpZHRoX2w7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLy8mOmhvdmVyIHtcbiAgICAgICAgICAvLyAgLnBob3RvX2NhcmRfdGV4dCB7XG4gICAgICAgICAgLy8gICAgLnRlYXNlcl9wcmljZSB7XG4gICAgICAgICAgLy8gICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgIC8vICAgIH1cbiAgICAgICAgICAvLyAgfVxuICAgICAgICAgIC8vXG4gICAgICAgICAgLy8gIC5waG90b19jYXJkX2lubmVyIHtcbiAgICAgICAgICAvLyAgICAmLmhvdmVyX3Bob3RvIHtcbiAgICAgICAgICAvLyAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgLy8gICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMCk7XG4gICAgICAgICAgLy8gICAgfVxuICAgICAgICAgIC8vICB9XG4gICAgICAgICAgLy99XG5cbiAgICAgICAgICAucGhvdG9fY2FyZF9pbm5lciB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDI0cHg7XG5cbiAgICAgICAgICAgICYuaG92ZXJfcGhvdG8ge1xuICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMXMgZWFzZS1pbi1vdXQ7XG4gICAgICAgICAgICAgIC1tb3otdHJhbnNpdGlvbjogYWxsIDFzIGVhc2UtaW4tb3V0O1xuICAgICAgICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAxcyBlYXNlLWluLW91dDtcbiAgICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjMpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLnBob3RvX2NhcmRfdGV4dCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgICAgICBwYWRkaW5nOiA0MHB4O1xuICAgICAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgei1pbmRleDogNTU1O1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgIC8vLnBob3RvX2NhcmRfdGV4dF9pbm5lciB7XG4gICAgICAgICAgICAvLyAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIC8vICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgICAgLy8gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICAgIC8vICBhbGlnbi1pdGVtczogZW5kO1xuICAgICAgICAgICAgLy99XG5cbiAgICAgICAgICAgIC50ZWFzZXJfdGl0bGUge1xuICAgICAgICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC50ZWFzZXJfcHJpY2Uge1xuICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMXMgZWFzZS1pbi1vdXQ7XG4gICAgICAgICAgICAgIC1tb3otdHJhbnNpdGlvbjogYWxsIDFzIGVhc2UtaW4tb3V0O1xuICAgICAgICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAxcyBlYXNlLWluLW91dDtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICAgIH1cblxuICAgICAgLnBob3RvX3RleHQge1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgb3JkZXI6IDE7XG5cbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHdpZHRoX2JyZWFrcG9pbnRfbCkge1xuICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgICAgb3JkZXI6IDA7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogNzBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC50ZWFzZXJfdGl0bGUge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMycHg7XG4gICAgICAgIH1cblxuICAgICAgICAubmZ0X3RleHQge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMycHg7XG4gICAgICAgIH1cblxuICAgICAgICAucGhvdG9fY3RhX2J0biB7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgYmxhY2s7XG5cbiAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlYWVhZWE7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy9UT0RPOiByZW5hbWVcbiAgICAgICAgLmluc3RhX2NvbnRlbnQge1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICBtYXJnaW46IDIwcHggMDtcblxuICAgICAgICAgIC5pbnN0YV9pbWcge1xuICAgICAgICAgICAgd2lkdGg6IDgwcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDgwcHg7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLmluc3RhX3RleHQge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLmluc3RhX2ZvbGxvd2VycyB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgLy9saW5lLWhlaWdodDogMjhweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgfVxuXG5cbiAgICAgIC8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgLy8gU2xpZGUgcG9zaXRpb25pbmcgJiBzdHlsaW5nXG5cbiAgICAgICRsYXJnZV9zY3JlZW5fbXVsdGlwbHk6IDI7XG5cbiAgICAgICRhZGp1c3RfMTogMjVweDtcbiAgICAgICRhZGp1c3RfMjogY2FsYygyICogI3skYWRqdXN0XzF9KTtcbiAgICAgICRhZGp1c3RfMzogY2FsYygzICogI3skYWRqdXN0XzF9KTtcbiAgICAgICRhZGp1c3RfNDogY2FsYyg0ICogI3skYWRqdXN0XzF9KTtcbiAgICAgICRhZGp1c3RfNTogY2FsYyg1ICogI3skYWRqdXN0XzF9KTtcblxuICAgICAgJltkYXRhLXNsaWRlPScwJ10ge1xuICAgICAgICAucGhvdG9fY2FyZCB7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMzJzIGN1YmljLWJlemllcigwLjE4LCAwLjk4LCAwLjQ1LCAxKTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwcHgsIDBweCkgc2NhbGUoMSk7XG4gICAgICAgICAgei1pbmRleDogNjtcbiAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB9XG5cbiAgICAgICAgLnBob3RvX3RleHQge1xuICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIH1cblxuICAgICAgICBhIHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJltkYXRhLXNsaWRlPScxJ10ge1xuICAgICAgICAucGhvdG9fY2FyZCB7XG4gICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjkpO1xuICAgICAgICAgIHotaW5kZXg6IDU7XG4gICAgICAgICAgbGVmdDogJGFkanVzdF8xO1xuICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY1MHB4KSB7XG4gICAgICAgICAgICBsZWZ0OiBjYWxjKCN7JGFkanVzdF8xfSAqICN7JGxhcmdlX3NjcmVlbl9tdWx0aXBseX0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmW2RhdGEtc2xpZGU9JzInXSB7XG4gICAgICAgIC5waG90b19jYXJkIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOCk7XG4gICAgICAgICAgei1pbmRleDogNDtcbiAgICAgICAgICBsZWZ0OiAkYWRqdXN0XzI7XG4gICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjUwcHgpIHtcbiAgICAgICAgICAgIGxlZnQ6IGNhbGMoI3skYWRqdXN0XzJ9ICogI3skbGFyZ2Vfc2NyZWVuX211bHRpcGx5fSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICZbZGF0YS1zbGlkZT0nMyddIHtcbiAgICAgICAgLnBob3RvX2NhcmQge1xuICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC43KTtcbiAgICAgICAgICB6LWluZGV4OiAzO1xuICAgICAgICAgIGxlZnQ6ICRhZGp1c3RfMztcbiAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NTBweCkge1xuICAgICAgICAgICAgbGVmdDogY2FsYygjeyRhZGp1c3RfM30gKiAjeyRsYXJnZV9zY3JlZW5fbXVsdGlwbHl9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJltkYXRhLXNsaWRlPSc0J10ge1xuICAgICAgICAucGhvdG9fY2FyZCB7XG4gICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjYpO1xuICAgICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgICAgbGVmdDogJGFkanVzdF80O1xuICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY1MHB4KSB7XG4gICAgICAgICAgICBsZWZ0OiBjYWxjKCN7JGFkanVzdF80fSAqICN7JGxhcmdlX3NjcmVlbl9tdWx0aXBseX0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmW2RhdGEtc2xpZGU9JzUnXSB7XG4gICAgICAgIC5waG90b19jYXJkIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuNSk7XG4gICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICBsZWZ0OiAkYWRqdXN0XzU7XG4gICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjUwcHgpIHtcbiAgICAgICAgICAgIGxlZnQ6IGNhbGMoI3skYWRqdXN0XzV9ICogI3skbGFyZ2Vfc2NyZWVuX211bHRpcGx5fSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICZbZGF0YS1zbGlkZT0nMSddLFxuICAgICAgJltkYXRhLXNsaWRlPScyJ10sXG4gICAgICAmW2RhdGEtc2xpZGU9JzMnXSxcbiAgICAgICZbZGF0YS1zbGlkZT0nNCddLFxuICAgICAgJltkYXRhLXNsaWRlPSc1J10ge1xuICAgICAgICAucGhvdG9fY2FyZCB7XG4gICAgICAgICAgb3BhY2l0eTogMC44O1xuICAgICAgICB9XG5cbiAgICAgICAgLmJsdXJfbGF5ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMTk2LCAxOTYsIDE5NiwgMC41KTtcbiAgICAgICAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoNzVweCk7XG4gICAgICAgICAgei1pbmRleDogODtcbiAgICAgICAgfVxuXG4gICAgICAgIC5waG90b190ZXh0IHtcbiAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB9XG4gICAgICB9XG5cblxuICAgICAgLy8gUmV2ZXJzZSBvcHRpb25cbiAgICAgICYucmV2ZXJzZSB7XG4gICAgICAgIC5waG90b19zbGlkZXIge1xuICAgICAgICAgIG9yZGVyOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLnBob3RvX3RleHQge1xuICAgICAgICAgIG9yZGVyOiAxO1xuICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICR3aWR0aF9icmVha3BvaW50X2wpIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNzBweDtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICB9XG5cbiAgfVxuXG4gIC8vfVxuXG5cbiAgLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIC8vIFNwYWNlclxuXG4gIC5uZnRfc3BhY2VyIHtcbiAgICAucyB7XG4gICAgICBoZWlnaHQ6IDUwcHg7XG4gICAgfVxuXG4gICAgLmxpbmUge1xuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4yNSk7XG4gICAgfVxuICB9XG5cbiAgLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIC8vIFRleHRJbWFnZSBPdmVycmlkZXNcblxuICAvLy5jb21wb25lbnQtdGV4dC1pbWFnZSB7XG4gIC8vICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIC8vfVxuXG4gIC8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAvLyBGb290ZXIgb3ZlcnJpZGVzXG5cbiAgI2Zvb3RlciB7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgbWF4LXdpZHRoOiAxMTQ0cHg7XG4gICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtO1xuXG4gICAgaDEsIGgyLCBoMywgaDQsIGg1LCBhLCBwIHtcbiAgICAgIGZvbnQtZmFtaWx5OiAnU291cmNlIFNhbnMgUHJvJztcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgfVxuXG4gICAgLnRleHQgcCxcbiAgICAudGV4dCBhIHtcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS40Mzc1cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC43NXJlbTtcbiAgICB9XG5cblxuICB9XG5cbiAgLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIC8vIEJhc2UgU3R5bGVzXG5cbiAgLm5mdF9jb250ZW50IHtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBtYXgtd2lkdGg6IDExNDRweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07XG4gIH1cblxuICAubmZ0X3NlY3Rpb24ge1xuICAgIG1hcmdpbjogNTBweCAwO1xuICAgIHBhZGRpbmc6IDUwcHggMDtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjI1KTtcbiAgfVxuXG4gIC5uZnRfYmdfaW1nIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXG4gICAgdmlkZW8ge1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDoxMDAlXG4gICAgfVxuXG4gICAgI25mdF90ZWFzZXJfY2FyZCB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgfVxuICB9XG5cbiAgLm5mdF9uYXZfbGlua3Mge1xuICAgIGEge1xuICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgbWFyZ2luLWxlZnQ6IDI0cHg7XG4gICAgfVxuICB9XG5cbiAgLm5mdF90ZXh0IHAgYSxcbiAgLnRleHQgbGkgYSxcbiAgLnRleHQgcCBhLFxuICAudGV4dCBwIHNwYW4ubGluayxcbiAgc3Bhbi5vcGVuY2hhdCxcbiAgc3Bhbi5vcGVuc29waGlhe1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBjb2xvcjogIzAwMDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAmOjphZnRlcixcbiAgICAmOjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDJweDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgfVxuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNhYmFiYWI7XG4gICAgICBtaXgtYmxlbmQtbW9kZTogbXVsdGlwbHk7XG4gICAgfVxuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGVYKDApO1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgZWFzZTtcbiAgICB9XG5cbiAgICAmOmhvdmVyOjphZnRlciB7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlWCgxKTtcbiAgICB9XG4gIH1cblxuICBoMSwgLmgxIHtcbiAgICBmb250LXdlaWdodDogOTAwO1xuICAgIGZvbnQtc2l6ZTogNjRweDtcbiAgfVxuXG4gIGgyLCAubGVhZCB7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXNpemU6IDQycHg7XG4gIH1cblxuICBoMywgLmgzIHtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtc2l6ZTogMzJweDtcbiAgfVxuXG4gIGg0LCAuaDQsIC50aXRsZSB7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXNpemU6IDI0cHg7XG4gIH1cblxuICBoNSwgLmg1IHtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgfVxuXG4gIHN0cm9uZyB7XG4gICAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgfVxuXG4gIC5uZnRfYnV0dG9uX2xpbmsge1xuICAgIHBhZGRpbmc6IDdweCAxNnB4O1xuICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgIGJvcmRlci1yYWRpdXM6IDI0cHg7XG4gICAgY29sb3I6IGJsYWNrO1xuICB9XG5cbiAgLm5mdF9idXR0b24ge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgYm9yZGVyLXJhZGl1czogMjRweDtcblxuICAgIGEge1xuICAgICAgcGFkZGluZzogN3B4IDE2cHg7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGNvbG9yOiBibGFjaztcblxuICAgICAgc3BhbiB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogOHB4O1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG5cbiAgLm5mdF9idXR0b25fbGluayxcbiAgLm5mdF9idXR0b24gYSBzcGFuLFxuICAubmZ0X2J1dHRvbiB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHdpZHRoX2JyZWFrcG9pbnRfbSkge1xuICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgIH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkd2lkdGhfYnJlYWtwb2ludF9sKSB7XG4gICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgfVxuICB9XG5cblxuICAubmZ0X25hdl9idG5fd3JhcHBlciB7XG4gICAgbWFyZ2luLWxlZnQ6IDI0cHg7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIG91dGxpbmU6IDFweCBzb2xpZCB3aGl0ZTtcbiAgICB9XG5cbiAgICBhLm5mdF9uYXZfYnRuIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICBwYWRkaW5nOiA0cHggMTJweDtcbiAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICB9XG5cbiAgICAvL0BtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICR3aWR0aF9icmVha3BvaW50X20pIHtcbiAgICAgIC8vZGlzcGxheTogbm9uZTtcbiAgICAvL31cbiAgfVxuXG5cbiAgLnRlYXNlcl90aXRsZSB7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXNpemU6IDQycHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuMTtcbiAgICAvL2xpbmUtaGVpZ2h0OiA1M3B4O1xuICAgIGNvbG9yOiBibGFjaztcbiAgICAvL21hcmdpbjogMXJlbSAwIDJyZW0gMDtcblxuICAgIC8vQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHdpZHRoX2JyZWFrcG9pbnRfbSkgYW5kIChtaW4taGVpZ2h0OiAkaGVpZ2h0X2JyZWFrcG9pbnRfbSkge1xuICAgIC8vICBmb250LXNpemU6IDM2cHg7XG4gICAgLy99XG5cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpIGFuZCAobWluLWhlaWdodDogJGhlaWdodF9icmVha3BvaW50X2wpIHtcbiAgICAgIGZvbnQtc2l6ZTogMmVtO1xuICAgIH1cblxuICB9XG5cbiAgLnBob3RvX2NhcmQsXG4gIC5uZnRfdGVhc2VyX2NhcmRfY3JvcCB7XG4gICAgKiB7XG4gICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICB9XG5cbiAgICAudGVhc2VyX3RpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XG5cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICR3aWR0aF9icmVha3BvaW50X20pIGFuZCAobWluLWhlaWdodDogJGhlaWdodF9icmVha3BvaW50X20pIHtcbiAgICAgICAgZm9udC1zaXplOiAzNnB4O1xuICAgICAgfVxuXG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkd2lkdGhfYnJlYWtwb2ludF9sKSBhbmQgKG1pbi1oZWlnaHQ6ICRoZWlnaHRfYnJlYWtwb2ludF9sKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogNDJweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMThweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubmZ0X3RleHQgcCxcbiAgLm5mdF90ZXh0IHtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgLy9saW5lLWhlaWdodDogMjhweDtcbiAgICAvL21hcmdpbjogMC44cmVtIDAgMS42cmVtIDA7XG4gICAgY29sb3I6IGJsYWNrO1xuICB9XG5cbiAgLmRyb3AtY291bnQge1xuICAgIGZvbnQtd2VpZ2h0OiAyMDA7XG4gICAgLy9saW5lLWhlaWdodDogMzBweDtcbiAgICAvL21hcmdpbjogMC44cmVtIDAgMS42cmVtIDA7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICR3aWR0aF9icmVha3BvaW50X20pIHtcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHdpZHRoX2JyZWFrcG9pbnRfbCkge1xuICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgIH1cbiAgfVxuXG4gIC5kcm9wLXNtYWxsIHtcbiAgICBmb250LXdlaWdodDogMzAwO1xuICAgIC8vbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgLy9tYXJnaW46IDAuNnJlbSAwIDEuMnJlbSAwO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBmb250LXNpemU6IDE0cHg7XG5cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkd2lkdGhfYnJlYWtwb2ludF9sKSB7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgfVxuICB9XG5cbiAgLmRyb3AtYmlnIHtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBjb2xvcjogd2hpdGU7XG5cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkd2lkdGhfYnJlYWtwb2ludF9tKSB7XG4gICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICR3aWR0aF9icmVha3BvaW50X2wpIHtcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICB9XG4gIH1cblxuICA6OnNlbGVjdGlvbiB7XG4gICAgYmFja2dyb3VuZDogIzAwMDAwMDtcbiAgfVxuXG5cbiAgLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIC8vIFJhaXNlIE5vd1xuICAkbmZ0X3JhaXNlbm93X2NvbDogIzAwMDAwMDtcbiAgJG5mdF9yYWlzZW5vd19iZ19jb2w6ICNjYmNiY2I7XG5cbiAgI2xlbWEtY29udGFpbmVyIHtcbiAgICAmLmxlbWEtY29udGFpbmVyIHtcbiAgICAgIC5sZW1hLXdyYXBwZXIge1xuICAgICAgICAubGVtYS1hY2NvcmRpb24taXRlbSAubGVtYS1hY2NvcmRpb24taGVhZGVyLFxuICAgICAgICAubGVtYS1hY2NvcmRpb24taXRlbSAubGVtYS1hY2NvcmRpb24tY29udGVudCB7XG4gICAgICAgICAgY29sb3I6ICRuZnRfcmFpc2Vub3dfY29sO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuZnRfcmFpc2Vub3dfYmdfY29sO1xuXG4gICAgICAgICAgLmxlbWEtYWNjb3JkaW9uLWl0ZW0tdGl0bGUge1xuICAgICAgICAgICAgY29sb3I6IGJsYWNrO1xuXG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA1Ny4xIDI4LjYnJTNlJTNjcGF0aCBkPSdNLjQgMmwyNy40IDI2LjJjLjUuNCAxLjIuNCAxLjYgMEw1Ni44IDJjLjUtLjUuNS0xLjIgMC0xLjctLjItLjItLjUtLjMtLjgtLjNoLTQuOGMtLjMgMC0uNi4xLS44LjNMMjguNiAyMSA2LjguM0M2LjUuMSA2LjMgMCA2IDBIMS4yQy41IDAgMCAuNSAwIDEuMmMwIC4zLjEuNi40Ljh6JyBmaWxsPSdibGFjaycvJTNlJTNjL3N2ZyUzZVwiKSBuby1yZXBlYXQgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubGVtYS1hY2NvcmRpb24taXRlbS5hY2NvcmRpb24tb3BlbiAubGVtYS1hY2NvcmRpb24taGVhZGVyLFxuICAgICAgICAubGVtYS1hY2NvcmRpb24taXRlbS5hY2NvcmRpb24tb3BlbiAubGVtYS1hY2NvcmRpb24tY29udGVudCB7XG4gICAgICAgICAgcCB7XG4gICAgICAgICAgICBjb2xvcjogJG5mdF9yYWlzZW5vd19jb2w7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLmxlbWEtYWNjb3JkaW9uLWl0ZW0tdGl0bGUge1xuICAgICAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5sZW1hLWFjY29yZGlvbi1pdGVtLmFjY29yZGlvbi1vcGVuIC5sZW1hLWFjY29yZGlvbi1oZWFkZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuZnRfcmFpc2Vub3dfY29sO1xuICAgICAgICB9XG5cbiAgICAgICAgLmxlbWEtc3RlcC1oZWFkZXIge1xuICAgICAgICAgIC5sZW1hLXN0ZXAtaGVhZGVyLXRleHQge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1mYW1pbHkoc2VtaWJvbGQsIDMyLCAtMSwgJG5mdF9yYWlzZW5vd19jb2wpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC5sZW1hLXN0ZXAtbnVtYmVyIHtcbiAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmZ0X3JhaXNlbm93X2NvbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpbnB1dFt0eXBlPVwicmFkaW9cIl0gKyBsYWJlbCxcbiAgICAgICAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdICsgbGFiZWwge1xuICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgY29sb3I6ICRuZnRfcmFpc2Vub3dfY29sO1xuICAgICAgICAgIH1cblxuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRuZnRfcmFpc2Vub3dfY29sO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5sZW1hLWJ1dHRvbiB7XG4gICAgICAgICAgY29sb3I6ICRuZnRfcmFpc2Vub3dfY29sO1xuICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICRuZnRfcmFpc2Vub3dfY29sO1xuICAgICAgICB9XG5cbiAgICAgICAgLmxlbWEtYW1vdW50LWJveCB7XG4gICAgICAgICAgJi5sZW1hLWFjdGl2ZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkbmZ0X3JhaXNlbm93X2NvbDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgLy8gRWRpdCBNb2RlXG5cbiAgJi5lZGl0bW9kZSB7XG5cbiAgICAubmZ0X2JnX2ltZyB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuXG4gICAgLy9UT0RPOiBORlQgQ2FyZCBwb3NpdGlvbmllcnVuZ1xuXG4gICAgLm5mdF9waG90b19zbGlkZXIge1xuICAgICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgLnBob3RvX3NsaWRlcl9pbm5lciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGhlaWdodDogY2FsYygjeyRjYXJkX2hlaWdodF9sfSArIDExMHB4KTtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG5cblxuICAgICAgICAucGhvdG9fdGV4dCB7XG4gICAgICAgICAgb3BhY2l0eTogMSAhaW1wb3J0YW50O1xuICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICB9XG5cbiAgICAgICAgLnBob3RvX3NsaWRlciB7XG4gICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICB9XG5cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuZG90X3NwYWNlciB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC5kb3Rfd3JhcHBlcl9wb3NpdGlvbiB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC5kb3RfcG9zaXRpb24ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuXG5cbiAgfVxuXG59XG5cblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyBNYWluIHBhZ2UgbGluayBidXR0b24gdG8gTkZUIHBhZ2VcblxuI25hdmlnYXRpb24ge1xuXG4gIC8vIEJ1dHRvbiBTdHlsaW5nXG4gICNuZnRfY3RhX2J0biB7XG4gICAgZGlzcGxheTogZmxleDtcblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0ZW0pIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDAuOTM3NXJlbTtcbiAgICAgIGJvdHRvbTogMC43NXJlbTtcbiAgICAgIC8vYm90dG9tOiAwO1xuICAgICAgLy9sZWZ0OiAwO1xuICAgIH1cblxuICAgIC5kb25hdGUtYnV0dG9uIHtcbiAgICAgIG1hcmdpbjogYXV0byAwO1xuICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDg5LjhkZWcsICMzQTUzNzYgMC4xNSUsICNBNjkwOEQgOTkuODElKTtcblxuICAgICAgc3BhbiB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZmFtaWx5KHNlbWlib2xkLCAkbm9ybWFsLWZzLCAtMSwgbnVsbCwgMC45KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgfVxuXG5cbiAgLy8gTmF2aWdhdGlvbiBvdmVycmlkZXNcbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICB1bC5sZXZlbC0xIHtcbiAgICAgIHdpZHRoOiB1bnNldDtcbiAgICB9XG5cbiAgfVxuXG5cbn1cblxuYm9keSNuZnQtY2FtcGFpZ24uc29waGlhIHtcbiAgI25mdF90ZWFzZXIge1xuICAgIC50ZWFzZXJfdGl0bGUge1xuICAgICAgdGV4dC1zaGFkb3c6IHJnYigyNTUsIDAsIDApIDAgMCA0MHB4O1xuXG4gICAgfVxuXG4gICAgLm5mdF9iZ19pbWcge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG5cbiAgICAgIHBhZGRpbmc6IDIwcHggMDtcblxuXG5cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjNweCkge1xuICAgICAgICBwYWRkaW5nOiA4MHB4IDAgMjBweCAwO1xuICAgICAgfVxuXG5cbiAgICAgIEBtZWRpYSAob3JpZW50YXRpb246IHBvcnRyYWl0KSBhbmQgKG1heC13aWR0aDogMTAyM3B4KSB7XG4gICAgICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cblxuICAubmZ0X2JnX2ltZy5ncmVlbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGdyZWVuO1xuICB9XG4gIC5uZnRfYmdfaW1nLmJsdWUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRibHVlO1xuICB9XG4gIC5uZnRfYmdfaW1nLmRhcmtibHVlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZGFya2JsdWU7XG4gIH1cbiAgLm5mdF9iZ19pbWcuYnJvd24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRicm93bjtcbiAgfVxufVxuXG5cbnNwYW4ub3BlbmNoYXQsIHNwYW4ub3BlbnNvcGhpYSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuXG5zcGFuLnZpZGVvLWNpcmNsZSB7XG4gIC8vQG1lZGlhIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gIC8vICBoZWlnaHQ6IDEwMCU7XG4gIC8vfVxuICAvL1xuICAvL0BtZWRpYSAob3JpZW50YXRpb246IHBvcnRyYWl0KSBhbmQgKG1pbi13aWR0aDogJHdpZHRoX2JyZWFrcG9pbnRfbCkge1xuICAvLyAgaGVpZ2h0OiAxMDAlO1xuICAvL31cblxuXG4gIHdpZHRoOiBhdXRvO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuXG4gIG1heC1oZWlnaHQ6IDEwMCU7XG4gIGFzcGVjdC1yYXRpbzogMTtcbn1cbiIsIkBjaGFyc2V0IFwidXRmLThcIjtcbkB1c2UgJ3Nhc3M6bWF0aCc7XG5cbi8vQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjUwcHgpIHtcbi8vfVxuLy9AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAwcHgpIHtcbi8vfVxuXG4jcG9wdXAge1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHotaW5kZXg6IDk5OTk5OTk5OTk5O1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgLjVzLCB0cmFuc2Zvcm0gLjVzO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjcpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwQkI7XG5cbiAgJi52aXNpYmxlIHtcbiAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIH1cblxuICAub3ZlcmxheS13cmFwcGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuNXM7XG5cblxuICAgIC8vcGFkZGluZzogcHgoJHNpZGVQYWRkaW5nKTtcblxuICAgIC5vdmVybGF5LWNsb3NlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAyMHB4O1xuICAgICAgdG9wOiAyMHB4O1xuICAgICAgei1pbmRleDogOTk7IC8vbmVlZCB0byBnbyBvdmVyIG5hdlxuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgc3ZnIHtcbiAgICAgICAgd2lkdGg6IDM3LjdweDtcbiAgICAgICAgaGVpZ2h0OiAzNy43cHg7XG4gICAgICAgIC5vdi1jbG9zZSB7XG4gICAgICAgICAgc3Ryb2tlOiAkd2hpdGU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgIH1cbiAgfVxuXG4gIC5vdmVybGF5LXNjcm9sbCB7XG4gICAgd2lkdGg6IDcwMHB4O1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IGF1dG87XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgb3ZlcnNjcm9sbC1iZWhhdmlvci1ibG9jazogY29udGFpbjtcbiAgfVxuXG4gIC5vdmVybGF5LWNvbnRlbnQge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcblxuICAgID4gaWZyYW1lIHtcbiAgICAgIG1pbi1oZWlnaHQ6IDkwdmg7XG4gICAgfVxuXG4gICAgJi5jb250ZW50LXdpZHRoIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgfVxuICB9XG59XG4iLCJAY2hhcnNldCBcInV0Zi04XCI7XG5cbi8vIHJhaXNlbm93IGZvcm1zIGN1c3RvbSBzdHlsaW5nXG5cbi5jb21wb25lbnQtaHRtbCAucm53LXdpZGdldC1jb250YWluZXJ7XG4gIC8vY2hhbmdlIGNzcyBjb2xvcnNcbiAgLS10YW1hcm8tYmxvY2staGVhZGVyLXBvc2l0aW9uLWJnLWNvbG9yOiAjMDA2ZjY5O1xuICAtLXRhbWFyby1iZy1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cbiAgLndpZGdldC1ibG9jay1oZWFkZXIgaDIge1xuICAgIC5wb3NpdGlvbntcbiAgICAgIGZvbnQtc2l6ZTogMTdweCAhaW1wb3J0YW50O1xuICAgICAgd2lkdGg6IDI3cHggIWltcG9ydGFudDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyN3B4ICFpbXBvcnRhbnQ7XG4gICAgICBoZWlnaHQ6IDI3cHggIWltcG9ydGFudDtcbiAgICAgIG1hcmdpbi10b3A6IDJweCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAudGV4dHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW0gIWltcG9ydGFudDtcbiAgICAgIGZvbnQtc2l6ZTogMi41cmVtICFpbXBvcnRhbnQ7XG4gICAgICBjb2xvcjogIzAwNmY2OSAhaW1wb3J0YW50O1xuICAgICAgbGluZS1oZWlnaHQ6IDNyZW0gIWltcG9ydGFudDtcbiAgICAgIGZvbnQtZmFtaWx5OiBOZXVlU2Fuc1Byby1TZW1pQm9sZCwgSGVsdmV0aXZhLCBzYW5zLXNlcmlmICFpbXBvcnRhbnQ7XG4gICAgICBmb250LXdlaWdodDogNDAwICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG4gIC53aWRnZXQtYmxvY2stY29udGVudCB7XG4gICAgLnBheW1lbnQtYW1vdW50cyAuYW1vdW50cyB7XG4gICAgICAubGFiZWwtcmFkaW8tYmxvY2sge1xuICAgICAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3ggIWltcG9ydGFudDtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveCAhaW1wb3J0YW50O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICAgICAgd2lkdGg6IDkwcHggIWltcG9ydGFudDtcbiAgICAgICAgaGVpZ2h0OiA5MHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmZmYgIWltcG9ydGFudDtcbiAgICAgICAgYm9yZGVyOiAjY2NjIDFweCBzb2xpZCAhaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nOiAxMHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMjBweCAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGNvbG9yOiAjNzc3ICFpbXBvcnRhbnQ7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlciAhaW1wb3J0YW50O1xuICAgICAgICAmLmlucHV0LWNoZWNrZWQge1xuICAgICAgICAgIGNvbG9yOiAjZmZmZmZmICFpbXBvcnRhbnQ7XG4gICAgICAgICAgYmFja2dyb3VuZDogIzAwNkY2OSAhaW1wb3J0YW50O1xuICAgICAgICAgIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICAgIC5jb2RlLFxuICAgICAgICAgIC52YWx1ZSB7XG4gICAgICAgICAgICBjb2xvcjogd2hpdGUgIWltcG9ydGFudDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLm1haW4ge1xuICAgICAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgICAgICAgIC5pbnB1dC1yYWRpbyxcbiAgICAgICAgICAubWQtY2hlY2thYmxlLWljb24td3JhcHBlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgICAgfVxuICAgICAgICAgIC5jb2RlIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTBweCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDJweCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEycHggIWltcG9ydGFudDtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWYgIWltcG9ydGFudDtcbiAgICAgICAgICB9XG4gICAgICAgICAgLnZhbHVlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBmb250LXNpemU6IDM1cHggIWltcG9ydGFudDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDQycHggIWltcG9ydGFudDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBmb250LWZhbWlseTogXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAuZm9ybS1ibG9jayB7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgLmZpZWxkLWJsb2NrIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgaW5wdXRbdHlwZT10ZXh0XSB7XG4gICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgd2lkdGg6IDNjaDtcbiAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDBweCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAuZmllbGRzLWJsb2NrIHtcbiAgICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbiAgICAgIGxhYmVsIHtcbiAgICAgICAgLy9yYWRpbyBidG5zXG4gICAgICAgIHBhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICBtYXgtd2lkdGg6IDkwcHggIWltcG9ydGFudDtcbiAgICAgICAgZm9udC1zaXplOiAxNXB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cbiAgICAuZmllbGQtYmxvY2sge1xuICAgICAgLmljb25zLWJsb2NrIHtcbiAgICAgICAgcmlnaHQ6IDEwcHg7XG4gICAgICAgIHRvcDogLTJweDtcbiAgICAgIH1cbiAgICAgIHNlbGVjdCxcbiAgICAgIHRleHRhcmVhLFxuICAgICAgaW5wdXRbdHlwZT1cImVtYWlsXCJdLFxuICAgICAgaW5wdXRbdHlwZT1cInRlbFwiXSxcbiAgICAgIGlucHV0W3R5cGU9XCJ0ZXh0XCJde1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZGNkN2Q3ICFpbXBvcnRhbnQ7XG4gICAgICAgIGNvbG9yOiAjYjQ4MzhhICFpbXBvcnRhbnQ7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbSAhaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IC42MjVyZW0gIWltcG9ydGFudDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogLjYyNXJlbSAhaW1wb3J0YW50O1xuICAgICAgICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3ggIWltcG9ydGFudDtcbiAgICAgICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94ICFpbXBvcnRhbnQ7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3ggIWltcG9ydGFudDtcbiAgICAgICAgYmFja2dyb3VuZDogI2ZmZiAhaW1wb3J0YW50O1xuICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICBoZWlnaHQ6IDQ2cHggIWltcG9ydGFudDtcbiAgICAgICAgYm9yZGVyOiAjY2NjIDFweCBzb2xpZCAhaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nOiAwIDIwcHggIWltcG9ydGFudDtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZiAhaW1wb3J0YW50O1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsICFpbXBvcnRhbnQ7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjIgIWltcG9ydGFudDtcbiAgICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQgIWltcG9ydGFudDtcbiAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMnB4IHJnYmEoMTAsIDEwLCAxMCwgMC4xKTtcbiAgICAgICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQsIC13ZWJraXQtYm94LXNoYWRvdyAwLjVzO1xuXG4gICAgICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgICAgICBjb2xvcjogIzk5OSAhaW1wb3J0YW50O1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiBcIkhlbHZldGljYSBOZXVlXCIsSGVsdmV0aWNhLEFyaWFsLHNhbnMtc2VyaWYgIWltcG9ydGFudDtcbiAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsICFpbXBvcnRhbnQ7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMiAhaW1wb3J0YW50O1xuICAgICAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkICFpbXBvcnRhbnQ7XG4gICAgICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZSAhaW1wb3J0YW50O1xuICAgICAgICAgIGZvbnQtc2l6ZTogMThweCAhaW1wb3J0YW50O1xuICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAxcHggIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgc2VsZWN0IHtcbiAgICAgICAgZm9udC1zaXplOiAxOHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGNvbG9yOiAjMzMzICFpbXBvcnRhbnQ7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyLjQgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICAgIHRleHRhcmVhIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDEwcHggIWltcG9ydGFudDtcbiAgICAgICAgaGVpZ2h0OiA0NXB4ICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5wYXltZW50LW1ldGhvZC1mb3JtLmNhcmQge1xuICAgIC5maWVsZC1ibG9jayB7XG4gICAgICBsYWJlbCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICAgIC5pY29ucy1ibG9jayB7XG4gICAgICAgIHJpZ2h0OiAxMHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIHRvcDogLTVweCAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAucGF5bWVudC1zdWJtaXQgLm1haW4ge1xuICAgIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50O1xuICAgIGJ1dHRvbiB7XG4gICAgICBmb250LXNpemU6IDEuMjVyZW0gIWltcG9ydGFudDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjVyZW0gIWltcG9ydGFudDtcbiAgICAgIGZvbnQtZmFtaWx5OiBOZXVlU2Fuc1Byby1TZW1pQm9sZCwgSGVsdmV0aXZhLCBzYW5zLXNlcmlmICFpbXBvcnRhbnQ7XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsICFpbXBvcnRhbnQ7XG4gICAgICBsZXR0ZXItc3BhY2luZzogMC45cHggIWltcG9ydGFudDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDVweCAhaW1wb3J0YW50O1xuICAgICAgYmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICBjb2xvcjogIzAwNkY2OSAhaW1wb3J0YW50O1xuICAgICAgYm9yZGVyOiAycHggc29saWQgIzAwNkY2OSAhaW1wb3J0YW50O1xuICAgICAgd2lkdGg6IDUwJSAhaW1wb3J0YW50O1xuICAgICAgcGFkZGluZy10b3A6IDAuNjI1cmVtICFpbXBvcnRhbnQ7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMC4zNzVyZW0gIWltcG9ydGFudDtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xuICAgICAgJjpob3ZlciB7XG4gICAgICAgIG9wYWNpdHk6IC44ICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5mb290ZXItaW5mbyB7XG4gICAgYnV0dG9uIC5saW5rIHtcbiAgICAgIGNvbG9yOiAjMzMzICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbn1cbiIsIkBjaGFyc2V0IFwidXRmLThcIjtcblxuQGltcG9ydCAnLi4vcy1zZXR0aW5ncyc7XG5cbiNsZW1hLWNvbnRhaW5lciB7XG5cbiAgICAmLmxlbWEtY29udGFpbmVyIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1mYW1pbHkoc3RhbmRhcmQsICRub3JtYWwtZnMsIDI0KTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgLmxlbWEtd3JhcHBlciB7XG5cbiAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZmFtaWx5KHN0YW5kYXJkLCAkbm9ybWFsLWZzLCAyNCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5sZW1hLWFjY29yZGlvbi1pdGVtIC5sZW1hLWFjY29yZGlvbi1oZWFkZXIsXG4gICAgICAgICAgICAubGVtYS1hY2NvcmRpb24taXRlbSAubGVtYS1hY2NvcmRpb24tY29udGVudCB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRwZXRyb2w7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibHVlbGlnaHQ7XG4gICAgICAgICAgICAgICAgLmxlbWEtYWNjb3JkaW9uLWl0ZW0tdGl0bGUge1xuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDE5cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAyMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEzcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDhweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlWigtOTBkZWcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnM7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgNTcuMSAyOC42JyUzZSUzY3BhdGggZD0nTS40IDJsMjcuNCAyNi4yYy41LjQgMS4yLjQgMS42IDBMNTYuOCAyYy41LS41LjUtMS4yIDAtMS43LS4yLS4yLS41LS4zLS44LS4zaC00LjhjLS4zIDAtLjYuMS0uOC4zTDI4LjYgMjEgNi44LjNDNi41LjEgNi4zIDAgNiAwSDEuMkMuNSAwIDAgLjUgMCAxLjJjMCAuMy4xLjYuNC44eicgZmlsbD0nJTIzMDA2RjY5Jy8lM2UlM2Mvc3ZnJTNlXCIpIG5vLXJlcGVhdCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmxlbWEtYWNjb3JkaW9uLWl0ZW0uYWNjb3JkaW9uLW9wZW4gLmxlbWEtYWNjb3JkaW9uLWhlYWRlcixcbiAgICAgICAgICAgIC5sZW1hLWFjY29yZGlvbi1pdGVtLmFjY29yZGlvbi1vcGVuIC5sZW1hLWFjY29yZGlvbi1jb250ZW50IHtcbiAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkcGV0cm9sO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAubGVtYS1hY2NvcmRpb24taXRlbS10aXRsZSB7XG4gICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlWigwZGVnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA1Ny4xIDI4LjYnJTNlJTNjcGF0aCBkPSdNLjQgMmwyNy40IDI2LjJjLjUuNCAxLjIuNCAxLjYgMEw1Ni44IDJjLjUtLjUuNS0xLjIgMC0xLjctLjItLjItLjUtLjMtLjgtLjNoLTQuOGMtLjMgMC0uNi4xLS44LjNMMjguNiAyMSA2LjguM0M2LjUuMSA2LjMgMCA2IDBIMS4yQy41IDAgMCAuNSAwIDEuMmMwIC4zLjEuNi40Ljh6JyBmaWxsPSclMjNmZmYnLyUzZSUzYy9zdmclM2VcIikgbm8tcmVwZWF0ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5sZW1hLWFjY29yZGlvbi1pdGVtLmFjY29yZGlvbi1vcGVuIC5sZW1hLWFjY29yZGlvbi1oZWFkZXIge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHBldHJvbDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmxlbWEtc3RlcCB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5sZW1hLXN0ZXAtaGVhZGVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAwO1xuXG4gICAgICAgICAgICAgICAgLmxlbWEtc3RlcC1oZWFkZXItdGV4dCB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZmFtaWx5KHNlbWlib2xkLCAkbGFyZ2UtZnMsIC0xLCAkcGV0cm9sKTtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAkZ2xvYmFsLW1hcmdpbioyLjU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5sZW1hLXN0ZXAtbnVtYmVyIHtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiByZW0tY2FsYygxNyk7XG4gICAgICAgICAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHBldHJvbDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmxlbWEtY2hlY2tib3gtbGFiZWwge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZmFtaWx5KHN0YW5kYXJkLCAkbm9ybWFsLWZzLCAyNCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5sZW1hLWlucHV0LXRleHQsXG4gICAgICAgICAgICAubGVtYS1pbnB1dC10ZXh0YXJlYSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0Z3JheTtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGJyb3duO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJG5vcm1hbC1mcyk7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiByZW0tY2FsYygxMCk7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogcmVtLWNhbGMoMTApO1xuICAgICAgICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkbGlnaHRncmF5O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaW5wdXRbdHlwZT1cInJhZGlvXCJdICsgbGFiZWwsXG4gICAgICAgICAgICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0gKyBsYWJlbCB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogcmVtLWNhbGMoMjcpO1xuICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogcmVtLWNhbGMoMTYpO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogcmVtLWNhbGMoMTYpO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkbGlnaHRncmF5O1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogOXB4O1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHBldHJvbDtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyNik7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDcwbXMsIG1heC13aWR0aCA3MG1zO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDE4KTtcbiAgICAgICAgICAgICAgICAgICAgbWF4LWhlaWdodDogMDtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDE4KTtcbiAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAwO1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlucHV0W3R5cGU9XCJyYWRpb1wiXTpjaGVja2VkICsgbGFiZWwsXG4gICAgICAgICAgICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06Y2hlY2tlZCArIGxhYmVsIHtcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiByZW0tY2FsYygxOCk7XG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogcmVtLWNhbGMoMTgpO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvY2hlY2tib3gtY2hlY2tlZC5zdmdcIik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpbnB1dFt0eXBlPVwicmFkaW9cIl06Y2hlY2tlZCArIGxhYmVsIHtcbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL3JhZGlvLWFjdGl2ZS5zdmdcIik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpbnB1dFt0eXBlPVwicmFkaW9cIl0gKyBsYWJlbCB7XG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAubGVtYS1zdW1tYXJ5LWNoZWNrIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgIGJyIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5sZW1hLWJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1mYW1pbHkoc2VtaWJvbGQsICRidXR0b24tZnMsIC0xLCBudWxsLCAwLjkpO1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkcGV0cm9sO1xuICAgICAgICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICRwZXRyb2w7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoMTApO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYyg2KTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5sZW1hLXN0ZXAtY29udGVudCB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5sZW1hLXN0ZXAtcm93LWFtb3VudHMge1xuICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmxlbWEtYW1vdW50LWJveCB7XG4gICAgICAgICAgICAgICAgJi5sZW1hLWFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRwZXRyb2w7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIkBjaGFyc2V0IFwidXRmLThcIjtcblxuYm9keSB7XG4gICYjaWZyYW1lX2JvZHkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiZ1doaXRlO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xuXG4gICAgaDEsIGgyLCBoMywgaDQsIGg1LCBoNiwgZGl2LCBwLCB0YWJsZSwgZm9ybSwgaW5wdXQsIHRleHRhcmVhLCBzcGFuIHtcbiAgICAgIEBpbmNsdWRlIGZvbnQtZmFtaWx5KHN0YW5kYXJkLCAkbm9ybWFsLWZzLCAyNCk7XG4gICAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICBjb2xvcjogJHBldHJvbDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiBzY2FsZS1jb2xvcigkcGV0cm9sLCAkbGlnaHRuZXNzOiAtMTQlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0ZXh0YXJlYSxcbiAgICBzZWxlY3QsXG4gICAgaW5wdXQge1xuICAgICAgbWluLXdpZHRoOiAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIHRkLmNhbGNfbGFiZWwsXG4gICAgdGQuY2FsY19maWVsZCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZ3JleTtcbiAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDEwIDApO1xuICAgIH1cblxuICAgIHRkLmNhbGNfZmllbGQge1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDEwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgIHRkLmNhbGNfbGFiZWwge1xuICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaW5wdXQudXNlcl9pbnB1dCxcbiAgICBpbnB1dC5yZXN1bHQsXG4gICAgaW5wdXQucmVzdWx0X25lZyB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYyg4KTtcbiAgICB9XG5cbiAgICAucHVibGljX3N1Ym1pdF9idXR0b24sXG4gICAgLnB1YmxpY19zdWJtaXRfYnV0dG9uX29uIHtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICAgICAgY29sb3I6ICRwZXRyb2w7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIG1pbi13aWR0aDogYXV0bztcbiAgICAgIGJvcmRlcjogMnB4IHNvbGlkICRwZXRyb2w7XG4gICAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgIHBhZGRpbmctbGVmdDogcmVtLWNhbGMoMzApO1xuICAgICAgcGFkZGluZy1yaWdodDogcmVtLWNhbGMoMzApO1xuICAgICAgbWFyZ2luOiByZW0tY2FsYygyMCAwKTtcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgfVxuICAgIC5wdWJsaWNfc3VibWl0X2J1dHRvbl9vbiB7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogc2NhbGUtY29sb3IoJHBldHJvbCwgJGxpZ2h0bmVzczogNSUpO1xuICAgICAgYm9yZGVyLWNvbG9yOiBzY2FsZS1jb2xvcigkcGV0cm9sLCAkbGlnaHRuZXNzOiA1JSk7XG4gICAgfVxuXG4gICAgLmNhbGN1bGF0b3Ige1xuICAgICAgLmxpc3Qge1xuICAgICAgICBAaW5jbHVkZSBmb250LWZhbWlseShzZW1pYm9sZCwgJG1lZGl1bS1mcywgLTEsICRwZXRyb2wpO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZmFtaWx5KHNlbWlib2xkLCAkbGFyZ2UtZnMsIC0xLCAkcGV0cm9sKTtcbiAgICAgICAgfVxuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDIwIDAgMCAwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuYWR2aXNlMSxcbiAgICAubm9yaWdodHMge1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDMwKTtcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgYm9yZGVyLXdpZHRoOiAycHg7XG4gICAgICBwYWRkaW5nOiByZW0tY2FsYygyMCk7XG4gICAgfVxuXG4gICAgLmFkdmlzZTEge1xuICAgICAgYm9yZGVyLWNvbG9yOiAkZ3JlZW47XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JlZW47XG4gICAgfVxuXG4gICAgLm5vcmlnaHRzIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJGlucHV0LWVycm9yLWNvbG9yO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWVycm9yLWNvbG9yO1xuICAgIH1cblxuICB9XG59XG4iLCIvKlxuICogIE93bCBDYXJvdXNlbCAtIENvcmVcbiAqL1xuLm93bC1jYXJvdXNlbCB7XG5cdGRpc3BsYXk6IG5vbmU7XG5cdHdpZHRoOiAxMDAlO1xuXHQtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHQvKiBwb3NpdGlvbiByZWxhdGl2ZSBhbmQgei1pbmRleCBmaXggd2Via2l0IHJlbmRlcmluZyBmb250cyBpc3N1ZSAqL1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHotaW5kZXg6IDE7XG5cblx0Lm93bC1zdGFnZSB7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdC1tcy10b3VjaC1hY3Rpb246IHBhbi1ZO1xuXHRcdHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xuXHRcdC1tb3otYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyAvKiBmaXggZmlyZWZveCBhbmltYXRpb24gZ2xpdGNoICovXG5cdH1cblxuXHQub3dsLXN0YWdlOmFmdGVyIHtcblx0XHRjb250ZW50OiBcIi5cIjtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRjbGVhcjogYm90aDtcblx0XHR2aXNpYmlsaXR5OiBoaWRkZW47XG5cdFx0bGluZS1oZWlnaHQ6IDA7XG5cdFx0aGVpZ2h0OiAwO1xuXHR9XG5cblx0Lm93bC1zdGFnZS1vdXRlciB7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0LyogZml4IGZvciBmbGFzaGluZyBiYWNrZ3JvdW5kICovXG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDBweCwgMHB4LCAwcHgpO1xuXHR9XG5cblx0Lm93bC13cmFwcGVyLFxuXHQub3dsLWl0ZW17XG5cdFx0LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG5cdFx0LW1vei1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG5cdFx0LW1zLWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwwLDApO1xuXHRcdC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7XG5cdFx0LW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwwLDApO1xuXHR9XG5cblx0Lm93bC1pdGVtIHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0bWluLWhlaWdodDogMXB4O1xuXHRcdGZsb2F0OiBsZWZ0O1xuXHRcdC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuXHRcdC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdFx0LXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuXHR9XG5cdC5vd2wtaXRlbSBpbWcge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHR9XG5cblx0Lm93bC1uYXYuZGlzYWJsZWQsXG5cdC5vd2wtZG90cy5kaXNhYmxlZCB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxuXG5cdC5vd2wtbmF2IC5vd2wtcHJldixcblx0Lm93bC1uYXYgLm93bC1uZXh0LFxuXHQub3dsLWRvdCB7XG5cdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHRcdGN1cnNvcjogaGFuZDtcblx0XHQtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuXHRcdC1raHRtbC11c2VyLXNlbGVjdDogbm9uZTtcblx0XHQtbW96LXVzZXItc2VsZWN0OiBub25lO1xuXHRcdC1tcy11c2VyLXNlbGVjdDogbm9uZTtcblx0XHR1c2VyLXNlbGVjdDogbm9uZTtcblx0fVxuXG5cdC5vd2wtbmF2IGJ1dHRvbi5vd2wtcHJldixcblx0Lm93bC1uYXYgYnV0dG9uLm93bC1uZXh0LFxuXHRidXR0b24ub3dsLWRvdCB7XG5cdFx0YmFja2dyb3VuZDogbm9uZTtcblx0XHRjb2xvcjogaW5oZXJpdDtcblx0XHRib3JkZXI6IG5vbmU7XG5cdFx0cGFkZGluZzowIWltcG9ydGFudDtcblx0XHRmb250OiBpbmhlcml0O1xuXHR9XG5cblx0Ji5vd2wtbG9hZGVkIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0fVxuXG5cdCYub3dsLWxvYWRpbmcge1xuXHRcdG9wYWNpdHk6IDA7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdH1cblxuXHQmLm93bC1oaWRkZW4ge1xuXHRcdG9wYWNpdHk6IDA7XG5cdH1cblxuXHQmLm93bC1yZWZyZXNoIC5vd2wtaXRlbSB7XG5cdFx0dmlzaWJpbGl0eTogaGlkZGVuO1xuXHR9XG5cblx0Ji5vd2wtZHJhZyAub3dsLWl0ZW0ge1xuXHRcdHRvdWNoLWFjdGlvbjogbm9uZTtcblx0XHQtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuXHRcdC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG5cdFx0LW1zLXVzZXItc2VsZWN0OiBub25lO1xuXHRcdHVzZXItc2VsZWN0OiBub25lO1xuXHR9XG5cblx0Ji5vd2wtZ3JhYiB7XG5cdFx0Y3Vyc29yOiBtb3ZlO1xuXHRcdGN1cnNvcjogZ3JhYjtcblx0fVxuXG5cdCYub3dsLXJ0bCB7XG5cdFx0ZGlyZWN0aW9uOiBydGw7XG5cdH1cblxuXHQmLm93bC1ydGwgLm93bC1pdGVtIHtcblx0XHRmbG9hdDogcmlnaHQ7XG5cdH1cbn1cblxuLyogTm8gSnMgKi9cbi5uby1qcyAub3dsLWNhcm91c2VsIHtcblx0ZGlzcGxheTogYmxvY2s7XG59XG4iLCIvKlxuICogIE93bCBDYXJvdXNlbCAtIEFuaW1hdGUgUGx1Z2luXG4gKi9cbi5vd2wtY2Fyb3VzZWx7XG5cdC5hbmltYXRlZCB7XG5cdFx0YW5pbWF0aW9uLWR1cmF0aW9uOiAxMDAwbXM7XG5cdFx0YW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcblx0fVxuXHQub3dsLWFuaW1hdGVkLWluIHtcblx0XHR6LWluZGV4OiAwO1xuXHR9XG5cdC5vd2wtYW5pbWF0ZWQtb3V0IHtcblx0XHR6LWluZGV4OiAxO1xuXHR9XG5cdC5mYWRlT3V0IHtcblx0XHRhbmltYXRpb24tbmFtZTogZmFkZU91dDtcblx0fVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXQge1xuXHQwJSB7XG5cdFx0b3BhY2l0eTogMTtcblx0fVxuXG5cdDEwMCUge1xuXHRcdG9wYWNpdHk6IDA7XG5cdH1cbn1cbiIsIi8qXG4gKiBcdE93bCBDYXJvdXNlbCAtIEF1dG8gSGVpZ2h0IFBsdWdpblxuICovXG5cbi5vd2wtaGVpZ2h0IHtcblx0dHJhbnNpdGlvbjogaGVpZ2h0IDUwMG1zIGVhc2UtaW4tb3V0O1xufVxuIiwiLypcbiAqIFx0T3dsIENhcm91c2VsIC0gTGF6eSBMb2FkIFBsdWdpblxuICovXG5cbi5vd2wtY2Fyb3VzZWwge1xuXHQub3dsLWl0ZW0ge1xuXHRcdC5vd2wtbGF6eSB7XG5cdFx0XHRcdG9wYWNpdHk6IDA7XG5cdFx0XHRcdHRyYW5zaXRpb246IG9wYWNpdHkgNDAwbXMgZWFzZTtcblx0XHR9XG5cblx0XHRpbWcub3dsLWxhenkge1xuXHRcdFx0dHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDtcblx0XHR9XG5cdH1cbn1cblxuIiwiJG93bC1pbWFnZS1wYXRoOiBcIlwiICFkZWZhdWx0O1xuXG4vKlxuICogXHRPd2wgQ2Fyb3VzZWwgLSBWaWRlbyBQbHVnaW5cbiAqL1xuXG4ub3dsLWNhcm91c2Vse1xuXHQub3dsLXZpZGVvLXdyYXBwZXIge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0YmFja2dyb3VuZDogJGJsYWNrO1xuXHR9XG5cblx0Lm93bC12aWRlby1wbGF5LWljb24ge1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRoZWlnaHQ6IDgwcHg7XG5cdFx0d2lkdGg6IDgwcHg7XG5cdFx0bGVmdDogNTAlO1xuXHRcdHRvcDogNTAlO1xuXHRcdG1hcmdpbi1sZWZ0OiAtNDBweDtcblx0XHRtYXJnaW4tdG9wOiAtNDBweDtcblx0XHRiYWNrZ3JvdW5kOiB1cmwoXCIjeyRvd2wtaW1hZ2UtcGF0aH1vd2wudmlkZW8ucGxheS5wbmdcIikgbm8tcmVwZWF0O1xuXHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHR6LWluZGV4OiAxO1xuXHRcdC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuXHRcdHRyYW5zaXRpb246IHRyYW5zZm9ybSAxMDBtcyBlYXNlO1xuXHR9XG5cblx0Lm93bC12aWRlby1wbGF5LWljb246aG92ZXIge1xuXHRcdHRyYW5zZm9ybTogc2NhbGUoMS4zLCAxLjMpO1xuXHR9XG5cblx0Lm93bC12aWRlby1wbGF5aW5nIC5vd2wtdmlkZW8tdG4sXG5cdC5vd2wtdmlkZW8tcGxheWluZyAub3dsLXZpZGVvLXBsYXktaWNvbiB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxuXG5cdC5vd2wtdmlkZW8tdG4ge1xuXHRcdG9wYWNpdHk6IDA7XG5cdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG5cdFx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0XHRiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG5cdFx0dHJhbnNpdGlvbjogb3BhY2l0eSA0MDBtcyBlYXNlO1xuXHR9XG5cblx0Lm93bC12aWRlby1mcmFtZSB7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdHotaW5kZXg6IDE7XG5cdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHR9XG59XG4iXX0= */
