/*********************
TRANSITION
*********************/
/*
USAGE: @include transition(all 0.2s ease-in-out);
*/
html, body {
  height: 100%;
  width: 100%; }

body {
  background: white;
  color: #2d2d2d;
  font-size: 22px;
  font-family: "Droid Serif";
  letter-spacing: -0.00em;
  margin-bottom: 100vh; }
  body.no-scroll {
    overflow: hidden; }

p {
  line-height: 1.6em;
  margin: 0 !important;
  font-style: italic; }

b {
  font-weight: 900; }

ins {
  text-decoration: none; }

mark {
  background: none;
  color: inherit;
  font-weight: bold;
  font-style: italic;
  border-bottom: 2px solid #00dabc; }

a, .nav-project i, .overlay-trigger {
  opacity: 1;
  color: #00dabc;
  text-decoration: none;
  position: relative;
  cursor: pointer;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out; }

a:hover {
  opacity: 0.5;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out; }

.nav-project i:hover, .overlay-trigger:hover {
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  -webkit-animation-duration: 0.3s;
  animation-duration: 0.3s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both; }

span.meta {
  font-size: 0.8em; }

#main {
  position: relative;
  padding-top: 100px;
  overflow: hidden; }

#content {
  margin: 0 auto;
  position: relative;
  background: #fbfbfb; }

h1, h2, h3, h4, h5 {
  font-family: "HalisR-Bold";
  font-weight: normal;
  font-style: normal;
  text-align: left;
  margin: 0; }

h1 {
  line-height: 0.9em;
  font-size: 80px;
  font-family: "HalisR-Bold";
  font-weight: 900;
  font-style: normal;
  letter-spacing: -0.04em;
  text-align: left;
  text-transform: uppercase; }

h2 {
  line-height: 1.05em;
  font-size: 40px; }

h3 {
  letter-spacing: 0.02em;
  line-height: 1.3em;
  font-size: 30px; }

nav {
  margin: 50px 100px;
  position: absolute;
  background: #fbfbfb;
  z-index: 100;
  display: inline-block;
  top: 0;
  left: 0;
  right: 0;
  font-family: "Droid Serif";
  font-style: normal;
  font-size: 20px;
  font-weight: 300;
  padding: 5px 0 0 0;
  text-align: left;
  font-family: "HalisR-Bold"; }
  nav a {
    font-style: italic; }
  nav h4 {
    display: inline-block; }
  nav div {
    display: inline;
    position: relative;
    text-transform: lowercase;
    font-family: "Droid Serif";
    margin-left: 5px;
    font-size: 14px;
    top: -1px; }
    nav div:not(:first-of-type):before {
      content: "/";
      margin-right: 5px; }
    nav div .current {
      color: #2d2d2d;
      cursor: default; }
      nav div .current:hover {
        border-bottom: none !important; }
      nav div .current:before {
        content: ''; }
    nav div.left-align {
      left: 0; }
    nav div.center-align {
      flex: 1;
      text-align: center;
      text-transform: uppercase;
      font-size: 20px; }
    nav div.right-align {
      right: 0; }

/*
 * Keyframes
 */
@keyframes fadeIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }

@keyframes fadeInUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(30px);
    -moz-transform: translateY(30px);
    -ms-transform: translateY(30px);
    -o-transform: translateY(30px);
    transform: translateY(30px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0); } }

@keyframes fadeInRight {
  0% {
    opacity: 0;
    transform: translateX(30px); }
  100% {
    opacity: 1;
    transform: translateX(0); } }

@keyframes changeColor {
  0% { }
  100% {
    background: red; } }

/*
 * CSS Page Transitions
 * Don't forget to add vendor prefixes!
 */
.m-scene {
  /** Basic styles for an animated element */
  /** An element that fades in */
  /** An element that fades in and slides up */
  /** An element that fades in and slides from the right */
  /** An element that fades in and slides from the right */
  /** Reverse "exit" animations */ }
  .m-scene .scene_element {
    -webkit-animation-duration: 1.5s;
    -moz-animation-duration: 1.5s;
    animation-duration: 1.5s;
    -webkit-transition-timing-function: cubic-bezier(0.895, 0.03, 0.685, 0.22);
    -moz-transition-timing-function: cubic-bezier(0.895, 0.03, 0.685, 0.22);
    transition-timing-function: cubic-bezier(0.895, 0.03, 0.685, 0.22);
    -webkit-animation-fill-mode: both;
    -moz-animation-fill-mode: both;
    animation-fill-mode: both; }
  .m-scene .scene_element--fadein {
    animation: fadeIn 0.25s ease-in; }
  .m-scene .scene_element--fadeinup {
    -webkit-animation-name: fadeInUp;
    -moz-animation-name: fadeInUp;
    animation-name: fadeInUp; }
  .m-scene .scene_element--fadeinright {
    animation: fadeInRight 1.25s ease-in-out; }
  .m-scene .scene_element--fadeinright {
    animation: fadeInRight 1.25s ease-in-out; }
  .m-scene.is-exiting .scene_element {
    animation: fadeIn 1s cubic-bezier(0.895, 0.03, 0.685, 0.22);
    animation-direction: alternate-reverse; }
  .m-scene .delayed {
    animation-delay: 0.5s; }

.content-narrow {
  padding: 100px 200px 100px 200px;
  max-width: 700px;
  margin: auto; }

.subtitle {
  margin-bottom: 80px; }

