/*main.css*/
@charset "UTF-8";
*,
*::before,
*::after {
  box-sizing: border-box; }

html {
  font-family: sans-serif;
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0); }

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

body {
  margin: 0;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: #212529;
  text-align: left;
  background-color: #fff; }

[tabindex="-1"]:focus:not(:focus-visible) {
  outline: 0 !important; }

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

h1, h2, h3, h4, h5, h6 {
  margin-top: 0;
  margin-bottom: 0.5rem; }

p {
  margin-top: 0;
  margin-bottom: 1rem; }

abbr[title],
abbr[data-original-title] {
  text-decoration: underline;
  text-decoration: underline dotted;
  cursor: help;
  border-bottom: 0;
  text-decoration-skip-ink: none; }

address {
  margin-bottom: 1rem;
  font-style: normal;
  line-height: inherit; }

ol,
ul,
dl {
  margin-top: 0;
  margin-bottom: 1rem; }

ol ol,
ul ul,
ol ul,
ul ol {
  margin-bottom: 0; }

dt {
  font-weight: 700; }

dd {
  margin-bottom: .5rem;
  margin-left: 0; }

blockquote {
  margin: 0 0 1rem; }

b,
strong {
  font-weight: bolder; }

small {
  font-size: 80%; }

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

sub {
  bottom: -.25em; }

sup {
  top: -.5em; }

a {
  color: #0056b3;
  text-decoration: none;
  background-color: transparent; }
  a:hover {
    color: #0056b3;
    text-decoration: underline; }

a:not([href]):not([class]) {
  color: inherit;
  text-decoration: none; }
  a:not([href]):not([class]):hover {
    color: inherit;
    text-decoration: none; }

pre,
code,
kbd,
samp {
  font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  font-size: 1em; }

pre {
  margin-top: 0;
  margin-bottom: 1rem;
  overflow: auto;
  -ms-overflow-style: scrollbar; }

figure {
  margin: 0 0 1rem; }

img {
  vertical-align: middle;
  border-style: none; }

svg {
  overflow: hidden;
  vertical-align: middle; }

table {
  border-collapse: collapse; }

caption {
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  color: #6c757d;
  text-align: left;
  caption-side: bottom; }

th {
  text-align: inherit;
  text-align: -webkit-match-parent; }

label {
  display: inline-block;
  margin-bottom: 0.5rem; }

button {
  border-radius: 0; }

button:focus:not(:focus-visible) {
  outline: 0; }

input,
button,
select,
optgroup,
textarea {
  margin: 0;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit; }

button,
input {
  overflow: visible; }

button,
select {
  text-transform: none; }

[role="button"] {
  cursor: pointer; }

select {
  word-wrap: normal; }

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

button:not(:disabled),
[type="button"]:not(:disabled),
[type="reset"]:not(:disabled),
[type="submit"]:not(:disabled) {
  cursor: pointer; }

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  padding: 0;
  border-style: none; }

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

textarea {
  overflow: auto;
  resize: vertical; }

fieldset {
  min-width: 0;
  padding: 0;
  margin: 0;
  border: 0; }

legend {
  display: block;
  width: 100%;
  max-width: 100%;
  padding: 0;
  margin-bottom: .5rem;
  font-size: 1.5rem;
  line-height: inherit;
  color: inherit;
  white-space: normal; }

progress {
  vertical-align: baseline; }

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

[type="search"] {
  outline-offset: -2px;
  -webkit-appearance: none; }

[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

::-webkit-file-upload-button {
  font: inherit;
  -webkit-appearance: button; }

output {
  display: inline-block; }

summary {
  display: list-item;
  cursor: pointer; }

template {
  display: none; }

[hidden] {
  display: none !important; }

/* Slider */
.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent; }

.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0; }
  .slick-list:focus {
    outline: none; }
  .slick-list.dragging {
    cursor: pointer;
    cursor: hand; }

.slick-slider .slick-track,
.slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  -o-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0); }

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block;
  margin-left: auto;
  margin-right: auto; }
  .slick-track:before, .slick-track:after {
    content: "";
    display: table; }
  .slick-track:after {
    clear: both; }
  .slick-loading .slick-track {
    visibility: hidden; }

.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
  display: none; }
  [dir="rtl"] .slick-slide {
    float: right; }
  .slick-slide img {
    display: block; }
  .slick-slide.slick-loading img {
    display: none; }
  .slick-slide.dragging img {
    pointer-events: none; }
  .slick-initialized .slick-slide {
    display: block; }
  .slick-loading .slick-slide {
    visibility: hidden; }
  .slick-vertical .slick-slide {
    display: block;
    height: auto;
    border: 1px solid transparent; }

.slick-arrow.slick-hidden {
  display: none; }

/* Slider */
.slick-loading .slick-list {
  background: #fff url("./ajax-loader.gif") center center no-repeat; }

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

/* Arrows */
.slick-prev,
.slick-next {
  position: absolute;
  display: block;
  height: 20px;
  width: 20px;
  line-height: 0px;
  font-size: 0px;
  cursor: pointer;
  background: transparent;
  color: transparent;
  top: 50%;
  -webkit-transform: translate(0, -50%);
  -ms-transform: translate(0, -50%);
  transform: translate(0, -50%);
  padding: 0;
  border: none;
  outline: none; }
  .slick-prev:hover, .slick-prev:focus,
  .slick-next:hover,
  .slick-next:focus {
    outline: none;
    background: transparent;
    color: transparent; }
    .slick-prev:hover:before, .slick-prev:focus:before,
    .slick-next:hover:before,
    .slick-next:focus:before {
      opacity: 1; }
  .slick-prev.slick-disabled:before,
  .slick-next.slick-disabled:before {
    opacity: 0.25; }
  .slick-prev:before,
  .slick-next:before {
    font-family: "slick";
    font-size: 20px;
    line-height: 1;
    color: white;
    opacity: 0.75;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale; }

.slick-prev {
  left: -25px; }
  [dir="rtl"] .slick-prev {
    left: auto;
    right: -25px; }
  .slick-prev:before {
    content: "←"; }
    [dir="rtl"] .slick-prev:before {
      content: "→"; }

.slick-next {
  right: -25px; }
  [dir="rtl"] .slick-next {
    left: -25px;
    right: auto; }
  .slick-next:before {
    content: "→"; }
    [dir="rtl"] .slick-next:before {
      content: "←"; }

/* Dots */
.slick-dotted.slick-slider {
  margin-bottom: 30px; }

.slick-dots {
  position: absolute;
  bottom: -25px;
  list-style: none;
  display: block;
  text-align: center;
  padding: 0;
  margin: 0;
  width: 100%; }
  .slick-dots li {
    position: relative;
    display: inline-block;
    height: 20px;
    width: 20px;
    margin: 0 5px;
    padding: 0;
    cursor: pointer; }
    .slick-dots li button {
      border: 0;
      background: transparent;
      display: block;
      height: 20px;
      width: 20px;
      outline: none;
      line-height: 0px;
      font-size: 0px;
      color: transparent;
      padding: 5px;
      cursor: pointer; }
      .slick-dots li button:hover, .slick-dots li button:focus {
        outline: none; }
        .slick-dots li button:hover:before, .slick-dots li button:focus:before {
          opacity: 1; }
      .slick-dots li button:before {
        position: absolute;
        top: 0;
        left: 0;
        content: "•";
        width: 20px;
        height: 20px;
        font-family: "slick";
        font-size: 6px;
        line-height: 20px;
        text-align: center;
        color: black;
        opacity: 0.25;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale; }
    .slick-dots li.slick-active button:before {
      color: black;
      opacity: 0.75; }

/*!
 * Bootstrap Grid v4.0.0-beta.3 (https://getbootstrap.com)
 * Copyright 2011-2017 The Bootstrap Authors
 * Copyright 2011-2017 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 */
@-ms-viewport {
  width: device-width; }

html {
  box-sizing: border-box;
  -ms-overflow-style: scrollbar; }

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

.container {
  width: 100%;
  padding-right: 10px;
  padding-left: 10px;
  margin-right: auto;
  margin-left: auto; }
  @media (min-width: 576px) {
    .container {
      max-width: 540px; } }
  @media (min-width: 768px) {
    .container {
      max-width: 720px; } }
  @media (min-width: 992px) {
    .container {
      max-width: 960px; } }
  @media (min-width: 1200px) {
    .container {
      max-width: 1140px; } }

.container-fluid {
  width: 100%;
  padding-right: 10px;
  padding-left: 10px;
  margin-right: auto;
  margin-left: auto; }

h1, .h1 {
  font-size: 72px;
  line-height: 1;
  font-family: "franklin-gothic-urw-comp", Arial, sans-serif;
  letter-spacing: 1px; }
  @media (max-width: 767.99px) {
    h1, .h1 {
      font-size: 37px; } }

h2, .h2 {
  font-size: 54px;
  line-height: 1.25;
  font-family: "franklin-gothic-urw-comp", Arial, sans-serif;
  letter-spacing: 1px; }
  @media (max-width: 767.99px) {
    h2, .h2 {
      font-size: 35px; } }

h3, .h3 {
  font-size: 36px;
  line-height: 1.2;
  font-family: "franklin-gothic-urw-comp", Arial, sans-serif;
  letter-spacing: 1px; }
  @media (max-width: 767.99px) {
    h3, .h3 {
      font-size: 30px; } }

h4, .h4 {
  font-size: 34px;
  line-height: 1;
  font-family: "franklin-gothic-urw-comp", Arial, sans-serif;
  letter-spacing: 1px; }

h5, .h5 {
  font-size: 18px; }

h6, .h6 {
  font-size: 18px; }

a {
  display: inline-block;
  text-decoration: underline;
  transition: color 0.35s; }
  a:hover {
    text-decoration: none; }

p {
  margin-top: 0; }

b, strong {
  font-weight: 700; }

.header {
  padding: 13px 0;
  position: fixed;
  z-index: 4;
  width: 100%;
  top: 0;
  left: 0;
  background-color: #fff;
  transition: box-shadow 0.35s; }
  .header.sticky {
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.12); }
  @media (max-width: 1199.99px) {
    .header {
      padding: 12px 0; } }
  @media (max-width: 767.99px) {
    .header {
      padding: 5px 0; } }
  .header__row {
    display: flex;
    align-items: center;
    justify-content: space-between; }
  .header__logo {
    max-height: 40px;
    max-width: 100px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 100px; }
    @media (max-width: 1199.99px) {
      .header__logo {
        margin-right: initial; } }
  .header__menu {
	font-weight: 700;
    text-transform: uppercase;
    font-size: 20px;
    line-height: 20px;
    font-family: "franklin-gothic-urw-comp", Arial, sans-serif;
    display: flex;
    letter-spacing: 1px; }
    @media (max-width: 1199.99px) {
      .header__menu {
        display: block;
        width: 240px;
        height: calc(100% - 78px);
        padding: 10px 15px;
        position: fixed;
        top: 78px;
        left: 0;
        transform: translateX(-100%);
        transition: transform 0.35s;
        background-color: #E22C2F;
        overflow: auto; } }
    @media (max-width: 767.99px) {
      .header__menu {
        top: 50px;
        height: calc(100% - 50px); } }
    @media (max-width: 1199.99px) {
      .header__menu.active {
        transform: translateX(0); } }
    .header__menu ul {
      display: flex; }
      @media (max-width: 1199.99px) {
        .header__menu ul {
          display: block; } }
      .header__menu ul li {
        padding: 10px 0; }
        .header__menu ul li a {
          text-decoration: none;
          color: #232323;
          position: relative; }
          @media (max-width: 1199.99px) {
            .header__menu ul li a {
              color: #fff; } }
          .header__menu ul li a::before {
            content: " ";
            display: block;
            width: 0;
            height: 2px;
            background-color: #232323;
            position: absolute;
            left: 0;
            bottom: -5px;
            transition: width 0.35s; }
          .header__menu ul li a:hover::before {
            width: 100%; }
        .header__menu ul li .sub-menu {
          display: block;
          width: 200px;
          position: absolute;
          bottom: 0;
          left: 0;
          transform: translateY(100%);
          opacity: 0;
          padding: 10px 20px;
          background-color: #fff;
          border: 1px solid #E22C2F;
          border-radius: 4px;
          visibility: hidden;
          transition: opacity 0.35s; }
          @media (max-width: 1199.99px) {
            .header__menu ul li .sub-menu {
              opacity: 1;
              visibility: visible;
              display: none;
              transform: initial;
              position: initial;
              background-color: initial; } }
          .header__menu ul li .sub-menu::before {
            content: " ";
            display: block;
            position: absolute;
            top: -8px;
            left: 14px;
            height: 0;
            width: 0;
            border-color: transparent transparent #ee4044;
            border-style: solid;
            border-width: 0 4px 8px; }
            @media (max-width: 1199.99px) {
              .header__menu ul li .sub-menu::before {
                display: none; } }
        @media (min-width: 992px) {
          .header__menu ul li:hover .sub-menu {
            visibility: visible;
            opacity: 1; } }
      .header__menu ul.menu > li {
        position: relative; }
        .header__menu ul.menu > li:not(:last-child) {
          margin-right: 30px; }
          @media (max-width: 991.99px) {
            .header__menu ul.menu > li:not(:last-child) {
              margin-right: initial; } }
        .header__menu ul.menu > li.menu-item-has-children > a::before {
          display: none; }
        @media (max-width: 1199.99px) {
          .header__menu ul.menu > li.menu-item-has-children {
            background-repeat: no-repeat;
            background-image: url(../img/arrow-down-white.svg);
            background-position: right 11px;
            background-size: 15px; } }
  @media (min-width: 1200px) {
    .header a.header__cta {
      display: none; } }
  @media (max-width: 767.99px) {
    .header a.header__cta {
      padding: 10px 15px; } }
  .header__search-wrapper {
    display: flex;
    align-items: center; }
    @media (max-width: 991.99px) {
      .header__search-wrapper {
        margin: 50px 0 0 0; } }
    .header__search-wrapper form {
      max-width: 100%; }
  .header #header__search {
    width: 300px;
    height: 44px;
    padding: 0 15px 0 44px;
    background-repeat: no-repeat;
    background-position: 12px center;
    background-image: url("../img/search-black.svg");
    background-size: 20px;
    border: 2px solid #000;
    margin-left: 50px;
    font-weight: 500;
    color: #000;
    font-size: 16px; }
    @media (max-width: 1199.99px) {
      .header #header__search {
        margin-left: initial;
        max-width: 100%; } }
    .header #header__search::-webkit-search-decoration, .header #header__search::-webkit-search-cancel-button, .header #header__search::-webkit-search-results-button, .header #header__search::-webkit-search-results-decoration {
      -webkit-appearance: none; }
    .header #header__search::placeholder {
      color: #000; }
    .header #header__search:focus {
      outline: none; }
  .header__search-submit {
    display: none; }

.footer {
  background-color: #1c1c1c;
  color: #fff;
  padding: 150px 0 25px; }
  .footer__cta {
    margin-top: 100px;
    display: flex;
    justify-content: center; }
    .footer__cta > * {
      margin: 0 10px; }
  .footer__awards {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    margin-top: 45px; }
  .footer__award {
    padding: 0 15px;
    margin: 15px 0; }
    .footer__award img {
      max-height: 100px;
      max-width: 200px; }
  .footer__content a {
    color: #fff;
    text-decoration: none;
    transition: opacity 0.35s; }
    .footer__content a:hover {
      opacity: 0.5; }
  .footer__bottom {
    margin-top: 85px;
    font-size: 16px;
    text-align: right; }
    @media (max-width: 767.99px) {
      .footer__bottom > * {
        display: block;
        text-align: center;
        margin: 5px 0; } }
    .footer__bottom a {
      color: #fff;
      text-decoration: none;
      text-transform: uppercase;
      margin-left: 25px;
      transition: opacity 0.35s;
      font-family: "franklin-gothic-urw-comp", Arial, sans-serif;
      letter-spacing: 1px; }
      @media (max-width: 767.99px) {
        .footer__bottom a {
          margin-left: initial; } }
      .footer__bottom a:hover {
        opacity: 0.5; }
      .footer__bottom a#toTop svg {
        max-width: 13px;
        max-height: 13px; }
  .footer__copyright {
    color: rgba(255, 255, 255, 0.5); }

.menu-btn {
  width: 17px;
  height: 16px;
  display: none;
  align-items: center;
  justify-content: flex-end;
  cursor: pointer; }
  @media (max-width: 1199.99px) {
    .menu-btn {
      display: inline-flex; } }
  .menu-btn.active span {
    background-color: transparent; }
    .menu-btn.active span::before, .menu-btn.active span::after {
      top: 0; }
    .menu-btn.active span::before {
      transform: rotate(45deg); }
    .menu-btn.active span::after {
      transform: rotate(-45deg); }
  .menu-btn span {
    display: block;
    width: 100%;
    height: 2px;
    background-color: #232323;
    position: relative;
    z-index: 1;
    left: 0;
    transition: background-color 0.35s; }
    .menu-btn span::before {
      top: -7px; }
    .menu-btn span::before, .menu-btn span::after {
      content: " ";
      display: block;
      width: 100%;
      height: 100%;
      position: absolute;
      right: 0;
      background-color: #232323;
      transition: transform 0.35s; }
    .menu-btn span::after {
      bottom: -7px; }

.btn {
  text-transform: uppercase;
  font-size: 20px;
  line-height: 1;
  min-width: 155px;
  padding: 15px 25px;
  text-align: center;
  transition: color 0.35s;
  text-decoration: none;
  font-family: "franklin-gothic-urw", Arial, sans-serif;
  font-weight: 700;
  letter-spacing: 2px; }
  @media (max-width: 767.99px) {
    .btn {
      font-size: 16px;
      min-width: initial; } }
  .btn--border {
    border: 2px solid #232323;
    color: #232323;
    transition: border-color 0.35s, color 0.35s; }
    .btn--border:hover {
      border-color: #E22C2F;
      color: #E22C2F; }
    .btn--border--red {
      border-color: #E22C2F;
      color: #E22C2F;
      transition: border-color 0.35s, color 0.35s, background-color 0.35s; }
      .btn--border--red:hover {
        color: #fff;
        background-color: #868e95;
        border-color: #868e95; }
  .btn--red, .btn--black, .btn--white {
    transition: color 0.35s, background-color 0.35s; }
  .btn--red {
    background-color: #E22C2F;
    color: #fff; }
    .btn--red:hover {
      background-color: #dec667;
      color: #fff; }
    .btn--red--hover-border {
      border: 2px solid #E22C2F; }
      .btn--red--hover-border:hover {
        background-color: #fff;
        color: #E22C2F; }
  .btn--black {
    background-color: #232323;
    color: #fff; }
    .btn--black:hover {
      background-color: #E22C2F;
      color: #fff; }
  .btn--white {
    background-color: #fff;
    color: #232323; }
    .btn--white:hover {
      background-color: #000;
      color: #fff; }
  .btn--mw250 {
    min-width: 250px;
    padding: 24px 34px; }
  .btn--mw200 {
    min-width: 135px;
    padding: 14px 14px;
♥	font-size: 14px; }	
  .btn--fullwidth {
    display: block; }

.footer {
  background-color: #1c1c1c;
  color: #fff;
  padding: 150px 0 25px; }
  .footer__cta {
    margin-top: 100px;
    display: flex;
    justify-content: center; }
    .footer__cta > * {
      margin: 0 10px; }
  .footer__awards {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    margin-top: 45px; }
  .footer__award {
    padding: 0 15px;
    margin: 15px 0; }
    .footer__award img {
      max-height: 100px;
      max-width: 200px; }
  .footer__content a {
    color: #fff;
    text-decoration: none;
    transition: opacity 0.35s; }
    .footer__content a:hover {
      opacity: 0.5; }
  .footer__bottom {
    margin-top: 85px;
    font-size: 16px;
    text-align: right; }
    @media (max-width: 767.99px) {
      .footer__bottom > * {
        display: block;
        text-align: center;
        margin: 5px 0; } }
    .footer__bottom a {
      color: #fff;
      text-decoration: none;
      text-transform: uppercase;
      margin-left: 25px;
      transition: opacity 0.35s;
      font-family: "franklin-gothic-urw-comp", Arial, sans-serif;
      letter-spacing: 1px; }
      @media (max-width: 767.99px) {
        .footer__bottom a {
          margin-left: initial; } }
      .footer__bottom a:hover {
        opacity: 0.5; }
      .footer__bottom a#toTop svg {
        max-width: 13px;
        max-height: 13px; }
  .footer__copyright {
    color: rgba(255, 255, 255, 0.5); }

.the_content {
  max-width: 850px;
  margin: 0 auto;
  font-size: 18px; }
  @media (max-width: 767.99px) {
    .the_content {
      max-width: initial; } }
  .the_content--fullwidth {
    max-width: initial; }
  .the_content * {
    margin-bottom: 25px; }
    .the_content * > a {
      margin: initial; }
  .the_content-date {
    font-size: 18px;
    font-weight: 700; }
  .the_content pre {
    background-color: #ebeced;
    border: 1px solid #e1e3e5;
    border-radius: 5px;
    padding: 15px; }
  .the_content a {
    color: #232323;
    border-bottom: 1px solid #232323;
    text-decoration: none; }
    .the_content a.btn--red {
      border-bottom: none;
      color: #fff; }
      .the_content a.btn--red:hover {
        color: #fff; }
    .the_content a:hover {
      color: #E22C2F; }
  .the_content h1, .the_content h2, .the_content h3, .the_content h4, .the_content h5, .the_content h6 {
    text-transform: uppercase; }
  .the_content ul {
    list-style: initial;
    padding-left: 20px; }
    .the_content ul li {
      margin-bottom: 25px; }
    .the_content ul ul {
      list-style: circle; }
	.the_content ul li ul li {
      margin-bottom: 0px; }
  .the_content blockquote {
    margin: 30px 0;
    border-left: 8px solid #e1e3e5;
    padding: 15px 0 15px 15px; }
  .the_content .about_gilbert {
    position: relative; }
    .the_content .about_gilbert::before {
      content: "***********";
      font-weight: 700;
      display: block;
      text-align: center;
      margin: 100px 0 20px; }
      @media (max-width: 767.99px) {
        .the_content .about_gilbert::before {
          margin: 40px 0 20px; } }

.hero.safari-height-fix {
  display: flex; }

.hero__slider-outer {
  width: 100%;
  position: relative; }
			  
  .hero__slider-outer.small {
    min-height: 45vh; }
	 
    .hero__slider-outer.small .hero__slide-content {
      max-width: initial; }
  .hero__slider-outer.medium {
    min-height: 65vh; }
	 
    @media (max-width: 767.99px) {
      .hero__slider-outer.medium {
        min-height: 462px; } }
  .hero__slider-outer.large {
    min-height: 80vh; }
    @media (max-width: 767.99px) {
      .hero__slider-outer.large {
        min-height: 616px; } }

.hero__controls {
  position: absolute;
  z-index: 1;
  bottom: 55px;
  right: 100px;
  color: #fff;
  font-size: 14px;
  font-family: "franklin-gothic-urw-comp", Arial, sans-serif;
  letter-spacing: 1px;
  font-family: "franklin-gothic-urw", Arial, sans-serif;
  font-weight: 700; }
  @media (max-width: 991.99px) {
    .hero__controls {
      left: 50%;
      right: initial;
      bottom: 15px;
      transform: translateX(-50%); } }
  .hero__controls #hero__slider-prev,
  .hero__controls #hero__slider-next {
    transition: color 0.35s;
    cursor: pointer; }
    .hero__controls #hero__slider-prev:hover,
    .hero__controls #hero__slider-next:hover {
      color: #E22C2F; }
      .hero__controls #hero__slider-prev:hover svg,
      .hero__controls #hero__slider-next:hover svg {
        fill: #E22C2F; }
  .hero__controls svg {
    max-width: 14px;
    max-height: 14px;
    fill: #fff;
    transition: fill 0.35s;
    position: relative;
    top: -2px; }
  .hero__controls-separator {
    display: inline-block;
    margin: 0 10px; }

.hero__video-icon {
  display: inline-block;
  background-image: url(../img/shape-label-red.svg);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  width: 55px;
  height: 40px;
  font-family: "franklin-gothic-urw-comp", Arial, sans-serif;
  font-size: 12px;
  letter-spacing: 1px;
  text-transform: uppercase;
  padding-right: 15px;
  line-height: 1.5;
  margin: 0;
  color: #fff;
  text-align: center;
  position: absolute;
  z-index: 3;
  top: 69%;
  left: 50%; }

.hero__video {
  position: absolute;
  z-index: 3;
  top: 80%;
  left: 50%;
  transform: translate(-50%, -50%);
  opacity: 0.75;
  transition: opacity 0.35s; }
  .hero__video svg {
    max-width: 80px;
    max-height: 80px;
    fill: #fff;
    transition: fill 0.35s; }
  .hero__video:hover {
    opacity: 1; }
    .hero__video:hover svg {
      fill: rgba(35, 35, 35, 0.9); }

.hero__slider {
  height: 100%; }
  .hero__slider.contain-slides {
    opacity: 0;
    transition: opacity 0.35s; }
    .hero__slider.contain-slides.slick-initialized {
      opacity: 1; }
  .hero__slider .slick-list {
    height: 100%; }
    .hero__slider .slick-list .slick-track {
      height: 100%;
      display: flex; }
												 
				   
	
												  
					 
	
												 
					 
	

.hero__slide-container {
  margin: 0 135px;
  width: 100%; }
								
				  
				
				   
  
								 
				  
				
				   
  
								
				  
				
				   
  
  @media (max-width: 991.99px) {
    .hero__slide-container {
      margin: 0 70px; } }
  @media (max-width: 767.99px) {
    .hero__slide-container {
      margin: 0 25px; } }
  @media (max-width: 575.99px) {
    .hero__slide-container {
      margin: 0 10px; } }

.hero__slide {
  height: 100%;
  position: relative;
  z-index: 2;
  padding: 50px 0;
  display: flex !important; }
  @media (max-width: 991.99px) {
    .hero__slide {
      display: block; } }
  .hero__slide.slick-slide {
    height: auto; }
  .hero__slide:focus {
    outline: none; }
  .hero__slide.top {
    align-items: flex-start; }
  .hero__slide.middle {
    align-items: center; }
  .hero__slide.bottom {
    align-items: flex-end; }
  .hero__slide .hero__slide-image {
    position: absolute;
    z-index: -2;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0; }
    .hero__slide .hero__slide-image-inner {
      width: 100%;
      height: 100%;
      position: absolute;
      top: 0;
      left: 0; }
    .hero__slide .hero__slide-image img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center top; }
  .hero__slide-content {
    max-width: 700px; }
    .hero__slide-content.left {
      text-align: left; }
    .hero__slide-content.center {
      text-align: center; }
    .hero__slide-content.right {
      text-align: right; }
    .hero__slide-content h2 {
      margin-bottom: 27px; }
      @media (max-width: 767.99px) {
        .hero__slide-content h2 {
          margin-bottom: 24px; } }
    .hero__slide-content .btn {
      margin-top: 40px; }
      @media (max-width: 767.99px) {
        .hero__slide-content .btn {
          margin-top: 20px; } }
    .hero__slide-content-icon-outer.left {
      text-align: left; }
    .hero__slide-content-icon-outer.center {
      text-align: center; }
    .hero__slide-content-icon-outer.right {
      text-align: right; }
    .hero__slide-content-icon {
      display: inline-block;
      min-width: 115px;
      padding: 3px 5px;
      text-align: center;
      background-color: #E22C2F;
      color: #fff;
      margin-bottom: 30px;
      font-size: 12px;
      line-height: 1;
      font-weight: 700;
      letter-spacing: 1px;
      text-transform: uppercase; }
      .hero__slide-content-icon.red {
        background-color: #E22C2F; }
      .hero__slide-content-icon.black {
        background-color: #232323; }
      .hero__slide-content-icon.white {
        background-color: #000;
        color: #232323; }
    .hero__slide-content-title.red, .hero__slide-content-subtitle.red {
      color: #E22C2F; }
    .hero__slide-content-title.black, .hero__slide-content-subtitle.black {
      color: #000; }
    .hero__slide-content-title.white, .hero__slide-content-subtitle.white {
      color: #fff; }
    .hero__slide-content-title {
      font-size: 62px;
      text-transform: uppercase;
      line-height: 1;
      font-family: "franklin-gothic-urw-cond", Arial, sans-serif; }
      .hero__slide-content-title.white {
        color: #fff; }
      .hero__slide-content-title.red {
        color: #E22C2F; }
      .hero__slide-content-title.black {
        color: #000; }
      .hero__slide-content-title.normal {
        font-style: normal; }
      .hero__slide-content-title.italic {
        font-style: italic; }
	  .hero__slide-content-title.large {
        font-size: 62px; }
      .hero__slide-content-title.small {
        font-size: 45px; }		
      @media (max-width: 767.99px) {
        .hero__slide-content-title {
          font-size: 37px; } }
    .hero__slide-content-subtitle {
      font-size: 22px; }
      .hero__slide-content-subtitle.white {
        color: #fff; }
      .hero__slide-content-subtitle.red {
        color: #E22C2F; }
      .hero__slide-content-subtitle.black {
        color: #000; }
      .hero__slide-content-subtitle.normal {
        font-style: normal; }
      .hero__slide-content-subtitle.italic {
        font-style: italic; }
	  .hero__slide-content-subtitle.large {
        font-size: 22px; }
      .hero__slide-content-subtitle.small {
        font-size: 16px; }	
    .hero__slide-content.alert-enabled {
      max-width: 50%; }
      @media (max-width: 1199.99px) {
        .hero__slide-content.alert-enabled {
          max-width: 400px; } }
      @media (max-width: 991.99px) {
        .hero__slide-content.alert-enabled {
          max-width: initial; } }
    .hero__slide-content.fullwidth {
      max-width: initial; }

.hero__alert {
  font-size: 16px;
  margin: 0;
  position: absolute;
  z-index: 1;
  right: 0;
  top: 0;
  max-width: 570px;
  padding: 15px 25px; }
  @media (max-width: 1199.99px) {
    .hero__alert {
      max-width: 400px; } }
  @media (max-width: 991.99px) {
    .hero__alert {
      max-width: initial; } }
  .hero__alert p:last-child {
    margin: 0; }
  .hero__alert > .white {
    color: #fff; }
  .hero__alert > .red {
    color: #E22C2F; }
  .hero__alert > .black {
    color: #000; }
  .hero__alert .overlay {
    position: absolute;
    z-index: -1;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-width: 4px;
    border-style: solid;
    border-top: none; }
  .hero__alert--large {
    max-width: initial;
    width: 100%;
    text-align: center; }

.hero__news-ticker {
  text-align: center;
  padding: 10px 15px; }
  .hero__news-ticker .slick-track {
    display: flex;
    align-items: center; }
  .hero__news-ticker a {
    text-decoration: none;
    font-size: 18px;
    line-height: 1; }

.content {
  padding: 80px 0 40px;
  background-color: #fff; }
  @media (max-width: 767.99px) {
    .content {
      padding: 40px 0; } }
  .content--no-bottom-padding {
    padding-bottom: 0; }
  .content p {
    margin-bottom: 25px; }
  .content__row {
    display: flex; }
    @media (max-width: 767.99px) {
      .content__row {
        display: block; } }
    .content__row .the_content {
      width: 100%;
      max-width: 750px;
      margin-right: 50px; }
      @media (max-width: 767.99px) {
        .content__row .the_content {
          max-width: initial;
          margin-right: initial; } }

.accordion {
  padding: 50px 0;
  background-color: #fff;
  width: 100%;
  max-width: 850px;
  margin: 0 auto; }
  .accordion__item {
    margin-bottom: 35px; }
    .accordion__item.active .accordion__item-title {
      border-radius: 5px 5px 0 0;
      border-color: #495057; }
      .accordion__item.active .accordion__item-title::after {
        transform: translateY(-50%) rotate(45deg); }
    .accordion__item-title {
      font-size: 21px;
      position: relative;
      color: #E22C2F;
      padding: 20px 40px 20px 24px;
      cursor: pointer;
      border: 2px solid #f1f3f5;
      border-radius: 5px;
      transition: border-color 0.35s, border-radius 0.35s;
      font-weight: 700; }
      .accordion__item-title::after {
        content: "+";
        position: absolute;
        right: 15px;
        top: 50%;
        transform: translateY(-50%);
        transition: transform 0.35s;
        font-size: 30px; }
      .accordion__item-title:hover {
        border-color: #495057; }
    .accordion__item-content-outer {
      display: none; }
    .accordion__item-content {
      padding: 50px; }
      .accordion__item-content:not(:last-child) {
        border-bottom: 1px solid #232323; }
      @media (max-width: 767.99px) {
        .accordion__item-content {
          padding: 25px; } }
      .accordion__item-content-label {
        display: inline-block;
        background-color: #E22C2F;
        padding: 3px 4px;
        text-transform: uppercase;
        color: #fff;
        font-size: 10px;
        line-height: 1;
        margin: initial;
        letter-spacing: 1px; }
      .accordion__item-content-title {
        margin: 10px 0;
        font-size: 34px;
        line-height: 1;
        text-transform: uppercase;
        font-family: "franklin-gothic-urw-cond", Arial, sans-serif; }
      .accordion__item-content-text {
        font-size: 18px;
        margin: initial;
        color: #495057; }

.posts {
  padding: 80px 0 100px;
  background-color: #fff; }
  @media (max-width: 767.99px) {
    .posts {
      padding: 40px 0 40px; } }
  .posts.no-padding {
    padding: 0; }
  .posts__inner {
    max-width: 850px;
    margin: 0 auto;
    padding-top: 80px; }
    @media (max-width: 767.99px) {
      .posts__inner {
        padding-top: 40px; } }
  .posts__title {
    color: #fff;
    background-color: #232323;
    font-style: italic;
    padding: 60px 0; }
  .posts__row {
    display: flex; }
    @media (max-width: 767.99px) {
      .posts__row {
        flex-direction: column-reverse; } }
    .posts__row > .sidebar-exist {
      max-width: 850px; }
  .posts__item {
    padding: 40px;
    margin-bottom: 40px;
    border: 1px solid #E22C2F; }
    @media (max-width: 767.99px) {
      .posts__item {
        padding: 20px; } }
    .posts__item-date {
      font-size: 12px;
      margin-bottom: 15px; }
    .posts__item-title {
		font-weight:700;
      margin-bottom: 10px;
      text-transform: uppercase; }
    .posts__item-excerpt {
      font-size: 18px;
      margin-bottom: 0; }
      @media (max-width: 767.99px) {
        .posts__item-excerpt {
          font-size: 16px; } }
    .posts__item a {
      text-decoration: none;
      color: #232323; }
      .posts__item a:hover {
        color: #E22C2F; }
  .posts__category {
    padding-top: 50px;
    padding: 50px 0; }
    @media (max-width: 767.99px) {
      .posts__category {
        padding: 30px 0; } }
    .posts__category:not(:last-child) {
      border-bottom: 3px solid #000; }
      @media (max-width: 767.99px) {
        .posts__category:not(:last-child) {
          border-bottom-width: 2px; } }
    .posts__category .posts__item:last-child {
      margin-bottom: 0; }
    .posts__category-title {
      text-transform: uppercase;
      font-size: 48px;
      line-height: 1.2;
      color: #000;
      margin-bottom: 24px; }
      @media (max-width: 767.99px) {
        .posts__category-title {
          margin-bottom: 15px;
          font-size: 35px; } }

.latest {
  padding: 80px 0;
  background-color: #fff; }
  @media (max-width: 767.99px) {
    .latest {
      padding: 40px 0; } }
  .latest__title {
    font-size: 48px;
    margin-bottom: 50px; }
    @media (max-width: 767.99px) {
      .latest__title {
        font-size: 42px;
        margin-bottom: 30px; } }
  .latest__row {
    display: flex; }
    @media (max-width: 767.99px) {
      .latest__row {
        flex-wrap: wrap; } }
  .latest__item {
    width: calc(33.33% - 60px);
    position: relative; }
    @media (max-width: 991.99px) {
      .latest__item {
        width: calc(33.33% - 30px); } }
    @media (max-width: 767.99px) {
      .latest__item {
        width: 100%; } }
    .latest__item::before {
      content: " ";
      display: block;
      height: 95px;
      width: 1px;
      position: absolute;
      top: 40px;
      left: -45px;
      transform: rotate(20deg);
      background-color: #232323; }
      @media (max-width: 991.99px) {
        .latest__item::before {
          left: -20px;
          transform: rotate(15deg); } }
      @media (max-width: 767.99px) {
        .latest__item::before {
          display: none; } }
    .latest__item:first-child::before {
      display: none; }
    .latest__item:not(:last-child) {
      margin-right: 90px; }
      @media (max-width: 991.99px) {
        .latest__item:not(:last-child) {
          margin-right: 45px; } }
      @media (max-width: 767.99px) {
        .latest__item:not(:last-child) {
          margin: 0 0 20px; } }
    .latest__item a {
      display: block;
      text-decoration: none;
      color: #232323; }
      .latest__item a:hover {
        color: #E22C2F; }
        .latest__item a:hover .latest__item-type {
          background-color: #232323; }
    .latest__item-type {
      text-transform: uppercase;
      background-color: #E22C2F;
      margin-bottom: 8px;
      padding: 3px 4px;
      font-size: 12px;
      line-height: 1;
      letter-spacing: 2px;
      color: #fff;
      display: inline-block;
      transition: background-color 0.35s;
      font-family: "franklin-gothic-urw-comp", Arial, sans-serif; }
    .latest__item-date {
      font-size: 12px;
      margin-bottom: 15px; }
    .latest__item-title {
      font-size: 24px; }
  .latest__cta {
    margin-top: 30px;
    position: relative;
    left: 50%;
    transform: translateX(-50%); }

.single .latest__item:first-child::before {
  display: none; }

.not-found {
  padding: 80px 0 100px;
  background-color: #fff; }
  @media (max-width: 767.99px) {
    .not-found {
      padding: 40px 0; } }

.people__group {
  margin: 50px auto; }
  @media (max-width: 767.99px) {
    .people__group {
      margin: 30px 0; } }
  .people__group-title {
    margin-bottom: 30px; }

.people__row {
  display: flex;
  flex-wrap: wrap; }

.people__item {
  width: calc(25% - 15px);
  margin: 0 15px 50px 0;
  font-size: 16px;
  padding: 0 5px 5px; }
  @media (max-width: 991.99px) {
    .people__item {
      width: calc(33.33% - 10px); } }
  @media (max-width: 767.99px) {
    .people__item {
      width: calc(50% - 8px); } }
  @media (max-width: 575.99px) {
    .people__item {
      width: 100%;
      margin: 0 0 20px 0; } }
  @media (max-width: 767.99px) {
    .people__item:nth-child(2n) {
      margin-right: initial; } }
  @media (max-width: 991.99px) {
    .people__item:nth-child(3n) {
      margin-right: initial; } }
  @media (max-width: 767.99px) {
    .people__item:nth-child(3n) {
      margin-right: 15px; } }
  @media (min-width: 992px) {
    .people__item:nth-child(4n) {
      margin-right: initial; } }
  .people__item-link {
    text-decoration: none;
    color: inherit;
    display: block;
    position: relative; }
    .people__item-link::after {
      content: " ";
      display: block;
      width: 100%;
      height: 100%;
      position: absolute;
      left: 0;
      top: 0;
      opacity: 0;
      background-color: rgba(35, 35, 35, 0.2);
      transition: opacity 0.35s; }
    .people__item-link:hover {
      color: inherit; }
      .people__item-link:hover::after {
        opacity: 1; }
  .people__item p {
    margin-bottom: initial; }
  .people__item-image {
    height: 310px;
    overflow: hidden;
    margin-bottom: 25px; }
    @media (max-width: 575.99px) {
      .people__item-image {
        height: initial; } }
    .people__item-image img {
      width: 100%;
      height: 100%;
      object-fit: cover; }
      @media (max-width: 575.99px) {
        .people__item-image img {
          object-fit: initial; } }
  .people__item-name {
    font-size: 26px;
    line-height: 1;
    color: #323B41;
    font-family: "franklin-gothic-urw-comp", Arial, sans-serif; }
  .people__item p.people__item-type {
    font-size: 20px;
    line-height: 1.4;
    margin: 5px 0 10px; }
  .people__item-phone, .people__item-email {
    line-height: 1.4; }

.related {
  padding: 40px 0 50px;
  background-color: #f8f9fa; }
  @media (max-width: 767.99px) {
    .related {
      padding: 40px 0; } }
  .related__block {
    max-width: 725px;
    margin: 0 auto; }
  .related__row {
    display: flex; }
    @media (max-width: 767.99px) {
      .related__row {
        display: block; } }
    @media (min-width: 768px) {
      .related__row .related__block {
        max-width: 725px;
        margin-right: 75px; } }
  .related__title {
    margin-bottom: 40px; }
    @media (max-width: 767.99px) {
      .related__title {
        margin-bottom: 25px; } }
  .related__item {
    position: relative; }
    .related__item::after {
      content: '. . .';
      text-align: center;
      display: block;
      transition: opacity 0.35s; }
    .related__item:not(:last-child) {
      border-bottom: 1px solid #232323;
      margin-bottom: 40px;
      padding-bottom: 40px; }
    .related__item.active::after {
      opacity: 0; }
    .related__item-type {
      display: inline-block;
      font-size: 11px;
      line-height: 17px;
      background-color: #E22C2F;
      color: #fff;
      padding: 0 11px;
      text-transform: uppercase;
      font-weight: 500;
      margin-bottom: initial; }
    .related__item-title {
      line-height: 1.05;
      text-transform: uppercase;
      margin: 20px 0 5px;
      cursor: pointer;
      transition: color 0.35s; }
      .related__item-title:hover {
        color: #E22C2F; }
    .related__item-content {
      font-size: 18px;
      max-height: 90px;
      transition: max-height 0.35s;
      overflow: hidden; }
      .related__item-content p {
        margin-bottom: 18px; }

.sidebar {
  width: 320px;
  margin-left: auto;
  padding: 0 15px; }
  @media (max-width: 767.99px) {
    .sidebar {
      margin-top: 50px;
      width: initial;
      margin-left: initial;
      padding: initial; } }
  .sidebar__title {
    font-size: 21px;
    margin-bottom: 30px;
    padding-bottom: 10px;
    border-bottom: 1px solid #868e95; }
  .sidebar__item {
    margin-bottom: 50px; }
    @media (max-width: 767.99px) {
      .sidebar__item {
        margin-bottom: 30px; } }
    .sidebar__item a {
      color: inherit;
      text-decoration: none; }
      .sidebar__item a.btn--red {
        color: #fff; }
        .sidebar__item a.btn--red:hover {
          color: #fff; }
      .sidebar__item a.btn--black {
        color: #fff; }
        .sidebar__item a.btn--black:hover {
          color: #fff; }
      .sidebar__item a:hover {
        color: #E22C2F; }
    .sidebar__item-title {
      font-weight: 700;
	  font-size: 24px;
      text-transform: uppercase;
      font-family: "franklin-gothic-urw-comp", Arial, sans-serif;
      line-height: 1.3;
      padding-bottom: 10px;
      margin-bottom: 27px;
      border-bottom: 2px solid #dee2e6;
      letter-spacing: 1px; }
    .sidebar__item-content {
      font-size: 18px;
      margin-bottom: 0; }
    .sidebar__item-links {
      font-size: 24px;
      font-family: "franklin-gothic-urw-cond", Arial, sans-serif;
      letter-spacing: 1px;
      margin-bottom: 30px; }
      .sidebar__item-links li:not(:last-child) {
        margin-bottom: 15px; }
      .sidebar__item-links li a {
        color: inherit;
        text-decoration: none;
        line-height: 1.2; }
        .sidebar__item-links li a:hover {
          color: #E22C2F; }
    .sidebar__item a.sidebar__item-link {
      margin-top: 30px;
      color: #E22C2F; }
      @media (max-width: 767.99px) {
        .sidebar__item a.sidebar__item-link {
          margin-top: 15px;
          display: block; } }
      .sidebar__item a.sidebar__item-link:hover {
        color: #fff; }
    .sidebar__item p.sidebar__item-name {
      font-family: "franklin-gothic-urw-comp", Arial, sans-serif;
      font-size: 24px;
      margin-bottom: 0; }
      @media (max-width: 767.99px) {
        .sidebar__item p.sidebar__item-name {
          font-size: 21px; } }
    .sidebar__item p.sidebar__item-position {
      font-size: 16px;
      color: #868e95;
      font-family: "franklin-gothic-urw-comp", Arial, sans-serif;
      margin-bottom: 0; }
      .sidebar__item p.sidebar__item-position span {
        position: relative; }
        .sidebar__item p.sidebar__item-position span::after {
          content: "";
          display: block;
          width: 25px;
          height: 1px;
          background-color: #E22C2F;
          position: absolute;
          right: -5px;
          bottom: 8px;
          transform: translateX(100%); }
    .sidebar__item p.sidebar__item-specialty {
      font-size: 13px;
      font-family: "franklin-gothic-urw-comp", Arial, sans-serif;
      margin-bottom: 0; }
    .sidebar__item-image {
      margin-top: 10px; }
    .sidebar__item-contacts {
      margin-top: 10px;
      font-size: 14px; }
  .sidebar__categories {
    padding-top: 50px; }
    @media (max-width: 767.99px) {
      .sidebar__categories {
        padding-top: initial; } }
    .sidebar__categories-title {
      font-size: 32px;
      line-height: 1.2;
      font-family: "franklin-gothic-urw-comp", Arial, sans-serif;
      color: #E22C2F;
      text-transform: uppercase;
      margin-bottom: 40px; }
    .sidebar__categories-list {
      color: #000; }
      .sidebar__categories-list li {
        margin-bottom: 12px; }
        .sidebar__categories-list li a {
          color: inherit;
          text-decoration: none;
          font-size: 18px;
          line-height: 1.3;
          padding-left: 26px;
          position: relative; }
          .sidebar__categories-list li a::before {
            content: " ";
            display: block;
            width: 0;
            height: 0;
            border-style: solid;
            border-width: 0 0 16px 16px;
            border-color: transparent transparent #E22C2F transparent;
            position: absolute;
            left: 0;
            top: 2px; }
          .sidebar__categories-list li a:hover {
            color: #E22C2F; }

.person {
  padding-bottom: 100px;
  background-color: #fff; }
  @media (max-width: 767.99px) {
    .person {
      padding-bottom: 40px; } }
  .person__header {
    margin-bottom: 50px;
    position: relative;
    z-index: 1; }
    @media (max-width: 767.99px) {
      .person__header {
        margin-bottom: 30px; } }
    .person__header::before {
      content: " ";
      display: block;
      width: 100%;
      height: calc(100% - 120px);
      background-color: #f1f3f5;
      position: absolute;
      z-index: -1;
      top: 0;
      left: 0; }
    .person__header-row {
      display: flex;
      align-items: flex-end;
      padding: 75px 50px 0; }
      @media (max-width: 991.99px) {
        .person__header-row {
          padding: initial;
          text-align: center;
          display: block; } }
      @media (max-width: 767.99px) {
        .person__header-row {
          padding: 40px 0 0; } }
  .person__image {
    max-width: 325px;
    margin-right: 100px; }
    @media (max-width: 991.99px) {
      .person__image {
        margin: 0 auto 15px; } }
    @media (max-width: 767.99px) {
      .person__image img {
        max-height: 350px;
        object-fit: contain; } }
  .person__description {
    font-family: "franklin-gothic-urw-cond", Arial, sans-serif;
    font-size: 48px;
    line-height: 1; }
    @media (max-width: 767.99px) {
      .person__description {
        font-size: 30px; } }
    .person__description .name {
      position: relative; }
      .person__description .name::after {
        content: " ";
        display: block;
        height: 1px;
        width: 60px;
        position: absolute;
        top: 50%;
        right: 0;
        transform: translate(calc(100% + 10px), -50%);
        background-color: #E22C2F; }
    .person__description .type {
      display: block;
      font-size: 38px;
      line-height: 1;
      font-family: "franklin-gothic-urw", Arial, sans-serif;
      margin-top: 15px; }
      @media (max-width: 767.99px) {
        .person__description .type {
          font-size: 23px;
          margin-top: 5px; } }
  .person__row {
    display: flex; }
    @media (max-width: 767.99px) {
      .person__row {
        display: block; } }
  .person__contact {
    min-width: 250px;
    font-size: 24px;
    font-family: "franklin-gothic-urw-comp", Arial, sans-serif;
    letter-spacing: 1px;
    margin-left: 50px; }
    @media (max-width: 767.99px) {
      .person__contact {
        margin: 30px 0 0 0; } }
    .person__contact-item:not(:last-child) {
      margin-bottom: 80px; }
      @media (max-width: 767.99px) {
        .person__contact-item:not(:last-child) {
          margin-bottom: 50px; } }
    .person__contact-title {
      text-transform: uppercase;
      padding-bottom: 10px;
      border-bottom: 1px solid #868e95;
      margin-bottom: 30px; }
      @media (max-width: 767.99px) {
        .person__contact-title {
          margin-bottom: 20px; } }
    .person__contact-links li:not(:last-child) {
      margin-bottom: 15px; }
    .person__contact-links li a {
      color: inherit;
      text-decoration: none;
      line-height: 1.2; }
      .person__contact-links li a:hover {
        color: #E22C2F; }
  .person .the_content {
    max-width: 100%; }

.post__header {
  min-height: 195px;
  color: #fff;
  background-color: #000;
  display: flex;
  align-items: center;
  justify-content: center; }

.post__title {
  width: 100%;
  font-size: 62px;
  line-height: 1;
  padding: 30px 0;
  margin: 0;
  display: flex;
  align-items: center;
  font-style: italic;
  text-transform: uppercase;
  text-align: center;
  font-family: "franklin-gothic-urw-cond", Arial, sans-serif;
  letter-spacing: 1px; }
  @media (max-width: 767.99px) {
    .post__title {
      font-size: 48px; } }

.post__subtitle {
  font-size: 18px;
  line-height: 25px;
  color: #a4a4a4;
  text-align: center; }

.post-icon-outer.left {
  text-align: left; }

.post-icon-outer.center {
  text-align: center; }

.post-icon-outer.right {
  text-align: right; }

.post-icon {
  display: inline-block;
  min-width: 115px;
  padding: 3px 5px;
  text-align: center;
  background-color: #E22C2F;
  color: #fff;
  margin-top: 30px;
  font-size: 12px;
  line-height: 1;
  font-weight: 700;
  letter-spacing: 1px; }
  .post-icon.red {
    background-color: #E22C2F; }
  .post-icon.black {
    background-color: #232323; }
  .post-icon.white {
    background-color: #fff;
    color: #232323; }

.homepage_quote {
	text-align: center;
	font-size: 20px;
	font-weight: 500;
	padding-top: 0px;
	padding-bottom: 20px;
}
.homepage_quote__rowbottom {
	margin: auto;
	border-top: 2px solid #ee4044;
	width: 35.3%;
	padding-bottom: 40px;
	}

.gilbert-edge {
  background-color: #fff;
  padding: 200px 0 0px;
  position: relative; }
  @media (max-width: 767.99px) {
    .gilbert-edge {
      padding: 255px 0 40px; } }
  .gilbert-edge::before {
    content: " ";
    display: block;
    height: 40px;
    width: 100%;
    background-color: #E22C2F;
    position: absolute;
    left: 0;
    top: 0; }
    @media (max-width: 767.99px) {
      .gilbert-edge::before {
        height: 20px; } }
  .gilbert-edge::after {
    content: " ";
    display: block;
    width: 2px;
    height: 160px;
    background-color: #E22C2F;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: 0; }
    @media (max-width: 767.99px) {
      .gilbert-edge::after {
        height: 80px; } }
  @media (max-width: 767.99px) {
    .gilbert-edge {
      padding: 125px 0 40px; } }
  .gilbert-edge__title, .gilbert-edge__text {
    text-align: center;
    max-width: 700px;
    margin: 0 auto; }
  .gilbert-edge__title {
    margin-bottom: 20px; }
  .gilbert-edge__text {
    margin-bottom: 40px;
    font-size: 22px; }
  .gilbert-edge__row {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    position: relative; }
   .gilbert-edge__rowbottom {
	 margin: auto;
	   border-bottom: 2px solid #ee4044;
	  width: 60%;
	}
    .gilbert-edge__row::before, .gilbert-edge__row::after {
      content: " ";
      display: block;
      width: 2px;
      height: 100%;
      background-color: #E22C2F;
      position: absolute;
      top: -160px; }
      @media (max-width: 767.99px) {
        .gilbert-edge__row::before, .gilbert-edge__row::after {
          display: none; } }
    .gilbert-edge__row::before {
      left: 0; }
    .gilbert-edge__row::after {
      right: 0; }
  .gilbert-edge__item {
    width: 320px;
    margin: 0 10px 10px;
    position: relative;
    z-index: 1;
    overflow: hidden;
    padding: 24px;
    text-decoration: none;
    color: #232323; }
    @media (max-width: 1199.99px) {
      .gilbert-edge__item {
        width: calc(33.33% - 30px); } }
    @media (max-width: 991.99px) {
      .gilbert-edge__item {
        width: calc(50% - 30px); } }
    @media (max-width: 767.99px) {
      .gilbert-edge__item {
        text-align: center; } }
    @media (max-width: 575.99px) {
      .gilbert-edge__item {
        width: 100%; } }
    .gilbert-edge__item:hover .gilbert-edge__item-back {
      transform: translateY(0); }
    .gilbert-edge__item:hover .gilbert-edge__item-icon svg {
      fill: #fff; }
    .gilbert-edge__item:hover .gilbert-edge__item-title {
      color: #fff !important; }
    .gilbert-edge__item:hover .gilbert-edge__item-text {
      color: #fff; }
    .gilbert-edge__item:hover .gilbert-edge__item-link {
      opacity: 0; }
    .gilbert-edge__item-back {
      position: absolute;
      top: 0;
      left: 0;
      z-index: -1;
      width: 100%;
      height: 100%;
      transition: transform 0.35s;
      transform: translateY(-100%); }
      .gilbert-edge__item-back::after {
        content: " ";
        display: block;
        position: absolute;
        right: 20px;
        bottom: 20px;
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 0 0 20px 20px;
        border-color: transparent transparent #eb373d transparent; }
    .gilbert-edge__item-background {
      width: 100%;
      height: 100%;
      position: relative; }
      .gilbert-edge__item-background::after {
        content: " ";
        display: block;
        width: 100%;
        height: 100%;
        position: absolute;
        left: 0;
        top: 0;
        background-color: rgba(35, 35, 35, 0.5); }
      .gilbert-edge__item-background img {
        width: 100%;
        height: 100%;
        object-fit: cover; }
    .gilbert-edge__item-icon {
      max-width: 50px;
      height: 50px;
      margin-bottom: 15px; }
      @media (max-width: 767.99px) {
        .gilbert-edge__item-icon {
          margin: 0 auto 15px; } }
      .gilbert-edge__item-icon svg {
        max-width: 100%;
        max-height: 100%;
        fill: #232323;
        transition: fill 0.35s; }
    .gilbert-edge__item-title, .gilbert-edge__item-text {
      transition: color 0.35s; }
    .gilbert-edge__item-title {
      text-transform: uppercase;
      font-size: 28px;
      margin-bottom: 10px; }
    .gilbert-edge__item-text {
      margin-bottom: 25px; }
    .gilbert-edge__item-link {
      color: #E22C2F;
      font-size: 17px;
      text-transform: uppercase;
      font-family: "franklin-gothic-urw-comp", Arial, sans-serif;
      letter-spacing: 1px;
      position: relative;
      transition: opacity 0.35s; }
      .gilbert-edge__item-link::after {
        content: " ";
        display: block;
        width: 8px;
        height: 13px;
        background-repeat: no-repeat;
        background-position: center;
        background-size: contain;
        background-image: url(../img/arrow-right-red.svg);
        position: absolute;
        top: 50%;
        right: -10px;
        transform: translate(100%, -50%); }

.video {
  max-width: 1400px;
  margin: 0 auto; }
  .video__inner {
    height: 600px;
    position: relative; }
    @media (max-width: 767.99px) {
      .video__inner {
        height: 450px; } }
    .video__inner a {
      position: absolute;
      z-index: 3;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      opacity: 0.75;
      transition: opacity 0.35s; }
      .video__inner a svg {
        max-width: 100px;
        max-height: 100px;
        fill: #fff;
        transition: fill 0.35s; }
      .video__inner a:hover {
        opacity: 1; }
        .video__inner a:hover svg {
          fill: #E22C2F; }
  .video__preview {
    height: 100%; }
    .video__preview img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center top; }
  .video__content {
    max-width: 450px;
    position: absolute;
    z-index: 1;
    text-align: right;
    right: 100px;
    top: 50%;
    transform: translateY(-50%);
    color: #fff; }
    @media (max-width: 1199.99px) {
      .video__content {
        right: 15px; } }
    @media (max-width: 991.99px) {
      .video__content {
        top: initial;
        right: initial;
        bottom: 15px;
        left: 15px;
        transform: none; } }
    .video__content-icon {
      display: inline-block;
      background-image: url(../img/shape-label-red.svg);
      background-repeat: no-repeat;
      background-size: contain;
      background-position: center;
      width: 69px;
      height: 50px;
      font-family: "franklin-gothic-urw-comp", Arial, sans-serif;
      font-size: 12px;
      letter-spacing: 1px;
      text-transform: uppercase;
      padding-right: 15px;
      line-height: 1.5;
      margin: 0; }
    .video__content-text {
      margin: 0; }
      @media (max-width: 767.99px) {
        .video__content-text {
          text-align: left; } }

.search {
  background-color: #fff; }
  .search__header {
    padding: 50px 0;
    min-height: 195px;
    color: #fff;
    background-color: #000;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1.2;
    font-family: "franklin-gothic-urw-comp", Arial, sans-serif; }
    @media (max-width: 767.99px) {
      .search__header {
        padding: 30px 0; } }
    .search__header-title {
      color: #868e95;
      font-size: 20px;
      margin-bottom: 0; }
      @media (max-width: 767.99px) {
        .search__header-title {
          font-size: 18px; } }
    .search__header-keyword {
      font-size: 64px;
      margin-bottom: 0; }
      @media (max-width: 767.99px) {
        .search__header-keyword {
          font-size: 36px; } }
  .search__inner {
    padding: 95px 0 50px;
    max-width: 850px; }
    @media (max-width: 767.99px) {
      .search__inner {
        padding: 50px 0 30px; } }
  .search__controls {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center; }
  .search__filters {
    display: flex;
    flex-wrap: wrap;
    font-size: 24px;
    line-height: 1.2;
    font-family: "franklin-gothic-urw-comp", Arial, sans-serif;
    text-transform: uppercase; }
    .search__filters li {
      margin: 0 24px 20px 0; }
      .search__filters li.active a {
        color: #E22C2F; }
        .search__filters li.active a::before {
          width: 100%;
          background-color: #E22C2F; }
      .search__filters li a {
        color: #000;
        padding: 0 8px;
        position: relative;
        text-decoration: none; }
        .search__filters li a::before {
          content: " ";
          display: block;
          width: 0;
          height: 2px;
          background-color: #000;
          position: absolute;
          left: 0;
          bottom: -5px;
          transition: width 0.35s; }
        .search__filters li a:hover::before {
          width: 100%; }
  .search__count {
    color: #868e95;
    margin-bottom: 20px; }
  .search .pagination-wrapper {
    display: block;
    text-align: right; }
    @media (max-width: 767.99px) {
      .search .pagination-wrapper {
        display: none; } }
    .search .pagination-wrapper__mobile {
      display: none;
      text-align: center; }
      @media (max-width: 767.99px) {
        .search .pagination-wrapper__mobile {
          display: block; }
          .search .pagination-wrapper__mobile .page-numbers {
            display: inline-block;
            padding: 0;
            margin: 8px 0; }
            .search .pagination-wrapper__mobile .page-numbers li {
              display: inline; }
              .search .pagination-wrapper__mobile .page-numbers li a {
                padding: 5px 10px;
                text-decoration: none;
                color: black; }
              .search .pagination-wrapper__mobile .page-numbers li a:hover:not(.active) {
                background-color: #ddd; }
            .search .pagination-wrapper__mobile .page-numbers .current {
              padding: 5px 10px;
              background-color: #eb373c;
              color: white; } }
    .search .pagination-wrapper .page-numbers {
      display: inline-block;
      padding: 0;
      margin: 8px 0; }
      .search .pagination-wrapper .page-numbers li {
        display: inline; }
        .search .pagination-wrapper .page-numbers li a {
          padding: 8px 16px;
          text-decoration: none;
          color: black; }
          @media (max-width: 767.99px) {
            .search .pagination-wrapper .page-numbers li a {
              padding: 5px 10px; } }
        .search .pagination-wrapper .page-numbers li a:hover:not(.active) {
          background-color: #ddd; }
      .search .pagination-wrapper .page-numbers .current {
        padding: 8px 16px;
        background-color: #eb373c;
        color: white; }
  .search #people_order {
    width: 150px; }
  .search .select2-selection__rendered {
    line-height: 35px !important; }
  .search .select2-container .select2-selection--single {
    height: 40px !important; }
  .search .select2-selection__arrow {
    height: 35px !important; }
  .search .posts {
    padding: 20px 0 30px; }
    @media (max-width: 767.99px) {
      .search .posts {
        padding: 10px 0 10px; } }

@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
  .video {
    position: relative;
    left: 50%;
    transform: translateX(-50%); }
  .wrapper {
    display: block !important; }
	}
@media screen and (max-width: 600px) {
  .current-matters__sdcolumn {
    width: 100%;
  }
}	


.current-matters {
  padding: 90px 0px 10px 0px;
  background-color: #fff; }
  @media (max-width: 767.99px) {
    .current-matters {
      padding: 45px 0; } }
  .current-matters__title {
    margin-bottom: 40px; }
    @media (max-width: 767.99px) {
      .current-matters__title {
        margin-bottom: 30px; } }
  .current-matters__row {
    display: flex;
    flex-wrap: wrap; }
  .current-matters div.current-matters__item {
    width: 50%;
    padding: 24px;
    border: 1px solid #aaa;
    margin-bottom: initial; }
    .current-matters div.current-matters__item.active .learn-more::after {
      transform: rotate(180deg); }
    .current-matters div.current-matters__item::after {
      display: none; }
    @media (max-width: 767.99px) {
      .current-matters div.current-matters__item {
        padding: 8px; } }
    @media (max-width: 1199.99px) {
      .current-matters div.current-matters__item:first-child, .current-matters div.current-matters__item:nth-child(2) {
        width: 50%; } }
    @media (max-width: 767.99px) {
      .current-matters div.current-matters__item, .current-matters div.current-matters__item:first-child, .current-matters div.current-matters__item:nth-child(2) {
        width: 100%; } }
    /*.current-matters div.current-matters__item:nth-child(2) {
      border-left: none; }
      @media (max-width: 767.99px) {
        .current-matters div.current-matters__item:nth-child(2) {
          border-left: 1px solid #aaa;
          border-top: none; } }
    .current-matters div.current-matters__item:nth-child(3) {
      border-left: none; }
      @media (max-width: 1199.99px) {
        .current-matters div.current-matters__item:nth-child(3) {
          width: 100%;
          border-left: 1px solid #aaa;
          border-top: none; } } */
    .current-matters div.current-matters__item .learn-more {
      font-family: "franklin-gothic-urw-comp", Arial, sans-serif;
      letter-spacing: 1px;
      font-size: 17px;
      color: #E22C2F;
      padding-right: 20px;
      position: relative;
      display: inline-block; }
      .current-matters div.current-matters__item .learn-more::after {
        content: " ";
        display: block;
        width: 12px;
        height: 20px;
        background-repeat: no-repeat;
        background-size: contain;
        background-position: center;
        background-image: url(../img/down-arrow-red.svg);
        position: absolute;
        top: 0;
        right: 0;
        transition: transform 0.35s; }
  .current-matters .related__item-title {
    font-size: 28px; }
  .current-matters__btn {
    margin-top: 0px;
	margin-bottom: 40px}
    @media (max-width: 1199.99px) {
      .current-matters__btn {
        margin-top: 30px; } }
  .current-matters__sdrow:after {
  content: "";
  display: table;
  clear: both;}
  .current-matters__sdcolumn {
  float: left;
  width: 50%;
  padding: 10px;}
  .current-matters__sdcolumn2 {
  float: left;
  width: 50%;
  padding: 20px 10px 0px 10px;}

.featured {
  padding: 45px 15px;
  background-color: rgba(0, 0, 0, 0.05);
  border-bottom: 3px solid #ee4044;
  border-top: 3px solid #ee4044;
  width: 100%;
  max-width: 1400px;
  margin: 0 auto; }
  .featured__row {
    display: flex; }
    @media (max-width: 767.99px) {
      .featured__row {
        display: block; } }
  .featured__item--small {
    width: 250px;
    padding-right: 30px;
    border-right: 2px solid #232323; }
    @media (max-width: 767.99px) {
      .featured__item--small {
        width: 100%;
        padding: initial;
        border: initial;
        margin-bottom: 17px;
        padding-bottom: 33px;
        border-bottom: 2px solid #232323; } }
    .featured__item--small .featured__item-title {
      font-size: 31px; }
  .featured__item--big {
    width: calc(100% - 250px);
    padding-left: 30px; }
    @media (max-width: 767.99px) {
      .featured__item--big {
        width: 100%;
        padding: initial; } }
  .featured__item-title {
    font-size: 80px;
    color: #000;
    margin-bottom: 30px; }
    @media (max-width: 767.99px) {
      .featured__item-title {
        font-size: 52px;
        margin-bottom: 20px; } }
  .featured__item-text {
    font-size: 18px;
    margin-bottom: 40px; }
    @media (max-width: 767.99px) {
      .featured__item-text {
        margin-bottom: 25px; } }

#mc_embed_signup {
  max-width: 638px; }
  #mc_embed_signup .asterisk {
    color: #E22C2F; }
  #mc_embed_signup label {
    margin: initial;
    font-family: Helvetica;
    font-size: 14px;
    font-weight: bold; }
  #mc_embed_signup input {
    border: 2px solid #e9ecef;
    padding: 0 20px;
    margin-bottom: 20px;
    height: 50px;
    color: #343a40;
    width: 100%;
    transition: border-color 0.35s, color 0.35s; }
    #mc_embed_signup input:focus, #mc_embed_signup input:hover {
      border-color: #ced4da;
      color: #495057; }
    #mc_embed_signup input:focus {
      outline: none; }
    #mc_embed_signup input[type="submit"] {
      text-transform: uppercase;
      font-size: 20px;
      line-height: 1;
      padding: 15px 25px;
      text-align: center;
      text-decoration: none;
      font-family: "franklin-gothic-urw-comp", Arial, sans-serif;
      border: 2px solid #232323;
      color: #232323;
      background-color: #fff;
      transition: border-color 0.35s, color 0.35s, background-color 0.35s;
      width: initial;
      min-width: 192px;
      display: inline-block; }
      @media (max-width: 767.99px) {
        #mc_embed_signup input[type="submit"] {
          font-size: 16px;
          min-width: initial; } }
      #mc_embed_signup input[type="submit"]:hover {
        border-color: #232323;
        color: #fff;
        background-color: #232323; }
  #mc_embed_signup .datefield {
    display: flex;
    align-items: center; }
    #mc_embed_signup .datefield > * {
      margin-right: 15px; }
      #mc_embed_signup .datefield > *:not(:first-child) {
        margin-left: 15px; }
    #mc_embed_signup .datefield > span {
      width: 192px;
      margin-bottom: 0; }

.events__tabs {
  max-width: 850px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  box-shadow: 0 48px 80px -32px rgba(0, 0, 0, 0.3);
  border-radius: 5px; }
  .events__tabs input {
    position: absolute;
    z-index: -999;
    opacity: 0; }
    .events__tabs input:checked + label {
      background: #fff;
      color: #232323; }
      .events__tabs input:checked + label + .events__tab {
        display: block; }
  .events__tabs label {
    background-color: #e9ecef;
    color: #495057;
    padding: 20px 30px;
    font-size: 18px;
    font-weight: 500;
    cursor: pointer; }
  .events__tabs .events__tab {
    display: none;
    order: 99;
    width: 100%;
    padding: 20px 30px 30px; }
    @media (max-width: 767.99px) {
      .events__tabs .events__tab {
        padding: 15px 20px 20px; } }
    .events__tabs .events__tab-title {
      font-size: 42px;
      margin-top: 10px;
      margin-bottom: 35px;
      color: #E22C2F; }
      @media (max-width: 767.99px) {
        .events__tabs .events__tab-title {
          font-size: 37px;
          color: #E22C2F;
          margin-bottom: 20px; } }

.events__item {
  display: block;
  text-decoration: none;
  color: inherit; }
  .events__item:hover {
    color: inherit; }
    .events__item:hover .posts__item-title {
      color: #E22C2F; }

.events .posts__item-title {
  text-transform: uppercase;
  transition: color 0.35s; }

.events .posts__item .events__info {
  color: #868e96; }
  .events .posts__item .events__info p {
    margin: initial; }

.events .no-events {
  font-style: italic;
  color: #E22C2F; }

.event__info {
  margin-bottom: 50px;
  padding-bottom: 50px;
  border-bottom: 2px solid #f1f3f5; }
  @media (max-width: 767.99px) {
    .event__info {
      margin-bottom: 20px;
      padding-bottom: 20px; } }
  .event__info p {
    margin-bottom: 10px; }

.event__contact {
  font-size: 24px;
  font-family: "franklin-gothic-urw-comp", Arial, sans-serif;
  margin-bottom: 50px; }
  @media (max-width: 767.99px) {
    .event__contact {
      margin-bottom: 30px; } }
  .event__contact-item {
    margin-bottom: 50px; }
    @media (max-width: 767.99px) {
      .event__contact-item {
        margin-bottom: 30px; } }
  .event__contact-title {
    text-transform: uppercase;
    padding-bottom: 10px;
    border-bottom: 1px solid #868e95;
    margin-bottom: 30px; }
    @media (max-width: 767.99px) {
      .event__contact-title {
        margin-bottom: 20px; } }
  .event__contact-links li:not(:last-child) {
    margin-bottom: 15px; }
  .event__contact-links li a {
    color: inherit;
    text-decoration: none;
    line-height: 1.2; }
    .event__contact-links li a:hover {
      color: #E22C2F; }

html, body {
  height: 100%;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0); }

body {
  font-family: "franklin-gothic-urw", Arial, sans-serif;
  font-size: 16px;
  line-height: 1.6;
  color: #343a40;
  min-width: 300px;
  position: relative;
  background-color: #fff;
  display: flex;
  height: auto;
  margin-top: 70px; }
  @media (max-width: 1199.99px) {
    body {
      margin-top: 78px; } }
  @media (max-width: 767.99px) {
    body {
      margin-top: 50px; } }
  body.menu-opened {
    overflow: hidden; }
  body.admin-bar .header {
    top: 32px; }
    @media (max-width: 767.99px) {
      body.admin-bar .header {
        top: 46px; } }
    @media (max-width: 575.99px) {
      body.admin-bar .header {
        top: 0px; } }

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

.wrapper {
  width: 100%;
  min-height: 100vh;
  overflow: hidden;
  position: relative;
  display: flex;
  flex-direction: column; }
  .wrapper .footer {
    margin-top: auto; }

ul {
  list-style: none;
  padding: 0;
  margin: 0; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi5jc3MiLCJzb3VyY2VzIjpbIm1haW4uc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fZnVuY3Rpb25zLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3ZhcmlhYmxlcy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19taXhpbnMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy92ZW5kb3IvX3Jmcy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fZGVwcmVjYXRlLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19icmVha3BvaW50cy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9faG92ZXIuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2ltYWdlLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19iYWRnZS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fcmVzaXplLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19zY3JlZW4tcmVhZGVyLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19zaXplLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19yZXNldC10ZXh0LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL190ZXh0LWVtcGhhc2lzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL190ZXh0LWhpZGUuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3RleHQtdHJ1bmNhdGUuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3Zpc2liaWxpdHkuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2FsZXJ0LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19idXR0b25zLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19jYXJldC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fcGFnaW5hdGlvbi5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fbGlzdHMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2xpc3QtZ3JvdXAuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX25hdi1kaXZpZGVyLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19mb3Jtcy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fdGFibGUtcm93LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19iYWNrZ3JvdW5kLXZhcmlhbnQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2JvcmRlci1yYWRpdXMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2JveC1zaGFkb3cuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2dyYWRpZW50cy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fdHJhbnNpdGlvbi5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fY2xlYXJmaXguc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2dyaWQtZnJhbWV3b3JrLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19ncmlkLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19mbG9hdC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19yZWJvb3Quc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9zbGljay1jYXJvdXNlbC9zbGljay9zbGljay5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3NsaWNrLWNhcm91c2VsL3NsaWNrL3NsaWNrLXRoZW1lLnNjc3MiLCJjb21wb25lbnRzL3ZhcnMuc2NzcyIsImNvbXBvbmVudHMvZ3JpZC5zY3NzIiwiY29tcG9uZW50cy9ncmlkL2Jvb3RzdHJhcC1ncmlkLnNjc3MiLCJjb21wb25lbnRzL2dyaWQvX2Z1bmN0aW9ucy5zY3NzIiwiY29tcG9uZW50cy9ncmlkL192YXJpYWJsZXMuc2NzcyIsImNvbXBvbmVudHMvZ3JpZC9taXhpbnMvX2JyZWFrcG9pbnRzLnNjc3MiLCJjb21wb25lbnRzL2dyaWQvbWl4aW5zL19ncmlkLnNjc3MiLCJjb21wb25lbnRzL2dyaWQvX2dyaWQuc2NzcyIsImNvbXBvbmVudHMvdHlwb2dyYXBoeS5zY3NzIiwiY29tcG9uZW50cy9oZWFkZXIuc2NzcyIsImNvbXBvbmVudHMvZm9vdGVyLnNjc3MiLCJjb21wb25lbnRzL21lbnUtYnRuLnNjc3MiLCJjb21wb25lbnRzL2J1dHRvbnMuc2NzcyIsImNvbXBvbmVudHMvdGhlX2NvbnRlbnQuc2NzcyIsImNvbXBvbmVudHMvaGVyby5zY3NzIiwiY29tcG9uZW50cy9jb250ZW50LnNjc3MiLCJjb21wb25lbnRzL2FjY29yZGlvbi5zY3NzIiwiY29tcG9uZW50cy9wb3N0cy5zY3NzIiwiY29tcG9uZW50cy9sYXRlc3Quc2NzcyIsImNvbXBvbmVudHMvbm90LWZvdW5kLnNjc3MiLCJjb21wb25lbnRzL3Blb3BsZS5zY3NzIiwiY29tcG9uZW50cy9yZWxhdGVkLnNjc3MiLCJjb21wb25lbnRzL3NpZGViYXIuc2NzcyIsImNvbXBvbmVudHMvcGVyc29uLnNjc3MiLCJjb21wb25lbnRzL3Bvc3Quc2NzcyIsImNvbXBvbmVudHMvZ2lsYmVydC1lZGdlLnNjc3MiLCJjb21wb25lbnRzL3ZpZGVvLnNjc3MiLCJjb21wb25lbnRzL3NlYXJjaC5zY3NzIiwiY29tcG9uZW50cy9pZS1maXhlcy5zY3NzIiwiY29tcG9uZW50cy9jdXJyZW50LW1hdHRlcnMuc2NzcyIsImNvbXBvbmVudHMvZmVhdHVyZWQuc2NzcyIsImNvbXBvbmVudHMvbWFpbC1jaGltcC5zY3NzIiwiY29tcG9uZW50cy9ldmVudHMuc2NzcyIsImNvbXBvbmVudHMvZXZlbnQuc2NzcyJdLCJzb3VyY2VzQ29udGVudCI6WyJAaW1wb3J0IFwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL2Z1bmN0aW9uc1wiO1xuQGltcG9ydCBcIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy92YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zXCI7XG5AaW1wb3J0IFwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3JlYm9vdFwiO1xuXG5AaW1wb3J0IFwiLi4vLi4vbm9kZV9tb2R1bGVzL3NsaWNrLWNhcm91c2VsL3NsaWNrL3NsaWNrLnNjc3NcIjtcbkBpbXBvcnQgXCIuLi8uLi9ub2RlX21vZHVsZXMvc2xpY2stY2Fyb3VzZWwvc2xpY2svc2xpY2stdGhlbWUuc2Nzc1wiO1xuXG5AaW1wb3J0ICdjb21wb25lbnRzL3ZhcnMuc2Nzcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2dyaWQuc2Nzcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3R5cG9ncmFwaHkuc2Nzcyc7XG5cbkBpbXBvcnQgJ2NvbXBvbmVudHMvaGVhZGVyLnNjc3MnO1xuQGltcG9ydCAnY29tcG9uZW50cy9mb290ZXIuc2Nzcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL21lbnUtYnRuLnNjc3MnO1xuQGltcG9ydCAnY29tcG9uZW50cy9idXR0b25zLnNjc3MnO1xuQGltcG9ydCAnY29tcG9uZW50cy9mb290ZXIuc2Nzcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RoZV9jb250ZW50LnNjc3MnO1xuQGltcG9ydCAnY29tcG9uZW50cy9oZXJvLnNjc3MnO1xuQGltcG9ydCAnY29tcG9uZW50cy9jb250ZW50LnNjc3MnO1xuQGltcG9ydCAnY29tcG9uZW50cy9hY2NvcmRpb24uc2Nzcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Bvc3RzLnNjc3MnO1xuQGltcG9ydCAnY29tcG9uZW50cy9sYXRlc3Quc2Nzcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL25vdC1mb3VuZC5zY3NzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcGVvcGxlLnNjc3MnO1xuQGltcG9ydCAnY29tcG9uZW50cy9yZWxhdGVkLnNjc3MnO1xuQGltcG9ydCAnY29tcG9uZW50cy9zaWRlYmFyLnNjc3MnO1xuQGltcG9ydCAnY29tcG9uZW50cy9wZXJzb24uc2Nzcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Bvc3Quc2Nzcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2dpbGJlcnQtZWRnZS5zY3NzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdmlkZW8uc2Nzcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3NlYXJjaC5zY3NzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvaWUtZml4ZXMuc2Nzcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2N1cnJlbnQtbWF0dGVycy5zY3NzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZmVhdHVyZWQuc2Nzcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL21haWwtY2hpbXAuc2Nzcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2V2ZW50cy5zY3NzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZXZlbnQuc2Nzcyc7XG5cbmh0bWwsIGJvZHkge1xuICBoZWlnaHQ6IDEwMCU7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTtcbn1cblxuYm9keSB7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktYmFzZTtcbiAgZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2U7XG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkZGFyaztcbiAgbWluLXdpZHRoOiAzMDBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGhlaWdodDogYXV0bztcbiAgbWFyZ2luLXRvcDogNzBweDtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKGxnKSB7XG4gICAgbWFyZ2luLXRvcDogNzhweDtcbiAgfVxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oc20pIHtcbiAgICBtYXJnaW4tdG9wOiA1MHB4O1xuICB9XG4gICYubWVudS1vcGVuZWQge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cbiAgJi5hZG1pbi1iYXIge1xuICAgIC5oZWFkZXIge1xuICAgICAgdG9wOiAzMnB4O1xuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKHNtKSB7XG4gICAgICAgIHRvcDogNDZweDtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bih4cykge1xuICAgICAgICB0b3A6IDBweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuaW1nIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi53cmFwcGVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgLmZvb3RlciB7XG4gICAgbWFyZ2luLXRvcDogYXV0bztcbiAgfVxufVxuXG51bCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbn1cbiIsIi8vIEJvb3RzdHJhcCBmdW5jdGlvbnNcbi8vXG4vLyBVdGlsaXR5IG1peGlucyBhbmQgZnVuY3Rpb25zIGZvciBldmFsdWF0aW5nIHNvdXJjZSBjb2RlIGFjcm9zcyBvdXIgdmFyaWFibGVzLCBtYXBzLCBhbmQgbWl4aW5zLlxuXG4vLyBBc2NlbmRpbmdcbi8vIFVzZWQgdG8gZXZhbHVhdGUgU2FzcyBtYXBzIGxpa2Ugb3VyIGdyaWQgYnJlYWtwb2ludHMuXG5AbWl4aW4gX2Fzc2VydC1hc2NlbmRpbmcoJG1hcCwgJG1hcC1uYW1lKSB7XG4gICRwcmV2LWtleTogbnVsbDtcbiAgJHByZXYtbnVtOiBudWxsO1xuICBAZWFjaCAka2V5LCAkbnVtIGluICRtYXAge1xuICAgIEBpZiAkcHJldi1udW0gPT0gbnVsbCBvciB1bml0KCRudW0pID09IFwiJVwiIG9yIHVuaXQoJHByZXYtbnVtKSA9PSBcIiVcIiB7XG4gICAgICAvLyBEbyBub3RoaW5nXG4gICAgfSBAZWxzZSBpZiBub3QgY29tcGFyYWJsZSgkcHJldi1udW0sICRudW0pIHtcbiAgICAgIEB3YXJuIFwiUG90ZW50aWFsbHkgaW52YWxpZCB2YWx1ZSBmb3IgI3skbWFwLW5hbWV9OiBUaGlzIG1hcCBtdXN0IGJlIGluIGFzY2VuZGluZyBvcmRlciwgYnV0IGtleSAnI3ska2V5fScgaGFzIHZhbHVlICN7JG51bX0gd2hvc2UgdW5pdCBtYWtlcyBpdCBpbmNvbXBhcmFibGUgdG8gI3skcHJldi1udW19LCB0aGUgdmFsdWUgb2YgdGhlIHByZXZpb3VzIGtleSAnI3skcHJldi1rZXl9JyAhXCI7XG4gICAgfSBAZWxzZSBpZiAkcHJldi1udW0gPj0gJG51bSB7XG4gICAgICBAd2FybiBcIkludmFsaWQgdmFsdWUgZm9yICN7JG1hcC1uYW1lfTogVGhpcyBtYXAgbXVzdCBiZSBpbiBhc2NlbmRpbmcgb3JkZXIsIGJ1dCBrZXkgJyN7JGtleX0nIGhhcyB2YWx1ZSAjeyRudW19IHdoaWNoIGlzbid0IGdyZWF0ZXIgdGhhbiAjeyRwcmV2LW51bX0sIHRoZSB2YWx1ZSBvZiB0aGUgcHJldmlvdXMga2V5ICcjeyRwcmV2LWtleX0nICFcIjtcbiAgICB9XG4gICAgJHByZXYta2V5OiAka2V5O1xuICAgICRwcmV2LW51bTogJG51bTtcbiAgfVxufVxuXG4vLyBTdGFydHMgYXQgemVyb1xuLy8gVXNlZCB0byBlbnN1cmUgdGhlIG1pbi13aWR0aCBvZiB0aGUgbG93ZXN0IGJyZWFrcG9pbnQgc3RhcnRzIGF0IDAuXG5AbWl4aW4gX2Fzc2VydC1zdGFydHMtYXQtemVybygkbWFwLCAkbWFwLW5hbWU6IFwiJGdyaWQtYnJlYWtwb2ludHNcIikge1xuICBAaWYgbGVuZ3RoKCRtYXApID4gMCB7XG4gICAgJHZhbHVlczogbWFwLXZhbHVlcygkbWFwKTtcbiAgICAkZmlyc3QtdmFsdWU6IG50aCgkdmFsdWVzLCAxKTtcbiAgICBAaWYgJGZpcnN0LXZhbHVlICE9IDAge1xuICAgICAgQHdhcm4gXCJGaXJzdCBicmVha3BvaW50IGluICN7JG1hcC1uYW1lfSBtdXN0IHN0YXJ0IGF0IDAsIGJ1dCBzdGFydHMgYXQgI3skZmlyc3QtdmFsdWV9LlwiO1xuICAgIH1cbiAgfVxufVxuXG4vLyBSZXBsYWNlIGAkc2VhcmNoYCB3aXRoIGAkcmVwbGFjZWAgaW4gYCRzdHJpbmdgXG4vLyBVc2VkIG9uIG91ciBTVkcgaWNvbiBiYWNrZ3JvdW5kcyBmb3IgY3VzdG9tIGZvcm1zLlxuLy9cbi8vIEBhdXRob3IgSHVnbyBHaXJhdWRlbFxuLy8gQHBhcmFtIHtTdHJpbmd9ICRzdHJpbmcgLSBJbml0aWFsIHN0cmluZ1xuLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWFyY2ggLSBTdWJzdHJpbmcgdG8gcmVwbGFjZVxuLy8gQHBhcmFtIHtTdHJpbmd9ICRyZXBsYWNlICgnJykgLSBOZXcgdmFsdWVcbi8vIEByZXR1cm4ge1N0cmluZ30gLSBVcGRhdGVkIHN0cmluZ1xuQGZ1bmN0aW9uIHN0ci1yZXBsYWNlKCRzdHJpbmcsICRzZWFyY2gsICRyZXBsYWNlOiBcIlwiKSB7XG4gICRpbmRleDogc3RyLWluZGV4KCRzdHJpbmcsICRzZWFyY2gpO1xuXG4gIEBpZiAkaW5kZXgge1xuICAgIEByZXR1cm4gc3RyLXNsaWNlKCRzdHJpbmcsIDEsICRpbmRleCAtIDEpICsgJHJlcGxhY2UgKyBzdHItcmVwbGFjZShzdHItc2xpY2UoJHN0cmluZywgJGluZGV4ICsgc3RyLWxlbmd0aCgkc2VhcmNoKSksICRzZWFyY2gsICRyZXBsYWNlKTtcbiAgfVxuXG4gIEByZXR1cm4gJHN0cmluZztcbn1cblxuLy8gU2VlIGh0dHBzOi8vY29kZXBlbi5pby9rZXZpbndlYmVyL3Blbi9kWFdvUndcbi8vXG4vLyBSZXF1aXJlcyB0aGUgdXNlIG9mIHF1b3RlcyBhcm91bmQgZGF0YSBVUklzLlxuXG5AZnVuY3Rpb24gZXNjYXBlLXN2Zygkc3RyaW5nKSB7XG4gIEBpZiBzdHItaW5kZXgoJHN0cmluZywgXCJkYXRhOmltYWdlL3N2Zyt4bWxcIikge1xuICAgIEBlYWNoICRjaGFyLCAkZW5jb2RlZCBpbiAkZXNjYXBlZC1jaGFyYWN0ZXJzIHtcbiAgICAgIC8vIERvIG5vdCBlc2NhcGUgdGhlIHVybCBicmFja2V0c1xuICAgICAgQGlmIHN0ci1pbmRleCgkc3RyaW5nLCBcInVybChcIikgPT0gMSB7XG4gICAgICAgICRzdHJpbmc6IHVybChcIiN7c3RyLXJlcGxhY2Uoc3RyLXNsaWNlKCRzdHJpbmcsIDYsIC0zKSwgJGNoYXIsICRlbmNvZGVkKX1cIik7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgJHN0cmluZzogc3RyLXJlcGxhY2UoJHN0cmluZywgJGNoYXIsICRlbmNvZGVkKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRzdHJpbmc7XG59XG5cbi8vIENvbG9yIGNvbnRyYXN0XG5AZnVuY3Rpb24gY29sb3IteWlxKCRjb2xvciwgJGRhcms6ICR5aXEtdGV4dC1kYXJrLCAkbGlnaHQ6ICR5aXEtdGV4dC1saWdodCkge1xuICAkcjogcmVkKCRjb2xvcik7XG4gICRnOiBncmVlbigkY29sb3IpO1xuICAkYjogYmx1ZSgkY29sb3IpO1xuXG4gICR5aXE6ICgoJHIgKiAyOTkpICsgKCRnICogNTg3KSArICgkYiAqIDExNCkpIC8gMTAwMDtcblxuICBAaWYgKCR5aXEgPj0gJHlpcS1jb250cmFzdGVkLXRocmVzaG9sZCkge1xuICAgIEByZXR1cm4gJGRhcms7XG4gIH0gQGVsc2Uge1xuICAgIEByZXR1cm4gJGxpZ2h0O1xuICB9XG59XG5cbi8vIFJldHJpZXZlIGNvbG9yIFNhc3MgbWFwc1xuQGZ1bmN0aW9uIGNvbG9yKCRrZXk6IFwiYmx1ZVwiKSB7XG4gIEByZXR1cm4gbWFwLWdldCgkY29sb3JzLCAka2V5KTtcbn1cblxuQGZ1bmN0aW9uIHRoZW1lLWNvbG9yKCRrZXk6IFwicHJpbWFyeVwiKSB7XG4gIEByZXR1cm4gbWFwLWdldCgkdGhlbWUtY29sb3JzLCAka2V5KTtcbn1cblxuQGZ1bmN0aW9uIGdyYXkoJGtleTogXCIxMDBcIikge1xuICBAcmV0dXJuIG1hcC1nZXQoJGdyYXlzLCAka2V5KTtcbn1cblxuLy8gUmVxdWVzdCBhIHRoZW1lIGNvbG9yIGxldmVsXG5AZnVuY3Rpb24gdGhlbWUtY29sb3ItbGV2ZWwoJGNvbG9yLW5hbWU6IFwicHJpbWFyeVwiLCAkbGV2ZWw6IDApIHtcbiAgJGNvbG9yOiB0aGVtZS1jb2xvcigkY29sb3ItbmFtZSk7XG4gICRjb2xvci1iYXNlOiBpZigkbGV2ZWwgPiAwLCAkYmxhY2ssICR3aGl0ZSk7XG4gICRsZXZlbDogYWJzKCRsZXZlbCk7XG5cbiAgQHJldHVybiBtaXgoJGNvbG9yLWJhc2UsICRjb2xvciwgJGxldmVsICogJHRoZW1lLWNvbG9yLWludGVydmFsKTtcbn1cblxuLy8gUmV0dXJuIHZhbGlkIGNhbGNcbkBmdW5jdGlvbiBhZGQoJHZhbHVlMSwgJHZhbHVlMiwgJHJldHVybi1jYWxjOiB0cnVlKSB7XG4gIEBpZiAkdmFsdWUxID09IG51bGwge1xuICAgIEByZXR1cm4gJHZhbHVlMjtcbiAgfVxuXG4gIEBpZiAkdmFsdWUyID09IG51bGwge1xuICAgIEByZXR1cm4gJHZhbHVlMTtcbiAgfVxuXG4gIEBpZiB0eXBlLW9mKCR2YWx1ZTEpID09IG51bWJlciBhbmQgdHlwZS1vZigkdmFsdWUyKSA9PSBudW1iZXIgYW5kIGNvbXBhcmFibGUoJHZhbHVlMSwgJHZhbHVlMikge1xuICAgIEByZXR1cm4gJHZhbHVlMSArICR2YWx1ZTI7XG4gIH1cblxuICBAcmV0dXJuIGlmKCRyZXR1cm4tY2FsYyA9PSB0cnVlLCBjYWxjKCN7JHZhbHVlMX0gKyAjeyR2YWx1ZTJ9KSwgJHZhbHVlMSArIHVucXVvdGUoXCIgKyBcIikgKyAkdmFsdWUyKTtcbn1cblxuQGZ1bmN0aW9uIHN1YnRyYWN0KCR2YWx1ZTEsICR2YWx1ZTIsICRyZXR1cm4tY2FsYzogdHJ1ZSkge1xuICBAaWYgJHZhbHVlMSA9PSBudWxsIGFuZCAkdmFsdWUyID09IG51bGwge1xuICAgIEByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIEBpZiAkdmFsdWUxID09IG51bGwge1xuICAgIEByZXR1cm4gLSR2YWx1ZTI7XG4gIH1cblxuICBAaWYgJHZhbHVlMiA9PSBudWxsIHtcbiAgICBAcmV0dXJuICR2YWx1ZTE7XG4gIH1cblxuICBAaWYgdHlwZS1vZigkdmFsdWUxKSA9PSBudW1iZXIgYW5kIHR5cGUtb2YoJHZhbHVlMikgPT0gbnVtYmVyIGFuZCBjb21wYXJhYmxlKCR2YWx1ZTEsICR2YWx1ZTIpIHtcbiAgICBAcmV0dXJuICR2YWx1ZTEgLSAkdmFsdWUyO1xuICB9XG5cbiAgQHJldHVybiBpZigkcmV0dXJuLWNhbGMgPT0gdHJ1ZSwgY2FsYygjeyR2YWx1ZTF9IC0gI3skdmFsdWUyfSksICR2YWx1ZTEgKyB1bnF1b3RlKFwiIC0gXCIpICsgJHZhbHVlMik7XG59XG4iLCIvLyBWYXJpYWJsZXNcbi8vXG4vLyBWYXJpYWJsZXMgc2hvdWxkIGZvbGxvdyB0aGUgYCRjb21wb25lbnQtc3RhdGUtcHJvcGVydHktc2l6ZWAgZm9ybXVsYSBmb3Jcbi8vIGNvbnNpc3RlbnQgbmFtaW5nLiBFeDogJG5hdi1saW5rLWRpc2FibGVkLWNvbG9yIGFuZCAkbW9kYWwtY29udGVudC1ib3gtc2hhZG93LXhzLlxuXG4vLyBDb2xvciBzeXN0ZW1cblxuJHdoaXRlOiAgICAjZmZmICFkZWZhdWx0O1xuJGdyYXktMTAwOiAjZjhmOWZhICFkZWZhdWx0O1xuJGdyYXktMjAwOiAjZTllY2VmICFkZWZhdWx0O1xuJGdyYXktMzAwOiAjZGVlMmU2ICFkZWZhdWx0O1xuJGdyYXktNDAwOiAjY2VkNGRhICFkZWZhdWx0O1xuJGdyYXktNTAwOiAjYWRiNWJkICFkZWZhdWx0O1xuJGdyYXktNjAwOiAjNmM3NTdkICFkZWZhdWx0O1xuJGdyYXktNzAwOiAjNDk1MDU3ICFkZWZhdWx0O1xuJGdyYXktODAwOiAjMzQzYTQwICFkZWZhdWx0O1xuJGdyYXktOTAwOiAjMjEyNTI5ICFkZWZhdWx0O1xuJGJsYWNrOiAgICAjMDAwICFkZWZhdWx0O1xuXG4kZ3JheXM6ICgpICFkZWZhdWx0O1xuJGdyYXlzOiBtYXAtbWVyZ2UoXG4gIChcbiAgICBcIjEwMFwiOiAkZ3JheS0xMDAsXG4gICAgXCIyMDBcIjogJGdyYXktMjAwLFxuICAgIFwiMzAwXCI6ICRncmF5LTMwMCxcbiAgICBcIjQwMFwiOiAkZ3JheS00MDAsXG4gICAgXCI1MDBcIjogJGdyYXktNTAwLFxuICAgIFwiNjAwXCI6ICRncmF5LTYwMCxcbiAgICBcIjcwMFwiOiAkZ3JheS03MDAsXG4gICAgXCI4MDBcIjogJGdyYXktODAwLFxuICAgIFwiOTAwXCI6ICRncmF5LTkwMFxuICApLFxuICAkZ3JheXNcbik7XG5cbiRibHVlOiAgICAjMDA3YmZmICFkZWZhdWx0O1xuJGluZGlnbzogICM2NjEwZjIgIWRlZmF1bHQ7XG4kcHVycGxlOiAgIzZmNDJjMSAhZGVmYXVsdDtcbiRwaW5rOiAgICAjZTgzZThjICFkZWZhdWx0O1xuJHJlZDogICAgICNkYzM1NDUgIWRlZmF1bHQ7XG4kb3JhbmdlOiAgI2ZkN2UxNCAhZGVmYXVsdDtcbiR5ZWxsb3c6ICAjZmZjMTA3ICFkZWZhdWx0O1xuJGdyZWVuOiAgICMyOGE3NDUgIWRlZmF1bHQ7XG4kdGVhbDogICAgIzIwYzk5NyAhZGVmYXVsdDtcbiRjeWFuOiAgICAjMTdhMmI4ICFkZWZhdWx0O1xuXG4kY29sb3JzOiAoKSAhZGVmYXVsdDtcbiRjb2xvcnM6IG1hcC1tZXJnZShcbiAgKFxuICAgIFwiYmx1ZVwiOiAgICAgICAkYmx1ZSxcbiAgICBcImluZGlnb1wiOiAgICAgJGluZGlnbyxcbiAgICBcInB1cnBsZVwiOiAgICAgJHB1cnBsZSxcbiAgICBcInBpbmtcIjogICAgICAgJHBpbmssXG4gICAgXCJyZWRcIjogICAgICAgICRyZWQsXG4gICAgXCJvcmFuZ2VcIjogICAgICRvcmFuZ2UsXG4gICAgXCJ5ZWxsb3dcIjogICAgICR5ZWxsb3csXG4gICAgXCJncmVlblwiOiAgICAgICRncmVlbixcbiAgICBcInRlYWxcIjogICAgICAgJHRlYWwsXG4gICAgXCJjeWFuXCI6ICAgICAgICRjeWFuLFxuICAgIFwid2hpdGVcIjogICAgICAkd2hpdGUsXG4gICAgXCJncmF5XCI6ICAgICAgICRncmF5LTYwMCxcbiAgICBcImdyYXktZGFya1wiOiAgJGdyYXktODAwXG4gICksXG4gICRjb2xvcnNcbik7XG5cbiRwcmltYXJ5OiAgICAgICAkYmx1ZSAhZGVmYXVsdDtcbiRzZWNvbmRhcnk6ICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kc3VjY2VzczogICAgICAgJGdyZWVuICFkZWZhdWx0O1xuJGluZm86ICAgICAgICAgICRjeWFuICFkZWZhdWx0O1xuJHdhcm5pbmc6ICAgICAgICR5ZWxsb3cgIWRlZmF1bHQ7XG4kZGFuZ2VyOiAgICAgICAgJHJlZCAhZGVmYXVsdDtcbiRsaWdodDogICAgICAgICAkZ3JheS0xMDAgIWRlZmF1bHQ7XG4kZGFyazogICAgICAgICAgJGdyYXktODAwICFkZWZhdWx0O1xuXG4kdGhlbWUtY29sb3JzOiAoKSAhZGVmYXVsdDtcbiR0aGVtZS1jb2xvcnM6IG1hcC1tZXJnZShcbiAgKFxuICAgIFwicHJpbWFyeVwiOiAgICAkcHJpbWFyeSxcbiAgICBcInNlY29uZGFyeVwiOiAgJHNlY29uZGFyeSxcbiAgICBcInN1Y2Nlc3NcIjogICAgJHN1Y2Nlc3MsXG4gICAgXCJpbmZvXCI6ICAgICAgICRpbmZvLFxuICAgIFwid2FybmluZ1wiOiAgICAkd2FybmluZyxcbiAgICBcImRhbmdlclwiOiAgICAgJGRhbmdlcixcbiAgICBcImxpZ2h0XCI6ICAgICAgJGxpZ2h0LFxuICAgIFwiZGFya1wiOiAgICAgICAkZGFya1xuICApLFxuICAkdGhlbWUtY29sb3JzXG4pO1xuXG4vLyBTZXQgYSBzcGVjaWZpYyBqdW1wIHBvaW50IGZvciByZXF1ZXN0aW5nIGNvbG9yIGp1bXBzXG4kdGhlbWUtY29sb3ItaW50ZXJ2YWw6ICAgICAgOCUgIWRlZmF1bHQ7XG5cbi8vIFRoZSB5aXEgbGlnaHRuZXNzIHZhbHVlIHRoYXQgZGV0ZXJtaW5lcyB3aGVuIHRoZSBsaWdodG5lc3Mgb2YgY29sb3IgY2hhbmdlcyBmcm9tIFwiZGFya1wiIHRvIFwibGlnaHRcIi4gQWNjZXB0YWJsZSB2YWx1ZXMgYXJlIGJldHdlZW4gMCBhbmQgMjU1LlxuJHlpcS1jb250cmFzdGVkLXRocmVzaG9sZDogIDE1MCAhZGVmYXVsdDtcblxuLy8gQ3VzdG9taXplIHRoZSBsaWdodCBhbmQgZGFyayB0ZXh0IGNvbG9ycyBmb3IgdXNlIGluIG91ciBZSVEgY29sb3IgY29udHJhc3QgZnVuY3Rpb24uXG4keWlxLXRleHQtZGFyazogICAgICAgICAgICAgJGdyYXktOTAwICFkZWZhdWx0O1xuJHlpcS10ZXh0LWxpZ2h0OiAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8gQ2hhcmFjdGVycyB3aGljaCBhcmUgZXNjYXBlZCBieSB0aGUgZXNjYXBlLXN2ZyBmdW5jdGlvblxuJGVzY2FwZWQtY2hhcmFjdGVyczogKFxuICAoXCI8XCIsIFwiJTNjXCIpLFxuICAoXCI+XCIsIFwiJTNlXCIpLFxuICAoXCIjXCIsIFwiJTIzXCIpLFxuICAoXCIoXCIsIFwiJTI4XCIpLFxuICAoXCIpXCIsIFwiJTI5XCIpLFxuKSAhZGVmYXVsdDtcblxuXG4vLyBPcHRpb25zXG4vL1xuLy8gUXVpY2tseSBtb2RpZnkgZ2xvYmFsIHN0eWxpbmcgYnkgZW5hYmxpbmcgb3IgZGlzYWJsaW5nIG9wdGlvbmFsIGZlYXR1cmVzLlxuXG4kZW5hYmxlLWNhcmV0OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtcm91bmRlZDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1zaGFkb3dzOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZhbHNlICFkZWZhdWx0O1xuJGVuYWJsZS1ncmFkaWVudHM6ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZhbHNlICFkZWZhdWx0O1xuJGVuYWJsZS10cmFuc2l0aW9uczogICAgICAgICAgICAgICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLXByZWZlcnMtcmVkdWNlZC1tb3Rpb24tbWVkaWEtcXVlcnk6ICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtaG92ZXItbWVkaWEtcXVlcnk6ICAgICAgICAgICAgICAgICAgICBmYWxzZSAhZGVmYXVsdDsgLy8gRGVwcmVjYXRlZCwgbm8gbG9uZ2VyIGFmZmVjdHMgYW55IGNvbXBpbGVkIENTU1xuJGVuYWJsZS1ncmlkLWNsYXNzZXM6ICAgICAgICAgICAgICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLXBvaW50ZXItY3Vyc29yLWZvci1idXR0b25zOiAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtcHJpbnQtc3R5bGVzOiAgICAgICAgICAgICAgICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1yZXNwb25zaXZlLWZvbnQtc2l6ZXM6ICAgICAgICAgICAgICAgIGZhbHNlICFkZWZhdWx0O1xuJGVuYWJsZS12YWxpZGF0aW9uLWljb25zOiAgICAgICAgICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLWRlcHJlY2F0aW9uLW1lc3NhZ2VzOiAgICAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcblxuXG4vLyBTcGFjaW5nXG4vL1xuLy8gQ29udHJvbCB0aGUgZGVmYXVsdCBzdHlsaW5nIG9mIG1vc3QgQm9vdHN0cmFwIGVsZW1lbnRzIGJ5IG1vZGlmeWluZyB0aGVzZVxuLy8gdmFyaWFibGVzLiBNb3N0bHkgZm9jdXNlZCBvbiBzcGFjaW5nLlxuLy8gWW91IGNhbiBhZGQgbW9yZSBlbnRyaWVzIHRvIHRoZSAkc3BhY2VycyBtYXAsIHNob3VsZCB5b3UgbmVlZCBtb3JlIHZhcmlhdGlvbi5cblxuJHNwYWNlcjogMXJlbSAhZGVmYXVsdDtcbiRzcGFjZXJzOiAoKSAhZGVmYXVsdDtcbiRzcGFjZXJzOiBtYXAtbWVyZ2UoXG4gIChcbiAgICAwOiAwLFxuICAgIDE6ICgkc3BhY2VyICogLjI1KSxcbiAgICAyOiAoJHNwYWNlciAqIC41KSxcbiAgICAzOiAkc3BhY2VyLFxuICAgIDQ6ICgkc3BhY2VyICogMS41KSxcbiAgICA1OiAoJHNwYWNlciAqIDMpXG4gICksXG4gICRzcGFjZXJzXG4pO1xuXG4vLyBUaGlzIHZhcmlhYmxlIGFmZmVjdHMgdGhlIGAuaC0qYCBhbmQgYC53LSpgIGNsYXNzZXMuXG4kc2l6ZXM6ICgpICFkZWZhdWx0O1xuJHNpemVzOiBtYXAtbWVyZ2UoXG4gIChcbiAgICAyNTogMjUlLFxuICAgIDUwOiA1MCUsXG4gICAgNzU6IDc1JSxcbiAgICAxMDA6IDEwMCUsXG4gICAgYXV0bzogYXV0b1xuICApLFxuICAkc2l6ZXNcbik7XG5cblxuLy8gQm9keVxuLy9cbi8vIFNldHRpbmdzIGZvciB0aGUgYDxib2R5PmAgZWxlbWVudC5cblxuJGJvZHktYmc6ICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRib2R5LWNvbG9yOiAgICAgICAgICAgICAgICAkZ3JheS05MDAgIWRlZmF1bHQ7XG5cblxuLy8gTGlua3Ncbi8vXG4vLyBTdHlsZSBhbmNob3IgZWxlbWVudHMuXG5cbiRsaW5rLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZW1lLWNvbG9yKFwicHJpbWFyeVwiKSAhZGVmYXVsdDtcbiRsaW5rLWRlY29yYXRpb246ICAgICAgICAgICAgICAgICAgICAgICAgIG5vbmUgIWRlZmF1bHQ7XG4kbGluay1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICBkYXJrZW4oJGxpbmstY29sb3IsIDE1JSkgIWRlZmF1bHQ7XG4kbGluay1ob3Zlci1kZWNvcmF0aW9uOiAgICAgICAgICAgICAgICAgICB1bmRlcmxpbmUgIWRlZmF1bHQ7XG4vLyBEYXJrZW4gcGVyY2VudGFnZSBmb3IgbGlua3Mgd2l0aCBgLnRleHQtKmAgY2xhc3MgKGUuZy4gYC50ZXh0LXN1Y2Nlc3NgKVxuJGVtcGhhc2l6ZWQtbGluay1ob3Zlci1kYXJrZW4tcGVyY2VudGFnZTogMTUlICFkZWZhdWx0O1xuXG4vLyBQYXJhZ3JhcGhzXG4vL1xuLy8gU3R5bGUgcCBlbGVtZW50LlxuXG4kcGFyYWdyYXBoLW1hcmdpbi1ib3R0b206ICAgMXJlbSAhZGVmYXVsdDtcblxuXG4vLyBHcmlkIGJyZWFrcG9pbnRzXG4vL1xuLy8gRGVmaW5lIHRoZSBtaW5pbXVtIGRpbWVuc2lvbnMgYXQgd2hpY2ggeW91ciBsYXlvdXQgd2lsbCBjaGFuZ2UsXG4vLyBhZGFwdGluZyB0byBkaWZmZXJlbnQgc2NyZWVuIHNpemVzLCBmb3IgdXNlIGluIG1lZGlhIHF1ZXJpZXMuXG5cbiRncmlkLWJyZWFrcG9pbnRzOiAoXG4gIHhzOiAwLFxuICBzbTogNTc2cHgsXG4gIG1kOiA3NjhweCxcbiAgbGc6IDk5MnB4LFxuICB4bDogMTIwMHB4XG4pICFkZWZhdWx0O1xuXG5AaW5jbHVkZSBfYXNzZXJ0LWFzY2VuZGluZygkZ3JpZC1icmVha3BvaW50cywgXCIkZ3JpZC1icmVha3BvaW50c1wiKTtcbkBpbmNsdWRlIF9hc3NlcnQtc3RhcnRzLWF0LXplcm8oJGdyaWQtYnJlYWtwb2ludHMsIFwiJGdyaWQtYnJlYWtwb2ludHNcIik7XG5cblxuLy8gR3JpZCBjb250YWluZXJzXG4vL1xuLy8gRGVmaW5lIHRoZSBtYXhpbXVtIHdpZHRoIG9mIGAuY29udGFpbmVyYCBmb3IgZGlmZmVyZW50IHNjcmVlbiBzaXplcy5cblxuJGNvbnRhaW5lci1tYXgtd2lkdGhzOiAoXG4gIHNtOiA1NDBweCxcbiAgbWQ6IDcyMHB4LFxuICBsZzogOTYwcHgsXG4gIHhsOiAxMTQwcHhcbikgIWRlZmF1bHQ7XG5cbkBpbmNsdWRlIF9hc3NlcnQtYXNjZW5kaW5nKCRjb250YWluZXItbWF4LXdpZHRocywgXCIkY29udGFpbmVyLW1heC13aWR0aHNcIik7XG5cblxuLy8gR3JpZCBjb2x1bW5zXG4vL1xuLy8gU2V0IHRoZSBudW1iZXIgb2YgY29sdW1ucyBhbmQgc3BlY2lmeSB0aGUgd2lkdGggb2YgdGhlIGd1dHRlcnMuXG5cbiRncmlkLWNvbHVtbnM6ICAgICAgICAgICAgICAgIDEyICFkZWZhdWx0O1xuJGdyaWQtZ3V0dGVyLXdpZHRoOiAgICAgICAgICAgMzBweCAhZGVmYXVsdDtcbiRncmlkLXJvdy1jb2x1bW5zOiAgICAgICAgICAgIDYgIWRlZmF1bHQ7XG5cblxuLy8gQ29tcG9uZW50c1xuLy9cbi8vIERlZmluZSBjb21tb24gcGFkZGluZyBhbmQgYm9yZGVyIHJhZGl1cyBzaXplcyBhbmQgbW9yZS5cblxuJGxpbmUtaGVpZ2h0LWxnOiAgICAgICAgICAgICAgMS41ICFkZWZhdWx0O1xuJGxpbmUtaGVpZ2h0LXNtOiAgICAgICAgICAgICAgMS41ICFkZWZhdWx0O1xuXG4kYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAxcHggIWRlZmF1bHQ7XG4kYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAkZ3JheS0zMDAgIWRlZmF1bHQ7XG5cbiRib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiRib3JkZXItcmFkaXVzLWxnOiAgICAgICAgICAgIC4zcmVtICFkZWZhdWx0O1xuJGJvcmRlci1yYWRpdXMtc206ICAgICAgICAgICAgLjJyZW0gIWRlZmF1bHQ7XG5cbiRyb3VuZGVkLXBpbGw6ICAgICAgICAgICAgICAgIDUwcmVtICFkZWZhdWx0O1xuXG4kYm94LXNoYWRvdy1zbTogICAgICAgICAgICAgICAwIC4xMjVyZW0gLjI1cmVtIHJnYmEoJGJsYWNrLCAuMDc1KSAhZGVmYXVsdDtcbiRib3gtc2hhZG93OiAgICAgICAgICAgICAgICAgIDAgLjVyZW0gMXJlbSByZ2JhKCRibGFjaywgLjE1KSAhZGVmYXVsdDtcbiRib3gtc2hhZG93LWxnOiAgICAgICAgICAgICAgIDAgMXJlbSAzcmVtIHJnYmEoJGJsYWNrLCAuMTc1KSAhZGVmYXVsdDtcblxuJGNvbXBvbmVudC1hY3RpdmUtY29sb3I6ICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGNvbXBvbmVudC1hY3RpdmUtYmc6ICAgICAgICAgdGhlbWUtY29sb3IoXCJwcmltYXJ5XCIpICFkZWZhdWx0O1xuXG4kY2FyZXQtd2lkdGg6ICAgICAgICAgICAgICAgICAuM2VtICFkZWZhdWx0O1xuJGNhcmV0LXZlcnRpY2FsLWFsaWduOiAgICAgICAgJGNhcmV0LXdpZHRoICogLjg1ICFkZWZhdWx0O1xuJGNhcmV0LXNwYWNpbmc6ICAgICAgICAgICAgICAgJGNhcmV0LXdpZHRoICogLjg1ICFkZWZhdWx0O1xuXG4kdHJhbnNpdGlvbi1iYXNlOiAgICAgICAgICAgICBhbGwgLjJzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuJHRyYW5zaXRpb24tZmFkZTogICAgICAgICAgICAgb3BhY2l0eSAuMTVzIGxpbmVhciAhZGVmYXVsdDtcbiR0cmFuc2l0aW9uLWNvbGxhcHNlOiAgICAgICAgIGhlaWdodCAuMzVzIGVhc2UgIWRlZmF1bHQ7XG5cbiRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpb3M6ICgpICFkZWZhdWx0O1xuJGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvczogam9pbihcbiAgKFxuICAgICgyMSA5KSxcbiAgICAoMTYgOSksXG4gICAgKDQgMyksXG4gICAgKDEgMSksXG4gICksXG4gICRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpb3Ncbik7XG5cbi8vIFR5cG9ncmFwaHlcbi8vXG4vLyBGb250LCBsaW5lLWhlaWdodCwgYW5kIGNvbG9yIGZvciBib2R5IHRleHQsIGhlYWRpbmdzLCBhbmQgbW9yZS5cblxuLy8gc3R5bGVsaW50LWRpc2FibGUgdmFsdWUta2V5d29yZC1jYXNlXG4kZm9udC1mYW1pbHktc2Fucy1zZXJpZjogICAgICAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFwiU2Vnb2UgVUlcIiwgUm9ib3RvLCBcIkhlbHZldGljYSBOZXVlXCIsIEFyaWFsLCBcIk5vdG8gU2Fuc1wiLCBcIkxpYmVyYXRpb24gU2Fuc1wiLCBzYW5zLXNlcmlmLCBcIkFwcGxlIENvbG9yIEVtb2ppXCIsIFwiU2Vnb2UgVUkgRW1vamlcIiwgXCJTZWdvZSBVSSBTeW1ib2xcIiwgXCJOb3RvIENvbG9yIEVtb2ppXCIgIWRlZmF1bHQ7XG4kZm9udC1mYW1pbHktbW9ub3NwYWNlOiAgICAgICBTRk1vbm8tUmVndWxhciwgTWVubG8sIE1vbmFjbywgQ29uc29sYXMsIFwiTGliZXJhdGlvbiBNb25vXCIsIFwiQ291cmllciBOZXdcIiwgbW9ub3NwYWNlICFkZWZhdWx0O1xuJGZvbnQtZmFtaWx5LWJhc2U6ICAgICAgICAgICAgJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWYgIWRlZmF1bHQ7XG4vLyBzdHlsZWxpbnQtZW5hYmxlIHZhbHVlLWtleXdvcmQtY2FzZVxuXG4kZm9udC1zaXplLWJhc2U6ICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0OyAvLyBBc3N1bWVzIHRoZSBicm93c2VyIGRlZmF1bHQsIHR5cGljYWxseSBgMTZweGBcbiRmb250LXNpemUtbGc6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuMjUgIWRlZmF1bHQ7XG4kZm9udC1zaXplLXNtOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAuODc1ICFkZWZhdWx0O1xuXG4kZm9udC13ZWlnaHQtbGlnaHRlcjogICAgICAgICBsaWdodGVyICFkZWZhdWx0O1xuJGZvbnQtd2VpZ2h0LWxpZ2h0OiAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuJGZvbnQtd2VpZ2h0LW5vcm1hbDogICAgICAgICAgNDAwICFkZWZhdWx0O1xuJGZvbnQtd2VpZ2h0LWJvbGQ6ICAgICAgICAgICAgNzAwICFkZWZhdWx0O1xuJGZvbnQtd2VpZ2h0LWJvbGRlcjogICAgICAgICAgYm9sZGVyICFkZWZhdWx0O1xuXG4kZm9udC13ZWlnaHQtYmFzZTogICAgICAgICAgICAkZm9udC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuJGxpbmUtaGVpZ2h0LWJhc2U6ICAgICAgICAgICAgMS41ICFkZWZhdWx0O1xuXG4kaDEtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAyLjUgIWRlZmF1bHQ7XG4kaDItZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAyICFkZWZhdWx0O1xuJGgzLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS43NSAhZGVmYXVsdDtcbiRoNC1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuNSAhZGVmYXVsdDtcbiRoNS1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuMjUgIWRlZmF1bHQ7XG4kaDYtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgIWRlZmF1bHQ7XG5cbiRoZWFkaW5ncy1tYXJnaW4tYm90dG9tOiAgICAgICRzcGFjZXIgLyAyICFkZWZhdWx0O1xuJGhlYWRpbmdzLWZvbnQtZmFtaWx5OiAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRoZWFkaW5ncy1mb250LXdlaWdodDogICAgICAgIDUwMCAhZGVmYXVsdDtcbiRoZWFkaW5ncy1saW5lLWhlaWdodDogICAgICAgIDEuMiAhZGVmYXVsdDtcbiRoZWFkaW5ncy1jb2xvcjogICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG5cbiRkaXNwbGF5MS1zaXplOiAgICAgICAgICAgICAgIDZyZW0gIWRlZmF1bHQ7XG4kZGlzcGxheTItc2l6ZTogICAgICAgICAgICAgICA1LjVyZW0gIWRlZmF1bHQ7XG4kZGlzcGxheTMtc2l6ZTogICAgICAgICAgICAgICA0LjVyZW0gIWRlZmF1bHQ7XG4kZGlzcGxheTQtc2l6ZTogICAgICAgICAgICAgICAzLjVyZW0gIWRlZmF1bHQ7XG5cbiRkaXNwbGF5MS13ZWlnaHQ6ICAgICAgICAgICAgIDMwMCAhZGVmYXVsdDtcbiRkaXNwbGF5Mi13ZWlnaHQ6ICAgICAgICAgICAgIDMwMCAhZGVmYXVsdDtcbiRkaXNwbGF5My13ZWlnaHQ6ICAgICAgICAgICAgIDMwMCAhZGVmYXVsdDtcbiRkaXNwbGF5NC13ZWlnaHQ6ICAgICAgICAgICAgIDMwMCAhZGVmYXVsdDtcbiRkaXNwbGF5LWxpbmUtaGVpZ2h0OiAgICAgICAgICRoZWFkaW5ncy1saW5lLWhlaWdodCAhZGVmYXVsdDtcblxuJGxlYWQtZm9udC1zaXplOiAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS4yNSAhZGVmYXVsdDtcbiRsZWFkLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgIDMwMCAhZGVmYXVsdDtcblxuJHNtYWxsLWZvbnQtc2l6ZTogICAgICAgICAgICAgODAlICFkZWZhdWx0O1xuXG4kdGV4dC1tdXRlZDogICAgICAgICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG5cbiRibG9ja3F1b3RlLXNtYWxsLWNvbG9yOiAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRibG9ja3F1b3RlLXNtYWxsLWZvbnQtc2l6ZTogICRzbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kYmxvY2txdW90ZS1mb250LXNpemU6ICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjI1ICFkZWZhdWx0O1xuXG4kaHItYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjEpICFkZWZhdWx0O1xuJGhyLWJvcmRlci13aWR0aDogICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcblxuJG1hcmstcGFkZGluZzogICAgICAgICAgICAgICAgLjJlbSAhZGVmYXVsdDtcblxuJGR0LWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbiRrYmQtYm94LXNoYWRvdzogICAgICAgICAgICAgIGluc2V0IDAgLS4xcmVtIDAgcmdiYSgkYmxhY2ssIC4yNSkgIWRlZmF1bHQ7XG4kbmVzdGVkLWtiZC1mb250LXdlaWdodDogICAgICAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuJGxpc3QtaW5saW5lLXBhZGRpbmc6ICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG5cbiRtYXJrLWJnOiAgICAgICAgICAgICAgICAgICAgICNmY2Y4ZTMgIWRlZmF1bHQ7XG5cbiRoci1tYXJnaW4teTogICAgICAgICAgICAgICAgICRzcGFjZXIgIWRlZmF1bHQ7XG5cblxuLy8gVGFibGVzXG4vL1xuLy8gQ3VzdG9taXplcyB0aGUgYC50YWJsZWAgY29tcG9uZW50IHdpdGggYmFzaWMgdmFsdWVzLCBlYWNoIHVzZWQgYWNyb3NzIGFsbCB0YWJsZSB2YXJpYXRpb25zLlxuXG4kdGFibGUtY2VsbC1wYWRkaW5nOiAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kdGFibGUtY2VsbC1wYWRkaW5nLXNtOiAgICAgICAuM3JlbSAhZGVmYXVsdDtcblxuJHRhYmxlLWNvbG9yOiAgICAgICAgICAgICAgICAgJGJvZHktY29sb3IgIWRlZmF1bHQ7XG4kdGFibGUtYmc6ICAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJHRhYmxlLWFjY2VudC1iZzogICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4wNSkgIWRlZmF1bHQ7XG4kdGFibGUtaG92ZXItY29sb3I6ICAgICAgICAgICAkdGFibGUtY29sb3IgIWRlZmF1bHQ7XG4kdGFibGUtaG92ZXItYmc6ICAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjA3NSkgIWRlZmF1bHQ7XG4kdGFibGUtYWN0aXZlLWJnOiAgICAgICAgICAgICAkdGFibGUtaG92ZXItYmcgIWRlZmF1bHQ7XG5cbiR0YWJsZS1ib3JkZXItd2lkdGg6ICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kdGFibGUtYm9yZGVyLWNvbG9yOiAgICAgICAgICAkYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuXG4kdGFibGUtaGVhZC1iZzogICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kdGFibGUtaGVhZC1jb2xvcjogICAgICAgICAgICAkZ3JheS03MDAgIWRlZmF1bHQ7XG4kdGFibGUtdGgtZm9udC13ZWlnaHQ6ICAgICAgICBudWxsICFkZWZhdWx0O1xuXG4kdGFibGUtZGFyay1jb2xvcjogICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kdGFibGUtZGFyay1iZzogICAgICAgICAgICAgICAkZ3JheS04MDAgIWRlZmF1bHQ7XG4kdGFibGUtZGFyay1hY2NlbnQtYmc6ICAgICAgICByZ2JhKCR3aGl0ZSwgLjA1KSAhZGVmYXVsdDtcbiR0YWJsZS1kYXJrLWhvdmVyLWNvbG9yOiAgICAgICR0YWJsZS1kYXJrLWNvbG9yICFkZWZhdWx0O1xuJHRhYmxlLWRhcmstaG92ZXItYmc6ICAgICAgICAgcmdiYSgkd2hpdGUsIC4wNzUpICFkZWZhdWx0O1xuJHRhYmxlLWRhcmstYm9yZGVyLWNvbG9yOiAgICAgbGlnaHRlbigkdGFibGUtZGFyay1iZywgNy41JSkgIWRlZmF1bHQ7XG5cbiR0YWJsZS1zdHJpcGVkLW9yZGVyOiAgICAgICAgIG9kZCAhZGVmYXVsdDtcblxuJHRhYmxlLWNhcHRpb24tY29sb3I6ICAgICAgICAgJHRleHQtbXV0ZWQgIWRlZmF1bHQ7XG5cbiR0YWJsZS1iZy1sZXZlbDogICAgICAgICAgICAgIC05ICFkZWZhdWx0O1xuJHRhYmxlLWJvcmRlci1sZXZlbDogICAgICAgICAgLTYgIWRlZmF1bHQ7XG5cblxuLy8gQnV0dG9ucyArIEZvcm1zXG4vL1xuLy8gU2hhcmVkIHZhcmlhYmxlcyB0aGF0IGFyZSByZWFzc2lnbmVkIHRvIGAkaW5wdXQtYCBhbmQgYCRidG4tYCBzcGVjaWZpYyB2YXJpYWJsZXMuXG5cbiRpbnB1dC1idG4tcGFkZGluZy15OiAgICAgICAgIC4zNzVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLXBhZGRpbmcteDogICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvbnQtZmFtaWx5OiAgICAgICBudWxsICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb250LXNpemU6ICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1saW5lLWhlaWdodDogICAgICAgJGxpbmUtaGVpZ2h0LWJhc2UgIWRlZmF1bHQ7XG5cbiRpbnB1dC1idG4tZm9jdXMtd2lkdGg6ICAgICAgIC4ycmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb2N1cy1jb2xvcjogICAgICAgcmdiYSgkY29tcG9uZW50LWFjdGl2ZS1iZywgLjI1KSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9jdXMtYm94LXNoYWRvdzogIDAgMCAwICRpbnB1dC1idG4tZm9jdXMtd2lkdGggJGlucHV0LWJ0bi1mb2N1cy1jb2xvciAhZGVmYXVsdDtcblxuJGlucHV0LWJ0bi1wYWRkaW5nLXktc206ICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1wYWRkaW5nLXgtc206ICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvbnQtc2l6ZS1zbTogICAgICAkZm9udC1zaXplLXNtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1saW5lLWhlaWdodC1zbTogICAgJGxpbmUtaGVpZ2h0LXNtICFkZWZhdWx0O1xuXG4kaW5wdXQtYnRuLXBhZGRpbmcteS1sZzogICAgICAuNXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tcGFkZGluZy14LWxnOiAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvbnQtc2l6ZS1sZzogICAgICAkZm9udC1zaXplLWxnICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1saW5lLWhlaWdodC1sZzogICAgJGxpbmUtaGVpZ2h0LWxnICFkZWZhdWx0O1xuXG4kaW5wdXQtYnRuLWJvcmRlci13aWR0aDogICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuXG5cbi8vIEJ1dHRvbnNcbi8vXG4vLyBGb3IgZWFjaCBvZiBCb290c3RyYXAncyBidXR0b25zLCBkZWZpbmUgdGV4dCwgYmFja2dyb3VuZCwgYW5kIGJvcmRlciBjb2xvci5cblxuJGJ0bi1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4kYnRuLXBhZGRpbmcteDogICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteCAhZGVmYXVsdDtcbiRidG4tZm9udC1mYW1pbHk6ICAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kYnRuLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRidG4tbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG4kYnRuLXdoaXRlLXNwYWNlOiAgICAgICAgICAgICBudWxsICFkZWZhdWx0OyAvLyBTZXQgdG8gYG5vd3JhcGAgdG8gcHJldmVudCB0ZXh0IHdyYXBwaW5nXG5cbiRidG4tcGFkZGluZy15LXNtOiAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15LXNtICFkZWZhdWx0O1xuJGJ0bi1wYWRkaW5nLXgtc206ICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXgtc20gIWRlZmF1bHQ7XG4kYnRuLWZvbnQtc2l6ZS1zbTogICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcbiRidG4tbGluZS1oZWlnaHQtc206ICAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQtc20gIWRlZmF1bHQ7XG5cbiRidG4tcGFkZGluZy15LWxnOiAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15LWxnICFkZWZhdWx0O1xuJGJ0bi1wYWRkaW5nLXgtbGc6ICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXgtbGcgIWRlZmF1bHQ7XG4kYnRuLWZvbnQtc2l6ZS1sZzogICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcbiRidG4tbGluZS1oZWlnaHQtbGc6ICAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQtbGcgIWRlZmF1bHQ7XG5cbiRidG4tYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICRpbnB1dC1idG4tYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuXG4kYnRuLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAkZm9udC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuJGJ0bi1ib3gtc2hhZG93OiAgICAgICAgICAgICAgaW5zZXQgMCAxcHggMCByZ2JhKCR3aGl0ZSwgLjE1KSwgMCAxcHggMXB4IHJnYmEoJGJsYWNrLCAuMDc1KSAhZGVmYXVsdDtcbiRidG4tZm9jdXMtd2lkdGg6ICAgICAgICAgICAgICRpbnB1dC1idG4tZm9jdXMtd2lkdGggIWRlZmF1bHQ7XG4kYnRuLWZvY3VzLWJveC1zaGFkb3c6ICAgICAgICAkaW5wdXQtYnRuLWZvY3VzLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kYnRuLWRpc2FibGVkLW9wYWNpdHk6ICAgICAgICAuNjUgIWRlZmF1bHQ7XG4kYnRuLWFjdGl2ZS1ib3gtc2hhZG93OiAgICAgICBpbnNldCAwIDNweCA1cHggcmdiYSgkYmxhY2ssIC4xMjUpICFkZWZhdWx0O1xuXG4kYnRuLWxpbmstZGlzYWJsZWQtY29sb3I6ICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG5cbiRidG4tYmxvY2stc3BhY2luZy15OiAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuXG4vLyBBbGxvd3MgZm9yIGN1c3RvbWl6aW5nIGJ1dHRvbiByYWRpdXMgaW5kZXBlbmRlbnRseSBmcm9tIGdsb2JhbCBib3JkZXIgcmFkaXVzXG4kYnRuLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRidG4tYm9yZGVyLXJhZGl1cy1sZzogICAgICAgICRib3JkZXItcmFkaXVzLWxnICFkZWZhdWx0O1xuJGJ0bi1ib3JkZXItcmFkaXVzLXNtOiAgICAgICAgJGJvcmRlci1yYWRpdXMtc20gIWRlZmF1bHQ7XG5cbiRidG4tdHJhbnNpdGlvbjogICAgICAgICAgICAgIGNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJhY2tncm91bmQtY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm9yZGVyLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJveC1zaGFkb3cgLjE1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuXG4vLyBGb3Jtc1xuXG4kbGFiZWwtbWFyZ2luLWJvdHRvbTogICAgICAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG5cbiRpbnB1dC1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteSAhZGVmYXVsdDtcbiRpbnB1dC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteCAhZGVmYXVsdDtcbiRpbnB1dC1mb250LWZhbWlseTogICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJGlucHV0LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1zaXplICFkZWZhdWx0O1xuJGlucHV0LWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAgICAgICAgICRmb250LXdlaWdodC1iYXNlICFkZWZhdWx0O1xuJGlucHV0LWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG5cbiRpbnB1dC1wYWRkaW5nLXktc206ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteS1zbSAhZGVmYXVsdDtcbiRpbnB1dC1wYWRkaW5nLXgtc206ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteC1zbSAhZGVmYXVsdDtcbiRpbnB1dC1mb250LXNpemUtc206ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcbiRpbnB1dC1saW5lLWhlaWdodC1zbTogICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LXNtICFkZWZhdWx0O1xuXG4kaW5wdXQtcGFkZGluZy15LWxnOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXktbGcgIWRlZmF1bHQ7XG4kaW5wdXQtcGFkZGluZy14LWxnOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXgtbGcgIWRlZmF1bHQ7XG4kaW5wdXQtZm9udC1zaXplLWxnOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LXNpemUtbGcgIWRlZmF1bHQ7XG4kaW5wdXQtbGluZS1oZWlnaHQtbGc6ICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1saW5lLWhlaWdodC1sZyAhZGVmYXVsdDtcblxuJGlucHV0LWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRpbnB1dC1kaXNhYmxlZC1iZzogICAgICAgICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG5cbiRpbnB1dC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAkZ3JheS03MDAgIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgJGdyYXktNDAwICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGlucHV0LWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgICAgICAgIGluc2V0IDAgMXB4IDFweCByZ2JhKCRibGFjaywgLjA3NSkgIWRlZmF1bHQ7XG5cbiRpbnB1dC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRpbnB1dC1ib3JkZXItcmFkaXVzLWxnOiAgICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cy1sZyAhZGVmYXVsdDtcbiRpbnB1dC1ib3JkZXItcmFkaXVzLXNtOiAgICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cy1zbSAhZGVmYXVsdDtcblxuJGlucHV0LWZvY3VzLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1iZyAhZGVmYXVsdDtcbiRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICBsaWdodGVuKCRjb21wb25lbnQtYWN0aXZlLWJnLCAyNSUpICFkZWZhdWx0O1xuJGlucHV0LWZvY3VzLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1jb2xvciAhZGVmYXVsdDtcbiRpbnB1dC1mb2N1cy13aWR0aDogICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvY3VzLXdpZHRoICFkZWZhdWx0O1xuJGlucHV0LWZvY3VzLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9jdXMtYm94LXNoYWRvdyAhZGVmYXVsdDtcblxuJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yOiAgICAgICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRpbnB1dC1wbGFpbnRleHQtY29sb3I6ICAgICAgICAgICAgICAgICAkYm9keS1jb2xvciAhZGVmYXVsdDtcblxuJGlucHV0LWhlaWdodC1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICRpbnB1dC1ib3JkZXItd2lkdGggKiAyICFkZWZhdWx0O1xuXG4kaW5wdXQtaGVpZ2h0LWlubmVyOiAgICAgICAgICAgICAgICAgICAgYWRkKCRpbnB1dC1saW5lLWhlaWdodCAqIDFlbSwgJGlucHV0LXBhZGRpbmcteSAqIDIpICFkZWZhdWx0O1xuJGlucHV0LWhlaWdodC1pbm5lci1oYWxmOiAgICAgICAgICAgICAgIGFkZCgkaW5wdXQtbGluZS1oZWlnaHQgKiAuNWVtLCAkaW5wdXQtcGFkZGluZy15KSAhZGVmYXVsdDtcbiRpbnB1dC1oZWlnaHQtaW5uZXItcXVhcnRlcjogICAgICAgICAgICBhZGQoJGlucHV0LWxpbmUtaGVpZ2h0ICogLjI1ZW0sICRpbnB1dC1wYWRkaW5nLXkgLyAyKSAhZGVmYXVsdDtcblxuJGlucHV0LWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgIGFkZCgkaW5wdXQtbGluZS1oZWlnaHQgKiAxZW0sIGFkZCgkaW5wdXQtcGFkZGluZy15ICogMiwgJGlucHV0LWhlaWdodC1ib3JkZXIsIGZhbHNlKSkgIWRlZmF1bHQ7XG4kaW5wdXQtaGVpZ2h0LXNtOiAgICAgICAgICAgICAgICAgICAgICAgYWRkKCRpbnB1dC1saW5lLWhlaWdodC1zbSAqIDFlbSwgYWRkKCRpbnB1dC1wYWRkaW5nLXktc20gKiAyLCAkaW5wdXQtaGVpZ2h0LWJvcmRlciwgZmFsc2UpKSAhZGVmYXVsdDtcbiRpbnB1dC1oZWlnaHQtbGc6ICAgICAgICAgICAgICAgICAgICAgICBhZGQoJGlucHV0LWxpbmUtaGVpZ2h0LWxnICogMWVtLCBhZGQoJGlucHV0LXBhZGRpbmcteS1sZyAqIDIsICRpbnB1dC1oZWlnaHQtYm9yZGVyLCBmYWxzZSkpICFkZWZhdWx0O1xuXG4kaW5wdXQtdHJhbnNpdGlvbjogICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJveC1zaGFkb3cgLjE1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuJGZvcm0tdGV4dC1tYXJnaW4tdG9wOiAgICAgICAgICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcblxuJGZvcm0tY2hlY2staW5wdXQtZ3V0dGVyOiAgICAgICAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1pbnB1dC1tYXJnaW4teTogICAgICAgICAgICAgLjNyZW0gIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1pbnB1dC1tYXJnaW4teDogICAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuXG4kZm9ybS1jaGVjay1pbmxpbmUtbWFyZ2luLXg6ICAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJGZvcm0tY2hlY2staW5saW5lLWlucHV0LW1hcmdpbi14OiAgICAgIC4zMTI1cmVtICFkZWZhdWx0O1xuXG4kZm9ybS1ncmlkLWd1dHRlci13aWR0aDogICAgICAgICAgICAgICAgMTBweCAhZGVmYXVsdDtcbiRmb3JtLWdyb3VwLW1hcmdpbi1ib3R0b206ICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuXG4kaW5wdXQtZ3JvdXAtYWRkb24tY29sb3I6ICAgICAgICAgICAgICAgJGlucHV0LWNvbG9yICFkZWZhdWx0O1xuJGlucHV0LWdyb3VwLWFkZG9uLWJnOiAgICAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRpbnB1dC1ncm91cC1hZGRvbi1ib3JkZXItY29sb3I6ICAgICAgICAkaW5wdXQtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuXG4kY3VzdG9tLWZvcm1zLXRyYW5zaXRpb246ICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3JkZXItY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm94LXNoYWRvdyAuMTVzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNvbnRyb2wtZ3V0dGVyOiAgICAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtc3BhY2VyLXg6ICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1jdXJzb3I6ICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemU6ICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYmc6ICAgICAgICAgICAkaW5wdXQtYmcgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYmctc2l6ZTogICAgICA1MCUgNTAlICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1ib3gtc2hhZG93OiAgICRpbnB1dC1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1ib3JkZXItY29sb3I6ICRncmF5LTUwMCAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm9yZGVyLXdpZHRoOiAkaW5wdXQtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNvbnRyb2wtbGFiZWwtY29sb3I6ICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcblxuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1kaXNhYmxlZC1iZzogICAgICAgICAgJGlucHV0LWRpc2FibGVkLWJnICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWxhYmVsLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtY29sb3I6ICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1iZzogICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWRpc2FibGVkLWJnOiAgcmdiYSh0aGVtZS1jb2xvcihcInByaW1hcnlcIiksIC41KSAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1ib3gtc2hhZG93OiAgIG51bGwgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtYm9yZGVyLWNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtYmcgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItZm9jdXMtYm94LXNoYWRvdzogICAgICRpbnB1dC1mb2N1cy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1mb2N1cy1ib3JkZXItY29sb3I6ICAgJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcblxuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1hY3RpdmUtY29sb3I6ICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWFjdGl2ZS1iZzogICAgICAgICAgICBsaWdodGVuKCRjb21wb25lbnQtYWN0aXZlLWJnLCAzNSUpICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1hY3RpdmUtYm94LXNoYWRvdzogICAgbnVsbCAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYWN0aXZlLWJvcmRlci1jb2xvcjogICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYWN0aXZlLWJnICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1ib3JkZXItcmFkaXVzOiAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWljb24tY2hlY2tlZDogICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzgnIGhlaWdodD0nOCcgdmlld0JveD0nMCAwIDggOCc+PHBhdGggZmlsbD0nI3skY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtY29sb3J9JyBkPSdNNi41NjQuNzVsLTMuNTkgMy42MTItMS41MzgtMS41NUwwIDQuMjZsMi45NzQgMi45OUw4IDIuMTkzeicvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcblxuJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaW5kZXRlcm1pbmF0ZS1iZzogICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaW5kZXRlcm1pbmF0ZS1jb2xvcjogICAgICAgICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWljb24taW5kZXRlcm1pbmF0ZTogICAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPSc0JyBoZWlnaHQ9JzQnIHZpZXdCb3g9JzAgMCA0IDQnPjxwYXRoIHN0cm9rZT0nI3skY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pbmRldGVybWluYXRlLWNvbG9yfScgZD0nTTAgMmg0Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaW5kZXRlcm1pbmF0ZS1ib3gtc2hhZG93OiAgIG51bGwgIWRlZmF1bHQ7XG4kY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pbmRldGVybWluYXRlLWJvcmRlci1jb2xvcjogJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaW5kZXRlcm1pbmF0ZS1iZyAhZGVmYXVsdDtcblxuJGN1c3RvbS1yYWRpby1pbmRpY2F0b3ItYm9yZGVyLXJhZGl1czogICAgICAgICAgNTAlICFkZWZhdWx0O1xuJGN1c3RvbS1yYWRpby1pbmRpY2F0b3ItaWNvbi1jaGVja2VkOiAgICAgICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTInIGhlaWdodD0nMTInIHZpZXdCb3g9Jy00IC00IDggOCc+PGNpcmNsZSByPSczJyBmaWxsPScjeyRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1jb2xvcn0nLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG5cbiRjdXN0b20tc3dpdGNoLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZSAqIDEuNzUgIWRlZmF1bHQ7XG4kY3VzdG9tLXN3aXRjaC1pbmRpY2F0b3ItYm9yZGVyLXJhZGl1czogICAgICAgICAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemUgLyAyICFkZWZhdWx0O1xuJGN1c3RvbS1zd2l0Y2gtaW5kaWNhdG9yLXNpemU6ICAgICAgICAgICAgICAgICAgc3VidHJhY3QoJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplLCAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJvcmRlci13aWR0aCAqIDQpICFkZWZhdWx0O1xuXG4kY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXk6ICAgICAgICAgICAkaW5wdXQtcGFkZGluZy15ICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14OiAgICAgICAgICAgJGlucHV0LXBhZGRpbmcteCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWZvbnQtZmFtaWx5OiAgICAgICAgICRpbnB1dC1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWZvbnQtc2l6ZTogICAgICAgICAgICRpbnB1dC1mb250LXNpemUgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1oZWlnaHQ6ICAgICAgICAgICAgICAkaW5wdXQtaGVpZ2h0ICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLXBhZGRpbmc6ICAgMXJlbSAhZGVmYXVsdDsgLy8gRXh0cmEgcGFkZGluZyB0byBhY2NvdW50IGZvciB0aGUgcHJlc2VuY2Ugb2YgdGhlIGJhY2tncm91bmQtaW1hZ2UgYmFzZWQgaW5kaWNhdG9yXG4kY3VzdG9tLXNlbGVjdC1mb250LXdlaWdodDogICAgICAgICAkaW5wdXQtZm9udC13ZWlnaHQgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1saW5lLWhlaWdodDogICAgICAgICAkaW5wdXQtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1jb2xvcjogICAgICAgICAgICAgICAkaW5wdXQtY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1kaXNhYmxlZC1jb2xvcjogICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1iZzogICAgICAgICAgICAgICAgICAkaW5wdXQtYmcgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1kaXNhYmxlZC1iZzogICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1iZy1zaXplOiAgICAgICAgICAgICA4cHggMTBweCAhZGVmYXVsdDsgLy8gSW4gcGl4ZWxzIGJlY2F1c2UgaW1hZ2UgZGltZW5zaW9uc1xuJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLWNvbG9yOiAgICAgJGdyYXktODAwICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yOiAgICAgICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nNCcgaGVpZ2h0PSc1JyB2aWV3Qm94PScwIDAgNCA1Jz48cGF0aCBmaWxsPScjeyRjdXN0b20tc2VsZWN0LWluZGljYXRvci1jb2xvcn0nIGQ9J00yIDBMMCAyaDR6bTAgNUwwIDNoNHonLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1iYWNrZ3JvdW5kOiAgICAgICAgICBlc2NhcGUtc3ZnKCRjdXN0b20tc2VsZWN0LWluZGljYXRvcikgcmlnaHQgJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14IGNlbnRlciAvICRjdXN0b20tc2VsZWN0LWJnLXNpemUgbm8tcmVwZWF0ICFkZWZhdWx0OyAvLyBVc2VkIHNvIHdlIGNhbiBoYXZlIG11bHRpcGxlIGJhY2tncm91bmQgZWxlbWVudHMgKGUuZy4sIGFycm93IGFuZCBmZWVkYmFjayBpY29uKVxuXG4kY3VzdG9tLXNlbGVjdC1mZWVkYmFjay1pY29uLXBhZGRpbmctcmlnaHQ6IGFkZCgxZW0gKiAuNzUsICgyICogJGN1c3RvbS1zZWxlY3QtcGFkZGluZy15ICogLjc1KSArICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteCArICRjdXN0b20tc2VsZWN0LWluZGljYXRvci1wYWRkaW5nKSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWZlZWRiYWNrLWljb24tcG9zaXRpb246ICAgICAgY2VudGVyIHJpZ2h0ICgkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXggKyAkY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItcGFkZGluZykgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1mZWVkYmFjay1pY29uLXNpemU6ICAgICAgICAgICRpbnB1dC1oZWlnaHQtaW5uZXItaGFsZiAkaW5wdXQtaGVpZ2h0LWlubmVyLWhhbGYgIWRlZmF1bHQ7XG5cbiRjdXN0b20tc2VsZWN0LWJvcmRlci13aWR0aDogICAgICAgICRpbnB1dC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1ib3JkZXItY29sb3I6ICAgICAgICAkaW5wdXQtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtYm9yZGVyLXJhZGl1czogICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1ib3gtc2hhZG93OiAgICAgICAgICBpbnNldCAwIDFweCAycHggcmdiYSgkYmxhY2ssIC4wNzUpICFkZWZhdWx0O1xuXG4kY3VzdG9tLXNlbGVjdC1mb2N1cy1ib3JkZXItY29sb3I6ICAkaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZm9jdXMtd2lkdGg6ICAgICAgICAgJGlucHV0LWZvY3VzLXdpZHRoICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZm9jdXMtYm94LXNoYWRvdzogICAgMCAwIDAgJGN1c3RvbS1zZWxlY3QtZm9jdXMtd2lkdGggJGlucHV0LWJ0bi1mb2N1cy1jb2xvciAhZGVmYXVsdDtcblxuJGN1c3RvbS1zZWxlY3QtcGFkZGluZy15LXNtOiAgICAgICAgJGlucHV0LXBhZGRpbmcteS1zbSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LXBhZGRpbmcteC1zbTogICAgICAgICRpbnB1dC1wYWRkaW5nLXgtc20gIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1mb250LXNpemUtc206ICAgICAgICAkaW5wdXQtZm9udC1zaXplLXNtICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtaGVpZ2h0LXNtOiAgICAgICAgICAgJGlucHV0LWhlaWdodC1zbSAhZGVmYXVsdDtcblxuJGN1c3RvbS1zZWxlY3QtcGFkZGluZy15LWxnOiAgICAgICAgJGlucHV0LXBhZGRpbmcteS1sZyAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LXBhZGRpbmcteC1sZzogICAgICAgICRpbnB1dC1wYWRkaW5nLXgtbGcgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1mb250LXNpemUtbGc6ICAgICAgICAkaW5wdXQtZm9udC1zaXplLWxnICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtaGVpZ2h0LWxnOiAgICAgICAgICAgJGlucHV0LWhlaWdodC1sZyAhZGVmYXVsdDtcblxuJGN1c3RvbS1yYW5nZS10cmFjay13aWR0aDogICAgICAgICAgMTAwJSAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdHJhY2staGVpZ2h0OiAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10cmFjay1jdXJzb3I6ICAgICAgICAgcG9pbnRlciAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdHJhY2stYmc6ICAgICAgICAgICAgICRncmF5LTMwMCAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdHJhY2stYm9yZGVyLXJhZGl1czogIDFyZW0gIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRyYWNrLWJveC1zaGFkb3c6ICAgICBpbnNldCAwIC4yNXJlbSAuMjVyZW0gcmdiYSgkYmxhY2ssIC4xKSAhZGVmYXVsdDtcblxuJGN1c3RvbS1yYW5nZS10aHVtYi13aWR0aDogICAgICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdGh1bWItaGVpZ2h0OiAgICAgICAgICAgICAgICAgICRjdXN0b20tcmFuZ2UtdGh1bWItd2lkdGggIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRodW1iLWJnOiAgICAgICAgICAgICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdGh1bWItYm9yZGVyOiAgICAgICAgICAgICAgICAgIDAgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRodW1iLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10aHVtYi1ib3gtc2hhZG93OiAgICAgICAgICAgICAgMCAuMXJlbSAuMjVyZW0gcmdiYSgkYmxhY2ssIC4xKSAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdGh1bWItZm9jdXMtYm94LXNoYWRvdzogICAgICAgIDAgMCAwIDFweCAkYm9keS1iZywgJGlucHV0LWZvY3VzLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRodW1iLWZvY3VzLWJveC1zaGFkb3ctd2lkdGg6ICAkaW5wdXQtZm9jdXMtd2lkdGggIWRlZmF1bHQ7IC8vIEZvciBmb2N1cyBib3ggc2hhZG93IGlzc3VlIGluIElFL0VkZ2VcbiRjdXN0b20tcmFuZ2UtdGh1bWItYWN0aXZlLWJnOiAgICAgICAgICAgICAgIGxpZ2h0ZW4oJGNvbXBvbmVudC1hY3RpdmUtYmcsIDM1JSkgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRodW1iLWRpc2FibGVkLWJnOiAgICAgICAgICAgICAkZ3JheS01MDAgIWRlZmF1bHQ7XG5cbiRjdXN0b20tZmlsZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICRpbnB1dC1oZWlnaHQgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtaGVpZ2h0LWlubmVyOiAgICAgICAgICAkaW5wdXQtaGVpZ2h0LWlubmVyICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWZvY3VzLWJvcmRlci1jb2xvcjogICAgJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1mb2N1cy1ib3gtc2hhZG93OiAgICAgICRpbnB1dC1mb2N1cy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWRpc2FibGVkLWJnOiAgICAgICAgICAgJGlucHV0LWRpc2FibGVkLWJnICFkZWZhdWx0O1xuXG4kY3VzdG9tLWZpbGUtcGFkZGluZy15OiAgICAgICAgICAgICAkaW5wdXQtcGFkZGluZy15ICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLXBhZGRpbmcteDogICAgICAgICAgICAgJGlucHV0LXBhZGRpbmcteCAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1saW5lLWhlaWdodDogICAgICAgICAgICRpbnB1dC1saW5lLWhlaWdodCAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1mb250LWZhbWlseTogICAgICAgICAgICRpbnB1dC1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1mb250LXdlaWdodDogICAgICAgICAgICRpbnB1dC1mb250LXdlaWdodCAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1jb2xvcjogICAgICAgICAgICAgICAgICRpbnB1dC1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1iZzogICAgICAgICAgICAgICAgICAgICRpbnB1dC1iZyAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1ib3JkZXItd2lkdGg6ICAgICAgICAgICRpbnB1dC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtYm9yZGVyLWNvbG9yOiAgICAgICAgICAkaW5wdXQtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWJvcmRlci1yYWRpdXM6ICAgICAgICAgJGlucHV0LWJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtYm94LXNoYWRvdzogICAgICAgICAgICAkaW5wdXQtYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1idXR0b24tY29sb3I6ICAgICAgICAgICRjdXN0b20tZmlsZS1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1idXR0b24tYmc6ICAgICAgICAgICAgICRpbnB1dC1ncm91cC1hZGRvbi1iZyAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS10ZXh0OiAoXG4gIGVuOiBcIkJyb3dzZVwiXG4pICFkZWZhdWx0O1xuXG5cbi8vIEZvcm0gdmFsaWRhdGlvblxuXG4kZm9ybS1mZWVkYmFjay1tYXJnaW4tdG9wOiAgICAgICAgICAkZm9ybS10ZXh0LW1hcmdpbi10b3AgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay1mb250LXNpemU6ICAgICAgICAgICAkc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stdmFsaWQtY29sb3I6ICAgICAgICAgdGhlbWUtY29sb3IoXCJzdWNjZXNzXCIpICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2staW52YWxpZC1jb2xvcjogICAgICAgdGhlbWUtY29sb3IoXCJkYW5nZXJcIikgIWRlZmF1bHQ7XG5cbiRmb3JtLWZlZWRiYWNrLWljb24tdmFsaWQtY29sb3I6ICAgICRmb3JtLWZlZWRiYWNrLXZhbGlkLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2staWNvbi12YWxpZDogICAgICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nOCcgaGVpZ2h0PSc4JyB2aWV3Qm94PScwIDAgOCA4Jz48cGF0aCBmaWxsPScjeyRmb3JtLWZlZWRiYWNrLWljb24tdmFsaWQtY29sb3J9JyBkPSdNMi4zIDYuNzNMLjYgNC41M2MtLjQtMS4wNC40Ni0xLjQgMS4xLS44bDEuMSAxLjQgMy40LTMuOGMuNi0uNjMgMS42LS4yNyAxLjIuN2wtNCA0LjZjLS40My41LS44LjQtMS4xLjF6Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2staWNvbi1pbnZhbGlkLWNvbG9yOiAgJGZvcm0tZmVlZGJhY2staW52YWxpZC1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLWljb24taW52YWxpZDogICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzEyJyBoZWlnaHQ9JzEyJyBmaWxsPSdub25lJyBzdHJva2U9JyN7JGZvcm0tZmVlZGJhY2staWNvbi1pbnZhbGlkLWNvbG9yfScgdmlld0JveD0nMCAwIDEyIDEyJz48Y2lyY2xlIGN4PSc2JyBjeT0nNicgcj0nNC41Jy8+PHBhdGggc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcgZD0nTTUuOCAzLjZoLjRMNiA2LjV6Jy8+PGNpcmNsZSBjeD0nNicgY3k9JzguMicgcj0nLjYnIGZpbGw9JyN7JGZvcm0tZmVlZGJhY2staWNvbi1pbnZhbGlkLWNvbG9yfScgc3Ryb2tlPSdub25lJy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuXG4kZm9ybS12YWxpZGF0aW9uLXN0YXRlczogKCkgIWRlZmF1bHQ7XG4kZm9ybS12YWxpZGF0aW9uLXN0YXRlczogbWFwLW1lcmdlKFxuICAoXG4gICAgXCJ2YWxpZFwiOiAoXG4gICAgICBcImNvbG9yXCI6ICRmb3JtLWZlZWRiYWNrLXZhbGlkLWNvbG9yLFxuICAgICAgXCJpY29uXCI6ICRmb3JtLWZlZWRiYWNrLWljb24tdmFsaWRcbiAgICApLFxuICAgIFwiaW52YWxpZFwiOiAoXG4gICAgICBcImNvbG9yXCI6ICRmb3JtLWZlZWRiYWNrLWludmFsaWQtY29sb3IsXG4gICAgICBcImljb25cIjogJGZvcm0tZmVlZGJhY2staWNvbi1pbnZhbGlkXG4gICAgKSxcbiAgKSxcbiAgJGZvcm0tdmFsaWRhdGlvbi1zdGF0ZXNcbik7XG5cbi8vIFotaW5kZXggbWFzdGVyIGxpc3Rcbi8vXG4vLyBXYXJuaW5nOiBBdm9pZCBjdXN0b21pemluZyB0aGVzZSB2YWx1ZXMuIFRoZXkncmUgdXNlZCBmb3IgYSBiaXJkJ3MgZXllIHZpZXdcbi8vIG9mIGNvbXBvbmVudHMgZGVwZW5kZW50IG9uIHRoZSB6LWF4aXMgYW5kIGFyZSBkZXNpZ25lZCB0byBhbGwgd29yayB0b2dldGhlci5cblxuJHppbmRleC1kcm9wZG93bjogICAgICAgICAgICAgICAgICAgMTAwMCAhZGVmYXVsdDtcbiR6aW5kZXgtc3RpY2t5OiAgICAgICAgICAgICAgICAgICAgIDEwMjAgIWRlZmF1bHQ7XG4kemluZGV4LWZpeGVkOiAgICAgICAgICAgICAgICAgICAgICAxMDMwICFkZWZhdWx0O1xuJHppbmRleC1tb2RhbC1iYWNrZHJvcDogICAgICAgICAgICAgMTA0MCAhZGVmYXVsdDtcbiR6aW5kZXgtbW9kYWw6ICAgICAgICAgICAgICAgICAgICAgIDEwNTAgIWRlZmF1bHQ7XG4kemluZGV4LXBvcG92ZXI6ICAgICAgICAgICAgICAgICAgICAxMDYwICFkZWZhdWx0O1xuJHppbmRleC10b29sdGlwOiAgICAgICAgICAgICAgICAgICAgMTA3MCAhZGVmYXVsdDtcblxuXG4vLyBOYXZzXG5cbiRuYXYtbGluay1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJG5hdi1saW5rLXBhZGRpbmcteDogICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRuYXYtbGluay1kaXNhYmxlZC1jb2xvcjogICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcblxuJG5hdi10YWJzLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgJGdyYXktMzAwICFkZWZhdWx0O1xuJG5hdi10YWJzLWJvcmRlci13aWR0aDogICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRuYXYtdGFicy1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJG5hdi10YWJzLWxpbmstaG92ZXItYm9yZGVyLWNvbG9yOiAgJGdyYXktMjAwICRncmF5LTIwMCAkbmF2LXRhYnMtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJG5hdi10YWJzLWxpbmstYWN0aXZlLWNvbG9yOiAgICAgICAgJGdyYXktNzAwICFkZWZhdWx0O1xuJG5hdi10YWJzLWxpbmstYWN0aXZlLWJnOiAgICAgICAgICAgJGJvZHktYmcgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtbGluay1hY3RpdmUtYm9yZGVyLWNvbG9yOiAkZ3JheS0zMDAgJGdyYXktMzAwICRuYXYtdGFicy1saW5rLWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJG5hdi1waWxscy1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kbmF2LXBpbGxzLWxpbmstYWN0aXZlLWNvbG9yOiAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRuYXYtcGlsbHMtbGluay1hY3RpdmUtYmc6ICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuXG4kbmF2LWRpdmlkZXItY29sb3I6ICAgICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kbmF2LWRpdmlkZXItbWFyZ2luLXk6ICAgICAgICAgICAgICAkc3BhY2VyIC8gMiAhZGVmYXVsdDtcblxuXG4vLyBOYXZiYXJcblxuJG5hdmJhci1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgJHNwYWNlciAvIDIgIWRlZmF1bHQ7XG4kbmF2YmFyLXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuXG4kbmF2YmFyLW5hdi1saW5rLXBhZGRpbmcteDogICAgICAgICAuNXJlbSAhZGVmYXVsdDtcblxuJG5hdmJhci1icmFuZC1mb250LXNpemU6ICAgICAgICAgICAgJGZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcbi8vIENvbXB1dGUgdGhlIG5hdmJhci1icmFuZCBwYWRkaW5nLXkgc28gdGhlIG5hdmJhci1icmFuZCB3aWxsIGhhdmUgdGhlIHNhbWUgaGVpZ2h0IGFzIG5hdmJhci10ZXh0IGFuZCBuYXYtbGlua1xuJG5hdi1saW5rLWhlaWdodDogICAgICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogJGxpbmUtaGVpZ2h0LWJhc2UgKyAkbmF2LWxpbmstcGFkZGluZy15ICogMiAhZGVmYXVsdDtcbiRuYXZiYXItYnJhbmQtaGVpZ2h0OiAgICAgICAgICAgICAgICRuYXZiYXItYnJhbmQtZm9udC1zaXplICogJGxpbmUtaGVpZ2h0LWJhc2UgIWRlZmF1bHQ7XG4kbmF2YmFyLWJyYW5kLXBhZGRpbmcteTogICAgICAgICAgICAoJG5hdi1saW5rLWhlaWdodCAtICRuYXZiYXItYnJhbmQtaGVpZ2h0KSAvIDIgIWRlZmF1bHQ7XG5cbiRuYXZiYXItdG9nZ2xlci1wYWRkaW5nLXk6ICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiRuYXZiYXItdG9nZ2xlci1wYWRkaW5nLXg6ICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRuYXZiYXItdG9nZ2xlci1mb250LXNpemU6ICAgICAgICAgICRmb250LXNpemUtbGcgIWRlZmF1bHQ7XG4kbmF2YmFyLXRvZ2dsZXItYm9yZGVyLXJhZGl1czogICAgICAkYnRuLWJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG5cbiRuYXZiYXItbmF2LXNjcm9sbC1tYXgtaGVpZ2h0OiAgICAgIDc1dmggIWRlZmF1bHQ7XG5cbiRuYXZiYXItZGFyay1jb2xvcjogICAgICAgICAgICAgICAgIHJnYmEoJHdoaXRlLCAuNSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstaG92ZXItY29sb3I6ICAgICAgICAgICByZ2JhKCR3aGl0ZSwgLjc1KSAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay1hY3RpdmUtY29sb3I6ICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay1kaXNhYmxlZC1jb2xvcjogICAgICAgIHJnYmEoJHdoaXRlLCAuMjUpICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLXRvZ2dsZXItaWNvbi1iZzogICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMzAnIGhlaWdodD0nMzAnIHZpZXdCb3g9JzAgMCAzMCAzMCc+PHBhdGggc3Ryb2tlPScjeyRuYXZiYXItZGFyay1jb2xvcn0nIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLW1pdGVybGltaXQ9JzEwJyBzdHJva2Utd2lkdGg9JzInIGQ9J000IDdoMjJNNCAxNWgyMk00IDIzaDIyJy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLXRvZ2dsZXItYm9yZGVyLWNvbG9yOiAgcmdiYSgkd2hpdGUsIC4xKSAhZGVmYXVsdDtcblxuJG5hdmJhci1saWdodC1jb2xvcjogICAgICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC41KSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtaG92ZXItY29sb3I6ICAgICAgICAgIHJnYmEoJGJsYWNrLCAuNykgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LWFjdGl2ZS1jb2xvcjogICAgICAgICByZ2JhKCRibGFjaywgLjkpICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC1kaXNhYmxlZC1jb2xvcjogICAgICAgcmdiYSgkYmxhY2ssIC4zKSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtdG9nZ2xlci1pY29uLWJnOiAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzMwJyBoZWlnaHQ9JzMwJyB2aWV3Qm94PScwIDAgMzAgMzAnPjxwYXRoIHN0cm9rZT0nI3skbmF2YmFyLWxpZ2h0LWNvbG9yfScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbWl0ZXJsaW1pdD0nMTAnIHN0cm9rZS13aWR0aD0nMicgZD0nTTQgN2gyMk00IDE1aDIyTTQgMjNoMjInLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LXRvZ2dsZXItYm9yZGVyLWNvbG9yOiByZ2JhKCRibGFjaywgLjEpICFkZWZhdWx0O1xuXG4kbmF2YmFyLWxpZ2h0LWJyYW5kLWNvbG9yOiAgICAgICAgICAgICAgICAkbmF2YmFyLWxpZ2h0LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtYnJhbmQtaG92ZXItY29sb3I6ICAgICAgICAgICRuYXZiYXItbGlnaHQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLWJyYW5kLWNvbG9yOiAgICAgICAgICAgICAgICAgJG5hdmJhci1kYXJrLWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay1icmFuZC1ob3Zlci1jb2xvcjogICAgICAgICAgICRuYXZiYXItZGFyay1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG5cblxuLy8gRHJvcGRvd25zXG4vL1xuLy8gRHJvcGRvd24gbWVudSBjb250YWluZXIgYW5kIGNvbnRlbnRzLlxuXG4kZHJvcGRvd24tbWluLXdpZHRoOiAgICAgICAgICAgICAgICAxMHJlbSAhZGVmYXVsdDtcbiRkcm9wZG93bi1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgIDAgIWRlZmF1bHQ7XG4kZHJvcGRvd24tcGFkZGluZy15OiAgICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRkcm9wZG93bi1zcGFjZXI6ICAgICAgICAgICAgICAgICAgIC4xMjVyZW0gIWRlZmF1bHQ7XG4kZHJvcGRvd24tZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgIWRlZmF1bHQ7XG4kZHJvcGRvd24tY29sb3I6ICAgICAgICAgICAgICAgICAgICAkYm9keS1jb2xvciAhZGVmYXVsdDtcbiRkcm9wZG93bi1iZzogICAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRkcm9wZG93bi1ib3JkZXItY29sb3I6ICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMTUpICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGRyb3Bkb3duLWlubmVyLWJvcmRlci1yYWRpdXM6ICAgICAgc3VidHJhY3QoJGRyb3Bkb3duLWJvcmRlci1yYWRpdXMsICRkcm9wZG93bi1ib3JkZXItd2lkdGgpICFkZWZhdWx0O1xuJGRyb3Bkb3duLWRpdmlkZXItYmc6ICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJGRyb3Bkb3duLWRpdmlkZXItbWFyZ2luLXk6ICAgICAgICAgJG5hdi1kaXZpZGVyLW1hcmdpbi15ICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgMCAuNXJlbSAxcmVtIHJnYmEoJGJsYWNrLCAuMTc1KSAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLWxpbmstY29sb3I6ICAgICAgICAgICAgICAgJGdyYXktOTAwICFkZWZhdWx0O1xuJGRyb3Bkb3duLWxpbmstaG92ZXItY29sb3I6ICAgICAgICAgZGFya2VuKCRncmF5LTkwMCwgNSUpICFkZWZhdWx0O1xuJGRyb3Bkb3duLWxpbmstaG92ZXItYmc6ICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuXG4kZHJvcGRvd24tbGluay1hY3RpdmUtY29sb3I6ICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRkcm9wZG93bi1saW5rLWFjdGl2ZS1iZzogICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuXG4kZHJvcGRvd24tbGluay1kaXNhYmxlZC1jb2xvcjogICAgICAkZ3JheS01MDAgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1pdGVtLXBhZGRpbmcteTogICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiRkcm9wZG93bi1pdGVtLXBhZGRpbmcteDogICAgICAgICAgIDEuNXJlbSAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLWhlYWRlci1jb2xvcjogICAgICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJGRyb3Bkb3duLWhlYWRlci1wYWRkaW5nOiAgICAgICAgICAgJGRyb3Bkb3duLXBhZGRpbmcteSAkZHJvcGRvd24taXRlbS1wYWRkaW5nLXggIWRlZmF1bHQ7XG5cblxuLy8gUGFnaW5hdGlvblxuXG4kcGFnaW5hdGlvbi1wYWRkaW5nLXk6ICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteDogICAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteS1zbTogICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteC1zbTogICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tcGFkZGluZy15LWxnOiAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tcGFkZGluZy14LWxnOiAgICAgICAgICAgMS41cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tbGluZS1oZWlnaHQ6ICAgICAgICAgICAgMS4yNSAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tY29sb3I6ICAgICAgICAgICAgICAgICAgJGxpbmstY29sb3IgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1iZzogICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ib3JkZXItd2lkdGg6ICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYm9yZGVyLWNvbG9yOiAgICAgICAgICAgJGdyYXktMzAwICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1mb2N1cy1ib3gtc2hhZG93OiAgICAgICAkaW5wdXQtYnRuLWZvY3VzLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1mb2N1cy1vdXRsaW5lOiAgICAgICAgICAwICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1ob3Zlci1jb2xvcjogICAgICAgICAgICAkbGluay1ob3Zlci1jb2xvciAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWhvdmVyLWJnOiAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWhvdmVyLWJvcmRlci1jb2xvcjogICAgICRncmF5LTMwMCAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tYWN0aXZlLWNvbG9yOiAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1hY3RpdmUtYmc6ICAgICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWFjdGl2ZS1ib3JkZXItY29sb3I6ICAgICRwYWdpbmF0aW9uLWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tZGlzYWJsZWQtY29sb3I6ICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tZGlzYWJsZWQtYmc6ICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tZGlzYWJsZWQtYm9yZGVyLWNvbG9yOiAgJGdyYXktMzAwICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1ib3JkZXItcmFkaXVzLXNtOiAgICAgICAkYm9yZGVyLXJhZGl1cy1zbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWJvcmRlci1yYWRpdXMtbGc6ICAgICAgICRib3JkZXItcmFkaXVzLWxnICFkZWZhdWx0O1xuXG4vLyBKdW1ib3Ryb25cblxuJGp1bWJvdHJvbi1wYWRkaW5nOiAgICAgICAgICAgICAgICAgMnJlbSAhZGVmYXVsdDtcbiRqdW1ib3Ryb24tY29sb3I6ICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kanVtYm90cm9uLWJnOiAgICAgICAgICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG5cblxuLy8gQ2FyZHNcblxuJGNhcmQtc3BhY2VyLXk6ICAgICAgICAgICAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJGNhcmQtc3BhY2VyLXg6ICAgICAgICAgICAgICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcbiRjYXJkLWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kY2FyZC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRjYXJkLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMTI1KSAhZGVmYXVsdDtcbiRjYXJkLWlubmVyLWJvcmRlci1yYWRpdXM6ICAgICAgICAgIHN1YnRyYWN0KCRjYXJkLWJvcmRlci1yYWRpdXMsICRjYXJkLWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4kY2FyZC1jYXAtYmc6ICAgICAgICAgICAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjAzKSAhZGVmYXVsdDtcbiRjYXJkLWNhcC1jb2xvcjogICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kY2FyZC1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGNhcmQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRjYXJkLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcblxuJGNhcmQtaW1nLW92ZXJsYXktcGFkZGluZzogICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcblxuJGNhcmQtZ3JvdXAtbWFyZ2luOiAgICAgICAgICAgICAgICAgJGdyaWQtZ3V0dGVyLXdpZHRoIC8gMiAhZGVmYXVsdDtcbiRjYXJkLWRlY2stbWFyZ2luOiAgICAgICAgICAgICAgICAgICRjYXJkLWdyb3VwLW1hcmdpbiAhZGVmYXVsdDtcblxuJGNhcmQtY29sdW1ucy1jb3VudDogICAgICAgICAgICAgICAgMyAhZGVmYXVsdDtcbiRjYXJkLWNvbHVtbnMtZ2FwOiAgICAgICAgICAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG4kY2FyZC1jb2x1bW5zLW1hcmdpbjogICAgICAgICAgICAgICAkY2FyZC1zcGFjZXIteSAhZGVmYXVsdDtcblxuXG4vLyBUb29sdGlwc1xuXG4kdG9vbHRpcC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAkZm9udC1zaXplLXNtICFkZWZhdWx0O1xuJHRvb2x0aXAtbWF4LXdpZHRoOiAgICAgICAgICAgICAgICAgMjAwcHggIWRlZmF1bHQ7XG4kdG9vbHRpcC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kdG9vbHRpcC1iZzogICAgICAgICAgICAgICAgICAgICAgICAkYmxhY2sgIWRlZmF1bHQ7XG4kdG9vbHRpcC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiR0b29sdGlwLW9wYWNpdHk6ICAgICAgICAgICAgICAgICAgIC45ICFkZWZhdWx0O1xuJHRvb2x0aXAtcGFkZGluZy15OiAgICAgICAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJHRvb2x0aXAtcGFkZGluZy14OiAgICAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kdG9vbHRpcC1tYXJnaW46ICAgICAgICAgICAgICAgICAgICAwICFkZWZhdWx0O1xuXG4kdG9vbHRpcC1hcnJvdy13aWR0aDogICAgICAgICAgICAgICAuOHJlbSAhZGVmYXVsdDtcbiR0b29sdGlwLWFycm93LWhlaWdodDogICAgICAgICAgICAgIC40cmVtICFkZWZhdWx0O1xuJHRvb2x0aXAtYXJyb3ctY29sb3I6ICAgICAgICAgICAgICAgJHRvb2x0aXAtYmcgIWRlZmF1bHQ7XG5cbi8vIEZvcm0gdG9vbHRpcHMgbXVzdCBjb21lIGFmdGVyIHJlZ3VsYXIgdG9vbHRpcHNcbiRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtcGFkZGluZy15OiAgICAgJHRvb2x0aXAtcGFkZGluZy15ICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1wYWRkaW5nLXg6ICAgICAkdG9vbHRpcC1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay10b29sdGlwLWZvbnQtc2l6ZTogICAgICR0b29sdGlwLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtbGluZS1oZWlnaHQ6ICAgJGxpbmUtaGVpZ2h0LWJhc2UgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay10b29sdGlwLW9wYWNpdHk6ICAgICAgICR0b29sdGlwLW9wYWNpdHkgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay10b29sdGlwLWJvcmRlci1yYWRpdXM6ICR0b29sdGlwLWJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG5cblxuLy8gUG9wb3ZlcnNcblxuJHBvcG92ZXItZm9udC1zaXplOiAgICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcbiRwb3BvdmVyLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRwb3BvdmVyLW1heC13aWR0aDogICAgICAgICAgICAgICAgIDI3NnB4ICFkZWZhdWx0O1xuJHBvcG92ZXItYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRwb3BvdmVyLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMikgIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cy1sZyAhZGVmYXVsdDtcbiRwb3BvdmVyLWlubmVyLWJvcmRlci1yYWRpdXM6ICAgICAgIHN1YnRyYWN0KCRwb3BvdmVyLWJvcmRlci1yYWRpdXMsICRwb3BvdmVyLWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib3gtc2hhZG93OiAgICAgICAgICAgICAgICAwIC4yNXJlbSAuNXJlbSByZ2JhKCRibGFjaywgLjIpICFkZWZhdWx0O1xuXG4kcG9wb3Zlci1oZWFkZXItYmc6ICAgICAgICAgICAgICAgICBkYXJrZW4oJHBvcG92ZXItYmcsIDMlKSAhZGVmYXVsdDtcbiRwb3BvdmVyLWhlYWRlci1jb2xvcjogICAgICAgICAgICAgICRoZWFkaW5ncy1jb2xvciAhZGVmYXVsdDtcbiRwb3BvdmVyLWhlYWRlci1wYWRkaW5nLXk6ICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJHBvcG92ZXItaGVhZGVyLXBhZGRpbmcteDogICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuXG4kcG9wb3Zlci1ib2R5LWNvbG9yOiAgICAgICAgICAgICAgICAkYm9keS1jb2xvciAhZGVmYXVsdDtcbiRwb3BvdmVyLWJvZHktcGFkZGluZy15OiAgICAgICAgICAgICRwb3BvdmVyLWhlYWRlci1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib2R5LXBhZGRpbmcteDogICAgICAgICAgICAkcG9wb3Zlci1oZWFkZXItcGFkZGluZy14ICFkZWZhdWx0O1xuXG4kcG9wb3Zlci1hcnJvdy13aWR0aDogICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJHBvcG92ZXItYXJyb3ctaGVpZ2h0OiAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kcG9wb3Zlci1hcnJvdy1jb2xvcjogICAgICAgICAgICAgICAkcG9wb3Zlci1iZyAhZGVmYXVsdDtcblxuJHBvcG92ZXItYXJyb3ctb3V0ZXItY29sb3I6ICAgICAgICAgZmFkZS1pbigkcG9wb3Zlci1ib3JkZXItY29sb3IsIC4wNSkgIWRlZmF1bHQ7XG5cblxuLy8gVG9hc3RzXG5cbiR0b2FzdC1tYXgtd2lkdGg6ICAgICAgICAgICAgICAgICAgIDM1MHB4ICFkZWZhdWx0O1xuJHRvYXN0LXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJHRvYXN0LXBhZGRpbmcteTogICAgICAgICAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJHRvYXN0LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgLjg3NXJlbSAhZGVmYXVsdDtcbiR0b2FzdC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kdG9hc3QtYmFja2dyb3VuZC1jb2xvcjogICAgICAgICAgICByZ2JhKCR3aGl0ZSwgLjg1KSAhZGVmYXVsdDtcbiR0b2FzdC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgIDFweCAhZGVmYXVsdDtcbiR0b2FzdC1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgIHJnYmEoMCwgMCwgMCwgLjEpICFkZWZhdWx0O1xuJHRvYXN0LWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJHRvYXN0LWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgICAgMCAuMjVyZW0gLjc1cmVtIHJnYmEoJGJsYWNrLCAuMSkgIWRlZmF1bHQ7XG5cbiR0b2FzdC1oZWFkZXItY29sb3I6ICAgICAgICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiR0b2FzdC1oZWFkZXItYmFja2dyb3VuZC1jb2xvcjogICAgIHJnYmEoJHdoaXRlLCAuODUpICFkZWZhdWx0O1xuJHRvYXN0LWhlYWRlci1ib3JkZXItY29sb3I6ICAgICAgICAgcmdiYSgwLCAwLCAwLCAuMDUpICFkZWZhdWx0O1xuXG5cbi8vIEJhZGdlc1xuXG4kYmFkZ2UtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICA3NSUgIWRlZmF1bHQ7XG4kYmFkZ2UtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAgICAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcbiRiYWRnZS1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgIC4yNWVtICFkZWZhdWx0O1xuJGJhZGdlLXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAgLjRlbSAhZGVmYXVsdDtcbiRiYWRnZS1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuXG4kYmFkZ2UtdHJhbnNpdGlvbjogICAgICAgICAgICAgICAgICAkYnRuLXRyYW5zaXRpb24gIWRlZmF1bHQ7XG4kYmFkZ2UtZm9jdXMtd2lkdGg6ICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvY3VzLXdpZHRoICFkZWZhdWx0O1xuXG4kYmFkZ2UtcGlsbC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAuNmVtICFkZWZhdWx0O1xuLy8gVXNlIGEgaGlnaGVyIHRoYW4gbm9ybWFsIHZhbHVlIHRvIGVuc3VyZSBjb21wbGV0ZWx5IHJvdW5kZWQgZWRnZXMgd2hlblxuLy8gY3VzdG9taXppbmcgcGFkZGluZyBvciBmb250LXNpemUgb24gbGFiZWxzLlxuJGJhZGdlLXBpbGwtYm9yZGVyLXJhZGl1czogICAgICAgICAgMTByZW0gIWRlZmF1bHQ7XG5cblxuLy8gTW9kYWxzXG5cbi8vIFBhZGRpbmcgYXBwbGllZCB0byB0aGUgbW9kYWwgYm9keVxuJG1vZGFsLWlubmVyLXBhZGRpbmc6ICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcblxuLy8gTWFyZ2luIGJldHdlZW4gZWxlbWVudHMgaW4gZm9vdGVyLCBtdXN0IGJlIGxvd2VyIHRoYW4gb3IgZXF1YWwgdG8gMiAqICRtb2RhbC1pbm5lci1wYWRkaW5nXG4kbW9kYWwtZm9vdGVyLW1hcmdpbi1iZXR3ZWVuOiAgICAgICAuNXJlbSAhZGVmYXVsdDtcblxuJG1vZGFsLWRpYWxvZy1tYXJnaW46ICAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kbW9kYWwtZGlhbG9nLW1hcmdpbi15LXNtLXVwOiAgICAgICAxLjc1cmVtICFkZWZhdWx0O1xuXG4kbW9kYWwtdGl0bGUtbGluZS1oZWlnaHQ6ICAgICAgICAgICAkbGluZS1oZWlnaHQtYmFzZSAhZGVmYXVsdDtcblxuJG1vZGFsLWNvbnRlbnQtY29sb3I6ICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWJnOiAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWJvcmRlci1jb2xvcjogICAgICAgIHJnYmEoJGJsYWNrLCAuMikgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1ib3JkZXItd2lkdGg6ICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXJhZGl1czogICAgICAgJGJvcmRlci1yYWRpdXMtbGcgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1pbm5lci1ib3JkZXItcmFkaXVzOiBzdWJ0cmFjdCgkbW9kYWwtY29udGVudC1ib3JkZXItcmFkaXVzLCAkbW9kYWwtY29udGVudC1ib3JkZXItd2lkdGgpICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYm94LXNoYWRvdy14czogICAgICAgMCAuMjVyZW0gLjVyZW0gcmdiYSgkYmxhY2ssIC41KSAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWJveC1zaGFkb3ctc20tdXA6ICAgIDAgLjVyZW0gMXJlbSByZ2JhKCRibGFjaywgLjUpICFkZWZhdWx0O1xuXG4kbW9kYWwtYmFja2Ryb3AtYmc6ICAgICAgICAgICAgICAgICAkYmxhY2sgIWRlZmF1bHQ7XG4kbW9kYWwtYmFja2Ryb3Atb3BhY2l0eTogICAgICAgICAgICAuNSAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItYm9yZGVyLWNvbG9yOiAgICAgICAgICRib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kbW9kYWwtZm9vdGVyLWJvcmRlci1jb2xvcjogICAgICAgICAkbW9kYWwtaGVhZGVyLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItYm9yZGVyLXdpZHRoOiAgICAgICAgICRtb2RhbC1jb250ZW50LWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRtb2RhbC1mb290ZXItYm9yZGVyLXdpZHRoOiAgICAgICAgICRtb2RhbC1oZWFkZXItYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1wYWRkaW5nLXk6ICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItcGFkZGluZy14OiAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLXBhZGRpbmc6ICAgICAgICAgICAgICAkbW9kYWwtaGVhZGVyLXBhZGRpbmcteSAkbW9kYWwtaGVhZGVyLXBhZGRpbmcteCAhZGVmYXVsdDsgLy8gS2VlcCB0aGlzIGZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eVxuXG4kbW9kYWwteGw6ICAgICAgICAgICAgICAgICAgICAgICAgICAxMTQwcHggIWRlZmF1bHQ7XG4kbW9kYWwtbGc6ICAgICAgICAgICAgICAgICAgICAgICAgICA4MDBweCAhZGVmYXVsdDtcbiRtb2RhbC1tZDogICAgICAgICAgICAgICAgICAgICAgICAgIDUwMHB4ICFkZWZhdWx0O1xuJG1vZGFsLXNtOiAgICAgICAgICAgICAgICAgICAgICAgICAgMzAwcHggIWRlZmF1bHQ7XG5cbiRtb2RhbC1mYWRlLXRyYW5zZm9ybTogICAgICAgICAgICAgIHRyYW5zbGF0ZSgwLCAtNTBweCkgIWRlZmF1bHQ7XG4kbW9kYWwtc2hvdy10cmFuc2Zvcm06ICAgICAgICAgICAgICBub25lICFkZWZhdWx0O1xuJG1vZGFsLXRyYW5zaXRpb246ICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtIC4zcyBlYXNlLW91dCAhZGVmYXVsdDtcbiRtb2RhbC1zY2FsZS10cmFuc2Zvcm06ICAgICAgICAgICAgIHNjYWxlKDEuMDIpICFkZWZhdWx0O1xuXG5cbi8vIEFsZXJ0c1xuLy9cbi8vIERlZmluZSBhbGVydCBjb2xvcnMsIGJvcmRlciByYWRpdXMsIGFuZCBwYWRkaW5nLlxuXG4kYWxlcnQtcGFkZGluZy15OiAgICAgICAgICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kYWxlcnQtcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xuJGFsZXJ0LW1hcmdpbi1ib3R0b206ICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRhbGVydC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGFsZXJ0LWxpbmstZm9udC13ZWlnaHQ6ICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG4kYWxlcnQtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuXG4kYWxlcnQtYmctbGV2ZWw6ICAgICAgICAgICAgICAgICAgICAtMTAgIWRlZmF1bHQ7XG4kYWxlcnQtYm9yZGVyLWxldmVsOiAgICAgICAgICAgICAgICAtOSAhZGVmYXVsdDtcbiRhbGVydC1jb2xvci1sZXZlbDogICAgICAgICAgICAgICAgIDYgIWRlZmF1bHQ7XG5cblxuLy8gUHJvZ3Jlc3MgYmFyc1xuXG4kcHJvZ3Jlc3MtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJHByb2dyZXNzLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogLjc1ICFkZWZhdWx0O1xuJHByb2dyZXNzLWJnOiAgICAgICAgICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJHByb2dyZXNzLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYm94LXNoYWRvdzogICAgICAgICAgICAgICBpbnNldCAwIC4xcmVtIC4xcmVtIHJnYmEoJGJsYWNrLCAuMSkgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFyLWNvbG9yOiAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFyLWJnOiAgICAgICAgICAgICAgICAgICB0aGVtZS1jb2xvcihcInByaW1hcnlcIikgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFyLWFuaW1hdGlvbi10aW1pbmc6ICAgICAxcyBsaW5lYXIgaW5maW5pdGUgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFyLXRyYW5zaXRpb246ICAgICAgICAgICB3aWR0aCAuNnMgZWFzZSAhZGVmYXVsdDtcblxuXG4vLyBMaXN0IGdyb3VwXG5cbiRsaXN0LWdyb3VwLWNvbG9yOiAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1iZzogICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1ib3JkZXItY29sb3I6ICAgICAgICAgICByZ2JhKCRibGFjaywgLjEyNSkgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYm9yZGVyLXJhZGl1czogICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG5cbiRsaXN0LWdyb3VwLWl0ZW0tcGFkZGluZy15OiAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWl0ZW0tcGFkZGluZy14OiAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG5cbiRsaXN0LWdyb3VwLWhvdmVyLWJnOiAgICAgICAgICAgICAgICRncmF5LTEwMCAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYWN0aXZlLWJnOiAgICAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1hY3RpdmUtYm9yZGVyLWNvbG9yOiAgICAkbGlzdC1ncm91cC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG5cbiRsaXN0LWdyb3VwLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWRpc2FibGVkLWJnOiAgICAgICAgICAgICRsaXN0LWdyb3VwLWJnICFkZWZhdWx0O1xuXG4kbGlzdC1ncm91cC1hY3Rpb24tY29sb3I6ICAgICAgICAgICAkZ3JheS03MDAgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1hY3Rpb24taG92ZXItY29sb3I6ICAgICAkbGlzdC1ncm91cC1hY3Rpb24tY29sb3IgIWRlZmF1bHQ7XG5cbiRsaXN0LWdyb3VwLWFjdGlvbi1hY3RpdmUtY29sb3I6ICAgICRib2R5LWNvbG9yICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYWN0aW9uLWFjdGl2ZS1iZzogICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuXG5cbi8vIEltYWdlIHRodW1ibmFpbHNcblxuJHRodW1ibmFpbC1wYWRkaW5nOiAgICAgICAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJHRodW1ibmFpbC1iZzogICAgICAgICAgICAgICAgICAgICAgJGJvZHktYmcgIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJvcmRlci13aWR0aDogICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJHRodW1ibmFpbC1ib3JkZXItY29sb3I6ICAgICAgICAgICAgJGdyYXktMzAwICFkZWZhdWx0O1xuJHRodW1ibmFpbC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAwIDFweCAycHggcmdiYSgkYmxhY2ssIC4wNzUpICFkZWZhdWx0O1xuXG5cbi8vIEZpZ3VyZXNcblxuJGZpZ3VyZS1jYXB0aW9uLWZvbnQtc2l6ZTogICAgICAgICAgOTAlICFkZWZhdWx0O1xuJGZpZ3VyZS1jYXB0aW9uLWNvbG9yOiAgICAgICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuXG5cbi8vIEJyZWFkY3J1bWJzXG5cbiRicmVhZGNydW1iLWZvbnQtc2l6ZTogICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG5cbiRicmVhZGNydW1iLXBhZGRpbmcteTogICAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRicmVhZGNydW1iLXBhZGRpbmcteDogICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1pdGVtLXBhZGRpbmc6ICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcblxuJGJyZWFkY3J1bWItbWFyZ2luLWJvdHRvbTogICAgICAgICAgMXJlbSAhZGVmYXVsdDtcblxuJGJyZWFkY3J1bWItYmc6ICAgICAgICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItZGl2aWRlci1jb2xvcjogICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItYWN0aXZlLWNvbG9yOiAgICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItZGl2aWRlcjogICAgICAgICAgICAgICAgcXVvdGUoXCIvXCIpICFkZWZhdWx0O1xuXG4kYnJlYWRjcnVtYi1ib3JkZXItcmFkaXVzOiAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcblxuXG4vLyBDYXJvdXNlbFxuXG4kY2Fyb3VzZWwtY29udHJvbC1jb2xvcjogICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtd2lkdGg6ICAgICAgICAgICAgIDE1JSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLW9wYWNpdHk6ICAgICAgICAgICAuNSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLWhvdmVyLW9wYWNpdHk6ICAgICAuOSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLXRyYW5zaXRpb246ICAgICAgICBvcGFjaXR5IC4xNXMgZWFzZSAhZGVmYXVsdDtcblxuJGNhcm91c2VsLWluZGljYXRvci13aWR0aDogICAgICAgICAgIDMwcHggIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLWhlaWdodDogICAgICAgICAgM3B4ICFkZWZhdWx0O1xuJGNhcm91c2VsLWluZGljYXRvci1oaXQtYXJlYS1oZWlnaHQ6IDEwcHggIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLXNwYWNlcjogICAgICAgICAgM3B4ICFkZWZhdWx0O1xuJGNhcm91c2VsLWluZGljYXRvci1hY3RpdmUtYmc6ICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1pbmRpY2F0b3ItdHJhbnNpdGlvbjogICAgICBvcGFjaXR5IC42cyBlYXNlICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtY2FwdGlvbi13aWR0aDogICAgICAgICAgICAgNzAlICFkZWZhdWx0O1xuJGNhcm91c2VsLWNhcHRpb24tY29sb3I6ICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcblxuJGNhcm91c2VsLWNvbnRyb2wtaWNvbi13aWR0aDogICAgICAgIDIwcHggIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC1jb250cm9sLXByZXYtaWNvbi1iZzogICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIGZpbGw9JyN7JGNhcm91c2VsLWNvbnRyb2wtY29sb3J9JyB3aWR0aD0nOCcgaGVpZ2h0PSc4JyB2aWV3Qm94PScwIDAgOCA4Jz48cGF0aCBkPSdNNS4yNSAwbC00IDQgNCA0IDEuNS0xLjVMNC4yNSA0bDIuNS0yLjVMNS4yNSAweicvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLW5leHQtaWNvbi1iZzogICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIGZpbGw9JyN7JGNhcm91c2VsLWNvbnRyb2wtY29sb3J9JyB3aWR0aD0nOCcgaGVpZ2h0PSc4JyB2aWV3Qm94PScwIDAgOCA4Jz48cGF0aCBkPSdNMi43NSAwbC0xLjUgMS41TDMuNzUgNGwtMi41IDIuNUwyLjc1IDhsNC00LTQtNHonLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC10cmFuc2l0aW9uLWR1cmF0aW9uOiAgICAgICAuNnMgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtdHJhbnNpdGlvbjogICAgICAgICAgICAgICAgdHJhbnNmb3JtICRjYXJvdXNlbC10cmFuc2l0aW9uLWR1cmF0aW9uIGVhc2UtaW4tb3V0ICFkZWZhdWx0OyAvLyBEZWZpbmUgdHJhbnNmb3JtIHRyYW5zaXRpb24gZmlyc3QgaWYgdXNpbmcgbXVsdGlwbGUgdHJhbnNpdGlvbnMgKGUuZy4sIGB0cmFuc2Zvcm0gMnMgZWFzZSwgb3BhY2l0eSAuNXMgZWFzZS1vdXRgKVxuXG5cbi8vIFNwaW5uZXJzXG5cbiRzcGlubmVyLXdpZHRoOiAgICAgICAgIDJyZW0gIWRlZmF1bHQ7XG4kc3Bpbm5lci1oZWlnaHQ6ICAgICAgICAkc3Bpbm5lci13aWR0aCAhZGVmYXVsdDtcbiRzcGlubmVyLWJvcmRlci13aWR0aDogIC4yNWVtICFkZWZhdWx0O1xuXG4kc3Bpbm5lci13aWR0aC1zbTogICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kc3Bpbm5lci1oZWlnaHQtc206ICAgICAgICRzcGlubmVyLXdpZHRoLXNtICFkZWZhdWx0O1xuJHNwaW5uZXItYm9yZGVyLXdpZHRoLXNtOiAuMmVtICFkZWZhdWx0O1xuXG5cbi8vIENsb3NlXG5cbiRjbG9zZS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuNSAhZGVmYXVsdDtcbiRjbG9zZS1mb250LXdlaWdodDogICAgICAgICAgICAgICAgICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuJGNsb3NlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgJGJsYWNrICFkZWZhdWx0O1xuJGNsb3NlLXRleHQtc2hhZG93OiAgICAgICAgICAgICAgICAgMCAxcHggMCAkd2hpdGUgIWRlZmF1bHQ7XG5cblxuLy8gQ29kZVxuXG4kY29kZS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICA4Ny41JSAhZGVmYXVsdDtcbiRjb2RlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICRwaW5rICFkZWZhdWx0O1xuXG4ka2JkLXBhZGRpbmcteTogICAgICAgICAgICAgICAgICAgICAuMnJlbSAhZGVmYXVsdDtcbiRrYmQtcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICAgIC40cmVtICFkZWZhdWx0O1xuJGtiZC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgJGNvZGUtZm9udC1zaXplICFkZWZhdWx0O1xuJGtiZC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGtiZC1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdyYXktOTAwICFkZWZhdWx0O1xuXG4kcHJlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAkZ3JheS05MDAgIWRlZmF1bHQ7XG4kcHJlLXNjcm9sbGFibGUtbWF4LWhlaWdodDogICAgICAgICAzNDBweCAhZGVmYXVsdDtcblxuXG4vLyBVdGlsaXRpZXNcblxuJGRpc3BsYXlzOiBub25lLCBpbmxpbmUsIGlubGluZS1ibG9jaywgYmxvY2ssIHRhYmxlLCB0YWJsZS1yb3csIHRhYmxlLWNlbGwsIGZsZXgsIGlubGluZS1mbGV4ICFkZWZhdWx0O1xuJG92ZXJmbG93czogYXV0bywgaGlkZGVuICFkZWZhdWx0O1xuJHBvc2l0aW9uczogc3RhdGljLCByZWxhdGl2ZSwgYWJzb2x1dGUsIGZpeGVkLCBzdGlja3kgIWRlZmF1bHQ7XG4kdXNlci1zZWxlY3RzOiBhbGwsIGF1dG8sIG5vbmUgIWRlZmF1bHQ7XG5cblxuLy8gUHJpbnRpbmdcblxuJHByaW50LXBhZ2Utc2l6ZTogICAgICAgICAgICAgICAgICAgYTMgIWRlZmF1bHQ7XG4kcHJpbnQtYm9keS1taW4td2lkdGg6ICAgICAgICAgICAgICBtYXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCBcImxnXCIpICFkZWZhdWx0O1xuIiwiLy8gVG9nZ2xlc1xuLy9cbi8vIFVzZWQgaW4gY29uanVuY3Rpb24gd2l0aCBnbG9iYWwgdmFyaWFibGVzIHRvIGVuYWJsZSBjZXJ0YWluIHRoZW1lIGZlYXR1cmVzLlxuXG4vLyBWZW5kb3JcbkBpbXBvcnQgXCJ2ZW5kb3IvcmZzXCI7XG5cbi8vIERlcHJlY2F0ZVxuQGltcG9ydCBcIm1peGlucy9kZXByZWNhdGVcIjtcblxuLy8gVXRpbGl0aWVzXG5AaW1wb3J0IFwibWl4aW5zL2JyZWFrcG9pbnRzXCI7XG5AaW1wb3J0IFwibWl4aW5zL2hvdmVyXCI7XG5AaW1wb3J0IFwibWl4aW5zL2ltYWdlXCI7XG5AaW1wb3J0IFwibWl4aW5zL2JhZGdlXCI7XG5AaW1wb3J0IFwibWl4aW5zL3Jlc2l6ZVwiO1xuQGltcG9ydCBcIm1peGlucy9zY3JlZW4tcmVhZGVyXCI7XG5AaW1wb3J0IFwibWl4aW5zL3NpemVcIjtcbkBpbXBvcnQgXCJtaXhpbnMvcmVzZXQtdGV4dFwiO1xuQGltcG9ydCBcIm1peGlucy90ZXh0LWVtcGhhc2lzXCI7XG5AaW1wb3J0IFwibWl4aW5zL3RleHQtaGlkZVwiO1xuQGltcG9ydCBcIm1peGlucy90ZXh0LXRydW5jYXRlXCI7XG5AaW1wb3J0IFwibWl4aW5zL3Zpc2liaWxpdHlcIjtcblxuLy8gQ29tcG9uZW50c1xuQGltcG9ydCBcIm1peGlucy9hbGVydFwiO1xuQGltcG9ydCBcIm1peGlucy9idXR0b25zXCI7XG5AaW1wb3J0IFwibWl4aW5zL2NhcmV0XCI7XG5AaW1wb3J0IFwibWl4aW5zL3BhZ2luYXRpb25cIjtcbkBpbXBvcnQgXCJtaXhpbnMvbGlzdHNcIjtcbkBpbXBvcnQgXCJtaXhpbnMvbGlzdC1ncm91cFwiO1xuQGltcG9ydCBcIm1peGlucy9uYXYtZGl2aWRlclwiO1xuQGltcG9ydCBcIm1peGlucy9mb3Jtc1wiO1xuQGltcG9ydCBcIm1peGlucy90YWJsZS1yb3dcIjtcblxuLy8gU2tpbnNcbkBpbXBvcnQgXCJtaXhpbnMvYmFja2dyb3VuZC12YXJpYW50XCI7XG5AaW1wb3J0IFwibWl4aW5zL2JvcmRlci1yYWRpdXNcIjtcbkBpbXBvcnQgXCJtaXhpbnMvYm94LXNoYWRvd1wiO1xuQGltcG9ydCBcIm1peGlucy9ncmFkaWVudHNcIjtcbkBpbXBvcnQgXCJtaXhpbnMvdHJhbnNpdGlvblwiO1xuXG4vLyBMYXlvdXRcbkBpbXBvcnQgXCJtaXhpbnMvY2xlYXJmaXhcIjtcbkBpbXBvcnQgXCJtaXhpbnMvZ3JpZC1mcmFtZXdvcmtcIjtcbkBpbXBvcnQgXCJtaXhpbnMvZ3JpZFwiO1xuQGltcG9ydCBcIm1peGlucy9mbG9hdFwiO1xuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgcHJvcGVydHktYmxhY2tsaXN0LCBzY3NzL2RvbGxhci12YXJpYWJsZS1kZWZhdWx0XG5cbi8vIFNDU1MgUkZTIG1peGluXG4vL1xuLy8gQXV0b21hdGVkIGZvbnQtcmVzaXppbmdcbi8vXG4vLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvcmZzXG5cbi8vIENvbmZpZ3VyYXRpb25cblxuLy8gQmFzZSBmb250IHNpemVcbiRyZnMtYmFzZS1mb250LXNpemU6IDEuMjVyZW0gIWRlZmF1bHQ7XG4kcmZzLWZvbnQtc2l6ZS11bml0OiByZW0gIWRlZmF1bHQ7XG5cbi8vIEJyZWFrcG9pbnQgYXQgd2hlcmUgZm9udC1zaXplIHN0YXJ0cyBkZWNyZWFzaW5nIGlmIHNjcmVlbiB3aWR0aCBpcyBzbWFsbGVyXG4kcmZzLWJyZWFrcG9pbnQ6IDEyMDBweCAhZGVmYXVsdDtcbiRyZnMtYnJlYWtwb2ludC11bml0OiBweCAhZGVmYXVsdDtcblxuLy8gUmVzaXplIGZvbnQtc2l6ZSBiYXNlZCBvbiBzY3JlZW4gaGVpZ2h0IGFuZCB3aWR0aFxuJHJmcy10d28tZGltZW5zaW9uYWw6IGZhbHNlICFkZWZhdWx0O1xuXG4vLyBGYWN0b3Igb2YgZGVjcmVhc2VcbiRyZnMtZmFjdG9yOiAxMCAhZGVmYXVsdDtcblxuQGlmIHR5cGUtb2YoJHJmcy1mYWN0b3IpICE9IFwibnVtYmVyXCIgb3IgJHJmcy1mYWN0b3IgPD0gMSB7XG4gIEBlcnJvciBcImAjeyRyZnMtZmFjdG9yfWAgaXMgbm90IGEgdmFsaWQgICRyZnMtZmFjdG9yLCBpdCBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAxLlwiO1xufVxuXG4vLyBHZW5lcmF0ZSBlbmFibGUgb3IgZGlzYWJsZSBjbGFzc2VzLiBQb3NzaWJpbGl0aWVzOiBmYWxzZSwgXCJlbmFibGVcIiBvciBcImRpc2FibGVcIlxuJHJmcy1jbGFzczogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIDEgcmVtID0gJHJmcy1yZW0tdmFsdWUgcHhcbiRyZnMtcmVtLXZhbHVlOiAxNiAhZGVmYXVsdDtcblxuLy8gU2FmYXJpIGlmcmFtZSByZXNpemUgYnVnOiBodHRwczovL2dpdGh1Yi5jb20vdHdicy9yZnMvaXNzdWVzLzE0XG4kcmZzLXNhZmFyaS1pZnJhbWUtcmVzaXplLWJ1Zy1maXg6IGZhbHNlICFkZWZhdWx0O1xuXG4vLyBEaXNhYmxlIFJGUyBieSBzZXR0aW5nICRlbmFibGUtcmVzcG9uc2l2ZS1mb250LXNpemVzIHRvIGZhbHNlXG4kZW5hYmxlLXJlc3BvbnNpdmUtZm9udC1zaXplczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8gQ2FjaGUgJHJmcy1iYXNlLWZvbnQtc2l6ZSB1bml0XG4kcmZzLWJhc2UtZm9udC1zaXplLXVuaXQ6IHVuaXQoJHJmcy1iYXNlLWZvbnQtc2l6ZSk7XG5cbi8vIFJlbW92ZSBweC11bml0IGZyb20gJHJmcy1iYXNlLWZvbnQtc2l6ZSBmb3IgY2FsY3VsYXRpb25zXG5AaWYgJHJmcy1iYXNlLWZvbnQtc2l6ZS11bml0ID09IFwicHhcIiB7XG4gICRyZnMtYmFzZS1mb250LXNpemU6ICRyZnMtYmFzZS1mb250LXNpemUgLyAoJHJmcy1iYXNlLWZvbnQtc2l6ZSAqIDAgKyAxKTtcbn1cbkBlbHNlIGlmICRyZnMtYmFzZS1mb250LXNpemUtdW5pdCA9PSBcInJlbVwiIHtcbiAgJHJmcy1iYXNlLWZvbnQtc2l6ZTogJHJmcy1iYXNlLWZvbnQtc2l6ZSAvICgkcmZzLWJhc2UtZm9udC1zaXplICogMCArIDEgLyAkcmZzLXJlbS12YWx1ZSk7XG59XG5cbi8vIENhY2hlICRyZnMtYnJlYWtwb2ludCB1bml0IHRvIHByZXZlbnQgbXVsdGlwbGUgY2FsbHNcbiRyZnMtYnJlYWtwb2ludC11bml0LWNhY2hlOiB1bml0KCRyZnMtYnJlYWtwb2ludCk7XG5cbi8vIFJlbW92ZSB1bml0IGZyb20gJHJmcy1icmVha3BvaW50IGZvciBjYWxjdWxhdGlvbnNcbkBpZiAkcmZzLWJyZWFrcG9pbnQtdW5pdC1jYWNoZSA9PSBcInB4XCIge1xuICAkcmZzLWJyZWFrcG9pbnQ6ICRyZnMtYnJlYWtwb2ludCAvICgkcmZzLWJyZWFrcG9pbnQgKiAwICsgMSk7XG59XG5AZWxzZSBpZiAkcmZzLWJyZWFrcG9pbnQtdW5pdC1jYWNoZSA9PSBcInJlbVwiIG9yICRyZnMtYnJlYWtwb2ludC11bml0LWNhY2hlID09IFwiZW1cIiB7XG4gICRyZnMtYnJlYWtwb2ludDogJHJmcy1icmVha3BvaW50IC8gKCRyZnMtYnJlYWtwb2ludCAqIDAgKyAxIC8gJHJmcy1yZW0tdmFsdWUpO1xufVxuXG4vLyBSZXNwb25zaXZlIGZvbnQtc2l6ZSBtaXhpblxuQG1peGluIHJmcygkZnMsICRpbXBvcnRhbnQ6IGZhbHNlKSB7XG4gIC8vIENhY2hlICRmcyB1bml0XG4gICRmcy11bml0OiBpZih0eXBlLW9mKCRmcykgPT0gXCJudW1iZXJcIiwgdW5pdCgkZnMpLCBmYWxzZSk7XG5cbiAgLy8gQWRkICFpbXBvcnRhbnQgc3VmZml4IGlmIG5lZWRlZFxuICAkcmZzLXN1ZmZpeDogaWYoJGltcG9ydGFudCwgXCIgIWltcG9ydGFudFwiLCBcIlwiKTtcblxuICAvLyBJZiAkZnMgaXNuJ3QgYSBudW1iZXIgKGxpa2UgaW5oZXJpdCkgb3IgJGZzIGhhcyBhIHVuaXQgKG5vdCBweCBvciByZW0sIGxpa2UgMS41ZW0pIG9yICQgaXMgMCwganVzdCBwcmludCB0aGUgdmFsdWVcbiAgQGlmIG5vdCAkZnMtdW5pdCBvciAkZnMtdW5pdCAhPSBcIlwiIGFuZCAkZnMtdW5pdCAhPSBcInB4XCIgYW5kICRmcy11bml0ICE9IFwicmVtXCIgb3IgJGZzID09IDAge1xuICAgIGZvbnQtc2l6ZTogI3skZnN9I3skcmZzLXN1ZmZpeH07XG4gIH1cbiAgQGVsc2Uge1xuICAgIC8vIFZhcmlhYmxlcyBmb3Igc3RvcmluZyBzdGF0aWMgYW5kIGZsdWlkIHJlc2NhbGluZ1xuICAgICRyZnMtc3RhdGljOiBudWxsO1xuICAgICRyZnMtZmx1aWQ6IG51bGw7XG5cbiAgICAvLyBSZW1vdmUgcHgtdW5pdCBmcm9tICRmcyBmb3IgY2FsY3VsYXRpb25zXG4gICAgQGlmICRmcy11bml0ID09IFwicHhcIiB7XG4gICAgICAkZnM6ICRmcyAvICgkZnMgKiAwICsgMSk7XG4gICAgfVxuICAgIEBlbHNlIGlmICRmcy11bml0ID09IFwicmVtXCIge1xuICAgICAgJGZzOiAkZnMgLyAoJGZzICogMCArIDEgLyAkcmZzLXJlbS12YWx1ZSk7XG4gICAgfVxuXG4gICAgLy8gU2V0IGRlZmF1bHQgZm9udC1zaXplXG4gICAgQGlmICRyZnMtZm9udC1zaXplLXVuaXQgPT0gcmVtIHtcbiAgICAgICRyZnMtc3RhdGljOiAjeyRmcyAvICRyZnMtcmVtLXZhbHVlfXJlbSN7JHJmcy1zdWZmaXh9O1xuICAgIH1cbiAgICBAZWxzZSBpZiAkcmZzLWZvbnQtc2l6ZS11bml0ID09IHB4IHtcbiAgICAgICRyZnMtc3RhdGljOiAjeyRmc31weCN7JHJmcy1zdWZmaXh9O1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAZXJyb3IgXCJgI3skcmZzLWZvbnQtc2l6ZS11bml0fWAgaXMgbm90IGEgdmFsaWQgdW5pdCBmb3IgJHJmcy1mb250LXNpemUtdW5pdC4gVXNlIGBweGAgb3IgYHJlbWAuXCI7XG4gICAgfVxuXG4gICAgLy8gT25seSBhZGQgbWVkaWEgcXVlcnkgaWYgZm9udC1zaXplIGlzIGJpZ2dlciBhcyB0aGUgbWluaW11bSBmb250LXNpemVcbiAgICAvLyBJZiAkcmZzLWZhY3RvciA9PSAxLCBubyByZXNjYWxpbmcgd2lsbCB0YWtlIHBsYWNlXG4gICAgQGlmICRmcyA+ICRyZnMtYmFzZS1mb250LXNpemUgYW5kICRlbmFibGUtcmVzcG9uc2l2ZS1mb250LXNpemVzIHtcbiAgICAgICRtaW4td2lkdGg6IG51bGw7XG4gICAgICAkdmFyaWFibGUtdW5pdDogbnVsbDtcblxuICAgICAgLy8gQ2FsY3VsYXRlIG1pbmltdW0gZm9udC1zaXplIGZvciBnaXZlbiBmb250LXNpemVcbiAgICAgICRmcy1taW46ICRyZnMtYmFzZS1mb250LXNpemUgKyAoJGZzIC0gJHJmcy1iYXNlLWZvbnQtc2l6ZSkgLyAkcmZzLWZhY3RvcjtcblxuICAgICAgLy8gQ2FsY3VsYXRlIGRpZmZlcmVuY2UgYmV0d2VlbiBnaXZlbiBmb250LXNpemUgYW5kIG1pbmltdW0gZm9udC1zaXplIGZvciBnaXZlbiBmb250LXNpemVcbiAgICAgICRmcy1kaWZmOiAkZnMgLSAkZnMtbWluO1xuXG4gICAgICAvLyBCYXNlIGZvbnQtc2l6ZSBmb3JtYXR0aW5nXG4gICAgICAvLyBObyBuZWVkIHRvIGNoZWNrIGlmIHRoZSB1bml0IGlzIHZhbGlkLCBiZWNhdXNlIHdlIGRpZCB0aGF0IGJlZm9yZVxuICAgICAgJG1pbi13aWR0aDogaWYoJHJmcy1mb250LXNpemUtdW5pdCA9PSByZW0sICN7JGZzLW1pbiAvICRyZnMtcmVtLXZhbHVlfXJlbSwgI3skZnMtbWlufXB4KTtcblxuICAgICAgLy8gSWYgdHdvLWRpbWVuc2lvbmFsLCB1c2Ugc21hbGxlc3Qgb2Ygc2NyZWVuIHdpZHRoIGFuZCBoZWlnaHRcbiAgICAgICR2YXJpYWJsZS11bml0OiBpZigkcmZzLXR3by1kaW1lbnNpb25hbCwgdm1pbiwgdncpO1xuXG4gICAgICAvLyBDYWxjdWxhdGUgdGhlIHZhcmlhYmxlIHdpZHRoIGJldHdlZW4gMCBhbmQgJHJmcy1icmVha3BvaW50XG4gICAgICAkdmFyaWFibGUtd2lkdGg6ICN7JGZzLWRpZmYgKiAxMDAgLyAkcmZzLWJyZWFrcG9pbnR9I3skdmFyaWFibGUtdW5pdH07XG5cbiAgICAgIC8vIFNldCB0aGUgY2FsY3VsYXRlZCBmb250LXNpemUuXG4gICAgICAkcmZzLWZsdWlkOiBjYWxjKCN7JG1pbi13aWR0aH0gKyAjeyR2YXJpYWJsZS13aWR0aH0pICN7JHJmcy1zdWZmaXh9O1xuICAgIH1cblxuICAgIC8vIFJlbmRlcmluZ1xuICAgIEBpZiAkcmZzLWZsdWlkID09IG51bGwge1xuICAgICAgLy8gT25seSByZW5kZXIgc3RhdGljIGZvbnQtc2l6ZSBpZiBubyBmbHVpZCBmb250LXNpemUgaXMgYXZhaWxhYmxlXG4gICAgICBmb250LXNpemU6ICRyZnMtc3RhdGljO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAkbXEtdmFsdWU6IG51bGw7XG5cbiAgICAgIC8vIFJGUyBicmVha3BvaW50IGZvcm1hdHRpbmdcbiAgICAgIEBpZiAkcmZzLWJyZWFrcG9pbnQtdW5pdCA9PSBlbSBvciAkcmZzLWJyZWFrcG9pbnQtdW5pdCA9PSByZW0ge1xuICAgICAgICAkbXEtdmFsdWU6ICN7JHJmcy1icmVha3BvaW50IC8gJHJmcy1yZW0tdmFsdWV9I3skcmZzLWJyZWFrcG9pbnQtdW5pdH07XG4gICAgICB9XG4gICAgICBAZWxzZSBpZiAkcmZzLWJyZWFrcG9pbnQtdW5pdCA9PSBweCB7XG4gICAgICAgICRtcS12YWx1ZTogI3skcmZzLWJyZWFrcG9pbnR9cHg7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIEBlcnJvciBcImAjeyRyZnMtYnJlYWtwb2ludC11bml0fWAgaXMgbm90IGEgdmFsaWQgdW5pdCBmb3IgJHJmcy1icmVha3BvaW50LXVuaXQuIFVzZSBgcHhgLCBgZW1gIG9yIGByZW1gLlwiO1xuICAgICAgfVxuXG4gICAgICBAaWYgJHJmcy1jbGFzcyA9PSBcImRpc2FibGVcIiB7XG4gICAgICAgIC8vIEFkZGluZyBhbiBleHRyYSBjbGFzcyBpbmNyZWFzZXMgc3BlY2lmaWNpdHksXG4gICAgICAgIC8vIHdoaWNoIHByZXZlbnRzIHRoZSBtZWRpYSBxdWVyeSB0byBvdmVycmlkZSB0aGUgZm9udCBzaXplXG4gICAgICAgICYsXG4gICAgICAgIC5kaXNhYmxlLXJlc3BvbnNpdmUtZm9udC1zaXplICYsXG4gICAgICAgICYuZGlzYWJsZS1yZXNwb25zaXZlLWZvbnQtc2l6ZSB7XG4gICAgICAgICAgZm9udC1zaXplOiAkcmZzLXN0YXRpYztcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBmb250LXNpemU6ICRyZnMtc3RhdGljO1xuICAgICAgfVxuXG4gICAgICBAaWYgJHJmcy10d28tZGltZW5zaW9uYWwge1xuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogI3skbXEtdmFsdWV9KSwgKG1heC1oZWlnaHQ6ICN7JG1xLXZhbHVlfSkge1xuICAgICAgICAgIEBpZiAkcmZzLWNsYXNzID09IFwiZW5hYmxlXCIge1xuICAgICAgICAgICAgLmVuYWJsZS1yZXNwb25zaXZlLWZvbnQtc2l6ZSAmLFxuICAgICAgICAgICAgJi5lbmFibGUtcmVzcG9uc2l2ZS1mb250LXNpemUge1xuICAgICAgICAgICAgICBmb250LXNpemU6ICRyZnMtZmx1aWQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIEBlbHNlIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJHJmcy1mbHVpZDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAaWYgJHJmcy1zYWZhcmktaWZyYW1lLXJlc2l6ZS1idWctZml4IHtcbiAgICAgICAgICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBsZW5ndGgtemVyby1uby11bml0XG4gICAgICAgICAgICBtaW4td2lkdGg6IDB2dztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICN7JG1xLXZhbHVlfSkge1xuICAgICAgICAgIEBpZiAkcmZzLWNsYXNzID09IFwiZW5hYmxlXCIge1xuICAgICAgICAgICAgLmVuYWJsZS1yZXNwb25zaXZlLWZvbnQtc2l6ZSAmLFxuICAgICAgICAgICAgJi5lbmFibGUtcmVzcG9uc2l2ZS1mb250LXNpemUge1xuICAgICAgICAgICAgICBmb250LXNpemU6ICRyZnMtZmx1aWQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIEBlbHNlIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJHJmcy1mbHVpZDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAaWYgJHJmcy1zYWZhcmktaWZyYW1lLXJlc2l6ZS1idWctZml4IHtcbiAgICAgICAgICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBsZW5ndGgtemVyby1uby11bml0XG4gICAgICAgICAgICBtaW4td2lkdGg6IDB2dztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gVGhlIGZvbnQtc2l6ZSAmIHJlc3BvbnNpdmUtZm9udC1zaXplIG1peGluIHVzZXMgUkZTIHRvIHJlc2NhbGUgZm9udCBzaXplc1xuQG1peGluIGZvbnQtc2l6ZSgkZnMsICRpbXBvcnRhbnQ6IGZhbHNlKSB7XG4gIEBpbmNsdWRlIHJmcygkZnMsICRpbXBvcnRhbnQpO1xufVxuXG5AbWl4aW4gcmVzcG9uc2l2ZS1mb250LXNpemUoJGZzLCAkaW1wb3J0YW50OiBmYWxzZSkge1xuICBAaW5jbHVkZSByZnMoJGZzLCAkaW1wb3J0YW50KTtcbn1cbiIsIi8vIERlcHJlY2F0ZSBtaXhpblxuLy9cbi8vIFRoaXMgbWl4aW4gY2FuIGJlIHVzZWQgdG8gZGVwcmVjYXRlIG1peGlucyBvciBmdW5jdGlvbnMuXG4vLyBgJGVuYWJsZS1kZXByZWNhdGlvbi1tZXNzYWdlc2AgaXMgYSBnbG9iYWwgdmFyaWFibGUsIGAkaWdub3JlLXdhcm5pbmdgIGlzIGEgdmFyaWFibGUgdGhhdCBjYW4gYmUgcGFzc2VkIHRvXG4vLyBzb21lIGRlcHJlY2F0ZWQgbWl4aW5zIHRvIHN1cHByZXNzIHRoZSB3YXJuaW5nIChmb3IgZXhhbXBsZSBpZiB0aGUgbWl4aW4gaXMgc3RpbGwgYmUgdXNlZCBpbiB0aGUgY3VycmVudCB2ZXJzaW9uIG9mIEJvb3RzdHJhcClcbkBtaXhpbiBkZXByZWNhdGUoJG5hbWUsICRkZXByZWNhdGUtdmVyc2lvbiwgJHJlbW92ZS12ZXJzaW9uLCAkaWdub3JlLXdhcm5pbmc6IGZhbHNlKSB7XG4gIEBpZiAoJGVuYWJsZS1kZXByZWNhdGlvbi1tZXNzYWdlcyAhPSBmYWxzZSBhbmQgJGlnbm9yZS13YXJuaW5nICE9IHRydWUpIHtcbiAgICBAd2FybiBcIiN7JG5hbWV9IGhhcyBiZWVuIGRlcHJlY2F0ZWQgYXMgb2YgI3skZGVwcmVjYXRlLXZlcnNpb259LiBJdCB3aWxsIGJlIHJlbW92ZWQgZW50aXJlbHkgaW4gI3skcmVtb3ZlLXZlcnNpb259LlwiO1xuICB9XG59XG4iLCIvLyBCcmVha3BvaW50IHZpZXdwb3J0IHNpemVzIGFuZCBtZWRpYSBxdWVyaWVzLlxuLy9cbi8vIEJyZWFrcG9pbnRzIGFyZSBkZWZpbmVkIGFzIGEgbWFwIG9mIChuYW1lOiBtaW5pbXVtIHdpZHRoKSwgb3JkZXIgZnJvbSBzbWFsbCB0byBsYXJnZTpcbi8vXG4vLyAgICAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpXG4vL1xuLy8gVGhlIG1hcCBkZWZpbmVkIGluIHRoZSBgJGdyaWQtYnJlYWtwb2ludHNgIGdsb2JhbCB2YXJpYWJsZSBpcyB1c2VkIGFzIHRoZSBgJGJyZWFrcG9pbnRzYCBhcmd1bWVudCBieSBkZWZhdWx0LlxuXG4vLyBOYW1lIG9mIHRoZSBuZXh0IGJyZWFrcG9pbnQsIG9yIG51bGwgZm9yIHRoZSBsYXN0IGJyZWFrcG9pbnQuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtKVxuLy8gICAgbWRcbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIG1kXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20sICRicmVha3BvaW50LW5hbWVzOiAoeHMgc20gbWQgbGcgeGwpKVxuLy8gICAgbWRcbkBmdW5jdGlvbiBicmVha3BvaW50LW5leHQoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWVzOiBtYXAta2V5cygkYnJlYWtwb2ludHMpKSB7XG4gICRuOiBpbmRleCgkYnJlYWtwb2ludC1uYW1lcywgJG5hbWUpO1xuICBAcmV0dXJuIGlmKCRuICE9IG51bGwgYW5kICRuIDwgbGVuZ3RoKCRicmVha3BvaW50LW5hbWVzKSwgbnRoKCRicmVha3BvaW50LW5hbWVzLCAkbiArIDEpLCBudWxsKTtcbn1cblxuLy8gTWluaW11bSBicmVha3BvaW50IHdpZHRoLiBOdWxsIGZvciB0aGUgc21hbGxlc3QgKGZpcnN0KSBicmVha3BvaW50LlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbWluKHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgNTc2cHhcbkBmdW5jdGlvbiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJG5hbWUpO1xuICBAcmV0dXJuIGlmKCRtaW4gIT0gMCwgJG1pbiwgbnVsbCk7XG59XG5cbi8vIE1heGltdW0gYnJlYWtwb2ludCB3aWR0aC4gTnVsbCBmb3IgdGhlIGxhcmdlc3QgKGxhc3QpIGJyZWFrcG9pbnQuXG4vLyBUaGUgbWF4aW11bSB2YWx1ZSBpcyBjYWxjdWxhdGVkIGFzIHRoZSBtaW5pbXVtIG9mIHRoZSBuZXh0IG9uZSBsZXNzIDAuMDJweFxuLy8gdG8gd29yayBhcm91bmQgdGhlIGxpbWl0YXRpb25zIG9mIGBtaW4tYCBhbmQgYG1heC1gIHByZWZpeGVzIGFuZCB2aWV3cG9ydHMgd2l0aCBmcmFjdGlvbmFsIHdpZHRocy5cbi8vIFNlZSBodHRwczovL3d3dy53My5vcmcvVFIvbWVkaWFxdWVyaWVzLTQvI21xLW1pbi1tYXhcbi8vIFVzZXMgMC4wMnB4IHJhdGhlciB0aGFuIDAuMDFweCB0byB3b3JrIGFyb3VuZCBhIGN1cnJlbnQgcm91bmRpbmcgYnVnIGluIFNhZmFyaS5cbi8vIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc4MjYxXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1tYXgoc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICA3NjcuOThweFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRuZXh0OiBicmVha3BvaW50LW5leHQoJG5hbWUsICRicmVha3BvaW50cyk7XG4gIEByZXR1cm4gaWYoJG5leHQsIGJyZWFrcG9pbnQtbWluKCRuZXh0LCAkYnJlYWtwb2ludHMpIC0gLjAyLCBudWxsKTtcbn1cblxuLy8gUmV0dXJucyBhIGJsYW5rIHN0cmluZyBpZiBzbWFsbGVzdCBicmVha3BvaW50LCBvdGhlcndpc2UgcmV0dXJucyB0aGUgbmFtZSB3aXRoIGEgZGFzaCBpbiBmcm9udC5cbi8vIFVzZWZ1bCBmb3IgbWFraW5nIHJlc3BvbnNpdmUgdXRpbGl0aWVzLlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtaW5maXgoeHMsICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICBcIlwiICAoUmV0dXJucyBhIGJsYW5rIHN0cmluZylcbi8vICAgID4+IGJyZWFrcG9pbnQtaW5maXgoc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICBcIi1zbVwiXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1pbmZpeCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICBAcmV0dXJuIGlmKGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpID09IG51bGwsIFwiXCIsIFwiLSN7JG5hbWV9XCIpO1xufVxuXG4vLyBNZWRpYSBvZiBhdCBsZWFzdCB0aGUgbWluaW11bSBicmVha3BvaW50IHdpZHRoLiBObyBxdWVyeSBmb3IgdGhlIHNtYWxsZXN0IGJyZWFrcG9pbnQuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQgYW5kIHdpZGVyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cyk7XG4gIEBpZiAkbWluIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBNZWRpYSBvZiBhdCBtb3N0IHRoZSBtYXhpbXVtIGJyZWFrcG9pbnQgd2lkdGguIE5vIHF1ZXJ5IGZvciB0aGUgbGFyZ2VzdCBicmVha3BvaW50LlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50IGFuZCBuYXJyb3dlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LWRvd24oJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1heDogYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50cyk7XG4gIEBpZiAkbWF4IHtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBNZWRpYSB0aGF0IHNwYW5zIG11bHRpcGxlIGJyZWFrcG9pbnQgd2lkdGhzLlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IGJldHdlZW4gdGhlIG1pbiBhbmQgbWF4IGJyZWFrcG9pbnRzXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1iZXR3ZWVuKCRsb3dlciwgJHVwcGVyLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRsb3dlciwgJGJyZWFrcG9pbnRzKTtcbiAgJG1heDogYnJlYWtwb2ludC1tYXgoJHVwcGVyLCAkYnJlYWtwb2ludHMpO1xuXG4gIEBpZiAkbWluICE9IG51bGwgYW5kICRtYXggIT0gbnVsbCB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIGFuZCAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1heCA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRsb3dlciwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1pbiA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJHVwcGVyLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLyBNZWRpYSBiZXR3ZWVuIHRoZSBicmVha3BvaW50J3MgbWluaW11bSBhbmQgbWF4aW11bSB3aWR0aHMuXG4vLyBObyBtaW5pbXVtIGZvciB0aGUgc21hbGxlc3QgYnJlYWtwb2ludCwgYW5kIG5vIG1heGltdW0gZm9yIHRoZSBsYXJnZXN0IG9uZS5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSBvbmx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50LCBub3Qgdmlld3BvcnRzIGFueSB3aWRlciBvciBuYXJyb3dlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LW9ubHkoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cyk7XG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuXG4gIEBpZiAkbWluICE9IG51bGwgYW5kICRtYXggIT0gbnVsbCB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIGFuZCAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1heCA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRuYW1lLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWluID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkbmFtZSwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEhvdmVyIG1peGluIGFuZCBgJGVuYWJsZS1ob3Zlci1tZWRpYS1xdWVyeWAgYXJlIGRlcHJlY2F0ZWQuXG4vL1xuLy8gT3JpZ2luYWxseSBhZGRlZCBkdXJpbmcgb3VyIGFscGhhcyBhbmQgbWFpbnRhaW5lZCBkdXJpbmcgYmV0YXMsIHRoaXMgbWl4aW4gd2FzXG4vLyBkZXNpZ25lZCB0byBwcmV2ZW50IGA6aG92ZXJgIHN0aWNraW5lc3Mgb24gaU9TLWFuIGlzc3VlIHdoZXJlIGhvdmVyIHN0eWxlc1xuLy8gd291bGQgcGVyc2lzdCBhZnRlciBpbml0aWFsIHRvdWNoLlxuLy9cbi8vIEZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5LCB3ZSd2ZSBrZXB0IHRoZXNlIG1peGlucyBhbmQgdXBkYXRlZCB0aGVtIHRvXG4vLyBhbHdheXMgcmV0dXJuIHRoZWlyIHJlZ3VsYXIgcHNldWRvLWNsYXNzZXMgaW5zdGVhZCBvZiBhIHNoaW1tZWQgbWVkaWEgcXVlcnkuXG4vL1xuLy8gSXNzdWU6IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMjUxOTVcblxuQG1peGluIGhvdmVyKCkge1xuICAmOmhvdmVyIHsgQGNvbnRlbnQ7IH1cbn1cblxuQG1peGluIGhvdmVyLWZvY3VzKCkge1xuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gcGxhaW4taG92ZXItZm9jdXMoKSB7XG4gICYsXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiBob3Zlci1mb2N1cy1hY3RpdmUoKSB7XG4gICY6aG92ZXIsXG4gICY6Zm9jdXMsXG4gICY6YWN0aXZlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuIiwiLy8gSW1hZ2UgTWl4aW5zXG4vLyAtIFJlc3BvbnNpdmUgaW1hZ2Vcbi8vIC0gUmV0aW5hIGltYWdlXG5cblxuLy8gUmVzcG9uc2l2ZSBpbWFnZVxuLy9cbi8vIEtlZXAgaW1hZ2VzIGZyb20gc2NhbGluZyBiZXlvbmQgdGhlIHdpZHRoIG9mIHRoZWlyIHBhcmVudHMuXG5cbkBtaXhpbiBpbWctZmx1aWQoKSB7XG4gIC8vIFBhcnQgMTogU2V0IGEgbWF4aW11bSByZWxhdGl2ZSB0byB0aGUgcGFyZW50XG4gIG1heC13aWR0aDogMTAwJTtcbiAgLy8gUGFydCAyOiBPdmVycmlkZSB0aGUgaGVpZ2h0IHRvIGF1dG8sIG90aGVyd2lzZSBpbWFnZXMgd2lsbCBiZSBzdHJldGNoZWRcbiAgLy8gd2hlbiBzZXR0aW5nIGEgd2lkdGggYW5kIGhlaWdodCBhdHRyaWJ1dGUgb24gdGhlIGltZyBlbGVtZW50LlxuICBoZWlnaHQ6IGF1dG87XG59XG5cblxuLy8gUmV0aW5hIGltYWdlXG4vL1xuLy8gU2hvcnQgcmV0aW5hIG1peGluIGZvciBzZXR0aW5nIGJhY2tncm91bmQtaW1hZ2UgYW5kIC1zaXplLlxuXG5AbWl4aW4gaW1nLXJldGluYSgkZmlsZS0xeCwgJGZpbGUtMngsICR3aWR0aC0xeCwgJGhlaWdodC0xeCkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJGZpbGUtMXgpO1xuXG4gIC8vIEF1dG9wcmVmaXhlciB0YWtlcyBjYXJlIG9mIGFkZGluZyAtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW8gYW5kIC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW8sXG4gIC8vIGJ1dCBkb2Vzbid0IGNvbnZlcnQgZHBweD0+ZHBpLlxuICAvLyBUaGVyZSdzIG5vIHN1Y2ggdGhpbmcgYXMgdW5wcmVmaXhlZCBtaW4tZGV2aWNlLXBpeGVsLXJhdGlvIHNpbmNlIGl0J3Mgbm9uc3RhbmRhcmQuXG4gIC8vIENvbXBhdGliaWxpdHkgaW5mbzogaHR0cHM6Ly9jYW5pdXNlLmNvbS9jc3MtbWVkaWEtcmVzb2x1dGlvblxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSwgLy8gSUU5LTExIGRvbid0IHN1cHBvcnQgZHBweFxuICAgIG9ubHkgc2NyZWVuIGFuZCAobWluLXJlc29sdXRpb246IDJkcHB4KSB7IC8vIFN0YW5kYXJkaXplZFxuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgkZmlsZS0yeCk7XG4gICAgYmFja2dyb3VuZC1zaXplOiAkd2lkdGgtMXggJGhlaWdodC0xeDtcbiAgfVxuICBAaW5jbHVkZSBkZXByZWNhdGUoXCJgaW1nLXJldGluYSgpYFwiLCBcInY0LjMuMFwiLCBcInY1XCIpO1xufVxuIiwiQG1peGluIGJhZGdlLXZhcmlhbnQoJGJnKSB7XG4gIGNvbG9yOiBjb2xvci15aXEoJGJnKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJnO1xuXG4gIEBhdC1yb290IGEjeyZ9IHtcbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICAgIGNvbG9yOiBjb2xvci15aXEoJGJnKTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkYmcsIDEwJSk7XG4gICAgfVxuXG4gICAgJjpmb2N1cyxcbiAgICAmLmZvY3VzIHtcbiAgICAgIG91dGxpbmU6IDA7XG4gICAgICBib3gtc2hhZG93OiAwIDAgMCAkYmFkZ2UtZm9jdXMtd2lkdGggcmdiYSgkYmcsIC41KTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIFJlc2l6ZSBhbnl0aGluZ1xuXG5AbWl4aW4gcmVzaXphYmxlKCRkaXJlY3Rpb24pIHtcbiAgb3ZlcmZsb3c6IGF1dG87IC8vIFBlciBDU1MzIFVJLCBgcmVzaXplYCBvbmx5IGFwcGxpZXMgd2hlbiBgb3ZlcmZsb3dgIGlzbid0IGB2aXNpYmxlYFxuICByZXNpemU6ICRkaXJlY3Rpb247IC8vIE9wdGlvbnM6IGhvcml6b250YWwsIHZlcnRpY2FsLCBib3RoXG59XG4iLCIvLyBPbmx5IGRpc3BsYXkgY29udGVudCB0byBzY3JlZW4gcmVhZGVyc1xuLy9cbi8vIFNlZTogaHR0cHM6Ly93d3cuYTExeXByb2plY3QuY29tL3Bvc3RzLzIwMTMtMDEtMTEtaG93LXRvLWhpZGUtY29udGVudC9cbi8vIFNlZTogaHR0cHM6Ly9odWdvZ2lyYXVkZWwuY29tLzIwMTYvMTAvMTMvY3NzLWhpZGUtYW5kLXNlZWsvXG5cbkBtaXhpbiBzci1vbmx5KCkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IC0xcHg7IC8vIEZpeCBmb3IgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yNTY4NlxuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBib3JkZXI6IDA7XG59XG5cbi8vIFVzZSBpbiBjb25qdW5jdGlvbiB3aXRoIC5zci1vbmx5IHRvIG9ubHkgZGlzcGxheSBjb250ZW50IHdoZW4gaXQncyBmb2N1c2VkLlxuLy9cbi8vIFVzZWZ1bCBmb3IgXCJTa2lwIHRvIG1haW4gY29udGVudFwiIGxpbmtzOyBzZWUgaHR0cHM6Ly93d3cudzMub3JnL1RSLzIwMTMvTk9URS1XQ0FHMjAtVEVDSFMtMjAxMzA5MDUvRzFcbi8vXG4vLyBDcmVkaXQ6IEhUTUw1IEJvaWxlcnBsYXRlXG5cbkBtaXhpbiBzci1vbmx5LWZvY3VzYWJsZSgpIHtcbiAgJjphY3RpdmUsXG4gICY6Zm9jdXMge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIGNsaXA6IGF1dG87XG4gICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgfVxufVxuIiwiLy8gU2l6aW5nIHNob3J0Y3V0c1xuXG5AbWl4aW4gc2l6ZSgkd2lkdGgsICRoZWlnaHQ6ICR3aWR0aCkge1xuICB3aWR0aDogJHdpZHRoO1xuICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIEBpbmNsdWRlIGRlcHJlY2F0ZShcImBzaXplKClgXCIsIFwidjQuMy4wXCIsIFwidjVcIik7XG59XG4iLCJAbWl4aW4gcmVzZXQtdGV4dCgpIHtcbiAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1iYXNlO1xuICAvLyBXZSBkZWxpYmVyYXRlbHkgZG8gTk9UIHJlc2V0IGZvbnQtc2l6ZSBvciB3b3JkLXdyYXAuXG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYmFzZTtcbiAgdGV4dC1hbGlnbjogbGVmdDsgLy8gRmFsbGJhY2sgZm9yIHdoZXJlIGBzdGFydGAgaXMgbm90IHN1cHBvcnRlZFxuICB0ZXh0LWFsaWduOiBzdGFydDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gIHdvcmQtYnJlYWs6IG5vcm1hbDtcbiAgd29yZC1zcGFjaW5nOiBub3JtYWw7XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIGxpbmUtYnJlYWs6IGF1dG87XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLy8gVHlwb2dyYXBoeVxuXG5AbWl4aW4gdGV4dC1lbXBoYXNpcy12YXJpYW50KCRwYXJlbnQsICRjb2xvciwgJGlnbm9yZS13YXJuaW5nOiBmYWxzZSkge1xuICAjeyRwYXJlbnR9IHtcbiAgICBjb2xvcjogJGNvbG9yICFpbXBvcnRhbnQ7XG4gIH1cbiAgQGlmICRlbXBoYXNpemVkLWxpbmstaG92ZXItZGFya2VuLXBlcmNlbnRhZ2UgIT0gMCB7XG4gICAgYSN7JHBhcmVudH0ge1xuICAgICAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgICAgIGNvbG9yOiBkYXJrZW4oJGNvbG9yLCAkZW1waGFzaXplZC1saW5rLWhvdmVyLWRhcmtlbi1wZXJjZW50YWdlKSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAaW5jbHVkZSBkZXByZWNhdGUoXCJgdGV4dC1lbXBoYXNpcy12YXJpYW50KClgXCIsIFwidjQuNC4wXCIsIFwidjVcIiwgJGlnbm9yZS13YXJuaW5nKTtcbn1cbiIsIi8vIENTUyBpbWFnZSByZXBsYWNlbWVudFxuQG1peGluIHRleHQtaGlkZSgkaWdub3JlLXdhcm5pbmc6IGZhbHNlKSB7XG4gIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBmb250LWZhbWlseS1uby1taXNzaW5nLWdlbmVyaWMtZmFtaWx5LWtleXdvcmRcbiAgZm9udDogMC8wIGE7XG4gIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDA7XG5cbiAgQGluY2x1ZGUgZGVwcmVjYXRlKFwiYHRleHQtaGlkZSgpYFwiLCBcInY0LjEuMFwiLCBcInY1XCIsICRpZ25vcmUtd2FybmluZyk7XG59XG4iLCIvLyBUZXh0IHRydW5jYXRlXG4vLyBSZXF1aXJlcyBpbmxpbmUtYmxvY2sgb3IgYmxvY2sgZm9yIHByb3BlciBzdHlsaW5nXG5cbkBtaXhpbiB0ZXh0LXRydW5jYXRlKCkge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vLyBWaXNpYmlsaXR5XG5cbkBtaXhpbiBpbnZpc2libGUoJHZpc2liaWxpdHkpIHtcbiAgdmlzaWJpbGl0eTogJHZpc2liaWxpdHkgIWltcG9ydGFudDtcbiAgQGluY2x1ZGUgZGVwcmVjYXRlKFwiYGludmlzaWJsZSgpYFwiLCBcInY0LjMuMFwiLCBcInY1XCIpO1xufVxuIiwiQG1peGluIGFsZXJ0LXZhcmlhbnQoJGJhY2tncm91bmQsICRib3JkZXIsICRjb2xvcikge1xuICBjb2xvcjogJGNvbG9yO1xuICBAaW5jbHVkZSBncmFkaWVudC1iZygkYmFja2dyb3VuZCk7XG4gIGJvcmRlci1jb2xvcjogJGJvcmRlcjtcblxuICBociB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogZGFya2VuKCRib3JkZXIsIDUlKTtcbiAgfVxuXG4gIC5hbGVydC1saW5rIHtcbiAgICBjb2xvcjogZGFya2VuKCRjb2xvciwgMTAlKTtcbiAgfVxufVxuIiwiLy8gQnV0dG9uIHZhcmlhbnRzXG4vL1xuLy8gRWFzaWx5IHB1bXAgb3V0IGRlZmF1bHQgc3R5bGVzLCBhcyB3ZWxsIGFzIDpob3ZlciwgOmZvY3VzLCA6YWN0aXZlLFxuLy8gYW5kIGRpc2FibGVkIG9wdGlvbnMgZm9yIGFsbCBidXR0b25zXG5cbkBtaXhpbiBidXR0b24tdmFyaWFudCgkYmFja2dyb3VuZCwgJGJvcmRlciwgJGhvdmVyLWJhY2tncm91bmQ6IGRhcmtlbigkYmFja2dyb3VuZCwgNy41JSksICRob3Zlci1ib3JkZXI6IGRhcmtlbigkYm9yZGVyLCAxMCUpLCAkYWN0aXZlLWJhY2tncm91bmQ6IGRhcmtlbigkYmFja2dyb3VuZCwgMTAlKSwgJGFjdGl2ZS1ib3JkZXI6IGRhcmtlbigkYm9yZGVyLCAxMi41JSkpIHtcbiAgY29sb3I6IGNvbG9yLXlpcSgkYmFja2dyb3VuZCk7XG4gIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRiYWNrZ3JvdW5kKTtcbiAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCRidG4tYm94LXNoYWRvdyk7XG5cbiAgQGluY2x1ZGUgaG92ZXIoKSB7XG4gICAgY29sb3I6IGNvbG9yLXlpcSgkaG92ZXItYmFja2dyb3VuZCk7XG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGhvdmVyLWJhY2tncm91bmQpO1xuICAgIGJvcmRlci1jb2xvcjogJGhvdmVyLWJvcmRlcjtcbiAgfVxuXG4gICY6Zm9jdXMsXG4gICYuZm9jdXMge1xuICAgIGNvbG9yOiBjb2xvci15aXEoJGhvdmVyLWJhY2tncm91bmQpO1xuICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRob3Zlci1iYWNrZ3JvdW5kKTtcbiAgICBib3JkZXItY29sb3I6ICRob3Zlci1ib3JkZXI7XG4gICAgQGlmICRlbmFibGUtc2hhZG93cyB7XG4gICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRidG4tYm94LXNoYWRvdywgMCAwIDAgJGJ0bi1mb2N1cy13aWR0aCByZ2JhKG1peChjb2xvci15aXEoJGJhY2tncm91bmQpLCAkYm9yZGVyLCAxNSUpLCAuNSkpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgLy8gQXZvaWQgdXNpbmcgbWl4aW4gc28gd2UgY2FuIHBhc3MgY3VzdG9tIGZvY3VzIHNoYWRvdyBwcm9wZXJseVxuICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGJ0bi1mb2N1cy13aWR0aCByZ2JhKG1peChjb2xvci15aXEoJGJhY2tncm91bmQpLCAkYm9yZGVyLCAxNSUpLCAuNSk7XG4gICAgfVxuICB9XG5cbiAgLy8gRGlzYWJsZWQgY29tZXMgZmlyc3Qgc28gYWN0aXZlIGNhbiBwcm9wZXJseSByZXN0eWxlXG4gICYuZGlzYWJsZWQsXG4gICY6ZGlzYWJsZWQge1xuICAgIGNvbG9yOiBjb2xvci15aXEoJGJhY2tncm91bmQpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIGJvcmRlci1jb2xvcjogJGJvcmRlcjtcbiAgICAvLyBSZW1vdmUgQ1NTIGdyYWRpZW50cyBpZiB0aGV5J3JlIGVuYWJsZWRcbiAgICBAaWYgJGVuYWJsZS1ncmFkaWVudHMge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAmOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSxcbiAgJjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmUsXG4gIC5zaG93ID4gJi5kcm9wZG93bi10b2dnbGUge1xuICAgIGNvbG9yOiBjb2xvci15aXEoJGFjdGl2ZS1iYWNrZ3JvdW5kKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWN0aXZlLWJhY2tncm91bmQ7XG4gICAgQGlmICRlbmFibGUtZ3JhZGllbnRzIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7IC8vIFJlbW92ZSB0aGUgZ3JhZGllbnQgZm9yIHRoZSBwcmVzc2VkL2FjdGl2ZSBzdGF0ZVxuICAgIH1cbiAgICBib3JkZXItY29sb3I6ICRhY3RpdmUtYm9yZGVyO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICBAaWYgJGVuYWJsZS1zaGFkb3dzIGFuZCAkYnRuLWFjdGl2ZS1ib3gtc2hhZG93ICE9IG5vbmUge1xuICAgICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRidG4tYWN0aXZlLWJveC1zaGFkb3csIDAgMCAwICRidG4tZm9jdXMtd2lkdGggcmdiYShtaXgoY29sb3IteWlxKCRiYWNrZ3JvdW5kKSwgJGJvcmRlciwgMTUlKSwgLjUpKTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAvLyBBdm9pZCB1c2luZyBtaXhpbiBzbyB3ZSBjYW4gcGFzcyBjdXN0b20gZm9jdXMgc2hhZG93IHByb3Blcmx5XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwICRidG4tZm9jdXMtd2lkdGggcmdiYShtaXgoY29sb3IteWlxKCRiYWNrZ3JvdW5kKSwgJGJvcmRlciwgMTUlKSwgLjUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gYnV0dG9uLW91dGxpbmUtdmFyaWFudCgkY29sb3IsICRjb2xvci1ob3ZlcjogY29sb3IteWlxKCRjb2xvciksICRhY3RpdmUtYmFja2dyb3VuZDogJGNvbG9yLCAkYWN0aXZlLWJvcmRlcjogJGNvbG9yKSB7XG4gIGNvbG9yOiAkY29sb3I7XG4gIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuXG4gIEBpbmNsdWRlIGhvdmVyKCkge1xuICAgIGNvbG9yOiAkY29sb3ItaG92ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGFjdGl2ZS1iYWNrZ3JvdW5kO1xuICAgIGJvcmRlci1jb2xvcjogJGFjdGl2ZS1ib3JkZXI7XG4gIH1cblxuICAmOmZvY3VzLFxuICAmLmZvY3VzIHtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAkYnRuLWZvY3VzLXdpZHRoIHJnYmEoJGNvbG9yLCAuNSk7XG4gIH1cblxuICAmLmRpc2FibGVkLFxuICAmOmRpc2FibGVkIHtcbiAgICBjb2xvcjogJGNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG5cbiAgJjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmUsXG4gICY6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlLFxuICAuc2hvdyA+ICYuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBjb2xvcjogY29sb3IteWlxKCRhY3RpdmUtYmFja2dyb3VuZCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGFjdGl2ZS1iYWNrZ3JvdW5kO1xuICAgIGJvcmRlci1jb2xvcjogJGFjdGl2ZS1ib3JkZXI7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIEBpZiAkZW5hYmxlLXNoYWRvd3MgYW5kICRidG4tYWN0aXZlLWJveC1zaGFkb3cgIT0gbm9uZSB7XG4gICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGJ0bi1hY3RpdmUtYm94LXNoYWRvdywgMCAwIDAgJGJ0bi1mb2N1cy13aWR0aCByZ2JhKCRjb2xvciwgLjUpKTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAvLyBBdm9pZCB1c2luZyBtaXhpbiBzbyB3ZSBjYW4gcGFzcyBjdXN0b20gZm9jdXMgc2hhZG93IHByb3Blcmx5XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwICRidG4tZm9jdXMtd2lkdGggcmdiYSgkY29sb3IsIC41KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gQnV0dG9uIHNpemVzXG5AbWl4aW4gYnV0dG9uLXNpemUoJHBhZGRpbmcteSwgJHBhZGRpbmcteCwgJGZvbnQtc2l6ZSwgJGxpbmUtaGVpZ2h0LCAkYm9yZGVyLXJhZGl1cykge1xuICBwYWRkaW5nOiAkcGFkZGluZy15ICRwYWRkaW5nLXg7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9udC1zaXplKTtcbiAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodDtcbiAgLy8gTWFudWFsbHkgZGVjbGFyZSB0byBwcm92aWRlIGFuIG92ZXJyaWRlIHRvIHRoZSBicm93c2VyIGRlZmF1bHRcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cywgMCk7XG59XG4iLCJAbWl4aW4gY2FyZXQtZG93bigpIHtcbiAgYm9yZGVyLXRvcDogJGNhcmV0LXdpZHRoIHNvbGlkO1xuICBib3JkZXItcmlnaHQ6ICRjYXJldC13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbiAgYm9yZGVyLWxlZnQ6ICRjYXJldC13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbn1cblxuQG1peGluIGNhcmV0LXVwKCkge1xuICBib3JkZXItdG9wOiAwO1xuICBib3JkZXItcmlnaHQ6ICRjYXJldC13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWJvdHRvbTogJGNhcmV0LXdpZHRoIHNvbGlkO1xuICBib3JkZXItbGVmdDogJGNhcmV0LXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xufVxuXG5AbWl4aW4gY2FyZXQtcmlnaHQoKSB7XG4gIGJvcmRlci10b3A6ICRjYXJldC13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0OiAwO1xuICBib3JkZXItYm90dG9tOiAkY2FyZXQtd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1sZWZ0OiAkY2FyZXQtd2lkdGggc29saWQ7XG59XG5cbkBtaXhpbiBjYXJldC1sZWZ0KCkge1xuICBib3JkZXItdG9wOiAkY2FyZXQtd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodDogJGNhcmV0LXdpZHRoIHNvbGlkO1xuICBib3JkZXItYm90dG9tOiAkY2FyZXQtd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG59XG5cbkBtaXhpbiBjYXJldCgkZGlyZWN0aW9uOiBkb3duKSB7XG4gIEBpZiAkZW5hYmxlLWNhcmV0IHtcbiAgICAmOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tbGVmdDogJGNhcmV0LXNwYWNpbmc7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogJGNhcmV0LXZlcnRpY2FsLWFsaWduO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIEBpZiAkZGlyZWN0aW9uID09IGRvd24ge1xuICAgICAgICBAaW5jbHVkZSBjYXJldC1kb3duKCk7XG4gICAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gdXAge1xuICAgICAgICBAaW5jbHVkZSBjYXJldC11cCgpO1xuICAgICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IHJpZ2h0IHtcbiAgICAgICAgQGluY2x1ZGUgY2FyZXQtcmlnaHQoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJGRpcmVjdGlvbiA9PSBsZWZ0IHtcbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6ICRjYXJldC1zcGFjaW5nO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogJGNhcmV0LXZlcnRpY2FsLWFsaWduO1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBAaW5jbHVkZSBjYXJldC1sZWZ0KCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjplbXB0eTo6YWZ0ZXIge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuICB9XG59XG4iLCIvLyBQYWdpbmF0aW9uXG5cbkBtaXhpbiBwYWdpbmF0aW9uLXNpemUoJHBhZGRpbmcteSwgJHBhZGRpbmcteCwgJGZvbnQtc2l6ZSwgJGxpbmUtaGVpZ2h0LCAkYm9yZGVyLXJhZGl1cykge1xuICAucGFnZS1saW5rIHtcbiAgICBwYWRkaW5nOiAkcGFkZGluZy15ICRwYWRkaW5nLXg7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKCRmb250LXNpemUpO1xuICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQ7XG4gIH1cblxuICAucGFnZS1pdGVtIHtcbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgIC5wYWdlLWxpbmsge1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItbGVmdC1yYWRpdXMoJGJvcmRlci1yYWRpdXMpO1xuICAgICAgfVxuICAgIH1cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgLnBhZ2UtbGluayB7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoJGJvcmRlci1yYWRpdXMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gTGlzdHNcblxuLy8gVW5zdHlsZWQga2VlcHMgbGlzdCBpdGVtcyBibG9jayBsZXZlbCwganVzdCByZW1vdmVzIGRlZmF1bHQgYnJvd3NlciBwYWRkaW5nIGFuZCBsaXN0LXN0eWxlXG5AbWl4aW4gbGlzdC11bnN0eWxlZCgpIHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuIiwiLy8gTGlzdCBHcm91cHNcblxuQG1peGluIGxpc3QtZ3JvdXAtaXRlbS12YXJpYW50KCRzdGF0ZSwgJGJhY2tncm91bmQsICRjb2xvcikge1xuICAubGlzdC1ncm91cC1pdGVtLSN7JHN0YXRlfSB7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcblxuICAgICYubGlzdC1ncm91cC1pdGVtLWFjdGlvbiB7XG4gICAgICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICAgICAgY29sb3I6ICRjb2xvcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRiYWNrZ3JvdW5kLCA1JSk7XG4gICAgICB9XG5cbiAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEhvcml6b250YWwgZGl2aWRlcnNcbi8vXG4vLyBEaXZpZGVycyAoYmFzaWNhbGx5IGFuIGhyKSB3aXRoaW4gZHJvcGRvd25zIGFuZCBuYXYgbGlzdHNcblxuQG1peGluIG5hdi1kaXZpZGVyKCRjb2xvcjogJG5hdi1kaXZpZGVyLWNvbG9yLCAkbWFyZ2luLXk6ICRuYXYtZGl2aWRlci1tYXJnaW4teSwgJGlnbm9yZS13YXJuaW5nOiBmYWxzZSkge1xuICBoZWlnaHQ6IDA7XG4gIG1hcmdpbjogJG1hcmdpbi15IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAkY29sb3I7XG4gIEBpbmNsdWRlIGRlcHJlY2F0ZShcIlRoZSBgbmF2LWRpdmlkZXIoKWAgbWl4aW5cIiwgXCJ2NC40LjBcIiwgXCJ2NVwiLCAkaWdub3JlLXdhcm5pbmcpO1xufVxuIiwiLy8gRm9ybSBjb250cm9sIGZvY3VzIHN0YXRlXG4vL1xuLy8gR2VuZXJhdGUgYSBjdXN0b21pemVkIGZvY3VzIHN0YXRlIGFuZCBmb3IgYW55IGlucHV0IHdpdGggdGhlIHNwZWNpZmllZCBjb2xvcixcbi8vIHdoaWNoIGRlZmF1bHRzIHRvIHRoZSBgJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvcmAgdmFyaWFibGUuXG4vL1xuLy8gV2UgaGlnaGx5IGVuY291cmFnZSB5b3UgdG8gbm90IGN1c3RvbWl6ZSB0aGUgZGVmYXVsdCB2YWx1ZSwgYnV0IGluc3RlYWQgdXNlXG4vLyB0aGlzIHRvIHR3ZWFrIGNvbG9ycyBvbiBhbiBhcy1uZWVkZWQgYmFzaXMuIFRoaXMgYWVzdGhldGljIGNoYW5nZSBpcyBiYXNlZCBvblxuLy8gV2ViS2l0J3MgZGVmYXVsdCBzdHlsZXMsIGJ1dCBhcHBsaWNhYmxlIHRvIGEgd2lkZXIgcmFuZ2Ugb2YgYnJvd3NlcnMuIEl0c1xuLy8gdXNhYmlsaXR5IGFuZCBhY2Nlc3NpYmlsaXR5IHNob3VsZCBiZSB0YWtlbiBpbnRvIGFjY291bnQgd2l0aCBhbnkgY2hhbmdlLlxuLy9cbi8vIEV4YW1wbGUgdXNhZ2U6IGNoYW5nZSB0aGUgZGVmYXVsdCBibHVlIGJvcmRlciBhbmQgc2hhZG93IHRvIHdoaXRlIGZvciBiZXR0ZXJcbi8vIGNvbnRyYXN0IGFnYWluc3QgYSBkYXJrIGdyYXkgYmFja2dyb3VuZC5cbkBtaXhpbiBmb3JtLWNvbnRyb2wtZm9jdXMoJGlnbm9yZS13YXJuaW5nOiBmYWxzZSkge1xuICAmOmZvY3VzIHtcbiAgICBjb2xvcjogJGlucHV0LWZvY3VzLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1mb2N1cy1iZztcbiAgICBib3JkZXItY29sb3I6ICRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3I7XG4gICAgb3V0bGluZTogMDtcbiAgICBAaWYgJGVuYWJsZS1zaGFkb3dzIHtcbiAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGlucHV0LWJveC1zaGFkb3csICRpbnB1dC1mb2N1cy1ib3gtc2hhZG93KTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIC8vIEF2b2lkIHVzaW5nIG1peGluIHNvIHdlIGNhbiBwYXNzIGN1c3RvbSBmb2N1cyBzaGFkb3cgcHJvcGVybHlcbiAgICAgIGJveC1zaGFkb3c6ICRpbnB1dC1mb2N1cy1ib3gtc2hhZG93O1xuICAgIH1cbiAgfVxuICBAaW5jbHVkZSBkZXByZWNhdGUoXCJUaGUgYGZvcm0tY29udHJvbC1mb2N1cygpYCBtaXhpblwiLCBcInY0LjQuMFwiLCBcInY1XCIsICRpZ25vcmUtd2FybmluZyk7XG59XG5cbi8vIFRoaXMgbWl4aW4gdXNlcyBhbiBgaWYoKWAgdGVjaG5pcXVlIHRvIGJlIGNvbXBhdGlibGUgd2l0aCBEYXJ0IFNhc3Ncbi8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy9zYXNzL2lzc3Vlcy8xODczI2lzc3VlY29tbWVudC0xNTIyOTM3MjUgZm9yIG1vcmUgZGV0YWlsc1xuQG1peGluIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZS1zZWxlY3Rvcigkc3RhdGUpIHtcbiAgQGlmICgkc3RhdGUgPT0gXCJ2YWxpZFwiIG9yICRzdGF0ZSA9PSBcImludmFsaWRcIikge1xuICAgIC53YXMtdmFsaWRhdGVkICN7aWYoJiwgXCImXCIsIFwiXCIpfTojeyRzdGF0ZX0sXG4gICAgI3tpZigmLCBcIiZcIiwgXCJcIil9LmlzLSN7JHN0YXRlfSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgICN7aWYoJiwgXCImXCIsIFwiXCIpfS5pcy0jeyRzdGF0ZX0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3JtLXZhbGlkYXRpb24tc3RhdGUoJHN0YXRlLCAkY29sb3IsICRpY29uKSB7XG4gIC4jeyRzdGF0ZX0tZmVlZGJhY2sge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXRvcDogJGZvcm0tZmVlZGJhY2stbWFyZ2luLXRvcDtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoJGZvcm0tZmVlZGJhY2stZm9udC1zaXplKTtcbiAgICBjb2xvcjogJGNvbG9yO1xuICB9XG5cbiAgLiN7JHN0YXRlfS10b29sdGlwIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxMDAlO1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogNTtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIG1heC13aWR0aDogMTAwJTsgLy8gQ29udGFpbiB0byBwYXJlbnQgd2hlbiBwb3NzaWJsZVxuICAgIHBhZGRpbmc6ICRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtcGFkZGluZy15ICRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtcGFkZGluZy14O1xuICAgIG1hcmdpbi10b3A6IC4xcmVtO1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9ybS1mZWVkYmFjay10b29sdGlwLWZvbnQtc2l6ZSk7XG4gICAgbGluZS1oZWlnaHQ6ICRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtbGluZS1oZWlnaHQ7XG4gICAgY29sb3I6IGNvbG9yLXlpcSgkY29sb3IpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGNvbG9yLCAkZm9ybS1mZWVkYmFjay10b29sdGlwLW9wYWNpdHkpO1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1ib3JkZXItcmFkaXVzKTtcblxuICAgIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8zMTU1N1xuICAgIC8vIEFsaWduIHRvb2x0aXAgdG8gZm9ybSBlbGVtZW50c1xuICAgIC5mb3JtLXJvdyA+IC5jb2wgPiAmLFxuICAgIC5mb3JtLXJvdyA+IFtjbGFzcyo9XCJjb2wtXCJdID4gJiB7XG4gICAgICBsZWZ0OiAkZm9ybS1ncmlkLWd1dHRlci13aWR0aCAvIDI7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgZm9ybS12YWxpZGF0aW9uLXN0YXRlLXNlbGVjdG9yKCRzdGF0ZSkge1xuICAgIH4gLiN7JHN0YXRlfS1mZWVkYmFjayxcbiAgICB+IC4jeyRzdGF0ZX0tdG9vbHRpcCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cblxuICAuZm9ybS1jb250cm9sIHtcbiAgICBAaW5jbHVkZSBmb3JtLXZhbGlkYXRpb24tc3RhdGUtc2VsZWN0b3IoJHN0YXRlKSB7XG4gICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcblxuICAgICAgQGlmICRlbmFibGUtdmFsaWRhdGlvbi1pY29ucyB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRpbnB1dC1oZWlnaHQtaW5uZXI7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGVzY2FwZS1zdmcoJGljb24pO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAkaW5wdXQtaGVpZ2h0LWlubmVyLXF1YXJ0ZXIgY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6ICRpbnB1dC1oZWlnaHQtaW5uZXItaGFsZiAkaW5wdXQtaGVpZ2h0LWlubmVyLWhhbGY7XG4gICAgICB9XG5cbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGlucHV0LWZvY3VzLXdpZHRoIHJnYmEoJGNvbG9yLCAuMjUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzZWxlY3Rvci1uby1xdWFsaWZ5aW5nLXR5cGVcbiAgdGV4dGFyZWEuZm9ybS1jb250cm9sIHtcbiAgICBAaW5jbHVkZSBmb3JtLXZhbGlkYXRpb24tc3RhdGUtc2VsZWN0b3IoJHN0YXRlKSB7XG4gICAgICBAaWYgJGVuYWJsZS12YWxpZGF0aW9uLWljb25zIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogJGlucHV0LWhlaWdodC1pbm5lcjtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wICRpbnB1dC1oZWlnaHQtaW5uZXItcXVhcnRlciByaWdodCAkaW5wdXQtaGVpZ2h0LWlubmVyLXF1YXJ0ZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmN1c3RvbS1zZWxlY3Qge1xuICAgIEBpbmNsdWRlIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZS1zZWxlY3Rvcigkc3RhdGUpIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuXG4gICAgICBAaWYgJGVuYWJsZS12YWxpZGF0aW9uLWljb25zIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogJGN1c3RvbS1zZWxlY3QtZmVlZGJhY2staWNvbi1wYWRkaW5nLXJpZ2h0O1xuICAgICAgICBiYWNrZ3JvdW5kOiAkY3VzdG9tLXNlbGVjdC1iYWNrZ3JvdW5kLCAkY3VzdG9tLXNlbGVjdC1iZyBlc2NhcGUtc3ZnKCRpY29uKSAkY3VzdG9tLXNlbGVjdC1mZWVkYmFjay1pY29uLXBvc2l0aW9uIC8gJGN1c3RvbS1zZWxlY3QtZmVlZGJhY2staWNvbi1zaXplIG5vLXJlcGVhdDtcbiAgICAgIH1cblxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAkaW5wdXQtZm9jdXMtd2lkdGggcmdiYSgkY29sb3IsIC4yNSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmZvcm0tY2hlY2staW5wdXQge1xuICAgIEBpbmNsdWRlIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZS1zZWxlY3Rvcigkc3RhdGUpIHtcbiAgICAgIH4gLmZvcm0tY2hlY2stbGFiZWwge1xuICAgICAgICBjb2xvcjogJGNvbG9yO1xuICAgICAgfVxuXG4gICAgICB+IC4jeyRzdGF0ZX0tZmVlZGJhY2ssXG4gICAgICB+IC4jeyRzdGF0ZX0tdG9vbHRpcCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5jdXN0b20tY29udHJvbC1pbnB1dCB7XG4gICAgQGluY2x1ZGUgZm9ybS12YWxpZGF0aW9uLXN0YXRlLXNlbGVjdG9yKCRzdGF0ZSkge1xuICAgICAgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWwge1xuICAgICAgICBjb2xvcjogJGNvbG9yO1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJjpjaGVja2VkIHtcbiAgICAgICAgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiBsaWdodGVuKCRjb2xvciwgMTAlKTtcbiAgICAgICAgICBAaW5jbHVkZSBncmFkaWVudC1iZyhsaWdodGVuKCRjb2xvciwgMTAlKSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwICRpbnB1dC1mb2N1cy13aWR0aCByZ2JhKCRjb2xvciwgLjI1KTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6bm90KDpjaGVja2VkKSB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIGN1c3RvbSBmaWxlXG4gIC5jdXN0b20tZmlsZS1pbnB1dCB7XG4gICAgQGluY2x1ZGUgZm9ybS12YWxpZGF0aW9uLXN0YXRlLXNlbGVjdG9yKCRzdGF0ZSkge1xuICAgICAgfiAuY3VzdG9tLWZpbGUtbGFiZWwge1xuICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcbiAgICAgIH1cblxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIH4gLmN1c3RvbS1maWxlLWxhYmVsIHtcbiAgICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcbiAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAkaW5wdXQtZm9jdXMtd2lkdGggcmdiYSgkY29sb3IsIC4yNSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIFRhYmxlc1xuXG5AbWl4aW4gdGFibGUtcm93LXZhcmlhbnQoJHN0YXRlLCAkYmFja2dyb3VuZCwgJGJvcmRlcjogbnVsbCkge1xuICAvLyBFeGFjdCBzZWxlY3RvcnMgYmVsb3cgcmVxdWlyZWQgdG8gb3ZlcnJpZGUgYC50YWJsZS1zdHJpcGVkYCBhbmQgcHJldmVudFxuICAvLyBpbmhlcml0YW5jZSB0byBuZXN0ZWQgdGFibGVzLlxuICAudGFibGUtI3skc3RhdGV9IHtcbiAgICAmLFxuICAgID4gdGgsXG4gICAgPiB0ZCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICB9XG5cbiAgICBAaWYgJGJvcmRlciAhPSBudWxsIHtcbiAgICAgIHRoLFxuICAgICAgdGQsXG4gICAgICB0aGVhZCB0aCxcbiAgICAgIHRib2R5ICsgdGJvZHkge1xuICAgICAgICBib3JkZXItY29sb3I6ICRib3JkZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gSG92ZXIgc3RhdGVzIGZvciBgLnRhYmxlLWhvdmVyYFxuICAvLyBOb3RlOiB0aGlzIGlzIG5vdCBhdmFpbGFibGUgZm9yIGNlbGxzIG9yIHJvd3Mgd2l0aGluIGB0aGVhZGAgb3IgYHRmb290YC5cbiAgLnRhYmxlLWhvdmVyIHtcbiAgICAkaG92ZXItYmFja2dyb3VuZDogZGFya2VuKCRiYWNrZ3JvdW5kLCA1JSk7XG5cbiAgICAudGFibGUtI3skc3RhdGV9IHtcbiAgICAgIEBpbmNsdWRlIGhvdmVyKCkge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaG92ZXItYmFja2dyb3VuZDtcblxuICAgICAgICA+IHRkLFxuICAgICAgICA+IHRoIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaG92ZXItYmFja2dyb3VuZDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi8vIENvbnRleHR1YWwgYmFja2dyb3VuZHNcblxuQG1peGluIGJnLXZhcmlhbnQoJHBhcmVudCwgJGNvbG9yLCAkaWdub3JlLXdhcm5pbmc6IGZhbHNlKSB7XG4gICN7JHBhcmVudH0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvciAhaW1wb3J0YW50O1xuICB9XG4gIGEjeyRwYXJlbnR9LFxuICBidXR0b24jeyRwYXJlbnR9IHtcbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkY29sb3IsIDEwJSkgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbiAgQGluY2x1ZGUgZGVwcmVjYXRlKFwiVGhlIGBiZy12YXJpYW50YCBtaXhpblwiLCBcInY0LjQuMFwiLCBcInY1XCIsICRpZ25vcmUtd2FybmluZyk7XG59XG5cbkBtaXhpbiBiZy1ncmFkaWVudC12YXJpYW50KCRwYXJlbnQsICRjb2xvciwgJGlnbm9yZS13YXJuaW5nOiBmYWxzZSkge1xuICAjeyRwYXJlbnR9IHtcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3IgbGluZWFyLWdyYWRpZW50KDE4MGRlZywgbWl4KCRib2R5LWJnLCAkY29sb3IsIDE1JSksICRjb2xvcikgcmVwZWF0LXggIWltcG9ydGFudDtcbiAgfVxuICBAaW5jbHVkZSBkZXByZWNhdGUoXCJUaGUgYGJnLWdyYWRpZW50LXZhcmlhbnRgIG1peGluXCIsIFwidjQuNS4wXCIsIFwidjVcIiwgJGlnbm9yZS13YXJuaW5nKTtcbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIHByb3BlcnR5LWRpc2FsbG93ZWQtbGlzdFxuLy8gU2luZ2xlIHNpZGUgYm9yZGVyLXJhZGl1c1xuXG4vLyBIZWxwZXIgZnVuY3Rpb24gdG8gcmVwbGFjZSBuZWdhdGl2ZSB2YWx1ZXMgd2l0aCAwXG5AZnVuY3Rpb24gdmFsaWQtcmFkaXVzKCRyYWRpdXMpIHtcbiAgJHJldHVybjogKCk7XG4gIEBlYWNoICR2YWx1ZSBpbiAkcmFkaXVzIHtcbiAgICBAaWYgdHlwZS1vZigkdmFsdWUpID09IG51bWJlciB7XG4gICAgICAkcmV0dXJuOiBhcHBlbmQoJHJldHVybiwgbWF4KCR2YWx1ZSwgMCkpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgJHJldHVybjogYXBwZW5kKCRyZXR1cm4sICR2YWx1ZSk7XG4gICAgfVxuICB9XG4gIEByZXR1cm4gJHJldHVybjtcbn1cblxuQG1peGluIGJvcmRlci1yYWRpdXMoJHJhZGl1czogJGJvcmRlci1yYWRpdXMsICRmYWxsYmFjay1ib3JkZXItcmFkaXVzOiBmYWxzZSkge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbiAgQGVsc2UgaWYgJGZhbGxiYWNrLWJvcmRlci1yYWRpdXMgIT0gZmFsc2Uge1xuICAgIGJvcmRlci1yYWRpdXM6ICRmYWxsYmFjay1ib3JkZXItcmFkaXVzO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItdG9wLXJhZGl1cygkcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItcmlnaHQtcmFkaXVzKCRyYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItYm90dG9tLXJhZGl1cygkcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItbGVmdC1yYWRpdXMoJHJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItdG9wLWxlZnQtcmFkaXVzKCRyYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItdG9wLXJpZ2h0LXJhZGl1cygkcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzKCRyYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1cygkcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuIiwiQG1peGluIGJveC1zaGFkb3coJHNoYWRvdy4uLikge1xuICBAaWYgJGVuYWJsZS1zaGFkb3dzIHtcbiAgICAkcmVzdWx0OiAoKTtcblxuICAgIEBpZiAobGVuZ3RoKCRzaGFkb3cpID09IDEpIHtcbiAgICAgIC8vIFdlIGNhbiBwYXNzIGBAaW5jbHVkZSBib3gtc2hhZG93KG5vbmUpO2BcbiAgICAgICRyZXN1bHQ6ICRzaGFkb3c7XG4gICAgfSBAZWxzZSB7XG4gICAgICAvLyBGaWx0ZXIgdG8gYXZvaWQgaW52YWxpZCBwcm9wZXJ0aWVzIGZvciBleGFtcGxlIGBib3gtc2hhZG93OiBub25lLCAxcHggMXB4IGJsYWNrO2BcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggbGVuZ3RoKCRzaGFkb3cpIHtcbiAgICAgICAgQGlmIG50aCgkc2hhZG93LCAkaSkgIT0gXCJub25lXCIge1xuICAgICAgICAgICRyZXN1bHQ6IGFwcGVuZCgkcmVzdWx0LCBudGgoJHNoYWRvdywgJGkpLCBcImNvbW1hXCIpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIEBpZiAobGVuZ3RoKCRyZXN1bHQpID4gMCkge1xuICAgICAgYm94LXNoYWRvdzogJHJlc3VsdDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEdyYWRpZW50c1xuXG5AbWl4aW4gZ3JhZGllbnQtYmcoJGNvbG9yKSB7XG4gIEBpZiAkZW5hYmxlLWdyYWRpZW50cyB7XG4gICAgYmFja2dyb3VuZDogJGNvbG9yIGxpbmVhci1ncmFkaWVudCgxODBkZWcsIG1peCgkYm9keS1iZywgJGNvbG9yLCAxNSUpLCAkY29sb3IpIHJlcGVhdC14O1xuICB9IEBlbHNlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG4gIH1cbn1cblxuLy8gSG9yaXpvbnRhbCBncmFkaWVudCwgZnJvbSBsZWZ0IHRvIHJpZ2h0XG4vL1xuLy8gQ3JlYXRlcyB0d28gY29sb3Igc3RvcHMsIHN0YXJ0IGFuZCBlbmQsIGJ5IHNwZWNpZnlpbmcgYSBjb2xvciBhbmQgcG9zaXRpb24gZm9yIGVhY2ggY29sb3Igc3RvcC5cbkBtaXhpbiBncmFkaWVudC14KCRzdGFydC1jb2xvcjogJGdyYXktNzAwLCAkZW5kLWNvbG9yOiAkZ3JheS04MDAsICRzdGFydC1wZXJjZW50OiAwJSwgJGVuZC1wZXJjZW50OiAxMDAlKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgJHN0YXJ0LWNvbG9yICRzdGFydC1wZXJjZW50LCAkZW5kLWNvbG9yICRlbmQtcGVyY2VudCk7XG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbn1cblxuLy8gVmVydGljYWwgZ3JhZGllbnQsIGZyb20gdG9wIHRvIGJvdHRvbVxuLy9cbi8vIENyZWF0ZXMgdHdvIGNvbG9yIHN0b3BzLCBzdGFydCBhbmQgZW5kLCBieSBzcGVjaWZ5aW5nIGEgY29sb3IgYW5kIHBvc2l0aW9uIGZvciBlYWNoIGNvbG9yIHN0b3AuXG5AbWl4aW4gZ3JhZGllbnQteSgkc3RhcnQtY29sb3I6ICRncmF5LTcwMCwgJGVuZC1jb2xvcjogJGdyYXktODAwLCAkc3RhcnQtcGVyY2VudDogMCUsICRlbmQtcGVyY2VudDogMTAwJSkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAkc3RhcnQtY29sb3IgJHN0YXJ0LXBlcmNlbnQsICRlbmQtY29sb3IgJGVuZC1wZXJjZW50KTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xufVxuXG5AbWl4aW4gZ3JhZGllbnQtZGlyZWN0aW9uYWwoJHN0YXJ0LWNvbG9yOiAkZ3JheS03MDAsICRlbmQtY29sb3I6ICRncmF5LTgwMCwgJGRlZzogNDVkZWcpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCRkZWcsICRzdGFydC1jb2xvciwgJGVuZC1jb2xvcik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbn1cbkBtaXhpbiBncmFkaWVudC14LXRocmVlLWNvbG9ycygkc3RhcnQtY29sb3I6ICRibHVlLCAkbWlkLWNvbG9yOiAkcHVycGxlLCAkY29sb3Itc3RvcDogNTAlLCAkZW5kLWNvbG9yOiAkcmVkKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgJHN0YXJ0LWNvbG9yLCAkbWlkLWNvbG9yICRjb2xvci1zdG9wLCAkZW5kLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbn1cbkBtaXhpbiBncmFkaWVudC15LXRocmVlLWNvbG9ycygkc3RhcnQtY29sb3I6ICRibHVlLCAkbWlkLWNvbG9yOiAkcHVycGxlLCAkY29sb3Itc3RvcDogNTAlLCAkZW5kLWNvbG9yOiAkcmVkKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkc3RhcnQtY29sb3IsICRtaWQtY29sb3IgJGNvbG9yLXN0b3AsICRlbmQtY29sb3IpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xufVxuQG1peGluIGdyYWRpZW50LXJhZGlhbCgkaW5uZXItY29sb3I6ICRncmF5LTcwMCwgJG91dGVyLWNvbG9yOiAkZ3JheS04MDApIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogcmFkaWFsLWdyYWRpZW50KGNpcmNsZSwgJGlubmVyLWNvbG9yLCAkb3V0ZXItY29sb3IpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xufVxuQG1peGluIGdyYWRpZW50LXN0cmlwZWQoJGNvbG9yOiByZ2JhKCR3aGl0ZSwgLjE1KSwgJGFuZ2xlOiA0NWRlZykge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoJGFuZ2xlLCAkY29sb3IgMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwgJGNvbG9yIDUwJSwgJGNvbG9yIDc1JSwgdHJhbnNwYXJlbnQgNzUlLCB0cmFuc3BhcmVudCk7XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBwcm9wZXJ0eS1kaXNhbGxvd2VkLWxpc3RcbkBtaXhpbiB0cmFuc2l0aW9uKCR0cmFuc2l0aW9uLi4uKSB7XG4gIEBpZiBsZW5ndGgoJHRyYW5zaXRpb24pID09IDAge1xuICAgICR0cmFuc2l0aW9uOiAkdHJhbnNpdGlvbi1iYXNlO1xuICB9XG5cbiAgQGlmIGxlbmd0aCgkdHJhbnNpdGlvbikgPiAxIHtcbiAgICBAZWFjaCAkdmFsdWUgaW4gJHRyYW5zaXRpb24ge1xuICAgICAgQGlmICR2YWx1ZSA9PSBudWxsIG9yICR2YWx1ZSA9PSBub25lIHtcbiAgICAgICAgQHdhcm4gXCJUaGUga2V5d29yZCAnbm9uZScgb3IgJ251bGwnIG11c3QgYmUgdXNlZCBhcyBhIHNpbmdsZSBhcmd1bWVudC5cIjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgJGVuYWJsZS10cmFuc2l0aW9ucyB7XG4gICAgQGlmIG50aCgkdHJhbnNpdGlvbiwgMSkgIT0gbnVsbCB7XG4gICAgICB0cmFuc2l0aW9uOiAkdHJhbnNpdGlvbjtcbiAgICB9XG5cbiAgICBAaWYgJGVuYWJsZS1wcmVmZXJzLXJlZHVjZWQtbW90aW9uLW1lZGlhLXF1ZXJ5IGFuZCBudGgoJHRyYW5zaXRpb24sIDEpICE9IG51bGwgYW5kIG50aCgkdHJhbnNpdGlvbiwgMSkgIT0gbm9uZSB7XG4gICAgICBAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAgICAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQG1peGluIGNsZWFyZml4KCkge1xuICAmOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgY29udGVudDogXCJcIjtcbiAgfVxufVxuIiwiLy8gRnJhbWV3b3JrIGdyaWQgZ2VuZXJhdGlvblxuLy9cbi8vIFVzZWQgb25seSBieSBCb290c3RyYXAgdG8gZ2VuZXJhdGUgdGhlIGNvcnJlY3QgbnVtYmVyIG9mIGdyaWQgY2xhc3NlcyBnaXZlblxuLy8gYW55IHZhbHVlIG9mIGAkZ3JpZC1jb2x1bW5zYC5cblxuQG1peGluIG1ha2UtZ3JpZC1jb2x1bW5zKCRjb2x1bW5zOiAkZ3JpZC1jb2x1bW5zLCAkZ3V0dGVyOiAkZ3JpZC1ndXR0ZXItd2lkdGgsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgLy8gQ29tbW9uIHByb3BlcnRpZXMgZm9yIGFsbCBicmVha3BvaW50c1xuICAlZ3JpZC1jb2x1bW4ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkZ3V0dGVyIC8gMjtcbiAgICBwYWRkaW5nLWxlZnQ6ICRndXR0ZXIgLyAyO1xuICB9XG5cbiAgQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGJyZWFrcG9pbnRzKSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkYnJlYWtwb2ludHMpO1xuXG4gICAgQGlmICRjb2x1bW5zID4gMCB7XG4gICAgICAvLyBBbGxvdyBjb2x1bW5zIHRvIHN0cmV0Y2ggZnVsbCB3aWR0aCBiZWxvdyB0aGVpciBicmVha3BvaW50c1xuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkY29sdW1ucyB7XG4gICAgICAgIC5jb2wjeyRpbmZpeH0tI3skaX0ge1xuICAgICAgICAgIEBleHRlbmQgJWdyaWQtY29sdW1uO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmNvbCN7JGluZml4fSxcbiAgICAuY29sI3skaW5maXh9LWF1dG8ge1xuICAgICAgQGV4dGVuZCAlZ3JpZC1jb2x1bW47XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICAvLyBQcm92aWRlIGJhc2ljIGAuY29sLXticH1gIGNsYXNzZXMgZm9yIGVxdWFsLXdpZHRoIGZsZXhib3ggY29sdW1uc1xuICAgICAgLmNvbCN7JGluZml4fSB7XG4gICAgICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgfVxuXG4gICAgICBAaWYgJGdyaWQtcm93LWNvbHVtbnMgPiAwIHtcbiAgICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1yb3ctY29sdW1ucyB7XG4gICAgICAgICAgLnJvdy1jb2xzI3skaW5maXh9LSN7JGl9IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHJvdy1jb2xzKCRpKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmNvbCN7JGluZml4fS1hdXRvIHtcbiAgICAgICAgQGluY2x1ZGUgbWFrZS1jb2wtYXV0bygpO1xuICAgICAgfVxuXG4gICAgICBAaWYgJGNvbHVtbnMgPiAwIHtcbiAgICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkY29sdW1ucyB7XG4gICAgICAgICAgLmNvbCN7JGluZml4fS0jeyRpfSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtYWtlLWNvbCgkaSwgJGNvbHVtbnMpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAub3JkZXIjeyRpbmZpeH0tZmlyc3QgeyBvcmRlcjogLTE7IH1cblxuICAgICAgLm9yZGVyI3skaW5maXh9LWxhc3QgeyBvcmRlcjogJGNvbHVtbnMgKyAxOyB9XG5cbiAgICAgIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggJGNvbHVtbnMge1xuICAgICAgICAub3JkZXIjeyRpbmZpeH0tI3skaX0geyBvcmRlcjogJGk7IH1cbiAgICAgIH1cblxuICAgICAgQGlmICRjb2x1bW5zID4gMCB7XG4gICAgICAgIC8vIGAkY29sdW1ucyAtIDFgIGJlY2F1c2Ugb2Zmc2V0dGluZyBieSB0aGUgd2lkdGggb2YgYW4gZW50aXJlIHJvdyBpc24ndCBwb3NzaWJsZVxuICAgICAgICBAZm9yICRpIGZyb20gMCB0aHJvdWdoICgkY29sdW1ucyAtIDEpIHtcbiAgICAgICAgICBAaWYgbm90ICgkaW5maXggPT0gXCJcIiBhbmQgJGkgPT0gMCkgeyAvLyBBdm9pZCBlbWl0dGluZyB1c2VsZXNzIC5vZmZzZXQtMFxuICAgICAgICAgICAgLm9mZnNldCN7JGluZml4fS0jeyRpfSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIG1ha2UtY29sLW9mZnNldCgkaSwgJGNvbHVtbnMpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8vIEdyaWQgc3lzdGVtXG4vL1xuLy8gR2VuZXJhdGUgc2VtYW50aWMgZ3JpZCBjb2x1bW5zIHdpdGggdGhlc2UgbWl4aW5zLlxuXG5AbWl4aW4gbWFrZS1jb250YWluZXIoJGd1dHRlcjogJGdyaWQtZ3V0dGVyLXdpZHRoKSB7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLXJpZ2h0OiAkZ3V0dGVyIC8gMjtcbiAgcGFkZGluZy1sZWZ0OiAkZ3V0dGVyIC8gMjtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbn1cblxuQG1peGluIG1ha2Utcm93KCRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIG1hcmdpbi1yaWdodDogLSRndXR0ZXIgLyAyO1xuICBtYXJnaW4tbGVmdDogLSRndXR0ZXIgLyAyO1xufVxuXG4vLyBGb3IgZWFjaCBicmVha3BvaW50LCBkZWZpbmUgdGhlIG1heGltdW0gd2lkdGggb2YgdGhlIGNvbnRhaW5lciBpbiBhIG1lZGlhIHF1ZXJ5XG5AbWl4aW4gbWFrZS1jb250YWluZXItbWF4LXdpZHRocygkbWF4LXdpZHRoczogJGNvbnRhaW5lci1tYXgtd2lkdGhzLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBlYWNoICRicmVha3BvaW50LCAkY29udGFpbmVyLW1heC13aWR0aCBpbiAkbWF4LXdpZHRocyB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBtYXgtd2lkdGg6ICRjb250YWluZXItbWF4LXdpZHRoO1xuICAgIH1cbiAgfVxuICBAaW5jbHVkZSBkZXByZWNhdGUoXCJUaGUgYG1ha2UtY29udGFpbmVyLW1heC13aWR0aHNgIG1peGluXCIsIFwidjQuNS4yXCIsIFwidjVcIik7XG59XG5cbkBtaXhpbiBtYWtlLWNvbC1yZWFkeSgkZ3V0dGVyOiAkZ3JpZC1ndXR0ZXItd2lkdGgpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAvLyBQcmV2ZW50IGNvbHVtbnMgZnJvbSBiZWNvbWluZyB0b28gbmFycm93IHdoZW4gYXQgc21hbGxlciBncmlkIHRpZXJzIGJ5XG4gIC8vIGFsd2F5cyBzZXR0aW5nIGB3aWR0aDogMTAwJTtgLiBUaGlzIHdvcmtzIGJlY2F1c2Ugd2UgdXNlIGBmbGV4YCB2YWx1ZXNcbiAgLy8gbGF0ZXIgb24gdG8gb3ZlcnJpZGUgdGhpcyBpbml0aWFsIHdpZHRoLlxuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZy1yaWdodDogJGd1dHRlciAvIDI7XG4gIHBhZGRpbmctbGVmdDogJGd1dHRlciAvIDI7XG59XG5cbkBtaXhpbiBtYWtlLWNvbCgkc2l6ZSwgJGNvbHVtbnM6ICRncmlkLWNvbHVtbnMpIHtcbiAgZmxleDogMCAwIHBlcmNlbnRhZ2UoJHNpemUgLyAkY29sdW1ucyk7XG4gIC8vIEFkZCBhIGBtYXgtd2lkdGhgIHRvIGVuc3VyZSBjb250ZW50IHdpdGhpbiBlYWNoIGNvbHVtbiBkb2VzIG5vdCBibG93IG91dFxuICAvLyB0aGUgd2lkdGggb2YgdGhlIGNvbHVtbi4gQXBwbGllcyB0byBJRTEwKyBhbmQgRmlyZWZveC4gQ2hyb21lIGFuZCBTYWZhcmlcbiAgLy8gZG8gbm90IGFwcGVhciB0byByZXF1aXJlIHRoaXMuXG4gIG1heC13aWR0aDogcGVyY2VudGFnZSgkc2l6ZSAvICRjb2x1bW5zKTtcbn1cblxuQG1peGluIG1ha2UtY29sLWF1dG8oKSB7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICB3aWR0aDogYXV0bztcbiAgbWF4LXdpZHRoOiAxMDAlOyAvLyBSZXNldCBlYXJsaWVyIGdyaWQgdGllcnNcbn1cblxuQG1peGluIG1ha2UtY29sLW9mZnNldCgkc2l6ZSwgJGNvbHVtbnM6ICRncmlkLWNvbHVtbnMpIHtcbiAgJG51bTogJHNpemUgLyAkY29sdW1ucztcbiAgbWFyZ2luLWxlZnQ6IGlmKCRudW0gPT0gMCwgMCwgcGVyY2VudGFnZSgkbnVtKSk7XG59XG5cbi8vIFJvdyBjb2x1bW5zXG4vL1xuLy8gU3BlY2lmeSBvbiBhIHBhcmVudCBlbGVtZW50KGUuZy4sIC5yb3cpIHRvIGZvcmNlIGltbWVkaWF0ZSBjaGlsZHJlbiBpbnRvIE5OXG4vLyBudW1iZXJvZiBjb2x1bW5zLiBTdXBwb3J0cyB3cmFwcGluZyB0byBuZXcgbGluZXMsIGJ1dCBkb2VzIG5vdCBkbyBhIE1hc29ucnlcbi8vIHN0eWxlIGdyaWQuXG5AbWl4aW4gcm93LWNvbHMoJGNvdW50KSB7XG4gID4gKiB7XG4gICAgZmxleDogMCAwIDEwMCUgLyAkY291bnQ7XG4gICAgbWF4LXdpZHRoOiAxMDAlIC8gJGNvdW50O1xuICB9XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuQG1peGluIGZsb2F0LWxlZnQoKSB7XG4gIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7XG4gIEBpbmNsdWRlIGRlcHJlY2F0ZShcIlRoZSBgZmxvYXQtbGVmdGAgbWl4aW5cIiwgXCJ2NC4zLjBcIiwgXCJ2NVwiKTtcbn1cbkBtaXhpbiBmbG9hdC1yaWdodCgpIHtcbiAgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7XG4gIEBpbmNsdWRlIGRlcHJlY2F0ZShcIlRoZSBgZmxvYXQtcmlnaHRgIG1peGluXCIsIFwidjQuMy4wXCIsIFwidjVcIik7XG59XG5AbWl4aW4gZmxvYXQtbm9uZSgpIHtcbiAgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDtcbiAgQGluY2x1ZGUgZGVwcmVjYXRlKFwiVGhlIGBmbG9hdC1ub25lYCBtaXhpblwiLCBcInY0LjMuMFwiLCBcInY1XCIpO1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50LCBzZWxlY3Rvci1uby1xdWFsaWZ5aW5nLXR5cGUsIHByb3BlcnR5LW5vLXZlbmRvci1wcmVmaXhcblxuLy8gUmVib290XG4vL1xuLy8gTm9ybWFsaXphdGlvbiBvZiBIVE1MIGVsZW1lbnRzLCBtYW51YWxseSBmb3JrZWQgZnJvbSBOb3JtYWxpemUuY3NzIHRvIHJlbW92ZVxuLy8gc3R5bGVzIHRhcmdldGluZyBpcnJlbGV2YW50IGJyb3dzZXJzIHdoaWxlIGFwcGx5aW5nIG5ldyBzdHlsZXMuXG4vL1xuLy8gTm9ybWFsaXplIGlzIGxpY2Vuc2VkIE1JVC4gaHR0cHM6Ly9naXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzc1xuXG5cbi8vIERvY3VtZW50XG4vL1xuLy8gMS4gQ2hhbmdlIGZyb20gYGJveC1zaXppbmc6IGNvbnRlbnQtYm94YCBzbyB0aGF0IGB3aWR0aGAgaXMgbm90IGFmZmVjdGVkIGJ5IGBwYWRkaW5nYCBvciBgYm9yZGVyYC5cbi8vIDIuIENoYW5nZSB0aGUgZGVmYXVsdCBmb250IGZhbWlseSBpbiBhbGwgYnJvd3NlcnMuXG4vLyAzLiBDb3JyZWN0IHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXG4vLyA0LiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluIElFIG9uIFdpbmRvd3MgUGhvbmUgYW5kIGluIGlPUy5cbi8vIDUuIENoYW5nZSB0aGUgZGVmYXVsdCB0YXAgaGlnaGxpZ2h0IHRvIGJlIGNvbXBsZXRlbHkgdHJhbnNwYXJlbnQgaW4gaU9TLlxuXG4qLFxuKjo6YmVmb3JlLFxuKjo6YWZ0ZXIge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvLyAxXG59XG5cbmh0bWwge1xuICBmb250LWZhbWlseTogc2Fucy1zZXJpZjsgLy8gMlxuICBsaW5lLWhlaWdodDogMS4xNTsgLy8gM1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8vIDRcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKCRibGFjaywgMCk7IC8vIDVcbn1cblxuLy8gU2hpbSBmb3IgXCJuZXdcIiBIVE1MNSBzdHJ1Y3R1cmFsIGVsZW1lbnRzIHRvIGRpc3BsYXkgY29ycmVjdGx5IChJRTEwLCBvbGRlciBicm93c2Vycylcbi8vIFRPRE86IHJlbW92ZSBpbiB2NVxuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNlbGVjdG9yLWxpc3QtY29tbWEtbmV3bGluZS1hZnRlclxuYXJ0aWNsZSwgYXNpZGUsIGZpZ2NhcHRpb24sIGZpZ3VyZSwgZm9vdGVyLCBoZWFkZXIsIGhncm91cCwgbWFpbiwgbmF2LCBzZWN0aW9uIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8vIEJvZHlcbi8vXG4vLyAxLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMuXG4vLyAyLiBBcyBhIGJlc3QgcHJhY3RpY2UsIGFwcGx5IGEgZGVmYXVsdCBgYmFja2dyb3VuZC1jb2xvcmAuXG4vLyAzLiBTZXQgYW4gZXhwbGljaXQgaW5pdGlhbCB0ZXh0LWFsaWduIHZhbHVlIHNvIHRoYXQgd2UgY2FuIGxhdGVyIHVzZVxuLy8gICAgdGhlIGBpbmhlcml0YCB2YWx1ZSBvbiB0aGluZ3MgbGlrZSBgPHRoPmAgZWxlbWVudHMuXG5cbmJvZHkge1xuICBtYXJnaW46IDA7IC8vIDFcbiAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1iYXNlO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGZvbnQtc2l6ZS1iYXNlKTtcbiAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1iYXNlO1xuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWJhc2U7XG4gIGNvbG9yOiAkYm9keS1jb2xvcjtcbiAgdGV4dC1hbGlnbjogbGVmdDsgLy8gM1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYm9keS1iZzsgLy8gMlxufVxuXG4vLyBGdXR1cmUtcHJvb2YgcnVsZTogaW4gYnJvd3NlcnMgdGhhdCBzdXBwb3J0IDpmb2N1cy12aXNpYmxlLCBzdXBwcmVzcyB0aGUgZm9jdXMgb3V0bGluZVxuLy8gb24gZWxlbWVudHMgdGhhdCBwcm9ncmFtbWF0aWNhbGx5IHJlY2VpdmUgZm9jdXMgYnV0IHdvdWxkbid0IG5vcm1hbGx5IHNob3cgYSB2aXNpYmxlXG4vLyBmb2N1cyBvdXRsaW5lLiBJbiBnZW5lcmFsLCB0aGlzIHdvdWxkIG1lYW4gdGhhdCB0aGUgb3V0bGluZSBpcyBvbmx5IGFwcGxpZWQgaWYgdGhlXG4vLyBpbnRlcmFjdGlvbiB0aGF0IGxlZCB0byB0aGUgZWxlbWVudCByZWNlaXZpbmcgcHJvZ3JhbW1hdGljIGZvY3VzIHdhcyBhIGtleWJvYXJkIGludGVyYWN0aW9uLFxuLy8gb3IgdGhlIGJyb3dzZXIgaGFzIHNvbWVob3cgZGV0ZXJtaW5lZCB0aGF0IHRoZSB1c2VyIGlzIHByaW1hcmlseSBhIGtleWJvYXJkIHVzZXIgYW5kL29yXG4vLyB3YW50cyBmb2N1cyBvdXRsaW5lcyB0byBhbHdheXMgYmUgcHJlc2VudGVkLlxuLy9cbi8vIFNlZSBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9DU1MvOmZvY3VzLXZpc2libGVcbi8vIGFuZCBodHRwczovL2RldmVsb3Blci5wYWNpZWxsb2dyb3VwLmNvbS9ibG9nLzIwMTgvMDMvZm9jdXMtdmlzaWJsZS1hbmQtYmFja3dhcmRzLWNvbXBhdGliaWxpdHkvXG5bdGFiaW5kZXg9XCItMVwiXTpmb2N1czpub3QoOmZvY3VzLXZpc2libGUpIHtcbiAgb3V0bGluZTogMCAhaW1wb3J0YW50O1xufVxuXG5cbi8vIENvbnRlbnQgZ3JvdXBpbmdcbi8vXG4vLyAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxuLy8gMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG5cbmhyIHtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7IC8vIDFcbiAgaGVpZ2h0OiAwOyAvLyAxXG4gIG92ZXJmbG93OiB2aXNpYmxlOyAvLyAyXG59XG5cblxuLy9cbi8vIFR5cG9ncmFwaHlcbi8vXG5cbi8vIFJlbW92ZSB0b3AgbWFyZ2lucyBmcm9tIGhlYWRpbmdzXG4vL1xuLy8gQnkgZGVmYXVsdCwgYDxoMT5gLWA8aDY+YCBhbGwgcmVjZWl2ZSB0b3AgYW5kIGJvdHRvbSBtYXJnaW5zLiBXZSBudWtlIHRoZSB0b3Bcbi8vIG1hcmdpbiBmb3IgZWFzaWVyIGNvbnRyb2wgd2l0aGluIHR5cGUgc2NhbGVzIGFzIGl0IGF2b2lkcyBtYXJnaW4gY29sbGFwc2luZy5cbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzZWxlY3Rvci1saXN0LWNvbW1hLW5ld2xpbmUtYWZ0ZXJcbmgxLCBoMiwgaDMsIGg0LCBoNSwgaDYge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAkaGVhZGluZ3MtbWFyZ2luLWJvdHRvbTtcbn1cblxuLy8gUmVzZXQgbWFyZ2lucyBvbiBwYXJhZ3JhcGhzXG4vL1xuLy8gU2ltaWxhcmx5LCB0aGUgdG9wIG1hcmdpbiBvbiBgPHA+YHMgZ2V0IHJlc2V0LiBIb3dldmVyLCB3ZSBhbHNvIHJlc2V0IHRoZVxuLy8gYm90dG9tIG1hcmdpbiB0byB1c2UgYHJlbWAgdW5pdHMgaW5zdGVhZCBvZiBgZW1gLlxucCB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcbn1cblxuLy8gQWJicmV2aWF0aW9uc1xuLy9cbi8vIDEuIER1cGxpY2F0ZSBiZWhhdmlvciB0byB0aGUgZGF0YS0qIGF0dHJpYnV0ZSBmb3Igb3VyIHRvb2x0aXAgcGx1Z2luXG4vLyAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuLy8gMy4gQWRkIGV4cGxpY2l0IGN1cnNvciB0byBpbmRpY2F0ZSBjaGFuZ2VkIGJlaGF2aW9yLlxuLy8gNC4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIEZpcmVmb3ggMzktLlxuLy8gNS4gUHJldmVudCB0aGUgdGV4dC1kZWNvcmF0aW9uIHRvIGJlIHNraXBwZWQuXG5cbmFiYnJbdGl0bGVdLFxuYWJicltkYXRhLW9yaWdpbmFsLXRpdGxlXSB7IC8vIDFcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IC8vIDJcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkOyAvLyAyXG4gIGN1cnNvcjogaGVscDsgLy8gM1xuICBib3JkZXItYm90dG9tOiAwOyAvLyA0XG4gIHRleHQtZGVjb3JhdGlvbi1za2lwLWluazogbm9uZTsgLy8gNVxufVxuXG5hZGRyZXNzIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbn1cblxub2wsXG51bCxcbmRsIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbn1cblxub2wgb2wsXG51bCB1bCxcbm9sIHVsLFxudWwgb2wge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG5kdCB7XG4gIGZvbnQtd2VpZ2h0OiAkZHQtZm9udC13ZWlnaHQ7XG59XG5cbmRkIHtcbiAgbWFyZ2luLWJvdHRvbTogLjVyZW07XG4gIG1hcmdpbi1sZWZ0OiAwOyAvLyBVbmRvIGJyb3dzZXIgZGVmYXVsdFxufVxuXG5ibG9ja3F1b3RlIHtcbiAgbWFyZ2luOiAwIDAgMXJlbTtcbn1cblxuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZGVyOyAvLyBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpXG59XG5cbnNtYWxsIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKDgwJSk7IC8vIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzXG59XG5cbi8vXG4vLyBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cbi8vIGFsbCBicm93c2Vycy5cbi8vXG5cbnN1YixcbnN1cCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKDc1JSk7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbnN1YiB7IGJvdHRvbTogLS4yNWVtOyB9XG5zdXAgeyB0b3A6IC0uNWVtOyB9XG5cblxuLy9cbi8vIExpbmtzXG4vL1xuXG5hIHtcbiAgY29sb3I6ICRsaW5rLWNvbG9yO1xuICB0ZXh0LWRlY29yYXRpb246ICRsaW5rLWRlY29yYXRpb247XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyAvLyBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG5cbiAgQGluY2x1ZGUgaG92ZXIoKSB7XG4gICAgY29sb3I6ICRsaW5rLWhvdmVyLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogJGxpbmstaG92ZXItZGVjb3JhdGlvbjtcbiAgfVxufVxuXG4vLyBBbmQgdW5kbyB0aGVzZSBzdHlsZXMgZm9yIHBsYWNlaG9sZGVyIGxpbmtzL25hbWVkIGFuY2hvcnMgKHdpdGhvdXQgaHJlZikuXG4vLyBJdCB3b3VsZCBiZSBtb3JlIHN0cmFpZ2h0Zm9yd2FyZCB0byBqdXN0IHVzZSBhW2hyZWZdIGluIHByZXZpb3VzIGJsb2NrLCBidXQgdGhhdFxuLy8gY2F1c2VzIHNwZWNpZmljaXR5IGlzc3VlcyBpbiBtYW55IG90aGVyIHN0eWxlcyB0aGF0IGFyZSB0b28gY29tcGxleCB0byBmaXguXG4vLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xOTQwMlxuXG5hOm5vdChbaHJlZl0pOm5vdChbY2xhc3NdKSB7XG4gIGNvbG9yOiBpbmhlcml0O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgQGluY2x1ZGUgaG92ZXIoKSB7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG59XG5cblxuLy9cbi8vIENvZGVcbi8vXG5cbnByZSxcbmNvZGUsXG5rYmQsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1tb25vc3BhY2U7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgxZW0pOyAvLyBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG59XG5cbnByZSB7XG4gIC8vIFJlbW92ZSBicm93c2VyIGRlZmF1bHQgdG9wIG1hcmdpblxuICBtYXJnaW4tdG9wOiAwO1xuICAvLyBSZXNldCBicm93c2VyIGRlZmF1bHQgb2YgYDFlbWAgdG8gdXNlIGByZW1gc1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAvLyBEb24ndCBhbGxvdyBjb250ZW50IHRvIGJyZWFrIG91dHNpZGVcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIC8vIERpc2FibGUgYXV0by1oaWRpbmcgc2Nyb2xsYmFyIGluIElFICYgbGVnYWN5IEVkZ2UgdG8gYXZvaWQgb3ZlcmxhcCxcbiAgLy8gbWFraW5nIGl0IGltcG9zc2libGUgdG8gaW50ZXJhY3Qgd2l0aCB0aGUgY29udGVudFxuICAtbXMtb3ZlcmZsb3ctc3R5bGU6IHNjcm9sbGJhcjtcbn1cblxuXG4vL1xuLy8gRmlndXJlc1xuLy9cblxuZmlndXJlIHtcbiAgLy8gQXBwbHkgYSBjb25zaXN0ZW50IG1hcmdpbiBzdHJhdGVneSAobWF0Y2hlcyBvdXIgdHlwZSBzdHlsZXMpLlxuICBtYXJnaW46IDAgMCAxcmVtO1xufVxuXG5cbi8vXG4vLyBJbWFnZXMgYW5kIGNvbnRlbnRcbi8vXG5cbmltZyB7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGJvcmRlci1zdHlsZTogbm9uZTsgLy8gUmVtb3ZlIHRoZSBib3JkZXIgb24gaW1hZ2VzIGluc2lkZSBsaW5rcyBpbiBJRSAxMC0uXG59XG5cbnN2ZyB7XG4gIC8vIFdvcmthcm91bmQgZm9yIHRoZSBTVkcgb3ZlcmZsb3cgYnVnIGluIElFMTAvMTEgaXMgc3RpbGwgcmVxdWlyZWQuXG4gIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI2ODc4XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cblxuLy9cbi8vIFRhYmxlc1xuLy9cblxudGFibGUge1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOyAvLyBQcmV2ZW50IGRvdWJsZSBib3JkZXJzXG59XG5cbmNhcHRpb24ge1xuICBwYWRkaW5nLXRvcDogJHRhYmxlLWNlbGwtcGFkZGluZztcbiAgcGFkZGluZy1ib3R0b206ICR0YWJsZS1jZWxsLXBhZGRpbmc7XG4gIGNvbG9yOiAkdGFibGUtY2FwdGlvbi1jb2xvcjtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgY2FwdGlvbi1zaWRlOiBib3R0b207XG59XG5cbi8vIDEuIFJlbW92ZXMgZm9udC13ZWlnaHQgYm9sZCBieSBpbmhlcml0aW5nXG4vLyAyLiBNYXRjaGVzIGRlZmF1bHQgYDx0ZD5gIGFsaWdubWVudCBieSBpbmhlcml0aW5nIGB0ZXh0LWFsaWduYC5cbi8vIDMuIEZpeCBhbGlnbm1lbnQgZm9yIFNhZmFyaVxuXG50aCB7XG4gIGZvbnQtd2VpZ2h0OiAkdGFibGUtdGgtZm9udC13ZWlnaHQ7IC8vIDFcbiAgdGV4dC1hbGlnbjogaW5oZXJpdDsgLy8gMlxuICB0ZXh0LWFsaWduOiAtd2Via2l0LW1hdGNoLXBhcmVudDsgLy8gM1xufVxuXG5cbi8vXG4vLyBGb3Jtc1xuLy9cblxubGFiZWwge1xuICAvLyBBbGxvdyBsYWJlbHMgdG8gdXNlIGBtYXJnaW5gIGZvciBzcGFjaW5nLlxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1ib3R0b206ICRsYWJlbC1tYXJnaW4tYm90dG9tO1xufVxuXG4vLyBSZW1vdmUgdGhlIGRlZmF1bHQgYGJvcmRlci1yYWRpdXNgIHRoYXQgbWFjT1MgQ2hyb21lIGFkZHMuXG4vL1xuLy8gRGV0YWlscyBhdCBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI0MDkzXG5idXR0b24ge1xuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG5cbi8vIEV4cGxpY2l0bHkgcmVtb3ZlIGZvY3VzIG91dGxpbmUgaW4gQ2hyb21pdW0gd2hlbiBpdCBzaG91bGRuJ3QgYmVcbi8vIHZpc2libGUgKGUuZy4gYXMgcmVzdWx0IG9mIG1vdXNlIGNsaWNrIG9yIHRvdWNoIHRhcCkuIEl0IGFscmVhZHlcbi8vIHNob3VsZCBiZSBkb2luZyB0aGlzIGF1dG9tYXRpY2FsbHksIGJ1dCBzZWVtcyB0byBjdXJyZW50bHkgYmVcbi8vIGNvbmZ1c2VkIGFuZCBhcHBsaWVzIGl0cyB2ZXJ5IHZpc2libGUgdHdvLXRvbmUgb3V0bGluZSBhbnl3YXkuXG5cbmJ1dHRvbjpmb2N1czpub3QoOmZvY3VzLXZpc2libGUpIHtcbiAgb3V0bGluZTogMDtcbn1cblxuaW5wdXQsXG5idXR0b24sXG5zZWxlY3QsXG5vcHRncm91cCxcbnRleHRhcmVhIHtcbiAgbWFyZ2luOiAwOyAvLyBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmlcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZShpbmhlcml0KTtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG59XG5cbmJ1dHRvbixcbmlucHV0IHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7IC8vIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2Vcbn1cblxuYnV0dG9uLFxuc2VsZWN0IHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IC8vIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveFxufVxuXG4vLyBTZXQgdGhlIGN1cnNvciBmb3Igbm9uLWA8YnV0dG9uPmAgYnV0dG9uc1xuLy9cbi8vIERldGFpbHMgYXQgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMzA1NjJcbltyb2xlPVwiYnV0dG9uXCJdIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4vLyBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHdvcmQtd3JhcCBpbiBTYWZhcmkuXG4vL1xuLy8gRGV0YWlscyBhdCBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI0OTkwXG5zZWxlY3Qge1xuICB3b3JkLXdyYXA6IG5vcm1hbDtcbn1cblxuXG4vLyAxLiBQcmV2ZW50IGEgV2ViS2l0IGJ1ZyB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2AgYW5kIGB2aWRlb2Bcbi8vICAgIGNvbnRyb2xzIGluIEFuZHJvaWQgNC5cbi8vIDIuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG5idXR0b24sXG5bdHlwZT1cImJ1dHRvblwiXSwgLy8gMVxuW3R5cGU9XCJyZXNldFwiXSxcblt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8vIDJcbn1cblxuLy8gT3BpbmlvbmF0ZWQ6IGFkZCBcImhhbmRcIiBjdXJzb3IgdG8gbm9uLWRpc2FibGVkIGJ1dHRvbiBlbGVtZW50cy5cbkBpZiAkZW5hYmxlLXBvaW50ZXItY3Vyc29yLWZvci1idXR0b25zIHtcbiAgYnV0dG9uLFxuICBbdHlwZT1cImJ1dHRvblwiXSxcbiAgW3R5cGU9XCJyZXNldFwiXSxcbiAgW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICY6bm90KDpkaXNhYmxlZCkge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cbiAgfVxufVxuXG4vLyBSZW1vdmUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGZyb20gRmlyZWZveCwgYnV0IGRvbid0IHJlc3RvcmUgdGhlIG91dGxpbmUgbGlrZSBOb3JtYWxpemUuXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cImJ1dHRvblwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInN1Ym1pdFwiXTo6LW1vei1mb2N1cy1pbm5lciB7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbn1cblxuaW5wdXRbdHlwZT1cInJhZGlvXCJdLFxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLy8gMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAtXG4gIHBhZGRpbmc6IDA7IC8vIDIuIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMC1cbn1cblxuXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvOyAvLyBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFLlxuICAvLyBUZXh0YXJlYXMgc2hvdWxkIHJlYWxseSBvbmx5IHJlc2l6ZSB2ZXJ0aWNhbGx5IHNvIHRoZXkgZG9uJ3QgYnJlYWsgdGhlaXIgKGhvcml6b250YWwpIGNvbnRhaW5lcnMuXG4gIHJlc2l6ZTogdmVydGljYWw7XG59XG5cbmZpZWxkc2V0IHtcbiAgLy8gQnJvd3NlcnMgc2V0IGEgZGVmYXVsdCBgbWluLXdpZHRoOiBtaW4tY29udGVudDtgIG9uIGZpZWxkc2V0cyxcbiAgLy8gdW5saWtlIGUuZy4gYDxkaXY+YHMsIHdoaWNoIGhhdmUgYG1pbi13aWR0aDogMDtgIGJ5IGRlZmF1bHQuXG4gIC8vIFNvIHdlIHJlc2V0IHRoYXQgdG8gZW5zdXJlIGZpZWxkc2V0cyBiZWhhdmUgbW9yZSBsaWtlIGEgc3RhbmRhcmQgYmxvY2sgZWxlbWVudC5cbiAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTIzNTlcbiAgLy8gYW5kIGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlLyN0aGUtZmllbGRzZXQtYW5kLWxlZ2VuZC1lbGVtZW50c1xuICBtaW4td2lkdGg6IDA7XG4gIC8vIFJlc2V0IHRoZSBkZWZhdWx0IG91dGxpbmUgYmVoYXZpb3Igb2YgZmllbGRzZXRzIHNvIHRoZXkgZG9uJ3QgYWZmZWN0IHBhZ2UgbGF5b3V0LlxuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGJvcmRlcjogMDtcbn1cblxuLy8gMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS5cbi8vIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cbmxlZ2VuZCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlOyAvLyAxXG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbi1ib3R0b206IC41cmVtO1xuICBAaW5jbHVkZSBmb250LXNpemUoMS41cmVtKTtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIGNvbG9yOiBpbmhlcml0OyAvLyAyXG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7IC8vIDFcbn1cblxucHJvZ3Jlc3Mge1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IC8vIEFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG59XG5cbi8vIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS5cblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cblt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLy8gVGhpcyBvdmVycmlkZXMgdGhlIGV4dHJhIHJvdW5kZWQgY29ybmVycyBvbiBzZWFyY2ggaW5wdXRzIGluIGlPUyBzbyB0aGF0IG91clxuICAvLyBgLmZvcm0tY29udHJvbGAgY2xhc3MgY2FuIHByb3Blcmx5IHN0eWxlIHRoZW0uIE5vdGUgdGhhdCB0aGlzIGNhbm5vdCBzaW1wbHlcbiAgLy8gYmUgYWRkZWQgdG8gYC5mb3JtLWNvbnRyb2xgIGFzIGl0J3Mgbm90IHNwZWNpZmljIGVub3VnaC4gRm9yIGRldGFpbHMsIHNlZVxuICAvLyBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzExNTg2LlxuICBvdXRsaW5lLW9mZnNldDogLTJweDsgLy8gMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLy9cbi8vIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cbi8vXG5cblt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4vL1xuLy8gMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbi8vIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cbi8vXG5cbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICBmb250OiBpbmhlcml0OyAvLyAyXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvLyAxXG59XG5cbi8vXG4vLyBDb3JyZWN0IGVsZW1lbnQgZGlzcGxheXNcbi8vXG5cbm91dHB1dCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGxpc3QtaXRlbTsgLy8gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzXG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lOyAvLyBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRVxufVxuXG4vLyBBbHdheXMgaGlkZSBhbiBlbGVtZW50IHdpdGggdGhlIGBoaWRkZW5gIEhUTUwgYXR0cmlidXRlIChmcm9tIFB1cmVDU1MpLlxuLy8gTmVlZGVkIGZvciBwcm9wZXIgZGlzcGxheSBpbiBJRSAxMC0uXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cbiIsIi8qIFNsaWRlciAqL1xuXG4uc2xpY2stc2xpZGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAta2h0bWwtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW1zLXRvdWNoLWFjdGlvbjogcGFuLXk7XG4gICAgdG91Y2gtYWN0aW9uOiBwYW4teTtcbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuLnNsaWNrLWxpc3Qge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgfVxuXG4gICAgJi5kcmFnZ2luZyB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgY3Vyc29yOiBoYW5kO1xuICAgIH1cbn1cbi5zbGljay1zbGlkZXIgLnNsaWNrLXRyYWNrLFxuLnNsaWNrLXNsaWRlciAuc2xpY2stbGlzdCB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG59XG5cbi5zbGljay10cmFjayB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcblxuICAgICY6YmVmb3JlLFxuICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgfVxuXG4gICAgLnNsaWNrLWxvYWRpbmcgJiB7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB9XG59XG4uc2xpY2stc2xpZGUge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiAxcHg7XG4gICAgW2Rpcj1cInJ0bFwiXSAmIHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cbiAgICBpbWcge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gICAgJi5zbGljay1sb2FkaW5nIGltZyB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgZGlzcGxheTogbm9uZTtcblxuICAgICYuZHJhZ2dpbmcgaW1nIHtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuXG4gICAgLnNsaWNrLWluaXRpYWxpemVkICYge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAuc2xpY2stbG9hZGluZyAmIHtcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIH1cblxuICAgIC5zbGljay12ZXJ0aWNhbCAmIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgfVxufVxuLnNsaWNrLWFycm93LnNsaWNrLWhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8gRGVmYXVsdCBWYXJpYWJsZXNcblxuLy8gU2xpY2sgaWNvbiBlbnRpdHkgY29kZXMgb3V0cHV0cyB0aGUgZm9sbG93aW5nXG4vLyBcIlxcMjE5MFwiIG91dHB1dHMgYXNjaWkgY2hhcmFjdGVyIFwi4oaQXCJcbi8vIFwiXFwyMTkyXCIgb3V0cHV0cyBhc2NpaSBjaGFyYWN0ZXIgXCLihpJcIlxuLy8gXCJcXDIwMjJcIiBvdXRwdXRzIGFzY2lpIGNoYXJhY3RlciBcIuKAolwiXG5cbiRzbGljay1mb250LXBhdGg6IFwiLi9mb250cy9cIiAhZGVmYXVsdDtcbiRzbGljay1mb250LWZhbWlseTogXCJzbGlja1wiICFkZWZhdWx0O1xuJHNsaWNrLWxvYWRlci1wYXRoOiBcIi4vXCIgIWRlZmF1bHQ7XG4kc2xpY2stYXJyb3ctY29sb3I6IHdoaXRlICFkZWZhdWx0O1xuJHNsaWNrLWRvdC1jb2xvcjogYmxhY2sgIWRlZmF1bHQ7XG4kc2xpY2stZG90LWNvbG9yLWFjdGl2ZTogJHNsaWNrLWRvdC1jb2xvciAhZGVmYXVsdDtcbiRzbGljay1wcmV2LWNoYXJhY3RlcjogXCJcXDIxOTBcIiAhZGVmYXVsdDtcbiRzbGljay1uZXh0LWNoYXJhY3RlcjogXCJcXDIxOTJcIiAhZGVmYXVsdDtcbiRzbGljay1kb3QtY2hhcmFjdGVyOiBcIlxcMjAyMlwiICFkZWZhdWx0O1xuJHNsaWNrLWRvdC1zaXplOiA2cHggIWRlZmF1bHQ7XG4kc2xpY2stb3BhY2l0eS1kZWZhdWx0OiAwLjc1ICFkZWZhdWx0O1xuJHNsaWNrLW9wYWNpdHktb24taG92ZXI6IDEgIWRlZmF1bHQ7XG4kc2xpY2stb3BhY2l0eS1ub3QtYWN0aXZlOiAwLjI1ICFkZWZhdWx0O1xuXG5AZnVuY3Rpb24gc2xpY2staW1hZ2UtdXJsKCR1cmwpIHtcbiAgICBAaWYgZnVuY3Rpb24tZXhpc3RzKGltYWdlLXVybCkge1xuICAgICAgICBAcmV0dXJuIGltYWdlLXVybCgkdXJsKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgICBAcmV0dXJuIHVybCgkc2xpY2stbG9hZGVyLXBhdGggKyAkdXJsKTtcbiAgICB9XG59XG5cbkBmdW5jdGlvbiBzbGljay1mb250LXVybCgkdXJsKSB7XG4gICAgQGlmIGZ1bmN0aW9uLWV4aXN0cyhmb250LXVybCkge1xuICAgICAgICBAcmV0dXJuIGZvbnQtdXJsKCR1cmwpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAgIEByZXR1cm4gdXJsKCRzbGljay1mb250LXBhdGggKyAkdXJsKTtcbiAgICB9XG59XG5cbi8qIFNsaWRlciAqL1xuXG4uc2xpY2stbGlzdCB7XG4gICAgLnNsaWNrLWxvYWRpbmcgJiB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmZmYgc2xpY2staW1hZ2UtdXJsKFwiYWpheC1sb2FkZXIuZ2lmXCIpIGNlbnRlciBjZW50ZXIgbm8tcmVwZWF0O1xuICAgIH1cbn1cblxuLyogSWNvbnMgKi9cbkBpZiAkc2xpY2stZm9udC1mYW1pbHkgPT0gXCJzbGlja1wiIHtcbiAgICBAZm9udC1mYWNlIHtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwic2xpY2tcIjtcbiAgICAgICAgc3JjOiBzbGljay1mb250LXVybChcInNsaWNrLmVvdFwiKTtcbiAgICAgICAgc3JjOiBzbGljay1mb250LXVybChcInNsaWNrLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksIHNsaWNrLWZvbnQtdXJsKFwic2xpY2sud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCBzbGljay1mb250LXVybChcInNsaWNrLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSwgc2xpY2stZm9udC11cmwoXCJzbGljay5zdmcjc2xpY2tcIikgZm9ybWF0KFwic3ZnXCIpO1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgfVxufVxuXG4vKiBBcnJvd3MgKi9cblxuLnNsaWNrLXByZXYsXG4uc2xpY2stbmV4dCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogMjBweDtcbiAgICB3aWR0aDogMjBweDtcbiAgICBsaW5lLWhlaWdodDogMHB4O1xuICAgIGZvbnQtc2l6ZTogMHB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgdG9wOiA1MCU7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgb3BhY2l0eTogJHNsaWNrLW9wYWNpdHktb24taG92ZXI7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJi5zbGljay1kaXNhYmxlZDpiZWZvcmUge1xuICAgICAgICBvcGFjaXR5OiAkc2xpY2stb3BhY2l0eS1ub3QtYWN0aXZlO1xuICAgIH1cbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkc2xpY2stZm9udC1mYW1pbHk7XG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIGNvbG9yOiAkc2xpY2stYXJyb3ctY29sb3I7XG4gICAgICAgIG9wYWNpdHk6ICRzbGljay1vcGFjaXR5LWRlZmF1bHQ7XG4gICAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgIH1cbn1cblxuLnNsaWNrLXByZXYge1xuICAgIGxlZnQ6IC0yNXB4O1xuICAgIFtkaXI9XCJydGxcIl0gJiB7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgIHJpZ2h0OiAtMjVweDtcbiAgICB9XG4gICAgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAkc2xpY2stcHJldi1jaGFyYWN0ZXI7XG4gICAgICAgIFtkaXI9XCJydGxcIl0gJiB7XG4gICAgICAgICAgICBjb250ZW50OiAkc2xpY2stbmV4dC1jaGFyYWN0ZXI7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5zbGljay1uZXh0IHtcbiAgICByaWdodDogLTI1cHg7XG4gICAgW2Rpcj1cInJ0bFwiXSAmIHtcbiAgICAgICAgbGVmdDogLTI1cHg7XG4gICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgIH1cbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICRzbGljay1uZXh0LWNoYXJhY3RlcjtcbiAgICAgICAgW2Rpcj1cInJ0bFwiXSAmIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRzbGljay1wcmV2LWNoYXJhY3RlcjtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyogRG90cyAqL1xuXG4uc2xpY2stZG90dGVkLnNsaWNrLXNsaWRlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbn1cblxuLnNsaWNrLWRvdHMge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IC0yNXB4O1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGxpIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgIG1hcmdpbjogMCA1cHg7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMHB4O1xuICAgICAgICAgICAgZm9udC1zaXplOiAwcHg7XG4gICAgICAgICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBwYWRkaW5nOiA1cHg7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogJHNsaWNrLW9wYWNpdHktb24taG92ZXI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAkc2xpY2stZG90LWNoYXJhY3RlcjtcbiAgICAgICAgICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRzbGljay1mb250LWZhbWlseTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICRzbGljay1kb3Qtc2l6ZTtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRzbGljay1kb3QtY29sb3I7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogJHNsaWNrLW9wYWNpdHktbm90LWFjdGl2ZTtcbiAgICAgICAgICAgICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgICAgICAgICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYuc2xpY2stYWN0aXZlIGJ1dHRvbjpiZWZvcmUge1xuICAgICAgICAgICAgY29sb3I6ICRzbGljay1kb3QtY29sb3ItYWN0aXZlO1xuICAgICAgICAgICAgb3BhY2l0eTogJHNsaWNrLW9wYWNpdHktZGVmYXVsdDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8vIEdSSURcbiRncmlkLWJyZWFrcG9pbnRzOiAoXG4gICAgICAgIHhzOiAwLFxuICAgICAgICBzbTogNTc2cHgsXG4gICAgICAgIG1kOiA3NjhweCxcbiAgICAgICAgbGc6IDk5MnB4LFxuICAgICAgICB4bDogMTIwMHB4XG4pO1xuJGNvbnRhaW5lci1tYXgtd2lkdGhzOiAoXG4gICAgICAgIHNtOiA1NDBweCxcbiAgICAgICAgbWQ6IDcyMHB4LFxuICAgICAgICBsZzogOTYwcHgsXG4gICAgICAgIHhsOiAxMTQwcHhcbik7XG5cbiRncmlkLWd1dHRlci13aWR0aDogMjBweDtcblxuLy8gRk9OVFNcbiRmb250LXNpemUtYmFzZTogMTZweDtcblxuJGxpbmUtaGVpZ2h0OiAxLjY7XG5cbiRmb250LWZhbWlseS1iYXNlOiAnZnJhbmtsaW4tZ290aGljLXVydycsIEFyaWFsLCBzYW5zLXNlcmlmO1xuXG4kZm9udC1jb21wcmVzc2VkOiAnZnJhbmtsaW4tZ290aGljLXVydy1jb21wJywgQXJpYWwsIHNhbnMtc2VyaWY7XG4kZm9udC1jb25kZW5zZWQ6ICdmcmFua2xpbi1nb3RoaWMtdXJ3LWNvbmQnLCBBcmlhbCwgc2Fucy1zZXJpZjtcblxuJHJlZ3VsYXI6IDQwMDtcbiRtZWRpdW06IDUwMDtcbiRib2xkOiA3MDA7XG5cbi8vQ09MT1JTXG4kbWFpbjogIzIzMjMyMztcbiR3aGl0ZTogI2ZmZjtcbiRibGFjazogIzAwMDtcbiRyZWQ6ICNFQjM3M0M7XG4keWVsbG93OiAjZGVjNjY3O1xuXG4vL0JBU0VcbiR0cmFuc2l0aW9uOiAwLjM1cztcbiRib3JkZXItcmFkaXVzOiA4cHg7XG5cbiIsIi8vIEJvb3RzdHJhcCBmaWxlIGltcG9ydHNcbi8vIEBpbXBvcnQgXCJicmVha3BvaW50cy9taXhpbnMvYnJlYWtwb2ludHNcIjtcbkBpbXBvcnQgXCJncmlkL2Jvb3RzdHJhcC1ncmlkXCI7XG4iLCIvKiFcbiAqIEJvb3RzdHJhcCBHcmlkIHY0LjAuMC1iZXRhLjMgKGh0dHBzOi8vZ2V0Ym9vdHN0cmFwLmNvbSlcbiAqIENvcHlyaWdodCAyMDExLTIwMTcgVGhlIEJvb3RzdHJhcCBBdXRob3JzXG4gKiBDb3B5cmlnaHQgMjAxMS0yMDE3IFR3aXR0ZXIsIEluYy5cbiAqIExpY2Vuc2VkIHVuZGVyIE1JVCAoaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2Jsb2IvbWFzdGVyL0xJQ0VOU0UpXG4gKi9cblxuQGF0LXJvb3Qge1xuICBALW1zLXZpZXdwb3J0IHsgd2lkdGg6IGRldmljZS13aWR0aDsgfSAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGF0LXJ1bGUtbm8tdmVuZG9yLXByZWZpeFxufVxuXG5odG1sIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLW1zLW92ZXJmbG93LXN0eWxlOiBzY3JvbGxiYXI7XG59XG5cbiosXG4qOjpiZWZvcmUsXG4qOjphZnRlciB7XG4gIGJveC1zaXppbmc6IGluaGVyaXQ7XG59XG5cbkBpbXBvcnQgXCJmdW5jdGlvbnNcIjtcbkBpbXBvcnQgXCJ2YXJpYWJsZXNcIjtcblxuLy9cbi8vIEdyaWQgbWl4aW5zXG4vL1xuXG5AaW1wb3J0IFwibWl4aW5zL2JyZWFrcG9pbnRzXCI7XG4vLyBAaW1wb3J0IFwibWl4aW5zL2dyaWQtZnJhbWV3b3JrXCI7XG5AaW1wb3J0IFwibWl4aW5zL2dyaWRcIjtcblxuQGltcG9ydCBcImdyaWRcIjtcbiIsIi8vIEJvb3RzdHJhcCBmdW5jdGlvbnNcbi8vXG4vLyBVdGlsaXR5IG1peGlucyBhbmQgZnVuY3Rpb25zIGZvciBldmFsdXRhdGluZyBzb3VyY2UgY29kZSBhY3Jvc3Mgb3VyIHZhcmlhYmxlcywgbWFwcywgYW5kIG1peGlucy5cblxuLy8gQXNjZW5kaW5nXG4vLyBVc2VkIHRvIGV2YWx1YXRlIFNhc3MgbWFwcyBsaWtlIG91ciBncmlkIGJyZWFrcG9pbnRzLlxuQG1peGluIF9hc3NlcnQtYXNjZW5kaW5nKCRtYXAsICRtYXAtbmFtZSkge1xuICAkcHJldi1rZXk6IG51bGw7XG4gICRwcmV2LW51bTogbnVsbDtcbiAgQGVhY2ggJGtleSwgJG51bSBpbiAkbWFwIHtcbiAgICBAaWYgJHByZXYtbnVtID09IG51bGwge1xuICAgICAgLy8gRG8gbm90aGluZ1xuICAgIH0gQGVsc2UgaWYgbm90IGNvbXBhcmFibGUoJHByZXYtbnVtLCAkbnVtKSB7XG4gICAgICBAd2FybiBcIlBvdGVudGlhbGx5IGludmFsaWQgdmFsdWUgZm9yICN7JG1hcC1uYW1lfTogVGhpcyBtYXAgbXVzdCBiZSBpbiBhc2NlbmRpbmcgb3JkZXIsIGJ1dCBrZXkgJyN7JGtleX0nIGhhcyB2YWx1ZSAjeyRudW19IHdob3NlIHVuaXQgbWFrZXMgaXQgaW5jb21wYXJhYmxlIHRvICN7JHByZXYtbnVtfSwgdGhlIHZhbHVlIG9mIHRoZSBwcmV2aW91cyBrZXkgJyN7JHByZXYta2V5fScgIVwiO1xuICAgIH0gQGVsc2UgaWYgJHByZXYtbnVtID49ICRudW0ge1xuICAgICAgQHdhcm4gXCJJbnZhbGlkIHZhbHVlIGZvciAjeyRtYXAtbmFtZX06IFRoaXMgbWFwIG11c3QgYmUgaW4gYXNjZW5kaW5nIG9yZGVyLCBidXQga2V5ICcjeyRrZXl9JyBoYXMgdmFsdWUgI3skbnVtfSB3aGljaCBpc24ndCBncmVhdGVyIHRoYW4gI3skcHJldi1udW19LCB0aGUgdmFsdWUgb2YgdGhlIHByZXZpb3VzIGtleSAnI3skcHJldi1rZXl9JyAhXCI7XG4gICAgfVxuICAgICRwcmV2LWtleTogJGtleTtcbiAgICAkcHJldi1udW06ICRudW07XG4gIH1cbn1cblxuLy8gU3RhcnRzIGF0IHplcm9cbi8vIEFub3RoZXIgZ3JpZCBtaXhpbiB0aGF0IGVuc3VyZXMgdGhlIG1pbi13aWR0aCBvZiB0aGUgbG93ZXN0IGJyZWFrcG9pbnQgc3RhcnRzIGF0IDAuXG5AbWl4aW4gX2Fzc2VydC1zdGFydHMtYXQtemVybygkbWFwKSB7XG4gICR2YWx1ZXM6IG1hcC12YWx1ZXMoJG1hcCk7XG4gICRmaXJzdC12YWx1ZTogbnRoKCR2YWx1ZXMsIDEpO1xuICBAaWYgJGZpcnN0LXZhbHVlICE9IDAge1xuICAgIEB3YXJuIFwiRmlyc3QgYnJlYWtwb2ludCBpbiBgJGdyaWQtYnJlYWtwb2ludHNgIG11c3Qgc3RhcnQgYXQgMCwgYnV0IHN0YXJ0cyBhdCAjeyRmaXJzdC12YWx1ZX0uXCI7XG4gIH1cbn1cblxuLy8gUmVwbGFjZSBgJHNlYXJjaGAgd2l0aCBgJHJlcGxhY2VgIGluIGAkc3RyaW5nYFxuLy8gVXNlZCBvbiBvdXIgU1ZHIGljb24gYmFja2dyb3VuZHMgZm9yIGN1c3RvbSBmb3Jtcy5cbi8vXG4vLyBAYXV0aG9yIEh1Z28gR2lyYXVkZWxcbi8vIEBwYXJhbSB7U3RyaW5nfSAkc3RyaW5nIC0gSW5pdGlhbCBzdHJpbmdcbi8vIEBwYXJhbSB7U3RyaW5nfSAkc2VhcmNoIC0gU3Vic3RyaW5nIHRvIHJlcGxhY2Vcbi8vIEBwYXJhbSB7U3RyaW5nfSAkcmVwbGFjZSAoJycpIC0gTmV3IHZhbHVlXG4vLyBAcmV0dXJuIHtTdHJpbmd9IC0gVXBkYXRlZCBzdHJpbmdcbkBmdW5jdGlvbiBzdHItcmVwbGFjZSgkc3RyaW5nLCAkc2VhcmNoLCAkcmVwbGFjZTogXCJcIikge1xuICAkaW5kZXg6IHN0ci1pbmRleCgkc3RyaW5nLCAkc2VhcmNoKTtcblxuICBAaWYgJGluZGV4IHtcbiAgICBAcmV0dXJuIHN0ci1zbGljZSgkc3RyaW5nLCAxLCAkaW5kZXggLSAxKSArICRyZXBsYWNlICsgc3RyLXJlcGxhY2Uoc3RyLXNsaWNlKCRzdHJpbmcsICRpbmRleCArIHN0ci1sZW5ndGgoJHNlYXJjaCkpLCAkc2VhcmNoLCAkcmVwbGFjZSk7XG4gIH1cblxuICBAcmV0dXJuICRzdHJpbmc7XG59XG5cbi8vIENvbG9yIGNvbnRyYXN0XG5AZnVuY3Rpb24gY29sb3IteWlxKCRjb2xvcikge1xuICAkcjogcmVkKCRjb2xvcik7XG4gICRnOiBncmVlbigkY29sb3IpO1xuICAkYjogYmx1ZSgkY29sb3IpO1xuXG4gICR5aXE6ICgoJHIgKiAyOTkpICsgKCRnICogNTg3KSArICgkYiAqIDExNCkpIC8gMTAwMDtcblxuICBAaWYgKCR5aXEgPj0gJHlpcS1jb250cmFzdGVkLXRocmVzaG9sZCkge1xuICAgIEByZXR1cm4gJHlpcS10ZXh0LWRhcms7XG4gIH0gQGVsc2Uge1xuICAgIEByZXR1cm4gJHlpcS10ZXh0LWxpZ2h0O1xuICB9XG59XG5cbi8vIFJldHJpZXZlIGNvbG9yIFNhc3MgbWFwc1xuQGZ1bmN0aW9uIGNvbG9yKCRrZXk6IFwiYmx1ZVwiKSB7XG4gIEByZXR1cm4gbWFwLWdldCgkY29sb3JzLCAka2V5KTtcbn1cblxuQGZ1bmN0aW9uIHRoZW1lLWNvbG9yKCRrZXk6IFwicHJpbWFyeVwiKSB7XG4gIEByZXR1cm4gbWFwLWdldCgkdGhlbWUtY29sb3JzLCAka2V5KTtcbn1cblxuQGZ1bmN0aW9uIGdyYXkoJGtleTogXCIxMDBcIikge1xuICBAcmV0dXJuIG1hcC1nZXQoJGdyYXlzLCAka2V5KTtcbn1cblxuLy8gUmVxdWVzdCBhIHRoZW1lIGNvbG9yIGxldmVsXG5AZnVuY3Rpb24gdGhlbWUtY29sb3ItbGV2ZWwoJGNvbG9yLW5hbWU6IFwicHJpbWFyeVwiLCAkbGV2ZWw6IDApIHtcbiAgJGNvbG9yOiB0aGVtZS1jb2xvcigkY29sb3ItbmFtZSk7XG4gICRjb2xvci1iYXNlOiBpZigkbGV2ZWwgPiAwLCAjMDAwLCAjZmZmKTtcbiAgJGxldmVsOiBhYnMoJGxldmVsKTtcblxuICBAcmV0dXJuIG1peCgkY29sb3ItYmFzZSwgJGNvbG9yLCAkbGV2ZWwgKiAkdGhlbWUtY29sb3ItaW50ZXJ2YWwpO1xufVxuIiwiLy8gVmFyaWFibGVzXG4vL1xuLy8gVmFyaWFibGVzIHNob3VsZCBmb2xsb3cgdGhlIGAkY29tcG9uZW50LXN0YXRlLXByb3BlcnR5LXNpemVgIGZvcm11bGEgZm9yXG4vLyBjb25zaXN0ZW50IG5hbWluZy4gRXg6ICRuYXYtbGluay1kaXNhYmxlZC1jb2xvciBhbmQgJG1vZGFsLWNvbnRlbnQtYm94LXNoYWRvdy14cy5cblxuLy8gT3B0aW9uc1xuLy9cbi8vIFF1aWNrbHkgbW9kaWZ5IGdsb2JhbCBzdHlsaW5nIGJ5IGVuYWJsaW5nIG9yIGRpc2FibGluZyBvcHRpb25hbCBmZWF0dXJlcy5cblxuJGVuYWJsZS1jYXJldDogICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLXJvdW5kZWQ6ICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtc2hhZG93czogICAgICAgICAgICBmYWxzZSAhZGVmYXVsdDtcbiRlbmFibGUtZ3JhZGllbnRzOiAgICAgICAgICBmYWxzZSAhZGVmYXVsdDtcbiRlbmFibGUtdHJhbnNpdGlvbnM6ICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1ob3Zlci1tZWRpYS1xdWVyeTogIGZhbHNlICFkZWZhdWx0O1xuJGVuYWJsZS1ncmlkLWNsYXNzZXM6ICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLXByaW50LXN0eWxlczogICAgICAgdHJ1ZSAhZGVmYXVsdDtcblxuLy8gU3BhY2luZ1xuLy9cbi8vIENvbnRyb2wgdGhlIGRlZmF1bHQgc3R5bGluZyBvZiBtb3N0IEJvb3RzdHJhcCBlbGVtZW50cyBieSBtb2RpZnlpbmcgdGhlc2Vcbi8vIHZhcmlhYmxlcy4gTW9zdGx5IGZvY3VzZWQgb24gc3BhY2luZy5cbi8vIFlvdSBjYW4gYWRkIG1vcmUgZW50cmllcyB0byB0aGUgJHNwYWNlcnMgbWFwLCBzaG91bGQgeW91IG5lZWQgbW9yZSB2YXJpYXRpb24uXG5cbiRzcGFjZXI6IDFyZW0gIWRlZmF1bHQ7XG4kc3BhY2VyczogKFxuICAwOiAwLFxuICAxOiAoJHNwYWNlciAqIC4yNSksXG4gIDI6ICgkc3BhY2VyICogLjUpLFxuICAzOiAkc3BhY2VyLFxuICA0OiAoJHNwYWNlciAqIDEuNSksXG4gIDU6ICgkc3BhY2VyICogMylcbikgIWRlZmF1bHQ7XG5cbi8vIFRoaXMgdmFyaWFibGUgYWZmZWN0cyB0aGUgYC5oLSpgIGFuZCBgLnctKmAgY2xhc3Nlcy5cbiRzaXplczogKFxuICAyNTogMjUlLFxuICA1MDogNTAlLFxuICA3NTogNzUlLFxuICAxMDA6IDEwMCVcbikgIWRlZmF1bHQ7XG5cblxuLy8gR3JpZCBicmVha3BvaW50c1xuLy9cbi8vIERlZmluZSB0aGUgbWluaW11bSBkaW1lbnNpb25zIGF0IHdoaWNoIHlvdXIgbGF5b3V0IHdpbGwgY2hhbmdlLFxuLy8gYWRhcHRpbmcgdG8gZGlmZmVyZW50IHNjcmVlbiBzaXplcywgZm9yIHVzZSBpbiBtZWRpYSBxdWVyaWVzLlxuXG4kZ3JpZC1icmVha3BvaW50czogKFxuICB4czogMCxcbiAgc206IDU3NnB4LFxuICBtZDogNzY4cHgsXG4gIGxnOiA5OTJweCxcbiAgeGw6IDEyMDBweFxuKSAhZGVmYXVsdDtcblxuQGluY2x1ZGUgX2Fzc2VydC1hc2NlbmRpbmcoJGdyaWQtYnJlYWtwb2ludHMsIFwiJGdyaWQtYnJlYWtwb2ludHNcIik7XG5AaW5jbHVkZSBfYXNzZXJ0LXN0YXJ0cy1hdC16ZXJvKCRncmlkLWJyZWFrcG9pbnRzKTtcblxuXG4vLyBHcmlkIGNvbnRhaW5lcnNcbi8vXG4vLyBEZWZpbmUgdGhlIG1heGltdW0gd2lkdGggb2YgYC5jb250YWluZXJgIGZvciBkaWZmZXJlbnQgc2NyZWVuIHNpemVzLlxuXG4kY29udGFpbmVyLW1heC13aWR0aHM6IChcbiAgc206IDU0MHB4LFxuICBtZDogNzIwcHgsXG4gIGxnOiA5NjBweCxcbiAgeGw6IDExNDBweFxuKSAhZGVmYXVsdDtcblxuQGluY2x1ZGUgX2Fzc2VydC1hc2NlbmRpbmcoJGNvbnRhaW5lci1tYXgtd2lkdGhzLCBcIiRjb250YWluZXItbWF4LXdpZHRoc1wiKTtcblxuXG4vLyBHcmlkIGNvbHVtbnNcbi8vXG4vLyBTZXQgdGhlIG51bWJlciBvZiBjb2x1bW5zIGFuZCBzcGVjaWZ5IHRoZSB3aWR0aCBvZiB0aGUgZ3V0dGVycy5cblxuJGdyaWQtY29sdW1uczogICAgICAgICAgICAgICAgMTIgIWRlZmF1bHQ7XG4kZ3JpZC1ndXR0ZXItd2lkdGg6ICAgICAgICAgICAzMHB4ICFkZWZhdWx0O1xuIiwiLy8gQnJlYWtwb2ludCB2aWV3cG9ydCBzaXplcyBhbmQgbWVkaWEgcXVlcmllcy5cbi8vXG4vLyBCcmVha3BvaW50cyBhcmUgZGVmaW5lZCBhcyBhIG1hcCBvZiAobmFtZTogbWluaW11bSB3aWR0aCksIG9yZGVyIGZyb20gc21hbGwgdG8gbGFyZ2U6XG4vL1xuLy8gICAgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KVxuLy9cbi8vIFRoZSBtYXAgZGVmaW5lZCBpbiB0aGUgYCRncmlkLWJyZWFrcG9pbnRzYCBnbG9iYWwgdmFyaWFibGUgaXMgdXNlZCBhcyB0aGUgYCRicmVha3BvaW50c2AgYXJndW1lbnQgYnkgZGVmYXVsdC5cblxuLy8gTmFtZSBvZiB0aGUgbmV4dCBicmVha3BvaW50LCBvciBudWxsIGZvciB0aGUgbGFzdCBicmVha3BvaW50LlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSlcbi8vICAgIG1kXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICBtZFxuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtLCAkYnJlYWtwb2ludC1uYW1lczogKHhzIHNtIG1kIGxnIHhsKSlcbi8vICAgIG1kXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1uZXh0KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lczogbWFwLWtleXMoJGJyZWFrcG9pbnRzKSkge1xuICAkbjogaW5kZXgoJGJyZWFrcG9pbnQtbmFtZXMsICRuYW1lKTtcbiAgQHJldHVybiBpZigkbiA8IGxlbmd0aCgkYnJlYWtwb2ludC1uYW1lcyksIG50aCgkYnJlYWtwb2ludC1uYW1lcywgJG4gKyAxKSwgbnVsbCk7XG59XG5cbi8vIE1pbmltdW0gYnJlYWtwb2ludCB3aWR0aC4gTnVsbCBmb3IgdGhlIHNtYWxsZXN0IChmaXJzdCkgYnJlYWtwb2ludC5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW1pbihzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIDU3NnB4XG5AZnVuY3Rpb24gYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogbWFwLWdldCgkYnJlYWtwb2ludHMsICRuYW1lKTtcbiAgQHJldHVybiBpZigkbWluICE9IDAsICRtaW4sIG51bGwpO1xufVxuXG4vLyBNYXhpbXVtIGJyZWFrcG9pbnQgd2lkdGguIE51bGwgZm9yIHRoZSBsYXJnZXN0IChsYXN0KSBicmVha3BvaW50LlxuLy8gVGhlIG1heGltdW0gdmFsdWUgaXMgY2FsY3VsYXRlZCBhcyB0aGUgbWluaW11bSBvZiB0aGUgbmV4dCBvbmUgbGVzcyAwLjAxcHhcbi8vIHRvIHdvcmsgYXJvdW5kIHRoZSBsaW1pdGF0aW9ucyBvZiBgbWluLWAgYW5kIGBtYXgtYCBwcmVmaXhlcyBhbmQgdmlld3BvcnRzIHdpdGggZnJhY3Rpb25hbCB3aWR0aHMuXG4vLyBTZWUgaHR0cHM6Ly93d3cudzMub3JnL1RSL21lZGlhcXVlcmllcy00LyNtcS1taW4tbWF4XG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1tYXgoc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICA3NjdweFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRuZXh0OiBicmVha3BvaW50LW5leHQoJG5hbWUsICRicmVha3BvaW50cyk7XG4gIEByZXR1cm4gaWYoJG5leHQsIGJyZWFrcG9pbnQtbWluKCRuZXh0LCAkYnJlYWtwb2ludHMpIC0gLjAxcHgsIG51bGwpO1xufVxuXG4vLyBSZXR1cm5zIGEgYmxhbmsgc3RyaW5nIGlmIHNtYWxsZXN0IGJyZWFrcG9pbnQsIG90aGVyd2lzZSByZXR1cm5zIHRoZSBuYW1lIHdpdGggYSBkYXNoIGluZnJvbnQuXG4vLyBVc2VmdWwgZm9yIG1ha2luZyByZXNwb25zaXZlIHV0aWxpdGllcy5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LWluZml4KHhzLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgXCJcIiAgKFJldHVybnMgYSBibGFuayBzdHJpbmcpXG4vLyAgICA+PiBicmVha3BvaW50LWluZml4KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgXCItc21cIlxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtaW5maXgoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQHJldHVybiBpZihicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKSA9PSBudWxsLCBcIlwiLCBcIi0jeyRuYW1lfVwiKTtcbn1cblxuLy8gTWVkaWEgb2YgYXQgbGVhc3QgdGhlIG1pbmltdW0gYnJlYWtwb2ludCB3aWR0aC4gTm8gcXVlcnkgZm9yIHRoZSBzbWFsbGVzdCBicmVha3BvaW50LlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50IGFuZCB3aWRlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LXVwKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAaWYgJG1pbiB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gTWVkaWEgb2YgYXQgbW9zdCB0aGUgbWF4aW11bSBicmVha3BvaW50IHdpZHRoLiBObyBxdWVyeSBmb3IgdGhlIGxhcmdlc3QgYnJlYWtwb2ludC5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCBhbmQgbmFycm93ZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1kb3duKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAaWYgJG1heCB7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gTWVkaWEgdGhhdCBzcGFucyBtdWx0aXBsZSBicmVha3BvaW50IHdpZHRocy5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSBiZXR3ZWVuIHRoZSBtaW4gYW5kIG1heCBicmVha3BvaW50c1xuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtYmV0d2VlbigkbG93ZXIsICR1cHBlciwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBicmVha3BvaW50LW1pbigkbG93ZXIsICRicmVha3BvaW50cyk7XG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCR1cHBlciwgJGJyZWFrcG9pbnRzKTtcblxuICBAaWYgJG1pbiAhPSBudWxsIGFuZCAkbWF4ICE9IG51bGwge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSBhbmQgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtYXggPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbG93ZXIpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWluID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkdXBwZXIpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLyBNZWRpYSBiZXR3ZWVuIHRoZSBicmVha3BvaW50J3MgbWluaW11bSBhbmQgbWF4aW11bSB3aWR0aHMuXG4vLyBObyBtaW5pbXVtIGZvciB0aGUgc21hbGxlc3QgYnJlYWtwb2ludCwgYW5kIG5vIG1heGltdW0gZm9yIHRoZSBsYXJnZXN0IG9uZS5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSBvbmx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50LCBub3Qgdmlld3BvcnRzIGFueSB3aWRlciBvciBuYXJyb3dlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LW9ubHkoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cyk7XG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuXG4gIEBpZiAkbWluICE9IG51bGwgYW5kICRtYXggIT0gbnVsbCB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIGFuZCAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1heCA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRuYW1lKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1pbiA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJG5hbWUpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuIiwiLy8vIEdyaWQgc3lzdGVtXG4vL1xuLy8gR2VuZXJhdGUgc2VtYW50aWMgZ3JpZCBjb2x1bW5zIHdpdGggdGhlc2UgbWl4aW5zLlxuXG5AbWl4aW4gbWFrZS1jb250YWluZXIoKSB7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLXJpZ2h0OiAoJGdyaWQtZ3V0dGVyLXdpZHRoIC8gMik7XG4gIHBhZGRpbmctbGVmdDogKCRncmlkLWd1dHRlci13aWR0aCAvIDIpO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xufVxuXG5cbi8vIEZvciBlYWNoIGJyZWFrcG9pbnQsIGRlZmluZSB0aGUgbWF4aW11bSB3aWR0aCBvZiB0aGUgY29udGFpbmVyIGluIGEgbWVkaWEgcXVlcnlcbkBtaXhpbiBtYWtlLWNvbnRhaW5lci1tYXgtd2lkdGhzKCRtYXgtd2lkdGhzOiAkY29udGFpbmVyLW1heC13aWR0aHMsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGVhY2ggJGJyZWFrcG9pbnQsICRjb250YWluZXItbWF4LXdpZHRoIGluICRtYXgtd2lkdGhzIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50LCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIG1heC13aWR0aDogJGNvbnRhaW5lci1tYXgtd2lkdGg7XG4gICAgfVxuICB9XG59XG4iLCIvLyBDb250YWluZXIgd2lkdGhzXG4vL1xuLy8gU2V0IHRoZSBjb250YWluZXIgd2lkdGgsIGFuZCBvdmVycmlkZSBpdCBmb3IgZml4ZWQgbmF2YmFycyBpbiBtZWRpYSBxdWVyaWVzLlxuXG5AaWYgJGVuYWJsZS1ncmlkLWNsYXNzZXMge1xuICAuY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSBtYWtlLWNvbnRhaW5lcigpO1xuICAgIEBpbmNsdWRlIG1ha2UtY29udGFpbmVyLW1heC13aWR0aHMoKTtcbiAgfVxufVxuXG4vLyBGbHVpZCBjb250YWluZXJcbi8vXG4vLyBVdGlsaXplcyB0aGUgbWl4aW4gbWVhbnQgZm9yIGZpeGVkIHdpZHRoIGNvbnRhaW5lcnMsIGJ1dCB3aXRoIDEwMCUgd2lkdGggZm9yXG4vLyBmbHVpZCwgZnVsbCB3aWR0aCBsYXlvdXRzLlxuXG5AaWYgJGVuYWJsZS1ncmlkLWNsYXNzZXMge1xuICAuY29udGFpbmVyLWZsdWlkIHtcbiAgICBAaW5jbHVkZSBtYWtlLWNvbnRhaW5lcigpO1xuICB9XG59XG4iLCJoMSwgLmgxIHtcbiAgZm9udC1zaXplOiA3MnB4O1xuICBsaW5lLWhlaWdodDogMTtcbiAgZm9udC1mYW1pbHk6ICRmb250LWNvbXByZXNzZWQ7XG4gIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihzbSkge1xuICAgIGZvbnQtc2l6ZTogMzdweDtcbiAgfVxufVxuXG5oMiwgLmgyIHtcbiAgZm9udC1zaXplOiA1NHB4O1xuICBsaW5lLWhlaWdodDogMS4yNTtcbiAgZm9udC1mYW1pbHk6ICRmb250LWNvbXByZXNzZWQ7XG4gIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihzbSkge1xuICAgIGZvbnQtc2l6ZTogMzVweDtcbiAgfVxufVxuXG5oMywgLmgzIHtcbiAgZm9udC1zaXplOiAzNnB4O1xuICBsaW5lLWhlaWdodDogMS4yO1xuICBmb250LWZhbWlseTogJGZvbnQtY29tcHJlc3NlZDtcbiAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKHNtKSB7XG4gICAgZm9udC1zaXplOiAzMHB4O1xuICB9XG59XG5cbmg0LCAuaDQge1xuICBmb250LXNpemU6IDM0cHg7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBmb250LWZhbWlseTogJGZvbnQtY29tcHJlc3NlZDtcbiAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbn1cblxuaDUsIC5oNSB7XG4gIGZvbnQtc2l6ZTogMThweDtcbn1cblxuaDYsIC5oNiB7XG4gIGZvbnQtc2l6ZTogMThweDtcbn1cblxuYSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uO1xuXG4gICY6aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxufVxuXG5wIHtcbiAgbWFyZ2luLXRvcDogMDtcbn1cblxuYiwgc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6ICRib2xkO1xufVxuXG5cbiIsIi5oZWFkZXIge1xuICBwYWRkaW5nOiAxM3B4IDA7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgei1pbmRleDogNDtcbiAgd2lkdGg6IDEwMCU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93ICR0cmFuc2l0aW9uO1xuXG4gICYuc3RpY2t5IHtcbiAgICBib3gtc2hhZG93OiAwIDIwcHggNTBweCByZ2JhKDAsIDAsIDAsIC4xMik7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obGcpIHtcbiAgICBwYWRkaW5nOiAxMnB4IDA7XG4gIH1cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKHNtKSB7XG4gICAgcGFkZGluZzogNXB4IDA7XG4gIH1cblxuICAmX19yb3cge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIH1cblxuICAmX19sb2dvIHtcbiAgICBtYXgtaGVpZ2h0OiA0MHB4O1xuICAgIG1heC13aWR0aDogMTAwcHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIG1hcmdpbi1yaWdodDogMTAwcHg7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKGxnKSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IGluaXRpYWw7XG4gICAgfVxuICB9XG5cbiAgJl9fbWVudSB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgZm9udC1mYW1pbHk6ICRmb250LWNvbXByZXNzZWQ7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihsZykge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMjQwcHg7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDc4cHgpOyAvLyBoZWFkZXIgaGVpZ2h0XG4gICAgICBwYWRkaW5nOiAxMHB4IDE1cHg7XG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICB0b3A6IDc4cHg7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAkdHJhbnNpdGlvbjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRyZWQ7XG4gICAgICBvdmVyZmxvdzogYXV0bztcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oc20pIHtcbiAgICAgIHRvcDogNTBweDtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gNTBweCk7IC8vIGhlYWRlciBoZWlnaHRcbiAgICB9XG5cbiAgICAmLmFjdGl2ZSB7XG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obGcpIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgICAgfVxuICAgIH1cblxuICAgIHVsIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obGcpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG5cbiAgICAgIGxpIHtcbiAgICAgICAgcGFkZGluZzogMTBweCAwO1xuXG4gICAgICAgIGEge1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICBjb2xvcjogJG1haW47XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihsZykge1xuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWFpbjtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICBib3R0b206IC01cHg7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiB3aWR0aCAkdHJhbnNpdGlvbjtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5zdWItbWVudSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgd2lkdGg6IDIwMHB4O1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7XG4gICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICBwYWRkaW5nOiAxMHB4IDIwcHg7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkcmVkO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkdHJhbnNpdGlvbjtcbiAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obGcpIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogaW5pdGlhbDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBpbml0aWFsO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5pdGlhbDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogLThweDtcbiAgICAgICAgICAgIGxlZnQ6IDE0cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgI2VlNDA0NDtcbiAgICAgICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDAgNHB4IDhweDtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihsZykge1xuICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgIGEge1xuXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgLnN1Yi1tZW51IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgICAgICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi5tZW51ID4gbGkge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDMwcHg7XG4gICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKSB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGluaXRpYWw7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5tZW51LWl0ZW0taGFzLWNoaWxkcmVuIHtcbiAgICAgICAgICAmID4gYSB7XG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihsZykge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvYXJyb3ctZG93bi13aGl0ZS5zdmcpO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgMTFweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTVweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBhLmhlYWRlcl9fY3RhIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHhsKSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oc20pIHtcbiAgICAgIHBhZGRpbmc6IDEwcHggMTVweDtcbiAgICB9XG4gIH1cblxuICAmX19zZWFyY2gtd3JhcHBlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKSB7XG4gICAgICBtYXJnaW46IDUwcHggMCAwIDA7XG4gICAgfVxuXG4gICAgZm9ybSB7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG5cbiAgI2hlYWRlcl9fc2VhcmNoIHtcbiAgICB3aWR0aDogMzAwcHg7XG4gICAgaGVpZ2h0OiA0NHB4O1xuICAgIHBhZGRpbmc6IDAgMTVweCAwIDQ0cHg7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMnB4IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9zZWFyY2gtYmxhY2suc3ZnJyk7XG4gICAgYmFja2dyb3VuZC1zaXplOiAyMHB4O1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICRibGFjaztcbiAgICBtYXJnaW4tbGVmdDogNTBweDtcbiAgICBmb250LXdlaWdodDogJG1lZGl1bTtcbiAgICBjb2xvcjogIzAwMDtcbiAgICBmb250LXNpemU6IDE2cHg7XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obGcpIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiBpbml0aWFsO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgICY6Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24sXG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbiAgICAmOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWJ1dHRvbixcbiAgICAmOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWRlY29yYXRpb24ge1xuICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIH1cblxuICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiAjMDAwO1xuICAgIH1cblxuICAgICY6Zm9jdXMge1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAmX19zZWFyY2gtc3VibWl0IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59IiwiLmZvb3RlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxYzFjMWM7XG4gIGNvbG9yOiAkd2hpdGU7XG4gIHBhZGRpbmc6IDE1MHB4IDAgMjVweDtcbiAgJl9fY3RhIHtcbiAgICBtYXJnaW4tdG9wOiAxMDBweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICYgPiAqIHtcbiAgICAgIG1hcmdpbjogMCAxMHB4O1xuICAgIH1cbiAgfVxuICAmX19hd2FyZHMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbWFyZ2luLXRvcDogNDVweDtcbiAgfVxuICAmX19hd2FyZCB7XG4gICAgcGFkZGluZzogMCAxNXB4O1xuICAgIG1hcmdpbjogMTVweCAwO1xuICAgIGltZyB7XG4gICAgICBtYXgtaGVpZ2h0OiAxMDBweDtcbiAgICAgIG1heC13aWR0aDogMjAwcHg7XG4gICAgfVxuICB9XG4gICZfX2NvbnRlbnQge1xuICAgIGEge1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJHRyYW5zaXRpb247XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgb3BhY2l0eTogMC41O1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAmX19ib3R0b20ge1xuICAgIG1hcmdpbi10b3A6IDg1cHg7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICYgPiAqIHtcbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihzbSkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBtYXJnaW46IDVweCAwO1xuICAgICAgfVxuICAgIH1cbiAgICBhIHtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgbWFyZ2luLWxlZnQ6IDI1cHg7XG4gICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICR0cmFuc2l0aW9uO1xuICAgICAgZm9udC1mYW1pbHk6ICRmb250LWNvbXByZXNzZWQ7XG4gICAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKHNtKSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBpbml0aWFsO1xuICAgICAgfVxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICAgIH1cbiAgICAgICYjdG9Ub3Age1xuICAgICAgICBzdmcge1xuICAgICAgICAgIG1heC13aWR0aDogMTNweDtcbiAgICAgICAgICBtYXgtaGVpZ2h0OiAxM3B4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gICZfX2NvcHlyaWdodCB7XG4gICAgY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsMC41KTtcbiAgfVxufSIsIi5tZW51LWJ0biB7XG4gIHdpZHRoOiAxN3B4O1xuICBoZWlnaHQ6IDE2cHg7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKGxnKSB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIH1cbiAgJi5hY3RpdmUge1xuICAgIHNwYW4ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAmOjpiZWZvcmUsICY6OmFmdGVyIHtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgfVxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgICAgfVxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBzcGFuIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDJweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWFpbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTtcbiAgICBsZWZ0OiAwO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb247XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHRvcDogLTdweDtcbiAgICB9XG4gICAgJjo6YmVmb3JlLFxuICAgICY6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG1haW47XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJHRyYW5zaXRpb247XG4gICAgfVxuICAgICY6OmFmdGVyIHtcbiAgICAgIGJvdHRvbTogLTdweDtcbiAgICB9XG4gIH1cbn0iLCIuYnRuIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBsaW5lLWhlaWdodDogMTtcbiAgbWluLXdpZHRoOiAxNTVweDtcbiAgcGFkZGluZzogMTVweCAyNXB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktYmFzZTtcbiAgZm9udC13ZWlnaHQ6ICRib2xkO1xuICBsZXR0ZXItc3BhY2luZzogMnB4O1xuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihzbSkge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBtaW4td2lkdGg6IGluaXRpYWw7XG4gIH1cblxuICAmLS1ib3JkZXIge1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICMyMzIzMjM7XG4gICAgY29sb3I6ICRtYWluO1xuICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbiwgY29sb3IgJHRyYW5zaXRpb247XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJHJlZDtcbiAgICAgIGNvbG9yOiAkcmVkO1xuICAgIH1cblxuICAgICYtLXJlZCB7XG4gICAgICBib3JkZXItY29sb3I6ICRyZWQ7XG4gICAgICBjb2xvcjogJHJlZDtcbiAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbiwgY29sb3IgJHRyYW5zaXRpb24sIGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb247XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjODY4ZTk1O1xuICAgICAgICBib3JkZXItY29sb3I6ICM4NjhlOTU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi0tcmVkLFxuICAmLS1ibGFjayxcbiAgJi0td2hpdGUge1xuICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uLCBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uO1xuICB9XG5cbiAgJi0tcmVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcmVkO1xuICAgIGNvbG9yOiAkd2hpdGU7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR5ZWxsb3c7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgIH1cblxuICAgICYtLWhvdmVyLWJvcmRlciB7XG4gICAgICBib3JkZXI6IDJweCBzb2xpZCAkcmVkO1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgICBjb2xvcjogJHJlZDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLS1ibGFjayB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG1haW47XG4gICAgY29sb3I6ICR3aGl0ZTtcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHJlZDtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgfVxuICB9XG5cbiAgJi0td2hpdGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICBjb2xvcjogJG1haW47XG4gICAgXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgIH1cbiAgfVxuXG4gICYtLW13MjUwIHtcbiAgICBtaW4td2lkdGg6IDI1MHB4O1xuICAgIHBhZGRpbmc6IDI0cHggMzRweDtcbiAgfVxuXG4gICYtLWZ1bGx3aWR0aCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn0iLCIudGhlX2NvbnRlbnQge1xuICBtYXgtd2lkdGg6IDg1MHB4O1xuICBtYXJnaW46IDAgYXV0bztcbiAgZm9udC1zaXplOiAxOHB4O1xuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihzbSkge1xuICAgIG1heC13aWR0aDogaW5pdGlhbDtcbiAgfVxuXG4gICYtLWZ1bGx3aWR0aCB7XG4gICAgbWF4LXdpZHRoOiBpbml0aWFsO1xuICB9XG5cbiAgKiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgICAmID4gYSB7XG4gICAgICBtYXJnaW46IGluaXRpYWw7XG4gICAgfVxuICB9XG5cbiAgJi1kYXRlIHtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgZm9udC13ZWlnaHQ6ICRib2xkO1xuICB9XG5cbiAgcHJlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWJlY2VkO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlMWUzZTU7XG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgIHBhZGRpbmc6IDE1cHg7XG4gIH1cblxuICBhIHtcbiAgICBjb2xvcjogJG1haW47XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRtYWluO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICYuYnRuLS1yZWQge1xuICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6ICRyZWQ7XG4gICAgfVxuICB9XG5cbiAgaDEsIGgyLCBoMywgaDQsIGg1LCBoNiB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgfVxuXG4gIHVsIHtcbiAgICBsaXN0LXN0eWxlOiBpbml0aWFsO1xuICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICBsaSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICAgIH1cbiAgICB1bCB7XG4gICAgICBsaXN0LXN0eWxlOiBjaXJjbGU7XG4gICAgfVxuICB9XG5cbiAgYmxvY2txdW90ZSB7XG4gICAgbWFyZ2luOiAzMHB4IDA7XG4gICAgYm9yZGVyLWxlZnQ6IDhweCBzb2xpZCAjZTFlM2U1O1xuICAgIHBhZGRpbmc6IDE1cHggMCAxNXB4IDE1cHg7XG4gIH1cblxuICAuYWJvdXRfZ2lsYmVydCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIioqKioqKioqKioqXCI7XG4gICAgICBmb250LXdlaWdodDogJGJvbGQ7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIG1hcmdpbjogMTAwcHggMCAyMHB4O1xuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKHNtKSB7XG4gICAgICAgIG1hcmdpbjogNDBweCAwIDIwcHg7XG4gICAgICB9XG4gICAgfVxuICB9XG59IiwiLmhlcm8ge1xuXG4gICYuc2FmYXJpLWhlaWdodC1maXgge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gIH1cblxuICAmX19zbGlkZXItb3V0ZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICYuc21hbGwge1xuICAgICAgbWluLWhlaWdodDogNDB2aDtcblxuICAgICAgLmhlcm9fX3NsaWRlLWNvbnRlbnQge1xuICAgICAgICBtYXgtd2lkdGg6IGluaXRpYWw7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gcmVtb3ZlZCB0aGlzIHZhbHVlIGZyb20gQUNGLCBidXQgc29tZSBwYWdlIGhhdmUgdGhpcy4gbm93IG1lZGl1bSBjc3MgPSBsYXJnZSBjc3NcbiAgICAmLm1lZGl1bSB7XG4gICAgICBtaW4taGVpZ2h0OiA4MHZoO1xuICAgICAgXG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oc20pIHtcbiAgICAgICAgbWluLWhlaWdodDogNjE2cHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5sYXJnZSB7XG4gICAgICBtaW4taGVpZ2h0OiA4MHZoO1xuICAgICAgXG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oc20pIHtcbiAgICAgICAgbWluLWhlaWdodDogNjE2cHg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fY29udHJvbHMge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAxO1xuICAgIGJvdHRvbTogNTVweDtcbiAgICByaWdodDogMTAwcHg7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgZm9udC1mYW1pbHk6ICRmb250LWNvbXByZXNzZWQ7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LWJhc2U7XG4gICAgZm9udC13ZWlnaHQ6ICRib2xkO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKSB7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICByaWdodDogaW5pdGlhbDtcbiAgICAgIGJvdHRvbTogMTVweDtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICB9XG5cbiAgICAjaGVyb19fc2xpZGVyLXByZXYsXG4gICAgI2hlcm9fX3NsaWRlci1uZXh0IHtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICRyZWQ7XG5cbiAgICAgICAgc3ZnIHtcbiAgICAgICAgICBmaWxsOiAkcmVkO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgc3ZnIHtcbiAgICAgIG1heC13aWR0aDogMTRweDtcbiAgICAgIG1heC1oZWlnaHQ6IDE0cHg7XG4gICAgICBmaWxsOiAkd2hpdGU7XG4gICAgICB0cmFuc2l0aW9uOiBmaWxsICR0cmFuc2l0aW9uO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdG9wOiAtMnB4O1xuICAgIH1cblxuICAgICYtc2VwYXJhdG9yIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbjogMCAxMHB4O1xuICAgIH1cbiAgfVxuXG4gICZfX3ZpZGVvIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogMztcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgb3BhY2l0eTogMC43NTtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICR0cmFuc2l0aW9uO1xuXG4gICAgc3ZnIHtcbiAgICAgIG1heC13aWR0aDogMTAwcHg7XG4gICAgICBtYXgtaGVpZ2h0OiAxMDBweDtcbiAgICAgIGZpbGw6ICR3aGl0ZTtcbiAgICAgIHRyYW5zaXRpb246IGZpbGwgJHRyYW5zaXRpb247XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICBvcGFjaXR5OiAxO1xuXG4gICAgICBzdmcge1xuICAgICAgICBmaWxsOiByZ2JhKDM1LCAzNSwgMzUsIDAuOSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fdmlkZW8taWNvbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvc2hhcGUtbGFiZWwtcmVkLnN2Zyk7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgIHdpZHRoOiA2OXB4O1xuICAgIGhlaWdodDogNTBweDtcbiAgICBmb250LWZhbWlseTogJGZvbnQtY29tcHJlc3NlZDtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICBtYXJnaW46IDA7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IDM7XG4gICAgdG9wOiAzOCU7XG4gICAgbGVmdDogNTAlO1xuICB9XG5cbiAgJl9fc2xpZGVyIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICAmLmNvbnRhaW4tc2xpZGVzIHtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICR0cmFuc2l0aW9uO1xuXG4gICAgICAmLnNsaWNrLWluaXRpYWxpemVkIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuc2xpY2stbGlzdCB7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICAgIC5zbGljay10cmFjayB7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19zbGlkZS1jb250YWluZXIge1xuICAgIG1hcmdpbjogMCAxMzVweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpIHtcbiAgICAgIG1hcmdpbjogMCA3MHB4O1xuICAgIH1cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oc20pIHtcbiAgICAgIG1hcmdpbjogMCAyNXB4O1xuICAgIH1cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oeHMpIHtcbiAgICAgIG1hcmdpbjogMCAxMHB4O1xuICAgIH1cbiAgfVxuXG4gICZfX3NsaWRlIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDI7XG4gICAgcGFkZGluZzogNTBweCAwO1xuICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCkge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgJi5zbGljay1zbGlkZSB7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgfVxuXG4gICAgJjpmb2N1cyB7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgIH1cblxuICAgICYudG9wIHtcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIH1cblxuICAgICYubWlkZGxlIHtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgJi5ib3R0b20ge1xuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgIH1cblxuICAgIC5oZXJvX19zbGlkZS1pbWFnZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB6LWluZGV4OiAtMjtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcblxuICAgICAgJi1pbm5lciB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgfVxuXG4gICAgICBpbWcge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgb2JqZWN0LXBvc2l0aW9uOiBjZW50ZXIgdG9wO1xuICAgICAgfVxuICAgIH1cblxuICAgICYtY29udGVudCB7XG4gICAgICBtYXgtd2lkdGg6IDcwMHB4O1xuXG4gICAgICAmLmxlZnQge1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgfVxuXG4gICAgICAmLmNlbnRlciB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIH1cblxuICAgICAgJi5yaWdodCB7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgfVxuXG4gICAgICBoMiB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDI3cHg7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKHNtKSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjRweDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuYnRuIHtcbiAgICAgICAgbWFyZ2luLXRvcDogNDBweDtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oc20pIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYtaWNvbi1vdXRlciB7XG4gICAgICAgICYubGVmdCB7XG4gICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgfVxuXG4gICAgICAgICYuY2VudGVyIHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICAmLnJpZ2h0IHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLWljb24ge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1pbi13aWR0aDogMTE1cHg7XG4gICAgICAgIHBhZGRpbmc6IDNweCA1cHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHJlZDtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRib2xkO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgICAgICYucmVkIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcmVkO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5ibGFjayB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG1haW47XG4gICAgICAgIH1cblxuICAgICAgICAmLndoaXRlIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgY29sb3I6ICRtYWluO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYtdGl0bGUsXG4gICAgICAmLXN1YnRpdGxlIHtcbiAgICAgICAgJi5yZWQge1xuICAgICAgICAgIGNvbG9yOiAkcmVkO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5ibGFjayB7XG4gICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgfVxuXG4gICAgICAgICYud2hpdGUge1xuICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi10aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogNjJweDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1jb25kZW5zZWQ7XG5cbiAgICAgICAgJi53aGl0ZSB7XG4gICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgfVxuXG4gICAgICAgICYucmVkIHtcbiAgICAgICAgICBjb2xvcjogJHJlZDtcbiAgICAgICAgfVxuXG4gICAgICAgICYuYmxhY2sge1xuICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgIH1cblxuICAgICAgICAmLm5vcm1hbCB7XG4gICAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5pdGFsaWMge1xuICAgICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihzbSkge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMzdweDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLXN1YnRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAyMnB4O1xuXG4gICAgICAgICYud2hpdGUge1xuICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIH1cblxuICAgICAgICAmLnJlZCB7XG4gICAgICAgICAgY29sb3I6ICRyZWQ7XG4gICAgICAgIH1cblxuICAgICAgICAmLmJsYWNrIHtcbiAgICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5ub3JtYWwge1xuICAgICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgfVxuXG4gICAgICAgICYuaXRhbGljIHtcbiAgICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi5hbGVydC1lbmFibGVkIHtcbiAgICAgICAgbWF4LXdpZHRoOiA1MCU7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihsZykge1xuICAgICAgICAgIG1heC13aWR0aDogNDAwcHg7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKSB7XG4gICAgICAgICAgbWF4LXdpZHRoOiBpbml0aWFsO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYuZnVsbHdpZHRoIHtcbiAgICAgICAgbWF4LXdpZHRoOiBpbml0aWFsO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX2FsZXJ0IHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAxO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogMDtcbiAgICBtYXgtd2lkdGg6IDU3MHB4O1xuICAgIHBhZGRpbmc6IDE1cHggMjVweDtcblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihsZykge1xuICAgICAgbWF4LXdpZHRoOiA0MDBweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpIHtcbiAgICAgIG1heC13aWR0aDogaW5pdGlhbDtcbiAgICB9XG5cbiAgICBwOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgICYgPiAud2hpdGUge1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICB9XG5cbiAgICAmID4gLnJlZCB7XG4gICAgICBjb2xvcjogJHJlZDtcbiAgICB9XG5cbiAgICAmID4gLmJsYWNrIHtcbiAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgfVxuXG4gICAgLm92ZXJsYXkge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgei1pbmRleDogLTE7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBib3JkZXItd2lkdGg6IDRweDtcbiAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICBib3JkZXItdG9wOiBub25lO1xuICAgIH1cblxuICAgICYtLWxhcmdlIHtcbiAgICAgIG1heC13aWR0aDogaW5pdGlhbDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbiAgfVxuXG4gICZfX25ld3MtdGlja2VyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZzogMTBweCAxNXB4O1xuXG4gICAgLnNsaWNrLXRyYWNrIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cblxuICAgIGEge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgfVxuICB9XG59XG4iLCIuY29udGVudCB7XG4gIHBhZGRpbmc6IDgwcHggMCAxMDBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICBcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKHNtKSB7XG4gICAgcGFkZGluZzogNDBweCAwO1xuICB9XG5cbiAgJi0tbm8tYm90dG9tLXBhZGRpbmcge1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICB9XG5cbiAgcCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgfVxuXG4gICZfX3JvdyB7XG4gICAgZGlzcGxheTogZmxleDtcblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihzbSkge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLnRoZV9jb250ZW50IHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiA3NTBweDtcbiAgICAgIG1hcmdpbi1yaWdodDogNTBweDtcblxuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKHNtKSB7XG4gICAgICAgIG1heC13aWR0aDogaW5pdGlhbDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBpbml0aWFsO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLmFjY29yZGlvbiB7XG4gIHBhZGRpbmc6IDUwcHggMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiA4NTBweDtcbiAgbWFyZ2luOiAwIGF1dG87XG5cbiAgJl9faXRlbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzVweDtcblxuICAgICYuYWN0aXZlIHtcblxuICAgICAgLmFjY29yZGlvbl9faXRlbS10aXRsZSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDVweCA1cHggMCAwO1xuICAgICAgICBib3JkZXItY29sb3I6ICM0OTUwNTc7XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSByb3RhdGUoNDVkZWcpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi10aXRsZSB7XG4gICAgICBmb250LXNpemU6IDIxcHg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBjb2xvcjogJHJlZDtcbiAgICAgIHBhZGRpbmc6IDIwcHggNDBweCAyMHB4IDI0cHg7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBib3JkZXI6IDJweCBzb2xpZCAjZjFmM2Y1O1xuICAgICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uLCBib3JkZXItcmFkaXVzICR0cmFuc2l0aW9uO1xuICAgICAgZm9udC13ZWlnaHQ6ICRib2xkO1xuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiK1wiO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAxNXB4O1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJHRyYW5zaXRpb247XG4gICAgICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICAgIH1cblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzQ5NTA1NztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLWNvbnRlbnQtb3V0ZXIge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAmLWNvbnRlbnQge1xuICAgICAgcGFkZGluZzogNTBweDtcblxuICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMyMzIzMjM7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihzbSkge1xuICAgICAgICBwYWRkaW5nOiAyNXB4O1xuICAgICAgfVxuXG4gICAgICAmLWxhYmVsIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcmVkO1xuICAgICAgICBwYWRkaW5nOiAzcHggNHB4O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICBmb250LXNpemU6IDEwcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBtYXJnaW46IGluaXRpYWw7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gICAgICB9XG5cbiAgICAgICYtdGl0bGUge1xuICAgICAgICBtYXJnaW46IDEwcHggMDtcbiAgICAgICAgZm9udC1zaXplOiAzNHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmb250LWNvbmRlbnNlZDtcbiAgICAgIH1cblxuICAgICAgJi10ZXh0IHtcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICBtYXJnaW46IGluaXRpYWw7XG4gICAgICAgIGNvbG9yOiAjNDk1MDU3O1xuICAgICAgfVxuICAgIH1cbiAgfVxufSIsIi5wb3N0cyB7XG4gIHBhZGRpbmc6IDgwcHggMCAxMDBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oc20pIHtcbiAgICBwYWRkaW5nOiA0MHB4IDAgNDBweDtcbiAgfVxuXG4gICYubm8tcGFkZGluZyB7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gICZfX2lubmVyIHtcbiAgICBtYXgtd2lkdGg6IDg1MHB4O1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHBhZGRpbmctdG9wOiA4MHB4O1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihzbSkge1xuICAgICAgcGFkZGluZy10b3A6IDQwcHg7XG4gICAgfVxuICB9XG5cbiAgJl9fdGl0bGUge1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG1haW47XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIHBhZGRpbmc6IDYwcHggMDtcbiAgfVxuXG4gICZfX3JvdyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oc20pIHtcbiAgICAgIC8vZGlzcGxheTogYmxvY2s7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XG4gICAgfVxuXG4gICAgJiA+IC5zaWRlYmFyLWV4aXN0IHtcbiAgICAgIG1heC13aWR0aDogODUwcHg7XG4gICAgfVxuICB9XG5cbiAgJl9faXRlbSB7XG4gICAgcGFkZGluZzogNDBweDtcbiAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRyZWQ7XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oc20pIHtcbiAgICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgfVxuXG4gICAgJi1kYXRlIHtcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgfVxuXG4gICAgJi10aXRsZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG5cbiAgICAmLWV4Y2VycHQge1xuICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihzbSkge1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBjb2xvcjogJG1haW47XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBjb2xvcjogJHJlZDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJl9fY2F0ZWdvcnkge1xuICAgIHBhZGRpbmctdG9wOiA1MHB4O1xuICAgIHBhZGRpbmc6IDUwcHggMDtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oc20pIHtcbiAgICAgIHBhZGRpbmc6IDMwcHggMDtcbiAgICB9XG4gICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDNweCBzb2xpZCAkYmxhY2s7XG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oc20pIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMnB4O1xuICAgICAgfVxuICAgIH1cbiAgICAvLyAucG9zdHNfX2l0ZW0ge1xuICAgIC8vICAgbWFyZ2luOiAwIDM1cHggMDtcbiAgICAvLyAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihzbSkge1xuICAgIC8vICAgICBtYXJnaW46IDAgMjBweCAwO1xuICAgIC8vICAgfVxuICAgIC8vIH1cbiAgICAucG9zdHNfX2l0ZW06bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgICAmLXRpdGxlIHtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBmb250LXNpemU6IDQ4cHg7XG4gICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7XG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oc20pIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICAgICAgZm9udC1zaXplOiAzNXB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxufSIsIi5sYXRlc3Qge1xuICBwYWRkaW5nOiA4MHB4IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcblxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oc20pIHtcbiAgICBwYWRkaW5nOiA0MHB4IDA7XG4gIH1cblxuICAmX190aXRsZSB7XG4gICAgZm9udC1zaXplOiA0OHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oc20pIHtcbiAgICAgIGZvbnQtc2l6ZTogNDJweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgfVxuICB9XG5cbiAgJl9fcm93IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihzbSkge1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgIH1cbiAgfVxuICAmX19pdGVtIHtcbiAgICB3aWR0aDogY2FsYygzMy4zMyUgLSA2MHB4KTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKSB7XG4gICAgICB3aWR0aDogY2FsYygzMy4zMyUgLSAzMHB4KTtcbiAgICB9XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKHNtKSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBoZWlnaHQ6IDk1cHg7XG4gICAgICB3aWR0aDogMXB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA0MHB4O1xuICAgICAgbGVmdDogLTQ1cHg7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgyMGRlZyk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWFpbjtcbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCkge1xuICAgICAgICBsZWZ0OiAtMjBweDtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTVkZWcpO1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKHNtKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgIG1hcmdpbi1yaWdodDogOTBweDtcbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCkge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDQ1cHg7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oc20pIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMjBweDtcbiAgICAgIH1cbiAgICB9XG4gICAgYSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIGNvbG9yOiAkbWFpbjtcbiAgICAgICY6aG92ZXIge1xuICAgICAgICBjb2xvcjogJHJlZDtcbiAgICAgICAgLmxhdGVzdF9faXRlbS10eXBlIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWFpbjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAmLXR5cGUge1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRyZWQ7XG4gICAgICBtYXJnaW4tYm90dG9tOiA4cHg7XG4gICAgICBwYWRkaW5nOiAzcHggNHB4O1xuICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICBsZXR0ZXItc3BhY2luZzogMnB4O1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb247XG4gICAgICBmb250LWZhbWlseTogJGZvbnQtY29tcHJlc3NlZDtcbiAgICB9XG4gICAgJi1kYXRlIHtcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgfVxuICAgICYtdGl0bGUge1xuICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgIH1cbiAgfVxuXG4gICZfX2N0YSB7XG4gICAgbWFyZ2luLXRvcDogMzBweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgfVxufVxuXG4uc2luZ2xlIC5sYXRlc3Qge1xuICAmX19pdGVtIHtcbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIubm90LWZvdW5kIHtcbiAgcGFkZGluZzogODBweCAwIDEwMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihzbSkge1xuICAgIHBhZGRpbmc6IDQwcHggMDtcbiAgfVxufSIsIi5wZW9wbGUge1xuXG4gICZfX2dyb3VwIHtcbiAgICBtYXJnaW46IDUwcHggYXV0bztcblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihzbSkge1xuICAgICAgbWFyZ2luOiAzMHB4IDA7XG4gICAgfVxuXG4gICAgJi10aXRsZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgIH1cbiAgfVxuXG4gICZfX3JvdyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cblxuICAmX19pdGVtIHtcbiAgICB3aWR0aDogY2FsYygyNSUgLSAxNXB4KTtcbiAgICBtYXJnaW46IDAgMTVweCA1MHB4IDA7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIHBhZGRpbmc6IDAgNXB4IDVweDtcblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCkge1xuICAgICAgd2lkdGg6IGNhbGMoMzMuMzMlIC0gMTBweCk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKHNtKSB7XG4gICAgICB3aWR0aDogY2FsYyg1MCUgLSA4cHgpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bih4cykge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW46IDAgMCAyMHB4IDA7XG4gICAgfVxuXG4gICAgJjpudGgtY2hpbGQoMm4pIHtcbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihzbSkge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGluaXRpYWw7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpudGgtY2hpbGQoM24pIHtcbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCkge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGluaXRpYWw7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oc20pIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xuICAgICAgfVxuICAgIH1cblxuICAgICY6bnRoLWNoaWxkKDRuKSB7XG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogaW5pdGlhbDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLWxpbmsge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDM1LDM1LDM1LC4yKTtcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkdHJhbnNpdGlvbjtcbiAgICAgIH1cblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiBpbml0aWFsO1xuICAgIH1cblxuICAgICYtaW1hZ2Uge1xuICAgICAgaGVpZ2h0OiAzMTBweDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oeHMpIHtcbiAgICAgICAgaGVpZ2h0OiBpbml0aWFsO1xuICAgICAgfVxuXG4gICAgICBpbWcge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKHhzKSB7XG4gICAgICAgICAgb2JqZWN0LWZpdDogaW5pdGlhbDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYtbmFtZSB7XG4gICAgICBmb250LXNpemU6IDI2cHg7XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgIGNvbG9yOiAjMzIzQjQxO1xuICAgICAgZm9udC1mYW1pbHk6ICRmb250LWNvbXByZXNzZWQ7XG4gICAgfVxuXG4gICAgcC5wZW9wbGVfX2l0ZW0tdHlwZSB7XG4gICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICBsaW5lLWhlaWdodDogMS40O1xuICAgICAgbWFyZ2luOiA1cHggMCAxMHB4O1xuICAgIH1cblxuICAgICYtcGhvbmUsXG4gICAgJi1lbWFpbCB7XG4gICAgICBsaW5lLWhlaWdodDogMS40O1xuICAgIH1cbiAgfVxufSIsIi5yZWxhdGVkIHtcbiAgcGFkZGluZzogODBweCAwIDEwMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhmOWZhO1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oc20pIHtcbiAgICBwYWRkaW5nOiA0MHB4IDA7XG4gIH1cblxuICAmX19ibG9jayB7XG4gICAgbWF4LXdpZHRoOiA3MjVweDtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgfVxuXG4gICZfX3JvdyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oc20pIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC5yZWxhdGVkX19ibG9jayB7XG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgICAgIG1heC13aWR0aDogNzI1cHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogNzVweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX190aXRsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oc20pIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gICAgfVxuICB9XG5cbiAgJl9faXRlbSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgY29udGVudDogJy4gLiAuJztcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkdHJhbnNpdGlvbjtcbiAgICB9XG5cbiAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRtYWluO1xuICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA0MHB4O1xuICAgIH1cblxuICAgICYuYWN0aXZlIHtcbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLXR5cGUge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgZm9udC1zaXplOiAxMXB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDE3cHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcmVkO1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgIHBhZGRpbmc6IDAgMTFweDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBmb250LXdlaWdodDogJG1lZGl1bTtcbiAgICAgIG1hcmdpbi1ib3R0b206IGluaXRpYWw7XG4gICAgfVxuXG4gICAgJi10aXRsZSB7XG4gICAgICBsaW5lLWhlaWdodDogMS4wNTtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBtYXJnaW46IDIwcHggMCA1cHg7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbjtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAkcmVkO1xuICAgICAgfVxuICAgIH1cblxuICAgICYtY29udGVudCB7XG4gICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICBtYXgtaGVpZ2h0OiA5MHB4O1xuICAgICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAkdHJhbnNpdGlvbjtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgIHAge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBpbml0aWFsO1xuICAgICAgfVxuICAgIH1cbiAgfVxufSIsIi5zaWRlYmFyIHtcbiAgd2lkdGg6IDMyMHB4O1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgcGFkZGluZzogMCAxNXB4O1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oc20pIHtcbiAgICBtYXJnaW4tdG9wOiA1MHB4O1xuICAgIHdpZHRoOiBpbml0aWFsO1xuICAgIG1hcmdpbi1sZWZ0OiBpbml0aWFsO1xuICAgIHBhZGRpbmc6IGluaXRpYWw7XG4gIH1cblxuICAmX190aXRsZSB7XG4gICAgZm9udC1zaXplOiAyMXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM4NjhlOTU7XG4gIH1cblxuICAmX19pdGVtIHtcbiAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihzbSkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgICAmLmJ0bi0tcmVkIHtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYuYnRuLS1ibGFjayB7XG5cbiAgICAgICAgY29sb3I6ICR3aGl0ZTsgICAgXG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICRyZWQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi10aXRsZSB7XG4gICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgZm9udC1mYW1pbHk6ICRmb250LWNvbXByZXNzZWQ7XG4gICAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyN3B4O1xuICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNkZWUyZTY7XG4gICAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICAgIH1cblxuICAgICYtY29udGVudCB7XG4gICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgICYtbGlua3Mge1xuICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgZm9udC1mYW1pbHk6ICRmb250LWNvbmRlbnNlZDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuXG4gICAgICBsaSB7XG5cbiAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG5cbiAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiAkcmVkO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGEuc2lkZWJhcl9faXRlbS1saW5rIHtcbiAgICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgICBjb2xvcjogJHJlZDtcbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihzbSkge1xuICAgICAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcC5zaWRlYmFyX19pdGVtLW5hbWUge1xuICAgICAgZm9udC1mYW1pbHk6ICRmb250LWNvbXByZXNzZWQ7XG4gICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKHNtKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjFweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBwLnNpZGViYXJfX2l0ZW0tcG9zaXRpb24ge1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgY29sb3I6ICM4NjhlOTU7XG4gICAgICBmb250LWZhbWlseTogJGZvbnQtY29tcHJlc3NlZDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAgIHNwYW4ge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgd2lkdGg6IDI1cHg7XG4gICAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHJlZDtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgcmlnaHQ6IC01cHg7XG4gICAgICAgICAgYm90dG9tOiA4cHg7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgcC5zaWRlYmFyX19pdGVtLXNwZWNpYWx0eSB7XG4gICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICBmb250LWZhbWlseTogJGZvbnQtY29tcHJlc3NlZDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgJi1pbWFnZSB7XG4gICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgIH1cblxuICAgICYtY29udGFjdHMge1xuICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICB9XG4gIH1cblxuICAmX19jYXRlZ29yaWVzIHtcbiAgICBwYWRkaW5nLXRvcDogNTBweDtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oc20pIHtcbiAgICAgIHBhZGRpbmctdG9wOiBpbml0aWFsO1xuICAgIH1cblxuICAgICYtdGl0bGUge1xuICAgICAgZm9udC1zaXplOiAzMnB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1jb21wcmVzc2VkO1xuICAgICAgY29sb3I6ICRyZWQ7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICB9XG5cbiAgICAmLWxpc3Qge1xuICAgICAgY29sb3I6ICMwMDA7XG5cbiAgICAgIGxpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTJweDtcblxuICAgICAgICBhIHtcbiAgICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAyNnB4O1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwIDAgMTZweCAxNnB4O1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAkcmVkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHRvcDogMnB4O1xuICAgICAgICAgIH1cblxuICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6ICRyZWQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIucGVyc29uIHtcbiAgcGFkZGluZy1ib3R0b206IDEwMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihzbSkge1xuICAgIHBhZGRpbmctYm90dG9tOiA0MHB4O1xuICB9XG4gICZfX2hlYWRlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogNTBweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oc20pIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgfVxuICAgICY6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEyMHB4KTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmMWYzZjU7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB6LWluZGV4OiAtMTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgfVxuICAgICYtcm93IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgICBwYWRkaW5nOiA3NXB4IDUwcHggMDtcbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCkge1xuICAgICAgICBwYWRkaW5nOiBpbml0aWFsO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKHNtKSB7XG4gICAgICAgIHBhZGRpbmc6IDQwcHggMCAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAmX19pbWFnZSB7XG4gICAgbWF4LXdpZHRoOiAzMjVweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwMHB4O1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCkge1xuICAgICAgbWFyZ2luOiAwIGF1dG8gMTVweDtcbiAgICB9XG4gICAgaW1nIHtcbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihzbSkge1xuICAgICAgICBtYXgtaGVpZ2h0OiAzNTBweDtcbiAgICAgICAgb2JqZWN0LWZpdDogY29udGFpbjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJl9fZGVzY3JpcHRpb24ge1xuICAgIGZvbnQtZmFtaWx5OiAkZm9udC1jb25kZW5zZWQ7XG4gICAgZm9udC1zaXplOiA0OHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihzbSkge1xuICAgICAgZm9udC1zaXplOiAzMHB4O1xuICAgIH1cbiAgICAubmFtZSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgIHdpZHRoOiA2MHB4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoY2FsYygxMDAlICsgMTBweCksIC01MCUpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcmVkO1xuICAgICAgfVxuICAgIH1cbiAgICAudHlwZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGZvbnQtc2l6ZTogMzhweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1iYXNlO1xuICAgICAgbWFyZ2luLXRvcDogMTVweDtcbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihzbSkge1xuICAgICAgICBmb250LXNpemU6IDIzcHg7XG4gICAgICAgIG1hcmdpbi10b3A6IDVweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJl9fcm93IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihzbSkge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG4gICZfX2NvbnRhY3Qge1xuICAgIG1pbi13aWR0aDogMjUwcHg7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICAgIGZvbnQtZmFtaWx5OiAkZm9udC1jb21wcmVzc2VkO1xuICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gICAgbWFyZ2luLWxlZnQ6IDUwcHg7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKHNtKSB7XG4gICAgICBtYXJnaW46IDMwcHggMCAwIDA7XG4gICAgfVxuICAgICYtaXRlbSB7XG4gICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA4MHB4O1xuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oc20pIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgICYtdGl0bGUge1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM4NjhlOTU7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKHNtKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICB9XG4gICAgfVxuICAgICYtbGlua3Mge1xuICAgICAgbGkge1xuICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICAgIH1cbiAgICAgICAgYSB7XG4gICAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogJHJlZDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLnRoZV9jb250ZW50IHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cbn0iLCIucG9zdCB7XG4gICZfX2hlYWRlciB7XG4gICAgbWluLWhlaWdodDogMTk1cHg7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB9XG5cbiAgJl9fdGl0bGUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGZvbnQtc2l6ZTogNjJweDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBwYWRkaW5nOiAzMHB4IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC1mYW1pbHk6ICRmb250LWNvbmRlbnNlZDtcbiAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKHNtKSB7XG4gICAgICBmb250LXNpemU6IDQ4cHg7XG4gICAgfVxuICB9XG5cbiAgJl9fc3VidGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBsaW5lLWhlaWdodDogMjVweDtcbiAgICBjb2xvcjogI2E0YTRhNDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cblxuICAmLWljb24tb3V0ZXIge1xuICAgICYubGVmdCB7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIH1cblxuICAgICYuY2VudGVyIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICAmLnJpZ2h0IHtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cbiAgfVxuXG4gICYtaWNvbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1pbi13aWR0aDogMTE1cHg7XG4gICAgcGFkZGluZzogM3B4IDVweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHJlZDtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGZvbnQtd2VpZ2h0OiAkYm9sZDtcbiAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xuXG4gICAgJi5yZWQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHJlZDtcbiAgICB9XG5cbiAgICAmLmJsYWNrIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRtYWluO1xuICAgIH1cblxuICAgICYud2hpdGUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgY29sb3I6ICRtYWluO1xuICAgIH1cbiAgfVxufSIsIi5naWxiZXJ0LWVkZ2Uge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gIHBhZGRpbmc6IDI1NXB4IDAgODBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihzbSkge1xuICAgIHBhZGRpbmc6IDI1NXB4IDAgNDBweDtcbiAgfVxuXG4gICY6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCIgXCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiA0MHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRyZWQ7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihzbSkge1xuICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgIH1cbiAgfVxuXG4gICY6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIiBcIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMnB4O1xuICAgIGhlaWdodDogMTYwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHJlZDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICB0b3A6IDA7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKHNtKSB7XG4gICAgICBoZWlnaHQ6IDgwcHg7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKHNtKSB7XG4gICAgcGFkZGluZzogMTI1cHggMCA0MHB4O1xuICB9XG5cbiAgJl9fdGl0bGUsICZfX3RleHQge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXgtd2lkdGg6IDcwMHB4O1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICB9XG5cbiAgJl9fdGl0bGUge1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gIH1cblxuICAmX190ZXh0IHtcbiAgICBtYXJnaW4tYm90dG9tOiA4MHB4O1xuICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgfVxuXG4gICZfX3JvdyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICY6OmJlZm9yZSwgJjo6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAycHg7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcmVkO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAtMTYwcHg7XG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oc20pIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGxlZnQ6IDA7XG4gICAgfVxuICAgICY6OmFmdGVyIHtcbiAgICAgIHJpZ2h0OiAwO1xuICAgIH1cbiAgfVxuXG4gICZfX2l0ZW0ge1xuICAgIHdpZHRoOiAzMDBweDtcbiAgICBtYXJnaW46IDAgMTVweCAyMHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcGFkZGluZzogMjRweDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgY29sb3I6ICRtYWluO1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihsZykge1xuICAgICAgd2lkdGg6IGNhbGMoMzMuMzMlIC0gMzBweCk7XG4gICAgfVxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCkge1xuICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMzBweCk7XG4gICAgfVxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihzbSkge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oeHMpIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgLmdpbGJlcnQtZWRnZV9faXRlbS1iYWNrIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgICAgfVxuXG4gICAgICAuZ2lsYmVydC1lZGdlX19pdGVtLWljb24gc3ZnIHtcbiAgICAgICAgZmlsbDogJHdoaXRlO1xuICAgICAgfVxuXG4gICAgICAuZ2lsYmVydC1lZGdlX19pdGVtLXRpdGxlIHtcbiAgICAgICAgY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xuICAgICAgfVxuXG4gICAgICAuZ2lsYmVydC1lZGdlX19pdGVtLXRleHQge1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgfVxuXG4gICAgICAuZ2lsYmVydC1lZGdlX19pdGVtLWxpbmsge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgICYtYmFjayB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgei1pbmRleDogLTE7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAkdHJhbnNpdGlvbjtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAyMHB4O1xuICAgICAgICBib3R0b206IDIwcHg7XG4gICAgICAgIHdpZHRoOiAwO1xuICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGJvcmRlci13aWR0aDogMCAwIDIwcHggMjBweDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjZWIzNzNkIHRyYW5zcGFyZW50O1xuICAgICAgfVxuICAgIH1cblxuICAgICYtYmFja2dyb3VuZCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDM1LCAzNSwgMzUsIC41KTtcbiAgICAgIH1cblxuICAgICAgaW1nIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi1pY29uIHtcbiAgICAgIG1heC13aWR0aDogNTBweDtcbiAgICAgIGhlaWdodDogNTBweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oc20pIHtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG8gMTVweDtcbiAgICAgIH1cblxuICAgICAgc3ZnIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgICAgICBmaWxsOiAkbWFpbjtcbiAgICAgICAgdHJhbnNpdGlvbjogZmlsbCAkdHJhbnNpdGlvbjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLXRpdGxlLCAmLXRleHQge1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb247XG4gICAgfVxuXG4gICAgJi10aXRsZSB7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgZm9udC1zaXplOiAyOHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICB9XG5cbiAgICAmLXRleHQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgICB9XG5cbiAgICAmLWxpbmsge1xuICAgICAgY29sb3I6ICRyZWQ7XG4gICAgICBmb250LXNpemU6IDE3cHg7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgZm9udC1mYW1pbHk6ICRmb250LWNvbXByZXNzZWQ7XG4gICAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkdHJhbnNpdGlvbjtcblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiA4cHg7XG4gICAgICAgIGhlaWdodDogMTNweDtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvYXJyb3ctcmlnaHQtcmVkLnN2Zyk7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIHJpZ2h0OiAtMTBweDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMTAwJSwgLTUwJSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59IiwiLnZpZGVvIHtcbiAgbWF4LXdpZHRoOiAxNDAwcHg7XG4gIG1hcmdpbjogMCBhdXRvO1xuXG4gICZfX2lubmVyIHtcbiAgICBoZWlnaHQ6IDYwMHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihzbSkge1xuICAgICAgaGVpZ2h0OiA0NTBweDtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHotaW5kZXg6IDM7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgb3BhY2l0eTogMC43NTtcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJHRyYW5zaXRpb247XG5cbiAgICAgIHN2ZyB7XG4gICAgICAgIG1heC13aWR0aDogMTAwcHg7XG4gICAgICAgIG1heC1oZWlnaHQ6IDEwMHB4O1xuICAgICAgICBmaWxsOiAkd2hpdGU7XG4gICAgICAgIHRyYW5zaXRpb246IGZpbGwgJHRyYW5zaXRpb247XG4gICAgICB9XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBvcGFjaXR5OiAxO1xuXG4gICAgICAgIHN2ZyB7XG4gICAgICAgICAgZmlsbDogJHJlZDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX3ByZXZpZXcge1xuICAgIGhlaWdodDogMTAwJTtcblxuICAgIGltZyB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgb2JqZWN0LXBvc2l0aW9uOiBjZW50ZXIgdG9wO1xuICAgIH1cbiAgfVxuXG4gICZfX2NvbnRlbnQge1xuICAgIG1heC13aWR0aDogNDUwcHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IDE7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgcmlnaHQ6IDEwMHB4O1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihsZykge1xuICAgICAgcmlnaHQ6IDE1cHg7XG4gICAgfVxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCkge1xuICAgICAgdG9wOiBpbml0aWFsO1xuICAgICAgcmlnaHQ6IGluaXRpYWw7XG4gICAgICBib3R0b206IDE1cHg7XG4gICAgICBsZWZ0OiAxNXB4O1xuICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgIH1cbiAgICAmLWljb24ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9zaGFwZS1sYWJlbC1yZWQuc3ZnKTtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICB3aWR0aDogNjlweDtcbiAgICAgIGhlaWdodDogNTBweDtcbiAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1jb21wcmVzc2VkO1xuICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG4gICAgJi10ZXh0IHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihzbSkge1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4iLCIuc2VhcmNoIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuXG4gICZfX2hlYWRlciB7XG4gICAgcGFkZGluZzogNTBweCAwO1xuICAgIG1pbi1oZWlnaHQ6IDE5NXB4O1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgIGZvbnQtZmFtaWx5OiAkZm9udC1jb21wcmVzc2VkO1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihzbSkge1xuICAgICAgcGFkZGluZzogMzBweCAwO1xuICAgIH1cblxuICAgICYtdGl0bGUge1xuICAgICAgY29sb3I6ICM4NjhlOTU7XG4gICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKHNtKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLWtleXdvcmQge1xuICAgICAgZm9udC1zaXplOiA2NHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihzbSkge1xuICAgICAgICBmb250LXNpemU6IDM2cHg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9faW5uZXIge1xuICAgIHBhZGRpbmc6IDk1cHggMCA1MHB4O1xuICAgIG1heC13aWR0aDogODUwcHg7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKHNtKSB7XG4gICAgICBwYWRkaW5nOiA1MHB4IDAgMzBweDtcbiAgICB9XG4gIH1cblxuICAmX19jb250cm9scyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIH1cblxuICAmX19maWx0ZXJzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBmb250LXNpemU6IDI0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICBmb250LWZhbWlseTogJGZvbnQtY29tcHJlc3NlZDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgbGkge1xuICAgICAgbWFyZ2luOiAwIDI0cHggMjBweCAwO1xuXG4gICAgICAmLmFjdGl2ZSB7XG4gICAgICAgIGEge1xuICAgICAgICAgIGNvbG9yOiAkcmVkO1xuXG4gICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHJlZDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgYSB7XG4gICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgIHBhZGRpbmc6IDAgOHB4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICAgIGhlaWdodDogMnB4O1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibGFjaztcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICBib3R0b206IC01cHg7XG4gICAgICAgICAgdHJhbnNpdGlvbjogd2lkdGggJHRyYW5zaXRpb247XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fY291bnQge1xuICAgIGNvbG9yOiAjODY4ZTk1O1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIH1cblxuICAucGFnaW5hdGlvbi13cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oc20pIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgICZfX21vYmlsZSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKHNtKSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAucGFnZS1udW1iZXJzIHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICBtYXJnaW46IDhweCAwO1xuXG4gICAgICAgICAgbGkge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lO1xuXG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgcGFkZGluZzogNXB4IDEwcHg7XG4gICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgICAgY29sb3I6IGJsYWNrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYTpob3Zlcjpub3QoLmFjdGl2ZSkge1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGRkO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICAuY3VycmVudCB7XG4gICAgICAgICAgICBwYWRkaW5nOiA1cHggMTBweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlYjM3M2M7XG4gICAgICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnBhZ2UtbnVtYmVycyB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbWFyZ2luOiA4cHggMDtcblxuICAgICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgcGFkZGluZzogOHB4IDE2cHg7XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgIGNvbG9yOiBibGFjaztcbiAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oc20pIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDVweCAxMHB4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBhOmhvdmVyOm5vdCguYWN0aXZlKSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2RkZDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLmN1cnJlbnQge1xuICAgICAgICBwYWRkaW5nOiA4cHggMTZweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ViMzczYztcbiAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAjcGVvcGxlX29yZGVyIHtcbiAgICB3aWR0aDogMTUwcHg7XG4gIH1cbiAgLnNlbGVjdDItc2VsZWN0aW9uX19yZW5kZXJlZCB7XG4gICAgbGluZS1oZWlnaHQ6IDM1cHggIWltcG9ydGFudDtcbiAgfVxuICAuc2VsZWN0Mi1jb250YWluZXIgLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUge1xuICAgIGhlaWdodDogNDBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5zZWxlY3QyLXNlbGVjdGlvbl9fYXJyb3cge1xuICAgIGhlaWdodDogMzVweCAhaW1wb3J0YW50O1xuICB9XG4gIC5wb3N0cyB7XG4gICAgcGFkZGluZzogMjBweCAwIDMwcHg7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKHNtKSB7XG4gICAgICBwYWRkaW5nOiAxMHB4IDAgMTBweDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIHNwZWNpYWwgc3R5bGVzIGZvciBJbnRlcm5ldCBFeHBsb3JlclxuQG1lZGlhIHNjcmVlbiBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBhY3RpdmUpLCAoLW1zLWhpZ2gtY29udHJhc3Q6IG5vbmUpIHtcbiAgLnZpZGVvICB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gIH1cbiAgLndyYXBwZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbn0iLCIuY3VycmVudC1tYXR0ZXJzIHtcbiAgcGFkZGluZzogOTBweCAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oc20pIHtcbiAgICBwYWRkaW5nOiA0NXB4IDA7XG4gIH1cblxuICAmX190aXRsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogNTBweDtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oc20pIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgfVxuICB9XG5cbiAgJl9fcm93IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgfVxuXG4gIGRpdi5jdXJyZW50LW1hdHRlcnNfX2l0ZW0ge1xuICAgIHdpZHRoOiAzMy4zMyU7XG4gICAgcGFkZGluZzogMjRweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjYWFhO1xuICAgIG1hcmdpbi1ib3R0b206IGluaXRpYWw7XG5cbiAgICAmLmFjdGl2ZSB7XG4gICAgICAubGVhcm4tbW9yZTo6YWZ0ZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihzbSkge1xuICAgICAgcGFkZGluZzogOHB4O1xuICAgIH1cblxuICAgICY6Zmlyc3QtY2hpbGQsXG4gICAgJjpudGgtY2hpbGQoMikge1xuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKGxnKSB7XG4gICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oc20pIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpudGgtY2hpbGQoMikge1xuICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oc20pIHtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjYWFhO1xuICAgICAgICBib3JkZXItdG9wOiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6bnRoLWNoaWxkKDMpIHtcbiAgICAgIGJvcmRlci1sZWZ0OiBub25lO1xuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKGxnKSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNhYWE7XG4gICAgICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmxlYXJuLW1vcmUge1xuICAgICAgZm9udC1mYW1pbHk6ICRmb250LWNvbXByZXNzZWQ7XG4gICAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICAgICAgZm9udC1zaXplOiAxN3B4O1xuICAgICAgY29sb3I6ICRyZWQ7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMnB4O1xuICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1nL2Rvd24tYXJyb3ctcmVkLnN2Zyk7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICR0cmFuc2l0aW9uO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5yZWxhdGVkX19pdGVtLXRpdGxlIHtcbiAgICBmb250LXNpemU6IDI4cHg7XG4gIH1cblxuICAmX19idG4ge1xuICAgIG1hcmdpbi10b3A6IDcwcHg7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKGxnKSB7XG4gICAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgIH1cbiAgfVxuXG59XG4iLCIuZmVhdHVyZWQge1xuICBwYWRkaW5nOiA0NXB4IDE1cHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwwLDAsLjA1KTtcbiAgYm9yZGVyLWJvdHRvbTogM3B4IHNvbGlkICNlZTQwNDQ7XG4gIGJvcmRlci10b3A6IDNweCBzb2xpZCAjZWU0MDQ0O1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxNDAwcHg7XG4gIG1hcmdpbjogMCBhdXRvO1xuXG4gICZfX3JvdyB7XG4gICAgZGlzcGxheTogZmxleDtcblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihzbSkge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG5cbiAgJl9faXRlbSB7XG5cbiAgICAmLS1zbWFsbCB7XG4gICAgICB3aWR0aDogMjUwcHg7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xuICAgICAgYm9yZGVyLXJpZ2h0OiAycHggc29saWQgIzIzMjMyMztcblxuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKHNtKSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nOiBpbml0aWFsO1xuICAgICAgICBib3JkZXI6IGluaXRpYWw7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE3cHg7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAzM3B4O1xuICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgIzIzMjMyMztcbiAgICAgIH1cblxuICAgICAgLmZlYXR1cmVkX19pdGVtLXRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAzMXB4O1xuICAgICAgfVxuICAgIH1cblxuICAgICYtLWJpZyB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gMjUwcHgpO1xuICAgICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oc20pIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmc6IGluaXRpYWw7XG4gICAgICB9XG4gICAgfVxuICAgIFxuICAgICYtdGl0bGUge1xuICAgICAgZm9udC1zaXplOiA4MHB4O1xuICAgICAgY29sb3I6ICMwMDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oc20pIHtcbiAgICAgICAgZm9udC1zaXplOiA1MnB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgfVxuICAgIH1cblxuICAgICYtdGV4dCB7XG4gICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oc20pIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn0iLCIjbWNfZW1iZWRfc2lnbnVwIHtcbiAgbWF4LXdpZHRoOiA2MzhweDtcblxuICAuYXN0ZXJpc2sge1xuICAgIGNvbG9yOiAkcmVkO1xuICB9XG5cbiAgbGFiZWwge1xuICAgIG1hcmdpbjogaW5pdGlhbDtcbiAgICBmb250LWZhbWlseTogSGVsdmV0aWNhO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgfVxuXG4gIGlucHV0IHtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjZTllY2VmO1xuICAgIHBhZGRpbmc6IDAgMjBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIGhlaWdodDogNTBweDtcbiAgICBjb2xvcjogIzM0M2E0MDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgJHRyYW5zaXRpb24sIGNvbG9yICR0cmFuc2l0aW9uO1xuXG4gICAgJjpmb2N1cyxcbiAgICAmOmhvdmVyIHtcbiAgICAgIGJvcmRlci1jb2xvcjogI2NlZDRkYTtcbiAgICAgIGNvbG9yOiAjNDk1MDU3O1xuICAgIH1cblxuICAgICY6Zm9jdXMge1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICB9XG5cbiAgICAmW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgcGFkZGluZzogMTVweCAyNXB4O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgZm9udC1mYW1pbHk6ICRmb250LWNvbXByZXNzZWQ7XG4gICAgICBib3JkZXI6IDJweCBzb2xpZCAjMjMyMzIzO1xuICAgICAgY29sb3I6ICRtYWluO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uLCBjb2xvciAkdHJhbnNpdGlvbiwgYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbjtcbiAgICAgIHdpZHRoOiBpbml0aWFsO1xuICAgICAgbWluLXdpZHRoOiAxOTJweDtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihzbSkge1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIG1pbi13aWR0aDogaW5pdGlhbDtcbiAgICAgIH1cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBib3JkZXItY29sb3I6ICRtYWluO1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWFpbjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZGF0ZWZpZWxkIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgJiA+ICoge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xuICAgICAgJjpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxNXB4O1xuICAgICAgfVxuICAgIH1cbiAgICAmID4gc3BhbiB7XG4gICAgICB3aWR0aDogMTkycHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxufVxuIiwiLmV2ZW50cyB7XG5cbiAgJl9fdGFicyB7XG4gICAgbWF4LXdpZHRoOiA4NTBweDtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBib3gtc2hhZG93OiAwIDQ4cHggODBweCAtMzJweCByZ2JhKDAsIDAsIDAsIDAuMyk7XG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xuXG4gICAgaW5wdXQge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgei1pbmRleDogLTk5OTtcbiAgICAgIG9wYWNpdHk6IDA7XG5cbiAgICAgICY6Y2hlY2tlZCB7XG4gICAgICAgIFxuICAgICAgICArIGxhYmVsIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICAgICAgY29sb3I6ICRtYWluO1xuXG4gICAgICAgICAgKyAuZXZlbnRzX190YWIge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgbGFiZWwge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2U5ZWNlZjtcbiAgICAgIGNvbG9yOiAjNDk1MDU3O1xuICAgICAgcGFkZGluZzogMjBweCAzMHB4O1xuICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgZm9udC13ZWlnaHQ6ICRtZWRpdW07XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuXG4gICAgLmV2ZW50c19fdGFiIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBvcmRlcjogOTk7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBhZGRpbmc6IDIwcHggMzBweCAzMHB4O1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oc20pIHtcbiAgICAgICAgcGFkZGluZzogMTVweCAyMHB4IDIwcHg7XG4gICAgICB9XG4gICAgICBcbiAgICAgICYtdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDQycHg7XG4gICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDM1cHg7XG4gICAgICAgIGNvbG9yOiAkcmVkO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihzbSkge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMzdweDtcbiAgICAgICAgICBjb2xvcjogJHJlZDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9faXRlbSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGNvbG9yOiBpbmhlcml0O1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcblxuICAgICAgLnBvc3RzX19pdGVtLXRpdGxlIHtcbiAgICAgICAgY29sb3I6ICRyZWQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnBvc3RzX19pdGVtIHtcblxuICAgICYtdGl0bGUge1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uO1xuICAgIH1cblxuICAgIC5ldmVudHNfX2luZm8ge1xuICAgICAgY29sb3I6ICM4NjhlOTY7XG5cbiAgICAgIHAge1xuICAgICAgICBtYXJnaW46IGluaXRpYWw7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm5vLWV2ZW50cyB7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIGNvbG9yOiAkcmVkO1xuICB9XG59XG4iLCIuZXZlbnQge1xuXG4gICZfX2luZm8ge1xuICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDUwcHg7XG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNmMWYzZjU7XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oc20pIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgICB9XG5cbiAgICBwIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgfVxuICB9XG5cbiAgJl9fY29udGFjdCB7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICAgIGZvbnQtZmFtaWx5OiAkZm9udC1jb21wcmVzc2VkO1xuICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oc20pIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgfVxuXG4gICAgJi1pdGVtIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihzbSkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgICAgfVxuICAgIH1cbiAgXG4gICAgJi10aXRsZSB7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzg2OGU5NTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gIFxuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKHNtKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICB9XG4gICAgfVxuICBcbiAgICAmLWxpbmtzIHtcbiAgXG4gICAgICBsaSB7XG4gIFxuICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICAgIH1cbiAgXG4gICAgICAgIGEge1xuICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgICAgICAgIFxuICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6ICRyZWQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QW9Da0JBLEFBQUEsQ0FBQztBQUNELENBQUMsQUFBQSxRQUFRO0FBQ1QsQ0FBQyxBQUFBLE9BQU8sQ0FBQztFQUNQLFVBQVUsRUFBRSxVQUFVLEdBQ3ZCOztBQUVELEFBQUEsSUFBSSxDQUFDO0VBQ0gsV0FBVyxFQUFFLFVBQVU7RUFDdkIsV0FBVyxFQUFFLElBQUk7RUFDakIsd0JBQXdCLEVBQUUsSUFBSTtFQUM5QiwyQkFBMkIsRWxDWGxCLGdCQUFJLEdrQ1lkOztBQUtELEFBQUEsT0FBTyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsT0FBTyxDQUFDO0VBQzdFLE9BQU8sRUFBRSxLQUFLLEdBQ2Y7O0FBU0QsQUFBQSxJQUFJLENBQUM7RUFDSCxNQUFNLEVBQUUsQ0FBQztFQUNULFdBQVcsRWxDcU9pQixhQUFhLEVBQUUsa0JBQWtCLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxnQkFBZ0IsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLGlCQUFpQixFQUFFLFVBQVUsRUFBRSxtQkFBbUIsRUFBRSxnQkFBZ0IsRUFBRSxpQkFBaUIsRUFBRSxrQkFBa0I7RUVySmhPLFNBQVMsRUF0Q0UsSUFBQztFZ0N4Q2hCLFdBQVcsRWxDOE9pQixHQUFHO0VrQzdPL0IsV0FBVyxFbENrUGlCLEdBQUc7RWtDalAvQixLQUFLLEVsQ25DSSxPQUFPO0VrQ29DaEIsVUFBVSxFQUFFLElBQUk7RUFDaEIsZ0JBQWdCLEVsQzlDUCxJQUFJLEdrQytDZDs7Q0FXRCxBQUFBLEFBQUEsUUFBQyxDQUFTLElBQUksQUFBYixDQUFjLE1BQU0sQUFBQSxJQUFL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 */
