.NoSelect {
  -webkit-user-select: none;  /* Chrome all / Safari all */
  -moz-user-select: none;     /* Firefox all */
  -ms-user-select: none;      /* IE 10+ */
  user-select: none;          /* Likely future */
}

.CenterParent {
  position: relative;
}

.CenterContainer {
  margin: 0;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
  width: 100%;
  /* height: 100%; */
}

.CenterVerticalContainer {
  margin: 0;
  position: absolute;
  text-align: center;
  width: 100%;
}

.CenterContainerBottom {
  margin: 0;
  position: absolute;
  bottom: 0px;
  text-align: center;
  width: 100%;
}

.HideOverflow {
  overflow: hidden;
}



.hinge {
  position: absolute;
  background-color: black;
  border-style: solid;
  border-width: 1px;
  border-color: white;
  border-radius: 1px;
}

.hinge__top {
  height: 8px;
  width: 4px;
  top: -7px;
}

.hinge__hinttop, .hinge__splash {
  height: 8px;
  width: 4px;
  top: -7px;
}

.hinge__hintbottom {
  height: 8px;
  width: 4px;
  bottom: -7px;
}

.hinge__lesson {
  height: 8px;
  width: 4px;
  bottom: -7px;
}

.hinge__side {
  width: 8px;
  height: 4px;
  left: -7px;
}

.hinge__leftside {
  width: 8px;
  height: 4px;
  right: -7px;
}

.hinge--left {
  left: 20%;
}

.hinge--right {
  right: 20%;
}

.hinge--drop {
  top: calc(50% - 2px);
}

.hinge--def {
  top: calc(33% - 2px);
}

.hinge--defapplied {
  top: calc(66% - 2px);
}

:root {
  /*--DETAIL_COLOR_BACK: var(--THEME_COLOR_LIGHT);*/
  --DETAIL_COLOR_BACK: var(--THEME_COLOR_WHITE);
  --DETAIL_COLOR_TEXT: var(--THEME_COLOR_TEXT);
  --DETAIL_COLOR_ARROW: var(--THEME_COLOR_RANK2);
  --DETAIL_COLOR_BORDER: var(--THEME_COLOR_HIGHLIGHT);
  --DETAIL_COLOR_IMAGE: var(--THEME_COLOR_DARK);
  --DETAIL_COLOR_IMAGEBORDER: var(--THEME_COLOR_DARK);
  --DETAIL_COLOR_TIMELINE: var(--THEME_COLOR_SECONDARY);
}

.detail {
  position: absolute;
  background-color: var(--DETAIL_COLOR_BACK);
  color: var(--DETAIL_COLOR_TEXT);

  border-style: solid;
  border-width: 3px;
  border-color: var(--DETAIL_COLOR_BORDER);
  border-radius: var(--BORDER_RADIUS);

  box-shadow: var(--THEME_BOX_SHADOW);

  margin: 2px;
  padding: 0px;
  top: var(--detaily);
  left: var(--detailx);
  width: var(--detailwidth);
  height: var(--detailheight);
  /*
  width: calc(100% - 6px - 20px);
  height: calc((var(--factheight) + 4px) * 6);
  */

}

.detail--hidden {
  transform-style: preserve-3d;
  transform-origin: center right;
  transition: transform 0s;
  transform: translateX(0%) perspective(calc(20vh)) rotateY(-90deg);
}

.detail--visible {
  transform-style: preserve-3d;
  transform-origin: center right;
  transition: transform 0.2s;
  transform: translateX(0%) rotateY(0deg);
}

.detail__title {
  height: calc(3vh + 3px);
  font-size: 3vh;
  text-align: left;
  padding: 3px;
  color: var(--DETAIL_COLOR_TEXT);
  background-color: var(--DETAIL_COLOR_BORDER);
}

.detail__timeline {
  position: absolute;
  font-size: 2vh;
  top: 4px;
  right: 4px;
  text-align: left;
  color: var(--DETAIL_COLOR_TIMELINE);
}

.detail__text {
  font-size: calc(1.25vh + 0.75vw);
  text-align: center;
  padding: 8px;
  height: calc(42% - 16px);
  overflow: hidden;
}

.detail__image {
  background-color: var(--DETAIL_COLOR_IMAGE);
  border-style: solid;
  border-width: 1px;
  border-color: var(--DETAIL_COLOR_IMAGEBORDER);
  border-radius: var(--BORDER_RADIUS);
  margin: 8px;
  height: calc(25% - 16px);
}

.detail__map {
  background-color: var(--DETAIL_COLOR_IMAGE);
  border-style: solid;
  border-width: 1px;
  border-color: var(--DETAIL_COLOR_IMAGEBORDER);
  border-radius: var(--BORDER_RADIUS);
  margin: 8px;
  height: calc(25% - 16px);
}

.arrow-right {
  position: absolute;
  width: 0;
  height: 0;

  border: 2.5vh solid var(--DETAIL_COLOR_ARROW);

  border-left-color: var(--DETAIL_COLOR_ARROW);
  border-right-color: transparent;
  border-top-color: transparent;
  border-bottom-color: transparent;

  left: calc(100% + 2px);
  top: 0px;
}

:root {
  --FACT_COLOR_BACK: var(--THEME_COLOR_HIGHLIGHT);
  --FACT_COLOR_BORDER: var(--THEME_COLOR_HIGHLIGHT);
  --FACT_COLOR_TEXT: var(--THEME_COLOR_TEXT);
  --FACT_COLOR_TIMELINE: var(--THEME_COLOR_SECONDARY);
}

.fact {
  position: absolute;
  margin: 0px;
  padding: 0px;

  background-color: var(--FACT_COLOR_BACK);
  color: var(--FACT_COLOR_TEXT);

  border-style: solid;
  border-width: 1px;
  border-color: var(--FACT_COLOR_BACK);
  border-radius: var(--BORDER_RADIUS);

  box-shadow: var(--THEME_BOX_SHADOW);

  width: calc(var(--factwidth) - 2px);
  height: calc(var(--factheight) - 2px);
  /*overflow: hidden;*/
  z-index: 5;
}

.fact--hidden {
  transform-style: preserve-3d;
  transform-origin: center top;
  transition: transform 0s;
  transform: translateY(0%) perspective(calc(20vw)) rotateX(-90deg);
}

@keyframes fact-fade-in {
  0%  { opacity: 0; }
  70% { opacity: 0.4; }
  85% { opacity: 0.6; }
  100% { opacity: 0.4; }
}

.fact--unrevealed {
  border-style: dashed;
  border-width: 1px;
  border-color: var(--THEME_COLOR_BLACK);
  background-color: transparent;

  box-shadow: 0px 0px;

  opacity: 0.4;
  z-index: 1;
  animation-name: fact-fade-in;
  animation-duration: 3s;
}

.fact--visible {
  transform-style: preserve-3d;
  transform-origin: center top;
  /*
  -webkit-transition: 2.0s ease-in;
  -moz-transition: 2.0s ease-in;
  -o-transition: 2.0s ease-in;
  */
  transition: transform 0.2s;
  transform: translateY(0%) rotateX(0deg);
}

/*perspective(calc(100vh))*/

.droparea--hidden {
  display: none;
  /*
  transform-style: preserve-3d;
  transform-origin: left top;
  transition: transform 0s;
  transform: translateX(60%)  rotateY(-90deg);
  */
}

.droparea--visible {
  /*
  display: block;
  transform-style: preserve-3d;
  transform-origin: left top;
  transition: transform 2.2s;
  transform: translateX(0%) rotateY(0deg);
  */
}


.denouement {
  color: var(--THEME_COLOR_BLACK);
}

.fact__detail {
  position: relative;
  font-size: calc(1.25vh + 0.75vw);
  padding: 4px;
  width: calc(100% - 8px);
  height: calc(100% - 10px);
  overflow: hidden;
  cursor: pointer;
  transition: all .20s;
}

.fact__detail:hover {
  text-shadow: 0px 3px 3px var(--THEME_COLOR_SHADOW);
}

.fact__thumbtext {
  margin-left: 1vw;
  margin-right: 1vw;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: left;
  width: 100%;
}



/*
.fact__textarea {
  position: relative;
  float: left;
  background-color: var(--FACT_COLOR_BACK);
  border-style: solid;
  border-width: 1px;
  border-color: var(--FACT_COLOR_BORDER);
  border-radius: var(--BORDER_RADIUS);
  margin: 0px;
  padding: 0px;
  width: calc(60% - 2px);
  height: 100%;
}
*/

.fact__droparea {
  height: 100%;
}

.timeline {
  position: absolute;
  height: 2vh;
  width: 30%;
  font-size: 2vh;
  bottom: 4px;
  right: 4px;
  text-align: right;
  color: var(--FACT_COLOR_TIMELINE);
}

:root {
  --DROP_COLOR_BACK: var(--THEME_COLOR_WHITE);
  --DROP_COLOR_BORDER: var(--THEME_COLOR_WHITE);
}

@keyframes move-down {

  0%    { z-index: 3; transform-origin: center bottom; transform: translateY(0%) rotateX(0deg); top: calc((var(--dropheight) - 0px) * -1); }
  0%    { background-color: var(--LESSON_COLOR_BACK); border-color: var(--LESSON_COLOR_BACK); }
  16%   {opacity: 1; }
  17%   {opacity: 0; }
  17%    { background-color: var(--LESSON_COLOR_BACK); border-color: var(--LESSON_COLOR_BACK); }
  17%    { z-index: 3; transform-origin: center bottom; transform: translateY(0%) rotateX(-90deg); top: calc((var(--dropheight) - 0px) * -1); }
  18%    { z-index: 1; transform-origin: center top; transform: translateY(0%) rotateX(-90deg); top: 0px; }
  18%    { background-color: var(--THEME_COLOR_WRONG); border-color: var(--THEME_COLOR_WRONG); }
  18%   {opacity: 0; }
  19%   {opacity: 1; }
  34%  { transform-origin: center top; transform: translateY(0%) rotateX(0deg); }
  43%  { transform-origin: center top; transform: translateY(0%) rotateX(-80deg); }
  46%  { transform-origin: center top; transform: translateY(0%) rotateX(-80deg); }
  59%  { transform-origin: center top; transform: translateY(0%) rotateX(0deg); }
  78%  { transform-origin: center top; transform: translateY(0%) rotateX(-60deg); }
  84%  { transform-origin: center top; transform: translateY(0%) rotateX(-60deg); }
  95%  { transform-origin: center top; transform: translateY(0%) rotateX(0deg); }
  98%  { transform-origin: center top; transform: translateY(0%) rotateX(5deg); }
  100%  { transform-origin: center top; transform: translateY(0%) rotateX(0deg); top: 0px; }
}

@keyframes flip-right {
  0%    { transform: translateX(0%) perspective(calc(100vh)) rotateY(-90deg); }
  100%  { transform: translateX(0%) rotateY(0deg); }
}

@keyframes fade-in {
  0%    { opacity: 0; }
  75%   { opacity: 0; }
  100%  { opacity: 1; }
}

@keyframes full-down {
  0%    { height: var(--dropheight); }
  0%    { transform: translateY(0%) rotateX(-360deg); top: 0px; }
  100%  { transform: translateY(0%) rotateX(0deg); top: 0px; }
  100%  { height: var(--dropfullheight); }
}

@keyframes pulse {
  0%    { transform: scale(1.0); }
  40%    { transform: scale(0.5); }
  80%  { transform: scale(1.0); }
  90%    { transform: scale(1.01); }
  100%  { transform: scale(1.0); }
}

@keyframes pulse-wrong {
  0%  { opacity: 1; }
  50%  { opacity: 0.2; }
  100%  { opacity: 1; }
}

.droparea {
  position: relative;
  float: left;
  /*
  background-color: var(--DROP_COLOR_BACK);
  border-style: solid;
  border-width: 1px;
  border-color: var(--DROP_COLOR_BORDER);
  border-radius: var(--BORDER_RADIUS);
  */
  margin: 0px;
  padding: 0px;
  /*width: calc(40% - 2px);*/
  width: calc(40%);
  height: 100%;
  //height: var(--factheight);
}

.drop {
  position: absolute;
  background-color: var(--DROP_COLOR_BACK);
  border-radius: var(--BORDER_RADIUS);

  box-shadow: var(--THEME_BOX_SHADOW);

  margin-top: 0px;
  margin-left: 0px;
  margin-right: 0px;
  margin-bottom: 0px;
  padding: 0px;
  top: var(--PAD_DROP);
  right: calc((var(--lessonwidth) + var(--PAD_ELEMENT)) * -1);
  height: var(--lessonheight);
  width: var(--lessonwidth);

  font-size: calc(1.25vh + 0.75vw);

  z-index: 6;
}

.drop__small {
  font-size: calc(0.6vh + 0.4vw);
}

.dropspace {
  width: calc(100% - 4px);
  height: 1px;
}

.drop__empty {
  font-size: calc(1.00vh + 0.50vw);
  opacity: 0.75;
}

.drop__top {
  z-index: 2;
}

.drop__bottom {
  z-index: 1;
}

.drop--pulse {
  animation-name: pulse;
  animation-duration: .75s;
  animation-iteration-count: 1;
}

.drop--visible {
  animation-name: flip-right;
  transform-style: preserve-3d;
  transform-origin: left top;
  transform: translateX(0%) perspective(calc(100vh)) rotateY(-90deg);
  animation-duration: .3s;
  animation-delay: .25s;
  animation-iteration-count: 1;
  animation-fill-mode: both;
}

.drop--hidden {
  display: none;
}

.dropped--lesson {
  transform-style: preserve-3d;
}

@keyframes drop-message-fade-out {
  0%  { opacity: 1; background-color: black; }
  40%  { opacity: 1; background-color: black; }
  50%  { opacity: 1; background-color: transparent; transform: translateX(0) translateY(0) scale(1); }
  100% { opacity: 0; transform: translateX(-10vw) translateY(-10vh) scale(0); }
}

.drop__message {
  position: absolute;
  width: 80%;
  height: 80%;
  top: 10%;
  left: 10%;
  color: white;
  text-align: center;

  opacity: 0;
  animation-name: drop-message-fade-out;
  animation-duration: 3s;
}

.drop__coin {
  position: absolute;
  height: calc(var(--lessonheight) * 0.75);
  width: calc(var(--lessonheight) * 0.75);
}

@keyframes drop-coin-fly-in-1 {
  0%  { opacity: 0; transform: translateX(-20vw) translateY(-20vh);}
50%  { opacity: 0; transform: translateX(-20vw) translateY(-20vh);}
}
@keyframes drop-coin-fly-in-2 {
  0%  { opacity: 0; transform: translateX(-20vw) translateY(-20vh);}
 50%  { opacity: 0; transform: translateX(-20vw) translateY(+20vh);}
}
@keyframes drop-coin-fly-in-3 {
  0%  { opacity: 0; transform: translateX(-20vw) translateY(-20vh);}
 50%  { opacity: 0; transform: translateX(+20vw) translateY(+20vh);}
}

.drop__coin-3 {
  bottom: 0px;
  right: 2px;
  opacity: 0.6;
  animation-name: drop-coin-fly-in-3;
  animation-duration: 3s;
}
.drop__coin-2 {
  top: 0px;
  right: 0px;
  opacity: 0.75;
  animation-name: drop-coin-fly-in-2;
  animation-duration: 3.2s;
}
.drop__coin-1 {
  top: 4px;
  right: calc(var(--lessonheight) * 0.25);
  opacity: 1.0;
  animation-name: drop-coin-fly-in-1;
  animation-duration: 3.4s;
}

@keyframes drop-coin-tally {
 0%  { transform: scale(1); }
 10%  { transform: scale(2); }
 20%  { transform: scale(1.5); }
 70%  { opacity: 1; }
 100%  { opacity: 0; transform: translateX(-22vw) translateY(calc(var(--coinY))) scale(2); }
}

.drop__coin-tally {
  animation-name: drop-coin-tally;
  animation-delay: 1.8s;
  animation-duration: 2.0s;
  animation-fill-mode: forwards;
  animation-timing-function: ease;
}

.lesson__unknown {
  background-color: var(--LESSON_COLOR_BACK);
  border-color: var(--LESSON_COLOR_BACK);
}

.drop__correct {
  height: calc(var(--lessonheight) - 2px);
  width: calc(var(--lessonwidth) - 2px);
  border-style: dashed;
  border-width: 1px;
  background-color: black;
  border-color: var(--LESSON_COLOR_BACK);
  color: var(--LESSON_COLOR_BACK);
}

/*
.lesson__wrong {
  background-color: var(--THEME_COLOR_WRONG);
  border-color: var(--THEME_COLOR_WRONG);
  cursor: pointer;
}
*/

.drop__hint {
  position: absolute;
  height: calc(var(--lessonheight) / 2);
  bottom: 0px;
  right: 0px;
  opacity: 0.8;
}

.drop__definition {
  position: absolute;
  height: calc(var(--lessonheight) / 2);
  top: 0px;
  left: 0px;
  opacity: 0.5;
}

.drop__arrow {
  position: absolute;
  height: calc(var(--dropheight) - 6px);
  width: calc(var(--dropheight) - 6px);
  top: 2px;
  right: calc((var(--dropheight) - 2px) * -1);
}


.move__down {
  animation-name: move-down;
  animation-duration: 2.5s;
}

/*
.flip__right {
  animation-name: flip-right;
  animation-duration: .75s;
}
*/

.fade__in {
  animation-name: fade-in;
  animation-duration: .75s;
}

.full__down {
  //height: calc(100% - 10px);
  height: var(--dropfullheight);
  animation-name: full-down;
  animation-duration: .75s;
}

.pulse__wrong {
  animation-name: pulse-wrong;
  animation-duration: 3s;
  animation-iteration-count: infinite;
}


/*
.DropArea {
  height: 100%;
  margin: 0px;
  padding: 0px;
  background-color: #FFEBCD !important;
}

.DropBlock {
  height: 100%;
  margin: 0px;
  padding: 0px;
  overflow: hidden;
}

.DropInner {
  height: 100%;
  margin: 0px;
  padding: 0px;
  float: left;
}

.DropInner2 {
  width: 50%;
}

.DropInner4 {
  width: 25%;
}

.DropFull {
  background-color: #FFF8DC !important;
}
*/

:root {
  --LESSON_COLOR_BACK: var(--THEME_COLOR_WHITE);
  --LESSON_COLOR_TEXT: var(--THEME_COLOR_TEXT);
  --LESSON_COLOR_CORRECT: var(--THEME_COLOR_CORRECT);
  --LESSON_COLOR_WRONG: var(--THEME_COLOR_WRONG);
  --LESSON_COLOR_WRONG1: var(--THEME_COLOR_WRONG1);
  --LESSON_COLOR_WRONG2: var(--THEME_COLOR_WRONG2);
  --LESSON_COLOR_SELECTED: var(--THEME_COLOR_SECONDARY);
  --HINT_COLOR_BACK: var(--THEME_COLOR_SECONDARY);
  --HINT_COLOR_TEXT: var(--THEME_COLOR_TEXTINVERSED);
  --HINT_COLOR_BORDER: var(--THEME_COLOR_BLACK);
}

@keyframes kick-back {
    0%  { z-index: 3; transform: translateX(0px) translateY(0px) rotate(348deg); left: var(--dropx); top: var(--lastTop); background-color: var(--THEME_COLOR_WRONG); }
  100%  { transform: translateX(0px) translateY(0px); }
}

.kick__back {
  animation-name: kick-back;
  animation-duration: 0.8s;
}

/*
@keyframes flip-down {
  0%    { z-index: 7; transform-origin: center bottom; transform: translateY( calc((var(--lessonheight) + var(--PAD_ELEMENT)) * -1)  ) rotateX(0deg);  }
  0%    { background-color: var(--LESSON_COLOR_BACK); border-color: var(--LESSON_COLOR_BACK); }
  16%   {opacity: 1; }
  17%   {opacity: 0; }
  17%    { background-color: var(--LESSON_COLOR_BACK); border-color: var(--LESSON_COLOR_BACK); }
  17%    { transform-origin: center bottom; transform: translateY( calc((var(--lessonheight) + var(--PAD_ELEMENT)) * -1) ) rotateX(-90deg); }
  18%    { transform-origin: center top; transform: translateY(0%) rotateX(-90deg);  }
  18%    { z-index: 7; background-color: var(--LESSON_COLOR_BACK); border-color: var(--LESSON_COLOR_BACK); }
  18%   {opacity: 0; }
  19%   {opacity: 1; }
  34%  { z-index: 4; transform-origin: center top; transform: translateY(0%) rotateX(0deg); }
  43%  { transform-origin: center top; transform: translateY(0%) rotateX(-80deg); }
  46%  { transform-origin: center top; transform: translateY(0%) rotateX(-80deg); }
  59%  { transform-origin: center top; transform: translateY(0%) rotateX(0deg); }
  78%  { transform-origin: center top; transform: translateY(0%) rotateX(-60deg); }
  84%  { transform-origin: center top; transform: translateY(0%) rotateX(-60deg); }
  95%  { transform-origin: center top; transform: translateY(0%) rotateX(0deg); }
  98%  { transform-origin: center top; transform: translateY(0%) rotateX(5deg); }
  100%  { transform-origin: center top; transform: translateY(0%) rotateX(0deg); }
}

.flip__down {
  animation-name: flip-down;
  animation-duration: 2.5s;
}
*/

@keyframes flip-wrong {
  0%    { z-index: 7; transform-origin: center bottom; transform: translateY( calc((var(--lessonheight) + var(--PAD_ELEMENT)) * -1)  ) rotateX(0deg);  }
  0%    { background-color: var(--LESSON_COLOR_BACK); border-color: var(--LESSON_COLOR_BACK); }
  16%   {opacity: 1; }
  17%   {opacity: 0; }
  17%    { background-color: var(--LESSON_COLOR_BACK); border-color: var(--LESSON_COLOR_BACK); }
  17%    { transform-origin: center bottom; transform: translateY( calc((var(--lessonheight) + var(--PAD_ELEMENT)) * -1) ) rotateX(-90deg); }
  18%    { transform-origin: center top; transform: translateY(0%) rotateX(-90deg);  }
  18%    { z-index: 7; background-color: var(--LESSON_COLOR_BACK); border-color: var(--LESSON_COLOR_BACK); }
  18%   {opacity: 0; }
  19%   {opacity: 1; }
  34%  { z-index: 4; transform-origin: center top; transform: translateY(0%) rotateX(0deg) rotate(-4deg); }
  43%  { transform-origin: center top; transform: translateY(0%) rotateX(-80deg); }
  46%  { transform-origin: center top; transform: translateY(0%) rotateX(-80deg); }
  59%  { transform-origin: center top; transform: translateY(0%) rotateX(0deg) rotate(-8deg); }
  78%  { transform-origin: center top; transform: translateY(0%) rotateX(-60deg) rotate(-4deg); }
  84%  { transform-origin: center top; transform: translateY(0%) rotateX(-60deg) rotate(-8deg); }
  95%  { transform-origin: center top; transform: translateY(0%) rotateX(0deg) rotate(-12deg); }
  100%  { transform-origin: center top; transform: translateY(0%) rotateX(0deg) rotate(-12deg); }
}

.flip__wrong {
  animation-name: flip-wrong;
  animation-duration: 1.2s;
  animation-fill-mode: forwards;
  /*animation-timing-function: ease;*/
}

@keyframes flip-score {
  0%    { z-index: 7; transform-origin: center bottom; transform: translateY( calc((var(--lessonheight) + var(--PAD_ELEMENT)) * -1)  ) rotateX(0deg);  }
  0%    { background-color: var(--LESSON_COLOR_BACK); border-color: var(--LESSON_COLOR_BACK); }
  48%   {opacity: 1; }
  49%   {opacity: 0; }
  49%    { background-color: var(--LESSON_COLOR_BACK); border-color: var(--LESSON_COLOR_BACK); }
  49%    { transform-origin: center bottom; transform: translateY( calc((var(--lessonheight) + var(--PAD_ELEMENT)) * -1) ) rotateX(-90deg); }
  50%    { transform-origin: center top; transform: translateY(0%) rotateX(-90deg);  }
  50%    { z-index: 7; background-color: var(--LESSON_COLOR_BACK); border-color: var(--LESSON_COLOR_BACK); }
  50%   {opacity: 0; }
  51%   {opacity: 1; }
  100%  { z-index: 4; transform-origin: center top; transform: translateY(0%) rotateX(0deg); }
}

.flip__score {
  animation-name: flip-score;
  animation-duration: 1.2s;
}


.definition, .hint {
  position: absolute;
  background-color: var(--HINT_COLOR_BACK);
  color: var(--HINT_COLOR_TEXT);
  border-style: solid;
  border-width: 1px;
  border-color: var(--HINT_COLOR_BORDER);;
  border-radius: var(--BORDER_RADIUS);
  margin: 0px;
  padding: 0px;
  width: calc(var(--lessonwidth) * 2 - 1px);
}

.definition {
  height: calc(var(--lessonheight) * 1.5 - 1px);
  z-index: 20;
}

.hint {
  height: calc(var(--lessonheight) * 3 - 1px);
  z-index: 21;
}

.definition__detail, .hint__detail {
  position: relative;
  padding: 4px;
  width: calc(100% - 8px);
  height: calc(100% - 8px);
  overflow: hidden;
}

.definition__detail {
  font-size: calc(1.25vh + 0.75vw);
}

.hint__detail {
  font-size: calc(1.25vh + 0.75vw);
}

@keyframes def-flip-left {
  0%    { transform: translateX(0%) perspective(calc(100vh)) rotateY(-90deg); }
  100%  { transform: translateX(0%) rotateY(0deg); }
}

@keyframes hint-flip-down {
  0%    { transform: translateY(0%) perspective(calc(20vw)) rotateX(-90deg); }
  100%  { transform: translateY(0%) rotateX(0deg); }
}

@keyframes hint-flip-up {
  0%    { transform: translateY(0%) perspective(calc(20vw)) rotateX(-90deg); }
  100%  { transform: translateY(0%) rotateX(0deg); }
}

.definition--visible {
  animation-name: def-flip-left;
  transform-style: preserve-3d;
  transform-origin: right top;
  transform: translateX(0%) perspective(calc(100vh)) rotateY(-90deg);
  animation-duration: .3s;
  animation-delay: 0s;
  animation-iteration-count: 1;
  animation-fill-mode: both;
}

.hint--visiblebelow {
  animation-name: hint-flip-down;
  transform-style: preserve-3d;
  transform-origin: center top;
  transform: translateY(0%) perspective(calc(20vw)) rotateX(-90deg);
  animation-duration: .3s;
  animation-delay: .3s;
  animation-iteration-count: 1;
  animation-fill-mode: both;
}

.hint--visibleabove {
  animation-name: hint-flip-up;
  transform-style: preserve-3d;
  transform-origin: center bottom;
  transform: translateY(0%) perspective(calc(20vw)) rotateX(-90deg);
  animation-duration: .3s;
  animation-delay: .3s;
  animation-iteration-count: 1;
  animation-fill-mode: both;
}


.lesson {
  position: absolute;
  background-color: var(--LESSON_COLOR_BACK);
  color: var(--LESSON_COLOR_TEXT);
  border-style: solid;
  border-width: 0px;
  border-color: var(--LESSON_COLOR_BACK);
  border-radius: var(--BORDER_RADIUS);

  box-shadow: var(--THEME_BOX_SHADOW);

  margin: 0px;
  padding: 0px;
  height: var(--lessonheight);
  width: var(--lessonwidth);
  /*width: calc(100% - 6px);*/
  /*top: var(--lessony);*/
  /*left: var(--lessonx);*/
  /*overflow: hidden;*/
  cursor: pointer;
  z-index: 4;
}

.lesson--hidden {
  transform-style: preserve-3d;
  transform-origin: center top;
  transition: transform 0s;
  transform: translateY(0%) perspective(calc(10vw)) rotateX(-90deg);
}

.lesson--visible {
  transform-style: preserve-3d;
  transform-origin: center top;
  transition: transform 0.1s;
  transform: translateY(0%) rotateX(0deg);
}

.lesson--applied {
  opacity: 0.1;
  cursor: auto;
}

.lesson--selected {
  background-color: var(--LESSON_COLOR_SELECTED);
}

.lesson__detail {
  position: relative;
  font-size: calc(1.25vh + 0.75vw);
  padding: 4px;
  width: calc(100% - 8px);
  overflow: hidden;
}

.lesson__detail--small {
  font-size: calc(0.35vh + 0.4vw);
}

@keyframes hint {
  0%    { opacity: 0.25; }
  50%   { opacity: 0.75; }
  100%  { opacity: 0.25; }
}

.lesson__definition {
  margin: 0px;
  padding: 0px;
  position: absolute;
  height: calc(var(--lessonheight));
  top: 0px;
  left: 0px;
  opacity: 0.5;
  transform: scale(0.95);
  transition: all .20s;

  cursor: pointer;
}