.section-short {
  background: #2d2d2d;
  color: #fbfbfb; }
  .section-short.quote {
    background: #fbfbfb;
    color: #2d2d2d;
    background-attachment: fixed;
    background-repeat: no-repeat;
    background-position: center;
    background-size: 50% auto; }

.section-full {
  height: 100vh;
  min-height: 600px;
  position: relative;
  /* When overlay is active */ }
  .section-full:nth-child(odd) {
    background-color: #ececec; }
  .section-full:first-child .prev-project {
    display: none; }
  .section-full:last-child .next-project {
    display: none; }
  .section-full p {
    width: 50%; }
  .section-full .item-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: block;
    background-attachment: fixed;
    background-repeat: no-repeat;
    background-position: 120% center;
    background-size: 63% auto;
    opacity: 1;
    -webkit-transition: all 1s ease-in-out 1s;
    transition: all 1s ease-in-out 1s; }
  .section-full .item-number {
    font-family: "Droid Serif";
    font-style: italic;
    font-weight: 900;
    text-transform: uppercase;
    line-height: 0.9em;
    font-size: 300px;
    color: rgba(34, 34, 34, 0.3);
    position: absolute;
    top: 80px;
    max-width: 30%;
    text-align: left;
    opacity: 0.5;
    transform: translateX(-40px);
    -webkit-transform: translateX(-40px);
    -ms-transform: translateX(-40px);
    -webkit-transition: opacity 1s ease-out 0.6s, transform 1s 0.5s;
    transition: opacity 1s ease-out 0.6s, transform 1s 0.5s; }
  .section-full .nav-project {
    position: relative;
    top: -15px;
    z-index: 100;
    width: 95%;
    text-align: right;
    display: block;
    opacity: 1;
    transform: translateX(0px);
    -webkit-transform: translateX(0px);
    -ms-transform: translateX(0px);
    -webkit-transition: opacity 1s ease-out 0.8s, transform 1s 0.7s;
    transition: opacity 1s ease-out 0.8s, transform 1s 0.7s; }
  .section-full .open-project {
    letter-spacing: 0.1em;
    font-size: 0.8em;
    margin-top: -0.2em;
    display: block;
    text-align: right;
    width: 95%;
    opacity: 1;
    transform: translateX(0px);
    -webkit-transform: translateX(0px);
    -ms-transform: translateX(0px);
    -webkit-transition: opacity 1s ease-out 0.8s, transform 1s 0.7s, padding-left 0.5s;
    transition: opacity 1s ease-out 0.8s, transform 1s 0.7s, padding-left 0.5s; }
    .section-full .open-project:hover {
      padding-left: 10px;
      transition: all 0.5s; }
  .section-full .item-content {
    position: absolute;
    top: 270px;
    padding: 0 20px;
    margin-left: 50px;
    max-width: 30%;
    z-index: 10;
    text-align: left;
    transform: translateX(0px);
    -webkit-transform: translateX(0px);
    -ms-transform: translateX(0px);
    -webkit-transition: opacity 1s ease-out 0.8s, transform 1s 0.7s;
    transition: opacity 1s ease-out 0.8s, transform 1s 0.7s; }
  .section-full .item-title {
    font-family: "HalisR-Bold";
    font-weight: 900;
    text-transform: uppercase;
    line-height: 0.9em;
    font-size: 50px; }
    .section-full .item-title.overlay-trigger {
      bottom: 100px;
      top: auto; }
  .section-full .item-meta {
    position: relative;
    font-size: 30px;
    z-index: 11;
    margin-bottom: 10px; }
  .section-full p {
    width: 100%;
    font-size: 20px;
    line-height: 1.3em; }
  .section-full.show-overlay {
    height: auto; }
    .section-full.show-overlay .overlay {
      left: 0px;
      padding-bottom: 100px;
      opacity: 1;
      transform: translateY(0px);
      -webkit-transform: translateY(0px);
      -ms-transform: translateY(0px);
      -webkit-transition: opacity 1s ease-out 0.5s, transform 1s 0.4s;
      transition: opacity 1s ease-out 0.5s, transform 1s 0.4s; }
  .section-full.show-overlay .nav-project,
  .section-full.not-in-view .nav-project {
    opacity: 0;
    transform: translateX(-30px);
    -webkit-transform: translateX(-30px);
    -ms-transform: translateX(-30px);
    -webkit-transition: opacity 1s ease-out 0.2s, transform 1s;
    transition: opacity 1s ease-out 0.2s, transform 1s; }
  .section-full.show-overlay .open-project,
  .section-full.not-in-view .open-project {
    opacity: 0;
    transform: translateX(-30px);
    -webkit-transform: translateX(-30px);
    -ms-transform: translateX(-30px);
    -webkit-transition: opacity 1s ease-out 0.2s, transform 1s;
    transition: opacity 1s ease-out 0.2s, transform 1s; }
  .section-full.show-overlay .item-content,
  .section-full.not-in-view .item-content {
    opacity: 0;
    transform: translateX(-30px);
    -webkit-transform: translateX(-30px);
    -ms-transform: translateX(-30px);
    -webkit-transition: opacity 1s ease-out 0.2s, transform 1s;
    transition: opacity 1s ease-out 0.2s, transform 1s; }
  .section-full.show-overlay .item-number,
  .section-full.not-in-view .item-number {
    position: absolute;
    transform: translateX(0px);
    -webkit-transform: translateX(0px);
    -ms-transform: translateX(0px);
    -webkit-transition: opacity 1s ease-out 0.1s, transform 1s;
    transition: opacity 1s ease-out 0.1s, transform 1s; }
  .section-full.show-overlay .item-bg,
  .section-full.not-in-view .item-bg {
    -webkit-transition: all 1s ease-out;
    transition: all 1s ease-out; }
  .section-full.show-overlay .item-bg {
    opacity: 0 !important; }
  .section-full.not-in-view .item-bg {
    opacity: 1; }

/* Overlay styles */
.overlay {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
  opacity: 0;
  transform: translateY(30px);
  -webkit-transform: translateY(30px);
  -ms-transform: translateY(30px);
  -webkit-transition: opacity 1s ease-out 0.2s, transform 1s;
  transition: opacity 1s ease-out 0.2s, transform 1s; }

.overlay-trigger {
  cursor: pointer; }

.overlay .overlay-close {
  position: absolute;
  right: 40px;
  top: 40px;
  font-size: 50px; }

.overlay .overlay-content {
  padding: 0 40px;
  max-width: 700px;
  margin: auto;
  text-align: left; }

.overlay .overlay-title {
  padding: 120px 0 20px 0;
  margin: auto;
  text-align: left;
  font-size: 60px; }

.overlay .overlay-subtitle {
  font-family: "HalisR-Bold";
  font-style: normal;
  font-weight: 300;
  font-size: 16px;
  display: block;
  width: 100%;
  margin-top: 20px; }

.overlay img {
  width: 100%;
  margin: 30px auto;
  box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.3); }

footer {
  width: 100%; }
  footer .section-short {
    background: #2d2d2d !important;
    color: #fff; }
    footer .section-short#copyright {
      background: #00dabc !important; }
      footer .section-short#copyright .content-narrow {
        padding-top: 10px;
        padding-bottom: 10px; }
      footer .section-short#copyright p {
        font-style: normal;
        font-family: "HalisR-Bold";
        font-size: 14px; }

@media only screen and (max-width: 1060px) {
  nav {
    margin: 50px 100px; }
  .content-narrow {
    padding: 100px 100px; }
  .section-full {
    min-height: 600px; }
    .section-full .item-bg {
      background-attachment: scroll;
      background-size: 70% auto;
      background-position: 130% 50%; }
    .section-full .nav-project {
      text-align: left; }
    .section-full .item-meta {
      display: none; }
    .section-full .item-content {
      margin-left: 40px;
      padding: 0;
      max-width: 30%;
      width: 90%; }
    .section-full .item-title {
      max-width: 400px;
      font-size: 40px; }
    .section-full .open-project {
      text-align: left;
      width: 100%; }
    .section-full.show-overlay .overlay {
      z-index: 20; }
    .section-full.show-overlay .nav-project {
      transform: translateX(0px);
      -webkit-transform: translateX(0px);
      -ms-transform: translateX(0px); }
    .section-full.show-overlay .nav-project {
      transform: translateX(0px);
      -webkit-transform: translateX(0px);
      -ms-transform: translateX(0px); } }

@media only screen and (max-width: 860px) {
  h1 {
    font-size: 64px; }
  nav {
    margin: 50px 80px;
    width: 100%; }
  .content-narrow {
    padding: 80px 80px; } }

@media only screen and (max-width: 700px) {
  nav {
    width: 100%; }
    nav h4 {
      line-height: 0;
      margin-bottom: 5px;
      display: block;
      width: 100%; }
    nav div:first-of-type {
      margin-left: 0; }
  .section-full {
    min-height: 740px; }
    .section-full .item-title {
      max-width: 90%; }
    .section-full .item-content {
      top: 80px;
      max-width: 90%; }
    .section-full .item-bg {
      background-attachment: scroll;
      background-size: 90% auto;
      background-position: 50% 80%; } }

@media only screen and (max-width: 520px) {
  h1 {
    font-size: 58px; }
  nav {
    margin: 50px 30px; }
    nav h4 {
      margin-bottom: 10px; }
    nav div {
      display: block;
      width: 100%;
      margin-left: 0; }
    nav div:not(:first-child):before {
      content: '';
      margin-right: 0; }
  .content-narrow {
    padding: 80px 30px; }
  .section-full {
    min-height: 600px; }
    .section-full .item-bg {
      background-attachment: scroll;
      background-size: 90% auto;
      background-position: 50% 80%; }
    .section-full .overlay .overlay-title {
      font-size: 50px; } }

