@charset "UTF-8";
/*
* Scut, a collection of Sass utilities
* to ease and improve our implementations of common style-code patterns.
* v1.4.0
* Docs at http://davidtheclark.github.io/scut
*/
/* perfect-scrollbar v0.6.16 */
.ps-container {
  -ms-touch-action: auto;
  touch-action: auto;
  overflow: hidden !important;
  -ms-overflow-style: none; }

@supports (-ms-overflow-style: none) {
  .ps-container {
    overflow: auto !important; } }

@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
  .ps-container {
    overflow: auto !important; } }

.ps-container.ps-active-x > .ps-scrollbar-x-rail,
.ps-container.ps-active-y > .ps-scrollbar-y-rail {
  display: block;
  background-color: transparent; }

.ps-container.ps-in-scrolling.ps-x > .ps-scrollbar-x-rail {
  background-color: #eee;
  opacity: 0.9; }

.ps-container.ps-in-scrolling.ps-x > .ps-scrollbar-x-rail > .ps-scrollbar-x {
  background-color: #999;
  height: 11px; }

.ps-container.ps-in-scrolling.ps-y > .ps-scrollbar-y-rail {
  background-color: #eee;
  opacity: 0.9; }

.ps-container.ps-in-scrolling.ps-y > .ps-scrollbar-y-rail > .ps-scrollbar-y {
  background-color: #999;
  width: 11px; }

.ps-container > .ps-scrollbar-x-rail {
  display: none;
  position: absolute;
  /* please don't change 'position' */
  opacity: 0;
  transition: background-color .2s linear, opacity .2s linear;
  bottom: 0px;
  /* there must be 'bottom' for ps-scrollbar-x-rail */
  height: 15px; }

.ps-container > .ps-scrollbar-x-rail > .ps-scrollbar-x {
  position: absolute;
  /* please don't change 'position' */
  background-color: #aaa;
  border-radius: 6px;
  transition: background-color .2s linear, height .2s linear, width .2s ease-in-out, border-radius .2s ease-in-out;
  bottom: 2px;
  /* there must be 'bottom' for ps-scrollbar-x */
  height: 6px; }

.ps-container > .ps-scrollbar-x-rail:hover > .ps-scrollbar-x, .ps-container > .ps-scrollbar-x-rail:active > .ps-scrollbar-x {
  height: 11px; }

.ps-container > .ps-scrollbar-y-rail {
  display: none;
  position: absolute;
  /* please don't change 'position' */
  opacity: 0;
  transition: background-color .2s linear, opacity .2s linear;
  right: 0;
  /* there must be 'right' for ps-scrollbar-y-rail */
  width: 15px; }

.ps-container > .ps-scrollbar-y-rail > .ps-scrollbar-y {
  position: absolute;
  /* please don't change 'position' */
  background-color: #aaa;
  border-radius: 6px;
  transition: background-color .2s linear, height .2s linear, width .2s ease-in-out, border-radius .2s ease-in-out;
  right: 2px;
  /* there must be 'right' for ps-scrollbar-y */
  width: 6px; }

.ps-container > .ps-scrollbar-y-rail:hover > .ps-scrollbar-y, .ps-container > .ps-scrollbar-y-rail:active > .ps-scrollbar-y {
  width: 11px; }

.ps-container:hover.ps-in-scrolling.ps-x > .ps-scrollbar-x-rail {
  background-color: #eee;
  opacity: 0.9; }

.ps-container:hover.ps-in-scrolling.ps-x > .ps-scrollbar-x-rail > .ps-scrollbar-x {
  background-color: #999;
  height: 11px; }

.ps-container:hover.ps-in-scrolling.ps-y > .ps-scrollbar-y-rail {
  background-color: #eee;
  opacity: 0.9; }

.ps-container:hover.ps-in-scrolling.ps-y > .ps-scrollbar-y-rail > .ps-scrollbar-y {
  background-color: #999;
  width: 11px; }

.ps-container:hover > .ps-scrollbar-x-rail,
.ps-container:hover > .ps-scrollbar-y-rail {
  opacity: 0.6; }

.ps-container:hover > .ps-scrollbar-x-rail:hover {
  background-color: #eee;
  opacity: 0.9; }