.lesson__definition:hover {
  transform: scale(1.0);
}

.lesson__definition-flash {
  opacity: 0.25;
  animation-name: hint;
  animation-duration: 2000ms;
  animation-iteration-count: infinite;
}


@keyframes lesson-alert-out {
   0% { opacity: 0; transform: translateX(0) translateY(0) scale(0) rotate(-10deg); }
  20% { opacity: 1; transform: translateX(0) translateY(0) scale(1) rotate(-10deg); }
  30% { opacity: 1; transform: translateX(0) translateY(0) scale(1) rotate(-10deg); }
 100% { opacity: 0; transform: translateX(5vw) translateY(5vh) scale(0) rotate(-25deg); }
}

.lesson__alert {
  position: absolute;
  top: 25%;
  left: 0px;
  font-size: calc(1.25vh + 0.75vw);
  color: white;
  text-shadow: 0px 0px 5px black;
  animation-name: lesson-alert-out;
  animation-delay: 4.0s;
  animation-duration: 2.5s;
  animation-fill-mode: forwards;
  animation-timing-function: ease;
  opacity: 0;
  z-index: 20;
}

/*
@keyframes spin {
    from {
        transform: rotate(-25deg) rotateY(0deg);
    }
    to {
        transform: rotate(-25deg) rotateY(360deg);
    }
}
*/

.lesson__creds {
  position: absolute;
  margin: 0px;
  padding: 0px;
  height: calc(var(--lessonheight) * .75);
  width: calc(var(--lessonheight) * .75);
  bottom: 1px;
  right: 1px;
  opacity: 0.8;
  color: var(--THEME_COLOR_BLACK);
  transform: rotate(-25deg);
  text-align: center;
  transition: all .20s;
}

.lesson__creds:hover, .flash__creds {
  color: var(--THEME_COLOR_BLACK);
  transform: rotate(-25deg) scale(1.25);
}


.lesson__credstext {
  position: absolute;
  width: 100%;
  height: 40%;
  top: 0px;
  left: 0px;
  font-size: calc(1.75vh);
  font-weight: bold;
}

.lesson__credslogo {
  position: absolute;
  width: 100%;
  height: 40%;
  bottom: 0px;
  left: 0px;
  font-size: calc(1.25vh);
}

.lesson__hint {
  position: absolute;
  height: calc(var(--lessonheight) / 2);
  bottom: 0px;
  left: 0px;
  opacity: 0.8;
}

.lesson__correct {
  background-color: var(--LESSON_COLOR_CORRECT);
  border-color: var(--LESSON_COLOR_CORRECT);
  cursor: auto;
}

.lesson__wrong {
  background-color: var(--LESSON_COLOR_WRONG);
  border-color: var(--LESSON_COLOR_WRONG);
  cursor: pointer;
}

.lesson__25Points {
  background-color: var(--LESSON_COLOR_WRONG1);
  border-color: var(--LESSON_COLOR_WRONG1);
}
.lesson__10Points {
  background-color: var(--LESSON_COLOR_WRONG2);
  border-color: var(--LESSON_COLOR_WRONG2);
}
.lesson__0Points {
  background-color: var(--LESSON_COLOR_WRONG);
  border-color: var(--LESSON_COLOR_WRONG);
}

/*translateX(0) translateY(0)*/
/*translateX(5vw) translateY(10vh)*/

@keyframes bogus-fade-out {
  0%  { opacity: 1; transform: scale(0); }
  20%  { opacity: 1; transform: scale(1.0); }
  100% { opacity: 0; transform: scale(0.5); }
}

.lesson__bogus {
  position: absolute;
  width: 80%;
  height: 80%;
  top: 10%;
  left: 10%;
  color: var(--THEME_COLOR_TEXT);
  text-align: center;
  text-shadow: 0px 0px 10px var(--THEME_COLOR_TEXTINVERSED);

  opacity: 0;
  animation-name: bogus-fade-out;
  animation-timing-function: linear;
  animation-duration: 2s;
  animation-delay: 0s;
}

@keyframes lesson-vanish {
  0%  { opacity: 1; }
  33%  { opacity: 1; }
  100% { opacity: 0; }
}

.lesson__textvanish {
  animation-name: lesson-vanish;
  animation-timing-function: linear;
  animation-fill-mode: forwards;
  animation-duration: 0.5s;
  animation-delay: 0s;
}

.lesson__vanish {
  animation-name: lesson-vanish;
  animation-timing-function: linear;
  animation-fill-mode: forwards;
  animation-duration: 1.5s;
  animation-delay: 0s;
}

:root {
  --WISDOM_COLOR_BACK: var(--THEME_COLOR_SECONDARY);
  --WISDOM_COLOR_TEXT: var(--THEME_COLOR_TEXTINVERSED);
  --WISDOM_COLOR_CORRECT: var(--THEME_COLOR_CORRECT);
  --WISDOM_COLOR_CORRECT2: var(--THEME_COLOR_HIGHLIGHT);
  --WISDOM_COLOR_WRONG: var(--THEME_COLOR_WRONG);
}

@keyframes fadein {
    from { opacity: 0; }
    to   { opacity: 1; }
}

.wisdom {
  position: absolute;
  margin: 0px;
  padding: 0px;
  width: var(--wisdomwidth);
  height: var(--factheight);
  background-color: var(--WISDOM_COLOR_BACK);
  color: var(--WISDOM_COLOR_TEXT);
  border-radius: var(--BORDER_RADIUS);
  box-shadow: var(--THEME_BOX_SHADOW);
}

.wisdom--hidden {
  transform-style: preserve-3d;
  transform-origin: center top;
  transition: transform 0s;
  transform: translateY(0%) perspective(calc(20vw)) rotateX(-90deg);
}

.wisdom--visible {
  transform-style: preserve-3d;
  transform-origin: center top;
  transition: transform 0.2s;
  transform: translateY(0%) rotateX(0deg);
}

.wisdom__textarea {
  position: relative;
  float: left;
  border-radius: var(--BORDER_RADIUS);
  margin: 0px;
  padding: 0px;
  width: calc(100%);
  height: 100%;
}

.wisdom__detail {
  position: relative;
  font-size: calc(1.25vh + 0.75vw);
  padding: 4px;
  width: calc(100% - 8px);
  height: calc(100% - 10px);
  overflow: hidden;
}

/*
.wisdom__droparea {
  background-color: var(--LESSON_COLOR_BACK);
  border-radius: var(--BORDER_RADIUS);
  margin: 0px;
  padding: 0px;
  width: var(--wisdomdropwidth);
  height: var(--wisdomdropheight);
}*/

.wisdom__drop {
  position: absolute;
  top: var(--PAD_WISDOM);
  right: calc((var(--wisdomdropwidth) + var(--PAD_WISDOM)) * -1);
  border-radius: var(--BORDER_RADIUS);
  margin: 0px;
  padding: 0px;
  width: var(--wisdomdropwidth);
  height: var(--wisdomdropheight);
  font-size: calc(1.00vh + 0.50vw);
  color: var(--THEME_COLOR_TEXT);
  box-shadow: var(--THEME_BOX_SHADOW);

  animation-name: flip-right;
  transform-style: preserve-3d;
  transform-origin: left top;
  transform: translateX(0%) perspective(calc(100vh)) rotateY(-90deg);
  animation-duration: .3s;
  animation-delay: .25s;
  animation-iteration-count: 1;
  animation-fill-mode: both;
}

.wisdom__drop-empty {
  background-color: var(--THEME_COLOR_WHITE);
  opacity: 0.75;
}

.wisdom__drop-full {
  height: calc(var(--wisdomdropheight) - 2px);
  width: calc(var(--wisdomdropwidth) - 2px);
  border-width: 1px;
  border-style: dashed;
  background-color: black;
  border-color: var(--LESSON_COLOR_BACK);
  color: var(--LESSON_COLOR_BACK);
  font-size: calc(1.25vh + 0.75vw);
}

.wisdomchoice {
  position: absolute;
  border-radius: var(--BORDER_RADIUS);
  margin: 0px;
  padding: 0px;
  width: var(--wisdomdropwidth);
  height: var(--wisdomdropheight);
  /*font-size: calc(1.75vh + 1.00vw);*/
  font-size: calc(1.25vh + 0.85vw);
  box-shadow: var(--THEME_BOX_SHADOW);
}

.wisdomchoice--movable {
  cursor: pointer;
}

.wisdomchoice--selected {
  border: 2px solid yellow;
}


@keyframes wisdom-show {
  0%    { transform: scale(1) rotateX(0deg); }
  20%    { transform: scale(1) rotateX(0deg); }
}

.wisdomchoice-small {
  transform-origin: bottom right;
  transform: scale(0.5) rotate(-5deg);

  animation-name: wisdom-show;
  animation-duration: 1.0s;
  animation-fill-mode: forwards;
}

.wisdombutton {
  background-color: var(--LESSON_COLOR_BACK);
  left: var(--lessonx);
  cursor: pointer;
}

.wisdombutton--selected {
  background-color: var(--themefactcolor);
}

.wisdombutton--pos1 {
  top: calc(((var(--factheight) + var(--PAD_ELEMENT)) * 1) + var(--facty));
}
.wisdombutton--pos2 {
  top: calc(((var(--factheight) + var(--PAD_ELEMENT)) * 2) + var(--facty));
}
.wisdombutton--pos3 {
  top: calc(((var(--factheight) + var(--PAD_ELEMENT)) * 3) + var(--facty));
}
.wisdombutton--pos4 {
  top: calc(((var(--factheight) + var(--PAD_ELEMENT)) * 4) + var(--facty));
}

.wisdombutton--disabled {
  opacity: 0.3;
  cursor: auto;
}

.wisdom__1st {
  background-color: var(--THEME_COLOR_RANK1);
  color: var(--THEME_COLOR_TEXTINVERSED);
}
.wisdom__2nd {
  background-color: var(--THEME_COLOR_RANK2);
  color: var(--THEME_COLOR_TEXTINVERSED);
}
.wisdom__3rd {
  background-color: var(--THEME_COLOR_RANK3);
  color: var(--THEME_COLOR_TEXT);
}

.wisdom__choice--applied {
  cursor: auto;
}

.wisdomdetail {
  position: absolute;
  margin: 0px;
  padding: 0px;
  width: calc(var(--wisdomwidth) + (var(--PAD_WISDOM) * 6));
  left: calc(var(--wisdomx) - (var(--PAD_WISDOM) * 3));
  height: var(--wisdomheight);
  top: var(--wisdomy);
  background-color: var(--LESSON_COLOR_BACK);
  border-style: solid;
  border-width: 2px;
  border-radius: var(--BORDER_RADIUS);
  border-color: var(--THEME_COLOR_BLACK);
}

.wisdomdetail__text {
  position: relative;
  font-size: calc(1.25vh + 0.75vw);
  padding: 8px;
  width: calc(100%);
  height: calc(100%);
  overflow: hidden;
}

.wisdom--correct {
  background-color: var(--WISDOM_COLOR_CORRECT);
  color: var(--THEME_COLOR_TEXT);
}

.wisdom--almostcorrect {
  background-color: var(--WISDOM_COLOR_CORRECT2);
  color: var(--THEME_COLOR_TEXT);
}

.wisdom--wrong {
  background-color: var(--WISDOM_COLOR_WRONG);
  color: var(--THEME_COLOR_TEXTINVERSED);
}

:root {
  --HOME_COLOR_BACK: var(--THEME_COLOR_LIGHT);
  --HOME_COLOR_BOX: var(--THEME_COLOR_LIGHT);
  --HOME_COLOR_TEXT: var(--THEME_COLOR_TEXT);
  --HOME_COLOR_BUTTON1: var(--THEME_COLOR_HIGHLIGHT);
  --HOME_COLOR_BUTTON2: var(--THEME_COLOR_SECONDARY);
  --HOME_COLOR_BUTTONTEXT: var(--THEME_COLOR_TEXT);
  --HOME_COLOR_BUBBLE: lightgrey;
}


@keyframes pop-in {
  0%  {
    transform: scale(.5, .5);
    opacity: 0;
  }
  40% { opacity: 1; }
  65% { transform: scale(1.1, 1.1); }
  100% { transform: scale(1, 1); opacity: 1; }
}

@keyframes fade-in {
  0%  { opacity: 0; }
  100% { opacity: 1; }
}

@keyframes pop-away {
  0%   {  transform: scale(1, 1) translate(0,0); }
  40% { transform: scale(1.1, 1.1); }
  65% { opacity: 1; }

  99% {  transform: scale(.5, .5);
    opacity: 0; }

  100%{ transform: translate(-10000em,-10000em); }
}


.homescreen{
  position: fixed;

  background-color: var(--HOME_COLOR_BACK);
  color: var(--HOME_COLOR_TEXT);

  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;

  z-index: 10;
}

.homescreen--visible{
  animation-name: pop-in;
  animation-duration: .75s;
  animation-fill-mode: forwards;
}
.homescreen--hidden{
  //display: none;
  animation-name: pop-away;
  animation-duration: .75s;
  animation-fill-mode: forwards;
}
.homescreen--invisible{
  //display: none;
  animation-name: pop-away;
  animation-duration: 0s;
  animation-fill-mode: forwards;
}

.homescreen__box{
  position: absolute;
  width: 80vw;
  height: 55vh;
  top: 30vh;
  /*padding-left: 2vw;
  padding-right: 2vw;
  padding-top: 2vh;
  padding-bottom: 2vh;*/
  text-align: center;
  background-color: var(--HOME_COLOR_BOX);
  border-radius: var(--BORDER_RADIUS);

  transform-origin: left;
}

.homescreen__brand{
  position: absolute;
  height: 20vh;
  width: auto;
  top: 5vh;
  margin: 0;

  animation-name: fade-in;
  animation-duration: 1.5s;
  animation-delay: 1.0s;
  animation-fill-mode: forwards;
  opacity: 0;
}

.homescreen__title{
  position: absolute;
  height: 4vh;
  width: 80vw;
  top: 1vh;
  left: 0px;
  text-transform: uppercase;
  font-size: 4vh;
  text-align: center;
  text-shadow: var(--THEME_HEADER_SHADOW);
}

.homescreen__author, .homescreen__learner {
  position: absolute;
  width: 12vw;
  height: 16.5vw;
  top: 10vh;
}

.homescreen__author {
  left: 7vw;
}

.homescreen__learner {
  left: 62vw;
}

.homescreen__bio {
  position: absolute;
  width: 16vw;
  height: 16.5vw;
  top: 39vh;
  left: 5vw;

  color: var(--HOME_COLOR_TEXT);
  font-size: 3vh;
  text-align: center;
}

.homescreen__message{
  position: absolute;
  height: 45vh;
  width: 30vw;
  top: 6vh;
  left: 25vw;

  font-size: calc(1.25vh + 1.00vw);

  padding: 1vh;

  background-color: var(--HOME_COLOR_BUBBLE);

  border-style: solid;
  border-width: 1px;
  border-color: var(--THEME_COLOR_BLACK);
  border-radius: 5vh;

  animation-name: pop-in;
  animation-duration: 0.5s;
  animation-delay: 1.5s;
  animation-fill-mode: forwards;
  opacity: 0;
}

.arrow-left {
  position: absolute;
  width: 0;
  height: 0;

  border: 4vw solid var(--HOME_COLOR_BUBBLE);

  border-right-color: var(--HOME_COLOR_BUBBLE);
  border-left-color: transparent;
  border-top-color: transparent;
  border-bottom-color: transparent;

  left: -8vw;
  top: 4vh;
}

.homescreen__rules, .homescreen__support {
  position: absolute;

  height: 3vh;
  width: 15vw;
  top: 87vh;

  border-style: solid;
  border-width: 1px;
  border-color: var(--HOME_COLOR_BUTTON2);
  border-radius: var(--BORDER_RADIUS);
  color: var(--HOME_COLOR_BUTTON2);

  padding-top: 1vh;

  text-transform: uppercase;
  text-align: center;
  font-size: 2vh;

  transition: all .20s;
  transition-timing-function: ease-out;

  animation-name: fade-in;
  animation-duration: 1.5s;
  animation-delay: 2.5s;
  animation-fill-mode: forwards;
  opacity: 0;
  cursor: pointer;
}

.homescreen__rules:hover, .homescreen__support:hover {
    letter-spacing: .05em;
    border-color: var(--HOME_COLOR_BUTTON2);
    background-color: var(--HOME_COLOR_BUTTON2);
    color: var(--THEME_COLOR_TEXTINVERSED);
    box-shadow: var(--THEME_BOX_SHADOW);
}

.homescreen__rules{
  left: 35vw;
}

.homescreen__support{
  left: 51vw;
}

.homescreen__button{
  position: absolute;
  height: 7vh;
  width: 16vw;
  top: 75vh;
  left: 70vw;
  font-size: 3vh;
  border-radius: var(--BORDER_RADIUS);
  text-align: center;
  border: 1px solid var(--HOME_COLOR_BUTTON2);

  color: var(--HOME_COLOR_BUTTON2);
  background-color: var(--HOME_COLOR_BUTTON1);

  outline: 0;
  transition: all .20s;
  transition-timing-function: ease-out;

  animation-name: pop-in;
  animation-duration: 0.5s;
  animation-delay: 2.5s;
  animation-fill-mode: forwards;
  opacity: 0;

  box-shadow: var(--THEME_BOX_SHADOW);

  cursor: pointer;
}

.homescreen__button:hover {
    letter-spacing: .05em;
    color: var(--THEME_COLOR_BLACK);
    border-color: var(--THEME_COLOR_BLACK);
}

@keyframes score-fade-in {
  0%  { opacity: 0; }
100%  { opacity: 1; }
}

@keyframes score-fade-in-out {
  0%  { opacity: 0; }
 40%  { opacity: 1; transform: scale(1); }
 85%  { opacity: 1; }
100%  {
    opacity: 0;
    transform: scale(0);
    top: 40vh;
    left: calc(35vw - 5vh);
   }
}

/*
@keyframes star1-zoom {
    0%  {
    transform: rotate(-35deg) scale(.2);
    opacity: .2;
    top: 30vh;
    left: calc(35vw - 10vh);
   }
  100%  {
    transform: rotate(-35deg) scale(1);
    opacity: 1;
    top: 10vh;
    left: calc(20vw - 10vh);
   }
}

@keyframes star2-zoom {
    0%  {
    transform: rotate(-35deg) scale(.2);
    opacity: .2;
    top: 30vh;
    left: calc(35vw - 10vh);
   }
  100%  {
    transform: rotate(-17.5deg) scale(1);
    opacity: 1;
    top: 5vh;
    left: calc(35vw - 10vh);
   }
}

@keyframes star3-zoom {
    0%  {
    transform: rotate(-35deg) scale(.2);
    opacity: .2;
    top: 30vh;
    left: calc(35vw - 10vh);
   }
  100%  {
    transform: rotate(0deg) scale(1);
    opacity: 1;
    top: 10vh;
    left: calc(50vw - 10vh);
   }
}
*/

.scoresplash{
  position: fixed;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;

  z-index: 10;
}

.scoresplash--visible{
}
.scoresplash--hidden{
  display: none;
}
.scoresplash--invisible{
  display: none;
}


@keyframes rot-score {
	0% { opacity: 0; transform: scale(0) rotate(-720deg) }
	100% { opacity: 1; transform: scale(1) rotate(0deg);	}
}

.scoresplash__box {
  position: relative;
  width: 30vw;
  height: 46vh;
  padding: 0;
  text-align: center;
  opacity: 0;

  border-radius: 1vw;
  box-shadow: var(--THEME_BOX_SHADOW);
  background-color: var(--THEME_COLOR_SECONDARY);
  border-color: var(--THEME_COLOR_SECONDARY);

  animation-name: rot-score;
  animation-duration: 3.0s;
  animation-delay: 3.0s;
  animation-fill-mode: forwards;
  animation-timing-function: ease;

/*  animation-name: score-fade-in;
  animation-duration: 2.0s;
  animation-delay: 2.0s;
  animation-fill-mode: forwards;
  animation-timing-function: ease;*/
}

.scoresplash__title {
  position: absolute;
  height: 8vh;
  width: 50vw;
  top: 0;
  left: 10vw;
  font-size: 8vh;
  color: white;
  text-shadow: 0px 0px 5px black, 0px 0px 10px red;
}

.scoresplash__comment, .scoresplash__footer {
  position: absolute;
  height: 5vh;
  padding-top: 1vh;
  width: 30vw;
  left: 0px;
  font-size: 4vh;
  color: var(--THEME_COLOR_TEXTINVERSED);
  background-color: var(--THEME_COLOR_SECONDARY);
}

.scoresplash__comment {
  top: 0vh;
  border-radius: 1vw 1vw 0px 0px;
}

.scoresplash__footer {
  top: 40vh;
  border-radius:  0px 0px 1vw 1vw;
}

.scoresplash__hdrmoves, .scoresplash__hdrcreds {
  position: absolute;
  height: calc(7.2vh - 2px);
  padding-top: 0.8vh;
  width: calc(15vw - 2px);
  left: 0vw;
  font-size: 6vh;
  color: var(--THEME_COLOR_TEXTINVERSED);
  background-color: var(--THEME_COLOR_SECONDARY);
  border-style: solid;
  border-width: 1px;
  border-color: var(--THEME_COLOR_SECONDARY);
}

.scoresplash__moves, .scoresplash__creds {
  position: absolute;
  height: calc(7.2vh - 2px);
  padding-top: 0.8vh;
  width: calc(15vw - 2px);
  left: 15vw;
  font-size: 6vh;
  color: var(--THEME_COLOR_SECONDARY);
  background-color: var(--THEME_COLOR_WHITE);
  border-style: solid;
  border-width: 1px;
  border-color: var(--THEME_COLOR_SECONDARY);
}

.scoresplash__hdrgame, .scoresplash__hdrbonus, .scoresplash__hdrbank {
  position: absolute;
  height: calc(5.2vh - 2px);
  padding-top: 0.8vh;
  width: calc(15vw - 2px);
  left: 0vw;
  font-size: 4vh;
  color: var(--THEME_COLOR_LIGHT);
  background-color: var(--THEME_COLOR_SECONDARY);
  border-style: solid;
  border-width: 1px;
  border-color: var(--THEME_COLOR_SECONDARY);
}

.scoresplash__game, .scoresplash__bonus, .scoresplash__bank {
  position: absolute;
  height: calc(5.2vh - 2px);
  padding-top: 0.8vh;
  width: calc(15vw - 2px);
  left: 15vw;
  font-size: 4vh;
  color: var(--THEME_COLOR_LIGHT);
  background-color: var(--THEME_COLOR_SECONDARY);
  border-style: solid;
  border-width: 1px;
  border-color: var(--THEME_COLOR_SECONDARY);
}

.scoresplash__moves, .scoresplash__hdrmoves {
  top: 10vh;
}

.scoresplash__creds, .scoresplash__hdrcreds {
  top: 18vh;
}

.scoresplash__game, .scoresplash__hdrgame {
  top: 22vh;
}

.scoresplash__bonus, .scoresplash__hdrbonus {
  top: 28vh;
}

.scoresplash__bank, .scoresplash__hdrbank {
  top: 34vh;
}


.scoresplash__coin {
  position: absolute;
  height: 20vh;
  top: 25vh;
  left: calc(35vw - 10vh);
}

.scoresplash__total {
  position: absolute;
  height: 8vh;
  width: 30vw;
  top: 50vh;
  left: 20vw;
  font-size: 8vh;
  color: white;
  text-shadow: 0px 0px 5px black, 0px 0px 10px red;
}

@keyframes drop-banner {
  0%    { opacity: 1; transform-origin: center top; transform: translateY(0%) rotateX(-90deg);  }
  100%  { opacity: 1; transform-origin: center top; transform: translateY(0%) rotateX(0deg); }
}

.scoresplash__banner {
  position: absolute;
  width: 36vw;
  height: 16vh;
  left: -3vw;
  bottom: calc(-16vh - var(--PAD_ELEMENT));
  padding: 0;
  text-align: center;
  opacity: 0;
  cursor: pointer;

  border-radius: 1vw;
  border-style: solid;
  border-width: 1px;
  box-shadow: var(--THEME_BOX_SHADOW);
  background-color: var(--THEME_COLOR_DARK);
  border-color: var(--THEME_COLOR_WHITE);

  animation-name: drop-banner;
  animation-duration: 0.25s;
  animation-delay: 7.0s;
  animation-fill-mode: forwards;
  animation-timing-function: ease;
}

.scoresplash__bannertext {
  font-size: 6vh;
  font-weight: bold;
  color: var(--THEME_COLOR_WHITE);
}

/*
0% { opacity: 0; transform: rotate(0deg) translate(0px) rotate(0deg); }
20% { opacity: 1; }
70% { opacity: 1; transform: rotate(1440deg) translate(-60vw) rotate(-1440deg) scale(1.5);	}
71% { opacity: 1; transform: rotate(0deg) translate(-60vw) rotate(0deg) scale(1.5); }
90% { opacity: 1; }
100% { opacity: 0; transform: rotate(720deg) translate(0px) rotate(-720deg);	}
*/

@keyframes rot-coins {
	0% { opacity: 0; transform: rotate(0deg) translate(0px) rotate(0deg); }
  20% { opacity: 1; }
	60% { opacity: 1; transform: rotate(720deg) translate(-45vh) rotate(-720deg) scale(1.5);	}
  90% { opacity: 1; }
  100% { opacity: 0; transform: rotate(1440deg) translate(0px) rotate(-1440deg);	}
}

.splashcoin {
  position: absolute;
  height: calc(var(--lessonheight) * 1.5);
  width: calc(var(--lessonheight) * 1.5);
  animation-name: rot-coins;
  animation-duration: 3s;
  animation-timing-function: linear;
  opacity: 0;
}

.splashcoin-1 {
  animation-delay: 3s;
}
.splashcoin-2 {
  animation-delay: 3.1s;
}
.splashcoin-3 {
  animation-delay: 3.2s;
}
.splashcoin-4 {
  animation-delay: 3.3s;
}
.splashcoin-5 {
  animation-delay: 3.4s;
}
.splashcoin-6 {
  animation-delay: 3.5s;
}

@keyframes helper-in {
  0%  { opacity: 0; }
  0%  { transform: scale(0); }
 65%  { transform: scale(1.2); }
100%  { opacity: 1; }
}
@keyframes helper-in2 {
  0%  { opacity: 0; }
  0%  { transform: scale(0); }
 65%  { transform: scale(1.2); }
100%  { opacity: 1; }
}

/*
@keyframes helper-text-in {
  0%  { opacity: 0; transform: scale(0) rotate(-10deg); }
100%  { opacity: 1; transform: scale(1) rotate(-10deg); }
}
@keyframes helper-text-in2 {
  0%  { opacity: 0; transform: scale(0) rotate(-10deg); }
100%  { opacity: 1; transform: scale(1) rotate(-10deg); }
}
*/


.helper {
/*
  border-style: solid;
  border-width: 1px;
  border-color: red;
  border-radius: 0px;
*/
  position: fixed;
  margin: 0px;
  padding: 0px;
  width: var(--lessonwidth);
  height: var(--lessonwidth);

  z-index: 18;
}

.helper--show {
  animation-name: helper-in;
  animation-duration: 1.5s;
  animation-fill-mode: forwards;
  animation-timing-function: ease;
}
.helper--show2 {
  animation-name: helper-in2;
  animation-duration: 1.5s;
  animation-fill-mode: forwards;
  animation-timing-function: ease;
}

.helper--hidden {
  display: none;
}

.helper--firstmove {
  top: calc(((var(--factheight) + var(--PAD_ELEMENT)) * 1) + var(--facty));
  left: calc(var(--dropx) + (var(--PAD_SCROLL) * 2));
}

.helper--secondmove {
  top: calc(((var(--factheight) + var(--PAD_ELEMENT)) * 2) + var(--facty));
  left: calc(var(--dropx) + (var(--PAD_SCROLL) * 2));
}

.helper--failed {
  top: calc(((var(--factheight) + var(--PAD_ELEMENT)) * 4) + var(--facty));
  left: var(--lessonx);
}

/*
.helper--thirdmove {
  top: calc(((var(--factheight) + var(--PAD_ELEMENT)) * 3) + var(--facty));
  left: calc(var(--factx) + (var(--PAD_SCROLL)*2));
  width: calc(var(--factheight) * 2);
  height: calc(var(--factheight) * 2);
}*/

.helper--wisdom {
  top: calc(((var(--factheight) + var(--PAD_ELEMENT)) * 3) + var(--facty));
  left: var(--lessonx);
}

/*
.helper__char {
  position: absolute;
  margin: 0px;
  padding: 0px;
  width: 70%;
  height: 70%;
  right: 0px;
  bottom: 0px;
  opacity: 0.75;
  transform: rotateY(180deg);
}
*/