/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm1peGlucy5zY3NzIiwic3R5bGUuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7c0JBRXNCO0FBRXRCOztFQUVFO0FDV0ksSUFBSSxFQUFFLElBQUksQ0FBTDtFQUNULE1BQU0sRUFBRSxJQUFLO0VBQ2IsS0FBSyxFQUFFLElBQUssR0FGRjs7QUFNWixJQUFJLENBQUM7RUFDSixVQUFVLEVBQUUsS0FBTTtFQUVsQixLQUFLLEVBYkMsT0FBTztFQWViLFNBQVMsRUFBRSxJQUFLO0VBQ2hCLFdBQVcsRUF0QkEsYUFBYTtFQXlCeEIsY0FBYyxFQUFFLE9BQVE7RUFHdkIsYUFBYSxFQUFFLEtBQU0sR0FaakI7RUFlSCxJQUFJLFVBQVUsQ0FBSDtJQUNWLFFBQVEsRUFBRSxNQUFPLEdBRE47O0FBT2YsQ0FBQyxDQUFDO0VBQ0EsV0FBVyxFQUFFLEtBQU07RUFDbkIsTUFBTSxFQUFFLENBQUMsQ0FBQSxVQUFVO0VBQ25CLFVBQVUsRUFBRSxNQUFPLEdBSGxCOztBQU1ILENBQUMsQ0FBQztFQUNBLFdBQVcsRUFBRSxHQUFJLEdBRGhCOztBQVFILEdBQUcsQ0FBQztFQUNILGVBQWUsRUFBRSxJQUFLLEdBRGxCOztBQUlMLElBQUksQ0FBQztFQUNILFVBQVUsRUFBRSxJQUFLO0VBRWpCLEtBQUssRUFBRSxPQUFRO0VBQ2YsV0FBVyxFQUFFLElBQUs7RUFDbEIsVUFBVSxFQUFFLE1BQU87RUFFbkIsYUFBYSxFQUFFLEdBQUcsQ0FBQyxLQUFLLENBdkRqQixPQUFPLEdBZ0RWOztBQVVhLENBQUMsRUFBRSxZQUFZLENBQUMsQ0FBQyxFQUFFLGdCQUFnQixDQUFsQjtFQUNuQyxPQUFPLEVBQUUsQ0FBRTtFQUNYLEtBQUssRUE1REcsT0FBTztFQTZEZixlQUFlLEVBQUUsSUFBSztFQUNyQixRQUFRLEVBQUUsUUFBUztFQUNuQixNQUFNLEVBQUUsT0FBUTtFRG5FZCxrQkFBb0IsRUNvRUYsR0FBRyxDQUFDLElBQUksQ0FBQyxXQUFXO0VEcEV0QyxVQUFvQixF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T0FBUSxHQUhyQjtJQU1ILGFBQWEsQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUF0QjtNQUN0QixTQUFTLEVBQUUsSUFBSyxHQURPIiwiZmlsZSI6InN0eWxlLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKioqKioqKioqKioqKioqKioqKipcblRSQU5TSVRJT05cbioqKioqKioqKioqKioqKioqKioqKi9cblxuLypcblVTQUdFOiBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAwLjJzIGVhc2UtaW4tb3V0KTtcbiovXG5cbkBtaXhpbiB0cmFuc2l0aW9uKCR0cmFuc2l0aW9uLi4uKSB7XG4gICRwcmVmaXhlczogICAgICAoXCItd2Via2l0LVwiLCBcIlwiICk7XG4gIEBlYWNoICRwcmVmaXggaW4gJHByZWZpeGVzIHtcbiAgICAjeyRwcmVmaXh9dHJhbnNpdGlvbjogJHRyYW5zaXRpb247XG4gIH1cbn0iLCIvLyBpbXBvcnQgbWl4aW5zXG5cbkBpbXBvcnQgXCJtaXhpbnNcIjtcblxuXG4vLyB2YXJpYWJsZXNcblxuJGJvZHktZm9udDogJ0Ryb2lkIFNlcmlmJztcbiRzdWJ0aXRsZS1mb250OiAnRHJvaWQgU2VyaWYnO1xuJHRpdGxlLWZvbnQ6ICdIYWxpc1ItQm9sZCc7XG4vLyAkbWVudS1mb250OiAnQnJhbmRvbiBHcm90ZXNxdWUgQm9sZFgnLCAnTGF0b1gnLCAnQnVuZ2VlJztcbiRtYWluLWNvbG9yOiAjMDAwO1xuXG4kZGFyazogIzJkMmQyZDtcbiRsaWdodDogI2ZiZmJmYjtcbiRhY2NlbnQ6ICMwMGRhYmM7XG5cbmh0bWwsIGJvZHkge1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xuICAvLyBvdmVyZmxvdy14OiBoaWRkZW47XG59XG5cbmJvZHkge1xuXHRiYWNrZ3JvdW5kOiB3aGl0ZTtcblx0Ly8gY29sb3I6ICMxRjFGMUY7XG5cdGNvbG9yOiAkZGFyaztcblx0Ly8gY29sb3I6ICNjY2M7XG5cdGZvbnQtc2l6ZTogMjJweDtcblx0Zm9udC1mYW1pbHk6ICRib2R5LWZvbnQ7XG5cdC8vIGZvbnQtd2VpZ2h0OiAxMDA7XG5cdC8vIGxpbmUtaGVpZ2h0OiAxLjJlbTtcblx0bGV0dGVyLXNwYWNpbmc6IC0wLjAwZW07IFxuXHQvLyBmb250LXN0eWxlOiBpdGFsaWM7XG4gIC8vIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luLWJvdHRvbTogMTAwdmg7XG4gIC8vIG92ZXJmbG93LXg6IGhpZGRlbjtcblxuICAmLm5vLXNjcm9sbCB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAvLyBvdmVyZmxvdy15OiBzY3JvbGw7XG4gIH1cblxufVxuXG5wIHtcbiAgbGluZS1oZWlnaHQ6IDEuNmVtO1xuICBtYXJnaW46IDAhaW1wb3J0YW50O1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbmIge1xuICBmb250LXdlaWdodDogOTAwO1xufVxuXG5kZWwge1xuXHQvLyB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbmlucyB7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxubWFyayB7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIC8vIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICBjb2xvcjogaW5oZXJpdDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgLy8gZm9udC1mYW1pbHk6ICR0aXRsZS1mb250O1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgJGFjY2VudDtcbn1cblxuYSwgLm5hdi1wcm9qZWN0IGksIC5vdmVybGF5LXRyaWdnZXIge1xuXHRvcGFjaXR5OiAxO1xuXHRjb2xvcjogJGFjY2VudDtcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgMC4zcyBlYXNlLWluLW91dCk7XG59XG5cbmE6aG92ZXIge1xuICAgIG9wYWNpdHk6IDAuNTtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAwLjNzIGVhc2UtaW4tb3V0KTsgIFxufVxuXG4ubmF2LXByb2plY3QgaSwgLm92ZXJsYXktdHJpZ2dlciB7XG5cbiAgJjpob3ZlciB7XG4gICAgLy8gb3BhY2l0eTogMC41O1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDAuM3MgZWFzZS1pbi1vdXQpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjNzO1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMC4zcztcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XG4gICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcbiAgfVxufVxuXG5cbnNwYW4ubWV0YSB7XG5cdGZvbnQtc2l6ZTogMC44ZW07XG59XG5cbiNtYWluIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLXRvcDogMTAwcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIC8vIG1hcmdpbi1ib3R0b206IDEwMHZoO1xufVxuXG4jY29udGVudCB7XG5cdC8vIHBhZGRpbmc6IDIwMHB4IDEwMHB4IDMwcHggMTAwcHg7XHRcblx0Ly8gd2lkdGg6IDgwMHB4O1xuXHRtYXJnaW46IDAgYXV0bztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kOiAkbGlnaHQ7XG59XG5cbi5ob21lIHtcblx0I2JnIHtcblx0XHQvLyBiYWNrZ3JvdW5kOiAjODRCQUM2O1xuXHR9XG5cblx0aDEge1xuXHRcdC8vIGhlaWdodDogMTUwcHg7XG5cdH1cbn1cblxuLndvcmsgI2JnIHtcblx0Ly8gYmFja2dyb3VuZDogcmVkO1xufVxuXG5oMSwgaDIsIGgzLCBoNCwgaDUge1xuICBmb250LWZhbWlseTogJHRpdGxlLWZvbnQ7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDsgXG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIG1hcmdpbjogMDtcbn1cblxuaDEge1xuXHRsaW5lLWhlaWdodDogMC45ZW07XG5cdGZvbnQtc2l6ZTogODBweDtcblx0Ly8gbWF4LXdpZHRoOiAxMDAwcHg7XG5cdC8vIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHRcblx0Zm9udC1mYW1pbHk6ICR0aXRsZS1mb250O1xuXHRmb250LXdlaWdodDogOTAwO1xuXHRmb250LXN0eWxlOiBub3JtYWw7XG5cdGxldHRlci1zcGFjaW5nOiAtMC4wNGVtO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG5oMiB7XG4gIGxpbmUtaGVpZ2h0OiAxLjA1ZW07XG4gIGZvbnQtc2l6ZTogNDBweDtcbn1cblxuXG5oMyB7XG4gIGxldHRlci1zcGFjaW5nOiAwLjAyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjNlbTtcbiAgZm9udC1zaXplOiAzMHB4O1xufVxuXG5uYXYge1xuICAgIG1hcmdpbjogNTBweCAxMDBweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYmFja2dyb3VuZDogJGxpZ2h0O1xuICAgIHotaW5kZXg6IDEwMDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgZm9udC1mYW1pbHk6ICRib2R5LWZvbnQ7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBmb250LXdlaWdodDogMzAwO1xuICAgIC8vIGJvcmRlci1ib3R0b206IDFweCBzb2xpZDtcbiAgICBwYWRkaW5nOiA1cHggMCAwIDA7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBmb250LWZhbWlseTogJHRpdGxlLWZvbnQ7XG5cbiAgICBhIHtcbiAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICB9XG5cbiAgaDQge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgfVxuXG5cdGRpdiB7XG4gICAgZGlzcGxheTogaW5saW5lO1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHR0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlO1xuICAgIGZvbnQtZmFtaWx5OiAkYm9keS1mb250O1xuICAgIG1hcmdpbi1sZWZ0OiA1cHg7ICBcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgdG9wOiAtMXB4O1xuXG4gICAgJjpub3QoOmZpcnN0LW9mLXR5cGUpIHtcbiAgICAgIFxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIi9cIjtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmN1cnJlbnQge1xuICAgICAgY29sb3I6ICRkYXJrO1xuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZSFpbXBvcnRhbnQ7XG4gICAgICB9XG5cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICB9IFxuICAgIH1cblxuXHRcdCYubGVmdC1hbGlnbiB7XG5cdFx0XHRsZWZ0OiAwO1xuXHRcdH1cblxuXHRcdCYuY2VudGVyLWFsaWduIHtcblx0XHRcdGZsZXg6IDE7XG5cdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHQvLyBmb250LWZhbWlseTogJ1J1YmlrJztcblx0XHRcdC8vIGZvbnQtd2VpZ2h0OiA5MDA7XG5cdFx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdFx0Zm9udC1zaXplOiAyMHB4O1xuXHRcdH1cblxuXHRcdCYucmlnaHQtYWxpZ24ge1xuXHRcdFx0cmlnaHQ6IDA7XG5cdFx0fVx0XHRcblx0fVxufVxuXG4vKlxuICogS2V5ZnJhbWVzXG4gKi9cblxuQGtleWZyYW1lcyBmYWRlSW4ge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmYWRlSW5VcCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDMwcHgpO1xuICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDMwcHgpO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMzBweCk7XG4gICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDMwcHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgzMHB4KTtcbiAgfVxuXG4gIDEwMCUge1xuXHRvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVJblJpZ2h0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDMwcHgpO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBjaGFuZ2VDb2xvciB7XG4gIDAlIHtcbiAgICAvLyBiYWNrZ3JvdW5kOiAwO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgYmFja2dyb3VuZDogcmVkO1xuICB9XG59XG5cbi8qXG4gKiBDU1MgUGFnZSBUcmFuc2l0aW9uc1xuICogRG9uJ3QgZm9yZ2V0IHRvIGFkZCB2ZW5kb3IgcHJlZml4ZXMhXG4gKi9cbi5tLXNjZW5lIHtcbiAgLyoqIEJhc2ljIHN0eWxlcyBmb3IgYW4gYW5pbWF0ZWQgZWxlbWVudCAqL1xuICAuc2NlbmVfZWxlbWVudCB7XG4gIFx0LXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDEuNXM7XG4gICAgLW1vei1hbmltYXRpb24tZHVyYXRpb246IDEuNXM7XG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxLjVzO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjg5NSwgIDAuMDMwLCAwLjY4NSwgMC4yMjApO1xuICAgIC1tb3otdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjg5NSwgIDAuMDMwLCAwLjY4NSwgMC4yMjApO1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC44OTUsICAwLjAzMCwgMC42ODUsIDAuMjIwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XG4gICAgLW1vei1hbmltYXRpb24tZmlsbC1tb2RlOiBib3RoO1xuICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XG4gIH1cblxuICAvKiogQW4gZWxlbWVudCB0aGF0IGZhZGVzIGluICovXG4gIC5zY2VuZV9lbGVtZW50LS1mYWRlaW4ge1xuICAgIGFuaW1hdGlvbjogZmFkZUluIDAuMjVzIGVhc2UtaW47XG4gIH1cblxuICAvKiogQW4gZWxlbWVudCB0aGF0IGZhZGVzIGluIGFuZCBzbGlkZXMgdXAgKi9cbiAgLnNjZW5lX2VsZW1lbnQtLWZhZGVpbnVwIHtcbiAgXHQtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5VcDtcbiAgICAtbW96LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5VcDtcbiAgICBhbmltYXRpb24tbmFtZTogZmFkZUluVXA7XG4gICAgLy8gLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDEuNXM7XG4gICAgLy8gLW1vei1hbmltYXRpb24tZHVyYXRpb246IDEuNXM7XG4gICAgLy8gYW5pbWF0aW9uLWR1cmF0aW9uOiAxLjVzOyAgICAgICAgXG4gIH1cblxuICAvKiogQW4gZWxlbWVudCB0aGF0IGZhZGVzIGluIGFuZCBzbGlkZXMgZnJvbSB0aGUgcmlnaHQgKi9cbiAgLnNjZW5lX2VsZW1lbnQtLWZhZGVpbnJpZ2h0IHtcbiAgICBhbmltYXRpb246IGZhZGVJblJpZ2h0IDEuMjVzIGVhc2UtaW4tb3V0O1xuICB9XG5cbiAgLyoqIEFuIGVsZW1lbnQgdGhhdCBmYWRlcyBpbiBhbmQgc2xpZGVzIGZyb20gdGhlIHJpZ2h0ICovXG4gIC5zY2VuZV9lbGVtZW50LS1mYWRlaW5yaWdodCB7XG4gICAgYW5pbWF0aW9uOiBmYWRlSW5SaWdodCAxLjI1cyBlYXNlLWluLW91dDtcbiAgfSAgXG5cbiAgICAvKiogUmV2ZXJzZSBcImV4aXRcIiBhbmltYXRpb25zICovXG4gICYuaXMtZXhpdGluZyB7XG4gICAgICAuc2NlbmVfZWxlbWVudCB7XG4gICAgICAgIGFuaW1hdGlvbjogZmFkZUluIDFzIGN1YmljLWJlemllcigwLjg5NSwgIDAuMDMwLCAwLjY4NSwgMC4yMjApO1xuICAgICAgICBhbmltYXRpb24tZGlyZWN0aW9uOiBhbHRlcm5hdGUtcmV2ZXJzZTsgXG4gICAgICB9XG4gIH1cblxuICAuZGVsYXllZCB7XG4gICAgYW5pbWF0aW9uLWRlbGF5OiAwLjVzO1xuICB9ICBcbn1cblxuLmNvbnRlbnQtbmFycm93IHtcbiAgcGFkZGluZzogMTAwcHggMjAwcHggMTAwcHggMjAwcHg7IFxuICBtYXgtd2lkdGg6IDcwMHB4OyBcbiAgbWFyZ2luOiBhdXRvOyAgXG59XG5cbi5zdWJ0aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDgwcHg7XG59XG5cbi5zZWN0aW9uLXNob3J0IHtcbiAgYmFja2dyb3VuZDogJGRhcms7XG4gIGNvbG9yOiAkbGlnaHQ7XG5cbiAgJi5xdW90ZSB7XG4gICAgLy8gZm9udC1mYW1pbHk6ICR0aXRsZS1mb250O1xuICAgIC8vIGZvbnQtc2l6ZTogMC45ZW07XG4gICAgYmFja2dyb3VuZDogJGxpZ2h0O1xuICAgIGNvbG9yOiAkZGFyaztcbiAgICAvLyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoaHR0cHM6Ly9jZG4udmVjdG9yc3RvY2suY29tL2kvY29tcG9zaXRlLzIzLDc0L3BpeGVsLXRodW1iLXVwLXZlY3Rvci0xNzQyMzc0LmpwZyk7XG4gICAgYmFja2dyb3VuZC1hdHRhY2htZW50OiBmaXhlZDtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDUwJSBhdXRvO1xuICAgIC8vIG1hcmsge1xuICAgIC8vICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gICAgLy8gICBib3JkZXItYm90dG9tOiAzcHggc29saWQgJGFjY2VudDtcbiAgICAvLyAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAvLyAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgLy8gfVxuXG4gIH1cbn1cblxuLnNlY3Rpb24tZnVsbCB7XG5cdGhlaWdodDogMTAwdmg7XG4gIG1pbi1oZWlnaHQ6IDYwMHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC8vIGJhY2tncm91bmQtaW1hZ2U6IHVybChkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUFnQUFBQUlDQVlBQUFERUQ3NkxBQUFBTTBsRVFWUW9VMk5rd0FQKy8vLy9ueEdYUEZnU0JMQXBnRW1DNURBVUlFdGlLRUNYUkZHQVRSS3VBSmNrV0FFK1NaQUNBSUtHSUFVd0pPQWRBQUFBQUVsRlRrU3VRbUNDKTsgXG4gIFxuICAmOm50aC1jaGlsZChvZGQpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBsaWdodGVuKCRkYXJrLDc1JSk7OyBcbiAgfVxuXG4gICY6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgLy8gYmFja2dyb3VuZDogI2NjYztcbiAgICAgIFxuICAgIHAsIHNwYW4sIC5pdGVtLXRpdGxlLCAub3ZlcmxheS10aXRsZSB7XG4gICAgICAvLyBjb2xvcjogd2hpdGU7XG5cbiAgICB9XG4gIH1cblxuICAmOmZpcnN0LWNoaWxkIC5wcmV2LXByb2plY3Qge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAmOmxhc3QtY2hpbGQgLm5leHQtcHJvamVjdCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfSAgXG5cbiAgLy8gJjpiZWZvcmUge1xuICAvLyAgIGNvbnRlbnQ6IFwiXCI7XG4gIC8vICAgZGlzcGxheTogYmxvY2s7XG4gIC8vICAgcG9zaXRpb246IGFic29sdXRlO1xuICAvLyAgIHRvcDogNTBweDtcbiAgLy8gICBsZWZ0OiA3MHB4O1xuICAvLyAgIHdpZHRoOiA1MHB4O1xuICAvLyAgIGhlaWdodDogNXB4O1xuICAvLyAgIGJhY2tncm91bmQ6ICRkYXJrO1xuICAvLyB9IFxuXG4gIC8vICAmOmFmdGVyIHtcbiAgLy8gICBjb250ZW50OiBcIlwiO1xuICAvLyAgIGRpc3BsYXk6IGJsb2NrO1xuICAvLyAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgLy8gICB0b3A6IDA7XG4gIC8vICAgbGVmdDogMTQwcHg7XG4gIC8vICAgd2lkdGg6IDEwMCU7XG4gIC8vICAgbWF4LXdpZHRoOiAyMCU7XG4gIC8vICAgaGVpZ2h0OiAycHg7XG4gIC8vICAgYmFja2dyb3VuZDogJGFjY2VudDtcbiAgLy8gfSAgICBcblxuICBwIHtcbiAgICAvLyBwYWRkaW5nOiAwIDEwMHB4O1xuICAgIC8vIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgd2lkdGg6IDUwJTtcbiAgICAvLyBtYXgtd2lkdGg6IDkwMHB4O1xuICB9XG5cbiAgLml0ZW0tYmcge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgLy8gYmFja2dyb3VuZC1jb2xvcjogI2VlZTsgICBcbiAgICBcbiAgICBiYWNrZ3JvdW5kLWF0dGFjaG1lbnQ6IGZpeGVkO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMjAlIGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDYzJSBhdXRvO1xuICAgIFxuICAgIC8vIGJhY2tncm91bmQtc2l6ZTogNjAlIGF1dG87XG4gICAgLy8gYmFja2dyb3VuZC1wb3NpdGlvbjogMTMwJSA1MCU7XG5cbiAgICBvcGFjaXR5OiAxO1xuICAgIC8vIHRyYW5zaXRpb246IGFsbCAxcyBlYXNlLWluLW91dCAxcztcbiAgICAvLyAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAxcyBlYXNlLWluLW91dCAxczsgICAgXG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgMXMgZWFzZS1pbi1vdXQgMXMpO1xuICB9XG5cbiAgLml0ZW0tbnVtYmVyIHtcbiAgICBmb250LWZhbWlseTogJHN1YnRpdGxlLWZvbnQ7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIGZvbnQtd2VpZ2h0OiA5MDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAvLyBsZXR0ZXItc3BhY2luZzogMC4xZW07XG4gICAgbGluZS1oZWlnaHQ6IDAuOWVtO1xuICAgIGZvbnQtc2l6ZTogMzAwcHg7XG4gICAgY29sb3I6IHJnYmEoMzQsIDM0LCAzNCwgMC4zKTtcbiAgICAvLyB6LWluZGV4OiAxMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA4MHB4O1xuICAgIC8vIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgIC8vIHBhZGRpbmc6IDAgMjBweDtcbiAgICAvLyBtYXJnaW4tbGVmdDogMTBweDtcbiAgICBtYXgtd2lkdGg6IDMwJTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIG9wYWNpdHk6IDAuNTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTQwcHgpO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC00MHB4KTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC00MHB4KTtcbiAgICAvLyB0cmFuc2l0aW9uOiBvcGFjaXR5IDFzIGVhc2Utb3V0IDAuNnMsIHRyYW5zZm9ybSAxcyAwLjVzO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24ob3BhY2l0eSAxcyBlYXNlLW91dCAwLjZzLCB0cmFuc2Zvcm0gMXMgMC41cyk7XG4gIH1cblxuICAvLyAubmV4dC1wcm9qZWN0LCAucHJldmlvdXMtcHJvamVjdCAge1xuICAvLyAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgLy8gICB0b3A6IDcwcHg7XG4gIC8vICAgei1pbmRleDogMTAwO1xuICAvLyAgIC8vIG9wYWNpdHk6IDE7XG4gIC8vICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCk7XG4gIC8vICAgdHJhbnNpdGlvbjogb3BhY2l0eSAxcyBlYXNlLW91dCAwLjhzLCB0cmFuc2Zvcm0gMXMgMC43czsgICAgXG4gIC8vIH0gIFxuXG4gIC8vIC5uZXh0LXByb2plY3Qge1xuICAvLyAgIGxlZnQ6IDcwcHg7XG4gIC8vIH1cblxuICAvLyAucHJldmlvdXMtcHJvamVjdCB7XG4gIC8vICAgbGVmdDogMTAwcHg7ICAgIFxuICAvLyB9ICBcblxuICAubmF2LXByb2plY3QgIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAtMTVweDtcbiAgICAvLyBsZWZ0OiA3MHB4O1xuICAgIHotaW5kZXg6IDEwMDtcbiAgICB3aWR0aDogOTUlO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCk7ICAgIFxuICAgIC8vIHRyYW5zaXRpb246IG9wYWNpdHkgMXMgZWFzZS1vdXQgMC44cywgdHJhbnNmb3JtIDFzIDAuN3M7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbihvcGFjaXR5IDFzIGVhc2Utb3V0IDAuOHMsIHRyYW5zZm9ybSAxcyAwLjdzKTtcbiAgfSAgXG5cbiAgLm9wZW4tcHJvamVjdCB7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMWVtO1xuICAgIGZvbnQtc2l6ZTogMC44ZW07XG4gICAgbWFyZ2luLXRvcDogLTAuMmVtO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIHdpZHRoOiA5NSU7XG4gICAgLy8gZm9udC1mYW1pbHk6ICR0aXRsZS1mb250O1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCk7ICBcbiAgICAvLyB0cmFuc2l0aW9uOiBvcGFjaXR5IDFzIGVhc2Utb3V0IDAuOHMsIHRyYW5zZm9ybSAxcyAwLjdzLCBwYWRkaW5nLWxlZnQgMC41czsgXG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbihvcGFjaXR5IDFzIGVhc2Utb3V0IDAuOHMsIHRyYW5zZm9ybSAxcyAwLjdzLCBwYWRkaW5nLWxlZnQgMC41cyk7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjVzOyBcbiAgICB9ICAgICBcbiAgfVxuXG4gIC5pdGVtLWNvbnRlbnQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDI3MHB4O1xuICAgIC8vIGhlaWdodDogMTAwJTtcbiAgICAvLyBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICBwYWRkaW5nOiAwIDIwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IDUwcHg7XG4gICAgbWF4LXdpZHRoOiAzMCU7XG4gICAgei1pbmRleDogMTA7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KTsgICAgICBcbiAgICAvLyB0cmFuc2l0aW9uOiBvcGFjaXR5IDFzIGVhc2Utb3V0IDAuOHMsIHRyYW5zZm9ybSAxcyAwLjdzO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24ob3BhY2l0eSAxcyBlYXNlLW91dCAwLjhzLCB0cmFuc2Zvcm0gMXMgMC43cyk7XG5cbiAgICBpIHtcbiAgICAgIC8vIGZvbnQtc2l6ZTogNDBweDtcbiAgICB9XG5cbiAgfVxuXG4gIC5pdGVtLXRpdGxlIHtcbiAgICBmb250LWZhbWlseTogJHRpdGxlLWZvbnQ7XG4gICAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIC8vIGxldHRlci1zcGFjaW5nOiAwLjFlbTtcbiAgICBsaW5lLWhlaWdodDogMC45ZW07XG4gICAgZm9udC1zaXplOiA1MHB4O1xuICAgIC8vIHotaW5kZXg6IDEwO1xuICAgIC8vIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAvLyB0b3A6IDMwMHB4O1xuICAgIC8vIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgIC8vIHBhZGRpbmc6IDAgMjBweDtcbiAgICAvLyBtYXJnaW4tbGVmdDogNTBweDtcbiAgICAvLyBtYXgtd2lkdGg6IDMwJTtcbiAgICAvLyB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIC8vIG9wYWNpdHk6IDE7XG4gICAgLy8gdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCk7XG4gICAgLy8gdHJhbnNpdGlvbjogb3BhY2l0eSAxcyBlYXNlLW91dCAwLjFzLCB0cmFuc2Zvcm0gMXM7XG5cbiAgICAmLm92ZXJsYXktdHJpZ2dlciB7XG4gICAgICBib3R0b206IDEwMHB4O1xuICAgICAgdG9wOiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIC5pdGVtLW1ldGEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmb250LXNpemU6IDMwcHg7XG4gICAgei1pbmRleDogMTE7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAvLyBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgLy8gdG9wOiA0MDBweDtcbiAgICAvLyBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICAvLyBwYWRkaW5nOiAwIDIwcHg7XG4gICAgLy8gbWFyZ2luLWxlZnQ6IDUwcHg7XG4gICAgLy8gbWF4LXdpZHRoOiAzMCU7XG5cbiAgfVxuXG4gIHAge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBsaW5lLWhlaWdodDogMS4zZW07XG4gIH0gICBcblxuICAvKiBXaGVuIG92ZXJsYXkgaXMgYWN0aXZlICovXG4gICYuc2hvdy1vdmVybGF5IHtcblxuICAgIGhlaWdodDogYXV0bztcblxuICAgIC5vdmVybGF5IHtcbiAgICAgIGxlZnQ6IDBweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxMDBweDtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KTtcbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCk7ICAgICAgICBcbiAgICAgIC8vIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAxcyBlYXNlLW91dCAwLjVzLCB0cmFuc2Zvcm0gMXMgMC40cztcbiAgICAgIC8vIHRyYW5zaXRpb246IG9wYWNpdHkgMXMgZWFzZS1vdXQgMC41cywgdHJhbnNmb3JtIDFzIDAuNHM7XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKG9wYWNpdHkgMXMgZWFzZS1vdXQgMC41cywgdHJhbnNmb3JtIDFzIDAuNHMpO1xuICAgIH1cbiAgfSAgXG4gIFxuICAmLnNob3ctb3ZlcmxheSwgXG4gICYubm90LWluLXZpZXcgeyAgICBcbiAgICAubmF2LXByb2plY3Qge1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMzBweCk7XG4gICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMzBweCk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0zMHB4KTsgIFxuICAgICAgLy8gdHJhbnNpdGlvbjogb3BhY2l0eSAxcyBlYXNlLW91dCAwLjJzLCB0cmFuc2Zvcm0gMXM7XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKG9wYWNpdHkgMXMgZWFzZS1vdXQgMC4ycywgdHJhbnNmb3JtIDFzKTsgXG4gICAgfSAgXG5cbiAgICAub3Blbi1wcm9qZWN0IHtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTMwcHgpO1xuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTMwcHgpO1xuICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMzBweCk7XG4gICAgICAvLyB0cmFuc2l0aW9uOiBvcGFjaXR5IDFzIGVhc2Utb3V0IDAuMnMsIHRyYW5zZm9ybSAxcztcbiAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24ob3BhY2l0eSAxcyBlYXNlLW91dCAwLjJzLCB0cmFuc2Zvcm0gMXMpOyBcbiAgICB9ICAgICBcblxuICAgIC5pdGVtLWNvbnRlbnQge1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMzBweCk7XG4gICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMzBweCk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0zMHB4KTtcbiAgICAgIC8vIHRyYW5zaXRpb246IG9wYWNpdHkgMXMgZWFzZS1vdXQgMC4ycywgdHJhbnNmb3JtIDFzO1xuICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihvcGFjaXR5IDFzIGVhc2Utb3V0IDAuMnMsIHRyYW5zZm9ybSAxcyk7XG4gICAgfSBcblxuICAgIC5pdGVtLW51bWJlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KTtcbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCk7XG4gICAgICAvLyB0cmFuc2l0aW9uOiBvcGFjaXR5IDFzIGVhc2Utb3V0IDAuMXMsIHRyYW5zZm9ybSAxcztcbiAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24ob3BhY2l0eSAxcyBlYXNlLW91dCAwLjFzLCB0cmFuc2Zvcm0gMXMpOyAgICAgIFxuICAgIH0gIFxuICAgICAgXG4gICAgLml0ZW0tYmcge1xuICAgICAgLy8gb3BhY2l0eTogMDtcbiAgICAgIC8vIGJhY2tncm91bmQtcG9zaXRpb246IDEwMCUgY2VudGVyO1xuICAgICAgLy8gdHJhbnNpdGlvbjogYWxsIDFzIGVhc2Utb3V0O1xuICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgMXMgZWFzZS1vdXQpOyBcbiAgICB9XG5cbiAgfVxuXG4gICYuc2hvdy1vdmVybGF5IHtcbiAgXG4gICAgLml0ZW0tYmcge1xuICAgICAgb3BhY2l0eTogMCFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gIH0gXG5cbiAgJi5ub3QtaW4tdmlldyB7XG4gIFxuICAgIC5pdGVtLWJnIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuXG4gIH0gXG5cbn1cblxuLyogT3ZlcmxheSBzdHlsZXMgKi9cbi5vdmVybGF5IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAvLyB0b3A6IDMwcHg7XG4gIC8vIGxlZnQ6IC0xMDAlO1xuICAvLyByaWdodDogMHB4O1xuICAvLyBib3R0b206IDBweDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgLy8gZGlzcGxheTogbm9uZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgb3BhY2l0eTogMDtcbiAgLy8gei1pbmRleDogMTAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMzBweCk7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDMwcHgpO1xuICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDMwcHgpO1xuICAvLyAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgMXMgZWFzZS1vdXQgMC4ycywgdHJhbnNmb3JtIDFzO1xuICAvLyB0cmFuc2l0aW9uOiBvcGFjaXR5IDFzIGVhc2Utb3V0IDAuMnMsIHRyYW5zZm9ybSAxcztcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbihvcGFjaXR5IDFzIGVhc2Utb3V0IDAuMnMsIHRyYW5zZm9ybSAxcyk7XG4gIC8vIG92ZXJmbG93OiBhdXRvO1xuXG4gIC8vIGJhY2tncm91bmQtaW1hZ2U6IHVybChkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUFnQUFBQUlDQVlBQUFERUQ3NkxBQUFBTmtsRVFWUW9VMk5rd0FQT25EbnpueEdYUEVqU3hNU0VFYXNDbUNSSU00WUNaRWtNQmVpU0tBcXdTY0lWNEpJRUs4QW5DVklBQU9YaEgyd25mamxoQUFBQUFFbEZUa1N1UW1DQyk7XG4gIC8vIGJhY2tncm91bmQtYXR0YWNobWVudDogZml4ZWQ7XG4gIC8vIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQ7XG4gIC8vIGJhY2tncm91bmQtcG9zaXRpb246IHRvcDtcbiAgLy8gYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuXG4gICAgJjpudGgtY2hpbGQob2RkKSB7XG4gICAgLy8gYmFja2dyb3VuZC1jb2xvcjogI2VlZTsgICBcbiAgfVxufVxuXG4ub3ZlcmxheS10cmlnZ2VyIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICAvLyBjb2xvcjogJGFjY2VudDtcblxuICAmOmhvdmVyIHtcbiAgICAvLyBjb2xvcjogYmxhY2s7XG4gIH1cbn1cblxuLm92ZXJsYXkgLm92ZXJsYXktY2xvc2Uge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiA0MHB4O1xuICB0b3A6IDQwcHg7XG4gIGZvbnQtc2l6ZTogNTBweDtcbiAgLy8gd2lkdGg6IDMycHg7XG4gIC8vIGhlaWdodDogMzJweDtcbiAgLy8gb3BhY2l0eTogMTtcbn1cblxuLm92ZXJsYXkgLm92ZXJsYXktY2xvc2U6aG92ZXIge1xuICAvLyBjb2xvcjogIzAwMDtcbn1cbi8vIC5vdmVybGF5IC5vdmVybGF5LWNsb3NlOmJlZm9yZSwgLm92ZXJsYXkgLm92ZXJsYXktY2xvc2U6YWZ0ZXIge1xuLy8gICBwb3NpdGlvbjogYWJzb2x1dGU7XG4vLyAgIGxlZnQ6IDE1cHg7XG4vLyAgIGNvbnRlbnQ6ICcgJztcbi8vICAgaGVpZ2h0OiAzM3B4O1xuLy8gICB3aWR0aDogMnB4O1xuLy8gICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzMzO1xuLy8gfVxuLy8gLm92ZXJsYXkgLm92ZXJsYXktY2xvc2U6YmVmb3JlIHtcbi8vICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuLy8gfVxuLy8gLm92ZXJsYXkgLm92ZXJsYXktY2xvc2U6YWZ0ZXIge1xuLy8gICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuLy8gfVxuXG4ub3ZlcmxheSAub3ZlcmxheS1jb250ZW50IHtcbiAgcGFkZGluZzogMCA0MHB4OyBcbiAgbWF4LXdpZHRoOiA3MDBweDsgXG4gIG1hcmdpbjogYXV0bztcbiAgdGV4dC1hbGlnbjogbGVmdFxufVxuXG4ub3ZlcmxheSAub3ZlcmxheS10aXRsZSB7XG4gIHBhZGRpbmc6IDEyMHB4IDAgMjBweCAwOyBcbiAgLy8gbWF4LXdpZHRoOiA3MDBweDsgXG4gIG1hcmdpbjogYXV0bzsgXG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGZvbnQtc2l6ZTogNjBweDsgXG59IFxuXG4ub3ZlcmxheSAub3ZlcmxheS1zdWJ0aXRsZSB7XG4gIGZvbnQtZmFtaWx5OiAkdGl0bGUtZm9udDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogMzAwO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLXRvcDogMjBweDtcbiAgLy8gdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIC8vIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59IFxuXG4ub3ZlcmxheSBpbWcge1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAzMHB4IGF1dG87XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMjBweCByZ2JhKDAsMCwwLDAuMyk7XG59XG5cblxuXG5mb290ZXIge1xuICAgIC8vIHotaW5kZXg6IC0xO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIC8vIGhlaWdodDogMTAwJTtcbiAgICAvLyBsZWZ0OiAwO1xuICAgIC8vIGJvdHRvbTogMDtcbiAgICAvLyBtYXJnaW46IDA7XG4gICAgLy8gcGFkZGluZzogMDsgXG4gICAgLy8gYm9yZGVyLWJvdHRvbTogNTBweCBzb2xpZCAkYWNjZW50OyBcblxuICAgIC5zZWN0aW9uLXNob3J0IHtcbiAgICAgIGJhY2tncm91bmQ6ICRkYXJrIWltcG9ydGFudDtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgIFxuICAgICAgJiNjb3B5cmlnaHQge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkYWNjZW50IWltcG9ydGFudDsgICAgICAgIFxuXG4gICAgICAgIC5jb250ZW50LW5hcnJvdyB7XG4gICAgICAgICAgcGFkZGluZy10b3A6IDEwcHg7XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gICAgICAgIH1cblxuICAgICAgICBwIHtcbiAgICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgICAgZm9udC1mYW1pbHk6ICR0aXRsZS1mb250O1xuICAgICAgICAgIC8vIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxufVxuXG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aCA6IDEwNjBweCkge1xuXG4gIG5hdiB7XG4gICAgbWFyZ2luOiA1MHB4IDEwMHB4O1xuICB9XG5cbiAgLmNvbnRlbnQtbmFycm93IHtcbiAgICBwYWRkaW5nOiAxMDBweCAxMDBweDtcbiAgfVxuXG4gLnNlY3Rpb24tZnVsbCB7XG4gICAgbWluLWhlaWdodDogNjAwcHg7XG4gIFxuICAgIC5pdGVtLWJnIHtcbiAgICAgIGJhY2tncm91bmQtYXR0YWNobWVudDogc2Nyb2xsO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiA3MCUgYXV0bztcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDEzMCUgNTAlO1xuICAgIH1cblxuICAgIC5uYXYtcHJvamVjdCB7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIH1cblxuICAgIC5pdGVtLW1ldGEge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAuaXRlbS1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiA0MHB4O1xuICAgICAgLy8gdG9wOiAyODBweDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBtYXgtd2lkdGg6IDMwJTtcbiAgICAgIHdpZHRoOiA5MCU7XG4gICAgfVxuXG4gICAgLml0ZW0tdGl0bGUge1xuICAgICAgbWF4LXdpZHRoOiA0MDBweDtcbiAgICAgIGZvbnQtc2l6ZTogNDBweDtcbiAgICB9XG5cbiAgICAub3Blbi1wcm9qZWN0IHtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAmLnNob3ctb3ZlcmxheSAub3ZlcmxheSB7XG4gICAgICB6LWluZGV4OiAyMDtcbiAgICB9IFxuXG4gICAgJi5zaG93LW92ZXJsYXkgLm5hdi1wcm9qZWN0IHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpO1xuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KTtcbiAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KTsgXG4gICAgfVxuXG4gICAgJi5zaG93LW92ZXJsYXkgLm5hdi1wcm9qZWN0IHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpO1xuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KTtcbiAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KTsgXG4gICAgfSAgICBcbiAgfSAgXG5cbn0gLy8gZW5kIDEwNjBweCBicmVha3BvaW50XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aCA6IDg2MHB4KSB7XG5cbiAgaDEge1xuICAgIGZvbnQtc2l6ZTogNjRweDtcbiAgfVxuXG4gIG5hdiB7XG4gICAgbWFyZ2luOiA1MHB4IDgwcHg7XG4gICAgLy8gZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7ICBcbiAgfSAgXG5cbiAgLmNvbnRlbnQtbmFycm93IHtcbiAgICBwYWRkaW5nOiA4MHB4IDgwcHg7XG4gIH1cblxuICAuc2VjdGlvbi1mdWxsIHtcblxuICB9XG5cbn0gLy8gZW5kIDg2MHB4IGJyZWFrcG9pbnRcblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoIDogNzAwcHgpIHtcblxuICBuYXYge1xuICAgIC8vIG1hcmdpbjogNDBweCA0MHB4O1xuICAgIC8vIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgaDQge1xuICAgICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIGRpdiB7XG4gICAgICAvLyBkaXNwbGF5OiBibG9jaztcbiAgICAgIC8vIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cblxuICAgIGRpdjpmaXJzdC1vZi10eXBlIHtcbiAgICAgIC8vIGNvbnRlbnQ6ICcnO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7ICAgIFxuICAgIH1cblxuICAgIGRpdjpub3QoOmZpcnN0LWNoaWxkKTpiZWZvcmUge1xuICAgICAgLy8gY29udGVudDogJyc7XG4gICAgICAvLyBtYXJnaW4tcmlnaHQ6IDA7ICAgIFxuICAgIH1cbiAgfVxuXG4gIC5zZWN0aW9uLWZ1bGwge1xuICAgIG1pbi1oZWlnaHQ6IDc0MHB4OyBcblxuICAgIC5pdGVtLXRpdGxlIHtcbiAgICAgIG1heC13aWR0aDogOTAlO1xuICAgIH1cblxuICAgIC5pdGVtLWNvbnRlbnQge1xuICAgICAgdG9wOiA4MHB4O1xuICAgICAgbWF4LXdpZHRoOiA5MCU7XG4gICAgfSAgIFxuXG4gICAgLml0ZW0tYmcge1xuICAgICAgYmFja2dyb3VuZC1hdHRhY2htZW50OiBzY3JvbGw7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDkwJSBhdXRvO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDgwJTtcbiAgICB9ICAgIFxuICB9XG59IC8vIGVuZCA3MDBweCBicmVha3BvaW50IFxuXG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aCA6IDUyMHB4KSB7XG5cbiAgaDEge1xuICAgIGZvbnQtc2l6ZTogNThweDtcbiAgfVxuXG4gIG5hdiB7XG4gICAgbWFyZ2luOiA1MHB4IDMwcHg7XG5cbiAgICBoNCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIH1cblxuICAgIGRpdiB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuXG4gICAgZGl2Om5vdCg6Zmlyc3QtY2hpbGQpOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICB9XG4gIH1cblxuICAuY29udGVudC1uYXJyb3cge1xuICAgIHBhZGRpbmc6IDgwcHggMzBweDtcbiAgfSAgXG4gIFxuICAuc2VjdGlvbi1mdWxsIHtcbiAgICBtaW4taGVpZ2h0OiA2MDBweDsgICAgXG5cbiAgICAuaXRlbS1iZyB7XG4gICAgICBiYWNrZ3JvdW5kLWF0dGFjaG1lbnQ6IHNjcm9sbDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogOTAlIGF1dG87XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgODAlO1xuICAgIH1cblxuICAub3ZlcmxheSAub3ZlcmxheS10aXRsZSB7XG4gICAgZm9udC1zaXplOiA1MHB4OyBcbiAgfSAgICAgXG4gIH1cbn0gLy8gZW5kIDUyMHB4IGJyZWFrcG9pbnRcblxuXG4iXSwic291cmNlUm9vdCI6Ii9zb3VyY2UvIn0= */