/*--------------------------------------------------------------*/
@font-face {
  font-family: basis-grotesque-regular;
  src: url("/fonts/basis-grotesque-regular.eot");
  src: url("/fonts/basis-grotesque-regular.eot?#iefix") format("embedded-opentype"), url("/fonts/basis-grotesque-regular.woff") format("woff"), url("/fonts/basis-grotesque-regular.woff2") format("woff2"), url("/fonts/basis-grotesque-regular.ttf") format("truetype");
  font-weight: 400;
  font-style: normal; }

@font-face {
  font-family: basis-grotesque-bold;
  src: url("/fonts/basis-grotesque-bold.eot");
  src: url("/fonts/basis-grotesque-bold.eot?#iefix") format("embedded-opentype"), url("/fonts/basis-grotesque-bold.woff") format("woff"), url("/fonts/basis-grotesque-bold.woff2") format("woff2"), url("/fonts/basis-grotesque-bold.ttf") format("truetype");
  font-weight: 400;
  font-style: normal; }

body {
  font-family: basis-grotesque-regular, -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; }

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: basis-grotesque-bold, -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; }

/*--------------------------------------------------------------
1.0 Normalize
--------------------------------------------------------------*/
html {
  font-family: sans-serif;
  -webkit-text-size-adjust: 100%;
      -ms-text-size-adjust: 100%;
          text-size-adjust: 100%; }

body {
  margin: 0; }

article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
menu,
nav,
section,
summary {
  display: block; }

audio,
canvas,
progress,
video {
  display: inline-block;
  vertical-align: baseline; }

audio:not([controls]) {
  display: none;
  height: 0; }

[hidden],
template {
  display: none; }

a {
  background-color: transparent; }

a:active,
a:hover {
  outline: 0; }

abbr[title] {
  border-bottom: 1px dotted; }

b,
strong {
  font-weight: bold; }

dfn {
  font-style: italic; }

h1 {
  margin: .67em 0;
  font-size: 2em; }

mark {
  background: #ff0;
  color: #000; }

small {
  font-size: 80%; }

sub,
sup {
  position: relative;
  font-size: 75%;
  line-height: 0;
  vertical-align: baseline; }

sup {
  top: -.5em; }

sub {
  bottom: -.25em; }

img {
  border: 0; }

svg:not(:root) {
  overflow: hidden; }

figure {
  margin: 1em 40px; }

hr {
  box-sizing: content-box;
  height: 0; }

pre {
  overflow: auto; }

code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  font-size: 1em; }

button,
input,
optgroup,
select,
textarea {
  margin: 0;
  color: inherit;
  font: inherit; }

button {
  overflow: visible; }

button,
select {
  text-transform: none; }

button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
  cursor: pointer;
  -webkit-appearance: button; }

button[disabled],
html input[disabled] {
  cursor: default; }

button::-moz-focus-inner,
input::-moz-focus-inner {
  padding: 0;
  border: 0; }

input {
  line-height: normal; }

input[type="checkbox"],
input[type="radio"] {
  box-sizing: border-box;
  padding: 0; }

input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  height: auto; }

input[type="search"] {
  box-sizing: content-box;
  -webkit-appearance: textfield; }

input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