.helper__text {
  position: absolute;
  margin: 0px;
  padding: 0px;
  width: 100%;
  height: 100%;
  left: 0px;
  top: 0px;

  overflow: hidden;
  text-align: left;
  font-family: Papyrus, sans-serif, Arial, Helvetica;
  font-size: calc(1.35vh + 0.85vw);
  color: var(--THEME_COLOR_TEXT);
  /*text-shadow: 0px 0px 15px white;*/
  text-shadow: var(--THEME_HEADER_SHADOW);

  transform: rotate(-10deg);

}

/*
.helper__text--show {
  animation-name: helper-text-in;
  animation-duration: 2.0s;
  animation-delay: 1.0s;
  animation-fill-mode: forwards;
  animation-timing-function: ease;
}

.helper__text--show2 {
  animation-name: helper-text-in2;
  animation-duration: 2.0s;
  animation-delay: 1.0s;
  animation-fill-mode: forwards;
  animation-timing-function: ease;
}
*/

.alert {
  /*background-color: transparent;
  border-style: solid;
  border-width: 1px;
  border-color: yellow;
  border-radius: var(--BORDER_RADIUS);*/

  position: absolute;
  margin: 0px;
  padding: 0px;
  /*width: var(--lessonwidth);
  height: var(--lessonheight);*/
  text-align: center;
  z-index: 20;
}