.ps-container:hover > .ps-scrollbar-x-rail:hover > .ps-scrollbar-x {
  background-color: #999; }

.ps-container:hover > .ps-scrollbar-y-rail:hover {
  background-color: #eee;
  opacity: 0.9; }

.ps-container:hover > .ps-scrollbar-y-rail:hover > .ps-scrollbar-y {
  background-color: #999; }

/**
* Media queries
*/
html {
  box-sizing: border-box; }

*, *:before, *:after {
  box-sizing: inherit; }

body {
  -webkit-font-smoothing: antialiased; }

*, *:before, *:after {
  -webkit-font-smoothing: inherit; }

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: 1em;
  font-weight: normal;
  margin: 0; }

b {
  font-weight: normal; }

label,
select,
option,
button {
  cursor: pointer; }

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

textarea {
  resize: vertical; }

button,
[type="button"],
[type="submit"],
[type="reset"] {
  background: transparent;
  border: 0;
  color: inherit;
  font: inherit;
  margin: 0;
  padding: 0;
  width: auto;
  -webkit-appearance: none;
  -webkit-font-smoothing: antialiased;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none; }
  button::-moz-focus-inner,
  [type="button"]::-moz-focus-inner,
  [type="submit"]::-moz-focus-inner,
  [type="reset"]::-moz-focus-inner {
    padding: 0;
    border: 0; }

p:first-of-type {
  margin-top: 0; }

p:last-of-type {
  margin-bottom: 0; }

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

figure {
  margin: 0; }

@font-face {
  font-family: "Lato";
  font-weight: normal;
  font-style: normal;
  src: url("../../assets/fonts/lato-v11-latin-regular.eot");
  src: url("../../assets/fonts/lato-v11-latin-regular.eot?#iefix") format("embedded-opentype"), url("../../assets/fonts/lato-v11-latin-regular.woff2") format("woff2"), url("../../assets/fonts/lato-v11-latin-regular.woff") format("woff"), url("../../assets/fonts/lato-v11-latin-regular.ttf") format("truetype"), url("../../assets/fonts/lato-v11-latin-regular.svg#Lato") format("svg"); }

@font-face {
  font-family: "LatoLight";
  font-weight: normal;
  font-style: normal;
  src: url("../../assets/fonts/lato-v11-latin-300.eot");
  src: url("../../assets/fonts/lato-v11-latin-300.eot?#iefix") format("embedded-opentype"), url("../../assets/fonts/lato-v11-latin-300.woff2") format("woff2"), url("../../assets/fonts/lato-v11-latin-300.woff") format("woff"), url("../../assets/fonts/lato-v11-latin-300.ttf") format("truetype"), url("../../assets/fonts/lato-v11-latin-300.svg#LatoLight") format("svg"); }

@font-face {
  font-family: "LatoBold";
  font-weight: normal;
  font-style: normal;
  src: url("../../assets/fonts/lato-v11-latin-700.eot");
  src: url("../../assets/fonts/lato-v11-latin-700.eot?#iefix") format("embedded-opentype"), url("../../assets/fonts/lato-v11-latin-700.woff2") format("woff2"), url("../../assets/fonts/lato-v11-latin-700.woff") format("woff"), url("../../assets/fonts/lato-v11-latin-700.ttf") format("truetype"), url("../../assets/fonts/lato-v11-latin-700.svg#LatoBold") format("svg"); }

body {
  margin: 0;
  padding: 0; }

.payment {
  overflow: hidden;
  font-family: "Lato", sans-serif;
  font-size: 90%;
  -webkit-font-smoothing: antialiased;
  color: #ffffff; }
  .payment:after {
    content: "";
    display: table;
    clear: both; }
  @media screen and (max-width: 399px) {
    .payment {
      font-size: 14px; } }
  .payment h2 {
    font-family: "LatoLight", sans-serif;
    font-size: 1.9375em; }
    @media screen and (max-width: 1279px) {
      .payment h2 {
        font-size: 1.625em; } }
  .payment ul {
    padding: 0;
    margin: 0; }
    .payment ul li {
      list-style-type: none; }
  .payment a {
    text-decoration: none;
    color: inherit;
    outline: none; }
  .payment input::-webkit-input-placeholder {
    color: #ffffff;
    font-family: "LatoLight", sans-serif; }
  .payment input::-moz-placeholder {
    color: #ffffff;
    font-family: "LatoLight", sans-serif; }
  .payment input:-moz-placeholder {
    color: #ffffff;
    font-family: "LatoLight", sans-serif; }
  .payment input:-ms-input-placeholder {
    color: #ffffff;
    font-family: "LatoLight", sans-serif; }
  .payment-main {
    position: relative;
    height: 100vh;
    padding-left: 3.125em;
    background-color: #1a2451;
    overflow: auto; }
    @media screen and (min-width: 1280px) {
      .payment-main {
        width: 75%;
        float: left; } }
    @media screen and (max-width: 767px) {
      .payment-main {
        padding-top: 3.125em; } }
    @media screen and (max-width: 499px) {
      .payment-main {
        padding-top: 6.25em; } }
  .payment-menu {
    position: relative;
    height: 3.125em;
    border-bottom: 1px solid #48535d; }
    @media screen and (max-width: 767px) {
      .payment-menu {
        z-index: 3;
        position: fixed;
        top: 0;
        right: 0;
        left: 3.125em;
        background: #1a2451; } }
    .payment-menu--master {
      width: 3.75em;
      position: absolute;
      top: 0.5em;
      right: 0.625em;
      bottom: 0; }
    .payment-menu--dot1 {
      width: 0.625em;
      height: 0.625em;
      position: absolute;
      top: 1.25em;
      right: 5.3125em;
      bottom: 0;
      background: #ccc;
      border-radius: 50px; }
      @media screen and (max-width: 767px) {
        .payment-menu--dot1 {
          position: absolute;
          top: 1.25em;
          right: 4.6875em;
          bottom: 0; } }
    .payment-menu--visa {
      width: 3.75em;
      position: absolute;
      top: 0.1875em;
      right: 6.875em;
      bottom: 0; }
      @media screen and (max-width: 767px) {
        .payment-menu--visa {
          position: absolute;
          top: 0.1875em;
          right: 5.625em;
          bottom: 0; } }
    .payment-menu--dot2 {
      width: 0.625em;
      height: 0.625em;
      position: absolute;
      top: 1.25em;
      right: 11.5625em;
      bottom: 0;
      background: #ccc;
      border-radius: 50px; }
      @media screen and (max-width: 767px) {
        .payment-menu--dot2 {
          position: absolute;
          top: 1.25em;
          right: 9.6875em;
          bottom: 0; } }
    .payment-menu--ssl {
      width: 3.75em;
      position: absolute;
      top: 0.625em;
      right: 13.125em;
      bottom: 0;
      height: 40px; }
      @media screen and (max-width: 767px) {
        .payment-menu--ssl {
          position: absolute;
          top: 0.625em;
          right: 10.625em;
          bottom: 0; } }
      @media screen and (max-width: 767px) {
        .payment-menu--ssl {
          background-size: 80%; } }
    .payment-menu button {
      position: absolute;
      right: 20%;
      bottom: -1.42857em;
      font-size: 0.8125em;
      padding: 0.69231em 1.53846em;
      text-transform: uppercase;
      background-color: #30cbf8;
      color: #191e26;
      border-radius: 3.07692em;
      box-shadow: 0 0 2.69231em 0 rgba(0, 0, 0, 0.39);
      outline: none;
      transition: all 0.3s ease-in; }
      .payment-menu button:hover, .payment-menu button:focus {
        background-color: #3c8dbc;
        color: #ffffff; }
      @media screen and (max-width: 1279px) {
        .payment-menu button {
          right: 10%; } }
      @media screen and (max-width: 767px) {
        .payment-menu button {
          position: fixed;
          right: auto;
          left: 0.92308em;
          bottom: 0.61538em;
          padding: 0;
          text-indent: -9000px;
          width: 2.125em;
          height: 2.125em;
          border-radius: 50%; }
          .payment-menu button:before {
            content: '';
            position: absolute;
            top: 0.5625em;
            right: 1em;
            width: 0.125em;
            height: 1em;
            background: rgba(255, 255, 255, 0.7); }
          .payment-menu button:after {
            content: '';
            position: absolute;
            top: 1em;
            right: 0.5625em;
            width: 1em;
            height: 0.125em;
            background: rgba(255, 255, 255, 0.7); } }
    .payment-menu ul li {
      display: inline-block;
      border-right: 1px solid #48535d;
      text-transform: uppercase;
      float: left; }
      .payment-menu ul li .lang_sel {
        padding-top: 10px;
        line-height: 30px; }
        .payment-menu ul li .lang_sel img {
          width: 30px; }
    .payment-menu ul a {
      display: block;
      padding: 0 1.78571em;
      font-size: 0.875em;
      line-height: 3.57143em; }
      @media screen and (max-width: 767px) {
        .payment-menu ul a {
          font-size: 0.625em;
          padding: 0 1em;
          line-height: 5em; } }
    @media screen and (max-width: 767px) {
      .payment-menu--wrap {
        position: relative; }
      .payment-menu ul {
        white-space: nowrap;
        height: 50px; } }
  .payment-messages {
    position: relative;
    z-index: 2;
    display: inline-block;
    min-height: 2.42105em;
    padding: 0.52632em 0.78947em;
    margin: 0.94737em 4.21053em 0 2.10526em;
    font-size: 1.1875em;
    font-family: "LatoLight", sans-serif;
    line-height: 1.2;
    border-radius: 1.57895em;
    border: 2px solid transparent; }
    .payment-messages.error {
      background-color: #3c8dbc;
      border-color: #c562ac; }
    .payment-messages.success {
      background-color: #3c8dbc;
      border-color: #00a651; }
    @media screen and (max-width: 1279px) {
      .payment-messages {
        padding: 0.42105em 0.78947em; } }
    @media screen and (max-width: 499px) {
      .payment-messages {
        margin: 0.94737em 0.78947em 0;
        position: fixed;
        bottom: 20px; } }
  .payment-info {
    width: 18.4375em;
    height: 11.5625em;
    box-shadow: 0 0 35px 14px rgba(0, 0, 0, 0.3);
    margin: 1.875em 0em 0em 0.625em;
    border-radius: 0.625em; }
  .payment-card {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 18.4375em;
    height: 11.5625em;
    overflow: hidden;
    padding: 3.75em 1.125em 0.625em 1.125em;
    text-transform: uppercase;
    background: linear-gradient(135deg, #30cbf8, #9dc29d);
    box-shadow: 0 0 35px 14px rgba(0, 0, 0, 0.3);
    border-radius: 0.625em;
    -webkit-backface-visibility: hidden;
            backface-visibility: hidden; }
    .payment-card--front {
      transform: rotateY(0deg); }
    .payment-card--back {
      transform: rotateY(180deg); }
    .payment-card--flip {
      position: relative;
      transform-style: preserve-3d;
      transition: transform 0.6s ease-in; }
    .payment-card--wrap {
      width: 18.4375em;
      height: 11.5625em;
      margin: 1.875em auto;
      perspective: 1000;
      -webkit-perspective: 1000; }
      .payment-card--wrap.rotate .payment-card--flip {
        transform: rotateY(180deg); }
      @media screen and (max-width: 767px) {
        .payment-card--wrap {
          display: none; } }
    .payment-card:before {
      content: '';
      width: 700px;
      height: 700px;
      position: absolute;
      top: -15px;
      right: -50px;
      background: rgba(255, 255, 255, 0.1);
      border-radius: 50%;
      box-shadow: 0 0 0 200px rgba(0, 0, 0, 0.04), inset 0 0 0 120px rgba(0, 0, 0, 0.02); }
    .payment-card:after {
      content: '';
      width: 700px;
      height: 700px;
      position: absolute;
      top: 0;
      left: -60px;
      background: rgba(255, 255, 255, 0.1);
      border-radius: 50%;
      box-shadow: 0 0 0 200px rgba(0, 0, 0, 0.04), inset 0 0 0 120px rgba(0, 0, 0, 0.02); }
    .payment-card--data {
      position: relative;
      z-index: 1; }
    .payment-card--number {
      display: block;
      height: 1.2em;
      line-height: 1.2em;
      font-size: 1.5625em;
      margin-bottom: 0.6em; }
    .payment-card--year, .payment-card--month {
      font-size: 1.125em; }
    .payment-card--name {
      display: block;
      margin-top: 0.625em;
      font-size: 0.875em; }
    .payment-card--type {
      position: absolute;
      right: 0;
      bottom: 0;
      width: 3.75em;
      height: 2.5em;
      background: transparent no-repeat center  / cover;
      opacity: 0;
      transition: opacity 0.3s ease-in; }
      .payment-card--type[data-type="visa"] {
        background-image: url("../img/cards/visa.svg");
        opacity: 1; }
      .payment-card--type[data-type="amex"] {
        background-image: url("../img/cards/amex.svg");
        opacity: 1; }
      .payment-card--type[data-type="mastercard"] {
        background-image: url("../img/cards/mastercard.svg");
        opacity: 1; }
      .payment-card--type[data-type="maestro"] {
        background-image: url("../img/cards/maestro.svg");
        opacity: 1; }
    .payment-card--strip {
      z-index: 10;
      position: absolute;
      top: 2.1875em;
      right: 0;
      left: 0;
      height: 2.5em;
      background: linear-gradient(135deg, #404040, #1a1a1a); }
    .payment-card--ccv {
      z-index: 10;
      position: absolute;
      top: 6.25em;
      right: 5%;
      left: 5%;
      height: 2em;
      line-height: 2em;
      padding: 0 0.625em;
      text-align: right;
      border-radius: 0.625em;
      background: #ffffff;
      color: #1a2451; }
      .payment-card--ccv:before {
        content: 'cvv';
        position: absolute;
        top: -1.375em;
        right: 0.625em;
        line-height: 1;
        text-transform: none;
        color: #ffffff; }
  .payment-info {
    margin: 0 auto;
    padding: 0.3125em 0.75em;
    font-family: "LatoLight", sans-serif;
    border: 1px solid #ffffff;
    background-color: #3c8dbc;
    text-align: center; }
    @media screen and (max-width: 767px) {
      .payment-info {
        position: absolute;
        right: 2.5em;
        bottom: 1.875em;
        left: 2.5em;
        margin: 0;
        width: auto; } }
    @media screen and (max-width: 499px) {
      .payment-info {
        right: 0.9375em;
        left: 0.9375em; } }
    @media screen and (max-width: 399px) {
      .payment-info {
        padding: 1.0625em 0.4375em 0.9375em; } }
    .payment-info img {
      width: 45%; }
      @media screen and (max-width: 767px) {
        .payment-info img {
          width: 35%; } }
    .payment-info p {
      margin: 0;
      padding-bottom: 0.5em;
      font-size: 16px;
      line-height: 1.2; }
      .payment-info p b {
        font-family: "LatoBold", sans-serif; }
  .payment aside {
    width: 3.125em;
    height: 100%;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    background-color: #d8dbdb; }
    @media screen and (max-width: 767px) {
      .payment aside {
        position: fixed;
        top: 0;
        left: 0; } }
    .payment aside ul li {
      height: 3.625em;
      border-bottom: 1px solid #acb0b3; }
      .payment aside ul li a {
        display: block;
        padding: 1.125em 0.75em 0.75em 0.75em; }
        .payment aside ul li a svg {
          width: 100%;
          height: 100%; }
          .payment aside ul li a svg path {
            fill: transparent;
            stroke: #acb0b3;
            transition: stroke 0.3s ease-in; }
        .payment aside ul li a:hover svg path {
          stroke: #191e26; }
  .payment-logo {
    display: block;
    height: 3.125em;
    background-color: #ffffff;
    padding: 0.1875em; }
    .payment-logo svg {
      width: 100%;
      height: 100%; }
  .payment-additional {
    display: none;
    overflow: hidden;
    position: relative;
    text-align: center;
    background-color: #1a2451; }
    .payment-additional:before {
      content: '';
      height: 100%;
      display: inline-block;
      vertical-align: middle; }
    .payment-additional:after {
      content: '';
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      background: url("../img/bg-right.jpg") no-repeat center/cover;
      filter: blur(4px);
      transform: scale(1.04);
      box-shadow: inset 10px 5px 40px 10px rgba(0, 0, 0, 0.35);
      opacity: 0.4; }
    @media screen and (min-width: 1280px) {
      .payment-additional {
        display: block;
        float: right;
        height: 100vh;
        width: 25%; } }
    .payment-additional--info {
      position: relative;
      z-index: 1;
      display: inline-block;
      vertical-align: middle; }
      .payment-additional--info h2 {
        padding-bottom: 0.3125em; }
      .payment-additional--info .payment-value {
        position: relative;
        font-size: 3.125em;
        font-family: "LatoLight", sans-serif; }
        .payment-additional--info .payment-value input {
          text-align: center;
          display: inline-block;
          font-size: inherit;
          font-family: inherit;
          color: #ffffff;
          background-color: transparent;
          border: none;
          outline: none; }
        .payment-additional--info .payment-value:before {
          content: '$';
          position: absolute;
          top: 0;
          left: -0.6em; }
          .euro .payment-additional--info .payment-value:before {
            content: '€'; }
          .gbp .payment-additional--info .payment-value:before {
            content: '\00A3'; }
    .payment-additional .back {
      display: inline-block;
      vertical-align: middle;
      z-index: 1;
      position: absolute;
      right: 0;
      bottom: 1.25em;
      left: 0;
      font-family: "LatoLight", sans-serif; }
      .payment-additional .back svg {
        position: relative;
        display: inline-block;
        vertical-align: middle;
        margin-left: 0.5em;
        width: 0.8125em;
        height: 1em; }
        .payment-additional .back svg path {
          fill: #30cbf8;
          transition: all 0.3s ease-in; }
      .payment-additional .back:hover svg path {
        fill: #d8dbdb; }

.footer-text {
  text-align: center;
  color: #ccc;
  font-size: 14px; }

#sidebarAmount {
  width: 150px; }

@media screen and (max-width: 539px) {
  .trust {
    display: none; } }

@keyframes expand {
  0% {
    transform: scale3d(1, 0, 1); }
  25% {
    transform: scale3d(1, 1.2, 1); }
  50% {
    transform: scale3d(1, 0.85, 1); }
  75% {
    transform: scale3d(1, 1.05, 1); }
  100% {
    transform: scale3d(1, 1, 1); } }

.customer-info.disable {
  position: relative; }
  .customer-info.disable:after {
    display: block;
    position: absolute;
    content: '';
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: rgba(92, 102, 113, 0.8) url("../img/loader.svg") no-repeat center/contain;
    z-index: 5; }

form {
  position: relative;
  padding: 1.5625em 0em 3.4375em 2.5em; }
  form:after {
    content: "";
    display: table;
    clear: both; }
  @media screen and (max-width: 767px) {
    form {
      padding-bottom: 15em; } }
  @media screen and (max-width: 499px) {
    form {
      padding-left: 0.9375em; } }
  form .hidden {
    display: none !important; }
  form h2 {
    padding-bottom: 0.57692em; }
  form .payment-title {
    position: absolute;
    top: -1.68em;
    left: 1.6em;
    font-size: 1.5625em;
    font-family: "LatoLight", sans-serif;
    line-height: 1;
    padding-right: 2.5rem;
    transition: all 0.3s ease-in; }
    @media screen and (max-width: 499px) {
      form .payment-title {
        padding-right: 0.6em;
        left: 0.6em; } }
  form .col-1-2 {
    float: left;
    width: 50%;
    padding-right: 5em; }
    @media screen and (max-width: 1279px) {
      form .col-1-2 {
        padding-right: 3.75em; } }
    @media screen and (max-width: 767px) {
      form .col-1-2 {
        width: 100%; } }
    @media screen and (max-width: 499px) {
      form .col-1-2 {
        padding-right: 0.9375em; } }
  form .payment-input {
    position: relative; }
    form .payment-input--wrap:after {
      content: "";
      display: table;
      clear: both; }
    @media screen and (min-width: 500px) {
      form .payment-input.half {
        float: left;
        width: 49%;
        margin-right: 2%; }
        form .payment-input.half:last-child {
          margin-right: 0; }
        form .payment-input.half span {
          bottom: 1.875em; }
        form .payment-input.half input:focus + span {
          bottom: 0.5em !important; } }
    form .payment-input span {
      position: absolute;
      bottom: 0;
      left: 0;
      font-family: "LatoLight", sans-serif;
      font-size: 0.9375em;
      color: #30cbf8;
      transition: bottom 0.3s ease-in; }
    form .payment-input i {
      z-index: 1;
      opacity: 0;
      position: absolute;
      top: 0;
      right: 0;
      display: inline-block;
      padding: 0em 0.25em 0.25em 0.25em;
      font-style: normal;
      font-family: "LatoLight", sans-serif;
      background: rgba(48, 203, 248, 0.7);
      border-radius: 0.375em;
      transition: all 0.3s ease-in; }
  form input:-webkit-autofill {
    background-color: #1a2451 !important;
    color: inherit !important; }
  form input:not([type="submit"]):not(.payment-value), form .cs-placeholder {
    position: relative;
    z-index: 2;
    display: block;
    width: 100%;
    height: 2.10526em;
    font-size: 1.1875em;
    font-family: "LatoLight", sans-serif;
    margin-bottom: 1.57895em;
    background-color: #1a2451;
    border: none;
    border-bottom: 1px solid #d8dbdb;
    outline: none;
    color: inherit; }
    form input:not([type="submit"]):not(.payment-value).card-name, form .cs-placeholder.card-name {
      text-transform: uppercase; }
    form input:not([type="submit"]):not(.payment-value).error, form .cs-placeholder.error {
      border-color: #c50000 !important;
      background-image: url("../img/err_sig.png");
      background-repeat: no-repeat;
      background-position: top right;
      background-size: 30px 30px; }
      form input:not([type="submit"]):not(.payment-value).error::-webkit-input-placeholder, form .cs-placeholder.error::-webkit-input-placeholder {
        color: rgba(197, 0, 0, 0.85); }
      form input:not([type="submit"]):not(.payment-value).error::-moz-placeholder, form .cs-placeholder.error::-moz-placeholder {
        color: rgba(197, 0, 0, 0.85); }
      form input:not([type="submit"]):not(.payment-value).error:-moz-placeholder, form .cs-placeholder.error:-moz-placeholder {
        color: rgba(197, 0, 0, 0.85); }
      form input:not([type="submit"]):not(.payment-value).error:-ms-input-placeholder, form .cs-placeholder.error:-ms-input-placeholder {
        color: rgba(197, 0, 0, 0.85); }
    @media screen and (max-width: 1279px) {
      form input:not([type="submit"]):not(.payment-value), form .cs-placeholder {
        height: 1.73684em;
        line-height: 1.73684em; } }
    form input:not([type="submit"]):not(.payment-value)::-webkit-input-placeholder, form .cs-placeholder::-webkit-input-placeholder {
      color: rgba(255, 255, 255, 0.27);
      transition: color 0.3s ease-in;
      text-transform: none; }
    form input:not([type="submit"]):not(.payment-value)::-moz-placeholder, form .cs-placeholder::-moz-placeholder {
      color: rgba(255, 255, 255, 0.27);
      transition: color 0.3s ease-in;
      text-transform: none; }
    form input:not([type="submit"]):not(.payment-value):-moz-placeholder, form .cs-placeholder:-moz-placeholder {
      color: rgba(255, 255, 255, 0.27);
      transition: color 0.3s ease-in;
      text-transform: none; }
    form input:not([type="submit"]):not(.payment-value):-ms-input-placeholder, form .cs-placeholder:-ms-input-placeholder {
      color: rgba(255, 255, 255, 0.27);
      transition: color 0.3s ease-in;
      text-transform: none; }
    form input:not([type="submit"]):not(.payment-value).valid, form .cs-placeholder.valid {
      border-color: #00a651 !important; }
    form input:not([type="submit"]):not(.payment-value):focus, form .cs-placeholder:focus {
      border-color: #30cbf8; }
      form input:not([type="submit"]):not(.payment-value):focus::-webkit-input-placeholder, form .cs-placeholder:focus::-webkit-input-placeholder {
        color: transparent; }
      form input:not([type="submit"]):not(.payment-value):focus::-moz-pltransparentder, form .cs-placeholder:focus::-moz-pltransparentder {
        color: transparent; }
      form input:not([type="submit"]):not(.payment-value):focus:-moz-placeholder, form .cs-placeholder:focus:-moz-placeholder {
        color: transparent; }
      form input:not([type="submit"]):not(.payment-value):focus:-ms-input-placeholder, form .cs-placeholder:focus:-ms-input-placeholder {
        color: transparent; }
      form input:not([type="submit"]):not(.payment-value):focus + span, form .cs-placeholder:focus + span {
        bottom: -1.5em; }
      form input:not([type="submit"]):not(.payment-value):focus ~ i, form .cs-placeholder:focus ~ i {
        opacity: 1;
        top: -1.5625em; }
  form input[type="submit"] {
    display: inline-block;
    vertical-align: top;
    padding: 0 0.46875em;
    width: 9.8125em;
    height: 1.25em;
    font-family: "LatoLight", sans-serif;
    font-size: 2.625em;
    margin: 0 auto;
    display: block;
    text-align: center;
    color: rgba(255, 255, 255, 0.74);
    background-color: #00a651;
    border-radius: 10px;
    box-shadow: 0 0 1.09375em 0 rgba(0, 0, 0, 0.39);
    cursor: pointer;
    outline: none;
    transition: background-color 0.3s ease-in; }
    form input[type="submit"]:hover {
      background-color: #3c8dbc; }
    form input[type="submit"][disabled] {
      cursor: auto;
      color: transparent;
      background: #3c8dbc url("../img/loader.svg") no-repeat center/contain; }
    @media screen and (max-width: 1279px) {
      form input[type="submit"] {
        width: auto;
        height: 1.32em;
        line-height: 1.32em;
        font-size: 1.5625em;
        display: inline; } }
  form .payment-value {
    display: none;
    position: relative;
    width: 4.5em;
    height: 1.65em;
    margin-left: 0.6em;
    font-size: 1.25em;
    font-family: "LatoLight", sans-serif;
    border: 1px solid #ffffff;
    color: #ffffff;
    border-radius: 0.5em;
    box-shadow: 0 0 1.09375em 0 rgba(0, 0, 0, 0.39); }
    form .payment-value input {
      width: 100%;
      height: 100% !important;
      padding: 0 0.25em 0 1em;
      background-color: transparent !important;
      border: 0 !important;
      margin: 0 !important;
      line-height: normal !important;
      outline: none; }
    form .payment-value:before {
      content: '$';
      position: absolute;
      top: 0.15em;
      left: 0.3em; }
      .euro form .payment-value:before {
        content: '€'; }
      .gbp form .payment-value:before {
        content: '\00A3'; }
    @media screen and (max-width: 1279px) {
      form .payment-value {
        display: inline-block;
        vertical-align: top; } }
  form select {
    display: none;
    background-color: transparent;
    color: inherit; }
  form .payment-select:after {
    content: "";
    display: table;
    clear: both; }
  form .payment-select--left {
    float: left;
    width: 45%; }
  form .payment-select--right {
    float: right;
    width: 45%; }
  form .payment-select--left > div, form .payment-select--right > div {
    position: relative;
    cursor: pointer;
    outline: none; }
  form .payment-select--both {
    float: left;
    width: 100%; }
  form .payment-select--both > div {
    position: relative;
    cursor: pointer;
    outline: none; }
  form .payment-select .cs-placeholder {
    font-family: "LatoLight", sans-serif;
    line-height: 2.10526em;
    color: rgba(255, 255, 255, 0.27); }
    form .payment-select .cs-placeholder.error {
      color: #c50000; }
    form .payment-select .cs-placeholder.cs-selected {
      color: #ffffff; }
  form .payment-select .cs-active .cs-placeholder {
    color: rgba(255, 255, 255, 0.27); }
  form .payment-select .cs-options {
    z-index: 3;
    position: absolute;
    top: 100%;
    right: 0;
    left: 0;
    visibility: visible;
    overflow: visible;
    pointer-events: none;
    transform-origin: 50% 0;
    transform: scale3d(1, 0, 1);
    transition: transform 0.3s ease-in; }
    form .payment-select .cs-options ul {
      height: 18.75em;
      overflow: scroll;
      padding: 0.3125em 0em 0em 0.3125em;
      background-color: #1a2451;
      box-shadow: 0 0 0.9375em rgba(0, 0, 0, 0.3); }
      form .payment-select .cs-options ul li {
        line-height: 1.8;
        cursor: pointer;
        font-family: "LatoLight", sans-serif; }
  form .payment-select .cs-active .cs-placeholder {
    border-color: #30cbf8; }
  form .payment-select .cs-active .cs-options {
    pointer-events: auto;
    transform: scale3d(1, 1, 1); }

.payment-iframe {
  display: none; }

.payment-iframe.active {
  background-color: rgba(255, 255, 255, 0.9);
  box-shadow: 0 0 15px 10px rgba(25, 30, 38, 0.5);
  display: block;
  margin: auto;
  z-index: 11;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 80%;
  height: 80%; }
  .payment-iframe.active iframe {
    border: none;
    width: 100%;
    height: 100%; }

body {
  background-color: #212121 !important;
  overflow: hidden; }
  body .loader {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%); }
    body .loader .bar {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      background-color: #F5F5F5;
      width: 100px;
      height: 10px;
      border: 2px solid #F5F5F5;
      border-radius: 2px; }
      body .loader .bar .loaded {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        background-color: #607D8B;
        height: 100%;
        max-width: 100%;
        width: 0%;
        border-radius: 2px;
        transition: width 1s linear; }
    body .loader .spinner {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      height: 200px;
      animation: bar 8s linear infinite;
      transition: height 1s ease-in; }
      body .loader .spinner:before {
        content: '';
        position: absolute;
        top: 0px;
        left: 50%;
        transform: translate(-50%, -50%);
        width: 4px;
        height: 4px;
        border-radius: 100px;
        background-color: #607D8B; }

@keyframes bar {
  0% {
    transform: translate(-50%, -50%) rotate(0deg); }
  100% {
    transform: translate(-50%, -50%) rotate(360deg); } }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcC5jc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvc2N1dC9kaXN0L19zY3V0LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvcGVyZmVjdC1zY3JvbGxiYXIvZGlzdC9jc3MvcGVyZmVjdC1zY3JvbGxiYXIuY3NzIiwiYmFzZS9taXhpbnMuc2NzcyIsImJhc2UvZ2xvYmFsLnNhc3MiLCJiYXNlL21haW4uc2FzcyIsImJhc2UvdmFycy5zYXNzIiwiYmFzZS9mb3JtLnNhc3MiLCJiYXNlL3BvcHVwLnNhc3MiLCJiYXNlL3dhaXQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxpQkFBaUI7QUNBakI7Ozs7O0VBS0U7QUNMRiwrQkFBK0I7QUFDL0I7RUFDRSx1QkFBdUI7RUFDdkIsbUJBQW1CO0VBQ25CLDRCQUE0QjtFQUM1Qix5QkFBeUIsRUFBRzs7QUFDUTtFQUNsQztJQUNFLDBCQUEwQixFQUFHLEVBQUE7O0FBQ2pDO0VBQ0U7SUFDRSwwQkFBMEIsRUFBRyxFQUFBOztBQUNqQzs7RUFFRSxlQUFlO0VBQ2YsOEJBQThCLEVBQUc7O0FBQ25DO0VBQ0UsdUJBQXVCO0VBQ3ZCLGFBQWEsRUFBRzs7QUFDaEI7RUFDRSx1QkFBdUI7RUFDdkIsYUFBYSxFQUFHOztBQUNwQjtFQUNFLHVCQUF1QjtFQUN2QixhQUFhLEVBQUc7O0FBQ2hCO0VBQ0UsdUJBQXVCO0VBQ3ZCLFlBQVksRUFBRzs7QUFDbkI7RUFDRSxjQUFjO0VBQ2QsbUJBQW1CO0VBQ25CLG9DQUFvQztFQUNwQyxXQUFXO0VBSVgsNERBQTREO0VBQzVELFlBQVk7RUFDWixvREFBb0Q7RUFDcEQsYUFBYSxFQUFHOztBQUNoQjtFQUNFLG1CQUFtQjtFQUNuQixvQ0FBb0M7RUFDcEMsdUJBQXVCO0VBR3ZCLG1CQUFtQjtFQUtuQixpSEFBaUg7RUFFakgsWUFBWTtFQUNaLCtDQUErQztFQUMvQyxZQUFZLEVBQUc7O0FBQ2pCO0VBQ0UsYUFBYSxFQUFHOztBQUNwQjtFQUNFLGNBQWM7RUFDZCxtQkFB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LEVBQUE7RUFFdkM7SUFDRSxnREFBcUMsRUFBQSxFQUFBIiwiZmlsZSI6ImFwcC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAY2hhcnNldCBcIlVURi04XCI7XG4vKlxuKiBTY3V0LCBhIGNvbGxlY3Rpb24gb2YgU2FzcyB1dGlsaXRpZXNcbiogdG8gZWFzZSBhbmQgaW1wcm92ZSBvdXIgaW1wbGVtZW50YXRpb25zIG9mIGNvbW1vbiBzdHlsZS1jb2RlIHBhdHRlcm5zLlxuKiB2MS40LjBcbiogRG9jcyBhdCBodHRwOi8vZGF2aWR0aGVjbGFyay5naXRodWIuaW8vc2N1dFxuKi9cbi8qIHBlcmZlY3Qtc2Nyb2xsYmFyIHYwLjYuMTYgKi9cbi5wcy1jb250YWluZXIge1xuICAtbXMtdG91Y2gtYWN0aW9uOiBhdXRvO1xuICB0b3VjaC1hY3Rpb246IGF1dG87XG4gIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcbiAgLW1zLW92ZXJmbG93LXN0eWxlOiBub25lOyB9XG5cbkBzdXBwb3J0cyAoLW1zLW92ZXJmbG93LXN0eWxlOiBub25lKSB7XG4gIC5wcy1jb250YWluZXIge1xuICAgIG92ZXJmbG93OiBhdXRvICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAoLW1zLWhpZ2gtY29udHJhc3Q6IGFjdGl2ZSksICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSkge1xuICAucHMtY29udGFpbmVyIHtcbiAgICBvdmVyZmxvdzogYXV0byAhaW1wb3J0YW50OyB9IH1cblxuLnBzLWNvbnRhaW5lci5wcy1hY3RpdmUteCA+IC5wcy1zY3JvbGxiYXIteC1yYWlsLFxuLnBzLWNvbnRhaW5lci5wcy1hY3RpdmUteSA+IC5wcy1zY3JvbGxiYXIteS1yYWlsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbi5wcy1jb250YWluZXIucHMtaW4tc2Nyb2xsaW5nLnBzLXggPiAucHMtc2Nyb2xsYmFyLXgtcmFpbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZWU7XG4gIG9wYWNpdHk6IDAuOTsgfVxuXG4ucHMtY29udGFpbmVyLnBzLWluLXNjcm9sbGluZy5wcy14ID4gLnBzLXNjcm9sbGJhci14LXJhaWwgPiAucHMtc2Nyb2xsYmFyLXgge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTk5O1xuICBoZWlnaHQ6IDExcHg7IH1cblxuLnBzLWNvbnRhaW5lci5wcy1pbi1zY3JvbGxpbmcucHMteSA+IC5wcy1zY3JvbGxiYXIteS1yYWlsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VlZTtcbiAgb3BhY2l0eTogMC45OyB9XG5cbi5wcy1jb250YWluZXIucHMtaW4tc2Nyb2xsaW5nLnBzLXkgPiAucHMtc2Nyb2xsYmFyLXktcmFpbCA+IC5wcy1zY3JvbGxiYXIteSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM5OTk7XG4gIHdpZHRoOiAxMXB4OyB9XG5cbi5wcy1jb250YWluZXIgPiAucHMtc2Nyb2xsYmFyLXgtcmFpbCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgLyogcGxlYXNlIGRvbid0IGNoYW5nZSAncG9zaXRpb24nICovXG4gIG9wYWNpdHk6IDA7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAuMnMgbGluZWFyLCBvcGFjaXR5IC4ycyBsaW5lYXI7XG4gIC1vLXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgLjJzIGxpbmVhciwgb3BhY2l0eSAuMnMgbGluZWFyO1xuICAtbW96LXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgLjJzIGxpbmVhciwgb3BhY2l0eSAuMnMgbGluZWFyO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIC4ycyBsaW5lYXIsIG9wYWNpdHkgLjJzIGxpbmVhcjtcbiAgYm90dG9tOiAwcHg7XG4gIC8qIHRoZXJlIG11c3QgYmUgJ2JvdHRvbScgZm9yIHBzLXNjcm9sbGJhci14LXJhaWwgKi9cbiAgaGVpZ2h0OiAxNXB4OyB9XG5cbi5wcy1jb250YWluZXIgPiAucHMtc2Nyb2xsYmFyLXgtcmFpbCA+IC5wcy1zY3JvbGxiYXIteCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgLyogcGxlYXNlIGRvbid0IGNoYW5nZSAncG9zaXRpb24nICovXG4gIGJhY2tncm91bmQtY29sb3I6ICNhYWE7XG4gIC13ZWJraXQtYm9yZGVyLXJhZGl1czogNnB4O1xuICAtbW96LWJvcmRlci1yYWRpdXM6IDZweDtcbiAgYm9yZGVyLXJhZGl1czogNnB4O1xuICAtd2Via2l0LXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgLjJzIGxpbmVhciwgaGVpZ2h0IC4ycyBsaW5lYXIsIHdpZHRoIC4ycyBlYXNlLWluLW91dCwgLXdlYmtpdC1ib3JkZXItcmFkaXVzIC4ycyBlYXNlLWluLW91dDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAuMnMgbGluZWFyLCBoZWlnaHQgLjJzIGxpbmVhciwgd2lkdGggLjJzIGVhc2UtaW4tb3V0LCAtd2Via2l0LWJvcmRlci1yYWRpdXMgLjJzIGVhc2UtaW4tb3V0O1xuICAtby10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIC4ycyBsaW5lYXIsIGhlaWdodCAuMnMgbGluZWFyLCB3aWR0aCAuMnMgZWFzZS1pbi1vdXQsIGJvcmRlci1yYWRpdXMgLjJzIGVhc2UtaW4tb3V0O1xuICAtbW96LXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgLjJzIGxpbmVhciwgaGVpZ2h0IC4ycyBsaW5lYXIsIHdpZHRoIC4ycyBlYXNlLWluLW91dCwgYm9yZGVyLXJhZGl1cyAuMnMgZWFzZS1pbi1vdXQsIC1tb3otYm9yZGVyLXJhZGl1cyAuMnMgZWFzZS1pbi1vdXQ7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgLjJzIGxpbmVhciwgaGVpZ2h0IC4ycyBsaW5lYXIsIHdpZHRoIC4ycyBlYXNlLWluLW91dCwgYm9yZGVyLXJhZGl1cyAuMnMgZWFzZS1pbi1vdXQ7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgLjJzIGxpbmVhciwgaGVpZ2h0IC4ycyBsaW5lYXIsIHdpZHRoIC4ycyBlYXNlLWluLW91dCwgYm9yZGVyLXJhZGl1cyAuMnMgZWFzZS1pbi1vdXQsIC13ZWJraXQtYm9yZGVyLXJhZGl1cyAuMnMgZWFzZS1pbi1vdXQsIC1tb3otYm9yZGVyLXJhZGl1cyAuMnMgZWFzZS1pbi1vdXQ7XG4gIGJvdHRvbTogMnB4O1xuICAvKiB0aGVyZSBtdXN0IGJlICdib3R0b20nIGZvciBwcy1zY3JvbGxiYXIteCAqL1xuICBoZWlnaHQ6IDZweDsgfVxuXG4ucHMtY29udGFpbmVyID4gLnBzLXNjcm9sbGJhci14LXJhaWw6aG92ZXIgPiAucHMtc2Nyb2xsYmFyLXgsIC5wcy1jb250YWluZXIgPiAucHMtc2Nyb2xsYmFyLXgtcmFpbDphY3RpdmUgPiAucHMtc2Nyb2xsYmFyLXgge1xuICBoZWlnaHQ6IDExcHg7IH1cblxuLnBzLWNvbnRhaW5lciA+IC5wcy1zY3JvbGxiYXIteS1yYWlsIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICAvKiBwbGVhc2UgZG9uJ3QgY2hhbmdlICdwb3NpdGlvbicgKi9cbiAgb3BhY2l0eTogMDtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIC4ycyBsaW5lYXIsIG9wYWNpdHkgLjJzIGxpbmVhcjtcbiAgLW8tdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAuMnMgbGluZWFyLCBvcGFjaXR5IC4ycyBsaW5lYXI7XG4gIC1tb3otdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAuMnMgbGluZWFyLCBvcGFjaXR5IC4ycyBsaW5lYXI7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgLjJzIGxpbmVhciwgb3BhY2l0eSAuMnMgbGluZWFyO1xuICByaWdodDogMDtcbiAgLyogdGhlcmUgbXVzdCBiZSAncmlnaHQnIGZvciBwcy1zY3JvbGxiYXIteS1yYWlsICovXG4gIHdpZHRoOiAxNXB4OyB9XG5cbi5wcy1jb250YWluZXIgPiAucHMtc2Nyb2xsYmFyLXktcmFpbCA+IC5wcy1zY3JvbGxiYXIteSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgLyogcGxlYXNlIGRvbid0IGNoYW5nZSAncG9zaXRpb24nICovXG4gIGJhY2tncm91bmQtY29sb3I6ICNhYWE7XG4gIC13ZWJraXQtYm9yZGVyLXJhZGl1czogNnB4O1xuICAtbW96LWJvcmRlci1yYWRpdXM6IDZweDtcbiAgYm9yZGVyLXJhZGl1czogNnB4O1xuICAtd2Via2l0LXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgLjJzIGxpbmVhciwgaGVpZ2h0IC4ycyBsaW5lYXIsIHdpZHRoIC4ycyBlYXNlLWluLW91dCwgLXdlYmtpdC1ib3JkZXItcmFkaXVzIC4ycyBlYXNlLWluLW91dDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAuMnMgbGluZWFyLCBoZWlnaHQgLjJzIGxpbmVhciwgd2lkdGggLjJzIGVhc2UtaW4tb3V0LCAtd2Via2l0LWJvcmRlci1yYWRpdXMgLjJzIGVhc2UtaW4tb3V0O1xuICAtby10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIC4ycyBsaW5lYXIsIGhlaWdodCAuMnMgbGluZWFyLCB3aWR0aCAuMnMgZWFzZS1pbi1vdXQsIGJvcmRlci1yYWRpdXMgLjJzIGVhc2UtaW4tb3V0O1xuICAtbW96LXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgLjJzIGxpbmVhciwgaGVpZ2h0IC4ycyBsaW5lYXIsIHdpZHRoIC4ycyBlYXNlLWluLW91dCwgYm9yZGVyLXJhZGl1cyAuMnMgZWFzZS1pbi1vdXQsIC1tb3otYm9yZGVyLXJhZGl1cyAuMnMgZWFzZS1pbi1vdXQ7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgLjJzIGxpbmVhciwgaGVpZ2h0IC4ycyBsaW5lYXIsIHdpZHRoIC4ycyBlYXNlLWluLW91dCwgYm9yZGVyLXJhZGl1cyAuMnMgZWFzZS1pbi1vdXQ7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgLjJzIGxpbmVhciwgaGVpZ2h0IC4ycyBsaW5lYXIsIHdpZHRoIC4ycyBlYXNlLWluLW91dCwgYm9yZGVyLXJhZGl1cyAuMnMgZWFzZS1pbi1vdXQsIC13ZWJraXQtYm9yZGVyLXJhZGl1cyAuMnMgZWFzZS1pbi1vdXQsIC1tb3otYm9yZGVyLXJhZGl1cyAuMnMgZWFzZS1pbi1vdXQ7XG4gIHJpZ2h0OiAycHg7XG4gIC8qIHRoZXJlIG11c3QgYmUgJ3JpZ2h0JyBmb3IgcHMtc2Nyb2xsYmFyLXkgKi9cbiAgd2lkdGg6IDZweDsgfVxuXG4ucHMtY29udGFpbmVyID4gLnBzLXNjcm9sbGJhci15LXJhaWw6aG92ZXIgPiAucHMtc2Nyb2xsYmFyLXksIC5wcy1jb250YWluZXIgPiAucHMtc2Nyb2xsYmFyLXktcmFpbDphY3RpdmUgPiAucHMtc2Nyb2xsYmFyLXkge1xuICB3aWR0aDogMTFweDsgfVxuXG4ucHMtY29udGFpbmVyOmhvdmVyLnBzLWluLXNjcm9sbGluZy5wcy14ID4gLnBzLXNjcm9sbGJhci14LXJhaWwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlO1xuICBvcGFjaXR5OiAwLjk7IH1cblxuLnBzLWNvbnRhaW5lcjpob3Zlci5wcy1pbi1zY3JvbGxpbmcucHMteCA+IC5wcy1zY3JvbGxiYXIteC1yYWlsID4gLnBzLXNjcm9sbGJhci14IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzk5OTtcbiAgaGVpZ2h0OiAxMXB4OyB9XG5cbi5wcy1jb250YWluZXI6aG92ZXIucHMtaW4tc2Nyb2xsaW5nLnBzLXkgPiAucHMtc2Nyb2xsYmFyLXktcmFpbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZWU7XG4gIG9wYWNpdHk6IDAuOTsgfVxuXG4ucHMtY29udGFpbmVyOmhvdmVyLnBzLWluLXNjcm9sbGluZy5wcy15ID4gLnBzLXNjcm9sbGJhci15LXJhaWwgPiAucHMtc2Nyb2xsYmFyLXkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTk5O1xuICB3aWR0aDogMTFweDsgfVxuXG4ucHMtY29udGFpbmVyOmhvdmVyID4gLnBzLXNjcm9sbGJhci14LXJhaWwsXG4ucHMtY29udGFpbmVyOmhvdmVyID4gLnBzLXNjcm9sbGJhci15LXJhaWwge1xuICBvcGFjaXR5OiAwLjY7IH1cblxuLnBzLWNvbnRhaW5lcjpob3ZlciA+IC5wcy1zY3JvbGxiYXIteC1yYWlsOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VlZTtcbiAgb3BhY2l0eTogMC45OyB9XG5cbi5wcy1jb250YWluZXI6aG92ZXIgPiAucHMtc2Nyb2xsYmFyLXgtcmFpbDpob3ZlciA+IC5wcy1zY3JvbGxiYXIteCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM5OTk7IH1cblxuLnBzLWNvbnRhaW5lcjpob3ZlciA+IC5wcy1zY3JvbGxiYXIteS1yYWlsOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VlZTtcbiAgb3BhY2l0eTogMC45OyB9XG5cbi5wcy1jb250YWluZXI6aG92ZXIgPiAucHMtc2Nyb2xsYmFyLXktcmFpbDpob3ZlciA+IC5wcy1zY3JvbGxiYXIteSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM5OTk7IH1cblxuLyoqXG4qIE1lZGlhIHF1ZXJpZXNcbiovXG5odG1sIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuXG4qLCAqOmJlZm9yZSwgKjphZnRlciB7XG4gIGJveC1zaXppbmc6IGluaGVyaXQ7IH1cblxuYm9keSB7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkOyB9XG5cbiosICo6YmVmb3JlLCAqOmFmdGVyIHtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogaW5oZXJpdDsgfVxuXG5oMSxcbmgyLFxuaDMsXG5oNCxcbmg1LFxuaDYge1xuICBmb250LXNpemU6IDFlbTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbWFyZ2luOiAwOyB9XG5cbmIge1xuICBmb250LXdlaWdodDogbm9ybWFsOyB9XG5cbmxhYmVsLFxuc2VsZWN0LFxub3B0aW9uLFxuYnV0dG9uIHtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbmZpZWxkc2V0IHtcbiAgYm9yZGVyOiAwO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7IH1cblxudGV4dGFyZWEge1xuICByZXNpemU6IHZlcnRpY2FsOyB9XG5cbmJ1dHRvbixcblt0eXBlPVwiYnV0dG9uXCJdLFxuW3R5cGU9XCJzdWJtaXRcIl0sXG5bdHlwZT1cInJlc2V0XCJdIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIGZvbnQ6IGluaGVyaXQ7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgd2lkdGg6IGF1dG87XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7IH1cbiAgYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuICBbdHlwZT1cImJ1dHRvblwiXTo6LW1vei1mb2N1cy1pbm5lcixcbiAgW3R5cGU9XCJzdWJtaXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXG4gIFt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyOiAwOyB9XG5cbnA6Zmlyc3Qtb2YtdHlwZSB7XG4gIG1hcmdpbi10b3A6IDA7IH1cblxucDpsYXN0LW9mLXR5cGUge1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbmltZyxcbnZpZGVvIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87IH1cblxuZmlndXJlIHtcbiAgbWFyZ2luOiAwOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJMYXRvXCI7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgc3JjOiB1cmwoXCIuLi8uLi9hc3NldHMvZm9udHMvbGF0by12MTEtbGF0aW4tcmVndWxhci5lb3RcIik7XG4gIHNyYzogdXJsKFwiLi4vLi4vYXNzZXRzL2ZvbnRzL2xhdG8tdjExLWxhdGluLXJlZ3VsYXIuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgdXJsKFwiLi4vLi4vYXNzZXRzL2ZvbnRzL2xhdG8tdjExLWxhdGluLXJlZ3VsYXIud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uLy4uL2Fzc2V0cy9mb250cy9sYXRvLXYxMS1sYXRpbi1yZWd1bGFyLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vLi4vYXNzZXRzL2ZvbnRzL2xhdG8tdjExLWxhdGluLXJlZ3VsYXIudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLCB1cmwoXCIuLi8uLi9hc3NldHMvZm9udHMvbGF0by12MTEtbGF0aW4tcmVndWxhci5zdmcjTGF0b1wiKSBmb3JtYXQoXCJzdmdcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkxhdG9MaWdodFwiO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIHNyYzogdXJsKFwiLi4vLi4vYXNzZXRzL2ZvbnRzL2xhdG8tdjExLWxhdGluLTMwMC5lb3RcIik7XG4gIHNyYzogdXJsKFwiLi4vLi4vYXNzZXRzL2ZvbnRzL2xhdG8tdjExLWxhdGluLTMwMC5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCB1cmwoXCIuLi8uLi9hc3NldHMvZm9udHMvbGF0by12MTEtbGF0aW4tMzAwLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi8uLi9hc3NldHMvZm9udHMvbGF0by12MTEtbGF0aW4tMzAwLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vLi4vYXNzZXRzL2ZvbnRzL2xhdG8tdjExLWxhdGluLTMwMC50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksIHVybChcIi4uLy4uL2Fzc2V0cy9mb250cy9sYXRvLXYxMS1sYXRpbi0zMDAuc3ZnI0xhdG9MaWdodFwiKSBmb3JtYXQoXCJzdmdcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkxhdG9Cb2xkXCI7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgc3JjOiB1cmwoXCIuLi8uLi9hc3NldHMvZm9udHMvbGF0by12MTEtbGF0aW4tNzAwLmVvdFwiKTtcbiAgc3JjOiB1cmwoXCIuLi8uLi9hc3NldHMvZm9udHMvbGF0by12MTEtbGF0aW4tNzAwLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksIHVybChcIi4uLy4uL2Fzc2V0cy9mb250cy9sYXRvLXYxMS1sYXRpbi03MDAud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uLy4uL2Fzc2V0cy9mb250cy9sYXRvLXYxMS1sYXRpbi03MDAud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi8uLi9hc3NldHMvZm9udHMvbGF0by12MTEtbGF0aW4tNzAwLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSwgdXJsKFwiLi4vLi4vYXNzZXRzL2ZvbnRzL2xhdG8tdjExLWxhdGluLTcwMC5zdmcjTGF0b0JvbGRcIikgZm9ybWF0KFwic3ZnXCIpOyB9XG5cbmJvZHkge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7IH1cblxuLnBheW1lbnQge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBmb250LWZhbWlseTogXCJMYXRvXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTAwJTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIGNvbG9yOiAjZmZmZmZmOyB9XG4gIC5wYXltZW50OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5OXB4KSB7XG4gICAgLnBheW1lbnQge1xuICAgICAgZm9udC1zaXplOiAxNHB4OyB9IH1cbiAgLnBheW1lbnQgaDIge1xuICAgIGZvbnQtZmFtaWx5OiBcIkxhdG9MaWdodFwiLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMS45Mzc1ZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjc5cHgpIHtcbiAgICAgIC5wYXltZW50IGgyIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjYyNWVtOyB9IH1cbiAgLnBheW1lbnQgdWwge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwOyB9XG4gICAgLnBheW1lbnQgdWwgbGkge1xuICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lOyB9XG4gIC5wYXltZW50IGEge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICBvdXRsaW5lOiBub25lOyB9XG4gIC5wYXltZW50IGlucHV0Ojotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBmb250LWZhbWlseTogXCJMYXRvTGlnaHRcIiwgc2Fucy1zZXJpZjsgfVxuICAucGF5bWVudCBpbnB1dDo6LW1vei1wbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgZm9udC1mYW1pbHk6IFwiTGF0b0xpZ2h0XCIsIHNhbnMtc2VyaWY7IH1cbiAgLnBheW1lbnQgaW5wdXQ6LW1vei1wbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgZm9udC1mYW1pbHk6IFwiTGF0b0xpZ2h0XCIsIHNhbnMtc2VyaWY7IH1cbiAgLnBheW1lbnQgaW5wdXQ6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBmb250LWZhbWlseTogXCJMYXRvTGlnaHRcIiwgc2Fucy1zZXJpZjsgfVxuICAucGF5bWVudC1tYWluIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgaGVpZ2h0OiAxMDB2aDtcbiAgICBwYWRkaW5nLWxlZnQ6IDMuMTI1ZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzFhMjQ1MTtcbiAgICBvdmVyZmxvdzogYXV0bzsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyODBweCkge1xuICAgICAgLnBheW1lbnQtbWFpbiB7XG4gICAgICAgIHdpZHRoOiA3NSU7XG4gICAgICAgIGZsb2F0OiBsZWZ0OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgLnBheW1lbnQtbWFpbiB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAzLjEyNWVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0OTlweCkge1xuICAgICAgLnBheW1lbnQtbWFpbiB7XG4gICAgICAgIHBhZGRpbmctdG9wOiA2LjI1ZW07IH0gfVxuICAucGF5bWVudC1tZW51IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgaGVpZ2h0OiAzLjEyNWVtO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjNDg1MzVkOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgIC5wYXltZW50LW1lbnUge1xuICAgICAgICB6LWluZGV4OiAzO1xuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGxlZnQ6IDMuMTI1ZW07XG4gICAgICAgIGJhY2tncm91bmQ6ICMxYTI0NTE7IH0gfVxuICAgIC5wYXltZW50LW1lbnUtLW1hc3RlciB7XG4gICAgICB3aWR0aDogMy43NWVtO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwLjVlbTtcbiAgICAgIHJpZ2h0OiAwLjYyNWVtO1xuICAgICAgYm90dG9tOiAwOyB9XG4gICAgLnBheW1lbnQtbWVudS0tZG90MSB7XG4gICAgICB3aWR0aDogMC42MjVlbTtcbiAgICAgIGhlaWdodDogMC42MjVlbTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMS4yNWVtO1xuICAgICAgcmlnaHQ6IDUuMzEyNWVtO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgYmFja2dyb3VuZDogI2NjYztcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwcHg7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAgIC5wYXltZW50LW1lbnUtLWRvdDEge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDEuMjVlbTtcbiAgICAgICAgICByaWdodDogNC42ODc1ZW07XG4gICAgICAgICAgYm90dG9tOiAwOyB9IH1cbiAgICAucGF5bWVudC1tZW51LS12aXNhIHtcbiAgICAgIHdpZHRoOiAzLjc1ZW07XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDAuMTg3NWVtO1xuICAgICAgcmlnaHQ6IDYuODc1ZW07XG4gICAgICBib3R0b206IDA7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAgIC5wYXltZW50LW1lbnUtLXZpc2Ege1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDAuMTg3NWVtO1xuICAgICAgICAgIHJpZ2h0OiA1LjYyNWVtO1xuICAgICAgICAgIGJvdHRvbTogMDsgfSB9XG4gICAgLnBheW1lbnQtbWVudS0tZG90MiB7XG4gICAgICB3aWR0aDogMC42MjVlbTtcbiAgICAgIGhlaWdodDogMC42MjVlbTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMS4yNWVtO1xuICAgICAgcmlnaHQ6IDExLjU2MjVlbTtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGJhY2tncm91bmQ6ICNjY2M7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MHB4OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgICAucGF5bWVudC1tZW51LS1kb3QyIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiAxLjI1ZW07XG4gICAgICAgICAgcmlnaHQ6IDkuNjg3NWVtO1xuICAgICAgICAgIGJvdHRvbTogMDsgfSB9XG4gICAgLnBheW1lbnQtbWVudS0tc3NsIHtcbiAgICAgIHdpZHRoOiAzLjc1ZW07XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDAuNjI1ZW07XG4gICAgICByaWdodDogMTMuMTI1ZW07XG4gICAgICBib3R0b206IDA7XG4gICAgICBoZWlnaHQ6IDQwcHg7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAgIC5wYXltZW50LW1lbnUtLXNzbCB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogMC42MjVlbTtcbiAgICAgICAgICByaWdodDogMTAuNjI1ZW07XG4gICAgICAgICAgYm90dG9tOiAwOyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAgIC5wYXltZW50LW1lbnUtLXNzbCB7XG4gICAgICAgICAgYmFja2dyb3VuZC1zaXplOiA4MCU7IH0gfVxuICAgIC5wYXltZW50LW1lbnUgYnV0dG9uIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAyMCU7XG4gICAgICBib3R0b206IC0xLjQyODU3ZW07XG4gICAgICBmb250LXNpemU6IDAuODEyNWVtO1xuICAgICAgcGFkZGluZzogMC42OTIzMWVtIDEuNTM4NDZlbTtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzBjYmY4O1xuICAgICAgY29sb3I6ICMxOTFlMjY7XG4gICAgICBib3JkZXItcmFkaXVzOiAzLjA3NjkyZW07XG4gICAgICBib3gtc2hhZG93OiAwIDAgMi42OTIzMWVtIDAgcmdiYSgwLCAwLCAwLCAwLjM5KTtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluOyB9XG4gICAgICAucGF5bWVudC1tZW51IGJ1dHRvbjpob3ZlciwgLnBheW1lbnQtbWVudSBidXR0b246Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2M4ZGJjO1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTI3OXB4KSB7XG4gICAgICAgIC5wYXltZW50LW1lbnUgYnV0dG9uIHtcbiAgICAgICAgICByaWdodDogMTAlOyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAgIC5wYXltZW50LW1lbnUgYnV0dG9uIHtcbiAgICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgICAgbGVmdDogMC45MjMwOGVtO1xuICAgICAgICAgIGJvdHRvbTogMC42MTUzOGVtO1xuICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgdGV4dC1pbmRlbnQ6IC05MDAwcHg7XG4gICAgICAgICAgd2lkdGg6IDIuMTI1ZW07XG4gICAgICAgICAgaGVpZ2h0OiAyLjEyNWVtO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTsgfVxuICAgICAgICAgIC5wYXltZW50LW1lbnUgYnV0dG9uOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMC41NjI1ZW07XG4gICAgICAgICAgICByaWdodDogMWVtO1xuICAgICAgICAgICAgd2lkdGg6IDAuMTI1ZW07XG4gICAgICAgICAgICBoZWlnaHQ6IDFlbTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTsgfVxuICAgICAgICAgIC5wYXltZW50LW1lbnUgYnV0dG9uOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAxZW07XG4gICAgICAgICAgICByaWdodDogMC41NjI1ZW07XG4gICAgICAgICAgICB3aWR0aDogMWVtO1xuICAgICAgICAgICAgaGVpZ2h0OiAwLjEyNWVtO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpOyB9IH1cbiAgICAucGF5bWVudC1tZW51IHVsIGxpIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICM0ODUzNWQ7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgICAgIC5wYXltZW50LW1lbnUgdWwgbGkgLmxhbmdfc2VsIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDEwcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4OyB9XG4gICAgICAgIC5wYXltZW50LW1lbnUgdWwgbGkgLmxhbmdfc2VsIGltZyB7XG4gICAgICAgICAgd2lkdGg6IDMwcHg7IH1cbiAgICAucGF5bWVudC1tZW51IHVsIGEge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwYWRkaW5nOiAwIDEuNzg1NzFlbTtcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAzLjU3MTQzZW07IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAgIC5wYXltZW50LW1lbnUgdWwgYSB7XG4gICAgICAgICAgZm9udC1zaXplOiAwLjYyNWVtO1xuICAgICAgICAgIHBhZGRpbmc6IDAgMWVtO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiA1ZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAucGF5bWVudC1tZW51LS13cmFwIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAucGF5bWVudC1tZW51IHVsIHtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgaGVpZ2h0OiA1MHB4OyB9IH1cbiAgLnBheW1lbnQtbWVzc2FnZXMge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAyO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtaW4taGVpZ2h0OiAyLjQyMTA1ZW07XG4gICAgcGFkZGluZzogMC41MjYzMmVtIDAuNzg5NDdlbTtcbiAgICBtYXJnaW46IDAuOTQ3MzdlbSA0LjIxMDUzZW0gMCAyLjEwNTI2ZW07XG4gICAgZm9udC1zaXplOiAxLjE4NzVlbTtcbiAgICBmb250LWZhbWlseTogXCJMYXRvTGlnaHRcIiwgc2Fucy1zZXJpZjtcbiAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgIGJvcmRlci1yYWRpdXM6IDEuNTc4OTVlbTtcbiAgICBib3JkZXI6IDJweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxuICAgIC5wYXltZW50LW1lc3NhZ2VzLmVycm9yIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzYzhkYmM7XG4gICAgICBib3JkZXItY29sb3I6ICNjNTYyYWM7IH1cbiAgICAucGF5bWVudC1tZXNzYWdlcy5zdWNjZXNzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzYzhkYmM7XG4gICAgICBib3JkZXItY29sb3I6ICMwMGE2NTE7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjc5cHgpIHtcbiAgICAgIC5wYXltZW50LW1lc3NhZ2VzIHtcbiAgICAgICAgcGFkZGluZzogMC40MjEwNWVtIDAuNzg5NDdlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDk5cHgpIHtcbiAgICAgIC5wYXltZW50LW1lc3NhZ2VzIHtcbiAgICAgICAgbWFyZ2luOiAwLjk0NzM3ZW0gMC43ODk0N2VtIDA7XG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgYm90dG9tOiAyMHB4OyB9IH1cbiAgLnBheW1lbnQtaW5mbyB7XG4gICAgd2lkdGg6IDE4LjQzNzVlbTtcbiAgICBoZWlnaHQ6IDExLjU2MjVlbTtcbiAgICBib3gtc2hhZG93OiAwIDAgMzVweCAxNHB4IHJnYmEoMCwgMCwgMCwgMC4zKTtcbiAgICBtYXJnaW46IDEuODc1ZW0gMGVtIDBlbSAwLjYyNWVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDAuNjI1ZW07IH1cbiAgLnBheW1lbnQtY2FyZCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTguNDM3NWVtO1xuICAgIGhlaWdodDogMTEuNTYyNWVtO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcGFkZGluZzogMy43NWVtIDEuMTI1ZW0gMC42MjVlbSAxLjEyNWVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgIzMwY2JmOCwgIzlkYzI5ZCk7XG4gICAgYm94LXNoYWRvdzogMCAwIDM1cHggMTRweCByZ2JhKDAsIDAsIDAsIDAuMyk7XG4gICAgYm9yZGVyLXJhZGl1czogMC42MjVlbTtcbiAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cbiAgICAucGF5bWVudC1jYXJkLS1mcm9udCB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZVkoMGRlZyk7IH1cbiAgICAucGF5bWVudC1jYXJkLS1iYWNrIHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlWSgxODBkZWcpOyB9XG4gICAgLnBheW1lbnQtY2FyZC0tZmxpcCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkO1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNnMgZWFzZS1pbjsgfVxuICAgIC5wYXltZW50LWNhcmQtLXdyYXAge1xuICAgICAgd2lkdGg6IDE4LjQzNzVlbTtcbiAgICAgIGhlaWdodDogMTEuNTYyNWVtO1xuICAgICAgbWFyZ2luOiAxLjg3NWVtIGF1dG87XG4gICAgICBwZXJzcGVjdGl2ZTogMTAwMDtcbiAgICAgIC13ZWJraXQtcGVyc3BlY3RpdmU6IDEwMDA7IH1cbiAgICAgIC5wYXltZW50LWNhcmQtLXdyYXAucm90YXRlIC5wYXltZW50LWNhcmQtLWZsaXAge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZVkoMTgwZGVnKTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgICAgLnBheW1lbnQtY2FyZC0td3JhcCB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gICAgLnBheW1lbnQtY2FyZDpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICB3aWR0aDogNzAwcHg7XG4gICAgICBoZWlnaHQ6IDcwMHB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAtMTVweDtcbiAgICAgIHJpZ2h0OiAtNTBweDtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDIwMHB4IHJnYmEoMCwgMCwgMCwgMC4wNCksIGluc2V0IDAgMCAwIDEyMHB4IHJnYmEoMCwgMCwgMCwgMC4wMik7IH1cbiAgICAucGF5bWVudC1jYXJkOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgd2lkdGg6IDcwMHB4O1xuICAgICAgaGVpZ2h0OiA3MDBweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IC02MHB4O1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpO1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgYm94LXNoYWRvdzogMCAwIDAgMjAwcHggcmdiYSgwLCAwLCAwLCAwLjA0KSwgaW5zZXQgMCAwIDAgMTIwcHggcmdiYSgwLCAwLCAwLCAwLjAyKTsgfVxuICAgIC5wYXltZW50LWNhcmQtLWRhdGEge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgei1pbmRleDogMTsgfVxuICAgIC5wYXltZW50LWNhcmQtLW51bWJlciB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogMS4yZW07XG4gICAgICBsaW5lLWhlaWdodDogMS4yZW07XG4gICAgICBmb250LXNpemU6IDEuNTYyNWVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC42ZW07IH1cbiAgICAucGF5bWVudC1jYXJkLS15ZWFyLCAucGF5bWVudC1jYXJkLS1tb250aCB7XG4gICAgICBmb250LXNpemU6IDEuMTI1ZW07IH1cbiAgICAucGF5bWVudC1jYXJkLS1uYW1lIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luLXRvcDogMC42MjVlbTtcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVlbTsgfVxuICAgIC5wYXltZW50LWNhcmQtLXR5cGUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICB3aWR0aDogMy43NWVtO1xuICAgICAgaGVpZ2h0OiAyLjVlbTtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50IG5vLXJlcGVhdCBjZW50ZXIgIC8gY292ZXI7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2UtaW47IH1cbiAgICAgIC5wYXltZW50LWNhcmQtLXR5cGVbZGF0YS10eXBlPVwidmlzYVwiXSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9jYXJkcy92aXNhLnN2Z1wiKTtcbiAgICAgICAgb3BhY2l0eTogMTsgfVxuICAgICAgLnBheW1lbnQtY2FyZC0tdHlwZVtkYXRhLXR5cGU9XCJhbWV4XCJdIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL2NhcmRzL2FtZXguc3ZnXCIpO1xuICAgICAgICBvcGFjaXR5OiAxOyB9XG4gICAgICAucGF5bWVudC1jYXJkLS10eXBlW2RhdGEtdHlwZT1cIm1hc3RlcmNhcmRcIl0ge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvY2FyZHMvbWFzdGVyY2FyZC5zdmdcIik7XG4gICAgICAgIG9wYWNpdHk6IDE7IH1cbiAgICAgIC5wYXltZW50LWNhcmQtLXR5cGVbZGF0YS10eXBlPVwibWFlc3Ryb1wiXSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9jYXJkcy9tYWVzdHJvLnN2Z1wiKTtcbiAgICAgICAgb3BhY2l0eTogMTsgfVxuICAgIC5wYXltZW50LWNhcmQtLXN0cmlwIHtcbiAgICAgIHotaW5kZXg6IDEwO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAyLjE4NzVlbTtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIGhlaWdodDogMi41ZW07XG4gICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjNDA0MDQwLCAjMWExYTFhKTsgfVxuICAgIC5wYXltZW50LWNhcmQtLWNjdiB7XG4gICAgICB6LWluZGV4OiAxMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNi4yNWVtO1xuICAgICAgcmlnaHQ6IDUlO1xuICAgICAgbGVmdDogNSU7XG4gICAgICBoZWlnaHQ6IDJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyZW07XG4gICAgICBwYWRkaW5nOiAwIDAuNjI1ZW07XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDAuNjI1ZW07XG4gICAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICAgICAgY29sb3I6ICMxYTI0NTE7IH1cbiAgICAgIC5wYXltZW50LWNhcmQtLWNjdjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnY3Z2JztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IC0xLjM3NWVtO1xuICAgICAgICByaWdodDogMC42MjVlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAucGF5bWVudC1pbmZvIHtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBwYWRkaW5nOiAwLjMxMjVlbSAwLjc1ZW07XG4gICAgZm9udC1mYW1pbHk6IFwiTGF0b0xpZ2h0XCIsIHNhbnMtc2VyaWY7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2ZmZmZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2M4ZGJjO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAucGF5bWVudC1pbmZvIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogMi41ZW07XG4gICAgICAgIGJvdHRvbTogMS44NzVlbTtcbiAgICAgICAgbGVmdDogMi41ZW07XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgd2lkdGg6IGF1dG87IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ5OXB4KSB7XG4gICAgICAucGF5bWVudC1pbmZvIHtcbiAgICAgICAgcmlnaHQ6IDAuOTM3NWVtO1xuICAgICAgICBsZWZ0OiAwLjkzNzVlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzk5cHgpIHtcbiAgICAgIC5wYXltZW50LWluZm8ge1xuICAgICAgICBwYWRkaW5nOiAxLjA2MjVlbSAwLjQzNzVlbSAwLjkzNzVlbTsgfSB9XG4gICAgLnBheW1lbnQtaW5mbyBpbWcge1xuICAgICAgd2lkdGg6IDQ1JTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgICAgLnBheW1lbnQtaW5mbyBpbWcge1xuICAgICAgICAgIHdpZHRoOiAzNSU7IH0gfVxuICAgIC5wYXltZW50LWluZm8gcCB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMC41ZW07XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICBsaW5lLWhlaWdodDogMS4yOyB9XG4gICAgICAucGF5bWVudC1pbmZvIHAgYiB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIkxhdG9Cb2xkXCIsIHNhbnMtc2VyaWY7IH1cbiAgLnBheW1lbnQgYXNpZGUge1xuICAgIHdpZHRoOiAzLjEyNWVtO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkOGRiZGI7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgLnBheW1lbnQgYXNpZGUge1xuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDsgfSB9XG4gICAgLnBheW1lbnQgYXNpZGUgdWwgbGkge1xuICAgICAgaGVpZ2h0OiAzLjYyNWVtO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNhY2IwYjM7IH1cbiAgICAgIC5wYXltZW50IGFzaWRlIHVsIGxpIGEge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcGFkZGluZzogMS4xMjVlbSAwLjc1ZW0gMC43NWVtIDAuNzVlbTsgfVxuICAgICAgICAucGF5bWVudCBhc2lkZSB1bCBsaSBhIHN2ZyB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlOyB9XG4gICAgICAgICAgLnBheW1lbnQgYXNpZGUgdWwgbGkgYSBzdmcgcGF0aCB7XG4gICAgICAgICAgICBmaWxsOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIHN0cm9rZTogI2FjYjBiMztcbiAgICAgICAgICAgIHRyYW5zaXRpb246IHN0cm9rZSAwLjNzIGVhc2UtaW47IH1cbiAgICAgICAgLnBheW1lbnQgYXNpZGUgdWwgbGkgYTpob3ZlciBzdmcgcGF0aCB7XG4gICAgICAgICAgc3Ryb2tlOiAjMTkxZTI2OyB9XG4gIC5wYXltZW50LWxvZ28ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogMy4xMjVlbTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIHBhZGRpbmc6IDAuMTg3NWVtOyB9XG4gICAgLnBheW1lbnQtbG9nbyBzdmcge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgLnBheW1lbnQtYWRkaXRpb25hbCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzFhMjQ1MTsgfVxuICAgIC5wYXltZW50LWFkZGl0aW9uYWw6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAgIC5wYXltZW50LWFkZGl0aW9uYWw6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWcvYmctcmlnaHQuanBnXCIpIG5vLXJlcGVhdCBjZW50ZXIvY292ZXI7XG4gICAgICBmaWx0ZXI6IGJsdXIoNHB4KTtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wNCk7XG4gICAgICBib3gtc2hhZG93OiBpbnNldCAxMHB4IDVweCA0MHB4IDEwcHggcmdiYSgwLCAwLCAwLCAwLjM1KTtcbiAgICAgIG9wYWNpdHk6IDAuNDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyODBweCkge1xuICAgICAgLnBheW1lbnQtYWRkaXRpb25hbCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIGhlaWdodDogMTAwdmg7XG4gICAgICAgIHdpZHRoOiAyNSU7IH0gfVxuICAgIC5wYXltZW50LWFkZGl0aW9uYWwtLWluZm8ge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgICAgIC5wYXltZW50LWFkZGl0aW9uYWwtLWluZm8gaDIge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMC4zMTI1ZW07IH1cbiAgICAgIC5wYXltZW50LWFkZGl0aW9uYWwtLWluZm8gLnBheW1lbnQtdmFsdWUge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGZvbnQtc2l6ZTogMy4xMjVlbTtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiTGF0b0xpZ2h0XCIsIHNhbnMtc2VyaWY7IH1cbiAgICAgICAgLnBheW1lbnQtYWRkaXRpb25hbC0taW5mbyAucGF5bWVudC12YWx1ZSBpbnB1dCB7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgICAgICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gICAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgIG91dGxpbmU6IG5vbmU7IH1cbiAgICAgICAgLnBheW1lbnQtYWRkaXRpb25hbC0taW5mbyAucGF5bWVudC12YWx1ZTpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6ICckJztcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIGxlZnQ6IC0wLjZlbTsgfVxuICAgICAgICAgIC5ldXJvIC5wYXltZW50LWFkZGl0aW9uYWwtLWluZm8gLnBheW1lbnQtdmFsdWU6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICfigqwnOyB9XG4gICAgICAgICAgLmdicCAucGF5bWVudC1hZGRpdGlvbmFsLS1pbmZvIC5wYXltZW50LXZhbHVlOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAnXFwwMEEzJzsgfVxuICAgIC5wYXltZW50LWFkZGl0aW9uYWwgLmJhY2sge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvdHRvbTogMS4yNWVtO1xuICAgICAgbGVmdDogMDtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkxhdG9MaWdodFwiLCBzYW5zLXNlcmlmOyB9XG4gICAgICAucGF5bWVudC1hZGRpdGlvbmFsIC5iYWNrIHN2ZyB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICBtYXJnaW4tbGVmdDogMC41ZW07XG4gICAgICAgIHdpZHRoOiAwLjgxMjVlbTtcbiAgICAgICAgaGVpZ2h0OiAxZW07IH1cbiAgICAgICAgLnBheW1lbnQtYWRkaXRpb25hbCAuYmFjayBzdmcgcGF0aCB7XG4gICAgICAgICAgZmlsbDogIzMwY2JmODtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluOyB9XG4gICAgICAucGF5bWVudC1hZGRpdGlvbmFsIC5iYWNrOmhvdmVyIHN2ZyBwYXRoIHtcbiAgICAgICAgZmlsbDogI2Q4ZGJkYjsgfVxuXG4uZm9vdGVyLXRleHQge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGNvbG9yOiAjY2NjO1xuICBmb250LXNpemU6IDE0cHg7IH1cblxuI3NpZGViYXJBbW91bnQge1xuICB3aWR0aDogMTUwcHg7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTM5cHgpIHtcbiAgLnRydXN0IHtcbiAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuQGtleWZyYW1lcyBleHBhbmQge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDAsIDEpOyB9XG4gIDI1JSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEuMiwgMSk7IH1cbiAgNTAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMC44NSwgMSk7IH1cbiAgNzUlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMS4wNSwgMSk7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpOyB9IH1cblxuLmN1c3RvbWVyLWluZm8uZGlzYWJsZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuY3VzdG9tZXItaW5mby5kaXNhYmxlOmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgY29udGVudDogJyc7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoOTIsIDEwMiwgMTEzLCAwLjgpIHVybChcIi4uL2ltZy9sb2FkZXIuc3ZnXCIpIG5vLXJlcGVhdCBjZW50ZXIvY29udGFpbjtcbiAgICB6LWluZGV4OiA1OyB9XG5cbmZvcm0ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IDEuNTYyNWVtIDBlbSAzLjQzNzVlbSAyLjVlbTsgfVxuICBmb3JtOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgZm9ybSB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMTVlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ5OXB4KSB7XG4gICAgZm9ybSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NWVtOyB9IH1cbiAgZm9ybSAuaGlkZGVuIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgZm9ybSBoMiB7XG4gICAgcGFkZGluZy1ib3R0b206IDAuNTc2OTJlbTsgfVxuICBmb3JtIC5wYXltZW50LXRpdGxlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAtMS42OGVtO1xuICAgIGxlZnQ6IDEuNmVtO1xuICAgIGZvbnQtc2l6ZTogMS41NjI1ZW07XG4gICAgZm9udC1mYW1pbHk6IFwiTGF0b0xpZ2h0XCIsIHNhbnMtc2VyaWY7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgcGFkZGluZy1yaWdodDogMi41cmVtO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW47IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0OTlweCkge1xuICAgICAgZm9ybSAucGF5bWVudC10aXRsZSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNmVtO1xuICAgICAgICBsZWZ0OiAwLjZlbTsgfSB9XG4gIGZvcm0gLmNvbC0xLTIge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiA1MCU7XG4gICAgcGFkZGluZy1yaWdodDogNWVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTI3OXB4KSB7XG4gICAgICBmb3JtIC5jb2wtMS0yIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMy43NWVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgZm9ybSAuY29sLTEtMiB7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0OTlweCkge1xuICAgICAgZm9ybSAuY29sLTEtMiB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NWVtOyB9IH1cbiAgZm9ybSAucGF5bWVudC1pbnB1dCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgZm9ybSAucGF5bWVudC1pbnB1dC0td3JhcDphZnRlciB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwMHB4KSB7XG4gICAgICBmb3JtIC5wYXltZW50LWlucHV0LmhhbGYge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgd2lkdGg6IDQ5JTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAyJTsgfVxuICAgICAgICBmb3JtIC5wYXltZW50LWlucHV0LmhhbGY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gICAgICAgIGZvcm0gLnBheW1lbnQtaW5wdXQuaGFsZiBzcGFuIHtcbiAgICAgICAgICBib3R0b206IDEuODc1ZW07IH1cbiAgICAgICAgZm9ybSAucGF5bWVudC1pbnB1dC5oYWxmIGlucHV0OmZvY3VzICsgc3BhbiB7XG4gICAgICAgICAgYm90dG9tOiAwLjVlbSAhaW1wb3J0YW50OyB9IH1cbiAgICBmb3JtIC5wYXltZW50LWlucHV0IHNwYW4ge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkxhdG9MaWdodFwiLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC1zaXplOiAwLjkzNzVlbTtcbiAgICAgIGNvbG9yOiAjMzBjYmY4O1xuICAgICAgdHJhbnNpdGlvbjogYm90dG9tIDAuM3MgZWFzZS1pbjsgfVxuICAgIGZvcm0gLnBheW1lbnQtaW5wdXQgaSB7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgcGFkZGluZzogMGVtIDAuMjVlbSAwLjI1ZW0gMC4yNWVtO1xuICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgZm9udC1mYW1pbHk6IFwiTGF0b0xpZ2h0XCIsIHNhbnMtc2VyaWY7XG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKDQ4LCAyMDMsIDI0OCwgMC43KTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDAuMzc1ZW07XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluOyB9XG4gIGZvcm0gaW5wdXQ6LXdlYmtpdC1hdXRvZmlsbCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzFhMjQ1MSAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiBpbmhlcml0ICFpbXBvcnRhbnQ7IH1cbiAgZm9ybSBpbnB1dDpub3QoW3R5cGU9XCJzdWJtaXRcIl0pOm5vdCgucGF5bWVudC12YWx1ZSksIGZvcm0gLmNzLXBsYWNlaG9sZGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDIuMTA1MjZlbTtcbiAgICBmb250LXNpemU6IDEuMTg3NWVtO1xuICAgIGZvbnQtZmFtaWx5OiBcIkxhdG9MaWdodFwiLCBzYW5zLXNlcmlmO1xuICAgIG1hcmdpbi1ib3R0b206IDEuNTc4OTVlbTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWEyNDUxO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2Q4ZGJkYjtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGNvbG9yOiBpbmhlcml0OyB9XG4gICAgZm9ybSBpbnB1dDpub3QoW3R5cGU9XCJzdWJtaXRcIl0pOm5vdCgucGF5bWVudC12YWx1ZSkuY2FyZC1uYW1lLCBmb3JtIC5jcy1wbGFjZWhvbGRlci5jYXJkLW5hbWUge1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgIGZvcm0gaW5wdXQ6bm90KFt0eXBlPVwic3VibWl0XCJdKTpub3QoLnBheW1lbnQtdmFsdWUpLmVycm9yLCBmb3JtIC5jcy1wbGFjZWhvbGRlci5lcnJvciB7XG4gICAgICBib3JkZXItY29sb3I6ICNjNTAwMDAgIWltcG9ydGFudDtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9lcnJfc2lnLnBuZ1wiKTtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgcmlnaHQ7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDMwcHggMzBweDsgfVxuICAgICAgZm9ybSBpbnB1dDpub3QoW3R5cGU9XCJzdWJtaXRcIl0pOm5vdCgucGF5bWVudC12YWx1ZSkuZXJyb3I6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIsIGZvcm0gLmNzLXBsYWNlaG9sZGVyLmVycm9yOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICAgICAgY29sb3I6IHJnYmEoMTk3LCAwLCAwLCAwLjg1KTsgfVxuICAgICAgZm9ybSBpbnB1dDpub3QoW3R5cGU9XCJzdWJtaXRcIl0pOm5vdCgucGF5bWVudC12YWx1ZSkuZXJyb3I6Oi1tb3otcGxhY2Vob2xkZXIsIGZvcm0gLmNzLXBsYWNlaG9sZGVyLmVycm9yOjotbW96LXBsYWNlaG9sZGVyIHtcbiAgICAgICAgY29sb3I6IHJnYmEoMTk3LCAwLCAwLCAwLjg1KTsgfVxuICAgICAgZm9ybSBpbnB1dDpub3QoW3R5cGU9XCJzdWJtaXRcIl0pOm5vdCgucGF5bWVudC12YWx1ZSkuZXJyb3I6LW1vei1wbGFjZWhvbGRlciwgZm9ybSAuY3MtcGxhY2Vob2xkZXIuZXJyb3I6LW1vei1wbGFjZWhvbGRlciB7XG4gICAgICAgIGNvbG9yOiByZ2JhKDE5NywgMCwgMCwgMC44NSk7IH1cbiAgICAgIGZvcm0gaW5wdXQ6bm90KFt0eXBlPVwic3VibWl0XCJdKTpub3QoLnBheW1lbnQtdmFsdWUpLmVycm9yOi1tcy1pbnB1dC1wbGFjZWhvbGRlciwgZm9ybSAuY3MtcGxhY2Vob2xkZXIuZXJyb3I6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICAgICAgY29sb3I6IHJnYmEoMTk3LCAwLCAwLCAwLjg1KTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEyNzlweCkge1xuICAgICAgZm9ybSBpbnB1dDpub3QoW3R5cGU9XCJzdWJtaXRcIl0pOm5vdCgucGF5bWVudC12YWx1ZSksIGZvcm0gLmNzLXBsYWNlaG9sZGVyIHtcbiAgICAgICAgaGVpZ2h0OiAxLjczNjg0ZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjczNjg0ZW07IH0gfVxuICAgIGZvcm0gaW5wdXQ6bm90KFt0eXBlPVwic3VibWl0XCJdKTpub3QoLnBheW1lbnQtdmFsdWUpOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyLCBmb3JtIC5jcy1wbGFjZWhvbGRlcjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI3KTtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuM3MgZWFzZS1pbjtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG4gICAgZm9ybSBpbnB1dDpub3QoW3R5cGU9XCJzdWJtaXRcIl0pOm5vdCgucGF5bWVudC12YWx1ZSk6Oi1tb3otcGxhY2Vob2xkZXIsIGZvcm0gLmNzLXBsYWNlaG9sZGVyOjotbW96LXBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjcpO1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC4zcyBlYXNlLWluO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cbiAgICBmb3JtIGlucHV0Om5vdChbdHlwZT1cInN1Ym1pdFwiXSk6bm90KC5wYXltZW50LXZhbHVlKTotbW96LXBsYWNlaG9sZGVyLCBmb3JtIC5jcy1wbGFjZWhvbGRlcjotbW96LXBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjcpO1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC4zcyBlYXNlLWluO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cbiAgICBmb3JtIGlucHV0Om5vdChbdHlwZT1cInN1Ym1pdFwiXSk6bm90KC5wYXltZW50LXZhbHVlKTotbXMtaW5wdXQtcGxhY2Vob2xkZXIsIGZvcm0gLmNzLXBsYWNlaG9sZGVyOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI3KTtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuM3MgZWFzZS1pbjtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG4gICAgZm9ybSBpbnB1dDpub3QoW3R5cGU9XCJzdWJtaXRcIl0pOm5vdCgucGF5bWVudC12YWx1ZSkudmFsaWQsIGZvcm0gLmNzLXBsYWNlaG9sZGVyLnZhbGlkIHtcbiAgICAgIGJvcmRlci1jb2xvcjogIzAwYTY1MSAhaW1wb3J0YW50OyB9XG4gICAgZm9ybSBpbnB1dDpub3QoW3R5cGU9XCJzdWJtaXRcIl0pOm5vdCgucGF5bWVudC12YWx1ZSk6Zm9jdXMsIGZvcm0gLmNzLXBsYWNlaG9sZGVyOmZvY3VzIHtcbiAgICAgIGJvcmRlci1jb2xvcjogIzMwY2JmODsgfVxuICAgICAgZm9ybSBpbnB1dDpub3QoW3R5cGU9XCJzdWJtaXRcIl0pOm5vdCgucGF5bWVudC12YWx1ZSk6Zm9jdXM6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIsIGZvcm0gLmNzLXBsYWNlaG9sZGVyOmZvY3VzOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICAgICAgY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgICBmb3JtIGlucHV0Om5vdChbdHlwZT1cInN1Ym1pdFwiXSk6bm90KC5wYXltZW50LXZhbHVlKTpmb2N1czo6LW1vei1wbHRyYW5zcGFyZW50ZGVyLCBmb3JtIC5jcy1wbGFjZWhvbGRlcjpmb2N1czo6LW1vei1wbHRyYW5zcGFyZW50ZGVyIHtcbiAgICAgICAgY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgICBmb3JtIGlucHV0Om5vdChbdHlwZT1cInN1Ym1pdFwiXSk6bm90KC5wYXltZW50LXZhbHVlKTpmb2N1czotbW96LXBsYWNlaG9sZGVyLCBmb3JtIC5jcy1wbGFjZWhvbGRlcjpmb2N1czotbW96LXBsYWNlaG9sZGVyIHtcbiAgICAgICAgY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgICBmb3JtIGlucHV0Om5vdChbdHlwZT1cInN1Ym1pdFwiXSk6bm90KC5wYXltZW50LXZhbHVlKTpmb2N1czotbXMtaW5wdXQtcGxhY2Vob2xkZXIsIGZvcm0gLmNzLXBsYWNlaG9sZGVyOmZvY3VzOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgICAgZm9ybSBpbnB1dDpub3QoW3R5cGU9XCJzdWJtaXRcIl0pOm5vdCgucGF5bWVudC12YWx1ZSk6Zm9jdXMgKyBzcGFuLCBmb3JtIC5jcy1wbGFjZWhvbGRlcjpmb2N1cyArIHNwYW4ge1xuICAgICAgICBib3R0b206IC0xLjVlbTsgfVxuICAgICAgZm9ybSBpbnB1dDpub3QoW3R5cGU9XCJzdWJtaXRcIl0pOm5vdCgucGF5bWVudC12YWx1ZSk6Zm9jdXMgfiBpLCBmb3JtIC5jcy1wbGFjZWhvbGRlcjpmb2N1cyB+IGkge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0b3A6IC0xLjU2MjVlbTsgfVxuICBmb3JtIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIHBhZGRpbmc6IDAgMC40Njg3NWVtO1xuICAgIHdpZHRoOiA5LjgxMjVlbTtcbiAgICBoZWlnaHQ6IDEuMjVlbTtcbiAgICBmb250LWZhbWlseTogXCJMYXRvTGlnaHRcIiwgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDIuNjI1ZW07XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNzQpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMGE2NTE7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICBib3gtc2hhZG93OiAwIDAgMS4wOTM3NWVtIDAgcmdiYSgwLCAwLCAwLCAwLjM5KTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuM3MgZWFzZS1pbjsgfVxuICAgIGZvcm0gaW5wdXRbdHlwZT1cInN1Ym1pdFwiXTpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2M4ZGJjOyB9XG4gICAgZm9ybSBpbnB1dFt0eXBlPVwic3VibWl0XCJdW2Rpc2FibGVkXSB7XG4gICAgICBjdXJzb3I6IGF1dG87XG4gICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBiYWNrZ3JvdW5kOiAjM2M4ZGJjIHVybChcIi4uL2ltZy9sb2FkZXIuc3ZnXCIpIG5vLXJlcGVhdCBjZW50ZXIvY29udGFpbjsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEyNzlweCkge1xuICAgICAgZm9ybSBpbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIGhlaWdodDogMS4zMmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4zMmVtO1xuICAgICAgICBmb250LXNpemU6IDEuNTYyNWVtO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmU7IH0gfVxuICBmb3JtIC5wYXltZW50LXZhbHVlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogNC41ZW07XG4gICAgaGVpZ2h0OiAxLjY1ZW07XG4gICAgbWFyZ2luLWxlZnQ6IDAuNmVtO1xuICAgIGZvbnQtc2l6ZTogMS4yNWVtO1xuICAgIGZvbnQtZmFtaWx5OiBcIkxhdG9MaWdodFwiLCBzYW5zLXNlcmlmO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNmZmZmZmY7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyLXJhZGl1czogMC41ZW07XG4gICAgYm94LXNoYWRvdzogMCAwIDEuMDkzNzVlbSAwIHJnYmEoMCwgMCwgMCwgMC4zOSk7IH1cbiAgICBmb3JtIC5wYXltZW50LXZhbHVlIGlucHV0IHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICBwYWRkaW5nOiAwIDAuMjVlbSAwIDFlbTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICBib3JkZXI6IDAgIWltcG9ydGFudDtcbiAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbCAhaW1wb3J0YW50O1xuICAgICAgb3V0bGluZTogbm9uZTsgfVxuICAgIGZvcm0gLnBheW1lbnQtdmFsdWU6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICckJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMC4xNWVtO1xuICAgICAgbGVmdDogMC4zZW07IH1cbiAgICAgIC5ldXJvIGZvcm0gLnBheW1lbnQtdmFsdWU6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJ+KCrCc7IH1cbiAgICAgIC5nYnAgZm9ybSAucGF5bWVudC12YWx1ZTpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnXFwwMEEzJzsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEyNzlweCkge1xuICAgICAgZm9ybSAucGF5bWVudC12YWx1ZSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDsgfSB9XG4gIGZvcm0gc2VsZWN0IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiBpbmhlcml0OyB9XG4gIGZvcm0gLnBheW1lbnQtc2VsZWN0OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIGZvcm0gLnBheW1lbnQtc2VsZWN0LS1sZWZ0IHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogNDUlOyB9XG4gIGZvcm0gLnBheW1lbnQtc2VsZWN0LS1yaWdodCB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIHdpZHRoOiA0NSU7IH1cbiAgZm9ybSAucGF5bWVudC1zZWxlY3QtLWxlZnQgPiBkaXYsIGZvcm0gLnBheW1lbnQtc2VsZWN0LS1yaWdodCA+IGRpdiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBvdXRsaW5lOiBub25lOyB9XG4gIGZvcm0gLnBheW1lbnQtc2VsZWN0LS1ib3RoIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMTAwJTsgfVxuICBmb3JtIC5wYXltZW50LXNlbGVjdC0tYm90aCA+IGRpdiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBvdXRsaW5lOiBub25lOyB9XG4gIGZvcm0gLnBheW1lbnQtc2VsZWN0IC5jcy1wbGFjZWhvbGRlciB7XG4gICAgZm9udC1mYW1pbHk6IFwiTGF0b0xpZ2h0XCIsIHNhbnMtc2VyaWY7XG4gICAgbGluZS1oZWlnaHQ6IDIuMTA1MjZlbTtcbiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI3KTsgfVxuICAgIGZvcm0gLnBheW1lbnQtc2VsZWN0IC5jcy1wbGFjZWhvbGRlci5lcnJvciB7XG4gICAgICBjb2xvcjogI2M1MDAwMDsgfVxuICAgIGZvcm0gLnBheW1lbnQtc2VsZWN0IC5jcy1wbGFjZWhvbGRlci5jcy1zZWxlY3RlZCB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICBmb3JtIC5wYXltZW50LXNlbGVjdCAuY3MtYWN0aXZlIC5jcy1wbGFjZWhvbGRlciB7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yNyk7IH1cbiAgZm9ybSAucGF5bWVudC1zZWxlY3QgLmNzLW9wdGlvbnMge1xuICAgIHotaW5kZXg6IDM7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMTAwJTtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDA7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDAsIDEpO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2UtaW47IH1cbiAgICBmb3JtIC5wYXltZW50LXNlbGVjdCAuY3Mtb3B0aW9ucyB1bCB7XG4gICAgICBoZWlnaHQ6IDE4Ljc1ZW07XG4gICAgICBvdmVyZmxvdzogc2Nyb2xsO1xuICAgICAgcGFkZGluZzogMC4zMTI1ZW0gMGVtIDBlbSAwLjMxMjVlbTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxYTI0NTE7XG4gICAgICBib3gtc2hhZG93OiAwIDAgMC45Mzc1ZW0gcmdiYSgwLCAwLCAwLCAwLjMpOyB9XG4gICAgICBmb3JtIC5wYXltZW50LXNlbGVjdCAuY3Mtb3B0aW9ucyB1bCBsaSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjg7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiTGF0b0xpZ2h0XCIsIHNhbnMtc2VyaWY7IH1cbiAgZm9ybSAucGF5bWVudC1zZWxlY3QgLmNzLWFjdGl2ZSAuY3MtcGxhY2Vob2xkZXIge1xuICAgIGJvcmRlci1jb2xvcjogIzMwY2JmODsgfVxuICBmb3JtIC5wYXltZW50LXNlbGVjdCAuY3MtYWN0aXZlIC5jcy1vcHRpb25zIHtcbiAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7IH1cblxuLnBheW1lbnQtaWZyYW1lIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4ucGF5bWVudC1pZnJhbWUuYWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpO1xuICBib3gtc2hhZG93OiAwIDAgMTVweCAxMHB4IHJnYmEoMjUsIDMwLCAzOCwgMC41KTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogYXV0bztcbiAgei1pbmRleDogMTE7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogODAlO1xuICBoZWlnaHQ6IDgwJTsgfVxuICAucGF5bWVudC1pZnJhbWUuYWN0aXZlIGlmcmFtZSB7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTsgfVxuXG5ib2R5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzIxMjEyMSAhaW1wb3J0YW50O1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIGJvZHkgLmxvYWRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTsgfVxuICAgIGJvZHkgLmxvYWRlciAuYmFyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjVGNUY1O1xuICAgICAgd2lkdGg6IDEwMHB4O1xuICAgICAgaGVpZ2h0OiAxMHB4O1xuICAgICAgYm9yZGVyOiAycHggc29saWQgI0Y1RjVGNTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDJweDsgfVxuICAgICAgYm9keSAubG9hZGVyIC5iYXIgLmxvYWRlZCB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM2MDdEOEI7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICB3aWR0aDogMCU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICAgICAgdHJhbnNpdGlvbjogd2lkdGggMXMgbGluZWFyOyB9XG4gICAgYm9keSAubG9hZGVyIC5zcGlubmVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICBoZWlnaHQ6IDIwMHB4O1xuICAgICAgYW5pbWF0aW9uOiBiYXIgOHMgbGluZWFyIGluZmluaXRlO1xuICAgICAgdHJhbnNpdGlvbjogaGVpZ2h0IDFzIGVhc2UtaW47IH1cbiAgICAgIGJvZHkgLmxvYWRlciAuc3Bpbm5lcjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDBweDtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgICAgd2lkdGg6IDRweDtcbiAgICAgICAgaGVpZ2h0OiA0cHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjA3RDhCOyB9XG5cbkBrZXlmcmFtZXMgYmFyIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHJvdGF0ZSgwZGVnKTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSByb3RhdGUoMzYwZGVnKTsgfSB9XG4iLCIvKlxuKiBTY3V0LCBhIGNvbGxlY3Rpb24gb2YgU2FzcyB1dGlsaXRpZXNcbiogdG8gZWFzZSBhbmQgaW1wcm92ZSBvdXIgaW1wbGVtZW50YXRpb25zIG9mIGNvbW1vbiBzdHlsZS1jb2RlIHBhdHRlcm5zLlxuKiB2MS40LjBcbiogRG9jcyBhdCBodHRwOi8vZGF2aWR0aGVjbGFyay5naXRodWIuaW8vc2N1dFxuKi9cblxuQG1peGluIHNjdXQtY2xlYXJmaXgge1xuXG4gICY6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY2xlYXI6IGJvdGg7XG4gIH1cblxufVxuXG4lc2N1dC1jbGVhcmZpeCB7XG4gIEBpbmNsdWRlIHNjdXQtY2xlYXJmaXg7XG59XG5AbWl4aW4gc2N1dC1saXN0LXVuc3R5bGVkKFxuICAkbm8tbWFyZ2luOiB0cnVlXG4pIHtcblxuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIHBhZGRpbmctbGVmdDogMDtcblxuICBAaWYgJG5vLW1hcmdpbiB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbn1cblxuJXNjdXQtbGlzdC11bnN0eWxlZCB7XG4gIEBpbmNsdWRlIHNjdXQtbGlzdC11bnN0eWxlZCgpO1xufVxuLy8gRGVwZW5kcyBvbiBgbGlzdC11bnN0eWxlZGAgYW5kIGBjbGVhcmZpeGAuXG5cbkBtaXhpbiBzY3V0LWxpc3QtZmxvYXRlZCAoXG4gICRzcGFjZTogZmFsc2UsXG4gICRkaXI6IGxlZnQsXG4gICRuby1tYXJnaW46IHRydWVcbikge1xuXG4gIEBpbmNsdWRlIHNjdXQtbGlzdC11bnN0eWxlZCgkbm8tbWFyZ2luKTtcbiAgQGluY2x1ZGUgc2N1dC1jbGVhcmZpeDtcblxuICAmID4gbGkge1xuICAgIGZsb2F0OiAkZGlyO1xuICB9XG5cbiAgQGlmICRzcGFjZSB7XG4gICAgJiA+IGxpICsgbGkge1xuICAgICAgbWFyZ2luLSN7JGRpcn06ICRzcGFjZTtcbiAgICB9XG4gIH1cblxufVxuXG4lc2N1dC1saXN0LWZsb2F0ZWQge1xuICBAaW5jbHVkZSBzY3V0LWxpc3QtZmxvYXRlZDtcbn1cblxuQGZ1bmN0aW9uIHNjdXQtYXV0b09yVmFsdWUgKCR2YWwpIHtcbiAgQGlmICR2YWwgPT0gYSBvciAkdmFsID09IGF1dG8ge1xuICAgIEByZXR1cm4gYXV0bztcbiAgfVxuICBAZWxzZSB7XG4gICAgQHJldHVybiAkdmFsO1xuICB9XG59XG5cbkBtaXhpbiBzY3V0LWNvb3JkcyAoXG4gICRjb29yZGluYXRlczogbiBuIG4gblxuKSB7XG5cbiAgJHRvcDogbnRoKCRjb29yZGluYXRlcywgMSk7XG4gICRyaWdodDogbnRoKCRjb29yZGluYXRlcywgMik7XG4gICRib3R0b206IG50aCgkY29vcmRpbmF0ZXMsIDMpO1xuICAkbGVmdDogbnRoKCRjb29yZGluYXRlcywgNCk7XG5cbiAgQGlmICR0b3AgIT0gbiB7XG4gICAgdG9wOiBzY3V0LWF1dG9PclZhbHVlKCR0b3ApO1xuICB9XG4gIEBpZiAkcmlnaHQgIT0gbiB7XG4gICAgcmlnaHQ6IHNjdXQtYXV0b09yVmFsdWUoJHJpZ2h0KTtcbiAgfVxuICBAaWYgJGJvdHRvbSAhPSBuIHtcbiAgICBib3R0b206IHNjdXQtYXV0b09yVmFsdWUoJGJvdHRvbSk7XG4gIH1cbiAgQGlmICRsZWZ0ICE9IG4ge1xuICAgIGxlZnQ6IHNjdXQtYXV0b09yVmFsdWUoJGxlZnQpO1xuICB9XG5cbn1cbkBmdW5jdGlvbiBzY3V0LXN0cmlwLXVuaXQgKFxuICAkbnVtXG4pIHtcblxuICBAcmV0dXJuICRudW0gLyAoJG51bSAqIDAgKyAxKTtcblxufVxuLy8gRGVwZW5kcyBvbiBgc2N1dC1zdHJpcC11bml0YC5cblxuJHNjdXQtZW0tYmFzZTogMTYgIWRlZmF1bHQ7XG5cbkBmdW5jdGlvbiBzY3V0LWVtIChcbiAgJHBpeGVscyxcbiAgJGJhc2U6ICRzY3V0LWVtLWJhc2Vcbikge1xuXG4gIC8vICRiYXNlIGNvdWxkIGJlIGluIGVtIG9yIHB4IChubyB1bml0ID0gcHgpLlxuICAvLyBBZGp1c3QgYWNjb3JkaW5nbHkgdG8gY3JlYXRlIGEgJGRpdmlzb3IgdGhhdFxuICAvLyBzZXJ2ZXMgYXMgY29udGV4dCBmb3IgJHBpeGVscy5cbiAgJG11bHRpcGxpZXI6IGlmKHVuaXQoJGJhc2UpID09IGVtLCAxNiwgMSk7XG4gICRkaXZpc29yOiBzY3V0LXN0cmlwLXVuaXQoJGJhc2UpICogJG11bHRpcGxpZXI7XG5cbiAgJGVtLXZhbHM6ICgpO1xuICBAZWFjaCAkdmFsIGluICRwaXhlbHMge1xuICAgICR2YWwtaW4tZW1zOiAoc2N1dC1zdHJpcC11bml0KCR2YWwpIC8gJGRpdmlzb3IpICogMWVtO1xuICAgICRlbS12YWxzOiBhcHBlbmQoJGVtLXZhbHMsICR2YWwtaW4tZW1zKTtcbiAgfVxuXG4gIEBpZiBsZW5ndGgoJGVtLXZhbHMpID09IDEge1xuICAgIC8vIHJldHVybiBhIHNpbmdsZSB2YWx1ZSBpbnN0ZWFkIG9mIGEgbGlzdCxcbiAgICAvLyBzbyBpdCBjYW4gYmUgdXNlZCBpbiBjYWxjdWxhdGlvbnNcbiAgICBAcmV0dXJuIG50aCgkZW0tdmFscywgMSk7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gJGVtLXZhbHM7XG4gIH1cblxufVxuLy8gRGVwZW5kcyBvbiBgc2N1dC1zdHJpcC11bml0YC5cblxuJHNjdXQtcmVtLWJhc2U6IDE2ICFkZWZhdWx0O1xuXG5AZnVuY3Rpb24gc2N1dC1yZW0gKFxuICAkcGl4ZWxzXG4pIHtcblxuICAkcmVtLXZhbHM6ICgpO1xuICBAZWFjaCAkdmFsIGluICRwaXhlbHMge1xuICAgICR2YWwtaW4tcmVtczogc2N1dC1zdHJpcC11bml0KCR2YWwpIC8gJHNjdXQtcmVtLWJhc2UgKiAxcmVtO1xuICAgICRyZW0tdmFsczogYXBwZW5kKCRyZW0tdmFscywgJHZhbC1pbi1yZW1zKTtcbiAgfVxuXG4gIEBpZiBsZW5ndGgoJHJlbS12YWxzKSA9PSAxIHtcbiAgICAvLyByZXR1cm4gYSBzaW5nbGUgdmFsdWUgaW5zdGVhZCBvZiBhIGxpc3QsXG4gICAgLy8gc28gaXQgY2FuIGJlIHVzZWQgaW4gY2FsY3VsYXRpb25zXG4gICAgQHJldHVybiBudGgoJHJlbS12YWxzLCAxKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQHJldHVybiAkcmVtLXZhbHM7XG4gIH1cblxufVxuQG1peGluIHNjdXQtYm9yZGVyIChcbiAgJHN0eWxlLFxuICAkc2lkZXM6IG4geVxuKSB7XG5cbiAgQGlmIGxlbmd0aCgkc2lkZXMpID09IDIge1xuICAgIEBpZiBudGgoJHNpZGVzLCAxKSAhPSBuIHtcbiAgICAgIGJvcmRlci10b3A6ICRzdHlsZTtcbiAgICAgIGJvcmRlci1ib3R0b206ICRzdHlsZTtcbiAgICB9XG4gICAgQGlmIG50aCgkc2lkZXMsIDIpICE9IG4ge1xuICAgICAgYm9yZGVyLWxlZnQ6ICRzdHlsZTtcbiAgICAgIGJvcmRlci1yaWdodDogJHN0eWxlO1xuICAgIH1cbiAgfVxuXG4gIEBlbHNlIGlmIGxlbmd0aCgkc2lkZXMpID09IDQge1xuICAgIEBpZiBudGgoJHNpZGVzLCAxKSAhPSBuIHtcbiAgICAgIGJvcmRlci10b3A6ICRzdHlsZTtcbiAgICB9XG4gICAgQGlmIG50aCgkc2lkZXMsIDIpICE9IG4ge1xuICAgICAgYm9yZGVyLXJpZ2h0OiAkc3R5bGU7XG4gICAgfVxuICAgIEBpZiBudGgoJHNpZGVzLCAzKSAhPSBuIHtcbiAgICAgIGJvcmRlci1ib3R0b206ICRzdHlsZTtcbiAgICB9XG4gICAgQGlmIG50aCgkc2lkZXMsIDQpICE9IG4ge1xuICAgICAgYm9yZGVyLWxlZnQ6ICRzdHlsZTtcbiAgICB9XG4gIH1cblxuICBAZWxzZSB7XG4gICAgQHdhcm4gXCJTY3V0LWJvcmRlciByZXF1aXJlcyBhICRzaWRlcyBhcmd1bWVudCBvZiAyIG9yIDQgdmFsdWVzLlwiXG4gIH1cblxufVxuQG1peGluIHNjdXQtY2lyY2xlIChcbiAgJHNpemUsXG4gICRjb2xvcjogaW5oZXJpdFxuKSB7XG5cbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgQGlmICRjb2xvciA9PSBpbmhlcml0IHtcbiAgICAvLyBJZiB1c2VyIHdhbnRzIHRvIGluaGVyaXQgdGhlIGNvbG9yLFxuICAgIC8vIHRha2UgYWR2YW50YWdlIG9mIHRoZSBmYWN0IHRoYXQgYm9yZGVyXG4gICAgLy8gY29sb3IgZGVmYXVsdHMgdG8gdGhlIHRleHQgY29sb3Igb2YgdGhlIGVsZW1lbnQuXG4gICAgYm9yZGVyLXdpZHRoOiAkc2l6ZSAvIDI7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgd2lkdGg6IDA7XG4gIH1cbiAgQGVsc2Uge1xuICAgIC8vIE90aGVyd2lzZSwganVzdCB1c2UgYmFja2dyb3VuZC1jb2xvci5cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG4gICAgaGVpZ2h0OiAkc2l6ZTtcbiAgICB3aWR0aDogJHNpemU7XG4gIH1cblxufVxuQG1peGluIHNjdXQtY29sb3Itc3dhcCAoXG4gICRvZmYsXG4gICRvbixcbiAgJGR1cmF0aW9uOiAwLFxuICAkYmc6IGZhbHNlXG4pIHtcblxuICAkdHJhbnNpdGlvbi1wcm9wZXJ0aWVzOiBudWxsO1xuICAkb2ZmLWlzLWxpc3Q6IHR5cGUtb2YoJG9mZikgPT0gbGlzdDtcbiAgJG9uLWlzLWxpc3Q6IHR5cGUtb2YoJG9uKSA9PSBsaXN0O1xuXG4gIC8vIElmICRvZmYgSVMgYSBsaXN0LFxuICAvLyBhc3NpZ24gY29sb3IgYW5kIGJhY2tncm91bmQtY29sb3IuXG4gIEBpZiAkb2ZmLWlzLWxpc3Qge1xuICAgIGNvbG9yOiBudGgoJG9mZiwgMSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbnRoKCRvZmYsIDIpO1xuICAgICR0cmFuc2l0aW9uLXByb3BlcnRpZXM6IGJhY2tncm91bmQtY29sb3IsIGNvbG9yO1xuICB9XG5cbiAgLy8gSWYgJG9mZiBJUyBOT1QgYSBsaXN0IGFuZCAkYmcgaXMgVFJVRSxcbiAgLy8gYXNzaWduIGJhY2tncm91bmQtY29sb3IuXG4gIEBlbHNlIGlmICRiZyBhbmQgbm90KCRvZmYtaXMtbGlzdCkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRvZmY7XG4gICAgJHRyYW5zaXRpb24tcHJvcGVydGllczogYmFja2dyb3VuZC1jb2xvcjtcbiAgfVxuXG4gIC8vIElmICRvZmYgSVMgTk9UIGEgbGlzdCBhbmQgJGJnIGlzIEZBTFNFLFxuICAvLyBhc3NpZ24gY29sb3IuXG4gIEBlbHNlIHtcbiAgICBjb2xvcjogJG9mZjtcbiAgICAkdHJhbnNpdGlvbi1wcm9wZXJ0aWVzOiBjb2xvcjtcbiAgfVxuXG4gIC8vIE9ubHkgc2V0LXVwIHRyYW5zaXRpb24gaWYgJGR1cmF0aW9uICE9IDAuXG4gIEBpZiAkZHVyYXRpb24gIT0gMCB7XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogJHRyYW5zaXRpb24tcHJvcGVydGllcztcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAkZHVyYXRpb247XG4gIH1cblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcblxuICAgIC8vICRvbiBpcyB0cmVhdGVkIHRoZSBzYW1lIGFzICRvZmYsIGFib3ZlLlxuICAgIEBpZiAkb24taXMtbGlzdCB7XG4gICAgICBjb2xvcjogbnRoKCRvbiwgMSk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBudGgoJG9uLCAyKTtcbiAgICB9XG5cbiAgICBAZWxzZSBpZiAkYmcgYW5kIG5vdCgkb24taXMtbGlzdCkge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG9uO1xuICAgIH1cblxuICAgIEBlbHNlIHtcbiAgICAgIGNvbG9yOiAkb247XG4gICAgfVxuICB9XG5cbn1cbkBtaXhpbiBzY3V0LWhkLWJwIChcbiAgJHJhdGlvOiAxLjNcbikge1xuXG4gIEBtZWRpYSAoLW8tbWluLWRldmljZS1waXhlbC1yYXRpbzogKCRyYXRpbyAvIDEpKSxcbiAgICAgICAgICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86ICRyYXRpbyksXG4gICAgICAgICAobWluLXJlc29sdXRpb246IChyb3VuZCg5NiAqICRyYXRpbykgKiAxZHBpKSkge1xuICAgIEBjb250ZW50O1xuICB9XG5cbn1cblxuQG1peGluIHNjdXQtaGlkZS12aXN1YWxseSB7XG5cbiAgYm9yZGVyOiAwO1xuICBjbGlwOiByZWN0KDAgMCAwIDApO1xuICBoZWlnaHQ6IDFweDtcbiAgbWFyZ2luOiAtMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nOiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxcHg7XG5cbn1cblxuJXNjdXQtaGlkZS12aXN1YWxseSB7XG4gIEBpbmNsdWRlIHNjdXQtaGlkZS12aXN1YWxseTtcbn1cbkBtaXhpbiBzY3V0LWltYWdlLXJlcGxhY2Uge1xuXG4gIHRleHQtaW5kZW50OiAxMDIlO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nOiAwO1xuXG59XG5cbiVzY3V0LWltYWdlLXJlcGxhY2Uge1xuICBAaW5jbHVkZSBzY3V0LWltYWdlLXJlcGxhY2U7XG59XG5cbi8vIERlcGVuZHMgb24gc2N1dC1yZW0gYW5kIHNjdXQtc3RyaXAtdW5pdFxuXG5AbWl4aW4gc2N1dC1yZW0tZmFsbGJhY2sgKFxuICAkcGl4ZWxzLFxuICAkcHJvcGVydHk6IGZvbnQtc2l6ZVxuKSB7XG5cbiAgJHB4LXZhbHM6IG51bGw7XG4gIEBlYWNoICR2YWwgaW4gJHBpeGVscyB7XG4gICAgJHZhbC1pbi1weDogc2N1dC1zdHJpcC11bml0KCR2YWwpICogMXB4O1xuICAgICRweC12YWxzOiBhcHBlbmQoJHB4LXZhbHMsICR2YWwtaW4tcHgpO1xuICB9XG4gICRyZW0tdmFsczogc2N1dC1yZW0oJHBpeGVscyk7XG5cbiAgI3skcHJvcGVydHl9OiAkcHgtdmFscztcbiAgI3skcHJvcGVydHl9OiAkcmVtLXZhbHM7XG5cbn1cbkBtaXhpbiBzY3V0LXJlc2V0LWJvcmRlci1ib3gge1xuICAvLyBNYWtlIGV2ZXJ5dGhpbmcgYSBib3JkZXItYm94LCBiZWNhdXNlIHdoeSBub3Q/XG4gIGh0bWwge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIH1cbiAgKiwgKjpiZWZvcmUsICo6YWZ0ZXIge1xuICAgIGJveC1zaXppbmc6IGluaGVyaXQ7XG4gIH1cbn1cblxuQG1peGluIHNjdXQtcmVzZXQtYW50aWFsaWFzIHtcbiAgLy8gQW50aWFsaWFzIVxuICBib2R5IHtcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgfVxuICAqLCAqOmJlZm9yZSwgKjphZnRlciB7XG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogaW5oZXJpdDtcbiAgfVxufVxuXG5AbWl4aW4gc2N1dC1yZXNldC1zZW1hbnRpY2l6ZSB7XG4gIC8vIE1ha2UgaGVhZGVycyBhbmQgPGI+IHNlbWFudGljLCBub3QgcHJlc2VudGF0aW9uYWwuXG4gIGgxLFxuICBoMixcbiAgaDMsXG4gIGg0LFxuICBoNSxcbiAgaDYge1xuICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgbWFyZ2luOiAwO1xuICB9XG4gIGIge1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIH1cbn1cblxuQG1peGluIHNjdXQtcmVzZXQtcG9pbnRlciB7XG4gIC8vIENsaWNrYWJsZSBmb3JtIGVsZW1lbnRzIHNob3VsZCBoYXZlIGEgcG9pbnRlci5cbiAgbGFiZWwsXG4gIHNlbGVjdCxcbiAgb3B0aW9uLFxuICBidXR0b24ge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxufVxuXG5AbWl4aW4gc2N1dC1yZXNldC1mb3JtIHtcbiAgZmllbGRzZXQge1xuICAgIGJvcmRlcjogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuICB0ZXh0YXJlYSB7XG4gICAgcmVzaXplOiB2ZXJ0aWNhbDtcbiAgfVxufVxuXG5AbWl4aW4gc2N1dC1yZXNldC1idXR0b24ge1xuICAvLyBSZXNldCBkZWZhdWx0IGJ1dHRvbiBzdHlsZXMsIHdoaWNoIGFyZSBuZXZlciB1c2VkLlxuICBidXR0b24sXG4gIFt0eXBlPVwiYnV0dG9uXCJdLFxuICBbdHlwZT1cInN1Ym1pdFwiXSxcbiAgW3R5cGU9XCJyZXNldFwiXSB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiAwO1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIGZvbnQ6IGluaGVyaXQ7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgJjo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgYm9yZGVyOiAwO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gc2N1dC1yZXNldC1wYXJhZ3JhcGgge1xuICAvLyBTb21lIHBhcmFncmFwaCBtYXJnaW5zIGp1c3QgZ2V0IGluIHRoZSB3YXkuXG4gIHA6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxuICBwOmxhc3Qtb2YtdHlwZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG5AbWl4aW4gc2N1dC1yZXNldC1tZWRpYSB7XG4gIC8vIFlvdSB3YW50IHRoZXNlIGVsZW1lbnRzIGZsdWlkLCBwcm9iYWJseS5cbiAgaW1nLFxuICB2aWRlbyB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxufVxuXG5AbWl4aW4gc2N1dC1yZXNldC1maWd1cmUge1xuICAvLyBSZW1vdmUgZGVmYXVsdCBtYXJnaW5zLlxuICBmaWd1cmUge1xuICAgIG1hcmdpbjogMDtcbiAgfVxufVxuXG4vLyBDYWxsIHRoZW0gYWxsLCBtaW51cyBleGNsdXNpb25zIVxuQG1peGluIHNjdXQtcmVzZXQgKCRleGNsdWRlOiBmYWxzZSkge1xuICBAaWYgbm90KGluZGV4KCRleGNsdWRlLCBib3JkZXItYm94KSkge1xuICAgIEBpbmNsdWRlIHNjdXQtcmVzZXQtYm9yZGVyLWJveDtcbiAgfVxuICBAaWYgbm90KGluZGV4KCRleGNsdWRlLCBhbnRpYWxpYXMpKSB7XG4gICAgQGluY2x1ZGUgc2N1dC1yZXNldC1hbnRpYWxpYXM7XG4gIH1cbiAgQGlmIG5vdChpbmRleCgkZXhjbHVkZSwgc2VtYW50aWNpemUpKSB7XG4gICAgQGluY2x1ZGUgc2N1dC1yZXNldC1zZW1hbnRpY2l6ZTtcbiAgfVxuICBAaWYgbm90KGluZGV4KCRleGNsdWRlLCBwb2ludGVyKSkge1xuICAgIEBpbmNsdWRlIHNjdXQtcmVzZXQtcG9pbnRlcjtcbiAgfVxuICBAaWYgbm90KGluZGV4KCRleGNsdWRlLCBmb3JtKSkge1xuICAgIEBpbmNsdWRlIHNjdXQtcmVzZXQtZm9ybTtcbiAgfVxuICBAaWYgbm90KGluZGV4KCRleGNsdWRlLCBidXR0b24pKSB7XG4gICAgQGluY2x1ZGUgc2N1dC1yZXNldC1idXR0b247XG4gIH1cbiAgQGlmIG5vdChpbmRleCgkZXhjbHVkZSwgcGFyYWdyYXBoKSkge1xuICAgIEBpbmNsdWRlIHNjdXQtcmVzZXQtcGFyYWdyYXBoO1xuICB9XG4gIEBpZiBub3QoaW5kZXgoJGV4Y2x1ZGUsIG1lZGlhKSkge1xuICAgIEBpbmNsdWRlIHNjdXQtcmVzZXQtbWVkaWE7XG4gIH1cbiAgQGlmIG5vdChpbmRleCgkZXhjbHVkZSwgZmlndXJlKSkge1xuICAgIEBpbmNsdWRlIHNjdXQtcmVzZXQtZmlndXJlO1xuICB9XG59XG5cbkBtaXhpbiBzY3V0LXNlbGVjdGVkIChcbiAgJGFjdGl2ZTogZmFsc2Vcbikge1xuXG4gIEBpZiAkYWN0aXZlIHtcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMsXG4gICAgJjphY3RpdmUge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG5cbn1cbkBtaXhpbiBzY3V0LXRyaWFuZ2xlIChcbiAgJGRpcmVjdGlvbjogcmlnaHQsXG4gICRzaXplOiAwLjc1ZW0sXG4gICRjb2xvcjogaW5oZXJpdFxuKSB7XG5cbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBoZWlnaHQ6IDA7XG4gIHdpZHRoOiAwO1xuICAvLyBGb3IgaW1wcm92ZWQgYXBwZWFyYW5jZSBpbiBzb21lIFdlYmtpdCBicm93c2Vyc1xuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG5cbiAgLy8gU2V0IHVwIHNvbWUgdmFyaWFibGVzXG4gICR3aWR0aDogbnVsbDtcbiAgJGhlaWdodDogbnVsbDtcbiAgJGJvcmRlci13aWR0aHM6IG51bGw7XG5cbiAgQGlmIHR5cGUtb2YoJHNpemUpID09IGxpc3Qge1xuICAgICR3aWR0aDogbnRoKCRzaXplLCAxKTtcbiAgICAkaGVpZ2h0OiBudGgoJHNpemUsIDIpO1xuICB9XG4gIEBlbHNlIHtcbiAgICAkd2lkdGg6ICRzaXplO1xuICAgICRoZWlnaHQ6ICRzaXplO1xuICB9XG5cbiAgQGlmICgkZGlyZWN0aW9uID09IHVwKSBvciAoJGRpcmVjdGlvbiA9PSBkb3duKSB7XG4gICAgLy8gRm9yIHVwIGFuZCBkb3duLCB3aWR0aCBnZXRzIHR3byBib3JkZXJzIGJ1dCBoZWlnaHQgb25seSBvbmUsXG4gICAgLy8gc28gZGl2aWRlIHNlY29uZCBib3JkZXItd2lkdGggdmFsdWUgYnkgMlxuICAgICRib3JkZXItd2lkdGhzOiAkaGVpZ2h0ICgkd2lkdGggLyAyKTtcbiAgfVxuICBAZWxzZSBpZiAoJGRpcmVjdGlvbiA9PSByaWdodCkgb3IgKCRkaXJlY3Rpb24gPT0gbGVmdCkge1xuICAgIC8vIEZvciByaWdodCBhbmQgbGVmdCwgaGVpZ2h0IGdldHMgdHdvIGJvcmRlcnMgYnV0IHdpZHRoIG9ubHkgb25lLFxuICAgIC8vIHNvIGRpdmlkZSBmaXJzdCBib3JkZXItd2lkdGggdmFsdWUgYnkgMlxuICAgICRib3JkZXItd2lkdGhzOiAoJGhlaWdodCAvIDIpICR3aWR0aDtcbiAgfVxuICBAZWxzZSB7XG4gICAgLy8gRm9yIHJpZ2h0IHRyaWFuZ2xlcyAodGhlIHJlc3QpLCBib3RoIHNpZGVzIGdldCB0d28gYm9yZGVycyxcbiAgICAvLyBzbyBkaXZpZGUgYm90aCBieSAyXG4gICAgJGJvcmRlci13aWR0aHM6ICgkaGVpZ2h0IC8gMikgKCR3aWR0aCAvIDIpO1xuICB9XG5cbiAgYm9yZGVyLXdpZHRoOiAkYm9yZGVyLXdpZHRocztcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcblxuXG4gIC8vIFNUQU5EQVJEIFRSSUFOR0xFU1xuXG4gIEBpZiAoJGRpcmVjdGlvbiA9PSB1cCkgb3IgKCRkaXJlY3Rpb24gPT0gZG93bikgb3IgKCRkaXJlY3Rpb24gPT0gcmlnaHQpIG9yICgkZGlyZWN0aW9uID09IGxlZnQpIHtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIEBpZiAkZGlyZWN0aW9uID09IHVwIHtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRjb2xvcjtcbiAgICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XG4gICAgfVxuICAgIEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gcmlnaHQge1xuICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICRjb2xvcjtcbiAgICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICB9XG4gICAgQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSBkb3duIHtcbiAgICAgIGJvcmRlci10b3AtY29sb3I6ICRjb2xvcjtcbiAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgfVxuICAgIEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gbGVmdCB7XG4gICAgICBib3JkZXItcmlnaHQtY29sb3I6ICRjb2xvcjtcbiAgICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICAgIH1cbiAgfVxuXG5cbiAgLy8gQ09STkVSIFRSSUFOR0xFU1xuXG4gIEBlbHNlIGlmICgkZGlyZWN0aW9uID09IHRvcC1yaWdodCkgb3IgKCRkaXJlY3Rpb24gPT0gdG9wLWxlZnQpIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAkY29sb3I7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgQGlmICRkaXJlY3Rpb24gPT0gdG9wLXJpZ2h0IHtcbiAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogJGNvbG9yO1xuICAgIH1cbiAgICBAZWxzZSBpZiAkZGlyZWN0aW9uID09IHRvcC1sZWZ0IHtcbiAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkY29sb3I7XG4gICAgICBib3JkZXItcmlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cbiAgfVxuXG4gIEBlbHNlIGlmICgkZGlyZWN0aW9uID09IGJvdHRvbS1yaWdodCkgb3IgKCRkaXJlY3Rpb24gPT0gYm90dG9tLWxlZnQpIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkY29sb3I7XG4gICAgQGlmICRkaXJlY3Rpb24gPT0gYm90dG9tLXJpZ2h0IHtcbiAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogJGNvbG9yO1xuICAgIH1cbiAgICBAZWxzZSBpZiAkZGlyZWN0aW9uID09IGJvdHRvbS1sZWZ0IHtcbiAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkY29sb3I7XG4gICAgICBib3JkZXItcmlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cbiAgfVxuXG59XG5cbiVzY3V0LXRyaWFuZ2xlIHtcbiAgQGluY2x1ZGUgc2N1dC10cmlhbmdsZTtcbn1cbkBtaXhpbiBzY3V0LWNlbnRlci1hYnNvbHV0ZWx5IChcbiAgJGRpbWVuc2lvbnNcbikge1xuXG4gICR3aWR0aDogbnRoKCRkaW1lbnNpb25zLCAxKTtcbiAgJGhlaWdodDogbnRoKCRkaW1lbnNpb25zLCAyKTtcblxuICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgQGlmICR3aWR0aCAhPSBuIHtcbiAgICB3aWR0aDogJHdpZHRoO1xuICAgIGxlZnQ6IDUwJTtcbiAgICBtYXJnaW4tbGVmdDogKC0kd2lkdGggLyAyKTtcbiAgfVxuXG4gIEBpZiAkaGVpZ2h0ICE9IG4ge1xuICAgIGhlaWdodDogJGhlaWdodDtcbiAgICB0b3A6IDUwJTtcbiAgICBtYXJnaW4tdG9wOiAoLSRoZWlnaHQgLyAyKTtcbiAgfVxuXG59XG5AbWl4aW4gc2N1dC1jZW50ZXItYmxvY2sgKFxuICAkbWF4LXdpZHRoOiBmYWxzZVxuKSB7XG5cbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgQGlmICRtYXgtd2lkdGgge1xuICAgIG1heC13aWR0aDogJG1heC13aWR0aDtcbiAgfVxuXG59XG5cbiVzY3V0LWNlbnRlci1ibG9jayB7XG4gIEBpbmNsdWRlIHNjdXQtY2VudGVyLWJsb2NrO1xufVxuXG5AbWl4aW4gc2N1dC1jZW50ZXItdHJhbnNmb3JtIChcbiAgJGF4aXM6IGZhbHNlIC8vIG9yIHggb3IgeVxuKSB7XG5cbiAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gIEBpZiAkYXhpcyAhPSB4IHtcbiAgICB0b3A6IDUwJTtcbiAgICBtYXJnaW4tdG9wOiBhdXRvO1xuICAgIG1hcmdpbi1ib3R0b206IGF1dG87XG4gIH1cblxuICBAaWYgJGF4aXMgIT0geSB7XG4gICAgbGVmdDogNTAlO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgfVxuXG4gICR0cmFuc2xhdGUtdmFsOiBudWxsO1xuXG4gIEBpZiBub3QoJGF4aXMpIHtcbiAgICAkdHJhbnNsYXRlLXZhbDogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICB9XG4gIEBlbHNlIGlmICRheGlzICE9IHgge1xuICAgICR0cmFuc2xhdGUtdmFsOiB0cmFuc2xhdGVZKC01MCUpO1xuICB9XG4gIEBlbHNlIGlmICRheGlzICE9IHkge1xuICAgICR0cmFuc2xhdGUtdmFsOiB0cmFuc2xhdGVYKC01MCUpO1xuICB9XG5cbiAgLXdlYmtpdC10cmFuc2Zvcm06ICR0cmFuc2xhdGUtdmFsO1xuICAtbXMtdHJhbnNmb3JtOiAkdHJhbnNsYXRlLXZhbDtcbiAgdHJhbnNmb3JtOiAkdHJhbnNsYXRlLXZhbDtcbn1cblxuJXNjdXQtY2VudGVyLXRyYW5zZm9ybSB7XG4gIEBpbmNsdWRlIHNjdXQtY2VudGVyLXRyYW5zZm9ybTtcbn1cblxuJXNjdXQtY2VudGVyLXRyYW5zZm9ybS14IHtcbiAgQGluY2x1ZGUgc2N1dC1jZW50ZXItdHJhbnNmb3JtKHgpO1xufVxuXG4lc2N1dC1jZW50ZXItdHJhbnNmb3JtLXkge1xuICBAaW5jbHVkZSBzY3V0LWNlbnRlci10cmFuc2Zvcm0oeSk7XG59XG5cbkBtaXhpbiBzY3V0LWZpbGwgKFxuICAkd2lkdGgtaGVpZ2h0OiBmYWxzZVxuKSB7XG5cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIEBpZiAkd2lkdGgtaGVpZ2h0IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cbiAgQGVsc2Uge1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgfVxuXG59XG5cbiVzY3V0LWZpbGwge1xuICBAaW5jbHVkZSBzY3V0LWZpbGw7XG59XG5AbWl4aW4gc2N1dC1saXN0LWN1c3RvbSAoXG4gICRjb250ZW50OiBcIlxcMjAyMlwiLFxuICAkbWFya2VyLXdpZHRoOiAwLjc1ZW0sXG4gICRwYWQ6IDAsXG4gICRuby1tYXJnaW46IGZhbHNlXG4pIHtcblxuICAkY29udGVudC12YWw6IG51bGw7XG4gICRjb3VudGVyOiBpbmRleCgkY29udGVudCwgY291bnQpO1xuICBAaWYgJGNvdW50ZXIge1xuICAgIEBpZiBsZW5ndGgoJGNvbnRlbnQpID09IDMge1xuICAgICAgJGNvbnRlbnQtdmFsOiBjb3VudGVyKHNjdXRsaXN0Y291bnRlciwgbnRoKCRjb250ZW50LCAzKSludGgoJGNvbnRlbnQsMik7XG4gICAgfVxuICAgIEBlbHNlIGlmIGxlbmd0aCgkY29udGVudCkgPT0gMiB7XG4gICAgICAkY29udGVudC12YWw6IGNvdW50ZXIoc2N1dGxpc3Rjb3VudGVyKW50aCgkY29udGVudCwyKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJGNvbnRlbnQtdmFsOiBjb3VudGVyKHNjdXRsaXN0Y291bnRlcik7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAkY29udGVudC12YWw6ICRjb250ZW50O1xuICB9XG5cbiAgcGFkZGluZy1sZWZ0OiAkbWFya2VyLXdpZHRoICsgJHBhZDtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuXG4gIEBpZiAkbm8tbWFyZ2luIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICAmID4gbGkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBAaWYgJGNvdW50ZXIge1xuICAgICAgY291bnRlci1pbmNyZW1lbnQ6IHNjdXRsaXN0Y291bnRlcjtcbiAgICB9XG4gICAgJjpiZWZvcmUge1xuICAgICAgY29udGVudDogJGNvbnRlbnQtdmFsO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAtJG1hcmtlci13aWR0aDtcbiAgICAgIHdpZHRoOiAkbWFya2VyLXdpZHRoO1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG5cbn1cbi8vIERlcGVuZHMgb24gYGxpc3QtZmxvYXRlZGAsIHdoaWNoIGRlcGVuZHMgaW4gdHVybiBvbiBgbGlzdC11bnN0eWxlZGAgYW5kIGBjbGVhcmZpeGAuXG5cbkBtaXhpbiBzY3V0LWxpc3QtZGl2aWRlZCAoXG4gICRkaXZpZGVyOiBcInxcIixcbiAgJHNwYWNlOiAwLjVlbSxcbiAgJGRpcjogbGVmdCxcbiAgJGhlaWdodDogZmFsc2UsXG4gICRuby1tYXJnaW46IHRydWVcbikge1xuXG4gIEBpbmNsdWRlIHNjdXQtbGlzdC1mbG9hdGVkKCRkaXI6ICRkaXIsICRuby1tYXJnaW46ICRuby1tYXJnaW4pO1xuXG4gICRwc2V1ZG86IGlmKCRkaXIgPT0gbGVmdCwgJ2JlZm9yZScsICdhZnRlcicpO1xuXG4gIC8vIElmIGFuIGV4cGxpY2l0IGhlaWdodCBpcyBwYXNzZWQsXG4gIC8vIHRoaW5ncyBhcmUgZGlmZmVyZW50OiBBbGwgPGxpPnNcbiAgLy8gbmVlZCB0aGUgcHNldWRvLWVsZW1lbnQgKHRvIGZvcmNlIGhlaWdodCksXG4gIC8vIGJ1dCB0aGUgZmlyc3QncyBtdXN0IGJlIGhpZGRlbi5cblxuICBAaWYgJGhlaWdodCB7XG4gICAgJiA+IGxpIHtcbiAgICAgIGhlaWdodDogJGhlaWdodDtcbiAgICB9XG4gICAgJiA+IGxpOiN7JHBzZXVkb30ge1xuICAgICAgaGVpZ2h0OiAkaGVpZ2h0O1xuICAgICAgY29udGVudDogJGRpdmlkZXI7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICAgICYgPiBsaTpmaXJzdC1jaGlsZDojeyRwc2V1ZG99IHtcbiAgICAgIHdpZHRoOiAwO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG4gIH1cblxuICAmID4gbGkgKyBsaTojeyRwc2V1ZG99IHtcbiAgICBAaWYgbm90KCRoZWlnaHQpIHtcbiAgICAgIGNvbnRlbnQ6ICRkaXZpZGVyO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICAgIG1hcmdpbi1sZWZ0OiAkc3BhY2U7XG4gICAgbWFyZ2luLXJpZ2h0OiAkc3BhY2U7XG4gIH1cblxufVxuXG4lc2N1dC1saXN0LWJhciB7XG4gIEBpbmNsdWRlIHNjdXQtbGlzdC1kaXZpZGVkO1xufVxuXG4lc2N1dC1saXN0LWJyZWFkY3J1bWIge1xuICBAaW5jbHVkZSBzY3V0LWxpc3QtZGl2aWRlZChcIi9cIik7XG59XG4vLyBEZXBlbmRzIG9uIGBsaXN0LXVuc3R5bGVkYC5cblxuQG1peGluIHNjdXQtbGlzdC1pbmxpbmUgKFxuICAkc3BhY2U6IGZhbHNlLFxuICAkbm8tbWFyZ2luOiB0cnVlXG4pIHtcblxuICBAaW5jbHVkZSBzY3V0LWxpc3QtdW5zdHlsZWQoJG5vLW1hcmdpbik7XG5cbiAgJiA+IGxpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIH1cblxuICBAaWYgJHNwYWNlIHtcbiAgICAmID4gbGkgKyBsaSB7XG4gICAgICBtYXJnaW4tbGVmdDogJHNwYWNlO1xuICAgIH1cbiAgfVxuXG59XG5cbiVzY3V0LWxpc3QtaW5saW5lIHtcbiAgQGluY2x1ZGUgc2N1dC1saXN0LWlubGluZTtcbn1cbi8vIERlcGVuZHMgb24gYGxpc3QtdW5zdHlsZWRgLlxuXG5AbWl4aW4gc2N1dC1saXN0LXB1bmN0dWF0ZWQgKFxuICAkZGl2aWRlcjogXCIsIFwiLFxuICAkZGlzcGxheTogaW5saW5lLFxuICAkbm8tbWFyZ2luOiB0cnVlXG4pIHtcblxuICBAaW5jbHVkZSBzY3V0LWxpc3QtdW5zdHlsZWQoJG5vLW1hcmdpbik7XG5cbiAgJiA+IGxpIHtcbiAgICBkaXNwbGF5OiAkZGlzcGxheTtcbiAgICAmOm5vdCg6bGFzdC1jaGlsZCk6YWZ0ZXIge1xuICAgICAgY29udGVudDogJGRpdmlkZXI7XG4gICAgfVxuICB9XG5cbn1cblxuJXNjdXQtbGlzdC1jb21tYSB7XG4gIEBpbmNsdWRlIHNjdXQtbGlzdC1wdW5jdHVhdGVkO1xufVxuQG1peGluIHNjdXQtbWFyZ2luIChcbiAgJG1hcmdpblxuKSB7XG5cbiAgQGlmIGxlbmd0aCgkbWFyZ2luKSA9PSAxIGFuZCAkbWFyZ2luICE9IG4ge1xuICAgIG1hcmdpbi10b3A6ICRtYXJnaW47XG4gICAgbWFyZ2luLXJpZ2h0OiAkbWFyZ2luO1xuICAgIG1hcmdpbi1ib3R0b206ICRtYXJnaW47XG4gICAgbWFyZ2luLWxlZnQ6ICRtYXJnaW47XG4gIH1cblxuICBAaWYgbGVuZ3RoKCRtYXJnaW4pID09IDIge1xuICAgICRtYXJnaW4teTogbnRoKCRtYXJnaW4sIDEpO1xuICAgICRtYXJnaW4teDogbnRoKCRtYXJnaW4sIDIpO1xuICAgIEBpZiAkbWFyZ2luLXkgIT0gbiB7XG4gICAgICBtYXJnaW4tdG9wOiAkbWFyZ2luLXk7XG4gICAgICBtYXJnaW4tYm90dG9tOiAkbWFyZ2luLXk7XG4gICAgfVxuICAgIEBpZiAkbWFyZ2luLXggIT0gbiB7XG4gICAgICBtYXJnaW4tbGVmdDogJG1hcmdpbi14O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAkbWFyZ2luLXg7XG4gICAgfVxuICB9XG5cbiAgQGlmIGxlbmd0aCgkbWFyZ2luKSA9PSAzIHtcbiAgICAkbWFyZ2luLXktdG9wOiBudGgoJG1hcmdpbiwgMSk7XG4gICAgJG1hcmdpbi14OiBudGgoJG1hcmdpbiwgMik7XG4gICAgJG1hcmdpbi15LWJvdHRvbTogbnRoKCRtYXJnaW4sIDMpO1xuICAgIEBpZiAkbWFyZ2luLXktdG9wICE9IG4ge1xuICAgICAgbWFyZ2luLXRvcDogJG1hcmdpbi15LXRvcDtcbiAgICB9XG4gICAgQGlmICRtYXJnaW4teCAhPSBuIHtcbiAgICAgIG1hcmdpbi1yaWdodDogJG1hcmdpbi14O1xuICAgICAgbWFyZ2luLWxlZnQ6ICRtYXJnaW4teDtcbiAgICB9XG4gICAgQGlmICRtYXJnaW4teS1ib3R0b20gIT0gbiB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAkbWFyZ2luLXktYm90dG9tO1xuICAgIH1cbiAgfVxuXG4gIEBpZiBsZW5ndGgoJG1hcmdpbikgPT0gNCB7XG4gICAgJG1hcmdpbi10b3A6IG50aCgkbWFyZ2luLCAxKTtcbiAgICAkbWFyZ2luLXJpZ2h0OiBudGgoJG1hcmdpbiwgMik7XG4gICAgJG1hcmdpbi1ib3R0b206IG50aCgkbWFyZ2luLCAzKTtcbiAgICAkbWFyZ2luLWxlZnQ6IG50aCgkbWFyZ2luLCA0KTtcbiAgICBAaWYgJG1hcmdpbi10b3AgIT0gbiB7XG4gICAgICBtYXJnaW4tdG9wOiAkbWFyZ2luLXRvcDtcbiAgICB9XG4gICAgQGlmICRtYXJnaW4tcmlnaHQgIT0gbiB7XG4gICAgICBtYXJnaW4tcmlnaHQ6ICRtYXJnaW4tcmlnaHQ7XG4gICAgfVxuICAgIEBpZiAkbWFyZ2luLWJvdHRvbSAhPSBuIHtcbiAgICAgIG1hcmdpbi1ib3R0b206ICRtYXJnaW4tYm90dG9tO1xuICAgIH1cbiAgICBAaWYgJG1hcmdpbi1sZWZ0ICE9IG4ge1xuICAgICAgbWFyZ2luLWxlZnQ6ICRtYXJnaW4tbGVmdDtcbiAgICB9XG4gIH1cblxufVxuQG1peGluIHNjdXQtcGFkZGluZyAoXG4gICRwYWRkaW5nXG4pIHtcblxuICBAaWYgbGVuZ3RoKCRwYWRkaW5nKSA9PSAxIGFuZCAkcGFkZGluZyAhPSBuIHtcbiAgICBwYWRkaW5nLXRvcDogJHBhZGRpbmc7XG4gICAgcGFkZGluZy1yaWdodDogJHBhZGRpbmc7XG4gICAgcGFkZGluZy1ib3R0b206ICRwYWRkaW5nO1xuICAgIHBhZGRpbmctbGVmdDogJHBhZGRpbmc7XG4gIH1cblxuICBAaWYgbGVuZ3RoKCRwYWRkaW5nKSA9PSAyIHtcbiAgICAkcGFkZGluZy15OiBudGgoJHBhZGRpbmcsIDEpO1xuICAgICRwYWRkaW5nLXg6IG50aCgkcGFkZGluZywgMik7XG4gICAgQGlmICRwYWRkaW5nLXkgIT0gbiB7XG4gICAgICBwYWRkaW5nLXRvcDogJHBhZGRpbmcteTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAkcGFkZGluZy15O1xuICAgIH1cbiAgICBAaWYgJHBhZGRpbmcteCAhPSBuIHtcbiAgICAgIHBhZGRpbmctbGVmdDogJHBhZGRpbmcteDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6ICRwYWRkaW5nLXg7XG4gICAgfVxuICB9XG5cbiAgQGlmIGxlbmd0aCgkcGFkZGluZykgPT0gMyB7XG4gICAgJHBhZGRpbmcteS10b3A6IG50aCgkcGFkZGluZywgMSk7XG4gICAgJHBhZGRpbmcteDogbnRoKCRwYWRkaW5nLCAyKTtcbiAgICAkcGFkZGluZy15LWJvdHRvbTogbnRoKCRwYWRkaW5nLCAzKTtcbiAgICBAaWYgJHBhZGRpbmcteS10b3AgIT0gbiB7XG4gICAgICBwYWRkaW5nLXRvcDogJHBhZGRpbmcteS10b3A7XG4gICAgfVxuICAgIEBpZiAkcGFkZGluZy14ICE9IG4ge1xuICAgICAgcGFkZGluZy1yaWdodDogJHBhZGRpbmcteDtcbiAgICAgIHBhZGRpbmctbGVmdDogJHBhZGRpbmcteDtcbiAgICB9XG4gICAgQGlmICRwYWRkaW5nLXktYm90dG9tICE9IG4ge1xuICAgICAgcGFkZGluZy1ib3R0b206ICRwYWRkaW5nLXktYm90dG9tO1xuICAgIH1cbiAgfVxuXG4gIEBpZiBsZW5ndGgoJHBhZGRpbmcpID09IDQge1xuICAgICRwYWRkaW5nLXRvcDogbnRoKCRwYWRkaW5nLCAxKTtcbiAgICAkcGFkZGluZy1yaWdodDogbnRoKCRwYWRkaW5nLCAyKTtcbiAgICAkcGFkZGluZy1ib3R0b206IG50aCgkcGFkZGluZywgMyk7XG4gICAgJHBhZGRpbmctbGVmdDogbnRoKCRwYWRkaW5nLCA0KTtcbiAgICBAaWYgJHBhZGRpbmctdG9wICE9IG4ge1xuICAgICAgcGFkZGluZy10b3A6ICRwYWRkaW5nLXRvcDtcbiAgICB9XG4gICAgQGlmICRwYWRkaW5nLXJpZ2h0ICE9IG4ge1xuICAgICAgcGFkZGluZy1yaWdodDogJHBhZGRpbmctcmlnaHQ7XG4gICAgfVxuICAgIEBpZiAkcGFkZGluZy1ib3R0b20gIT0gbiB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogJHBhZGRpbmctYm90dG9tO1xuICAgIH1cbiAgICBAaWYgJHBhZGRpbmctbGVmdCAhPSBuIHtcbiAgICAgIHBhZGRpbmctbGVmdDogJHBhZGRpbmctbGVmdDtcbiAgICB9XG4gIH1cbn1cbi8vIERlcGVuZHMgb24gYHBvc2l0aW9uaW5nLWNvb3JkaW5hdGVzYC5cblxuQG1peGluIHNjdXQtYWJzb2x1dGUgKFxuICAkY29vcmRpbmF0ZXM6IDAgbiBuIDBcbikge1xuXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgQGluY2x1ZGUgc2N1dC1jb29yZHMoJGNvb3JkaW5hdGVzKTtcblxufVxuXG4lc2N1dC1hYnNvbHV0ZSB7XG4gIEBpbmNsdWRlIHNjdXQtYWJzb2x1dGU7XG59XG4vLyBEZXBlbmRzIG9uIGBwb3NpdGlvbmluZy1jb29yZGluYXRlc2AuXG5cbkBtaXhpbiBzY3V0LWZpeGVkIChcbiAgJGNvb3JkaW5hdGVzOiAwIG4gbiAwXG4pIHtcblxuICBwb3NpdGlvbjogZml4ZWQ7XG4gIEBpbmNsdWRlIHNjdXQtY29vcmRzKCRjb29yZGluYXRlcyk7XG5cbn1cblxuJXNjdXQtZml4ZWQge1xuICBAaW5jbHVkZSBzY3V0LWZpeGVkO1xufVxuLy8gRGVwZW5kcyBvbiBgcG9zaXRpb25pbmctY29vcmRpbmF0ZXNgLlxuXG5AbWl4aW4gc2N1dC1yZWxhdGl2ZSAoXG4gICRjb29yZGluYXRlczogbiBuIG4gblxuKSB7XG5cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBAaW5jbHVkZSBzY3V0LWNvb3JkcygkY29vcmRpbmF0ZXMpO1xuXG59XG5AbWl4aW4gc2N1dC1yYXRpby1ib3ggKFxuICAkcmF0aW86IDEvMVxuKSB7XG5cbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIC8vIFRoZSBjb250YWluZXIncyBoZWlnaHQsIGFzIGEgcGVyY2VudGFnZSBvZiB0aGVcbiAgLy8gY29udGFpbmVyJ3Mgd2lkdGgsIGlzIHNldCBieSBhc3NpZ25pbmdcbiAgLy8gcGFkZGluZy10b3AgdG8gYSBwc2V1ZG8tZWxlbWVudC5cbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAwO1xuICAgIHBhZGRpbmctdG9wOiAoMSAvICRyYXRpbykgKiAxMDAlO1xuICB9XG5cbn1cblxuJXNjdXQtcmF0aW8tYm94IHtcbiAgQGluY2x1ZGUgc2N1dC1yYXRpby1ib3g7XG59XG5AbWl4aW4gc2N1dC1zaXplKFxuICAkc2l6ZVxuKSB7XG5cbiAgQGlmIGxlbmd0aCgkc2l6ZSkgPT0gMSB7XG4gICAgd2lkdGg6ICAkc2l6ZTtcbiAgICBoZWlnaHQ6ICRzaXplO1xuICB9XG4gIEBlbHNlIGlmIGxlbmd0aCgkc2l6ZSkgPT0gMiB7XG4gICAgd2lkdGg6ICBudGgoJHNpemUsIDEpO1xuICAgIGhlaWdodDogbnRoKCRzaXplLCAyKTtcbiAgfVxuXG59XG5AbWl4aW4gc2N1dC1zdGlja3ktZm9vdGVyLWZpeGVkIChcbiAgJGhlaWdodCxcbiAgJHdyYXBwZXI6IFwiLndyYXBwZXJcIixcbiAgJGZvb3RlcjogXCIuc2N1dC1zdGlja3lcIlxuKSB7XG5cbiAgaHRtbCxcbiAgYm9keSB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgI3skd3JhcHBlcn0ge1xuICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogLSRoZWlnaHQ7XG4gICAgJjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG5cbiAgI3skd3JhcHBlcn06YWZ0ZXIsXG4gICN7JGZvb3Rlcn0ge1xuICAgIGhlaWdodDogJGhlaWdodDtcbiAgfVxuXG59XG5cbi8vIGRlcHJlY2F0ZWRcbkBtaXhpbiBzY3V0LXN0aWNreS1mb290ZXIgKFxuICAkaGVpZ2h0LFxuICAkd3JhcHBlcjogXCIud3JhcHBlclwiLFxuICAkZm9vdGVyOiBcIi5zY3V0LXN0aWNreVwiXG4pe1xuICBAaW5jbHVkZSBzY3V0LXN0aWNreS1mb290ZXItZml4ZWQoJGhlaWdodCwgJHdyYXBwZXIsICRmb290ZXIpO1xufVxuQG1peGluIHNjdXQtc3RpY2t5LWZvb3Rlci1mbHVpZCAoXG4gICR3cmFwcGVyOiBcIi53cmFwcGVyXCIsXG4gICRmb290ZXI6IFwiLnNjdXQtc3RpY2t5XCJcbikge1xuXG4gIGh0bWwsXG4gIGJvZHkge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gICN7JHdyYXBwZXJ9IHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAjeyRmb290ZXJ9IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3c7XG4gICAgaGVpZ2h0OiAxcHg7XG4gIH1cblxufVxuQG1peGluIHNjdXQtdmNlbnRlci1pYiAoXG4gICRpbm5lci4uLlxuKSB7XG5cbiAgLy8gVGhlIGlubmVyIGVsZW1lbnQgaXMgdmVydGljYWxseSBjZW50ZXJlZFxuICAvLyBieSBtaWRkbGUtYWxpZ25pbmcgaXQgd2l0aCBhbiBpbmxpbmUgcHNldWRvLWVsZW1lbnRcbiAgLy8gd2hvc2UgaGVpZ2h0IGlzIDEwMCUuXG5cbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIC8vIEEgc21hbGwgbmVnYXRpdmUgcmlnaHQgbWFyZ2luIGlzIHNldFxuICAgIC8vIHRvIGFjY291bnQgZm9yIHRoZSBkZWZhdWx0XG4gICAgLy8gd29yZC1zcGFjaW5nIG9mIGlubGluZS1ibG9jay5cbiAgICBtYXJnaW4tcmlnaHQ6IC0wLjI1ZW07XG4gIH1cblxuICAkaW5uZXI6IGlmKGxlbmd0aCgkaW5uZXIpID09IDAsIFwiLnNjdXQtaW5uZXJcIiwgJGlubmVyKTtcbiAgQGVhY2ggJGNlbGwtc2VsZWN0b3IgaW4gJGlubmVyIHtcbiAgICAkY2VsbC1zZWxlY3RvcjogdW5xdW90ZSgkY2VsbC1zZWxlY3Rvcik7XG4gICAgJiA+ICN7JGNlbGwtc2VsZWN0b3J9IHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuICB9XG5cbn1cblxuJXNjdXQtdmNlbnRlci1pYiB7XG4gIEBpbmNsdWRlIHNjdXQtdmNlbnRlci1pYjtcbn1cblxuQG1peGluIHNjdXQtdmNlbnRlci1saCAoXG4gICRoZWlnaHRcbikge1xuXG4gIGhlaWdodDogJGhlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRoZWlnaHQ7XG5cbn1cbkBtaXhpbiBzY3V0LXZjZW50ZXItdGQgKFxuICAkaW5uZXIuLi5cbikge1xuXG4gIGRpc3BsYXk6IHRhYmxlO1xuXG4gICRpbm5lcjogaWYobGVuZ3RoKCRpbm5lcikgPT0gMCwgXCIuc2N1dC1pbm5lclwiLCAkaW5uZXIpO1xuICBAZWFjaCAkY2VsbC1zZWxlY3RvciBpbiAkaW5uZXIge1xuICAgICRjZWxsLXNlbGVjdG9yOiB1bnF1b3RlKCRjZWxsLXNlbGVjdG9yKTtcbiAgICAmID4gI3skY2VsbC1zZWxlY3Rvcn0ge1xuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuICB9XG5cbn1cblxuXG4lc2N1dC12Y2VudGVyLXRkIHtcbiAgQGluY2x1ZGUgc2N1dC12Y2VudGVyLXRkO1xufVxuXG4vLyBEZXBlbmRzIG9uIHNjdXQtY2VudGVyLXRyYW5zZm9ybVxuXG5AbWl4aW4gc2N1dC12Y2VudGVyLXR0ICgpIHtcbiAgQGluY2x1ZGUgc2N1dC1jZW50ZXItdHJhbnNmb3JtKHkpO1xufVxuXG4lc2N1dC12Y2VudGVyLXR0IHtcbiAgQGluY2x1ZGUgc2N1dC12Y2VudGVyLXR0O1xufVxuLy8gc3BhY2VcbiRzY3V0LXNwYWNlOiBcIlxcMDAyMFwiO1xuLy8gbm9uLWJyZWFraW5nIHNwYWNlXG4kc2N1dC1uYnNwOiBcIlxcMDBhMFwiO1xuXG4vLyBxdW90YXRpb24gbWFya1xuJHNjdXQtcXVvdDogXCJcXDAwMjJcIjtcbi8vIGxlZnQgc2luZ2xlIGN1cmx5IHF1b3RlXG4kc2N1dC1sc3F1bzogXCJcXDIwMThcIjtcbi8vIHJpZ2h0IHNpbmdsZSBjdXJseSBxdW90ZVxuJHNjdXQtcnNxdW86IFwiXFwyMDE5XCI7XG4vLyBsZWZ0IGRvdWJsZSBjdXJseSBxdW90ZVxuJHNjdXQtbGRxdW86IFwiXFwyMDFDXCI7XG4vLyByaWdodCBkb3VibGUgY3VybHkgcXVvdGVcbiRzY3V0LXJkcXVvOiBcIlxcMjAxRFwiO1xuLy8gbGVmdCBzaW5nbGUgYW5nbGUgcXVvdGUgKGd1aWxsZW1ldClcbiRzY3V0LWxzYXF1bzogXCJcXDIwMzlcIjtcbi8vIHJpZ2h0IHNpbmdsZSBhbmdsZSBxdW90ZSAoZ3VpbGxlbWV0KVxuJHNjdXQtcnNhcXVvOiBcIlxcMjAzQVwiO1xuLy8gbGVmdCBkb3VibGUgYW5nbGUgcXVvdGUgKGd1aWxsZW1ldClcbiRzY3V0LWxhcXVvOiBcIlxcMDBhYlwiO1xuLy8gcmlnaHQgZG91YmxlIGFuZ2xlIHF1b3RlIChndWlsbGVtZXQpXG4kc2N1dC1yYXF1bzogXCJcXDAwYmJcIjtcblxuLy8gZW0gZGFzaCAobXV0dG9uKVxuJHNjdXQtbWRhc2g6IFwiXFwyMDE0XCI7XG4vLyBlbiBkYXNoIChudXQpXG4kc2N1dC1uZGFzaDogXCJcXDIwMTNcIjtcbi8vIGh5cGhlblxuJHNjdXQtaHlwaGVuOiBcIlxcMjAxMFwiO1xuXG4vLyBhbXBlcnNhbmRcbiRzY3V0LWFtcDogXCJcXDAwMjZcIjtcbi8vIGdyZWF0ZXIgdGhhblxuJHNjdXQtZ3Q6IFwiXFwwMDNlXCI7XG4vLyBsZXNzIHRoYW5cbiRzY3V0LWx0OiBcIlxcMDAzY1wiO1xuLy8gdGltZXNcbiRzY3V0LXRpbWVzOiBcIlxcMDBEN1wiO1xuLy8gYmlnIHRpbWVzXG4kc2N1dC1iaWd0aW1lczogXCJcXDI3MTVcIjtcbi8vIGNoZWNrbWFya1xuJHNjdXQtY2hlY2ttYXJrOiBcIlxcMjcxM1wiO1xuXG4vLyBzZWN0aW9uIHNpZ24gKGRvdWJsZSBTLCBodXJyaWNhbmUsIHNlY3Rpb25hbCBzeW1ib2wsIHRoZSBsZWdhbCBkb3VnaG51dCwgc2lnbnVtIHNlY3Rpb25pcylcbiRzY3V0LXNlY3Q6IFwiXFwwMGE3XCI7XG4vLyBwYXJhZ3JhcGggc3ltYm9sIChwaWxjcm93KVxuJHNjdXQtcGFyYTogXCJcXDAwYjZcIjtcblxuLy8gbWlkZG90IChpbnRlcnB1bmN0LCBpbnRlcnBvaW50KVxuJHNjdXQtbWlkZG90OiBcIlxcMDBiN1wiO1xuLy8gby1zbGFzaCAoc2xhc2hlZCBvKVxuJHNjdXQtb3NsYXNoOiBcIlxcMDBmOFwiO1xuLy8gYnVsbGV0XG4kc2N1dC1idWxsOiBcIlxcMjAyMlwiO1xuLy8gd2hpdGUgYnVsbGV0XG4kc2N1dC13aGlidWxsOiBcIlxcMjVFNlwiO1xuLy8gaG9yaXpvbnRhbCBlbGxpcHNpc1xuJHNjdXQtaGVsbGlwOiBcIlxcMjAyNlwiO1xuLy8gdmVydGljYWwgZWxsaXBzaXNcbiRzY3V0LXZlbGxpcDogXCJcXDIyRUVcIjtcbi8vIG1pZGxpbmUgaG9yaXpvbnRhbCBlbGxpcHNpc1xuJHNjdXQtbWlkaGVsbGlwOiBcIlxcMjJFRlwiO1xuXG4vLyB1cC1wb2ludGluZyB0cmlhbmdsZVxuJHNjdXQtdXRyaTogXCJcXDI1YjJcIjtcbi8vIGRvd24tcG9pbnRpbmcgdHJpYW5nbGVcbiRzY3V0LWR0cmk6IFwiXFwyNWJjXCI7XG4vLyBsZWZ0LXBvaW50aW5nIHRyaWFuZ2xlXG4kc2N1dC1sdHJpOiBcIlxcMjVjMFwiO1xuLy8gcmlnaHQtcG9pbnRpbmcgdHJpYW5nbGVcbiRzY3V0LXJ0cmk6IFwiXFwyNWI2XCI7XG4vLyB1cC1wb2ludGluZyBzbWFsbCB0cmlhbmdsZVxuJHNjdXQtdXN0cmk6IFwiXFwyNWI0XCI7XG4vLyBkb3duLXBvaW50aW5nIHNtYWxsIHRyaWFuZ2xlXG4kc2N1dC1kc3RyaTogXCJcXDI1YmVcIjtcbi8vIGxlZnQtcG9pbnRpbmcgc21hbGwgdHJpYW5nbGVcbiRzY3V0LWxzdHJpOiBcIlxcMjVjMlwiO1xuLy8gcmlnaHQtcG9pbnRpbmcgc21hbGwgdHJpYW5nbGVcbiRzY3V0LXJzdHJpOiBcIlxcMjViOFwiO1xuLy8gZGlhbW9uZFxuJHNjdXQtZGlhbW9uZDogXCJcXDI1YzZcIjtcbi8vIGZpc2hleWVcbiRzY3V0LWZpc2hleWU6IFwiXFwyNWM5XCI7XG4vLyBidWxsc2V5ZVxuJHNjdXQtYnVsbHNleWU6IFwiXFwyNWNlXCI7XG4vLyBjaXJjbGVcbiRzY3V0LWNpcmNsZTogXCJcXDI1Y2ZcIjtcbi8vIHdoaXRlIGNpcmNsZVxuJHNjdXQtd2hpdGVjaXJjbGU6IFwiXFwyNWNiXCI7XG4vLyBzcXVhcmVcbiRzY3V0LXNxdWFyZTogXCJcXDI1YTBcIjtcbi8vIHdoaXRlIHNxdWFyZVxuJHNjdXQtd2hpdGVzcXVhcmU6IFwiXFwyNWExXCI7XG4vLyBzbWFsbCBzcXVhcmVcbiRzY3V0LXNzcXVhcmU6IFwiXFwyNWFhXCI7XG4vLyBzbWFsbCB3aGl0ZSBzcXVhcmVcbiRzY3V0LXN3aGl0ZXNxdWFyZTogXCJcXDI1YWJcIjtcblxuLy8gZ2VuZXJhbCBjdXJyZW5jeVxuJHNjdXQtY3VycmVuY3k6IFwiXFwwMGE0XCI7XG4vLyBjZW50XG4kc2N1dC1jZW50OiBcIlxcMDBhMlwiO1xuLy8gZG9sbGFyXG4kc2N1dC1kb2xsYXI6IFwiXFwwMDI0XCI7XG4vLyBwb3VuZFxuJHNjdXQtcG91bmQ6IFwiXFwwMGEzXCI7XG4vLyBldXJvXG4kc2N1dC1ldXJvOiBcIlxcMjBhY1wiO1xuLy8geWVuXG4kc2N1dC15ZW46IFwiXFwwMGE1XCI7XG4vLyBydXBlZVxuJHNjdXQtcnVwZWU6IFwiXFwyMEI5XCI7XG5AZnVuY3Rpb24gbWFpbi1zcmMoJGZvcm1hdHMsICRmaWxlLXBhdGgsICRmb250LWZhbWlseSkge1xuICAvLyBSZXR1cm4gdGhlIGxpc3Qgb2YgYHNyY2AgdmFsdWVzLCBpbiBvcmRlciwgdGhhdFxuICAvLyBhIGdvb2QgYEBmb250LWZhY2VgIHdpbGwgbmVlZCwgaW5jbHVkaW5nIG9ubHlcbiAgLy8gdGhvc2UgZm9ybWF0cyBzcGVjaWZpZWQgaW4gdGhlIGxpc3QgYCRmb3JtYXRzYC5cbiAgJHJlc3VsdDogKCk7XG4gIEBpZiBpbmRleCgkZm9ybWF0cywgZW90KSB7XG4gICAgJGVvdC12YWw6IHVybCgnI3skZmlsZS1wYXRofS5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpO1xuICAgICRyZXN1bHQ6IGFwcGVuZCgkcmVzdWx0LCAkZW90LXZhbCwgY29tbWEpO1xuICB9XG4gIEBpZiBpbmRleCgkZm9ybWF0cywgd29mZjIpIHtcbiAgICAkd29mZjItdmFsOiB1cmwoJyN7JGZpbGUtcGF0aH0ud29mZjInKSBmb3JtYXQoJ3dvZmYyJyk7XG4gICAgJHJlc3VsdDogYXBwZW5kKCRyZXN1bHQsICR3b2ZmMi12YWwsIGNvbW1hKTtcbiAgfVxuICBAaWYgaW5kZXgoJGZvcm1hdHMsIHdvZmYpIHtcbiAgICAkd29mZi12YWw6IHVybCgnI3skZmlsZS1wYXRofS53b2ZmJykgZm9ybWF0KCd3b2ZmJyk7XG4gICAgJHJlc3VsdDogYXBwZW5kKCRyZXN1bHQsICR3b2ZmLXZhbCwgY29tbWEpO1xuICB9XG4gIEBpZiBpbmRleCgkZm9ybWF0cywgdHRmKSB7XG4gICAgJHR0Zi12YWw6IHVybCgnI3skZmlsZS1wYXRofS50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyk7XG4gICAgJHJlc3VsdDogYXBwZW5kKCRyZXN1bHQsICR0dGYtdmFsLCBjb21tYSk7XG4gIH1cbiAgQGlmIGluZGV4KCRmb3JtYXRzLCBzdmcpIHtcbiAgICAkc3ZnLXZhbDogdXJsKCcjeyRmaWxlLXBhdGh9LnN2ZyMjeyRmb250LWZhbWlseX0nKSBmb3JtYXQoJ3N2ZycpO1xuICAgICRyZXN1bHQ6IGFwcGVuZCgkcmVzdWx0LCAkc3ZnLXZhbCwgY29tbWEpO1xuICB9XG4gIEByZXR1cm4gJHJlc3VsdDtcbn1cblxuQG1peGluIHNjdXQtZm9udC1mYWNlIChcbiAgJGZvbnQtZmFtaWx5LFxuICAkZmlsZS1wYXRoLFxuICAkd2VpZ2h0OiBub3JtYWwsXG4gICRzdHlsZTogbm9ybWFsLFxuICAkZm9ybWF0czogZW90IHdvZmYyIHdvZmYgdHRmIHN2Z1xuKSB7XG5cbiAgQGlmIGluZGV4KCdpdGFsaWMnICdvYmxpcXVlJywgJHdlaWdodCkge1xuICAgICRzdHlsZTogJHdlaWdodDtcbiAgICAkd2VpZ2h0OiBub3JtYWw7XG4gIH1cblxuICBAZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5O1xuICAgIGZvbnQtd2VpZ2h0OiAkd2VpZ2h0O1xuICAgIGZvbnQtc3R5bGU6ICRzdHlsZTtcblxuICAgIEBpZiBpbmRleCgkZm9ybWF0cywgZW90KSB7XG4gICAgICBzcmM6IHVybCgnI3skZmlsZS1wYXRofS5lb3QnKTtcbiAgICB9XG4gICAgc3JjOiBtYWluLXNyYygkZm9ybWF0cywgJGZpbGUtcGF0aCwgJGZvbnQtZmFtaWx5KTtcbiAgfVxuXG59XG5cbkBtaXhpbiBzY3V0LWhhbmdpbmctaW5kZW50IChcbiAgJGluZGVudDogMWVtXG4pIHtcblxuICAvLyBwYWRkaW5nLWxlZnQgY3JlYXRlcyB0aGUgaW5kZW50LFxuICAvLyB3aGlsZSB0ZXh0LWluZGVudCBwdWxscyB0aGUgZmlyc3QgbGluZVxuICAvLyBiYWNrIHRvIHRoZSBlZGdlLlxuXG4gIHBhZGRpbmctbGVmdDogJGluZGVudDtcbiAgdGV4dC1pbmRlbnQ6IC0kaW5kZW50O1xuXG59XG5cbiVzY3V0LWhhbmdpbmctaW5kZW50IHtcbiAgQGluY2x1ZGUgc2N1dC1oYW5naW5nLWluZGVudDtcbn1cbkBtaXhpbiBzY3V0LWluZGVudGVkLXBzIChcbiAgJGluZGVudDogMS41ZW0sXG4gICRuby1maXJzdC1pbmRlbnQ6IHRydWVcbikge1xuXG4gIHAge1xuICAgIG1hcmdpbjogMDtcbiAgICB0ZXh0LWluZGVudDogJGluZGVudDtcbiAgfVxuXG4gIEBpZiAkbm8tZmlyc3QtaW5kZW50IHtcbiAgICBwOmZpcnN0LW9mLXR5cGUge1xuICAgICAgdGV4dC1pbmRlbnQ6IDA7XG4gICAgfVxuICB9XG5cbn1cblxuJXNjdXQtaW5kZW50ZWQtcHMge1xuICBAaW5jbHVkZSBzY3V0LWluZGVudGVkLXBzO1xufVxuQG1peGluIHNjdXQta2V5LXZhbCAoXG4gICRkaXZpZGVyOiBcIjpcIixcbiAgJHBhZDogMC4yNWVtLFxuICAkaW5kZW50OiAxZW0sXG4gICRzcGFjaW5nOiAwLFxuICAkcGFkLWxlZnQ6IDBcbikge1xuXG4gICYgPiBkdCB7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgJjphZnRlciB7XG4gICAgICBjb250ZW50OiAkZGl2aWRlcjtcbiAgICAgIG1hcmdpbi1yaWdodDogJHBhZDtcbiAgICAgIEBpZiAkcGFkLWxlZnQgIT0gMCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAkcGFkLWxlZnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJiA+IGRkIHtcbiAgICBtYXJnaW4tbGVmdDogJGluZGVudDtcbiAgICBAaWYgJHNwYWNpbmcgIT0gMCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZztcbiAgICB9XG4gIH1cblxufVxuXG4lc2N1dC1rZXktdmFsIHtcbiAgQGluY2x1ZGUgc2N1dC1rZXktdmFsO1xufVxuQG1peGluIHNjdXQtbGluay1iYiAoXG4gICRjb2xvcjogaW5oZXJpdCxcbiAgJHN0eWxlOiBzb2xpZCxcbiAgJHdpZHRoOiAxcHhcbikge1xuXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICBib3JkZXItYm90dG9tLXdpZHRoOiAkd2lkdGg7XG4gIGJvcmRlci1ib3R0b20tc3R5bGU6ICRzdHlsZTtcbiAgQGlmICRjb2xvciAhPSBpbmhlcml0IHtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkY29sb3I7XG4gIH1cblxufVxuXG4lc2N1dC1saW5rLWJiIHtcbiAgQGluY2x1ZGUgc2N1dC1saW5rLWJiO1xufVxuLy8gU0NVVCBMSU5LIFVOU1RZTEVEXG4vLyBodHRwOi8vZGF2aWR0aGVjbGFyay5naXRodWIuaW8vc2N1dC8jbGluay11bnN0eWxlZFxuXG5AbWl4aW4gc2N1dC1saW5rLXVuc3R5bGVkKCkge1xuXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY29sb3I6IGluaGVyaXQ7XG5cbn1cblxuJXNjdXQtbGluay11bnN0eWxlZCB7XG4gIEBpbmNsdWRlIHNjdXQtbGluay11bnN0eWxlZCgpO1xufVxuXG5AbWl4aW4gc2N1dC1yZXZlcnNlLWl0YWxpY3MgKFxuICAkZWxlbWVudHM6IG51bGxcbikge1xuXG4gICRlbGVtZW50LWxpc3Q6IGVtLCBjaXRlLCBpO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICN7am9pbigkZWxlbWVudC1saXN0LCAkZWxlbWVudHMpfSB7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICB9XG5cbn1cblxuJXNjdXQtcmV2ZXJzZS1pdGFsaWNzIHtcbiAgQGluY2x1ZGUgc2N1dC1yZXZlcnNlLWl0YWxpY3M7XG59XG5cbkBtaXhpbiBzY3V0LXNpZGUtbGluZWQgKFxuICAkaGVpZ2h0OiAxcHgsXG4gICRzcGFjZTogMC41ZW0sXG4gICRjb2xvcjogaW5oZXJpdCxcbiAgJHN0eWxlOiBzb2xpZCxcbiAgJHYtYWRqdXN0OiBmYWxzZSxcbiAgJGRvdWJsZTogZmFsc2Vcbikge1xuXG4gIGRpc3BsYXk6IGJsb2NrO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgJjpiZWZvcmUsXG4gICY6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiA1MCU7XG5cbiAgICBib3JkZXItdG9wLXN0eWxlOiAkc3R5bGU7XG4gICAgYm9yZGVyLXRvcC13aWR0aDogJGhlaWdodDtcblxuICAgIEBpZiAkY29sb3IgIT0gaW5oZXJpdCB7XG4gICAgICBib3JkZXItdG9wLWNvbG9yOiAkY29sb3I7XG4gICAgfVxuXG4gICAgQGlmICR2LWFkanVzdCAhPSBmYWxzZSB7XG4gICAgICBib3R0b206ICR2LWFkanVzdDtcbiAgICB9XG5cbiAgICBAaWYgJGRvdWJsZSAhPSBmYWxzZSB7XG4gICAgICBoZWlnaHQ6ICRkb3VibGU7XG4gICAgICBib3JkZXItYm90dG9tLXN0eWxlOiAkc3R5bGU7XG4gICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAkaGVpZ2h0O1xuICAgICAgQGlmICRjb2xvciAhPSBpbmhlcml0IHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGNvbG9yO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICY6YmVmb3JlIHtcbiAgICByaWdodDogJHNwYWNlO1xuICAgIG1hcmdpbi1sZWZ0OiAtNTAlO1xuICB9XG4gICY6YWZ0ZXIge1xuICAgIGxlZnQ6ICRzcGFjZTtcbiAgICBtYXJnaW4tcmlnaHQ6IC01MCU7XG4gIH1cblxufVxuXG4lc2N1dC1zaWRlLWxpbmVkIHtcbiAgQGluY2x1ZGUgc2N1dC1zaWRlLWxpbmVkO1xufVxuQG1peGluIHNjdXQtdHJ1bmNhdGUge1xuXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuXG59XG5cbiVzY3V0LXRydW5jYXRlIHtcbiAgQGluY2x1ZGUgc2N1dC10cnVuY2F0ZTtcbn0iLCIvKiBwZXJmZWN0LXNjcm9sbGJhciB2MC42LjE2ICovXG4ucHMtY29udGFpbmVyIHtcbiAgLW1zLXRvdWNoLWFjdGlvbjogYXV0bztcbiAgdG91Y2gtYWN0aW9uOiBhdXRvO1xuICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG4gIC1tcy1vdmVyZmxvdy1zdHlsZTogbm9uZTsgfVxuICBAc3VwcG9ydHMgKC1tcy1vdmVyZmxvdy1zdHlsZTogbm9uZSkge1xuICAgIC5wcy1jb250YWluZXIge1xuICAgICAgb3ZlcmZsb3c6IGF1dG8gIWltcG9ydGFudDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kICgtbXMtaGlnaC1jb250cmFzdDogYWN0aXZlKSwgKC1tcy1oaWdoLWNvbnRyYXN0OiBub25lKSB7XG4gICAgLnBzLWNvbnRhaW5lciB7XG4gICAgICBvdmVyZmxvdzogYXV0byAhaW1wb3J0YW50OyB9IH1cbiAgLnBzLWNvbnRhaW5lci5wcy1hY3RpdmUteCA+IC5wcy1zY3JvbGxiYXIteC1yYWlsLFxuICAucHMtY29udGFpbmVyLnBzLWFjdGl2ZS15ID4gLnBzLXNjcm9sbGJhci15LXJhaWwge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gIC5wcy1jb250YWluZXIucHMtaW4tc2Nyb2xsaW5nLnBzLXggPiAucHMtc2Nyb2xsYmFyLXgtcmFpbCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VlZTtcbiAgICBvcGFjaXR5OiAwLjk7IH1cbiAgICAucHMtY29udGFpbmVyLnBzLWluLXNjcm9sbGluZy5wcy14ID4gLnBzLXNjcm9sbGJhci14LXJhaWwgPiAucHMtc2Nyb2xsYmFyLXgge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzk5OTtcbiAgICAgIGhlaWdodDogMTFweDsgfVxuICAucHMtY29udGFpbmVyLnBzLWluLXNjcm9sbGluZy5wcy15ID4gLnBzLXNjcm9sbGJhci15LXJhaWwge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlZWU7XG4gICAgb3BhY2l0eTogMC45OyB9XG4gICAgLnBzLWNvbnRhaW5lci5wcy1pbi1zY3JvbGxpbmcucHMteSA+IC5wcy1zY3JvbGxiYXIteS1yYWlsID4gLnBzLXNjcm9sbGJhci15IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM5OTk7XG4gICAgICB3aWR0aDogMTFweDsgfVxuICAucHMtY29udGFpbmVyID4gLnBzLXNjcm9sbGJhci14LXJhaWwge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIC8qIHBsZWFzZSBkb24ndCBjaGFuZ2UgJ3Bvc2l0aW9uJyAqL1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIC4ycyBsaW5lYXIsIG9wYWNpdHkgLjJzIGxpbmVhcjtcbiAgICAtby10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIC4ycyBsaW5lYXIsIG9wYWNpdHkgLjJzIGxpbmVhcjtcbiAgICAtbW96LXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgLjJzIGxpbmVhciwgb3BhY2l0eSAuMnMgbGluZWFyO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgLjJzIGxpbmVhciwgb3BhY2l0eSAuMnMgbGluZWFyO1xuICAgIGJvdHRvbTogMHB4O1xuICAgIC8qIHRoZXJlIG11c3QgYmUgJ2JvdHRvbScgZm9yIHBzLXNjcm9sbGJhci14LXJhaWwgKi9cbiAgICBoZWlnaHQ6IDE1cHg7IH1cbiAgICAucHMtY29udGFpbmVyID4gLnBzLXNjcm9sbGJhci14LXJhaWwgPiAucHMtc2Nyb2xsYmFyLXgge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgLyogcGxlYXNlIGRvbid0IGNoYW5nZSAncG9zaXRpb24nICovXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYWFhO1xuICAgICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiA2cHg7XG4gICAgICAtbW96LWJvcmRlci1yYWRpdXM6IDZweDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAuMnMgbGluZWFyLCBoZWlnaHQgLjJzIGxpbmVhciwgd2lkdGggLjJzIGVhc2UtaW4tb3V0LCAtd2Via2l0LWJvcmRlci1yYWRpdXMgLjJzIGVhc2UtaW4tb3V0O1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAuMnMgbGluZWFyLCBoZWlnaHQgLjJzIGxpbmVhciwgd2lkdGggLjJzIGVhc2UtaW4tb3V0LCAtd2Via2l0LWJvcmRlci1yYWRpdXMgLjJzIGVhc2UtaW4tb3V0O1xuICAgICAgLW8tdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAuMnMgbGluZWFyLCBoZWlnaHQgLjJzIGxpbmVhciwgd2lkdGggLjJzIGVhc2UtaW4tb3V0LCBib3JkZXItcmFkaXVzIC4ycyBlYXNlLWluLW91dDtcbiAgICAgIC1tb3otdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAuMnMgbGluZWFyLCBoZWlnaHQgLjJzIGxpbmVhciwgd2lkdGggLjJzIGVhc2UtaW4tb3V0LCBib3JkZXItcmFkaXVzIC4ycyBlYXNlLWluLW91dCwgLW1vei1ib3JkZXItcmFkaXVzIC4ycyBlYXNlLWluLW91dDtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgLjJzIGxpbmVhciwgaGVpZ2h0IC4ycyBsaW5lYXIsIHdpZHRoIC4ycyBlYXNlLWluLW91dCwgYm9yZGVyLXJhZGl1cyAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIC4ycyBsaW5lYXIsIGhlaWdodCAuMnMgbGluZWFyLCB3aWR0aCAuMnMgZWFzZS1pbi1vdXQsIGJvcmRlci1yYWRpdXMgLjJzIGVhc2UtaW4tb3V0LCAtd2Via2l0LWJvcmRlci1yYWRpdXMgLjJzIGVhc2UtaW4tb3V0LCAtbW96LWJvcmRlci1yYWRpdXMgLjJzIGVhc2UtaW4tb3V0O1xuICAgICAgYm90dG9tOiAycHg7XG4gICAgICAvKiB0aGVyZSBtdXN0IGJlICdib3R0b20nIGZvciBwcy1zY3JvbGxiYXIteCAqL1xuICAgICAgaGVpZ2h0OiA2cHg7IH1cbiAgICAucHMtY29udGFpbmVyID4gLnBzLXNjcm9sbGJhci14LXJhaWw6aG92ZXIgPiAucHMtc2Nyb2xsYmFyLXgsIC5wcy1jb250YWluZXIgPiAucHMtc2Nyb2xsYmFyLXgtcmFpbDphY3RpdmUgPiAucHMtc2Nyb2xsYmFyLXgge1xuICAgICAgaGVpZ2h0OiAxMXB4OyB9XG4gIC5wcy1jb250YWluZXIgPiAucHMtc2Nyb2xsYmFyLXktcmFpbCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgLyogcGxlYXNlIGRvbid0IGNoYW5nZSAncG9zaXRpb24nICovXG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgLjJzIGxpbmVhciwgb3BhY2l0eSAuMnMgbGluZWFyO1xuICAgIC1vLXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgLjJzIGxpbmVhciwgb3BhY2l0eSAuMnMgbGluZWFyO1xuICAgIC1tb3otdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAuMnMgbGluZWFyLCBvcGFjaXR5IC4ycyBsaW5lYXI7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAuMnMgbGluZWFyLCBvcGFjaXR5IC4ycyBsaW5lYXI7XG4gICAgcmlnaHQ6IDA7XG4gICAgLyogdGhlcmUgbXVzdCBiZSAncmlnaHQnIGZvciBwcy1zY3JvbGxiYXIteS1yYWlsICovXG4gICAgd2lkdGg6IDE1cHg7IH1cbiAgICAucHMtY29udGFpbmVyID4gLnBzLXNjcm9sbGJhci15LXJhaWwgPiAucHMtc2Nyb2xsYmFyLXkge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgLyogcGxlYXNlIGRvbid0IGNoYW5nZSAncG9zaXRpb24nICovXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYWFhO1xuICAgICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiA2cHg7XG4gICAgICAtbW96LWJvcmRlci1yYWRpdXM6IDZweDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAuMnMgbGluZWFyLCBoZWlnaHQgLjJzIGxpbmVhciwgd2lkdGggLjJzIGVhc2UtaW4tb3V0LCAtd2Via2l0LWJvcmRlci1yYWRpdXMgLjJzIGVhc2UtaW4tb3V0O1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAuMnMgbGluZWFyLCBoZWlnaHQgLjJzIGxpbmVhciwgd2lkdGggLjJzIGVhc2UtaW4tb3V0LCAtd2Via2l0LWJvcmRlci1yYWRpdXMgLjJzIGVhc2UtaW4tb3V0O1xuICAgICAgLW8tdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAuMnMgbGluZWFyLCBoZWlnaHQgLjJzIGxpbmVhciwgd2lkdGggLjJzIGVhc2UtaW4tb3V0LCBib3JkZXItcmFkaXVzIC4ycyBlYXNlLWluLW91dDtcbiAgICAgIC1tb3otdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAuMnMgbGluZWFyLCBoZWlnaHQgLjJzIGxpbmVhciwgd2lkdGggLjJzIGVhc2UtaW4tb3V0LCBib3JkZXItcmFkaXVzIC4ycyBlYXNlLWluLW91dCwgLW1vei1ib3JkZXItcmFkaXVzIC4ycyBlYXNlLWluLW91dDtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgLjJzIGxpbmVhciwgaGVpZ2h0IC4ycyBsaW5lYXIsIHdpZHRoIC4ycyBlYXNlLWluLW91dCwgYm9yZGVyLXJhZGl1cyAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIC4ycyBsaW5lYXIsIGhlaWdodCAuMnMgbGluZWFyLCB3aWR0aCAuMnMgZWFzZS1pbi1vdXQsIGJvcmRlci1yYWRpdXMgLjJzIGVhc2UtaW4tb3V0LCAtd2Via2l0LWJvcmRlci1yYWRpdXMgLjJzIGVhc2UtaW4tb3V0LCAtbW96LWJvcmRlci1yYWRpdXMgLjJzIGVhc2UtaW4tb3V0O1xuICAgICAgcmlnaHQ6IDJweDtcbiAgICAgIC8qIHRoZXJlIG11c3QgYmUgJ3JpZ2h0JyBmb3IgcHMtc2Nyb2xsYmFyLXkgKi9cbiAgICAgIHdpZHRoOiA2cHg7IH1cbiAgICAucHMtY29udGFpbmVyID4gLnBzLXNjcm9sbGJhci15LXJhaWw6aG92ZXIgPiAucHMtc2Nyb2xsYmFyLXksIC5wcy1jb250YWluZXIgPiAucHMtc2Nyb2xsYmFyLXktcmFpbDphY3RpdmUgPiAucHMtc2Nyb2xsYmFyLXkge1xuICAgICAgd2lkdGg6IDExcHg7IH1cbiAgLnBzLWNvbnRhaW5lcjpob3Zlci5wcy1pbi1zY3JvbGxpbmcucHMteCA+IC5wcy1zY3JvbGxiYXIteC1yYWlsIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlO1xuICAgIG9wYWNpdHk6IDAuOTsgfVxuICAgIC5wcy1jb250YWluZXI6aG92ZXIucHMtaW4tc2Nyb2xsaW5nLnBzLXggPiAucHMtc2Nyb2xsYmFyLXgtcmFpbCA+IC5wcy1zY3JvbGxiYXIteCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTk5O1xuICAgICAgaGVpZ2h0OiAxMXB4OyB9XG4gIC5wcy1jb250YWluZXI6aG92ZXIucHMtaW4tc2Nyb2xsaW5nLnBzLXkgPiAucHMtc2Nyb2xsYmFyLXktcmFpbCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VlZTtcbiAgICBvcGFjaXR5OiAwLjk7IH1cbiAgICAucHMtY29udGFpbmVyOmhvdmVyLnBzLWluLXNjcm9sbGluZy5wcy15ID4gLnBzLXNjcm9sbGJhci15LXJhaWwgPiAucHMtc2Nyb2xsYmFyLXkge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzk5OTtcbiAgICAgIHdpZHRoOiAxMXB4OyB9XG4gIC5wcy1jb250YWluZXI6aG92ZXIgPiAucHMtc2Nyb2xsYmFyLXgtcmFpbCxcbiAgLnBzLWNvbnRhaW5lcjpob3ZlciA+IC5wcy1zY3JvbGxiYXIteS1yYWlsIHtcbiAgICBvcGFjaXR5OiAwLjY7IH1cbiAgLnBzLWNvbnRhaW5lcjpob3ZlciA+IC5wcy1zY3JvbGxiYXIteC1yYWlsOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlO1xuICAgIG9wYWNpdHk6IDAuOTsgfVxuICAgIC5wcy1jb250YWluZXI6aG92ZXIgPiAucHMtc2Nyb2xsYmFyLXgtcmFpbDpob3ZlciA+IC5wcy1zY3JvbGxiYXIteCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTk5OyB9XG4gIC5wcy1jb250YWluZXI6aG92ZXIgPiAucHMtc2Nyb2xsYmFyLXktcmFpbDpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VlZTtcbiAgICBvcGFjaXR5OiAwLjk7IH1cbiAgICAucHMtY29udGFpbmVyOmhvdmVyID4gLnBzLXNjcm9sbGJhci15LXJhaWw6aG92ZXIgPiAucHMtc2Nyb2xsYmFyLXkge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzk5OTsgfVxuIiwiLyoqXG4qIE1lZGlhIHF1ZXJpZXNcbiovXG5cbi8vIE1hc3RlciBtZWRpYSBxdWVyeSBtaXhpbjsgb25seSBmb3IgdXNlIHdpdGggc2NyZWVucywgb2YgY291cnNlOyBzaG91bGQgd29yayB3aXRoIHJhdyBpbnRlZ2VycyBvciBwaXhlbCB2YWx1ZXM7IGFkYXB0ZWQgZnJvbSBLaXBwbGU6IGh0dHBzOi8vZ2l0aHViLmNvbS9zeW5hcHRpY2lzbS9raXBwbGVcbkBtaXhpbiBtZWRpYSgkbWluLXF1ZXJ5OiBudWxsLCAkbWF4LXF1ZXJ5OiBudWxsKSB7XG4gIEBpZiAkbWluLXF1ZXJ5ID09IG51bGwgYW5kICRtYXgtcXVlcnkgPT0gbnVsbCB7XG4gICAgQHdhcm4gXCJNaXhpbiBrLW1lZGlhKCkgcmVjZWl2ZWQgdHdvIG51bGwgdmFsdWVzOyBubyBvdXRwdXQuXCI7XG4gICAgQGNvbnRlbnQ7IC8vIFBhc3MgY29udGVudCBhbnl3YXksIGJ1dCBpdCB3b24ndCBiZSB3cmFwcGVkIGluIGEgbWVkaWEgcXVlcnlcbiAgfVxuICBAZWxzZSBpZiAkbWF4LXF1ZXJ5ID09IG51bGwge1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRtaW4tcXVlcnkrMHB4KSB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGVsc2UgaWYgJG1pbi1xdWVyeSA9PSBudWxsIHtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbWF4LXF1ZXJ5KzBweCkgeyBAY29udGVudDsgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkbWluLXF1ZXJ5KzBweCkgYW5kIChtYXgtd2lkdGg6ICRtYXgtcXVlcnkrMHB4KSB7IEBjb250ZW50OyB9XG4gIH1cbn1cbkBtaXhpbiBtZWRpYS1hYm92ZSgkbWluLXF1ZXJ5KSB7XG4gIEBpbmNsdWRlIG1lZGlhKCRtaW4tcXVlcnksIG51bGwpIHsgQGNvbnRlbnQ7IH1cbn1cbkBtaXhpbiBtZWRpYS1iZWxvdygkbWF4LXF1ZXJ5KSB7XG4gIEBpbmNsdWRlIG1lZGlhKG51bGwsICRtYXgtcXVlcnkgLSAxKSB7IEBjb250ZW50OyB9XG59XG5AbWl4aW4gbWVkaWEtYmV0d2VlbigkbWluLXF1ZXJ5OiBudWxsLCAkbWF4LXF1ZXJ5OiBudWxsKSB7XG4gIEBpZiAkbWluLXF1ZXJ5ID09IG51bGwgb3IgJG1heC1xdWVyeSA9PSBudWxsIHtcbiAgICBAd2FybiBcIk1peGluIG1lZGlhLWJldHdlZW4oKSByZWNlaXZlZCBhIG51bGwgdmFsdWUuXCJcbiAgfVxuICBAaW5jbHVkZSBtZWRpYSgkbWluLXF1ZXJ5LCAkbWF4LXF1ZXJ5IC0gMSkgeyBAY29udGVudDsgfVxufVxuIiwiQGluY2x1ZGUgc2N1dC1yZXNldDtcblxuQGluY2x1ZGUgc2N1dC1mb250LWZhY2UoXCJMYXRvXCIsIFwiLi4vLi4vYXNzZXRzL2ZvbnRzL2xhdG8tdjExLWxhdGluLXJlZ3VsYXJcIiwgJGZvcm1hdHM6IHdvZmYgd29mZjIgdHRmIGVvdCBzdmcpO1xuQGluY2x1ZGUgc2N1dC1mb250LWZhY2UoXCJMYXRvTGlnaHRcIiwgXCIuLi8uLi9hc3NldHMvZm9udHMvbGF0by12MTEtbGF0aW4tMzAwXCIsICRmb3JtYXRzOiB3b2ZmIHdvZmYyIHR0ZiBlb3Qgc3ZnKTtcbkBpbmNsdWRlIHNjdXQtZm9udC1mYWNlKFwiTGF0b0JvbGRcIiwgXCIuLi8uLi9hc3NldHMvZm9udHMvbGF0by12MTEtbGF0aW4tNzAwXCIsICRmb3JtYXRzOiB3b2ZmIHdvZmYyIHR0ZiBlb3Qgc3ZnKTtcblxuYm9keSB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDsgfVxuXG5cbiIsIi5wYXltZW50IHtcbiAgQGluY2x1ZGUgc2N1dC1jbGVhcmZpeDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZm9udC1mYW1pbHk6ICRmb250LXI7XG4gIGZvbnQtc2l6ZTogMTAwJTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIGNvbG9yOiAkd2hpdGU7XG5cbiAgQGluY2x1ZGUgbWVkaWEtYmVsb3coJHh4cykge1xuICAgIGZvbnQtc2l6ZTogMTRweDsgfVxuXG4gIGgyIHtcbiAgICBmb250LWZhbWlseTogJGZvbnQtbDtcbiAgICBmb250LXNpemU6IHNjdXQtZW0oMzEpO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEtYmVsb3coJGxnKSB7XG4gICAgICBmb250LXNpemU6IHNjdXQtZW0oMjYpOyB9IH1cblxuICB1bCB7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgbGkge1xuICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lOyB9IH1cblxuICBhIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgb3V0bGluZTogbm9uZTsgfVxuXG4gIGlucHV0IHtcbiAgICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICBmb250LWZhbWlseTogJGZvbnQtbDsgfVxuICAgICY6Oi1tb3otcGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1sOyB9XG4gICAgJjotbW96LXBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICBmb250LWZhbWlseTogJGZvbnQtbDsgfVxuICAgICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICBmb250LWZhbWlseTogJGZvbnQtbDsgfSB9XG5cbiAgJi1tYWluIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgaGVpZ2h0OiAxMDB2aDtcbiAgICBwYWRkaW5nLWxlZnQ6IHNjdXQtZW0oNTApO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRkYXJrO1xuICAgIG92ZXJmbG93OiBhdXRvO1xuXG5cbiAgICBAaW5jbHVkZSBtZWRpYS1hYm92ZSgkbGcpIHtcbiAgICAgIHdpZHRoOiA3NSU7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEtYmVsb3coJHNtKSB7XG4gICAgICAvL2hlaWdodDogYXV0b1xuICAgICAgcGFkZGluZy10b3A6IHNjdXQtZW0oNTApOyB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1iZWxvdygkeHMpIHtcbiAgICAgIHBhZGRpbmctdG9wOiBzY3V0LWVtKDEwMCk7IH0gfVxuXG4gICYtbWVudSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGhlaWdodDogc2N1dC1lbSg1MCk7XG4gICAgLy9wYWRkaW5nLXJpZ2h0OiBzY3V0LWVtKDEyMClcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGRhcmsyO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEtYmVsb3coJHNtKSB7XG4gICAgICB6LWluZGV4OiAzO1xuICAgICAgQGluY2x1ZGUgc2N1dC1maXhlZCgwIDAgbiBzY3V0LWVtKDUwKSk7XG4gICAgICBiYWNrZ3JvdW5kOiAkZGFyazsgfVxuXG5cbiAgICAmLS1tYXN0ZXIge1xuICAgICAgd2lkdGg6IHNjdXQtZW0oNjApO1xuICAgICAgQGluY2x1ZGUgc2N1dC1hYnNvbHV0ZShzY3V0LWVtKDgpIHNjdXQtZW0oMTApIDAgbik7IH1cbiAgICAvLytzY3V0LWFic29sdXRlKDAgc2N1dC1lbSgxMTApIDAgbilcbiAgICAvL2JhY2tncm91bmQ6IHVybCgnLi4vaW1nL3NzbC5zdmcnKSBuby1yZXBlYXQgY2VudGVyIC8gY29udGFpblxuXG5cbiAgICAmLS1kb3QxIHtcbiAgICAgIHdpZHRoOiBzY3V0LWVtKDEwKTtcbiAgICAgIGhlaWdodDogc2N1dC1lbSgxMCk7XG4gICAgICBAaW5jbHVkZSBzY3V0LWFic29sdXRlKHNjdXQtZW0oMjApIHNjdXQtZW0oODUpIDAgbik7XG4gICAgICBiYWNrZ3JvdW5kOiAjY2NjO1xuICAgICAgYm9yZGVyLXJhZGl1czogNTBweDtcbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJlbG93KCRzbSkge1xuICAgICAgICBAaW5jbHVkZSBzY3V0LWFic29sdXRlKHNjdXQtZW0oMjApIHNjdXQtZW0oNzUpIDAgbik7IH0gfVxuXG4gICAgJi0tdmlzYSB7XG4gICAgICB3aWR0aDogc2N1dC1lbSg2MCk7XG4gICAgICBAaW5jbHVkZSBzY3V0LWFic29sdXRlKHNjdXQtZW0oMykgc2N1dC1lbSgxMTApIDAgbik7XG4gICAgICBAaW5jbHVkZSBtZWRpYS1iZWxvdygkc20pIHtcbiAgICAgICAgQGluY2x1ZGUgc2N1dC1hYnNvbHV0ZShzY3V0LWVtKDMpIHNjdXQtZW0oOTApIDAgbik7IH0gfVxuXG4gICAgJi0tZG90MiB7XG4gICAgICB3aWR0aDogc2N1dC1lbSgxMCk7XG4gICAgICBoZWlnaHQ6IHNjdXQtZW0oMTApO1xuICAgICAgQGluY2x1ZGUgc2N1dC1hYnNvbHV0ZShzY3V0LWVtKDIwKSBzY3V0LWVtKDE4NSkgMCBuKTtcbiAgICAgIGJhY2tncm91bmQ6ICNjY2M7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MHB4O1xuICAgICAgQGluY2x1ZGUgbWVkaWEtYmVsb3coJHNtKSB7XG4gICAgICAgIEBpbmNsdWRlIHNjdXQtYWJzb2x1dGUoc2N1dC1lbSgyMCkgc2N1dC1lbSgxNTUpIDAgbik7IH0gfVxuXG4gICAgJi0tc3NsIHtcbiAgICAgIHdpZHRoOiBzY3V0LWVtKDYwKTtcbiAgICAgIEBpbmNsdWRlIHNjdXQtYWJzb2x1dGUoc2N1dC1lbSgxMCkgc2N1dC1lbSgyMTApIDAgbik7XG4gICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICBAaW5jbHVkZSBtZWRpYS1iZWxvdygkc20pIHtcbiAgICAgICAgQGluY2x1ZGUgc2N1dC1hYnNvbHV0ZShzY3V0LWVtKDEwKSBzY3V0LWVtKDE3MCkgMCBuKTsgfVxuXG4gICAgICBAaW5jbHVkZSBtZWRpYS1iZWxvdygkc20pIHtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiA4MCU7IH0gfVxuXG4gICAgYnV0dG9uIHtcbiAgICAgIEBpbmNsdWRlIHNjdXQtYWJzb2x1dGUobiAyMCUgc2N1dC1lbSgtMjAsIDE0KSBuKTtcbiAgICAgIGZvbnQtc2l6ZTogc2N1dC1lbSgxMyk7XG4gICAgICBwYWRkaW5nOiBzY3V0LWVtKDksIDEzKSBzY3V0LWVtKDIwLCAxMyk7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsdWU7XG4gICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgYm9yZGVyLXJhZGl1czogc2N1dC1lbSg0MCwgMTMpO1xuICAgICAgYm94LXNoYWRvdzogMCAwIHNjdXQtZW0oMzUsIDEzKSAwIHJnYmEoMCwwLDAsLjM5KTtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgJGhvdmVyVGltZSBlYXNlLWluO1xuICAgICAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRncmF5MjtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTsgfVxuXG4gICAgICBAaW5jbHVkZSBtZWRpYS1iZWxvdygkbGcpIHtcbiAgICAgICAgcmlnaHQ6IDEwJTsgfVxuXG4gICAgICBAaW5jbHVkZSBtZWRpYS1iZWxvdygkc20pIHtcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgbGVmdDogc2N1dC1lbSgxMiwgMTMpO1xuICAgICAgICBib3R0b206IHNjdXQtZW0oOCwgMTMpO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB0ZXh0LWluZGVudDogLTkwMDBweDtcbiAgICAgICAgQGluY2x1ZGUgc2N1dC1zaXplKHNjdXQtZW0oMzQpKTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgQGluY2x1ZGUgc2N1dC1hYnNvbHV0ZShzY3V0LWVtKDlweCkgc2N1dC1lbSgxNnB4KSBuIG4pO1xuICAgICAgICAgIEBpbmNsdWRlIHNjdXQtc2l6ZShzY3V0LWVtKDJweCAxNnB4KSk7XG4gICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgkd2hpdGUsMC43KTsgfVxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICBAaW5jbHVkZSBzY3V0LWFic29sdXRlKHNjdXQtZW0oMTZweCkgc2N1dC1lbSg5cHgpIG4gbik7XG4gICAgICAgICAgQGluY2x1ZGUgc2N1dC1zaXplKHNjdXQtZW0oMTZweCAycHgpKTtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKCR3aGl0ZSwwLjcpOyB9IH0gfVxuXG4gICAgdWwge1xuICAgICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICRkYXJrMjtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIC5sYW5nX3NlbCB7XG4gICAgICAgICAgcGFkZGluZy10b3A6IDEwcHg7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIHdpZHRoOiAzMHB4OyB9IH0gfVxuICAgICAgYSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwYWRkaW5nOiAwIHNjdXQtZW0oMjUsIDE0KTtcbiAgICAgICAgZm9udC1zaXplOiBzY3V0LWVtKDE0KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHNjdXQtZW0oNTAsIDE0KTtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYmVsb3coJHNtKSB7XG4gICAgICAgICAgZm9udC1zaXplOiBzY3V0LWVtKDEwKTtcbiAgICAgICAgICBwYWRkaW5nOiAwIHNjdXQtZW0oNiwgNik7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IHNjdXQtZW0oNTAsIDEwKTsgfSB9IH1cblxuXG4gICAgQGluY2x1ZGUgbWVkaWEtYmVsb3coJHNtKSB7XG4gICAgICAmLS13cmFwIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbiAgICAgIHVsIHtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgaGVpZ2h0OiA1MHB4OyB9IH0gfVxuXG4gICYtbWVzc2FnZXMge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAyO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtaW4taGVpZ2h0OiBzY3V0LWVtKDQ2LCAxOSk7XG4gICAgcGFkZGluZzogc2N1dC1lbSgxMCwgMTkpIHNjdXQtZW0oMTUsIDE5KTtcbiAgICBtYXJnaW46IHNjdXQtZW0oMTgsIDE5KSBzY3V0LWVtKDgwLCAxOSkgMCBzY3V0LWVtKDQwLCAxOSk7XG4gICAgZm9udC1zaXplOiBzY3V0LWVtKDE5KTtcbiAgICBmb250LWZhbWlseTogJGZvbnQtbDtcbiAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgIGJvcmRlci1yYWRpdXM6IHNjdXQtZW0oMzAsIDE5KTtcbiAgICBib3JkZXI6IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAmLmVycm9yIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRncmF5MjtcbiAgICAgIGJvcmRlci1jb2xvcjogJHB1cnBsZTsgfVxuICAgICYuc3VjY2VzcyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRncmF5MjtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkZ3JlZW47IH1cblxuICAgIEBpbmNsdWRlIG1lZGlhLWJlbG93KCRsZykge1xuICAgICAgcGFkZGluZzogc2N1dC1lbSg4LCAxOSkgc2N1dC1lbSgxNSwgMTkpOyB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1iZWxvdygkeHMpIHtcbiAgICAgIG1hcmdpbjogc2N1dC1lbSgxOCwgMTkpIHNjdXQtZW0oMTUsIDE5KSAwO1xuICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgYm90dG9tOiAyMHB4OyB9IH1cblxuICAmLWluZm8ge1xuICAgIEBpbmNsdWRlIHNjdXQtc2l6ZShzY3V0LWVtKDI5NSAxODUpKTtcbiAgICBib3gtc2hhZG93OiAwIDAgMzVweCAxNHB4IHJnYmEoMCwwLDAsLjMpO1xuICAgIG1hcmdpbjogc2N1dC1lbSgzMCAwIDAgMTApO1xuICAgIGJvcmRlci1yYWRpdXM6IHNjdXQtZW0oMTApOyB9XG5cbiAgJi1jYXJkIHtcbiAgICBAaW5jbHVkZSBzY3V0LWFic29sdXRlKDAgMCAwIDApO1xuICAgIEBpbmNsdWRlIHNjdXQtc2l6ZShzY3V0LWVtKDI5NSAxODUpKTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBhZGRpbmc6IHNjdXQtZW0oNjAgMTggMTAgMTgpO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgJGJsdWUsICM5ZGMyOWQpO1xuICAgIGJveC1zaGFkb3c6IDAgMCAzNXB4IDE0cHggcmdiYSgwLDAsMCwuMyk7XG4gICAgYm9yZGVyLXJhZGl1czogc2N1dC1lbSgxMCk7XG4gICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuXG4gICAgJi0tZnJvbnQge1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGVZKDBkZWcpOyB9XG4gICAgJi0tYmFjayB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZVkoMTgwZGVnKTsgfVxuXG4gICAgJi0tZmxpcCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkO1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNnMgZWFzZS1pbjsgfVxuXG4gICAgJi0td3JhcCB7XG4gICAgICBAaW5jbHVkZSBzY3V0LXNpemUoc2N1dC1lbSgyOTUgMTg1KSk7XG4gICAgICBtYXJnaW46IHNjdXQtZW0oMzApIGF1dG87XG4gICAgICBwZXJzcGVjdGl2ZTogMTAwMDtcbiAgICAgIC13ZWJraXQtcGVyc3BlY3RpdmU6IDEwMDA7XG5cblxuICAgICAgJi5yb3RhdGUgLnBheW1lbnQtY2FyZC0tZmxpcCB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlWSgxODBkZWcpOyB9XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJlbG93KCRzbSkge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgd2lkdGg6IDcwMHB4O1xuICAgICAgaGVpZ2h0OiA3MDBweDtcbiAgICAgIEBpbmNsdWRlIHNjdXQtYWJzb2x1dGUoLTE1cHggLTUwcHggbiBuKTtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LDI1NSwyNTUsLjEpO1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgYm94LXNoYWRvdzogMCAwIDAgMjAwcHggcmdiYSgwLDAsMCwuMDQpLCBpbnNldCAwIDAgMCAxMjBweCByZ2JhKDAsMCwwLC4wMik7IH1cblxuICAgICY6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICB3aWR0aDogNzAwcHg7XG4gICAgICBoZWlnaHQ6IDcwMHB4O1xuICAgICAgQGluY2x1ZGUgc2N1dC1hYnNvbHV0ZSgwIG4gbiAtNjBweCk7XG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwyNTUsMjU1LC4xKTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDIwMHB4IHJnYmEoMCwwLDAsLjA0KSwgaW5zZXQgMCAwIDAgMTIwcHggcmdiYSgwLDAsMCwuMDIpOyB9XG5cbiAgICAmLS1kYXRhIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHotaW5kZXg6IDE7IH1cblxuICAgICYtLW51bWJlciB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogc2N1dC1lbSgzMCwgMjUpO1xuICAgICAgbGluZS1oZWlnaHQ6IHNjdXQtZW0oMzAsIDI1KTtcbiAgICAgIGZvbnQtc2l6ZTogc2N1dC1lbSgyNSk7XG4gICAgICBtYXJnaW4tYm90dG9tOiBzY3V0LWVtKDE1LCAyNSk7IH1cblxuICAgICYtLXllYXIsICYtLW1vbnRoIHtcbiAgICAgIGZvbnQtc2l6ZTogc2N1dC1lbSgxOCk7IH1cblxuICAgICYtLW5hbWUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW4tdG9wOiBzY3V0LWVtKDEwKTtcbiAgICAgIGZvbnQtc2l6ZTogc2N1dC1lbSgxNCk7IH1cblxuICAgICYtLXR5cGUge1xuICAgICAgQGluY2x1ZGUgc2N1dC1hYnNvbHV0ZShuIDAgMCBuKTtcbiAgICAgIEBpbmNsdWRlIHNjdXQtc2l6ZShzY3V0LWVtKDYwIDQwKSk7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCBuby1yZXBlYXQgY2VudGVyICAvIGNvdmVyO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJGhvdmVyVGltZSBlYXNlLWluO1xuXG4gICAgICAmW2RhdGEtdHlwZT1cInZpc2FcIl0ge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9jYXJkcy92aXNhLnN2ZycpO1xuICAgICAgICBvcGFjaXR5OiAxOyB9XG4gICAgICAmW2RhdGEtdHlwZT1cImFtZXhcIl0ge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9jYXJkcy9hbWV4LnN2ZycpO1xuICAgICAgICBvcGFjaXR5OiAxOyB9XG4gICAgICAmW2RhdGEtdHlwZT1cIm1hc3RlcmNhcmRcIl0ge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9jYXJkcy9tYXN0ZXJjYXJkLnN2ZycpO1xuICAgICAgICBvcGFjaXR5OiAxOyB9XG4gICAgICAmW2RhdGEtdHlwZT1cIm1hZXN0cm9cIl0ge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9jYXJkcy9tYWVzdHJvLnN2ZycpO1xuICAgICAgICBvcGFjaXR5OiAxOyB9IH1cblxuICAgICYtLXN0cmlwIHtcbiAgICAgIHotaW5kZXg6IDEwO1xuICAgICAgQGluY2x1ZGUgc2N1dC1hYnNvbHV0ZShzY3V0LWVtKDM1KSAwIG4gMCk7XG4gICAgICBoZWlnaHQ6IHNjdXQtZW0oNDApO1xuICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgIzQwNDA0MCwgIzFhMWExYSk7IH1cblxuICAgICYtLWNjdiB7XG4gICAgICB6LWluZGV4OiAxMDtcbiAgICAgIEBpbmNsdWRlIHNjdXQtYWJzb2x1dGUoc2N1dC1lbSgxMDApIDUlIG4gNSUpO1xuICAgICAgaGVpZ2h0OiBzY3V0LWVtKDMyKTtcbiAgICAgIGxpbmUtaGVpZ2h0OiBzY3V0LWVtKDMyKTtcbiAgICAgIHBhZGRpbmc6IDAgc2N1dC1lbSgxMCk7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IHNjdXQtZW0oMTApO1xuICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgICAgY29sb3I6ICRkYXJrO1xuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnY3Z2JztcbiAgICAgICAgQGluY2x1ZGUgc2N1dC1hYnNvbHV0ZShzY3V0LWVtKC0yMikgc2N1dC1lbSgxMCkgbiBuKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICBjb2xvcjogJHdoaXRlOyB9IH0gfVxuXG4gICYtaW5mbyB7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgcGFkZGluZzogc2N1dC1lbSgwNSAxMik7XG4gICAgZm9udC1mYW1pbHk6ICRmb250LWw7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJHdoaXRlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRncmF5MjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1iZWxvdygkc20pIHtcbiAgICAgIEBpbmNsdWRlIHNjdXQtYWJzb2x1dGUobiBzY3V0LWVtKDQwKSBzY3V0LWVtKDMwKSBzY3V0LWVtKDQwKSk7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEtYmVsb3coJHhzKSB7XG4gICAgICByaWdodDogc2N1dC1lbSgxNSk7XG4gICAgICBsZWZ0OiBzY3V0LWVtKDE1KTsgfVxuICAgIEBpbmNsdWRlIG1lZGlhLWJlbG93KCR4eHMpIHtcbiAgICAgIHBhZGRpbmc6IHNjdXQtZW0oMTcgNyAxNSk7IH1cblxuICAgIGltZyB7XG4gICAgICAgIHdpZHRoOiA0NSU7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJlbG93KCRzbSkge1xuICAgICAgICAgIHdpZHRoOiAzNSU7IH0gfVxuXG4gICAgcCB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogc2N1dC1lbSg4KTtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICBiIHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmb250LWI7IH0gfSB9XG5cbiAgYXNpZGUge1xuICAgIEBpbmNsdWRlIHNjdXQtc2l6ZShzY3V0LWVtKDUwKSAxMDAlKTtcbiAgICBAaW5jbHVkZSBzY3V0LWFic29sdXRlKDAgbiAwIDApO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRncmF5O1xuXG4gICAgQGluY2x1ZGUgbWVkaWEtYmVsb3coJHNtKSB7XG4gICAgICBAaW5jbHVkZSBzY3V0LWZpeGVkKDAgbiBuIDApOyB9XG5cbiAgICB1bCBsaSB7XG4gICAgICBoZWlnaHQ6IHNjdXQtZW0oNTgpO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRncmF5MztcbiAgICAgIGEge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcGFkZGluZzogc2N1dC1lbSgxOCAxMiAxMiAxMik7XG4gICAgICAgIHN2ZyB7XG4gICAgICAgICAgQGluY2x1ZGUgc2N1dC1zaXplKDEwMCUpO1xuICAgICAgICAgIHBhdGgge1xuICAgICAgICAgICAgZmlsbDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBzdHJva2U6ICRncmF5MztcbiAgICAgICAgICAgIHRyYW5zaXRpb246IHN0cm9rZSAkaG92ZXJUaW1lIGVhc2UtaW47IH0gfVxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBzdmcgcGF0aCB7XG4gICAgICAgICAgICBzdHJva2U6ICRibGFjazsgfSB9IH0gfSB9XG5cblxuICAmLWxvZ28ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogc2N1dC1lbSg1MCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgIHBhZGRpbmc6IHNjdXQtZW0oMyk7XG4gICAgc3ZnIHtcbiAgICAgIEBpbmNsdWRlIHNjdXQtc2l6ZSgxMDAlKTsgfSB9XG5cbiAgJi1hZGRpdGlvbmFsIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZGFyazE7XG4gICAgJjpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgQGluY2x1ZGUgc2N1dC1hYnNvbHV0ZSgwIDAgMCAwKTtcbiAgICAgIGJhY2tncm91bmQ6IHVybCgnLi4vaW1nL2JnLXJpZ2h0LmpwZycpIG5vLXJlcGVhdCBjZW50ZXIgLyBjb3ZlcjtcbiAgICAgIGZpbHRlcjogYmx1cig0cHgpO1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjA0KTtcbiAgICAgIGJveC1zaGFkb3c6IGluc2V0IDEwcHggNXB4IDQwcHggMTBweCByZ2JhKDAsMCwwLC4zNSk7XG4gICAgICBvcGFjaXR5OiAwLjQ7IH1cblxuICAgIEBpbmNsdWRlIG1lZGlhLWFib3ZlKCRsZykge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICBoZWlnaHQ6IDEwMHZoO1xuICAgICAgd2lkdGg6IDI1JTsgfVxuXG4gICAgJi0taW5mbyB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgICAgaDIge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogc2N1dC1lbSg1LCAxNik7IH1cblxuICAgICAgLnBheW1lbnQtdmFsdWUge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGZvbnQtc2l6ZTogc2N1dC1lbSg1MCk7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1sO1xuICAgICAgICBpbnB1dCB7XG4gICAgICAgICAgLy93aWR0aDogc2N1dC1lbSgxMjAsIDUwKVxuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgIG91dGxpbmU6IG5vbmU7IH1cblxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogJyQnO1xuICAgICAgICAgIEBpbmNsdWRlIHNjdXQtYWJzb2x1dGUoMCBuIG4gc2N1dC1lbSgtMzAsIDUwKSk7XG4gICAgICAgICAgLmV1cm8gJiB7XG4gICAgICAgICAgICBjb250ZW50OiAn4oKsJzsgfVxuICAgICAgICAgIC5nYnAgJiB7XG4gICAgICAgICAgICBjb250ZW50OiAnXFwwMEEzJzsgfSB9IH0gfVxuXG4gICAgLmJhY2sge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICBAaW5jbHVkZSBzY3V0LWFic29sdXRlKG4gMCBzY3V0LWVtKDIwKSAwKTtcbiAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1sO1xuICAgICAgc3ZnIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBzY3V0LWVtKDgpO1xuICAgICAgICBAaW5jbHVkZSBzY3V0LXNpemUoc2N1dC1lbSgxMyAxNikpO1xuICAgICAgICBwYXRoIHtcbiAgICAgICAgICBmaWxsOiAkYmx1ZTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgJGhvdmVyVGltZSBlYXNlLWluOyB9IH1cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBzdmcgcGF0aCB7XG4gICAgICAgICAgZmlsbDogJGdyYXk7IH0gfSB9IH0gfVxuXG4uZm9vdGVyLXRleHQge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGNvbG9yOiAjY2NjO1xuICBmb250LXNpemU6IDE0cHg7IH1cblxuXG4jc2lkZWJhckFtb3VudCB7XG4gIHdpZHRoOiAxNTBweDsgfVxuXG4udHJ1c3Qge1xuICBAaW5jbHVkZSBtZWRpYS1iZWxvdyg1NDApIHtcbiAgICBkaXNwbGF5OiBub25lOyB9IH1cbiIsIi8vIEdyaWQgc2V0dGluZ3NcbiR4eHM6IDQwMHB4O1xuJHhzOiAgNTAwcHg7XG4kc206ICA3NjhweDtcbiRtZDogIDEwMjRweDtcbiRsZzogIDEyODBweDtcblxuLy8gQ29sb3JzXG4kYmxhY2s6ICAgICAgIzE5MWUyNjtcbiR3aGl0ZTogICAgICAjZmZmZmZmO1xuJGRhcms6ICAgICAgICMxYTI0NTE7XG4kZGFyazE6ICAgICAgIzFhMjQ1MTtcbiRkYXJrMjogICAgICAjNDg1MzVkO1xuJGdyYXk6ICAgICAgICNkOGRiZGI7XG4kZ3JheTE6ICAgICAgI2FjYjBiMjtcbiRncmF5MjogICAgICAjM2M4ZGJjO1xuJGdyYXkzOiAgICAgICNhY2IwYjM7XG4kYmx1ZTogICAgICAgIzMwY2JmODtcbiRncmVlbjogICAgICAjMDBhNjUxO1xuJHB1cnBsZTogICAgICNjNTYyYWM7XG4kZXJyb3I6ICAgICAgI2M1MDAwMDtcblxuXG4vLyBGb250c1xuJGZvbnQtcjogJ0xhdG8nLCBzYW5zLXNlcmlmO1xuJGZvbnQtbDogJ0xhdG9MaWdodCcsIHNhbnMtc2VyaWY7XG4kZm9udC1iOiAnTGF0b0JvbGQnLCBzYW5zLXNlcmlmO1xuXG4vLyBUcmFuc2l0aW9uIHRpbWVcbiRob3ZlclRpbWU6IDAuM3M7XG5cblxuXG5cblxuXG4iLCJAa2V5ZnJhbWVzIGV4cGFuZCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwwLDEpOyB9XG4gIDI1JSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsMS4yLDEpOyB9XG4gIDUwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsMC44NSwxKTsgfVxuICA3NSUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLDEuMDUsMSk7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsMSwxKTsgfSB9XG5cblxuLmN1c3RvbWVyLWluZm8ge1xuICAmLmRpc2FibGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAmOmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgY29udGVudDogJyc7XG4gICAgICB0b3A6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudGl6ZSgjNWM2NjcxLCAuMikgdXJsKFwiLi4vaW1nL2xvYWRlci5zdmdcIikgbm8tcmVwZWF0IGNlbnRlci9jb250YWluO1xuICAgICAgei1pbmRleDogNTsgfSB9IH1cblxuZm9ybSB7XG4gIEBpbmNsdWRlIHNjdXQtY2xlYXJmaXg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogc2N1dC1lbSgyNSAwIDU1IDQwKTtcblxuICBAaW5jbHVkZSBtZWRpYS1iZWxvdygkc20pIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogc2N1dC1lbSgyNDApOyB9XG5cbiAgQGluY2x1ZGUgbWVkaWEtYmVsb3coJHhzKSB7XG4gICAgcGFkZGluZy1sZWZ0OiBzY3V0LWVtKDE1KTsgfVxuXG4gIC5oaWRkZW4ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4gIGgyIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogc2N1dC1lbSgxNSwgMjYpOyB9XG5cbiAgLnBheW1lbnQtdGl0bGUge1xuICAgIEBpbmNsdWRlIHNjdXQtYWJzb2x1dGUoc2N1dC1lbSgtNDIsIDI1KSBuIG4gc2N1dC1lbSg0MCwgMjUpKTtcbiAgICBmb250LXNpemU6IHNjdXQtZW0oMjUpO1xuICAgIGZvbnQtZmFtaWx5OiAkZm9udC1sO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIHBhZGRpbmctcmlnaHQ6IHNjdXQtcmVtKDQwKTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgJGhvdmVyVGltZSBlYXNlLWluO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEtYmVsb3coJHhzKSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiBzY3V0LWVtKDE1LCAyNSk7XG4gICAgICBsZWZ0OiBzY3V0LWVtKDE1LCAyNSk7IH0gfVxuXG4gIC5jb2wtMS0yIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogNTAlO1xuICAgIHBhZGRpbmctcmlnaHQ6IHNjdXQtZW0oODApO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEtYmVsb3coJGxnKSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiBzY3V0LWVtKDYwKTsgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEtYmVsb3coJHNtKSB7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEtYmVsb3coJHhzKSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiBzY3V0LWVtKDE1KTsgfSB9XG5cbiAgLnBheW1lbnQtaW5wdXQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICYtLXdyYXAge1xuICAgICAgQGluY2x1ZGUgc2N1dC1jbGVhcmZpeDsgfVxuXG4gICAgJi5oYWxmIHtcbiAgICAgIEBpbmNsdWRlIG1lZGlhLWFib3ZlKCR4cykge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgd2lkdGg6IDQ5JTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAyJTtcbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgYm90dG9tOiBzY3V0LWVtKDMwKTsgfVxuICAgICAgICBpbnB1dDpmb2N1cyArIHNwYW4ge1xuICAgICAgICAgIGJvdHRvbTogc2N1dC1lbSg4KSAhaW1wb3J0YW50OyB9IH0gfVxuXG4gICAgc3BhbiB7XG4gICAgICBAaW5jbHVkZSBzY3V0LWFic29sdXRlKG4gbiAwIDApO1xuICAgICAgZm9udC1mYW1pbHk6ICRmb250LWw7XG4gICAgICBmb250LXNpemU6IHNjdXQtZW0oMTUpO1xuICAgICAgY29sb3I6ICRibHVlO1xuICAgICAgdHJhbnNpdGlvbjogYm90dG9tICRob3ZlclRpbWUgZWFzZS1pbjsgfVxuICAgIGkge1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICBAaW5jbHVkZSBzY3V0LWFic29sdXRlKDAgMCBuIG4pO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgcGFkZGluZzogc2N1dC1lbSgwIDQgNCA0KTtcbiAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1sO1xuICAgICAgYmFja2dyb3VuZDogIHJnYmEoJGJsdWUsIDAuNyk7XG4gICAgICBib3JkZXItcmFkaXVzOiBzY3V0LWVtKDYpO1xuICAgICAgdHJhbnNpdGlvbjogYWxsICRob3ZlclRpbWUgZWFzZS1pbjsgfSB9XG5cbiAgaW5wdXQ6LXdlYmtpdC1hdXRvZmlsbCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGRhcmsgIWltcG9ydGFudDtcbiAgICBjb2xvcjogaW5oZXJpdCAhaW1wb3J0YW50OyB9XG5cbiAgaW5wdXQ6bm90KFt0eXBlPVwic3VibWl0XCJdKTpub3QoLnBheW1lbnQtdmFsdWUpLCAuY3MtcGxhY2Vob2xkZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAyO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogc2N1dC1lbSg0MCwgMTkpO1xuICAgIGZvbnQtc2l6ZTogc2N1dC1lbSgxOSk7XG4gICAgZm9udC1mYW1pbHk6ICRmb250LWw7XG4gICAgbWFyZ2luLWJvdHRvbTogc2N1dC1lbSgzMCwgMTkpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRkYXJrO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGdyYXk7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAmLmNhcmQtbmFtZSB7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG5cbiAgICAmLmVycm9yIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJGVycm9yICFpbXBvcnRhbnQ7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvZXJyX3NpZy5wbmdcIik7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wIHJpZ2h0O1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAzMHB4IDMwcHg7XG5cbiAgICAgICY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgICAgICBjb2xvcjogcmdiYSgkZXJyb3IsLjg1KTsgfVxuICAgICAgJjo6LW1vei1wbGFjZWhvbGRlciB7XG4gICAgICAgIGNvbG9yOiByZ2JhKCRlcnJvciwuODUpOyB9XG4gICAgICAmOi1tb3otcGxhY2Vob2xkZXIge1xuICAgICAgICBjb2xvcjogcmdiYSgkZXJyb3IsLjg1KTsgfVxuICAgICAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgICAgICBjb2xvcjogcmdiYSgkZXJyb3IsLjg1KTsgfSB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1iZWxvdygkbGcpIHtcbiAgICAgIGhlaWdodDogc2N1dC1lbSgzMywgMTkpO1xuICAgICAgbGluZS1oZWlnaHQ6IHNjdXQtZW0oMzMsIDE5KTsgfVxuXG4gICAgJjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogcmdiYSgkd2hpdGUsLjI3KTtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yICRob3ZlclRpbWUgZWFzZS1pbjtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG4gICAgJjo6LW1vei1wbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogcmdiYSgkd2hpdGUsLjI3KTtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yICRob3ZlclRpbWUgZWFzZS1pbjtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG4gICAgJjotbW96LXBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiByZ2JhKCR3aGl0ZSwuMjcpO1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgJGhvdmVyVGltZSBlYXNlLWluO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogcmdiYSgkd2hpdGUsLjI3KTtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yICRob3ZlclRpbWUgZWFzZS1pbjtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG5cbiAgICAmLnZhbGlkIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJGdyZWVuICFpbXBvcnRhbnQ7IH1cblxuICAgICY6Zm9jdXMge1xuICAgICAgYm9yZGVyLWNvbG9yOiAkYmx1ZTtcblxuICAgICAgJjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgICAgJjo6LW1vei1wbHRyYW5zcGFyZW50ZGVyIHtcbiAgICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAgICY6LW1vei1wbGFjZWhvbGRlciB7XG4gICAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgICAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxuICAgICAgKyBzcGFuIHtcbiAgICAgICAgYm90dG9tOiBzY3V0LWVtKC0yNHB4KTsgfVxuXG4gICAgICB+IGkge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0b3A6IHNjdXQtZW0oLTI1cHgpOyB9IH0gfVxuXG4gIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgIC8vd2lkdGg6IDEwMCUgIWltcG9ydGFudFxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIHBhZGRpbmc6IDAgc2N1dC1lbSgxNSwgMzIpO1xuICAgIEBpbmNsdWRlIHNjdXQtc2l6ZShzY3V0LWVtKDMxNCwgMzIpIHNjdXQtZW0oNDAsIDMyKSk7XG4gICAgZm9udC1mYW1pbHk6ICRmb250LWw7XG4gICAgZm9udC1zaXplOiBzY3V0LWVtKDQyKTtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgY29sb3I6IHJnYmEoJHdoaXRlLC43NCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGdyZWVuO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgYm94LXNoYWRvdzogMCAwIHNjdXQtZW0oMzUsIDMyKSAwIHJnYmEoMCwwLDAsLjM5KTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICRob3ZlclRpbWUgZWFzZS1pbjtcbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRncmF5MjsgfVxuICAgICZbZGlzYWJsZWRdIHtcbiAgICAgIGN1cnNvcjogYXV0bztcbiAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJhY2tncm91bmQ6ICRncmF5MiB1cmwoJy4uL2ltZy9sb2FkZXIuc3ZnJykgbm8tcmVwZWF0IGNlbnRlciAvIGNvbnRhaW47IH1cblxuICAgIEBpbmNsdWRlIG1lZGlhLWJlbG93KCRsZykge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBoZWlnaHQ6IHNjdXQtZW0oMzMsIDI1KTtcbiAgICAgIGxpbmUtaGVpZ2h0OiBzY3V0LWVtKDMzLCAyNSk7XG4gICAgICBmb250LXNpemU6IHNjdXQtZW0oMjUpO1xuICAgICAgZGlzcGxheTogaW5saW5lOyB9IH1cblxuICAucGF5bWVudC12YWx1ZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IHNjdXQtZW0oOTAsIDIwKTtcbiAgICBoZWlnaHQ6IHNjdXQtZW0oMzMsIDIwKTtcbiAgICBtYXJnaW4tbGVmdDogc2N1dC1lbSgxMiwgMjApO1xuICAgIGZvbnQtc2l6ZTogc2N1dC1lbSgyMCk7XG4gICAgZm9udC1mYW1pbHk6ICRmb250LWw7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJHdoaXRlO1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgYm9yZGVyLXJhZGl1czogc2N1dC1lbSgxMCwgMjApO1xuICAgIGJveC1zaGFkb3c6IDAgMCBzY3V0LWVtKDM1LCAzMikgMCByZ2JhKDAsMCwwLC4zOSk7XG4gICAgaW5wdXQge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgIHBhZGRpbmc6IDAgc2N1dC1lbSg1LCAyMCkgMCBzY3V0LWVtKDIwLCAyMCk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG4gICAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWwgIWltcG9ydGFudDtcbiAgICAgIG91dGxpbmU6IG5vbmU7IH1cblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICckJztcbiAgICAgIEBpbmNsdWRlIHNjdXQtYWJzb2x1dGUoc2N1dC1lbSgzLCAyMCkgbiBuIHNjdXQtZW0oNiwgMjApKTtcbiAgICAgIC5ldXJvICYge1xuICAgICAgICBjb250ZW50OiAn4oKsJzsgfVxuICAgICAgLmdicCAmIHtcbiAgICAgICAgY29udGVudDogJ1xcMDBBMyc7IH0gfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEtYmVsb3coJGxnKSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDsgfSB9XG5cbiAgc2VsZWN0IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiBpbmhlcml0OyB9XG5cbiAgLnBheW1lbnQtc2VsZWN0IHtcbiAgICBAaW5jbHVkZSBzY3V0LWNsZWFyZml4O1xuXG4gICAgJi0tbGVmdCB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHdpZHRoOiA0NSU7IH1cbiAgICAmLS1yaWdodCB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICB3aWR0aDogNDUlOyB9XG4gICAgJi0tbGVmdCwgJi0tcmlnaHQge1xuICAgICAgPiBkaXYge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgb3V0bGluZTogbm9uZTsgfSB9XG5cbiAgICAmLS1ib3RoIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAmLS1ib3RoIHtcbiAgICAgID4gZGl2IHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7IH0gfVxuXG4gICAgLmNzLXBsYWNlaG9sZGVyIHtcbiAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1sO1xuICAgICAgbGluZS1oZWlnaHQ6IHNjdXQtZW0oNDAsIDE5KTtcbiAgICAgIGNvbG9yOiByZ2JhKCR3aGl0ZSwuMjcpO1xuXG4gICAgICAmLmVycm9yIHtcbiAgICAgICAgY29sb3I6ICRlcnJvcjsgfVxuXG4gICAgICAmLmNzLXNlbGVjdGVkIHtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTsgfSB9XG4gICAgLmNzLWFjdGl2ZSAuY3MtcGxhY2Vob2xkZXIge1xuICAgICAgICBjb2xvcjogcmdiYSgkd2hpdGUsLjI3KTsgfVxuXG4gICAgLmNzLW9wdGlvbnMge1xuICAgICAgei1pbmRleDogMztcbiAgICAgIEBpbmNsdWRlIHNjdXQtYWJzb2x1dGUoMTAwJSAwIG4gMCk7XG4gICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgIHRyYW5zZm9ybS1vcmlnaW46IDUwJSAwO1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsMCwxKTtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2UtaW47XG4gICAgICB1bCB7XG4gICAgICAgIGhlaWdodDogc2N1dC1lbSgzMDApO1xuICAgICAgICBvdmVyZmxvdzogc2Nyb2xsO1xuICAgICAgICBwYWRkaW5nOiBzY3V0LWVtKDUgMCAwIDUpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZGFyaztcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIHNjdXQtZW0oMTUpIHJnYmEoMCwwLDAsLjMpO1xuICAgICAgICBsaSB7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuODtcbiAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250LWw7IH0gfSB9XG5cbiAgICAuY3MtYWN0aXZlIHtcbiAgICAgIC5jcy1wbGFjZWhvbGRlciB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGJsdWU7IH1cbiAgICAgIC5jcy1vcHRpb25zIHtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLDEsMSk7IH0gfSB9IH1cblxuIiwiLnBheW1lbnQtaWZyYW1lIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuLnBheW1lbnQtaWZyYW1lLmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJHdoaXRlLCAuOSk7XG4gIGJveC1zaGFkb3c6ICAwIDAgMTVweCAxMHB4IHJnYmEoJGJsYWNrLCAwLjUpO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiBhdXRvO1xuICB6LWluZGV4OiAxMTtcbiAgQGluY2x1ZGUgc2N1dC1maXhlZCgwIDAgMCAwKTtcbiAgQGluY2x1ZGUgc2N1dC1zaXplKDgwJSA4MCUpO1xuXG4gIGlmcmFtZSB7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIEBpbmNsdWRlIHNjdXQtc2l6ZSgxMDAlIDEwMCUpOyB9IH1cbiIsIiRkYXJrOiAjMjEyMTIxO1xuJHdoaXRlOiAjRjVGNUY1O1xuJG1haW46ICM2MDdEOEI7XG5ib2R5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjokZGFyayAhaW1wb3J0YW50O1xuICBvdmVyZmxvdzpoaWRkZW47XG4gIC5sb2FkZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6NTAlO1xuICAgIGxlZnQ6NTAlO1xuICAgIHRyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSwtNTAlKTtcbiAgICAvL2FuaW1hdGlvbjogYmFyIDhzIGxpbmVhciBpbmZpbml0ZTtcbiAgICAvL0VkaXQgc3VnZ2VzdGVkIGJ5IC91L0tOZXR3YWxrZXIgOiBodHRwOi8vY29kZXBlbi5pby9TdXJlSUQvcGVuL2FOUnhkd1xuICAgIC5iYXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOjUwJTtcbiAgICAgIGxlZnQ6NTAlO1xuICAgICAgdHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLC01MCUpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjokd2hpdGU7XG4gICAgICB3aWR0aDoxMDBweDtcbiAgICAgIGhlaWdodDoxMHB4O1xuICAgICAgYm9yZGVyOjJweCBzb2xpZCAkd2hpdGU7XG4gICAgICBib3JkZXItcmFkaXVzOjJweDtcbiAgICAgIC5sb2FkZWQge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDo1MCU7XG4gICAgICAgIGxlZnQ6NTAlO1xuICAgICAgICB0cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsLTUwJSk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6JG1haW47XG4gICAgICAgIGhlaWdodDoxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6MTAwJTtcbiAgICAgICAgd2lkdGg6MCU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6MnB4O1xuICAgICAgICB0cmFuc2l0aW9uOiB3aWR0aCAxcyBsaW5lYXI7XG4gICAgICB9XG4gICAgfVxuICAgIC5zcGlubmVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDo1MCU7XG4gICAgICBsZWZ0OjUwJTtcbiAgICAgIHRyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSwtNTAlKTtcbiAgICAgIGhlaWdodDoyMDBweDtcbiAgICAgIGFuaW1hdGlvbjogYmFyIDhzIGxpbmVhciBpbmZpbml0ZTtcbiAgICAgIHRyYW5zaXRpb246IGhlaWdodCAxcyBlYXNlLWluO1xuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6MHB4O1xuICAgICAgICBsZWZ0OjUwJTtcbiAgICAgICAgdHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLC01MCUpO1xuICAgICAgICB3aWR0aDo0cHg7XG4gICAgICAgIGhlaWdodDo0cHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6MTAwcHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6JG1haW47XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBrZXlmcmFtZXMgYmFyIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSwtNTAlKSByb3RhdGUoMGRlZyk7XG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLC01MCUpIHJvdGF0ZSgzNjBkZWcpO1xuICB9XG59Il19 */
