/*
Theme Name: ecowater
Theme URI: https://acmeinc.com
Author: Rocket55
Author URI: https://webdevstudios.com/
Description: A theme for Ecowater microsites based on Bootstrap 4
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: ecowater
Tags: custom

This theme, like WordPress, is licensed under the GPL.

Based on Underscores http://underscores.me/, (C) 2012-2017 Automattic, Inc.

*/
@import url(assets/bower_components/normalize-css/normalize.css);
@import url(assets/bower_components/animate.css/animate.css);
* {
  box-sizing: border-box;
}

html {
  box-sizing: border-box;
}

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

.pad-15 {
  padding: 0.9375rem;
}

.pad-15-0 {
  padding-top: 0.9375rem;
  padding-bottom: 0.9375rem;
}

.pad-top-15 {
  padding-top: 0.9375rem;
}

.pad-bottom-15 {
  padding-bottom: 0.9375rem;
}

.pad-0-15 {
  padding-right: 0.9375rem;
  padding-left: 0.9375rem;
}

.pad-20 {
  padding: 1.25rem;
}

.pad-20-0 {
  padding-top: 1.25rem;
  padding-bottom: 1.25rem;
}

.pad-top-20 {
  padding-top: 1.25rem;
}

.pad-bottom-20 {
  padding-bottom: 1.25rem;
}

.pad-0-20 {
  padding-right: 1.25rem;
  padding-left: 1.25rem;
}

.pad-30 {
  padding: 1.875rem;
}

.pad-30-0 {
  padding-top: 1.875rem;
  padding-bottom: 1.875rem;
}

.pad-top-30 {
  padding-top: 1.875rem;
}

.pad-bottom-30 {
  padding-bottom: 1.875rem;
}

.pad-0-30 {
  padding-right: 1.875rem;
  padding-left: 1.875rem;
}

.pad-35 {
  padding: 2.1875rem;
}

.pad-35-0 {
  padding-top: 2.1875rem;
  padding-bottom: 2.1875rem;
}

.pad-top-35 {
  padding-top: 2.1875rem;
}

.pad-bottom-35 {
  padding-bottom: 2.1875rem;
}

.pad-0-35 {
  padding-right: 2.1875rem;
  padding-left: 2.1875rem;
}

.pad-40 {
  padding: 2.5rem;
}

.pad-40-0 {
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
}

.pad-top-40 {
  padding-top: 2.5rem;
}

.pad-bottom-40 {
  padding-bottom: 2.5rem;
}

.pad-0-40 {
  padding-right: 2.5rem;
  padding-left: 2.5rem;
}

.pad-50 {
  padding: 3.125rem;
}

.pad-50-0 {
  padding-top: 3.125rem;
  padding-bottom: 3.125rem;
}

.pad-top-50 {
  padding-top: 3.125rem;
}

.pad-bottom-50 {
  padding-bottom: 3.125rem;
}

.pad-0-50 {
  padding-right: 3.125rem;
  padding-left: 3.125rem;
}

.pad-100 {
  padding: 6.25rem;
}

.pad-100-0 {
  padding-top: 6.25rem;
  padding-bottom: 6.25rem;
}

.pad-top-100 {
  padding-top: 6.25rem;
}

.pad-bottom-100 {
  padding-bottom: 6.25rem;
}

.pad-0-100 {
  padding-right: 6.25rem;
  padding-left: 6.25rem;
}

.margin-15 {
  margin: 0.9375rem;
}

.margin-15-0 {
  margin-top: 0.9375rem;
  margin-bottom: 0.9375rem;
}

.margin-top-15 {
  margin-top: 0.9375rem;
}

.margin-bottom-15 {
  margin-bottom: 0.9375rem;
}

.margin-0-15 {
  margin-right: 0.9375rem;
  margin-left: 0.9375rem;
}

.margin-20 {
  margin: 1.25rem;
}

.margin-20-0 {
  margin-top: 1.25rem;
  margin-bottom: 1.25rem;
}

.margin-top-20 {
  margin-top: 1.25rem;
}

.margin-bottom-20 {
  margin-bottom: 1.25rem;
}

.margin-0-20 {
  margin-right: 1.25rem;
  margin-left: 1.25rem;
}

.margin-30 {
  margin: 1.875rem;
}

.margin-30-0 {
  margin-top: 1.875rem;
  margin-bottom: 1.875rem;
}

.margin-top-30 {
  margin-top: 1.875rem;
}

.margin-bottom-30 {
  margin-bottom: 1.875rem;
}

.margin-0-30 {
  margin-right: 1.875rem;
  margin-left: 1.875rem;
}

.margin-35 {
  margin: 2.1875rem;
}

.margin-35-0 {
  margin-top: 2.1875rem;
  margin-bottom: 2.1875rem;
}

.margin-top-35 {
  margin-top: 2.1875rem;
}

.margin-bottom-35 {
  margin-bottom: 2.1875rem;
}

.margin-0-35 {
  margin-right: 2.1875rem;
  margin-left: 2.1875rem;
}

.margin-40 {
  margin: 2.5rem;
}

.margin-40-0 {
  margin-top: 2.5rem;
  margin-bottom: 2.5rem;
}

.margin-top-40 {
  margin-top: 2.5rem;
}

.margin-bottom-40 {
  margin-bottom: 2.5rem;
}

.margin-0-40 {
  margin-right: 2.5rem;
  margin-left: 2.5rem;
}

.margin-50 {
  margin: 3.125rem;
}

.margin-50-0 {
  margin-top: 3.125rem;
  margin-bottom: 3.125rem;
}

.margin-top-50 {
  margin-top: 3.125rem;
}

.margin-bottom-50 {
  margin-bottom: 3.125rem;
}

.margin-0-50 {
  margin-right: 3.125rem;
  margin-left: 3.125rem;
}

.margin-100 {
  margin: 6.25rem;
}

.margin-100-0 {
  margin-top: 6.25rem;
  margin-bottom: 6.25rem;
}

.margin-top-100 {
  margin-top: 6.25rem;
}

.margin-bottom-100 {
  margin-bottom: 6.25rem;
}

.margin-0-100 {
  margin-right: 6.25rem;
  margin-left: 6.25rem;
}

.row-1240 {
  width: 77.5rem;
}

.row-1040 {
  width: 65rem;
}

.row-640 {
  width: 40rem;
}

/*\
 * Restore Bootstrap 3 "hidden" utility classes.
\*/
/* Breakpoint XS */

/* Breakpoint SM */

/* Breakpoint MD */

/* Breakpoint LG */

/* Breakpoint XL */

body,
button,
input,
select,
textarea {
  color: #111;
  font-family: "Helvetica", sans-serif;
}

h1, h2, h3, h4, h5, h6 {
  margin: 0 0 15px;
  color: #000;
}

h1 {
  font-size: 48px;
  line-height: 47px;
}

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

h3 {
  font-size: 30px;
}

h4,
.sub-title {
  font-size: 20px;
}

h3.sub-title {
  margin: 0 0 15px;
  text-transform: uppercase;
  font-weight: 700;
  font-style: italic;
  letter-spacing: 1px;
}

h5 {
  font-size: 16px;
}

h6 {
  font-size: 16px;
}

p {
  margin: 0 0 15px 0;
}

p.disclaimer {
  font-size: 14px;
  font-style: italic;
  margin-top: 30px;
}

b,
strong {
  font-weight: 700;
}

dfn,
cite,
em,
i {
  font-style: italic;
}

blockquote,
q {
  margin: 0 1.5rem;
  quotes: '" "';
}

blockquote::before, blockquote::after,
q::before,
q::after {
  content: '';
}

address {
  margin: 0 0 1.5rem 0;
}

pre {
  background-color: #eee;
  color: #111;
  font-family: "Courier 10 Pitch", Courier, monospace;
  font-size: 0.8125rem;
  line-height: 1.625;
  margin: 0 0 1.5rem -1.5rem;
  overflow: auto;
  padding: 1.5rem;
  white-space: pre;
  word-break: normal;
  word-wrap: normal;
}

code,
kbd,
tt,
var {
  font-family: Monaco, Consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
  font-size: 0.9375rem;
}

abbr,
acronym {
  border-bottom: 1px dotted #666;
  cursor: help;
}

mark,
ins {
  text-decoration: none;
}

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

sup {
  bottom: 1ex;
}

sub {
  top: 0.5ex;
}

small {
  font-size: 75%;
}

big {
  font-size: 125%;
}

.entry-title,
.entry-content,
.comments-title,
.comment-content,
.widget-title,
.widget {
  word-break: keep-all;
  word-wrap: break-word;
}

.screen-reader-text {
  height: 0.0625rem;
  width: 0.0625rem;
  clip: rect(0.0625rem, 0.0625rem, 0.0625rem, 0.0625rem);
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
}

.screen-reader-text:hover, .screen-reader-text:active, .screen-reader-text:focus {
  height: auto;
  width: auto;
  background-color: #f1f1f1;
  border-radius: 3px;
  box-shadow: 0 0 0.125rem 0.125rem rgba(0, 0, 0, 0.6);
  clip: auto;
  color: #005dab;
  display: block;
  font-size: 0.875rem;
  font-weight: 700;
  left: 0.3125rem;
  line-height: normal;
  padding: 0.9375rem 1.4375rem 0.875rem;
  text-decoration: none;
  top: 0.3125rem;
  z-index: 100000;
}

.alignleft {
  display: inline;
  float: left;
  margin: 0 1.5rem 0 0;
}

.alignright {
  display: inline;
  float: right;
  margin: 0 0 0 1.5rem;
}

.aligncenter {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.clear::after,
.entry-content::after,
.comment-content::after,
.site-header::after,
.site-content::after,
.site-footer::after {
  clear: both;
  content: "";
  display: block;
}

body {
  font-family: 'Helvetica' sans-serif;
  font-size: 15px;
}

embed,
iframe,
object {
  max-width: 100%;
  border: none;
}

hr {
  height: 1px;
  width: auto;
  background-color: #ccc;
  border: 0;
  margin: 0 0 1.5rem 0;
}

figure {
  margin: 0;
}

ul,
ol {
  margin: 0 0 15px 15px;
}

ul {
  list-style: disc;
}

ol {
  list-style: decimal;
}

li > ul,
li > ol {
  margin: 0 0 0 1.5rem;
}

dt {
  font-weight: 700;
}

dd {
  margin: 0 1.5rem 1.5rem 0;
}

table {
  height: auto;
  width: 100%;
  margin: 0 0 1.5rem 0;
}

th {
  font-weight: 700;
}

.page-content .wp-smiley,
.entry-content .wp-smiley,
.comment-content .wp-smiley {
  margin: 0;
  padding: 0;
  border: none;
}

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

.wp-caption {
  margin: 0 0 1.5rem 0;
  max-width: 100%;
}

.wp-caption img[class*='wp-image-'] {
  display: block;
  margin: 0 auto;
}

.wp-caption.aligncenter {
  margin: 0 auto 1.5rem auto;
}

.wp-caption.alignleft {
  margin-right: 1.5rem;
}

.wp-caption.alignright {
  margin-left: 1.5rem;
}

.wp-caption .wp-caption-text {
  margin: 0.75rem 0;
}

.wp-caption-text {
  text-align: center;
}

.gallery {
  margin: 0 0 1.5rem 0;
}

.gallery-item {
  height: auto;
  width: 100%;
  display: inline-block;
  text-align: center;
  vertical-align: top;
}

.gallery-columns-2 .gallery-item {
  max-width: 50%;
}

.gallery-columns-3 .gallery-item {
  max-width: 33.33%;
}

.gallery-columns-4 .gallery-item {
  max-width: 25%;
}

.gallery-columns-5 .gallery-item {
  max-width: 20%;
}

.gallery-columns-6 .gallery-item {
  max-width: 16.66%;
}

.gallery-columns-7 .gallery-item {
  max-width: 14.28%;
}

.gallery-columns-8 .gallery-item {
  max-width: 12.5%;
}

.gallery-columns-9 .gallery-item {
  max-width: 11.11%;
}

.gallery-caption {
  display: block;
}

.fluid-embed {
  height: 0;
  overflow: hidden;
  padding-bottom: 56.25%;
  position: relative;
}

.fluid-embed embed,
.fluid-embed object,
.fluid-embed iframe {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
}

.jetpack-video-wrapper {
  margin-left: -2.1875rem;
  max-width: calc(100% + 70px);
  width: calc(100% + 70px);
}

.image-as-background {
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
}

.video-as-background {
  display: block;
  height: auto;
  object-fit: cover;
  object-position: center top;
  position: absolute;
  width: 100%;
  z-index: 1;
}

.svg-defs {
  display: none;
}

.not-ready {
  opacity: 0;
  transition: opacity 0.5s ease;
  visibility: hidden;
}

.ready .not-ready {
  opacity: 1;
  visibility: visible;
}

.page-template-template-scaffolding .primary {
  float: none;
  width: 100%;
}

.scaffolding-document {
  margin-bottom: 1.5rem;
}

.scaffolding-document-header {
  border-bottom: 0.0625rem solid #ddd;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: justify;
      justify-content: space-between;
  margin-bottom: 0.75rem;
  padding-bottom: 0.75rem;
}

.scaffolding-document-header h2 {
  margin: 0;
  padding: 0;
}

.scaffolding-document-header p {
  font-style: italic;
  margin-top: 0.75rem;
}

.scaffolding-document-content {
  display: none;
}

.scaffolding-document-content h4,
.scaffolding-document-content p {
  margin: 0.75rem 0;
}

.scaffolding-document-content pre {
  background-color: #fff;
  border: 0.0625rem solid #ddd;
  color: #aaa;
  margin: 0 0 0.75rem;
  padding: 0.75rem;
}

.scaffolding-document-content code {
  background-color: #ddd;
  font-size: 0.8125rem;
  padding: 0.3125rem;
}

.scaffolding-document.scaffolding-colors .scaffolding-document-content, .scaffolding-document.scaffolding-fonts .scaffolding-document-content {
  display: block;
}

.swatch-container {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: row;
      flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  position: relative;
}

.swatch-container::after {
  clear: both;
  content: "";
  display: block;
}

.swatch-container .swatch {
  border: 1px solid #ddd;
  border-radius: 0.3125rem;
  -ms-flex: 0 1 23.875%;
      flex: 0 1 23.875%;
  height: 7.8125rem;
  margin-bottom: 0.75rem;
  margin-right: 1.5%;
  position: relative;
  text-align: center;
}

.swatch-container .swatch:nth-child(4n) {
  margin-right: 0;
}

.swatch-container .swatch header {
  -ms-flex-line-pack: center;
      align-content: center;
  color: #ddd;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  height: calc(100% - 39px);
  -ms-flex-pack: center;
      justify-content: center;
}

.swatch-container .swatch footer {
  position: absolute;
  bottom: 0;
  background-color: #fff;
  border-top: 1px solid #ddd;
  border-bottom-left-radius: 0.25rem;
  border-bottom-right-radius: 0.25rem;
  font-size: 0.75rem;
  padding: 0.625rem;
  width: 100%;
}

.background-blue {
  background-color: #21759b;
}

.color-blue {
  color: #21759b;
}

.fill-blue {
  fill: #21759b;
}

.background-light-yellow {
  background-color: #fff9c0;
}

.color-light-yellow {
  color: #fff9c0;
}

.fill-light-yellow {
  fill: #fff9c0;
}

.background-black {
  background-color: #000;
}

.color-black {
  color: #000;
}

.fill-black {
  fill: #000;
}

.background-white {
  background-color: #fff;
}

.color-white {
  color: #fff;
}

.fill-white {
  fill: #fff;
}

.background-gray {
  background-color: #808080;
}

.color-gray {
  color: #808080;
}

.fill-gray {
  fill: #808080;
}

.background-cod-gray {
  background-color: #111;
}

.color-cod-gray {
  color: #111;
}

.fill-cod-gray {
  fill: #111;
}

.background-mineshaft {
  background-color: #333;
}

.color-mineshaft {
  color: #333;
}

.fill-mineshaft {
  fill: #333;
}

.background-dove-gray {
  background-color: #666;
}

.color-dove-gray {
  color: #666;
}

.fill-dove-gray {
  fill: #666;
}

.background-gray-alt {
  background-color: #929292;
}

.color-gray-alt {
  color: #929292;
}

.fill-gray-alt {
  fill: #929292;
}

.background-silver-chalice {
  background-color: #aaa;
}

.color-silver-chalice {
  color: #aaa;
}

.fill-silver-chalice {
  fill: #aaa;
}

.background-silver {
  background-color: #ccc;
}

.color-silver {
  color: #ccc;
}

.fill-silver {
  fill: #ccc;
}

.background-alto {
  background-color: #ddd;
}

.color-alto {
  color: #ddd;
}

.fill-alto {
  fill: #ddd;
}

.background-gallery {
  background-color: #eee;
}

.color-gallery {
  color: #eee;
}

.fill-gallery {
  fill: #eee;
}

.background-whitesmoke {
  background-color: #f1f1f1;
}

.color-whitesmoke {
  color: #f1f1f1;
}

.fill-whitesmoke {
  fill: #f1f1f1;
}

a {
  color: #0060a9;
  transition: opacity 0.5s ease;
}

a:visited {
  color: #0060a9;
}

a:hover, a:focus, a:active {
  color: #0060a9;
}

a.text-link {
  color: #0075bf;
  text-transform: uppercase;
}

a.text-link:after {
  font-family: "FontAwesome";
  content: "\f0da";
  margin-left: 5px;
}

section.the-content {
  margin-top: 50px;
}

section.splitcontent {
  padding: 30px 0;
}

section.splitcontent svg {
  display: block;
  color: #0075bf;
  font-size: 30px;
  width: 60px !important;
  height: 60px;
  border-radius: 50%;
  padding: 5px;
}

section.splitcontent svg.second-icon {
  position: absolute;
  top: 0;
  margin-left: 20px;
}

section.splitcontent h2 {
  font-size: 22px;
  line-height: 24px;
}

.cards-bg {
  background: url(assets/images/costco-card-bg.jpg);
  background-repeat: no-repeat;
  background-position: bottom right;
}

h1.hero-title {
  font-size: 34px;
}

h1.hero-title span {
  font-weight: 900;
}

.products-rows .product-row {
  padding: 50px 0;
}

.products-rows .product-row:nth-child(odd) {
  background: #f5f5f5;
}

.product-label {
  left: 0;
  right: 0;
  background: #333;
  position: absolute;
  top: -50px;
  max-width: 125px;
  text-align: center;
  color: #fff;
  text-transform: uppercase;
  padding: 5px;
}

.product-label.color-pre {
  background: #005dab;
}

.product-label.color-adv {
  background: #3DCFC9;
}

.product-label.color-Eco {
  background: #3071a9;
}

.btn {
  padding: 17px 25px;
  font-size: 14px;
  line-height: 14px;
  height: 50px;
  font-family: 'Lato', 'Arial', sans-serif;
  font-weight: 700;
  text-transform: uppercase;
  border-radius: 0;
  position: relative;
  color: #fff !important;
}

.btn:after {
  font-family: "FontAwesome";
  font-weight: 900;
  content: "\f0da";
  margin-left: 5px;
}

.btn:active {
  padding-top: 18px;
  padding-bottom: 16px;
}

.btn .text,
.column-content .item-content a .text {
  float: left;
  transition: all .15s linear;
}

.btn .arrow,
.column-content .item-content a .arrow,
.column-content .item-content a .arrow + .hover {
  float: right;
  width: 9px;
  height: 12px;
  margin: 0 0 0 25px;
  transition: all .15s linear;
}

.column-content .item-content a .arrow + .hover {
  position: absolute;
  right: 0;
}

.btn-blue {
  background: #0074bc;
  color: #FFF;
  letter-spacing: 1px;
}

.btn-blue:hover,
.btn-blue:focus,
.btn-blue:active {
  background: #000;
  color: #FFF;
}

.btn-blue .arrow {
  background: url("../img/icon-arrow-white.png") no-repeat 0 0 transparent;
}

.column-content .item-content a .arrow {
  background: url("../img/icon-arrow-blue.png") no-repeat 0 0 transparent;
  margin: 4px 0 0 10px;
}

.column-content .item-content a .arrow + .hover {
  background: url("../img/icon-arrow-drkblue.png") no-repeat 0 0 transparent;
  margin: 4px 0 0 10px;
}

.column-content .item-content a:hover .arrow + .hover,
.column-content .item-content a:focus .arrow + .hover,
.column-content .item-content a:active .arrow + .hover {
  opacity: 1;
  filter: alpha(opacity=100);
}

.btn-primary {
  background-color: #3071a9;
  border: #3071a9;
}

.card {
  margin-bottom: 1.5rem;
  text-align: center;
}

.card img {
  width: 100%;
}

.comments-area {
  border-top: 1px solid #ccc;
  margin: 6.25rem 0 9.4375rem;
}

.comments-area .comment-reply-title {
  margin-top: 2.9375rem;
}

.comments-area .comments-title {
  font-size: 1.5rem;
  margin-top: 7.875rem;
}

.comments-area .comment-notes {
  font-size: 1em;
  margin-bottom: 3.375rem;
}

.comment-form-comment label,
.comment-form-author label,
.comment-form-email label,
.comment-form-url label {
  float: left;
  font-size: 1rem;
  text-transform: uppercase;
  width: 100%;
}

.comment-form {
  width: 100%;
}

.comment-form::after {
  clear: both;
  content: "";
  display: block;
}

.comment-form input:not(.submit) {
  clear: both;
  transition: border 0.2s ease-in-out;
  width: 100%;
}

.comment-form input:not(.submit):focus, .comment-form input:not(.submit):active {
  border: 1px solid #333;
}

.comment-form textarea {
  max-width: 54.375rem;
  transition: border 0.2s ease-in-out;
}

.comment-form textarea:focus, .comment-form textarea:active {
  border: 1px solid #333;
}

.comment-form .form-submit {
  margin: 0;
}

.comment-form input[type='submit'] {
  width: 12.25rem;
}

.comment-list {
  margin: 0;
  padding: 0;
  list-style: none;
  margin: 0;
}

.comment-list::after {
  clear: both;
  content: "";
  display: block;
}

.comment-list .even:not(.bypostauthor) > .comment-body {
  background-color: #eee;
}

.comment-list .comment-body {
  padding: 2.25rem;
}

.comment-list .comment-content {
  margin: 1.9375rem 0 1.75rem;
  max-width: 58.5rem;
}

.comment-list .comment-meta {
  margin: 0 0 0.875rem 0;
}

.comment-list .comment-meta::after {
  clear: both;
  content: "";
  display: block;
}

.comment-list .comment-author {
  line-height: 1;
}

.comment-list .comment-metadata {
  line-height: 1;
  margin-top: 0.3125rem;
}

.comment-list .comment-metadata a {
  color: #454545;
  text-decoration: none;
}

.comment-list .comment-metadata time {
  font-size: 0.75rem;
}

.comment-list .avatar {
  border-radius: 50%;
  float: left;
  margin: -0.375rem 1.625rem 0 0;
}

.comment-list .bypostauthor {
  background-color: #fff9c0;
  display: block;
}

.comment-list .comment-reply-link {
  font-weight: 700;
}

.comment-list pre,
.comment-list code {
  margin: 0;
  padding-top: 0.3125rem;
  width: 100%;
}

.comment-list .children {
  list-style: none;
  margin: 2.5rem 0;
  padding-left: 1.25rem;
}

.comment-list .children .depth-4 .comment-author,
.comment-list .children .depth-5 .comment-author,
.comment-list .children .depth-6 .comment-author,
.comment-list .children .depth-7 .comment-author,
.comment-list .children .depth-8 .comment-author,
.comment-list .children .depth-9 .comment-author,
.comment-list .children .depth-10 .comment-author {
  line-height: 1.25;
}

.comment-list .comment-respond {
  background-color: #fff;
  padding: 1.5rem 0;
}

.comment-list .comment-respond .comment-reply-title a {
  display: inline-block;
  text-transform: lowercase;
}

.comment-list .comment-respond .comment-reply-title a::before {
  content: '(';
}

.comment-list .comment-respond .comment-reply-title a::after {
  content: ')';
}

.comment-list .comment-respond .form-submit {
  margin: 0;
}

.comment-list .comment-respond .form-submit input[type='submit'] {
  margin-top: 0.3125rem;
}

.entry-title {
  font-size: 2.25rem;
}

.sticky,
.comments-link {
  display: block;
}

.hentry {
  margin: 0 0 1.5rem 0;
}

.byline,
.updated:not(.published) {
  display: none;
}

.single .byline,
.group-blog .byline {
  display: inline;
}

.page-content,
.entry-content,
.entry-summary {
  margin: 1.5rem 0 0;
}

.page-links {
  clear: both;
  margin: 0 0 1.5rem 0;
}

.tags-links {
  margin-left: 1.5rem;
}

.edit-link {
  margin: 0 0 0 0.3125rem;
}

.edit-link a {
  display: inline-block;
  font-size: 0.75rem;
  text-transform: lowercase;
}

.edit-link a::before {
  content: '(';
}

.edit-link a::after {
  content: ')';
}

.blog .format-aside .entry-title,
.archive .format-aside .entry-title {
  display: none;
}

.content-block::after {
  clear: both;
  content: "";
  display: block;
}

.call-to-action .grid-x {
  padding: 0.75rem;
  text-align: center;
}

.content-block {
  margin-bottom: 1.5rem;
}

.content-block-title {
  text-align: center;
}

section.hero.product {
  padding: 30px 0 35px 0;
  position: relative;
  background-size: cover;
  background-position: bottom center;
  background-repeat: no-repeat;
}

.home section.hero.product {
  background-position: center center;
}

.opaque-panel {
  background: rgba(255, 255, 255, 0.5);
  padding: 15px;
}

.transparent.top {
  height: 5px;
  background: rgba(255, 255, 255, 0.5);
  position: absolute;
  top: 0;
  width: 100%;
}

.transparent.bottom {
  height: 10px;
  background: rgba(255, 255, 255, 0.5);
  position: absolute;
  bottom: 0;
  width: 100%;
}

.recent-posts .cell {
  margin-bottom: 1.5rem;
}

.related-posts .cell {
  margin-bottom: 1.5rem;
}

footer.site-footer {
  text-align: center;
  font-size: 12px;
  padding: 40px 0;
  background: #eeeeee;
}

footer .copy {
  clear: both;
  float: left;
  margin: 0;
  padding: 5px 0;
}

footer .nav {
  float: left;
}

footer .nav > li {
  float: left;
  width: 100%;
}

footer .nav > li > a {
  float: left;
  color: #fff;
  padding: 5px 0;
  text-decoration: underline;
}

footer .nav > li > a:hover,
footer .nav > li > a:focus,
footer .nav > li > a:active {
  background: none;
  color: #CCC;
}

section.call-to-action {
  border-top: 1px solid #cccccc;
}

section.call-to-action .cta-box {
  padding: 40px 0;
}

img.menu-logo {
  max-width: 100px;
  margin-left: 10px;
}

button,
input,
select,
textarea {
  font-size: 100%;
  margin: 0;
  vertical-align: baseline;
}

input[type='checkbox'],
input[type='radio'] {
  padding: 0;
}

input[type='text']::-ms-clear,
input[type='search']::-ms-clear {
  display: none;
}

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

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

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

input[type='text'],
input[type='email'],
input[type='url'],
input[type='password'],
input[type='search'],
input[type='number'],
input[type='tel'],
input[type='range'],
input[type='date'],
input[type='month'],
input[type='week'],
input[type='time'],
input[type='datetime'],
input[type='datetime-local'],
input[type='color'],
textarea {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: 1px solid #ccc;
  border-radius: 0;
  color: #666;
  line-height: 1.5;
  padding: 0.375rem;
}

input[type='text']:focus,
input[type='email']:focus,
input[type='url']:focus,
input[type='password']:focus,
input[type='search']:focus,
input[type='number']:focus,
input[type='tel']:focus,
input[type='range']:focus,
input[type='date']:focus,
input[type='month']:focus,
input[type='week']:focus,
input[type='time']:focus,
input[type='datetime']:focus,
input[type='datetime-local']:focus,
input[type='color']:focus,
textarea:focus {
  color: #111;
}

textarea {
  height: auto;
  width: 100%;
  overflow: auto;
  vertical-align: top;
}

img.custom-logo {
  width: 350px;
  margin-top: 10px;
}

.social-icons {
  margin: 0;
  padding: 0;
  list-style: none;
}

.social-icons::after {
  clear: both;
  content: "";
  display: block;
}

.social-icons::after {
  clear: both;
  content: "";
  display: block;
}

.social-icons .social-icon {
  display: inline-block;
}

.social-icons .social-icon .icon-facebook {
  height: 1.875rem;
  width: 1.875rem;
  fill: #3b5998;
}

.social-icons .social-icon .icon-facebook:hover {
  fill: #718dc8;
}

.social-icons .social-icon .icon-facebook-square {
  height: 1.875rem;
  width: 1.875rem;
  fill: #3b5998;
}

.social-icons .social-icon .icon-facebook-square:hover {
  fill: #718dc8;
}

.social-icons .social-icon .icon-googleplus {
  height: 1.875rem;
  width: 1.875rem;
  fill: #dd4b39;
}

.social-icons .social-icon .icon-googleplus:hover {
  fill: #ec9a90;
}

.social-icons .social-icon .icon-googleplus-square {
  height: 1.875rem;
  width: 1.875rem;
  fill: #dd4b39;
}

.social-icons .social-icon .icon-googleplus-square:hover {
  fill: #ec9a90;
}

.social-icons .social-icon .icon-instagram {
  height: 1.875rem;
  width: 1.875rem;
  fill: #517fa4;
}

.social-icons .social-icon .icon-instagram:hover {
  fill: #92b0c9;
}

.social-icons .social-icon .icon-instagram-square {
  height: 1.875rem;
  width: 1.875rem;
  fill: #517fa4;
}

.social-icons .social-icon .icon-instagram-square:hover {
  fill: #92b0c9;
}

.social-icons .social-icon .icon-linkedin {
  height: 1.875rem;
  width: 1.875rem;
  fill: #007bb6;
}

.social-icons .social-icon .icon-linkedin:hover {
  fill: #1db6ff;
}

.social-icons .social-icon .icon-linkedin-square {
  height: 1.875rem;
  width: 1.875rem;
  fill: #007bb6;
}

.social-icons .social-icon .icon-linkedin-square:hover {
  fill: #1db6ff;
}

.social-icons .social-icon .icon-pinterest {
  height: 1.875rem;
  width: 1.875rem;
  fill: #cb2027;
}

.social-icons .social-icon .icon-pinterest:hover {
  fill: #e76a6f;
}

.social-icons .social-icon .icon-pinterest-square {
  height: 1.875rem;
  width: 1.875rem;
  fill: #cb2027;
}

.social-icons .social-icon .icon-pinterest-square:hover {
  fill: #e76a6f;
}

.social-icons .social-icon .icon-rss {
  height: 1.875rem;
  width: 1.875rem;
  fill: #f90;
}

.social-icons .social-icon .icon-rss:hover {
  fill: #ffc266;
}

.social-icons .social-icon .icon-rss-square {
  height: 1.875rem;
  width: 1.875rem;
  fill: #f90;
}

.social-icons .social-icon .icon-rss-square:hover {
  fill: #ffc266;
}

.social-icons .social-icon .icon-twitter {
  height: 1.875rem;
  width: 1.875rem;
  fill: #00aced;
}

.social-icons .social-icon .icon-twitter:hover {
  fill: #54d0ff;
}

.social-icons .social-icon .icon-twitter-square {
  height: 1.875rem;
  width: 1.875rem;
  fill: #00aced;
}

.social-icons .social-icon .icon-twitter-square:hover {
  fill: #54d0ff;
}

.social-icons .social-icon .icon-youtube {
  height: 1.875rem;
  width: 1.875rem;
  fill: #b00;
}

.social-icons .social-icon .icon-youtube:hover {
  fill: #ff2222;
}

.social-icons .social-icon .icon-youtube-square {
  height: 1.875rem;
  width: 1.875rem;
  fill: #b00;
}

.social-icons .social-icon .icon-youtube-square:hover {
  fill: #ff2222;
}

.social-icons .social-icon:last-child {
  margin-right: 0;
}

.close {
  cursor: pointer;
  display: block;
  margin-top: -0.3125rem;
  outline: none;
}

.close::before, .close::after {
  height: 0.1875rem;
  width: 1.25rem;
  background: #fff;
  border-radius: 1px;
  content: '';
  cursor: pointer;
  display: block;
  position: relative;
}

.close::before {
  top: 0.1875rem;
  transform: rotate(45deg);
}

.close::after {
  transform: rotate(-45deg);
}

.down-arrow {
  cursor: pointer;
  display: block;
  margin-left: 0.625rem;
  outline: none;
  transition: transform 0.5s ease-in-out;
}

.down-arrow::before, .down-arrow::after {
  height: 0.125rem;
  width: 0.625rem;
  background: #fff;
  border-radius: 1px;
  content: '';
  cursor: pointer;
  display: block;
  position: relative;
}

.down-arrow::before {
  left: -0.375rem;
  top: 0.125rem;
  transform: rotate(45deg);
}

.down-arrow::after {
  transform: rotate(-225deg);
}

.modal {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: rgba(0, 0, 0, 0.3);
  display: none;
  overflow: hidden;
  z-index: 1050;
}

.modal::after {
  clear: both;
  content: "";
  display: block;
}

.modal.modal-open {
  display: block;
  overflow-x: hidden;
  overflow-y: auto;
}

.modal .modal-dialog {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: auto;
}

.modal .modal-content {
  background-clip: padding-box;
  background-color: #fff;
  border-radius: 3px;
  box-shadow: 0 0 0.625rem 0.1875rem rgba(0, 0, 0, 0.5);
  outline: 0;
  padding: 0.625rem;
  position: relative;
}

.modal .modal-content .modal-header {
  text-align: center;
}

.modal .modal-content .modal-header .close {
  margin: 0;
  padding: 0;
  position: absolute;
  top: -0.9375rem;
  right: -0.9375rem;
  height: 1.875rem;
  width: 1.875rem;
  background: #000;
  border: 3px solid #fff;
  border-radius: 50%;
  color: #fff;
  cursor: pointer;
  font-size: 1.875rem;
  line-height: 0;
  outline: none;
}

.modal .modal-content .modal-header .close::after::after {
  clear: both;
  content: "";
  display: block;
}

.modal .modal-content .modal-body {
  position: relative;
}

.modal .fluid-embed embed,
.modal .fluid-embed object,
.modal .fluid-embed iframe {
  border: none;
}

.menu {
  margin: 0;
  padding: 0;
  list-style: none;
}

.menu::after {
  clear: both;
  content: "";
  display: block;
}

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

.menu ul::after {
  clear: both;
  content: "";
  display: block;
}

.menu ul.sub-menu {
  background: #005dab;
  top: 38px;
}

.menu ul.sub-menu li {
  margin: 0;
}

.menu ul.sub-menu li a {
  color: #fff;
}

.menu .menu-item-has-children .menu-item-has-children .caret-down {
  transform: rotate(-90deg) translateX(0.125rem);
  color: #fff;
}

.menu a {
  display: block;
  text-decoration: none;
}

.menu .current_page_item,
.menu .current-menu-item {
  background: #2a6293;
}

.menu .current_page_item a,
.menu .current-menu-item a {
  color: #fff;
}

.caret-down {
  height: 1.25rem;
  width: 0.625rem;
  background: url("assets/images/svg-icons/caret-down.svg") no-repeat transparent;
  background-size: 100%;
  display: inline-block;
  margin-left: 0.3125rem;
  vertical-align: middle;
}

.main-navigation {
  display: none;
  background: #005dab;
}

.main-navigation ul {
  display: none;
}

.main-navigation ul li {
  transition: .25s;
}

.main-navigation ul li:hover {
  background: #2a6293;
}

.main-navigation ul li a {
  color: #fff;
  text-transform: uppercase;
  padding: 8px 15px;
}

.main-navigation.toggled ul {
  display: block;
}

.dropdown {
  position: relative;
}

.dropdown ul {
  position: absolute;
  top: 1.5rem;
  left: -999em;
  box-shadow: 0 0.1875rem 0.1875rem rgba(0, 0, 0, 0.2);
  float: left;
  z-index: 99999;
}

.dropdown ul ul {
  left: -999em;
  top: 0;
}

.dropdown ul li {
  width: 100%;
}

.dropdown ul li:hover > ul,
.dropdown ul li.focus > ul {
  left: 100%;
}

.dropdown ul li.current-menu-item {
  border-left: 5px solid #0075bf;
}

.dropdown ul a {
  height: auto;
  width: 100%;
  min-width: 12.5rem;
}

.dropdown li:hover > ul,
.dropdown .focus > ul {
  left: auto;
}

.dropdown li {
  float: left;
  position: relative;
}

.mobile-menu {
  margin: 0;
  padding: 0;
  list-style: none;
  margin-top: 70px;
}

.mobile-menu::after {
  clear: both;
  content: "";
  display: block;
}

.mobile-menu ul {
  margin: 0;
  padding: 0;
  list-style: none;
  padding-left: 30px;
}

.mobile-menu ul::after {
  clear: both;
  content: "";
  display: block;
}

.mobile-menu li {
  list-style: none;
  padding: 5px;
  position: relative;
}

.mobile-menu a {
  color: #fff;
  font-size: 0.875rem;
}

.mobile-menu a:focus, .mobile-menu a:hover, .mobile-menu a:active {
  outline: none;
}

.mobile-menu .sub-menu {
  display: none;
}

.mobile-menu .sub-menu.is-visible {
  display: block;
  opacity: 1;
  visibility: visible;
}

.parent-indicator {
  position: absolute;
  top: 0rem;
  right: 0.625rem;
  height: 2.1875rem;
  width: 2.1875rem;
  background-color: transparent;
  display: inline-block;
  padding: 0.3125rem;
  z-index: 9999;
  height: 30px;
}

.parent-indicator:focus {
  outline: 2px solid #fff;
}

.mobile-menu .menu-item-has-children {
  transition: max-height 0.5s;
}

.mobile-menu .menu-item-has-children a {
  display: inline-block;
  max-width: calc(100% - 40px);
}

.mobile-menu .menu-item-has-children.is-visible {
  max-height: 31.25rem;
}

.mobile-menu .menu-item-has-children.is-visible .down-arrow {
  transform: rotateX(180deg);
}

.mobile-menu .menu-item-has-children .menu-item-has-children:last-of-type .menu-item-has-children.is-visible {
  margin-bottom: 0;
}

.mobile-menu .menu-item-has-children .menu-item-has-children .down-arrow {
  transform: rotateX(0);
}

.mobile-menu .menu-item-has-children .menu-item-has-children.is-visible:last-of-type {
  margin-bottom: 0;
}

.mobile-menu .menu-item-has-children .menu-item-has-children.is-visible .down-arrow {
  transform: rotateX(180deg);
}

.mobile-menu .menu-item-has-children .menu-item-has-children .menu-item-has-children .down-arrow {
  transform: rotateX(0);
}

.mobile-menu .menu-item-has-children .menu-item-has-children .menu-item-has-children.is-visible .down-arrow {
  transform: rotateX(180deg);
}

.hamburger {
  background-color: transparent;
  outline: none;
}

.hamburger, .hamburger::before, .hamburger::after {
  width: 40px;
  height: 5px;
  background: #111;
  border-radius: 1px;
  content: '';
  cursor: pointer;
  display: block;
  position: absolute;
  transition: transform 0.5s, background-color 0.3s ease-in-out;
}

.hamburger::before {
  transform: translateY(-0.625rem);
}

.hamburger::after {
  transform: translateY(0.625rem);
}

.is-visible .hamburger {
  background-color: transparent;
  transition: .35s;
}

.is-visible .hamburger::before {
  transform: rotate(45deg);
}

.is-visible .hamburger::after {
  transform: rotate(-45deg);
}

button.off-canvas-open.ml-auto.is-visible span.hamburger:before,
button.off-canvas-open.ml-auto.is-visible span.hamburger:after {
  background: #fff;
}

.off-canvas-container {
  position: fixed;
  top: 0;
  right: auto;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -webkit-overflow-scrolling: touch;
  background-color: rgba(0, 93, 171, 0.97);
  overflow-y: auto;
  transform: translateX(-100%);
  transition: transform 0.5s ease-in-out;
  z-index: 9998;
}

.off-canvas-container.is-visible {
  transform: translateX(0);
}

.admin-bar .off-canvas-container {
  padding-top: 2.875rem;
}

.off-canvas-container ul.children {
  padding-left: 15px;
}

.off-canvas-open {
  height: 40px;
  width: 60px;
  padding: 0 10px;
  background-color: transparent;
  display: block;
  border: none;
  margin-top: 15px;
  z-index: 9999;
}

.off-canvas-open:focus, .off-canvas-open:hover {
  background-color: transparent;
  outline: none;
}

.off-canvas-close {
  position: absolute;
  top: 0.625rem;
  right: 0.625rem;
  background-color: transparent;
  display: none;
  padding: 0.75rem 0.3125rem;
  z-index: 9999;
  border: 0;
}

.off-canvas-close:focus, .off-canvas-close:hover {
  background: transparent;
  outline: none;
}

.admin-bar .off-canvas-close {
  top: 3.75rem;
}

.is-visible .off-canvas-close {
  display: inline-block;
}

.off-canvas-screen {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: #000;
  opacity: 0;
  transition: opacity 0.5s ease;
  visibility: hidden;
  z-index: 9996;
}

.off-canvas-screen.is-visible {
  opacity: 0.4;
  visibility: visible;
}

.off-canvas-content {
  display: none;
}

.is-visible .off-canvas-content {
  display: block;
}

.site-main .comment-navigation, .site-main
.posts-navigation, .site-main
.post-navigation {
  margin: 0 0 1.5rem 0;
  overflow: hidden;
}

.comment-navigation .nav-previous,
.posts-navigation .nav-previous,
.post-navigation .nav-previous {
  height: auto;
  width: 50%;
  float: left;
}

.comment-navigation .nav-next,
.posts-navigation .nav-next,
.post-navigation .nav-next {
  height: auto;
  width: 50%;
  float: right;
  text-align: right;
}

table {
  border: 0;
  border-collapse: collapse;
  border-spacing: 0;
  padding: 0;
  width: 100%;
}

table thead {
  display: none;
}

table th,
table td {
  padding: 0.625rem;
  text-align: center;
}

table th {
  font-size: 0.875rem;
  letter-spacing: 0.0625rem;
  text-transform: uppercase;
}

table tr {
  display: block;
  margin-bottom: 0.625rem;
}

table td {
  border: 1px solid #ccc;
  border-bottom: 0;
  display: block;
  font-size: 0.8125rem;
  text-align: center;
}

table td:last-child {
  border-bottom: 1px solid #ccc;
}

table td::before {
  content: '';
  float: left;
  font-weight: bold;
  text-transform: uppercase;
}

.wp-block-button .wp-block-button__link {
  background: #333;
  border-radius: 0;
}

.wp-block-button .wp-block-button__link:hover, .wp-block-button .wp-block-button__link:focus {
  opacity: 0.8;
}

.wp-block-gallery {
  margin: 0;
  padding: 0;
}

.wp-block-pullquote {
  border-bottom: 2px solid #ccc;
  border-top: 2px solid #ccc;
}

.wp-block-separator {
  border-bottom: 1px solid #ccc;
  max-width: 100%;
}

.wp-block-quote cite {
  font-style: italic;
}

.wp-block-table {
  display: table;
}

.wp-block-video {
  height: 0;
  overflow: hidden;
  padding-bottom: 56.25%;
  position: relative;
}

.wp-block-video video {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
}

.wp-block-wds-hero {
  text-align: center;
}

.infinite-scroll .posts-navigation,
.infinite-scroll.neverending .site-footer {
  display: none;
}

.infinity-end.neverending .site-footer {
  display: block;
}

.gform_wrapper {
  background: #fff;
  border: 0 solid #fff;
  padding: 0;
}

.gform_wrapper.gform_body .gform_fields .gfield,
.gform_wrapper.gform_body .gform_fields .gfield.gf_left_half,
.gform_wrapper.gform_body .gform_fields .gfield.gf_right_half {
  margin-bottom: 1.5625rem;
}

.gform_wrapper .gfield_label {
  color: #333;
  font-size: 1rem;
  font-weight: 700;
}

.gform_wrapper input[type='text'],
.gform_wrapper input[type='url'],
.gform_wrapper input[type='email'],
.gform_wrapper input[type='tel'],
.gform_wrapper input[type='number'],
.gform_wrapper input[type='password'],
.gform_wrapper input[type='file'],
.gform_wrapper textarea {
  background: #fff;
}

.gform_wrapper textarea {
  width: 100%;
}

.gform_wrapper select {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background: url("assets/images/svg-icons/caret-down.svg") no-repeat 97% transparent;
  background-color: #fff;
  background-size: 0.75rem;
  border-color: #ccc;
  border-radius: 0;
  line-height: 1.45;
  padding: 0.375rem !important;
  width: 100%;
}

.gform_wrapper select::-ms-expand {
  display: none;
}

.gform_wrapper select[multiple='multiple'] {
  background: #fff;
}

.gform_wrapper .gform_body .gform_fields .gfield select,
.gform_wrapper.gf_browser_chrome .gform_body .gform_fields .gfield select {
  margin-left: 0;
  width: 100% !important;
}

.gform_wrapper .gfield .chosen-container-single {
  font-size: 1rem;
}

.gform_wrapper .gfield .chosen-container-single .chosen-single {
  background: #fff;
  border-color: #ccc;
  border-radius: 0;
  height: auto;
  padding: 0.375rem;
}

.gform_wrapper .gfield .chosen-container-single .chosen-single div b {
  position: absolute;
  top: 40%;
  right: 0.6875rem;
  height: 0;
  width: 0;
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-top: 6px solid #ccc;
  background: none;
}

.gform_wrapper .gfield .chosen-container-single .chosen-drop .chosen-search input[type='text'] {
  background: none;
}

.gform_wrapper .gfield .chosen-container-single .chosen-drop .chosen-results li {
  padding: 0.625rem 0.3125rem;
}

.gform_wrapper .gfield .chosen-container-single.chosen-container-single.chosen-with-drop .chosen-single {
  background-image: none;
}

.gform_wrapper .gfield .chosen-container-single.chosen-container-single.chosen-with-drop .chosen-single div b {
  height: 0;
  width: 0;
  border-bottom: 6px solid #ccc;
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border: none;
}

#content .gform_wrapper {
  margin-right: 0;
  max-width: 100%;
}

#content .gform_wrapper input[type='text'],
#content .gform_wrapper input[type='url'],
#content .gform_wrapper input[type='email'],
#content .gform_wrapper input[type='tel'],
#content .gform_wrapper input[type='number'],
#content .gform_wrapper input[type='password'],
#content .gform_wrapper input[type='file'],
#content .gform_wrapper textarea {
  padding: 0.375rem;
  width: 100%;
}

#content .gform_wrapper .chosen-search input[type='text'],
#content .gform_wrapper textarea {
  width: 100%;
}

#content .gform_wrapper .gf_left_half,
#content .gform_wrapper .gf_right_half {
  width: 100%;
}

#content .gform_wrapper .ginput_complex .name_first input[type='text'],
#content .gform_wrapper .ginput_complex .name_last input[type='text'] {
  width: 100%;
}

.widget {
  margin: 0 0 1.5rem;
}

.widget select {
  max-width: 100%;
}

.widget_search .search-submit {
  display: none;
}

@media screen and (min-width: 300px) {
  .comment-form input:not(.submit) {
    max-width: 15.625rem;
  }
  .comment-list .avatar {
    margin-top: -0.75rem;
  }
  .comment-list .children {
    padding-left: 2.1875rem;
  }
  .comment-list .children .depth-4 .comment-author,
  .comment-list .children .depth-5 .comment-author,
  .comment-list .children .depth-6 .comment-author,
  .comment-list .children .depth-7 .comment-author,
  .comment-list .children .depth-8 .comment-author,
  .comment-list .children .depth-9 .comment-author,
  .comment-list .children .depth-10 .comment-author {
    line-height: 1;
  }
  .comment-list .comment-respond {
    padding-left: 2.25rem;
    padding-right: 2.25rem;
  }
  .main-navigation ul {
    display: block;
  }
  table thead {
    display: table-row-group;
  }
  table th,
  table td {
    display: table-cell;
  }
  table th {
    display: table-cell;
  }
  table tr {
    display: table-row;
    margin-bottom: 0;
  }
  table td {
    border-bottom: 0;
  }
  table {
    border: 1px solid #ccc;
  }
}

@media (min-width: 576px) and (max-width: 767px) {
  .hidden-sm-down, .hidden-md-down, .hidden-lg-down, .hidden-xl-down,
  .hidden-xs-up, .hidden-sm-up,
  .hidden-unless-xs, .hidden-unless-md, .hidden-unless-lg, .hidden-unless-xl {
    display: none !important;
  }
}

@media screen and (min-width: 600px) {
  .card {
    text-align: left;
  }
  .comment-list .children {
    padding-left: 3.75rem;
  }
  .call-to-action .grid-x {
    -ms-flex-align: center;
        align-items: center;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
        justify-content: center;
    text-align: left;
  }
  .fifty-fifty .cell {
    float: left;
    display: block;
    margin-right: 1.25%;
    width: 49.375%;
  }
  .fifty-fifty .cell:last-child {
    margin-right: 0;
  }
  .content-block-title {
    text-align: left;
  }
  .recent-posts .cell {
    float: left;
    display: block;
    margin-right: 1.25%;
    width: 49.375%;
  }
  .recent-posts .cell:last-child {
    margin-right: 0;
  }
  .recent-posts .cell:nth-child(2n) {
    margin-right: 0;
  }
  .recent-posts .cell:nth-child(2n+1) {
    clear: left;
  }
  .related-posts .cell {
    float: left;
    display: block;
    margin-right: 1.25%;
    width: 49.375%;
  }
  .related-posts .cell:last-child {
    margin-right: 0;
  }
  .related-posts .cell:nth-child(2n) {
    margin-right: 0;
  }
  .related-posts .cell:nth-child(2n+1) {
    clear: left;
  }
  .gform_wrapper select {
    width: 49%;
  }
  .gform_wrapper .gform_body .gform_fields .gfield select,
  .gform_wrapper.gf_browser_chrome .gform_body .gform_fields .gfield select {
    width: 49% !important;
  }
  #content .gform_wrapper input[type='text'],
  #content .gform_wrapper input[type='url'],
  #content .gform_wrapper input[type='email'],
  #content .gform_wrapper input[type='tel'],
  #content .gform_wrapper input[type='number'],
  #content .gform_wrapper input[type='password'],
  #content .gform_wrapper input[type='file'],
  #content .gform_wrapper textarea {
    width: 49%;
  }
  #content .gform_wrapper .gf_left_half input[type='text'],
  #content .gform_wrapper .gf_left_half input[type='url'],
  #content .gform_wrapper .gf_left_half input[type='email'],
  #content .gform_wrapper .gf_left_half input[type='tel'],
  #content .gform_wrapper .gf_left_half input[type='number'],
  #content .gform_wrapper .gf_left_half input[type='password'],
  #content .gform_wrapper .gf_left_half input[type='file'],
  #content .gform_wrapper .gf_right_half input[type='text'],
  #content .gform_wrapper .gf_right_half input[type='url'],
  #content .gform_wrapper .gf_right_half input[type='email'],
  #content .gform_wrapper .gf_right_half input[type='tel'],
  #content .gform_wrapper .gf_right_half input[type='number'],
  #content .gform_wrapper .gf_right_half input[type='password'],
  #content .gform_wrapper .gf_right_half input[type='file'] {
    width: 100%;
  }
  #content .gform_wrapper .gf_left_half,
  #content .gform_wrapper .gf_right_half {
    width: 49%;
  }
  #content .gform_wrapper .gf_left_half {
    margin-right: 2%;
  }
}

@media (min-width: 768px) and (max-width: 991px) {
  .hidden-md-down, .hidden-lg-down, .hidden-xl-down,
  .hidden-xs-up, .hidden-sm-up, .hidden-md-up,
  .hidden-unless-xs, .hidden-unless-sm, .hidden-unless-lg, .hidden-unless-xl {
    display: none !important;
  }
}

@media screen and (min-width: 783px) {
  .admin-bar .off-canvas-container {
    padding-top: 2rem;
  }
  .admin-bar .off-canvas-close {
    top: 2.875rem;
  }
}

@media screen and (min-width: 900px) {
  .jetpack-video-wrapper {
    margin-left: -7.1875rem;
    max-width: calc(100% + 230px);
    width: calc(100% + 230px);
  }
  .site-header,
  .site-footer,
  .primary,
  .secondary {
    padding: 0 1.5rem;
  }
  .recent-posts .cell {
    float: left;
    display: block;
    margin-right: 1.25%;
    width: 32.5%;
  }
  .recent-posts .cell:nth-child(2n) {
    margin-right: 1.25%;
  }
  .recent-posts .cell:nth-child(2n +1) {
    clear: none;
  }
  .recent-posts .cell:last-child {
    margin-right: 0;
  }
  .recent-posts .cell:nth-child(3n) {
    margin-right: 0;
  }
  .recent-posts .cell:nth-child(3n+1) {
    clear: left;
  }
  .related-posts .cell {
    float: left;
    display: block;
    margin-right: 1.25%;
    width: 32.5%;
  }
  .related-posts .cell:nth-child(2n) {
    margin-right: 1.25%;
  }
  .related-posts .cell:nth-child(2n +1) {
    clear: none;
  }
  .related-posts .cell:last-child {
    margin-right: 0;
  }
  .related-posts .cell:nth-child(3n) {
    margin-right: 0;
  }
  .related-posts .cell:nth-child(3n+1) {
    clear: left;
  }
  .main-navigation {
    display: block;
  }
  .off-canvas-open {
    display: none;
  }
}

@media (min-width: 992px) and (max-width: 1199px) {
  .hidden-lg-down, .hidden-xl-down,
  .hidden-xs-up, .hidden-sm-up, .hidden-md-up, .hidden-lg-up,
  .hidden-unless-xs, .hidden-unless-sm, .hidden-unless-md, .hidden-unless-xl {
    display: none !important;
  }
}

@media only screen and (min-width: 992px) {
  section.call-to-action .desktop-horiz-sep {
    border-right: 1px solid #cccccc;
  }
  ul#primary-menu {
    display: -ms-flexbox;
    display: flex;
  }
  ul#primary-menu li {
    -ms-flex-positive: 1;
        flex-grow: 1;
    text-align: center;
  }
}

@media (min-width: 1200px) {
  .hidden-xl-down,
  .hidden-xs-up, .hidden-sm-up, .hidden-md-up, .hidden-lg-up, .hidden-xl-up,
  .hidden-unless-xs, .hidden-unless-sm, .hidden-unless-md, .hidden-unless-lg {
    display: none !important;
  }
}

@media screen and (min-width: 1200px) {
  .comments-area {
    margin-left: auto;
    margin-right: auto;
  }
}

@media only screen and (max-width: 991px) {
  h1 {
    font-size: 38px;
    line-height: 40px;
  }
  h2 {
    font-size: 30px;
    line-height: 32px;
  }
  h3 {
    font-size: 22px;
    line-height: 24px;
  }
  h3.sub-title {
    font-size: 22px;
  }
  h1.hero-title {
    font-size: 26px;
  }
  .home iframe {
    height: 600px !important;
  }
  section.hero.product {
    background-image: none !important;
    background-color: #f8f8f8 !important;
  }
  section.call-to-action .cta-box {
    padding-bottom: 30px;
    border-bottom: 1px solid #cccccc;
  }
}

@media (max-width: 575px) {
  .hidden-xs-down, .hidden-sm-down, .hidden-md-down, .hidden-lg-down, .hidden-xl-down,
  .hidden-xs-up,
  .hidden-unless-sm, .hidden-unless-md, .hidden-unless-lg, .hidden-unless-xl {
    display: none !important;
  }
}

@media only screen and (max-width: 767px) {
  .mobile-reverse {
    -ms-flex-direction: column-reverse;
        flex-direction: column-reverse;
  }
}

@media screen and (max-width: 600px) {
  .pad-100 {
    padding: 3.125rem;
  }
  .pad-100-0 {
    padding-top: 3.125rem;
    padding-bottom: 3.125rem;
  }
  .pad-top-100 {
    padding-top: 3.125rem;
  }
  .pad-bottom-100 {
    padding-bottom: 3.125rem;
  }
  .pad-0-100 {
    padding-right: 3.125rem;
    padding-left: 3.125rem;
  }
  .margin-100 {
    margin: 3.125rem;
  }
  .margin-100-0 {
    margin-top: 3.125rem;
    margin-bottom: 3.125rem;
  }
  .margin-top-100 {
    margin-top: 3.125rem;
  }
  .margin-bottom-100 {
    margin-bottom: 3.125rem;
  }
  .margin-0-100 {
    margin-right: 3.125rem;
    margin-left: 3.125rem;
  }
}

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN0eWxlLnNjc3MiLCJ1dGlsaXRpZXMvdmFyaWFibGVzL19ib3gtbW9kZWwuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib3VyYm9uLW5lYXQvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9ncmlkL19ib3gtc2l6aW5nLnNjc3MiLCJ1dGlsaXRpZXMvaGVscGVycy9fc3BhY2luZy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9oZWxwZXJzL19kaXJlY3Rpb25hbC12YWx1ZXMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL19weC10by1yZW0uc2NzcyIsInV0aWxpdGllcy9oZWxwZXJzL19yb3dzLnNjc3MiLCJiYXNlL19icmVha3BvaW50aW5jbHVkZXMuc2NzcyIsImJhc2UvX3R5cG9ncmFwaHkuc2NzcyIsInV0aWxpdGllcy92YXJpYWJsZXMvX2NvbG9ycy5zY3NzIiwidXRpbGl0aWVzL3ZhcmlhYmxlcy9fdHlwb2dyYXBoeS5zY3NzIiwidXRpbGl0aWVzL21peGlucy9fd29yZC1icmVhay5zY3NzIiwiYmFzZS9fYWNjZXNzaWJpbGl0eS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9hZGRvbnMvX3NpemUuc2NzcyIsImJhc2UvX2FsaWdubWVudHMuc2NzcyIsInV0aWxpdGllcy9taXhpbnMvX21hcmdpbi1hdXRvLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm91cmJvbi1uZWF0L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvbWl4aW5zL19jbGVhcmZpeC5zY3NzIiwiYmFzZS9fZWxlbWVudHMuc2NzcyIsImJhc2UvX21lZGlhLnNjc3MiLCJ1dGlsaXRpZXMvbWl4aW5zL19tYXJnaW4tcGFkZGluZy1yZXNldC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9hZGRvbnMvX3Bvc2l0aW9uLnNjc3MiLCJiYXNlL193aW5kb3ctcmVhZHkuc2NzcyIsInV0aWxpdGllcy92YXJpYWJsZXMvX3RyYW5zaXRpb25zLnNjc3MiLCJiYXNlL19zY2FmZm9sZGluZy5zY3NzIiwidXRpbGl0aWVzL21peGlucy9fY29sb3JzLnNjc3MiLCJiYXNlL19saW5rcy5zY3NzIiwic3RydWN0dXJlL19sYXlvdXQuc2NzcyIsIm1vZHVsZXMvX2J1dHRvbnMuc2NzcyIsIm1vZHVsZXMvX2NhcmQuc2NzcyIsIm1vZHVsZXMvX2NvbW1lbnRzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9fcHgtdG8tZW0uc2NzcyIsInV0aWxpdGllcy9taXhpbnMvX2xpc3QtcmVzZXQuc2NzcyIsIm1vZHVsZXMvX2NvbnRlbnQuc2NzcyIsIm1vZHVsZXMvY29udGVudC1ibG9ja3MvX2NhbGwtdG8tYWN0aW9uLnNjc3MiLCJtb2R1bGVzL2NvbnRlbnQtYmxvY2tzL19nbG9iYWwuc2NzcyIsIm1vZHVsZXMvY29udGVudC1ibG9ja3MvX2hlcm8uc2NzcyIsIm1vZHVsZXMvY29udGVudC1ibG9ja3MvX3JlY2VudC1wb3N0cy5zY3NzIiwibW9kdWxlcy9jb250ZW50LWJsb2Nrcy9fcmVsYXRlZC1wb3N0cy5zY3NzIiwibW9kdWxlcy9fZm9vdGVyLnNjc3MiLCJtb2R1bGVzL19mb3Jtcy5zY3NzIiwibW9kdWxlcy9faGVhZGVyLnNjc3MiLCJtb2R1bGVzL19pY29ucy5zY3NzIiwibW9kdWxlcy9fbW9kYWwuc2NzcyIsIm1vZHVsZXMvbmF2aWdhdGlvbi9fZ2xvYmFsLW5hdmlnYXRpb24uc2NzcyIsIm1vZHVsZXMvbmF2aWdhdGlvbi9fbWFpbi1uYXZpZ2F0aW9uLnNjc3MiLCJtb2R1bGVzL25hdmlnYXRpb24vX21vYmlsZS1uYXZpZ2F0aW9uLnNjc3MiLCJtb2R1bGVzL25hdmlnYXRpb24vX3Bvc3QtbmF2aWdhdGlvbi5zY3NzIiwibW9kdWxlcy9fdGFibGVzLnNjc3MiLCJtb2R1bGVzL3dwLWJsb2Nrcy9kZWZhdWx0LWJsb2Nrcy9fd3AtYmxvY2stYnV0dG9uLnNjc3MiLCJtb2R1bGVzL3dwLWJsb2Nrcy9kZWZhdWx0LWJsb2Nrcy9fd3AtYmxvY2stZ2FsbGVyeS5zY3NzIiwibW9kdWxlcy93cC1ibG9ja3MvZGVmYXVsdC1ibG9ja3MvX3dwLWJsb2NrLXB1bGxxdW90ZS5zY3NzIiwibW9kdWxlcy93cC1ibG9ja3MvZGVmYXVsdC1ibG9ja3MvX3dwLWJsb2NrLXNlcGFyYXRvci5zY3NzIiwibW9kdWxlcy93cC1ibG9ja3MvZGVmYXVsdC1ibG9ja3MvX3dwLWJsb2NrLXF1b3RlLnNjc3MiLCJtb2R1bGVzL3dwLWJsb2Nrcy9kZWZhdWx0LWJsb2Nrcy9fd3AtYmxvY2stdGFibGUuc2NzcyIsIm1vZHVsZXMvd3AtYmxvY2tzL2RlZmF1bHQtYmxvY2tzL193cC1ibG9jay12aWRlby5zY3NzIiwibW9kdWxlcy93cC1ibG9ja3Mvd2RzLWJsb2Nrcy9fd2RzLWhlcm8uc2NzcyIsInBsdWdpbnMvX2pldHBhY2suc2NzcyIsInBsdWdpbnMvX2dyYXZpdHktZm9ybXMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvYWRkb25zL190cmlhbmdsZS5zY3NzIiwid2lkZ2V0cy9fd2lkZ2V0cy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2JvdXJib24tbmVhdC9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2dyaWQvX21lZGlhLnNjc3MiLCJzdHlsZS5jc3MiLCJtb2R1bGVzL2NvbnRlbnQtYmxvY2tzL19maWZ0eS1maWZ0eS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2JvdXJib24tbmVhdC9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2dyaWQvX3NwYW4tY29sdW1ucy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2JvdXJib24tbmVhdC9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2dyaWQvX3ByaXZhdGUuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib3VyYm9uLW5lYXQvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9ncmlkL19vbWVnYS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2JvdXJib24tbmVhdC9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9fcHJpdmF0ZS5zY3NzIiwidXRpbGl0aWVzL21peGlucy9fb21lZ2EtcmVzZXQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7OztFQWdCRTtBQVNGLGlFQUFPO0FBQ1AsNkRBQU87QUNoQlA7RUFDQyx1QkFBc0I7Q0FDdEI7O0FDVEM7RUFDRSx1QkFBc0I7Q0FDdkI7O0FBRUQ7RUFJSSxvQkFBbUI7Q0FDcEI7O0FDRko7RUM2RkcsbUJDL0U2QjtDRk4vQjs7QUFFRDtFQ2dFdUIsdUJDNURTO0VEcUVQLDBCQ3JFTztDRkkvQjs7QUFFRDtFQUNDLHVCRVArQjtDRmMvQjs7QUFFRDtFQUNDLDBCRWpCK0I7Q0Z3Qi9COztBQUVEO0VDdUN5Qix5QkNqRU87RURzRVAsd0JDdEVPO0NGa0MvQjs7QUFoREQ7RUM2RkcsaUJDL0U2QjtDRk4vQjs7QUFFRDtFQ2dFdUIscUJDNURTO0VEcUVQLHdCQ3JFTztDRkkvQjs7QUFFRDtFQUNDLHFCRVArQjtDRmMvQjs7QUFFRDtFQUNDLHdCRWpCK0I7Q0Z3Qi9COztBQUVEO0VDdUN5Qix1QkNqRU87RURzRVAsc0JDdEVPO0NGa0MvQjs7QUFoREQ7RUM2Rkcsa0JDL0U2QjtDRk4vQjs7QUFFRDtFQ2dFdUIsc0JDNURTO0VEcUVQLHlCQ3JFTztDRkkvQjs7QUFFRDtFQUNDLHNCRVArQjtDRmMvQjs7QUFFRDtFQUNDLHlCRWpCK0I7Q0Z3Qi9COztBQUVEO0VDdUN5Qix3QkNqRU87RURzRVAsdUJDdEVPO0NGa0MvQjs7QUFoREQ7RUM2RkcsbUJDL0U2QjtDRk4vQjs7QUFFRDtFQ2dFdUIsdUJDNURTO0VEcUVQLDBCQ3JFTztDRkkvQjs7QUFFRDtFQUNDLHVCRVArQjtDRmMvQjs7QUFFRDtFQUNDLDBCRWpCK0I7Q0Z3Qi9COztBQUVEO0VDdUN5Qix5QkNqRU87RURzRVAsd0JDdEVPO0NGa0MvQjs7QUFoREQ7RUM2RkcsZ0JDL0U2QjtDRk4vQjs7QUFFRDtFQ2dFdUIsb0JDNURTO0VEcUVQLHVCQ3JFTztDRkkvQjs7QUFFRDtFQUNDLG9CRVArQjtDRmMvQjs7QUFFRDtFQUNDLHVCRWpCK0I7Q0Z3Qi9COztBQUVEO0VDdUN5QixzQkNqRU87RURzRVAscUJDdEVPO0NGa0MvQjs7QUFoREQ7RUM2Rkcsa0JDL0U2QjtDRk4vQjs7QUFFRDtFQ2dFdUIsc0JDNURTO0VEcUVQLHlCQ3JFTztDRkkvQjs7QUFFRDtFQUNDLHNCRVArQjtDRmMvQjs7QUFFRDtFQUNDLHlCRWpCK0I7Q0Z3Qi9COztBQUVEO0VDdUN5Qix3QkNqRU87RURzRVAsdUJDdEVPO0NGa0MvQjs7QUFoREQ7RUM2RkcsaUJDL0U2QjtDRk4vQjs7QUFFRDtFQ2dFdUIscUJDNURTO0VEcUVQLHdCQ3JFTztDRkkvQjs7QUFFRDtFQUNDLHFCRVArQjtDRmMvQjs7QUFFRDtFQUNDLHdCRWpCK0I7Q0Z3Qi9COztBQUVEO0VDdUN5Qix1QkNqRU87RURzRVAsc0JDdEVPO0NGa0MvQjs7QUFTRDtFQ29DRyxrQkMvRTZCO0NGbUQvQjs7QUFFRDtFQ091QixzQkM1RFM7RURxRVAseUJDckVPO0NGNkQvQjs7QUFFRDtFQUNDLHNCRWhFK0I7Q0Z1RS9COztBQUVEO0VBQ0MseUJFMUUrQjtDRmlGL0I7O0FBRUQ7RUNsQnlCLHdCQ2pFTztFRHNFUCx1QkN0RU87Q0YyRi9COztBQWhERDtFQ29DRyxnQkMvRTZCO0NGbUQvQjs7QUFFRDtFQ091QixvQkM1RFM7RURxRVAsdUJDckVPO0NGNkQvQjs7QUFFRDtFQUNDLG9CRWhFK0I7Q0Z1RS9COztBQUVEO0VBQ0MsdUJFMUUrQjtDRmlGL0I7O0FBRUQ7RUNsQnlCLHNCQ2pFTztFRHNFUCxxQkN0RU87Q0YyRi9COztBQWhERDtFQ29DRyxpQkMvRTZCO0NGbUQvQjs7QUFFRDtFQ091QixxQkM1RFM7RURxRVAsd0JDckVPO0NGNkQvQjs7QUFFRDtFQUNDLHFCRWhFK0I7Q0Z1RS9COztBQUVEO0VBQ0Msd0JFMUUrQjtDRmlGL0I7O0FBRUQ7RUNsQnlCLHVCQ2pFTztFRHNFUCxzQkN0RU87Q0YyRi9COztBQWhERDtFQ29DRyxrQkMvRTZCO0NGbUQvQjs7QUFFRDtFQ091QixzQkM1RFM7RURxRVAseUJDckVPO0NGNkQvQjs7QUFFRDtFQUNDLHNCRWhFK0I7Q0Z1RS9COztBQUVEO0VBQ0MseUJFMUUrQjtDRmlGL0I7O0FBRUQ7RUNsQnlCLHdCQ2pFTztFRHNFUCx1QkN0RU87Q0YyRi9COztBQWhERDtFQ29DRyxlQy9FNkI7Q0ZtRC9COztBQUVEO0VDT3VCLG1CQzVEUztFRHFFUCxzQkNyRU87Q0Y2RC9COztBQUVEO0VBQ0MsbUJFaEUrQjtDRnVFL0I7O0FBRUQ7RUFDQyxzQkUxRStCO0NGaUYvQjs7QUFFRDtFQ2xCeUIscUJDakVPO0VEc0VQLG9CQ3RFTztDRjJGL0I7O0FBaEREO0VDb0NHLGlCQy9FNkI7Q0ZtRC9COztBQUVEO0VDT3VCLHFCQzVEUztFRHFFUCx3QkNyRU87Q0Y2RC9COztBQUVEO0VBQ0MscUJFaEUrQjtDRnVFL0I7O0FBRUQ7RUFDQyx3QkUxRStCO0NGaUYvQjs7QUFFRDtFQ2xCeUIsdUJDakVPO0VEc0VQLHNCQ3RFTztDRjJGL0I7O0FBaEREO0VDb0NHLGdCQy9FNkI7Q0ZtRC9COztBQUVEO0VDT3VCLG9CQzVEUztFRHFFUCx1QkNyRU87Q0Y2RC9COztBQUVEO0VBQ0Msb0JFaEUrQjtDRnVFL0I7O0FBRUQ7RUFDQyx1QkUxRStCO0NGaUYvQjs7QUFFRDtFQ2xCeUIsc0JDakVPO0VEc0VQLHFCQ3RFTztDRjJGL0I7O0FHeEdEO0VBQ0MsZURZK0I7Q0NYL0I7O0FBRkQ7RUFDQyxhRFkrQjtDQ1gvQjs7QUFGRDtFQUNDLGFEWStCO0NDWC9COztBQ29ERjs7R0FFRztBQUVILG1CQUFtQjs7QUFZbkIsbUJBQW1COztBQVduQixtQkFBbUI7O0FBV25CLG1CQUFt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RUFrQkssY0FBMEI7Q0FDMUI7O0FBbkJMO0U1QnNDSSxpQlJuQjZCO0VReUI3QixnQlJ6QjZCO0VvQ0o3QixjaEM4Q29CO0NnQ3pDcEI7O0FBcEJKO0VBa0JLLGNBQTBCO0NBQzFCOztBQW5CTDtFNUJzQ0ksaUJSbkI2QjtFUXlCN0IsZ0JSekI2QjtFb0NKN0IsY2hDOENvQjtDZ0N6Q3BCOztBQXBCSjtFQWtCSyxjQUEwQjtDQUMxQjs7QUFuQkw7RTVCc0NJLGlCUm5CNkI7RVF5QjdCLGdCUnpCNkI7RW9DSjdCLGNoQytDcUI7Q2dDMUNyQjs7QUFwQko7RUFrQkssY0FBMEI7Q0FDMUI7O0FBbkJMO0U1QnNDSSxpQlJuQjZCO0VReUI3QixnQlJ6QjZCO0VvQ0o3QixjaEMrQ3FCO0NnQzFDckI7O0FBcEJKO0VBa0JLLGNBQTBCO0NBQzFCOztBQW5CTDtFNUJzQ0ksaUJSbkI2QjtFUXlCN0IsZ0JSekI2QjtFb0NKN0IsV2hDZ0RZO0NnQzNDWjs7QUFwQko7RUFrQkssY0FBMEI7Q0FDMUI7O0FBbkJMO0U1QnNDSSxpQlJuQjZCO0VReUI3QixnQlJ6QjZCO0VvQ0o3QixXaENnRFk7Q2dDM0NaOztBQXBCSjtFQWtCSyxjQUEwQjtDQUMxQjs7QUFuQkw7RTVCc0NJLGlCUm5CNkI7RVF5QjdCLGdCUnpCNkI7RW9DSjdCLGNoQ2lEbUI7Q2dDNUNuQjs7QUFwQko7RUFrQkssY0FBMEI7Q0FDMUI7O0FBbkJMO0U1QnNDSSxpQlJuQjZCO0VReUI3QixnQlJ6QjZCO0VvQ0o3QixjaENpRG1CO0NnQzVDbkI7O0FBcEJKO0VBa0JLLGNBQTBCO0NBQzFCOztBQW5CTDtFNUJzQ0ksaUJSbkI2QjtFUXlCN0IsZ0JSekI2QjtFb0NKN0IsV2hDa0RnQjtDZ0M3Q2hCOztBQXBCSjtFQWtCSyxjQUEwQjtDQUMxQjs7QUFuQkw7RTVCc0NJLGlCUm5CNkI7RVF5QjdCLGdCUnpCNkI7RW9DSjdCLFdoQ2tEZ0I7Q2dDN0NoQjs7QUFwQko7RUFrQkssY0FBMEI7Q0FDMUI7O0FBbkJMO0VBeUJHLGdCQUFlO0NBQ2Y7O0FBT0g7RUFDQyxn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QkNyRU87R0Y2RC9CO0VBRUQ7SUFLRyxxQkVwRTZCO0dGdUUvQjtFQUVEO0lBS0csd0JFOUU2QjtHRmlGL0I7RUFFRDtJQ2xCeUIsdUJDakVPO0lEc0VQLHNCQ3RFTztHRjJGL0I7QzBEd0REIiwiZmlsZSI6InN0eWxlLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG5UaGVtZSBOYW1lOiBlY293YXRlclxuVGhlbWUgVVJJOiBodHRwczovL2FjbWVpbmMuY29tXG5BdXRob3I6IFJvY2tldDU1XG5BdXRob3IgVVJJOiBodHRwczovL3dlYmRldnN0dWRpb3MuY29tL1xuRGVzY3JpcHRpb246IEEgdGhlbWUgZm9yIEVjb3dhdGVyIG1pY3Jvc2l0ZXMgYmFzZWQgb24gQm9vdHN0cmFwIDRcblZlcnNpb246IDEuMC4wXG5MaWNlbnNlOiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2MiBvciBsYXRlclxuTGljZW5zZSBVUkk6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9ncGwtMi4wLmh0bWxcblRleHQgRG9tYWluOiBlY293YXRlclxuVGFnczogY3VzdG9tXG5cblRoaXMgdGhlbWUsIGxpa2UgV29yZFByZXNzLCBpcyBsaWNlbnNlZCB1bmRlciB0aGUgR1BMLlxuXG5CYXNlZCBvbiBVbmRlcnNjb3JlcyBodHRwOi8vdW5kZXJzY29yZXMubWUvLCAoQykgMjAxMi0yMDE3IEF1dG9tYXR0aWMsIEluYy5cblxuKi9cblxuJG91dHB1dC1ib3VyYm9uLWRlcHJlY2F0aW9uLXdhcm5pbmdzOiBmYWxzZTtcbkBpbXBvcnQgJ2JvdXJib24nO1xuQGltcG9ydCAndXRpbGl0aWVzL2Z1bmN0aW9ucy9pbmRleCc7XG5AaW1wb3J0ICd1dGlsaXRpZXMvdmFyaWFibGVzL2luZGV4JztcbkBpbXBvcnQgJ25lYXQnO1xuQGltcG9ydCAndXRpbGl0aWVzL21peGlucy9pbmRleCc7XG5AaW1wb3J0ICd1dGlsaXRpZXMvaGVscGVycy9pbmRleCc7XG5AaW1wb3J0ICdhc3NldHMvYm93ZXJfY29tcG9uZW50cy9ub3JtYWxpemUtY3NzL25vcm1hbGl6ZS5jc3MnO1xuQGltcG9ydCAnYXNzZXRzL2Jvd2VyX2NvbXBvbmVudHMvYW5pbWF0ZS5jc3MvYW5pbWF0ZS5jc3MnO1xuXG5AaW1wb3J0ICdiYXNlL2luZGV4JztcbkBpbXBvcnQgJ3N0cnVjdHVyZS9pbmRleCc7XG5AaW1wb3J0ICdtb2R1bGVzL2luZGV4JztcbkBpbXBvcnQgJ3BsdWdpbnMvaW5kZXgnO1xuQGltcG9ydCAndmlld3MvaW5kZXgnO1xuQGltcG9ydCAnd2lkZ2V0cy9pbmRleCc7XG4iLCIvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBCb3ggTW9kZWxcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8vL1xuLy8vIEBncm91cCB2YXJpYWJsZXNcbi8vLyBAYXV0aG9yIFdlYkRldlN0dWRpb3Ncbi8vLy9cblxuLy8gTWFrZSBzdXJlIGFsbCBlbGVtZW50cyB1c2UgYGJveC1zaXppbmc6IGJvcmRlci1ib3g7YCBieSBkZWZhdWx0LlxuKiB7XG5cdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi8vLyBEZWZpbmUgdGhpbiBib3JkZXIgcmFkaXVzLlxuJGJvcmRlci1yYWRpdXMtdGhpbjogMXB4O1xuXG4vLy8gRGVmaW5lIG1lZGl1bSBib3JkZXIgcmFkaXVzLlxuJGJvcmRlci1yYWRpdXMtbWVkaXVtOiAzcHg7XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbkBpZiAkYm9yZGVyLWJveC1zaXppbmcgPT0gdHJ1ZSB7XG4gIGh0bWwgeyAvLyBodHRwOi8vYml0Lmx5LzFxazJ0VlJcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB9XG5cbiAgKiB7XG4gICAgJixcbiAgICAmOjphZnRlcixcbiAgICAmOjpiZWZvcmUge1xuICAgICAgYm94LXNpemluZzogaW5oZXJpdDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEdyaWQgSGVscGVyc1xuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBQYWRkaW5nXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AZm9yICRpIGZyb20gMSB0aHJvdWdoIGxlbmd0aCgkc3BhY2luZy1vcHRpb25zKSB7XG5cdCRudW1iZXI6IG50aCgkc3BhY2luZy1vcHRpb25zLCAkaSk7XG5cblx0LnBhZC0jeyRudW1iZXJ9IHtcblx0XHRAaW5jbHVkZSBwYWRkaW5nKHJlbSgkbnVtYmVyKSk7XG5cblx0XHRAaWYgJG51bWJlciA+IDc1IHtcblx0XHRcdEBpbmNsdWRlIG1lZGlhKG1heC13aWR0aCAkdGFibGV0LXBvcnRyYWl0KSB7XG5cdFx0XHRcdEBpbmNsdWRlIHBhZGRpbmcocmVtKCRudW1iZXIgLyAyKSk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9IC8vIC5wYWQtI3skb3B0aW9ufVxuXG5cdC5wYWQtI3skbnVtYmVyfS0wIHtcblx0XHRAaW5jbHVkZSBwYWRkaW5nKHJlbSgkbnVtYmVyKSBudWxsKTtcblxuXHRcdEBpZiAkbnVtYmVyID4gNzUge1xuXHRcdFx0QGluY2x1ZGUgbWVkaWEobWF4LXdpZHRoICR0YWJsZXQtcG9ydHJhaXQpIHtcblx0XHRcdFx0QGluY2x1ZGUgcGFkZGluZyhyZW0oJG51bWJlciAvIDIpIG51bGwpO1xuXHRcdFx0fVxuXHRcdH1cblx0fSAvLyAucGFkLSN7JG9wdGlvbn0tMFxuXG5cdC5wYWQtdG9wLSN7JG51bWJlcn0ge1xuXHRcdHBhZGRpbmctdG9wOiByZW0oJG51bWJlcik7XG5cblx0XHRAaWYgJG51bWJlciA+IDc1IHtcblx0XHRcdEBpbmNsdWRlIG1lZGlhKG1heC13aWR0aCAkdGFibGV0LXBvcnRyYWl0KSB7XG5cdFx0XHRcdHBhZGRpbmctdG9wOiByZW0oJG51bWJlciAvIDIpO1xuXHRcdFx0fVxuXHRcdH1cblx0fSAvLyAucGFkLXRvcC0jeyRvcHRpb259XG5cblx0LnBhZC1ib3R0b20tI3skbnVtYmVyfSB7XG5cdFx0cGFkZGluZy1ib3R0b206IHJlbSgkbnVtYmVyKTtcblxuXHRcdEBpZiAkbnVtYmVyID4gNzUge1xuXHRcdFx0QGluY2x1ZGUgbWVkaWEobWF4LXdpZHRoICR0YWJsZXQtcG9ydHJhaXQpIHtcblx0XHRcdFx0cGFkZGluZy1ib3R0b206IHJlbSgkbnVtYmVyIC8gMik7XG5cdFx0XHR9XG5cdFx0fVxuXHR9IC8vIC5wYWQtYm90dG9tLSN7JG9wdGlvbn1cblxuXHQucGFkLTAtI3skbnVtYmVyfSB7XG5cdFx0QGluY2x1ZGUgcGFkZGluZyhudWxsIHJlbSgkbnVtYmVyKSk7XG5cblx0XHRAaWYgJG51bWJlciA+IDc1IHtcblx0XHRcdEBpbmNsdWRlIG1lZGlhKG1heC13aWR0aCAkdGFibGV0LXBvcnRyYWl0KSB7XG5cdFx0XHRcdEBpbmNsdWRlIHBhZGRpbmcobnVsbCByZW0oJG51bWJlciAvIDIpKTtcblx0XHRcdH1cblx0XHR9XG5cdH0gLy8gLnBhZC0wLSN7JG9wdGlvbn1cbn0gLy8gZW5kIEBmb3JcblxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gTWFyZ2luc1xuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQGZvciAkaSBmcm9tIDEgdGhyb3VnaCBsZW5ndGgoJHNwYWNpbmctb3B0aW9ucykge1xuXHQkbnVtYmVyOiBudGgoJHNwYWNpbmctb3B0aW9ucywgJGkpO1xuXG5cdC5tYXJnaW4tI3skbnVtYmVyfSB7XG5cdFx0QGluY2x1ZGUgbWFyZ2luKHJlbSgkbnVtYmVyKSk7XG5cblx0XHRAaWYgJG51bWJlciA+IDc1IHtcblx0XHRcdEBpbmNsdWRlIG1lZGlhKG1heC13aWR0aCAkdGFibGV0LXBvcnRyYWl0KSB7XG5cdFx0XHRcdEBpbmNsdWRlIG1hcmdpbihyZW0oJG51bWJlciAvIDIpKTtcblx0XHRcdH1cblx0XHR9XG5cdH0gLy8gLm1hcmdpbi0jeyRvcHRpb259XG5cblx0Lm1hcmdpbi0jeyRudW1iZXJ9LTAge1xuXHRcdEBpbmNsdWRlIG1hcmdpbihyZW0oJG51bWJlcikgbnVsbCk7XG5cblx0XHRAaWYgJG51bWJlciA+IDc1IHtcblx0XHRcdEBpbmNsdWRlIG1lZGlhKG1heC13aWR0aCAkdGFibGV0LXBvcnRyYWl0KSB7XG5cdFx0XHRcdEBpbmNsdWRlIG1hcmdpbihyZW0oJG51bWJlciAvIDIpIG51bGwpO1xuXHRcdFx0fVxuXHRcdH1cblx0fSAvLyAubWFyZ2luLSN7JG9wdGlvbn0tMFxuXG5cdC5tYXJnaW4tdG9wLSN7JG51bWJlcn0ge1xuXHRcdG1hcmdpbi10b3A6IHJlbSgkbnVtYmVyKTtcblxuXHRcdEBpZiAkbnVtYmVyID4gNzUge1xuXHRcdFx0QGluY2x1ZGUgbWVkaWEobWF4LXdpZHRoICR0YWJsZXQtcG9ydHJhaXQpIHtcblx0XHRcdFx0bWFyZ2luLXRvcDogcmVtKCRudW1iZXIgLyAyKTtcblx0XHRcdH1cblx0XHR9XG5cdH0gLy8gLm1hcmdpbi10b3AtI3skb3B0aW9ufVxuXG5cdC5tYXJnaW4tYm90dG9tLSN7JG51bWJlcn0ge1xuXHRcdG1hcmdpbi1ib3R0b206IHJlbSgkbnVtYmVyKTtcblxuXHRcdEBpZiAkbnVtYmVyID4gNzUge1xuXHRcdFx0QGluY2x1ZGUgbWVkaWEobWF4LXdpZHRoICR0YWJsZXQtcG9ydHJhaXQpIHtcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogcmVtKCRudW1iZXIgLyAyKTtcblx0XHRcdH1cblx0XHR9XG5cdH0gLy8gLm1hcmdpbi1ib3R0b20tI3skb3B0aW9ufVxuXG5cdC5tYXJnaW4tMC0jeyRudW1iZXJ9IHtcblx0XHRAaW5jbHVkZSBtYXJnaW4obnVsbCByZW0oJG51bWJlcikpO1xuXG5cdFx0QGlmICRudW1iZXIgPiA3NSB7XG5cdFx0XHRAaW5jbHVkZSBtZWRpYShtYXgtd2lkdGggJHRhYmxldC1wb3J0cmFpdCkge1xuXHRcdFx0XHRAaW5jbHVkZSBtYXJnaW4obnVsbCByZW0oJG51bWJlciAvIDIpKTtcblx0XHRcdH1cblx0XHR9XG5cdH0gLy8gLm1hcmdpbi0wLSN7JG9wdGlvbn1cbn0gLy8gZW5kIEBmb3JcbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIERpcmVjdGlvbmFsLXByb3BlcnR5IG1peGlucyBhcmUgc2hvcnRoYW5kcyBmb3Igd3JpdGluZyBwcm9wZXJ0aWVzIGxpa2UgdGhlIGZvbGxvd2luZ1xuLy8vXG4vLy8gQGlnbm9yZSBZb3UgY2FuIGFsc28gdXNlIGBmYWxzZWAgaW5zdGVhZCBvZiBgbnVsbGAuXG4vLy9cbi8vLyBAcGFyYW0ge0xpc3R9ICR2YWxzXG4vLy8gICBMaXN0IG9mIGRpcmVjdGlvbmFsIHZhbHVlc1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIGJvcmRlci1zdHlsZShkb3R0ZWQgbnVsbCk7XG4vLy8gICAgIEBpbmNsdWRlIG1hcmdpbihudWxsIDAgMTBweCk7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IGRvdHRlZDtcbi8vLyAgICAgYm9yZGVyLXRvcC1zdHlsZTogZG90dGVkO1xuLy8vICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuLy8vICAgICBtYXJnaW4tbGVmdDogMDtcbi8vLyAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuLy8vICAgfVxuLy8vXG4vLy8gQHJlcXVpcmUge2Z1bmN0aW9ufSBjb250YWlucy1mYWxzeVxuLy8vXG4vLy8gQHJldHVybiB7TGlzdH1cblxuQGZ1bmN0aW9uIGNvbGxhcHNlLWRpcmVjdGlvbmFscygkdmFscykge1xuICBAaWYgJG91dHB1dC1ib3VyYm9uLWRlcHJlY2F0aW9uLXdhcm5pbmdzID09IHRydWUge1xuICAgIEB3YXJuIFwiW0JvdXJib25dIFtEZXByZWNhdGlvbl0gYGNvbGxhcHNlLWRpcmVjdGlvbmFsc2AgaXMgZGVwcmVjYXRlZCBhbmQgXCIgK1xuICAgIFwid2lsbCBiZSByZW1vdmVkIGluIDUuMC4wLlwiO1xuICB9XG5cbiAgJG91dHB1dDogbnVsbDtcblxuICAkYTogbnRoKCR2YWxzLCAxKTtcbiAgJGI6IGlmKGxlbmd0aCgkdmFscykgPCAyLCAkYSwgbnRoKCR2YWxzLCAyKSk7XG4gICRjOiBpZihsZW5ndGgoJHZhbHMpIDwgMywgJGEsIG50aCgkdmFscywgMykpO1xuICAkZDogaWYobGVuZ3RoKCR2YWxzKSA8IDIsICRhLCBudGgoJHZhbHMsIGlmKGxlbmd0aCgkdmFscykgPCA0LCAyLCA0KSkpO1xuXG4gIEBpZiAkYSA9PSAwIHsgJGE6IDA7IH1cbiAgQGlmICRiID09IDAgeyAkYjogMDsgfVxuICBAaWYgJGMgPT0gMCB7ICRjOiAwOyB9XG4gIEBpZiAkZCA9PSAwIHsgJGQ6IDA7IH1cblxuICBAaWYgJGEgPT0gJGIgYW5kICRhID09ICRjIGFuZCAkYSA9PSAkZCB7ICRvdXRwdXQ6ICRhOyAgICAgICAgICB9XG4gIEBlbHNlIGlmICRhID09ICRjIGFuZCAkYiA9PSAkZCAgICAgICAgIHsgJG91dHB1dDogJGEgJGI7ICAgICAgIH1cbiAgQGVsc2UgaWYgJGIgPT0gJGQgICAgICAgICAgICAgICAgICAgICAgeyAkb3V0cHV0OiAkYSAkYiAkYzsgICAgfVxuICBAZWxzZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7ICRvdXRwdXQ6ICRhICRiICRjICRkOyB9XG5cbiAgQHJldHVybiAkb3V0cHV0O1xufVxuXG4vLy8gT3V0cHV0IGRpcmVjdGlvbmFsIHByb3BlcnRpZXMsIGZvciBpbnN0YW5jZSBgbWFyZ2luYC5cbi8vL1xuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRwcmVcbi8vLyAgIFByZWZpeCB0byB1c2Vcbi8vLyBAcGFyYW0ge1N0cmluZ30gJHN1ZlxuLy8vICAgU3VmZml4IHRvIHVzZVxuLy8vIEBwYXJhbSB7TGlzdH0gJHZhbHNcbi8vLyAgIExpc3Qgb2YgdmFsdWVzXG4vLy9cbi8vLyBAcmVxdWlyZSB7ZnVuY3Rpb259IGNvbGxhcHNlLWRpcmVjdGlvbmFsc1xuLy8vIEByZXF1aXJlIHtmdW5jdGlvbn0gY29udGFpbnMtZmFsc3lcblxuQG1peGluIGRpcmVjdGlvbmFsLXByb3BlcnR5KCRwcmUsICRzdWYsICR2YWxzKSB7XG4gIEBpbmNsdWRlIF9ib3VyYm9uLWRlcHJlY2F0ZShcImRpcmVjdGlvbmFsLXByb3BlcnR5XCIpO1xuXG4gICR1c2VyLWRlcHJlY2F0aW9uLXdhcm5pbmdzLXNldHRpbmc6ICRvdXRwdXQtYm91cmJvbi1kZXByZWNhdGlvbi13YXJuaW5ncztcbiAgJG91dHB1dC1ib3VyYm9uLWRlcHJlY2F0aW9uLXdhcm5pbmdzOiBmYWxzZSAhZ2xvYmFsO1xuXG4gIC8vIFByb3BlcnR5IE5hbWVzXG4gICR0b3A6ICAgICRwcmUgKyBcIi10b3BcIiAgICArIGlmKCRzdWYsIFwiLSN7JHN1Zn1cIiwgXCJcIik7XG4gICRib3R0b206ICRwcmUgKyBcIi1ib3R0b21cIiArIGlmKCRzdWYsIFwiLSN7JHN1Zn1cIiwgXCJcIik7XG4gICRsZWZ0OiAgICRwcmUgKyBcIi1sZWZ0XCIgICArIGlmKCRzdWYsIFwiLSN7JHN1Zn1cIiwgXCJcIik7XG4gICRyaWdodDogICRwcmUgKyBcIi1yaWdodFwiICArIGlmKCRzdWYsIFwiLSN7JHN1Zn1cIiwgXCJcIik7XG4gICRhbGw6ICAgICRwcmUgKyAgICAgICAgICAgICBpZigkc3VmLCBcIi0jeyRzdWZ9XCIsIFwiXCIpO1xuXG4gICR2YWxzOiBjb2xsYXBzZS1kaXJlY3Rpb25hbHMoJHZhbHMpO1xuXG4gIEBpZiBjb250YWlucy1mYWxzeSgkdmFscykge1xuICAgIEBpZiBudGgoJHZhbHMsIDEpIHsgI3skdG9wfTogbnRoKCR2YWxzLCAxKTsgfVxuXG4gICAgQGlmIGxlbmd0aCgkdmFscykgPT0gMSB7XG4gICAgICBAaWYgbnRoKCR2YWxzLCAxKSB7ICN7JHJpZ2h0fTogbnRoKCR2YWxzLCAxKTsgfVxuICAgIH0gQGVsc2Uge1xuICAgICAgQGlmIG50aCgkdmFscywgMikgeyAjeyRyaWdodH06IG50aCgkdmFscywgMik7IH1cbiAgICB9XG5cbiAgICBAaWYgbGVuZ3RoKCR2YWxzKSA9PSAyIHtcbiAgICAgIEBpZiBudGgoJHZhbHMsIDEpIHsgI3skYm90dG9tfTogbnRoKCR2YWxzLCAxKTsgfVxuICAgICAgQGlmIG50aCgkdmFscywgMikgeyAjeyRsZWZ0fTogICBudGgoJHZhbHMsIDIpOyB9XG4gICAgfSBAZWxzZSBpZiBsZW5ndGgoJHZhbHMpID09IDMge1xuICAgICAgQGlmIG50aCgkdmFscywgMykgeyAjeyRib3R0b219OiBudGgoJHZhbHMsIDMpOyB9XG4gICAgICBAaWYgbnRoKCR2YWxzLCAyKSB7ICN7JGxlZnR9OiAgIG50aCgkdmFscywgMik7IH1cbiAgICB9IEBlbHNlIGlmIGxlbmd0aCgkdmFscykgPT0gNCB7XG4gICAgICBAaWYgbnRoKCR2YWxzLCAzKSB7ICN7JGJvdHRvbX06IG50aCgkdmFscywgMyk7IH1cbiAgICAgIEBpZiBudGgoJHZhbHMsIDQpIHsgI3skbGVmdH06ICAgbnRoKCR2YWxzLCA0KTsgfVxuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgI3skYWxsfTogJHZhbHM7XG4gIH1cblxuICAkb3V0cHV0LWJvdXJib24tZGVwcmVjYXRpb24td2FybmluZ3M6ICR1c2VyLWRlcHJlY2F0aW9uLXdhcm5pbmdzLXNldHRpbmcgIWdsb2JhbDtcbn1cbiIsIi8vIENvbnZlcnQgcGl4ZWxzIHRvIHJlbXNcbi8vIGVnLiBmb3IgYSByZWxhdGlvbmFsIHZhbHVlIG9mIDEycHggd3JpdGUgcmVtKDEyKVxuLy8gQXNzdW1lcyAkZW0tYmFzZSBpcyB0aGUgZm9udC1zaXplIG9mIDxodG1sPlxuXG5AZnVuY3Rpb24gcmVtKCRweHZhbCkge1xuICBAaWYgJG91dHB1dC1ib3VyYm9uLWRlcHJlY2F0aW9uLXdhcm5pbmdzID09IHRydWUge1xuICAgIEB3YXJuIFwiW0JvdXJib25dIFtEZXByZWNhdGlvbl0gYHJlbWAgaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSBcIiArXG4gICAgXCJyZW1vdmVkIGluIDUuMC4wLlwiO1xuICB9XG5cbiAgJHVzZXItZGVwcmVjYXRpb24td2FybmluZ3Mtc2V0dGluZzogJG91dHB1dC1ib3VyYm9uLWRlcHJlY2F0aW9uLXdhcm5pbmdzO1xuICAkb3V0cHV0LWJvdXJib24tZGVwcmVjYXRpb24td2FybmluZ3M6IGZhbHNlICFnbG9iYWw7XG5cbiAgQGlmIG5vdCB1bml0bGVzcygkcHh2YWwpIHtcbiAgICAkcHh2YWw6IHN0cmlwLXVuaXRzKCRweHZhbCk7XG4gIH1cblxuICAkYmFzZTogJGVtLWJhc2U7XG4gIEBpZiBub3QgdW5pdGxlc3MoJGJhc2UpIHtcbiAgICAkYmFzZTogc3RyaXAtdW5pdHMoJGJhc2UpO1xuICB9XG5cbiAgJG91dHB1dC1ib3VyYm9uLWRlcHJlY2F0aW9uLXdhcm5pbmdzOiAkdXNlci1kZXByZWNhdGlvbi13YXJuaW5ncy1zZXR0aW5nICFnbG9iYWw7XG5cbiAgQHJldHVybiAoJHB4dmFsIC8gJGJhc2UpICogMXJlbTtcbn1cbiIsIi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFJvdyBIZWxwZXJzXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFJvdyBXaWR0aHNcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBmb3IgJGkgZnJvbSAxIHRocm91Z2ggbGVuZ3RoKCRyb3ctd2lkdGhzKSB7XG5cblx0JHdpZHRoOlx0bnRoKCRyb3ctd2lkdGhzLCAkaSk7XG5cblx0LnJvdy0jeyR3aWR0aH0ge1xuXHRcdHdpZHRoOiByZW0oJHdpZHRoKTtcblx0fSAvLyAucm93LSN7d2lkdGh9XG59XG4iLCIvL3Jlc3BvbnNpdmUgYnJlYWtzXG5cbi8vbWluLXdpZHRoIC0gbW9iaWxlIGZpcnN0XG5AbWl4aW4gZGV2aWNlLW1pbi14eHMge1xuXHRAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICN7JGJyZWFrLXh4c30pIHtcblx0XHRAY29udGVudDtcblx0fVxufVxuXG5AbWl4aW4gZGV2aWNlLW1pbi14cyB7XG5cdEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogI3skYnJlYWsteHN9KSB7XG5cdFx0QGNvbnRlbnQ7XG5cdH1cbn1cblxuQG1peGluIGRldmljZS1taW4tc20ge1xuXHRAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICN7JGJyZWFrLXNtfSkge1xuXHRcdEBjb250ZW50O1xuXHR9XG59XG5cbkBtaXhpbiBkZXZpY2UtbWluLW1kIHtcblx0QG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAjeyRicmVhay1tZH0pIHtcblx0XHRAY29udGVudDtcblx0fVxufVxuXG5AbWl4aW4gZGV2aWNlLW1pbi1sZyB7XG5cdEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogI3skYnJlYWstbGd9KSB7XG5cdFx0QGNvbnRlbnQ7XG5cdH1cbn1cblxuLy9tYXggd2lkdGggLSBkZXNrdG9wIGZpcnN0XG5cbkBtaXhpbiBkZXZpY2UtbWF4LXh4cyB7XG5cdEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogI3skYnJlYWsteHhzIC0gMXB4fSkge1xuXHRcdEBjb250ZW50O1xuXHR9XG59XG5cbkBtaXhpbiBkZXZpY2UtbWF4LXhzIHtcblx0QG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAjeyRicmVhay14cyAtIDFweH0pIHtcblx0XHRAY29udGVudDtcblx0fVxufVxuXG5AbWl4aW4gZGV2aWNlLW1heC1zbSB7XG5cdEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogI3skYnJlYWstc20gLSAxcHh9KSB7XG5cdFx0QGNvbnRlbnQ7XG5cdH1cbn1cblxuQG1peGluIGRldmljZS1tYXgtbWQge1xuXHRAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICN7JGJyZWFrLW1kIC0gMXB4fSkge1xuXHRcdEBjb250ZW50O1xuXHR9XG59XG5cbkBtaXhpbiBkZXZpY2UtbWF4LWxnIHtcblx0QG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAjeyRicmVhay1sZyAtIDFweH0pIHtcblx0XHRAY29udGVudDtcblx0fVxufVxuXG4vKlxcXG4gKiBSZXN0b3JlIEJvb3RzdHJhcCAzIFwiaGlkZGVuXCIgdXRpbGl0eSBjbGFzc2VzLlxuXFwqL1xuXG4vKiBCcmVha3BvaW50IFhTICovXG5AbWVkaWEgKG1heC13aWR0aDogNTc1cHgpXG57XG4gICAgLmhpZGRlbi14cy1kb3duLCAuaGlkZGVuLXNtLWRvd24sIC5oaWRkZW4tbWQtZG93biwgLmhpZGRlbi1sZy1kb3duLCAuaGlkZGVuLXhsLWRvd24sIFxuICAgIC5oaWRkZW4teHMtdXAsXG4gICAgLmhpZGRlbi11bmxlc3Mtc20sIC5oaWRkZW4tdW5sZXNzLW1kLCAuaGlkZGVuLXVubGVzcy1sZywgLmhpZGRlbi11bmxlc3MteGxcbiAgICB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbn1cblxuLyogQnJlYWtwb2ludCBTTSAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDU3NnB4KSBhbmQgKG1heC13aWR0aDogNzY3cHgpXG57XG4gICAgLmhpZGRlbi1zbS1kb3duLCAuaGlkZGVuLW1kLWRvd24sIC5oaWRkZW4tbGctZG93biwgLmhpZGRlbi14bC1kb3duLFxuICAgIC5oaWRkZW4teHMtdXAsIC5oaWRkZW4tc20tdXAsXG4gICAgLmhpZGRlbi11bmxlc3MteHMsIC5oaWRkZW4tdW5sZXNzLW1kLCAuaGlkZGVuLXVubGVzcy1sZywgLmhpZGRlbi11bmxlc3MteGxcbiAgICB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG59XG5cbi8qIEJyZWFrcG9pbnQgTUQgKi9cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KVxue1xuICAgIC5oaWRkZW4tbWQtZG93biwgLmhpZGRlbi1sZy1kb3duLCAuaGlkZGVuLXhsLWRvd24sXG4gICAgLmhpZGRlbi14cy11cCwgLmhpZGRlbi1zbS11cCwgLmhpZGRlbi1tZC11cCxcbiAgICAuaGlkZGVuLXVubGVzcy14cywgLmhpZGRlbi11bmxlc3Mtc20sIC5oaWRkZW4tdW5sZXNzLWxnLCAuaGlkZGVuLXVubGVzcy14bFxuICAgIHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuLyogQnJlYWtwb2ludCBMRyAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSBhbmQgKG1heC13aWR0aDogMTE5OXB4KVxue1xuICAgIC5oaWRkZW4tbGctZG93biwgLmhpZGRlbi14bC1kb3duLFxuICAgIC5oaWRkZW4teHMtdXAsIC5oaWRkZW4tc20tdXAsIC5oaWRkZW4tbWQtdXAsIC5oaWRkZW4tbGctdXAsXG4gICAgLmhpZGRlbi11bmxlc3MteHMsIC5oaWRkZW4tdW5sZXNzLXNtLCAuaGlkZGVuLXVubGVzcy1tZCwgLmhpZGRlbi11bmxlc3MteGxcbiAgICB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG59XG5cbi8qIEJyZWFrcG9pbnQgWEwgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpXG57XG4gICAgLmhpZGRlbi14bC1kb3duLFxuICAgIC5oaWRkZW4teHMtdXAsIC5oaWRkZW4tc20tdXAsIC5oaWRkZW4tbWQtdXAsIC5oaWRkZW4tbGctdXAsIC5oaWRkZW4teGwtdXAsXG4gICAgLmhpZGRlbi11bmxlc3MteHMsIC5oaWRkZW4tdW5sZXNzLXNtLCAuaGlkZGVuLXVubGVzcy1tZCwgLmhpZGRlbi11bmxlc3MtbGdcbiAgICB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG59IiwiLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gVHlwb2dyYXBoeVxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5ib2R5LFxuYnV0dG9uLFxuaW5wdXQsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG5cdGNvbG9yOiAkY29sb3ItdGV4dC1tYWluO1xuXHRmb250LWZhbWlseTogJGZvbnQtYnJhbmQ7XG59IC8vIGJvZHksIGJ1dHRvbiwgaW5wdXQsIHNlbGVjdCwgdGV4dGFyZWFcblxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gSGVhZGVyc1xuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cblxuaDEsaDIsaDMsaDQsaDUsaDYge1xuXHRtYXJnaW46MCAwIDE1cHg7XG5cdGNvbG9yOiAjMDAwO1xufVxuXG5oMSB7XG4gIGZvbnQtc2l6ZTo0OHB4O1xuICBsaW5lLWhlaWdodDo0N3B4O1xuXG5cdEBpbmNsdWRlIGRldmljZS1tYXgtbWQge1xuXHRcdGZvbnQtc2l6ZTogMzhweDtcblx0XHRsaW5lLWhlaWdodDo0MHB4O1xuXHR9XG59XG5oMiB7XG4gIGZvbnQtc2l6ZTo0MHB4O1xuICBsaW5lLWhlaWdodDo0N3B4O1xuXG4gIEBpbmNsdWRlIGRldmljZS1tYXgtbWQge1xuXHRcdGZvbnQtc2l6ZTogMzBweDtcblx0XHRsaW5lLWhlaWdodDozMnB4O1xuXHR9XG59XG5oMyB7XG4gIGZvbnQtc2l6ZTozMHB4O1xuXG4gIEBpbmNsdWRlIGRldmljZS1tYXgtbWQge1xuXHRcdGZvbnQtc2l6ZTogMjJweDtcblx0XHRsaW5lLWhlaWdodDoyNHB4O1xuXHR9XG59XG5oNCxcbi5zdWItdGl0bGUge1xuICBmb250LXNpemU6MjBweDtcbn1cbmgzLnN1Yi10aXRsZSB7XG5cdG1hcmdpbjowIDAgMTVweDtcblx0dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO1xuXHRmb250LXdlaWdodDo3MDA7XG5cdGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xuXG4gICAgQGluY2x1ZGUgZGV2aWNlLW1heC1tZCB7XG5cdFx0Zm9udC1zaXplOiAyMnB4O1xuXHR9XG59XG5oNSB7XG4gIGZvbnQtc2l6ZToxNnB4O1xufVxuaDYge1xuICBmb250LXNpemU6MTZweDtcbn1cblxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQ29weVxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5wIHtcblx0bWFyZ2luOiAwIDAgMTVweCAwO1xufSAvLyBwXG5cbnAuZGlzY2xhaW1lciB7XG5cdGZvbnQtc2l6ZTogMTRweDtcblx0Zm9udC1zdHlsZTogaXRhbGljO1xuXHRtYXJnaW4tdG9wOiAzMHB4O1xufVxuXG5iLFxuc3Ryb25nIHtcblx0Zm9udC13ZWlnaHQ6IDcwMDtcbn0gLy8gYiwgc3Ryb25nXG5cbmRmbixcbmNpdGUsXG5lbSxcbmkge1xuXHRmb250LXN0eWxlOiBpdGFsaWM7XG59IC8vIGRmbiwgY2l0ZSwgZW0sIGlcblxuYmxvY2txdW90ZSxcbnEge1xuXHRtYXJnaW46IDAgcmVtKDI0KTtcblx0cXVvdGVzOiAnXCIgXCInO1xuXG5cdCY6OmJlZm9yZSxcblx0Jjo6YWZ0ZXIge1xuXHRcdGNvbnRlbnQ6ICcnO1xuXHR9ICAvLyAmOjpiZWZvcmUsICY6OmFmdGVyXG59IC8vIGJsb2NrcXVvdGUsIHFcblxuYWRkcmVzcyB7XG5cdG1hcmdpbjogMCAwIHJlbSgyNCkgMDtcbn0gLy8gYWRkcmVzc1xuXG5wcmUge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItZ2FsbGVyeTtcblx0Y29sb3I6ICRjb2xvci1jb2QtZ3JheTtcblx0Zm9udC1mYW1pbHk6ICRmb250LXByZTtcblx0Zm9udC1zaXplOiByZW0oMTMpO1xuXHRsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LXByZTtcblx0bWFyZ2luOiAwIDAgcmVtKDI0KSByZW0oLTI0KTtcblx0b3ZlcmZsb3c6IGF1dG87XG5cdHBhZGRpbmc6IHJlbSgyNCk7XG5cdHdoaXRlLXNwYWNlOiBwcmU7XG5cdHdvcmQtYnJlYWs6IG5vcm1hbDtcblx0d29yZC13cmFwOiBub3JtYWw7XG59IC8vIHByZVxuXG5jb2RlLFxua2JkLFxudHQsXG52YXIge1xuXHRmb250LWZhbWlseTogJGZvbnQtY29kZTtcblx0Zm9udC1zaXplOiByZW0oMTUpO1xufSAvLyBjb2RlLCBrYmQsIHR0LCB2YXJcblxuYWJicixcbmFjcm9ueW0ge1xuXHRib3JkZXItYm90dG9tOiAxcHggZG90dGVkICRjb2xvci1ib3JkZXItYWJicjtcblx0Y3Vyc29yOiBoZWxwO1xufSAvLyBhYmJyLCBhY3JvbnltXG5cbm1hcmssXG5pbnMge1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59IC8vIG1hcmssIGluc1xuXG5zdXAsXG5zdWIge1xuXHRmb250LXNpemU6IDc1JTtcblx0aGVpZ2h0OiAwO1xuXHRsaW5lLWhlaWdodDogMDtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59IC8vIHN1cCwgc3ViXG5cbnN1cCB7XG5cdGJvdHRvbTogMWV4O1xufSAvLyBzdXBcblxuc3ViIHtcblx0dG9wOiAwLjVleDtcbn0gLy8gc3ViXG5cbnNtYWxsIHtcblx0Zm9udC1zaXplOiA3NSU7XG59IC8vIHNtYWxsXG5cbmJpZyB7XG5cdGZvbnQtc2l6ZTogMTI1JTtcbn0gLy8gYmlnXG5cbi8vIFdvcmQgV3JhcHBpbmdcbi5lbnRyeS10aXRsZSxcbi5lbnRyeS1jb250ZW50LFxuLmNvbW1lbnRzLXRpdGxlLFxuLmNvbW1lbnQtY29udGVudCxcbi53aWRnZXQtdGl0bGUsXG4ud2lkZ2V0IHtcblx0QGluY2x1ZGUgd29yZC1icmVhaztcbn0gLy8gLmVudHJ5LXRpdGxlLCAuZW50cnktY29udGVudCwgLmNvbW1lbnRzLXRpdGxlLCAuY29tbWVudC1jb250ZW50LCAud2lkZ2V0LXRpdGxlLCAud2lkZ2V0XG4iLCIvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyAgIENPTE9SU1xuLy8gICAgLSBQcmltYXJ5IHBhbGV0dGVcbi8vICAgIC0gR3JheXNjYWxlXG4vLyAgICAtIFNvY2lhbCBNZWRpYSBDb2xvcnNcbi8vICAgICAgIC0gJHNvY2lhbC1jb2xvcnMoKSBtYXBcbi8vXG4vLyAgIEVMRU1FTlRTICYgU0tJTk5JTkdcbi8vICAgICAtIEdlbmVyYWxcbi8vICAgICAtIEFjY2Vzc2liaWxpdHlcbi8vICAgICAtIExpbmtzXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8vL1xuLy8vIEBncm91cCB2YXJpYWJsZXNcbi8vLyBAYXV0aG9yIFdlYkRldlN0dWRpb3Ncbi8vLy9cblxuLy8gUHJpbWFyeSBwYWxldHRlXG4kY29sb3ItYmx1ZTogIzAwNWRhYjtcbiRjb2xvci1saWdodC1ibHVlOiAjMzA3MWE5O1xuJGNvbG9yLW5hdi1ob3ZlcjogIzJhNjI5MztcbiRjb2xvci1saWdodC15ZWxsb3c6ICNmZmY5YzA7XG4kY29sb3ItYnJpZ2h0LWJsdWU6ICMwMDc1YmY7XG4kY29sb3ItYmxhY2s6ICMwMDA7XG4kY29sb3Itd2hpdGU6ICNmZmY7XG4kY29sb3ItYmx1ZS1tZWRpdW06ICMzRENGQzk7XG4kY29sb3ItYmx1ZS1saWdodDogIzEyZjdlZTtcbiRjb2xvci1jb3N0Y28tZm9vdGVyOiAjZWVlZWVlO1xuXG4vLyBHcmF5c2NhbGVcbiRjb2xvci1ncmF5OiAjODA4MDgwO1xuJGNvbG9yLWJvcmRlcjogI2NjY2NjYztcbiRjb2xvci1jb2QtZ3JheTogIzExMTtcbiRjb2xvci1taW5lc2hhZnQ6ICMzMzM7XG4kY29sb3ItdHVuZG9yYTogIzQ1NDU0NTtcbiRjb2xvci1kb3ZlLWdyYXk6ICM2NjY7XG4kY29sb3ItZ3JheS1hbHQ6ICM5MjkyOTI7XG4kY29sb3Itc2lsdmVyLWNoYWxpY2U6ICNhYWE7XG4kY29sb3Itc2lsdmVyOiAjY2NjO1xuJGNvbG9yLWFsdG86ICNkZGQ7XG4kY29sb3ItZ2FsbGVyeTogI2VlZTtcbiRjb2xvci13aGl0ZXNtb2tlOiAjZjFmMWYxO1xuXG4vLy8gU2FzcyBtYXAgdXNlZCBmb3IgY3JlYXRpbmcgY29sb3IgcHJlc2VudGF0aW9uYWwgY2xhc3Nlcy5cbiR0aGVtZS1jb2xvcnM6IChcblx0Ymx1ZTogIzIxNzU5Yixcblx0bGlnaHQteWVsbG93OiAjZmZmOWMwLFxuXHRibGFjazogIzAwMCxcblx0d2hpdGU6ICNmZmYsXG5cdGdyYXk6ICM4MDgwODAsXG5cdGNvZC1ncmF5OiAjMTExLFxuXHRtaW5lc2hhZnQ6ICMzMzMsXG5cdGRvdmUtZ3JheTogIzY2Nixcblx0Z3JheS1hbHQ6ICM5MjkyOTIsXG5cdHNpbHZlci1jaGFsaWNlOiAjYWFhLFxuXHRzaWx2ZXI6ICNjY2MsXG5cdGFsdG86ICNkZGQsXG5cdGdhbGxlcnk6ICNlZWUsXG5cdHdoaXRlc21va2U6ICNmMWYxZjEsXG4pO1xuXG4vLyBTb2NpYWwgTWVkaWEgQ29sb3JzXG4kY29sb3ItZmFjZWJvb2s6ICMzYjU5OTg7XG4kY29sb3ItZ29vZ2xlcGx1czogI2RkNGIzOTtcbiRjb2xvci1pbnN0YWdyYW06ICM1MTdmYTQ7XG4kY29sb3ItbGlua2VkaW46ICMwMDdiYjY7XG4kY29sb3ItcGludGVyZXN0OiAjY2IyMDI3O1xuJGNvbG9yLXJzczogI2Y5MDtcbiRjb2xvci10d2l0dGVyOiAjMDBhY2VkO1xuJGNvbG9yLXlvdXR1YmU6ICNiMDA7XG5cbi8vLyBTb2NpYWwgbWVkaWEgYCRzb2NpYWwtY29sb3JzKClgIG1hcFxuJHNvY2lhbC1jb2xvcnM6IChcblx0ZmFjZWJvb2s6ICRjb2xvci1mYWNlYm9vayxcblx0ZmFjZWJvb2stc3F1YXJlOiAkY29sb3ItZmFjZWJvb2ssXG5cdGdvb2dsZXBsdXM6ICRjb2xvci1nb29nbGVwbHVzLFxuXHRnb29nbGVwbHVzLXNxdWFyZTogJGNvbG9yLWdvb2dsZXBsdXMsXG5cdGluc3RhZ3JhbTogJGNvbG9yLWluc3RhZ3JhbSxcblx0aW5zdGFncmFtLXNxdWFyZTogJGNvbG9yLWluc3RhZ3JhbSxcblx0bGlua2VkaW46ICRjb2xvci1saW5rZWRpbixcblx0bGlua2VkaW4tc3F1YXJlOiAkY29sb3ItbGlua2VkaW4sXG5cdHBpbnRlcmVzdDogJGNvbG9yLXBpbnRlcmVzdCxcblx0cGludGVyZXN0LXNxdWFyZTogJGNvbG9yLXBpbnRlcmVzdCxcblx0cnNzOiAkY29sb3ItcnNzLFxuXHRyc3Mtc3F1YXJlOiAkY29sb3ItcnNzLFxuXHR0d2l0dGVyOiAkY29sb3ItdHdpdHRlcixcblx0dHdpdHRlci1zcXVhcmU6ICRjb2xvci10d2l0dGVyLFxuXHR5b3V0dWJlOiAkY29sb3IteW91dHViZSxcblx0eW91dHViZS1zcXVhcmU6ICRjb2xvci15b3V0dWJlLFxuKTtcblxuLy8gRUxFTUVOVFMgJiBTS0lOTklOR1xuXG4vLyBHZW5lcmFsXG4kY29sb3ItYmFja2dyb3VuZC1ib2R5OiAkY29sb3Itd2hpdGU7XG4kY29sb3ItdGV4dC1tYWluOiAkY29sb3ItY29kLWdyYXk7XG4kY29sb3ItYmFja2dyb3VuZC1ocjogJGNvbG9yLXNpbHZlcjtcbiRjb2xvci1ib3JkZXItYWJicjogJGNvbG9yLWRvdmUtZ3JheTtcblxuLy8gQWNjZXNzaWJpbGl0eVxuJGNvbG9yLWJhY2tncm91bmQtc2NyZWVuLXJlYWRlcjogJGNvbG9yLXdoaXRlc21va2U7XG4kY29sb3ItdGV4dC1zY3JlZW4tcmVhZGVyOiAkY29sb3ItYmx1ZTtcblxuLy8gTGlua3NcbiRjb2xvci1saW5rOiAjMDA2MGE5O1xuJGNvbG9yLWxpbmstdmlzaXRlZDogIzAwNjBhOTtcbiRjb2xvci1saW5rLWhvdmVyOiAjMDA2MGE5O1xuIiwiLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gVHlwb2dyYXBoeVxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLy8vXG4vLy8gQGdyb3VwIHZhcmlhYmxlc1xuLy8vIEBhdXRob3IgV2ViRGV2U3R1ZGlvc1xuLy8vL1xuXG4vLy8gRGVmaW5lIHNhbnMgZm9udC5cbiRmb250LXNhbnM6ICdPcGVuIFNhbnMnLCBzYW5zLXNlcmlmO1xuXG4kZm9udC1icmFuZDogJ0hlbHZldGljYScsIHNhbnMtc2VyaWY7XG5cbi8vLyBEZWZpbmUgc2VyaWYgZm9udC5cbiRmb250LXNlcmlmOiBSb2JvdG8sIEdlb3JnaWEsIFRpbWVzLCAnVGltZXMgTmV3IFJvbWFuJywgc2VyaWY7XG5cbi8vLyBEZWZpbmUgbW9ub3NwYWNlIGZvbnQuXG4kZm9udC1jb2RlOiBNb25hY28sIENvbnNvbGFzLCAnQW5kYWxlIE1vbm8nLCAnRGVqYVZ1IFNhbnMgTW9ubycsIG1vbm9zcGFjZTtcblxuLy8vIERlZmluZSBwcmUgZm9udC5cbiRmb250LXByZTogJ0NvdXJpZXIgMTAgUGl0Y2gnLCBDb3VyaWVyLCBtb25vc3BhY2U7XG5cbi8vLyBEZWZpbmUgZ2xvYmFsIGxpbmUtaGVpZ2h0LlxuJGxpbmUtaGVpZ2h0LWJvZHk6IDEuNjI1O1xuXG4vLy8gRGVmaW5lIGxpbmUtaGVpZ2h0IGZvciBgPHByZT5gLlxuJGxpbmUtaGVpZ2h0LXByZTogJGxpbmUtaGVpZ2h0LWJvZHk7XG4iLCIvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBXb3JkIEJyZWFrXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vLy9cbi8vLyBAZ3JvdXAgbWl4aW5zXG4vLy8gQGF1dGhvciBTdGFjeSBLdmVybm1vXG4vLy8vXG5cbi8vLyBLZWVwIHdvcmRzIHRvZ2V0aGVyIGlmIHBvc3NpYmxlLCBidXQgZm9yY2UgYnJlYWsgYW55dGhpbmcgdGhhdCBpcyB0b28gbG9uZ1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkd29yZC1icmVhayBba2VlcC1hbGxdXG4vLy8gICAgICBgbm9ybWFsYCB8IGBicmVhay1hbGxgIHwgYGtlZXAtYWxsYFxuLy8vXG4vLy8gQGxpbmsgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQ1NTL3dvcmQtYnJlYWsgVmlldyBiYWNrZ3JvdW5kIGluZm9ybWF0aW9uIGFib3V0IHdvcmQtYnJlYWsgaGVyZVxuLy8vIEBsaW5rIGh0dHA6Ly9zYXNzbWVpc3Rlci5jb20vZ2lzdC8zZjA5ZTY5YTczZTE0ODU5Zjk2NyBWaWV3IHdvcmQtYnJlYWsgaW4gYWN0aW9uXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gQmFzaWMgVXNhZ2UgU2Fzc1xuLy8vICAgIC5icmVhay1sb25nLXdvcmRzLW9ubHkge1xuLy8vICAgICAgICBAaW5jbHVkZSB3b3JkLWJyZWFrKGtlZXAtYWxsKTtcbi8vLyAgICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gQmFzaWMgVXNhZ2UgQ1NTIE91dHB1dFxuLy8vICAgIC5icmVhay1sb25nLXdvcmRzLW9ubHkge1xuLy8vICAgICAgICAgICAgd29yZC13cmFwOiBicmVhay13b3JkO1xuLy8vICAgICAgICAgICAgd29yZC1icmVhazoga2VlcC1hbGw7XG4vLy8gICAgIH1cblxuXG5AbWl4aW4gd29yZC1icmVhaygkd29yZC1icmVhazoga2VlcC1hbGwpIHtcblx0d29yZC1icmVhazogJHdvcmQtYnJlYWs7XG5cdHdvcmQtd3JhcDogYnJlYWstd29yZDtcbn1cbiIsIi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEFjY2Vzc2liaWxpdHlcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gSGlkZSB0ZXh0IG1lYW50IG9ubHkgZm9yIHNjcmVlbiByZWFkZXJzXG4uc2NyZWVuLXJlYWRlci10ZXh0IHtcblx0QGluY2x1ZGUgc2l6ZShyZW0oMSkpO1xuXG5cdGNsaXA6IHJlY3QocmVtKDEpLCByZW0oMSksIHJlbSgxKSwgcmVtKDEpKTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwOyAvLyBkbyBub3Qgc211Y2ggdGV4dCBpbiBzY3JlZW4gcmVhZGVyc1xuXG5cdCY6aG92ZXIsXG5cdCY6YWN0aXZlLFxuXHQmOmZvY3VzIHtcblx0XHRAaW5jbHVkZSBzaXplKGF1dG8pO1xuXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWJhY2tncm91bmQtc2NyZWVuLXJlYWRlcjtcblx0XHRib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1tZWRpdW07XG5cdFx0Ym94LXNoYWRvdzogMCAwIHJlbSgyKSByZW0oMikgcmdiYSgkY29sb3ItYmxhY2ssIDAuNik7XG5cdFx0Y2xpcDogYXV0bztcblx0XHRjb2xvcjogJGNvbG9yLXRleHQtc2NyZWVuLXJlYWRlcjtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRmb250LXNpemU6IHJlbSgxNCk7XG5cdFx0Zm9udC13ZWlnaHQ6IDcwMDtcblx0XHRsZWZ0OiByZW0oNSk7XG5cdFx0bGluZS1oZWlnaHQ6IG5vcm1hbDtcblx0XHRwYWRkaW5nOiByZW0oMTUpIHJlbSgyMykgcmVtKDE0KTtcblx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0dG9wOiByZW0oNSk7XG5cdFx0ei1pbmRleDogMTAwMDAwOyAvLyBBYm92ZSBXUCB0b29sYmFyXG5cdH0gLy8gJjpob3ZlciwgJjphY3RpdmUsICY6Zm9jdXNcbn0gLy8gLnNjcmVlbi1yZWFkZXItdGV4dFxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gU2V0cyB0aGUgYHdpZHRoYCBhbmQgYGhlaWdodGAgb2YgdGhlIGVsZW1lbnQuXG4vLy9cbi8vLyBAcGFyYW0ge0xpc3R9ICRzaXplXG4vLy8gICBBIGxpc3Qgb2YgYXQgbW9zdCAyIHNpemUgdmFsdWVzLlxuLy8vXG4vLy8gICBJZiB0aGVyZSBpcyBvbmx5IGEgc2luZ2xlIHZhbHVlIGluIGAkc2l6ZWAgaXQgaXMgdXNlZCBmb3IgYm90aCB3aWR0aCBhbmQgaGVpZ2h0LiBBbGwgdW5pdHMgYXJlIHN1cHBvcnRlZC5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmZpcnN0LWVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBzaXplKDJlbSk7XG4vLy8gICB9XG4vLy9cbi8vLyAgIC5zZWNvbmQtZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIHNpemUoYXV0byAxMGVtKTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC5maXJzdC1lbGVtZW50IHtcbi8vLyAgICAgd2lkdGg6IDJlbTtcbi8vLyAgICAgaGVpZ2h0OiAyZW07XG4vLy8gICB9XG4vLy9cbi8vLyAgIC5zZWNvbmQtZWxlbWVudCB7XG4vLy8gICAgIHdpZHRoOiBhdXRvO1xuLy8vICAgICBoZWlnaHQ6IDEwZW07XG4vLy8gICB9XG4vLy9cbi8vLyBAdG9kbyBSZWZhY3RvciBpbiA1LjAuMCB0byB1c2UgYSBjb21tYS1zZXBhcmF0ZWQgYXJndW1lbnRcblxuQG1peGluIHNpemUoJHZhbHVlKSB7XG4gICR3aWR0aDogbnRoKCR2YWx1ZSwgMSk7XG4gICRoZWlnaHQ6ICR3aWR0aDtcblxuICBAaWYgbGVuZ3RoKCR2YWx1ZSkgPiAxIHtcbiAgICAkaGVpZ2h0OiBudGgoJHZhbHVlLCAyKTtcbiAgfVxuXG4gICR1c2VyLWRlcHJlY2F0aW9uLXdhcm5pbmdzLXNldHRpbmc6ICRvdXRwdXQtYm91cmJvbi1kZXByZWNhdGlvbi13YXJuaW5ncztcbiAgJG91dHB1dC1ib3VyYm9uLWRlcHJlY2F0aW9uLXdhcm5pbmdzOiBmYWxzZSAhZ2xvYmFsO1xuXG4gIEBpZiBpcy1zaXplKCRoZWlnaHQpIHtcbiAgICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIH0gQGVsc2Uge1xuICAgIEB3YXJuIFwiYCN7JGhlaWdodH1gIGlzIG5vdCBhIHZhbGlkIGxlbmd0aCBmb3IgdGhlIGAkaGVpZ2h0YCBwYXJhbWV0ZXIgaW4gdGhlIGBzaXplYCBtaXhpbi5cIjtcbiAgfVxuXG4gIEBpZiBpcy1zaXplKCR3aWR0aCkge1xuICAgIHdpZHRoOiAkd2lkdGg7XG4gIH0gQGVsc2Uge1xuICAgIEB3YXJuIFwiYCN7JHdpZHRofWAgaXMgbm90IGEgdmFsaWQgbGVuZ3RoIGZvciB0aGUgYCR3aWR0aGAgcGFyYW1ldGVyIGluIHRoZSBgc2l6ZWAgbWl4aW4uXCI7XG4gIH1cblxuICAkb3V0cHV0LWJvdXJib24tZGVwcmVjYXRpb24td2FybmluZ3M6ICR1c2VyLWRlcHJlY2F0aW9uLXdhcm5pbmdzLXNldHRpbmcgIWdsb2JhbDtcbn1cbiIsIi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEFsaWdubWVudHNcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gTGVmdCBBbGlnblxuLmFsaWdubGVmdCB7XG5cdGRpc3BsYXk6IGlubGluZTtcblx0ZmxvYXQ6IGxlZnQ7XG5cdG1hcmdpbjogMCByZW0oMjQpIDAgMDtcbn0gLy8gLmFsaWdubGVmdFxuXG4vLyBSaWdodCBBbGlnblxuLmFsaWducmlnaHQge1xuXHRkaXNwbGF5OiBpbmxpbmU7XG5cdGZsb2F0OiByaWdodDtcblx0bWFyZ2luOiAwIDAgMCByZW0oMjQpO1xufSAvLyAuYWxpZ25yaWdodFxuXG4vLyBDZW50ZXIgQWxpZ25cbi5hbGlnbmNlbnRlciB7XG5cdEBpbmNsdWRlIG1hcmdpbi1hdXRvO1xufSAvLyAuYWxpZ25jZW50ZXJcbiIsIi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIE1hcmdpbiBhdXRvXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vLy9cbi8vLyBAZ3JvdXAgbWl4aW5zXG4vLy8gQGF1dGhvciBEYW1vbiBDb29rXG4vLy8vXG5cbi8vLyBIb3Jpem9udGFsbHkgY2VudGVyIGEgYmxvY2sgZWxlbWVudFxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEJhc2ljIFVzYWdlIFNhc3Ncbi8vLyAgICAuY2VudGVyLW15LWJsb2NrLXRoaW5naWUge1xuLy8vICAgICAgICBAaW5jbHVkZSBtYXJnaW4tYXV0bygpO1xuLy8vICAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBCYXNpYyBVc2FnZSBDU1MgT3V0cHV0XG4vLy8gICAgLmNlbnRlci1teS1ibG9jay10aGluZ2llIHtcbi8vLyAgICAgICAgZGlzcGxheTogYmxvY2s7XG4vLy8gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuLy8vICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4vLy8gICAgfVxuXG5AbWl4aW4gbWFyZ2luLWF1dG8ge1xuXHRkaXNwbGF5OiBibG9jaztcblx0bWFyZ2luLWxlZnQ6IGF1dG87XG5cdG1hcmdpbi1yaWdodDogYXV0bztcbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIFByb3ZpZGVzIGFuIGVhc3kgd2F5IHRvIGluY2x1ZGUgYSBjbGVhcmZpeCBmb3IgY29udGFpbmluZyBmbG9hdHMuXG4vLy9cbi8vLyBAbGluayBodHRwOi8vZ29vLmdsL3lQNWhpWlxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzc1xuLy8vICAgLmVsZW1lbnQ6OmFmdGVyIHtcbi8vLyAgICAgY2xlYXI6IGJvdGg7XG4vLy8gICAgIGNvbnRlbnQ6IFwiXCI7XG4vLy8gICAgIGRpc3BsYXk6IGJsb2NrO1xuLy8vICAgfVxuXG5AbWl4aW4gY2xlYXJmaXgge1xuICAmOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuIiwiLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gSFRNTCBFbGVtZW50c1xuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBJZnJhbWVzXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbmJvZHkge1xuXHRmb250LWZhbWlseTogJ0hlbHZldGljYScgc2Fucy1zZXJpZjtcblx0Zm9udC1zaXplOiAxNXB4O1xufVxuXG5lbWJlZCxcbmlmcmFtZSxcbm9iamVjdCB7XG5cdG1heC13aWR0aDogMTAwJTtcblx0Ym9yZGVyOiBub25lO1xufSAvLyBlbWJlZCwgaWZyYW1lLCBvYmplY3RcblxuaHIge1xuXHRAaW5jbHVkZSBzaXplKGF1dG8gMXB4KTtcblxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItYmFja2dyb3VuZC1ocjtcblx0Ym9yZGVyOiAwO1xuXHRtYXJnaW46IDAgMCByZW0oMjQpIDA7XG59IC8vIGhyXG5cbmZpZ3VyZSB7XG5cdG1hcmdpbjogMDtcbn0gLy8gZmlndXJlXG5cbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIExpc3RzXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbnVsLFxub2wge1xuXHRtYXJnaW46IDAgMCAxNXB4IDE1cHg7XG59IC8vIHVsLCBvbFxuXG51bCB7XG5cdGxpc3Qtc3R5bGU6IGRpc2M7XG59IC8vIHVsXG5cbm9sIHtcblx0bGlzdC1zdHlsZTogZGVjaW1hbDtcbn0gLy8gb2xcblxubGkgPiB1bCxcbmxpID4gb2wge1xuXHRtYXJnaW46IDAgMCAwIHJlbSgyNCk7XG59IC8vIGxpID4gdWwsIGxpID4gb2xcblxuZHQge1xuXHRmb250LXdlaWdodDogNzAwO1xufSAvLyBkdFxuXG5kZCB7XG5cdG1hcmdpbjogMCByZW0oMjQpIHJlbSgyNCkgMDtcbn0gLy8gZGRcblxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gVGFibGVzXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbnRhYmxlIHtcblx0QGluY2x1ZGUgc2l6ZSgxMDAlIGF1dG8pO1xuXG5cdG1hcmdpbjogMCAwIHJlbSgyNCkgMDtcbn0gLy8gdGFibGVcblxudGgge1xuXHRmb250LXdlaWdodDogNzAwO1xufSAvLyB0aFxuIiwiLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIE1lZGlhXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBQYWdlLCBFbnRyeSBhbmQgQ29tbWVudCBDb250ZW50XG4ucGFnZS1jb250ZW50LFxuLmVudHJ5LWNvbnRlbnQsXG4uY29tbWVudC1jb250ZW50IHtcblx0Ly8gV1Agc21pbGV5XG5cdC53cC1zbWlsZXkge1xuXHRcdEBpbmNsdWRlIG1hcmdpbi1wYWRkaW5nLXJlc2V0O1xuXG5cdFx0Ym9yZGVyOiBub25lO1xuXHR9IC8vIGltZy53cC1zbWlsZXlcbn0gLy8gLnBhZ2UtY29udGVudCwgLmVudHJ5LWNvbnRlbnQsIC5jb21tZW50LWNvbnRlbnRcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEltYWdlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuaW1nIHtcblx0aGVpZ2h0OiBhdXRvO1xuXHRtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBDYXB0aW9uc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gSW1hZ2UgY2FwdGlvbnNcbi53cC1jYXB0aW9uIHtcblx0bWFyZ2luOiAwIDAgcmVtKDI0KSAwO1xuXHRtYXgtd2lkdGg6IDEwMCU7XG5cblx0aW1nW2NsYXNzKj0nd3AtaW1hZ2UtJ10ge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdG1hcmdpbjogMCBhdXRvO1xuXHR9IC8vIGltZ1tjbGFzcyo9XCJ3cC1pbWFnZS1cIl1cblxuXHQvLyBBZGQgYXV0byBtYXJnaW5zIHNvIGltYWdlIGlzIGNlbnRlcmVkXG5cdCYuYWxpZ25jZW50ZXIge1xuXHRcdG1hcmdpbjogMCBhdXRvIHJlbSgyNCkgYXV0bztcblx0fSAvLyAmLmFsaWduY2VudGVyXG5cblx0Ly8gQWRkIGEgbWFyZ2luIHJpZ2h0IHRvIGxlZnQtYWxpZ25lZCBpbWFnZXMgd2l0aCBjYXB0aW9uc1xuXHQmLmFsaWdubGVmdCB7XG5cdFx0bWFyZ2luLXJpZ2h0OiByZW0oMjQpO1xuXHR9IC8vICYuYWxpZ25sZWZ0XG5cblx0Ly8gQWRkIGEgbWFyZ2luIGxlZnQgdG8gcmlnaHQtYWxpZ25lZCBpbWFnZXMgd2l0aCBjYXB0aW9uc1xuXHQmLmFsaWducmlnaHQge1xuXHRcdG1hcmdpbi1sZWZ0OiByZW0oMjQpO1xuXHR9IC8vICYuYWxpZ25yaWdodFxuXG5cdC8vIEFkZCB0b3AgYW5kIGJvdHRvbSBtYXJnaW4gdG8gY2FwdGlvbiB0ZXh0XG5cdC53cC1jYXB0aW9uLXRleHQge1xuXHRcdG1hcmdpbjogcmVtKDEyKSAwO1xuXHR9IC8vIC53cC1jYXB0aW9uLXRleHRcbn0gLy8gLndwLWNhcHRpb25cblxuLy8gSW1hZ2UgY2FwdGlvbiB0ZXh0XG4ud3AtY2FwdGlvbi10ZXh0IHtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xufSAvLyAud3AtY2FwdGlvbi10ZXh0XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBHYWxsZXJpZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIEdhbGxlcnlcbi5nYWxsZXJ5IHtcblx0bWFyZ2luOiAwIDAgcmVtKDI0KSAwO1xufSAvLyAuZ2FsbGVyeVxuXG4vLyBHYWxsZXJ5IGl0ZW1zXG4uZ2FsbGVyeS1pdGVtIHtcblx0QGluY2x1ZGUgc2l6ZSgxMDAlIGF1dG8pO1xuXG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHR2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuXG5cdC5nYWxsZXJ5LWNvbHVtbnMtMiAmIHtcblx0XHRtYXgtd2lkdGg6IDUwJTtcblx0fSAvLyAuZ2FsbGVyeS1jb2x1bW5zLTIgJlxuXG5cdC5nYWxsZXJ5LWNvbHVtbnMtMyAmIHtcblx0XHRtYXgtd2lkdGg6IDMzLjMzJTtcblx0fSAvLyAuZ2FsbGVyeS1jb2x1bW5zLTMgJlxuXG5cdC5nYWxsZXJ5LWNvbHVtbnMtNCAmIHtcblx0XHRtYXgtd2lkdGg6IDI1JTtcblx0fSAvLyAuZ2FsbGVyeS1jb2x1bW5zLTQgJlxuXG5cdC5nYWxsZXJ5LWNvbHVtbnMtNSAmIHtcblx0XHRtYXgtd2lkdGg6IDIwJTtcblx0fSAvLyAuZ2FsbGVyeS1jb2x1bW5zLTUgJlxuXG5cdC5nYWxsZXJ5LWNvbHVtbnMtNiAmIHtcblx0XHRtYXgtd2lkdGg6IDE2LjY2JTtcblx0fSAvLyAuZ2FsbGVyeS1jb2x1bW5zLTYgJlxuXG5cdC5nYWxsZXJ5LWNvbHVtbnMtNyAmIHtcblx0XHRtYXgtd2lkdGg6IDE0LjI4JTtcblx0fSAvLyAuZ2FsbGVyeS1jb2x1bW5zLTcgJlxuXG5cdC5nYWxsZXJ5LWNvbHVtbnMtOCAmIHtcblx0XHRtYXgtd2lkdGg6IDEyLjUlO1xuXHR9IC8vIC5nYWxsZXJ5LWNvbHVtbnMtOCAmXG5cblx0LmdhbGxlcnktY29sdW1ucy05ICYge1xuXHRcdG1heC13aWR0aDogMTEuMTElO1xuXHR9IC8vIC5nYWxsZXJ5LWNvbHVtbnMtOSAmXG59IC8vIC5nYWxsZXJ5LWl0ZW1cblxuLy8gR2FsbGVyeSBjYXB0aW9uXG4uZ2FsbGVyeS1jYXB0aW9uIHtcblx0ZGlzcGxheTogYmxvY2s7XG59IC8vIC5nYWxsZXJ5LWNhcHRpb25cblxuLy8gRmx1aWQgZW1iZWRcbi5mbHVpZC1lbWJlZCB7XG5cdGhlaWdodDogMDtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0cGFkZGluZy1ib3R0b206IDU2LjI1JTsgLy8gRm9yIHJhdGlvIDE2OjkuIDc1JSBpZiByYXRpbyBpcyA0OjNcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXG5cdGVtYmVkLFxuXHRvYmplY3QsXG5cdGlmcmFtZSB7XG5cdFx0QGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDAgbnVsbCBudWxsIDApO1xuXHRcdEBpbmNsdWRlIHNpemUoMTAwJSk7XG5cdH0gLy8gZW1iZWQsIG9iamVjdCwgaWZyYW1lXG59IC8vIC5mbHVpZC1lbWJlZFxuXG4vLyBKZXRwYWNrIG5vdyBhdXRvIHdyYXBzIGFsbCBvZW1iZWQgdmlkZW9zIGluIGEgPGRpdj5cbi8vIExldCdzIG1ha2UgaXQgZnVsbC13aWR0aCBpbiB0aGUgY29udGVudCBjdXogaXQgbG9va3MgY29vbC5cbi5qZXRwYWNrLXZpZGVvLXdyYXBwZXIge1xuXHRtYXJnaW4tbGVmdDogcmVtKC0zNSk7XG5cdG1heC13aWR0aDogY2FsYygxMDAlICsgNzBweCk7XG5cdHdpZHRoOiBjYWxjKDEwMCUgKyA3MHB4KTtcblxuXHRAaW5jbHVkZSBtZWRpYSgkdGFibGV0LWxhbmRzY2FwZSkge1xuXHRcdG1hcmdpbi1sZWZ0OiByZW0oLTExNSk7XG5cdFx0bWF4LXdpZHRoOiBjYWxjKDEwMCUgKyAyMzBweCk7XG5cdFx0d2lkdGg6IGNhbGMoMTAwJSArIDIzMHB4KTtcblx0fVxufSAvLyAuamV0cGFjay12aWRlby13cmFwcGVyXG5cbi8vIENlbnRlciBpbWFnZSBiYWNrZ3JvdW5kXG4uaW1hZ2UtYXMtYmFja2dyb3VuZCB7XG5cdGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG5cdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG59IC8vIC5pbWFnZS1hcy1iYWNrZ3JvdW5kXG5cbi8vLyBWaWRlbyBhcyBiYWNrZ3JvdW5kXG4udmlkZW8tYXMtYmFja2dyb3VuZCB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRoZWlnaHQ6IGF1dG87IC8vIElFL0VkZ2UgYnJvd3NlcnMgbmVlZCB0aGlzIHRvIHNldCB0aGUgdmlkZW8gdG8gZnVsbC13aWR0aC5cblx0b2JqZWN0LWZpdDogY292ZXI7XG5cdG9iamVjdC1wb3NpdGlvbjogY2VudGVyIHRvcDtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR3aWR0aDogMTAwJTtcblx0ei1pbmRleDogMTtcbn0gLy8gLnZpZGVvLWFzLWJhY2tncm91bmRcblxuLy8gc3ZnIGRlZnNcbi5zdmctZGVmcyB7XG5cdGRpc3BsYXk6IG5vbmU7XG59IC8vIC5zdmctZGVmc1xuIiwiLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gTWFyZ2luICYgUGFkZGluZyBSZXNldFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLy8vXG4vLy8gQGdyb3VwIG1peGluc1xuLy8vIEBhdXRob3IgR3JlZyBSaWNrYWJ5XG4vLy8vXG5cbi8vLyBSZXNldHMgbWFyZ2luIGFuZCBwYWRkaW5nIG9uIGFueSBlbGVtZW50XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gQmFzaWMgVXNhZ2UgU2Fzc1xuLy8vICAgIC5mb28ge1xuLy8vXHRcdFx0QGluY2x1ZGUgbWFyZ2luLXBhZGRpbmctcmVzZXQ7XG4vLy8gICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEJhc2ljIFVzYWdlIENTUyBPdXRwdXRcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgICAgIG1hcmdpbjogMDtcbi8vLyAgICAgICAgIHBhZGRpbmc6IDA7XG4vLy8gICAgfVxuXG5AbWl4aW4gbWFyZ2luLXBhZGRpbmctcmVzZXQge1xuXHRtYXJnaW46IDA7XG5cdHBhZGRpbmc6IDA7XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBQcm92aWRlcyBhIHF1aWNrIG1ldGhvZCBmb3Igc2V0dGluZyBhbiBlbGVtZW504oCZcyBwb3NpdGlvbi4gVXNlIGEgYG51bGxgIHZhbHVlIHRvIOKAnHNraXDigJ0gYSBzaWRlLlxuLy8vXG4vLy8gQHBhcmFtIHtQb3NpdGlvbn0gJHBvc2l0aW9uIFtyZWxhdGl2ZV1cbi8vLyAgIEEgQ1NTIHBvc2l0aW9uIHZhbHVlXG4vLy9cbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICRjb29yZGluYXRlcyBbbnVsbCBudWxsIG51bGwgbnVsbF1cbi8vLyAgIExpc3Qgb2YgdmFsdWVzIHRoYXQgY29ycmVzcG9uZCB0byB0aGUgNC12YWx1ZSBzeW50YXggZm9yIHRoZSBlZGdlcyBvZiBhIGJveFxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAwIG51bGwgbnVsbCAxMGVtKTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgbGVmdDogMTBlbTtcbi8vLyAgICAgcG9zaXRpb246IGFic29sdXRlO1xuLy8vICAgICB0b3A6IDA7XG4vLy8gICB9XG4vLy9cbi8vLyBAcmVxdWlyZSB7ZnVuY3Rpb259IGlzLWxlbmd0aFxuLy8vIEByZXF1aXJlIHtmdW5jdGlvbn0gdW5wYWNrXG5cbkBtaXhpbiBwb3NpdGlvbigkcG9zaXRpb246IHJlbGF0aXZlLCAkY29vcmRpbmF0ZXM6IG51bGwgbnVsbCBudWxsIG51bGwpIHtcbiAgQGlmIHR5cGUtb2YoJHBvc2l0aW9uKSA9PSBsaXN0IHtcbiAgICAkY29vcmRpbmF0ZXM6ICRwb3NpdGlvbjtcbiAgICAkcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgJHVzZXItZGVwcmVjYXRpb24td2FybmluZ3Mtc2V0dGluZzogJG91dHB1dC1ib3VyYm9uLWRlcHJlY2F0aW9uLXdhcm5pbmdzO1xuICAkb3V0cHV0LWJvdXJib24tZGVwcmVjYXRpb24td2FybmluZ3M6IGZhbHNlICFnbG9iYWw7XG4gICRjb29yZGluYXRlczogdW5wYWNrKCRjb29yZGluYXRlcyk7XG5cbiAgJG9mZnNldHM6IChcbiAgICB0b3A6ICAgIG50aCgkY29vcmRpbmF0ZXMsIDEpLFxuICAgIHJpZ2h0OiAgbnRoKCRjb29yZGluYXRlcywgMiksXG4gICAgYm90dG9tOiBudGgoJGNvb3JkaW5hdGVzLCAzKSxcbiAgICBsZWZ0OiAgIG50aCgkY29vcmRpbmF0ZXMsIDQpXG4gICk7XG5cbiAgcG9zaXRpb246ICRwb3NpdGlvbjtcblxuICBAZWFjaCAkb2Zmc2V0LCAkdmFsdWUgaW4gJG9mZnNldHMge1xuICAgIEBpZiBpcy1sZW5ndGgoJHZhbHVlKSB7XG4gICAgICAjeyRvZmZzZXR9OiAkdmFsdWU7XG4gICAgfVxuICB9XG4gICRvdXRwdXQtYm91cmJvbi1kZXByZWNhdGlvbi13YXJuaW5nczogJHVzZXItZGVwcmVjYXRpb24td2FybmluZ3Mtc2V0dGluZyAhZ2xvYmFsO1xufVxuIiwiLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gV2luZG93IFJlYWR5XG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIEkgd2lsbCBjYXVzZSBGT1VULCBoaWRlIG1lIGJ5IGRlZmF1bHQhXG4ubm90LXJlYWR5IHtcblx0b3BhY2l0eTogMDtcblx0dHJhbnNpdGlvbjogJHRyYW5zaXRpb24tb3BhY2l0eTtcblx0dmlzaWJpbGl0eTogaGlkZGVuO1xuXG5cdC8vIFdoZW4gZXZlcnl0aGluZyBoYXMgbG9hZGVkLCBmYWRlIG1lIGluIHVzaW5nIHdpbmRvdy1yZWFkeS5qcy5cblx0LnJlYWR5ICYge1xuXHRcdG9wYWNpdHk6IDE7XG5cdFx0dmlzaWJpbGl0eTogdmlzaWJsZTtcblx0fSAvLyAucmVhZHkgJlxufSAvLyAubm90LXJlYWR5XG4iLCIvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBUUkFOU0lUSU9OU1xuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLy8vXG4vLy8gQGdyb3VwIHZhcmlhYmxlc1xuLy8vIEBhdXRob3IgV2ViRGV2U3R1ZGlvc1xuLy8vL1xuXG4vLy8gT3BhY2l0eSB0cmFuc2l0aW9uLlxuJHRyYW5zaXRpb24tb3BhY2l0eTogb3BhY2l0eSAwLjVzIGVhc2U7XG5cbi8vLyBCb3JkZXIgdHJhbnNpdGlvblxuJHRyYW5zaXRpb24tYm9yZGVyOiBib3JkZXIgMC4ycyBlYXNlLWluLW91dDtcblxuLy8vIEFsbCB0cmFuc2l0aW9ucy4gVXNlIG9ubHkgaW4gZW1lcmdlbmNpZXMhXG4kdHJhbnNpdGlvbi1hbGw6IGFsbCAwLjVzIGVhc2UtaW4tb3V0O1xuXG4vLy8gVHJhbnNmb3JtIHRyYW5zaXRpb25zLlxuJHRyYW5zaXRpb24tdHJhbnNmb3JtOiB0cmFuc2Zvcm0gMC41cyBlYXNlLWluLW91dDtcblxuLy8vIFRyYW5zZm9ybSBIYW1idXJnZXJcbiR0cmFuc2l0aW9uLWhhbWJ1cmdlcjogdHJhbnNmb3JtIDAuNXMsIGJhY2tncm91bmQtY29sb3IgMC4zcyBlYXNlLWluLW91dDtcbiIsIi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFNjYWZmb2xkaW5nIExpYnJhcnlcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gSUUxMSBUd2Vha1xuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLnBhZ2UtdGVtcGxhdGUtdGVtcGxhdGUtc2NhZmZvbGRpbmcgLnByaW1hcnkge1xuXHRmbG9hdDogbm9uZTtcblx0d2lkdGg6IDEwMCU7XG59XG5cbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFNjYWZmb2xkaW5nIGRlZmF1bHRzXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4uc2NhZmZvbGRpbmctZG9jdW1lbnQge1xuXHRtYXJnaW4tYm90dG9tOiAkZ3V0dGVyICogMjtcblxuXHQvLyBUaGUgc2VjdGlvbiA8aGVhZGVyPlxuXHQmLWhlYWRlciB7XG5cdFx0Ym9yZGVyLWJvdHRvbTogcmVtKDEpIHNvbGlkICRjb2xvci1hbHRvO1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRcdG1hcmdpbi1ib3R0b206ICRndXR0ZXI7XG5cdFx0cGFkZGluZy1ib3R0b206ICRndXR0ZXI7XG5cblx0XHQvLyBUaGUgdGl0bGUuXG5cdFx0aDIge1xuXHRcdFx0QGluY2x1ZGUgbWFyZ2luLXBhZGRpbmctcmVzZXQ7XG5cdFx0fSAvLyBoMlxuXG5cdFx0Ly8gVGhlIHRleHQuXG5cdFx0cCB7XG5cdFx0XHRmb250LXN0eWxlOiBpdGFsaWM7XG5cdFx0XHRtYXJnaW4tdG9wOiByZW0oMTIpO1xuXHRcdH0gLy8gcFxuXHR9IC8vIC5zY2FmZm9sZGluZy1zZWN0aW9uLWhlYWRlclxuXG5cdC8vIFRoZSBzZWN0aW9uIGNvbnRlbnQgPGRpdj5cblx0Ji1jb250ZW50IHtcblx0XHRkaXNwbGF5OiBub25lO1xuXG5cdFx0Ly8gUmVzZXQuXG5cdFx0aDQsXG5cdFx0cCB7XG5cdFx0XHRtYXJnaW46ICRndXR0ZXIgMDtcblx0XHR9IC8vIGg0LCBwXG5cblx0XHQvLyBUaGUgPHByZT4gY29udGFpbmVyLlxuXHRcdHByZSB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3Itd2hpdGU7XG5cdFx0XHRib3JkZXI6IHJlbSgxKSBzb2xpZCAkY29sb3ItYWx0bztcblx0XHRcdGNvbG9yOiAkY29sb3Itc2lsdmVyLWNoYWxpY2U7XG5cdFx0XHRtYXJnaW46IDAgMCAkZ3V0dGVyO1xuXHRcdFx0cGFkZGluZzogJGd1dHRlcjtcblx0XHR9IC8vIHByZVxuXG5cdFx0Ly8gVGhlIDxjb2RlPiBjb250YWluZXIuXG5cdFx0Y29kZSB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItYWx0bztcblx0XHRcdGZvbnQtc2l6ZTogcmVtKDEzKTtcblx0XHRcdHBhZGRpbmc6IHJlbSg1KTtcblx0XHR9IC8vIGNvZGVcblx0fSAvLyAmLWNvbnRlbnRcblxuXHQvLyBBbHdheXMgZGlzcGxheSB0aGUgZ2xvYmFsIHNjYWZmb2xkaW5nLlxuXHQmLnNjYWZmb2xkaW5nLWNvbG9ycyxcblx0Ji5zY2FmZm9sZGluZy1mb250cyB7XG5cblx0XHQuc2NhZmZvbGRpbmctZG9jdW1lbnQtY29udGVudCB7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHR9IC8vIC5zY2FmZm9sZGluZy1kb2N1bWVudC1jb250ZW50XG5cdH0gLy8gJi5zY2FmZm9sZGluZy1jb2xvcnMsICYuc2NhZmZvbGRpbmctZm9udHNcbn0gLy8gLnNjYWZmb2xkaW5nLWRvY3VtZW50XG5cblxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQ29sb3Igc3dhdGNoIGRlZmF1bHRzXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4uc3dhdGNoLWNvbnRhaW5lciB7XG5cdEBpbmNsdWRlIGNsZWFyZml4O1xuXG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cdGZsZXgtd3JhcDogd3JhcDtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXG5cdC8vIEVhY2ggc3dhdGNoLlxuXHQuc3dhdGNoIHtcblx0XHRib3JkZXI6IDFweCBzb2xpZCAkY29sb3ItYWx0bztcblx0XHRib3JkZXItcmFkaXVzOiByZW0oNSk7XG5cdFx0ZmxleDogMCAxIDIzLjg3NSU7XG5cdFx0aGVpZ2h0OiByZW0oMTI1KTtcblx0XHRtYXJnaW4tYm90dG9tOiAkZ3V0dGVyO1xuXHRcdG1hcmdpbi1yaWdodDogMS41JTtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXG5cdFx0JjpudGgtY2hpbGQoNG4pIHtcblx0XHRcdG1hcmdpbi1yaWdodDogMDtcblx0XHR9XG5cblx0XHQvLyBUaGUgc3dhdGNoIDxoZWFkZXI+XG5cdFx0JiBoZWFkZXIge1xuXHRcdFx0YWxpZ24tY29udGVudDogY2VudGVyO1xuXHRcdFx0Y29sb3I6ICRjb2xvci1hbHRvO1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdFx0XHRoZWlnaHQ6IGNhbGMoMTAwJSAtIDM5cHgpO1xuXHRcdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdFx0fSAvLyBoZWFkZXJcblxuXHRcdC8vIFRoZSBzd2F0Y2ggPGZvb3Rlcj5cblx0XHQmIGZvb3RlciB7XG5cdFx0XHRAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgbnVsbCBudWxsIDAgbnVsbCk7XG5cblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci13aGl0ZTtcblx0XHRcdGJvcmRlci10b3A6IDFweCBzb2xpZCAkY29sb3ItYWx0bztcblx0XHRcdGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IHJlbSg0KTtcblx0XHRcdGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiByZW0oNCk7XG5cdFx0XHRmb250LXNpemU6IHJlbSgxMik7XG5cdFx0XHRwYWRkaW5nOiByZW0oMTApO1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0fSAvLyBmb290ZXJcblx0fSAvLyAuc3dhdGNoXG59IC8vIC5zd2F0Y2gtY29udGFpbmVyXG4iLCIvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBDT0xPUlNcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4vLy8vXG4vLy8gQGdyb3VwIG1peGluc1xuLy8vIEBhdXRob3IgQ2FycmllIEZvcmRlXG4vLy8vXG5cbi8vLyBRdWlja2x5IGFuZCBlYXNpbHkgY3JlYXRlIGNvbG9yIHByZXNlbnRhdGlvbmFsIGNsYXNzZXMuIEluY2x1ZGVzIGJhY2tncm91bmQtY29sb3IsIGNvbG9yLCBhbmQgZmlsbCBjbGFzZXMuXG4vLy9cbi8vLyBAcGFyYW0ge21hcH0gJGNvbG9ycyBbJHRoZW1lLWNvbG9yc10gLSBUaGUgdGhlbWUgY29sb3IgbWFwLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEJhc2ljIHVzYWdlLlxuLy8vICBAaW5jbHVkZSBjb2xvcnMoJHRoZW1lLWNvbG9ycyk7XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBPdXRwdXRcbi8vLyAgLmJhY2tncm91bmQtYmx1ZSB7XG4vLy8gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwZjtcbi8vLyAgfVxuLy8vICAuY29sb3ItYmx1ZSB7XG4vLy8gICAgY29sb3I6ICMwMGY7XG4vLy8gIH1cbi8vLyAgLmZpbGwtYmx1ZSB7XG4vLy8gICAgZmlsbDogIzAwZjtcbi8vLyAgfVxuXG5AbWl4aW4gY29sb3JzKCRjb2xvcnM6ICR0aGVtZS1jb2xvcnMpIHtcblxuXHRAaWYgdHlwZS1vZigkY29sb3JzKSAhPSAnbWFwJyB7XG5cdFx0QGVycm9yICdTb3JyeSwgJGNvbG9ycyBpcyBub3QgYSBTYXNzIG1hcCEnO1xuXHR9XG5cblx0QGVhY2ggJG5hbWUsICRjb2xvciBpbiAkY29sb3JzIHtcblxuXHRcdC8vIENyZWF0ZSBiYWNrZ3JvdW5kIGNvbG9yIGNsYXNzZXMuXG5cdFx0LmJhY2tncm91bmQtI3skbmFtZX0ge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuXHRcdH1cblxuXHRcdC8vIENyZWF0ZSBjb2xvciBjbGFzc2VzLlxuXHRcdC5jb2xvci0jeyRuYW1lfSB7XG5cdFx0XHRjb2xvcjogJGNvbG9yO1xuXHRcdH1cblxuXHRcdC8vIENyZWF0ZSBmaWxsIGNsYXNzZXMuXG5cdFx0LmZpbGwtI3skbmFtZX0ge1xuXHRcdFx0ZmlsbDogJGNvbG9yO1xuXHRcdH1cblx0fVxufVxuIiwiLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gR2xvYmFsIExpbmsgU3R5bGVzXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbmEge1xuXHRjb2xvcjogJGNvbG9yLWxpbms7XG5cdHRyYW5zaXRpb246ICR0cmFuc2l0aW9uLW9wYWNpdHk7XG5cblx0Jjp2aXNpdGVkIHtcblx0XHRjb2xvcjogJGNvbG9yLWxpbms7XG5cdH0gLy8gJjp2aXNpdGVkXG5cblx0Jjpob3Zlcixcblx0Jjpmb2N1cyxcblx0JjphY3RpdmUge1xuXHRcdGNvbG9yOiAkY29sb3ItbGluay1ob3Zlcjtcblx0fSAvLyAmOmhvdmVyLCAmOmZvY3VzLCAmOmFjdGl2ZVxufSAvLyBhXG5cblxuYS50ZXh0LWxpbmsge1xuICAgIGNvbG9yOiAkY29sb3ItYnJpZ2h0LWJsdWU7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgICY6YWZ0ZXIge1xuICAgIFx0ICBmb250LWZhbWlseTogXCJGb250QXdlc29tZVwiO1xuICAgIFx0ICBjb250ZW50OiBcIlxcZjBkYVwiO1xuICAgIFx0ICBtYXJnaW4tbGVmdDo1cHg7XG4gICAgfVxufSIsIi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEJhc2UgTGF5b3V0XG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vdXRpbGl0eSBjbGFzcz1cInBhZ2UtbGlua3NcbkBpbmNsdWRlIGRldmljZS1tYXgtc20ge1xuXHQubW9iaWxlLXJldmVyc2Uge1xuXHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcblx0fVxufVxuXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBCYXNpYyBzdHJ1Y3R1cmVcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5zaXRlLWhlYWRlcixcbi5zaXRlLWZvb3Rlcixcbi5wcmltYXJ5LFxuLnNlY29uZGFyeSB7XG5cblx0QGluY2x1ZGUgbWVkaWEoJHRhYmxldC1sYW5kc2NhcGUpIHtcblx0XHRwYWRkaW5nOiAwIDIgKiAkZ3V0dGVyO1xuXHR9XG5cdH0gLy8gLnNpdGUtaGVhZGVyLCAuc2l0ZS1mb290ZXIsIC5wcmltYXJ5LCAuc2Vjb25kYXJ5XG5cblx0c2VjdGlvbi50aGUtY29udGVudCB7XG5cdFx0bWFyZ2luLXRvcDogNTBweDtcblx0fVxuXG5cblx0Ly9wcm9kdWN0IHBhZ2VzIHRlbXBsYXRlXG5cblx0c2VjdGlvbi5zcGxpdGNvbnRlbnQge1xuXHRcdHBhZGRpbmc6IDMwcHggMDtcblxuXHRcdHN2ZyB7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdGNvbG9yOiAkY29sb3ItYnJpZ2h0LWJsdWU7XG5cdFx0XHRmb250LXNpemU6IDMwcHg7XG5cdFx0XHQvL2JvcmRlcjogMnB4IHNvbGlkICRjb2xvci1icmlnaHQtYmx1ZTtcblx0XHRcdHdpZHRoOiA2MHB4IWltcG9ydGFudDtcblx0XHRcdGhlaWdodDogNjBweDtcblx0XHRcdGJvcmRlci1yYWRpdXM6IDUwJTtcblx0XHRcdHBhZGRpbmc6IDVweDtcblxuXHRcdFx0Ji5zZWNvbmQtaWNvbiB7XG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0dG9wOiAwO1xuXHRcdFx0XHRtYXJnaW4tbGVmdDogMjBweDtcblx0XHRcdH1cblx0XHR9XG5cblx0XHRoMiB7XG5cdFx0XHRmb250LXNpemU6IDIycHg7XG5cdFx0XHRsaW5lLWhlaWdodDogMjRweDtcblx0XHR9XG5cdH1cblxuXG5cdC8vaG9tZSBwYWdlIHRlbXBsYXRlXG5cblx0LmNhcmRzLWJnIHtcblx0XHRiYWNrZ3JvdW5kOiB1cmwoYXNzZXRzL2ltYWdlcy9jb3N0Y28tY2FyZC1iZy5qcGcpO1xuXHRcdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogYm90dG9tIHJpZ2h0O1xuXHR9XG5cblx0aDEuaGVyby10aXRsZSB7XG5cdFx0Zm9udC1zaXplOiAzNHB4O1xuXG5cdFx0c3Bhbntcblx0XHRcdGZvbnQtd2VpZ2h0OiA5MDA7XG5cdFx0fVxuXG5cdFx0QGluY2x1ZGUgZGV2aWNlLW1heC1tZCB7XG5cdFx0XHRmb250LXNpemU6IDI2cHg7XG5cdFx0fVxuXHR9XG5cblx0QGluY2x1ZGUgZGV2aWNlLW1heC1tZCB7XG5cdFx0LmhvbWUgaWZyYW1lIHtcblx0XHRcdGhlaWdodDogNjAwcHghaW1wb3J0YW50O1xuXHRcdH1cblx0fVxuXG5cdC8vcHJvZHVjdCBwYWdlIHRlbXBsYXRlXG5cdC5wcm9kdWN0cy1yb3dzIHtcblx0XHQucHJvZHVjdC1yb3cge1xuXHRcdFx0cGFkZGluZzogNTBweCAwO1xuXG5cdFx0XHQmOm50aC1jaGlsZChvZGQpIHtcblx0XHRcdFx0YmFja2dyb3VuZDogI2Y1ZjVmNTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQvL3Byb2R1Y3QgbGFiZWxzXG5cblx0LnByb2R1Y3QtbGFiZWwge1xuXHRcdGxlZnQ6IDA7XG5cdFx0cmlnaHQ6IDA7XG5cdFx0YmFja2dyb3VuZDogIzMzMztcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0dG9wOiAtNTBweDtcblx0XHRtYXgtd2lkdGg6IDEyNXB4O1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRjb2xvcjogJGNvbG9yLXdoaXRlO1xuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0cGFkZGluZzogNXB4O1xuXG5cdFx0Ji5jb2xvci1wcmUge1xuXHRcdFx0YmFja2dyb3VuZDogJGNvbG9yLWJsdWU7XG5cdFx0fVxuXG5cdFx0Ji5jb2xvci1hZHYge1xuXHRcdFx0YmFja2dyb3VuZDogJGNvbG9yLWJsdWUtbWVkaXVtO1xuXHRcdH1cblxuXHRcdCYuY29sb3ItRWNvIHtcblx0XHRcdGJhY2tncm91bmQ6ICRjb2xvci1saWdodC1ibHVlO1xuXHRcdH1cblx0fSIsIi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEJ1dHRvbnNcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmJ0biB7XG4gIHBhZGRpbmc6MTdweCAyNXB4O1xuICBmb250LXNpemU6MTRweDtcbiAgbGluZS1oZWlnaHQ6MTRweDtcbiAgaGVpZ2h0OjUwcHg7XG5cdGZvbnQtZmFtaWx5OidMYXRvJywgJ0FyaWFsJywgc2Fucy1zZXJpZjtcblx0Zm9udC13ZWlnaHQ6NzAwO1xuXHR0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7XG5cdC13ZWJraXQtYm9yZGVyLXJhZGl1czowO1xuICBib3JkZXItcmFkaXVzOjA7XG4gIHBvc2l0aW9uOnJlbGF0aXZlO1xuICBjb2xvcjogJGNvbG9yLXdoaXRlIWltcG9ydGFudDtcblxuICAmOmFmdGVyIHtcbiAgICBcdCAgZm9udC1mYW1pbHk6IFwiRm9udEF3ZXNvbWVcIjtcbiAgICBcdCAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgICBcdCAgY29udGVudDogXCJcXGYwZGFcIjtcbiAgICBcdCAgbWFyZ2luLWxlZnQ6NXB4O1xuICAgIH1cbn1cbi5idG46YWN0aXZlIHtcblx0cGFkZGluZy10b3A6MThweDtcblx0cGFkZGluZy1ib3R0b206MTZweDtcbn1cbi5idG4gLnRleHQsXG4uY29sdW1uLWNvbnRlbnQgLml0ZW0tY29udGVudCBhIC50ZXh0IHtcblx0ZmxvYXQ6bGVmdDtcblx0LXdlYmtpdC10cmFuc2l0aW9uOmFsbCAuMTVzIGxpbmVhcjtcbiAgLW1vei10cmFuc2l0aW9uOmFsbCAuMTVzIGxpbmVhcjtcbiAgLW1zLXRyYW5zaXRpb246YWxsIC4xNXMgbGluZWFyO1xuICAtby10cmFuc2l0aW9uOmFsbCAuMTVzIGxpbmVhcjtcbiAgdHJhbnNpdGlvbjphbGwgLjE1cyBsaW5lYXI7XG59XG4uYnRuIC5hcnJvdyxcbi5jb2x1bW4tY29udGVudCAuaXRlbS1jb250ZW50IGEgLmFycm93LFxuLmNvbHVtbi1jb250ZW50IC5pdGVtLWNvbnRlbnQgYSAuYXJyb3cgKyAuaG92ZXIge1xuXHRmbG9hdDpyaWdodDtcblx0d2lkdGg6OXB4O1xuXHRoZWlnaHQ6MTJweDtcblx0bWFyZ2luOjAgMCAwIDI1cHg7XG5cdC13ZWJraXQtdHJhbnNpdGlvbjphbGwgLjE1cyBsaW5lYXI7XG4gIC1tb3otdHJhbnNpdGlvbjphbGwgLjE1cyBsaW5lYXI7XG4gIC1tcy10cmFuc2l0aW9uOmFsbCAuMTVzIGxpbmVhcjtcbiAgLW8tdHJhbnNpdGlvbjphbGwgLjE1cyBsaW5lYXI7XG4gIHRyYW5zaXRpb246YWxsIC4xNXMgbGluZWFyO1xufVxuLmNvbHVtbi1jb250ZW50IC5pdGVtLWNvbnRlbnQgYSAuYXJyb3cgKyAuaG92ZXIge1xuXHRwb3NpdGlvbjphYnNvbHV0ZTtcblx0cmlnaHQ6MDtcbn1cbi5idG4tYmx1ZSB7XG5cdGJhY2tncm91bmQ6IzAwNzRiYztcblx0Y29sb3I6I0ZGRjtcblx0bGV0dGVyLXNwYWNpbmc6MXB4O1xufVxuLmJ0bi1ibHVlOmhvdmVyLFxuLmJ0bi1ibHVlOmZvY3VzLFxuLmJ0bi1ibHVlOmFjdGl2ZSB7XG5cdGJhY2tncm91bmQ6IzAwMDtcblx0Y29sb3I6I0ZGRjtcbn1cbi5idG4tYmx1ZSAuYXJyb3cge1xuXHRiYWNrZ3JvdW5kOnVybCgnLi4vaW1nL2ljb24tYXJyb3ctd2hpdGUucG5nJykgbm8tcmVwZWF0IDAgMCB0cmFuc3BhcmVudDtcbn1cbi5jb2x1bW4tY29udGVudCAuaXRlbS1jb250ZW50IGEgLmFycm93IHtcblx0YmFja2dyb3VuZDp1cmwoJy4uL2ltZy9pY29uLWFycm93LWJsdWUucG5nJykgbm8tcmVwZWF0IDAgMCB0cmFuc3BhcmVudDtcblx0bWFyZ2luOjRweCAwIDAgMTBweDtcbn1cbi5jb2x1bW4tY29udGVudCAuaXRlbS1jb250ZW50IGEgLmFycm93ICsgLmhvdmVyIHtcblx0YmFja2dyb3VuZDp1cmwoJy4uL2ltZy9pY29uLWFycm93LWRya2JsdWUucG5nJykgbm8tcmVwZWF0IDAgMCB0cmFuc3BhcmVudDtcblx0bWFyZ2luOjRweCAwIDAgMTBweDtcbn1cbi5jb2x1bW4tY29udGVudCAuaXRlbS1jb250ZW50IGE6aG92ZXIgLmFycm93ICsgLmhvdmVyLFxuLmNvbHVtbi1jb250ZW50IC5pdGVtLWNvbnRlbnQgYTpmb2N1cyAuYXJyb3cgKyAuaG92ZXIsXG4uY29sdW1uLWNvbnRlbnQgLml0ZW0tY29udGVudCBhOmFjdGl2ZSAuYXJyb3cgKyAuaG92ZXIge1xuXHRvcGFjaXR5OjE7XG4gIGZpbHRlcjphbHBoYShvcGFjaXR5PTEwMCk7XG59XG5cbi5idG4tcHJpbWFyeSB7XG5cdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1saWdodC1ibHVlO1xuXHRib3JkZXI6ICRjb2xvci1saWdodC1ibHVlO1xufSIsIi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIENhcmRcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5jYXJkIHtcblx0bWFyZ2luLWJvdHRvbTogJGd1dHRlciAqIDI7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblxuXHRAaW5jbHVkZSBtZWRpYSgkdGFibGV0LXBvcnRyYWl0KSB7XG5cdFx0dGV4dC1hbGlnbjogbGVmdDtcblx0fVxuXG5cdC8vIENhcmQgaW1hZ2VzLlxuXHRpbWcge1xuXHRcdHdpZHRoOiAxMDAlO1xuXHR9IC8vIGltZ1xufSAvLyAuY2FyZFxuIiwiLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQ29tbWVudHNcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQ29tbWVudCBhcmVhIHNjYWZmb2xkaW5nXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4uY29tbWVudHMtYXJlYSB7XG5cdGJvcmRlci10b3A6IDFweCBzb2xpZCAkY29sb3Itc2lsdmVyO1xuXHRtYXJnaW46IHJlbSgxMDApIDAgcmVtKDE1MSk7XG5cblx0QGluY2x1ZGUgbWVkaWEoJGRlc2t0b3ApIHtcblx0XHRtYXJnaW4tbGVmdDogYXV0bztcblx0XHRtYXJnaW4tcmlnaHQ6IGF1dG87XG5cdH1cblxuXHQuY29tbWVudC1yZXBseS10aXRsZSB7XG5cdFx0bWFyZ2luLXRvcDogcmVtKDQ3KTtcblx0fSAvLyAuY29tbWVudC1yZXBseS10aXRsZVxuXG5cdC5jb21tZW50cy10aXRsZSB7XG5cdFx0Zm9udC1zaXplOiByZW0oMjQpO1xuXHRcdG1hcmdpbi10b3A6IHJlbSgxMjYpO1xuXHR9IC8vIC5jb21tZW50cy10aXRsZVxuXG5cdC5jb21tZW50LW5vdGVzIHtcblx0XHRmb250LXNpemU6IGVtKDE2KTtcblx0XHRtYXJnaW4tYm90dG9tOiByZW0oNTQpO1xuXHR9IC8vIC5jb21tZW50LW5vdGVzXG59IC8vIC5jb21tZW50cy1hcmVhXG5cblxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gTGFiZWxzXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4uY29tbWVudC1mb3JtLWNvbW1lbnQsXG4uY29tbWVudC1mb3JtLWF1dGhvcixcbi5jb21tZW50LWZvcm0tZW1haWwsXG4uY29tbWVudC1mb3JtLXVybCB7XG5cblx0bGFiZWwge1xuXHRcdGZsb2F0OiBsZWZ0O1xuXHRcdGZvbnQtc2l6ZTogcmVtKDE2KTtcblx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHR9IC8vIGxhYmVsXG59IC8vIC5jb21tZW50LWZvcm0tY29tbWVudCwgLmNvbW1lbnQtZm9ybS1hdXRob3IsIC5jb21tZW50LWZvcm0tZW1haWwsIC5jb21tZW50LWZvcm0tdXJsXG5cblxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gVGhlIGNvbW1lbnQgZm9ybS5cbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5jb21tZW50LWZvcm0ge1xuXHRAaW5jbHVkZSBjbGVhcmZpeDtcblxuXHR3aWR0aDogMTAwJTtcblxuXHQvLyBBbnkgaW5wdXQgKGV4Y2VwdCBzdWJtaXQgYnV0dG9uKVxuXHRpbnB1dDpub3QoLnN1Ym1pdCkge1xuXHRcdGNsZWFyOiBib3RoO1xuXHRcdHRyYW5zaXRpb246ICR0cmFuc2l0aW9uLWJvcmRlcjtcblx0XHR3aWR0aDogMTAwJTtcblxuXHRcdC8vIEZvY3VzICsgYWN0aXZlIHN0YXRlLlxuXHRcdCY6Zm9jdXMsXG5cdFx0JjphY3RpdmUge1xuXHRcdFx0Ym9yZGVyOiAxcHggc29saWQgJGNvbG9yLW1pbmVzaGFmdDtcblx0XHR9IC8vICY6Zm9jdXMsICY6YWN0aXZlXG5cblx0XHRAaW5jbHVkZSBtZWRpYSgkcGhvbmUpIHtcblx0XHRcdG1heC13aWR0aDogcmVtKDI1MCk7XG5cdFx0fVxuXHR9IC8vIGlucHV0Om5vdCguc3VibWl0KVxuXG5cdC8vIENvbW1lbnQgdGV4dCBhcmVhLlxuXHR0ZXh0YXJlYSB7XG5cdFx0bWF4LXdpZHRoOiByZW0oODcwKTtcblx0XHR0cmFuc2l0aW9uOiAkdHJhbnNpdGlvbi1ib3JkZXI7XG5cblx0XHQvLyBGb2N1cyArIGFjdGl2ZSBzdGF0ZS5cblx0XHQmOmZvY3VzLFxuXHRcdCY6YWN0aXZlIHtcblx0XHRcdGJvcmRlcjogMXB4IHNvbGlkICRjb2xvci1taW5lc2hhZnQ7XG5cdFx0fSAvLyAmOmZvY3VzLCAmOmFjdGl2ZVxuXHR9IC8vIHRleHRhcmFcblxuXHQuZm9ybS1zdWJtaXQge1xuXHRcdG1hcmdpbjogMDtcblx0fSAvLyAuZm9ybS1zdWJtaXRcblxuXHQvLyBTdWJtaXQgYnV0dG9uLlxuXHRpbnB1dFt0eXBlPSdzdWJtaXQnXSB7XG5cdFx0d2lkdGg6IHJlbSgxOTYpO1xuXHR9IC8vIGlucHV0W3R5cGU9XCJzdWJtaXRcIl1cbn0gLy8gLmNvbW1lbnQtZm9ybVxuXG5cbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIENvbW1lbnRzXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4uY29tbWVudC1saXN0IHtcblx0QGluY2x1ZGUgbGlzdC1yZXNldDtcblxuXHRtYXJnaW46IDA7XG5cblx0Ly8gRXZlbiBjb21tZW50cyBnZXQgbmljZSBncmF5IGJhY2tncm91bmQuXG5cdC5ldmVuOm5vdCguYnlwb3N0YXV0aG9yKSA+IC5jb21tZW50LWJvZHkge1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1nYWxsZXJ5O1xuXHR9IC8vIC5ldmVuID4gLmNvbW1lbnQtYm9keVxuXG5cdC8vIEVhY2ggY29tbWVudCBib2R5LlxuXHQuY29tbWVudC1ib2R5IHtcblx0XHRwYWRkaW5nOiByZW0oMzYpO1xuXHR9IC8vIC5jb21tZW50LWJvZHlcblxuXHQvLyBDb21tZW50IGNvbnRlbnQuXG5cdC5jb21tZW50LWNvbnRlbnQge1xuXHRcdG1hcmdpbjogcmVtKDMxKSAwIHJlbSgyOCk7XG5cdFx0bWF4LXdpZHRoOiByZW0oOTM2KTtcblx0fSAvLyAuY29tbWVudC1jb250ZW50XG5cblx0Ly8gQ29tbWVudCBtZXRhLlxuXHQuY29tbWVudC1tZXRhIHtcblx0XHRAaW5jbHVkZSBjbGVhcmZpeDtcblxuXHRcdG1hcmdpbjogMCAwIHJlbSgxNCkgMDtcblx0fSAvLyAuY29tbWVudC1tZXRhXG5cblx0Ly8gVGhlIGNvbW1lbnQgYXV0aG9yIG5hbWUuXG5cdC5jb21tZW50LWF1dGhvciB7XG5cdFx0bGluZS1oZWlnaHQ6IDE7XG5cdH0gLy8gLmNvbW1lbnQtYXV0aG9yXG5cblx0Ly8gVGhlIGRhdGUvdGltZS5cblx0LmNvbW1lbnQtbWV0YWRhdGEge1xuXHRcdGxpbmUtaGVpZ2h0OiAxO1xuXHRcdG1hcmdpbi10b3A6IHJlbSg1KTtcblxuXHRcdGEge1xuXHRcdFx0Y29sb3I6ICRjb2xvci10dW5kb3JhO1xuXHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRcdH0gLy8gYVxuXG5cdFx0dGltZSB7XG5cdFx0XHRmb250LXNpemU6IHJlbSgxMik7XG5cdFx0fSAvLyB0aW1lXG5cdH0gLy8gLmNvbW1lbnQtbWV0YWRhdGFcblxuXHQvLyBDb21tZW50cyBhdmF0YXIuXG5cdC5hdmF0YXIge1xuXHRcdGJvcmRlci1yYWRpdXM6IDUwJTtcblx0XHRmbG9hdDogbGVmdDtcblx0XHRtYXJnaW46IHJlbSgtNikgcmVtKDI2KSAwIDA7XG5cblx0XHRAaW5jbHVkZSBtZWRpYSgkcGhvbmUpIHtcblx0XHRcdG1hcmdpbi10b3A6IHJlbSgtMTIpO1xuXHRcdH1cblx0fSAvLyAuYXZhdGFyXG5cblx0Ly8gQnkgcG9zdCBhdXRob3IuXG5cdC5ieXBvc3RhdXRob3Ige1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1saWdodC15ZWxsb3c7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdH0gLy8gLmJ5cG9zdGF1dGhvclxuXG5cdC8vIFRoZSByZXBseSBsaW5rL2J1dHRvbiB0aGluZ3kuXG5cdC5jb21tZW50LXJlcGx5LWxpbmsge1xuXHRcdGZvbnQtd2VpZ2h0OiA3MDA7XG5cdH0gLy8gLmNvbW1lbnQtcmVwbHktbGlua1xuXG5cdC8vIElmIHNvbWVvbmUgcmVwbGllcyB3aXRoIGNvZGUuLi5cblx0cHJlLFxuXHRjb2RlIHtcblx0XHRtYXJnaW46IDA7XG5cdFx0cGFkZGluZy10b3A6IHJlbSg1KTtcblx0XHR3aWR0aDogMTAwJTtcblx0fSAvLyBwcmUsIGNvZGVcbn0gLy8gLmNvbW1lbnQtbGlzdFxuXG5cbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIE5lc3RlZCBjaGlsZHJlbiBzY2FmZm9sZGluZy5cbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5jb21tZW50LWxpc3Qge1xuXG5cdC8vIENvbW1lbnQgY2hpbGRyZW4uXG5cdC5jaGlsZHJlbiB7XG5cdFx0bGlzdC1zdHlsZTogbm9uZTtcblx0XHRtYXJnaW46IHJlbSg0MCkgMDtcblx0XHRwYWRkaW5nLWxlZnQ6IHJlbSgyMCk7XG5cblx0XHRAaW5jbHVkZSBtZWRpYSgkcGhvbmUpIHtcblx0XHRcdHBhZGRpbmctbGVmdDogcmVtKDM1KTtcblx0XHR9XG5cblx0XHRAaW5jbHVkZSBtZWRpYSgkdGFibGV0LXBvcnRyYWl0KSB7XG5cdFx0XHRwYWRkaW5nLWxlZnQ6IHJlbSg2MCk7XG5cdFx0fVxuXG5cdFx0LmRlcHRoLTQsXG5cdFx0LmRlcHRoLTUsXG5cdFx0LmRlcHRoLTYsXG5cdFx0LmRlcHRoLTcsXG5cdFx0LmRlcHRoLTgsXG5cdFx0LmRlcHRoLTksXG5cdFx0LmRlcHRoLTEwIHtcblxuXHRcdFx0Ly8gSW5jcmVhc2UgbGluZSBoZWlnaHQgb24gbW9iaWxlIGZvciBiZXR0ZXIgcmVhZGFiaWxpdHkuXG5cdFx0XHQuY29tbWVudC1hdXRob3Ige1xuXHRcdFx0XHRsaW5lLWhlaWdodDogMS4yNTtcblxuXHRcdFx0XHRAaW5jbHVkZSBtZWRpYSgkcGhvbmUpIHtcblx0XHRcdFx0XHRsaW5lLWhlaWdodDogMTtcblx0XHRcdFx0fVxuXHRcdFx0fSAvLyAuY29tbWVudC1hdXRob3Jcblx0XHR9IC8vIC5kZXB0aC14XG5cdH0gLy8gLmNoaWxkcmVuXG59IC8vIC5jb21tZW50LWxpc3RcblxuXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBJbmxpbmUgcmVwbHlcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5jb21tZW50LWxpc3Qge1xuXG5cdC5jb21tZW50LXJlc3BvbmQge1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci13aGl0ZTtcblx0XHRwYWRkaW5nOiByZW0oMjQpIDA7XG5cblx0XHRAaW5jbHVkZSBtZWRpYSgkcGhvbmUpIHtcblx0XHRcdHBhZGRpbmctbGVmdDogcmVtKDM2KTtcblx0XHRcdHBhZGRpbmctcmlnaHQ6IHJlbSgzNik7XG5cdFx0fVxuXG5cdFx0LmNvbW1lbnQtcmVwbHktdGl0bGUge1xuXG5cdFx0XHQvLyBUaGUgXCJjYW5jZWwgcmVwbHlcIi5cblx0XHRcdGEge1xuXHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRcdHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2U7XG5cblx0XHRcdFx0Jjo6YmVmb3JlIHtcblx0XHRcdFx0XHRjb250ZW50OiAnKCc7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQmOjphZnRlciB7XG5cdFx0XHRcdFx0Y29udGVudDogJyknO1xuXHRcdFx0XHR9XG5cdFx0XHR9IC8vIGFcblx0XHR9IC8vIC5jb21tZW50LXJlcGx5LXRpdGxlXG5cblx0XHQuZm9ybS1zdWJtaXQge1xuXHRcdFx0bWFyZ2luOiAwO1xuXG5cdFx0XHRpbnB1dFt0eXBlPSdzdWJtaXQnXSB7XG5cdFx0XHRcdG1hcmdpbi10b3A6IHJlbSg1KTtcblx0XHRcdH1cblx0XHR9IC8vIC5mb3JtLXN1Ym1pdFxuXHR9IC8vIC5jb21tZW50LXJlc3BvbmRcbn0gLy8gLmNvbW1lbnQtbGlzdFxuIiwiLy8gQ29udmVydCBwaXhlbHMgdG8gZW1zXG4vLyBlZy4gZm9yIGEgcmVsYXRpb25hbCB2YWx1ZSBvZiAxMnB4IHdyaXRlIGVtKDEyKSB3aGVuIHRoZSBwYXJlbnQgaXMgMTZweFxuLy8gaWYgdGhlIHBhcmVudCBpcyBhbm90aGVyIHZhbHVlIHNheSAyNHB4IHdyaXRlIGVtKDEyLCAyNClcblxuQGZ1bmN0aW9uIGVtKCRweHZhbCwgJGJhc2U6ICRlbS1iYXNlKSB7XG4gIEBpZiAkb3V0cHV0LWJvdXJib24tZGVwcmVjYXRpb24td2FybmluZ3MgPT0gdHJ1ZSB7XG4gICAgQHdhcm4gXCJbQm91cmJvbl0gW0RlcHJlY2F0aW9uXSBgZW1gIGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgXCIgK1xuICAgIFwicmVtb3ZlZCBpbiA1LjAuMC5cIjtcbiAgfVxuXG4gICR1c2VyLWRlcHJlY2F0aW9uLXdhcm5pbmdzLXNldHRpbmc6ICRvdXRwdXQtYm91cmJvbi1kZXByZWNhdGlvbi13YXJuaW5ncztcbiAgJG91dHB1dC1ib3VyYm9uLWRlcHJlY2F0aW9uLXdhcm5pbmdzOiBmYWxzZSAhZ2xvYmFsO1xuXG4gIEBpZiBub3QgdW5pdGxlc3MoJHB4dmFsKSB7XG4gICAgJHB4dmFsOiBzdHJpcC11bml0cygkcHh2YWwpO1xuICB9XG4gIEBpZiBub3QgdW5pdGxlc3MoJGJhc2UpIHtcbiAgICAkYmFzZTogc3RyaXAtdW5pdHMoJGJhc2UpO1xuICB9XG5cbiAgJG91dHB1dC1ib3VyYm9uLWRlcHJlY2F0aW9uLXdhcm5pbmdzOiAkdXNlci1kZXByZWNhdGlvbi13YXJuaW5ncy1zZXR0aW5nICFnbG9iYWw7XG5cbiAgQHJldHVybiAoJHB4dmFsIC8gJGJhc2UpICogMWVtO1xufVxuIiwiLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gTGlzdCBSZXNldFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLy8vXG4vLy8gQGdyb3VwIG1peGluc1xuLy8vIEBhdXRob3IgR3JlZyBSaWNrYWJ5XG4vLy8vXG5cbi8vLyBSZXNldCBhbGwgcGFkZGluZyBhbmQgc3R5bGVzIG9uIGJvdGggdW5vcmRlcmVkIGFuZCBvcmRlcmVkIGxpc3RzLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEJhc2ljIFVzYWdlIFNhc3Ncbi8vLyAgICAuZm9vLWxpc3Qge1xuLy8vICAgICAgICBAaW5jbHVkZSBsaXN0LXJlc2V0O1xuLy8vICAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBCYXNpYyBVc2FnZSBDU1MgT3V0cHV0XG4vLy8gICAgLmZvby1saXN0IHtcbi8vLyAgICAgICAgIGNsZWFyOiBib3RoO1xuLy8vXHRcdFx0Y29udGVudDogXCJcIjtcbi8vL1x0XHRcdGRpc3BsYXk6IHRhYmxlO1xuLy8vICAgICAgICBcdG1hcmdpbjogMDtcbi8vLyAgICAgICAgXHRwYWRkaW5nOiAwO1xuLy8vICAgICAgICBcdGxpc3Qtc3R5bGU6IG5vbmU7XG4vLy9cbi8vLyAgICB9XG5cbkBtaXhpbiBsaXN0LXJlc2V0IHtcblx0QGluY2x1ZGUgY2xlYXJmaXg7XG5cdEBpbmNsdWRlIG1hcmdpbi1wYWRkaW5nLXJlc2V0O1xuXG5cdGxpc3Qtc3R5bGU6IG5vbmU7XG59XG4iLCIvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBTaXRlIENvbnRlbnRcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gUG9zdHMgYW5kIFBhZ2VzXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIEVudHJ5IFRpdGxlXG4uZW50cnktdGl0bGUge1xuXHRmb250LXNpemU6IHJlbSgzNik7XG59IC8vIC5lbnRyeS10aXRsZVxuXG4vLyBTdGljeSBhbmQgQ29tbWVudHMgTGlua1xuLnN0aWNreSxcbi5jb21tZW50cy1saW5rIHtcblx0ZGlzcGxheTogYmxvY2s7XG59IC8vIC5zdGlja3ksIC5jb21tZW50cy1saW5rXG5cbi8vIGhlbnRyeVxuLmhlbnRyeSB7XG5cdG1hcmdpbjogMCAwIHJlbSgyNCkgMDtcbn0gLy8gLmhlbnRyeVxuXG4vLyBCeWxpbmUgYW5kIHVwZGF0ZSBwb3N0IGRhdGVcbi5ieWxpbmUsXG4udXBkYXRlZDpub3QoLnB1Ymxpc2hlZCkge1xuXHRkaXNwbGF5OiBub25lO1xufSAvLyAuYnlsaW5lLCAudXBkYXRlZDpub3QoLnB1Ymxpc2hlZClcblxuLy8gQnlsaW5lIGZvciBzaW5nbGUgYW5kIGdyb3VwXG4uc2luZ2xlIC5ieWxpbmUsXG4uZ3JvdXAtYmxvZyAuYnlsaW5lIHtcblx0ZGlzcGxheTogaW5saW5lO1xufSAvLyAuc2luZ2xlIC5ieWxpbmUsIC5ncm91cC1ibG9nIC5ieWxpbmVcblxuLy8gUGFnZSBjb250ZW50LCBlbnRyeSBjb250ZW50IGFuZCBlbnRyeSBzdW1tYXJ5XG4ucGFnZS1jb250ZW50LFxuLmVudHJ5LWNvbnRlbnQsXG4uZW50cnktc3VtbWFyeSB7XG5cdG1hcmdpbjogcmVtKDI0KSAwIDA7XG59IC8vIC5wYWdlLWNvbnRlbnQsIC5lbnRyeS1jb250ZW50LCAuZW50cnktc3VtbWFyeVxuXG4vLyBQYWdlIGxpbmtzXG4ucGFnZS1saW5rcyB7XG5cdGNsZWFyOiBib3RoO1xuXHRtYXJnaW46IDAgMCByZW0oMjQpIDA7XG59IC8vIC5wYWdlLWxpbmtzXG5cbi8vIFRhZ3MgbGlua3Ncbi50YWdzLWxpbmtzIHtcblx0bWFyZ2luLWxlZnQ6IHJlbSgyNCk7XG59IC8vIC50YWdzLWxpbmtzXG5cbi8vIEVkaXQgbGlua1xuLmVkaXQtbGluayB7XG5cdG1hcmdpbjogMCAwIDAgcmVtKDUpO1xuXG5cdGEge1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRmb250LXNpemU6IHJlbSgxMik7XG5cdFx0dGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZTtcblxuXHRcdCY6OmJlZm9yZSB7XG5cdFx0XHRjb250ZW50OiAnKCc7XG5cdFx0fVxuXG5cdFx0Jjo6YWZ0ZXIge1xuXHRcdFx0Y29udGVudDogJyknO1xuXHRcdH1cblx0fSAvLyBhXG59IC8vIC5lZGl0LWxpbmtcblxuLy8gQXNpZGVzXG4uYmxvZyAuZm9ybWF0LWFzaWRlIC5lbnRyeS10aXRsZSxcbi5hcmNoaXZlIC5mb3JtYXQtYXNpZGUgLmVudHJ5LXRpdGxlIHtcblx0ZGlzcGxheTogbm9uZTtcbn0gLy8gLmJsb2cgLmZvcm1hdC1hc2lkZSAuZW50cnktdGl0bGUsIC5hcmNoaXZlIC5mb3JtYXQtYXNpZGUgLmVudHJ5LXRpdGxlXG5cbi8vIENvbnRlbnQgYmxvY2tzLlxuLmNvbnRlbnQtYmxvY2sge1xuXHRAaW5jbHVkZSBjbGVhcmZpeDtcbn0gLy8gLmNvbnRlbnQtYmxvY2siLCIvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBDYWxsIFRvIEFjdGlvbiBCbG9ja1xuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLmNhbGwtdG8tYWN0aW9uIHtcblxuXHQvLyBTZXQgdXAgc3RydWN0dXJlLlxuXHQuZ3JpZC14IHtcblx0XHRwYWRkaW5nOiAkZ3V0dGVyO1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblxuXHRcdEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQtcG9ydHJhaXQpIHtcblx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdFx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHRcdH1cblx0fSAvLyAuZ3JpZC14XG59IC8vIC5jYWxsLXRvLWFjdGlvblxuIiwiLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gR2xvYmFsIENvbnRlbnQgQmxvY2sgU3R5bGVzXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4uY29udGVudC1ibG9jayB7XG5cdG1hcmdpbi1ib3R0b206ICRndXR0ZXIgKiAyO1xuXG5cdC8vIENvbnRlbnQgQmxvY2sgdGl0bGVzLlxuXHQmLXRpdGxlIHtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cblx0XHRAaW5jbHVkZSBtZWRpYSgkdGFibGV0LXBvcnRyYWl0KSB7XG5cdFx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHRcdH1cblx0fSAvLyAuY29udGVudC1ibG9jay10aXRsZVxufSAvLyAuY29udGVudC1ibG9ja1xuIiwiLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gSGVybyBCbG9ja1xuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vL2hlcm8gc3R1ZmZcblxuc2VjdGlvbi5oZXJvLnByb2R1Y3Qge1xuICAgIHBhZGRpbmc6IDMwcHggMCAzNXB4IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7IFxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGJvdHRvbSBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblxuICAgIEBpbmNsdWRlIGRldmljZS1tYXgtbWQge1xuICAgIFx0YmFja2dyb3VuZC1pbWFnZTogbm9uZSFpbXBvcnRhbnQ7XG4gICAgXHRiYWNrZ3JvdW5kLWNvbG9yOiAjZjhmOGY4IWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuaG9tZSAmIHtcbiAgICBcdGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgfVxufVxuXG4ub3BhcXVlLXBhbmVsIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwyNTUsMjU1LC41KTtcbiAgICBwYWRkaW5nOiAxNXB4O1xufVxuXG4udHJhbnNwYXJlbnQudG9wIHtcbiAgICBoZWlnaHQ6IDVweDtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwyNTUsMjU1LC41KTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4udHJhbnNwYXJlbnQuYm90dG9tIHtcbiAgICBoZWlnaHQ6IDEwcHg7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsMjU1LDI1NSwuNSk7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMDtcbiAgICB3aWR0aDogMTAwJTtcbn1cbiIsIi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFJlY2VudCBQb3N0cyBCbG9ja1xuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLnJlY2VudC1wb3N0cyB7XG5cblx0LmNlbGwge1xuXHRcdG1hcmdpbi1ib3R0b206ICRndXR0ZXIgKiAyO1xuXG5cdFx0QGluY2x1ZGUgbWVkaWEoJHRhYmxldC1wb3J0cmFpdCkge1xuXHRcdFx0QGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDYpO1xuXHRcdFx0QGluY2x1ZGUgb21lZ2EoMm4pO1xuXHRcdH1cblxuXHRcdEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQtbGFuZHNjYXBlKSB7XG5cdFx0XHRAaW5jbHVkZSBvbWVnYS1yZXNldCgybik7XG5cdFx0XHRAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNCk7XG5cdFx0XHRAaW5jbHVkZSBvbWVnYSgzbik7XG5cdFx0fVxuXHR9IC8vIC5jZWxsXG59IC8vIC5yZWNlbnQtcG9zdHNcbiIsIi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFJlbGF0ZWQgUG9zdHMgQmxvY2tcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5yZWxhdGVkLXBvc3RzIHtcblxuXHQuY2VsbCB7XG5cdFx0bWFyZ2luLWJvdHRvbTogJGd1dHRlciAqIDI7XG5cblx0XHRAaW5jbHVkZSBtZWRpYSgkdGFibGV0LXBvcnRyYWl0KSB7XG5cdFx0XHRAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNik7XG5cdFx0XHRAaW5jbHVkZSBvbWVnYSgybik7XG5cdFx0fVxuXG5cdFx0QGluY2x1ZGUgbWVkaWEoJHRhYmxldC1sYW5kc2NhcGUpIHtcblx0XHRcdEBpbmNsdWRlIG9tZWdhLXJlc2V0KDJuKTtcblx0XHRcdEBpbmNsdWRlIHNwYW4tY29sdW1ucyg0KTtcblx0XHRcdEBpbmNsdWRlIG9tZWdhKDNuKTtcblx0XHR9XG5cdH0gLy8gLmNlbGxcbn0gLy8gLnJlbGF0ZWQtcG9zdHMiLCIvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBGb290ZXJcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuZm9vdGVyLnNpdGUtZm9vdGVyIHtcblx0dGV4dC1hbGlnbjpjZW50ZXI7XG5cdGZvbnQtc2l6ZTogMTJweDtcblx0cGFkZGluZzogNDBweCAwO1xuXHRiYWNrZ3JvdW5kOiAkY29sb3ItY29zdGNvLWZvb3Rlcjtcblx0Ly9ib3JkZXItdG9wOiAxMHB4IHNvbGlkICMzMjkwY2E7XG59XG5mb290ZXIgLmNvcHkge1xuXHRjbGVhcjogYm90aDtcblx0ZmxvYXQ6IGxlZnQ7XG5cdG1hcmdpbjogMDtcblx0cGFkZGluZzogNXB4IDA7XG59XG5mb290ZXIgLm5hdiAge1xuXHRmbG9hdDpsZWZ0O1xufVxuZm9vdGVyIC5uYXYgPiBsaSB7XG5cdGZsb2F0OmxlZnQ7XG5cdHdpZHRoOiAxMDAlO1xufVxuZm9vdGVyIC5uYXYgPiBsaSA+IGEge1xuXHRmbG9hdDogbGVmdDtcblx0Y29sb3I6ICRjb2xvci13aGl0ZTtcblx0cGFkZGluZzogNXB4IDA7XG5cdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuZm9vdGVyIC5uYXYgPiBsaSA+IGE6aG92ZXIsXG5mb290ZXIgLm5hdiA+IGxpID4gYTpmb2N1cyxcbmZvb3RlciAubmF2ID4gbGkgPiBhOmFjdGl2ZSB7XG5cdGJhY2tncm91bmQ6bm9uZTtcblx0Y29sb3I6ICNDQ0M7XG59XG5cbnNlY3Rpb24uY2FsbC10by1hY3Rpb24ge1xuXHRib3JkZXItdG9wOiAxcHggc29saWQgJGNvbG9yLWJvcmRlcjtcblxuXHQuY3RhLWJveCB7XG5cdFx0cGFkZGluZzogNDBweCAwO1xuXG5cdFx0QGluY2x1ZGUgZGV2aWNlLW1heC1tZCB7XG5cdFx0XHRwYWRkaW5nLWJvdHRvbTogMzBweDtcblx0XHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY29sb3ItYm9yZGVyO1xuXHRcdH1cblx0fVxuXG5cdEBpbmNsdWRlIGRldmljZS1taW4tbWQge1xuXHRcdC5kZXNrdG9wLWhvcml6LXNlcCB7XG5cdFx0XHRib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAkY29sb3ItYm9yZGVyO1xuXHRcdH1cblx0fVxufVxuXG5pbWcubWVudS1sb2dvIHtcbiAgICBtYXgtd2lkdGg6IDEwMHB4O1xuICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xufSIsIi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEZvcm1zXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbmJ1dHRvbixcbmlucHV0LFxuc2VsZWN0LFxudGV4dGFyZWEge1xuXHRmb250LXNpemU6IDEwMCU7IC8vIENvcnJlY3RzIGZvbnQgc2l6ZSBub3QgYmVpbmcgaW5oZXJpdGVkIGluIGFsbCBicm93c2Vyc1xuXHRtYXJnaW46IDA7IC8vIEFkZHJlc3NlcyBtYXJnaW5zIHNldCBkaWZmZXJlbnRseSBpbiBJRTYvNywgRjMvNCwgUzUsIENocm9tZVxuXHR2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IC8vIEltcHJvdmVzIGFwcGVhcmFuY2UgYW5kIGNvbnNpc3RlbmN5IGluIGFsbCBicm93c2Vyc1xufSAvLyBidXR0b24sIGlucHV0LCBzZWxlY3QsIHRleHRhcmVhXG5cbi8vIEFkZHJlc3NlcyBleGNlc3MgcGFkZGluZyBpbiBJRTgvOVxuaW5wdXRbdHlwZT0nY2hlY2tib3gnXSxcbmlucHV0W3R5cGU9J3JhZGlvJ10ge1xuXHRwYWRkaW5nOiAwO1xufSAvLyBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0sIGlucHV0W3R5cGU9XCJyYWRpb1wiXVxuXG4vLyBSZW1vdmUgdGhlIGNsZWFyIHggaWNvbiBpbiBJRVxuaW5wdXRbdHlwZT0ndGV4dCddOjotbXMtY2xlYXIsXG5pbnB1dFt0eXBlPSdzZWFyY2gnXTo6LW1zLWNsZWFyIHtcblx0ZGlzcGxheTogbm9uZTtcbn0gLy8gaW5wdXRbdHlwZT1cInRleHRcIl06Oi1tcy1jbGVhciwgaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LW1zLWNsZWFyXG5cbmlucHV0W3R5cGU9J3NlYXJjaCddIHtcblx0LXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8vIEFkZHJlc3NlcyBhcHBlYXJhbmNlIHNldCB0byBzZWFyY2hmaWVsZCBpbiBTNSwgQ2hyb21lXG5cdGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuXG5cdC8vIENvcnJlY3RzIGlubmVyIHBhZGRpbmcgZGlzcGxheWVkIG9kZGx5IGluIFM1LCBDaHJvbWUgb24gT1NYXG5cdCY6Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuXHRcdC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcblx0fSAvLyAmOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uXG59IC8vIGlucHV0W3R5cGU9XCJzZWFyY2hcIl1cblxuLy8gQ29ycmVjdHMgaW5uZXIgcGFkZGluZyBhbmQgYm9yZGVyIGRpc3BsYXllZCBvZGRseSBpbiBGRjMvNFxuLy8gd3d3LnNpdGVwZW4uY29tL2Jsb2cvMjAwOC8wNS8xNC90aGUtZGV2aWxzLWluLXRoZS1kZXRhaWxzLWZpeGluZy1kb2pvcy10b29sYmFyLWJ1dHRvbnMvXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5pbnB1dDo6LW1vei1mb2N1cy1pbm5lciB7XG5cdGJvcmRlcjogMDtcblx0cGFkZGluZzogMDtcbn0gLy8gYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLCBpbnB1dDo6LW1vei1mb2N1cy1pbm5lclxuXG5pbnB1dFt0eXBlPSd0ZXh0J10sXG5pbnB1dFt0eXBlPSdlbWFpbCddLFxuaW5wdXRbdHlwZT0ndXJsJ10sXG5pbnB1dFt0eXBlPSdwYXNzd29yZCddLFxuaW5wdXRbdHlwZT0nc2VhcmNoJ10sXG5pbnB1dFt0eXBlPSdudW1iZXInXSxcbmlucHV0W3R5cGU9J3RlbCddLFxuaW5wdXRbdHlwZT0ncmFuZ2UnXSxcbmlucHV0W3R5cGU9J2RhdGUnXSxcbmlucHV0W3R5cGU9J21vbnRoJ10sXG5pbnB1dFt0eXBlPSd3ZWVrJ10sXG5pbnB1dFt0eXBlPSd0aW1lJ10sXG5pbnB1dFt0eXBlPSdkYXRldGltZSddLFxuaW5wdXRbdHlwZT0nZGF0ZXRpbWUtbG9jYWwnXSxcbmlucHV0W3R5cGU9J2NvbG9yJ10sXG50ZXh0YXJlYSB7XG5cdGFwcGVhcmFuY2U6IG5vbmU7XG5cdGJvcmRlcjogMXB4IHNvbGlkICRjb2xvci1pbnB1dC1ib3JkZXI7XG5cdGJvcmRlci1yYWRpdXM6IDA7XG5cdGNvbG9yOiAkY29sb3ItaW5wdXQtdGV4dDtcblx0bGluZS1oZWlnaHQ6IDEuNTtcblx0cGFkZGluZzogJHBhZGRpbmctaW5wdXQ7XG5cblx0Jjpmb2N1cyB7XG5cdFx0Y29sb3I6ICRjb2xvci1pbnB1dC1mb2N1cy10ZXh0O1xuXHR9IC8vICY6Zm9jdXNcbn0gLy8gaW5wdXRbdHlwZT1cInRleHRcIl0sIGlucHV0W3R5cGU9XCJlbWFpbFwiXSwgaW5wdXRbdHlwZT1cInVybFwiXSwgaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdLCBpbnB1dFt0eXBlPVwic2VhcmNoXCJdLCBpbnB1dFt0eXBlPVwibnVtYmVyXCJdLCBpbnB1dFt0eXBlPVwidGVsXCJdLCBpbnB1dFt0eXBlPVwicmFuZ2VcIl0sIGlucHV0W3R5cGU9XCJkYXRlXCJdLCBpbnB1dFt0eXBlPVwibW9udGhcIl0sIGlucHV0W3R5cGU9XCJ3ZWVrXCJdLCBpbnB1dFt0eXBlPVwidGltZVwiXSwgaW5wdXRbdHlwZT1cImRhdGV0aW1lXCJdLCBpbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl0sIGlucHV0W3R5cGU9XCJjb2xvclwiXSwgdGV4dGFyZWFcblxudGV4dGFyZWEge1xuXHRAaW5jbHVkZSBzaXplKDEwMCUgYXV0byk7XG5cblx0b3ZlcmZsb3c6IGF1dG87IC8vIFJlbW92ZXMgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUU2LzcvOC85XG5cdHZlcnRpY2FsLWFsaWduOiB0b3A7IC8vIEltcHJvdmVzIHJlYWRhYmlsaXR5IGFuZCBhbGlnbm1lbnQgaW4gYWxsIGJyb3dzZXJzXG59IC8vIHRleHRhcmVhXG4iLCIvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBIZWFkZXIuXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbmltZy5jdXN0b20tbG9nbyB7XG4gICAgd2lkdGg6IDM1MHB4O1xuICAgIG1hcmdpbi10b3A6IDEwcHg7XG59XG4iLCIvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBJY29uc1xuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBTb2NpYWwgaWNvbnMgPHVsPlxuLnNvY2lhbC1pY29ucyB7XG5cdEBpbmNsdWRlIGNsZWFyZml4O1xuXHRAaW5jbHVkZSBsaXN0LXJlc2V0O1xuXG5cdC8vIEVhY2ggaWNvbiA8bGk+XG5cdC5zb2NpYWwtaWNvbiB7XG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG5cdFx0Ly8gTG9vcCB0aHJvdWdoIGFsbCBzb2NpYWwgaWNvbnNcblx0XHRAZWFjaCAkc29jaWFsLWNvbG9yLCAkY29sb3IgaW4gJHNvY2lhbC1jb2xvcnMge1xuXG5cdFx0XHQvLyBTZXQgc3R5bGVzIG9uIHRob3NlIHNvY2lhbCBpY29ucyFcblx0XHRcdC5pY29uLSN7JHNvY2lhbC1jb2xvcn0ge1xuXHRcdFx0XHRAaW5jbHVkZSBzaXplKHJlbSgzMCkgcmVtKDMwKSk7XG5cblx0XHRcdFx0ZmlsbDogJGNvbG9yO1xuXG5cdFx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRcdGZpbGw6IGxpZ2h0ZW4oJGNvbG9yLCAyMCUpO1xuXHRcdFx0XHR9IC8vICY6aG92ZXJcblx0XHRcdH0gLy8gLmljb24tI3skc29jaWFsLWNvbG9yfVxuXHRcdH0gLy8gZW5kIGVhY2ggbG9vcFxuXG5cdFx0Ly8gTm8gbWFyZ2luIGZvciB0aGUgbGFzdCA8bGk+IGl0ZW1cblx0XHQmOmxhc3QtY2hpbGQge1xuXHRcdFx0bWFyZ2luLXJpZ2h0OiAwO1xuXHRcdH0gLy8gJjpsYXN0LWNoaWxkXG5cdH0gLy8gLnNvY2lhbC1pY29uXG59IC8vIC5zb2NpYWwtaWNvbnNcblxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQ2xvc2UgaWNvblxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLmNsb3NlIHtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRkaXNwbGF5OiBibG9jaztcblx0bWFyZ2luLXRvcDogcmVtKC01KTtcblx0b3V0bGluZTogbm9uZTtcblxuXHQmOjpiZWZvcmUsXG5cdCY6OmFmdGVyIHtcblx0XHRAaW5jbHVkZSBzaXplKHJlbSgyMCkgcmVtKDMpKTtcblxuXHRcdGJhY2tncm91bmQ6ICRjb2xvci13aGl0ZTtcblx0XHRib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy10aGluO1xuXHRcdGNvbnRlbnQ6ICcnO1xuXHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdH1cblxuXHQmOjpiZWZvcmUge1xuXHRcdHRvcDogcmVtKDMpO1xuXHRcdHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcblx0fVxuXG5cdCY6OmFmdGVyIHtcblx0XHR0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuXHR9XG59IC8vIC5jcm9zc1xuXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBEb3duIGFycm93IGljb25cbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5kb3duLWFycm93IHtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRkaXNwbGF5OiBibG9jaztcblx0bWFyZ2luLWxlZnQ6IHJlbSgxMCk7XG5cdG91dGxpbmU6IG5vbmU7XG5cdHRyYW5zaXRpb246ICR0cmFuc2l0aW9uLXRyYW5zZm9ybTtcblxuXHQmOjpiZWZvcmUsXG5cdCY6OmFmdGVyIHtcblx0XHRAaW5jbHVkZSBzaXplKHJlbSgxMCkgcmVtKDIpKTtcblxuXHRcdGJhY2tncm91bmQ6ICRjb2xvci13aGl0ZTtcblx0XHRib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy10aGluO1xuXHRcdGNvbnRlbnQ6ICcnO1xuXHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdH1cblxuXHQmOjpiZWZvcmUge1xuXHRcdGxlZnQ6IHJlbSgtNik7XG5cdFx0dG9wOiByZW0oMik7XG5cdFx0dHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuXHR9XG5cblx0Jjo6YWZ0ZXIge1xuXHRcdHRyYW5zZm9ybTogcm90YXRlKC0yMjVkZWcpO1xuXHR9XG59IC8vIC5kb3duLWFycm93XG4iLCIvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBNb2RhbFxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4ubW9kYWwge1xuXHRAaW5jbHVkZSBjbGVhcmZpeDtcblx0QGluY2x1ZGUgcG9zaXRpb24oZml4ZWQsIDAgMCAwIDApO1xuXG5cdGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGNvbG9yLWJsYWNrLCAwLjMpO1xuXHRkaXNwbGF5OiBub25lO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHR6LWluZGV4OiAxMDUwO1xuXG5cdC8vIFdoZW4gdGhlIC5tb2RhbC1vcGVuIGNsYXNzIGlzIHNldC5cblx0Ji5tb2RhbC1vcGVuIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRvdmVyZmxvdy14OiBoaWRkZW47XG5cdFx0b3ZlcmZsb3cteTogYXV0bztcblx0fSAvLyAmLm1vZGFsLW9wZW5cblxuXHQvLyBDZW50ZXIgdGhlIG1vZGFsIGNvbnRhaW5lci5cblx0Lm1vZGFsLWRpYWxvZyB7XG5cdFx0QGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDUwJSBudWxsIG51bGwgNTAlKTtcblxuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuXHRcdHdpZHRoOiBhdXRvO1xuXHR9IC8vIC5tb2RhbC1kaWFsb2dcblxuXHQvLyBUaGUgbW9kYWwgY29udGVudCBjb250YWluZXIuXG5cdC5tb2RhbC1jb250ZW50IHtcblx0XHRiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci13aGl0ZTtcblx0XHRib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1tZWRpdW07XG5cdFx0Ym94LXNoYWRvdzogMCAwIHJlbSgxMCkgcmVtKDMpIHJnYmEoJGNvbG9yLWJsYWNrLCAwLjUpO1xuXHRcdG91dGxpbmU6IDA7XG5cdFx0cGFkZGluZzogcmVtKDEwKTtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cblx0XHQvLyBUaGUgbW9kYWwgaGVhZGVyIGNvbnRhaW5lci5cblx0XHQubW9kYWwtaGVhZGVyIHtcblx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblxuXHRcdFx0Ly8gQ2xvc2UgXCJYXCIgYnV0dG9uLlxuXHRcdFx0LmNsb3NlIHtcblx0XHRcdFx0QGluY2x1ZGUgbWFyZ2luLXBhZGRpbmctcmVzZXQ7XG5cdFx0XHRcdEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCByZW0oLTE1KSByZW0oLTE1KSBudWxsIG51bGwpO1xuXHRcdFx0XHRAaW5jbHVkZSBzaXplKHJlbSgzMCkgcmVtKDMwKSk7XG5cblx0XHRcdFx0YmFja2dyb3VuZDogJGNvbG9yLWJsYWNrO1xuXHRcdFx0XHRib3JkZXI6IDNweCBzb2xpZCAkY29sb3Itd2hpdGU7XG5cdFx0XHRcdGJvcmRlci1yYWRpdXM6IDUwJTtcblx0XHRcdFx0Y29sb3I6ICRjb2xvci13aGl0ZTtcblx0XHRcdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHRcdFx0XHRmb250LXNpemU6IHJlbSgzMCk7XG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiAwO1xuXHRcdFx0XHRvdXRsaW5lOiBub25lO1xuXG5cdFx0XHRcdCY6OmFmdGVyIHtcblx0XHRcdFx0XHRAaW5jbHVkZSBjbGVhcmZpeDtcblx0XHRcdFx0fSAvLyAmOjphZnRlclxuXHRcdFx0fSAvLyAuY2xvc2Vcblx0XHR9IC8vIC5tb2RhbC1oZWFkZXJcblxuXHRcdC8vIFRoZSBtb2RhbCBib2R5IGNvbnRhaW5lci5cblx0XHQubW9kYWwtYm9keSB7XG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0fSAvLyAubW9kYWwtYm9keVxuXG5cdFx0Ly8gVGhlIG1vZGFsIGZvb3RlciBjb250YWluZXIuXG5cdFx0Lm1vZGFsLWZvb3RlciB7XG5cdFx0fSAvLyAubW9kYWwtZm9vdGVyXG5cdH0gLy8gLm1vZGFsLWNvbnRlbnRcblxuXHQvLyBSZW1vdmUgdGhlIGJvcmRlciBmcm9tIGVtYmVkZGVkIGVsZW1lbnRzLlxuXHQuZmx1aWQtZW1iZWQge1xuXHRcdGVtYmVkLFxuXHRcdG9iamVjdCxcblx0XHRpZnJhbWUge1xuXHRcdFx0Ym9yZGVyOiBub25lO1xuXHRcdH0gLy8gZW1iZWQsIG9iamVjdCwgaWZyYW1lXG5cdH0gLy8gLmZsdWlkLWVtYmVkXG59IC8vIC5tb2RhbFxuIiwiLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gR2xvYmFsIGFuZCBTaGFyZWQgTmF2aWdhdGlvbiBTdHlsZXMuXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIERlZmF1bHQgbWVudSAoYWN0aXZlIGFmdGVyIGEgZnJlc2ggV29yZFByZXNzIGluc3RhbGwpLlxuLm1lbnUge1xuXHRAaW5jbHVkZSBsaXN0LXJlc2V0O1xuXG5cdHVsIHtcblx0XHRAaW5jbHVkZSBsaXN0LXJlc2V0O1xuXG5cdFx0Ly8gRHJvcGRvd25zLlxuXHRcdCYuc3ViLW1lbnUge1xuXG5cdFx0XHRiYWNrZ3JvdW5kOiAkY29sb3ItYmx1ZTtcblx0XHRcdHRvcDogMzhweDtcblxuXHRcdFx0bGkge1xuXHRcdFx0XHRAaW5jbHVkZSBtYXJnaW4oMCk7XG5cblx0XHRcdFx0YSB7XG5cdFx0XHRcdFx0Y29sb3I6ICRjb2xvci13aGl0ZTtcblx0XHRcdFx0fVxuXHRcdFx0fSAvLyBsaVxuXHRcdH0gLy8gJi5zdWItbWVudVxuXHR9IC8vIHVsXG5cblx0Ly8gRm9yIGxpc3QgaXRlbXMgd2l0aCBtZW51IGl0ZW1zLlxuXHQubWVudS1pdGVtLWhhcy1jaGlsZHJlbiB7XG5cblx0XHQubWVudS1pdGVtLWhhcy1jaGlsZHJlbiB7XG5cblx0XHRcdC8vIFJvdGF0ZSB0byB0aGUgcmlnaHQgdG8gcG9pbnQgdG93YXJkIHRoZSBkaXJlY3Rpb24gb2YgdGhlIGRyb3Bkb3duLlxuXHRcdFx0LmNhcmV0LWRvd24ge1xuXHRcdFx0XHR0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpIHRyYW5zbGF0ZVgocmVtKDIpKTtcblx0XHRcdFx0Y29sb3I6ICRjb2xvci13aGl0ZTtcblx0XHRcdH0gLy8gLmNhcmV0LWRvd25cblx0XHR9IC8vIC5tZW51LWl0ZW0taGFzLWNoaWxkcmVuXG5cdH0gLy8gLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW5cblxuXHQvLyBNZW51IGh5cGVybGlua3Ncblx0YSB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHR9IC8vIGFcblxuXHQvLyBDdXJyZW50IGl0ZW1zXG5cdC5jdXJyZW50X3BhZ2VfaXRlbSxcblx0LmN1cnJlbnQtbWVudS1pdGVtIHtcblx0XHRiYWNrZ3JvdW5kOiAkY29sb3ItbmF2LWhvdmVyO1xuXG5cdFx0YSB7XG5cdFx0XHRjb2xvcjogJGNvbG9yLXdoaXRlO1xuXHRcdH1cblx0fSAvLyAuY3VycmVudF9wYWdlX2l0ZW0gYSwgLmN1cnJlbnQtbWVudS1pdGVtIGFcbn0gLy8gLm1lbnVcblxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQ2FyZXQgZG93bi5cbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5jYXJldC1kb3duIHtcblx0QGluY2x1ZGUgc2l6ZShyZW0oMTApIHJlbSgyMCkpO1xuXG5cdGJhY2tncm91bmQ6IHVybCgnYXNzZXRzL2ltYWdlcy9zdmctaWNvbnMvY2FyZXQtZG93bi5zdmcnKSBuby1yZXBlYXQgdHJhbnNwYXJlbnQ7XG5cdGJhY2tncm91bmQtc2l6ZTogMTAwJTtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRtYXJnaW4tbGVmdDogcmVtKDUpO1xuXHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufSAvLyAuYW5nbGUtZG93blxuIiwiLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gTWFpbiBOYXZpZ2F0aW9uIOKAlCBEZXNrdG9wLlxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLm1haW4tbmF2aWdhdGlvbiB7XG5cdGRpc3BsYXk6IG5vbmU7XG5cdGJhY2tncm91bmQ6ICRjb2xvci1ibHVlO1xuXG5cdEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQtbGFuZHNjYXBlKSB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdH1cblxuXHQvLyBNZW51IGFyZWFcblx0dWwge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cblx0XHRAaW5jbHVkZSBtZWRpYSgkcGhvbmUpIHtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdH1cblxuXHRcdGxpIHtcblx0XHRcdHRyYW5zaXRpb246IC4yNXM7XG5cblx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRcdGJhY2tncm91bmQ6ICRjb2xvci1uYXYtaG92ZXI7XG5cdFx0XHRcdH1cblxuXHRcdFx0YSB7XG5cdFx0XHRcdGNvbG9yOiAkY29sb3Itd2hpdGU7XG5cdFx0XHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0XHRcdHBhZGRpbmc6IDhweCAxNXB4O1xuXG5cdFx0XHR9XG5cdFx0fVxuXHR9IC8vIHVsXG5cblx0Ji50b2dnbGVkIHVsIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0fSAvLyAmLnRvZ2dsZWQgdWxcbn0gLy8gLm1haW4tbmF2aWdhdGlvblxuXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBEcm9wZG93bi5cbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5kcm9wZG93biB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXHQvLyBTdWItbWVudVxuXHR1bCB7XG5cdFx0QGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIHJlbSgyNCkgbnVsbCBudWxsIC05OTllbSk7XG5cblx0XHRib3gtc2hhZG93OiAwIHJlbSgzKSByZW0oMykgcmdiYSgkY29sb3ItYmxhY2ssIDAuMik7XG5cdFx0ZmxvYXQ6IGxlZnQ7XG5cdFx0ei1pbmRleDogOTk5OTk7XG5cblx0XHQvLyBTdWItc3ViIG1lbnVcblx0XHR1bCB7XG5cdFx0XHRsZWZ0OiAtOTk5ZW07XG5cdFx0XHR0b3A6IDA7XG5cdFx0fSAvLyB1bFxuXG5cdFx0Ly8gU3ViLW1lbnUgaXRlbXNcblx0XHRsaSB7XG5cdFx0XHR3aWR0aDogMTAwJTtcblxuXHRcdFx0Jjpob3ZlciA+IHVsLFxuXHRcdFx0Ji5mb2N1cyA+IHVsIHtcblx0XHRcdFx0bGVmdDogMTAwJTtcblx0XHRcdH0gLy8gJjpob3ZlciA+IHVsLCAmLmZvY3VzID4gdWxcblxuXHRcdFx0Ji5jdXJyZW50LW1lbnUtaXRlbSB7XG5cdFx0XHRcdGJvcmRlci1sZWZ0OiA1cHggc29saWQgJGNvbG9yLWJyaWdodC1ibHVlO1xuXHRcdFx0fVxuXHRcdH0gLy8gbGlcblxuXHRcdC8vIFN1Yi1tZW51IGxpbmtzXG5cdFx0YSB7XG5cdFx0XHRAaW5jbHVkZSBzaXplKDEwMCUgYXV0byk7XG5cblx0XHRcdG1pbi13aWR0aDogcmVtKDIwMCk7XG5cdFx0fSAvLyBhXG5cblx0XHQvLyBzYXNzLWxpbnQ6ZGlzYWJsZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG5cdFx0Jjpob3ZlciA+IGEsXG5cdFx0LmZvY3VzID4gYSB7XG5cblx0XHR9IC8vICY6aG92ZXIgPiBhLCAuZm9jdXMgPiBhXG5cblx0XHRhOmhvdmVyLFxuXHRcdGEuZm9jdXMge1xuXG5cdFx0fSAvLyBhOmhvdmVyLCBhLmZvY3VzXG5cdFx0Ly8gc2Fzcy1saW50OmVuYWJsZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG5cdH0gLy8gdWxcblxuXHQvLyBEaXNwbGF5IHN1Yi1tZW51IG9uIGhvdmVyXG5cdGxpOmhvdmVyID4gdWwsXG5cdC5mb2N1cyA+IHVsIHtcblx0XHRsZWZ0OiBhdXRvO1xuXHR9IC8vIGxpOmhvdmVyID4gdWwsIC5mb2N1cyA+IHVsXG5cblx0Ly8gTWVudSBpdGVtc1xuXHRsaSB7XG5cdFx0ZmxvYXQ6IGxlZnQ7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXG5cdFx0Jjpob3ZlciA+IGEsXG5cdFx0Ji5mb2N1cyA+IGEge1xuXHRcdFx0XG5cdFx0fSAvLyAmOmhvdmVyID4gYSwgJi5mb2N1cyA+IGFcblx0fSAvLyBsaVxufSAvLyAmLmRyb3Bkb3duXG5cbkBpbmNsdWRlIGRldmljZS1taW4tbWQge1xuXHR1bCNwcmltYXJ5LW1lbnUge1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cblx0XHRsaSB7XG5cdFx0XHRmbGV4LWdyb3c6IDE7XG5cdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0fVxuXHR9XG59IiwiLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gTW9iaWxlIE5hdmlnYXRpb24uXG4vL1xuLy8gMS4gTW9iaWxlIE5hdmlnYXRpb24gU3R5bGVzLlxuLy8gMi4gUGFyZW50IEluZGljYXRvci5cbi8vIDMuIE1lbnUgSXRlbSBIYXMgQ2hpbGRyZW4uXG4vLyA0LiBIYW1idXJnZXIgQnV0dG9uLlxuLy8gNS4gT2ZmIENhbnZhcyBEcmF3ZXIuXG4vL1xuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyAxLiBNb2JpbGUgTmF2aWdhdGlvbiBTdHlsZXMuXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4ubW9iaWxlLW1lbnUge1xuXHRAaW5jbHVkZSBsaXN0LXJlc2V0O1xuXG5cdG1hcmdpbi10b3A6IDcwcHg7XG5cblx0dWwge1xuXHRcdEBpbmNsdWRlIGxpc3QtcmVzZXQ7XG5cdFx0cGFkZGluZy1sZWZ0OiAzMHB4O1xuXHR9IC8vIHVsXG5cblx0bGkge1xuXHRcdGxpc3Qtc3R5bGU6IG5vbmU7XG5cdFx0cGFkZGluZzogNXB4O1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0fSAvLyBsaVxuXG5cdGEge1xuXHRcdGNvbG9yOiAkY29sb3Itd2hpdGU7XG5cdFx0Zm9udC1zaXplOiByZW0oMTQpO1xuXG5cdFx0Jjpmb2N1cywgJjpob3ZlciwgJjphY3RpdmUge1xuXHRcdFx0b3V0bGluZTogbm9uZTtcblx0XHR9IC8vICY6Zm9jdXNcblx0fSAvLyBhXG5cblx0Ly8gU3VibWVudSBkcm9wZG93bnMuXG5cdC5zdWItbWVudSB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblxuXHRcdC8vIElmIHN1Ym1lbnUgaXMgb3Blbi5cblx0XHQmLmlzLXZpc2libGUge1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRvcGFjaXR5OiAxO1xuXHRcdFx0dmlzaWJpbGl0eTogdmlzaWJsZTtcblx0XHR9IC8vICYuaXMtdmlzaWJsZVxuXHR9IC8vIC5zdWItbWVudVxufSAvLyAubW9iaWxlLW1lbnVcblxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gMi4gQ3JlYXRlIGEgZG93biBhcnJvdyBvbiBwYXJlbnQgaXRlbXMuXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4ucGFyZW50LWluZGljYXRvciB7XG5cdEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCByZW0oMCkgcmVtKDEwKSBudWxsIG51bGwpO1xuXHRAaW5jbHVkZSBzaXplKHJlbSgzNSkpO1xuXG5cdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdHBhZGRpbmc6IHJlbSg1KTtcblx0ei1pbmRleDogOTk5OTtcblx0aGVpZ2h0OiAzMHB4O1xuXG5cdCY6Zm9jdXMge1xuXHRcdG91dGxpbmU6IDJweCBzb2xpZCAkY29sb3Itd2hpdGU7XG5cdH0gLy8gJjpmb2N1c1xufSAvLyAucGFyZW50LWluZGljYXRvclxuXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyAzLiBNZW51IEl0ZW0gSGFzIENoaWxkcmVuLlxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLm1vYmlsZS1tZW51IHtcblxuXHQvLyBQYXJlbnQgbWVudSBpdGVtcy5cblx0Lm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4ge1xuXHRcdHRyYW5zaXRpb246IG1heC1oZWlnaHQgMC41cztcblxuXHRcdC8vIEZvcmNlIG1lbnUgbGluayB0byBhY2NvbW9kYXRlIGRvd24gYnV0dG9uLlxuXHRcdGEge1xuXHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0bWF4LXdpZHRoOiBjYWxjKDEwMCUgLSA0MHB4KTtcblx0XHR9IC8vIGFcblxuXHRcdCYuaXMtdmlzaWJsZSB7XG5cdFx0XHRtYXgtaGVpZ2h0OiByZW0oNTAwKTtcblxuXHRcdFx0Ly8gV2hlbiB2aXNpYmxlLCBmbGlwIHRoZSBkb3duIGFycm93LlxuXHRcdFx0LmRvd24tYXJyb3cge1xuXHRcdFx0XHR0cmFuc2Zvcm06IHJvdGF0ZVgoMTgwZGVnKTtcblx0XHRcdH0gLy8gLmRvd24tYXJyb3dcblx0XHR9IC8vIC5pcy12aXNpYmxlXG5cblx0XHQubWVudS1pdGVtLWhhcy1jaGlsZHJlbiB7XG5cblx0XHRcdCY6bGFzdC1vZi10eXBlIHtcblxuXHRcdFx0XHQubWVudS1pdGVtLWhhcy1jaGlsZHJlbi5pcy12aXNpYmxlIHtcblx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHRcdFx0XHR9XG5cdFx0XHR9IC8vICY6bGFzdC1vZi10eXBlXG5cblx0XHRcdC5kb3duLWFycm93IHtcblx0XHRcdFx0dHJhbnNmb3JtOiByb3RhdGVYKDApO1xuXHRcdFx0fSAvLyAuZG93bi1hcnJvd1xuXG5cdFx0XHQmLmlzLXZpc2libGUge1xuXG5cdFx0XHRcdCY6bGFzdC1vZi10eXBlIHtcblx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHRcdFx0XHR9IC8vICY6bGFzdC1vZi10eXBlXG5cblx0XHRcdFx0Ly8gV2hlbiB2aXNpYmxlLCBmbGlwIHRoZSBkb3duIGFycm93LlxuXHRcdFx0XHQuZG93bi1hcnJvdyB7XG5cdFx0XHRcdFx0dHJhbnNmb3JtOiByb3RhdGVYKDE4MGRlZyk7XG5cdFx0XHRcdH0gLy8gLmRvd24tYXJyb3dcblx0XHRcdH0gLy8gJi5pcy12aXNpYmxlXG5cblx0XHRcdC5tZW51LWl0ZW0taGFzLWNoaWxkcmVuIHtcblxuXHRcdFx0XHQuZG93bi1hcnJvdyB7XG5cdFx0XHRcdFx0dHJhbnNmb3JtOiByb3RhdGVYKDApO1xuXHRcdFx0XHR9IC8vIC5kb3duLWFycm93XG5cblx0XHRcdFx0Ji5pcy12aXNpYmxlIHtcblx0XHRcdFx0XHQvLyBXaGVuIHZpc2libGUsIGZsaXAgdGhlIGRvd24gYXJyb3cuXG5cdFx0XHRcdFx0LmRvd24tYXJyb3cge1xuXHRcdFx0XHRcdFx0dHJhbnNmb3JtOiByb3RhdGVYKDE4MGRlZyk7XG5cdFx0XHRcdFx0fSAvLyAuZG93bi1hcnJvd1xuXHRcdFx0XHR9IC8vICYuaXMtdmlzaWJsZVxuXHRcdFx0fSAvLyAubWVudS1pdGVtLWhhcy1jaGlsZHJlblxuXHRcdH0gLy8gLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW5cblx0fSAvLyAubWVudS1pdGVtLWhhcy1jaGlsZHJlblxufSAvLyAubW9iaWxlLW1lbnVcblxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gNC4gSGFtYnVyZ2VyIEJ1dHRvbi5cbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5oYW1idXJnZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0b3V0bGluZTogbm9uZTtcblxuXHQmLFxuXHQmOjpiZWZvcmUsXG5cdCY6OmFmdGVyIHtcblx0XHR3aWR0aDogNDBweDtcblx0XHRoZWlnaHQ6IDVweDtcblxuXHRcdGJhY2tncm91bmQ6ICRjb2xvci1jb2QtZ3JheTtcblx0XHRib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy10aGluO1xuXHRcdGNvbnRlbnQ6ICcnO1xuXHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0dHJhbnNpdGlvbjogJHRyYW5zaXRpb24taGFtYnVyZ2VyO1xuXHR9XG5cblx0Jjo6YmVmb3JlIHtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkocmVtKC0xMCkpO1xuXHR9XG5cblx0Jjo6YWZ0ZXIge1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWShyZW0oMTApKTtcblx0fVxuXG5cdC5pcy12aXNpYmxlICYge1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHRcdHRyYW5zaXRpb246IC4zNXM7XG5cblx0XHQmOjpiZWZvcmUge1xuXHRcdFx0dHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuXHRcdH1cblxuXHRcdCY6OmFmdGVyIHtcblx0XHRcdHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG5cdFx0fVxuXG5cdH0gLy8gLmlzLXZpc2libGXDn1xuXG59IC8vIC5oYW1idXJnZXJcblxuYnV0dG9uLm9mZi1jYW52YXMtb3Blbi5tbC1hdXRvLmlzLXZpc2libGUgc3Bhbi5oYW1idXJnZXI6YmVmb3JlLFxuYnV0dG9uLm9mZi1jYW52YXMtb3Blbi5tbC1hdXRvLmlzLXZpc2libGUgc3Bhbi5oYW1idXJnZXI6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQ6ICRjb2xvci13aGl0ZTtcbn1cblxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gNS4gT2ZmIENhbnZhcyBEcmF3ZXIuXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4ub2ZmLWNhbnZhcyB7XG5cblx0Ly8gVGhlIGNvbnRhaW5lci5cblx0Ji1jb250YWluZXIge1xuXHRcdEBpbmNsdWRlIHBvc2l0aW9uKGZpeGVkLCAwIGF1dG8gMCAwKTtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0LXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50aXplKCRjb2xvci1ibHVlLCAuMDMpO1xuXHRcdG92ZXJmbG93LXk6IGF1dG87XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcblx0XHR0cmFuc2l0aW9uOiAkdHJhbnNpdGlvbi10cmFuc2Zvcm07XG5cdFx0ei1pbmRleDogOTk5ODtcblxuXHRcdCYuaXMtdmlzaWJsZSB7XG5cdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG5cdFx0fVxuXG5cdFx0Ly8gRGVhbCB3aXRoIHRoZSBhZG1pbiBiYXIuXG5cdFx0LmFkbWluLWJhciAmIHtcblx0XHRcdHBhZGRpbmctdG9wOiByZW0oNDYpO1xuXG5cdFx0XHRAaW5jbHVkZSBtZWRpYSgkd3AtYWRtaW4tYmFyKSB7XG5cdFx0XHRcdHBhZGRpbmctdG9wOiByZW0oMzIpO1xuXHRcdFx0fVxuXHRcdH0gLy8gLmFkbWluLWJhciAmXG5cblx0XHR1bC5jaGlsZHJlbiB7XG5cdFx0ICAgIHBhZGRpbmctbGVmdDogMTVweDtcblx0XHR9XG5cdH0gLy8gLm9mZi1jYW52YXMtY29udGFpbmVyXG5cblx0Ly8gVGhlIGhhbWJ1cmdlciBuYXYuXG5cdCYtb3BlbiB7XG5cdFx0Ly9AaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgcmVtKDI0KSByZW0oMjQpIG51bGwgbnVsbCk7XG5cdFx0aGVpZ2h0OiA0MHB4O1xuXHRcdHdpZHRoOiA2MHB4O1xuXHRcdHBhZGRpbmc6IDAgMTBweDtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRib3JkZXI6IG5vbmU7XG5cdFx0bWFyZ2luLXRvcDogMTVweDtcblx0XHR6LWluZGV4OiA5OTk5O1xuXG5cdFx0QGluY2x1ZGUgbWVkaWEoJHRhYmxldC1sYW5kc2NhcGUpIHtcblx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cblx0XHR9XG5cblx0XHQvLyBEZWFsIHdpdGggdGhlIGFkbWluIGJhci5cblx0XHQuYWRtaW4tYmFyICYge1xuXHRcdFx0Ly9AaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgcmVtKDU2KSBudWxsIG51bGwgbnVsbCk7XG5cdFx0fSAvLyAuYWRtaW4tYmFyICZcblxuXHRcdCY6Zm9jdXMsXG5cdFx0Jjpob3ZlciB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0XHRcdG91dGxpbmU6IG5vbmU7XG5cdFx0fSAvLyAmOmZvY3VzLCAmOmhvdmVyXG5cdH0gLy8gLm9mZi1jYW52YXMtYnV0dG9uXG5cblx0Ly8gVGhlIGNsb3NlIFwiWFwiIGJ1dHRvbi5cblx0Ji1jbG9zZSB7XG5cdFx0QGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIHJlbSgxMCkgcmVtKDEwKSBudWxsIG51bGwpO1xuXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0XHRwYWRkaW5nOiByZW0oMTIpIHJlbSg1KTtcblx0XHR6LWluZGV4OiA5OTk5O1xuXHRcdGJvcmRlcjogMDtcblxuXHRcdCY6Zm9jdXMsXG5cdFx0Jjpob3ZlciB7XG5cdFx0XHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblx0XHRcdC8vb3V0bGluZTogMnB4IHNvbGlkICRjb2xvci13aGl0ZTtcblx0XHRcdG91dGxpbmU6IG5vbmU7XG5cdFx0fSAvLyAmOmZvY3VzLCAmOmhvdmVyXG5cblx0XHQuYWRtaW4tYmFyICYge1xuXHRcdFx0dG9wOiByZW0oNjApO1xuXG5cdFx0XHRAaW5jbHVkZSBtZWRpYSgkd3AtYWRtaW4tYmFyKSB7XG5cdFx0XHRcdHRvcDogcmVtKDQ2KTtcblx0XHRcdH1cblx0XHR9IC8vIC5hZG1pbi1iYXIgJlxuXG5cdFx0LmlzLXZpc2libGUgJiB7XG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0fSAvLyAuaXMtdmlzaWJsZSAmXG5cdH0gLy8gLm9mZi1jYW52YXMtY2xvc2VcblxuXHQvLyBUaGUgYmFja2dyb3VuZCBzY3JlZW4uXG5cdCYtc2NyZWVuIHtcblx0XHRAaW5jbHVkZSBwb3NpdGlvbihmaXhlZCwgMCk7XG5cblx0XHRiYWNrZ3JvdW5kOiAkY29sb3ItYmxhY2s7XG5cdFx0b3BhY2l0eTogMDtcblx0XHR0cmFuc2l0aW9uOiAkdHJhbnNpdGlvbi1vcGFjaXR5O1xuXHRcdHZpc2liaWxpdHk6IGhpZGRlbjtcblx0XHR6LWluZGV4OiA5OTk2O1xuXG5cdFx0Ji5pcy12aXNpYmxlIHtcblx0XHRcdG9wYWNpdHk6IDAuNDtcblx0XHRcdHZpc2liaWxpdHk6IHZpc2libGU7XG5cdFx0fVxuXHR9IC8vIC5vZmYtY2FudmFzLXNjcmVlblxuXG5cdC8vIENvbnRlbnQgY29udGFpbmVyLlxuXHQmLWNvbnRlbnQge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cblx0XHQuaXMtdmlzaWJsZSAmIHtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdH1cblx0fSAvLyAub2ZmLWNhbnZhcy1jb250ZW50XG59IC8vIC5vZmYtY2FudmFzXG4iLCIvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBOYXZpZ2F0aW9uIG9uIENvbW1lbnQsIFBvc3QgYW5kIFBvc3RzLlxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLmNvbW1lbnQtbmF2aWdhdGlvbixcbi5wb3N0cy1uYXZpZ2F0aW9uLFxuLnBvc3QtbmF2aWdhdGlvbiB7XG5cdC5zaXRlLW1haW4gJiB7XG5cdFx0bWFyZ2luOiAwIDAgcmVtKDI0KSAwO1xuXHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdH0gLy8gLnNpdGUtbWFpbiAmXG5cblx0Lm5hdi1wcmV2aW91cyB7XG5cdFx0QGluY2x1ZGUgc2l6ZSg1MCUgYXV0byk7XG5cblx0XHRmbG9hdDogbGVmdDtcblx0fSAvLyAmLm5hdi1wcmV2aW91c1xuXG5cdC5uYXYtbmV4dCB7XG5cdFx0QGluY2x1ZGUgc2l6ZSg1MCUgYXV0byk7XG5cblx0XHRmbG9hdDogcmlnaHQ7XG5cdFx0dGV4dC1hbGlnbjogcmlnaHQ7XG5cdH0gLy8gJi5uYXYtbmV4dFxufSAvLyAuY29tbWVudC1uYXZpZ2F0aW9uLCAucG9zdHMtbmF2aWdhdGlvbiwgLnBvc3QtbmF2aWdhdGlvblxuIiwiLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gVGFibGVzXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbnRhYmxlIHtcblx0Ym9yZGVyOiAwO1xuXHRib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuXHRib3JkZXItc3BhY2luZzogMDtcblx0cGFkZGluZzogMDtcblx0d2lkdGg6IDEwMCU7XG5cblx0Ly8gdGhlYWRcblx0dGhlYWQge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cblx0XHRAaW5jbHVkZSBtZWRpYSgkcGhvbmUpIHtcblx0XHRcdGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cDtcblx0XHR9XG5cdH0gLy8gdGhlYWRcblxuXHQvLyB0aCwgdGRcblx0dGgsXG5cdHRkIHtcblx0XHRwYWRkaW5nOiByZW0oMTApO1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblxuXHRcdEBpbmNsdWRlIG1lZGlhKCRwaG9uZSkge1xuXHRcdFx0ZGlzcGxheTogdGFibGUtY2VsbDtcblx0XHR9XG5cdH0gLy8gdGgsIHRkXG5cblx0Ly8gdGhcblx0dGgge1xuXHRcdGZvbnQtc2l6ZTogcmVtKDE0KTtcblx0XHRsZXR0ZXItc3BhY2luZzogcmVtKDEpO1xuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cblx0XHRAaW5jbHVkZSBtZWRpYSgkcGhvbmUpIHtcblx0XHRcdGRpc3BsYXk6IHRhYmxlLWNlbGw7XG5cdFx0fVxuXHR9IC8vIHRoXG5cblx0Ly8gdHJcblx0dHIge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdG1hcmdpbi1ib3R0b206IHJlbSgxMCk7XG5cblx0XHRAaW5jbHVkZSBtZWRpYSgkcGhvbmUpIHtcblx0XHRcdGRpc3BsYXk6IHRhYmxlLXJvdztcblx0XHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0fVxuXHR9IC8vIHRyXG5cblx0Ly8gdGRcblx0dGQge1xuXHRcdGJvcmRlcjogMXB4IHNvbGlkICRjb2xvci1zaWx2ZXI7XG5cdFx0Ym9yZGVyLWJvdHRvbTogMDtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRmb250LXNpemU6IHJlbSgxMyk7XG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXG5cdFx0QGluY2x1ZGUgbWVkaWEoJHBob25lKSB7XG5cdFx0XHRib3JkZXItYm90dG9tOiAwO1xuXHRcdH1cblxuXHRcdC8vIGxhc3QtY2hpbGRcblx0XHQmOmxhc3QtY2hpbGQge1xuXHRcdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjb2xvci1zaWx2ZXI7XG5cdFx0fSAvLyAmOmxhc3QtY2hpbGRcblxuXHRcdC8vIGJlZm9yZVxuXHRcdCY6OmJlZm9yZSB7XG5cdFx0XHRjb250ZW50OiAnJztcblx0XHRcdGZsb2F0OiBsZWZ0O1xuXHRcdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdFx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdH0gLy8gJjo6YmVmb3JlXG5cdH0gLy8gdGRcblxuXHRAaW5jbHVkZSBtZWRpYSgkcGhvbmUpIHtcblx0XHRib3JkZXI6IDFweCBzb2xpZCAkY29sb3Itc2lsdmVyO1xuXHR9XG59IC8vIHRhYmxlXG4iLCIvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBXb3JkUHJlc3MgRGVmYXVsdCBCdXR0b24gQmxvY2tcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gUmVzZXQgYnV0dG9uIGxpbmtzIHRvIGJlIG1vcmUgaW5saW5lIHdpdGggb3VyIGRlZmF1bHRzLlxuLndwLWJsb2NrLWJ1dHRvbiB7XG5cblx0Ly8gVGhlIGNsYXNzIG9uIHRoZSA8YT4uXG5cdC53cC1ibG9jay1idXR0b25fX2xpbmsge1xuXHRcdGJhY2tncm91bmQ6ICRjb2xvci1taW5lc2hhZnQ7XG5cdFx0Ym9yZGVyLXJhZGl1czogMDtcblxuXHRcdC8vIFRoZSBob3ZlciBhbmQgZm9jdXMgc3RhdGVzLlxuXHRcdCY6aG92ZXIsXG5cdFx0Jjpmb2N1cyB7XG5cdFx0XHRvcGFjaXR5OiAwLjg7XG5cdFx0fSAvLyAmOmhvdmVyLCAmOmZvY3VzXG5cdH0gLy8gJl9fbGlua1xufSAvLyAud3AtYmxvY2stYnV0dG9uIiwiLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gV29yZFByZXNzIERlZmF1bHQgR2FsbGVyeSBCbG9ja1xuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBSZW1vdmUgdGhlIGxlZnQgbWFyZ2luL3BhZGRpbmcuXG4ud3AtYmxvY2stZ2FsbGVyeSB7XG5cdEBpbmNsdWRlIG1hcmdpbi1wYWRkaW5nLXJlc2V0O1xuXG59IC8vIC53cC1ibG9jay1nYWxsZXJ5IiwiLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gV29yZFByZXNzIERlZmF1bHQgUHVsbHF1b3RlIEJsb2NrXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIFB1bGxxdW90ZSBkZWZhdWx0cy5cbi53cC1ibG9jay1wdWxscXVvdGUge1xuXHRib3JkZXItYm90dG9tOiAycHggc29saWQgJGNvbG9yLXNpbHZlcjtcblx0Ym9yZGVyLXRvcDogMnB4IHNvbGlkICRjb2xvci1zaWx2ZXI7XG59IC8vIC53cC1ibG9jay1wdWxscXVvdGUiLCIvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBXb3JkUHJlc3MgRGVmYXVsdCBTZXBhcmF0b3IgQmxvY2tcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gTWF0Y2ggdGhlIHNlcGFyYXRvciB3aXRoIG91ciBjdXJyZW50IGRlZmF1bHQgPGhyPlxuLndwLWJsb2NrLXNlcGFyYXRvciB7XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY29sb3Itc2lsdmVyO1xuXHRtYXgtd2lkdGg6IDEwMCU7XG59IC8vIC53cC1ibG9jay1zZXBhcmF0b3IuIiwiLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gV29yZFByZXNzIERlZmF1bHQgQmxvY2txdW90ZSBCbG9ja1xuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBNYXRjaCBibG9jayBxdW90ZXMgdG8gY3VycmVudCBkZWZhdWx0cy5cbi53cC1ibG9jay1xdW90ZSB7XG5cblx0Ly8gTWF0Y2ggb3VyIGRlZmF1bHRzIGN1cnJlbnQgc3RhdGUuXG5cdGNpdGUge1xuXHRcdGZvbnQtc3R5bGU6IGl0YWxpYztcblx0fSAvLyBjaXRlXG59IC8vIC53cC1ibG9jay1xdW90ZSIsIi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFdvcmRQcmVzcyBEZWZhdWx0IFRhYmxlIEJsb2NrXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIFJlbW92ZSB0aGUgZGlzcGxheSBibG9jayBmcm9tIGRlZmF1bHQgdGFibGUuXG4ud3AtYmxvY2stdGFibGUge1xuXHRkaXNwbGF5OiB0YWJsZTtcbn0gLy8gLndwLWJsb2NrLXRhYmxlIiwiLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gV29yZFByZXNzIERlZmF1bHQgVmlkZW8gQmxvY2tcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLndwLWJsb2NrLXZpZGVvIHtcblx0aGVpZ2h0OiAwO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHRwYWRkaW5nLWJvdHRvbTogNTYuMjUlOyAvLyBGb3IgcmF0aW8gMTY6OS4gNzUlIGlmIHJhdGlvIGlzIDQ6M1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cblx0dmlkZW8ge1xuXHRcdEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAwIG51bGwgbnVsbCAwKTtcblx0XHRAaW5jbHVkZSBzaXplKDEwMCUpO1xuXG5cdH0gLy8gdmlkZW9cbn0gLy8gLndwLWJsb2NrLXZpZGVvXG4iLCIvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBXRFMgSGVyb1xuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4ud3AtYmxvY2std2RzLWhlcm8ge1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG59IC8vIC53cC1ibG9jay13ZHMtaGVybyIsIi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEluZmluaXRlIHNjcm9sbFxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBHbG9iYWxseSBoaWRkZW4gZWxlbWVudHMgd2hlbiBJbmZpbml0ZSBTY3JvbGwgaXMgc3VwcG9ydGVkIGFuZCBpbiB1c2UuXG4uaW5maW5pdGUtc2Nyb2xsIC5wb3N0cy1uYXZpZ2F0aW9uLCAvLyBPbGRlciAvIE5ld2VyIFBvc3RzIE5hdmlnYXRpb24gKGFsd2F5cyBoaWRkZW4pXG4uaW5maW5pdGUtc2Nyb2xsLm5ldmVyZW5kaW5nIC5zaXRlLWZvb3RlciB7IC8vIFRoZW1lIEZvb3RlciAod2hlbiBzZXQgdG8gc2Nyb2xsaW5nKVxuXHRkaXNwbGF5OiBub25lO1xufSAvLyAuaW5maW5pdGUtc2Nyb2xsIC5wb3N0cy1uYXZpZ2F0aW9uLCAuaW5maW5pdGUtc2Nyb2xsLm5ldmVyZW5kaW5nIC5zaXRlLWZvb3RlclxuXG4vLyBXaGVuIEluZmluaXRlIFNjcm9sbCBoYXMgcmVhY2hlZCBpdHMgZW5kIHdlIG5lZWQgdG8gcmUtZGlzcGxheSBlbGVtZW50cyB0aGF0IHdlcmUgaGlkZGVuICh2aWEgLm5ldmVyZW5kaW5nKSBiZWZvcmUuXG4uaW5maW5pdHktZW5kLm5ldmVyZW5kaW5nIC5zaXRlLWZvb3RlciB7XG5cdGRpc3BsYXk6IGJsb2NrO1xufSAvLyAuaW5maW5pdHktZW5kLm5ldmVyZW5kaW5nIC5zaXRlLWZvb3RlclxuIiwiLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy9cdEdyYXZpdHkgRm9ybXNcbi8vXHRWaXNpdCB0aGlzIGxpbmsgZm9yIENTUyBUYXJnZXRpbmcgRXhhbXBsZXMgLSBWZXJ5IEhlbHBmdWxcbi8vXHRodHRwczovL3d3dy5ncmF2aXR5aGVscC5jb20vZG9jdW1lbnRhdGlvbi9hcnRpY2xlL2Nzcy10YXJnZXRpbmctZXhhbXBsZXMvXG4vL1xuLy9cdEJBU0UgU1RZTEVTXG4vL1x0Rk9STSBIRUFERVJcbi8vXHRGT1JNIEZPT1RFUlxuLy9cdENPTkZJUk1BVElPTiBNRVNTQUdFXG4vL1x0U0VMRUNUU1xuLy8gXHRDSE9TRU4gU0VMRUNUXG4vL1x0Q09OVEVOVCBPVkVSUklERVNcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy9cdExPQ0FMIFZBUklBQkxFU1xuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBGb3JtXG4kZ2YtcGFkZGluZzogMDsgLy8gc2V0IG91dGVyIHBhZGRpbmcgb24gZm9ybVxuJGdmLWJnOiAkY29sb3Itd2hpdGU7IC8vIGJhY2tncm91bmQgY29sb3Igb2YgZm9ybVxuJGdmLWJvcmRlci13aWR0aDogMDsgLy8gYm9yZGVyLXdpZHRoIG9uIGZvcm1cbiRnZi1ib3JkZXItY29sb3I6ICRjb2xvci13aGl0ZTsgLy8gYm9yZGVyIGNvbG9yXG5cbi8vIEZpZWxkcyAvIFJvd3NcbiRnZi1maWVsZC1tYXJnaW4tYm90dG9tOiByZW0oMjUpOyAvLyBtYXJnaW4gYmV0d2VlbiBmaWVsZCBhbmQgbGFiZWwgYmVsb3cgKHZlcnRpY2FsIHNwYWNpbmcgYmV0d2VlbiByb3dzKVxuXG4vLyBMYWJlbHNcbiRnZi1sYWJlbC1mb250LXNpemU6IHJlbSgxNik7XG4kZ2YtbGFiZWwtZm9udC1jb2xvcjogJGNvbG9yLW1pbmVzaGFmdDtcbiRnZi1sYWJlbC1mb250LXdlaWdodDogNzAwO1xuXG4vLyBJbnB1dHNcbiRnZi1pbnB1dC1jb2xvci1iYWNrZ3JvdW5kOiAkY29sb3Itd2hpdGU7XG4kZ2YtaW5wdXQtY29sb3ItYm9yZGVyOiAkY29sb3ItaW5wdXQtYm9yZGVyO1xuJGdmLWlucHV0LWNvbG9yLXRleHQ6ICRjb2xvci1pbnB1dC10ZXh0O1xuJGdmLWlucHV0LWNvbG9yLWZvY3VzLXRleHQ6ICRjb2xvci1pbnB1dC1mb2N1cy10ZXh0O1xuJGdmLWlucHV0LXBhZGRpbmc6ICRwYWRkaW5nLWlucHV0O1xuXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vL1x0QkFTRSBTVFlMRVNcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5nZm9ybV93cmFwcGVyIHsgLy8gdGhlIGVudGlyZSBmb3JtXG5cdGJhY2tncm91bmQ6ICRnZi1iZzsgLy8gYmFja2dyb3VuZCBmb3IgdGhlIGZvcm1cblx0Ym9yZGVyOiAkZ2YtYm9yZGVyLXdpZHRoIHNvbGlkICRnZi1ib3JkZXItY29sb3I7IC8vIG91dGVyIGZvcm0gYm9yZGVyXG5cdHBhZGRpbmc6ICRnZi1wYWRkaW5nOyAvLyBmb3JtIHBhZGRpbmdcblxuXHQvLyBTaW5nbGUgYW5kIHR3by1jb2x1bW4gZmllbGRzXG5cdCYuZ2Zvcm1fYm9keSAuZ2Zvcm1fZmllbGRzIC5nZmllbGQsXG5cdCYuZ2Zvcm1fYm9keSAuZ2Zvcm1fZmllbGRzIC5nZmllbGQuZ2ZfbGVmdF9oYWxmLFxuXHQmLmdmb3JtX2JvZHkgLmdmb3JtX2ZpZWxkcyAuZ2ZpZWxkLmdmX3JpZ2h0X2hhbGYge1xuXHRcdG1hcmdpbi1ib3R0b206ICRnZi1maWVsZC1tYXJnaW4tYm90dG9tOyAvLyBzcGFjZSBiZXR3ZWVuIGlucHV0IGFuZCBsYWJlbCBiZWxvd1xuXHR9IC8vICYuZ2Zvcm1fYm9keSAuZ2Zvcm1fZmllbGRzIC5nZmllbGQsICYuZ2Zvcm1fYm9keSAuZ2Zvcm1fZmllbGRzIC5nZmllbGQuZ2ZfbGVmdF9oYWxmLCAmLmdmb3JtX2JvZHkgLmdmb3JtX2ZpZWxkcyAuZ2ZpZWxkLmdmX3JpZ2h0X2hhbGZcblxuXHQvLyBMYWJlbHNcblx0LmdmaWVsZF9sYWJlbCB7XG5cdFx0Y29sb3I6ICRnZi1sYWJlbC1mb250LWNvbG9yO1xuXHRcdGZvbnQtc2l6ZTogJGdmLWxhYmVsLWZvbnQtc2l6ZTtcblx0XHRmb250LXdlaWdodDogJGdmLWxhYmVsLWZvbnQtd2VpZ2h0O1xuXG5cdFx0Ly8gUmVxdWlyZSBmaWVsZCBJbmRpY2F0b3IgKEFzdGVyaXNrKVxuXHRcdC5nZmllbGRfcmVxdWlyZWQge1xuXG5cdFx0fSAvLyAuZ2ZpZWxkX3JlcXVpcmVkXG5cdH0gLy8gLmdmaWVsZF9sYWJlbFxuXG5cdC8vIFN0YW5kYXJkIGZpZWxkc1xuXHRpbnB1dFt0eXBlPSd0ZXh0J10sXG5cdGlucHV0W3R5cGU9J3VybCddLFxuXHRpbnB1dFt0eXBlPSdlbWFpbCddLFxuXHRpbnB1dFt0eXBlPSd0ZWwnXSxcblx0aW5wdXRbdHlwZT0nbnVtYmVyJ10sXG5cdGlucHV0W3R5cGU9J3Bhc3N3b3JkJ10sXG5cdGlucHV0W3R5cGU9J2ZpbGUnXSxcblx0dGV4dGFyZWEge1xuXHRcdGJhY2tncm91bmQ6ICRnZi1pbnB1dC1jb2xvci1iYWNrZ3JvdW5kO1xuXHR9IC8vIGlucHV0W3R5cGU9XCJ0ZXh0XCJdLCBpbnB1dFt0eXBlPVwidXJsXCJdLCBpbnB1dFt0eXBlPVwiZW1haWxcIl0sIGlucHV0W3R5cGU9XCJ0ZWxcIl0sIGlucHV0W3R5cGU9XCJudW1iZXJcIl0sIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSwgaW5wdXRbdHlwZT1cImZpbGVcIl0sIHRleHRhcmVhXG5cblx0dGV4dGFyZWEge1xuXHRcdHdpZHRoOiAxMDAlO1xuXHR9IC8vIHRleHRhcmVhXG5cblx0Ly8gRGVmYXVsdCBEcm9wLURvd24gKFNlbGVjdCkgRmllbGRcblx0Ly8gRmVlbCBmcmVlIHRvIGNoYW5nZSB0aGUgc3ZnIGljb24gYmVpbmcgdXNlZFxuXHRzZWxlY3Qge1xuXHRcdGFwcGVhcmFuY2U6IG5vbmU7XG5cdFx0YmFja2dyb3VuZDogdXJsKCdhc3NldHMvaW1hZ2VzL3N2Zy1pY29ucy9jYXJldC1kb3duLnN2ZycpIG5vLXJlcGVhdCA5NyUgdHJhbnNwYXJlbnQ7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGdmLWlucHV0LWNvbG9yLWJhY2tncm91bmQ7XG5cdFx0YmFja2dyb3VuZC1zaXplOiByZW0oMTIpO1xuXHRcdGJvcmRlci1jb2xvcjogJGdmLWlucHV0LWNvbG9yLWJvcmRlcjtcblx0XHRib3JkZXItcmFkaXVzOiAwO1xuXHRcdGxpbmUtaGVpZ2h0OiAxLjQ1O1xuXHRcdHBhZGRpbmc6ICRnZi1pbnB1dC1wYWRkaW5nICFpbXBvcnRhbnQ7IC8vIG5lZWQgdG8gb3ZlcnJpZGUgR0YncyBcImJyb3dzZXJcIiBzdHlsZXNoZWV0XG5cdFx0d2lkdGg6IDEwMCU7XG5cblx0XHRAaW5jbHVkZSBtZWRpYSgkdGFibGV0LXBvcnRyYWl0KSB7XG5cdFx0XHR3aWR0aDogNDklO1xuXHRcdH1cblxuXHRcdCY6Oi1tcy1leHBhbmQge1xuXHRcdFx0ZGlzcGxheTogbm9uZTsgLy8gUmVtb3ZlIGRlZmF1bHQgZHJvcGRvd24gYXJyb3cgaW4gSUUxMS5cblx0XHR9XG5cdH0gLy8gc2VsZWN0XG5cblx0Ly8gUmVtb3ZlIGljb24gZm9yIGRlZmF1bHQgbXVsdGktc2VsZWN0XG5cdHNlbGVjdFttdWx0aXBsZT0nbXVsdGlwbGUnXSB7XG5cdFx0YmFja2dyb3VuZDogJGdmLWlucHV0LWNvbG9yLWJhY2tncm91bmQ7XG5cdH0gLy8gc2VsZWN0W211bHRpcGxlPVwibXVsdGlwbGVcIl1cbn0gLy8gLmdmb3JtX3dyYXBwZXJcblxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gXHRGT1JNIEhFQURFUlxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2hlYWRpbmcge1xuXHQvLyAuZ2Zvcm1fdGl0bGUgLSBmb3JtIHRpdGxlXG5cdC8vIC5nZm9ybV9kZXNjcmlwdGlvbiAtIGZvcm0gZGVzY3JpcHRpb25cbn0gLy8gLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2hlYWRpbmdcblxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gXHRGT1JNIEZPT1RFUlxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciB7XG5cblx0aW5wdXQuYnV0dG9uLFxuXHRpbnB1dFt0eXBlPSdzdWJtaXQnXSB7XG5cdFx0Ly8gVGhpcyB3aWxsIHRhcmdldCBzdWJtaXQgYnV0dG9uc1xuXHR9IC8vIGlucHV0LmJ1dHRvbiwgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXVxufSAvLyAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyXG5cbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vXHRDT05GSVJNQVRJT04gTUVTU0FHRSAoU1VDQ0VTU0ZVTCBBSkFYIFNVQk1JU1NJT04pXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4uZ2Zvcm1zX2NvbmZpcm1hdGlvbl9tZXNzYWdlIHsgLy8gY29udGFpbmVyIGVsZW1lbnRcblx0Ly8gLmdmb3JtX2NvbmZpcm1hdGlvbl93cmFwcGVyIC0gdGhlIG1lc3NhZ2Ugd3JhcHBlclxuXHQvLyAuZ2Zvcm1fY29uZmlybWF0aW9uX21lc3NhZ2UgLSBtZXNzYWdlIGRpdlxufSAvLyAuZ2Zvcm1zX2NvbmZpcm1hdGlvbl9tZXNzYWdlXG5cbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vXHRTRUxFQ1RTXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4uZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fYm9keSAuZ2Zvcm1fZmllbGRzIC5nZmllbGQgc2VsZWN0LFxuLmdmb3JtX3dyYXBwZXIuZ2ZfYnJvd3Nlcl9jaHJvbWUgLmdmb3JtX2JvZHkgLmdmb3JtX2ZpZWxkcyAuZ2ZpZWxkIHNlbGVjdCB7XG5cdG1hcmdpbi1sZWZ0OiAwO1xuXHR3aWR0aDogMTAwJSAhaW1wb3J0YW50OyAvLyBvdmVycmlkZXMgR0YgIWltcG9ydGFudFxuXG5cdEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQtcG9ydHJhaXQpIHtcblx0XHR3aWR0aDogNDklICFpbXBvcnRhbnQ7XG5cdH1cbn0gLy8gLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2JvZHkgLmdmb3JtX2ZpZWxkcyAuZ2ZpZWxkIHNlbGVjdCwgLmdmb3JtX3dyYXBwZXIuZ2ZfYnJvd3Nlcl9jaHJvbWUgLmdmb3JtX2JvZHkgLmdmb3JtX2ZpZWxkcyAuZ2ZpZWxkIHNlbGVjdFxuXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vL1x0Q0hPU0VOIFNFTEVDVFxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLmdmb3JtX3dyYXBwZXIgLmdmaWVsZCAuY2hvc2VuLWNvbnRhaW5lci1zaW5nbGUge1xuXHRmb250LXNpemU6IHJlbSgxNik7XG5cblx0Ly8gTGluayBob2xkaW5nIGluaXRpYWwgc2VsZWN0aW9uIC0gd2hhdCB1c2VyIGZpcnN0IHNlZXNcblx0LmNob3Nlbi1zaW5nbGUge1xuXHRcdGJhY2tncm91bmQ6ICRnZi1pbnB1dC1jb2xvci1iYWNrZ3JvdW5kO1xuXHRcdGJvcmRlci1jb2xvcjogJGdmLWlucHV0LWNvbG9yLWJvcmRlcjtcblx0XHRib3JkZXItcmFkaXVzOiAwO1xuXHRcdGhlaWdodDogYXV0bztcblx0XHRwYWRkaW5nOiAkZ2YtaW5wdXQtcGFkZGluZztcblx0fSAvLyAuY2hvc2VuLXNpbmdsZVxuXG5cdC8vIERlZmF1bHQgc3RhdGUgb2YgaWNvbiBmb3Igc2VsZWN0XG5cdC5jaG9zZW4tc2luZ2xlIGRpdiBiIHtcblx0XHRAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgNDAlIHJlbSgxMSkgbnVsbCBudWxsKTtcblx0XHRAaW5jbHVkZSB0cmlhbmdsZSgxMnB4LCAkY29sb3Itc2lsdmVyLCBkb3duKTsgLy8gYWRqdXN0IHNpemUgYW5kIGNvbG9yXG5cblx0XHRiYWNrZ3JvdW5kOiBub25lOyAvLyBoaWRlIHRoZSBkZWZhdWx0IGNob3NlbiBiYWNrZ3JvdW5kXG5cdH0gLy8gLmNob3Nlbi1zaW5nbGUgZGl2IGJcblxuXHQvLyBTZWxlY3Rpb25zIGRyb3AtZG93blxuXHQuY2hvc2VuLWRyb3Age1xuXG5cdFx0Ly8gU2VhcmNoIGJveCBieSBkZWZhdWx0IGhhcyBhIHNtYWxsIG1hZ25pZnlpbmcgaWNvbiBvbiByaWdodFxuXHRcdC5jaG9zZW4tc2VhcmNoIGlucHV0W3R5cGU9J3RleHQnXSB7XG5cdFx0XHRiYWNrZ3JvdW5kOiBub25lO1xuXHRcdH0gLy8gLmNob3Nlbi1zZWFyY2ggaW5wdXRbdHlwZT1cInRleHRcIl1cblxuXHRcdC8vIFNlYXJjaCByZXN1bHRzIGxpc3Rcblx0XHQuY2hvc2VuLXJlc3VsdHMgbGkge1xuXHRcdFx0cGFkZGluZzogcmVtKDEwKSByZW0oNSk7XG5cdFx0fSAvLyAuY2hvc2VuLXJlc3VsdHMgbGlcblx0fSAvLyAuY2hvc2VuLWRyb3BcblxuXHQvLyBGb3Igc3R5bGluZyB0aGUgaWNvbiB3aGVuIHNlbGVjdCBpcyBhY3RpdmVcblx0Ji5jaG9zZW4tY29udGFpbmVyLXNpbmdsZS5jaG9zZW4td2l0aC1kcm9wIHtcblxuXHRcdC5jaG9zZW4tc2luZ2xlIHtcblx0XHRcdGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG5cdFx0fSAvLyAuY2hvc2VuLXNpbmdsZVxuXG5cdFx0LmNob3Nlbi1zaW5nbGUgZGl2IGIge1xuXHRcdFx0QGluY2x1ZGUgdHJpYW5nbGUoMTJweCwgJGNvbG9yLXNpbHZlciwgdXApOyAvLyBhZGp1c3Qgc2l6ZSBhbmQgY29sb3IgZm9yIGFjdGl2ZSBpY29uXG5cblx0XHRcdGJvcmRlcjogbm9uZTsgLy8gaGlkaW5nIHRoZSBwcmV2aW91cyB0cmlhbmdsZSAoYm9yZGVyKVxuXHRcdH0gLy8gLmNob3Nlbi1zaW5nbGUgZGl2IGJcblx0fSAvLyAmLmNob3Nlbi1jb250YWluZXItc2luZ2xlLmNob3Nlbi13aXRoLWRyb3Bcbn0gLy8gLmdmb3JtX3dyYXBwZXIgLmdmaWVsZCAuY2hvc2VuLWNvbnRhaW5lci1zaW5nbGVcblxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy9cdENPTlRFTlQgT1ZFUlJJREVTXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4jY29udGVudCAuZ2Zvcm1fd3JhcHBlciB7XG5cdG1hcmdpbi1yaWdodDogMDsgLy8gYWxsb3cgZm9yIGZ1bGwgd2lkdGggb2YgY29udGFpbmluZyBlbGVtZW50XG5cdG1heC13aWR0aDogMTAwJTsgLy8gYWxsb3cgZm9yIGZ1bGwgd2lkdGggb2YgY29udGFpbmluZyBlbGVtZW50XG5cblx0Ly8gU3RhbmRhcmQgZmllbGRzXG5cdGlucHV0W3R5cGU9J3RleHQnXSxcblx0aW5wdXRbdHlwZT0ndXJsJ10sXG5cdGlucHV0W3R5cGU9J2VtYWlsJ10sXG5cdGlucHV0W3R5cGU9J3RlbCddLFxuXHRpbnB1dFt0eXBlPSdudW1iZXInXSxcblx0aW5wdXRbdHlwZT0ncGFzc3dvcmQnXSxcblx0aW5wdXRbdHlwZT0nZmlsZSddLFxuXHR0ZXh0YXJlYSB7XG5cdFx0cGFkZGluZzogJGdmLWlucHV0LXBhZGRpbmc7XG5cdFx0d2lkdGg6IDEwMCU7XG5cblx0XHRAaW5jbHVkZSBtZWRpYSgkdGFibGV0LXBvcnRyYWl0KSB7XG5cdFx0XHR3aWR0aDogNDklO1xuXHRcdH1cblx0fSAvLyBpbnB1dFt0eXBlPVwidGV4dFwiXSwgaW5wdXRbdHlwZT1cInVybFwiXSwgaW5wdXRbdHlwZT1cImVtYWlsXCJdLCBpbnB1dFt0eXBlPVwidGVsXCJdLCBpbnB1dFt0eXBlPVwibnVtYmVyXCJdLCBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0sIGlucHV0W3R5cGU9XCJmaWxlXCJdLCB0ZXh0YXJlYVxuXG5cdC5jaG9zZW4tc2VhcmNoIGlucHV0W3R5cGU9J3RleHQnXSxcblx0dGV4dGFyZWEge1xuXHRcdHdpZHRoOiAxMDAlO1xuXHR9IC8vIC5jaG9zZW4tc2VhcmNoIGlucHV0W3R5cGU9XCJ0ZXh0XCJdLCB0ZXh0YXJlYVxuXG5cdC8vIFZhbGlkYXRpb24gZXJyb3IgbWVzc2FnZSAoZGlzcGxheXMgYXQgdG9wIG9mIGZvcm0pXG5cdC52YWxpZGF0aW9uX2Vycm9yIHtcblxuXHR9IC8vIC52YWxpZGF0aW9uX2Vycm9yXG5cblx0Ly8gRXJyb3IgbGFiZWxzIChyZXF1aXJlZCBmaWVsZHMpXG5cdC5nZmllbGRfZXJyb3Ige1xuXHRcdC8vIC5nZmllbGRfbGFiZWwgLSBlcnJvciBsYWJlbFxuXHRcdC8vIC52YWxpZGF0aW9uX21lc3NhZ2UgLSByZXF1aXJlZCBlcnJvciB0ZXh0XG5cdH0gLy8gLmdmaWVsZF9lcnJvclxuXG5cdC8vIFR3by1jb2x1bW4gZmllbGRzXG5cdC5nZl9sZWZ0X2hhbGYsXG5cdC5nZl9yaWdodF9oYWxmIHtcblx0XHR3aWR0aDogMTAwJTtcblxuXHRcdC8vIElucHV0c1xuXHRcdGlucHV0W3R5cGU9J3RleHQnXSxcblx0XHRpbnB1dFt0eXBlPSd1cmwnXSxcblx0XHRpbnB1dFt0eXBlPSdlbWFpbCddLFxuXHRcdGlucHV0W3R5cGU9J3RlbCddLFxuXHRcdGlucHV0W3R5cGU9J251bWJlciddLFxuXHRcdGlucHV0W3R5cGU9J3Bhc3N3b3JkJ10sXG5cdFx0aW5wdXRbdHlwZT0nZmlsZSddIHtcblxuXHRcdFx0QGluY2x1ZGUgbWVkaWEoJHRhYmxldC1wb3J0cmFpdCkge1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdH1cblx0XHR9IC8vIGlucHV0W3R5cGU9XCJ0ZXh0XCJdLCBpbnB1dFt0eXBlPVwidXJsXCJdLCBpbnB1dFt0eXBlPVwiZW1haWxcIl0sIGlucHV0W3R5cGU9XCJ0ZWxcIl0sIGlucHV0W3R5cGU9XCJudW1iZXJcIl0sIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSwgaW5wdXRbdHlwZT1cImZpbGVcIl1cblxuXHRcdEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQtcG9ydHJhaXQpIHtcblx0XHRcdHdpZHRoOiA0OSU7XG5cdFx0fVxuXHR9IC8vIC5nZl9sZWZ0X2hhbGYsIC5nZl9yaWdodF9oYWxmXG5cblx0Ly8gVGFyZ2V0IGp1c3QgbGVmdCBjb2x1bW4gb24gdHdvLWNvbHVtbiByb3dcblx0LmdmX2xlZnRfaGFsZiB7XG5cblx0XHRAaW5jbHVkZSBtZWRpYSgkdGFibGV0LXBvcnRyYWl0KSB7XG5cdFx0XHRtYXJnaW4tcmlnaHQ6IDIlO1xuXHRcdH1cblx0fSAvLyAuZ2ZfbGVmdF9oYWxmXG5cblx0Ly8gQWR2YW5jZWQgZmllbGRzXG5cdC8vIGh0dHBzOi8vd3d3LmdyYXZpdHloZWxwLmNvbS9kb2N1bWVudGF0aW9uL2FydGljbGUvY3NzLXRhcmdldGluZy1leGFtcGxlcy8jYWR2YW5jZWQtZmllbGRzXG5cdC5naW5wdXRfY29tcGxleCB7XG5cblx0XHQubmFtZV9maXJzdCBpbnB1dFt0eXBlPSd0ZXh0J10sXG5cdFx0Lm5hbWVfbGFzdCBpbnB1dFt0eXBlPSd0ZXh0J10ge1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0fSAvLyAubmFtZV9maXJzdCBpbnB1dFt0eXBlPVwidGV4dFwiXSwgLm5hbWVfbGFzdCBpbnB1dFt0eXBlPVwidGV4dFwiXVxuXHR9IC8vIC5naW5wdXRfY29tcGxleFxufSAvLyAjY29udGVudCAuZ2Zvcm1fd3JhcHBlclxuIiwiQG1peGluIHRyaWFuZ2xlKCRzaXplLCAkY29sb3IsICRkaXJlY3Rpb24pIHtcbiAgJHdpZHRoOiBudGgoJHNpemUsIDEpO1xuICAkaGVpZ2h0OiBudGgoJHNpemUsIGxlbmd0aCgkc2l6ZSkpO1xuICAkZm9yZWdyb3VuZC1jb2xvcjogbnRoKCRjb2xvciwgMSk7XG4gICRiYWNrZ3JvdW5kLWNvbG9yOiBpZihsZW5ndGgoJGNvbG9yKSA9PSAyLCBudGgoJGNvbG9yLCAyKSwgdHJhbnNwYXJlbnQpO1xuICBoZWlnaHQ6IDA7XG4gIHdpZHRoOiAwO1xuXG4gIEBpZiAoJGRpcmVjdGlvbiA9PSB1cCkgb3IgKCRkaXJlY3Rpb24gPT0gZG93bikgb3IgKCRkaXJlY3Rpb24gPT0gcmlnaHQpIG9yICgkZGlyZWN0aW9uID09IGxlZnQpIHtcbiAgICAkd2lkdGg6ICR3aWR0aCAvIDI7XG4gICAgJGhlaWdodDogaWYobGVuZ3RoKCRzaXplKSA+IDEsICRoZWlnaHQsICRoZWlnaHQvMik7XG5cbiAgICBAaWYgJGRpcmVjdGlvbiA9PSB1cCB7XG4gICAgICBib3JkZXItYm90dG9tOiAkaGVpZ2h0IHNvbGlkICRmb3JlZ3JvdW5kLWNvbG9yO1xuICAgICAgYm9yZGVyLWxlZnQ6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgIGJvcmRlci1yaWdodDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSByaWdodCB7XG4gICAgICBib3JkZXItYm90dG9tOiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgICBib3JkZXItbGVmdDogJGhlaWdodCBzb2xpZCAkZm9yZWdyb3VuZC1jb2xvcjtcbiAgICAgIGJvcmRlci10b3A6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gZG93biB7XG4gICAgICBib3JkZXItbGVmdDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgYm9yZGVyLXJpZ2h0OiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgICBib3JkZXItdG9wOiAkaGVpZ2h0IHNvbGlkICRmb3JlZ3JvdW5kLWNvbG9yO1xuICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSBsZWZ0IHtcbiAgICAgIGJvcmRlci1ib3R0b206ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgIGJvcmRlci1yaWdodDogJGhlaWdodCBzb2xpZCAkZm9yZWdyb3VuZC1jb2xvcjtcbiAgICAgIGJvcmRlci10b3A6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICB9XG4gIH0gQGVsc2UgaWYgKCRkaXJlY3Rpb24gPT0gdXAtcmlnaHQpIG9yICgkZGlyZWN0aW9uID09IHVwLWxlZnQpIHtcbiAgICBib3JkZXItdG9wOiAkaGVpZ2h0IHNvbGlkICRmb3JlZ3JvdW5kLWNvbG9yO1xuXG4gICAgQGlmICRkaXJlY3Rpb24gPT0gdXAtcmlnaHQge1xuICAgICAgYm9yZGVyLWxlZnQ6ICAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IHVwLWxlZnQge1xuICAgICAgYm9yZGVyLXJpZ2h0OiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgfVxuICB9IEBlbHNlIGlmICgkZGlyZWN0aW9uID09IGRvd24tcmlnaHQpIG9yICgkZGlyZWN0aW9uID09IGRvd24tbGVmdCkge1xuICAgIGJvcmRlci1ib3R0b206ICRoZWlnaHQgc29saWQgJGZvcmVncm91bmQtY29sb3I7XG5cbiAgICBAaWYgJGRpcmVjdGlvbiA9PSBkb3duLXJpZ2h0IHtcbiAgICAgIGJvcmRlci1sZWZ0OiAgJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSBkb3duLWxlZnQge1xuICAgICAgYm9yZGVyLXJpZ2h0OiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgfVxuICB9IEBlbHNlIGlmICgkZGlyZWN0aW9uID09IGluc2V0LXVwKSB7XG4gICAgYm9yZGVyLWNvbG9yOiAkYmFja2dyb3VuZC1jb2xvciAkYmFja2dyb3VuZC1jb2xvciAkZm9yZWdyb3VuZC1jb2xvcjtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aDogJGhlaWdodCAkd2lkdGg7XG4gIH0gQGVsc2UgaWYgKCRkaXJlY3Rpb24gPT0gaW5zZXQtZG93bikge1xuICAgIGJvcmRlci1jb2xvcjogJGZvcmVncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3I7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItd2lkdGg6ICRoZWlnaHQgJHdpZHRoO1xuICB9IEBlbHNlIGlmICgkZGlyZWN0aW9uID09IGluc2V0LXJpZ2h0KSB7XG4gICAgYm9yZGVyLWNvbG9yOiAkYmFja2dyb3VuZC1jb2xvciAkYmFja2dyb3VuZC1jb2xvciAkYmFja2dyb3VuZC1jb2xvciAkZm9yZWdyb3VuZC1jb2xvcjtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aDogJHdpZHRoICRoZWlnaHQ7XG4gIH0gQGVsc2UgaWYgKCRkaXJlY3Rpb24gPT0gaW5zZXQtbGVmdCkge1xuICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQtY29sb3IgJGZvcmVncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3I7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItd2lkdGg6ICR3aWR0aCAkaGVpZ2h0O1xuICB9XG59XG4iLCIvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBXaWRnZXRzXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi53aWRnZXQge1xuXHRtYXJnaW46IDAgMCByZW0oMjQpO1xuXG5cdC8vIE1ha2Ugc3VyZSBzZWxlY3QgZWxlbWVudHMgZml0IGluIHdpZGdldHMuXG5cdHNlbGVjdCB7XG5cdFx0bWF4LXdpZHRoOiAxMDAlO1xuXHR9IC8vIHNlbGVjdFxuXG5cdC8vIEV4dGVuZCB0aGUgaDMgc3R5bGUgZm9yIHRoZSB3aWRnZXQgdGl0bGVzLlxuXHQud2lkZ2V0LXRpdGxlIHtcblx0XHRAZXh0ZW5kIC5oMyAhb3B0aW9uYWw7XG5cdH0gLy8gLndpZGdldC10aXRsZVxufSAvLyAud2lkZ2V0XG5cbi8vIFNlYXJjaCB3aWRnZXQuXG4ud2lkZ2V0X3NlYXJjaCAuc2VhcmNoLXN1Ym1pdCB7XG5cdGRpc3BsYXk6IG5vbmU7XG59IC8vIC53aWRnZXRfc2VhcmNoIC5zZWFyY2gtc3VibWl0XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBPdXRwdXRzIGEgbWVkaWEtcXVlcnkgYmxvY2sgd2l0aCBhbiBvcHRpb25hbCBncmlkIGNvbnRleHQgKHRoZSB0b3RhbCBudW1iZXIgb2YgY29sdW1ucyB1c2VkIGluIHRoZSBncmlkKS5cbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gJHF1ZXJ5XG4vLy8gICBBIGxpc3Qgb2YgbWVkaWEgcXVlcnkgZmVhdHVyZXMgYW5kIHZhbHVlcywgd2hlcmUgZWFjaCBgJGZlYXR1cmVgIHNob3VsZCBoYXZlIGEgY29ycmVzcG9uZGluZyBgJHZhbHVlYC5cbi8vLyAgIEZvciBhIGxpc3Qgb2YgdmFsaWQgdmFsdWVzIGZvciBgJGZlYXR1cmVgLCBjbGljayBbaGVyZV0oaHR0cDovL3d3dy53My5vcmcvVFIvY3NzMy1tZWRpYXF1ZXJpZXMvI21lZGlhMSkuXG4vLy9cbi8vLyAgIElmIHRoZXJlIGlzIG9ubHkgYSBzaW5nbGUgYCR2YWx1ZWAgaW4gYCRxdWVyeWAsIGAkZGVmYXVsdC1mZWF0dXJlYCBpcyBnb2luZyB0byBiZSB1c2VkLlxuLy8vXG4vLy8gICBUaGUgbnVtYmVyIG9mIHRvdGFsIGNvbHVtbnMgaW4gdGhlIGdyaWQgY2FuIGJlIHNldCBieSBwYXNzaW5nIGAkY29sdW1uc2AgYXQgdGhlIGVuZCBvZiB0aGUgbGlzdCAob3ZlcnJpZGVzIGAkdG90YWwtY29sdW1uc2ApLlxuLy8vXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlciAodW5pdGxlc3MpfSAkdG90YWwtY29sdW1ucyBbJGdyaWQtY29sdW1uc11cbi8vLyAgIC0gTnVtYmVyIG9mIGNvbHVtbnMgdG8gdXNlIGluIHRoZSBuZXcgZ3JpZCBjb250ZXh0LiBDYW4gYmUgc2V0IGFzIGEgc2hvcnRoYW5kIGluIHRoZSBmaXJzdCBwYXJhbWV0ZXIuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIC5yZXNwb25zaXZlLWVsZW1lbnQge1xuLy8vICAgICAgQGluY2x1ZGUgbWVkaWEoNzY5cHgpIHtcbi8vLyAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDYpO1xuLy8vICAgICAgfVxuLy8vICAgfVxuLy8vXG4vLy8gIC5uZXctY29udGV4dC1lbGVtZW50IHtcbi8vLyAgICBAaW5jbHVkZSBtZWRpYShtaW4td2lkdGggMzIwcHggbWF4LXdpZHRoIDQ4MHB4LCA2KSB7XG4vLy8gICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNik7XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OXB4KSB7XG4vLy8gICAgLnJlc3BvbnNpdmUtZWxlbWVudCB7XG4vLy8gICAgICBkaXNwbGF5OiBibG9jaztcbi8vLyAgICAgIGZsb2F0OiBsZWZ0O1xuLy8vICAgICAgbWFyZ2luLXJpZ2h0OiAyLjM1NzY1JTtcbi8vLyAgICAgIHdpZHRoOiA0OC44MjExNyU7XG4vLy8gICAgfVxuLy8vXG4vLy8gICAgLnJlc3BvbnNpdmUtZWxlbWVudDpsYXN0LWNoaWxkIHtcbi8vLyAgICAgIG1hcmdpbi1yaWdodDogMDtcbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzMjBweCkgYW5kIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4vLy8gICAgLm5ldy1jb250ZXh0LWVsZW1lbnQge1xuLy8vICAgICAgZGlzcGxheTogYmxvY2s7XG4vLy8gICAgICBmbG9hdDogbGVmdDtcbi8vLyAgICAgIG1hcmdpbi1yaWdodDogNC44MjkxNiU7XG4vLy8gICAgICB3aWR0aDogMTAwJTtcbi8vLyAgICB9XG4vLy9cbi8vLyAgICAubmV3LWNvbnRleHQtZWxlbWVudDpsYXN0LWNoaWxkIHtcbi8vLyAgICAgIG1hcmdpbi1yaWdodDogMDtcbi8vLyAgICB9XG4vLy8gIH1cblxuQG1peGluIG1lZGlhKCRxdWVyeTogJGZlYXR1cmUgJHZhbHVlICRjb2x1bW5zLCAkdG90YWwtY29sdW1uczogJGdyaWQtY29sdW1ucykge1xuICBAaWYgbGVuZ3RoKCRxdWVyeSkgPT0gMSB7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKCRkZWZhdWx0LWZlYXR1cmU6IG50aCgkcXVlcnksIDEpKSB7XG4gICAgICAkZGVmYXVsdC1ncmlkLWNvbHVtbnM6ICRncmlkLWNvbHVtbnM7XG4gICAgICAkZ3JpZC1jb2x1bW5zOiAkdG90YWwtY29sdW1ucyAhZ2xvYmFsO1xuICAgICAgQGNvbnRlbnQ7XG4gICAgICAkZ3JpZC1jb2x1bW5zOiAkZGVmYXVsdC1ncmlkLWNvbHVtbnMgIWdsb2JhbDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgICRsb29wLXRvOiBsZW5ndGgoJHF1ZXJ5KTtcbiAgICAkbWVkaWEtcXVlcnk6IFwic2NyZWVuIGFuZCBcIjtcbiAgICAkZGVmYXVsdC1ncmlkLWNvbHVtbnM6ICRncmlkLWNvbHVtbnM7XG4gICAgJGdyaWQtY29sdW1uczogJHRvdGFsLWNvbHVtbnMgIWdsb2JhbDtcblxuICAgIEBpZiBpcy1ub3QoaXMtZXZlbihsZW5ndGgoJHF1ZXJ5KSkpIHtcbiAgICAgICRncmlkLWNvbHVtbnM6IG50aCgkcXVlcnksICRsb29wLXRvKSAhZ2xvYmFsO1xuICAgICAgJGxvb3AtdG86ICRsb29wLXRvIC0gMTtcbiAgICB9XG5cbiAgICAkaTogMTtcbiAgICBAd2hpbGUgJGkgPD0gJGxvb3AtdG8ge1xuICAgICAgJG1lZGlhLXF1ZXJ5OiAkbWVkaWEtcXVlcnkgKyBcIihcIiArIG50aCgkcXVlcnksICRpKSArIFwiOiBcIiArIG50aCgkcXVlcnksICRpICsgMSkgKyBcIikgXCI7XG5cbiAgICAgIEBpZiAoJGkgKyAxKSAhPSAkbG9vcC10byB7XG4gICAgICAgICRtZWRpYS1xdWVyeTogJG1lZGlhLXF1ZXJ5ICsgXCJhbmQgXCI7XG4gICAgICB9XG5cbiAgICAgICRpOiAkaSArIDI7XG4gICAgfVxuXG4gICAgQG1lZGlhICN7JG1lZGlhLXF1ZXJ5fSB7XG4gICAgICBAY29udGVudDtcbiAgICAgICRncmlkLWNvbHVtbnM6ICRkZWZhdWx0LWdyaWQtY29sdW1ucyAhZ2xvYmFsO1xuICAgIH1cbiAgfVxufVxuIiwiLypcblRoZW1lIE5hbWU6IGVjb3dhdGVyXG5UaGVtZSBVUkk6IGh0dHBzOi8vYWNtZWluYy5jb21cbkF1dGhvcjogUm9ja2V0NTVcbkF1dGhvciBVUkk6IGh0dHBzOi8vd2ViZGV2c3R1ZGlvcy5jb20vXG5EZXNjcmlwdGlvbjogQSB0aGVtZSBmb3IgRWNvd2F0ZXIgbWljcm9zaXRlcyBiYXNlZCBvbiBCb290c3RyYXAgNFxuVmVyc2lvbjogMS4wLjBcbkxpY2Vuc2U6IEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHYyIG9yIGxhdGVyXG5MaWNlbnNlIFVSSTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2dwbC0yLjAuaHRtbFxuVGV4dCBEb21haW46IGVjb3dhdGVyXG5UYWdzOiBjdXN0b21cblxuVGhpcyB0aGVtZSwgbGlrZSBXb3JkUHJlc3MsIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBHUEwuXG5cbkJhc2VkIG9uIFVuZGVyc2NvcmVzIGh0dHA6Ly91bmRlcnNjb3Jlcy5tZS8sIChDKSAyMDEyLTIwMTcgQXV0b21hdHRpYywgSW5jLlxuXG4qL1xuQGltcG9ydCB1cmwoYXNzZXRzL2Jvd2VyX2NvbXBvbmVudHMvbm9ybWFsaXplLWNzcy9ub3JtYWxpemUuY3NzKTtcbkBpbXBvcnQgdXJsKGFzc2V0cy9ib3dlcl9jb21wb25lbnRzL2FuaW1hdGUuY3NzL2FuaW1hdGUuY3NzKTtcbioge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG5odG1sIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuKiwgKjo6YWZ0ZXIsICo6OmJlZm9yZSB7XG4gIGJveC1zaXppbmc6IGluaGVyaXQ7XG59XG5cbi5wYWQtMTUge1xuICBwYWRkaW5nOiAwLjkzNzVyZW07XG59XG5cbi5wYWQtMTUtMCB7XG4gIHBhZGRpbmctdG9wOiAwLjkzNzVyZW07XG4gIHBhZGRpbmctYm90dG9tOiAwLjkzNzVyZW07XG59XG5cbi5wYWQtdG9wLTE1IHtcbiAgcGFkZGluZy10b3A6IDAuOTM3NXJlbTtcbn1cblxuLnBhZC1ib3R0b20tMTUge1xuICBwYWRkaW5nLWJvdHRvbTogMC45Mzc1cmVtO1xufVxuXG4ucGFkLTAtMTUge1xuICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtO1xufVxuXG4ucGFkLTIwIHtcbiAgcGFkZGluZzogMS4yNXJlbTtcbn1cblxuLnBhZC0yMC0wIHtcbiAgcGFkZGluZy10b3A6IDEuMjVyZW07XG4gIHBhZGRpbmctYm90dG9tOiAxLjI1cmVtO1xufVxuXG4ucGFkLXRvcC0yMCB7XG4gIHBhZGRpbmctdG9wOiAxLjI1cmVtO1xufVxuXG4ucGFkLWJvdHRvbS0yMCB7XG4gIHBhZGRpbmctYm90dG9tOiAxLjI1cmVtO1xufVxuXG4ucGFkLTAtMjAge1xuICBwYWRkaW5nLXJpZ2h0OiAxLjI1cmVtO1xuICBwYWRkaW5nLWxlZnQ6IDEuMjVyZW07XG59XG5cbi5wYWQtMzAge1xuICBwYWRkaW5nOiAxLjg3NXJlbTtcbn1cblxuLnBhZC0zMC0wIHtcbiAgcGFkZGluZy10b3A6IDEuODc1cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMS44NzVyZW07XG59XG5cbi5wYWQtdG9wLTMwIHtcbiAgcGFkZGluZy10b3A6IDEuODc1cmVtO1xufVxuXG4ucGFkLWJvdHRvbS0zMCB7XG4gIHBhZGRpbmctYm90dG9tOiAxLjg3NXJlbTtcbn1cblxuLnBhZC0wLTMwIHtcbiAgcGFkZGluZy1yaWdodDogMS44NzVyZW07XG4gIHBhZGRpbmctbGVmdDogMS44NzVyZW07XG59XG5cbi5wYWQtMzUge1xuICBwYWRkaW5nOiAyLjE4NzVyZW07XG59XG5cbi5wYWQtMzUtMCB7XG4gIHBhZGRpbmctdG9wOiAyLjE4NzVyZW07XG4gIHBhZGRpbmctYm90dG9tOiAyLjE4NzVyZW07XG59XG5cbi5wYWQtdG9wLTM1IHtcbiAgcGFkZGluZy10b3A6IDIuMTg3NXJlbTtcbn1cblxuLnBhZC1ib3R0b20tMzUge1xuICBwYWRkaW5nLWJvdHRvbTogMi4xODc1cmVtO1xufVxuXG4ucGFkLTAtMzUge1xuICBwYWRkaW5nLXJpZ2h0OiAyLjE4NzVyZW07XG4gIHBhZGRpbmctbGVmdDogMi4xODc1cmVtO1xufVxuXG4ucGFkLTQwIHtcbiAgcGFkZGluZzogMi41cmVtO1xufVxuXG4ucGFkLTQwLTAge1xuICBwYWRkaW5nLXRvcDogMi41cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMi41cmVtO1xufVxuXG4ucGFkLXRvcC00MCB7XG4gIHBhZGRpbmctdG9wOiAyLjVyZW07XG59XG5cbi5wYWQtYm90dG9tLTQwIHtcbiAgcGFkZGluZy1ib3R0b206IDIuNXJlbTtcbn1cblxuLnBhZC0wLTQwIHtcbiAgcGFkZGluZy1yaWdodDogMi41cmVtO1xuICBwYWRkaW5nLWxlZnQ6IDIuNXJlbTtcbn1cblxuLnBhZC01MCB7XG4gIHBhZGRpbmc6IDMuMTI1cmVtO1xufVxuXG4ucGFkLTUwLTAge1xuICBwYWRkaW5nLXRvcDogMy4xMjVyZW07XG4gIHBhZGRpbmctYm90dG9tOiAzLjEyNXJlbTtcbn1cblxuLnBhZC10b3AtNTAge1xuICBwYWRkaW5nLXRvcDogMy4xMjVyZW07XG59XG5cbi5wYWQtYm90dG9tLTUwIHtcbiAgcGFkZGluZy1ib3R0b206IDMuMTI1cmVtO1xufVxuXG4ucGFkLTAtNTAge1xuICBwYWRkaW5nLXJpZ2h0OiAzLjEyNXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAzLjEyNXJlbTtcbn1cblxuLnBhZC0xMDAge1xuICBwYWRkaW5nOiA2LjI1cmVtO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MDBweCkge1xuICAucGFkLTEwMCB7XG4gICAgcGFkZGluZzogMy4xMjVyZW07XG4gIH1cbn1cblxuLnBhZC0xMDAtMCB7XG4gIHBhZGRpbmctdG9wOiA2LjI1cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogNi4yNXJlbTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgLnBhZC0xMDAtMCB7XG4gICAgcGFkZGluZy10b3A6IDMuMTI1cmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAzLjEyNXJlbTtcbiAgfVxufVxuXG4ucGFkLXRvcC0xMDAge1xuICBwYWRkaW5nLXRvcDogNi4yNXJlbTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgLnBhZC10b3AtMTAwIHtcbiAgICBwYWRkaW5nLXRvcDogMy4xMjVyZW07XG4gIH1cbn1cblxuLnBhZC1ib3R0b20tMTAwIHtcbiAgcGFkZGluZy1ib3R0b206IDYuMjVyZW07XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gIC5wYWQtYm90dG9tLTEwMCB7XG4gICAgcGFkZGluZy1ib3R0b206IDMuMTI1cmVtO1xuICB9XG59XG5cbi5wYWQtMC0xMDAge1xuICBwYWRkaW5nLXJpZ2h0OiA2LjI1cmVtO1xuICBwYWRkaW5nLWxlZnQ6IDYuMjVyZW07XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gIC5wYWQtMC0xMDAge1xuICAgIHBhZGRpbmctcmlnaHQ6IDMuMTI1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMy4xMjVyZW07XG4gIH1cbn1cblxuLm1hcmdpbi0xNSB7XG4gIG1hcmdpbjogMC45Mzc1cmVtO1xufVxuXG4ubWFyZ2luLTE1LTAge1xuICBtYXJnaW4tdG9wOiAwLjkzNzVyZW07XG4gIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTtcbn1cblxuLm1hcmdpbi10b3AtMTUge1xuICBtYXJnaW4tdG9wOiAwLjkzNzVyZW07XG59XG5cbi5tYXJnaW4tYm90dG9tLTE1IHtcbiAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtO1xufVxuXG4ubWFyZ2luLTAtMTUge1xuICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTtcbn1cblxuLm1hcmdpbi0yMCB7XG4gIG1hcmdpbjogMS4yNXJlbTtcbn1cblxuLm1hcmdpbi0yMC0wIHtcbiAgbWFyZ2luLXRvcDogMS4yNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTtcbn1cblxuLm1hcmdpbi10b3AtMjAge1xuICBtYXJnaW4tdG9wOiAxLjI1cmVtO1xufVxuXG4ubWFyZ2luLWJvdHRvbS0yMCB7XG4gIG1hcmdpbi1ib3R0b206IDEuMjVyZW07XG59XG5cbi5tYXJnaW4tMC0yMCB7XG4gIG1hcmdpbi1yaWdodDogMS4yNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IDEuMjVyZW07XG59XG5cbi5tYXJnaW4tMzAge1xuICBtYXJnaW46IDEuODc1cmVtO1xufVxuXG4ubWFyZ2luLTMwLTAge1xuICBtYXJnaW4tdG9wOiAxLjg3NXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07XG59XG5cbi5tYXJnaW4tdG9wLTMwIHtcbiAgbWFyZ2luLXRvcDogMS44NzVyZW07XG59XG5cbi5tYXJnaW4tYm90dG9tLTMwIHtcbiAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07XG59XG5cbi5tYXJnaW4tMC0zMCB7XG4gIG1hcmdpbi1yaWdodDogMS44NzVyZW07XG4gIG1hcmdpbi1sZWZ0OiAxLjg3NXJlbTtcbn1cblxuLm1hcmdpbi0zNSB7XG4gIG1hcmdpbjogMi4xODc1cmVtO1xufVxuXG4ubWFyZ2luLTM1LTAge1xuICBtYXJnaW4tdG9wOiAyLjE4NzVyZW07XG4gIG1hcmdpbi1ib3R0b206IDIuMTg3NXJlbTtcbn1cblxuLm1hcmdpbi10b3AtMzUge1xuICBtYXJnaW4tdG9wOiAyLjE4NzVyZW07XG59XG5cbi5tYXJnaW4tYm90dG9tLTM1IHtcbiAgbWFyZ2luLWJvdHRvbTogMi4xODc1cmVtO1xufVxuXG4ubWFyZ2luLTAtMzUge1xuICBtYXJnaW4tcmlnaHQ6IDIuMTg3NXJlbTtcbiAgbWFyZ2luLWxlZnQ6IDIuMTg3NXJlbTtcbn1cblxuLm1hcmdpbi00MCB7XG4gIG1hcmdpbjogMi41cmVtO1xufVxuXG4ubWFyZ2luLTQwLTAge1xuICBtYXJnaW4tdG9wOiAyLjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDIuNXJlbTtcbn1cblxuLm1hcmdpbi10b3AtNDAge1xuICBtYXJnaW4tdG9wOiAyLjVyZW07XG59XG5cbi5tYXJnaW4tYm90dG9tLTQwIHtcbiAgbWFyZ2luLWJvdHRvbTogMi41cmVtO1xufVxuXG4ubWFyZ2luLTAtNDAge1xuICBtYXJnaW4tcmlnaHQ6IDIuNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IDIuNXJlbTtcbn1cblxuLm1hcmdpbi01MCB7XG4gIG1hcmdpbjogMy4xMjVyZW07XG59XG5cbi5tYXJnaW4tNTAtMCB7XG4gIG1hcmdpbi10b3A6IDMuMTI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAzLjEyNXJlbTtcbn1cblxuLm1hcmdpbi10b3AtNTAge1xuICBtYXJnaW4tdG9wOiAzLjEyNXJlbTtcbn1cblxuLm1hcmdpbi1ib3R0b20tNTAge1xuICBtYXJnaW4tYm90dG9tOiAzLjEyNXJlbTtcbn1cblxuLm1hcmdpbi0wLTUwIHtcbiAgbWFyZ2luLXJpZ2h0OiAzLjEyNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IDMuMTI1cmVtO1xufVxuXG4ubWFyZ2luLTEwMCB7XG4gIG1hcmdpbjogNi4yNXJlbTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgLm1hcmdpbi0xMDAge1xuICAgIG1hcmdpbjogMy4xMjVyZW07XG4gIH1cbn1cblxuLm1hcmdpbi0xMDAtMCB7XG4gIG1hcmdpbi10b3A6IDYuMjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDYuMjVyZW07XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gIC5tYXJnaW4tMTAwLTAge1xuICAgIG1hcmdpbi10b3A6IDMuMTI1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDMuMTI1cmVtO1xuICB9XG59XG5cbi5tYXJnaW4tdG9wLTEwMCB7XG4gIG1hcmdpbi10b3A6IDYuMjVyZW07XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gIC5tYXJnaW4tdG9wLTEwMCB7XG4gICAgbWFyZ2luLXRvcDogMy4xMjVyZW07XG4gIH1cbn1cblxuLm1hcmdpbi1ib3R0b20tMTAwIHtcbiAgbWFyZ2luLWJvdHRvbTogNi4yNXJlbTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgLm1hcmdpbi1ib3R0b20tMTAwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzLjEyNXJlbTtcbiAgfVxufVxuXG4ubWFyZ2luLTAtMTAwIHtcbiAgbWFyZ2luLXJpZ2h0OiA2LjI1cmVtO1xuICBtYXJnaW4tbGVmdDogNi4yNXJlbTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgLm1hcmdpbi0wLTEwMCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAzLjEyNXJlbTtcbiAgICBtYXJnaW4tbGVmdDogMy4xMjVyZW07XG4gIH1cbn1cblxuLnJvdy0xMjQwIHtcbiAgd2lkdGg6IDc3LjVyZW07XG59XG5cbi5yb3ctMTA0MCB7XG4gIHdpZHRoOiA2NXJlbTtcbn1cblxuLnJvdy02NDAge1xuICB3aWR0aDogNDByZW07XG59XG5cbi8qXFxcbiAqIFJlc3RvcmUgQm9vdHN0cmFwIDMgXCJoaWRkZW5cIiB1dGlsaXR5IGNsYXNzZXMuXG5cXCovXG4vKiBCcmVha3BvaW50IFhTICovXG5AbWVkaWEgKG1heC13aWR0aDogNTc1cHgpIHtcbiAgLmhpZGRlbi14cy1kb3duLCAuaGlkZGVuLXNtLWRvd24sIC5oaWRkZW4tbWQtZG93biwgLmhpZGRlbi1sZy1kb3duLCAuaGlkZGVuLXhsLWRvd24sXG4gIC5oaWRkZW4teHMtdXAsXG4gIC5oaWRkZW4tdW5sZXNzLXNtLCAuaGlkZGVuLXVubGVzcy1tZCwgLmhpZGRlbi11bmxlc3MtbGcsIC5oaWRkZW4tdW5sZXNzLXhsIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLyogQnJlYWtwb2ludCBTTSAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDU3NnB4KSBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLmhpZGRlbi1zbS1kb3duLCAuaGlkZGVuLW1kLWRvd24sIC5oaWRkZW4tbGctZG93biwgLmhpZGRlbi14bC1kb3duLFxuICAuaGlkZGVuLXhzLXVwLCAuaGlkZGVuLXNtLXVwLFxuICAuaGlkZGVuLXVubGVzcy14cywgLmhpZGRlbi11bmxlc3MtbWQsIC5oaWRkZW4tdW5sZXNzLWxnLCAuaGlkZGVuLXVubGVzcy14bCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8qIEJyZWFrcG9pbnQgTUQgKi9cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gIC5oaWRkZW4tbWQtZG93biwgLmhpZGRlbi1sZy1kb3duLCAuaGlkZGVuLXhsLWRvd24sXG4gIC5oaWRkZW4teHMtdXAsIC5oaWRkZW4tc20tdXAsIC5oaWRkZW4tbWQtdXAsXG4gIC5oaWRkZW4tdW5sZXNzLXhzLCAuaGlkZGVuLXVubGVzcy1zbSwgLmhpZGRlbi11bmxlc3MtbGcsIC5oaWRkZW4tdW5sZXNzLXhsIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLyogQnJlYWtwb2ludCBMRyAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gIC5oaWRkZW4tbGctZG93biwgLmhpZGRlbi14bC1kb3duLFxuICAuaGlkZGVuLXhzLXVwLCAuaGlkZGVuLXNtLXVwLCAuaGlkZGVuLW1kLXVwLCAuaGlkZGVuLWxnLXVwLFxuICAuaGlkZGVuLXVubGVzcy14cywgLmhpZGRlbi11bmxlc3Mtc20sIC5oaWRkZW4tdW5sZXNzLW1kLCAuaGlkZGVuLXVubGVzcy14bCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8qIEJyZWFrcG9pbnQgWEwgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLmhpZGRlbi14bC1kb3duLFxuICAuaGlkZGVuLXhzLXVwLCAuaGlkZGVuLXNtLXVwLCAuaGlkZGVuLW1kLXVwLCAuaGlkZGVuLWxnLXVwLCAuaGlkZGVuLXhsLXVwLFxuICAuaGlkZGVuLXVubGVzcy14cywgLmhpZGRlbi11bmxlc3Mtc20sIC5oaWRkZW4tdW5sZXNzLW1kLCAuaGlkZGVuLXVubGVzcy1sZyB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbmJvZHksXG5idXR0b24sXG5pbnB1dCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgY29sb3I6ICMxMTE7XG4gIGZvbnQtZmFtaWx5OiBcIkhlbHZldGljYVwiLCBzYW5zLXNlcmlmO1xufVxuXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2IHtcbiAgbWFyZ2luOiAwIDAgMTVweDtcbiAgY29sb3I6ICMwMDA7XG59XG5cbmgxIHtcbiAgZm9udC1zaXplOiA0OHB4O1xuICBsaW5lLWhlaWdodDogNDdweDtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5OTFweCkge1xuICBoMSB7XG4gICAgZm9udC1zaXplOiAzOHB4O1xuICAgIGxpbmUtaGVpZ2h0OiA0MHB4O1xuICB9XG59XG5cbmgyIHtcbiAgZm9udC1zaXplOiA0MHB4O1xuICBsaW5lLWhlaWdodDogNDdweDtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5OTFweCkge1xuICBoMiB7XG4gICAgZm9udC1zaXplOiAzMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAzMnB4O1xuICB9XG59XG5cbmgzIHtcbiAgZm9udC1zaXplOiAzMHB4O1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gIGgzIHtcbiAgICBmb250LXNpemU6IDIycHg7XG4gICAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gIH1cbn1cblxuaDQsXG4uc3ViLXRpdGxlIHtcbiAgZm9udC1zaXplOiAyMHB4O1xufVxuXG5oMy5zdWItdGl0bGUge1xuICBtYXJnaW46IDAgMCAxNXB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGxldHRlci1zcGFjaW5nOiAxcHg7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgaDMuc3ViLXRpdGxlIHtcbiAgICBmb250LXNpemU6IDIycHg7XG4gIH1cbn1cblxuaDUge1xuICBmb250LXNpemU6IDE2cHg7XG59XG5cbmg2IHtcbiAgZm9udC1zaXplOiAxNnB4O1xufVxuXG5wIHtcbiAgbWFyZ2luOiAwIDAgMTVweCAwO1xufVxuXG5wLmRpc2NsYWltZXIge1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgbWFyZ2luLXRvcDogMzBweDtcbn1cblxuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG5cbmRmbixcbmNpdGUsXG5lbSxcbmkge1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbmJsb2NrcXVvdGUsXG5xIHtcbiAgbWFyZ2luOiAwIDEuNXJlbTtcbiAgcXVvdGVzOiAnXCIgXCInO1xufVxuXG5ibG9ja3F1b3RlOjpiZWZvcmUsIGJsb2NrcXVvdGU6OmFmdGVyLFxucTo6YmVmb3JlLFxucTo6YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbn1cblxuYWRkcmVzcyB7XG4gIG1hcmdpbjogMCAwIDEuNXJlbSAwO1xufVxuXG5wcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlO1xuICBjb2xvcjogIzExMTtcbiAgZm9udC1mYW1pbHk6IFwiQ291cmllciAxMCBQaXRjaFwiLCBDb3VyaWVyLCBtb25vc3BhY2U7XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICBsaW5lLWhlaWdodDogMS42MjU7XG4gIG1hcmdpbjogMCAwIDEuNXJlbSAtMS41cmVtO1xuICBvdmVyZmxvdzogYXV0bztcbiAgcGFkZGluZzogMS41cmVtO1xuICB3aGl0ZS1zcGFjZTogcHJlO1xuICB3b3JkLWJyZWFrOiBub3JtYWw7XG4gIHdvcmQtd3JhcDogbm9ybWFsO1xufVxuXG5jb2RlLFxua2JkLFxudHQsXG52YXIge1xuICBmb250LWZhbWlseTogTW9uYWNvLCBDb25zb2xhcywgXCJBbmRhbGUgTW9ub1wiLCBcIkRlamFWdSBTYW5zIE1vbm9cIiwgbW9ub3NwYWNlO1xuICBmb250LXNpemU6IDAuOTM3NXJlbTtcbn1cblxuYWJicixcbmFjcm9ueW0ge1xuICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkICM2NjY7XG4gIGN1cnNvcjogaGVscDtcbn1cblxubWFyayxcbmlucyB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuc3VwLFxuc3ViIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGhlaWdodDogMDtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5zdXAge1xuICBib3R0b206IDFleDtcbn1cblxuc3ViIHtcbiAgdG9wOiAwLjVleDtcbn1cblxuc21hbGwge1xuICBmb250LXNpemU6IDc1JTtcbn1cblxuYmlnIHtcbiAgZm9udC1zaXplOiAxMjUlO1xufVxuXG4uZW50cnktdGl0bGUsXG4uZW50cnktY29udGVudCxcbi5jb21tZW50cy10aXRsZSxcbi5jb21tZW50LWNvbnRlbnQsXG4ud2lkZ2V0LXRpdGxlLFxuLndpZGdldCB7XG4gIHdvcmQtYnJlYWs6IGtlZXAtYWxsO1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG59XG5cbi5zY3JlZW4tcmVhZGVyLXRleHQge1xuICBoZWlnaHQ6IDAuMDYyNXJlbTtcbiAgd2lkdGg6IDAuMDYyNXJlbTtcbiAgY2xpcDogcmVjdCgwLjA2MjVyZW0sIDAuMDYyNXJlbSwgMC4wNjI1cmVtLCAwLjA2MjVyZW0pO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5zY3JlZW4tcmVhZGVyLXRleHQ6aG92ZXIsIC5zY3JlZW4tcmVhZGVyLXRleHQ6YWN0aXZlLCAuc2NyZWVuLXJlYWRlci10ZXh0OmZvY3VzIHtcbiAgaGVpZ2h0OiBhdXRvO1xuICB3aWR0aDogYXV0bztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjFmMTtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBib3gtc2hhZG93OiAwIDAgMC4xMjVyZW0gMC4xMjVyZW0gcmdiYSgwLCAwLCAwLCAwLjYpO1xuICBjbGlwOiBhdXRvO1xuICBjb2xvcjogIzAwNWRhYjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGxlZnQ6IDAuMzEyNXJlbTtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgcGFkZGluZzogMC45Mzc1cmVtIDEuNDM3NXJlbSAwLjg3NXJlbTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0b3A6IDAuMzEyNXJlbTtcbiAgei1pbmRleDogMTAwMDAwO1xufVxuXG4uYWxpZ25sZWZ0IHtcbiAgZGlzcGxheTogaW5saW5lO1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luOiAwIDEuNXJlbSAwIDA7XG59XG5cbi5hbGlnbnJpZ2h0IHtcbiAgZGlzcGxheTogaW5saW5lO1xuICBmbG9hdDogcmlnaHQ7XG4gIG1hcmdpbjogMCAwIDAgMS41cmVtO1xufVxuXG4uYWxpZ25jZW50ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cblxuLmNsZWFyOjphZnRlcixcbi5lbnRyeS1jb250ZW50OjphZnRlcixcbi5jb21tZW50LWNvbnRlbnQ6OmFmdGVyLFxuLnNpdGUtaGVhZGVyOjphZnRlcixcbi5zaXRlLWNvbnRlbnQ6OmFmdGVyLFxuLnNpdGUtZm9vdGVyOjphZnRlciB7XG4gIGNsZWFyOiBib3RoO1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuYm9keSB7XG4gIGZvbnQtZmFtaWx5OiAnSGVsdmV0aWNhJyBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDE1cHg7XG59XG5cbmVtYmVkLFxuaWZyYW1lLFxub2JqZWN0IHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBib3JkZXI6IG5vbmU7XG59XG5cbmhyIHtcbiAgaGVpZ2h0OiAxcHg7XG4gIHdpZHRoOiBhdXRvO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2NjO1xuICBib3JkZXI6IDA7XG4gIG1hcmdpbjogMCAwIDEuNXJlbSAwO1xufVxuXG5maWd1cmUge1xuICBtYXJnaW46IDA7XG59XG5cbnVsLFxub2wge1xuICBtYXJnaW46IDAgMCAxNXB4IDE1cHg7XG59XG5cbnVsIHtcbiAgbGlzdC1zdHlsZTogZGlzYztcbn1cblxub2wge1xuICBsaXN0LXN0eWxlOiBkZWNpbWFsO1xufVxuXG5saSA+IHVsLFxubGkgPiBvbCB7XG4gIG1hcmdpbjogMCAwIDAgMS41cmVtO1xufVxuXG5kdCB7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG5cbmRkIHtcbiAgbWFyZ2luOiAwIDEuNXJlbSAxLjVyZW0gMDtcbn1cblxudGFibGUge1xuICBoZWlnaHQ6IGF1dG87XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDAgMCAxLjVyZW0gMDtcbn1cblxudGgge1xuICBmb250LXdlaWdodDogNzAwO1xufVxuXG4ucGFnZS1jb250ZW50IC53cC1zbWlsZXksXG4uZW50cnktY29udGVudCAud3Atc21pbGV5LFxuLmNvbW1lbnQtY29udGVudCAud3Atc21pbGV5IHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IG5vbmU7XG59XG5cbmltZyB7XG4gIGhlaWdodDogYXV0bztcbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG4ud3AtY2FwdGlvbiB7XG4gIG1hcmdpbjogMCAwIDEuNXJlbSAwO1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi53cC1jYXB0aW9uIGltZ1tjbGFzcyo9J3dwLWltYWdlLSddIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMCBhdXRvO1xufVxuXG4ud3AtY2FwdGlvbi5hbGlnbmNlbnRlciB7XG4gIG1hcmdpbjogMCBhdXRvIDEuNXJlbSBhdXRvO1xufVxuXG4ud3AtY2FwdGlvbi5hbGlnbmxlZnQge1xuICBtYXJnaW4tcmlnaHQ6IDEuNXJlbTtcbn1cblxuLndwLWNhcHRpb24uYWxpZ25yaWdodCB7XG4gIG1hcmdpbi1sZWZ0OiAxLjVyZW07XG59XG5cbi53cC1jYXB0aW9uIC53cC1jYXB0aW9uLXRleHQge1xuICBtYXJnaW46IDAuNzVyZW0gMDtcbn1cblxuLndwLWNhcHRpb24tdGV4dCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmdhbGxlcnkge1xuICBtYXJnaW46IDAgMCAxLjVyZW0gMDtcbn1cblxuLmdhbGxlcnktaXRlbSB7XG4gIGhlaWdodDogYXV0bztcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xufVxuXG4uZ2FsbGVyeS1jb2x1bW5zLTIgLmdhbGxlcnktaXRlbSB7XG4gIG1heC13aWR0aDogNTAlO1xufVxuXG4uZ2FsbGVyeS1jb2x1bW5zLTMgLmdhbGxlcnktaXRlbSB7XG4gIG1heC13aWR0aDogMzMuMzMlO1xufVxuXG4uZ2FsbGVyeS1jb2x1bW5zLTQgLmdhbGxlcnktaXRlbSB7XG4gIG1heC13aWR0aDogMjUlO1xufVxuXG4uZ2FsbGVyeS1jb2x1bW5zLTUgLmdhbGxlcnktaXRlbSB7XG4gIG1heC13aWR0aDogMjAlO1xufVxuXG4uZ2FsbGVyeS1jb2x1bW5zLTYgLmdhbGxlcnktaXRlbSB7XG4gIG1heC13aWR0aDogMTYuNjYlO1xufVxuXG4uZ2FsbGVyeS1jb2x1bW5zLTcgLmdhbGxlcnktaXRlbSB7XG4gIG1heC13aWR0aDogMTQuMjglO1xufVxuXG4uZ2FsbGVyeS1jb2x1bW5zLTggLmdhbGxlcnktaXRlbSB7XG4gIG1heC13aWR0aDogMTIuNSU7XG59XG5cbi5nYWxsZXJ5LWNvbHVtbnMtOSAuZ2FsbGVyeS1pdGVtIHtcbiAgbWF4LXdpZHRoOiAxMS4xMSU7XG59XG5cbi5nYWxsZXJ5LWNhcHRpb24ge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmZsdWlkLWVtYmVkIHtcbiAgaGVpZ2h0OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nLWJvdHRvbTogNTYuMjUlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5mbHVpZC1lbWJlZCBlbWJlZCxcbi5mbHVpZC1lbWJlZCBvYmplY3QsXG4uZmx1aWQtZW1iZWQgaWZyYW1lIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5qZXRwYWNrLXZpZGVvLXdyYXBwZXIge1xuICBtYXJnaW4tbGVmdDogLTIuMTg3NXJlbTtcbiAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgKyA3MHB4KTtcbiAgd2lkdGg6IGNhbGMoMTAwJSArIDcwcHgpO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MDBweCkge1xuICAuamV0cGFjay12aWRlby13cmFwcGVyIHtcbiAgICBtYXJnaW4tbGVmdDogLTcuMTg3NXJlbTtcbiAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSArIDIzMHB4KTtcbiAgICB3aWR0aDogY2FsYygxMDAlICsgMjMwcHgpO1xuICB9XG59XG5cbi5pbWFnZS1hcy1iYWNrZ3JvdW5kIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3Zlcjtcbn1cblxuLnZpZGVvLWFzLWJhY2tncm91bmQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiBhdXRvO1xuICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgb2JqZWN0LXBvc2l0aW9uOiBjZW50ZXIgdG9wO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDAlO1xuICB6LWluZGV4OiAxO1xufVxuXG4uc3ZnLWRlZnMge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4ubm90LXJlYWR5IHtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzIGVhc2U7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLnJlYWR5IC5ub3QtcmVhZHkge1xuICBvcGFjaXR5OiAxO1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xufVxuXG4ucGFnZS10ZW1wbGF0ZS10ZW1wbGF0ZS1zY2FmZm9sZGluZyAucHJpbWFyeSB7XG4gIGZsb2F0OiBub25lO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLnNjYWZmb2xkaW5nLWRvY3VtZW50IHtcbiAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xufVxuXG4uc2NhZmZvbGRpbmctZG9jdW1lbnQtaGVhZGVyIHtcbiAgYm9yZGVyLWJvdHRvbTogMC4wNjI1cmVtIHNvbGlkICNkZGQ7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgbWFyZ2luLWJvdHRvbTogMC43NXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDAuNzVyZW07XG59XG5cbi5zY2FmZm9sZGluZy1kb2N1bWVudC1oZWFkZXIgaDIge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi5zY2FmZm9sZGluZy1kb2N1bWVudC1oZWFkZXIgcCB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgbWFyZ2luLXRvcDogMC43NXJlbTtcbn1cblxuLnNjYWZmb2xkaW5nLWRvY3VtZW50LWNvbnRlbnQge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uc2NhZmZvbGRpbmctZG9jdW1lbnQtY29udGVudCBoNCxcbi5zY2FmZm9sZGluZy1kb2N1bWVudC1jb250ZW50IHAge1xuICBtYXJnaW46IDAuNzVyZW0gMDtcbn1cblxuLnNjYWZmb2xkaW5nLWRvY3VtZW50LWNvbnRlbnQgcHJlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYm9yZGVyOiAwLjA2MjVyZW0gc29saWQgI2RkZDtcbiAgY29sb3I6ICNhYWE7XG4gIG1hcmdpbjogMCAwIDAuNzVyZW07XG4gIHBhZGRpbmc6IDAuNzVyZW07XG59XG5cbi5zY2FmZm9sZGluZy1kb2N1bWVudC1jb250ZW50IGNvZGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGRkO1xuICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgcGFkZGluZzogMC4zMTI1cmVtO1xufVxuXG4uc2NhZmZvbGRpbmctZG9jdW1lbnQuc2NhZmZvbGRpbmctY29sb3JzIC5zY2FmZm9sZGluZy1kb2N1bWVudC1jb250ZW50LCAuc2NhZmZvbGRpbmctZG9jdW1lbnQuc2NhZmZvbGRpbmctZm9udHMgLnNjYWZmb2xkaW5nLWRvY3VtZW50LWNvbnRlbnQge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLnN3YXRjaC1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLnN3YXRjaC1jb250YWluZXI6OmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uc3dhdGNoLWNvbnRhaW5lciAuc3dhdGNoIHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2RkZDtcbiAgYm9yZGVyLXJhZGl1czogMC4zMTI1cmVtO1xuICBmbGV4OiAwIDEgMjMuODc1JTtcbiAgaGVpZ2h0OiA3LjgxMjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDAuNzVyZW07XG4gIG1hcmdpbi1yaWdodDogMS41JTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5zd2F0Y2gtY29udGFpbmVyIC5zd2F0Y2g6bnRoLWNoaWxkKDRuKSB7XG4gIG1hcmdpbi1yaWdodDogMDtcbn1cblxuLnN3YXRjaC1jb250YWluZXIgLnN3YXRjaCBoZWFkZXIge1xuICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gIGNvbG9yOiAjZGRkO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDM5cHgpO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLnN3YXRjaC1jb250YWluZXIgLnN3YXRjaCBmb290ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkZGQ7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDAuMjVyZW07XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwLjI1cmVtO1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIHBhZGRpbmc6IDAuNjI1cmVtO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmJhY2tncm91bmQtYmx1ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyMTc1OWI7XG59XG5cbi5jb2xvci1ibHVlIHtcbiAgY29sb3I6ICMyMTc1OWI7XG59XG5cbi5maWxsLWJsdWUge1xuICBmaWxsOiAjMjE3NTliO1xufVxuXG4uYmFja2dyb3VuZC1saWdodC15ZWxsb3cge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOWMwO1xufVxuXG4uY29sb3ItbGlnaHQteWVsbG93IHtcbiAgY29sb3I6ICNmZmY5YzA7XG59XG5cbi5maWxsLWxpZ2h0LXllbGxvdyB7XG4gIGZpbGw6ICNmZmY5YzA7XG59XG5cbi5iYWNrZ3JvdW5kLWJsYWNrIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbn1cblxuLmNvbG9yLWJsYWNrIHtcbiAgY29sb3I6ICMwMDA7XG59XG5cbi5maWxsLWJsYWNrIHtcbiAgZmlsbDogIzAwMDtcbn1cblxuLmJhY2tncm91bmQtd2hpdGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xufVxuXG4uY29sb3Itd2hpdGUge1xuICBjb2xvcjogI2ZmZjtcbn1cblxuLmZpbGwtd2hpdGUge1xuICBmaWxsOiAjZmZmO1xufVxuXG4uYmFja2dyb3VuZC1ncmF5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzgwODA4MDtcbn1cblxuLmNvbG9yLWdyYXkge1xuICBjb2xvcjogIzgwODA4MDtcbn1cblxuLmZpbGwtZ3JheSB7XG4gIGZpbGw6ICM4MDgwODA7XG59XG5cbi5iYWNrZ3JvdW5kLWNvZC1ncmF5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzExMTtcbn1cblxuLmNvbG9yLWNvZC1ncmF5IHtcbiAgY29sb3I6ICMxMTE7XG59XG5cbi5maWxsLWNvZC1ncmF5IHtcbiAgZmlsbDogIzExMTtcbn1cblxuLmJhY2tncm91bmQtbWluZXNoYWZ0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzMzMztcbn1cblxuLmNvbG9yLW1pbmVzaGFmdCB7XG4gIGNvbG9yOiAjMzMzO1xufVxuXG4uZmlsbC1taW5lc2hhZnQge1xuICBmaWxsOiAjMzMzO1xufVxuXG4uYmFja2dyb3VuZC1kb3ZlLWdyYXkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjY2O1xufVxuXG4uY29sb3ItZG92ZS1ncmF5IHtcbiAgY29sb3I6ICM2NjY7XG59XG5cbi5maWxsLWRvdmUtZ3JheSB7XG4gIGZpbGw6ICM2NjY7XG59XG5cbi5iYWNrZ3JvdW5kLWdyYXktYWx0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzkyOTI5Mjtcbn1cblxuLmNvbG9yLWdyYXktYWx0IHtcbiAgY29sb3I6ICM5MjkyOTI7XG59XG5cbi5maWxsLWdyYXktYWx0IHtcbiAgZmlsbDogIzkyOTI5Mjtcbn1cblxuLmJhY2tncm91bmQtc2lsdmVyLWNoYWxpY2Uge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYWFhO1xufVxuXG4uY29sb3Itc2lsdmVyLWNoYWxpY2Uge1xuICBjb2xvcjogI2FhYTtcbn1cblxuLmZpbGwtc2lsdmVyLWNoYWxpY2Uge1xuICBmaWxsOiAjYWFhO1xufVxuXG4uYmFja2dyb3VuZC1zaWx2ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2NjO1xufVxuXG4uY29sb3Itc2lsdmVyIHtcbiAgY29sb3I6ICNjY2M7XG59XG5cbi5maWxsLXNpbHZlciB7XG4gIGZpbGw6ICNjY2M7XG59XG5cbi5iYWNrZ3JvdW5kLWFsdG8ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGRkO1xufVxuXG4uY29sb3ItYWx0byB7XG4gIGNvbG9yOiAjZGRkO1xufVxuXG4uZmlsbC1hbHRvIHtcbiAgZmlsbDogI2RkZDtcbn1cblxuLmJhY2tncm91bmQtZ2FsbGVyeSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZWU7XG59XG5cbi5jb2xvci1nYWxsZXJ5IHtcbiAgY29sb3I6ICNlZWU7XG59XG5cbi5maWxsLWdhbGxlcnkge1xuICBmaWxsOiAjZWVlO1xufVxuXG4uYmFja2dyb3VuZC13aGl0ZXNtb2tlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjFmMTtcbn1cblxuLmNvbG9yLXdoaXRlc21va2Uge1xuICBjb2xvcjogI2YxZjFmMTtcbn1cblxuLmZpbGwtd2hpdGVzbW9rZSB7XG4gIGZpbGw6ICNmMWYxZjE7XG59XG5cbmEge1xuICBjb2xvcjogIzAwNjBhOTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzIGVhc2U7XG59XG5cbmE6dmlzaXRlZCB7XG4gIGNvbG9yOiAjMDA2MGE5O1xufVxuXG5hOmhvdmVyLCBhOmZvY3VzLCBhOmFjdGl2ZSB7XG4gIGNvbG9yOiAjMDA2MGE5O1xufVxuXG5hLnRleHQtbGluayB7XG4gIGNvbG9yOiAjMDA3NWJmO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG5hLnRleHQtbGluazphZnRlciB7XG4gIGZvbnQtZmFtaWx5OiBcIkZvbnRBd2Vzb21lXCI7XG4gIGNvbnRlbnQ6IFwiXFxmMGRhXCI7XG4gIG1hcmdpbi1sZWZ0OiA1cHg7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLm1vYmlsZS1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgLnNpdGUtaGVhZGVyLFxuICAuc2l0ZS1mb290ZXIsXG4gIC5wcmltYXJ5LFxuICAuc2Vjb25kYXJ5IHtcbiAgICBwYWRkaW5nOiAwIDEuNXJlbTtcbiAgfVxufVxuXG5zZWN0aW9uLnRoZS1jb250ZW50IHtcbiAgbWFyZ2luLXRvcDogNTBweDtcbn1cblxuc2VjdGlvbi5zcGxpdGNvbnRlbnQge1xuICBwYWRkaW5nOiAzMHB4IDA7XG59XG5cbnNlY3Rpb24uc3BsaXRjb250ZW50IHN2ZyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb2xvcjogIzAwNzViZjtcbiAgZm9udC1zaXplOiAzMHB4O1xuICB3aWR0aDogNjBweCAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IDYwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgcGFkZGluZzogNXB4O1xufVxuXG5zZWN0aW9uLnNwbGl0Y29udGVudCBzdmcuc2Vjb25kLWljb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbWFyZ2luLWxlZnQ6IDIwcHg7XG59XG5cbnNlY3Rpb24uc3BsaXRjb250ZW50IGgyIHtcbiAgZm9udC1zaXplOiAyMnB4O1xuICBsaW5lLWhlaWdodDogMjRweDtcbn1cblxuLmNhcmRzLWJnIHtcbiAgYmFja2dyb3VuZDogdXJsKGFzc2V0cy9pbWFnZXMvY29zdGNvLWNhcmQtYmcuanBnKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogYm90dG9tIHJpZ2h0O1xufVxuXG5oMS5oZXJvLXRpdGxlIHtcbiAgZm9udC1zaXplOiAzNHB4O1xufVxuXG5oMS5oZXJvLXRpdGxlIHNwYW4ge1xuICBmb250LXdlaWdodDogOTAwO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gIGgxLmhlcm8tdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMjZweDtcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gIC5ob21lIGlmcmFtZSB7XG4gICAgaGVpZ2h0OiA2MDBweCAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5wcm9kdWN0cy1yb3dzIC5wcm9kdWN0LXJvdyB7XG4gIHBhZGRpbmc6IDUwcHggMDtcbn1cblxuLnByb2R1Y3RzLXJvd3MgLnByb2R1Y3Qtcm93Om50aC1jaGlsZChvZGQpIHtcbiAgYmFja2dyb3VuZDogI2Y1ZjVmNTtcbn1cblxuLnByb2R1Y3QtbGFiZWwge1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgYmFja2dyb3VuZDogIzMzMztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC01MHB4O1xuICBtYXgtd2lkdGg6IDEyNXB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGNvbG9yOiAjZmZmO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBwYWRkaW5nOiA1cHg7XG59XG5cbi5wcm9kdWN0LWxhYmVsLmNvbG9yLXByZSB7XG4gIGJhY2tncm91bmQ6ICMwMDVkYWI7XG59XG5cbi5wcm9kdWN0LWxhYmVsLmNvbG9yLWFkdiB7XG4gIGJhY2tncm91bmQ6ICMzRENGQzk7XG59XG5cbi5wcm9kdWN0LWxhYmVsLmNvbG9yLUVjbyB7XG4gIGJhY2tncm91bmQ6ICMzMDcxYTk7XG59XG5cbi5idG4ge1xuICBwYWRkaW5nOiAxN3B4IDI1cHg7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGluZS1oZWlnaHQ6IDE0cHg7XG4gIGhlaWdodDogNTBweDtcbiAgZm9udC1mYW1pbHk6ICdMYXRvJywgJ0FyaWFsJywgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAwO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XG59XG5cbi5idG46YWZ0ZXIge1xuICBmb250LWZhbWlseTogXCJGb250QXdlc29tZVwiO1xuICBmb250LXdlaWdodDogOTAwO1xuICBjb250ZW50OiBcIlxcZjBkYVwiO1xuICBtYXJnaW4tbGVmdDogNXB4O1xufVxuXG4uYnRuOmFjdGl2ZSB7XG4gIHBhZGRpbmctdG9wOiAxOHB4O1xuICBwYWRkaW5nLWJvdHRvbTogMTZweDtcbn1cblxuLmJ0biAudGV4dCxcbi5jb2x1bW4tY29udGVudCAuaXRlbS1jb250ZW50IGEgLnRleHQge1xuICBmbG9hdDogbGVmdDtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgLjE1cyBsaW5lYXI7XG4gIC1tb3otdHJhbnNpdGlvbjogYWxsIC4xNXMgbGluZWFyO1xuICAtbXMtdHJhbnNpdGlvbjogYWxsIC4xNXMgbGluZWFyO1xuICAtby10cmFuc2l0aW9uOiBhbGwgLjE1cyBsaW5lYXI7XG4gIHRyYW5zaXRpb246IGFsbCAuMTVzIGxpbmVhcjtcbn1cblxuLmJ0biAuYXJyb3csXG4uY29sdW1uLWNvbnRlbnQgLml0ZW0tY29udGVudCBhIC5hcnJvdyxcbi5jb2x1bW4tY29udGVudCAuaXRlbS1jb250ZW50IGEgLmFycm93ICsgLmhvdmVyIHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICB3aWR0aDogOXB4O1xuICBoZWlnaHQ6IDEycHg7XG4gIG1hcmdpbjogMCAwIDAgMjVweDtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgLjE1cyBsaW5lYXI7XG4gIC1tb3otdHJhbnNpdGlvbjogYWxsIC4xNXMgbGluZWFyO1xuICAtbXMtdHJhbnNpdGlvbjogYWxsIC4xNXMgbGluZWFyO1xuICAtby10cmFuc2l0aW9uOiBhbGwgLjE1cyBsaW5lYXI7XG4gIHRyYW5zaXRpb246IGFsbCAuMTVzIGxpbmVhcjtcbn1cblxuLmNvbHVtbi1jb250ZW50IC5pdGVtLWNvbnRlbnQgYSAuYXJyb3cgKyAuaG92ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xufVxuXG4uYnRuLWJsdWUge1xuICBiYWNrZ3JvdW5kOiAjMDA3NGJjO1xuICBjb2xvcjogI0ZGRjtcbiAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbn1cblxuLmJ0bi1ibHVlOmhvdmVyLFxuLmJ0bi1ibHVlOmZvY3VzLFxuLmJ0bi1ibHVlOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6ICMwMDA7XG4gIGNvbG9yOiAjRkZGO1xufVxuXG4uYnRuLWJsdWUgLmFycm93IHtcbiAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1nL2ljb24tYXJyb3ctd2hpdGUucG5nXCIpIG5vLXJlcGVhdCAwIDAgdHJhbnNwYXJlbnQ7XG59XG5cbi5jb2x1bW4tY29udGVudCAuaXRlbS1jb250ZW50IGEgLmFycm93IHtcbiAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1nL2ljb24tYXJyb3ctYmx1ZS5wbmdcIikgbm8tcmVwZWF0IDAgMCB0cmFuc3BhcmVudDtcbiAgbWFyZ2luOiA0cHggMCAwIDEwcHg7XG59XG5cbi5jb2x1bW4tY29udGVudCAuaXRlbS1jb250ZW50IGEgLmFycm93ICsgLmhvdmVyIHtcbiAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1nL2ljb24tYXJyb3ctZHJrYmx1ZS5wbmdcIikgbm8tcmVwZWF0IDAgMCB0cmFuc3BhcmVudDtcbiAgbWFyZ2luOiA0cHggMCAwIDEwcHg7XG59XG5cbi5jb2x1bW4tY29udGVudCAuaXRlbS1jb250ZW50IGE6aG92ZXIgLmFycm93ICsgLmhvdmVyLFxuLmNvbHVtbi1jb250ZW50IC5pdGVtLWNvbnRlbnQgYTpmb2N1cyAuYXJyb3cgKyAuaG92ZXIsXG4uY29sdW1uLWNvbnRlbnQgLml0ZW0tY29udGVudCBhOmFjdGl2ZSAuYXJyb3cgKyAuaG92ZXIge1xuICBvcGFjaXR5OiAxO1xuICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9MTAwKTtcbn1cblxuLmJ0bi1wcmltYXJ5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzMwNzFhOTtcbiAgYm9yZGVyOiAjMzA3MWE5O1xufVxuXG4uY2FyZCB7XG4gIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2MDBweCkge1xuICAuY2FyZCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgfVxufVxuXG4uY2FyZCBpbWcge1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmNvbW1lbnRzLWFyZWEge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2NjYztcbiAgbWFyZ2luOiA2LjI1cmVtIDAgOS40Mzc1cmVtO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLmNvbW1lbnRzLWFyZWEge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgfVxufVxuXG4uY29tbWVudHMtYXJlYSAuY29tbWVudC1yZXBseS10aXRsZSB7XG4gIG1hcmdpbi10b3A6IDIuOTM3NXJlbTtcbn1cblxuLmNvbW1lbnRzLWFyZWEgLmNvbW1lbnRzLXRpdGxlIHtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIG1hcmdpbi10b3A6IDcuODc1cmVtO1xufVxuXG4uY29tbWVudHMtYXJlYSAuY29tbWVudC1ub3RlcyB7XG4gIGZvbnQtc2l6ZTogMWVtO1xuICBtYXJnaW4tYm90dG9tOiAzLjM3NXJlbTtcbn1cblxuLmNvbW1lbnQtZm9ybS1jb21tZW50IGxhYmVsLFxuLmNvbW1lbnQtZm9ybS1hdXRob3IgbGFiZWwsXG4uY29tbWVudC1mb3JtLWVtYWlsIGxhYmVsLFxuLmNvbW1lbnQtZm9ybS11cmwgbGFiZWwge1xuICBmbG9hdDogbGVmdDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmNvbW1lbnQtZm9ybSB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uY29tbWVudC1mb3JtOjphZnRlciB7XG4gIGNsZWFyOiBib3RoO1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmNvbW1lbnQtZm9ybSBpbnB1dDpub3QoLnN1Ym1pdCkge1xuICBjbGVhcjogYm90aDtcbiAgdHJhbnNpdGlvbjogYm9yZGVyIDAuMnMgZWFzZS1pbi1vdXQ7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uY29tbWVudC1mb3JtIGlucHV0Om5vdCguc3VibWl0KTpmb2N1cywgLmNvbW1lbnQtZm9ybSBpbnB1dDpub3QoLnN1Ym1pdCk6YWN0aXZlIHtcbiAgYm9yZGVyOiAxcHggc29saWQgIzMzMztcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzAwcHgpIHtcbiAgLmNvbW1lbnQtZm9ybSBpbnB1dDpub3QoLnN1Ym1pdCkge1xuICAgIG1heC13aWR0aDogMTUuNjI1cmVtO1xuICB9XG59XG5cbi5jb21tZW50LWZvcm0gdGV4dGFyZWEge1xuICBtYXgtd2lkdGg6IDU0LjM3NXJlbTtcbiAgdHJhbnNpdGlvbjogYm9yZGVyIDAuMnMgZWFzZS1pbi1vdXQ7XG59XG5cbi5jb21tZW50LWZvcm0gdGV4dGFyZWE6Zm9jdXMsIC5jb21tZW50LWZvcm0gdGV4dGFyZWE6YWN0aXZlIHtcbiAgYm9yZGVyOiAxcHggc29saWQgIzMzMztcbn1cblxuLmNvbW1lbnQtZm9ybSAuZm9ybS1zdWJtaXQge1xuICBtYXJnaW46IDA7XG59XG5cbi5jb21tZW50LWZvcm0gaW5wdXRbdHlwZT0nc3VibWl0J10ge1xuICB3aWR0aDogMTIuMjVyZW07XG59XG5cbi5jb21tZW50LWxpc3Qge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbjogMDtcbn1cblxuLmNvbW1lbnQtbGlzdDo6YWZ0ZXIge1xuICBjbGVhcjogYm90aDtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5jb21tZW50LWxpc3QgLmV2ZW46bm90KC5ieXBvc3RhdXRob3IpID4gLmNvbW1lbnQtYm9keSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZWU7XG59XG5cbi5jb21tZW50LWxpc3QgLmNvbW1lbnQtYm9keSB7XG4gIHBhZGRpbmc6IDIuMjVyZW07XG59XG5cbi5jb21tZW50LWxpc3QgLmNvbW1lbnQtY29udGVudCB7XG4gIG1hcmdpbjogMS45Mzc1cmVtIDAgMS43NXJlbTtcbiAgbWF4LXdpZHRoOiA1OC41cmVtO1xufVxuXG4uY29tbWVudC1saXN0IC5jb21tZW50LW1ldGEge1xuICBtYXJnaW46IDAgMCAwLjg3NXJlbSAwO1xufVxuXG4uY29tbWVudC1saXN0IC5jb21tZW50LW1ldGE6OmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uY29tbWVudC1saXN0IC5jb21tZW50LWF1dGhvciB7XG4gIGxpbmUtaGVpZ2h0OiAxO1xufVxuXG4uY29tbWVudC1saXN0IC5jb21tZW50LW1ldGFkYXRhIHtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIG1hcmdpbi10b3A6IDAuMzEyNXJlbTtcbn1cblxuLmNvbW1lbnQtbGlzdCAuY29tbWVudC1tZXRhZGF0YSBhIHtcbiAgY29sb3I6ICM0NTQ1NDU7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLmNvbW1lbnQtbGlzdCAuY29tbWVudC1tZXRhZGF0YSB0aW1lIHtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xufVxuXG4uY29tbWVudC1saXN0IC5hdmF0YXIge1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW46IC0wLjM3NXJlbSAxLjYyNXJlbSAwIDA7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDMwMHB4KSB7XG4gIC5jb21tZW50LWxpc3QgLmF2YXRhciB7XG4gICAgbWFyZ2luLXRvcDogLTAuNzVyZW07XG4gIH1cbn1cblxuLmNvbW1lbnQtbGlzdCAuYnlwb3N0YXV0aG9yIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjljMDtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5jb21tZW50LWxpc3QgLmNvbW1lbnQtcmVwbHktbGluayB7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG5cbi5jb21tZW50LWxpc3QgcHJlLFxuLmNvbW1lbnQtbGlzdCBjb2RlIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nLXRvcDogMC4zMTI1cmVtO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmNvbW1lbnQtbGlzdCAuY2hpbGRyZW4ge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW46IDIuNXJlbSAwO1xuICBwYWRkaW5nLWxlZnQ6IDEuMjVyZW07XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDMwMHB4KSB7XG4gIC5jb21tZW50LWxpc3QgLmNoaWxkcmVuIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDIuMTg3NXJlbTtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2MDBweCkge1xuICAuY29tbWVudC1saXN0IC5jaGlsZHJlbiB7XG4gICAgcGFkZGluZy1sZWZ0OiAzLjc1cmVtO1xuICB9XG59XG5cbi5jb21tZW50LWxpc3QgLmNoaWxkcmVuIC5kZXB0aC00IC5jb21tZW50LWF1dGhvcixcbi5jb21tZW50LWxpc3QgLmNoaWxkcmVuIC5kZXB0aC01IC5jb21tZW50LWF1dGhvcixcbi5jb21tZW50LWxpc3QgLmNoaWxkcmVuIC5kZXB0aC02IC5jb21tZW50LWF1dGhvcixcbi5jb21tZW50LWxpc3QgLmNoaWxkcmVuIC5kZXB0aC03IC5jb21tZW50LWF1dGhvcixcbi5jb21tZW50LWxpc3QgLmNoaWxkcmVuIC5kZXB0aC04IC5jb21tZW50LWF1dGhvcixcbi5jb21tZW50LWxpc3QgLmNoaWxkcmVuIC5kZXB0aC05IC5jb21tZW50LWF1dGhvcixcbi5jb21tZW50LWxpc3QgLmNoaWxkcmVuIC5kZXB0aC0xMCAuY29tbWVudC1hdXRob3Ige1xuICBsaW5lLWhlaWdodDogMS4yNTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzAwcHgpIHtcbiAgLmNvbW1lbnQtbGlzdCAuY2hpbGRyZW4gLmRlcHRoLTQgLmNvbW1lbnQtYXV0aG9yLFxuICAuY29tbWVudC1saXN0IC5jaGlsZHJlbiAuZGVwdGgtNSAuY29tbWVudC1hdXRob3IsXG4gIC5jb21tZW50LWxpc3QgLmNoaWxkcmVuIC5kZXB0aC02IC5jb21tZW50LWF1dGhvcixcbiAgLmNvbW1lbnQtbGlzdCAuY2hpbGRyZW4gLmRlcHRoLTcgLmNvbW1lbnQtYXV0aG9yLFxuICAuY29tbWVudC1saXN0IC5jaGlsZHJlbiAuZGVwdGgtOCAuY29tbWVudC1hdXRob3IsXG4gIC5jb21tZW50LWxpc3QgLmNoaWxkcmVuIC5kZXB0aC05IC5jb21tZW50LWF1dGhvcixcbiAgLmNvbW1lbnQtbGlzdCAuY2hpbGRyZW4gLmRlcHRoLTEwIC5jb21tZW50LWF1dGhvciB7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gIH1cbn1cblxuLmNvbW1lbnQtbGlzdCAuY29tbWVudC1yZXNwb25kIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgcGFkZGluZzogMS41cmVtIDA7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDMwMHB4KSB7XG4gIC5jb21tZW50LWxpc3QgLmNvbW1lbnQtcmVzcG9uZCB7XG4gICAgcGFkZGluZy1sZWZ0OiAyLjI1cmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDIuMjVyZW07XG4gIH1cbn1cblxuLmNvbW1lbnQtbGlzdCAuY29tbWVudC1yZXNwb25kIC5jb21tZW50LXJlcGx5LXRpdGxlIGEge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2U7XG59XG5cbi5jb21tZW50LWxpc3QgLmNvbW1lbnQtcmVzcG9uZCAuY29tbWVudC1yZXBseS10aXRsZSBhOjpiZWZvcmUge1xuICBjb250ZW50OiAnKCc7XG59XG5cbi5jb21tZW50LWxpc3QgLmNvbW1lbnQtcmVzcG9uZCAuY29tbWVudC1yZXBseS10aXRsZSBhOjphZnRlciB7XG4gIGNvbnRlbnQ6ICcpJztcbn1cblxuLmNvbW1lbnQtbGlzdCAuY29tbWVudC1yZXNwb25kIC5mb3JtLXN1Ym1pdCB7XG4gIG1hcmdpbjogMDtcbn1cblxuLmNvbW1lbnQtbGlzdCAuY29tbWVudC1yZXNwb25kIC5mb3JtLXN1Ym1pdCBpbnB1dFt0eXBlPSdzdWJtaXQnXSB7XG4gIG1hcmdpbi10b3A6IDAuMzEyNXJlbTtcbn1cblxuLmVudHJ5LXRpdGxlIHtcbiAgZm9udC1zaXplOiAyLjI1cmVtO1xufVxuXG4uc3RpY2t5LFxuLmNvbW1lbnRzLWxpbmsge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmhlbnRyeSB7XG4gIG1hcmdpbjogMCAwIDEuNXJlbSAwO1xufVxuXG4uYnlsaW5lLFxuLnVwZGF0ZWQ6bm90KC5wdWJsaXNoZWQpIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnNpbmdsZSAuYnlsaW5lLFxuLmdyb3VwLWJsb2cgLmJ5bGluZSB7XG4gIGRpc3BsYXk6IGlubGluZTtcbn1cblxuLnBhZ2UtY29udGVudCxcbi5lbnRyeS1jb250ZW50LFxuLmVudHJ5LXN1bW1hcnkge1xuICBtYXJnaW46IDEuNXJlbSAwIDA7XG59XG5cbi5wYWdlLWxpbmtzIHtcbiAgY2xlYXI6IGJvdGg7XG4gIG1hcmdpbjogMCAwIDEuNXJlbSAwO1xufVxuXG4udGFncy1saW5rcyB7XG4gIG1hcmdpbi1sZWZ0OiAxLjVyZW07XG59XG5cbi5lZGl0LWxpbmsge1xuICBtYXJnaW46IDAgMCAwIDAuMzEyNXJlbTtcbn1cblxuLmVkaXQtbGluayBhIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2U7XG59XG5cbi5lZGl0LWxpbmsgYTo6YmVmb3JlIHtcbiAgY29udGVudDogJygnO1xufVxuXG4uZWRpdC1saW5rIGE6OmFmdGVyIHtcbiAgY29udGVudDogJyknO1xufVxuXG4uYmxvZyAuZm9ybWF0LWFzaWRlIC5lbnRyeS10aXRsZSxcbi5hcmNoaXZlIC5mb3JtYXQtYXNpZGUgLmVudHJ5LXRpdGxlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLmNvbnRlbnQtYmxvY2s6OmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uY2FsbC10by1hY3Rpb24gLmdyaWQteCB7XG4gIHBhZGRpbmc6IDAuNzVyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjAwcHgpIHtcbiAgLmNhbGwtdG8tYWN0aW9uIC5ncmlkLXgge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDYwMHB4KSB7XG4gIC5maWZ0eS1maWZ0eSAuY2VsbCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiAxLjI1JTtcbiAgICB3aWR0aDogNDkuMzc1JTtcbiAgfVxuICAuZmlmdHktZmlmdHkgLmNlbGw6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICB9XG59XG5cbi5jb250ZW50LWJsb2NrIHtcbiAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xufVxuXG4uY29udGVudC1ibG9jay10aXRsZSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjAwcHgpIHtcbiAgLmNvbnRlbnQtYmxvY2stdGl0bGUge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cbn1cblxuc2VjdGlvbi5oZXJvLnByb2R1Y3Qge1xuICBwYWRkaW5nOiAzMHB4IDAgMzVweCAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGJvdHRvbSBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgc2VjdGlvbi5oZXJvLnByb2R1Y3Qge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmUgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhmOGY4ICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLmhvbWUgc2VjdGlvbi5oZXJvLnByb2R1Y3Qge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xufVxuXG4ub3BhcXVlLXBhbmVsIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xuICBwYWRkaW5nOiAxNXB4O1xufVxuXG4udHJhbnNwYXJlbnQudG9wIHtcbiAgaGVpZ2h0OiA1cHg7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4udHJhbnNwYXJlbnQuYm90dG9tIHtcbiAgaGVpZ2h0OiAxMHB4O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLnJlY2VudC1wb3N0cyAuY2VsbCB7XG4gIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjAwcHgpIHtcbiAgLnJlY2VudC1wb3N0cyAuY2VsbCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiAxLjI1JTtcbiAgICB3aWR0aDogNDkuMzc1JTtcbiAgfVxuICAucmVjZW50LXBvc3RzIC5jZWxsOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgfVxuICAucmVjZW50LXBvc3RzIC5jZWxsOm50aC1jaGlsZCgybikge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgfVxuICAucmVjZW50LXBvc3RzIC5jZWxsOm50aC1jaGlsZCgybisxKSB7XG4gICAgY2xlYXI6IGxlZnQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgLnJlY2VudC1wb3N0cyAuY2VsbCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiAxLjI1JTtcbiAgICB3aWR0aDogMzIuNSU7XG4gIH1cbiAgLnJlY2VudC1wb3N0cyAuY2VsbDpudGgtY2hpbGQoMm4pIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDEuMjUlO1xuICB9XG4gIC5yZWNlbnQtcG9zdHMgLmNlbGw6bnRoLWNoaWxkKDJuICsxKSB7XG4gICAgY2xlYXI6IG5vbmU7XG4gIH1cbiAgLnJlY2VudC1wb3N0cyAuY2VsbDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gIH1cbiAgLnJlY2VudC1wb3N0cyAuY2VsbDpudGgtY2hpbGQoM24pIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gIH1cbiAgLnJlY2VudC1wb3N0cyAuY2VsbDpudGgtY2hpbGQoM24rMSkge1xuICAgIGNsZWFyOiBsZWZ0O1xuICB9XG59XG5cbi5yZWxhdGVkLXBvc3RzIC5jZWxsIHtcbiAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2MDBweCkge1xuICAucmVsYXRlZC1wb3N0cyAuY2VsbCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiAxLjI1JTtcbiAgICB3aWR0aDogNDkuMzc1JTtcbiAgfVxuICAucmVsYXRlZC1wb3N0cyAuY2VsbDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gIH1cbiAgLnJlbGF0ZWQtcG9zdHMgLmNlbGw6bnRoLWNoaWxkKDJuKSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICB9XG4gIC5yZWxhdGVkLXBvc3RzIC5jZWxsOm50aC1jaGlsZCgybisxKSB7XG4gICAgY2xlYXI6IGxlZnQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgLnJlbGF0ZWQtcG9zdHMgLmNlbGwge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1yaWdodDogMS4yNSU7XG4gICAgd2lkdGg6IDMyLjUlO1xuICB9XG4gIC5yZWxhdGVkLXBvc3RzIC5jZWxsOm50aC1jaGlsZCgybikge1xuICAgIG1hcmdpbi1yaWdodDogMS4yNSU7XG4gIH1cbiAgLnJlbGF0ZWQtcG9zdHMgLmNlbGw6bnRoLWNoaWxkKDJuICsxKSB7XG4gICAgY2xlYXI6IG5vbmU7XG4gIH1cbiAgLnJlbGF0ZWQtcG9zdHMgLmNlbGw6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICB9XG4gIC5yZWxhdGVkLXBvc3RzIC5jZWxsOm50aC1jaGlsZCgzbikge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgfVxuICAucmVsYXRlZC1wb3N0cyAuY2VsbDpudGgtY2hpbGQoM24rMSkge1xuICAgIGNsZWFyOiBsZWZ0O1xuICB9XG59XG5cbmZvb3Rlci5zaXRlLWZvb3RlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBwYWRkaW5nOiA0MHB4IDA7XG4gIGJhY2tncm91bmQ6ICNlZWVlZWU7XG59XG5cbmZvb3RlciAuY29weSB7XG4gIGNsZWFyOiBib3RoO1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiA1cHggMDtcbn1cblxuZm9vdGVyIC5uYXYge1xuICBmbG9hdDogbGVmdDtcbn1cblxuZm9vdGVyIC5uYXYgPiBsaSB7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogMTAwJTtcbn1cblxuZm9vdGVyIC5uYXYgPiBsaSA+IGEge1xuICBmbG9hdDogbGVmdDtcbiAgY29sb3I6ICNmZmY7XG4gIHBhZGRpbmc6IDVweCAwO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuZm9vdGVyIC5uYXYgPiBsaSA+IGE6aG92ZXIsXG5mb290ZXIgLm5hdiA+IGxpID4gYTpmb2N1cyxcbmZvb3RlciAubmF2ID4gbGkgPiBhOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGNvbG9yOiAjQ0NDO1xufVxuXG5zZWN0aW9uLmNhbGwtdG8tYWN0aW9uIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNjY2NjY2M7XG59XG5cbnNlY3Rpb24uY2FsbC10by1hY3Rpb24gLmN0YS1ib3gge1xuICBwYWRkaW5nOiA0MHB4IDA7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgc2VjdGlvbi5jYWxsLXRvLWFjdGlvbiAuY3RhLWJveCB7XG4gICAgcGFkZGluZy1ib3R0b206IDMwcHg7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjY2NjY2M7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5OTJweCkge1xuICBzZWN0aW9uLmNhbGwtdG8tYWN0aW9uIC5kZXNrdG9wLWhvcml6LXNlcCB7XG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2NjY2NjYztcbiAgfVxufVxuXG5pbWcubWVudS1sb2dvIHtcbiAgbWF4LXdpZHRoOiAxMDBweDtcbiAgbWFyZ2luLWxlZnQ6IDEwcHg7XG59XG5cbmJ1dHRvbixcbmlucHV0LFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBmb250LXNpemU6IDEwMCU7XG4gIG1hcmdpbjogMDtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5pbnB1dFt0eXBlPSdjaGVja2JveCddLFxuaW5wdXRbdHlwZT0ncmFkaW8nXSB7XG4gIHBhZGRpbmc6IDA7XG59XG5cbmlucHV0W3R5cGU9J3RleHQnXTo6LW1zLWNsZWFyLFxuaW5wdXRbdHlwZT0nc2VhcmNoJ106Oi1tcy1jbGVhciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbmlucHV0W3R5cGU9J3NlYXJjaCddIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xufVxuXG5pbnB1dFt0eXBlPSdzZWFyY2gnXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuaW5wdXQ6Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXI6IDA7XG4gIHBhZGRpbmc6IDA7XG59XG5cbmlucHV0W3R5cGU9J3RleHQnXSxcbmlucHV0W3R5cGU9J2VtYWlsJ10sXG5pbnB1dFt0eXBlPSd1cmwnXSxcbmlucHV0W3R5cGU9J3Bhc3N3b3JkJ10sXG5pbnB1dFt0eXBlPSdzZWFyY2gnXSxcbmlucHV0W3R5cGU9J251bWJlciddLFxuaW5wdXRbdHlwZT0ndGVsJ10sXG5pbnB1dFt0eXBlPSdyYW5nZSddLFxuaW5wdXRbdHlwZT0nZGF0ZSddLFxuaW5wdXRbdHlwZT0nbW9udGgnXSxcbmlucHV0W3R5cGU9J3dlZWsnXSxcbmlucHV0W3R5cGU9J3RpbWUnXSxcbmlucHV0W3R5cGU9J2RhdGV0aW1lJ10sXG5pbnB1dFt0eXBlPSdkYXRldGltZS1sb2NhbCddLFxuaW5wdXRbdHlwZT0nY29sb3InXSxcbnRleHRhcmVhIHtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgY29sb3I6ICM2NjY7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIHBhZGRpbmc6IDAuMzc1cmVtO1xufVxuXG5pbnB1dFt0eXBlPSd0ZXh0J106Zm9jdXMsXG5pbnB1dFt0eXBlPSdlbWFpbCddOmZvY3VzLFxuaW5wdXRbdHlwZT0ndXJsJ106Zm9jdXMsXG5pbnB1dFt0eXBlPSdwYXNzd29yZCddOmZvY3VzLFxuaW5wdXRbdHlwZT0nc2VhcmNoJ106Zm9jdXMsXG5pbnB1dFt0eXBlPSdudW1iZXInXTpmb2N1cyxcbmlucHV0W3R5cGU9J3RlbCddOmZvY3VzLFxuaW5wdXRbdHlwZT0ncmFuZ2UnXTpmb2N1cyxcbmlucHV0W3R5cGU9J2RhdGUnXTpmb2N1cyxcbmlucHV0W3R5cGU9J21vbnRoJ106Zm9jdXMsXG5pbnB1dFt0eXBlPSd3ZWVrJ106Zm9jdXMsXG5pbnB1dFt0eXBlPSd0aW1lJ106Zm9jdXMsXG5pbnB1dFt0eXBlPSdkYXRldGltZSddOmZvY3VzLFxuaW5wdXRbdHlwZT0nZGF0ZXRpbWUtbG9jYWwnXTpmb2N1cyxcbmlucHV0W3R5cGU9J2NvbG9yJ106Zm9jdXMsXG50ZXh0YXJlYTpmb2N1cyB7XG4gIGNvbG9yOiAjMTExO1xufVxuXG50ZXh0YXJlYSB7XG4gIGhlaWdodDogYXV0bztcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93OiBhdXRvO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xufVxuXG5pbWcuY3VzdG9tLWxvZ28ge1xuICB3aWR0aDogMzUwcHg7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG59XG5cbi5zb2NpYWwtaWNvbnMge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi5zb2NpYWwtaWNvbnM6OmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uc29jaWFsLWljb25zOjphZnRlciB7XG4gIGNsZWFyOiBib3RoO1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLnNvY2lhbC1pY29ucyAuc29jaWFsLWljb24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi5zb2NpYWwtaWNvbnMgLnNvY2lhbC1pY29uIC5pY29uLWZhY2Vib29rIHtcbiAgaGVpZ2h0OiAxLjg3NXJlbTtcbiAgd2lkdGg6IDEuODc1cmVtO1xuICBmaWxsOiAjM2I1OTk4O1xufVxuXG4uc29jaWFsLWljb25zIC5zb2NpYWwtaWNvbiAuaWNvbi1mYWNlYm9vazpob3ZlciB7XG4gIGZpbGw6ICM3MThkYzg7XG59XG5cbi5zb2NpYWwtaWNvbnMgLnNvY2lhbC1pY29uIC5pY29uLWZhY2Vib29rLXNxdWFyZSB7XG4gIGhlaWdodDogMS44NzVyZW07XG4gIHdpZHRoOiAxLjg3NXJlbTtcbiAgZmlsbDogIzNiNTk5ODtcbn1cblxuLnNvY2lhbC1pY29ucyAuc29jaWFsLWljb24gLmljb24tZmFjZWJvb2stc3F1YXJlOmhvdmVyIHtcbiAgZmlsbDogIzcxOGRjODtcbn1cblxuLnNvY2lhbC1pY29ucyAuc29jaWFsLWljb24gLmljb24tZ29vZ2xlcGx1cyB7XG4gIGhlaWdodDogMS44NzVyZW07XG4gIHdpZHRoOiAxLjg3NXJlbTtcbiAgZmlsbDogI2RkNGIzOTtcbn1cblxuLnNvY2lhbC1pY29ucyAuc29jaWFsLWljb24gLmljb24tZ29vZ2xlcGx1czpob3ZlciB7XG4gIGZpbGw6ICNlYzlhOTA7XG59XG5cbi5zb2NpYWwtaWNvbnMgLnNvY2lhbC1pY29uIC5pY29uLWdvb2dsZXBsdXMtc3F1YXJlIHtcbiAgaGVpZ2h0OiAxLjg3NXJlbTtcbiAgd2lkdGg6IDEuODc1cmVtO1xuICBmaWxsOiAjZGQ0YjM5O1xufVxuXG4uc29jaWFsLWljb25zIC5zb2NpYWwtaWNvbiAuaWNvbi1nb29nbGVwbHVzLXNxdWFyZTpob3ZlciB7XG4gIGZpbGw6ICNlYzlhOTA7XG59XG5cbi5zb2NpYWwtaWNvbnMgLnNvY2lhbC1pY29uIC5pY29uLWluc3RhZ3JhbSB7XG4gIGhlaWdodDogMS44NzVyZW07XG4gIHdpZHRoOiAxLjg3NXJlbTtcbiAgZmlsbDogIzUxN2ZhNDtcbn1cblxuLnNvY2lhbC1pY29ucyAuc29jaWFsLWljb24gLmljb24taW5zdGFncmFtOmhvdmVyIHtcbiAgZmlsbDogIzkyYjBjOTtcbn1cblxuLnNvY2lhbC1pY29ucyAuc29jaWFsLWljb24gLmljb24taW5zdGFncmFtLXNxdWFyZSB7XG4gIGhlaWdodDogMS44NzVyZW07XG4gIHdpZHRoOiAxLjg3NXJlbTtcbiAgZmlsbDogIzUxN2ZhNDtcbn1cblxuLnNvY2lhbC1pY29ucyAuc29jaWFsLWljb24gLmljb24taW5zdGFncmFtLXNxdWFyZTpob3ZlciB7XG4gIGZpbGw6ICM5MmIwYzk7XG59XG5cbi5zb2NpYWwtaWNvbnMgLnNvY2lhbC1pY29uIC5pY29uLWxpbmtlZGluIHtcbiAgaGVpZ2h0OiAxLjg3NXJlbTtcbiAgd2lkdGg6IDEuODc1cmVtO1xuICBmaWxsOiAjMDA3YmI2O1xufVxuXG4uc29jaWFsLWljb25zIC5zb2NpYWwtaWNvbiAuaWNvbi1saW5rZWRpbjpob3ZlciB7XG4gIGZpbGw6ICMxZGI2ZmY7XG59XG5cbi5zb2NpYWwtaWNvbnMgLnNvY2lhbC1pY29uIC5pY29uLWxpbmtlZGluLXNxdWFyZSB7XG4gIGhlaWdodDogMS44NzVyZW07XG4gIHdpZHRoOiAxLjg3NXJlbTtcbiAgZmlsbDogIzAwN2JiNjtcbn1cblxuLnNvY2lhbC1pY29ucyAuc29jaWFsLWljb24gLmljb24tbGlua2VkaW4tc3F1YXJlOmhvdmVyIHtcbiAgZmlsbDogIzFkYjZmZjtcbn1cblxuLnNvY2lhbC1pY29ucyAuc29jaWFsLWljb24gLmljb24tcGludGVyZXN0IHtcbiAgaGVpZ2h0OiAxLjg3NXJlbTtcbiAgd2lkdGg6IDEuODc1cmVtO1xuICBmaWxsOiAjY2IyMDI3O1xufVxuXG4uc29jaWFsLWljb25zIC5zb2NpYWwtaWNvbiAuaWNvbi1waW50ZXJlc3Q6aG92ZXIge1xuICBmaWxsOiAjZTc2YTZmO1xufVxuXG4uc29jaWFsLWljb25zIC5zb2NpYWwtaWNvbiAuaWNvbi1waW50ZXJlc3Qtc3F1YXJlIHtcbiAgaGVpZ2h0OiAxLjg3NXJlbTtcbiAgd2lkdGg6IDEuODc1cmVtO1xuICBmaWxsOiAjY2IyMDI3O1xufVxuXG4uc29jaWFsLWljb25zIC5zb2NpYWwtaWNvbiAuaWNvbi1waW50ZXJlc3Qtc3F1YXJlOmhvdmVyIHtcbiAgZmlsbDogI2U3NmE2Zjtcbn1cblxuLnNvY2lhbC1pY29ucyAuc29jaWFsLWljb24gLmljb24tcnNzIHtcbiAgaGVpZ2h0OiAxLjg3NXJlbTtcbiAgd2lkdGg6IDEuODc1cmVtO1xuICBmaWxsOiAjZjkwO1xufVxuXG4uc29jaWFsLWljb25zIC5zb2NpYWwtaWNvbiAuaWNvbi1yc3M6aG92ZXIge1xuICBmaWxsOiAjZmZjMjY2O1xufVxuXG4uc29jaWFsLWljb25zIC5zb2NpYWwtaWNvbiAuaWNvbi1yc3Mtc3F1YXJlIHtcbiAgaGVpZ2h0OiAxLjg3NXJlbTtcbiAgd2lkdGg6IDEuODc1cmVtO1xuICBmaWxsOiAjZjkwO1xufVxuXG4uc29jaWFsLWljb25zIC5zb2NpYWwtaWNvbiAuaWNvbi1yc3Mtc3F1YXJlOmhvdmVyIHtcbiAgZmlsbDogI2ZmYzI2Njtcbn1cblxuLnNvY2lhbC1pY29ucyAuc29jaWFsLWljb24gLmljb24tdHdpdHRlciB7XG4gIGhlaWdodDogMS44NzVyZW07XG4gIHdpZHRoOiAxLjg3NXJlbTtcbiAgZmlsbDogIzAwYWNlZDtcbn1cblxuLnNvY2lhbC1pY29ucyAuc29jaWFsLWljb24gLmljb24tdHdpdHRlcjpob3ZlciB7XG4gIGZpbGw6ICM1NGQwZmY7XG59XG5cbi5zb2NpYWwtaWNvbnMgLnNvY2lhbC1pY29uIC5pY29uLXR3aXR0ZXItc3F1YXJlIHtcbiAgaGVpZ2h0OiAxLjg3NXJlbTtcbiAgd2lkdGg6IDEuODc1cmVtO1xuICBmaWxsOiAjMDBhY2VkO1xufVxuXG4uc29jaWFsLWljb25zIC5zb2NpYWwtaWNvbiAuaWNvbi10d2l0dGVyLXNxdWFyZTpob3ZlciB7XG4gIGZpbGw6ICM1NGQwZmY7XG59XG5cbi5zb2NpYWwtaWNvbnMgLnNvY2lhbC1pY29uIC5pY29uLXlvdXR1YmUge1xuICBoZWlnaHQ6IDEuODc1cmVtO1xuICB3aWR0aDogMS44NzVyZW07XG4gIGZpbGw6ICNiMDA7XG59XG5cbi5zb2NpYWwtaWNvbnMgLnNvY2lhbC1pY29uIC5pY29uLXlvdXR1YmU6aG92ZXIge1xuICBmaWxsOiAjZmYyMjIyO1xufVxuXG4uc29jaWFsLWljb25zIC5zb2NpYWwtaWNvbiAuaWNvbi15b3V0dWJlLXNxdWFyZSB7XG4gIGhlaWdodDogMS44NzVyZW07XG4gIHdpZHRoOiAxLjg3NXJlbTtcbiAgZmlsbDogI2IwMDtcbn1cblxuLnNvY2lhbC1pY29ucyAuc29jaWFsLWljb24gLmljb24teW91dHViZS1zcXVhcmU6aG92ZXIge1xuICBmaWxsOiAjZmYyMjIyO1xufVxuXG4uc29jaWFsLWljb25zIC5zb2NpYWwtaWNvbjpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xufVxuXG4uY2xvc2Uge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tdG9wOiAtMC4zMTI1cmVtO1xuICBvdXRsaW5lOiBub25lO1xufVxuXG4uY2xvc2U6OmJlZm9yZSwgLmNsb3NlOjphZnRlciB7XG4gIGhlaWdodDogMC4xODc1cmVtO1xuICB3aWR0aDogMS4yNXJlbTtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgYm9yZGVyLXJhZGl1czogMXB4O1xuICBjb250ZW50OiAnJztcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uY2xvc2U6OmJlZm9yZSB7XG4gIHRvcDogMC4xODc1cmVtO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG59XG5cbi5jbG9zZTo6YWZ0ZXIge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xufVxuXG4uZG93bi1hcnJvdyB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiAwLjYyNXJlbTtcbiAgb3V0bGluZTogbm9uZTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNXMgZWFzZS1pbi1vdXQ7XG59XG5cbi5kb3duLWFycm93OjpiZWZvcmUsIC5kb3duLWFycm93OjphZnRlciB7XG4gIGhlaWdodDogMC4xMjVyZW07XG4gIHdpZHRoOiAwLjYyNXJlbTtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgYm9yZGVyLXJhZGl1czogMXB4O1xuICBjb250ZW50OiAnJztcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uZG93bi1hcnJvdzo6YmVmb3JlIHtcbiAgbGVmdDogLTAuMzc1cmVtO1xuICB0b3A6IDAuMTI1cmVtO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG59XG5cbi5kb3duLWFycm93OjphZnRlciB7XG4gIHRyYW5zZm9ybTogcm90YXRlKC0yMjVkZWcpO1xufVxuXG4ubW9kYWwge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjMpO1xuICBkaXNwbGF5OiBub25lO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB6LWluZGV4OiAxMDUwO1xufVxuXG4ubW9kYWw6OmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4ubW9kYWwubW9kYWwtb3BlbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIG92ZXJmbG93LXk6IGF1dG87XG59XG5cbi5tb2RhbCAubW9kYWwtZGlhbG9nIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgd2lkdGg6IGF1dG87XG59XG5cbi5tb2RhbCAubW9kYWwtY29udGVudCB7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgYm94LXNoYWRvdzogMCAwIDAuNjI1cmVtIDAuMTg3NXJlbSByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gIG91dGxpbmU6IDA7XG4gIHBhZGRpbmc6IDAuNjI1cmVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5tb2RhbCAubW9kYWwtY29udGVudCAubW9kYWwtaGVhZGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4ubW9kYWwgLm1vZGFsLWNvbnRlbnQgLm1vZGFsLWhlYWRlciAuY2xvc2Uge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtMC45Mzc1cmVtO1xuICByaWdodDogLTAuOTM3NXJlbTtcbiAgaGVpZ2h0OiAxLjg3NXJlbTtcbiAgd2lkdGg6IDEuODc1cmVtO1xuICBiYWNrZ3JvdW5kOiAjMDAwO1xuICBib3JkZXI6IDNweCBzb2xpZCAjZmZmO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGNvbG9yOiAjZmZmO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZvbnQtc2l6ZTogMS44NzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBvdXRsaW5lOiBub25lO1xufVxuXG4ubW9kYWwgLm1vZGFsLWNvbnRlbnQgLm1vZGFsLWhlYWRlciAuY2xvc2U6OmFmdGVyOjphZnRlciB7XG4gIGNsZWFyOiBib3RoO1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLm1vZGFsIC5tb2RhbC1jb250ZW50IC5tb2RhbC1ib2R5IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4ubW9kYWwgLmZsdWlkLWVtYmVkIGVtYmVkLFxuLm1vZGFsIC5mbHVpZC1lbWJlZCBvYmplY3QsXG4ubW9kYWwgLmZsdWlkLWVtYmVkIGlmcmFtZSB7XG4gIGJvcmRlcjogbm9uZTtcbn1cblxuLm1lbnUge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi5tZW51OjphZnRlciB7XG4gIGNsZWFyOiBib3RoO1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLm1lbnUgdWwge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi5tZW51IHVsOjphZnRlciB7XG4gIGNsZWFyOiBib3RoO1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLm1lbnUgdWwuc3ViLW1lbnUge1xuICBiYWNrZ3JvdW5kOiAjMDA1ZGFiO1xuICB0b3A6IDM4cHg7XG59XG5cbi5tZW51IHVsLnN1Yi1tZW51IGxpIHtcbiAgbWFyZ2luOiAwO1xufVxuXG4ubWVudSB1bC5zdWItbWVudSBsaSBhIHtcbiAgY29sb3I6ICNmZmY7XG59XG5cbi5tZW51IC5tZW51LWl0ZW0taGFzLWNoaWxkcmVuIC5tZW51LWl0ZW0taGFzLWNoaWxkcmVuIC5jYXJldC1kb3duIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKSB0cmFuc2xhdGVYKDAuMTI1cmVtKTtcbiAgY29sb3I6ICNmZmY7XG59XG5cbi5tZW51IGEge1xuICBkaXNwbGF5OiBibG9jaztcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4ubWVudSAuY3VycmVudF9wYWdlX2l0ZW0sXG4ubWVudSAuY3VycmVudC1tZW51LWl0ZW0ge1xuICBiYWNrZ3JvdW5kOiAjMmE2MjkzO1xufVxuXG4ubWVudSAuY3VycmVudF9wYWdlX2l0ZW0gYSxcbi5tZW51IC5jdXJyZW50LW1lbnUtaXRlbSBhIHtcbiAgY29sb3I6ICNmZmY7XG59XG5cbi5jYXJldC1kb3duIHtcbiAgaGVpZ2h0OiAxLjI1cmVtO1xuICB3aWR0aDogMC42MjVyZW07XG4gIGJhY2tncm91bmQ6IHVybChcImFzc2V0cy9pbWFnZXMvc3ZnLWljb25zL2NhcmV0LWRvd24uc3ZnXCIpIG5vLXJlcGVhdCB0cmFuc3BhcmVudDtcbiAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiAwLjMxMjVyZW07XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi5tYWluLW5hdmlnYXRpb24ge1xuICBkaXNwbGF5OiBub25lO1xuICBiYWNrZ3JvdW5kOiAjMDA1ZGFiO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MDBweCkge1xuICAubWFpbi1uYXZpZ2F0aW9uIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG4ubWFpbi1uYXZpZ2F0aW9uIHVsIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzAwcHgpIHtcbiAgLm1haW4tbmF2aWdhdGlvbiB1bCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuLm1haW4tbmF2aWdhdGlvbiB1bCBsaSB7XG4gIHRyYW5zaXRpb246IC4yNXM7XG59XG5cbi5tYWluLW5hdmlnYXRpb24gdWwgbGk6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjMmE2MjkzO1xufVxuXG4ubWFpbi1uYXZpZ2F0aW9uIHVsIGxpIGEge1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgcGFkZGluZzogOHB4IDE1cHg7XG59XG5cbi5tYWluLW5hdmlnYXRpb24udG9nZ2xlZCB1bCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uZHJvcGRvd24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5kcm9wZG93biB1bCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxLjVyZW07XG4gIGxlZnQ6IC05OTllbTtcbiAgYm94LXNoYWRvdzogMCAwLjE4NzVyZW0gMC4xODc1cmVtIHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHotaW5kZXg6IDk5OTk5O1xufVxuXG4uZHJvcGRvd24gdWwgdWwge1xuICBsZWZ0OiAtOTk5ZW07XG4gIHRvcDogMDtcbn1cblxuLmRyb3Bkb3duIHVsIGxpIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5kcm9wZG93biB1bCBsaTpob3ZlciA+IHVsLFxuLmRyb3Bkb3duIHVsIGxpLmZvY3VzID4gdWwge1xuICBsZWZ0OiAxMDAlO1xufVxuXG4uZHJvcGRvd24gdWwgbGkuY3VycmVudC1tZW51LWl0ZW0ge1xuICBib3JkZXItbGVmdDogNXB4IHNvbGlkICMwMDc1YmY7XG59XG5cbi5kcm9wZG93biB1bCBhIHtcbiAgaGVpZ2h0OiBhdXRvO1xuICB3aWR0aDogMTAwJTtcbiAgbWluLXdpZHRoOiAxMi41cmVtO1xufVxuXG4uZHJvcGRvd24gbGk6aG92ZXIgPiB1bCxcbi5kcm9wZG93biAuZm9jdXMgPiB1bCB7XG4gIGxlZnQ6IGF1dG87XG59XG5cbi5kcm9wZG93biBsaSB7XG4gIGZsb2F0OiBsZWZ0O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgdWwjcHJpbWFyeS1tZW51IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICB9XG4gIHVsI3ByaW1hcnktbWVudSBsaSB7XG4gICAgZmxleC1ncm93OiAxO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxufVxuXG4ubW9iaWxlLW1lbnUge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbi10b3A6IDcwcHg7XG59XG5cbi5tb2JpbGUtbWVudTo6YWZ0ZXIge1xuICBjbGVhcjogYm90aDtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5tb2JpbGUtbWVudSB1bCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgcGFkZGluZy1sZWZ0OiAzMHB4O1xufVxuXG4ubW9iaWxlLW1lbnUgdWw6OmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4ubW9iaWxlLW1lbnUgbGkge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiA1cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLm1vYmlsZS1tZW51IGEge1xuICBjb2xvcjogI2ZmZjtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbn1cblxuLm1vYmlsZS1tZW51IGE6Zm9jdXMsIC5tb2JpbGUtbWVudSBhOmhvdmVyLCAubW9iaWxlLW1lbnUgYTphY3RpdmUge1xuICBvdXRsaW5lOiBub25lO1xufVxuXG4ubW9iaWxlLW1lbnUgLnN1Yi1tZW51IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLm1vYmlsZS1tZW51IC5zdWItbWVudS5pcy12aXNpYmxlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG9wYWNpdHk6IDE7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG59XG5cbi5wYXJlbnQtaW5kaWNhdG9yIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDByZW07XG4gIHJpZ2h0OiAwLjYyNXJlbTtcbiAgaGVpZ2h0OiAyLjE4NzVyZW07XG4gIHdpZHRoOiAyLjE4NzVyZW07XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6IDAuMzEyNXJlbTtcbiAgei1pbmRleDogOTk5OTtcbiAgaGVpZ2h0OiAzMHB4O1xufVxuXG4ucGFyZW50LWluZGljYXRvcjpmb2N1cyB7XG4gIG91dGxpbmU6IDJweCBzb2xpZCAjZmZmO1xufVxuXG4ubW9iaWxlLW1lbnUgLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4ge1xuICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDAuNXM7XG59XG5cbi5tb2JpbGUtbWVudSAubWVudS1pdGVtLWhhcy1jaGlsZHJlbiBhIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDQwcHgpO1xufVxuXG4ubW9iaWxlLW1lbnUgLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4uaXMtdmlzaWJsZSB7XG4gIG1heC1oZWlnaHQ6IDMxLjI1cmVtO1xufVxuXG4ubW9iaWxlLW1lbnUgLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4uaXMtdmlzaWJsZSAuZG93bi1hcnJvdyB7XG4gIHRyYW5zZm9ybTogcm90YXRlWCgxODBkZWcpO1xufVxuXG4ubW9iaWxlLW1lbnUgLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4gLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW46bGFzdC1vZi10eXBlIC5tZW51LWl0ZW0taGFzLWNoaWxkcmVuLmlzLXZpc2libGUge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4ubW9iaWxlLW1lbnUgLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4gLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4gLmRvd24tYXJyb3cge1xuICB0cmFuc2Zvcm06IHJvdGF0ZVgoMCk7XG59XG5cbi5tb2JpbGUtbWVudSAubWVudS1pdGVtLWhhcy1jaGlsZHJlbiAubWVudS1pdGVtLWhhcy1jaGlsZHJlbi5pcy12aXNpYmxlOmxhc3Qtb2YtdHlwZSB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5tb2JpbGUtbWVudSAubWVudS1pdGVtLWhhcy1jaGlsZHJlbiAubWVudS1pdGVtLWhhcy1jaGlsZHJlbi5pcy12aXNpYmxlIC5kb3duLWFycm93IHtcbiAgdHJhbnNmb3JtOiByb3RhdGVYKDE4MGRlZyk7XG59XG5cbi5tb2JpbGUtbWVudSAubWVudS1pdGVtLWhhcy1jaGlsZHJlbiAubWVudS1pdGVtLWhhcy1jaGlsZHJlbiAubWVudS1pdGVtLWhhcy1jaGlsZHJlbiAuZG93bi1hcnJvdyB7XG4gIHRyYW5zZm9ybTogcm90YXRlWCgwKTtcbn1cblxuLm1vYmlsZS1tZW51IC5tZW51LWl0ZW0taGFzLWNoaWxkcmVuIC5tZW51LWl0ZW0taGFzLWNoaWxkcmVuIC5tZW51LWl0ZW0taGFzLWNoaWxkcmVuLmlzLXZpc2libGUgLmRvd24tYXJyb3cge1xuICB0cmFuc2Zvcm06IHJvdGF0ZVgoMTgwZGVnKTtcbn1cblxuLmhhbWJ1cmdlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBvdXRsaW5lOiBub25lO1xufVxuXG4uaGFtYnVyZ2VyLCAuaGFtYnVyZ2VyOjpiZWZvcmUsIC5oYW1idXJnZXI6OmFmdGVyIHtcbiAgd2lkdGg6IDQwcHg7XG4gIGhlaWdodDogNXB4O1xuICBiYWNrZ3JvdW5kOiAjMTExO1xuICBib3JkZXItcmFkaXVzOiAxcHg7XG4gIGNvbnRlbnQ6ICcnO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjVzLCBiYWNrZ3JvdW5kLWNvbG9yIDAuM3MgZWFzZS1pbi1vdXQ7XG59XG5cbi5oYW1idXJnZXI6OmJlZm9yZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMC42MjVyZW0pO1xufVxuXG4uaGFtYnVyZ2VyOjphZnRlciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwLjYyNXJlbSk7XG59XG5cbi5pcy12aXNpYmxlIC5oYW1idXJnZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgdHJhbnNpdGlvbjogLjM1cztcbn1cblxuLmlzLXZpc2libGUgLmhhbWJ1cmdlcjo6YmVmb3JlIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xufVxuXG4uaXMtdmlzaWJsZSAuaGFtYnVyZ2VyOjphZnRlciB7XG4gIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG59XG5cbmJ1dHRvbi5vZmYtY2FudmFzLW9wZW4ubWwtYXV0by5pcy12aXNpYmxlIHNwYW4uaGFtYnVyZ2VyOmJlZm9yZSxcbmJ1dHRvbi5vZmYtY2FudmFzLW9wZW4ubWwtYXV0by5pcy12aXNpYmxlIHNwYW4uaGFtYnVyZ2VyOmFmdGVyIHtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbn1cblxuLm9mZi1jYW52YXMtY29udGFpbmVyIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiBhdXRvO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCA5MywgMTcxLCAwLjk3KTtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNXMgZWFzZS1pbi1vdXQ7XG4gIHotaW5kZXg6IDk5OTg7XG59XG5cbi5vZmYtY2FudmFzLWNvbnRhaW5lci5pcy12aXNpYmxlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xufVxuXG4uYWRtaW4tYmFyIC5vZmYtY2FudmFzLWNvbnRhaW5lciB7XG4gIHBhZGRpbmctdG9wOiAyLjg3NXJlbTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzgzcHgpIHtcbiAgLmFkbWluLWJhciAub2ZmLWNhbnZhcy1jb250YWluZXIge1xuICAgIHBhZGRpbmctdG9wOiAycmVtO1xuICB9XG59XG5cbi5vZmYtY2FudmFzLWNvbnRhaW5lciB1bC5jaGlsZHJlbiB7XG4gIHBhZGRpbmctbGVmdDogMTVweDtcbn1cblxuLm9mZi1jYW52YXMtb3BlbiB7XG4gIGhlaWdodDogNDBweDtcbiAgd2lkdGg6IDYwcHg7XG4gIHBhZGRpbmc6IDAgMTBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3JkZXI6IG5vbmU7XG4gIG1hcmdpbi10b3A6IDE1cHg7XG4gIHotaW5kZXg6IDk5OTk7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gIC5vZmYtY2FudmFzLW9wZW4ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLm9mZi1jYW52YXMtb3Blbjpmb2N1cywgLm9mZi1jYW52YXMtb3Blbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBvdXRsaW5lOiBub25lO1xufVxuXG4ub2ZmLWNhbnZhcy1jbG9zZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwLjYyNXJlbTtcbiAgcmlnaHQ6IDAuNjI1cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZzogMC43NXJlbSAwLjMxMjVyZW07XG4gIHotaW5kZXg6IDk5OTk7XG4gIGJvcmRlcjogMDtcbn1cblxuLm9mZi1jYW52YXMtY2xvc2U6Zm9jdXMsIC5vZmYtY2FudmFzLWNsb3NlOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIG91dGxpbmU6IG5vbmU7XG59XG5cbi5hZG1pbi1iYXIgLm9mZi1jYW52YXMtY2xvc2Uge1xuICB0b3A6IDMuNzVyZW07XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc4M3B4KSB7XG4gIC5hZG1pbi1iYXIgLm9mZi1jYW52YXMtY2xvc2Uge1xuICAgIHRvcDogMi44NzVyZW07XG4gIH1cbn1cblxuLmlzLXZpc2libGUgLm9mZi1jYW52YXMtY2xvc2Uge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi5vZmYtY2FudmFzLXNjcmVlbiB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICBiYWNrZ3JvdW5kOiAjMDAwO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXMgZWFzZTtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB6LWluZGV4OiA5OTk2O1xufVxuXG4ub2ZmLWNhbnZhcy1zY3JlZW4uaXMtdmlzaWJsZSB7XG4gIG9wYWNpdHk6IDAuNDtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbn1cblxuLm9mZi1jYW52YXMtY29udGVudCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5pcy12aXNpYmxlIC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLnNpdGUtbWFpbiAuY29tbWVudC1uYXZpZ2F0aW9uLCAuc2l0ZS1tYWluXG4ucG9zdHMtbmF2aWdhdGlvbiwgLnNpdGUtbWFpblxuLnBvc3QtbmF2aWdhdGlvbiB7XG4gIG1hcmdpbjogMCAwIDEuNXJlbSAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uY29tbWVudC1uYXZpZ2F0aW9uIC5uYXYtcHJldmlvdXMsXG4ucG9zdHMtbmF2aWdhdGlvbiAubmF2LXByZXZpb3VzLFxuLnBvc3QtbmF2aWdhdGlvbiAubmF2LXByZXZpb3VzIHtcbiAgaGVpZ2h0OiBhdXRvO1xuICB3aWR0aDogNTAlO1xuICBmbG9hdDogbGVmdDtcbn1cblxuLmNvbW1lbnQtbmF2aWdhdGlvbiAubmF2LW5leHQsXG4ucG9zdHMtbmF2aWdhdGlvbiAubmF2LW5leHQsXG4ucG9zdC1uYXZpZ2F0aW9uIC5uYXYtbmV4dCB7XG4gIGhlaWdodDogYXV0bztcbiAgd2lkdGg6IDUwJTtcbiAgZmxvYXQ6IHJpZ2h0O1xuICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxudGFibGUge1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIGJvcmRlci1zcGFjaW5nOiAwO1xuICBwYWRkaW5nOiAwO1xuICB3aWR0aDogMTAwJTtcbn1cblxudGFibGUgdGhlYWQge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzMDBweCkge1xuICB0YWJsZSB0aGVhZCB7XG4gICAgZGlzcGxheTogdGFibGUtcm93LWdyb3VwO1xuICB9XG59XG5cbnRhYmxlIHRoLFxudGFibGUgdGQge1xuICBwYWRkaW5nOiAwLjYyNXJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzMDBweCkge1xuICB0YWJsZSB0aCxcbiAgdGFibGUgdGQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gIH1cbn1cblxudGFibGUgdGgge1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBsZXR0ZXItc3BhY2luZzogMC4wNjI1cmVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzMDBweCkge1xuICB0YWJsZSB0aCB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgfVxufVxuXG50YWJsZSB0ciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzAwcHgpIHtcbiAgdGFibGUgdHIge1xuICAgIGRpc3BsYXk6IHRhYmxlLXJvdztcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbnRhYmxlIHRkIHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcbiAgYm9yZGVyLWJvdHRvbTogMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDMwMHB4KSB7XG4gIHRhYmxlIHRkIHtcbiAgICBib3JkZXItYm90dG9tOiAwO1xuICB9XG59XG5cbnRhYmxlIHRkOmxhc3QtY2hpbGQge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NjYztcbn1cblxudGFibGUgdGQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICcnO1xuICBmbG9hdDogbGVmdDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDMwMHB4KSB7XG4gIHRhYmxlIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuICB9XG59XG5cbi53cC1ibG9jay1idXR0b24gLndwLWJsb2NrLWJ1dHRvbl9fbGluayB7XG4gIGJhY2tncm91bmQ6ICMzMzM7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG5cbi53cC1ibG9jay1idXR0b24gLndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzIHtcbiAgb3BhY2l0eTogMC44O1xufVxuXG4ud3AtYmxvY2stZ2FsbGVyeSB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbn1cblxuLndwLWJsb2NrLXB1bGxxdW90ZSB7XG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjY2NjO1xuICBib3JkZXItdG9wOiAycHggc29saWQgI2NjYztcbn1cblxuLndwLWJsb2NrLXNlcGFyYXRvciB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2NjO1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi53cC1ibG9jay1xdW90ZSBjaXRlIHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4ud3AtYmxvY2stdGFibGUge1xuICBkaXNwbGF5OiB0YWJsZTtcbn1cblxuLndwLWJsb2NrLXZpZGVvIHtcbiAgaGVpZ2h0OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nLWJvdHRvbTogNTYuMjUlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi53cC1ibG9jay12aWRlbyB2aWRlbyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4ud3AtYmxvY2std2RzLWhlcm8ge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5pbmZpbml0ZS1zY3JvbGwgLnBvc3RzLW5hdmlnYXRpb24sXG4uaW5maW5pdGUtc2Nyb2xsLm5ldmVyZW5kaW5nIC5zaXRlLWZvb3RlciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5pbmZpbml0eS1lbmQubmV2ZXJlbmRpbmcgLnNpdGUtZm9vdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5nZm9ybV93cmFwcGVyIHtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgYm9yZGVyOiAwIHNvbGlkICNmZmY7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi5nZm9ybV93cmFwcGVyLmdmb3JtX2JvZHkgLmdmb3JtX2ZpZWxkcyAuZ2ZpZWxkLFxuLmdmb3JtX3dyYXBwZXIuZ2Zvcm1fYm9keSAuZ2Zvcm1fZmllbGRzIC5nZmllbGQuZ2ZfbGVmdF9oYWxmLFxuLmdmb3JtX3dyYXBwZXIuZ2Zvcm1fYm9keSAuZ2Zvcm1fZmllbGRzIC5nZmllbGQuZ2ZfcmlnaHRfaGFsZiB7XG4gIG1hcmdpbi1ib3R0b206IDEuNTYyNXJlbTtcbn1cblxuLmdmb3JtX3dyYXBwZXIgLmdmaWVsZF9sYWJlbCB7XG4gIGNvbG9yOiAjMzMzO1xuICBmb250LXNpemU6IDFyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG5cbi5nZm9ybV93cmFwcGVyIGlucHV0W3R5cGU9J3RleHQnXSxcbi5nZm9ybV93cmFwcGVyIGlucHV0W3R5cGU9J3VybCddLFxuLmdmb3JtX3dyYXBwZXIgaW5wdXRbdHlwZT0nZW1haWwnXSxcbi5nZm9ybV93cmFwcGVyIGlucHV0W3R5cGU9J3RlbCddLFxuLmdmb3JtX3dyYXBwZXIgaW5wdXRbdHlwZT0nbnVtYmVyJ10sXG4uZ2Zvcm1fd3JhcHBlciBpbnB1dFt0eXBlPSdwYXNzd29yZCddLFxuLmdmb3JtX3dyYXBwZXIgaW5wdXRbdHlwZT0nZmlsZSddLFxuLmdmb3JtX3dyYXBwZXIgdGV4dGFyZWEge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xufVxuXG4uZ2Zvcm1fd3JhcHBlciB0ZXh0YXJlYSB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uZ2Zvcm1fd3JhcHBlciBzZWxlY3Qge1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBiYWNrZ3JvdW5kOiB1cmwoXCJhc3NldHMvaW1hZ2VzL3N2Zy1pY29ucy9jYXJldC1kb3duLnN2Z1wiKSBuby1yZXBlYXQgOTclIHRyYW5zcGFyZW50O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLXNpemU6IDAuNzVyZW07XG4gIGJvcmRlci1jb2xvcjogI2NjYztcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgbGluZS1oZWlnaHQ6IDEuNDU7XG4gIHBhZGRpbmc6IDAuMzc1cmVtICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2MDBweCkge1xuICAuZ2Zvcm1fd3JhcHBlciBzZWxlY3Qge1xuICAgIHdpZHRoOiA0OSU7XG4gIH1cbn1cblxuLmdmb3JtX3dyYXBwZXIgc2VsZWN0OjotbXMtZXhwYW5kIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLmdmb3JtX3dyYXBwZXIgc2VsZWN0W211bHRpcGxlPSdtdWx0aXBsZSddIHtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbn1cblxuLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2JvZHkgLmdmb3JtX2ZpZWxkcyAuZ2ZpZWxkIHNlbGVjdCxcbi5nZm9ybV93cmFwcGVyLmdmX2Jyb3dzZXJfY2hyb21lIC5nZm9ybV9ib2R5IC5nZm9ybV9maWVsZHMgLmdmaWVsZCBzZWxlY3Qge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjAwcHgpIHtcbiAgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2JvZHkgLmdmb3JtX2ZpZWxkcyAuZ2ZpZWxkIHNlbGVjdCxcbiAgLmdmb3JtX3dyYXBwZXIuZ2ZfYnJvd3Nlcl9jaHJvbWUgLmdmb3JtX2JvZHkgLmdmb3JtX2ZpZWxkcyAuZ2ZpZWxkIHNlbGVjdCB7XG4gICAgd2lkdGg6IDQ5JSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5nZm9ybV93cmFwcGVyIC5nZmllbGQgLmNob3Nlbi1jb250YWluZXItc2luZ2xlIHtcbiAgZm9udC1zaXplOiAxcmVtO1xufVxuXG4uZ2Zvcm1fd3JhcHBlciAuZ2ZpZWxkIC5jaG9zZW4tY29udGFpbmVyLXNpbmdsZSAuY2hvc2VuLXNpbmdsZSB7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGJvcmRlci1jb2xvcjogI2NjYztcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgaGVpZ2h0OiBhdXRvO1xuICBwYWRkaW5nOiAwLjM3NXJlbTtcbn1cblxuLmdmb3JtX3dyYXBwZXIgLmdmaWVsZCAuY2hvc2VuLWNvbnRhaW5lci1zaW5nbGUgLmNob3Nlbi1zaW5nbGUgZGl2IGIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNDAlO1xuICByaWdodDogMC42ODc1cmVtO1xuICBoZWlnaHQ6IDA7XG4gIHdpZHRoOiAwO1xuICBib3JkZXItbGVmdDogNnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmlnaHQ6IDZweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXRvcDogNnB4IHNvbGlkICNjY2M7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG59XG5cbi5nZm9ybV93cmFwcGVyIC5nZmllbGQgLmNob3Nlbi1jb250YWluZXItc2luZ2xlIC5jaG9zZW4tZHJvcCAuY2hvc2VuLXNlYXJjaCBpbnB1dFt0eXBlPSd0ZXh0J10ge1xuICBiYWNrZ3JvdW5kOiBub25lO1xufVxuXG4uZ2Zvcm1fd3JhcHBlciAuZ2ZpZWxkIC5jaG9zZW4tY29udGFpbmVyLXNpbmdsZSAuY2hvc2VuLWRyb3AgLmNob3Nlbi1yZXN1bHRzIGxpIHtcbiAgcGFkZGluZzogMC42MjVyZW0gMC4zMTI1cmVtO1xufVxuXG4uZ2Zvcm1fd3JhcHBlciAuZ2ZpZWxkIC5jaG9zZW4tY29udGFpbmVyLXNpbmdsZS5jaG9zZW4tY29udGFpbmVyLXNpbmdsZS5jaG9zZW4td2l0aC1kcm9wIC5jaG9zZW4tc2luZ2xlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbn1cblxuLmdmb3JtX3dyYXBwZXIgLmdmaWVsZCAuY2hvc2VuLWNvbnRhaW5lci1zaW5nbGUuY2hvc2VuLWNvbnRhaW5lci1zaW5nbGUuY2hvc2VuLXdpdGgtZHJvcCAuY2hvc2VuLXNpbmdsZSBkaXYgYiB7XG4gIGhlaWdodDogMDtcbiAgd2lkdGg6IDA7XG4gIGJvcmRlci1ib3R0b206IDZweCBzb2xpZCAjY2NjO1xuICBib3JkZXItbGVmdDogNnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmlnaHQ6IDZweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiBub25lO1xufVxuXG4jY29udGVudCAuZ2Zvcm1fd3JhcHBlciB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG4jY29udGVudCAuZ2Zvcm1fd3JhcHBlciBpbnB1dFt0eXBlPSd0ZXh0J10sXG4jY29udGVudCAuZ2Zvcm1fd3JhcHBlciBpbnB1dFt0eXBlPSd1cmwnXSxcbiNjb250ZW50IC5nZm9ybV93cmFwcGVyIGlucHV0W3R5cGU9J2VtYWlsJ10sXG4jY29udGVudCAuZ2Zvcm1fd3JhcHBlciBpbnB1dFt0eXBlPSd0ZWwnXSxcbiNjb250ZW50IC5nZm9ybV93cmFwcGVyIGlucHV0W3R5cGU9J251bWJlciddLFxuI2NvbnRlbnQgLmdmb3JtX3dyYXBwZXIgaW5wdXRbdHlwZT0ncGFzc3dvcmQnXSxcbiNjb250ZW50IC5nZm9ybV93cmFwcGVyIGlucHV0W3R5cGU9J2ZpbGUnXSxcbiNjb250ZW50IC5nZm9ybV93cmFwcGVyIHRleHRhcmVhIHtcbiAgcGFkZGluZzogMC4zNzVyZW07XG4gIHdpZHRoOiAxMDAlO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2MDBweCkge1xuICAjY29udGVudCAuZ2Zvcm1fd3JhcHBlciBpbnB1dFt0eXBlPSd0ZXh0J10sXG4gICNjb250ZW50IC5nZm9ybV93cmFwcGVyIGlucHV0W3R5cGU9J3VybCddLFxuICAjY29udGVudCAuZ2Zvcm1fd3JhcHBlciBpbnB1dFt0eXBlPSdlbWFpbCddLFxuICAjY29udGVudCAuZ2Zvcm1fd3JhcHBlciBpbnB1dFt0eXBlPSd0ZWwnXSxcbiAgI2NvbnRlbnQgLmdmb3JtX3dyYXBwZXIgaW5wdXRbdHlwZT0nbnVtYmVyJ10sXG4gICNjb250ZW50IC5nZm9ybV93cmFwcGVyIGlucHV0W3R5cGU9J3Bhc3N3b3JkJ10sXG4gICNjb250ZW50IC5nZm9ybV93cmFwcGVyIGlucHV0W3R5cGU9J2ZpbGUnXSxcbiAgI2NvbnRlbnQgLmdmb3JtX3dyYXBwZXIgdGV4dGFyZWEge1xuICAgIHdpZHRoOiA0OSU7XG4gIH1cbn1cblxuI2NvbnRlbnQgLmdmb3JtX3dyYXBwZXIgLmNob3Nlbi1zZWFyY2ggaW5wdXRbdHlwZT0ndGV4dCddLFxuI2NvbnRlbnQgLmdmb3JtX3dyYXBwZXIgdGV4dGFyZWEge1xuICB3aWR0aDogMTAwJTtcbn1cblxuI2NvbnRlbnQgLmdmb3JtX3dyYXBwZXIgLmdmX2xlZnRfaGFsZixcbiNjb250ZW50IC5nZm9ybV93cmFwcGVyIC5nZl9yaWdodF9oYWxmIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDYwMHB4KSB7XG4gICNjb250ZW50IC5nZm9ybV93cmFwcGVyIC5nZl9sZWZ0X2hhbGYgaW5wdXRbdHlwZT0ndGV4dCddLFxuICAjY29udGVudCAuZ2Zvcm1fd3JhcHBlciAuZ2ZfbGVmdF9oYWxmIGlucHV0W3R5cGU9J3VybCddLFxuICAjY29udGVudCAuZ2Zvcm1fd3JhcHBlciAuZ2ZfbGVmdF9oYWxmIGlucHV0W3R5cGU9J2VtYWlsJ10sXG4gICNjb250ZW50IC5nZm9ybV93cmFwcGVyIC5nZl9sZWZ0X2hhbGYgaW5wdXRbdHlwZT0ndGVsJ10sXG4gICNjb250ZW50IC5nZm9ybV93cmFwcGVyIC5nZl9sZWZ0X2hhbGYgaW5wdXRbdHlwZT0nbnVtYmVyJ10sXG4gICNjb250ZW50IC5nZm9ybV93cmFwcGVyIC5nZl9sZWZ0X2hhbGYgaW5wdXRbdHlwZT0ncGFzc3dvcmQnXSxcbiAgI2NvbnRlbnQgLmdmb3JtX3dyYXBwZXIgLmdmX2xlZnRfaGFsZiBpbnB1dFt0eXBlPSdmaWxlJ10sXG4gICNjb250ZW50IC5nZm9ybV93cmFwcGVyIC5nZl9yaWdodF9oYWxmIGlucHV0W3R5cGU9J3RleHQnXSxcbiAgI2NvbnRlbnQgLmdmb3JtX3dyYXBwZXIgLmdmX3JpZ2h0X2hhbGYgaW5wdXRbdHlwZT0ndXJsJ10sXG4gICNjb250ZW50IC5nZm9ybV93cmFwcGVyIC5nZl9yaWdodF9oYWxmIGlucHV0W3R5cGU9J2VtYWlsJ10sXG4gICNjb250ZW50IC5nZm9ybV93cmFwcGVyIC5nZl9yaWdodF9oYWxmIGlucHV0W3R5cGU9J3RlbCddLFxuICAjY29udGVudCAuZ2Zvcm1fd3JhcHBlciAuZ2ZfcmlnaHRfaGFsZiBpbnB1dFt0eXBlPSdudW1iZXInXSxcbiAgI2NvbnRlbnQgLmdmb3JtX3dyYXBwZXIgLmdmX3JpZ2h0X2hhbGYgaW5wdXRbdHlwZT0ncGFzc3dvcmQnXSxcbiAgI2NvbnRlbnQgLmdmb3JtX3dyYXBwZXIgLmdmX3JpZ2h0X2hhbGYgaW5wdXRbdHlwZT0nZmlsZSddIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2MDBweCkge1xuICAjY29udGVudCAuZ2Zvcm1fd3JhcHBlciAuZ2ZfbGVmdF9oYWxmLFxuICAjY29udGVudCAuZ2Zvcm1fd3JhcHBlciAuZ2ZfcmlnaHRfaGFsZiB7XG4gICAgd2lkdGg6IDQ5JTtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2MDBweCkge1xuICAjY29udGVudCAuZ2Zvcm1fd3JhcHBlciAuZ2ZfbGVmdF9oYWxmIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDIlO1xuICB9XG59XG5cbiNjb250ZW50IC5nZm9ybV93cmFwcGVyIC5naW5wdXRfY29tcGxleCAubmFtZV9maXJzdCBpbnB1dFt0eXBlPSd0ZXh0J10sXG4jY29udGVudCAuZ2Zvcm1fd3JhcHBlciAuZ2lucHV0X2NvbXBsZXggLm5hbWVfbGFzdCBpbnB1dFt0eXBlPSd0ZXh0J10ge1xuICB3aWR0aDogMTAwJTtcbn1cblxuLndpZGdldCB7XG4gIG1hcmdpbjogMCAwIDEuNXJlbTtcbn1cblxuLndpZGdldCBzZWxlY3Qge1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi53aWRnZXRfc2VhcmNoIC5zZWFyY2gtc3VibWl0IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbiIsIi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEZpZnR5IEZpZnR5IEJsb2Nrc1xuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLmZpZnR5LWZpZnR5IHtcblxuXHQuY2VsbCB7XG5cdFx0QGluY2x1ZGUgbWVkaWEoJHRhYmxldC1wb3J0cmFpdCkge1xuXHRcdFx0QGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDYpO1xuXHRcdH1cblx0fVxuXG59IC8vIC5maWZ0eS1maWZ0eVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gU3BlY2lmaWVzIHRoZSBudW1iZXIgb2YgY29sdW1ucyBhbiBlbGVtZW50IHNob3VsZCBzcGFuLiBJZiB0aGUgc2VsZWN0b3IgaXMgbmVzdGVkIHRoZSBudW1iZXIgb2YgY29sdW1ucyBvZiBpdHMgcGFyZW50IGVsZW1lbnQgc2hvdWxkIGJlIHBhc3NlZCBhcyBhbiBhcmd1bWVudCBhcyB3ZWxsLlxuLy8vXG4vLy8gQHBhcmFtIHtMaXN0fSAkc3BhblxuLy8vICAgQSBsaXN0IGNvbnRhaW5pbmcgYCRjb2x1bW5zYCwgdGhlIHVuaXRsZXNzIG51bWJlciBvZiBjb2x1bW5zIHRoZSBlbGVtZW50IHNwYW5zIChyZXF1aXJlZCksIGFuZCBgJGNvbnRhaW5lci1jb2x1bW5zYCwgdGhlIG51bWJlciBvZiBjb2x1bW5zIHRoZSBwYXJlbnQgZWxlbWVudCBzcGFucyAob3B0aW9uYWwpLlxuLy8vXG4vLy8gICBJZiBvbmx5IG9uZSB2YWx1ZSBpcyBwYXNzZWQsIGl0IGlzIGFzc3VtZWQgdGhhdCBpdCdzIGAkY29sdW1uc2AgYW5kIHRoYXQgdGhhdCBgJGNvbnRhaW5lci1jb2x1bW5zYCBpcyBlcXVhbCB0byBgJGdyaWQtY29sdW1uc2AsIHRoZSB0b3RhbCBudW1iZXIgb2YgY29sdW1ucyBpbiB0aGUgZ3JpZC5cbi8vL1xuLy8vICAgVGhlIHZhbHVlcyBjYW4gYmUgc2VwYXJhdGVkIHdpdGggYW55IHN0cmluZyBzdWNoIGFzIGBvZmAsIGAvYCwgZXRjLlxuLy8vXG4vLy8gICBgJGNvbHVtbnNgIGFsc28gYWNjZXB0cyBkZWNpbWFscyBmb3Igd2hlbiBpdCdzIG5lY2Vzc2FyeSB0byBicmVhayBvdXQgb2YgdGhlIHN0YW5kYXJkIGdyaWQuIEUuZy4gUGFzc2luZyBgMi40YCBpbiBhIHN0YW5kYXJkIDEyIGNvbHVtbiBncmlkIHdpbGwgZGl2aWRlIHRoZSByb3cgaW50byA1IGNvbHVtbnMuXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGRpc3BsYXkgW2Jsb2NrXVxuLy8vICAgU2V0cyB0aGUgZGlzcGxheSBwcm9wZXJ0eSBvZiB0aGUgZWxlbWVudC4gQnkgZGVmYXVsdCBpdCBzZXRzIHRoZSBkaXNwbGF5IHByb3BlcnR5IG9mIHRoZSBlbGVtZW50IHRvIGBibG9ja2AuXG4vLy9cbi8vLyAgIElmIHBhc3NlZCBgYmxvY2stY29sbGFwc2VgLCBpdCBhbHNvIHJlbW92ZXMgdGhlIG1hcmdpbiBndXR0ZXIgYnkgYWRkaW5nIGl0IHRvIHRoZSBlbGVtZW50IHdpZHRoLlxuLy8vXG4vLy8gICBJZiBwYXNzZWQgYHRhYmxlYCwgaXQgc2V0cyB0aGUgZGlzcGxheSBwcm9wZXJ0eSB0byBgdGFibGUtY2VsbGAgYW5kIGNhbGN1bGF0ZXMgdGhlIHdpZHRoIG9mIHRoZSBlbGVtZW50IHdpdGhvdXQgdGFraW5nIGd1dHRlcnMgaW50byBjb25zaWRlcmF0aW9uLiBUaGUgcmVzdWx0IGRvZXMgbm90IGFsaWduIHdpdGggdGhlIGJsb2NrLWJhc2VkIGdyaWQuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDYpO1xuLy8vXG4vLy8gICAgLm5lc3RlZC1lbGVtZW50IHtcbi8vLyAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucygyIG9mIDYpO1xuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBkaXNwbGF5OiBibG9jaztcbi8vLyAgICAgZmxvYXQ6IGxlZnQ7XG4vLy8gICAgIG1hcmdpbi1yaWdodDogMi4zNTc2NSU7XG4vLy8gICAgIHdpZHRoOiA0OC44MjExNyU7XG4vLy8gICB9XG4vLy9cbi8vLyAgIC5lbGVtZW50Omxhc3QtY2hpbGQge1xuLy8vICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4vLy8gICB9XG4vLy9cbi8vLyAgIC5lbGVtZW50IC5uZXN0ZWQtZWxlbWVudCB7XG4vLy8gICAgIGRpc3BsYXk6IGJsb2NrO1xuLy8vICAgICBmbG9hdDogbGVmdDtcbi8vLyAgICAgbWFyZ2luLXJpZ2h0OiA0LjgyOTE2JTtcbi8vLyAgICAgd2lkdGg6IDMwLjExMzg5JTtcbi8vLyAgIH1cbi8vL1xuLy8vICAgLmVsZW1lbnQgLm5lc3RlZC1lbGVtZW50Omxhc3QtY2hpbGQge1xuLy8vICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4vLy8gICB9XG5cbkBtaXhpbiBzcGFuLWNvbHVtbnMoJHNwYW46ICRjb2x1bW5zIG9mICRjb250YWluZXItY29sdW1ucywgJGRpc3BsYXk6IGJsb2NrKSB7XG4gICRjb2x1bW5zOiBudGgoJHNwYW4sIDEpO1xuICAkY29udGFpbmVyLWNvbHVtbnM6IGNvbnRhaW5lci1zcGFuKCRzcGFuKTtcblxuICAkcGFyZW50LWNvbHVtbnM6IGdldC1wYXJlbnQtY29sdW1ucygkY29udGFpbmVyLWNvbHVtbnMpICFnbG9iYWw7XG5cbiAgJGRpcmVjdGlvbjogZ2V0LWRpcmVjdGlvbigkbGF5b3V0LWRpcmVjdGlvbiwgJGRlZmF1bHQtbGF5b3V0LWRpcmVjdGlvbik7XG4gICRvcHBvc2l0ZS1kaXJlY3Rpb246IGdldC1vcHBvc2l0ZS1kaXJlY3Rpb24oJGRpcmVjdGlvbik7XG5cbiAgJGRpc3BsYXktdGFibGU6IGlzLWRpc3BsYXktdGFibGUoJGNvbnRhaW5lci1kaXNwbGF5LXRhYmxlLCAkZGlzcGxheSk7XG5cbiAgQGlmICRkaXNwbGF5LXRhYmxlICB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICB3aWR0aDogcGVyY2VudGFnZSgkY29sdW1ucyAvICRjb250YWluZXItY29sdW1ucyk7XG4gIH0gQGVsc2Uge1xuICAgIGZsb2F0OiAjeyRvcHBvc2l0ZS1kaXJlY3Rpb259O1xuXG4gICAgQGlmICRkaXNwbGF5ICE9IG5vLWRpc3BsYXkge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgQGlmICRkaXNwbGF5ID09IGNvbGxhcHNlIHtcbiAgICAgIEBpbmNsdWRlIC1uZWF0LXdhcm4oXCJUaGUgJ2NvbGxhcHNlJyBhcmd1bWVudCB3aWxsIGJlIGRlcHJlY2F0ZWQuIFVzZSAnYmxvY2stY29sbGFwc2UnIGluc3RlYWQuXCIpO1xuICAgIH1cblxuICAgIEBpZiAkZGlzcGxheSA9PSBjb2xsYXBzZSBvciAkZGlzcGxheSA9PSBibG9jay1jb2xsYXBzZSB7XG4gICAgICB3aWR0aDogZmxleC1ncmlkKCRjb2x1bW5zLCAkY29udGFpbmVyLWNvbHVtbnMpICsgZmxleC1ndXR0ZXIoJGNvbnRhaW5lci1jb2x1bW5zKTtcblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgd2lkdGg6IGZsZXgtZ3JpZCgkY29sdW1ucywgJGNvbnRhaW5lci1jb2x1bW5zKTtcbiAgICAgIH1cblxuICAgIH0gQGVsc2Uge1xuICAgICAgbWFyZ2luLSN7JGRpcmVjdGlvbn06IGZsZXgtZ3V0dGVyKCRjb250YWluZXItY29sdW1ucyk7XG4gICAgICB3aWR0aDogZmxleC1ncmlkKCRjb2x1bW5zLCAkY29udGFpbmVyLWNvbHVtbnMpO1xuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tI3skZGlyZWN0aW9ufTogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIiRwYXJlbnQtY29sdW1uczogJGdyaWQtY29sdW1ucyAhZGVmYXVsdDtcbiRmZy1jb2x1bW46ICRjb2x1bW47XG4kZmctZ3V0dGVyOiAkZ3V0dGVyO1xuJGZnLW1heC1jb2x1bW5zOiAkZ3JpZC1jb2x1bW5zO1xuJGNvbnRhaW5lci1kaXNwbGF5LXRhYmxlOiBmYWxzZSAhZGVmYXVsdDtcbiRsYXlvdXQtZGlyZWN0aW9uOiBMVFIgIWRlZmF1bHQ7XG5cbkBmdW5jdGlvbiBmbGV4LWdyaWQoJGNvbHVtbnMsICRjb250YWluZXItY29sdW1uczogJGZnLW1heC1jb2x1bW5zKSB7XG4gICR3aWR0aDogZmxleC13aWR0aCgkY29sdW1ucyk7XG4gICRjb250YWluZXItd2lkdGg6IGZsZXgtd2lkdGgoJGNvbnRhaW5lci1jb2x1bW5zKTtcbiAgQHJldHVybiBwZXJjZW50YWdlKCR3aWR0aCAvICRjb250YWluZXItd2lkdGgpO1xufVxuXG5AZnVuY3Rpb24gZmxleC1ndXR0ZXIoJGNvbnRhaW5lci1jb2x1bW5zOiAkZmctbWF4LWNvbHVtbnMsICRndXR0ZXI6ICRmZy1ndXR0ZXIpIHtcbiAgJGNvbnRhaW5lci13aWR0aDogZmxleC13aWR0aCgkY29udGFpbmVyLWNvbHVtbnMpO1xuICBAcmV0dXJuIHBlcmNlbnRhZ2UoJGd1dHRlciAvICRjb250YWluZXItd2lkdGgpO1xufVxuXG5AZnVuY3Rpb24gZmxleC13aWR0aCgkbiwgJGNvbHVtbi13aWR0aDogJGZnLWNvbHVtbiwgJGd1dHRlci13aWR0aDogJGZnLWd1dHRlcikge1xuICBAcmV0dXJuICRuICogJGNvbHVtbi13aWR0aCArICgkbiAtIDEpICogJGd1dHRlci13aWR0aDtcbn1cblxuQGZ1bmN0aW9uIGdldC1wYXJlbnQtY29sdW1ucygkY29sdW1ucykge1xuICBAaWYgJGNvbHVtbnMgIT0gJGdyaWQtY29sdW1ucyB7XG4gICAgJHBhcmVudC1jb2x1bW5zOiAkY29sdW1ucyAhZ2xvYmFsO1xuICB9IEBlbHNlIHtcbiAgICAkcGFyZW50LWNvbHVtbnM6ICRncmlkLWNvbHVtbnMgIWdsb2JhbDtcbiAgfVxuXG4gIEByZXR1cm4gJHBhcmVudC1jb2x1bW5zO1xufVxuXG5AZnVuY3Rpb24gaXMtZGlzcGxheS10YWJsZSgkY29udGFpbmVyLWlzLWRpc3BsYXktdGFibGUsICRkaXNwbGF5KSB7XG4gIEByZXR1cm4gJGNvbnRhaW5lci1pcy1kaXNwbGF5LXRhYmxlID09IHRydWUgb3IgJGRpc3BsYXkgPT0gdGFibGU7XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBSZW1vdmVzIHRoZSBlbGVtZW50J3MgZ3V0dGVyIG1hcmdpbiwgcmVnYXJkbGVzcyBvZiBpdHMgcG9zaXRpb24gaW4gdGhlIGdyaWQgaGllcmFyY2h5IG9yIGRpc3BsYXkgcHJvcGVydHkuIEl0IGNhbiB0YXJnZXQgYSBzcGVjaWZpYyBlbGVtZW50LCBvciBldmVyeSBgbnRoLWNoaWxkYCBvY2N1cnJlbmNlLiBXb3JrcyBvbmx5IHdpdGggYGJsb2NrYCBsYXlvdXRzLlxuLy8vXG4vLy8gQHBhcmFtIHtMaXN0fSAkcXVlcnkgW2Jsb2NrXVxuLy8vICAgTGlzdCBvZiBhcmd1bWVudHMuIFN1cHBvcnRlZCBhcmd1bWVudHMgYXJlIGBudGgtY2hpbGRgIHNlbGVjdG9ycyAodGFyZ2V0cyBhIHNwZWNpZmljIHBzZXVkbyBlbGVtZW50KSBhbmQgYGF1dG9gICh0YXJnZXRzIGBsYXN0LWNoaWxkYCkuXG4vLy9cbi8vLyAgIFdoZW4gcGFzc2VkIGFuIGBudGgtY2hpbGRgIGFyZ3VtZW50IG9mIHR5cGUgYCpuYCB3aXRoIGBibG9ja2AgZGlzcGxheSwgdGhlIG9tZWdhIG1peGluIGF1dG9tYXRpY2FsbHkgYWRkcyBhIGNsZWFyIHRvIHRoZSBgKm4rMWAgdGggZWxlbWVudC4gTm90ZSB0aGF0IGNvbXBvc2l0ZSBhcmd1bWVudHMgc3VjaCBhcyBgMm4rMWAgZG8gbm90IHN1cHBvcnQgdGhpcyBmZWF0dXJlLlxuLy8vXG4vLy8gICAqKkRlcHJlY2F0aW9uIHdhcm5pbmcqKjogVGhlIG9tZWdhIG1peGluIHdpbGwgbm8gbG9uZ2VyIHRha2UgYSBgJGRpcmVjdGlvbmAgYXJndW1lbnQuIFRvIGNoYW5nZSB0aGUgbGF5b3V0IGRpcmVjdGlvbiwgdXNlIGByb3coJGRpcmVjdGlvbilgIG9yIHNldCBgJGRlZmF1bHQtbGF5b3V0LWRpcmVjdGlvbmAgaW5zdGVhZC5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBvbWVnYTtcbi8vLyAgIH1cbi8vL1xuLy8vICAgLm50aC1lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgb21lZ2EoNG4pO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4vLy8gICB9XG4vLy9cbi8vLyAgIC5udGgtZWxlbWVudDpudGgtY2hpbGQoNG4pIHtcbi8vLyAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuLy8vICAgfVxuLy8vXG4vLy8gICAubnRoLWVsZW1lbnQ6bnRoLWNoaWxkKDRuKzEpIHtcbi8vLyAgICAgY2xlYXI6IGxlZnQ7XG4vLy8gICB9XG5cbkBtaXhpbiBvbWVnYSgkcXVlcnk6IGJsb2NrLCAkZGlyZWN0aW9uOiBkZWZhdWx0KSB7XG4gICR0YWJsZTogYmVsb25ncy10byh0YWJsZSwgJHF1ZXJ5KTtcbiAgJGF1dG86IGJlbG9uZ3MtdG8oYXV0bywgJHF1ZXJ5KTtcblxuICBAaWYgJGRpcmVjdGlvbiAhPSBkZWZhdWx0IHtcbiAgICBAaW5jbHVkZSAtbmVhdC13YXJuKFwiVGhlIG9tZWdhIG1peGluIHdpbGwgbm8gbG9uZ2VyIHRha2UgYSAkZGlyZWN0aW9uIGFyZ3VtZW50LiBUbyBjaGFuZ2UgdGhlIGxheW91dCBkaXJlY3Rpb24sIHVzZSB0aGUgZGlyZWN0aW9uKCl7Li4ufSBtaXhpbi5cIik7XG4gIH0gQGVsc2Uge1xuICAgICRkaXJlY3Rpb246IGdldC1kaXJlY3Rpb24oJGxheW91dC1kaXJlY3Rpb24sICRkZWZhdWx0LWxheW91dC1kaXJlY3Rpb24pO1xuICB9XG5cbiAgQGlmICR0YWJsZSB7XG4gICAgQGluY2x1ZGUgLW5lYXQtd2FybihcIlRoZSBvbWVnYSBtaXhpbiBubyBsb25nZXIgcmVtb3ZlcyBwYWRkaW5nIGluIHRhYmxlIGxheW91dHMuXCIpO1xuICB9XG5cbiAgQGlmIGxlbmd0aCgkcXVlcnkpID09IDEge1xuICAgIEBpZiAkYXV0byB7XG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tI3skZGlyZWN0aW9ufTogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAZWxzZSBpZiBjb250YWlucy1kaXNwbGF5LXZhbHVlKCRxdWVyeSkgYW5kICR0YWJsZSA9PSBmYWxzZSB7XG4gICAgICBtYXJnaW4tI3skZGlyZWN0aW9ufTogMDtcbiAgICB9XG5cbiAgICBAZWxzZSB7XG4gICAgICBAaW5jbHVkZSBudGgtY2hpbGQoJHF1ZXJ5LCAkZGlyZWN0aW9uKTtcbiAgICB9XG4gIH0gQGVsc2UgaWYgbGVuZ3RoKCRxdWVyeSkgPT0gMiB7XG4gICAgQGlmICRhdXRvIHtcbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi0jeyRkaXJlY3Rpb259OiAwO1xuICAgICAgfVxuICAgIH0gQGVsc2Uge1xuICAgICAgQGluY2x1ZGUgbnRoLWNoaWxkKG50aCgkcXVlcnksIDEpLCAkZGlyZWN0aW9uKTtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBpbmNsdWRlIC1uZWF0LXdhcm4oXCJUb28gbWFueSBhcmd1bWVudHMgcGFzc2VkIHRvIHRoZSBvbWVnYSgpIG1peGluLlwiKTtcbiAgfVxufVxuXG5AbWl4aW4gbnRoLWNoaWxkKCRxdWVyeSwgJGRpcmVjdGlvbikge1xuICAkb3Bwb3NpdGUtZGlyZWN0aW9uOiBnZXQtb3Bwb3NpdGUtZGlyZWN0aW9uKCRkaXJlY3Rpb24pO1xuXG4gICY6bnRoLWNoaWxkKCN7JHF1ZXJ5fSkge1xuICAgIG1hcmdpbi0jeyRkaXJlY3Rpb259OiAwO1xuICB9XG5cbiAgQGlmIHR5cGUtb2YoJHF1ZXJ5KSA9PSBzdHJpbmcge1xuICAgICRxdWVyeTogc3RyLXJlcGxhY2UoJHF1ZXJ5LCBcIiBcIiwgXCJcIik7XG4gICAgJG9wZXJhdG9yOiBmYWxzZTtcblxuICAgIEBpZiBzdHJfaW5kZXgoJHF1ZXJ5LCBcIitcIikge1xuICAgICAgJG9wZXJhdG9yOiBcIitcIjtcbiAgICB9IEBlbHNlIGlmIHN0cl9pbmRleCgkcXVlcnksIFwiLVwiKSB7XG4gICAgICAkb3BlcmF0b3I6IFwiLVwiO1xuICAgIH1cblxuICAgIEBpZiAkb3BlcmF0b3Ige1xuICAgICAgJG9wZXJhdG9yLWluZGV4OiBzdHJfaW5kZXgoJHF1ZXJ5LCAkb3BlcmF0b3IpO1xuICAgICAgJGZpcnN0OiBzdHItc2xpY2UoJHF1ZXJ5LCAwLCAoJG9wZXJhdG9yLWluZGV4IC0gMSkpO1xuICAgICAgJGxhc3Q6IHRvLW51bWJlcihzdHItc2xpY2UoJHF1ZXJ5LCAoJG9wZXJhdG9yLWluZGV4ICsgMSksIC0xKSk7XG4gICAgICBAaWYgJG9wZXJhdG9yID09IFwiK1wiIHtcbiAgICAgICAgJGxhc3Q6ICRsYXN0ICsgMTtcbiAgICAgIH0gQGVsc2UgaWYgJG9wZXJhdG9yID09IFwiLVwiIHtcbiAgICAgICAgJGxhc3Q6ICRsYXN0IC0gMTtcbiAgICAgIH1cbiAgICAgICRudGg6IFwiI3skZmlyc3R9I3skb3BlcmF0b3J9I3skbGFzdH1cIjtcblxuICAgICAgJjpudGgtY2hpbGQoI3skbnRofSkge1xuICAgICAgICBjbGVhcjogJG9wcG9zaXRlLWRpcmVjdGlvbjtcbiAgICAgIH1cbiAgICB9XG4gIH0gQGVsc2UgaWYgdHlwZS1vZigkcXVlcnkpID09IG51bWJlciAmJiB1bml0KCRxdWVyeSkgPT0gXCJuXCIge1xuICAgICY6bnRoLWNoaWxkKCN7JHF1ZXJ5fSsxKSB7XG4gICAgICBjbGVhcjogJG9wcG9zaXRlLWRpcmVjdGlvbjtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIE5vdCBmdW5jdGlvbiBmb3IgTGlic2FzcyBjb21wYXRpYmlsaXR5XG4vLyBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy9saWJzYXNzL2lzc3Vlcy8zNjhcbkBmdW5jdGlvbiBpcy1ub3QoJHZhbHVlKSB7XG4gIEByZXR1cm4gaWYoJHZhbHVlLCBmYWxzZSwgdHJ1ZSk7XG59XG5cbi8vIENoZWNrcyBpZiBhIG51bWJlciBpcyBldmVuXG5AZnVuY3Rpb24gaXMtZXZlbigkaW50KSB7XG4gIEByZXR1cm4gJGludCAlIDIgPT0gMDtcbn1cblxuLy8gQ2hlY2tzIGlmIGFuIGVsZW1lbnQgYmVsb25ncyB0byBhIGxpc3Qgb3Igbm90XG5AZnVuY3Rpb24gYmVsb25ncy10bygkdGVzdGVkLWl0ZW0sICRsaXN0KSB7XG4gIEByZXR1cm4gaXMtbm90KG5vdC1iZWxvbmdzLXRvKCR0ZXN0ZWQtaXRlbSwgJGxpc3QpKTtcbn1cblxuQGZ1bmN0aW9uIG5vdC1iZWxvbmdzLXRvKCR0ZXN0ZWQtaXRlbSwgJGxpc3QpIHtcbiAgQHJldHVybiBpcy1ub3QoaW5kZXgoJGxpc3QsICR0ZXN0ZWQtaXRlbSkpO1xufVxuXG4vLyBDb250YWlucyBkaXNwbGF5IHZhbHVlXG5AZnVuY3Rpb24gY29udGFpbnMtZGlzcGxheS12YWx1ZSgkcXVlcnkpIHtcbiAgQHJldHVybiBiZWxvbmdzLXRvKHRhYmxlLCAkcXVlcnkpXG4gICAgICAgb3IgYmVsb25ncy10byhibG9jaywgJHF1ZXJ5KVxuICAgICAgIG9yIGJlbG9uZ3MtdG8oaW5saW5lLWJsb2NrLCAkcXVlcnkpXG4gICAgICAgb3IgYmVsb25ncy10byhpbmxpbmUsICRxdWVyeSk7XG59XG5cbi8vIFBhcnNlcyB0aGUgZmlyc3QgYXJndW1lbnQgb2Ygc3Bhbi1jb2x1bW5zKClcbkBmdW5jdGlvbiBjb250YWluZXItc3Bhbigkc3BhbjogJHNwYW4pIHtcbiAgQGlmIGxlbmd0aCgkc3BhbikgPT0gMyB7XG4gICAgJGNvbnRhaW5lci1jb2x1bW5zOiBudGgoJHNwYW4sIDMpO1xuICAgIEByZXR1cm4gJGNvbnRhaW5lci1jb2x1bW5zO1xuICB9IEBlbHNlIGlmIGxlbmd0aCgkc3BhbikgPT0gMiB7XG4gICAgJGNvbnRhaW5lci1jb2x1bW5zOiBudGgoJHNwYW4sIDIpO1xuICAgIEByZXR1cm4gJGNvbnRhaW5lci1jb2x1bW5zO1xuICB9XG5cbiAgQHJldHVybiAkZ3JpZC1jb2x1bW5zO1xufVxuXG5AZnVuY3Rpb24gY29udGFpbmVyLXNoaWZ0KCRzaGlmdDogJHNoaWZ0KSB7XG4gICRwYXJlbnQtY29sdW1uczogJGdyaWQtY29sdW1ucyAhZGVmYXVsdCAhZ2xvYmFsO1xuXG4gIEBpZiBsZW5ndGgoJHNoaWZ0KSA9PSAzIHtcbiAgICAkY29udGFpbmVyLWNvbHVtbnM6IG50aCgkc2hpZnQsIDMpO1xuICAgIEByZXR1cm4gJGNvbnRhaW5lci1jb2x1bW5zO1xuICB9IEBlbHNlIGlmIGxlbmd0aCgkc2hpZnQpID09IDIge1xuICAgICRjb250YWluZXItY29sdW1uczogbnRoKCRzaGlmdCwgMik7XG4gICAgQHJldHVybiAkY29udGFpbmVyLWNvbHVtbnM7XG4gIH1cblxuICBAcmV0dXJuICRwYXJlbnQtY29sdW1ucztcbn1cblxuLy8gR2VuZXJhdGVzIGEgc3RyaXBlZCBiYWNrZ3JvdW5kXG5AZnVuY3Rpb24gZ3JhZGllbnQtc3RvcHMoJGdyaWQtY29sdW1ucywgJGNvbG9yOiAkdmlzdWFsLWdyaWQtY29sb3IpIHtcbiAgJHRyYW5zcGFyZW50OiB0cmFuc3BhcmVudDtcbiAgJGFsdC1jb2xvcjogZGFya2VuKCRjb2xvciwgMTAlKTtcblxuICAkY29sdW1uLXdpZHRoOiBmbGV4LWdyaWQoMSwgJGdyaWQtY29sdW1ucyk7XG4gICRndXR0ZXItd2lkdGg6IGZsZXgtZ3V0dGVyKCRncmlkLWNvbHVtbnMpO1xuICAkY29sdW1uLW9mZnNldDogJGNvbHVtbi13aWR0aDtcbiAgJGFsdGVybmF0ZTogZmFsc2U7XG5cbiAgJHZhbHVlczogKCR0cmFuc3BhcmVudCAwLCBpZigkYWx0ZXJuYXRlLCAkY29sb3IsICRhbHQtY29sb3IpIDApO1xuXG4gIEBmb3IgJGkgZnJvbSAxIHRvICRncmlkLWNvbHVtbnMqMiB7XG4gICAgQGlmIGlzLWV2ZW4oJGkpIHtcbiAgICAgICR2YWx1ZXM6IGFwcGVuZCgkdmFsdWVzLCAkdHJhbnNwYXJlbnQgJGNvbHVtbi1vZmZzZXQsIGNvbW1hKTtcbiAgICAgICR2YWx1ZXM6IGFwcGVuZCgkdmFsdWVzLCBpZigkYWx0ZXJuYXRlLCAkY29sb3IsICRhbHQtY29sb3IpICRjb2x1bW4tb2Zmc2V0LCBjb21tYSk7XG4gICAgICAkY29sdW1uLW9mZnNldDogJGNvbHVtbi1vZmZzZXQgKyAkY29sdW1uLXdpZHRoO1xuICAgIH0gQGVsc2Uge1xuICAgICAgJHZhbHVlczogYXBwZW5kKCR2YWx1ZXMsIGlmKCRhbHRlcm5hdGUsICRjb2xvciwgJGFsdC1jb2xvcikgJGNvbHVtbi1vZmZzZXQsIGNvbW1hKTtcbiAgICAgICR2YWx1ZXM6IGFwcGVuZCgkdmFsdWVzLCAkdHJhbnNwYXJlbnQgJGNvbHVtbi1vZmZzZXQsIGNvbW1hKTtcbiAgICAgICRjb2x1bW4tb2Zmc2V0OiAkY29sdW1uLW9mZnNldCArICRndXR0ZXItd2lkdGg7XG5cbiAgICAgICRhbHRlcm5hdGU6IG5vdCAkYWx0ZXJuYXRlO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlcztcbn1cblxuLy8gTGF5b3V0IGRpcmVjdGlvblxuQGZ1bmN0aW9uIGdldC1kaXJlY3Rpb24oJGxheW91dCwgJGRlZmF1bHQpIHtcbiAgJGRpcmVjdGlvbjogbnVsbDtcblxuICBAaWYgdG8tdXBwZXItY2FzZSgkbGF5b3V0KSA9PSBcIkxUUlwiIG9yIHRvLXVwcGVyLWNhc2UoJGxheW91dCkgPT0gXCJSVExcIiB7XG4gICAgJGRpcmVjdGlvbjogZGlyZWN0aW9uLWZyb20tbGF5b3V0KCRsYXlvdXQpO1xuICB9IEBlbHNlIHtcbiAgICAkZGlyZWN0aW9uOiBkaXJlY3Rpb24tZnJvbS1sYXlvdXQoJGRlZmF1bHQpO1xuICB9XG5cbiAgQHJldHVybiAkZGlyZWN0aW9uO1xufVxuXG5AZnVuY3Rpb24gZGlyZWN0aW9uLWZyb20tbGF5b3V0KCRsYXlvdXQpIHtcbiAgJGRpcmVjdGlvbjogbnVsbDtcblxuICBAaWYgdG8tdXBwZXItY2FzZSgkbGF5b3V0KSA9PSBcIkxUUlwiIHtcbiAgICAkZGlyZWN0aW9uOiByaWdodDtcbiAgfSBAZWxzZSB7XG4gICAgJGRpcmVjdGlvbjogbGVmdDtcbiAgfVxuXG4gIEByZXR1cm4gJGRpcmVjdGlvbjtcbn1cblxuQGZ1bmN0aW9uIGdldC1vcHBvc2l0ZS1kaXJlY3Rpb24oJGRpcmVjdGlvbikge1xuICAkb3Bwb3NpdGUtZGlyZWN0aW9uOiBsZWZ0O1xuXG4gIEBpZiAkZGlyZWN0aW9uID09IFwibGVmdFwiIHtcbiAgICAkb3Bwb3NpdGUtZGlyZWN0aW9uOiByaWdodDtcbiAgfVxuXG4gIEByZXR1cm4gJG9wcG9zaXRlLWRpcmVjdGlvbjtcbn1cblxuXG5AZnVuY3Rpb24gdG8tbnVtYmVyKCRzdHJpbmcpIHtcbiAgJHN0cmluZzogc3RyLXJlcGxhY2UoJHN0cmluZywgXCIgXCIsIFwiXCIpO1xuICAkc3RyaW5nczogXCIwXCIgXCIxXCIgXCIyXCIgXCIzXCIgXCI0XCIgXCI1XCIgXCI2XCIgXCI3XCIgXCI4XCIgXCI5XCI7XG4gICRudW1iZXJzOiAgMCAxIDIgMyA0IDUgNiA3IDggOTtcbiAgJHJlc3VsdDogMDtcblxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIHN0ci1sZW5ndGgoJHN0cmluZykge1xuICAgICRjaGFyYWN0ZXI6IHN0ci1zbGljZSgkc3RyaW5nLCAkaSwgJGkpO1xuICAgICRpbmRleDogaW5kZXgoJHN0cmluZ3MsICRjaGFyYWN0ZXIpO1xuXG4gICAgQGlmIG5vdCAkaW5kZXgge1xuICAgICAgQHdhcm4gXCJVbmtub3duIGNoYXJhY3RlciBgI3skY2hhcmFjdGVyfWAuXCI7XG4gICAgICBAcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgICRudW1iZXI6IG50aCgkbnVtYmVycywgJGluZGV4KTtcbiAgICAkcmVzdWx0OiAkcmVzdWx0ICogMTAgKyAkbnVtYmVyO1xuICB9XG5cbiAgQHJldHVybiAkcmVzdWx0O1xufVxuXG5AZnVuY3Rpb24gc3RyLXJlcGxhY2UoJHN0cmluZywgJHNlYXJjaCwgJHJlcGxhY2U6IFwiXCIpIHtcbiAgJGluZGV4OiBzdHItaW5kZXgoJHN0cmluZywgJHNlYXJjaCk7XG5cbiAgQGlmICRpbmRleCB7XG4gICAgJGZpcnN0OiBzdHItc2xpY2UoJHN0cmluZywgMSwgJGluZGV4IC0gMSk7XG4gICAgJGxhc3Qtc2xpY2U6IHN0ci1zbGljZSgkc3RyaW5nLCAkaW5kZXggKyBzdHItbGVuZ3RoKCRzZWFyY2gpKTtcbiAgICAkbGFzdDogc3RyLXJlcGxhY2UoJGxhc3Qtc2xpY2UsICRzZWFyY2gsICRyZXBsYWNlKTtcbiAgICBAcmV0dXJuICRmaXJzdCArICRyZXBsYWNlICsgJGxhc3Q7XG4gIH1cblxuICBAcmV0dXJuICRzdHJpbmc7XG59XG4iLCIvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIE9tZWdhIFJlc2V0XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8vL1xuLy8vIEBhdXRob3IgSm9zaCBGcnlcbi8vLyBAc291cmNlIGh0dHA6Ly93d3cuam9zaGZyeS5tZS9ibG9nLzIwMTMvMDUvMTMvb21lZ2EtcmVzZXQtZm9yLWJvdXJib24tbmVhdFxuLy8vL1xuXG5AbWl4aW4gb21lZ2EtcmVzZXQoJG50aCkge1xuXHQmOm50aC1jaGlsZCgjeyRudGh9KSB7XG5cdFx0bWFyZ2luLXJpZ2h0OiBmbGV4LWd1dHRlcigpO1xuXHR9XG5cblx0JjpudGgtY2hpbGQoI3skbnRofSArMSkge1xuXHRcdGNsZWFyOiBub25lO1xuXHR9XG59Il19 */