.alert--center {
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

@keyframes alert-in {
  0%  { opacity: 0; transform: scale(0); }
100%  { opacity: 1; transform: scale(1); }
}

@keyframes alert-out {
   0% { opacity: 1; transform: translateX(0) translateY(0) scale(1); }
 100% { opacity: 0; transform: translateX(-10vw) translateY(-10vh) scale(0); }
}

.alert--hidden {
  animation-name: alert-out;
  animation-duration: 1.0s;
  animation-fill-mode: forwards;
  animation-timing-function: ease;
}

.alert--visible {
  animation-name: alert-in;
  animation-duration: 0.5s;
  animation-fill-mode: forwards;
  animation-timing-function: ease;
}

.alert__text {
  overflow: hidden;
  text-align: left;
  font-size: calc(1.25vh + 0.75vw);
  color: white;
  text-shadow: 0px 0px 5px black;
}


:root {
  --PAD_SCROLL: 16px;
  --PAD_ELEMENT: 4px;
  --PAD_WISDOM: 5px;
  --PAD_DROP: 2px;
  --HEIGHT_HEADER: 32px;
  --HEIGHT_FOOTER: 16px;
  --BORDER_RADIUS: 5px;

  --THEME_COLOR_HIGHLIGHT: #F9BA32; /* sunshine (old: EAA81D) */
  --THEME_COLOR_SECONDARY: #426E86; /* steel blue */
  --THEME_COLOR_LIGHT: #F8F1E5; /* bone (old: F5F6DB) */
  --THEME_COLOR_DARK: #2F3131;  /* coal */

  --THEME_COLOR_BACKGROUND: var(--THEME_COLOR_LIGHT);  /* grey (old: EBEBEB) */

  --THEME_COLOR_BLACK: #000000;  /* black */
  --THEME_COLOR_WHITE: #FFFFFF;  /* white */
  --THEME_COLOR_SHADOW: #888888;  /* dark grey */
  --THEME_COLOR_TEXT: #000000;  /* black */
  --THEME_COLOR_TEXTMUTED: #888888;  /* black */
  --THEME_COLOR_TEXTINVERSED: #FFFFFF;  /* white */

  --THEME_COLOR_CORRECT: #97B613;
  --THEME_COLOR_WRONG: #FB4B09;
  --THEME_COLOR_WRONG1: #FCD4C4;
  --THEME_COLOR_WRONG2: #F78B62;

  --THEME_COLOR_RANK1: #0000FF;
  --THEME_COLOR_RANK2: #FF0000;
  --THEME_COLOR_RANK3: #FFFFFF;

  --THEME_BOX_SHADOW: 3px 3px 3px var(--THEME_COLOR_SHADOW);
  --THEME_HEADER_SHADOW: 0px 3px 0px var(--THEME_COLOR_BACKGROUND), 0px 14px 10px rgba(0, 0, 0, 0.15), 0px 8px 2px rgba(0, 0, 0, 0.1), 0px 34px 30px rgba(0, 0, 0, 0.1);


  --boardheight: calc(100vh - 82px);
  --boardwidth: calc(100vw - 32px);

  --factheight: calc((var(--boardheight) / 6) - 8px);
  --factwidth: calc((var(--boardwidth) * 0.27) - 2px);
  --factx: calc((var(--boardwidth) * 0.30));
  --facty: calc(var(--PAD_SCROLL) + var(--HEIGHT_HEADER) + var(--PAD_ELEMENT));

  --dropx: calc(var(--factx) + var(--factwidth) + var(--PAD_ELEMENT));

  /*--lessonheight: calc((var(--boardheight) / 16) - 4px);
  --dropheight: calc((var(--boardheight) / 12) - 12px);
  --dropfullheight: calc((var(--boardheight) / 6) - 18px);*/

  --detailheight: calc((var(--factheight) * 6));
  --detailwidth: calc((var(--boardwidth) * 0.30) - (var(--PAD_SCROLL) * 2));
  /*--detailx: calc((var(--PAD_SCROLL)));*/
  --detailx: 0px;
  --detaily: calc(var(--PAD_SCROLL) + var(--HEIGHT_HEADER) + var(--PAD_ELEMENT));

  --lessonheight: calc((var(--factheight) / 2) - 6px);
  --lessonwidth: calc((var(--boardwidth) * 0.18) - 6px);
  --lessonx: calc((var(--boardwidth) * 0.80));
  --lessony: calc(var(--PAD_SCROLL) + var(--HEIGHT_HEADER) + var(--PAD_ELEMENT));

  --wisdomwidth: calc((var(--boardwidth) * 0.55) - 2px);
  --wisdomx: calc((var(--boardwidth) * 0.10));
  --wisdomheight: calc((var(--factheight) * 3) - (var(--PAD_ELEMENT) * 3));
  --wisdomy: calc(((var(--factheight) + var(--PAD_ELEMENT)) * 1) + var(--facty) + (var(--PAD_ELEMENT)*2));

  --wisdomdropwidth: calc((var(--wisdomwidth) * 0.20) - 10px);
  --wisdomdropheight: calc((var(--factheight) - 10px));

  --dropheight: calc((var(--factheight) / 2) - 1px);
  --dropfullheight: calc((var(--factheight)));


  --canheight: calc((var(--boardheight) / 7));
  --canhalfheight: calc((var(--canheight) / 2));
  --spraytop: calc(var(--PAD_SCROLL) - (var(--canheight) * 0.2) + 4px);
}

@keyframes header-in {
  0%  { opacity: 0; }
  100% { opacity: 1; }
}

@keyframes header-slide {
  0%  { width: 0px; opacity: 0; }
  20% { opacity: 1;}
  100% { width: calc(100% - 2px); opacity: 1;}
}

@keyframes game-fade-out {
  0%  { opacity: 1; }
  100% { opacity: 0.5; }
}

@keyframes game-fade-in {
  0%  { opacity: 0.05; }
  100% { opacity: 1; }
}

html, body {
  background-color: var(--THEME_COLOR_BACKGROUND);

  min-height: 100% !important;
  height: 100%;
  width: 100%;
  margin: 0;

  font-family: Arial, Helvetica, sans-serif;
}

.game__container {
  height: 100%;
  width: 100%;
}

.game__back {
  height: 100%;
  width: 100%;

  /*background-image: url("http://localhost:8080/src/assets/img/creds-background.jpeg");*/
  /*
  background-image: url("/src/assets/img/creds-background.jpeg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  */
}

.game__board {
  position: relative;
  /*background-color: var(--themebackgroundcolor);*/
  min-height: 100% !important;
  /*height: 100%;*/
  height: calc(100vh - var(--PAD_SCROLL) - var(--PAD_SCROLL));
  width: calc(100vw - var(--PAD_SCROLL) - var(--PAD_SCROLL));
  margin: 0;
  margin-left: var(--PAD_SCROLL);
  overflow: hidden;
}

.game__board--hide {
  opacity: 0;
}

.game--fade {
  animation-name: game-fade-out;
  animation-duration: 1.0s;
  animation-fill-mode: forwards;
  animation-delay: 1.0s;
}

.game--show {
  animation-name: game-fade-in;
  animation-duration: 1.0s;
  animation-fill-mode: forwards;
}

.game__header {
  position: relative;
  text-align: center;
  margin-top: var(--PAD_SCROLL);
  padding: 0px;
  height: var(--HEIGHT_HEADER);
}

.back__button, .forward__button {
  position: absolute;

  border-style: solid;
  border-width: 1px;
  border-radius: var(--BORDER_RADIUS);

  padding-top: 1vh;

  text-align: center;
  font-size: 2vh;

  transition: all .20s;
  transition-timing-function: ease-out;

  cursor: pointer;
}

.back__button {
  border-color: var(--THEME_COLOR_HIGHLIGHT);
  color: var(--THEME_COLOR_HIGHLIGHT);

  width: calc(var(--wisdomx) - (var(--PAD_SCROLL) * 2));
  height: var(--factheight);
  top: calc(((var(--factheight) + var(--PAD_ELEMENT)) * 0) + var(--facty));
  left: var(--PAD_SCROLL);
}

.forward__button {
  border-color: var(--THEME_COLOR_SECONDARY);
  color: var(--THEME_COLOR_SECONDARY);

  width: calc(var(--wisdomx) - (var(--PAD_SCROLL) * 2));
  height: var(--factheight);
  top: calc(((var(--factheight) + var(--PAD_ELEMENT)) * 0) + var(--facty));
  right: var(--PAD_SCROLL);
}

.back__button:hover, .forward__button:hover {
    color: var(--THEME_COLOR_SECONDARY);
    box-shadow: var(--THEME_BOX_SHADOW);
}

.back__button:hover {
  border-color: var(--THEME_COLOR_SECONDARY);
  background-color: var(--THEME_COLOR_HIGHLIGHT);
}

.forward__button:hover {
  color: var(--THEME_COLOR_HIGHLIGHT);
  border-color: var(--THEME_COLOR_HIGHLIGHT);
  background-color: var(--THEME_COLOR_SECONDARY);
}


.game__failed {
  position: fixed;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;

  font-size: 8vh;
  color: white;
  text-shadow: 0px 0px 5px black, 0px 0px 10px red;

  z-index: 20;
}

.creds__logo {
  position: absolute;
  margin: 0px;
  padding: 0px;
  height: var(--HEIGHT_HEADER);
  top: var(--PAD_SCROLL);
  left: 0px;
  overflow: hidden;
  animation-name: header-in;
  animation-duration: 2s;
}

.header {
  position: absolute;
  margin: 0px;
  padding: 0px;
  height: var(--HEIGHT_HEADER);
  overflow: hidden;

  color: var(--THEME_COLOR_SECONDARY);
  text-shadow: var(--THEME_HEADER_SHADOW);

  font-size: calc(1.25vh + 0.75vw);
  font-weight: bold;
}

.header__fact {
  width: var(--factwidth);
  top: var(--PAD_SCROLL);
  left: var(--factx)
}

/*
.header__drop {
  width: calc(40% - 6px);
  padding-left: 1px;
}*/

.header__lesson {
  width: var(--lessonwidth);
  top: var(--PAD_SCROLL);
  left: var(--lessonx)
}

.header__wisdom {
  width: var(--wisdomwidth);
  top: var(--PAD_SCROLL);
  left: var(--wisdomx);
/*
  float: left;
  width: calc(100% - 6px);
  padding-left: 2px;
*/
  text-transform: uppercase;
}

/*
.backbtn {
  width: calc(var(--wisdomx) - (var(--PAD_SCROLL) * 2));
  top: var(--PAD_SCROLL);
  left: var(--PAD_SCROLL);
}
*/

.header__slide {
  border-radius: var(--BORDER_RADIUS);
  margin: 0px;
  padding: 0px;
  width: 0px;
  height: calc(100% - 2px);
  opacity: 0;
}

.header__fact--slide {
  animation-name: header-slide;
  animation-duration: 0.85s;
  animation-fill-mode: forwards;
  animation-delay: 1.30s;
}

.header__drop--slide {
  animation-name: header-slide;
  animation-duration: 0.60s;
  animation-fill-mode: forwards;
  animation-delay: 1.5s;
}

.header__lesson--slide {
  animation-name: header-slide;
  animation-duration: 0.55s;
  animation-fill-mode: forwards;
  animation-delay: 1.7s;
}

.header__wisdom--slide {
  animation-name: header-slide;
  animation-duration: 0.1s;
  animation-fill-mode: forwards;
}

.game--hidden {
  display: none;
}

.moves {
  position: absolute;
  margin: 0px;
  padding: 0px;
  overflow: hidden;

  width: var(--lessonwidth);
  height: var(--factheight);
  top: calc(((var(--factheight) + var(--PAD_ELEMENT)) * 5) + var(--facty));
  left: var(--lessonx);

  border-radius: var(--BORDER_RADIUS);
  box-shadow: var(--THEME_BOX_SHADOW);
}

.moves--show {
  opacity: 0;
  animation-name: header-in;
  animation-duration: 0.75s;
  animation-fill-mode: forwards;
}

.moves__tally, .moves__text, .creds__tally1, .creds__text1, .creds__tally2, .creds__text2 {
  position: absolute;
  text-align: center;
  overflow: hidden;
  border-style: solid;
  border-width: 1px;
  border-color: var(--THEME_COLOR_SECONDARY);
}

.moves__tally, .moves__text  {
  width: calc(40% - 1px);
  left: 0px;
}

.creds__tally1, .creds__text1, .creds__tally2, .creds__text2 {
  font-size: calc(0.75vh + 0.5vw);
  width: calc(60% - 2px);
  right: 0px;
}

.creds__tally1 {
  font-size: calc(1.0vh + 0.75vw);
}

.creds__tally1, .creds__text1, .creds__tally2, .creds__text2 {
  height: calc(50% - 1px);
}

.creds__tally1, .creds__tally2 {
  width: calc(30% - 1px);
  right: 0px;
}

.creds__text1, .creds__text2 {
  width: calc(30% - 2px);
  left: calc(40%);
}

.moves__tally, .creds__tally1, .creds__tally2 {
  color: var(--THEME_COLOR_SECONDARY);
  background-color: transparent;
}

.moves__text, .creds__text1, .creds__text2 {
  background-color: var(--THEME_COLOR_SECONDARY);
  color: var(--THEME_COLOR_BACKGROUND);
}

.creds__tally1, .creds__text1 {
  top: 0px;
}

.creds__tally2, .creds__text2 {
  bottom: 0px;
}

.creds__tally1 {
  border-radius: 0px var(--BORDER_RADIUS) 0px 0px;
}

.creds__tally2 {
  border-radius: 0px 0px var(--BORDER_RADIUS) 0px;
}

.moves__tally {
  font-size: calc(3.5vh + 2.0vw);
  top: 0px;
  height: calc(60% - 1px);
  border-radius: var(--BORDER_RADIUS) 0px 0px 0px;
  background-color: var(--THEME_COLOR_WHITE);

}

.moves__text {
  font-size: calc(0.75vh + 0.5vw);
  bottom: 0px;
  height: calc(40% - 2px);
  border-radius: 0px 0px 0px var(--BORDER_RADIUS);
}

@keyframes moves-animate {
  0%   { transform: rotate(-720deg); }
  50%  { transform: rotate(-360deg) scale(1.2); }
  100% { transform: rotate(0deg);}
}

.moves--animate {
  animation-name: moves-animate;
  animation-duration: 1.0s;
  animation-timing-function: linear;
}


/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9jc3MvQ29tbW9uLmNzcyIsIndlYnBhY2s6Ly8vLi9jc3MvRGV0YWlsQ2FyZC5jc3MiLCJ3ZWJwYWNrOi8vLy4vY3NzL0ZhY3RDYXJkLmNzcyIsIndlYnBhY2s6Ly8vLi9jc3MvRHJvcEFyZWEuY3NzIiwid2VicGFjazovLy8uL2Nzcy9MZXNzb25DYXJkLmNzcyIsIndlYnBhY2s6Ly8vLi9jc3MvV2lzZG9tLmNzcyIsIndlYnBhY2s6Ly8vLi9jc3MvSG9tZVNjcmVlbi5jc3MiLCJ3ZWJwYWNrOi8vLy4vY3NzL1Njb3JlU3BsYXNoLmNzcyIsIndlYnBhY2s6Ly8vLi9jc3MvSGVscGVyLmNzcyIsIndlYnBhY2s6Ly8vLi9jc3MvQWxlcnQuY3NzIiwid2VicGFjazovLy8uL2Nzcy9HYW1lLmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBLDRCQUE0QjtBQUM1Qix5QkFBeUI7QUFDekIsd0JBQXdCO0FBQ3hCLG9CQUFvQjtBQUNwQjs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGtCQUFrQjtBQUNsQjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOzs7O0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQzFH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OztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHNCQUFzQjtBQUN0QjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFF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QUFDcEI7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQSx3RkFBd0Y7QUFDeEY7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLGtEQUFrRDtBQUNsRDtBQUNBLGlCQUFpQjtBQUNqQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDOztBQUVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLFFBQVEsNEJBQTRCO0FBQ3BDLFFBQVEsdUNBQXVDO0FBQy9DLFFBQVE7QUFDUjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwiZmlsZSI6ImFwcC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuTm9TZWxlY3Qge1xyXG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7ICAvKiBDaHJvbWUgYWxsIC8gU2FmYXJpIGFsbCAqL1xyXG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7ICAgICAvKiBGaXJlZm94IGFsbCAqL1xyXG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTsgICAgICAvKiBJRSAxMCsgKi9cclxuICB1c2VyLXNlbGVjdDogbm9uZTsgICAgICAgICAgLyogTGlrZWx5IGZ1dHVyZSAqL1xyXG59XHJcblxyXG4uQ2VudGVyUGFyZW50IHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbn1cclxuXHJcbi5DZW50ZXJDb250YWluZXIge1xyXG4gIG1hcmdpbjogMDtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiA1MCU7XHJcbiAgbGVmdDogNTAlO1xyXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICB3aWR0aDogMTAwJTtcclxuICAvKiBoZWlnaHQ6IDEwMCU7ICovXHJcbn1cclxuXHJcbi5DZW50ZXJWZXJ0aWNhbENvbnRhaW5lciB7XHJcbiAgbWFyZ2luOiAwO1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi5DZW50ZXJDb250YWluZXJCb3R0b20ge1xyXG4gIG1hcmdpbjogMDtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgYm90dG9tOiAwcHg7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4uSGlkZU92ZXJmbG93IHtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcblxyXG5cclxuXHJcbi5oaW5nZSB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIGJhY2tncm91bmQtY29sb3I6IGJsYWNrO1xyXG4gIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgYm9yZGVyLXdpZHRoOiAxcHg7XHJcbiAgYm9yZGVyLWNvbG9yOiB3aGl0ZTtcclxuICBib3JkZXItcmFkaXVzOiAxcHg7XHJcbn1cclxuXHJcbi5oaW5nZV9fdG9wIHtcclxuICBoZWlnaHQ6IDhweDtcclxuICB3aWR0aDogNHB4O1xyXG4gIHRvcDogLTdweDtcclxufVxyXG5cclxuLmhpbmdlX19oaW50dG9wLCAuaGluZ2VfX3NwbGFzaCB7XHJcbiAgaGVpZ2h0OiA4cHg7XHJcbiAgd2lkdGg6IDRweDtcclxuICB0b3A6IC03cHg7XHJcbn1cclxuXHJcbi5oaW5nZV9faGludGJvdHRvbSB7XHJcbiAgaGVpZ2h0OiA4cHg7XHJcbiAgd2lkdGg6IDRweDtcclxuICBib3R0b206IC03cHg7XHJcbn1cclxuXHJcbi5oaW5nZV9fbGVzc29uIHtcclxuICBoZWlnaHQ6IDhweDtcclxuICB3aWR0aDogNHB4O1xyXG4gIGJvdHRvbTogLTdweDtcclxufVxyXG5cclxuLmhpbmdlX19zaWRlIHtcclxuICB3aWR0aDogOHB4O1xyXG4gIGhlaWdodDogNHB4O1xyXG4gIGxlZnQ6IC03cHg7XHJcbn1cclxuXHJcbi5oaW5nZV9fbGVmdHNpZGUge1xyXG4gIHdpZHRoOiA4cHg7XHJcbiAgaGVpZ2h0OiA0cHg7XHJcbiAgcmlnaHQ6IC03cHg7XHJcbn1cclxuXHJcbi5oaW5nZS0tbGVmdCB7XHJcbiAgbGVmdDogMjAlO1xyXG59XHJcblxyXG4uaGluZ2UtLXJpZ2h0IHtcclxuICByaWdodDogMjAlO1xyXG59XHJcblxyXG4uaGluZ2UtLWRyb3Age1xyXG4gIHRvcDogY2FsYyg1MCUgLSAycHgpO1xyXG59XHJcblxyXG4uaGluZ2UtLWRlZiB7XHJcbiAgdG9wOiBjYWxjKDMzJSAtIDJweCk7XHJcbn1cclxuXHJcbi5oaW5nZS0tZGVmYXBwbGllZCB7XHJcbiAgdG9wOiBjYWxjKDY2JSAtIDJweCk7XHJcbn1cclxuIiwiOnJvb3Qge1xyXG4gIC8qLS1ERVRBSUxfQ09MT1JfQkFDSzogdmFyKC0tVEhFTUVfQ09MT1JfTElHSFQpOyovXHJcbiAgLS1ERVRBSUxfQ09MT1JfQkFDSzogdmFyKC0tVEhFTUVfQ09MT1JfV0hJVEUpO1xyXG4gIC0tREVUQUlMX0NPTE9SX1RFWFQ6IHZhcigtLVRIRU1FX0NPTE9SX1RFWFQpO1xyXG4gIC0tREVUQUlMX0NPTE9SX0FSUk9XOiB2YXIoLS1USEVNRV9DT0xPUl9SQU5LMik7XHJcbiAgLS1ERVRBSUxfQ09MT1JfQk9SREVSOiB2YXIoLS1USEVNRV9DT0xPUl9ISUdITElHSFQpO1xyXG4gIC0tREVUQUlMX0NPTE9SX0lNQUdFOiB2YXIoLS1USEVNRV9DT0xPUl9EQVJLKTtcclxuICAtLURFVEFJTF9DT0xPUl9JTUFHRUJPUkRFUjogdmFyKC0tVEhFTUVfQ09MT1JfREFSSyk7XHJcbiAgLS1ERVRBSUxfQ09MT1JfVElNRUxJTkU6IHZhcigtLVRIRU1FX0NPTE9SX1NFQ09OREFSWSk7XHJcbn1cclxuXHJcbi5kZXRhaWwge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ERVRBSUxfQ09MT1JfQkFDSyk7XHJcbiAgY29sb3I6IHZhcigtLURFVEFJTF9DT0xPUl9URVhUKTtcclxuXHJcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuICBib3JkZXItd2lkdGg6IDNweDtcclxuICBib3JkZXItY29sb3I6IHZhcigtLURFVEFJTF9DT0xPUl9CT1JERVIpO1xyXG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLUJPUkRFUl9SQURJVVMpO1xyXG5cclxuICBib3gtc2hhZG93OiB2YXIoLS1USEVNRV9CT1hfU0hBRE9XKTtcclxuXHJcbiAgbWFyZ2luOiAycHg7XHJcbiAgcGFkZGluZzogMHB4O1xyXG4gIHRvcDogdmFyKC0tZGV0YWlseSk7XHJcbiAgbGVmdDogdmFyKC0tZGV0YWlseCk7XHJcbiAgd2lkdGg6IHZhcigtLWRldGFpbHdpZHRoKTtcclxuICBoZWlnaHQ6IHZhcigtLWRldGFpbGhlaWdodCk7XHJcbiAgLypcclxuICB3aWR0aDogY2FsYygxMDAlIC0gNnB4IC0gMjBweCk7XHJcbiAgaGVpZ2h0OiBjYWxjKCh2YXIoLS1mYWN0aGVpZ2h0KSArIDRweCkgKiA2KTtcclxuICAqL1xyXG5cclxufVxyXG5cclxuLmRldGFpbC0taGlkZGVuIHtcclxuICB0cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkO1xyXG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciByaWdodDtcclxuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMHM7XHJcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKSBwZXJzcGVjdGl2ZShjYWxjKDIwdmgpKSByb3RhdGVZKC05MGRlZyk7XHJcbn1cclxuXHJcbi5kZXRhaWwtLXZpc2libGUge1xyXG4gIHRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7XHJcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIHJpZ2h0O1xyXG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzO1xyXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSkgcm90YXRlWSgwZGVnKTtcclxufVxyXG5cclxuLmRldGFpbF9fdGl0bGUge1xyXG4gIGhlaWdodDogY2FsYygzdmggKyAzcHgpO1xyXG4gIGZvbnQtc2l6ZTogM3ZoO1xyXG4gIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgcGFkZGluZzogM3B4O1xyXG4gIGNvbG9yOiB2YXIoLS1ERVRBSUxfQ09MT1JfVEVYVCk7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tREVUQUlMX0NPTE9SX0JPUkRFUik7XHJcbn1cclxuXHJcbi5kZXRhaWxfX3RpbWVsaW5lIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgZm9udC1zaXplOiAydmg7XHJcbiAgdG9wOiA0cHg7XHJcbiAgcmlnaHQ6IDRweDtcclxuICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gIGNvbG9yOiB2YXIoLS1ERVRBSUxfQ09MT1JfVElNRUxJTkUpO1xyXG59XHJcblxyXG4uZGV0YWlsX190ZXh0IHtcclxuICBmb250LXNpemU6IGNhbGMoMS4yNXZoICsgMC43NXZ3KTtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgcGFkZGluZzogOHB4O1xyXG4gIGhlaWdodDogY2FsYyg0MiUgLSAxNnB4KTtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcblxyXG4uZGV0YWlsX19pbWFnZSB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tREVUQUlMX0NPTE9SX0lNQUdFKTtcclxuICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gIGJvcmRlci13aWR0aDogMXB4O1xyXG4gIGJvcmRlci1jb2xvcjogdmFyKC0tREVUQUlMX0NPTE9SX0lNQUdFQk9SREVSKTtcclxuICBib3JkZXItcmFkaXVzOiB2YXIoLS1CT1JERVJfUkFESVVTKTtcclxuICBtYXJnaW46IDhweDtcclxuICBoZWlnaHQ6IGNhbGMoMjUlIC0gMTZweCk7XHJcbn1cclxuXHJcbi5kZXRhaWxfX21hcCB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tREVUQUlMX0NPTE9SX0lNQUdFKTtcclxuICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gIGJvcmRlci13aWR0aDogMXB4O1xyXG4gIGJvcmRlci1jb2xvcjogdmFyKC0tREVUQUlMX0NPTE9SX0lNQUdFQk9SREVSKTtcclxuICBib3JkZXItcmFkaXVzOiB2YXIoLS1CT1JERVJfUkFESVVTKTtcclxuICBtYXJnaW46IDhweDtcclxuICBoZWlnaHQ6IGNhbGMoMjUlIC0gMTZweCk7XHJcbn1cclxuXHJcbi5hcnJvdy1yaWdodCB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHdpZHRoOiAwO1xyXG4gIGhlaWdodDogMDtcclxuXHJcbiAgYm9yZGVyOiAyLjV2aCBzb2xpZCB2YXIoLS1ERVRBSUxfQ09MT1JfQVJST1cpO1xyXG5cclxuICBib3JkZXItbGVmdC1jb2xvcjogdmFyKC0tREVUQUlMX0NPTE9SX0FSUk9XKTtcclxuICBib3JkZXItcmlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gIGJvcmRlci10b3AtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50O1xyXG5cclxuICBsZWZ0OiBjYWxjKDEwMCUgKyAycHgpO1xyXG4gIHRvcDogMHB4O1xyXG59XHJcbiIsIjpyb290IHtcclxuICAtLUZBQ1RfQ09MT1JfQkFDSzogdmFyKC0tVEhFTUVfQ09MT1JfSElHSExJR0hUKTtcclxuICAtLUZBQ1RfQ09MT1JfQk9SREVSOiB2YXIoLS1USEVNRV9DT0xPUl9ISUdITElHSFQpO1xyXG4gIC0tRkFDVF9DT0xPUl9URVhUOiB2YXIoLS1USEVNRV9DT0xPUl9URVhUKTtcclxuICAtLUZBQ1RfQ09MT1JfVElNRUxJTkU6IHZhcigtLVRIRU1FX0NPTE9SX1NFQ09OREFSWSk7XHJcbn1cclxuXHJcbi5mYWN0IHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgbWFyZ2luOiAwcHg7XHJcbiAgcGFkZGluZzogMHB4O1xyXG5cclxuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1GQUNUX0NPTE9SX0JBQ0spO1xyXG4gIGNvbG9yOiB2YXIoLS1GQUNUX0NPTE9SX1RFWFQpO1xyXG5cclxuICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gIGJvcmRlci13aWR0aDogMXB4O1xyXG4gIGJvcmRlci1jb2xvcjogdmFyKC0tRkFDVF9DT0xPUl9CQUNLKTtcclxuICBib3JkZXItcmFkaXVzOiB2YXIoLS1CT1JERVJfUkFESVVTKTtcclxuXHJcbiAgYm94LXNoYWRvdzogdmFyKC0tVEhFTUVfQk9YX1NIQURPVyk7XHJcblxyXG4gIHdpZHRoOiBjYWxjKHZhcigtLWZhY3R3aWR0aCkgLSAycHgpO1xyXG4gIGhlaWdodDogY2FsYyh2YXIoLS1mYWN0aGVpZ2h0KSAtIDJweCk7XHJcbiAgLypvdmVyZmxvdzogaGlkZGVuOyovXHJcbiAgei1pbmRleDogNTtcclxufVxyXG5cclxuLmZhY3QtLWhpZGRlbiB7XHJcbiAgdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDtcclxuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgdG9wO1xyXG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwcztcclxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCUpIHBlcnNwZWN0aXZlKGNhbGMoMjB2dykpIHJvdGF0ZVgoLTkwZGVnKTtcclxufVxyXG5cclxuQGtleWZyYW1lcyBmYWN0LWZhZGUtaW4ge1xyXG4gIDAlICB7IG9wYWNpdHk6IDA7IH1cclxuICA3MCUgeyBvcGFjaXR5OiAwLjQ7IH1cclxuICA4NSUgeyBvcGFjaXR5OiAwLjY7IH1cclxuICAxMDAlIHsgb3BhY2l0eTogMC40OyB9XHJcbn1cclxuXHJcbi5mYWN0LS11bnJldmVhbGVkIHtcclxuICBib3JkZXItc3R5bGU6IGRhc2hlZDtcclxuICBib3JkZXItd2lkdGg6IDFweDtcclxuICBib3JkZXItY29sb3I6IHZhcigtLVRIRU1FX0NPTE9SX0JMQUNLKTtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuXHJcbiAgYm94LXNoYWRvdzogMHB4IDBweDtcclxuXHJcbiAgb3BhY2l0eTogMC40O1xyXG4gIHotaW5kZXg6IDE7XHJcbiAgYW5pbWF0aW9uLW5hbWU6IGZhY3QtZmFkZS1pbjtcclxuICBhbmltYXRpb24tZHVyYXRpb246IDNzO1xyXG59XHJcblxyXG4uZmFjdC0tdmlzaWJsZSB7XHJcbiAgdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDtcclxuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgdG9wO1xyXG4gIC8qXHJcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiAyLjBzIGVhc2UtaW47XHJcbiAgLW1vei10cmFuc2l0aW9uOiAyLjBzIGVhc2UtaW47XHJcbiAgLW8tdHJhbnNpdGlvbjogMi4wcyBlYXNlLWluO1xyXG4gICovXHJcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnM7XHJcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAlKSByb3RhdGVYKDBkZWcpO1xyXG59XHJcblxyXG4vKnBlcnNwZWN0aXZlKGNhbGMoMTAwdmgpKSovXHJcblxyXG4uZHJvcGFyZWEtLWhpZGRlbiB7XHJcbiAgZGlzcGxheTogbm9uZTtcclxuICAvKlxyXG4gIHRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7XHJcbiAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCB0b3A7XHJcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDBzO1xyXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg2MCUpICByb3RhdGVZKC05MGRlZyk7XHJcbiAgKi9cclxufVxyXG5cclxuLmRyb3BhcmVhLS12aXNpYmxlIHtcclxuICAvKlxyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIHRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7XHJcbiAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCB0b3A7XHJcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDIuMnM7XHJcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKSByb3RhdGVZKDBkZWcpO1xyXG4gICovXHJcbn1cclxuXHJcblxyXG4uZGVub3VlbWVudCB7XHJcbiAgY29sb3I6IHZhcigtLVRIRU1FX0NPTE9SX0JMQUNLKTtcclxufVxyXG5cclxuLmZhY3RfX2RldGFpbCB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIGZvbnQtc2l6ZTogY2FsYygxLjI1dmggKyAwLjc1dncpO1xyXG4gIHBhZGRpbmc6IDRweDtcclxuICB3aWR0aDogY2FsYygxMDAlIC0gOHB4KTtcclxuICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEwcHgpO1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIHRyYW5zaXRpb246IGFsbCAuMjBzO1xyXG59XHJcblxyXG4uZmFjdF9fZGV0YWlsOmhvdmVyIHtcclxuICB0ZXh0LXNoYWRvdzogMHB4IDNweCAzcHggdmFyKC0tVEhFTUVfQ09MT1JfU0hBRE9XKTtcclxufVxyXG5cclxuLmZhY3RfX3RodW1idGV4dCB7XHJcbiAgbWFyZ2luLWxlZnQ6IDF2dztcclxuICBtYXJnaW4tcmlnaHQ6IDF2dztcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiA1MCU7XHJcbiAgbGVmdDogNTAlO1xyXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcblxyXG5cclxuLypcclxuLmZhY3RfX3RleHRhcmVhIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgZmxvYXQ6IGxlZnQ7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tRkFDVF9DT0xPUl9CQUNLKTtcclxuICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gIGJvcmRlci13aWR0aDogMXB4O1xyXG4gIGJvcmRlci1jb2xvcjogdmFyKC0tRkFDVF9DT0xPUl9CT1JERVIpO1xyXG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLUJPUkRFUl9SQURJVVMpO1xyXG4gIG1hcmdpbjogMHB4O1xyXG4gIHBhZGRpbmc6IDBweDtcclxuICB3aWR0aDogY2FsYyg2MCUgLSAycHgpO1xyXG4gIGhlaWdodDogMTAwJTtcclxufVxyXG4qL1xyXG5cclxuLmZhY3RfX2Ryb3BhcmVhIHtcclxuICBoZWlnaHQ6IDEwMCU7XHJcbn1cclxuXHJcbi50aW1lbGluZSB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIGhlaWdodDogMnZoO1xyXG4gIHdpZHRoOiAzMCU7XHJcbiAgZm9udC1zaXplOiAydmg7XHJcbiAgYm90dG9tOiA0cHg7XHJcbiAgcmlnaHQ6IDRweDtcclxuICB0ZXh0LWFsaWduOiByaWdodDtcclxuICBjb2xvcjogdmFyKC0tRkFDVF9DT0xPUl9USU1FTElORSk7XHJcbn1cclxuIiwiOnJvb3Qge1xyXG4gIC0tRFJPUF9DT0xPUl9CQUNLOiB2YXIoLS1USEVNRV9DT0xPUl9XSElURSk7XHJcbiAgLS1EUk9QX0NPTE9SX0JPUkRFUjogdmFyKC0tVEhFTUVfQ09MT1JfV0hJVEUpO1xyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIG1vdmUtZG93biB7XHJcblxyXG4gIDAlICAgIHsgei1pbmRleDogMzsgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAlKSByb3RhdGVYKDBkZWcpOyB0b3A6IGNhbGMoKHZhcigtLWRyb3BoZWlnaHQpIC0gMHB4KSAqIC0xKTsgfVxyXG4gIDAlICAgIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tTEVTU09OX0NPTE9SX0JBQ0spOyBib3JkZXItY29sb3I6IHZhcigtLUxFU1NPTl9DT0xPUl9CQUNLKTsgfVxyXG4gIDE2JSAgIHtvcGFjaXR5OiAxOyB9XHJcbiAgMTclICAge29wYWNpdHk6IDA7IH1cclxuICAxNyUgICAgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1MRVNTT05fQ09MT1JfQkFDSyk7IGJvcmRlci1jb2xvcjogdmFyKC0tTEVTU09OX0NPTE9SX0JBQ0spOyB9XHJcbiAgMTclICAgIHsgei1pbmRleDogMzsgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAlKSByb3RhdGVYKC05MGRlZyk7IHRvcDogY2FsYygodmFyKC0tZHJvcGhlaWdodCkgLSAwcHgpICogLTEpOyB9XHJcbiAgMTglICAgIHsgei1pbmRleDogMTsgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIHRvcDsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAlKSByb3RhdGVYKC05MGRlZyk7IHRvcDogMHB4OyB9XHJcbiAgMTglICAgIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tVEhFTUVfQ09MT1JfV1JPTkcpOyBib3JkZXItY29sb3I6IHZhcigtLVRIRU1FX0NPTE9SX1dST05HKTsgfVxyXG4gIDE4JSAgIHtvcGFjaXR5OiAwOyB9XHJcbiAgMTklICAge29wYWNpdHk6IDE7IH1cclxuICAzNCUgIHsgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIHRvcDsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAlKSByb3RhdGVYKDBkZWcpOyB9XHJcbiAgNDMlICB7IHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciB0b3A7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwJSkgcm90YXRlWCgtODBkZWcpOyB9XHJcbiAgNDYlICB7IHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciB0b3A7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwJSkgcm90YXRlWCgtODBkZWcpOyB9XHJcbiAgNTklICB7IHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciB0b3A7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwJSkgcm90YXRlWCgwZGVnKTsgfVxyXG4gIDc4JSAgeyB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgdG9wOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCUpIHJvdGF0ZVgoLTYwZGVnKTsgfVxyXG4gIDg0JSAgeyB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgdG9wOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCUpIHJvdGF0ZVgoLTYwZGVnKTsgfVxyXG4gIDk1JSAgeyB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgdG9wOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCUpIHJvdGF0ZVgoMGRlZyk7IH1cclxuICA5OCUgIHsgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIHRvcDsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAlKSByb3RhdGVYKDVkZWcpOyB9XHJcbiAgMTAwJSAgeyB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgdG9wOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCUpIHJvdGF0ZVgoMGRlZyk7IHRvcDogMHB4OyB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgZmxpcC1yaWdodCB7XHJcbiAgMCUgICAgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpIHBlcnNwZWN0aXZlKGNhbGMoMTAwdmgpKSByb3RhdGVZKC05MGRlZyk7IH1cclxuICAxMDAlICB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSkgcm90YXRlWSgwZGVnKTsgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIGZhZGUtaW4ge1xyXG4gIDAlICAgIHsgb3BhY2l0eTogMDsgfVxyXG4gIDc1JSAgIHsgb3BhY2l0eTogMDsgfVxyXG4gIDEwMCUgIHsgb3BhY2l0eTogMTsgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIGZ1bGwtZG93biB7XHJcbiAgMCUgICAgeyBoZWlnaHQ6IHZhcigtLWRyb3BoZWlnaHQpOyB9XHJcbiAgMCUgICAgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCUpIHJvdGF0ZVgoLTM2MGRlZyk7IHRvcDogMHB4OyB9XHJcbiAgMTAwJSAgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCUpIHJvdGF0ZVgoMGRlZyk7IHRvcDogMHB4OyB9XHJcbiAgMTAwJSAgeyBoZWlnaHQ6IHZhcigtLWRyb3BmdWxsaGVpZ2h0KTsgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIHB1bHNlIHtcclxuICAwJSAgICB7IHRyYW5zZm9ybTogc2NhbGUoMS4wKTsgfVxyXG4gIDQwJSAgICB7IHRyYW5zZm9ybTogc2NhbGUoMC41KTsgfVxyXG4gIDgwJSAgeyB0cmFuc2Zvcm06IHNjYWxlKDEuMCk7IH1cclxuICA5MCUgICAgeyB0cmFuc2Zvcm06IHNjYWxlKDEuMDEpOyB9XHJcbiAgMTAwJSAgeyB0cmFuc2Zvcm06IHNjYWxlKDEuMCk7IH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBwdWxzZS13cm9uZyB7XHJcbiAgMCUgIHsgb3BhY2l0eTogMTsgfVxyXG4gIDUwJSAgeyBvcGFjaXR5OiAwLjI7IH1cclxuICAxMDAlICB7IG9wYWNpdHk6IDE7IH1cclxufVxyXG5cclxuLmRyb3BhcmVhIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgZmxvYXQ6IGxlZnQ7XHJcbiAgLypcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1EUk9QX0NPTE9SX0JBQ0spO1xyXG4gIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgYm9yZGVyLXdpZHRoOiAxcHg7XHJcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1EUk9QX0NPTE9SX0JPUkRFUik7XHJcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tQk9SREVSX1JBRElVUyk7XHJcbiAgKi9cclxuICBtYXJnaW46IDBweDtcclxuICBwYWRkaW5nOiAwcHg7XHJcbiAgLyp3aWR0aDogY2FsYyg0MCUgLSAycHgpOyovXHJcbiAgd2lkdGg6IGNhbGMoNDAlKTtcclxuICBoZWlnaHQ6IDEwMCU7XHJcbiAgLy9oZWlnaHQ6IHZhcigtLWZhY3RoZWlnaHQpO1xyXG59XHJcblxyXG4uZHJvcCB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLURST1BfQ09MT1JfQkFDSyk7XHJcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tQk9SREVSX1JBRElVUyk7XHJcblxyXG4gIGJveC1zaGFkb3c6IHZhcigtLVRIRU1FX0JPWF9TSEFET1cpO1xyXG5cclxuICBtYXJnaW4tdG9wOiAwcHg7XHJcbiAgbWFyZ2luLWxlZnQ6IDBweDtcclxuICBtYXJnaW4tcmlnaHQ6IDBweDtcclxuICBtYXJnaW4tYm90dG9tOiAwcHg7XHJcbiAgcGFkZGluZzogMHB4O1xyXG4gIHRvcDogdmFyKC0tUEFEX0RST1ApO1xyXG4gIHJpZ2h0OiBjYWxjKCh2YXIoLS1sZXNzb253aWR0aCkgKyB2YXIoLS1QQURfRUxFTUVOVCkpICogLTEpO1xyXG4gIGhlaWdodDogdmFyKC0tbGVzc29uaGVpZ2h0KTtcclxuICB3aWR0aDogdmFyKC0tbGVzc29ud2lkdGgpO1xyXG5cclxuICBmb250LXNpemU6IGNhbGMoMS4yNXZoICsgMC43NXZ3KTtcclxuXHJcbiAgei1pbmRleDogNjtcclxufVxyXG5cclxuLmRyb3BfX3NtYWxsIHtcclxuICBmb250LXNpemU6IGNhbGMoMC42dmggKyAwLjR2dyk7XHJcbn1cclxuXHJcbi5kcm9wc3BhY2Uge1xyXG4gIHdpZHRoOiBjYWxjKDEwMCUgLSA0cHgpO1xyXG4gIGhlaWdodDogMXB4O1xyXG59XHJcblxyXG4uZHJvcF9fZW1wdHkge1xyXG4gIGZvbnQtc2l6ZTogY2FsYygxLjAwdmggKyAwLjUwdncpO1xyXG4gIG9wYWNpdHk6IDAuNzU7XHJcbn1cclxuXHJcbi5kcm9wX190b3Age1xyXG4gIHotaW5kZXg6IDI7XHJcbn1cclxuXHJcbi5kcm9wX19ib3R0b20ge1xyXG4gIHotaW5kZXg6IDE7XHJcbn1cclxuXHJcbi5kcm9wLS1wdWxzZSB7XHJcbiAgYW5pbWF0aW9uLW5hbWU6IHB1bHNlO1xyXG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogLjc1cztcclxuICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAxO1xyXG59XHJcblxyXG4uZHJvcC0tdmlzaWJsZSB7XHJcbiAgYW5pbWF0aW9uLW5hbWU6IGZsaXAtcmlnaHQ7XHJcbiAgdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDtcclxuICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IHRvcDtcclxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpIHBlcnNwZWN0aXZlKGNhbGMoMTAwdmgpKSByb3RhdGVZKC05MGRlZyk7XHJcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAuM3M7XHJcbiAgYW5pbWF0aW9uLWRlbGF5OiAuMjVzO1xyXG4gIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IDE7XHJcbiAgYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcclxufVxyXG5cclxuLmRyb3AtLWhpZGRlbiB7XHJcbiAgZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuLmRyb3BwZWQtLWxlc3NvbiB7XHJcbiAgdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDtcclxufVxyXG5cclxuQGtleWZyYW1lcyBkcm9wLW1lc3NhZ2UtZmFkZS1vdXQge1xyXG4gIDAlICB7IG9wYWNpdHk6IDE7IGJhY2tncm91bmQtY29sb3I6IGJsYWNrOyB9XHJcbiAgNDAlICB7IG9wYWNpdHk6IDE7IGJhY2tncm91bmQtY29sb3I6IGJsYWNrOyB9XHJcbiAgNTAlICB7IG9wYWNpdHk6IDE7IGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCkgdHJhbnNsYXRlWSgwKSBzY2FsZSgxKTsgfVxyXG4gIDEwMCUgeyBvcGFjaXR5OiAwOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwdncpIHRyYW5zbGF0ZVkoLTEwdmgpIHNjYWxlKDApOyB9XHJcbn1cclxuXHJcbi5kcm9wX19tZXNzYWdlIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgd2lkdGg6IDgwJTtcclxuICBoZWlnaHQ6IDgwJTtcclxuICB0b3A6IDEwJTtcclxuICBsZWZ0OiAxMCU7XHJcbiAgY29sb3I6IHdoaXRlO1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHJcbiAgb3BhY2l0eTogMDtcclxuICBhbmltYXRpb24tbmFtZTogZHJvcC1tZXNzYWdlLWZhZGUtb3V0O1xyXG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogM3M7XHJcbn1cclxuXHJcbi5kcm9wX19jb2luIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgaGVpZ2h0OiBjYWxjKHZhcigtLWxlc3NvbmhlaWdodCkgKiAwLjc1KTtcclxuICB3aWR0aDogY2FsYyh2YXIoLS1sZXNzb25oZWlnaHQpICogMC43NSk7XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgZHJvcC1jb2luLWZseS1pbi0xIHtcclxuICAwJSAgeyBvcGFjaXR5OiAwOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwdncpIHRyYW5zbGF0ZVkoLTIwdmgpO31cclxuNTAlICB7IG9wYWNpdHk6IDA7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjB2dykgdHJhbnNsYXRlWSgtMjB2aCk7fVxyXG59XHJcbkBrZXlmcmFtZXMgZHJvcC1jb2luLWZseS1pbi0yIHtcclxuICAwJSAgeyBvcGFjaXR5OiAwOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwdncpIHRyYW5zbGF0ZVkoLTIwdmgpO31cclxuIDUwJSAgeyBvcGFjaXR5OiAwOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwdncpIHRyYW5zbGF0ZVkoKzIwdmgpO31cclxufVxyXG5Aa2V5ZnJhbWVzIGRyb3AtY29pbi1mbHktaW4tMyB7XHJcbiAgMCUgIHsgb3BhY2l0eTogMDsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMHZ3KSB0cmFuc2xhdGVZKC0yMHZoKTt9XHJcbiA1MCUgIHsgb3BhY2l0eTogMDsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKCsyMHZ3KSB0cmFuc2xhdGVZKCsyMHZoKTt9XHJcbn1cclxuXHJcbi5kcm9wX19jb2luLTMge1xyXG4gIGJvdHRvbTogMHB4O1xyXG4gIHJpZ2h0OiAycHg7XHJcbiAgb3BhY2l0eTogMC42O1xyXG4gIGFuaW1hdGlvbi1uYW1lOiBkcm9wLWNvaW4tZmx5LWluLTM7XHJcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAzcztcclxufVxyXG4uZHJvcF9fY29pbi0yIHtcclxuICB0b3A6IDBweDtcclxuICByaWdodDogMHB4O1xyXG4gIG9wYWNpdHk6IDAuNzU7XHJcbiAgYW5pbWF0aW9uLW5hbWU6IGRyb3AtY29pbi1mbHktaW4tMjtcclxuICBhbmltYXRpb24tZHVyYXRpb246IDMuMnM7XHJcbn1cclxuLmRyb3BfX2NvaW4tMSB7XHJcbiAgdG9wOiA0cHg7XHJcbiAgcmlnaHQ6IGNhbGModmFyKC0tbGVzc29uaGVpZ2h0KSAqIDAuMjUpO1xyXG4gIG9wYWNpdHk6IDEuMDtcclxuICBhbmltYXRpb24tbmFtZTogZHJvcC1jb2luLWZseS1pbi0xO1xyXG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMy40cztcclxufVxyXG5cclxuQGtleWZyYW1lcyBkcm9wLWNvaW4tdGFsbHkge1xyXG4gMCUgIHsgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxyXG4gMTAlICB7IHRyYW5zZm9ybTogc2NhbGUoMik7IH1cclxuIDIwJSAgeyB0cmFuc2Zvcm06IHNjYWxlKDEuNSk7IH1cclxuIDcwJSAgeyBvcGFjaXR5OiAxOyB9XHJcbiAxMDAlICB7IG9wYWNpdHk6IDA7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjJ2dykgdHJhbnNsYXRlWShjYWxjKHZhcigtLWNvaW5ZKSkpIHNjYWxlKDIpOyB9XHJcbn1cclxuXHJcbi5kcm9wX19jb2luLXRhbGx5IHtcclxuICBhbmltYXRpb24tbmFtZTogZHJvcC1jb2luLXRhbGx5O1xyXG4gIGFuaW1hdGlvbi1kZWxheTogMS44cztcclxuICBhbmltYXRpb24tZHVyYXRpb246IDIuMHM7XHJcbiAgYW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7XHJcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZTtcclxufVxyXG5cclxuLmxlc3Nvbl9fdW5rbm93biB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tTEVTU09OX0NPTE9SX0JBQ0spO1xyXG4gIGJvcmRlci1jb2xvcjogdmFyKC0tTEVTU09OX0NPTE9SX0JBQ0spO1xyXG59XHJcblxyXG4uZHJvcF9fY29ycmVjdCB7XHJcbiAgaGVpZ2h0OiBjYWxjKHZhcigtLWxlc3NvbmhlaWdodCkgLSAycHgpO1xyXG4gIHdpZHRoOiBjYWxjKHZhcigtLWxlc3NvbndpZHRoKSAtIDJweCk7XHJcbiAgYm9yZGVyLXN0eWxlOiBkYXNoZWQ7XHJcbiAgYm9yZGVyLXdpZHRoOiAxcHg7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogYmxhY2s7XHJcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1MRVNTT05fQ09MT1JfQkFDSyk7XHJcbiAgY29sb3I6IHZhcigtLUxFU1NPTl9DT0xPUl9CQUNLKTtcclxufVxyXG5cclxuLypcclxuLmxlc3Nvbl9fd3Jvbmcge1xyXG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLVRIRU1FX0NPTE9SX1dST05HKTtcclxuICBib3JkZXItY29sb3I6IHZhcigtLVRIRU1FX0NPTE9SX1dST05HKTtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuKi9cclxuXHJcbi5kcm9wX19oaW50IHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgaGVpZ2h0OiBjYWxjKHZhcigtLWxlc3NvbmhlaWdodCkgLyAyKTtcclxuICBib3R0b206IDBweDtcclxuICByaWdodDogMHB4O1xyXG4gIG9wYWNpdHk6IDAuODtcclxufVxyXG5cclxuLmRyb3BfX2RlZmluaXRpb24ge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBoZWlnaHQ6IGNhbGModmFyKC0tbGVzc29uaGVpZ2h0KSAvIDIpO1xyXG4gIHRvcDogMHB4O1xyXG4gIGxlZnQ6IDBweDtcclxuICBvcGFjaXR5OiAwLjU7XHJcbn1cclxuXHJcbi5kcm9wX19hcnJvdyB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIGhlaWdodDogY2FsYyh2YXIoLS1kcm9waGVpZ2h0KSAtIDZweCk7XHJcbiAgd2lkdGg6IGNhbGModmFyKC0tZHJvcGhlaWdodCkgLSA2cHgpO1xyXG4gIHRvcDogMnB4O1xyXG4gIHJpZ2h0OiBjYWxjKCh2YXIoLS1kcm9waGVpZ2h0KSAtIDJweCkgKiAtMSk7XHJcbn1cclxuXHJcblxyXG4ubW92ZV9fZG93biB7XHJcbiAgYW5pbWF0aW9uLW5hbWU6IG1vdmUtZG93bjtcclxuICBhbmltYXRpb24tZHVyYXRpb246IDIuNXM7XHJcbn1cclxuXHJcbi8qXHJcbi5mbGlwX19yaWdodCB7XHJcbiAgYW5pbWF0aW9uLW5hbWU6IGZsaXAtcmlnaHQ7XHJcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAuNzVzO1xyXG59XHJcbiovXHJcblxyXG4uZmFkZV9faW4ge1xyXG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlLWluO1xyXG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogLjc1cztcclxufVxyXG5cclxuLmZ1bGxfX2Rvd24ge1xyXG4gIC8vaGVpZ2h0OiBjYWxjKDEwMCUgLSAxMHB4KTtcclxuICBoZWlnaHQ6IHZhcigtLWRyb3BmdWxsaGVpZ2h0KTtcclxuICBhbmltYXRpb24tbmFtZTogZnVsbC1kb3duO1xyXG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogLjc1cztcclxufVxyXG5cclxuLnB1bHNlX193cm9uZyB7XHJcbiAgYW5pbWF0aW9uLW5hbWU6IHB1bHNlLXdyb25nO1xyXG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogM3M7XHJcbiAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7XHJcbn1cclxuXHJcblxyXG4vKlxyXG4uRHJvcEFyZWEge1xyXG4gIGhlaWdodDogMTAwJTtcclxuICBtYXJnaW46IDBweDtcclxuICBwYWRkaW5nOiAwcHg7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRUJDRCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uRHJvcEJsb2NrIHtcclxuICBoZWlnaHQ6IDEwMCU7XHJcbiAgbWFyZ2luOiAwcHg7XHJcbiAgcGFkZGluZzogMHB4O1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbn1cclxuXHJcbi5Ecm9wSW5uZXIge1xyXG4gIGhlaWdodDogMTAwJTtcclxuICBtYXJnaW46IDBweDtcclxuICBwYWRkaW5nOiAwcHg7XHJcbiAgZmxvYXQ6IGxlZnQ7XHJcbn1cclxuXHJcbi5Ecm9wSW5uZXIyIHtcclxuICB3aWR0aDogNTAlO1xyXG59XHJcblxyXG4uRHJvcElubmVyNCB7XHJcbiAgd2lkdGg6IDI1JTtcclxufVxyXG5cclxuLkRyb3BGdWxsIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGOERDICFpbXBvcnRhbnQ7XHJcbn1cclxuKi9cclxuIiwiOnJvb3Qge1xyXG4gIC0tTEVTU09OX0NPTE9SX0JBQ0s6IHZhcigtLVRIRU1FX0NPTE9SX1dISVRFKTtcclxuICAtLUxFU1NPTl9DT0xPUl9URVhUOiB2YXIoLS1USEVNRV9DT0xPUl9URVhUKTtcclxuICAtLUxFU1NPTl9DT0xPUl9DT1JSRUNUOiB2YXIoLS1USEVNRV9DT0xPUl9DT1JSRUNUKTtcclxuICAtLUxFU1NPTl9DT0xPUl9XUk9ORzogdmFyKC0tVEhFTUVfQ09MT1JfV1JPTkcpO1xyXG4gIC0tTEVTU09OX0NPTE9SX1dST05HMTogdmFyKC0tVEhFTUVfQ09MT1JfV1JPTkcxKTtcclxuICAtLUxFU1NPTl9DT0xPUl9XUk9ORzI6IHZhcigtLVRIRU1FX0NPTE9SX1dST05HMik7XHJcbiAgLS1MRVNTT05fQ09MT1JfU0VMRUNURUQ6IHZhcigtLVRIRU1FX0NPTE9SX1NFQ09OREFSWSk7XHJcbiAgLS1ISU5UX0NPTE9SX0JBQ0s6IHZhcigtLVRIRU1FX0NPTE9SX1NFQ09OREFSWSk7XHJcbiAgLS1ISU5UX0NPTE9SX1RFWFQ6IHZhcigtLVRIRU1FX0NPTE9SX1RFWFRJTlZFUlNFRCk7XHJcbiAgLS1ISU5UX0NPTE9SX0JPUkRFUjogdmFyKC0tVEhFTUVfQ09MT1JfQkxBQ0spO1xyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIGtpY2stYmFjayB7XHJcbiAgICAwJSAgeyB6LWluZGV4OiAzOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KSB0cmFuc2xhdGVZKDBweCkgcm90YXRlKDM0OGRlZyk7IGxlZnQ6IHZhcigtLWRyb3B4KTsgdG9wOiB2YXIoLS1sYXN0VG9wKTsgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tVEhFTUVfQ09MT1JfV1JPTkcpOyB9XHJcbiAgMTAwJSAgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KSB0cmFuc2xhdGVZKDBweCk7IH1cclxufVxyXG5cclxuLmtpY2tfX2JhY2sge1xyXG4gIGFuaW1hdGlvbi1uYW1lOiBraWNrLWJhY2s7XHJcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjhzO1xyXG59XHJcblxyXG4vKlxyXG5Aa2V5ZnJhbWVzIGZsaXAtZG93biB7XHJcbiAgMCUgICAgeyB6LWluZGV4OiA3OyB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoIGNhbGMoKHZhcigtLWxlc3NvbmhlaWdodCkgKyB2YXIoLS1QQURfRUxFTUVOVCkpICogLTEpICApIHJvdGF0ZVgoMGRlZyk7ICB9XHJcbiAgMCUgICAgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1MRVNTT05fQ09MT1JfQkFDSyk7IGJvcmRlci1jb2xvcjogdmFyKC0tTEVTU09OX0NPTE9SX0JBQ0spOyB9XHJcbiAgMTYlICAge29wYWNpdHk6IDE7IH1cclxuICAxNyUgICB7b3BhY2l0eTogMDsgfVxyXG4gIDE3JSAgICB7IGJhY2tncm91bmQtY29sb3I6IHZhcigtLUxFU1NPTl9DT0xPUl9CQUNLKTsgYm9yZGVyLWNvbG9yOiB2YXIoLS1MRVNTT05fQ09MT1JfQkFDSyk7IH1cclxuICAxNyUgICAgeyB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoIGNhbGMoKHZhcigtLWxlc3NvbmhlaWdodCkgKyB2YXIoLS1QQURfRUxFTUVOVCkpICogLTEpICkgcm90YXRlWCgtOTBkZWcpOyB9XHJcbiAgMTglICAgIHsgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIHRvcDsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAlKSByb3RhdGVYKC05MGRlZyk7ICB9XHJcbiAgMTglICAgIHsgei1pbmRleDogNzsgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tTEVTU09OX0NPTE9SX0JBQ0spOyBib3JkZXItY29sb3I6IHZhcigtLUxFU1NPTl9DT0xPUl9CQUNLKTsgfVxyXG4gIDE4JSAgIHtvcGFjaXR5OiAwOyB9XHJcbiAgMTklICAge29wYWNpdHk6IDE7IH1cclxuICAzNCUgIHsgei1pbmRleDogNDsgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIHRvcDsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAlKSByb3RhdGVYKDBkZWcpOyB9XHJcbiAgNDMlICB7IHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciB0b3A7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwJSkgcm90YXRlWCgtODBkZWcpOyB9XHJcbiAgNDYlICB7IHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciB0b3A7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwJSkgcm90YXRlWCgtODBkZWcpOyB9XHJcbiAgNTklICB7IHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciB0b3A7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwJSkgcm90YXRlWCgwZGVnKTsgfVxyXG4gIDc4JSAgeyB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgdG9wOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCUpIHJvdGF0ZVgoLTYwZGVnKTsgfVxyXG4gIDg0JSAgeyB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgdG9wOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCUpIHJvdGF0ZVgoLTYwZGVnKTsgfVxyXG4gIDk1JSAgeyB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgdG9wOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCUpIHJvdGF0ZVgoMGRlZyk7IH1cclxuICA5OCUgIHsgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIHRvcDsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAlKSByb3RhdGVYKDVkZWcpOyB9XHJcbiAgMTAwJSAgeyB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgdG9wOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCUpIHJvdGF0ZVgoMGRlZyk7IH1cclxufVxyXG5cclxuLmZsaXBfX2Rvd24ge1xyXG4gIGFuaW1hdGlvbi1uYW1lOiBmbGlwLWRvd247XHJcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAyLjVzO1xyXG59XHJcbiovXHJcblxyXG5Aa2V5ZnJhbWVzIGZsaXAtd3Jvbmcge1xyXG4gIDAlICAgIHsgei1pbmRleDogNzsgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCBjYWxjKCh2YXIoLS1sZXNzb25oZWlnaHQpICsgdmFyKC0tUEFEX0VMRU1FTlQpKSAqIC0xKSAgKSByb3RhdGVYKDBkZWcpOyAgfVxyXG4gIDAlICAgIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tTEVTU09OX0NPTE9SX0JBQ0spOyBib3JkZXItY29sb3I6IHZhcigtLUxFU1NPTl9DT0xPUl9CQUNLKTsgfVxyXG4gIDE2JSAgIHtvcGFjaXR5OiAxOyB9XHJcbiAgMTclICAge29wYWNpdHk6IDA7IH1cclxuICAxNyUgICAgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1MRVNTT05fQ09MT1JfQkFDSyk7IGJvcmRlci1jb2xvcjogdmFyKC0tTEVTU09OX0NPTE9SX0JBQ0spOyB9XHJcbiAgMTclICAgIHsgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCBjYWxjKCh2YXIoLS1sZXNzb25oZWlnaHQpICsgdmFyKC0tUEFEX0VMRU1FTlQpKSAqIC0xKSApIHJvdGF0ZVgoLTkwZGVnKTsgfVxyXG4gIDE4JSAgICB7IHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciB0b3A7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwJSkgcm90YXRlWCgtOTBkZWcpOyAgfVxyXG4gIDE4JSAgICB7IHotaW5kZXg6IDc7IGJhY2tncm91bmQtY29sb3I6IHZhcigtLUxFU1NPTl9DT0xPUl9CQUNLKTsgYm9yZGVyLWNvbG9yOiB2YXIoLS1MRVNTT05fQ09MT1JfQkFDSyk7IH1cclxuICAxOCUgICB7b3BhY2l0eTogMDsgfVxyXG4gIDE5JSAgIHtvcGFjaXR5OiAxOyB9XHJcbiAgMzQlICB7IHotaW5kZXg6IDQ7IHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciB0b3A7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwJSkgcm90YXRlWCgwZGVnKSByb3RhdGUoLTRkZWcpOyB9XHJcbiAgNDMlICB7IHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciB0b3A7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwJSkgcm90YXRlWCgtODBkZWcpOyB9XHJcbiAgNDYlICB7IHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciB0b3A7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwJSkgcm90YXRlWCgtODBkZWcpOyB9XHJcbiAgNTklICB7IHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciB0b3A7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwJSkgcm90YXRlWCgwZGVnKSByb3RhdGUoLThkZWcpOyB9XHJcbiAgNzglICB7IHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciB0b3A7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwJSkgcm90YXRlWCgtNjBkZWcpIHJvdGF0ZSgtNGRlZyk7IH1cclxuICA4NCUgIHsgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIHRvcDsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAlKSByb3RhdGVYKC02MGRlZykgcm90YXRlKC04ZGVnKTsgfVxyXG4gIDk1JSAgeyB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgdG9wOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCUpIHJvdGF0ZVgoMGRlZykgcm90YXRlKC0xMmRlZyk7IH1cclxuICAxMDAlICB7IHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciB0b3A7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwJSkgcm90YXRlWCgwZGVnKSByb3RhdGUoLTEyZGVnKTsgfVxyXG59XHJcblxyXG4uZmxpcF9fd3Jvbmcge1xyXG4gIGFuaW1hdGlvbi1uYW1lOiBmbGlwLXdyb25nO1xyXG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMS4ycztcclxuICBhbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkcztcclxuICAvKmFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2U7Ki9cclxufVxyXG5cclxuQGtleWZyYW1lcyBmbGlwLXNjb3JlIHtcclxuICAwJSAgICB7IHotaW5kZXg6IDc7IHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207IHRyYW5zZm9ybTogdHJhbnNsYXRlWSggY2FsYygodmFyKC0tbGVzc29uaGVpZ2h0KSArIHZhcigtLVBBRF9FTEVNRU5UKSkgKiAtMSkgICkgcm90YXRlWCgwZGVnKTsgIH1cclxuICAwJSAgICB7IGJhY2tncm91bmQtY29sb3I6IHZhcigtLUxFU1NPTl9DT0xPUl9CQUNLKTsgYm9yZGVyLWNvbG9yOiB2YXIoLS1MRVNTT05fQ09MT1JfQkFDSyk7IH1cclxuICA0OCUgICB7b3BhY2l0eTogMTsgfVxyXG4gIDQ5JSAgIHtvcGFjaXR5OiAwOyB9XHJcbiAgNDklICAgIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tTEVTU09OX0NPTE9SX0JBQ0spOyBib3JkZXItY29sb3I6IHZhcigtLUxFU1NPTl9DT0xPUl9CQUNLKTsgfVxyXG4gIDQ5JSAgICB7IHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207IHRyYW5zZm9ybTogdHJhbnNsYXRlWSggY2FsYygodmFyKC0tbGVzc29uaGVpZ2h0KSArIHZhcigtLVBBRF9FTEVNRU5UKSkgKiAtMSkgKSByb3RhdGVYKC05MGRlZyk7IH1cclxuICA1MCUgICAgeyB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgdG9wOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCUpIHJvdGF0ZVgoLTkwZGVnKTsgIH1cclxuICA1MCUgICAgeyB6LWluZGV4OiA3OyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1MRVNTT05fQ09MT1JfQkFDSyk7IGJvcmRlci1jb2xvcjogdmFyKC0tTEVTU09OX0NPTE9SX0JBQ0spOyB9XHJcbiAgNTAlICAge29wYWNpdHk6IDA7IH1cclxuICA1MSUgICB7b3BhY2l0eTogMTsgfVxyXG4gIDEwMCUgIHsgei1pbmRleDogNDsgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIHRvcDsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAlKSByb3RhdGVYKDBkZWcpOyB9XHJcbn1cclxuXHJcbi5mbGlwX19zY29yZSB7XHJcbiAgYW5pbWF0aW9uLW5hbWU6IGZsaXAtc2NvcmU7XHJcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxLjJzO1xyXG59XHJcblxyXG5cclxuLmRlZmluaXRpb24sIC5oaW50IHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tSElOVF9DT0xPUl9CQUNLKTtcclxuICBjb2xvcjogdmFyKC0tSElOVF9DT0xPUl9URVhUKTtcclxuICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gIGJvcmRlci13aWR0aDogMXB4O1xyXG4gIGJvcmRlci1jb2xvcjogdmFyKC0tSElOVF9DT0xPUl9CT1JERVIpOztcclxuICBib3JkZXItcmFkaXVzOiB2YXIoLS1CT1JERVJfUkFESVVTKTtcclxuICBtYXJnaW46IDBweDtcclxuICBwYWRkaW5nOiAwcHg7XHJcbiAgd2lkdGg6IGNhbGModmFyKC0tbGVzc29ud2lkdGgpICogMiAtIDFweCk7XHJcbn1cclxuXHJcbi5kZWZpbml0aW9uIHtcclxuICBoZWlnaHQ6IGNhbGModmFyKC0tbGVzc29uaGVpZ2h0KSAqIDEuNSAtIDFweCk7XHJcbiAgei1pbmRleDogMjA7XHJcbn1cclxuXHJcbi5oaW50IHtcclxuICBoZWlnaHQ6IGNhbGModmFyKC0tbGVzc29uaGVpZ2h0KSAqIDMgLSAxcHgpO1xyXG4gIHotaW5kZXg6IDIxO1xyXG59XHJcblxyXG4uZGVmaW5pdGlvbl9fZGV0YWlsLCAuaGludF9fZGV0YWlsIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgcGFkZGluZzogNHB4O1xyXG4gIHdpZHRoOiBjYWxjKDEwMCUgLSA4cHgpO1xyXG4gIGhlaWdodDogY2FsYygxMDAlIC0gOHB4KTtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcblxyXG4uZGVmaW5pdGlvbl9fZGV0YWlsIHtcclxuICBmb250LXNpemU6IGNhbGMoMS4yNXZoICsgMC43NXZ3KTtcclxufVxyXG5cclxuLmhpbnRfX2RldGFpbCB7XHJcbiAgZm9udC1zaXplOiBjYWxjKDEuMjV2aCArIDAuNzV2dyk7XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgZGVmLWZsaXAtbGVmdCB7XHJcbiAgMCUgICAgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpIHBlcnNwZWN0aXZlKGNhbGMoMTAwdmgpKSByb3RhdGVZKC05MGRlZyk7IH1cclxuICAxMDAlICB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSkgcm90YXRlWSgwZGVnKTsgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIGhpbnQtZmxpcC1kb3duIHtcclxuICAwJSAgICB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwJSkgcGVyc3BlY3RpdmUoY2FsYygyMHZ3KSkgcm90YXRlWCgtOTBkZWcpOyB9XHJcbiAgMTAwJSAgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCUpIHJvdGF0ZVgoMGRlZyk7IH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBoaW50LWZsaXAtdXAge1xyXG4gIDAlICAgIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAlKSBwZXJzcGVjdGl2ZShjYWxjKDIwdncpKSByb3RhdGVYKC05MGRlZyk7IH1cclxuICAxMDAlICB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwJSkgcm90YXRlWCgwZGVnKTsgfVxyXG59XHJcblxyXG4uZGVmaW5pdGlvbi0tdmlzaWJsZSB7XHJcbiAgYW5pbWF0aW9uLW5hbWU6IGRlZi1mbGlwLWxlZnQ7XHJcbiAgdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDtcclxuICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCB0b3A7XHJcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKSBwZXJzcGVjdGl2ZShjYWxjKDEwMHZoKSkgcm90YXRlWSgtOTBkZWcpO1xyXG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogLjNzO1xyXG4gIGFuaW1hdGlvbi1kZWxheTogMHM7XHJcbiAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogMTtcclxuICBhbmltYXRpb24tZmlsbC1tb2RlOiBib3RoO1xyXG59XHJcblxyXG4uaGludC0tdmlzaWJsZWJlbG93IHtcclxuICBhbmltYXRpb24tbmFtZTogaGludC1mbGlwLWRvd247XHJcbiAgdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDtcclxuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgdG9wO1xyXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwJSkgcGVyc3BlY3RpdmUoY2FsYygyMHZ3KSkgcm90YXRlWCgtOTBkZWcpO1xyXG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogLjNzO1xyXG4gIGFuaW1hdGlvbi1kZWxheTogLjNzO1xyXG4gIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IDE7XHJcbiAgYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcclxufVxyXG5cclxuLmhpbnQtLXZpc2libGVhYm92ZSB7XHJcbiAgYW5pbWF0aW9uLW5hbWU6IGhpbnQtZmxpcC11cDtcclxuICB0cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkO1xyXG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207XHJcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAlKSBwZXJzcGVjdGl2ZShjYWxjKDIwdncpKSByb3RhdGVYKC05MGRlZyk7XHJcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAuM3M7XHJcbiAgYW5pbWF0aW9uLWRlbGF5OiAuM3M7XHJcbiAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogMTtcclxuICBhbmltYXRpb24tZmlsbC1tb2RlOiBib3RoO1xyXG59XHJcblxyXG5cclxuLmxlc3NvbiB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLUxFU1NPTl9DT0xPUl9CQUNLKTtcclxuICBjb2xvcjogdmFyKC0tTEVTU09OX0NPTE9SX1RFWFQpO1xyXG4gIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgYm9yZGVyLXdpZHRoOiAwcHg7XHJcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1MRVNTT05fQ09MT1JfQkFDSyk7XHJcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tQk9SREVSX1JBRElVUyk7XHJcblxyXG4gIGJveC1zaGFkb3c6IHZhcigtLVRIRU1FX0JPWF9TSEFET1cpO1xyXG5cclxuICBtYXJnaW46IDBweDtcclxuICBwYWRkaW5nOiAwcHg7XHJcbiAgaGVpZ2h0OiB2YXIoLS1sZXNzb25oZWlnaHQpO1xyXG4gIHdpZHRoOiB2YXIoLS1sZXNzb253aWR0aCk7XHJcbiAgLyp3aWR0aDogY2FsYygxMDAlIC0gNnB4KTsqL1xyXG4gIC8qdG9wOiB2YXIoLS1sZXNzb255KTsqL1xyXG4gIC8qbGVmdDogdmFyKC0tbGVzc29ueCk7Ki9cclxuICAvKm92ZXJmbG93OiBoaWRkZW47Ki9cclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgei1pbmRleDogNDtcclxufVxyXG5cclxuLmxlc3Nvbi0taGlkZGVuIHtcclxuICB0cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkO1xyXG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciB0b3A7XHJcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDBzO1xyXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwJSkgcGVyc3BlY3RpdmUoY2FsYygxMHZ3KSkgcm90YXRlWCgtOTBkZWcpO1xyXG59XHJcblxyXG4ubGVzc29uLS12aXNpYmxlIHtcclxuICB0cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkO1xyXG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciB0b3A7XHJcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMXM7XHJcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAlKSByb3RhdGVYKDBkZWcpO1xyXG59XHJcblxyXG4ubGVzc29uLS1hcHBsaWVkIHtcclxuICBvcGFjaXR5OiAwLjE7XHJcbiAgY3Vyc29yOiBhdXRvO1xyXG59XHJcblxyXG4ubGVzc29uLS1zZWxlY3RlZCB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tTEVTU09OX0NPTE9SX1NFTEVDVEVEKTtcclxufVxyXG5cclxuLmxlc3Nvbl9fZGV0YWlsIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgZm9udC1zaXplOiBjYWxjKDEuMjV2aCArIDAuNzV2dyk7XHJcbiAgcGFkZGluZzogNHB4O1xyXG4gIHdpZHRoOiBjYWxjKDEwMCUgLSA4cHgpO1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbn1cclxuXHJcbi5sZXNzb25fX2RldGFpbC0tc21hbGwge1xyXG4gIGZvbnQtc2l6ZTogY2FsYygwLjM1dmggKyAwLjR2dyk7XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgaGludCB7XHJcbiAgMCUgICAgeyBvcGFjaXR5OiAwLjI1OyB9XHJcbiAgNTAlICAgeyBvcGFjaXR5OiAwLjc1OyB9XHJcbiAgMTAwJSAgeyBvcGFjaXR5OiAwLjI1OyB9XHJcbn1cclxuXHJcbi5sZXNzb25fX2RlZmluaXRpb24ge1xyXG4gIG1hcmdpbjogMHB4O1xyXG4gIHBhZGRpbmc6IDBweDtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgaGVpZ2h0OiBjYWxjKHZhcigtLWxlc3NvbmhlaWdodCkpO1xyXG4gIHRvcDogMHB4O1xyXG4gIGxlZnQ6IDBweDtcclxuICBvcGFjaXR5OiAwLjU7XHJcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjk1KTtcclxuICB0cmFuc2l0aW9uOiBhbGwgLjIwcztcclxuXHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG4ubGVzc29uX19kZWZpbml0aW9uOmhvdmVyIHtcclxuICB0cmFuc2Zvcm06IHNjYWxlKDEuMCk7XHJcbn1cclxuXHJcbi5sZXNzb25fX2RlZmluaXRpb24tZmxhc2gge1xyXG4gIG9wYWNpdHk6IDAuMjU7XHJcbiAgYW5pbWF0aW9uLW5hbWU6IGhpbnQ7XHJcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAyMDAwbXM7XHJcbiAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7XHJcbn1cclxuXHJcblxyXG5Aa2V5ZnJhbWVzIGxlc3Nvbi1hbGVydC1vdXQge1xyXG4gICAwJSB7IG9wYWNpdHk6IDA7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKSB0cmFuc2xhdGVZKDApIHNjYWxlKDApIHJvdGF0ZSgtMTBkZWcpOyB9XHJcbiAgMjAlIHsgb3BhY2l0eTogMTsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApIHRyYW5zbGF0ZVkoMCkgc2NhbGUoMSkgcm90YXRlKC0xMGRlZyk7IH1cclxuICAzMCUgeyBvcGFjaXR5OiAxOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCkgdHJhbnNsYXRlWSgwKSBzY2FsZSgxKSByb3RhdGUoLTEwZGVnKTsgfVxyXG4gMTAwJSB7IG9wYWNpdHk6IDA7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCg1dncpIHRyYW5zbGF0ZVkoNXZoKSBzY2FsZSgwKSByb3RhdGUoLTI1ZGVnKTsgfVxyXG59XHJcblxyXG4ubGVzc29uX19hbGVydCB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogMjUlO1xyXG4gIGxlZnQ6IDBweDtcclxuICBmb250LXNpemU6IGNhbGMoMS4yNXZoICsgMC43NXZ3KTtcclxuICBjb2xvcjogd2hpdGU7XHJcbiAgdGV4dC1zaGFkb3c6IDBweCAwcHggNXB4IGJsYWNrO1xyXG4gIGFuaW1hdGlvbi1uYW1lOiBsZXNzb24tYWxlcnQtb3V0O1xyXG4gIGFuaW1hdGlvbi1kZWxheTogNC4wcztcclxuICBhbmltYXRpb24tZHVyYXRpb246IDIuNXM7XHJcbiAgYW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7XHJcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZTtcclxuICBvcGFjaXR5OiAwO1xyXG4gIHotaW5kZXg6IDIwO1xyXG59XHJcblxyXG4vKlxyXG5Aa2V5ZnJhbWVzIHNwaW4ge1xyXG4gICAgZnJvbSB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTI1ZGVnKSByb3RhdGVZKDBkZWcpO1xyXG4gICAgfVxyXG4gICAgdG8ge1xyXG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC0yNWRlZykgcm90YXRlWSgzNjBkZWcpO1xyXG4gICAgfVxyXG59XHJcbiovXHJcblxyXG4ubGVzc29uX19jcmVkcyB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIG1hcmdpbjogMHB4O1xyXG4gIHBhZGRpbmc6IDBweDtcclxuICBoZWlnaHQ6IGNhbGModmFyKC0tbGVzc29uaGVpZ2h0KSAqIC43NSk7XHJcbiAgd2lkdGg6IGNhbGModmFyKC0tbGVzc29uaGVpZ2h0KSAqIC43NSk7XHJcbiAgYm90dG9tOiAxcHg7XHJcbiAgcmlnaHQ6IDFweDtcclxuICBvcGFjaXR5OiAwLjg7XHJcbiAgY29sb3I6IHZhcigtLVRIRU1FX0NPTE9SX0JMQUNLKTtcclxuICB0cmFuc2Zvcm06IHJvdGF0ZSgtMjVkZWcpO1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICB0cmFuc2l0aW9uOiBhbGwgLjIwcztcclxufVxyXG5cclxuLmxlc3Nvbl9fY3JlZHM6aG92ZXIsIC5mbGFzaF9fY3JlZHMge1xyXG4gIGNvbG9yOiB2YXIoLS1USEVNRV9DT0xPUl9CTEFDSyk7XHJcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTI1ZGVnKSBzY2FsZSgxLjI1KTtcclxufVxyXG5cclxuXHJcbi5sZXNzb25fX2NyZWRzdGV4dCB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGhlaWdodDogNDAlO1xyXG4gIHRvcDogMHB4O1xyXG4gIGxlZnQ6IDBweDtcclxuICBmb250LXNpemU6IGNhbGMoMS43NXZoKTtcclxuICBmb250LXdlaWdodDogYm9sZDtcclxufVxyXG5cclxuLmxlc3Nvbl9fY3JlZHNsb2dvIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgaGVpZ2h0OiA0MCU7XHJcbiAgYm90dG9tOiAwcHg7XHJcbiAgbGVmdDogMHB4O1xyXG4gIGZvbnQtc2l6ZTogY2FsYygxLjI1dmgpO1xyXG59XHJcblxyXG4ubGVzc29uX19oaW50IHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgaGVpZ2h0OiBjYWxjKHZhcigtLWxlc3NvbmhlaWdodCkgLyAyKTtcclxuICBib3R0b206IDBweDtcclxuICBsZWZ0OiAwcHg7XHJcbiAgb3BhY2l0eTogMC44O1xyXG59XHJcblxyXG4ubGVzc29uX19jb3JyZWN0IHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1MRVNTT05fQ09MT1JfQ09SUkVDVCk7XHJcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1MRVNTT05fQ09MT1JfQ09SUkVDVCk7XHJcbiAgY3Vyc29yOiBhdXRvO1xyXG59XHJcblxyXG4ubGVzc29uX193cm9uZyB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tTEVTU09OX0NPTE9SX1dST05HKTtcclxuICBib3JkZXItY29sb3I6IHZhcigtLUxFU1NPTl9DT0xPUl9XUk9ORyk7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG4ubGVzc29uX18yNVBvaW50cyB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tTEVTU09OX0NPTE9SX1dST05HMSk7XHJcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1MRVNTT05fQ09MT1JfV1JPTkcxKTtcclxufVxyXG4ubGVzc29uX18xMFBvaW50cyB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tTEVTU09OX0NPTE9SX1dST05HMik7XHJcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1MRVNTT05fQ09MT1JfV1JPTkcyKTtcclxufVxyXG4ubGVzc29uX18wUG9pbnRzIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1MRVNTT05fQ09MT1JfV1JPTkcpO1xyXG4gIGJvcmRlci1jb2xvcjogdmFyKC0tTEVTU09OX0NPTE9SX1dST05HKTtcclxufVxyXG5cclxuLyp0cmFuc2xhdGVYKDApIHRyYW5zbGF0ZVkoMCkqL1xyXG4vKnRyYW5zbGF0ZVgoNXZ3KSB0cmFuc2xhdGVZKDEwdmgpKi9cclxuXHJcbkBrZXlmcmFtZXMgYm9ndXMtZmFkZS1vdXQge1xyXG4gIDAlICB7IG9wYWNpdHk6IDE7IHRyYW5zZm9ybTogc2NhbGUoMCk7IH1cclxuICAyMCUgIHsgb3BhY2l0eTogMTsgdHJhbnNmb3JtOiBzY2FsZSgxLjApOyB9XHJcbiAgMTAwJSB7IG9wYWNpdHk6IDA7IHRyYW5zZm9ybTogc2NhbGUoMC41KTsgfVxyXG59XHJcblxyXG4ubGVzc29uX19ib2d1cyB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHdpZHRoOiA4MCU7XHJcbiAgaGVpZ2h0OiA4MCU7XHJcbiAgdG9wOiAxMCU7XHJcbiAgbGVmdDogMTAlO1xyXG4gIGNvbG9yOiB2YXIoLS1USEVNRV9DT0xPUl9URVhUKTtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgdGV4dC1zaGFkb3c6IDBweCAwcHggMTBweCB2YXIoLS1USEVNRV9DT0xPUl9URVhUSU5WRVJTRUQpO1xyXG5cclxuICBvcGFjaXR5OiAwO1xyXG4gIGFuaW1hdGlvbi1uYW1lOiBib2d1cy1mYWRlLW91dDtcclxuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XHJcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAycztcclxuICBhbmltYXRpb24tZGVsYXk6IDBzO1xyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIGxlc3Nvbi12YW5pc2gge1xyXG4gIDAlICB7IG9wYWNpdHk6IDE7IH1cclxuICAzMyUgIHsgb3BhY2l0eTogMTsgfVxyXG4gIDEwMCUgeyBvcGFjaXR5OiAwOyB9XHJcbn1cclxuXHJcbi5sZXNzb25fX3RleHR2YW5pc2gge1xyXG4gIGFuaW1hdGlvbi1uYW1lOiBsZXNzb24tdmFuaXNoO1xyXG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcclxuICBhbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkcztcclxuICBhbmltYXRpb24tZHVyYXRpb246IDAuNXM7XHJcbiAgYW5pbWF0aW9uLWRlbGF5OiAwcztcclxufVxyXG5cclxuLmxlc3Nvbl9fdmFuaXNoIHtcclxuICBhbmltYXRpb24tbmFtZTogbGVzc29uLXZhbmlzaDtcclxuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XHJcbiAgYW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7XHJcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxLjVzO1xyXG4gIGFuaW1hdGlvbi1kZWxheTogMHM7XHJcbn1cclxuIiwiOnJvb3Qge1xyXG4gIC0tV0lTRE9NX0NPTE9SX0JBQ0s6IHZhcigtLVRIRU1FX0NPTE9SX1NFQ09OREFSWSk7XHJcbiAgLS1XSVNET01fQ09MT1JfVEVYVDogdmFyKC0tVEhFTUVfQ09MT1JfVEVYVElOVkVSU0VEKTtcclxuICAtLVdJU0RPTV9DT0xPUl9DT1JSRUNUOiB2YXIoLS1USEVNRV9DT0xPUl9DT1JSRUNUKTtcclxuICAtLVdJU0RPTV9DT0xPUl9DT1JSRUNUMjogdmFyKC0tVEhFTUVfQ09MT1JfSElHSExJR0hUKTtcclxuICAtLVdJU0RPTV9DT0xPUl9XUk9ORzogdmFyKC0tVEhFTUVfQ09MT1JfV1JPTkcpO1xyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIGZhZGVpbiB7XHJcbiAgICBmcm9tIHsgb3BhY2l0eTogMDsgfVxyXG4gICAgdG8gICB7IG9wYWNpdHk6IDE7IH1cclxufVxyXG5cclxuLndpc2RvbSB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIG1hcmdpbjogMHB4O1xyXG4gIHBhZGRpbmc6IDBweDtcclxuICB3aWR0aDogdmFyKC0td2lzZG9td2lkdGgpO1xyXG4gIGhlaWdodDogdmFyKC0tZmFjdGhlaWdodCk7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tV0lTRE9NX0NPTE9SX0JBQ0spO1xyXG4gIGNvbG9yOiB2YXIoLS1XSVNET01fQ09MT1JfVEVYVCk7XHJcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tQk9SREVSX1JBRElVUyk7XHJcbiAgYm94LXNoYWRvdzogdmFyKC0tVEhFTUVfQk9YX1NIQURPVyk7XHJcbn1cclxuXHJcbi53aXNkb20tLWhpZGRlbiB7XHJcbiAgdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDtcclxuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgdG9wO1xyXG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwcztcclxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCUpIHBlcnNwZWN0aXZlKGNhbGMoMjB2dykpIHJvdGF0ZVgoLTkwZGVnKTtcclxufVxyXG5cclxuLndpc2RvbS0tdmlzaWJsZSB7XHJcbiAgdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDtcclxuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgdG9wO1xyXG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzO1xyXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwJSkgcm90YXRlWCgwZGVnKTtcclxufVxyXG5cclxuLndpc2RvbV9fdGV4dGFyZWEge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBmbG9hdDogbGVmdDtcclxuICBib3JkZXItcmFkaXVzOiB2YXIoLS1CT1JERVJfUkFESVVTKTtcclxuICBtYXJnaW46IDBweDtcclxuICBwYWRkaW5nOiAwcHg7XHJcbiAgd2lkdGg6IGNhbGMoMTAwJSk7XHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG59XHJcblxyXG4ud2lzZG9tX19kZXRhaWwge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBmb250LXNpemU6IGNhbGMoMS4yNXZoICsgMC43NXZ3KTtcclxuICBwYWRkaW5nOiA0cHg7XHJcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDhweCk7XHJcbiAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxMHB4KTtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcblxyXG4vKlxyXG4ud2lzZG9tX19kcm9wYXJlYSB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tTEVTU09OX0NPTE9SX0JBQ0spO1xyXG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLUJPUkRFUl9SQURJVVMpO1xyXG4gIG1hcmdpbjogMHB4O1xyXG4gIHBhZGRpbmc6IDBweDtcclxuICB3aWR0aDogdmFyKC0td2lzZG9tZHJvcHdpZHRoKTtcclxuICBoZWlnaHQ6IHZhcigtLXdpc2RvbWRyb3BoZWlnaHQpO1xyXG59Ki9cclxuXHJcbi53aXNkb21fX2Ryb3Age1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IHZhcigtLVBBRF9XSVNET00pO1xyXG4gIHJpZ2h0OiBjYWxjKCh2YXIoLS13aXNkb21kcm9wd2lkdGgpICsgdmFyKC0tUEFEX1dJU0RPTSkpICogLTEpO1xyXG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLUJPUkRFUl9SQURJVVMpO1xyXG4gIG1hcmdpbjogMHB4O1xyXG4gIHBhZGRpbmc6IDBweDtcclxuICB3aWR0aDogdmFyKC0td2lzZG9tZHJvcHdpZHRoKTtcclxuICBoZWlnaHQ6IHZhcigtLXdpc2RvbWRyb3BoZWlnaHQpO1xyXG4gIGZvbnQtc2l6ZTogY2FsYygxLjAwdmggKyAwLjUwdncpO1xyXG4gIGNvbG9yOiB2YXIoLS1USEVNRV9DT0xPUl9URVhUKTtcclxuICBib3gtc2hhZG93OiB2YXIoLS1USEVNRV9CT1hfU0hBRE9XKTtcclxuXHJcbiAgYW5pbWF0aW9uLW5hbWU6IGZsaXAtcmlnaHQ7XHJcbiAgdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDtcclxuICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IHRvcDtcclxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpIHBlcnNwZWN0aXZlKGNhbGMoMTAwdmgpKSByb3RhdGVZKC05MGRlZyk7XHJcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAuM3M7XHJcbiAgYW5pbWF0aW9uLWRlbGF5OiAuMjVzO1xyXG4gIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IDE7XHJcbiAgYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcclxufVxyXG5cclxuLndpc2RvbV9fZHJvcC1lbXB0eSB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tVEhFTUVfQ09MT1JfV0hJVEUpO1xyXG4gIG9wYWNpdHk6IDAuNzU7XHJcbn1cclxuXHJcbi53aXNkb21fX2Ryb3AtZnVsbCB7XHJcbiAgaGVpZ2h0OiBjYWxjKHZhcigtLXdpc2RvbWRyb3BoZWlnaHQpIC0gMnB4KTtcclxuICB3aWR0aDogY2FsYyh2YXIoLS13aXNkb21kcm9wd2lkdGgpIC0gMnB4KTtcclxuICBib3JkZXItd2lkdGg6IDFweDtcclxuICBib3JkZXItc3R5bGU6IGRhc2hlZDtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiBibGFjaztcclxuICBib3JkZXItY29sb3I6IHZhcigtLUxFU1NPTl9DT0xPUl9CQUNLKTtcclxuICBjb2xvcjogdmFyKC0tTEVTU09OX0NPTE9SX0JBQ0spO1xyXG4gIGZvbnQtc2l6ZTogY2FsYygxLjI1dmggKyAwLjc1dncpO1xyXG59XHJcblxyXG4ud2lzZG9tY2hvaWNlIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tQk9SREVSX1JBRElVUyk7XHJcbiAgbWFyZ2luOiAwcHg7XHJcbiAgcGFkZGluZzogMHB4O1xyXG4gIHdpZHRoOiB2YXIoLS13aXNkb21kcm9wd2lkdGgpO1xyXG4gIGhlaWdodDogdmFyKC0td2lzZG9tZHJvcGhlaWdodCk7XHJcbiAgLypmb250LXNpemU6IGNhbGMoMS43NXZoICsgMS4wMHZ3KTsqL1xyXG4gIGZvbnQtc2l6ZTogY2FsYygxLjI1dmggKyAwLjg1dncpO1xyXG4gIGJveC1zaGFkb3c6IHZhcigtLVRIRU1FX0JPWF9TSEFET1cpO1xyXG59XHJcblxyXG4ud2lzZG9tY2hvaWNlLS1tb3ZhYmxlIHtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbi53aXNkb21jaG9pY2UtLXNlbGVjdGVkIHtcclxuICBib3JkZXI6IDJweCBzb2xpZCB5ZWxsb3c7XHJcbn1cclxuXHJcblxyXG5Aa2V5ZnJhbWVzIHdpc2RvbS1zaG93IHtcclxuICAwJSAgICB7IHRyYW5zZm9ybTogc2NhbGUoMSkgcm90YXRlWCgwZGVnKTsgfVxyXG4gIDIwJSAgICB7IHRyYW5zZm9ybTogc2NhbGUoMSkgcm90YXRlWCgwZGVnKTsgfVxyXG59XHJcblxyXG4ud2lzZG9tY2hvaWNlLXNtYWxsIHtcclxuICB0cmFuc2Zvcm0tb3JpZ2luOiBib3R0b20gcmlnaHQ7XHJcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjUpIHJvdGF0ZSgtNWRlZyk7XHJcblxyXG4gIGFuaW1hdGlvbi1uYW1lOiB3aXNkb20tc2hvdztcclxuICBhbmltYXRpb24tZHVyYXRpb246IDEuMHM7XHJcbiAgYW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7XHJcbn1cclxuXHJcbi53aXNkb21idXR0b24ge1xyXG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLUxFU1NPTl9DT0xPUl9CQUNLKTtcclxuICBsZWZ0OiB2YXIoLS1sZXNzb254KTtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbi53aXNkb21idXR0b24tLXNlbGVjdGVkIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10aGVtZWZhY3Rjb2xvcik7XHJcbn1cclxuXHJcbi53aXNkb21idXR0b24tLXBvczEge1xyXG4gIHRvcDogY2FsYygoKHZhcigtLWZhY3RoZWlnaHQpICsgdmFyKC0tUEFEX0VMRU1FTlQpKSAqIDEpICsgdmFyKC0tZmFjdHkpKTtcclxufVxyXG4ud2lzZG9tYnV0dG9uLS1wb3MyIHtcclxuICB0b3A6IGNhbGMoKCh2YXIoLS1mYWN0aGVpZ2h0KSArIHZhcigtLVBBRF9FTEVNRU5UKSkgKiAyKSArIHZhcigtLWZhY3R5KSk7XHJcbn1cclxuLndpc2RvbWJ1dHRvbi0tcG9zMyB7XHJcbiAgdG9wOiBjYWxjKCgodmFyKC0tZmFjdGhlaWdodCkgKyB2YXIoLS1QQURfRUxFTUVOVCkpICogMykgKyB2YXIoLS1mYWN0eSkpO1xyXG59XHJcbi53aXNkb21idXR0b24tLXBvczQge1xyXG4gIHRvcDogY2FsYygoKHZhcigtLWZhY3RoZWlnaHQpICsgdmFyKC0tUEFEX0VMRU1FTlQpKSAqIDQpICsgdmFyKC0tZmFjdHkpKTtcclxufVxyXG5cclxuLndpc2RvbWJ1dHRvbi0tZGlzYWJsZWQge1xyXG4gIG9wYWNpdHk6IDAuMztcclxuICBjdXJzb3I6IGF1dG87XHJcbn1cclxuXHJcbi53aXNkb21fXzFzdCB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tVEhFTUVfQ09MT1JfUkFOSzEpO1xyXG4gIGNvbG9yOiB2YXIoLS1USEVNRV9DT0xPUl9URVhUSU5WRVJTRUQpO1xyXG59XHJcbi53aXNkb21fXzJuZCB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tVEhFTUVfQ09MT1JfUkFOSzIpO1xyXG4gIGNvbG9yOiB2YXIoLS1USEVNRV9DT0xPUl9URVhUSU5WRVJTRUQpO1xyXG59XHJcbi53aXNkb21fXzNyZCB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tVEhFTUVfQ09MT1JfUkFOSzMpO1xyXG4gIGNvbG9yOiB2YXIoLS1USEVNRV9DT0xPUl9URVhUKTtcclxufVxyXG5cclxuLndpc2RvbV9fY2hvaWNlLS1hcHBsaWVkIHtcclxuICBjdXJzb3I6IGF1dG87XHJcbn1cclxuXHJcbi53aXNkb21kZXRhaWwge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBtYXJnaW46IDBweDtcclxuICBwYWRkaW5nOiAwcHg7XHJcbiAgd2lkdGg6IGNhbGModmFyKC0td2lzZG9td2lkdGgpICsgKHZhcigtLVBBRF9XSVNET00pICogNikpO1xyXG4gIGxlZnQ6IGNhbGModmFyKC0td2lzZG9teCkgLSAodmFyKC0tUEFEX1dJU0RPTSkgKiAzKSk7XHJcbiAgaGVpZ2h0OiB2YXIoLS13aXNkb21oZWlnaHQpO1xyXG4gIHRvcDogdmFyKC0td2lzZG9teSk7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tTEVTU09OX0NPTE9SX0JBQ0spO1xyXG4gIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgYm9yZGVyLXdpZHRoOiAycHg7XHJcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tQk9SREVSX1JBRElVUyk7XHJcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1USEVNRV9DT0xPUl9CTEFDSyk7XHJcbn1cclxuXHJcbi53aXNkb21kZXRhaWxfX3RleHQge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBmb250LXNpemU6IGNhbGMoMS4yNXZoICsgMC43NXZ3KTtcclxuICBwYWRkaW5nOiA4cHg7XHJcbiAgd2lkdGg6IGNhbGMoMTAwJSk7XHJcbiAgaGVpZ2h0OiBjYWxjKDEwMCUpO1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbn1cclxuXHJcbi53aXNkb20tLWNvcnJlY3Qge1xyXG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLVdJU0RPTV9DT0xPUl9DT1JSRUNUKTtcclxuICBjb2xvcjogdmFyKC0tVEhFTUVfQ09MT1JfVEVYVCk7XHJcbn1cclxuXHJcbi53aXNkb20tLWFsbW9zdGNvcnJlY3Qge1xyXG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLVdJU0RPTV9DT0xPUl9DT1JSRUNUMik7XHJcbiAgY29sb3I6IHZhcigtLVRIRU1FX0NPTE9SX1RFWFQpO1xyXG59XHJcblxyXG4ud2lzZG9tLS13cm9uZyB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tV0lTRE9NX0NPTE9SX1dST05HKTtcclxuICBjb2xvcjogdmFyKC0tVEhFTUVfQ09MT1JfVEVYVElOVkVSU0VEKTtcclxufVxyXG4iLCI6cm9vdCB7XHJcbiAgLS1IT01FX0NPTE9SX0JBQ0s6IHZhcigtLVRIRU1FX0NPTE9SX0xJR0hUKTtcclxuICAtLUhPTUVfQ09MT1JfQk9YOiB2YXIoLS1USEVNRV9DT0xPUl9MSUdIVCk7XHJcbiAgLS1IT01FX0NPTE9SX1RFWFQ6IHZhcigtLVRIRU1FX0NPTE9SX1RFWFQpO1xyXG4gIC0tSE9NRV9DT0xPUl9CVVRUT04xOiB2YXIoLS1USEVNRV9DT0xPUl9ISUdITElHSFQpO1xyXG4gIC0tSE9NRV9DT0xPUl9CVVRUT04yOiB2YXIoLS1USEVNRV9DT0xPUl9TRUNPTkRBUlkpO1xyXG4gIC0tSE9NRV9DT0xPUl9CVVRUT05URVhUOiB2YXIoLS1USEVNRV9DT0xPUl9URVhUKTtcclxuICAtLUhPTUVfQ09MT1JfQlVCQkxFOiBsaWdodGdyZXk7XHJcbn1cclxuXHJcblxyXG5Aa2V5ZnJhbWVzIHBvcC1pbiB7XHJcbiAgMCUgIHtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUoLjUsIC41KTtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgfVxyXG4gIDQwJSB7IG9wYWNpdHk6IDE7IH1cclxuICA2NSUgeyB0cmFuc2Zvcm06IHNjYWxlKDEuMSwgMS4xKTsgfVxyXG4gIDEwMCUgeyB0cmFuc2Zvcm06IHNjYWxlKDEsIDEpOyBvcGFjaXR5OiAxOyB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgZmFkZS1pbiB7XHJcbiAgMCUgIHsgb3BhY2l0eTogMDsgfVxyXG4gIDEwMCUgeyBvcGFjaXR5OiAxOyB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgcG9wLWF3YXkge1xyXG4gIDAlICAgeyAgdHJhbnNmb3JtOiBzY2FsZSgxLCAxKSB0cmFuc2xhdGUoMCwwKTsgfVxyXG4gIDQwJSB7IHRyYW5zZm9ybTogc2NhbGUoMS4xLCAxLjEpOyB9XHJcbiAgNjUlIHsgb3BhY2l0eTogMTsgfVxyXG5cclxuICA5OSUgeyAgdHJhbnNmb3JtOiBzY2FsZSguNSwgLjUpO1xyXG4gICAgb3BhY2l0eTogMDsgfVxyXG5cclxuICAxMDAleyB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMTAwMDBlbSwtMTAwMDBlbSk7IH1cclxufVxyXG5cclxuXHJcbi5ob21lc2NyZWVue1xyXG4gIHBvc2l0aW9uOiBmaXhlZDtcclxuXHJcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tSE9NRV9DT0xPUl9CQUNLKTtcclxuICBjb2xvcjogdmFyKC0tSE9NRV9DT0xPUl9URVhUKTtcclxuXHJcbiAgbGVmdDogMDtcclxuICB0b3A6IDA7XHJcbiAgcmlnaHQ6IDA7XHJcbiAgYm90dG9tOiAwO1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleC13cmFwOiB3cmFwO1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblxyXG4gIHotaW5kZXg6IDEwO1xyXG59XHJcblxyXG4uaG9tZXNjcmVlbi0tdmlzaWJsZXtcclxuICBhbmltYXRpb24tbmFtZTogcG9wLWluO1xyXG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogLjc1cztcclxuICBhbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkcztcclxufVxyXG4uaG9tZXNjcmVlbi0taGlkZGVue1xyXG4gIC8vZGlzcGxheTogbm9uZTtcclxuICBhbmltYXRpb24tbmFtZTogcG9wLWF3YXk7XHJcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAuNzVzO1xyXG4gIGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xyXG59XHJcbi5ob21lc2NyZWVuLS1pbnZpc2libGV7XHJcbiAgLy9kaXNwbGF5OiBub25lO1xyXG4gIGFuaW1hdGlvbi1uYW1lOiBwb3AtYXdheTtcclxuICBhbmltYXRpb24tZHVyYXRpb246IDBzO1xyXG4gIGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xyXG59XHJcblxyXG4uaG9tZXNjcmVlbl9fYm94e1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB3aWR0aDogODB2dztcclxuICBoZWlnaHQ6IDU1dmg7XHJcbiAgdG9wOiAzMHZoO1xyXG4gIC8qcGFkZGluZy1sZWZ0OiAydnc7XHJcbiAgcGFkZGluZy1yaWdodDogMnZ3O1xyXG4gIHBhZGRpbmctdG9wOiAydmg7XHJcbiAgcGFkZGluZy1ib3R0b206IDJ2aDsqL1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1IT01FX0NPTE9SX0JPWCk7XHJcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tQk9SREVSX1JBRElVUyk7XHJcblxyXG4gIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQ7XHJcbn1cclxuXHJcbi5ob21lc2NyZWVuX19icmFuZHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgaGVpZ2h0OiAyMHZoO1xyXG4gIHdpZHRoOiBhdXRvO1xyXG4gIHRvcDogNXZoO1xyXG4gIG1hcmdpbjogMDtcclxuXHJcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGUtaW47XHJcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxLjVzO1xyXG4gIGFuaW1hdGlvbi1kZWxheTogMS4wcztcclxuICBhbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkcztcclxuICBvcGFjaXR5OiAwO1xyXG59XHJcblxyXG4uaG9tZXNjcmVlbl9fdGl0bGV7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIGhlaWdodDogNHZoO1xyXG4gIHdpZHRoOiA4MHZ3O1xyXG4gIHRvcDogMXZoO1xyXG4gIGxlZnQ6IDBweDtcclxuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gIGZvbnQtc2l6ZTogNHZoO1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICB0ZXh0LXNoYWRvdzogdmFyKC0tVEhFTUVfSEVBREVSX1NIQURPVyk7XHJcbn1cclxuXHJcbi5ob21lc2NyZWVuX19hdXRob3IsIC5ob21lc2NyZWVuX19sZWFybmVyIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgd2lkdGg6IDEydnc7XHJcbiAgaGVpZ2h0OiAxNi41dnc7XHJcbiAgdG9wOiAxMHZoO1xyXG59XHJcblxyXG4uaG9tZXNjcmVlbl9fYXV0aG9yIHtcclxuICBsZWZ0OiA3dnc7XHJcbn1cclxuXHJcbi5ob21lc2NyZWVuX19sZWFybmVyIHtcclxuICBsZWZ0OiA2MnZ3O1xyXG59XHJcblxyXG4uaG9tZXNjcmVlbl9fYmlvIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgd2lkdGg6IDE2dnc7XHJcbiAgaGVpZ2h0OiAxNi41dnc7XHJcbiAgdG9wOiAzOXZoO1xyXG4gIGxlZnQ6IDV2dztcclxuXHJcbiAgY29sb3I6IHZhcigtLUhPTUVfQ09MT1JfVEVYVCk7XHJcbiAgZm9udC1zaXplOiAzdmg7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG59XHJcblxyXG4uaG9tZXNjcmVlbl9fbWVzc2FnZXtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgaGVpZ2h0OiA0NXZoO1xyXG4gIHdpZHRoOiAzMHZ3O1xyXG4gIHRvcDogNnZoO1xyXG4gIGxlZnQ6IDI1dnc7XHJcblxyXG4gIGZvbnQtc2l6ZTogY2FsYygxLjI1dmggKyAxLjAwdncpO1xyXG5cclxuICBwYWRkaW5nOiAxdmg7XHJcblxyXG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLUhPTUVfQ09MT1JfQlVCQkxFKTtcclxuXHJcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuICBib3JkZXItd2lkdGg6IDFweDtcclxuICBib3JkZXItY29sb3I6IHZhcigtLVRIRU1FX0NPTE9SX0JMQUNLKTtcclxuICBib3JkZXItcmFkaXVzOiA1dmg7XHJcblxyXG4gIGFuaW1hdGlvbi1uYW1lOiBwb3AtaW47XHJcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjVzO1xyXG4gIGFuaW1hdGlvbi1kZWxheTogMS41cztcclxuICBhbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkcztcclxuICBvcGFjaXR5OiAwO1xyXG59XHJcblxyXG4uYXJyb3ctbGVmdCB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHdpZHRoOiAwO1xyXG4gIGhlaWdodDogMDtcclxuXHJcbiAgYm9yZGVyOiA0dncgc29saWQgdmFyKC0tSE9NRV9DT0xPUl9CVUJCTEUpO1xyXG5cclxuICBib3JkZXItcmlnaHQtY29sb3I6IHZhcigtLUhPTUVfQ09MT1JfQlVCQkxFKTtcclxuICBib3JkZXItbGVmdC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgYm9yZGVyLXRvcC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcblxyXG4gIGxlZnQ6IC04dnc7XHJcbiAgdG9wOiA0dmg7XHJcbn1cclxuXHJcbi5ob21lc2NyZWVuX19ydWxlcywgLmhvbWVzY3JlZW5fX3N1cHBvcnQge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHJcbiAgaGVpZ2h0OiAzdmg7XHJcbiAgd2lkdGg6IDE1dnc7XHJcbiAgdG9wOiA4N3ZoO1xyXG5cclxuICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gIGJvcmRlci13aWR0aDogMXB4O1xyXG4gIGJvcmRlci1jb2xvcjogdmFyKC0tSE9NRV9DT0xPUl9CVVRUT04yKTtcclxuICBib3JkZXItcmFkaXVzOiB2YXIoLS1CT1JERVJfUkFESVVTKTtcclxuICBjb2xvcjogdmFyKC0tSE9NRV9DT0xPUl9CVVRUT04yKTtcclxuXHJcbiAgcGFkZGluZy10b3A6IDF2aDtcclxuXHJcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgZm9udC1zaXplOiAydmg7XHJcblxyXG4gIHRyYW5zaXRpb246IGFsbCAuMjBzO1xyXG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcclxuXHJcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGUtaW47XHJcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxLjVzO1xyXG4gIGFuaW1hdGlvbi1kZWxheTogMi41cztcclxuICBhbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkcztcclxuICBvcGFjaXR5OiAwO1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG5cclxuLmhvbWVzY3JlZW5fX3J1bGVzOmhvdmVyLCAuaG9tZXNjcmVlbl9fc3VwcG9ydDpob3ZlciB7XHJcbiAgICBsZXR0ZXItc3BhY2luZzogLjA1ZW07XHJcbiAgICBib3JkZXItY29sb3I6IHZhcigtLUhPTUVfQ09MT1JfQlVUVE9OMik7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1IT01FX0NPTE9SX0JVVFRPTjIpO1xyXG4gICAgY29sb3I6IHZhcigtLVRIRU1FX0NPTE9SX1RFWFRJTlZFUlNFRCk7XHJcbiAgICBib3gtc2hhZG93OiB2YXIoLS1USEVNRV9CT1hfU0hBRE9XKTtcclxufVxyXG5cclxuLmhvbWVzY3JlZW5fX3J1bGVze1xyXG4gIGxlZnQ6IDM1dnc7XHJcbn1cclxuXHJcbi5ob21lc2NyZWVuX19zdXBwb3J0e1xyXG4gIGxlZnQ6IDUxdnc7XHJcbn1cclxuXHJcbi5ob21lc2NyZWVuX19idXR0b257XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIGhlaWdodDogN3ZoO1xyXG4gIHdpZHRoOiAxNnZ3O1xyXG4gIHRvcDogNzV2aDtcclxuICBsZWZ0OiA3MHZ3O1xyXG4gIGZvbnQtc2l6ZTogM3ZoO1xyXG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLUJPUkRFUl9SQURJVVMpO1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1IT01FX0NPTE9SX0JVVFRPTjIpO1xyXG5cclxuICBjb2xvcjogdmFyKC0tSE9NRV9DT0xPUl9CVVRUT04yKTtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1IT01FX0NPTE9SX0JVVFRPTjEpO1xyXG5cclxuICBvdXRsaW5lOiAwO1xyXG4gIHRyYW5zaXRpb246IGFsbCAuMjBzO1xyXG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcclxuXHJcbiAgYW5pbWF0aW9uLW5hbWU6IHBvcC1pbjtcclxuICBhbmltYXRpb24tZHVyYXRpb246IDAuNXM7XHJcbiAgYW5pbWF0aW9uLWRlbGF5OiAyLjVzO1xyXG4gIGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xyXG4gIG9wYWNpdHk6IDA7XHJcblxyXG4gIGJveC1zaGFkb3c6IHZhcigtLVRIRU1FX0JPWF9TSEFET1cpO1xyXG5cclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbi5ob21lc2NyZWVuX19idXR0b246aG92ZXIge1xyXG4gICAgbGV0dGVyLXNwYWNpbmc6IC4wNWVtO1xyXG4gICAgY29sb3I6IHZhcigtLVRIRU1FX0NPTE9SX0JMQUNLKTtcclxuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tVEhFTUVfQ09MT1JfQkxBQ0spO1xyXG59XHJcbiIsIkBrZXlmcmFtZXMgc2NvcmUtZmFkZS1pbiB7XHJcbiAgMCUgIHsgb3BhY2l0eTogMDsgfVxyXG4xMDAlICB7IG9wYWNpdHk6IDE7IH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBzY29yZS1mYWRlLWluLW91dCB7XHJcbiAgMCUgIHsgb3BhY2l0eTogMDsgfVxyXG4gNDAlICB7IG9wYWNpdHk6IDE7IHRyYW5zZm9ybTogc2NhbGUoMSk7IH1cclxuIDg1JSAgeyBvcGFjaXR5OiAxOyB9XHJcbjEwMCUgIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDApO1xyXG4gICAgdG9wOiA0MHZoO1xyXG4gICAgbGVmdDogY2FsYygzNXZ3IC0gNXZoKTtcclxuICAgfVxyXG59XHJcblxyXG4vKlxyXG5Aa2V5ZnJhbWVzIHN0YXIxLXpvb20ge1xyXG4gICAgMCUgIHtcclxuICAgIHRyYW5zZm9ybTogcm90YXRlKC0zNWRlZykgc2NhbGUoLjIpO1xyXG4gICAgb3BhY2l0eTogLjI7XHJcbiAgICB0b3A6IDMwdmg7XHJcbiAgICBsZWZ0OiBjYWxjKDM1dncgLSAxMHZoKTtcclxuICAgfVxyXG4gIDEwMCUgIHtcclxuICAgIHRyYW5zZm9ybTogcm90YXRlKC0zNWRlZykgc2NhbGUoMSk7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgdG9wOiAxMHZoO1xyXG4gICAgbGVmdDogY2FsYygyMHZ3IC0gMTB2aCk7XHJcbiAgIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBzdGFyMi16b29tIHtcclxuICAgIDAlICB7XHJcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMzVkZWcpIHNjYWxlKC4yKTtcclxuICAgIG9wYWNpdHk6IC4yO1xyXG4gICAgdG9wOiAzMHZoO1xyXG4gICAgbGVmdDogY2FsYygzNXZ3IC0gMTB2aCk7XHJcbiAgIH1cclxuICAxMDAlICB7XHJcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTcuNWRlZykgc2NhbGUoMSk7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgdG9wOiA1dmg7XHJcbiAgICBsZWZ0OiBjYWxjKDM1dncgLSAxMHZoKTtcclxuICAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIHN0YXIzLXpvb20ge1xyXG4gICAgMCUgIHtcclxuICAgIHRyYW5zZm9ybTogcm90YXRlKC0zNWRlZykgc2NhbGUoLjIpO1xyXG4gICAgb3BhY2l0eTogLjI7XHJcbiAgICB0b3A6IDMwdmg7XHJcbiAgICBsZWZ0OiBjYWxjKDM1dncgLSAxMHZoKTtcclxuICAgfVxyXG4gIDEwMCUgIHtcclxuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpIHNjYWxlKDEpO1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIHRvcDogMTB2aDtcclxuICAgIGxlZnQ6IGNhbGMoNTB2dyAtIDEwdmgpO1xyXG4gICB9XHJcbn1cclxuKi9cclxuXHJcbi5zY29yZXNwbGFzaHtcclxuICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgbGVmdDogMDtcclxuICB0b3A6IDA7XHJcbiAgcmlnaHQ6IDA7XHJcbiAgYm90dG9tOiAwO1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleC13cmFwOiB3cmFwO1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblxyXG4gIHotaW5kZXg6IDEwO1xyXG59XHJcblxyXG4uc2NvcmVzcGxhc2gtLXZpc2libGV7XHJcbn1cclxuLnNjb3Jlc3BsYXNoLS1oaWRkZW57XHJcbiAgZGlzcGxheTogbm9uZTtcclxufVxyXG4uc2NvcmVzcGxhc2gtLWludmlzaWJsZXtcclxuICBkaXNwbGF5OiBub25lO1xyXG59XHJcblxyXG5cclxuQGtleWZyYW1lcyByb3Qtc2NvcmUge1xyXG5cdDAlIHsgb3BhY2l0eTogMDsgdHJhbnNmb3JtOiBzY2FsZSgwKSByb3RhdGUoLTcyMGRlZykgfVxyXG5cdDEwMCUgeyBvcGFjaXR5OiAxOyB0cmFuc2Zvcm06IHNjYWxlKDEpIHJvdGF0ZSgwZGVnKTtcdH1cclxufVxyXG5cclxuLnNjb3Jlc3BsYXNoX19ib3gge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICB3aWR0aDogMzB2dztcclxuICBoZWlnaHQ6IDQ2dmg7XHJcbiAgcGFkZGluZzogMDtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgb3BhY2l0eTogMDtcclxuXHJcbiAgYm9yZGVyLXJhZGl1czogMXZ3O1xyXG4gIGJveC1zaGFkb3c6IHZhcigtLVRIRU1FX0JPWF9TSEFET1cpO1xyXG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLVRIRU1FX0NPTE9SX1NFQ09OREFSWSk7XHJcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1USEVNRV9DT0xPUl9TRUNPTkRBUlkpO1xyXG5cclxuICBhbmltYXRpb24tbmFtZTogcm90LXNjb3JlO1xyXG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMy4wcztcclxuICBhbmltYXRpb24tZGVsYXk6IDMuMHM7XHJcbiAgYW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7XHJcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZTtcclxuXHJcbi8qICBhbmltYXRpb24tbmFtZTogc2NvcmUtZmFkZS1pbjtcclxuICBhbmltYXRpb24tZHVyYXRpb246IDIuMHM7XHJcbiAgYW5pbWF0aW9uLWRlbGF5OiAyLjBzO1xyXG4gIGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xyXG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2U7Ki9cclxufVxyXG5cclxuLnNjb3Jlc3BsYXNoX190aXRsZSB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIGhlaWdodDogOHZoO1xyXG4gIHdpZHRoOiA1MHZ3O1xyXG4gIHRvcDogMDtcclxuICBsZWZ0OiAxMHZ3O1xyXG4gIGZvbnQtc2l6ZTogOHZoO1xyXG4gIGNvbG9yOiB3aGl0ZTtcclxuICB0ZXh0LXNoYWRvdzogMHB4IDBweCA1cHggYmxhY2ssIDBweCAwcHggMTBweCByZWQ7XHJcbn1cclxuXHJcbi5zY29yZXNwbGFzaF9fY29tbWVudCwgLnNjb3Jlc3BsYXNoX19mb290ZXIge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBoZWlnaHQ6IDV2aDtcclxuICBwYWRkaW5nLXRvcDogMXZoO1xyXG4gIHdpZHRoOiAzMHZ3O1xyXG4gIGxlZnQ6IDBweDtcclxuICBmb250LXNpemU6IDR2aDtcclxuICBjb2xvcjogdmFyKC0tVEhFTUVfQ09MT1JfVEVYVElOVkVSU0VEKTtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1USEVNRV9DT0xPUl9TRUNPTkRBUlkpO1xyXG59XHJcblxyXG4uc2NvcmVzcGxhc2hfX2NvbW1lbnQge1xyXG4gIHRvcDogMHZoO1xyXG4gIGJvcmRlci1yYWRpdXM6IDF2dyAxdncgMHB4IDBweDtcclxufVxyXG5cclxuLnNjb3Jlc3BsYXNoX19mb290ZXIge1xyXG4gIHRvcDogNDB2aDtcclxuICBib3JkZXItcmFkaXVzOiAgMHB4IDBweCAxdncgMXZ3O1xyXG59XHJcblxyXG4uc2NvcmVzcGxhc2hfX2hkcm1vdmVzLCAuc2NvcmVzcGxhc2hfX2hkcmNyZWRzIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgaGVpZ2h0OiBjYWxjKDcuMnZoIC0gMnB4KTtcclxuICBwYWRkaW5nLXRvcDogMC44dmg7XHJcbiAgd2lkdGg6IGNhbGMoMTV2dyAtIDJweCk7XHJcbiAgbGVmdDogMHZ3O1xyXG4gIGZvbnQtc2l6ZTogNnZoO1xyXG4gIGNvbG9yOiB2YXIoLS1USEVNRV9DT0xPUl9URVhUSU5WRVJTRUQpO1xyXG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLVRIRU1FX0NPTE9SX1NFQ09OREFSWSk7XHJcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuICBib3JkZXItd2lkdGg6IDFweDtcclxuICBib3JkZXItY29sb3I6IHZhcigtLVRIRU1FX0NPTE9SX1NFQ09OREFSWSk7XHJcbn1cclxuXHJcbi5zY29yZXNwbGFzaF9fbW92ZXMsIC5zY29yZXNwbGFzaF9fY3JlZHMge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBoZWlnaHQ6IGNhbGMoNy4ydmggLSAycHgpO1xyXG4gIHBhZGRpbmctdG9wOiAwLjh2aDtcclxuICB3aWR0aDogY2FsYygxNXZ3IC0gMnB4KTtcclxuICBsZWZ0OiAxNXZ3O1xyXG4gIGZvbnQtc2l6ZTogNnZoO1xyXG4gIGNvbG9yOiB2YXIoLS1USEVNRV9DT0xPUl9TRUNPTkRBUlkpO1xyXG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLVRIRU1FX0NPTE9SX1dISVRFKTtcclxuICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gIGJvcmRlci13aWR0aDogMXB4O1xyXG4gIGJvcmRlci1jb2xvcjogdmFyKC0tVEhFTUVfQ09MT1JfU0VDT05EQVJZKTtcclxufVxyXG5cclxuLnNjb3Jlc3BsYXNoX19oZHJnYW1lLCAuc2NvcmVzcGxhc2hfX2hkcmJvbnVzLCAuc2NvcmVzcGxhc2hfX2hkcmJhbmsge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBoZWlnaHQ6IGNhbGMoNS4ydmggLSAycHgpO1xyXG4gIHBhZGRpbmctdG9wOiAwLjh2aDtcclxuICB3aWR0aDogY2FsYygxNXZ3IC0gMnB4KTtcclxuICBsZWZ0OiAwdnc7XHJcbiAgZm9udC1zaXplOiA0dmg7XHJcbiAgY29sb3I6IHZhcigtLVRIRU1FX0NPTE9SX0xJR0hUKTtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1USEVNRV9DT0xPUl9TRUNPTkRBUlkpO1xyXG4gIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgYm9yZGVyLXdpZHRoOiAxcHg7XHJcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1USEVNRV9DT0xPUl9TRUNPTkRBUlkpO1xyXG59XHJcblxyXG4uc2NvcmVzcGxhc2hfX2dhbWUsIC5zY29yZXNwbGFzaF9fYm9udXMsIC5zY29yZXNwbGFzaF9fYmFuayB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIGhlaWdodDogY2FsYyg1LjJ2aCAtIDJweCk7XHJcbiAgcGFkZGluZy10b3A6IDAuOHZoO1xyXG4gIHdpZHRoOiBjYWxjKDE1dncgLSAycHgpO1xyXG4gIGxlZnQ6IDE1dnc7XHJcbiAgZm9udC1zaXplOiA0dmg7XHJcbiAgY29sb3I6IHZhcigtLVRIRU1FX0NPTE9SX0xJR0hUKTtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1USEVNRV9DT0xPUl9TRUNPTkRBUlkpO1xyXG4gIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgYm9yZGVyLXdpZHRoOiAxcHg7XHJcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1USEVNRV9DT0xPUl9TRUNPTkRBUlkpO1xyXG59XHJcblxyXG4uc2NvcmVzcGxhc2hfX21vdmVzLCAuc2NvcmVzcGxhc2hfX2hkcm1vdmVzIHtcclxuICB0b3A6IDEwdmg7XHJcbn1cclxuXHJcbi5zY29yZXNwbGFzaF9fY3JlZHMsIC5zY29yZXNwbGFzaF9faGRyY3JlZHMge1xyXG4gIHRvcDogMTh2aDtcclxufVxyXG5cclxuLnNjb3Jlc3BsYXNoX19nYW1lLCAuc2NvcmVzcGxhc2hfX2hkcmdhbWUge1xyXG4gIHRvcDogMjJ2aDtcclxufVxyXG5cclxuLnNjb3Jlc3BsYXNoX19ib251cywgLnNjb3Jlc3BsYXNoX19oZHJib251cyB7XHJcbiAgdG9wOiAyOHZoO1xyXG59XHJcblxyXG4uc2NvcmVzcGxhc2hfX2JhbmssIC5zY29yZXNwbGFzaF9faGRyYmFuayB7XHJcbiAgdG9wOiAzNHZoO1xyXG59XHJcblxyXG5cclxuLnNjb3Jlc3BsYXNoX19jb2luIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgaGVpZ2h0OiAyMHZoO1xyXG4gIHRvcDogMjV2aDtcclxuICBsZWZ0OiBjYWxjKDM1dncgLSAxMHZoKTtcclxufVxyXG5cclxuLnNjb3Jlc3BsYXNoX190b3RhbCB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIGhlaWdodDogOHZoO1xyXG4gIHdpZHRoOiAzMHZ3O1xyXG4gIHRvcDogNTB2aDtcclxuICBsZWZ0OiAyMHZ3O1xyXG4gIGZvbnQtc2l6ZTogOHZoO1xyXG4gIGNvbG9yOiB3aGl0ZTtcclxuICB0ZXh0LXNoYWRvdzogMHB4IDBweCA1cHggYmxhY2ssIDBweCAwcHggMTBweCByZWQ7XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgZHJvcC1iYW5uZXIge1xyXG4gIDAlICAgIHsgb3BhY2l0eTogMTsgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIHRvcDsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAlKSByb3RhdGVYKC05MGRlZyk7ICB9XHJcbiAgMTAwJSAgeyBvcGFjaXR5OiAxOyB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgdG9wOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCUpIHJvdGF0ZVgoMGRlZyk7IH1cclxufVxyXG5cclxuLnNjb3Jlc3BsYXNoX19iYW5uZXIge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB3aWR0aDogMzZ2dztcclxuICBoZWlnaHQ6IDE2dmg7XHJcbiAgbGVmdDogLTN2dztcclxuICBib3R0b206IGNhbGMoLTE2dmggLSB2YXIoLS1QQURfRUxFTUVOVCkpO1xyXG4gIHBhZGRpbmc6IDA7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIG9wYWNpdHk6IDA7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG5cclxuICBib3JkZXItcmFkaXVzOiAxdnc7XHJcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuICBib3JkZXItd2lkdGg6IDFweDtcclxuICBib3gtc2hhZG93OiB2YXIoLS1USEVNRV9CT1hfU0hBRE9XKTtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1USEVNRV9DT0xPUl9EQVJLKTtcclxuICBib3JkZXItY29sb3I6IHZhcigtLVRIRU1FX0NPTE9SX1dISVRFKTtcclxuXHJcbiAgYW5pbWF0aW9uLW5hbWU6IGRyb3AtYmFubmVyO1xyXG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMC4yNXM7XHJcbiAgYW5pbWF0aW9uLWRlbGF5OiA3LjBzO1xyXG4gIGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xyXG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2U7XHJcbn1cclxuXHJcbi5zY29yZXNwbGFzaF9fYmFubmVydGV4dCB7XHJcbiAgZm9udC1zaXplOiA2dmg7XHJcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgY29sb3I6IHZhcigtLVRIRU1FX0NPTE9SX1dISVRFKTtcclxufVxyXG5cclxuLypcclxuMCUgeyBvcGFjaXR5OiAwOyB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKSB0cmFuc2xhdGUoMHB4KSByb3RhdGUoMGRlZyk7IH1cclxuMjAlIHsgb3BhY2l0eTogMTsgfVxyXG43MCUgeyBvcGFjaXR5OiAxOyB0cmFuc2Zvcm06IHJvdGF0ZSgxNDQwZGVnKSB0cmFuc2xhdGUoLTYwdncpIHJvdGF0ZSgtMTQ0MGRlZykgc2NhbGUoMS41KTtcdH1cclxuNzElIHsgb3BhY2l0eTogMTsgdHJhbnNmb3JtOiByb3RhdGUoMGRlZykgdHJhbnNsYXRlKC02MHZ3KSByb3RhdGUoMGRlZykgc2NhbGUoMS41KTsgfVxyXG45MCUgeyBvcGFjaXR5OiAxOyB9XHJcbjEwMCUgeyBvcGFjaXR5OiAwOyB0cmFuc2Zvcm06IHJvdGF0ZSg3MjBkZWcpIHRyYW5zbGF0ZSgwcHgpIHJvdGF0ZSgtNzIwZGVnKTtcdH1cclxuKi9cclxuXHJcbkBrZXlmcmFtZXMgcm90LWNvaW5zIHtcclxuXHQwJSB7IG9wYWNpdHk6IDA7IHRyYW5zZm9ybTogcm90YXRlKDBkZWcpIHRyYW5zbGF0ZSgwcHgpIHJvdGF0ZSgwZGVnKTsgfVxyXG4gIDIwJSB7IG9wYWNpdHk6IDE7IH1cclxuXHQ2MCUgeyBvcGFjaXR5OiAxOyB0cmFuc2Zvcm06IHJvdGF0ZSg3MjBkZWcpIHRyYW5zbGF0ZSgtNDV2aCkgcm90YXRlKC03MjBkZWcpIHNjYWxlKDEuNSk7XHR9XHJcbiAgOTAlIHsgb3BhY2l0eTogMTsgfVxyXG4gIDEwMCUgeyBvcGFjaXR5OiAwOyB0cmFuc2Zvcm06IHJvdGF0ZSgxNDQwZGVnKSB0cmFuc2xhdGUoMHB4KSByb3RhdGUoLTE0NDBkZWcpO1x0fVxyXG59XHJcblxyXG4uc3BsYXNoY29pbiB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIGhlaWdodDogY2FsYyh2YXIoLS1sZXNzb25oZWlnaHQpICogMS41KTtcclxuICB3aWR0aDogY2FsYyh2YXIoLS1sZXNzb25oZWlnaHQpICogMS41KTtcclxuICBhbmltYXRpb24tbmFtZTogcm90LWNvaW5zO1xyXG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogM3M7XHJcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xyXG4gIG9wYWNpdHk6IDA7XHJcbn1cclxuXHJcbi5zcGxhc2hjb2luLTEge1xyXG4gIGFuaW1hdGlvbi1kZWxheTogM3M7XHJcbn1cclxuLnNwbGFzaGNvaW4tMiB7XHJcbiAgYW5pbWF0aW9uLWRlbGF5OiAzLjFzO1xyXG59XHJcbi5zcGxhc2hjb2luLTMge1xyXG4gIGFuaW1hdGlvbi1kZWxheTogMy4ycztcclxufVxyXG4uc3BsYXNoY29pbi00IHtcclxuICBhbmltYXRpb24tZGVsYXk6IDMuM3M7XHJcbn1cclxuLnNwbGFzaGNvaW4tNSB7XHJcbiAgYW5pbWF0aW9uLWRlbGF5OiAzLjRzO1xyXG59XHJcbi5zcGxhc2hjb2luLTYge1xyXG4gIGFuaW1hdGlvbi1kZWxheTogMy41cztcclxufVxyXG4iLCJAa2V5ZnJhbWVzIGhlbHBlci1pbiB7XHJcbiAgMCUgIHsgb3BhY2l0eTogMDsgfVxyXG4gIDAlICB7IHRyYW5zZm9ybTogc2NhbGUoMCk7IH1cclxuIDY1JSAgeyB0cmFuc2Zvcm06IHNjYWxlKDEuMik7IH1cclxuMTAwJSAgeyBvcGFjaXR5OiAxOyB9XHJcbn1cclxuQGtleWZyYW1lcyBoZWxwZXItaW4yIHtcclxuICAwJSAgeyBvcGFjaXR5OiAwOyB9XHJcbiAgMCUgIHsgdHJhbnNmb3JtOiBzY2FsZSgwKTsgfVxyXG4gNjUlICB7IHRyYW5zZm9ybTogc2NhbGUoMS4yKTsgfVxyXG4xMDAlICB7IG9wYWNpdHk6IDE7IH1cclxufVxyXG5cclxuLypcclxuQGtleWZyYW1lcyBoZWxwZXItdGV4dC1pbiB7XHJcbiAgMCUgIHsgb3BhY2l0eTogMDsgdHJhbnNmb3JtOiBzY2FsZSgwKSByb3RhdGUoLTEwZGVnKTsgfVxyXG4xMDAlICB7IG9wYWNpdHk6IDE7IHRyYW5zZm9ybTogc2NhbGUoMSkgcm90YXRlKC0xMGRlZyk7IH1cclxufVxyXG5Aa2V5ZnJhbWVzIGhlbHBlci10ZXh0LWluMiB7XHJcbiAgMCUgIHsgb3BhY2l0eTogMDsgdHJhbnNmb3JtOiBzY2FsZSgwKSByb3RhdGUoLTEwZGVnKTsgfVxyXG4xMDAlICB7IG9wYWNpdHk6IDE7IHRyYW5zZm9ybTogc2NhbGUoMSkgcm90YXRlKC0xMGRlZyk7IH1cclxufVxyXG4qL1xyXG5cclxuXHJcbi5oZWxwZXIge1xyXG4vKlxyXG4gIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgYm9yZGVyLXdpZHRoOiAxcHg7XHJcbiAgYm9yZGVyLWNvbG9yOiByZWQ7XHJcbiAgYm9yZGVyLXJhZGl1czogMHB4O1xyXG4qL1xyXG4gIHBvc2l0aW9uOiBmaXhlZDtcclxuICBtYXJnaW46IDBweDtcclxuICBwYWRkaW5nOiAwcHg7XHJcbiAgd2lkdGg6IHZhcigtLWxlc3NvbndpZHRoKTtcclxuICBoZWlnaHQ6IHZhcigtLWxlc3NvbndpZHRoKTtcclxuXHJcbiAgei1pbmRleDogMTg7XHJcbn1cclxuXHJcbi5oZWxwZXItLXNob3cge1xyXG4gIGFuaW1hdGlvbi1uYW1lOiBoZWxwZXItaW47XHJcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxLjVzO1xyXG4gIGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xyXG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2U7XHJcbn1cclxuLmhlbHBlci0tc2hvdzIge1xyXG4gIGFuaW1hdGlvbi1uYW1lOiBoZWxwZXItaW4yO1xyXG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMS41cztcclxuICBhbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkcztcclxuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlO1xyXG59XHJcblxyXG4uaGVscGVyLS1oaWRkZW4ge1xyXG4gIGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuXHJcbi5oZWxwZXItLWZpcnN0bW92ZSB7XHJcbiAgdG9wOiBjYWxjKCgodmFyKC0tZmFjdGhlaWdodCkgKyB2YXIoLS1QQURfRUxFTUVOVCkpICogMSkgKyB2YXIoLS1mYWN0eSkpO1xyXG4gIGxlZnQ6IGNhbGModmFyKC0tZHJvcHgpICsgKHZhcigtLVBBRF9TQ1JPTEwpICogMikpO1xyXG59XHJcblxyXG4uaGVscGVyLS1zZWNvbmRtb3ZlIHtcclxuICB0b3A6IGNhbGMoKCh2YXIoLS1mYWN0aGVpZ2h0KSArIHZhcigtLVBBRF9FTEVNRU5UKSkgKiAyKSArIHZhcigtLWZhY3R5KSk7XHJcbiAgbGVmdDogY2FsYyh2YXIoLS1kcm9weCkgKyAodmFyKC0tUEFEX1NDUk9MTCkgKiAyKSk7XHJcbn1cclxuXHJcbi5oZWxwZXItLWZhaWxlZCB7XHJcbiAgdG9wOiBjYWxjKCgodmFyKC0tZmFjdGhlaWdodCkgKyB2YXIoLS1QQURfRUxFTUVOVCkpICogNCkgKyB2YXIoLS1mYWN0eSkpO1xyXG4gIGxlZnQ6IHZhcigtLWxlc3NvbngpO1xyXG59XHJcblxyXG4vKlxyXG4uaGVscGVyLS10aGlyZG1vdmUge1xyXG4gIHRvcDogY2FsYygoKHZhcigtLWZhY3RoZWlnaHQpICsgdmFyKC0tUEFEX0VMRU1FTlQpKSAqIDMpICsgdmFyKC0tZmFjdHkpKTtcclxuICBsZWZ0OiBjYWxjKHZhcigtLWZhY3R4KSArICh2YXIoLS1QQURfU0NST0xMKSoyKSk7XHJcbiAgd2lkdGg6IGNhbGModmFyKC0tZmFjdGhlaWdodCkgKiAyKTtcclxuICBoZWlnaHQ6IGNhbGModmFyKC0tZmFjdGhlaWdodCkgKiAyKTtcclxufSovXHJcblxyXG4uaGVscGVyLS13aXNkb20ge1xyXG4gIHRvcDogY2FsYygoKHZhcigtLWZhY3RoZWlnaHQpICsgdmFyKC0tUEFEX0VMRU1FTlQpKSAqIDMpICsgdmFyKC0tZmFjdHkpKTtcclxuICBsZWZ0OiB2YXIoLS1sZXNzb254KTtcclxufVxyXG5cclxuLypcclxuLmhlbHBlcl9fY2hhciB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIG1hcmdpbjogMHB4O1xyXG4gIHBhZGRpbmc6IDBweDtcclxuICB3aWR0aDogNzAlO1xyXG4gIGhlaWdodDogNzAlO1xyXG4gIHJpZ2h0OiAwcHg7XHJcbiAgYm90dG9tOiAwcHg7XHJcbiAgb3BhY2l0eTogMC43NTtcclxuICB0cmFuc2Zvcm06IHJvdGF0ZVkoMTgwZGVnKTtcclxufVxyXG4qL1xyXG5cclxuLmhlbHBlcl9fdGV4dCB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIG1hcmdpbjogMHB4O1xyXG4gIHBhZGRpbmc6IDBweDtcclxuICB3aWR0aDogMTAwJTtcclxuICBoZWlnaHQ6IDEwMCU7XHJcbiAgbGVmdDogMHB4O1xyXG4gIHRvcDogMHB4O1xyXG5cclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgZm9udC1mYW1pbHk6IFBhcHlydXMsIHNhbnMtc2VyaWYsIEFyaWFsLCBIZWx2ZXRpY2E7XHJcbiAgZm9udC1zaXplOiBjYWxjKDEuMzV2aCArIDAuODV2dyk7XHJcbiAgY29sb3I6IHZhcigtLVRIRU1FX0NPTE9SX1RFWFQpO1xyXG4gIC8qdGV4dC1zaGFkb3c6IDBweCAwcHggMTVweCB3aGl0ZTsqL1xyXG4gIHRleHQtc2hhZG93OiB2YXIoLS1USEVNRV9IRUFERVJfU0hBRE9XKTtcclxuXHJcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTEwZGVnKTtcclxuXHJcbn1cclxuXHJcbi8qXHJcbi5oZWxwZXJfX3RleHQtLXNob3cge1xyXG4gIGFuaW1hdGlvbi1uYW1lOiBoZWxwZXItdGV4dC1pbjtcclxuICBhbmltYXRpb24tZHVyYXRpb246IDIuMHM7XHJcbiAgYW5pbWF0aW9uLWRlbGF5OiAxLjBzO1xyXG4gIGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xyXG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2U7XHJcbn1cclxuXHJcbi5oZWxwZXJfX3RleHQtLXNob3cyIHtcclxuICBhbmltYXRpb24tbmFtZTogaGVscGVyLXRleHQtaW4yO1xyXG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMi4wcztcclxuICBhbmltYXRpb24tZGVsYXk6IDEuMHM7XHJcbiAgYW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7XHJcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZTtcclxufVxyXG4qL1xyXG4iLCIuYWxlcnQge1xyXG4gIC8qYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuICBib3JkZXItd2lkdGg6IDFweDtcclxuICBib3JkZXItY29sb3I6IHllbGxvdztcclxuICBib3JkZXItcmFkaXVzOiB2YXIoLS1CT1JERVJfUkFESVVTKTsqL1xyXG5cclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgbWFyZ2luOiAwcHg7XHJcbiAgcGFkZGluZzogMHB4O1xyXG4gIC8qd2lkdGg6IHZhcigtLWxlc3NvbndpZHRoKTtcclxuICBoZWlnaHQ6IHZhcigtLWxlc3NvbmhlaWdodCk7Ki9cclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgei1pbmRleDogMjA7XHJcbn1cclxuXHJcbi5hbGVydC0tY2VudGVyIHtcclxuICB0b3A6IDUwJTtcclxuICBsZWZ0OiA1MCU7XHJcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgYWxlcnQtaW4ge1xyXG4gIDAlICB7IG9wYWNpdHk6IDA7IHRyYW5zZm9ybTogc2NhbGUoMCk7IH1cclxuMTAwJSAgeyBvcGFjaXR5OiAxOyB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgYWxlcnQtb3V0IHtcclxuICAgMCUgeyBvcGFjaXR5OiAxOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCkgdHJhbnNsYXRlWSgwKSBzY2FsZSgxKTsgfVxyXG4gMTAwJSB7IG9wYWNpdHk6IDA7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTB2dykgdHJhbnNsYXRlWSgtMTB2aCkgc2NhbGUoMCk7IH1cclxufVxyXG5cclxuLmFsZXJ0LS1oaWRkZW4ge1xyXG4gIGFuaW1hdGlvbi1uYW1lOiBhbGVydC1vdXQ7XHJcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxLjBzO1xyXG4gIGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xyXG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2U7XHJcbn1cclxuXHJcbi5hbGVydC0tdmlzaWJsZSB7XHJcbiAgYW5pbWF0aW9uLW5hbWU6IGFsZXJ0LWluO1xyXG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMC41cztcclxuICBhbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkcztcclxuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlO1xyXG59XHJcblxyXG4uYWxlcnRfX3RleHQge1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgdGV4dC1hbGlnbjogbGVmdDtcclxuICBmb250LXNpemU6IGNhbGMoMS4yNXZoICsgMC43NXZ3KTtcclxuICBjb2xvcjogd2hpdGU7XHJcbiAgdGV4dC1zaGFkb3c6IDBweCAwcHggNXB4IGJsYWNrO1xyXG59XHJcbiIsIlxyXG46cm9vdCB7XHJcbiAgLS1QQURfU0NST0xMOiAxNnB4O1xyXG4gIC0tUEFEX0VMRU1FTlQ6IDRweDtcclxuICAtLVBBRF9XSVNET006IDVweDtcclxuICAtLVBBRF9EUk9QOiAycHg7XHJcbiAgLS1IRUlHSFRfSEVBREVSOiAzMnB4O1xyXG4gIC0tSEVJR0hUX0ZPT1RFUjogMTZweDtcclxuICAtLUJPUkRFUl9SQURJVVM6IDVweDtcclxuXHJcbiAgLS1USEVNRV9DT0xPUl9ISUdITElHSFQ6ICNGOUJBMzI7IC8qIHN1bnNoaW5lIChvbGQ6IEVBQTgxRCkgKi9cclxuICAtLVRIRU1FX0NPTE9SX1NFQ09OREFSWTogIzQyNkU4NjsgLyogc3RlZWwgYmx1ZSAqL1xyXG4gIC0tVEhFTUVfQ09MT1JfTElHSFQ6ICNGOEYxRTU7IC8qIGJvbmUgKG9sZDogRjVGNkRCKSAqL1xyXG4gIC0tVEhFTUVfQ09MT1JfREFSSzogIzJGMzEzMTsgIC8qIGNvYWwgKi9cclxuXHJcbiAgLS1USEVNRV9DT0xPUl9CQUNLR1JPVU5EOiB2YXIoLS1USEVNRV9DT0xPUl9MSUdIVCk7ICAvKiBncmV5IChvbGQ6IEVCRUJFQikgKi9cclxuXHJcbiAgLS1USEVNRV9DT0xPUl9CTEFDSzogIzAwMDAwMDsgIC8qIGJsYWNrICovXHJcbiAgLS1USEVNRV9DT0xPUl9XSElURTogI0ZGRkZGRjsgIC8qIHdoaXRlICovXHJcbiAgLS1USEVNRV9DT0xPUl9TSEFET1c6ICM4ODg4ODg7ICAvKiBkYXJrIGdyZXkgKi9cclxuICAtLVRIRU1FX0NPTE9SX1RFWFQ6ICMwMDAwMDA7ICAvKiBibGFjayAqL1xyXG4gIC0tVEhFTUVfQ09MT1JfVEVYVE1VVEVEOiAjODg4ODg4OyAgLyogYmxhY2sgKi9cclxuICAtLVRIRU1FX0NPTE9SX1RFWFRJTlZFUlNFRDogI0ZGRkZGRjsgIC8qIHdoaXRlICovXHJcblxyXG4gIC0tVEhFTUVfQ09MT1JfQ09SUkVDVDogIzk3QjYxMztcclxuICAtLVRIRU1FX0NPTE9SX1dST05HOiAjRkI0QjA5O1xyXG4gIC0tVEhFTUVfQ09MT1JfV1JPTkcxOiAjRkNENEM0O1xyXG4gIC0tVEhFTUVfQ09MT1JfV1JPTkcyOiAjRjc4QjYyO1xyXG5cclxuICAtLVRIRU1FX0NPTE9SX1JBTksxOiAjMDAwMEZGO1xyXG4gIC0tVEhFTUVfQ09MT1JfUkFOSzI6ICNGRjAwMDA7XHJcbiAgLS1USEVNRV9DT0xPUl9SQU5LMzogI0ZGRkZGRjtcclxuXHJcbiAgLS1USEVNRV9CT1hfU0hBRE9XOiAzcHggM3B4IDNweCB2YXIoLS1USEVNRV9DT0xPUl9TSEFET1cpO1xyXG4gIC0tVEhFTUVfSEVBREVSX1NIQURPVzogMHB4IDNweCAwcHggdmFyKC0tVEhFTUVfQ09MT1JfQkFDS0dST1VORCksIDBweCAxNHB4IDEwcHggcmdiYSgwLCAwLCAwLCAwLjE1KSwgMHB4IDhweCAycHggcmdiYSgwLCAwLCAwLCAwLjEpLCAwcHggMzRweCAzMHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcclxuXHJcblxyXG4gIC0tYm9hcmRoZWlnaHQ6IGNhbGMoMTAwdmggLSA4MnB4KTtcclxuICAtLWJvYXJkd2lkdGg6IGNhbGMoMTAwdncgLSAzMnB4KTtcclxuXHJcbiAgLS1mYWN0aGVpZ2h0OiBjYWxjKCh2YXIoLS1ib2FyZGhlaWdodCkgLyA2KSAtIDhweCk7XHJcbiAgLS1mYWN0d2lkdGg6IGNhbGMoKHZhcigtLWJvYXJkd2lkdGgpICogMC4yNykgLSAycHgpO1xyXG4gIC0tZmFjdHg6IGNhbGMoKHZhcigtLWJvYXJkd2lkdGgpICogMC4zMCkpO1xyXG4gIC0tZmFjdHk6IGNhbGModmFyKC0tUEFEX1NDUk9MTCkgKyB2YXIoLS1IRUlHSFRfSEVBREVSKSArIHZhcigtLVBBRF9FTEVNRU5UKSk7XHJcblxyXG4gIC0tZHJvcHg6IGNhbGModmFyKC0tZmFjdHgpICsgdmFyKC0tZmFjdHdpZHRoKSArIHZhcigtLVBBRF9FTEVNRU5UKSk7XHJcblxyXG4gIC8qLS1sZXNzb25oZWlnaHQ6IGNhbGMoKHZhcigtLWJvYXJkaGVpZ2h0KSAvIDE2KSAtIDRweCk7XHJcbiAgLS1kcm9waGVpZ2h0OiBjYWxjKCh2YXIoLS1ib2FyZGhlaWdodCkgLyAxMikgLSAxMnB4KTtcclxuICAtLWRyb3BmdWxsaGVpZ2h0OiBjYWxjKCh2YXIoLS1ib2FyZGhlaWdodCkgLyA2KSAtIDE4cHgpOyovXHJcblxyXG4gIC0tZGV0YWlsaGVpZ2h0OiBjYWxjKCh2YXIoLS1mYWN0aGVpZ2h0KSAqIDYpKTtcclxuICAtLWRldGFpbHdpZHRoOiBjYWxjKCh2YXIoLS1ib2FyZHdpZHRoKSAqIDAuMzApIC0gKHZhcigtLVBBRF9TQ1JPTEwpICogMikpO1xyXG4gIC8qLS1kZXRhaWx4OiBjYWxjKCh2YXIoLS1QQURfU0NST0xMKSkpOyovXHJcbiAgLS1kZXRhaWx4OiAwcHg7XHJcbiAgLS1kZXRhaWx5OiBjYWxjKHZhcigtLVBBRF9TQ1JPTEwpICsgdmFyKC0tSEVJR0hUX0hFQURFUikgKyB2YXIoLS1QQURfRUxFTUVOVCkpO1xyXG5cclxuICAtLWxlc3NvbmhlaWdodDogY2FsYygodmFyKC0tZmFjdGhlaWdodCkgLyAyKSAtIDZweCk7XHJcbiAgLS1sZXNzb253aWR0aDogY2FsYygodmFyKC0tYm9hcmR3aWR0aCkgKiAwLjE4KSAtIDZweCk7XHJcbiAgLS1sZXNzb254OiBjYWxjKCh2YXIoLS1ib2FyZHdpZHRoKSAqIDAuODApKTtcclxuICAtLWxlc3Nvbnk6IGNhbGModmFyKC0tUEFEX1NDUk9MTCkgKyB2YXIoLS1IRUlHSFRfSEVBREVSKSArIHZhcigtLVBBRF9FTEVNRU5UKSk7XHJcblxyXG4gIC0td2lzZG9td2lkdGg6IGNhbGMoKHZhcigtLWJvYXJkd2lkdGgpICogMC41NSkgLSAycHgpO1xyXG4gIC0td2lzZG9teDogY2FsYygodmFyKC0tYm9hcmR3aWR0aCkgKiAwLjEwKSk7XHJcbiAgLS13aXNkb21oZWlnaHQ6IGNhbGMoKHZhcigtLWZhY3RoZWlnaHQpICogMykgLSAodmFyKC0tUEFEX0VMRU1FTlQpICogMykpO1xyXG4gIC0td2lzZG9teTogY2FsYygoKHZhcigtLWZhY3RoZWlnaHQpICsgdmFyKC0tUEFEX0VMRU1FTlQpKSAqIDEpICsgdmFyKC0tZmFjdHkpICsgKHZhcigtLVBBRF9FTEVNRU5UKSoyKSk7XHJcblxyXG4gIC0td2lzZG9tZHJvcHdpZHRoOiBjYWxjKCh2YXIoLS13aXNkb213aWR0aCkgKiAwLjIwKSAtIDEwcHgpO1xyXG4gIC0td2lzZG9tZHJvcGhlaWdodDogY2FsYygodmFyKC0tZmFjdGhlaWdodCkgLSAxMHB4KSk7XHJcblxyXG4gIC0tZHJvcGhlaWdodDogY2FsYygodmFyKC0tZmFjdGhlaWdodCkgLyAyKSAtIDFweCk7XHJcbiAgLS1kcm9wZnVsbGhlaWdodDogY2FsYygodmFyKC0tZmFjdGhlaWdodCkpKTtcclxuXHJcblxyXG4gIC0tY2FuaGVpZ2h0OiBjYWxjKCh2YXIoLS1ib2FyZGhlaWdodCkgLyA3KSk7XHJcbiAgLS1jYW5oYWxmaGVpZ2h0OiBjYWxjKCh2YXIoLS1jYW5oZWlnaHQpIC8gMikpO1xyXG4gIC0tc3ByYXl0b3A6IGNhbGModmFyKC0tUEFEX1NDUk9MTCkgLSAodmFyKC0tY2FuaGVpZ2h0KSAqIDAuMikgKyA0cHgpO1xyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIGhlYWRlci1pbiB7XHJcbiAgMCUgIHsgb3BhY2l0eTogMDsgfVxyXG4gIDEwMCUgeyBvcGFjaXR5OiAxOyB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgaGVhZGVyLXNsaWRlIHtcclxuICAwJSAgeyB3aWR0aDogMHB4OyBvcGFjaXR5OiAwOyB9XHJcbiAgMjAlIHsgb3BhY2l0eTogMTt9XHJcbiAgMTAwJSB7IHdpZHRoOiBjYWxjKDEwMCUgLSAycHgpOyBvcGFjaXR5OiAxO31cclxufVxyXG5cclxuQGtleWZyYW1lcyBnYW1lLWZhZGUtb3V0IHtcclxuICAwJSAgeyBvcGFjaXR5OiAxOyB9XHJcbiAgMTAwJSB7IG9wYWNpdHk6IDAuNTsgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIGdhbWUtZmFkZS1pbiB7XHJcbiAgMCUgIHsgb3BhY2l0eTogMC4wNTsgfVxyXG4gIDEwMCUgeyBvcGFjaXR5OiAxOyB9XHJcbn1cclxuXHJcbmh0bWwsIGJvZHkge1xyXG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLVRIRU1FX0NPTE9SX0JBQ0tHUk9VTkQpO1xyXG5cclxuICBtaW4taGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIG1hcmdpbjogMDtcclxuXHJcbiAgZm9udC1mYW1pbHk6IEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XHJcbn1cclxuXHJcbi5nYW1lX19jb250YWluZXIge1xyXG4gIGhlaWdodDogMTAwJTtcclxuICB3aWR0aDogMTAwJTtcclxufVxyXG5cclxuLmdhbWVfX2JhY2sge1xyXG4gIGhlaWdodDogMTAwJTtcclxuICB3aWR0aDogMTAwJTtcclxuXHJcbiAgLypiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwOi8vbG9jYWxob3N0OjgwODAvc3JjL2Fzc2V0cy9pbWcvY3JlZHMtYmFja2dyb3VuZC5qcGVnXCIpOyovXHJcbiAgLypcclxuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvc3JjL2Fzc2V0cy9pbWcvY3JlZHMtYmFja2dyb3VuZC5qcGVnXCIpO1xyXG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xyXG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcbiAgKi9cclxufVxyXG5cclxuLmdhbWVfX2JvYXJkIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgLypiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10aGVtZWJhY2tncm91bmRjb2xvcik7Ki9cclxuICBtaW4taGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XHJcbiAgLypoZWlnaHQ6IDEwMCU7Ki9cclxuICBoZWlnaHQ6IGNhbGMoMTAwdmggLSB2YXIoLS1QQURfU0NST0xMKSAtIHZhcigtLVBBRF9TQ1JPTEwpKTtcclxuICB3aWR0aDogY2FsYygxMDB2dyAtIHZhcigtLVBBRF9TQ1JPTEwpIC0gdmFyKC0tUEFEX1NDUk9MTCkpO1xyXG4gIG1hcmdpbjogMDtcclxuICBtYXJnaW4tbGVmdDogdmFyKC0tUEFEX1NDUk9MTCk7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxufVxyXG5cclxuLmdhbWVfX2JvYXJkLS1oaWRlIHtcclxuICBvcGFjaXR5OiAwO1xyXG59XHJcblxyXG4uZ2FtZS0tZmFkZSB7XHJcbiAgYW5pbWF0aW9uLW5hbWU6IGdhbWUtZmFkZS1vdXQ7XHJcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxLjBzO1xyXG4gIGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xyXG4gIGFuaW1hdGlvbi1kZWxheTogMS4wcztcclxufVxyXG5cclxuLmdhbWUtLXNob3cge1xyXG4gIGFuaW1hdGlvbi1uYW1lOiBnYW1lLWZhZGUtaW47XHJcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxLjBzO1xyXG4gIGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xyXG59XHJcblxyXG4uZ2FtZV9faGVhZGVyIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIG1hcmdpbi10b3A6IHZhcigtLVBBRF9TQ1JPTEwpO1xyXG4gIHBhZGRpbmc6IDBweDtcclxuICBoZWlnaHQ6IHZhcigtLUhFSUdIVF9IRUFERVIpO1xyXG59XHJcblxyXG4uYmFja19fYnV0dG9uLCAuZm9yd2FyZF9fYnV0dG9uIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcblxyXG4gIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgYm9yZGVyLXdpZHRoOiAxcHg7XHJcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tQk9SREVSX1JBRElVUyk7XHJcblxyXG4gIHBhZGRpbmctdG9wOiAxdmg7XHJcblxyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICBmb250LXNpemU6IDJ2aDtcclxuXHJcbiAgdHJhbnNpdGlvbjogYWxsIC4yMHM7XHJcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xyXG5cclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbi5iYWNrX19idXR0b24ge1xyXG4gIGJvcmRlci1jb2xvcjogdmFyKC0tVEhFTUVfQ09MT1JfSElHSExJR0hUKTtcclxuICBjb2xvcjogdmFyKC0tVEhFTUVfQ09MT1JfSElHSExJR0hUKTtcclxuXHJcbiAgd2lkdGg6IGNhbGModmFyKC0td2lzZG9teCkgLSAodmFyKC0tUEFEX1NDUk9MTCkgKiAyKSk7XHJcbiAgaGVpZ2h0OiB2YXIoLS1mYWN0aGVpZ2h0KTtcclxuICB0b3A6IGNhbGMoKCh2YXIoLS1mYWN0aGVpZ2h0KSArIHZhcigtLVBBRF9FTEVNRU5UKSkgKiAwKSArIHZhcigtLWZhY3R5KSk7XHJcbiAgbGVmdDogdmFyKC0tUEFEX1NDUk9MTCk7XHJcbn1cclxuXHJcbi5mb3J3YXJkX19idXR0b24ge1xyXG4gIGJvcmRlci1jb2xvcjogdmFyKC0tVEhFTUVfQ09MT1JfU0VDT05EQVJZKTtcclxuICBjb2xvcjogdmFyKC0tVEhFTUVfQ09MT1JfU0VDT05EQVJZKTtcclxuXHJcbiAgd2lkdGg6IGNhbGModmFyKC0td2lzZG9teCkgLSAodmFyKC0tUEFEX1NDUk9MTCkgKiAyKSk7XHJcbiAgaGVpZ2h0OiB2YXIoLS1mYWN0aGVpZ2h0KTtcclxuICB0b3A6IGNhbGMoKCh2YXIoLS1mYWN0aGVpZ2h0KSArIHZhcigtLVBBRF9FTEVNRU5UKSkgKiAwKSArIHZhcigtLWZhY3R5KSk7XHJcbiAgcmlnaHQ6IHZhcigtLVBBRF9TQ1JPTEwpO1xyXG59XHJcblxyXG4uYmFja19fYnV0dG9uOmhvdmVyLCAuZm9yd2FyZF9fYnV0dG9uOmhvdmVyIHtcclxuICAgIGNvbG9yOiB2YXIoLS1USEVNRV9DT0xPUl9TRUNPTkRBUlkpO1xyXG4gICAgYm94LXNoYWRvdzogdmFyKC0tVEhFTUVfQk9YX1NIQURPVyk7XHJcbn1cclxuXHJcbi5iYWNrX19idXR0b246aG92ZXIge1xyXG4gIGJvcmRlci1jb2xvcjogdmFyKC0tVEhFTUVfQ09MT1JfU0VDT05EQVJZKTtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1USEVNRV9DT0xPUl9ISUdITElHSFQpO1xyXG59XHJcblxyXG4uZm9yd2FyZF9fYnV0dG9uOmhvdmVyIHtcclxuICBjb2xvcjogdmFyKC0tVEhFTUVfQ09MT1JfSElHSExJR0hUKTtcclxuICBib3JkZXItY29sb3I6IHZhcigtLVRIRU1FX0NPTE9SX0hJR0hMSUdIVCk7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tVEhFTUVfQ09MT1JfU0VDT05EQVJZKTtcclxufVxyXG5cclxuXHJcbi5nYW1lX19mYWlsZWQge1xyXG4gIHBvc2l0aW9uOiBmaXhlZDtcclxuICBsZWZ0OiAwO1xyXG4gIHRvcDogMDtcclxuICByaWdodDogMDtcclxuICBib3R0b206IDA7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHJcbiAgZm9udC1zaXplOiA4dmg7XHJcbiAgY29sb3I6IHdoaXRlO1xyXG4gIHRleHQtc2hhZG93OiAwcHggMHB4IDVweCBibGFjaywgMHB4IDBweCAxMHB4IHJlZDtcclxuXHJcbiAgei1pbmRleDogMjA7XHJcbn1cclxuXHJcbi5jcmVkc19fbG9nbyB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIG1hcmdpbjogMHB4O1xyXG4gIHBhZGRpbmc6IDBweDtcclxuICBoZWlnaHQ6IHZhcigtLUhFSUdIVF9IRUFERVIpO1xyXG4gIHRvcDogdmFyKC0tUEFEX1NDUk9MTCk7XHJcbiAgbGVmdDogMHB4O1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgYW5pbWF0aW9uLW5hbWU6IGhlYWRlci1pbjtcclxuICBhbmltYXRpb24tZHVyYXRpb246IDJzO1xyXG59XHJcblxyXG4uaGVhZGVyIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgbWFyZ2luOiAwcHg7XHJcbiAgcGFkZGluZzogMHB4O1xyXG4gIGhlaWdodDogdmFyKC0tSEVJR0hUX0hFQURFUik7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuXHJcbiAgY29sb3I6IHZhcigtLVRIRU1FX0NPTE9SX1NFQ09OREFSWSk7XHJcbiAgdGV4dC1zaGFkb3c6IHZhcigtLVRIRU1FX0hFQURFUl9TSEFET1cpO1xyXG5cclxuICBmb250LXNpemU6IGNhbGMoMS4yNXZoICsgMC43NXZ3KTtcclxuICBmb250LXdlaWdodDogYm9sZDtcclxufVxyXG5cclxuLmhlYWRlcl9fZmFjdCB7XHJcbiAgd2lkdGg6IHZhcigtLWZhY3R3aWR0aCk7XHJcbiAgdG9wOiB2YXIoLS1QQURfU0NST0xMKTtcclxuICBsZWZ0OiB2YXIoLS1mYWN0eClcclxufVxyXG5cclxuLypcclxuLmhlYWRlcl9fZHJvcCB7XHJcbiAgd2lkdGg6IGNhbGMoNDAlIC0gNnB4KTtcclxuICBwYWRkaW5nLWxlZnQ6IDFweDtcclxufSovXHJcblxyXG4uaGVhZGVyX19sZXNzb24ge1xyXG4gIHdpZHRoOiB2YXIoLS1sZXNzb253aWR0aCk7XHJcbiAgdG9wOiB2YXIoLS1QQURfU0NST0xMKTtcclxuICBsZWZ0OiB2YXIoLS1sZXNzb254KVxyXG59XHJcblxyXG4uaGVhZGVyX193aXNkb20ge1xyXG4gIHdpZHRoOiB2YXIoLS13aXNkb213aWR0aCk7XHJcbiAgdG9wOiB2YXIoLS1QQURfU0NST0xMKTtcclxuICBsZWZ0OiB2YXIoLS13aXNkb214KTtcclxuLypcclxuICBmbG9hdDogbGVmdDtcclxuICB3aWR0aDogY2FsYygxMDAlIC0gNnB4KTtcclxuICBwYWRkaW5nLWxlZnQ6IDJweDtcclxuKi9cclxuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG59XHJcblxyXG4vKlxyXG4uYmFja2J0biB7XHJcbiAgd2lkdGg6IGNhbGModmFyKC0td2lzZG9teCkgLSAodmFyKC0tUEFEX1NDUk9MTCkgKiAyKSk7XHJcbiAgdG9wOiB2YXIoLS1QQURfU0NST0xMKTtcclxuICBsZWZ0OiB2YXIoLS1QQURfU0NST0xMKTtcclxufVxyXG4qL1xyXG5cclxuLmhlYWRlcl9fc2xpZGUge1xyXG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLUJPUkRFUl9SQURJVVMpO1xyXG4gIG1hcmdpbjogMHB4O1xyXG4gIHBhZGRpbmc6IDBweDtcclxuICB3aWR0aDogMHB4O1xyXG4gIGhlaWdodDogY2FsYygxMDAlIC0gMnB4KTtcclxuICBvcGFjaXR5OiAwO1xyXG59XHJcblxyXG4uaGVhZGVyX19mYWN0LS1zbGlkZSB7XHJcbiAgYW5pbWF0aW9uLW5hbWU6IGhlYWRlci1zbGlkZTtcclxuICBhbmltYXRpb24tZHVyYXRpb246IDAuODVzO1xyXG4gIGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xyXG4gIGFuaW1hdGlvbi1kZWxheTogMS4zMHM7XHJcbn1cclxuXHJcbi5oZWFkZXJfX2Ryb3AtLXNsaWRlIHtcclxuICBhbmltYXRpb24tbmFtZTogaGVhZGVyLXNsaWRlO1xyXG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMC42MHM7XHJcbiAgYW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7XHJcbiAgYW5pbWF0aW9uLWRlbGF5OiAxLjVzO1xyXG59XHJcblxyXG4uaGVhZGVyX19sZXNzb24tLXNsaWRlIHtcclxuICBhbmltYXRpb24tbmFtZTogaGVhZGVyLXNsaWRlO1xyXG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMC41NXM7XHJcbiAgYW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7XHJcbiAgYW5pbWF0aW9uLWRlbGF5OiAxLjdzO1xyXG59XHJcblxyXG4uaGVhZGVyX193aXNkb20tLXNsaWRlIHtcclxuICBhbmltYXRpb24tbmFtZTogaGVhZGVyLXNsaWRlO1xyXG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMC4xcztcclxuICBhbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkcztcclxufVxyXG5cclxuLmdhbWUtLWhpZGRlbiB7XHJcbiAgZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuLm1vdmVzIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgbWFyZ2luOiAwcHg7XHJcbiAgcGFkZGluZzogMHB4O1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcblxyXG4gIHdpZHRoOiB2YXIoLS1sZXNzb253aWR0aCk7XHJcbiAgaGVpZ2h0OiB2YXIoLS1mYWN0aGVpZ2h0KTtcclxuICB0b3A6IGNhbGMoKCh2YXIoLS1mYWN0aGVpZ2h0KSArIHZhcigtLVBBRF9FTEVNRU5UKSkgKiA1KSArIHZhcigtLWZhY3R5KSk7XHJcbiAgbGVmdDogdmFyKC0tbGVzc29ueCk7XHJcblxyXG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLUJPUkRFUl9SQURJVVMpO1xyXG4gIGJveC1zaGFkb3c6IHZhcigtLVRIRU1FX0JPWF9TSEFET1cpO1xyXG59XHJcblxyXG4ubW92ZXMtLXNob3cge1xyXG4gIG9wYWNpdHk6IDA7XHJcbiAgYW5pbWF0aW9uLW5hbWU6IGhlYWRlci1pbjtcclxuICBhbmltYXRpb24tZHVyYXRpb246IDAuNzVzO1xyXG4gIGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xyXG59XHJcblxyXG4ubW92ZXNfX3RhbGx5LCAubW92ZXNfX3RleHQsIC5jcmVkc19fdGFsbHkxLCAuY3JlZHNfX3RleHQxLCAuY3JlZHNfX3RhbGx5MiwgLmNyZWRzX190ZXh0MiB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgYm9yZGVyLXdpZHRoOiAxcHg7XHJcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1USEVNRV9DT0xPUl9TRUNPTkRBUlkpO1xyXG59XHJcblxyXG4ubW92ZXNfX3RhbGx5LCAubW92ZXNfX3RleHQgIHtcclxuICB3aWR0aDogY2FsYyg0MCUgLSAxcHgpO1xyXG4gIGxlZnQ6IDBweDtcclxufVxyXG5cclxuLmNyZWRzX190YWxseTEsIC5jcmVkc19fdGV4dDEsIC5jcmVkc19fdGFsbHkyLCAuY3JlZHNfX3RleHQyIHtcclxuICBmb250LXNpemU6IGNhbGMoMC43NXZoICsgMC41dncpO1xyXG4gIHdpZHRoOiBjYWxjKDYwJSAtIDJweCk7XHJcbiAgcmlnaHQ6IDBweDtcclxufVxyXG5cclxuLmNyZWRzX190YWxseTEge1xyXG4gIGZvbnQtc2l6ZTogY2FsYygxLjB2aCArIDAuNzV2dyk7XHJcbn1cclxuXHJcbi5jcmVkc19fdGFsbHkxLCAuY3JlZHNfX3RleHQxLCAuY3JlZHNfX3RhbGx5MiwgLmNyZWRzX190ZXh0MiB7XHJcbiAgaGVpZ2h0OiBjYWxjKDUwJSAtIDFweCk7XHJcbn1cclxuXHJcbi5jcmVkc19fdGFsbHkxLCAuY3JlZHNfX3RhbGx5MiB7XHJcbiAgd2lkdGg6IGNhbGMoMzAlIC0gMXB4KTtcclxuICByaWdodDogMHB4O1xyXG59XHJcblxyXG4uY3JlZHNfX3RleHQxLCAuY3JlZHNfX3RleHQyIHtcclxuICB3aWR0aDogY2FsYygzMCUgLSAycHgpO1xyXG4gIGxlZnQ6IGNhbGMoNDAlKTtcclxufVxyXG5cclxuLm1vdmVzX190YWxseSwgLmNyZWRzX190YWxseTEsIC5jcmVkc19fdGFsbHkyIHtcclxuICBjb2xvcjogdmFyKC0tVEhFTUVfQ09MT1JfU0VDT05EQVJZKTtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxufVxyXG5cclxuLm1vdmVzX190ZXh0LCAuY3JlZHNfX3RleHQxLCAuY3JlZHNfX3RleHQyIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1USEVNRV9DT0xPUl9TRUNPTkRBUlkpO1xyXG4gIGNvbG9yOiB2YXIoLS1USEVNRV9DT0xPUl9CQUNLR1JPVU5EKTtcclxufVxyXG5cclxuLmNyZWRzX190YWxseTEsIC5jcmVkc19fdGV4dDEge1xyXG4gIHRvcDogMHB4O1xyXG59XHJcblxyXG4uY3JlZHNfX3RhbGx5MiwgLmNyZWRzX190ZXh0MiB7XHJcbiAgYm90dG9tOiAwcHg7XHJcbn1cclxuXHJcbi5jcmVkc19fdGFsbHkxIHtcclxuICBib3JkZXItcmFkaXVzOiAwcHggdmFyKC0tQk9SREVSX1JBRElVUykgMHB4IDBweDtcclxufVxyXG5cclxuLmNyZWRzX190YWxseTIge1xyXG4gIGJvcmRlci1yYWRpdXM6IDBweCAwcHggdmFyKC0tQk9SREVSX1JBRElVUykgMHB4O1xyXG59XHJcblxyXG4ubW92ZXNfX3RhbGx5IHtcclxuICBmb250LXNpemU6IGNhbGMoMy41dmggKyAyLjB2dyk7XHJcbiAgdG9wOiAwcHg7XHJcbiAgaGVpZ2h0OiBjYWxjKDYwJSAtIDFweCk7XHJcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tQk9SREVSX1JBRElVUykgMHB4IDBweCAwcHg7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tVEhFTUVfQ09MT1JfV0hJVEUpO1xyXG5cclxufVxyXG5cclxuLm1vdmVzX190ZXh0IHtcclxuICBmb250LXNpemU6IGNhbGMoMC43NXZoICsgMC41dncpO1xyXG4gIGJvdHRvbTogMHB4O1xyXG4gIGhlaWdodDogY2FsYyg0MCUgLSAycHgpO1xyXG4gIGJvcmRlci1yYWRpdXM6IDBweCAwcHggMHB4IHZhcigtLUJPUkRFUl9SQURJVVMpO1xyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIG1vdmVzLWFuaW1hdGUge1xyXG4gIDAlICAgeyB0cmFuc2Zvcm06IHJvdGF0ZSgtNzIwZGVnKTsgfVxyXG4gIDUwJSAgeyB0cmFuc2Zvcm06IHJvdGF0ZSgtMzYwZGVnKSBzY2FsZSgxLjIpOyB9XHJcbiAgMTAwJSB7IHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO31cclxufVxyXG5cclxuLm1vdmVzLS1hbmltYXRlIHtcclxuICBhbmltYXRpb24tbmFtZTogbW92ZXMtYW5pbWF0ZTtcclxuICBhbmltYXRpb24tZHVyYXRpb246IDEuMHM7XHJcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xyXG59XHJcbiJdLCJzb3VyY2VSb290IjoiIn0=*/