fieldset {
  margin: 0 2px;
  padding: .35em .625em .75em;
  border: 1px solid #c0c0c0; }

legend {
  padding: 0;
  border: 0; }

textarea {
  overflow: auto; }

optgroup {
  font-weight: bold; }

table {
  border-spacing: 0;
  border-collapse: collapse; }

td,
th {
  padding: 0; }

/*--------------------------------------------------------------
2.0 Base
--------------------------------------------------------------*/
/*
* Usage: https://smacss.com/book/type-base
**/
/*--------------------------------------------------------------
3.0 Accessibility
--------------------------------------------------------------*/
/*
* Usage: https://smacss.com/book/type-module
**/
.glitch {
  display: inline-block;
  position: relative;
  background: #010101;
  color: #aaa; }
  .glitch:after {
    content: attr(data-text);
    position: absolute;
    top: 0;
    left: 2px;
    width: 100%;
    overflow: hidden;
    clip: rect(0, 900px, 0, 0);
    -webkit-animation: noise-anim-1 2s infinite linear alternate-reverse;
            animation: noise-anim-1 2s infinite linear alternate-reverse;
    background: #010101;
    color: #aaa;
    text-shadow: -1px 0 #f00; }
  .glitch:before {
    content: attr(data-text);
    position: absolute;
    top: 0;
    left: -2px;
    width: 100%;
    overflow: hidden;
    clip: rect(0, 900px, 0, 0);
    -webkit-animation: noise-anim-2 3s infinite linear alternate-reverse;
            animation: noise-anim-2 3s infinite linear alternate-reverse;
    background: #010101;
    color: #aaa;
    text-shadow: 1px 0 #00f; }

@-webkit-keyframes noise-anim-1 {
  0% {
    clip: rect(51px, 9999px, 76px, 0); }
  0.5% {
    clip: rect(13px, 9999px, 10px, 0); }
  1% {
    clip: rect(53px, 9999px, 82px, 0); }
  1.5% {
    clip: rect(48px, 9999px, 30px, 0); }
  2% {
    clip: rect(89px, 9999px, 57px, 0); }
  2.5% {
    clip: rect(66px, 9999px, 98px, 0); }
  3% {
    clip: rect(90px, 9999px, 72px, 0); }
  3.5% {
    clip: rect(38px, 9999px, 23px, 0); }
  4% {
    clip: rect(49px, 9999px, 33px, 0); }
  4.5% {
    clip: rect(2px, 9999px, 28px, 0); }
  5% {
    clip: rect(40px, 9999px, 47px, 0); }
  5.5% {
    clip: rect(35px, 9999px, 64px, 0); }
  6% {
    clip: rect(7px, 9999px, 16px, 0); }
  6.5% {
    clip: rect(30px, 9999px, 33px, 0); }
  7% {
    clip: rect(72px, 9999px, 90px, 0); }
  7.5% {
    clip: rect(83px, 9999px, 70px, 0); }
  8% {
    clip: rect(96px, 9999px, 75px, 0); }
  8.5% {
    clip: rect(75px, 9999px, 40px, 0); }
  9% {
    clip: rect(15px, 9999px, 13px, 0); }
  9.5% {
    clip: rect(24px, 9999px, 93px, 0); }
  10% {
    clip: rect(50px, 9999px, 70px, 0); } }

@keyframes noise-anim-1 {
  0% {
    clip: rect(51px, 9999px, 76px, 0); }
  0.5% {
    clip: rect(13px, 9999px, 10px, 0); }
  1% {
    clip: rect(53px, 9999px, 82px, 0); }
  1.5% {
    clip: rect(48px, 9999px, 30px, 0); }
  2% {
    clip: rect(89px, 9999px, 57px, 0); }
  2.5% {
    clip: rect(66px, 9999px, 98px, 0); }
  3% {
    clip: rect(90px, 9999px, 72px, 0); }
  3.5% {
    clip: rect(38px, 9999px, 23px, 0); }
  4% {
    clip: rect(49px, 9999px, 33px, 0); }
  4.5% {
    clip: rect(2px, 9999px, 28px, 0); }
  5% {
    clip: rect(40px, 9999px, 47px, 0); }
  5.5% {
    clip: rect(35px, 9999px, 64px, 0); }
  6% {
    clip: rect(7px, 9999px, 16px, 0); }
  6.5% {
    clip: rect(30px, 9999px, 33px, 0); }
  7% {
    clip: rect(72px, 9999px, 90px, 0); }
  7.5% {
    clip: rect(83px, 9999px, 70px, 0); }
  8% {
    clip: rect(96px, 9999px, 75px, 0); }
  8.5% {
    clip: rect(75px, 9999px, 40px, 0); }
  9% {
    clip: rect(15px, 9999px, 13px, 0); }
  9.5% {
    clip: rect(24px, 9999px, 93px, 0); }
  10% {
    clip: rect(50px, 9999px, 70px, 0); } }

@-webkit-keyframes noise-anim-2 {
  0% {
    clip: rect(78px, 9999px, 15px, 0); }
  0.5% {
    clip: rect(82px, 9999px, 41px, 0); }
  1% {
    clip: rect(12px, 9999px, 17px, 0); }
  1.5% {
    clip: rect(25px, 9999px, 12px, 0); }
  2% {
    clip: rect(8px, 9999px, 60px, 0); }
  2.5% {
    clip: rect(85px, 9999px, 55px, 0); }
  3% {
    clip: rect(78px, 9999px, 13px, 0); }
  3.5% {
    clip: rect(83px, 9999px, 60px, 0); }
  4% {
    clip: rect(47px, 9999px, 64px, 0); }
  4.5% {
    clip: rect(65px, 9999px, 25px, 0); }
  5% {
    clip: rect(91px, 9999px, 23px, 0); }
  5.5% {
    clip: rect(75px, 9999px, 41px, 0); }
  6% {
    clip: rect(32px, 9999px, 9px, 0); }
  6.5% {
    clip: rect(49px, 9999px, 57px, 0); }
  7% {
    clip: rect(81px, 9999px, 100px, 0); }
  7.5% {
    clip: rect(76px, 9999px, 66px, 0); }
  8% {
    clip: rect(97px, 9999px, 61px, 0); }
  8.5% {
    clip: rect(97px, 9999px, 96px, 0); }
  9% {
    clip: rect(42px, 9999px, 98px, 0); }
  9.5% {
    clip: rect(98px, 9999px, 50px, 0); }
  10% {
    clip: rect(29px, 9999px, 69px, 0); } }

@keyframes noise-anim-2 {
  0% {
    clip: rect(78px, 9999px, 15px, 0); }
  0.5% {
    clip: rect(82px, 9999px, 41px, 0); }
  1% {
    clip: rect(12px, 9999px, 17px, 0); }
  1.5% {
    clip: rect(25px, 9999px, 12px, 0); }
  2% {
    clip: rect(8px, 9999px, 60px, 0); }
  2.5% {
    clip: rect(85px, 9999px, 55px, 0); }
  3% {
    clip: rect(78px, 9999px, 13px, 0); }
  3.5% {
    clip: rect(83px, 9999px, 60px, 0); }
  4% {
    clip: rect(47px, 9999px, 64px, 0); }
  4.5% {
    clip: rect(65px, 9999px, 25px, 0); }
  5% {
    clip: rect(91px, 9999px, 23px, 0); }
  5.5% {
    clip: rect(75px, 9999px, 41px, 0); }
  6% {
    clip: rect(32px, 9999px, 9px, 0); }
  6.5% {
    clip: rect(49px, 9999px, 57px, 0); }
  7% {
    clip: rect(81px, 9999px, 100px, 0); }
  7.5% {
    clip: rect(76px, 9999px, 66px, 0); }
  8% {
    clip: rect(97px, 9999px, 61px, 0); }
  8.5% {
    clip: rect(97px, 9999px, 96px, 0); }
  9% {
    clip: rect(42px, 9999px, 98px, 0); }
  9.5% {
    clip: rect(98px, 9999px, 50px, 0); }
  10% {
    clip: rect(29px, 9999px, 69px, 0); } }

.social-media {
  margin: 0;
  padding: 0;
  font-family: basis-grotesque-bold, -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; }
  .social-media__item {
    display: block; }
  .social-media__link {
    color: #e2e2e2;
    font-size: 2em;
    text-transform: uppercase; }
    .social-media__link:active.linkedin, .social-media__link:focus.linkedin, .social-media__link:hover.linkedin {
      color: #007bb5; }
    .social-media__link:active.facebook, .social-media__link:focus.facebook, .social-media__link:hover.facebook {
      color: #3b5998; }
    .social-media__link:active.instagram, .social-media__link:focus.instagram, .social-media__link:hover.instagram {
      color: #c32aa3; }
    .social-media__link:active.bitbucket, .social-media__link:focus.bitbucket, .social-media__link:hover.bitbucket {
      color: #0445ac; }
    .social-media__link:active.email, .social-media__link:focus.email, .social-media__link:hover.email {
      color: #fff; }
  .social-media__icon {
    display: none; }

.portfolio-panel {
  display: block;
  position: relative;
  margin-bottom: 25px;
  border: 0;
  border-radius: 0; }
  .portfolio-panel__image {
    display: block;
    position: relative;
    z-index: 1;
    overflow: hidden; }
    .portfolio-panel__image img {
      display: block;
      margin-bottom: -5px; }
  .portfolio-panel__border {
    content: "";
    display: block;
    position: absolute;
    background-repeat: no-repeat;
    background-size: 100% auto; }
    .portfolio-panel__border__bg {
      display: block;
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0; }
    .portfolio-panel__border__bg:after {
      content: "";
      display: block;
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      background-color: rgba(0, 0, 0, 0.2); }
    .portfolio-panel__border--left {
      top: 0;
      right: auto;
      bottom: 0;
      left: -5px;
      width: 5px;
      -webkit-transform: translateX(0) translateY(2.5px) rotateY(180deg);
              transform: translateX(0) translateY(2.5px) rotateY(180deg); }
    .portfolio-panel__border--left .portfolio-panel__border__bg {
      -webkit-transform: skewY(45deg);
              transform: skewY(45deg);
      background-size: auto calc(100% + 5px); }
    .portfolio-panel__border--bottom {
      top: auto;
      right: 0;
      bottom: -5px;
      left: 0;
      height: 5px;
      -webkit-transform: translateX(-2.5px);
              transform: translateX(-2.5px); }
    .portfolio-panel__border--bottom .portfolio-panel__border__bg {
      -webkit-transform: skewX(-45deg);
              transform: skewX(-45deg);
      background-position: 0 100%;
      background-size: 100% auto; }

.portfolio-item__link {
  display: block;
  position: relative;
  transition: .2s transform ease-in-out, .2s opacity ease-in-out, .2s box-shadow ease-in-out; }
  @media (min-width: 768px) {
    .portfolio-item__link {
      -webkit-transform: skewX(25deg);
              transform: skewX(25deg); } }
  .portfolio-item__link:hover {
    box-shadow: 0 5px 75px rgba(0, 0, 0, 0.5); }
    @media (min-width: 768px) {
      .portfolio-item__link:hover {
        -webkit-transform: skewX(25deg) translateX(15px) translateY(-15px);
                transform: skewX(25deg) translateX(15px) translateY(-15px); } }

.portfolio-item__image {
  display: block; }
  .portfolio-item__image .portfolio-panel__image__overlay {
    display: block;
    position: absolute;
    z-index: 1;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    transition: .4s opacity ease-in-out;
    opacity: 0;
    background-color: #fff; }
  .portfolio-item__image .portfolio-panel__border__bg:after {
    transition: .4s background-color ease-in-out; }

.portfolio-item__link:hover .portfolio-item__image .portfolio-panel__image__overlay {
  opacity: .4; }

.portfolio-item__link:hover .portfolio-item__image .portfolio-panel__border__bg:after {
  background-color: rgba(255, 255, 255, 0.2); }

.portfolio-item__url {
  position: absolute;
  z-index: 11;
  top: 50%;
  left: 50%;
  width: auto;
  -webkit-transform: translateX(-50%) translateY(-50%);
          transform: translateX(-50%) translateY(-50%);
  color: #222;
  text-align: center; }
  @media (min-width: 768px) {
    .portfolio-item__url {
      -webkit-transform: skewX(-25deg) translateX(-50%) translateY(-50%) rotate(25deg);
              transform: skewX(-25deg) translateX(-50%) translateY(-50%) rotate(25deg); } }

.portfolio-item__url-box {
  display: block;
  position: relative;
  z-index: 1;
  padding: .25em 1em;
  -webkit-transform: translateY(15px);
          transform: translateY(15px);
  transition: .4s opacity ease-in-out, .4s transform ease-in-out;
  border: 1px solid #000;
  border-radius: 5rem;
  opacity: 0;
  background-color: #000;
  box-shadow: 0 0 50px rgba(0, 0, 0, 0.7);
  color: #fff; }
  .portfolio-item__url-box:before {
    content: "";
    position: absolute;
    top: auto;
    right: auto;
    bottom: 0;
    left: 50%;
    margin-top: -2px;
    -webkit-transform: translateX(-50%) translateY(50%) rotate(45deg);
            transform: translateX(-50%) translateY(50%) rotate(45deg);
    border: 5px solid transparent;
    border-right-color: #000;
    border-bottom-color: #000; }

.portfolio-item__link:hover .portfolio-item__url-box {
  -webkit-transform: translateY(0);
          transform: translateY(0);
  transition-delay: .4s;
  opacity: 1; }

.form--contact {
  width: 500px;
  max-width: 100%;
  margin: 0 auto; }

.form {
  position: relative; }
  .form .required {
    color: #a94442; }
  .form__group {
    position: relative;
    margin-bottom: 3rem; }
  .form__input, .form__label {
    height: auto;
    padding: .25em 0;
    font-size: 1.4em; }
  .form__input {
    width: 100%;
    transition: .2s border ease-in-out;
    border: 0;
    border-bottom: 2px solid #aaa;
    border-radius: 0;
    background-color: transparent;
    color: #f2f2f2; }
    .inverse .form__input {
      color: #000; }
    .form__input:focus {
      border-bottom: 2px solid #f2f2f2;
      outline: none;
      box-shadow: none; }
  .form__label {
    margin: 0;
    color: #aaa;
    pointer-events: none; }
    .form__label--hidden {
      opacity: 0; }
    .form__label--placeholder {
      position: absolute;
      top: 5px;
      right: 0;
      bottom: auto;
      left: 0;
      -webkit-transform: translateY(1.5rem);
              transform: translateY(1.5rem);
      transition: .2s color ease-in-out, .2s font-size ease-in-out, .2s padding ease-in-out, .2s transform ease-in-out; }
  .form__label--hidden,
  .form__input--filled + .form__label,
  .form__input:focus + .form__label {
    padding: 0;
    -webkit-transform: translateY(0);
            transform: translateY(0);
    color: #aaa;
    font-size: 1em;
    line-height: 1rem; }
  .form__btn {
    padding: .5em 2em;
    transition: .2s background-color ease-in-out;
    border: 0;
    border-radius: 5em;
    background-color: #aaa;
    color: #000;
    font-family: basis-grotesque-bold, -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
    font-size: 1.4em;
    text-decoration: none; }
    .form__btn:active, .form__btn:focus, .form__btn:hover {
      background-color: #fff;
      text-decoration: none; }
  .form__spinner {
    position: absolute;
    z-index: 11;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    opacity: 0;
    background-color: #010101;
    color: #fff;
    /*background-image: url('/img/spinner.gif');*/
    background-repeat: no-repeat;
    background-position: center;
    background-size: 180px;
    pointer-events: none; }
    .form__spinner__content {
      position: absolute;
      top: 50%;
      right: 0;
      bottom: auto;
      left: 0;
      -webkit-transform: translateY(-50%);
              transform: translateY(-50%);
      text-align: center; }
    .form__spinner__content__text {
      display: block;
      margin-bottom: .5em;
      font-family: basis-grotesque-bold, -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
      font-size: 1.2em;
      text-transform: uppercase; }
    .form__spinner__content__emoji {
      display: block;
      padding: .1em;
      font-size: 1.4em; }
    .form__spinner__content__emoji > span {
      display: inline-block;
      z-index: 1;
      padding: 2.5px;
      transition: .4s opacity ease-in-out;
      opacity: 0; }
    .form__spinner.in {
      display: block;
      opacity: 1;
      pointer-events: auto; }
    .form__spinner.in .form__spinner__content__emoji > span {
      opacity: 1; }
    .form__spinner.in .form__spinner__content__emoji > span:nth-of-type(1) {
      transition-delay: 1s; }
    .form__spinner.in .form__spinner__content__emoji > span:nth-of-type(2) {
      transition-delay: 2s; }
    .form__spinner.in .form__spinner__content__emoji > span:nth-of-type(3) {
      transition-delay: 3s; }
    .form__spinner.in .form__spinner__content__emoji > span:nth-of-type(4) {
      transition-delay: 4s; }
    .form__spinner.in .form__spinner__content__emoji > span:nth-of-type(5) {
      transition-delay: 5s; }
    .form__spinner.in .form__spinner__content__emoji > span:nth-of-type(6) {
      transition-delay: 6s; }
  .form__message {
    border: 0;
    border-radius: 0;
    font-family: basis-grotesque-bold, -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
    font-size: 1em;
    text-align: center; }

.section-hello {
  overflow: hidden; }
  .section-hello h2 {
    overflow: hidden;
    -webkit-transform: translateX(100%);
            transform: translateX(100%);
    transition: 2s opacity ease-in-out, 1.5s -webkit-transform ease-in-out;
    transition: 1.5s transform ease-in-out, 2s opacity ease-in-out;
    transition: 1.5s transform ease-in-out, 2s opacity ease-in-out, 1.5s -webkit-transform ease-in-out;
    opacity: 0; }
  .section-hello.in h2 {
    -webkit-transform: translateX(0);
            transform: translateX(0);
    opacity: 1; }

.section-portfolio .portfolio__heading {
  -webkit-transform: translateX(-100%);
          transform: translateX(-100%);
  transition: 1s opacity ease-in-out, 1s -webkit-transform ease-in-out;
  transition: 1s transform ease-in-out, 1s opacity ease-in-out;
  transition: 1s transform ease-in-out, 1s opacity ease-in-out, 1s -webkit-transform ease-in-out;
  opacity: 0; }

.section-portfolio.in .portfolio__heading {
  -webkit-transform: translateY(0);
          transform: translateY(0);
  opacity: 1; }

.section-portfolio .portfolio-items-container {
  -webkit-transform: translateY(200px);
          transform: translateY(200px);
  transition: 3s opacity ease-in-out 1s, 1.5s -webkit-transform ease-in-out 1s;
  transition: 1.5s transform ease-in-out 1s, 3s opacity ease-in-out 1s;
  transition: 1.5s transform ease-in-out 1s, 3s opacity ease-in-out 1s, 1.5s -webkit-transform ease-in-out 1s;
  opacity: 0; }

.section-portfolio.in .portfolio-items-container {
  -webkit-transform: translateY(0);
          transform: translateY(0);
  opacity: 1; }

.section-contact p {
  -webkit-transform: translateY(50px);
          transform: translateY(50px);
  transition: .75s transform ease-in-out .5s, 1.5s opacity ease-in-out .5s;
  opacity: 0; }

.section-contact.in p {
  -webkit-transform: translateY(0);
          transform: translateY(0);
  opacity: 1; }

.section-contact form,
.section-contact .btn--contact {
  -webkit-transform: translateY(50px);
          transform: translateY(50px);
  transition: .5s transform ease-in-out 2s, 1s opacity ease-in-out 2s;
  opacity: 0; }

.section-contact.in form,
.section-contact.in .btn--contact {
  -webkit-transform: translateY(0);
          transform: translateY(0);
  opacity: 1; }

body {
  background-color: #0a0a0a; }

.site-header {
  opacity: 0; }
  .site-header.fixed {
    position: absolute;
    z-index: 1;
    top: 0;
    right: 0;
    bottom: auto;
    left: 0; }
  .site-header .navbar {
    margin-bottom: 0;
    background-color: #fff; }
  .site-header .navbar-inverse {
    border: 0;
    background-color: transparent;
    background-image: none; }
  .site-header .navbar-right {
    opacity: 0; }
  .site-header a {
    color: #000; }

.site-footer {
  padding: 5rem 0;
  background-color: #111; }
  .site-footer.fixed {
    position: fixed;
    z-index: -1;
    top: auto;
    right: 0;
    bottom: 0;
    left: 0; }

.section-hello {
  position: relative;
  padding: 20rem 0;
  background-color: #010101;
  background-repeat: no-repeat;
  /*background-image: url("/img/bg-hello.jpg");*/
  background-position: center;
  background-size: cover;
  text-align: center; }
  @media (min-width: 768px) {
    .section-hello {
      padding: 25rem 0; } }
  .section-hello .section-content {
    position: relative;
    z-index: 1; }
  .section-hello h2 {
    color: #aaa;
    font-size: 4em; }
    @media (min-width: 768px) {
      .section-hello h2 {
        font-size: 4.4em; } }
  .section-hello:after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: rgba(0, 0, 0, 0.3); }

.section-portfolio {
  padding: 2.5rem 0;
  overflow: hidden;
  background-color: #f2f2f2; }
  @media (min-width: 768px) {
    .section-portfolio {
      padding: 5rem 0 15rem; } }
  .section-portfolio .portfolio-items {
    margin-right: -5px;
    margin-left: -5px; }
    @media (min-width: 768px) {
      .section-portfolio .portfolio-items {
        margin-right: -15px;
        margin-left: -15px;
        -webkit-transform: rotate(-25deg);
                transform: rotate(-25deg); } }
    .section-portfolio .portfolio-items > .portfolio-item {
      padding-right: 5px;
      padding-left: 5px; }
      @media (min-width: 768px) {
        .section-portfolio .portfolio-items > .portfolio-item {
          padding-right: -15px;
          padding-left: -15px; } }
      .section-portfolio .portfolio-items > .portfolio-item .portfolio-panel {
        margin-bottom: 10px; }
        @media (min-width: 768px) {
          .section-portfolio .portfolio-items > .portfolio-item .portfolio-panel {
            margin-bottom: 25px; } }
  .section-portfolio .portfolio__heading {
    position: relative;
    z-index: 1;
    width: 400px;
    max-width: 100%;
    margin: 2em 0;
    font-family: basis-grotesque-regular, -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
    font-size: 2rem; }
    @media (min-width: 768px) {
      .section-portfolio .portfolio__heading {
        margin: 10rem 0 5rem; } }

.section-about {
  padding: 15rem 0;
  background-color: #010101;
  color: #f2f2f2; }

.section-contact {
  padding: 15rem 0;
  transition: .2s background-color ease-in-out, .2s color ease-in-out;
  background-color: #010101;
  color: #e2e2e2; }
  @media (min-width: 768px) {
    .section-contact {
      margin-top: -15rem;
      padding-top: 20rem; } }
  .section-contact.inverse {
    background-color: #f2f2f2;
    color: #010101; }
  .section-contact .contact-text {
    margin-bottom: 3em;
    font-size: 1.6em;
    text-align: center; }
    @media (min-width: 1200px) {
      .section-contact .contact-text {
        font-size: 1.8em; } }
  .section-contact .form__btn {
    display: inline-block;
    border: 2px solid transparent;
    background-color: #e2e2e2;
    color: #010101; }
    .section-contact .form__btn:active, .section-contact .form__btn:focus, .section-contact .form__btn:hover {
      border: 2px solid #010101;
      background-color: #e2e2e2;
      box-shadow: 0 5px 30px rgba(0, 0, 0, 0.2);
      text-decoration: none; }

/*--------------------------------------------------------------
4.0 Layout
--------------------------------------------------------------*/
/*
* Usage: https://smacss.com/book/type-layout
**/
/*--------------------------------------------------------------
5.0 Misc
--------------------------------------------------------------*/
/*
* Usage: Utility classes that do not fit anywhere in particular into SMACSS (https://smacss.com/book/)
**/
/* Text meant only for screen readers. */
.screen-reader-text {
  position: absolute !important;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(1px, 1px, 1px, 1px); }
  .screen-reader-text:hover, .screen-reader-text:active, .screen-reader-text:focus {
    font-size: 0.875rem;
    display: block;
    top: 5px;
    left: 5px;
    width: auto;
    height: auto;
    padding: 15px 23px 14px;
    clip: auto !important;
    border-radius: 3px;
    background-color: #f1f1f1;
    box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
    color: #293743;
    font-weight: bold;
    line-height: normal;
    text-decoration: none; }

.clear::before,
.clear::after {
  content: "";
  display: table; }

.clear::after {
  clear: both; }

.alignleft {
  float: left; }

.alignright {
  float: right; }

.required {
  color: #f00; }

img {
  max-width: 100%;
  height: auto; }

/*--------------------------------------------------------------
6.0 Shaaaaaaaaaaaaame
--------------------------------------------------------------*/
/*
* Usage: Anything you aren't proud of, or hope/plan to fix later. Hopefully empty, but useful for identifying pain points when it's not.
**/
/*--------------------------------------------------------------
7.0 Overriding Bootstrap Styles
--------------------------------------------------------------*/

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN0eWxlLnNjc3MiLCJ2YXJpYWJsZXMtc2l0ZS9fdHlwb2dyYXBoeS5zY3NzIiwiX25vcm1hbGl6ZS5zY3NzIiwic3R5bGUuY3NzIiwiYmFzZS9fYmFzZS5zY3NzIiwibW9kdWxlcy9fbW9kdWxlcy5zY3NzIiwibW9kdWxlcy9fZ2xpdGNoLnNjc3MiLCJtb2R1bGVzL19zb2NpYWwtbWVkaWEuc2NzcyIsIm1vZHVsZXMvX3BvcnRmb2xpby1wYW5lbC5zY3NzIiwibW9kdWxlcy9fcG9ydGZvbGlvLWl0ZW0uc2NzcyIsIm1peGlucy9fbWl4aW5zLW1hc3Rlci5zY3NzIiwibW9kdWxlcy9fZm9ybS5zY3NzIiwibW9kdWxlcy9fYW5pbWF0aW9ucy5zY3NzIiwibGF5b3V0L19sYXlvdXQuc2NzcyIsIm1pc2MvX21pc2Muc2NzcyIsIm1pc2MvX2FjY2Vzc2liaWxpdHkuc2NzcyIsInZhcmlhYmxlcy1zaXRlL19jb2xvcnMuc2NzcyIsIm1pc2MvX2NsZWFyaW5ncy5zY3NzIiwiX3NoYW1lLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsa0VBQWtFO0FDbUJsRTtFQUNFLHFDQUFxQztFQUNyQywrQ0FBUTtFQUNSLHdRQUdxRDtFQUNyRCxpQkFBaUI7RUFDakIsbUJBQW1CLEVBQUE7O0FBR3JCO0VBQ0Usa0NBQWtDO0VBQ2xDLDRDQUFRO0VBQ1IsNFBBR2tEO0VBQ2xELGlCQUFpQjtFQUNqQixtQkFBbUIsRUFBQTs7QUFHckI7RUFDRSw0S0ExQm9MLEVBMkJyTDs7QUFFRDs7Ozs7O0VBTUUseUtBbEM4SyxFQW1DL0s7O0FEaEREOztnRUFFZ0U7QUVOaEU7RUFDRSx3QkFBd0I7RUFDeEIsK0JBQXVCO01BQXZCLDJCQUF1QjtVQUF2Qix1QkFBdUIsRUFDeEI7O0FBRUQ7RUFDRSxVQUFVLEVBQ1g7O0FBRUQ7Ozs7Ozs7Ozs7OztFQVlFLGVBQWUsRUFDaEI7O0FBRUQ7Ozs7RUFJRSxzQkFBc0I7RUFDdEIseUJBQXlCLEVBQzFCOztBQUVEO0VBQ0UsY0FBYztF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Q0FBVSxFQUFBO0VBRFo7SUFDRSxrQ0FBVSxFQUFBO0VBRFo7SUFDRSxrQ0FBVSxFQUFBO0VBRFo7SUFDRSxrQ0FBVSxFQUFBO0VBRFo7SUFDRSxrQ0FBVSxFQUFBLEVBQUE7O0FBSmhCO0VBR0k7SUFDRSxrQ0FBVSxFQUFBO0VBRFo7SUFDRSxrQ0FBVSxFQUFBO0VBRFo7SUFDRSxrQ0FBVSxFQUFBO0VBRFo7SUFDRSxrQ0FBVSxFQUFBO0VBRFo7SUFDRSxrQ0FBVSxFQUFBO0VBRFo7SUFDRSxrQ0FBVSxFQUFBO0VBRFo7SUFDRSxrQ0FBVSxFQUFBO0VBRFo7SUFDRSxrQ0FBVSxFQUFBO0VBRFo7SUFDRSxrQ0FBVSxFQUFBO0VBRFo7SUFDRSxpQ0FBVSxFQUFBO0VBRFo7SUFDRSxrQ0FBVSxFQUFBO0VBRFo7SUFDRSxrQ0FBVSxFQUFBO0VBRFo7SUFDRSxpQ0FBVSxFQUFBO0VBRFo7SUFDRSxrQ0FBVSxFQUFBO0VBRFo7SUFDRSxrQ0FBVSxFQUFBO0VBRFo7SUFDRSxrQ0FBVSxFQUFBO0VBRFo7SUFDRSxrQ0FBVSxFQUFBO0VBRFo7SUFDRSxrQ0FBVSxFQUFBO0VBRFo7SUFDRSxrQ0FBVSxFQUFBO0VBRFo7SUFDRSxrQ0FBVSxFQUFBO0VBRFo7SUFDRSxrQ0FBVSxFQUFBLEVBQUE7O0FBS2hCO0VBR0k7SUFDRSxrQ0FBVSxFQUFBO0VBRFo7SUFDRSxrQ0FBVSxFQUFBO0VBRFo7SUFDRSxrQ0FBVSxFQUFBO0VBRFo7SUFDRSxrQ0FBVSxFQUFBO0VBRFo7SUFDRSxpQ0FBVSxFQUFBO0VBRFo7SUFDRSxrQ0FBVSxFQUFBO0VBRFo7SUFDRSxrQ0FBVSxFQUFBO0VBRFo7SUFDRSxrQ0FBVSxFQUFBO0VBRFo7SUFDRSxrQ0FBVSxFQUFBO0VBRFo7SUFDRSxrQ0FBVSxFQUFBO0VBRFo7SUFDRSxrQ0FBVSxFQUFBO0VBRFo7SUFDRSxrQ0FBVSxFQUFBO0VBRFo7SUFDRSxpQ0FBVSxFQUFBO0VBRFo7SUFDRSxrQ0FBVSxFQUFBO0VBRFo7SUFDRSxtQ0FBVSxFQUFBO0VBRFo7SUFDRSxrQ0FBVSxFQUFBO0VBRFo7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O0VBQ1osaUJBQWlCO0VBQ2pCLCtCQUFVLEVBc0JYO0VBNUJEO0lMQ0Usb0JBQXFCO0lLWW5CLGVBQWU7SUFDZixTQUFTO0lBQ1QsVUFBVTtJQUNWLFlBQVk7SUFDWixhQUFhO0lBQ2Isd0JBQXdCO0lBQ3hCLHNCQUFzQjtJQUN0QixtQkFBbUI7SUFDbkIsMEJDdEI4QjtJRHVCOUIsMkNBQTRCO0lBQzVCLGVDbEJ3QjtJRG1CeEIsa0JBQWtCO0lBQ2xCLG9CQUFvQjtJQUNwQixzQkFBc0IsRUFDdkI7O0FFN0JIOztFUGVFLFlBQVk7RUFDWixlQUFlLEVPYmhCOztBQUVEO0VQZ0JFLFlBQVksRU9kYjs7QUhBRDtFQUNFLFlBQVksRUFDYjs7QUFFRDtFQUNFLGFBQWEsRUFDZDs7QUFFRDtFQUNFLFlBQVksRUFDYjs7QUFFRDtFQUNFLGdCQUFnQjtFQUNoQixhQUFhLEVBQ2Q7O0FkT0Q7O2dFQUVnRTtBa0IvQmhFOztHQUVHO0FsQmdDSDs7Z0VBRWdFIiwiZmlsZSI6InN0eWxlLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuQGltcG9ydCBcInZhcmlhYmxlcy1zaXRlL3ZhcmlhYmxlcy1zaXRlXCI7XG5AaW1wb3J0IFwibWl4aW5zL21peGlucy1tYXN0ZXJcIjtcblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuMS4wIE5vcm1hbGl6ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuQGltcG9ydCBcIm5vcm1hbGl6ZVwiO1xuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4yLjAgQmFzZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuQGltcG9ydCBcImJhc2UvYmFzZVwiO1xuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4zLjAgQWNjZXNzaWJpbGl0eVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuQGltcG9ydCBcIm1vZHVsZXMvbW9kdWxlc1wiO1xuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG40LjAgTGF5b3V0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5AaW1wb3J0IFwibGF5b3V0L2xheW91dFwiO1xuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG41LjAgTWlzY1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuQGltcG9ydCBcIm1pc2MvbWlzY1wiO1xuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG42LjAgU2hhYWFhYWFhYWFhYWFhbWVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbkBpbXBvcnQgXCJzaGFtZVwiO1xuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG43LjAgT3ZlcnJpZGluZyBCb290c3RyYXAgU3R5bGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5AaW1wb3J0IFwib3ZlcnJpZGVzXCI7XG4iLCIkZm9udF9fbWFpbjogXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuJGZvbnRfX2hlYWRpbmc6IFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiRmb250X19jb2RlOiBNb25hY28sIENvbnNvbGFzLCBcIkFuZGFsZSBNb25vXCIsIFwiRGVqYVZ1IFNhbnMgTW9ub1wiLCBtb25vc3BhY2U7XG4kZm9udF9fcHJlOiBcIkNvdXJpZXIgMTAgUGl0Y2hcIiwgQ291cmllciwgbW9ub3NwYWNlO1xuXG5AbWl4aW4gZm9udF9fYmFzZS1zaXplKCkge1xuXG4gIEBtZWRpYSAobWF4LXdpZHRoOiAkYnJlYWtfX3hzKSB7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKDEuNSk7XG4gIH1cblxuICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrX194cykge1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxLjcpO1xuICB9XG59XG5cbiRiYXNpY0dyb3Rlc3F1ZVJlZ3VsYXI6IGJhc2lzLWdyb3Rlc3F1ZS1yZWd1bGFyLCAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFwiU2Vnb2UgVUlcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZiwgXCJBcHBsZSBDb2xvciBFbW9qaVwiLCBcIlNlZ29lIFVJIEVtb2ppXCIsIFwiU2Vnb2UgVUkgU3ltYm9sXCI7XG4kYmFzaWNHcm90ZXNxdWVCb2xkOiBiYXNpcy1ncm90ZXNxdWUtYm9sZCwgLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcIlNlZ29lIFVJXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWYsIFwiQXBwbGUgQ29sb3IgRW1vamlcIiwgXCJTZWdvZSBVSSBFbW9qaVwiLCBcIlNlZ29lIFVJIFN5bWJvbFwiO1xuXG5AZm9udC1mYWNle1xuICBmb250LWZhbWlseTogYmFzaXMtZ3JvdGVzcXVlLXJlZ3VsYXI7XG4gIHNyYzogdXJsKFwiL2ZvbnRzL2Jhc2lzLWdyb3Rlc3F1ZS1yZWd1bGFyLmVvdFwiKTtcbiAgc3JjOiB1cmwoXCIvZm9udHMvYmFzaXMtZ3JvdGVzcXVlLXJlZ3VsYXIuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSxcbiAgICAgICB1cmwoXCIvZm9udHMvYmFzaXMtZ3JvdGVzcXVlLXJlZ3VsYXIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLFxuICAgICAgIHVybChcIi9mb250cy9iYXNpcy1ncm90ZXNxdWUtcmVndWxhci53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSxcbiAgICAgICB1cmwoXCIvZm9udHMvYmFzaXMtZ3JvdGVzcXVlLXJlZ3VsYXIudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5cbkBmb250LWZhY2V7XG4gIGZvbnQtZmFtaWx5OiBiYXNpcy1ncm90ZXNxdWUtYm9sZDtcbiAgc3JjOiB1cmwoXCIvZm9udHMvYmFzaXMtZ3JvdGVzcXVlLWJvbGQuZW90XCIpO1xuICBzcmM6IHVybChcIi9mb250cy9iYXNpcy1ncm90ZXNxdWUtYm9sZC5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLFxuICAgICAgIHVybChcIi9mb250cy9iYXNpcy1ncm90ZXNxdWUtYm9sZC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksXG4gICAgICAgdXJsKFwiL2ZvbnRzL2Jhc2lzLWdyb3Rlc3F1ZS1ib2xkLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLFxuICAgICAgIHVybChcIi9mb250cy9iYXNpcy1ncm90ZXNxdWUtYm9sZC50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuYm9keSB7XG4gIGZvbnQtZmFtaWx5OiAkYmFzaWNHcm90ZXNxdWVSZWd1bGFyO1xufVxuXG5oMSxcbmgyLFxuaDMsXG5oNCxcbmg1LFxuaDYge1xuICBmb250LWZhbWlseTogJGJhc2ljR3JvdGVzcXVlQm9sZDtcbn1cbiIsImh0bWwge1xuICBmb250LWZhbWlseTogc2Fucy1zZXJpZjtcbiAgdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbn1cblxuYm9keSB7XG4gIG1hcmdpbjogMDtcbn1cblxuYXJ0aWNsZSxcbmFzaWRlLFxuZGV0YWlscyxcbmZpZ2NhcHRpb24sXG5maWd1cmUsXG5mb290ZXIsXG5oZWFkZXIsXG5tYWluLFxubWVudSxcbm5hdixcbnNlY3Rpb24sXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbmF1ZGlvLFxuY2FudmFzLFxucHJvZ3Jlc3MsXG52aWRlbyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5hdWRpbzpub3QoW2NvbnRyb2xzXSkge1xuICBkaXNwbGF5OiBub25lO1xuICBoZWlnaHQ6IDA7XG59XG5cbltoaWRkZW5dLFxudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG5hIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbmE6YWN0aXZlLFxuYTpob3ZlciB7XG4gIG91dGxpbmU6IDA7XG59XG5cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZDtcbn1cblxuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG5kZm4ge1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbmgxIHtcbiAgbWFyZ2luOiAuNjdlbSAwO1xuICBmb250LXNpemU6IDJlbTtcbn1cblxubWFyayB7XG4gIGJhY2tncm91bmQ6ICNmZjA7XG4gIGNvbG9yOiAjMDAwO1xufVxuXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlO1xufVxuXG5zdWIsXG5zdXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5zdXAge1xuICB0b3A6IC0uNWVtO1xufVxuXG5zdWIge1xuICBib3R0b206IC0uMjVlbTtcbn1cblxuaW1nIHtcbiAgYm9yZGVyOiAwO1xufVxuXG5zdmc6bm90KDpyb290KSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMWVtIDQwcHg7XG59XG5cbmhyIHtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIGhlaWdodDogMDtcbn1cblxucHJlIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbmNvZGUsXG5rYmQsXG5wcmUsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICBmb250LXNpemU6IDFlbTtcbn1cblxuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgbWFyZ2luOiAwO1xuICBjb2xvcjogaW5oZXJpdDtcbiAgZm9udDogaW5oZXJpdDtcbn1cblxuYnV0dG9uIHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbmJ1dHRvbixcbnNlbGVjdCB7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG5idXR0b24sXG5odG1sIGlucHV0W3R5cGU9XCJidXR0b25cIl0sXG5pbnB1dFt0eXBlPVwicmVzZXRcIl0sXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbn1cblxuYnV0dG9uW2Rpc2FibGVkXSxcbmh0bWwgaW5wdXRbZGlzYWJsZWRdIHtcbiAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5pbnB1dDo6LW1vei1mb2N1cy1pbm5lciB7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogMDtcbn1cblxuaW5wdXQge1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xufVxuXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0sXG5pbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBwYWRkaW5nOiAwO1xufVxuXG5pbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbn1cblxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbmZpZWxkc2V0IHtcbiAgbWFyZ2luOiAwIDJweDtcbiAgcGFkZGluZzogLjM1ZW0gLjYyNWVtIC43NWVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjYzBjMGMwO1xufVxuXG5sZWdlbmQge1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7XG59XG5cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbm9wdGdyb3VwIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbnRhYmxlIHtcbiAgYm9yZGVyLXNwYWNpbmc6IDA7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG59XG5cbnRkLFxudGgge1xuICBwYWRkaW5nOiAwO1xufVxuIiwiLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IGJhc2lzLWdyb3Rlc3F1ZS1yZWd1bGFyO1xuICBzcmM6IHVybChcIi9mb250cy9iYXNpcy1ncm90ZXNxdWUtcmVndWxhci5lb3RcIik7XG4gIHNyYzogdXJsKFwiL2ZvbnRzL2Jhc2lzLWdyb3Rlc3F1ZS1yZWd1bGFyLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksIHVybChcIi9mb250cy9iYXNpcy1ncm90ZXNxdWUtcmVndWxhci53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi9mb250cy9iYXNpcy1ncm90ZXNxdWUtcmVndWxhci53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiL2ZvbnRzL2Jhc2lzLWdyb3Rlc3F1ZS1yZWd1bGFyLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogYmFzaXMtZ3JvdGVzcXVlLWJvbGQ7XG4gIHNyYzogdXJsKFwiL2ZvbnRzL2Jhc2lzLWdyb3Rlc3F1ZS1ib2xkLmVvdFwiKTtcbiAgc3JjOiB1cmwoXCIvZm9udHMvYmFzaXMtZ3JvdGVzcXVlLWJvbGQuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgdXJsKFwiL2ZvbnRzL2Jhc2lzLWdyb3Rlc3F1ZS1ib2xkLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiL2ZvbnRzL2Jhc2lzLWdyb3Rlc3F1ZS1ib2xkLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIvZm9udHMvYmFzaXMtZ3JvdGVzcXVlLWJvbGQudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7IH1cblxuYm9keSB7XG4gIGZvbnQtZmFtaWx5OiBiYXNpcy1ncm90ZXNxdWUtcmVndWxhciwgLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcIlNlZ29lIFVJXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWYsIFwiQXBwbGUgQ29sb3IgRW1vamlcIiwgXCJTZWdvZSBVSSBFbW9qaVwiLCBcIlNlZ29lIFVJIFN5bWJvbFwiOyB9XG5cbmgxLFxuaDIsXG5oMyxcbmg0LFxuaDUsXG5oNiB7XG4gIGZvbnQtZmFtaWx5OiBiYXNpcy1ncm90ZXNxdWUtYm9sZCwgLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcIlNlZ29lIFVJXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWYsIFwiQXBwbGUgQ29sb3IgRW1vamlcIiwgXCJTZWdvZSBVSSBFbW9qaVwiLCBcIlNlZ29lIFVJIFN5bWJvbFwiOyB9XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbjEuMCBOb3JtYWxpemVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbmh0bWwge1xuICBmb250LWZhbWlseTogc2Fucy1zZXJpZjtcbiAgdGV4dC1zaXplLWFkanVzdDogMTAwJTsgfVxuXG5ib2R5IHtcbiAgbWFyZ2luOiAwOyB9XG5cbmFydGljbGUsXG5hc2lkZSxcbmRldGFpbHMsXG5maWdjYXB0aW9uLFxuZmlndXJlLFxuZm9vdGVyLFxuaGVhZGVyLFxubWFpbixcbm1lbnUsXG5uYXYsXG5zZWN0aW9uLFxuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbmF1ZGlvLFxuY2FudmFzLFxucHJvZ3Jlc3MsXG52aWRlbyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyB9XG5cbmF1ZGlvOm5vdChbY29udHJvbHNdKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGhlaWdodDogMDsgfVxuXG5baGlkZGVuXSxcbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG5hIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxuYTphY3RpdmUsXG5hOmhvdmVyIHtcbiAgb3V0bGluZTogMDsgfVxuXG5hYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQ7IH1cblxuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbmRmbiB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuXG5oMSB7XG4gIG1hcmdpbjogLjY3ZW0gMDtcbiAgZm9udC1zaXplOiAyZW07IH1cblxubWFyayB7XG4gIGJhY2tncm91bmQ6ICNmZjA7XG4gIGNvbG9yOiAjMDAwOyB9XG5cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7IH1cblxuc3ViLFxuc3VwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgfVxuXG5zdXAge1xuICB0b3A6IC0uNWVtOyB9XG5cbnN1YiB7XG4gIGJvdHRvbTogLS4yNWVtOyB9XG5cbmltZyB7XG4gIGJvcmRlcjogMDsgfVxuXG5zdmc6bm90KDpyb290KSB7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuZmlndXJlIHtcbiAgbWFyZ2luOiAxZW0gNDBweDsgfVxuXG5ociB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBoZWlnaHQ6IDA7IH1cblxucHJlIHtcbiAgb3ZlcmZsb3c6IGF1dG87IH1cblxuY29kZSxcbmtiZCxcbnByZSxcbnNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gIGZvbnQtc2l6ZTogMWVtOyB9XG5cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIG1hcmdpbjogMDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIGZvbnQ6IGluaGVyaXQ7IH1cblxuYnV0dG9uIHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7IH1cblxuYnV0dG9uLFxuc2VsZWN0IHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cblxuYnV0dG9uLFxuaHRtbCBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLFxuaW5wdXRbdHlwZT1cInJlc2V0XCJdLFxuaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IH1cblxuYnV0dG9uW2Rpc2FibGVkXSxcbmh0bWwgaW5wdXRbZGlzYWJsZWRdIHtcbiAgY3Vyc29yOiBkZWZhdWx0OyB9XG5cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcbmlucHV0OjotbW96LWZvY3VzLWlubmVyIHtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwOyB9XG5cbmlucHV0IHtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDsgfVxuXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0sXG5pbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBwYWRkaW5nOiAwOyB9XG5cbmlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5pbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvOyB9XG5cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl0ge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IH1cblxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IH1cblxuZmllbGRzZXQge1xuICBtYXJnaW46IDAgMnB4O1xuICBwYWRkaW5nOiAuMzVlbSAuNjI1ZW0gLjc1ZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjMGMwYzA7IH1cblxubGVnZW5kIHtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwOyB9XG5cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87IH1cblxub3B0Z3JvdXAge1xuICBmb250LXdlaWdodDogYm9sZDsgfVxuXG50YWJsZSB7XG4gIGJvcmRlci1zcGFjaW5nOiAwO1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOyB9XG5cbnRkLFxudGgge1xuICBwYWRkaW5nOiAwOyB9XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbjIuMCBCYXNlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKlxuKiBVc2FnZTogaHR0cHM6Ly9zbWFjc3MuY29tL2Jvb2svdHlwZS1iYXNlXG4qKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbjMuMCBBY2Nlc3NpYmlsaXR5XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKlxuKiBVc2FnZTogaHR0cHM6Ly9zbWFjc3MuY29tL2Jvb2svdHlwZS1tb2R1bGVcbioqL1xuLmdsaXRjaCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kOiAjMDEwMTAxO1xuICBjb2xvcjogI2FhYTsgfVxuICAuZ2xpdGNoOmFmdGVyIHtcbiAgICBjb250ZW50OiBhdHRyKGRhdGEtdGV4dCk7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAycHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBjbGlwOiByZWN0KDAsIDkwMHB4LCAwLCAwKTtcbiAgICBhbmltYXRpb246IG5vaXNlLWFuaW0tMSAycyBpbmZpbml0ZSBsaW5lYXIgYWx0ZXJuYXRlLXJldmVyc2U7XG4gICAgYmFja2dyb3VuZDogIzAxMDEwMTtcbiAgICBjb2xvcjogI2FhYTtcbiAgICB0ZXh0LXNoYWRvdzogLTFweCAwICNmMDA7IH1cbiAgLmdsaXRjaDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IGF0dHIoZGF0YS10ZXh0KTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IC0ycHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBjbGlwOiByZWN0KDAsIDkwMHB4LCAwLCAwKTtcbiAgICBhbmltYXRpb246IG5vaXNlLWFuaW0tMiAzcyBpbmZpbml0ZSBsaW5lYXIgYWx0ZXJuYXRlLXJldmVyc2U7XG4gICAgYmFja2dyb3VuZDogIzAxMDEwMTtcbiAgICBjb2xvcjogI2FhYTtcbiAgICB0ZXh0LXNoYWRvdzogMXB4IDAgIzAwZjsgfVxuXG5Aa2V5ZnJhbWVzIG5vaXNlLWFuaW0tMSB7XG4gIDAlIHtcbiAgICBjbGlwOiByZWN0KDUxcHgsIDk5OTlweCwgNzZweCwgMCk7IH1cbiAgMC41JSB7XG4gICAgY2xpcDogcmVjdCgxM3B4LCA5OTk5cHgsIDEwcHgsIDApOyB9XG4gIDElIHtcbiAgICBjbGlwOiByZWN0KDUzcHgsIDk5OTlweCwgODJweCwgMCk7IH1cbiAgMS41JSB7XG4gICAgY2xpcDogcmVjdCg0OHB4LCA5OTk5cHgsIDMwcHgsIDApOyB9XG4gIDIlIHtcbiAgICBjbGlwOiByZWN0KDg5cHgsIDk5OTlweCwgNTdweCwgMCk7IH1cbiAgMi41JSB7XG4gICAgY2xpcDogcmVjdCg2NnB4LCA5OTk5cHgsIDk4cHgsIDApOyB9XG4gIDMlIHtcbiAgICBjbGlwOiByZWN0KDkwcHgsIDk5OTlweCwgNzJweCwgMCk7IH1cbiAgMy41JSB7XG4gICAgY2xpcDogcmVjdCgzOHB4LCA5OTk5cHgsIDIzcHgsIDApOyB9XG4gIDQlIHtcbiAgICBjbGlwOiByZWN0KDQ5cHgsIDk5OTlweCwgMzNweCwgMCk7IH1cbiAgNC41JSB7XG4gICAgY2xpcDogcmVjdCgycHgsIDk5OTlweCwgMjhweCwgMCk7IH1cbiAgNSUge1xuICAgIGNsaXA6IHJlY3QoNDBweCwgOTk5OXB4LCA0N3B4LCAwKTsgfVxuICA1LjUlIHtcbiAgICBjbGlwOiByZWN0KDM1cHgsIDk5OTlweCwgNjRweCwgMCk7IH1cbiAgNiUge1xuICAgIGNsaXA6IHJlY3QoN3B4LCA5OTk5cHgsIDE2cHgsIDApOyB9XG4gIDYuNSUge1xuICAgIGNsaXA6IHJlY3QoMzBweCwgOTk5OXB4LCAzM3B4LCAwKTsgfVxuICA3JSB7XG4gICAgY2xpcDogcmVjdCg3MnB4LCA5OTk5cHgsIDkwcHgsIDApOyB9XG4gIDcuNSUge1xuICAgIGNsaXA6IHJlY3QoODNweCwgOTk5OXB4LCA3MHB4LCAwKTsgfVxuICA4JSB7XG4gICAgY2xpcDogcmVjdCg5NnB4LCA5OTk5cHgsIDc1cHgsIDApOyB9XG4gIDguNSUge1xuICAgIGNsaXA6IHJlY3QoNzVweCwgOTk5OXB4LCA0MHB4LCAwKTsgfVxuICA5JSB7XG4gICAgY2xpcDogcmVjdCgxNXB4LCA5OTk5cHgsIDEzcHgsIDApOyB9XG4gIDkuNSUge1xuICAgIGNsaXA6IHJlY3QoMjRweCwgOTk5OXB4LCA5M3B4LCAwKTsgfVxuICAxMCUge1xuICAgIGNsaXA6IHJlY3QoNTBweCwgOTk5OXB4LCA3MHB4LCAwKTsgfSB9XG5cbkBrZXlmcmFtZXMgbm9pc2UtYW5pbS0yIHtcbiAgMCUge1xuICAgIGNsaXA6IHJlY3QoNzhweCwgOTk5OXB4LCAxNXB4LCAwKTsgfVxuICAwLjUlIHtcbiAgICBjbGlwOiByZWN0KDgycHgsIDk5OTlweCwgNDFweCwgMCk7IH1cbiAgMSUge1xuICAgIGNsaXA6IHJlY3QoMTJweCwgOTk5OXB4LCAxN3B4LCAwKTsgfVxuICAxLjUlIHtcbiAgICBjbGlwOiByZWN0KDI1cHgsIDk5OTlweCwgMTJweCwgMCk7IH1cbiAgMiUge1xuICAgIGNsaXA6IHJlY3QoOHB4LCA5OTk5cHgsIDYwcHgsIDApOyB9XG4gIDIuNSUge1xuICAgIGNsaXA6IHJlY3QoODVweCwgOTk5OXB4LCA1NXB4LCAwKTsgfVxuICAzJSB7XG4gICAgY2xpcDogcmVjdCg3OHB4LCA5OTk5cHgsIDEzcHgsIDApOyB9XG4gIDMuNSUge1xuICAgIGNsaXA6IHJlY3QoODNweCwgOTk5OXB4LCA2MHB4LCAwKTsgfVxuICA0JSB7XG4gICAgY2xpcDogcmVjdCg0N3B4LCA5OTk5cHgsIDY0cHgsIDApOyB9XG4gIDQuNSUge1xuICAgIGNsaXA6IHJlY3QoNjVweCwgOTk5OXB4LCAyNXB4LCAwKTsgfVxuICA1JSB7XG4gICAgY2xpcDogcmVjdCg5MXB4LCA5OTk5cHgsIDIzcHgsIDApOyB9XG4gIDUuNSUge1xuICAgIGNsaXA6IHJlY3QoNzVweCwgOTk5OXB4LCA0MXB4LCAwKTsgfVxuICA2JSB7XG4gICAgY2xpcDogcmVjdCgzMnB4LCA5OTk5cHgsIDlweCwgMCk7IH1cbiAgNi41JSB7XG4gICAgY2xpcDogcmVjdCg0OXB4LCA5OTk5cHgsIDU3cHgsIDApOyB9XG4gIDclIHtcbiAgICBjbGlwOiByZWN0KDgxcHgsIDk5OTlweCwgMTAwcHgsIDApOyB9XG4gIDcuNSUge1xuICAgIGNsaXA6IHJlY3QoNzZweCwgOTk5OXB4LCA2NnB4LCAwKTsgfVxuICA4JSB7XG4gICAgY2xpcDogcmVjdCg5N3B4LCA5OTk5cHgsIDYxcHgsIDApOyB9XG4gIDguNSUge1xuICAgIGNsaXA6IHJlY3QoOTdweCwgOTk5OXB4LCA5NnB4LCAwKTsgfVxuICA5JSB7XG4gICAgY2xpcDogcmVjdCg0MnB4LCA5OTk5cHgsIDk4cHgsIDApOyB9XG4gIDkuNSUge1xuICAgIGNsaXA6IHJlY3QoOThweCwgOTk5OXB4LCA1MHB4LCAwKTsgfVxuICAxMCUge1xuICAgIGNsaXA6IHJlY3QoMjlweCwgOTk5OXB4LCA2OXB4LCAwKTsgfSB9XG5cbi5zb2NpYWwtbWVkaWEge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGZvbnQtZmFtaWx5OiBiYXNpcy1ncm90ZXNxdWUtYm9sZCwgLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcIlNlZ29lIFVJXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWYsIFwiQXBwbGUgQ29sb3IgRW1vamlcIiwgXCJTZWdvZSBVSSBFbW9qaVwiLCBcIlNlZ29lIFVJIFN5bWJvbFwiOyB9XG4gIC5zb2NpYWwtbWVkaWFfX2l0ZW0ge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5zb2NpYWwtbWVkaWFfX2xpbmsge1xuICAgIGNvbG9yOiAjZTJlMmUyO1xuICAgIGZvbnQtc2l6ZTogMmVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICAuc29jaWFsLW1lZGlhX19saW5rOmFjdGl2ZS5saW5rZWRpbiwgLnNvY2lhbC1tZWRpYV9fbGluazpmb2N1cy5saW5rZWRpbiwgLnNvY2lhbC1tZWRpYV9fbGluazpob3Zlci5saW5rZWRpbiB7XG4gICAgICBjb2xvcjogIzAwN2JiNTsgfVxuICAgIC5zb2NpYWwtbWVkaWFfX2xpbms6YWN0aXZlLmZhY2Vib29rLCAuc29jaWFsLW1lZGlhX19saW5rOmZvY3VzLmZhY2Vib29rLCAuc29jaWFsLW1lZGlhX19saW5rOmhvdmVyLmZhY2Vib29rIHtcbiAgICAgIGNvbG9yOiAjM2I1OTk4OyB9XG4gICAgLnNvY2lhbC1tZWRpYV9fbGluazphY3RpdmUuaW5zdGFncmFtLCAuc29jaWFsLW1lZGlhX19saW5rOmZvY3VzLmluc3RhZ3JhbSwgLnNvY2lhbC1tZWRpYV9fbGluazpob3Zlci5pbnN0YWdyYW0ge1xuICAgICAgY29sb3I6ICNjMzJhYTM7IH1cbiAgICAuc29jaWFsLW1lZGlhX19saW5rOmFjdGl2ZS5iaXRidWNrZXQsIC5zb2NpYWwtbWVkaWFfX2xpbms6Zm9jdXMuYml0YnVja2V0LCAuc29jaWFsLW1lZGlhX19saW5rOmhvdmVyLmJpdGJ1Y2tldCB7XG4gICAgICBjb2xvcjogIzA0NDVhYzsgfVxuICAgIC5zb2NpYWwtbWVkaWFfX2xpbms6YWN0aXZlLmVtYWlsLCAuc29jaWFsLW1lZGlhX19saW5rOmZvY3VzLmVtYWlsLCAuc29jaWFsLW1lZGlhX19saW5rOmhvdmVyLmVtYWlsIHtcbiAgICAgIGNvbG9yOiAjZmZmOyB9XG4gIC5zb2NpYWwtbWVkaWFfX2ljb24ge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuLnBvcnRmb2xpby1wYW5lbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxuICAucG9ydGZvbGlvLXBhbmVsX19pbWFnZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAgIC5wb3J0Zm9saW8tcGFuZWxfX2ltYWdlIGltZyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbi1ib3R0b206IC01cHg7IH1cbiAgLnBvcnRmb2xpby1wYW5lbF9fYm9yZGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSBhdXRvOyB9XG4gICAgLnBvcnRmb2xpby1wYW5lbF9fYm9yZGVyX19iZyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbGVmdDogMDsgfVxuICAgIC5wb3J0Zm9saW8tcGFuZWxfX2JvcmRlcl9fYmc6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjIpOyB9XG4gICAgLnBvcnRmb2xpby1wYW5lbF9fYm9yZGVyLS1sZWZ0IHtcbiAgICAgIHRvcDogMDtcbiAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbGVmdDogLTVweDtcbiAgICAgIHdpZHRoOiA1cHg7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCkgdHJhbnNsYXRlWSgyLjVweCkgcm90YXRlWSgxODBkZWcpOyB9XG4gICAgLnBvcnRmb2xpby1wYW5lbF9fYm9yZGVyLS1sZWZ0IC5wb3J0Zm9saW8tcGFuZWxfX2JvcmRlcl9fYmcge1xuICAgICAgdHJhbnNmb3JtOiBza2V3WSg0NWRlZyk7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGF1dG8gY2FsYygxMDAlICsgNXB4KTsgfVxuICAgIC5wb3J0Zm9saW8tcGFuZWxfX2JvcmRlci0tYm90dG9tIHtcbiAgICAgIHRvcDogYXV0bztcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm90dG9tOiAtNXB4O1xuICAgICAgbGVmdDogMDtcbiAgICAgIGhlaWdodDogNXB4O1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yLjVweCk7IH1cbiAgICAucG9ydGZvbGlvLXBhbmVsX19ib3JkZXItLWJvdHRvbSAucG9ydGZvbGlvLXBhbmVsX19ib3JkZXJfX2JnIHtcbiAgICAgIHRyYW5zZm9ybTogc2tld1goLTQ1ZGVnKTtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgMTAwJTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSBhdXRvOyB9XG5cbi5wb3J0Zm9saW8taXRlbV9fbGluayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRyYW5zaXRpb246IC4ycyB0cmFuc2Zvcm0gZWFzZS1pbi1vdXQsIC4ycyBvcGFjaXR5IGVhc2UtaW4tb3V0LCAuMnMgYm94LXNoYWRvdyBlYXNlLWluLW91dDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAucG9ydGZvbGlvLWl0ZW1fX2xpbmsge1xuICAgICAgdHJhbnNmb3JtOiBza2V3WCgyNWRlZyk7IH0gfVxuICAucG9ydGZvbGlvLWl0ZW1fX2xpbms6aG92ZXIge1xuICAgIGJveC1zaGFkb3c6IDAgNXB4IDc1cHggcmdiYSgwLCAwLCAwLCAwLjUpOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAucG9ydGZvbGlvLWl0ZW1fX2xpbms6aG92ZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHNrZXdYKDI1ZGVnKSB0cmFuc2xhdGVYKDE1cHgpIHRyYW5zbGF0ZVkoLTE1cHgpOyB9IH1cblxuLnBvcnRmb2xpby1pdGVtX19pbWFnZSB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5wb3J0Zm9saW8taXRlbV9faW1hZ2UgLnBvcnRmb2xpby1wYW5lbF9faW1hZ2VfX292ZXJsYXkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAxO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICB0cmFuc2l0aW9uOiAuNHMgb3BhY2l0eSBlYXNlLWluLW91dDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7IH1cbiAgLnBvcnRmb2xpby1pdGVtX19pbWFnZSAucG9ydGZvbGlvLXBhbmVsX19ib3JkZXJfX2JnOmFmdGVyIHtcbiAgICB0cmFuc2l0aW9uOiAuNHMgYmFja2dyb3VuZC1jb2xvciBlYXNlLWluLW91dDsgfVxuXG4ucG9ydGZvbGlvLWl0ZW1fX2xpbms6aG92ZXIgLnBvcnRmb2xpby1pdGVtX19pbWFnZSAucG9ydGZvbGlvLXBhbmVsX19pbWFnZV9fb3ZlcmxheSB7XG4gIG9wYWNpdHk6IC40OyB9XG5cbi5wb3J0Zm9saW8taXRlbV9fbGluazpob3ZlciAucG9ydGZvbGlvLWl0ZW1fX2ltYWdlIC5wb3J0Zm9saW8tcGFuZWxfX2JvcmRlcl9fYmc6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7IH1cblxuLnBvcnRmb2xpby1pdGVtX191cmwge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDExO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB3aWR0aDogYXV0bztcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoLTUwJSk7XG4gIGNvbG9yOiAjMjIyO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnBvcnRmb2xpby1pdGVtX191cmwge1xuICAgICAgdHJhbnNmb3JtOiBza2V3WCgtMjVkZWcpIHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgtNTAlKSByb3RhdGUoMjVkZWcpOyB9IH1cblxuLnBvcnRmb2xpby1pdGVtX191cmwtYm94IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTtcbiAgcGFkZGluZzogLjI1ZW0gMWVtO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTVweCk7XG4gIHRyYW5zaXRpb246IC40cyBvcGFjaXR5IGVhc2UtaW4tb3V0LCAuNHMgdHJhbnNmb3JtIGVhc2UtaW4tb3V0O1xuICBib3JkZXI6IDFweCBzb2xpZCAjMDAwO1xuICBib3JkZXItcmFkaXVzOiA1cmVtO1xuICBvcGFjaXR5OiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xuICBib3gtc2hhZG93OiAwIDAgNTBweCByZ2JhKDAsIDAsIDAsIDAuNyk7XG4gIGNvbG9yOiAjZmZmOyB9XG4gIC5wb3J0Zm9saW8taXRlbV9fdXJsLWJveDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogYXV0bztcbiAgICByaWdodDogYXV0bztcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogNTAlO1xuICAgIG1hcmdpbi10b3A6IC0ycHg7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoNTAlKSByb3RhdGUoNDVkZWcpO1xuICAgIGJvcmRlcjogNXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yaWdodC1jb2xvcjogIzAwMDtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjMDAwOyB9XG5cbi5wb3J0Zm9saW8taXRlbV9fbGluazpob3ZlciAucG9ydGZvbGlvLWl0ZW1fX3VybC1ib3gge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIHRyYW5zaXRpb24tZGVsYXk6IC40cztcbiAgb3BhY2l0eTogMTsgfVxuXG4uZm9ybS0tY29udGFjdCB7XG4gIHdpZHRoOiA1MDBweDtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDAgYXV0bzsgfVxuXG4uZm9ybSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuZm9ybSAucmVxdWlyZWQge1xuICAgIGNvbG9yOiAjYTk0NDQyOyB9XG4gIC5mb3JtX19ncm91cCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi1ib3R0b206IDNyZW07IH1cbiAgLmZvcm1fX2lucHV0LCAuZm9ybV9fbGFiZWwge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBwYWRkaW5nOiAuMjVlbSAwO1xuICAgIGZvbnQtc2l6ZTogMS40ZW07IH1cbiAgLmZvcm1fX2lucHV0IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB0cmFuc2l0aW9uOiAuMnMgYm9yZGVyIGVhc2UtaW4tb3V0O1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2FhYTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiAjZjJmMmYyOyB9XG4gICAgLmludmVyc2UgLmZvcm1fX2lucHV0IHtcbiAgICAgIGNvbG9yOiAjMDAwOyB9XG4gICAgLmZvcm1fX2lucHV0OmZvY3VzIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjZjJmMmYyO1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7IH1cbiAgLmZvcm1fX2xhYmVsIHtcbiAgICBtYXJnaW46IDA7XG4gICAgY29sb3I6ICNhYWE7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cbiAgICAuZm9ybV9fbGFiZWwtLWhpZGRlbiB7XG4gICAgICBvcGFjaXR5OiAwOyB9XG4gICAgLmZvcm1fX2xhYmVsLS1wbGFjZWhvbGRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDVweDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm90dG9tOiBhdXRvO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxLjVyZW0pO1xuICAgICAgdHJhbnNpdGlvbjogLjJzIGNvbG9yIGVhc2UtaW4tb3V0LCAuMnMgZm9udC1zaXplIGVhc2UtaW4tb3V0LCAuMnMgcGFkZGluZyBlYXNlLWluLW91dCwgLjJzIHRyYW5zZm9ybSBlYXNlLWluLW91dDsgfVxuICAuZm9ybV9fbGFiZWwtLWhpZGRlbixcbiAgLmZvcm1fX2lucHV0LS1maWxsZWQgKyAuZm9ybV9fbGFiZWwsXG4gIC5mb3JtX19pbnB1dDpmb2N1cyArIC5mb3JtX19sYWJlbCB7XG4gICAgcGFkZGluZzogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgY29sb3I6ICNhYWE7XG4gICAgZm9udC1zaXplOiAxZW07XG4gICAgbGluZS1oZWlnaHQ6IDFyZW07IH1cbiAgLmZvcm1fX2J0biB7XG4gICAgcGFkZGluZzogLjVlbSAyZW07XG4gICAgdHJhbnNpdGlvbjogLjJzIGJhY2tncm91bmQtY29sb3IgZWFzZS1pbi1vdXQ7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDVlbTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYWFhO1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIGZvbnQtZmFtaWx5OiBiYXNpcy1ncm90ZXNxdWUtYm9sZCwgLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcIlNlZ29lIFVJXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWYsIFwiQXBwbGUgQ29sb3IgRW1vamlcIiwgXCJTZWdvZSBVSSBFbW9qaVwiLCBcIlNlZ29lIFVJIFN5bWJvbFwiO1xuICAgIGZvbnQtc2l6ZTogMS40ZW07XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgLmZvcm1fX2J0bjphY3RpdmUsIC5mb3JtX19idG46Zm9jdXMsIC5mb3JtX19idG46aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAuZm9ybV9fc3Bpbm5lciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IDExO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMTAxMDE7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgLypiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9pbWcvc3Bpbm5lci5naWYnKTsqL1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTgwcHg7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cbiAgICAuZm9ybV9fc3Bpbm5lcl9fY29udGVudCB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm90dG9tOiBhdXRvO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIC5mb3JtX19zcGlubmVyX19jb250ZW50X190ZXh0IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luLWJvdHRvbTogLjVlbTtcbiAgICAgIGZvbnQtZmFtaWx5OiBiYXNpcy1ncm90ZXNxdWUtYm9sZCwgLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcIlNlZ29lIFVJXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWYsIFwiQXBwbGUgQ29sb3IgRW1vamlcIiwgXCJTZWdvZSBVSSBFbW9qaVwiLCBcIlNlZ29lIFVJIFN5bWJvbFwiO1xuICAgICAgZm9udC1zaXplOiAxLjJlbTtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICAuZm9ybV9fc3Bpbm5lcl9fY29udGVudF9fZW1vamkge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwYWRkaW5nOiAuMWVtO1xuICAgICAgZm9udC1zaXplOiAxLjRlbTsgfVxuICAgIC5mb3JtX19zcGlubmVyX19jb250ZW50X19lbW9qaSA+IHNwYW4ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIHBhZGRpbmc6IDIuNXB4O1xuICAgICAgdHJhbnNpdGlvbjogLjRzIG9wYWNpdHkgZWFzZS1pbi1vdXQ7XG4gICAgICBvcGFjaXR5OiAwOyB9XG4gICAgLmZvcm1fX3NwaW5uZXIuaW4ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgcG9pbnRlci1ldmVudHM6IGF1dG87IH1cbiAgICAuZm9ybV9fc3Bpbm5lci5pbiAuZm9ybV9fc3Bpbm5lcl9fY29udGVudF9fZW1vamkgPiBzcGFuIHtcbiAgICAgIG9wYWNpdHk6IDE7IH1cbiAgICAuZm9ybV9fc3Bpbm5lci5pbiAuZm9ybV9fc3Bpbm5lcl9fY29udGVudF9fZW1vamkgPiBzcGFuOm50aC1vZi10eXBlKDEpIHtcbiAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDFzOyB9XG4gICAgLmZvcm1fX3NwaW5uZXIuaW4gLmZvcm1fX3NwaW5uZXJfX2NvbnRlbnRfX2Vtb2ppID4gc3BhbjpudGgtb2YtdHlwZSgyKSB7XG4gICAgICB0cmFuc2l0aW9uLWRlbGF5OiAyczsgfVxuICAgIC5mb3JtX19zcGlubmVyLmluIC5mb3JtX19zcGlubmVyX19jb250ZW50X19lbW9qaSA+IHNwYW46bnRoLW9mLXR5cGUoMykge1xuICAgICAgdHJhbnNpdGlvbi1kZWxheTogM3M7IH1cbiAgICAuZm9ybV9fc3Bpbm5lci5pbiAuZm9ybV9fc3Bpbm5lcl9fY29udGVudF9fZW1vamkgPiBzcGFuOm50aC1vZi10eXBlKDQpIHtcbiAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDRzOyB9XG4gICAgLmZvcm1fX3NwaW5uZXIuaW4gLmZvcm1fX3NwaW5uZXJfX2NvbnRlbnRfX2Vtb2ppID4gc3BhbjpudGgtb2YtdHlwZSg1KSB7XG4gICAgICB0cmFuc2l0aW9uLWRlbGF5OiA1czsgfVxuICAgIC5mb3JtX19zcGlubmVyLmluIC5mb3JtX19zcGlubmVyX19jb250ZW50X19lbW9qaSA+IHNwYW46bnRoLW9mLXR5cGUoNikge1xuICAgICAgdHJhbnNpdGlvbi1kZWxheTogNnM7IH1cbiAgLmZvcm1fX21lc3NhZ2Uge1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGZvbnQtZmFtaWx5OiBiYXNpcy1ncm90ZXNxdWUtYm9sZCwgLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcIlNlZ29lIFVJXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWYsIFwiQXBwbGUgQ29sb3IgRW1vamlcIiwgXCJTZWdvZSBVSSBFbW9qaVwiLCBcIlNlZ29lIFVJIFN5bWJvbFwiO1xuICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4uc2VjdGlvbi1oZWxsbyB7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLnNlY3Rpb24taGVsbG8gaDIge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xuICAgIHRyYW5zaXRpb246IDEuNXMgdHJhbnNmb3JtIGVhc2UtaW4tb3V0LCAycyBvcGFjaXR5IGVhc2UtaW4tb3V0O1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgLnNlY3Rpb24taGVsbG8uaW4gaDIge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICBvcGFjaXR5OiAxOyB9XG5cbi5zZWN0aW9uLXBvcnRmb2xpbyAucG9ydGZvbGlvX19oZWFkaW5nIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbiAgdHJhbnNpdGlvbjogMXMgdHJhbnNmb3JtIGVhc2UtaW4tb3V0LCAxcyBvcGFjaXR5IGVhc2UtaW4tb3V0O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zZWN0aW9uLXBvcnRmb2xpby5pbiAucG9ydGZvbGlvX19oZWFkaW5nIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5zZWN0aW9uLXBvcnRmb2xpbyAucG9ydGZvbGlvLWl0ZW1zLWNvbnRhaW5lciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMDBweCk7XG4gIHRyYW5zaXRpb246IDEuNXMgdHJhbnNmb3JtIGVhc2UtaW4tb3V0IDFzLCAzcyBvcGFjaXR5IGVhc2UtaW4tb3V0IDFzO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zZWN0aW9uLXBvcnRmb2xpby5pbiAucG9ydGZvbGlvLWl0ZW1zLWNvbnRhaW5lciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uc2VjdGlvbi1jb250YWN0IHAge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNTBweCk7XG4gIHRyYW5zaXRpb246IC43NXMgdHJhbnNmb3JtIGVhc2UtaW4tb3V0IC41cywgMS41cyBvcGFjaXR5IGVhc2UtaW4tb3V0IC41cztcbiAgb3BhY2l0eTogMDsgfVxuXG4uc2VjdGlvbi1jb250YWN0LmluIHAge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnNlY3Rpb24tY29udGFjdCBmb3JtLFxuLnNlY3Rpb24tY29udGFjdCAuYnRuLS1jb250YWN0IHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDUwcHgpO1xuICB0cmFuc2l0aW9uOiAuNXMgdHJhbnNmb3JtIGVhc2UtaW4tb3V0IDJzLCAxcyBvcGFjaXR5IGVhc2UtaW4tb3V0IDJzO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zZWN0aW9uLWNvbnRhY3QuaW4gZm9ybSxcbi5zZWN0aW9uLWNvbnRhY3QuaW4gLmJ0bi0tY29udGFjdCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgb3BhY2l0eTogMTsgfVxuXG5ib2R5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzBhMGEwYTsgfVxuXG4uc2l0ZS1oZWFkZXIge1xuICBvcGFjaXR5OiAwOyB9XG4gIC5zaXRlLWhlYWRlci5maXhlZCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IDE7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogYXV0bztcbiAgICBsZWZ0OiAwOyB9XG4gIC5zaXRlLWhlYWRlciAubmF2YmFyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7IH1cbiAgLnNpdGUtaGVhZGVyIC5uYXZiYXItaW52ZXJzZSB7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7IH1cbiAgLnNpdGUtaGVhZGVyIC5uYXZiYXItcmlnaHQge1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgLnNpdGUtaGVhZGVyIGEge1xuICAgIGNvbG9yOiAjMDAwOyB9XG5cbi5zaXRlLWZvb3RlciB7XG4gIHBhZGRpbmc6IDVyZW0gMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzExMTsgfVxuICAuc2l0ZS1mb290ZXIuZml4ZWQge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB6LWluZGV4OiAtMTtcbiAgICB0b3A6IGF1dG87XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7IH1cblxuLnNlY3Rpb24taGVsbG8ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IDIwcmVtIDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMTAxMDE7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIC8qYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2ltZy9iZy1oZWxsby5qcGdcIik7Ki9cbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnNlY3Rpb24taGVsbG8ge1xuICAgICAgcGFkZGluZzogMjVyZW0gMDsgfSB9XG4gIC5zZWN0aW9uLWhlbGxvIC5zZWN0aW9uLWNvbnRlbnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxOyB9XG4gIC5zZWN0aW9uLWhlbGxvIGgyIHtcbiAgICBjb2xvcjogI2FhYTtcbiAgICBmb250LXNpemU6IDRlbTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgLnNlY3Rpb24taGVsbG8gaDIge1xuICAgICAgICBmb250LXNpemU6IDQuNGVtOyB9IH1cbiAgLnNlY3Rpb24taGVsbG86YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMyk7IH1cblxuLnNlY3Rpb24tcG9ydGZvbGlvIHtcbiAgcGFkZGluZzogMi41cmVtIDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMmYyZjI7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnNlY3Rpb24tcG9ydGZvbGlvIHtcbiAgICAgIHBhZGRpbmc6IDVyZW0gMCAxNXJlbTsgfSB9XG4gIC5zZWN0aW9uLXBvcnRmb2xpbyAucG9ydGZvbGlvLWl0ZW1zIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC01cHg7XG4gICAgbWFyZ2luLWxlZnQ6IC01cHg7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgIC5zZWN0aW9uLXBvcnRmb2xpbyAucG9ydGZvbGlvLWl0ZW1zIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtMTVweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0xNXB4O1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMjVkZWcpOyB9IH1cbiAgICAuc2VjdGlvbi1wb3J0Zm9saW8gLnBvcnRmb2xpby1pdGVtcyA+IC5wb3J0Zm9saW8taXRlbSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiA1cHg7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDVweDsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAgIC5zZWN0aW9uLXBvcnRmb2xpbyAucG9ydGZvbGlvLWl0ZW1zID4gLnBvcnRmb2xpby1pdGVtIHtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAtMTVweDtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IC0xNXB4OyB9IH1cbiAgICAgIC5zZWN0aW9uLXBvcnRmb2xpbyAucG9ydGZvbGlvLWl0ZW1zID4gLnBvcnRmb2xpby1pdGVtIC5wb3J0Zm9saW8tcGFuZWwge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgICAgIC5zZWN0aW9uLXBvcnRmb2xpbyAucG9ydGZvbGlvLWl0ZW1zID4gLnBvcnRmb2xpby1pdGVtIC5wb3J0Zm9saW8tcGFuZWwge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDsgfSB9XG4gIC5zZWN0aW9uLXBvcnRmb2xpbyAucG9ydGZvbGlvX19oZWFkaW5nIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTtcbiAgICB3aWR0aDogNDAwcHg7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMmVtIDA7XG4gICAgZm9udC1mYW1pbHk6IGJhc2lzLWdyb3Rlc3F1ZS1yZWd1bGFyLCAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFwiU2Vnb2UgVUlcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZiwgXCJBcHBsZSBDb2xvciBFbW9qaVwiLCBcIlNlZ29lIFVJIEVtb2ppXCIsIFwiU2Vnb2UgVUkgU3ltYm9sXCI7XG4gICAgZm9udC1zaXplOiAycmVtOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAuc2VjdGlvbi1wb3J0Zm9saW8gLnBvcnRmb2xpb19faGVhZGluZyB7XG4gICAgICAgIG1hcmdpbjogMTByZW0gMCA1cmVtOyB9IH1cblxuLnNlY3Rpb24tYWJvdXQge1xuICBwYWRkaW5nOiAxNXJlbSAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDEwMTAxO1xuICBjb2xvcjogI2YyZjJmMjsgfVxuXG4uc2VjdGlvbi1jb250YWN0IHtcbiAgcGFkZGluZzogMTVyZW0gMDtcbiAgdHJhbnNpdGlvbjogLjJzIGJhY2tncm91bmQtY29sb3IgZWFzZS1pbi1vdXQsIC4ycyBjb2xvciBlYXNlLWluLW91dDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAxMDEwMTtcbiAgY29sb3I6ICNlMmUyZTI7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnNlY3Rpb24tY29udGFjdCB7XG4gICAgICBtYXJnaW4tdG9wOiAtMTVyZW07XG4gICAgICBwYWRkaW5nLXRvcDogMjByZW07IH0gfVxuICAuc2VjdGlvbi1jb250YWN0LmludmVyc2Uge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmMmYyZjI7XG4gICAgY29sb3I6ICMwMTAxMDE7IH1cbiAgLnNlY3Rpb24tY29udGFjdCAuY29udGFjdC10ZXh0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAzZW07XG4gICAgZm9udC1zaXplOiAxLjZlbTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICAgICAuc2VjdGlvbi1jb250YWN0IC5jb250YWN0LXRleHQge1xuICAgICAgICBmb250LXNpemU6IDEuOGVtOyB9IH1cbiAgLnNlY3Rpb24tY29udGFjdCAuZm9ybV9fYnRuIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgYm9yZGVyOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2UyZTJlMjtcbiAgICBjb2xvcjogIzAxMDEwMTsgfVxuICAgIC5zZWN0aW9uLWNvbnRhY3QgLmZvcm1fX2J0bjphY3RpdmUsIC5zZWN0aW9uLWNvbnRhY3QgLmZvcm1fX2J0bjpmb2N1cywgLnNlY3Rpb24tY29udGFjdCAuZm9ybV9fYnRuOmhvdmVyIHtcbiAgICAgIGJvcmRlcjogMnB4IHNvbGlkICMwMTAxMDE7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTJlMmUyO1xuICAgICAgYm94LXNoYWRvdzogMCA1cHggMzBweCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuNC4wIExheW91dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypcbiogVXNhZ2U6IGh0dHBzOi8vc21hY3NzLmNvbS9ib29rL3R5cGUtbGF5b3V0XG4qKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbjUuMCBNaXNjXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKlxuKiBVc2FnZTogVXRpbGl0eSBjbGFzc2VzIHRoYXQgZG8gbm90IGZpdCBhbnl3aGVyZSBpbiBwYXJ0aWN1bGFyIGludG8gU01BQ1NTIChodHRwczovL3NtYWNzcy5jb20vYm9vay8pXG4qKi9cbi8qIFRleHQgbWVhbnQgb25seSBmb3Igc2NyZWVuIHJlYWRlcnMuICovXG4uc2NyZWVuLXJlYWRlci10ZXh0IHtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjbGlwOiByZWN0KDFweCwgMXB4LCAxcHgsIDFweCk7IH1cbiAgLnNjcmVlbi1yZWFkZXItdGV4dDpob3ZlciwgLnNjcmVlbi1yZWFkZXItdGV4dDphY3RpdmUsIC5zY3JlZW4tcmVhZGVyLXRleHQ6Zm9jdXMge1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdG9wOiA1cHg7XG4gICAgbGVmdDogNXB4O1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBwYWRkaW5nOiAxNXB4IDIzcHggMTRweDtcbiAgICBjbGlwOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmMWYxZjE7XG4gICAgYm94LXNoYWRvdzogMCAwIDJweCAycHggcmdiYSgwLCAwLCAwLCAwLjYpO1xuICAgIGNvbG9yOiAjMjkzNzQzO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbi5jbGVhcjo6YmVmb3JlLFxuLmNsZWFyOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IHRhYmxlOyB9XG5cbi5jbGVhcjo6YWZ0ZXIge1xuICBjbGVhcjogYm90aDsgfVxuXG4uYWxpZ25sZWZ0IHtcbiAgZmxvYXQ6IGxlZnQ7IH1cblxuLmFsaWducmlnaHQge1xuICBmbG9hdDogcmlnaHQ7IH1cblxuLnJlcXVpcmVkIHtcbiAgY29sb3I6ICNmMDA7IH1cblxuaW1nIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87IH1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuNi4wIFNoYWFhYWFhYWFhYWFhYW1lXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKlxuKiBVc2FnZTogQW55dGhpbmcgeW91IGFyZW4ndCBwcm91ZCBvZiwgb3IgaG9wZS9wbGFuIHRvIGZpeCBsYXRlci4gSG9wZWZ1bGx5IGVtcHR5LCBidXQgdXNlZnVsIGZvciBpZGVudGlmeWluZyBwYWluIHBvaW50cyB3aGVuIGl0J3Mgbm90LlxuKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG43LjAgT3ZlcnJpZGluZyBCb290c3RyYXAgU3R5bGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4iLCIvKlxuKiBVc2FnZTogaHR0cHM6Ly9zbWFjc3MuY29tL2Jvb2svdHlwZS1iYXNlXG4qKi9cbiIsIi8qXG4qIFVzYWdlOiBodHRwczovL3NtYWNzcy5jb20vYm9vay90eXBlLW1vZHVsZVxuKiovXG5cbkBpbXBvcnQgXCJnbGl0Y2hcIjtcbkBpbXBvcnQgXCJzb2NpYWwtbWVkaWFcIjtcbkBpbXBvcnQgXCJwb3J0Zm9saW8tcGFuZWxcIjtcbkBpbXBvcnQgXCJwb3J0Zm9saW8taXRlbVwiO1xuQGltcG9ydCBcImZvcm1cIjtcbkBpbXBvcnQgXCJhbmltYXRpb25zXCI7XG5cbmJvZHkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGEwYTBhO1xufVxuXG4uc2l0ZS1oZWFkZXIge1xuICBvcGFjaXR5OiAwO1xuXG4gICYuZml4ZWQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAxO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IGF1dG87XG4gICAgbGVmdDogMDtcbiAgfVxuXG4gIC5uYXZiYXIge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgfVxuXG4gIC5uYXZiYXItaW52ZXJzZSB7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gIH1cblxuICAubmF2YmFyLXJpZ2h0IHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgYSB7XG4gICAgY29sb3I6ICMwMDA7XG4gIH1cbn1cblxuLnNpdGUtZm9vdGVyIHtcbiAgcGFkZGluZzogNXJlbSAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTExO1xuXG4gICYuZml4ZWQge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB6LWluZGV4OiAtMTtcbiAgICB0b3A6IGF1dG87XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gIH1cbn1cblxuLnNlY3Rpb24taGVsbG8ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IDIwcmVtIDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMTAxMDE7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIC8qYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2ltZy9iZy1oZWxsby5qcGdcIik7Ki9cbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgQGluY2x1ZGUgcmVzcG9uZC10byh4cykge1xuICAgIHBhZGRpbmc6IDI1cmVtIDA7XG4gIH1cblxuICAuc2VjdGlvbi1jb250ZW50IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTtcbiAgfVxuXG4gIGgyIHtcbiAgICBjb2xvcjogI2FhYTtcbiAgICBmb250LXNpemU6IDRlbTtcblxuICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oeHMpIHtcbiAgICAgIGZvbnQtc2l6ZTogNC40ZW07XG4gICAgfVxuICB9XG5cbiAgJjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCAsIC4zKTtcbiAgfVxufVxuXG4uc2VjdGlvbi1wb3J0Zm9saW8ge1xuICBwYWRkaW5nOiAyLjVyZW0gMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjJmMjtcblxuICBAaW5jbHVkZSByZXNwb25kLXRvKHhzKSB7XG4gICAgcGFkZGluZzogNXJlbSAwIDE1cmVtO1xuICB9XG5cbiAgLnBvcnRmb2xpby1pdGVtcyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtNXB4O1xuICAgIG1hcmdpbi1sZWZ0OiAtNXB4O1xuXG4gICAgQGluY2x1ZGUgcmVzcG9uZC10byh4cykge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMTVweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMTVweDtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKC0yNWRlZyk7XG4gICAgfVxuXG4gICAgPiAucG9ydGZvbGlvLWl0ZW0ge1xuICAgICAgLy9zY3NzLWxpbnQ6ZGlzYWJsZSBOZXN0aW5nRGVwdGgsIFNlbGVjdG9yRGVwdGhcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDVweDtcbiAgICAgIHBhZGRpbmctbGVmdDogNXB4O1xuXG4gICAgICBAaW5jbHVkZSByZXNwb25kLXRvKHhzKSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IC0xNXB4O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IC0xNXB4O1xuICAgICAgfVxuXG4gICAgICAucG9ydGZvbGlvLXBhbmVsIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcblxuICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKHhzKSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5wb3J0Zm9saW9fX2hlYWRpbmcge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxO1xuICAgIHdpZHRoOiA0MDBweDtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAyZW0gMDtcbiAgICBmb250LWZhbWlseTogJGJhc2ljR3JvdGVzcXVlUmVndWxhcjtcbiAgICBmb250LXNpemU6IDJyZW07XG5cbiAgICBAaW5jbHVkZSByZXNwb25kLXRvKHhzKSB7XG4gICAgICBtYXJnaW46IDEwcmVtIDAgNXJlbTtcbiAgICB9XG4gIH1cbn1cblxuLnNlY3Rpb24tYWJvdXQge1xuICBwYWRkaW5nOiAxNXJlbSAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDEwMTAxO1xuICBjb2xvcjogI2YyZjJmMjtcbn1cblxuLnNlY3Rpb24tY29udGFjdCB7XG4gIHBhZGRpbmc6IDE1cmVtIDA7XG4gIHRyYW5zaXRpb246IC4ycyBiYWNrZ3JvdW5kLWNvbG9yIGVhc2UtaW4tb3V0LCAuMnMgY29sb3IgZWFzZS1pbi1vdXQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMTAxMDE7XG4gIGNvbG9yOiAjZTJlMmUyO1xuXG4gIEBpbmNsdWRlIHJlc3BvbmQtdG8oeHMpIHtcbiAgICBtYXJnaW4tdG9wOiAtMTVyZW07XG4gICAgcGFkZGluZy10b3A6IDIwcmVtO1xuICB9XG5cbiAgJi5pbnZlcnNlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJmMmYyO1xuICAgIGNvbG9yOiAjMDEwMTAxO1xuICB9XG5cbiAgLmNvbnRhY3QtdGV4dCB7XG4gICAgbWFyZ2luLWJvdHRvbTogM2VtO1xuICAgIGZvbnQtc2l6ZTogMS42ZW07XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgQGluY2x1ZGUgcmVzcG9uZC10byhtZCkge1xuICAgICAgZm9udC1zaXplOiAxLjhlbTtcbiAgICB9XG4gIH1cblxuICAuZm9ybV9fYnRuIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgYm9yZGVyOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2UyZTJlMjtcbiAgICBjb2xvcjogIzAxMDEwMTtcblxuICAgICY6YWN0aXZlLFxuICAgICY6Zm9jdXMsXG4gICAgJjpob3ZlciB7XG4gICAgICBib3JkZXI6IDJweCBzb2xpZCAjMDEwMTAxO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2UyZTJlMjtcbiAgICAgIGJveC1zaGFkb3c6IDAgNXB4IDMwcHggcmdiYSgwLCAwLCAwLCAuMik7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuICB9XG59XG4iLCIvLyBodHRwczovL2Nzcy10cmlja3MuY29tL2dsaXRjaC1lZmZlY3QtdGV4dC1pbWFnZXMtc3ZnL1xuXG4kYmdDb2xvcjogIzAxMDEwMTtcbiR0ZXh0Q29sb3I6ICNhYWE7XG5cbi5nbGl0Y2gge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZDogJGJnQ29sb3I7XG4gIGNvbG9yOiAkdGV4dENvbG9yO1xuXG4gICY6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IGF0dHIoZGF0YS10ZXh0KTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDJweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGNsaXA6IHJlY3QoMCwgOTAwcHgsIDAsIDApO1xuICAgIGFuaW1hdGlvbjogbm9pc2UtYW5pbS0xIDJzIGluZmluaXRlIGxpbmVhciBhbHRlcm5hdGUtcmV2ZXJzZTtcbiAgICBiYWNrZ3JvdW5kOiAkYmdDb2xvcjtcbiAgICBjb2xvcjogJHRleHRDb2xvcjtcbiAgICB0ZXh0LXNoYWRvdzogLTFweCAwICNmMDA7XG4gIH1cblxuXG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiBhdHRyKGRhdGEtdGV4dCk7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAtMnB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgY2xpcDogcmVjdCgwLCA5MDBweCwgMCwgMCk7XG4gICAgYW5pbWF0aW9uOiBub2lzZS1hbmltLTIgM3MgaW5maW5pdGUgbGluZWFyIGFsdGVybmF0ZS1yZXZlcnNlO1xuICAgIGJhY2tncm91bmQ6ICRiZ0NvbG9yO1xuICAgIGNvbG9yOiAkdGV4dENvbG9yO1xuICAgIHRleHQtc2hhZG93OiAxcHggMCAjMDBmO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgbm9pc2UtYW5pbS0xIHtcbiAgJHN0ZXBzOiAyMDtcbiAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAkc3RlcHMge1xuICAgICN7cGVyY2VudGFnZSgkaSAqICgxIC8gJHN0ZXBzIC8gMTApKX0ge1xuICAgICAgY2xpcDogcmVjdChyYW5kb20oMTAwKSArIHB4LCA5OTk5cHgsIHJhbmRvbSgxMDApICsgcHgsIDApO1xuICAgIH1cbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIG5vaXNlLWFuaW0tMiB7XG4gICRzdGVwczogMjA7XG4gIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggJHN0ZXBzIHtcbiAgICAje3BlcmNlbnRhZ2UoJGkgKiAoMSAvICRzdGVwcyAvIDEwKSl9IHtcbiAgICAgIGNsaXA6IHJlY3QocmFuZG9tKDEwMCkgKyBweCwgOTk5OXB4LCByYW5kb20oMTAwKSArIHB4LCAwKTtcbiAgICB9XG4gIH1cbn1cbiIsIi5zb2NpYWwtbWVkaWEge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGZvbnQtZmFtaWx5OiAkYmFzaWNHcm90ZXNxdWVCb2xkO1xuXG4gICZfX2l0ZW0ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgJl9fbGluayB7XG4gICAgY29sb3I6ICNlMmUyZTI7XG4gICAgZm9udC1zaXplOiAyZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgICY6YWN0aXZlLFxuICAgICY6Zm9jdXMsXG4gICAgJjpob3ZlciB7XG5cbiAgICAgIC8vIHNjc3MtbGludDpkaXNhYmxlIFNlbGVjdG9yRGVwdGgsIE5lc3RpbmdEZXB0aFxuXG4gICAgICAmLmxpbmtlZGluIHtcbiAgICAgICAgY29sb3I6ICMwMDdiYjU7XG4gICAgICB9XG5cbiAgICAgICYuZmFjZWJvb2sge1xuICAgICAgICBjb2xvcjogIzNiNTk5ODtcbiAgICAgIH1cblxuICAgICAgJi5pbnN0YWdyYW0ge1xuICAgICAgICBjb2xvcjogI2MzMmFhMztcbiAgICAgIH1cblxuICAgICAgJi5iaXRidWNrZXQge1xuICAgICAgICBjb2xvcjogIzA0NDVhYztcbiAgICAgIH1cblxuICAgICAgJi5lbWFpbCB7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX2ljb24ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbiIsIi5wb3J0Zm9saW8tcGFuZWwge1xuICAkYm9yZGVyV2VpZ2h0OiA1cHg7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogMDtcblxuICAmX19pbWFnZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIGltZyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbi1ib3R0b206IC0gJGJvcmRlcldlaWdodDtcbiAgICB9XG4gIH1cblxuICAmX19ib3JkZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxMDAlIGF1dG87XG5cbiAgICAmX19iZyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICB9XG5cbiAgICAmX19iZzphZnRlciB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIC4yKTtcbiAgICB9XG5cbiAgICAmLS1sZWZ0IHtcbiAgICAgIHRvcDogMDtcbiAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbGVmdDogLSRib3JkZXJXZWlnaHQ7XG4gICAgICB3aWR0aDogJGJvcmRlcldlaWdodDtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKSB0cmFuc2xhdGVZKCRib3JkZXJXZWlnaHQgLyAyKSByb3RhdGVZKDE4MGRlZyk7XG4gICAgfVxuXG4gICAgJi0tbGVmdCAmX19iZyB7XG4gICAgICB0cmFuc2Zvcm06IHNrZXdZKDQ1ZGVnKTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogYXV0byBjYWxjKDEwMCUgKyAjeyRib3JkZXJXZWlnaHR9KTtcbiAgICB9XG5cbiAgICAmLS1ib3R0b20ge1xuICAgICAgdG9wOiBhdXRvO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBib3R0b206IC0kYm9yZGVyV2VpZ2h0O1xuICAgICAgbGVmdDogMDtcbiAgICAgIGhlaWdodDogJGJvcmRlcldlaWdodDtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtJGJvcmRlcldlaWdodCAvIDIpO1xuICAgIH1cblxuICAgICYtLWJvdHRvbSAmX19iZyB7XG4gICAgICB0cmFuc2Zvcm06IHNrZXdYKC00NWRlZyk7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDEwMCU7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgYXV0bztcbiAgICB9XG4gIH1cbn1cbiIsIlxuLnBvcnRmb2xpby1pdGVtIHtcbiAgJl9fbGluayB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRyYW5zaXRpb246IC4ycyB0cmFuc2Zvcm0gZWFzZS1pbi1vdXQsIC4ycyBvcGFjaXR5IGVhc2UtaW4tb3V0LCAuMnMgYm94LXNoYWRvdyBlYXNlLWluLW91dDtcblxuICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oeHMpIHtcbiAgICAgIHRyYW5zZm9ybTogc2tld1goMjVkZWcpO1xuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgYm94LXNoYWRvdzogMCA1cHggNzVweCByZ2JhKDAsIDAsIDAsIC41KTtcblxuICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byh4cykge1xuICAgICAgICB0cmFuc2Zvcm06IHNrZXdYKDI1ZGVnKSB0cmFuc2xhdGVYKDE1cHgpIHRyYW5zbGF0ZVkoLTE1cHgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX2ltYWdlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcblxuICAgIC5wb3J0Zm9saW8tcGFuZWxfX2ltYWdlX19vdmVybGF5IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHRyYW5zaXRpb246IC40cyBvcGFjaXR5IGVhc2UtaW4tb3V0O1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgfVxuXG4gICAgLnBvcnRmb2xpby1wYW5lbF9fYm9yZGVyX19iZzphZnRlciB7XG4gICAgICB0cmFuc2l0aW9uOiAuNHMgYmFja2dyb3VuZC1jb2xvciBlYXNlLWluLW91dDtcbiAgICB9XG4gIH1cblxuICAmX19saW5rOmhvdmVyICZfX2ltYWdlIHtcblxuICAgIC5wb3J0Zm9saW8tcGFuZWxfX2ltYWdlX19vdmVybGF5IHtcbiAgICAgIG9wYWNpdHk6IC40O1xuICAgIH1cblxuICAgIC5wb3J0Zm9saW8tcGFuZWxfX2JvcmRlcl9fYmc6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAuMik7XG4gICAgfVxuICB9XG5cbiAgJl9fdXJsIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogMTE7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogNTAlO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKC01MCUpO1xuICAgIGNvbG9yOiAjMjIyO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oeHMpIHtcbiAgICAgIHRyYW5zZm9ybTogc2tld1goLTI1ZGVnKSB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoLTUwJSkgcm90YXRlKDI1ZGVnKTtcbiAgICB9XG4gIH1cblxuICAmX191cmwtYm94IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTtcbiAgICBwYWRkaW5nOiAuMjVlbSAxZW07XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDE1cHgpO1xuICAgIHRyYW5zaXRpb246IC40cyBvcGFjaXR5IGVhc2UtaW4tb3V0LCAuNHMgdHJhbnNmb3JtIGVhc2UtaW4tb3V0O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICMwMDA7XG4gICAgYm9yZGVyLXJhZGl1czogNXJlbTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gICAgYm94LXNoYWRvdzogMCAwIDUwcHggcmdiYSgwLCAwLCAwLCAuNyk7XG4gICAgY29sb3I6ICNmZmY7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiBhdXRvO1xuICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICBib3R0b206IDA7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICBtYXJnaW4tdG9wOiAtMnB4O1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoNTAlKSByb3RhdGUoNDVkZWcpO1xuICAgICAgYm9yZGVyOiA1cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItcmlnaHQtY29sb3I6ICMwMDA7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjMDAwO1xuICAgIH1cbiAgfVxuXG4gICZfX2xpbms6aG92ZXIgJl9fdXJsLWJveCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IC40cztcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG4iLCIvLyBSZW0gb3V0cHV0IHdpdGggcHggZmFsbGJhY2tcbkBtaXhpbiBmb250LXNpemUoJHNpemVWYWx1ZTogMSkge1xuICAvLyBmb250LXNpemU6ICgkc2l6ZVZhbHVlICogMTYpICogMXB4O1xuICBmb250LXNpemU6ICRzaXplVmFsdWUgKiAxcmVtO1xufVxuXG4vLyBDZW50ZXIgYmxvY2tcbkBtaXhpbiBjZW50ZXItYmxvY2sge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cblxuLy8gQ2xlYXJmaXhcbkBtaXhpbiBjbGVhcmZpeCgpIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogdGFibGU7XG59XG5cbi8vIENsZWFyIGFmdGVyIChub3QgYWxsIGNsZWFyZml4IG5lZWQgdGhpcyBhbHNvKVxuQG1peGluIGNsZWFyZml4LWFmdGVyKCkge1xuICBjbGVhcjogYm90aDtcbn1cblxuQG1peGluIGJsb2NrLXZjZW50ZXIoKSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbn1cblxuQG1peGluIHJlc3BvbmQtdG8oJGJyZWFrcG9pbnQpIHtcbiAgQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJGJyZWFrcG9pbnQpIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogI3ttYXAtZ2V0KCRicmVha3BvaW50cywgJGJyZWFrcG9pbnQpfSkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAd2FybiBcIlVuZm9ydHVuYXRlbHksIG5vIHZhbHVlIGNvdWxkIGJlIHJldHJpZXZlZCBmcm9tIGAjeyRicmVha3BvaW50fWAuIFwiXG4gICAgICAgICsgXCJQbGVhc2UgbWFrZSBzdXJlIGl0IGlzIGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AgbWFwLlwiO1xuICB9XG59XG5cbkBtaXhpbiBmYSgpIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250OiBub3JtYWwgbm9ybWFsIG5vcm1hbCAxNHB4LzEgRm9udEF3ZXNvbWU7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgdGV4dC1yZW5kZXJpbmc6IGF1dG87XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbn1cbiIsIi5mb3JtLS1jb250YWN0IHtcbiAgd2lkdGg6IDUwMHB4O1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMCBhdXRvO1xufVxuXG4uZm9ybSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAucmVxdWlyZWQge1xuICAgIGNvbG9yOiAjYTk0NDQyO1xuICB9XG5cbiAgJl9fZ3JvdXAge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tYm90dG9tOiAzcmVtO1xuICB9XG5cbiAgJl9faW5wdXQsXG4gICZfX2xhYmVsIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgcGFkZGluZzogLjI1ZW0gMDtcbiAgICBmb250LXNpemU6IDEuNGVtO1xuICB9XG5cbiAgJl9faW5wdXQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRyYW5zaXRpb246IC4ycyBib3JkZXIgZWFzZS1pbi1vdXQ7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjYWFhO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6ICNmMmYyZjI7XG5cbiAgICAuaW52ZXJzZSAmIHtcbiAgICAgIGNvbG9yOiAjMDAwO1xuICAgIH1cblxuICAgICY6Zm9jdXMge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNmMmYyZjI7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICB9XG4gIH1cblxuICAmX19sYWJlbCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGNvbG9yOiAjYWFhO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG4gICAgJi0taGlkZGVuIHtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxuXG4gICAgJi0tcGxhY2Vob2xkZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1cHg7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvdHRvbTogYXV0bztcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMS41cmVtKTtcbiAgICAgIHRyYW5zaXRpb246IC4ycyBjb2xvciBlYXNlLWluLW91dCwgLjJzIGZvbnQtc2l6ZSBlYXNlLWluLW91dCwgLjJzIHBhZGRpbmcgZWFzZS1pbi1vdXQsIC4ycyB0cmFuc2Zvcm0gZWFzZS1pbi1vdXQ7XG4gICAgfVxuICB9XG5cbiAgJl9fbGFiZWwtLWhpZGRlbixcbiAgJl9faW5wdXQtLWZpbGxlZCArICZfX2xhYmVsLFxuICAmX19pbnB1dDpmb2N1cyArICZfX2xhYmVsIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICBjb2xvcjogI2FhYTtcbiAgICBmb250LXNpemU6IDFlbTtcbiAgICBsaW5lLWhlaWdodDogMXJlbTtcbiAgfVxuXG4gICZfX2J0biB7XG4gICAgcGFkZGluZzogLjVlbSAyZW07XG4gICAgdHJhbnNpdGlvbjogLjJzIGJhY2tncm91bmQtY29sb3IgZWFzZS1pbi1vdXQ7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDVlbTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYWFhO1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIGZvbnQtZmFtaWx5OiAkYmFzaWNHcm90ZXNxdWVCb2xkO1xuICAgIGZvbnQtc2l6ZTogMS40ZW07XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgJjphY3RpdmUsXG4gICAgJjpmb2N1cyxcbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgJl9fc3Bpbm5lciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IDExO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMTAxMDE7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgLypiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9pbWcvc3Bpbm5lci5naWYnKTsqL1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTgwcHg7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgICAmX19jb250ZW50IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBib3R0b206IGF1dG87XG4gICAgICBsZWZ0OiAwO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cblxuICAgICZfX2NvbnRlbnRfX3RleHQge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW4tYm90dG9tOiAuNWVtO1xuICAgICAgZm9udC1mYW1pbHk6ICRiYXNpY0dyb3Rlc3F1ZUJvbGQ7XG4gICAgICBmb250LXNpemU6IDEuMmVtO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG5cbiAgICAmX19jb250ZW50X19lbW9qaSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBhZGRpbmc6IC4xZW07XG4gICAgICBmb250LXNpemU6IDEuNGVtO1xuICAgIH1cblxuICAgICZfX2NvbnRlbnRfX2Vtb2ppID4gc3BhbiB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgcGFkZGluZzogMi41cHg7XG4gICAgICB0cmFuc2l0aW9uOiAuNHMgb3BhY2l0eSBlYXNlLWluLW91dDtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxuXG4gICAgJi5pbiB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICB9XG5cbiAgICAmLmluICZfX2NvbnRlbnRfX2Vtb2ppID4gc3BhbiB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1cblxuICAgICRlbW9qaUNvdW50OiA3O1xuICAgIEBmb3IgJGkgZnJvbSAxIHRvICRlbW9qaUNvdW50IHtcbiAgICAgICYuaW4gJl9fY29udGVudF9fZW1vamkgPiBzcGFuOm50aC1vZi10eXBlKCAjeyRpfSApIHtcbiAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogJGkgKyBzO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX21lc3NhZ2Uge1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGZvbnQtZmFtaWx5OiAkYmFzaWNHcm90ZXNxdWVCb2xkO1xuICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxufVxuIiwiLnNlY3Rpb24taGVsbG8ge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gIGgyIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbiAgICB0cmFuc2l0aW9uOiAxLjVzIHRyYW5zZm9ybSBlYXNlLWluLW91dCxcbiAgICAgICAgICAgICAgICAycyBvcGFjaXR5IGVhc2UtaW4tb3V0O1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICAmLmluIGgyIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG4uc2VjdGlvbi1wb3J0Zm9saW8ge1xuXG4gIC5wb3J0Zm9saW9fX2hlYWRpbmcge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG4gICAgdHJhbnNpdGlvbjogMXMgdHJhbnNmb3JtIGVhc2UtaW4tb3V0LFxuICAgICAgICAgICAgICAgIDFzIG9wYWNpdHkgZWFzZS1pbi1vdXQ7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gICYuaW4gLnBvcnRmb2xpb19faGVhZGluZyB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAucG9ydGZvbGlvLWl0ZW1zLWNvbnRhaW5lciB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwMHB4KTtcbiAgICB0cmFuc2l0aW9uOiAxLjVzIHRyYW5zZm9ybSBlYXNlLWluLW91dCAxcyxcbiAgICAgICAgICAgICAgICAzcyBvcGFjaXR5IGVhc2UtaW4tb3V0IDFzO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICAmLmluIC5wb3J0Zm9saW8taXRlbXMtY29udGFpbmVyIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG4uc2VjdGlvbi1jb250YWN0IHtcbiAgcCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDUwcHgpO1xuICAgIHRyYW5zaXRpb246IC43NXMgdHJhbnNmb3JtIGVhc2UtaW4tb3V0IC41cyxcbiAgICAgICAgICAgICAgICAxLjVzIG9wYWNpdHkgZWFzZS1pbi1vdXQgLjVzO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICAmLmluIHAge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgZm9ybSxcbiAgLmJ0bi0tY29udGFjdCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDUwcHgpO1xuICAgIHRyYW5zaXRpb246IC41cyB0cmFuc2Zvcm0gZWFzZS1pbi1vdXQgMnMsXG4gICAgICAgICAgICAgICAgMXMgb3BhY2l0eSBlYXNlLWluLW91dCAycztcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgJi5pbiBmb3JtLFxuICAmLmluIC5idG4tLWNvbnRhY3Qge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG4iLCIvKlxuKiBVc2FnZTogaHR0cHM6Ly9zbWFjc3MuY29tL2Jvb2svdHlwZS1sYXlvdXRcbioqL1xuIiwiLypcbiogVXNhZ2U6IFV0aWxpdHkgY2xhc3NlcyB0aGF0IGRvIG5vdCBmaXQgYW55d2hlcmUgaW4gcGFydGljdWxhciBpbnRvIFNNQUNTUyAoaHR0cHM6Ly9zbWFjc3MuY29tL2Jvb2svKVxuKiovXG5cbkBpbXBvcnQgXCJhY2Nlc3NpYmlsaXR5XCI7XG5AaW1wb3J0IFwiY2xlYXJpbmdzXCI7XG5cbi5hbGlnbmxlZnQge1xuICBmbG9hdDogbGVmdDtcbn1cblxuLmFsaWducmlnaHQge1xuICBmbG9hdDogcmlnaHQ7XG59XG5cbi5yZXF1aXJlZCB7XG4gIGNvbG9yOiAjZjAwO1xufVxuXG5pbWcge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbn1cbiIsIi8qIFRleHQgbWVhbnQgb25seSBmb3Igc2NyZWVuIHJlYWRlcnMuICovXG4vLyBzY3NzLWxpbnQ6ZGlzYWJsZSBJbXBvcnRhbnRSdWxlXG4uc2NyZWVuLXJlYWRlci10ZXh0IHtcblxuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMXB4LCAxcHgsIDFweCwgMXB4KTtcblxuICAmOmhvdmVyLFxuICAmOmFjdGl2ZSxcbiAgJjpmb2N1cyB7XG5cbiAgICBAaW5jbHVkZSBmb250LXNpemUoLjg3NSk7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdG9wOiA1cHg7XG4gICAgbGVmdDogNXB4O1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBwYWRkaW5nOiAxNXB4IDIzcHggMTRweDtcbiAgICBjbGlwOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9fYmFja2dyb3VuZC1zY3JlZW47XG4gICAgYm94LXNoYWRvdzogMCAwIDJweCAycHggcmdiYSgwLCAwLCAwLCAuNik7XG4gICAgY29sb3I6ICRjb2xvcl9fdGV4dC1zY3JlZW47XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cbn1cbiIsIiRjb2xvcl9fYmFja2dyb3VuZC1ib2R5OiAjZmZmO1xuJGNvbG9yX19iYWNrZ3JvdW5kLXNjcmVlbjogI2YxZjFmMTtcbiRjb2xvcl9fYmFja2dyb3VuZC1ocjogI2ZhZjVlNTtcbiRjb2xvcl9fYmFja2dyb3VuZC1idXR0b246ICNlNmU2ZTY7XG4kY29sb3JfX2JhY2tncm91bmQtcHJlOiAjZWVlO1xuJGNvbG9yX19iYWNrZ3JvdW5kLWluczogI2ZmZjljMDtcblxuJGNvbG9yX190ZXh0LXNjcmVlbjogIzI5Mzc0MztcbiRjb2xvcl9fdGV4dC1pbnB1dDogIzY2NjtcbiRjb2xvcl9fdGV4dC1pbnB1dC1mb2N1czogIzExMTtcbiRjb2xvcl9fbGluazogIzI5Mzc0MztcbiRjb2xvcl9fbGluay12aXNpdGVkOiAjMjkzNzQzO1xuJGNvbG9yX19saW5rLWhvdmVyOiAjMDAwO1xuJGNvbG9yX190ZXh0LW1haW46ICMyOTM3NDM7XG5cbiRjb2xvcl9fYm9yZGVyLWJ1dHRvbjogI2NjYyAjY2NjICNiYmI7XG4kY29sb3JfX2JvcmRlci1idXR0b24taG92ZXI6ICNjY2MgI2JiYiAjYWFhO1xuJGNvbG9yX19ib3JkZXItYnV0dG9uLWZvY3VzOiAjYWFhICNiYmIgI2JiYjtcbiRjb2xvcl9fYm9yZGVyLWlucHV0OiAjY2NjO1xuJGNvbG9yX19ib3JkZXItYWJicjogIzY2NjtcbiIsIi5jbGVhcjo6YmVmb3JlLFxuLmNsZWFyOjphZnRlciB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xufVxuXG4uY2xlYXI6OmFmdGVyIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXgtYWZ0ZXI7XG59XG4iLCIvKlxuKiBVc2FnZTogQW55dGhpbmcgeW91IGFyZW4ndCBwcm91ZCBvZiwgb3IgaG9wZS9wbGFuIHRvIGZpeCBsYXRlci4gSG9wZWZ1bGx5IGVtcHR5LCBidXQgdXNlZnVsIGZvciBpZGVudGlmeWluZyBwYWluIHBvaW50cyB3aGVuIGl0J3Mgbm90LlxuKiovXG4iXX0= */
