/*
==========================================================================
    Import all SCSS parts here
==========================================================================
*/
/*
==========================================================================
	Mixins
==========================================================================
*/
/*
==========================================================================
	Functions
==========================================================================
*/
/*
==========================================================================
    Variables
==========================================================================
*/
/*!
 * Bootstrap v3.3.7 (http://getbootstrap.com)
 * Copyright 2011-2016 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 */
.fade {
  opacity: 0;
  transition: opacity 0.15s linear; }
  .fade.in {
    opacity: 1; }

.collapse {
  display: none; }
  .collapse.in {
    display: block; }

tr.collapse.in {
  display: table-row; }

tbody.collapse.in {
  display: table-row-group; }

.collapsing {
  position: relative;
  height: 0;
  overflow: hidden;
  transition-property: height, visibility;
  transition-duration: 0.35s;
  transition-timing-function: ease; }

@-ms-viewport {
  width: device-width; }

.visible-xs {
  display: none !important; }

.visible-sm {
  display: none !important; }

.visible-md {
  display: none !important; }

.visible-lg {
  display: none !important; }

.visible-xs-block,
.visible-xs-inline,
.visible-xs-inline-block,
.visible-sm-block,
.visible-sm-inline,
.visible-sm-inline-block,
.visible-md-block,
.visible-md-inline,
.visible-md-inline-block,
.visible-lg-block,
.visible-lg-inline,
.visible-lg-inline-block {
  display: none !important; }

@media (max-width: 767px) {
  .visible-xs {
    display: block !important; }
  table.visible-xs {
    display: table !important; }
  tr.visible-xs {
    display: table-row !important; }
  th.visible-xs,
  td.visible-xs {
    display: table-cell !important; } }

@media (max-width: 767px) {
  .visible-xs-block {
    display: block !important; } }

@media (max-width: 767px) {
  .visible-xs-inline {
    display: inline !important; } }

@media (max-width: 767px) {
  .visible-xs-inline-block {
    display: inline-block !important; } }

@media (min-width: 768px) and (max-width: 991px) {
  .visible-sm {
    display: block !important; }
  table.visible-sm {
    display: table !important; }
  tr.visible-sm {
    display: table-row !important; }
  th.visible-sm,
  td.visible-sm {
    display: table-cell !important; } }

@media (min-width: 768px) and (max-width: 991px) {
  .visible-sm-block {
    display: block !important; } }

@media (min-width: 768px) and (max-width: 991px) {
  .visible-sm-inline {
    display: inline !important; } }

@media (min-width: 768px) and (max-width: 991px) {
  .visible-sm-inline-block {
    display: inline-block !important; } }

@media (min-width: 992px) and (max-width: 1199px) {
  .visible-md {
    display: block !important; }
  table.visible-md {
    display: table !important; }
  tr.visible-md {
    display: table-row !important; }
  th.visible-md,
  td.visible-md {
    display: table-cell !important; } }

@media (min-width: 992px) and (max-width: 1199px) {
  .visible-md-block {
    display: block !important; } }

@media (min-width: 992px) and (max-width: 1199px) {
  .visible-md-inline {
    display: inline !important; } }

@media (min-width: 992px) and (max-width: 1199px) {
  .visible-md-inline-block {
    display: inline-block !important; } }

@media (min-width: 1200px) {
  .visible-lg {
    display: block !important; }
  table.visible-lg {
    display: table !important; }
  tr.visible-lg {
    display: table-row !important; }
  th.visible-lg,
  td.visible-lg {
    display: table-cell !important; } }

@media (min-width: 1200px) {
  .visible-lg-block {
    display: block !important; } }

@media (min-width: 1200px) {
  .visible-lg-inline {
    display: inline !important; } }

@media (min-width: 1200px) {
  .visible-lg-inline-block {
    display: inline-block !important; } }

@media (max-width: 767px) {
  .hidden-xs {
    display: none !important; } }

@media (min-width: 768px) and (max-width: 991px) {
  .hidden-sm {
    display: none !important; } }

@media (min-width: 992px) and (max-width: 1199px) {
  .hidden-md {
    display: none !important; } }

@media (min-width: 1200px) {
  .hidden-lg {
    display: none !important; } }

.visible-print {
  display: none !important; }

@media print {
  .visible-print {
    display: block !important; }
  table.visible-print {
    display: table !important; }
  tr.visible-print {
    display: table-row !important; }
  th.visible-print,
  td.visible-print {
    display: table-cell !important; } }

.visible-print-block {
  display: none !important; }
  @media print {
    .visible-print-block {
      display: block !important; } }

.visible-print-inline {
  display: none !important; }
  @media print {
    .visible-print-inline {
      display: inline !important; } }

.visible-print-inline-block {
  display: none !important; }
  @media print {
    .visible-print-inline-block {
      display: inline-block !important; } }

@media print {
  .hidden-print {
    display: none !important; } }

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

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

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

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

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

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

/*
 * Nivo Lightbox v1.2.0
 * http://dev7studios.com/nivo-lightbox
 *
 * Copyright 2013, Dev7studios
 * Free to use and abuse under the MIT license.
 * http://www.opensource.org/licenses/mit-license.php
 */
.nivo-lightbox-overlay {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 99998;
  width: 100%;
  height: 100%;
  overflow: hidden;
  visibility: hidden;
  opacity: 0;
  box-sizing: border-box; }

.nivo-lightbox-overlay.nivo-lightbox-open {
  visibility: visible;
  opacity: 1; }

.nivo-lightbox-wrap {
  position: absolute;
  top: 10%;
  bottom: 10%;
  left: 10%;
  right: 10%; }

.nivo-lightbox-content {
  width: 100%;
  height: 100%; }

.nivo-lightbox-title-wrap {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  z-index: 99999;
  text-align: center; }

.nivo-lightbox-nav {
  display: none; }

.nivo-lightbox-prev {
  position: absolute;
  top: 50%;
  left: 0; }

.nivo-lightbox-next {
  position: absolute;
  top: 50%;
  right: 0; }

.nivo-lightbox-close {
  position: absolute;
  top: 2%;
  right: 2%; }

.nivo-lightbox-image {
  text-align: center; }

.nivo-lightbox-image img {
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  vertical-align: middle; }

.nivo-lightbox-content iframe {
  width: 100%;
  height: 100%; }

.nivo-lightbox-inline,
.nivo-lightbox-ajax {
  max-height: 100%;
  overflow: auto;
  box-sizing: border-box;
  /* https://bugzilla.mozilla.org/show_bug.cgi?id=308801 */ }

.nivo-lightbox-error {
  display: table;
  text-align: center;
  width: 100%;
  height: 100%;
  color: #fff;
  text-shadow: 0 1px 1px #000; }

.nivo-lightbox-error p {
  display: table-cell;
  vertical-align: middle; }

/* Effects
 **********************************************/
.nivo-lightbox-notouch .nivo-lightbox-effect-fade,
.nivo-lightbox-notouch .nivo-lightbox-effect-fadeScale,
.nivo-lightbox-notouch .nivo-lightbox-effect-slideLeft,
.nivo-lightbox-notouch .nivo-lightbox-effect-slideRight,
.nivo-lightbox-notouch .nivo-lightbox-effect-slideUp,
.nivo-lightbox-notouch .nivo-lightbox-effect-slideDown,
.nivo-lightbox-notouch .nivo-lightbox-effect-fall {
  transition: all 0.2s ease-in-out; }

/* fadeScale */
.nivo-lightbox-effect-fadeScale .nivo-lightbox-wrap {
  transition: all 0.3s;
  transform: scale(0.7); }

.nivo-lightbox-effect-fadeScale.nivo-lightbox-open .nivo-lightbox-wrap {
  transform: scale(1); }

/* slideLeft / slideRight / slideUp / slideDown */
.nivo-lightbox-effect-slideLeft .nivo-lightbox-wrap,
.nivo-lightbox-effect-slideRight .nivo-lightbox-wrap,
.nivo-lightbox-effect-slideUp .nivo-lightbox-wrap,
.nivo-lightbox-effect-slideDown .nivo-lightbox-wrap {
  transition: all 0.3s cubic-bezier(0.25, 0.5, 0.5, 0.9); }

.nivo-lightbox-effect-slideLeft .nivo-lightbox-wrap {
  transform: translateX(-10%); }

.nivo-lightbox-effect-slideRight .nivo-lightbox-wrap {
  transform: translateX(10%); }

.nivo-lightbox-effect-slideLeft.nivo-lightbox-open .nivo-lightbox-wrap,
.nivo-lightbox-effect-slideRight.nivo-lightbox-open .nivo-lightbox-wrap {
  transform: translateX(0); }

.nivo-lightbox-effect-slideDown .nivo-lightbox-wrap {
  transform: translateY(-10%); }

.nivo-lightbox-effect-slideUp .nivo-lightbox-wrap {
  transform: translateY(10%); }

.nivo-lightbox-effect-slideUp.nivo-lightbox-open .nivo-lightbox-wrap,
.nivo-lightbox-effect-slideDown.nivo-lightbox-open .nivo-lightbox-wrap {
  transform: translateY(0); }

/* fall */
.nivo-lightbox-body-effect-fall .nivo-lightbox-effect-fall {
  perspective: 1000px; }

.nivo-lightbox-effect-fall .nivo-lightbox-wrap {
  transition: all 0.3s ease-out;
  transform: translateZ(300px); }

.nivo-lightbox-effect-fall.nivo-lightbox-open .nivo-lightbox-wrap {
  transform: translateZ(0); }

/*
 * Nivo Lightbox Default Theme v1.0
 * http://dev7studios.com/nivo-lightbox
 *
 * Copyright 2013, Dev7studios
 * Free to use and abuse under the MIT license.
 * http://www.opensource.org/licenses/mit-license.php
 */
.nivo-lightbox-theme-default.nivo-lightbox-overlay {
  background: #666;
  background: rgba(0, 0, 0, 0.6); }

.nivo-lightbox-theme-default .nivo-lightbox-content.nivo-lightbox-loading {
  background: url(../sass/nivo-lightbox/themes/default/loading.gif) no-repeat 50% 50%; }

.nivo-lightbox-theme-default .nivo-lightbox-nav {
  top: 10%;
  width: 8%;
  height: 80%;
  text-indent: -9999px;
  background-repeat: no-repeat;
  background-position: 50% 50%;
  opacity: 0.5; }

.nivo-lightbox-theme-default .nivo-lightbox-nav:hover {
  opacity: 1;
  background-color: rgba(0, 0, 0, 0.5); }

.nivo-lightbox-theme-default .nivo-lightbox-prev {
  background-image: url(../sass/nivo-lightbox/themes/default/prev.png);
  border-radius: 0 3px 3px 0; }

.nivo-lightbox-theme-default .nivo-lightbox-next {
  background-image: url(../sass/nivo-lightbox/themes/default/next.png);
  border-radius: 3px 0 0 3px; }

.nivo-lightbox-theme-default .nivo-lightbox-close {
  display: block;
  background: url(../sass/nivo-lightbox/themes/default/close.png) no-repeat 5px 5px;
  width: 16px;
  height: 16px;
  text-indent: -9999px;
  padding: 5px;
  opacity: 0.5; }

.nivo-lightbox-theme-default .nivo-lightbox-close:hover {
  opacity: 1; }

.nivo-lightbox-theme-default .nivo-lightbox-title-wrap {
  bottom: -7%; }

.nivo-lightbox-theme-default .nivo-lightbox-title {
  font: 14px/20px 'Helvetica Neue', Helvetica, Arial, sans-serif;
  font-style: normal;
  font-weight: normal;
  background: #000;
  color: #fff;
  padding: 7px 15px;
  border-radius: 30px; }

.nivo-lightbox-theme-default .nivo-lightbox-image img {
  background: #fff;
  box-shadow: 0px 1px 1px rgba(0, 0, 0, 0.4); }

.nivo-lightbox-theme-default .nivo-lightbox-ajax,
.nivo-lightbox-theme-default .nivo-lightbox-inline {
  background: #fff;
  padding: 40px;
  box-shadow: 0px 1px 1px rgba(0, 0, 0, 0.4); }

@media (-webkit-min-device-pixel-ratio: 1.3), (min--moz-device-pixel-ratio: 1.3), (min-device-pixel-ratio: 1.3), (min-resolution: 1.3dppx) {
  .nivo-lightbox-theme-default .nivo-lightbox-content.nivo-lightbox-loading {
    background-image: url(../sass/nivo-lightbox/themes/default/loading@2x.gif);
    background-size: 32px 32px; }
  .nivo-lightbox-theme-default .nivo-lightbox-prev {
    background-image: url(../sass/nivo-lightbox/themes/default/prev@2x.png);
    background-size: 48px 48px; }
  .nivo-lightbox-theme-default .nivo-lightbox-next {
    background-image: url(../sass/nivo-lightbox/themes/default/next@2x.png);
    background-size: 48px 48px; }
  .nivo-lightbox-theme-default .nivo-lightbox-close {
    background-image: url(../sass/nivo-lightbox/themes/default/close@2x.png);
    background-size: 16px 16px; } }

.pika-single {
  position: relative;
  z-index: 9999;
  display: block;
  font-family: inherit;
  color: #373C45;
  *zoom: 1; }
  .pika-single:before, .pika-single:after {
    content: ' ';
    display: table; }
  .pika-single:after {
    clear: both; }
  .pika-single.is-hidden {
    display: none; }
  .pika-single.is-bound {
    position: absolute !important;
    box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.25); }
  .pika-single .pika-lendar {
    float: left;
    padding: 0;
    width: 100%;
    background: #fff; }
    .pika-single .pika-lendar .pika-title {
      position: relative;
      margin: 0 0 10px;
      text-align: center; }
      .pika-single .pika-lendar .pika-title .pika-label {
        display: inline-block;
        *display: inline;
        position: relative;
        z-index: 9999;
        overflow: hidden;
        margin: 0;
        padding: 5px 3px;
        color: #373C45;
        font-size: 1em;
        line-height: 20px;
        font-weight: 700;
        background-color: #fff;
        transition: all .15s ease-in-out; }
        .pika-single .pika-lendar .pika-title .pika-label:hover {
          color: #01509C; }
        .pika-single .pika-lendar .pika-title .pika-label select {
          cursor: pointer;
          position: absolute;
          z-index: 9998;
          margin: 0;
          left: 0;
          top: 5px;
          height: auto;
          padding: 0;
          filter: alpha(opacity=0);
          opacity: 0; }
      .pika-single .pika-lendar .pika-title .pika-select {
        display: inline-block;
        *display: inline; }
    .pika-single .pika-lendar .pika-prev,
    .pika-single .pika-lendar .pika-next {
      display: block;
      cursor: pointer;
      position: relative;
      outline: none;
      border: 0;
      padding: 0;
      width: 20px;
      height: 30px;
      text-indent: 20px;
      /* hide text using text-indent trick, using width value (it's enough) */
      white-space: nowrap;
      overflow: hidden;
      background-color: transparent;
      background-position: center center;
      background-repeat: no-repeat;
      background-size: 75% 75%;
      opacity: .5;
      *position: absolute;
      *top: 0;
      transition: all .15s ease-in-out; }
      .pika-single .pika-lendar .pika-prev:hover,
      .pika-single .pika-lendar .pika-next:hover {
        opacity: 1; }
      .pika-single .pika-lendar .pika-prev.is-disabled,
      .pika-single .pika-lendar .pika-next.is-disabled {
        cursor: not-allowed;
        opacity: .2; }
    .pika-single .pika-lendar .pika-prev,
    .pika-single .pika-lendar .is-rtl .pika-next {
      float: left;
      background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAeCAYAAAAsEj5rAAAAUklEQVR42u3VMQoAIBADQf8Pgj+OD9hG2CtONJB2ymQkKe0HbwAP0xucDiQWARITIDEBEnMgMQ8S8+AqBIl6kKgHiXqQqAeJepBo/z38J/U0uAHlaBkBl9I4GwAAAABJRU5ErkJggg==");
      *left: 0; }
    .pika-single .pika-lendar .pika-next,
    .pika-single .pika-lendar .is-rtl .pika-prev {
      float: right;
      background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAeCAYAAAAsEj5rAAAAU0lEQVR42u3VOwoAMAgE0dwfAnNjU26bYkBCFGwfiL9VVWoO+BJ4Gf3gtsEKKoFBNTCoCAYVwaAiGNQGMUHMkjGbgjk2mIONuXo0nC8XnCf1JXgArVIZAQh5TKYAAAAASUVORK5CYII=");
      *right: 0; }
    .pika-single .pika-lendar .pika-table {
      width: 100%;
      border-collapse: collapse;
      border-spacing: 0;
      border: 0; }
      .pika-single .pika-lendar .pika-table th,
      .pika-single .pika-lendar .pika-table td {
        width: 14.285714285714286%;
        padding: 0; }
      .pika-single .pika-lendar .pika-table th {
        padding: 0 0 10px;
        color: #9b9ea2;
        font-size: 12px;
        line-height: 25px;
        font-weight: bold;
        text-align: center;
        text-transform: uppercase; }
      .pika-single .pika-lendar .pika-table abbr {
        cursor: default;
        border: 0;
        text-decoration: none; }
      .pika-single .pika-lendar .pika-table td {
        padding: 1px; }
        .pika-single .pika-lendar .pika-table td:nth-child(1) .pika-button, .pika-single .pika-lendar .pika-table td:nth-child(7) .pika-button {
          background-color: #d9e5f0;
          color: #01509C;
          font-weight: 900; }
        .pika-single .pika-lendar .pika-table td.is-today .pika-button {
          background: #fff;
          font-weight: 900; }
        .pika-single .pika-lendar .pika-table td.is-selected .pika-button {
          background: #01509C;
          color: #fff;
          font-weight: 900; }
          .pika-single .pika-lendar .pika-table td.is-selected .pika-button:hover {
            background: #01509C; }
        .pika-single .pika-lendar .pika-table td.is-inrange .pika-button {
          background: #3473b0;
          color: #fff; }
        .pika-single .pika-lendar .pika-table td.is-startrange .pika-button, .pika-single .pika-lendar .pika-table td.is-endrange .pika-button {
          background: #01509C;
          color: #fff; }
        .pika-single .pika-lendar .pika-table td.is-disabled.is-startrange .pika-button, .pika-single .pika-lendar .pika-table td.is-disabled.is-endrange .pika-button, .pika-single .pika-lendar .pika-table td.is-outside-current-month.is-startrange .pika-button, .pika-single .pika-lendar .pika-table td.is-outside-current-month.is-endrange .pika-button {
          background: #01509C;
          color: #fff;
          opacity: 1; }
        .pika-single .pika-lendar .pika-table td.is-disabled.is-inrange .pika-button, .pika-single .pika-lendar .pika-table td.is-outside-current-month.is-inrange .pika-button {
          background: #3473b0;
          color: #fff;
          opacity: 1; }
        .pika-single .pika-lendar .pika-table td.is-disabled.is-today .pika-button, .pika-single .pika-lendar .pika-table td.is-outside-current-month.is-today .pika-button {
          background: #fff;
          color: #01509C;
          font-weight: 900;
          opacity: 1; }
        .pika-single .pika-lendar .pika-table td.is-disabled .pika-button, .pika-single .pika-lendar .pika-table td.is-outside-current-month .pika-button {
          pointer-events: none;
          background: #f9fbfd;
          color: #cdced1;
          cursor: default; }
        .pika-single .pika-lendar .pika-table td .pika-button {
          display: block;
          box-sizing: border-box;
          -moz-box-sizing: border-box;
          outline: none;
          width: 100%;
          padding: 12px 6px;
          margin: 0;
          border: 0;
          background-color: #e6eef5;
          color: #01509C;
          font-family: inherit;
          font-size: .875em;
          line-height: 1em;
          text-align: center;
          cursor: pointer;
          transition: all .15s ease-in-out; }
          .pika-single .pika-lendar .pika-table td .pika-button:hover {
            background: #01509C;
            color: #fff; }
      .pika-single .pika-lendar .pika-table .pika-week {
        font-size: .75em;
        color: #9b9ea2; }

/*
==========================================================================
    Base styles
==========================================================================
*/
* {
  box-sizing: border-box !important;
  padding: 0px;
  margin: 0px; }

*:focus {
  outline: none !important; }

html {
  font-size: 16px;
  -webkit-text-size-adjust: 100%; }

body {
  position: relative;
  padding: 0;
  margin: 0;
  background-color: #00203e;
  font-family: "Barlow", system-ui, sans-serif;
  font-size: 1em;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility; }
  body:after {
    content: '';
    position: fixed;
    z-index: 0;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to bottom right, #013c75, #01284e); }

a,
img,
a img {
  border: none; }

a {
  position: relative;
  top: 0;
  color: #01509C;
  text-decoration: none;
  transition: all .15s ease-out, top 0s;
  cursor: pointer; }
  a:hover, a:focus {
    color: #373C45;
    text-decoration: underline; }
  a:active {
    top: 1px; }

button {
  position: relative;
  top: 0;
  transition: all .15s ease-out, top 0s;
  cursor: pointer; }
  button:active {
    top: 1px; }

a .fa-arrow-left,
a .fa-arrow-right,
button .fa-arrow-left,
button .fa-arrow-right {
  position: relative;
  transition: transform .15s ease-out;
  will-change: transform; }

a:hover .fa-arrow-left, a:focus .fa-arrow-left,
button:hover .fa-arrow-left,
button:focus .fa-arrow-left {
  transform: translate3d(-0.25em, 0, 0); }

a:hover .fa-arrow-right, a:focus .fa-arrow-right,
button:hover .fa-arrow-right,
button:focus .fa-arrow-right {
  transform: translate3d(0.25em, 0, 0); }

p {
  display: block;
  color: #696d74;
  font-size: 1em;
  line-height: 1.618em; }
  p.caption {
    color: #999;
    font-size: .875em; }

hr {
  display: block;
  clear: both;
  width: 100%;
  margin: 20px auto;
  padding: 0;
  height: 0;
  border: 0;
  border-top: 1px solid #ebecec; }

h1,
h2,
h3,
h4,
h5,
h6 {
  padding: 0;
  margin: 0;
  font-family: "Arvo", system-ui, serif;
  color: #01509C;
  line-height: 1.2em; }

.clear {
  display: block;
  width: 100%;
  clear: both;
  height: 0px; }

.text-left {
  text-align: left; }

.text-right {
  text-align: right; }

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

.text-justify {
  text-align: justify; }

.text-nowrap {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis; }

.img-responsive {
  display: block;
  max-width: 100%;
  height: auto; }

.img-wide {
  display: block;
  width: 100%;
  height: auto; }

.icon-left {
  margin-right: .5em; }

.icon-right {
  margin-left: .5em; }

.icon-center {
  margin: 0 .5em; }

.icon-light {
  opacity: .5; }

.spacer {
  display: block;
  clear: both;
  width: 100%; }
  .spacer.spacer10 {
    height: 10px; }
  .spacer.spacer20 {
    height: 20px; }
  .spacer.spacer30 {
    height: 30px; }
  .spacer.spacer40 {
    height: 40px; }
  .spacer.spacer50 {
    height: 50px; }
  .spacer.spacer100 {
    height: 100px; }
  .spacer.spacer250 {
    height: 250px; }
  .spacer.spacer500 {
    height: 500px; }
  .spacer.spacer1000 {
    height: 1000px; }

.margin {
  margin: 2em 0; }
  .margin:first-child {
    margin-top: 0; }
  .margin:last-child {
    margin-bottom: 0; }
  .margin-top {
    margin-top: 2em; }
  .margin-bottom {
    margin-bottom: 2em; }
  .margin.margin--small {
    margin: 1em 0; }
    .margin.margin--small:first-child {
      margin-top: 0; }
    .margin.margin--small:last-child {
      margin-bottom: 0; }
    .margin.margin--small-top {
      margin-top: 1em; }
    .margin.margin--small-bottom {
      margin-bottom: 1em; }

.nomargin {
  margin: 0 !important; }
  .nomargin--top {
    margin-top: 0 !important; }
  .nomargin--bottom {
    margin-bottom: 0 !important; }

.nopadding {
  padding: 0 !important; }
  .nopadding--top {
    padding-top: 0 !important; }
  .nopadding--bottom {
    padding-bottom: 0 !important; }

.col-success {
  color: green; }

.col-warning {
  color: orange; }

.col-error {
  color: red; }

.slick-list,
.slick-track {
  height: 100%; }

.display-flex {
  display: -ms-flexbox;
  display: flex; }

.display-block {
  display: block; }

.display-inline {
  display: inline; }

.display-inline-block {
  display: inline-block; }

.float-left {
  float: left; }

.float-right {
  float: right; }

.clear-before:before {
  content: '';
  display: table;
  clear: both; }

.clear-after:after {
  content: '';
  display: table;
  clear: both; }

mark {
  padding: .1em .25em;
  border-radius: .5em;
  background-color: #d9e5f0;
  color: #292d34; }

.input-style-reset {
  -webkit-appearance: none;
  appearance: none;
  border-radius: 0;
  border: 0;
  background: none;
  font-family: inherit; }

.position-static {
  position: static; }

.position-relative {
  position: relative; }

.position-absolute {
  position: absolute; }

.flex-wrapper {
  display: -ms-flexbox;
  display: flex; }
  .flex-wrapper.direction-row {
    -ms-flex-direction: row;
    flex-direction: row; }
  .flex-wrapper.direction-row-reverse {
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse; }
  .flex-wrapper.direction-column {
    -ms-flex-direction: column;
    flex-direction: column; }
  .flex-wrapper.direction-column-reverse {
    -ms-flex-direction: column-reverse;
    flex-direction: column-reverse; }
  .flex-wrapper.flex-wrap {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap; }
  .flex-wrapper.align-start {
    -ms-flex-align: start;
    align-items: flex-start; }
  .flex-wrapper.align-center {
    -ms-flex-align: center;
    align-items: center; }
  .flex-wrapper.align-end {
    -ms-flex-align: end;
    align-items: flex-end; }
  .flex-wrapper.align-stretch {
    -ms-flex-align: stretch;
    align-items: stretch; }
  .flex-wrapper.align-between {
    -ms-flex-align: space-between;
    align-items: space-between; }
  .flex-wrapper.align-around {
    -ms-flex-align: space-around;
    align-items: space-around; }
  .flex-wrapper.justify-start {
    -ms-flex-pack: start;
    justify-content: flex-start; }
  .flex-wrapper.justify-center {
    -ms-flex-pack: center;
    justify-content: center; }
  .flex-wrapper.justify-end {
    -ms-flex-pack: end;
    justify-content: flex-end; }
  .flex-wrapper.justify-between {
    -ms-flex-pack: justify;
    justify-content: space-between; }
  .flex-wrapper.justify-around {
    -ms-flex-pack: distribute;
    justify-content: space-around; }

.flex-spacer,
.flex-grow {
  -ms-flex-positive: 1;
  flex-grow: 1; }

.flex-shrink {
  -ms-flex-negative: 1;
  flex-shrink: 1; }

::selection {
  background-color: rgba(55, 60, 69, 0.75);
  color: #fff; }

.hidden {
  display: none !important; }

.narrow {
  max-width: 900px !important; }

.centered {
  margin-left: auto !important;
  margin-right: auto !important; }

.col-prim {
  color: #01509C !important; }

.col-sec {
  color: #00AEEF !important; }

.col-tert {
  color: #F37032 !important; }

/*
==========================================================================
    Font Face
==========================================================================
*/
/*
==========================================================================
	Animations
    Great CSS animation resource: http://animista.net

    Animate IN
==========================================================================
*/
@keyframes fade-in {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }

@keyframes fade-in-up {
  0% {
    opacity: 0;
    transform: translate3d(0, 10vh, 0); }
  100% {
    opacity: 1;
    transform: translate3d(0, 0, 0); } }

@keyframes fade-in-down {
  0% {
    opacity: 0;
    transform: translate3d(0, -10vh, 0); }
  100% {
    opacity: 1;
    transform: translate3d(0, 0, 0); } }

@keyframes fade-in-left {
  0% {
    opacity: 0;
    transform: translate3d(10vw, 0, 0); }
  100% {
    opacity: 1;
    transform: translate3d(0, 0, 0); } }

@keyframes fade-in-right {
  0% {
    opacity: 0;
    transform: translate3d(-10vw, 0, 0); }
  100% {
    opacity: 1;
    transform: translate3d(0, 0, 0); } }

@keyframes fade-in-scale-down {
  0% {
    opacity: 0;
    transform: scale(1.5); }
  100% {
    opacity: 1;
    transform: scale(1); } }

@keyframes fade-in-scale-up {
  0% {
    opacity: 0;
    transform: scale(0.5); }
  100% {
    opacity: 1;
    transform: scale(1); } }

/*
==========================================================================
    Animate OUT
==========================================================================
*/
@keyframes fade-out {
  0% {
    opacity: 1; }
  100% {
    opacity: 0; } }

@keyframes fade-out-up {
  0% {
    opacity: 1;
    transform: translate3d(0, 0, 0); }
  100% {
    opacity: 0;
    transform: translate3d(0, -10vh, 0); } }

@keyframes fade-out-down {
  0% {
    opacity: 1;
    transform: translate3d(0, 0, 0); }
  100% {
    opacity: 0;
    transform: translate3d(0, 10vh, 0); } }

@keyframes fade-out-left {
  0% {
    opacity: 1;
    transform: translate3d(0, 0, 0); }
  100% {
    opacity: 0;
    transform: translate3d(-10vw, 0, 0); } }

@keyframes fade-out-right {
  0% {
    opacity: 1;
    transform: translate3d(0, 0, 0); }
  100% {
    opacity: 0;
    transform: translate3d(10vw, 0, 0); } }

@keyframes fade-out-scale-down {
  0% {
    opacity: 1;
    transform: scale(1); }
  100% {
    opacity: 0;
    transform: scale(0.5); } }

@keyframes fade-out-scale-up {
  0% {
    opacity: 1;
    transform: scale(1); }
  100% {
    opacity: 0;
    transform: scale(1.5); } }

/*
==========================================================================
    Rotation
==========================================================================
*/
@keyframes rotate-90-clockwise {
  0% {
    transform: rotate(0deg); }
  100% {
    transform: rotate(90deg); } }

@keyframes rotate-90-counter-clockwise {
  0% {
    transform: rotate(0deg); }
  100% {
    transform: rotate(-90deg); } }

@keyframes rotate-180-clockwise {
  0% {
    transform: rotate(0deg); }
  100% {
    transform: rotate(180deg); } }

@keyframes rotate-180-counter-clockwise {
  0% {
    transform: rotate(0deg); }
  100% {
    transform: rotate(-180deg); } }

@keyframes rotate-360-clockwise {
  0% {
    transform: rotate(0deg); }
  100% {
    transform: rotate(360deg); } }

@keyframes rotate-360-counter-clockwise {
  0% {
    transform: rotate(0deg); }
  100% {
    transform: rotate(-360deg); } }

/**
 * Custom grid system
**/
.container {
  width: 100%;
  padding-right: 15px;
  padding-left: 15px;
  margin-right: auto;
  margin-left: auto; }
  .container.container--fluid {
    width: 100%; }
  .container.container--narrow {
    max-width: 991px; }

@media (min-width: 768px) {
  .container {
    width: 720px; } }

@media (min-width: 992px) {
  .container {
    width: 960px; } }

@media (min-width: 1200px) {
  .container {
    width: 1140px; } }

@media (min-width: 1400px) {
  .container {
    width: 1360px; } }

/*
==========================================================================
    .content-wrapper styles
==========================================================================
*/
.content.content--inverted {
  color: #fff; }
  .content.content--inverted * {
    color: inherit; }

.content.content--columns {
  column-count: 2;
  column-gap: 60px; }

.content.content--large {
  font-size: 1.125em; }

.content.content--small {
  font-size: .875em; }

.content.content--light {
  opacity: .5; }
  .content.content--light * {
    color: #292d34; }

.content.content--margin {
  margin: 1.5em 0; }
  .content.content--margin:first-child {
    margin-top: 0; }
  .content.content--margin:last-child {
    margin-bottom: 0; }

.content .wp-caption {
  max-width: 100%;
  margin: 2em auto; }
  .content .wp-caption.alignleft {
    float: left;
    margin: 2em 2.5em 2em 0; }
  .content .wp-caption.alignright {
    float: right;
    margin: 2em 0 2em 2.5em; }
  .content .wp-caption.aligncenter {
    display: block;
    margin: 2em auto; }
  .content .wp-caption:first-child {
    margin-top: 0; }
  .content .wp-caption:last-child {
    margin-bottom: 0; }
  .content .wp-caption .wp-caption-text {
    margin: 1em 0 0;
    color: #373C45;
    font-size: .875em;
    font-style: italic; }

.content img {
  display: block;
  max-width: 100%;
  height: auto;
  border-radius: .25em; }
  .content img.alignnone {
    display: block;
    margin: 2em auto; }
  .content img.alignleft {
    float: left;
    margin: 2em 2.5em 2em 0; }
  .content img.alignright {
    float: right;
    margin: 2em 0 2em 2.5em; }
  .content img.aligncenter {
    display: block;
    margin: 2em auto; }

.content h1,
.content h2,
.content h3,
.content h4,
.content h5,
.content h6 {
  clear: both;
  margin: 1.5em 0 .25em;
  font-family: "Barlow", system-ui, sans-serif; }
  .content h1:first-child,
  .content h2:first-child,
  .content h3:first-child,
  .content h4:first-child,
  .content h5:first-child,
  .content h6:first-child {
    margin-top: 0; }
  .content h1:last-child,
  .content h2:last-child,
  .content h3:last-child,
  .content h4:last-child,
  .content h5:last-child,
  .content h6:last-child {
    margin-bottom: 0; }
  .content h1 + p,
  .content h2 + p,
  .content h3 + p,
  .content h4 + p,
  .content h5 + p,
  .content h6 + p {
    margin-top: .5em; }

.content h1 {
  font-size: 3.5em; }

.content h2 {
  font-size: 2em; }

.content h3 {
  font-size: 1.5em; }

.content h4 {
  font-size: 1.25em; }

.content h5 {
  font-size: 1.125em; }

.content h6 {
  font-size: 1em; }

.content p {
  margin: 1.5em 0;
  line-height: 1.8em; }
  .content p:first-child {
    margin-top: 0; }
  .content p:last-child {
    margin-bottom: 0; }
  .content p a {
    text-decoration: underline; }
    .content p a:hover, .content p a:focus {
      text-decoration: none; }
  .content p .btn {
    margin: 10px 5px 0; }
    .content p .btn:first-child {
      margin-left: 0; }
    .content p .btn:last-child {
      margin-right: 0; }
    .content p .btn.btn-full {
      margin-left: 0;
      margin-right: 0; }
  .content p.intro {
    color: #696d74;
    font-size: 1.5em; }
  .content p.micro {
    color: #9b9ea2;
    font-size: .75rem; }

.content ul,
.content ol {
  margin: 2em 0 2em 1.5em; }
  .content ul:first-child,
  .content ol:first-child {
    margin-top: 0; }
  .content ul:last-child,
  .content ol:last-child {
    margin-bottom: 0; }
  .content ul.list-icons,
  .content ol.list-icons {
    list-style: none;
    margin-left: 40px;
    text-align: left; }
    .content ul.list-icons li,
    .content ol.list-icons li {
      position: relative; }
      .content ul.list-icons li .item-icon,
      .content ol.list-icons li .item-icon {
        position: absolute;
        top: 50%;
        right: calc( 100% + 10px);
        width: 30px;
        margin-top: -.5em;
        color: #01509C;
        font-size: 1rem;
        line-height: 1em;
        text-align: center; }
  .content ul.list-checked,
  .content ol.list-checked {
    list-style: none;
    margin-left: 40px;
    text-align: left; }
    .content ul.list-checked li,
    .content ol.list-checked li {
      position: relative; }
      .content ul.list-checked li .item-icon,
      .content ol.list-checked li .item-icon {
        position: absolute;
        top: calc( 3px + .25rem);
        right: calc( 100% + 10px);
        width: 30px;
        color: #01509C;
        font-size: 1rem;
        line-height: 1em;
        text-align: center; }
  .content ul li,
  .content ol li {
    color: #373C45;
    line-height: 1.5em; }
    .content ul li:not(:first-child),
    .content ol li:not(:first-child) {
      margin-top: .5em; }

.content blockquote {
  max-width: 700px;
  margin: 2em auto;
  text-align: center; }
  .content blockquote:first-child {
    margin-top: 0; }
  .content blockquote:last-child {
    margin-bottom: 0; }
  .content blockquote p {
    font-family: "Arvo", system-ui, serif;
    color: #01509C;
    font-size: 1.5em;
    line-height: 1.5em;
    font-style: italic; }
    .content blockquote p:first-child:before {
      content: open-quote; }
    .content blockquote p:last-child:after {
      content: close-quote; }

.content .table-wrapper {
  position: relative;
  display: -ms-flexbox;
  display: flex;
  margin: 2em -15px;
  overflow-x: auto;
  padding: 0 15px;
  white-space: nowrap; }
  .content .table-wrapper:first-child {
    margin-top: 0; }
  .content .table-wrapper:last-child {
    margin-bottom: 0; }
  .content .table-wrapper:after {
    content: '';
    min-width: 15px; }
  .content .table-wrapper::-webkit-scrollbar {
    height: 0;
    width: 0; }

.content table {
  width: 100%;
  margin: 2em 0;
  border-collapse: collapse;
  color: #373C45;
  font-size: 1em; }
  .content table:first-child {
    margin-top: 0; }
  .content table:last-child {
    margin-bottom: 0; }
  .content table th,
  .content table td {
    padding: .75em; }
  .content table tr:nth-child(odd) {
    background-color: rgba(0, 0, 0, 0.025); }
  .content table tr:not(:last-child) th,
  .content table tr:not(:last-child) td {
    border-bottom: 2px solid #ebecec; }

.content iframe {
  max-width: 100%;
  margin: 3em 0; }
  .content iframe:first-child {
    margin-top: 0; }
  .content iframe:last-child {
    margin-bottom: 0; }

.content pre {
  display: block;
  margin: 2em 0;
  padding: 1em 1.5em;
  border-radius: .5em;
  border: 1px solid #d7d8da;
  background-color: #f5f5f6;
  font-family: monospace;
  color: #373C45;
  font-size: 1em;
  line-height: 1.5em;
  white-space: normal; }
  .content pre:first-child {
    margin-top: 0; }
  .content pre:last-child {
    margin-bottom: 0; }

.content .content-highlight {
  display: block;
  margin: 3em -1.5em;
  padding: 1.5em;
  border-radius: .5em;
  border: 1px solid #80a8ce;
  background-color: #e6eef5;
  color: #01407d; }
  .content .content-highlight:first-child {
    margin-top: 0; }
  .content .content-highlight:last-child {
    margin-bottom: 0; }
  .content .content-highlight * {
    color: inherit; }

/*
==========================================================================
    Components
==========================================================================
*/
.nivo-lightbox-theme-default .nivo-lightbox-close {
  background-position: center; }

.responsive-component {
  position: relative;
  max-width: 100%;
  height: 0;
  padding-bottom: 56.25%;
  overflow: hidden; }
  .responsive-component iframe,
  .responsive-component object,
  .responsive-component embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }

/* hide slick sliders on page load, show when initialized */
.slick-slider {
  display: none; }
  .slick-slider.slick-initialized {
    display: block; }

.page-wrapper {
  position: relative;
  z-index: 1;
  overflow: hidden; }

.info-bubble {
  margin-right: .25em;
  color: #00AEEF;
  cursor: pointer; }

/*
==========================================================================
    Header
==========================================================================
*/
.masthead .container {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-pack: center;
  justify-content: center; }

.masthead__logo {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  display: block;
  width: 5em; }
  .masthead__logo img {
    display: block;
    width: auto;
    height: auto; }

.masthead__title {
  margin-left: 2rem;
  color: #fff;
  font-size: 2em; }

@media only screen and (max-width: 991px) {
  .masthead__title {
    font-size: 1.5em; } }

@media only screen and (max-width: 480px) {
  .masthead__logo {
    width: 4em; }
  .masthead__title {
    font-size: 1.25em; } }

@media only screen and (max-width: 400px) {
  .masthead__title {
    font-size: 1em; } }

/*
==========================================================================
	Footer
==========================================================================
*/
.site-footer {
  margin: 3em 0;
  font-size: .875em;
  text-align: center; }
  .site-footer .container {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-pack: center;
    justify-content: center; }
  .site-footer__copyright {
    color: rgba(255, 255, 255, 0.5); }
  .site-footer__signature {
    display: block;
    margin: .5em 0;
    color: rgba(255, 255, 255, 0.75); }
    .site-footer__signature:first-child {
      margin-top: 0; }
    .site-footer__signature:last-child {
      margin-bottom: 0; }
    .site-footer__signature:hover, .site-footer__signature:focus {
      color: #fff;
      text-decoration: none; }

/*
==========================================================================
	Forms - Base element styling
==========================================================================
*/
.fields .field-row {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -ms-flex-align: start;
  align-items: flex-start;
  margin: 0 -1em -1.5em 0; }
  .fields .field-row .field {
    -ms-flex: 1 1 auto;
    flex: 1 1 auto;
    margin: 0 1em 1.5em 0 !important;
    min-width: 10em; }
    .fields .field-row .field__input {
      max-width: none; }

.fields .field {
  margin: 1.5em 0; }
  .fields .field:first-child {
    margin-top: 0; }
  .fields .field:last-child {
    margin-bottom: 0; }
  .fields .field.field--show-if-imperial, .fields .field.field--show-if-metric {
    display: none; }
  .fields .field.field--wide .field__input {
    max-width: none; }
  .fields .field__label {
    display: block;
    margin: .75em 0;
    color: #373C45;
    font-size: 1em;
    font-weight: bold; }
    .fields .field__label:first-child {
      margin-top: 0; }
    .fields .field__label:last-child {
      margin-bottom: 0; }
    .fields .field__label .required {
      color: #F37032;
      font-weight: bold; }
  .fields .field__description {
    margin: .5em 0;
    color: #9b9ea2;
    font-size: .875em; }
    .fields .field__description:first-child {
      margin-top: 0; }
    .fields .field__description:last-child {
      margin-bottom: 0; }
    .fields .field__description.field__description--error {
      color: red;
      font-weight: bold; }
    .fields .field__description.field__description--success {
      color: green;
      font-weight: bold; }
    .fields .field__description.field__description--notice {
      color: #00AEEF;
      font-weight: bold; }
  .fields .field__input {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    max-width: 20em; }
  .fields .field__input-wrapper {
    -ms-flex-positive: 1;
    flex-grow: 1;
    position: relative; }
    .fields .field__input-wrapper input,
    .fields .field__input-wrapper select {
      -webkit-appearance: none;
      appearance: none;
      height: auto;
      width: auto;
      margin: 0;
      padding: 0;
      border-radius: 0;
      border: 0;
      background: none;
      font-family: inherit;
      font-size: 1rem;
      height: 3em;
      width: 100%;
      padding: 0 .75em;
      border-radius: .25em;
      border: 1px solid #d7d8da;
      transition: all .15s ease-out; }
      .fields .field__input-wrapper input:hover:not(:disabled):not(:read-only), .fields .field__input-wrapper input:focus:not(:disabled):not(:read-only),
      .fields .field__input-wrapper select:hover:not(:disabled):not(:read-only),
      .fields .field__input-wrapper select:focus:not(:disabled):not(:read-only) {
        border-color: #00AEEF;
        box-shadow: inset 0 0.125em 0.25em rgba(55, 60, 69, 0.1), 0 0 0.25em rgba(0, 174, 239, 0.25); }
    .fields .field__input-wrapper select {
      cursor: pointer;
      box-shadow: inset 0 -0.5em 1em rgba(55, 60, 69, 0.05); }
      .fields .field__input-wrapper select:hover, .fields .field__input-wrapper select:focus {
        border-color: #00AEEF;
        box-shadow: inset 0 -0.5em 1em rgba(55, 60, 69, 0.05), 0 0 0.25em rgba(0, 174, 239, 0.25); }
    .fields .field__input-wrapper input {
      box-shadow: inset 0 0.125em 0.25em rgba(55, 60, 69, 0.1); }
      .fields .field__input-wrapper input:read-only {
        background-color: #ebecec;
        color: #9b9ea2;
        font-weight: bold;
        cursor: auto; }
  .fields .field__icon {
    position: absolute;
    top: 0;
    bottom: 0;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 2.25em;
    color: #9b9ea2;
    pointer-events: none; }
    .fields .field__icon.field__icon--left {
      left: 0; }
      .fields .field__icon.field__icon--left + input,
      .fields .field__icon.field__icon--left + select {
        padding-left: 2em; }
    .fields .field__icon.field__icon--right {
      right: 0; }
      .fields .field__icon.field__icon--right + input,
      .fields .field__icon.field__icon--right + select {
        padding-right: 2em; }
  .fields .field__prepend, .fields .field__append {
    color: #696d74; }
  .fields .field__prepend {
    margin-right: .5em; }
  .fields .field__append {
    margin-left: .5em; }

/*
==========================================================================
	Filters
==========================================================================
*/
/*
==========================================================================
    Modals
==========================================================================
*/
body.show-modal {
  overflow: hidden; }

.modals {
  position: fixed;
  z-index: 9999;
  top: 0;
  left: 0;
  display: none;
  width: 100%;
  height: 100%;
  background-color: rgba(28, 30, 35, 0.5); }
  .modals .modals__inner {
    position: absolute;
    top: 0;
    left: 0;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    padding: 1rem; }
  .modals .modal {
    position: relative;
    display: none;
    width: 600px;
    max-width: 90%;
    border-radius: .5em;
    background-color: #fff;
    box-shadow: 0 0.5em 1em rgba(55, 60, 69, 0.05);
    opacity: 0;
    transform: translate3d(0, 2.5vh, 0);
    transition: all .15s ease-in-out;
    overflow: hidden; }
    .modals .modal.modal--visible {
      opacity: 1;
      transform: translate3d(0, 0, 0); }
    .modals .modal.modal--loading .modal__loader {
      opacity: 1;
      visibility: visible; }
      .modals .modal.modal--loading .modal__loader-icon {
        animation: rotate-360-clockwise 1s infinite linear; }
    .modals .modal__loader {
      position: absolute;
      z-index: 2;
      top: 0;
      left: 0;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-align: center;
      align-items: center;
      -ms-flex-pack: center;
      justify-content: center;
      width: 100%;
      height: 100%;
      background-color: rgba(255, 255, 255, 0.5);
      color: #F37032;
      font-size: 2em;
      line-height: 1em;
      text-align: center;
      opacity: 0;
      visibility: hidden;
      transition: all .15s ease-out; }
    .modals .modal__close {
      -webkit-appearance: none;
      appearance: none;
      height: auto;
      width: auto;
      margin: 0;
      padding: 0;
      border-radius: 0;
      border: 0;
      background: none;
      font-family: inherit;
      font-size: 1rem;
      position: absolute;
      top: 0;
      right: 0;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-align: center;
      align-items: center;
      -ms-flex-pack: center;
      justify-content: center;
      width: 2.5em;
      height: 2.5em;
      color: #d7d8da;
      font-size: 1.25em;
      line-height: 1em;
      cursor: pointer;
      transition: all .15s ease-in-out, top 0s; }
      .modals .modal__close:hover, .modals .modal__close:focus {
        color: #9b9ea2; }
    .modals .modal__scroll-container {
      max-height: 80vh;
      padding: 1.75em 2.5em 2em;
      overflow: auto;
      -webkit-overflow-scrolling: touch; }

@media only screen and (max-width: 480px) {
  .modals .modal {
    max-width: none; }
    .modals .modal__scroll-container {
      padding: 1.5em; } }

/*
==========================================================================
    Popovers (Bootstrap)
==========================================================================
*/
.popover {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1060;
  display: none;
  max-width: 280px;
  padding: 0;
  font-style: normal;
  font-weight: normal;
  letter-spacing: normal;
  line-break: auto;
  text-align: left;
  text-decoration: none;
  text-shadow: none;
  text-transform: none;
  white-space: normal;
  word-break: normal;
  word-spacing: normal;
  word-wrap: normal;
  font-size: 1rem;
  background-clip: padding-box;
  border-radius: .25em;
  background-color: #fff;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1), 0 0 0 1px rgba(0, 0, 0, 0.05), 0 0 75vw 75vw rgba(0, 0, 0, 0.125); }
  .popover.top {
    margin-top: -15px; }
  .popover.right {
    margin-left: 15px; }
  .popover.bottom {
    margin-top: 15px; }
  .popover.left {
    margin-left: -15px; }

.popover-title {
  padding: .875em 1rem;
  border-radius: .25em .25em 0 0;
  background-color: #fafafa;
  font-family: "Barlow", system-ui, sans-serif;
  color: #01509C;
  font-size: .875em; }

.popover-content {
  padding: 1em 1rem;
  color: #373C45;
  font-size: .75em;
  line-height: 1.618em; }
  .popover-content * {
    color: inherit; }
  .popover-content h1,
  .popover-content h2,
  .popover-content h3,
  .popover-content h4,
  .popover-content h5,
  .popover-content h6 {
    margin: 1em 0 .25em; }
    .popover-content h1:first-child,
    .popover-content h2:first-child,
    .popover-content h3:first-child,
    .popover-content h4:first-child,
    .popover-content h5:first-child,
    .popover-content h6:first-child {
      margin-top: 0; }
    .popover-content h1:last-child,
    .popover-content h2:last-child,
    .popover-content h3:last-child,
    .popover-content h4:last-child,
    .popover-content h5:last-child,
    .popover-content h6:last-child {
      margin-bottom: 0; }
  .popover-content ul,
  .popover-content ol {
    margin: 10px 15px; }
    .popover-content ul:first-child,
    .popover-content ol:first-child {
      margin-top: 0; }
    .popover-content ul:last-child,
    .popover-content ol:last-child {
      margin-bottom: 0; }
  .popover-content img {
    display: block;
    max-width: 15em;
    height: auto; }

.popover > .arrow, .popover > .arrow:after {
  position: absolute;
  display: block;
  width: 0;
  height: 0;
  border-color: transparent;
  border-style: solid; }

.popover > .arrow {
  border-width: 11px; }

.popover > .arrow:after {
  border-width: 10px;
  content: ""; }

.popover.top > .arrow {
  left: 50%;
  margin-left: -11px;
  border-bottom-width: 0;
  border-top-color: #e6e6e6;
  bottom: -11px; }
  .popover.top > .arrow:after {
    content: " ";
    bottom: 1px;
    margin-left: -10px;
    border-bottom-width: 0;
    border-top-color: #fff; }

.popover.right > .arrow {
  top: 50%;
  left: -11px;
  margin-top: -11px;
  border-left-width: 0;
  border-right-color: #e6e6e6; }
  .popover.right > .arrow:after {
    content: " ";
    left: 1px;
    bottom: -10px;
    border-left-width: 0;
    border-right-color: #fff; }

.popover.bottom > .arrow {
  left: 50%;
  margin-left: -11px;
  border-top-width: 0;
  border-bottom-color: #e6e6e6;
  top: -11px; }
  .popover.bottom > .arrow:after {
    content: " ";
    top: 1px;
    margin-left: -10px;
    border-top-width: 0;
    border-bottom-color: #fff; }

.popover.left > .arrow {
  top: 50%;
  right: -11px;
  margin-top: -11px;
  border-right-width: 0;
  border-left-color: #e6e6e6; }
  .popover.left > .arrow:after {
    content: " ";
    right: 1px;
    border-right-width: 0;
    border-left-color: #fff;
    bottom: -10px; }

/*
==========================================================================
    Tooltips (Bootstrap)
==========================================================================
*/
.tooltip {
  position: absolute;
  z-index: 5;
  display: block;
  font-family: "Arvo", system-ui, serif;
  font-size: .875em;
  line-height: 1.3em;
  font-weight: 600;
  opacity: 0; }
  .tooltip.in {
    opacity: 1; }
  .tooltip.top {
    margin-top: -3px;
    padding: 5px 0; }
  .tooltip.right {
    margin-left: 3px;
    padding: 0 5px; }
  .tooltip.bottom {
    margin-top: 3px;
    padding: 5px 0; }
  .tooltip.left {
    margin-left: -3px;
    padding: 0 5px; }

.tooltip-inner {
  max-width: 200px;
  padding: .5em 1em;
  color: #fff;
  text-align: center;
  background-color: #001427;
  border-radius: .5em; }

.tooltip-arrow {
  position: absolute;
  width: 0;
  height: 0;
  border-color: transparent;
  border-style: solid; }

.tooltip.top .tooltip-arrow {
  bottom: 0;
  left: 50%;
  margin-left: -5px;
  border-width: 5px 5px 0;
  border-top-color: #001427; }

.tooltip.top-left .tooltip-arrow {
  bottom: 0;
  right: 5px;
  margin-bottom: -5px;
  border-width: 5px 5px 0;
  border-top-color: #001427; }

.tooltip.top-right .tooltip-arrow {
  bottom: 0;
  left: 5px;
  margin-bottom: -5px;
  border-width: 5px 5px 0;
  border-top-color: #001427; }

.tooltip.right .tooltip-arrow {
  top: 50%;
  left: 0;
  margin-top: -5px;
  border-width: 5px 5px 5px 0;
  border-right-color: #001427; }

.tooltip.left .tooltip-arrow {
  top: 50%;
  right: 0;
  margin-top: -5px;
  border-width: 5px 0 5px 5px;
  border-left-color: #001427; }

.tooltip.bottom .tooltip-arrow {
  top: 0;
  left: 50%;
  margin-left: -5px;
  border-width: 0 5px 5px;
  border-bottom-color: #001427; }

.tooltip.bottom-left .tooltip-arrow {
  top: 0;
  right: 5px;
  margin-top: -5px;
  border-width: 0 5px 5px;
  border-bottom-color: #001427; }

.tooltip.bottom-right .tooltip-arrow {
  top: 0;
  left: 5px;
  margin-top: -5px;
  border-width: 0 5px 5px;
  border-bottom-color: #001427; }

/*
==========================================================================
	Widgets
==========================================================================
*/
/*
==========================================================================
    Buttons
==========================================================================
*/
.btns {
  margin: 2em 0; }
  .btns:first-child {
    margin-top: 0; }
  .btns:last-child {
    margin-bottom: 0; }
  .btns.btns--small-margin {
    margin: 1em 0; }
    .btns.btns--small-margin:first-child {
      margin-top: 0; }
    .btns.btns--small-margin:last-child {
      margin-bottom: 0; }
  .btns.btns--centered .btns__inner {
    -ms-flex-pack: center;
    justify-content: center; }
  .btns.btns--vertical.btns--centered .btns__inner {
    -ms-flex-align: center;
    align-items: center; }
  .btns.btns--vertical .btns__inner {
    -ms-flex-direction: column;
    flex-direction: column;
    -ms-flex-align: start;
    align-items: flex-start;
    -ms-flex-pack: center;
    justify-content: center; }
  .btns__inner {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin: -.5rem; }
  .btns .btn {
    margin: .5rem; }

.btn {
  -webkit-appearance: none;
  appearance: none;
  height: auto;
  width: auto;
  margin: 0;
  padding: 0;
  border-radius: 0;
  border: 0;
  background: none;
  font-family: inherit;
  font-size: 1rem;
  position: relative;
  display: inline-block;
  padding: .75em 1.25em;
  border-radius: .5em;
  font-size: 1rem;
  line-height: 1.5em;
  text-transform: uppercase;
  text-align: center;
  text-decoration: none !important;
  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none;
  cursor: pointer;
  transition: all 0.15s ease-out, top 0s; }
  .btn:active {
    top: 1px; }
  .btn:disabled, .btn.btn--disabled {
    border-color: transparent !important;
    background-color: #e1e2e3 !important;
    color: #9b9ea2 !important;
    cursor: not-allowed;
    box-shadow: none !important; }
  .btn.btn--default {
    background-color: #f5f5f6;
    color: #373C45;
    box-shadow: inset 0 -3px 0 rgba(0, 0, 0, 0.075); }
    .btn.btn--default.btn--outline {
      background: transparent;
      color: #696d74;
      box-shadow: inset 0 0 0 2px #f5f5f6; }
      .btn.btn--default.btn--outline:active {
        box-shadow: inset 0 0 0 2px #e9e9ea; }
    .btn.btn--default:hover, .btn.btn--default:focus {
      background-color: #f6f6f7;
      color: #373C45; }
    .btn.btn--default:active {
      background-color: #e9e9ea; }
  .btn.btn--primary {
    background-color: #F37032;
    color: #fff; }
    .btn.btn--primary.btn--outline {
      background: transparent;
      color: #F37032;
      box-shadow: inset 0 0 0 2px #F37032; }
      .btn.btn--primary.btn--outline:hover, .btn.btn--primary.btn--outline:focus {
        box-shadow: inset 0 0 0 2px transparent; }
    .btn.btn--primary.btn--ghost {
      background: transparent;
      color: #fff;
      box-shadow: inset 0 0 0 2px #fff; }
      .btn.btn--primary.btn--ghost:hover, .btn.btn--primary.btn--ghost:focus {
        box-shadow: inset 0 0 0 2px transparent; }
    .btn.btn--primary:hover, .btn.btn--primary:focus {
      background-color: #f47e47;
      color: #fff; }
    .btn.btn--primary:active {
      background-color: #e76a30; }
  .btn.btn--secondary {
    background-color: #00AEEF;
    color: #fff; }
    .btn.btn--secondary.btn--outline {
      background: transparent;
      color: #00AEEF;
      box-shadow: inset 0 0 0 2px #00AEEF; }
      .btn.btn--secondary.btn--outline:hover, .btn.btn--secondary.btn--outline:focus {
        box-shadow: inset 0 0 0 2px transparent; }
    .btn.btn--secondary.btn--ghost {
      background: transparent;
      color: #fff;
      box-shadow: inset 0 0 0 2px #fff; }
      .btn.btn--secondary.btn--ghost:hover, .btn.btn--secondary.btn--ghost:focus {
        box-shadow: inset 0 0 0 2px transparent; }
    .btn.btn--secondary:hover, .btn.btn--secondary:focus {
      background-color: #1ab6f1;
      color: #fff; }
    .btn.btn--secondary:active {
      background-color: #00a5e3; }
  .btn.btn--white {
    background-color: #fff;
    color: #01509C; }
    .btn.btn--white.btn--outline {
      background: transparent;
      box-shadow: inset 0 0 0 2px #fff;
      color: #fff; }
      .btn.btn--white.btn--outline:hover, .btn.btn--white.btn--outline:focus {
        box-shadow: inset 0 0 0 2px transparent; }
    .btn.btn--white:hover, .btn.btn--white:focus {
      background-color: #fff;
      color: #01509C; }
    .btn.btn--white:active {
      background-color: #f2f2f2; }
  .btn.btn--small {
    font-size: .875rem; }
  .btn.btn--x-small {
    font-size: .75rem; }
  .btn.btn--large {
    font-size: 1.125rem; }
  .btn.btn--x-large {
    font-size: 1.25rem; }
  .btn.btn--small-padding {
    padding: .5em .75em; }
  .btn.btn--wide, .btn.btn--full {
    width: 100%;
    padding-left: 1em;
    padding-right: 1em; }
  .btn.btn--grow {
    -ms-flex-positive: 1;
    flex-grow: 1;
    padding-left: 1em;
    padding-right: 1em; }

/* == When screen is 480px or smaller == */
@media only screen and (max-width: 480px) {
  .btn:not(.btn--dont-expand) {
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important; } }

/*
==========================================================================
    Sections
==========================================================================
*/
.section {
  position: relative;
  z-index: 1;
  padding: 0;
  margin: 7.5em 0; }
  .section.section--small-margin {
    margin: 3.25em 0; }
    .section.section--small-margin-top {
      margin-top: 3.25em; }
    .section.section--small-margin-bottom {
      margin-bottom: 3.25em; }
  .section.section--large-margin {
    margin: 10.75em 0; }
    .section.section--large-margin-top {
      margin-top: 10.75em; }
    .section.section--large-margin-bottom {
      margin-bottom: 10.75em; }
  .section.section--padding {
    margin: 0; }
    .section.section--padding.section--small-padding-top .section__inner {
      padding-top: 3.25em; }
    .section.section--padding.section--small-padding-bottom .section__inner {
      padding-bottom: 3.25em; }
    .section.section--padding.section--small-padding .section__inner {
      padding: 3.25em 0; }
    .section.section--padding.section--large-padding-top .section__inner {
      padding-top: 10.75em; }
    .section.section--padding.section--large-padding-bottom .section__inner {
      padding-bottom: 10.75em; }
    .section.section--padding.section--large-padding .section__inner {
      padding: 10.75em 0; }
    .section.section--padding .section__inner {
      padding: 7.5em 0; }
  .section.section--border-top {
    border-top: 1px solid rgba(0, 0, 0, 0.1); }
  .section.section--border-bottom {
    border-bottom: 1px solid rgba(0, 0, 0, 0.1); }
  .section.section--higher-zindex {
    z-index: 5; }
  .section.section--full {
    display: -ms-flexbox;
    display: flex; }
    .section.section--full .section__inner {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-align: center;
      align-items: center;
      width: 100%;
      min-height: 100vh; }
  .section__background {
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden; }
    .section__background.section__background--grey {
      background-color: #f5f5f6; }
    .section__background.section__background--dark-grey {
      background-color: #ebecec; }
    .section__background.section__background--prim {
      background-color: #01509C; }
    .section__background.section__background--sec {
      background-color: #00AEEF; }
    .section__background.section__background--image {
      background-size: cover;
      background-position: center;
      background-repeat: no-repeat; }
      .section__background.section__background--image.section__background--fixed {
        background-attachment: fixed; }
    .section__background.section__background--fade:after, .section__background.section__background--fade-light:after {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      height: 100%;
      width: 100%; }
    .section__background.section__background--fade:after {
      background-color: rgba(55, 60, 69, 0.5); }
    .section__background.section__background--fade-light:after {
      background-color: rgba(255, 255, 255, 0.5); }
  .section__inner {
    position: relative;
    z-index: 2; }
  .section__footer {
    margin: 3em 0 0; }
    .section__footer.section__footer--smaller-margin {
      margin: 1.5em 0 0; }

/* == When screen is 580px or smaller == */
@media only screen and (max-width: 580px) {
  .section {
    margin: 4em 0; }
    .section.section--small-margin {
      margin: 2.5em 0; }
      .section.section--small-margin-top {
        margin-top: 2.5em; }
      .section.section--small-margin-bottom {
        margin-bottom: 2.5em; }
    .section.section--large-margin {
      margin: 6em 0; }
      .section.section--large-margin-top {
        margin-top: 6em; }
      .section.section--large-margin-bottom {
        margin-bottom: 6em; }
    .section.section--padding {
      margin: 0; }
      .section.section--padding.section--small-padding-top .section__inner {
        padding-top: 2.5em; }
      .section.section--padding.section--small-padding-bottom .section__inner {
        padding-bottom: 2.5em; }
      .section.section--padding.section--small-padding .section__inner {
        padding: 2.5em 0; }
      .section.section--padding.section--large-padding-top .section__inner {
        padding-top: 6em; }
      .section.section--padding.section--large-padding-bottom .section__inner {
        padding-bottom: 6em; }
      .section.section--padding.section--large-padding .section__inner {
        padding: 6em 0; }
      .section.section--padding .section__inner {
        padding: 4em 0; } }

/*
==========================================================================
    Section-title
==========================================================================
*/
.section-title {
  margin: 4em 0 2.5em; }
  .section-title:first-child {
    margin-top: 0; }
  .section-title:last-child {
    margin-bottom: 0; }
  .section-title.section-title--inverted .title,
  .section-title.section-title--inverted .subtitle {
    color: #fff; }
  .section-title.section-title--small {
    font-size: .75em; }
  .section-title.section-title--large {
    font-size: 1.25em; }
  .section-title.section-title--small-margin {
    margin: 2em 0 1.25em; }
    .section-title.section-title--small-margin:first-child {
      margin-top: 0; }
    .section-title.section-title--small-margin:last-child {
      margin-bottom: 0; }
  .section-title .title {
    margin: .35em 0 .5em;
    font-size: 2em; }
    .section-title .title:first-child {
      margin-top: 0; }
    .section-title .title:last-child {
      margin-bottom: 0; }
  .section-title .subtitle {
    margin: 1em 0;
    font-size: 1.125em; }
    .section-title .subtitle:first-child {
      margin-top: 0; }
    .section-title .subtitle:last-child {
      margin-bottom: 0; }

/* == When screen is 767px or smaller == */
@media only screen and (max-width: 767px) {
  .section-title .title {
    font-size: 1.75em; } }

/* == When screen is 580px or smaller == */
@media only screen and (max-width: 580px) {
  .section-title {
    margin: 3em 0 1.5em; }
    .section-title:first-child {
      margin-top: 0; }
    .section-title:last-child {
      margin-bottom: 0; }
    .section-title.section-title--small-margin {
      margin: 1.5em 0 .75em; }
      .section-title.section-title--small-margin:first-child {
        margin-top: 0; }
      .section-title.section-title--small-margin:last-child {
        margin-bottom: 0; } }

/* == When screen is 480px or smaller == */
@media only screen and (max-width: 480px) {
  .section-title .title {
    font-size: 1.5em; }
  .section-title .subtitle {
    font-size: 1em; } }

/*
==========================================================================
    Hero
==========================================================================
*/
.hero {
  position: relative;
  padding: 0;
  margin: 0; }
  .hero__background-image, .hero__background-video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }
  .hero__background-image {
    z-index: 1;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat; }
  .hero__background-video {
    z-index: 2;
    background-color: #000; }
    .hero__background-video:after {
      content: '';
      position: absolute;
      z-index: 2;
      height: 100%;
      width: 100%; }
  .hero__video-player {
    position: absolute;
    z-index: 1;
    top: 50%;
    left: 50%;
    width: 1920px;
    height: 1080px;
    margin: -540px 0 0 -960px; }
  .hero__inner {
    position: relative;
    z-index: 2; }
  .hero__title {
    margin: 0;
    font-size: 4em; }
  .hero__subtitle {
    margin: .5em 0 0;
    font-size: 2em; }
  .hero__description {
    margin: 1em 0 0;
    font-size: 1.25em; }
  .hero__btns {
    margin: 1em 0 0; }
  .hero__micro {
    margin: 1em 0 0;
    font-size: 1em; }

/*
==========================================================================
    Calculator
==========================================================================
*/
.calculator {
  position: relative;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: stretch;
  align-items: stretch;
  border-radius: 1em;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.1), 0 0.125em 0.25em rgba(0, 0, 0, 0.1); }
  .calculator.calculator--loading .calculator__loader {
    opacity: 1;
    visibility: visible; }
    .calculator.calculator--loading .calculator__loader-icon {
      animation: rotate-360-clockwise 1s infinite linear; }
  .calculator__loader {
    position: absolute;
    z-index: 2;
    top: 0;
    left: 0;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    background-color: rgba(1, 80, 156, 0.5);
    color: #fff;
    font-size: 2em;
    line-height: 1em;
    text-align: center;
    opacity: 0;
    visibility: hidden;
    transition: all .15s ease-out; }
  .calculator__calculation {
    -ms-flex-positive: 1;
    flex-grow: 1;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    -ms-flex-align: stretch;
    align-items: stretch;
    min-width: 0;
    border-radius: 1em 0 0 1em;
    background-color: #fff; }
    .calculator__calculation fieldset {
      padding: 3em; }
  .calculator__result {
    position: relative;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    -ms-flex-align: stretch;
    align-items: stretch;
    width: 30em;
    padding: 3em;
    border-radius: 0 1em 1em 0;
    background-color: #01509C; }
    .calculator__result:after {
      content: '';
      position: absolute;
      top: 5em;
      left: 0;
      border: 1.25em solid transparent;
      border-left-color: #fff;
      pointer-events: none; }
    .calculator__result .calculator__title, .calculator__result .calculator__subtitle {
      color: #fff; }
    .calculator__result .calculator__description {
      color: rgba(255, 255, 255, 0.75); }
    .calculator__result .data-table {
      border: 0;
      background: none;
      color: #fff; }
      .calculator__result .data-table tbody tr:nth-child(even) {
        background: none; }
      .calculator__result .data-table tr.totals {
        color: #fff; }
      .calculator__result .data-table td,
      .calculator__result .data-table th {
        padding: .5em .75em; }
        .calculator__result .data-table td:first-child,
        .calculator__result .data-table th:first-child {
          padding-left: 0; }
        .calculator__result .data-table td:last-child,
        .calculator__result .data-table th:last-child {
          padding-right: 0; }
    .calculator__result .fields .field__input {
      max-width: none; }
    .calculator__result .fields .field__label {
      color: #fff; }
    .calculator__result .fields .field__description {
      color: rgba(255, 255, 255, 0.75); }
    .calculator__result .fields .field__input-wrapper input,
    .calculator__result .fields .field__input-wrapper select {
      border-color: rgba(255, 255, 255, 0.25);
      background-color: rgba(0, 0, 0, 0.1);
      color: #fff; }
  .calculator__title {
    margin: 2em 0 .25em;
    font-family: "Barlow", system-ui, sans-serif;
    font-size: 1.5em; }
    .calculator__title:first-child {
      margin-top: 0; }
    .calculator__title:last-child {
      margin-bottom: 0; }
  .calculator__subtitle {
    margin: 1.5em 0 .25em;
    font-family: "Barlow", system-ui, sans-serif;
    font-size: 1.25em; }
    .calculator__subtitle:first-child {
      margin-top: 0; }
    .calculator__subtitle:last-child {
      margin-bottom: 0; }
  .calculator__description {
    margin: 0 0 .5em;
    font-size: 1em; }
  .calculator__steps-indicator {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: stretch;
    align-items: stretch; }
    .calculator__steps-indicator .step {
      -ms-flex: 1 1 0px;
      flex: 1 1 0;
      -webkit-appearance: none;
      appearance: none;
      height: auto;
      width: auto;
      margin: 0;
      padding: 0;
      border-radius: 0;
      border: 0;
      background: none;
      font-family: inherit;
      font-size: 1rem;
      padding: 1em;
      background-color: #f2f6fa;
      color: rgba(1, 80, 156, 0.5); }
      .calculator__steps-indicator .step:first-child {
        border-top-left-radius: 1em; }
      .calculator__steps-indicator .step__icon {
        font-size: 1.5em; }
      .calculator__steps-indicator .step.step--active {
        background: transparent;
        color: #F37032; }
  .calculator__slider .slick-track {
    height: auto; }
  .calculator__controls {
    margin-top: auto;
    padding: 1.5em;
    border-bottom-left-radius: 1em;
    background-color: #f2f6fa; }
  .calculator .fields {
    margin: 1.5em 0; }
    .calculator .fields:first-child {
      margin-top: 0; }
    .calculator .fields:last-child {
      margin-bottom: 0; }
  .calculator .data-table {
    margin: 1em 0; }
    .calculator .data-table:first-child {
      margin-top: 0; }
    .calculator .data-table:last-child {
      margin-bottom: 0; }
  .calculator .columns {
    margin: 2em 0; }
    .calculator .columns:first-child {
      margin-top: 0; }
    .calculator .columns:last-child {
      margin-bottom: 0; }
  .calculator .show-if-calculation-complete {
    display: none; }
  .calculator fieldset {
    margin: 3em 0;
    border: 0; }
    .calculator fieldset:first-child {
      margin-top: 0; }
    .calculator fieldset:last-child {
      margin-bottom: 0; }

.large-estimate {
  margin: 2em 0;
  text-align: center; }
  .large-estimate:first-child {
    margin-top: 0; }
  .large-estimate:last-child {
    margin-bottom: 0; }
  .large-estimate__title {
    margin: 0 0 .5em;
    color: rgba(255, 255, 255, 0.75);
    font-size: 1.125em; }
  .large-estimate__result strong {
    color: #fff;
    font-size: 2.5em;
    font-weight: normal; }
  .large-estimate__result small {
    color: rgba(255, 255, 255, 0.75);
    font-size: 1.125em; }

@media only screen and (max-width: 1200px) {
  .calculator__result {
    width: 25em; }
  .calculator .fields .field__input {
    max-width: none; }
  .calculator .columns__grid.columns__grid--small-gap .column.column--half {
    -ms-flex-preferred-size: calc(100% - 1.5em);
    flex-basis: calc(100% - 1.5em); } }

@media only screen and (max-width: 991px) {
  .calculator {
    -ms-flex-direction: column;
    flex-direction: column; }
    .calculator__calculation {
      border-radius: 1em 1em 0 0; }
    .calculator__result {
      width: 100%;
      border-radius: 0 0 1em 1em; }
      .calculator__result:after {
        top: 0;
        left: calc(50% - 1em);
        border-width: 1em;
        border-left-color: transparent;
        border-top-color: #f2f6fa; }
    .calculator__controls {
      border-bottom-left-radius: 0; }
    .calculator__steps-indicator .step:last-child {
      border-top-right-radius: 1em; } }

@media only screen and (max-width: 480px) {
  .calculator__calculation fieldset {
    padding: 2em; }
  .calculator__result {
    padding: 2em; }
  .calculator__controls .btn {
    -ms-flex-positive: 1;
    flex-grow: 1; }
  .calculator__controls .flex-spacer {
    display: none; } }

@media only screen and (max-width: 400px) {
  .calculator__steps-indicator .step__icon {
    font-size: 1.25em; } }

/*
==========================================================================
    Columns
==========================================================================
*/
.columns {
  margin: 1.5em 0; }
  .columns:first-child {
    margin-top: 0; }
  .columns:last-child {
    margin-bottom: 0; }
  .columns__grid {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -ms-flex-align: stretch;
    align-items: stretch;
    -ms-flex-pack: start;
    justify-content: flex-start;
    margin: -1.5em; }
    .columns__grid.columns__grid--align-center {
      -ms-flex-align: center;
      align-items: center; }
    .columns__grid.columns__grid--justify-center {
      -ms-flex-pack: center;
      justify-content: center; }
    .columns__grid.columns__grid--large-gap {
      margin: -1.5em -2.5em; }
      .columns__grid.columns__grid--large-gap .column {
        margin: 1.5em 2.5em; }
        .columns__grid.columns__grid--large-gap .column.column--quarter {
          -ms-flex-preferred-size: calc(25% - 5em);
          flex-basis: calc(25% - 5em); }
        .columns__grid.columns__grid--large-gap .column.column--third {
          -ms-flex-preferred-size: calc(33.33% - 5em);
          flex-basis: calc(33.33% - 5em); }
        .columns__grid.columns__grid--large-gap .column.column--half {
          -ms-flex-preferred-size: calc(50% - 5em);
          flex-basis: calc(50% - 5em); }
    .columns__grid.columns__grid--small-gap {
      margin: -1.5em -.75em; }
      .columns__grid.columns__grid--small-gap .column {
        margin: 1.5em .75em; }
        .columns__grid.columns__grid--small-gap .column.column--quarter {
          -ms-flex-preferred-size: calc(25% - 1.5em);
          flex-basis: calc(25% - 1.5em); }
        .columns__grid.columns__grid--small-gap .column.column--third {
          -ms-flex-preferred-size: calc(33.33% - 1.5em);
          flex-basis: calc(33.33% - 1.5em); }
        .columns__grid.columns__grid--small-gap .column.column--half {
          -ms-flex-preferred-size: calc(50% - 1.5em);
          flex-basis: calc(50% - 1.5em); }
    .columns__grid.columns__grid--order-reverse {
      -ms-flex-direction: row-reverse;
      flex-direction: row-reverse; }
    .columns__grid.columns__grid--nowrap {
      -ms-flex-wrap: nowrap;
      flex-wrap: nowrap; }
    .columns__grid .column {
      position: relative;
      -ms-flex: 1;
      flex: 1;
      min-width: 0;
      margin: 1.5em; }
      .columns__grid .column.column--small {
        -ms-flex-positive: 0;
        flex-grow: 0;
        -ms-flex-preferred-size: auto;
        flex-basis: auto; }
      .columns__grid .column.column--quarter {
        -ms-flex-positive: 0;
        flex-grow: 0;
        -ms-flex-preferred-size: calc(25% - 3em);
        flex-basis: calc(25% - 3em); }
      .columns__grid .column.column--third {
        -ms-flex-positive: 0;
        flex-grow: 0;
        -ms-flex-preferred-size: calc(33.33% - 3em);
        flex-basis: calc(33.33% - 3em); }
      .columns__grid .column.column--half {
        -ms-flex-positive: 0;
        flex-grow: 0;
        -ms-flex-preferred-size: calc(50% - 3em);
        flex-basis: calc(50% - 3em); }
      .columns__grid .column.column--padding {
        padding: 3em; }
      .columns__grid .column.column--align-start {
        -ms-flex-item-align: start;
        align-self: flex-start; }
      .columns__grid .column.text-center .img-responsive {
        margin-left: auto;
        margin-right: auto; }
      .columns__grid .column.text-center .btns__inner {
        -ms-flex-pack: center;
        justify-content: center; }
      .columns__grid .column__inner {
        position: relative;
        z-index: 2; }
      .columns__grid .column > img {
        border-radius: .5em; }

/* == When screen is 1200px or smaller == */
@media only screen and (max-width: 1200px) {
  .columns__grid.columns__grid--large-gap .column.column--quarter {
    -ms-flex-preferred-size: calc(33.33% - 5em);
    flex-basis: calc(33.33% - 5em); }
  .columns__grid.columns__grid--small-gap .column.column--quarter {
    -ms-flex-preferred-size: calc(33.33% - 1.5em);
    flex-basis: calc(33.33% - 1.5em); }
  .columns__grid .column.column--quarter {
    -ms-flex-preferred-size: calc(33.33% - 3em);
    flex-basis: calc(33.33% - 3em); } }

/* == When screen is 991px or smaller == */
@media only screen and (max-width: 991px) {
  .columns__grid.columns__grid--large-gap .column.column--third {
    -ms-flex-preferred-size: calc(50% - 5em);
    flex-basis: calc(50% - 5em); }
  .columns__grid.columns__grid--large-gap .column.column--half {
    -ms-flex-preferred-size: calc(100% - 5em);
    flex-basis: calc(100% - 5em); }
  .columns__grid.columns__grid--small-gap .column.column--third {
    -ms-flex-preferred-size: calc(50% - 1.5em);
    flex-basis: calc(50% - 1.5em); }
  .columns__grid.columns__grid--small-gap .column.column--half {
    -ms-flex-preferred-size: calc(100% - 1.5em);
    flex-basis: calc(100% - 1.5em); }
  .columns__grid .column.column--third {
    -ms-flex-preferred-size: calc(50% - 3em);
    flex-basis: calc(50% - 3em); }
  .columns__grid .column.column--half {
    -ms-flex-preferred-size: calc(100% - 3em);
    flex-basis: calc(100% - 3em); } }

/* == When screen is 767px or smaller == */
@media only screen and (max-width: 767px) {
  .columns__grid.columns__grid--large-gap .column.column--quarter {
    -ms-flex-preferred-size: calc(50% - 5em);
    flex-basis: calc(50% - 5em); }
  .columns__grid.columns__grid--small-gap .column.column--quarter {
    -ms-flex-preferred-size: calc(50% - 1.5em);
    flex-basis: calc(50% - 1.5em); }
  .columns__grid .column.column--quarter {
    -ms-flex-preferred-size: calc(50% - 3em);
    flex-basis: calc(50% - 3em); } }

/* == When screen is 580px or smaller == */
@media only screen and (max-width: 580px) {
  .columns__grid.columns__grid--large-gap .column.column--third {
    -ms-flex-preferred-size: calc(100% - 5em);
    flex-basis: calc(100% - 5em); }
  .columns__grid.columns__grid--small-gap .column.column--third {
    -ms-flex-preferred-size: calc(100% - 1.5em);
    flex-basis: calc(100% - 1.5em); }
  .columns__grid .column.column--third {
    -ms-flex-preferred-size: calc(100% - 3em);
    flex-basis: calc(100% - 3em); } }

/* == When screen is 480px or smaller == */
@media only screen and (max-width: 480px) {
  .columns.columns--usps .content {
    max-width: 250px;
    margin: 0 auto; }
  .columns__grid.columns__grid--large-gap .column.column--quarter {
    -ms-flex-preferred-size: calc(100% - 5em);
    flex-basis: calc(100% - 5em); }
  .columns__grid.columns__grid--small-gap .column.column--quarter {
    -ms-flex-preferred-size: calc(100% - 1.5em);
    flex-basis: calc(100% - 1.5em); }
  .columns__grid .column.column--quarter {
    -ms-flex-preferred-size: calc(100% - 3em);
    flex-basis: calc(100% - 3em); } }

/*
==========================================================================
    Data-table
==========================================================================
*/
.table-container {
  max-height: 75vh;
  padding: 0 0 10px;
  overflow: auto;
  -webkit-overflow-scrolling: touch; }

.data-table {
  width: 100%;
  border-collapse: collapse;
  border: 1px solid #d7d8da;
  background-color: #fff;
  color: #373C45;
  white-space: nowrap; }
  .data-table__title {
    font-size: 1em; }
  .data-table__divider {
    position: relative;
    color: #9b9ea2;
    font-weight: bold; }
    .data-table__divider:after {
      content: '';
      position: absolute;
      top: calc(50% - 1px);
      left: 0;
      width: 100%;
      border-top: 2px dashed #ebecec; }
    .data-table__divider-label {
      position: relative;
      z-index: 1;
      display: inline-block;
      padding: .25em .65em;
      border-radius: .25em;
      border: 2px solid #ebecec;
      background-color: #fff; }
  .data-table thead tr {
    border-bottom: 2px solid #f5f5f6;
    color: #696d74;
    font-weight: bold; }
  .data-table tbody tr:nth-child(even) {
    background-color: #fafafa; }
  .data-table tbody tr.border-top {
    border-top: 1px solid #d7d8da; }
  .data-table tbody tr.border-bottom {
    border-bottom: 1px solid #d7d8da; }
  .data-table tbody tr.disabled {
    opacity: .5; }
  .data-table tr.vertical-borders th:not(:first-child),
  .data-table tr.vertical-borders td:not(:first-child) {
    border-left: 2px solid #f5f5f6; }
  .data-table tr.totals {
    color: #373C45;
    font-weight: bold; }
  .data-table th,
  .data-table td {
    padding: .75em; }
    .data-table th:first-child,
    .data-table td:first-child {
      padding-left: 1em; }
    .data-table th:last-child,
    .data-table td:last-child {
      padding-right: 1em; }
    .data-table th:not(.text-center):not(.text-right),
    .data-table td:not(.text-center):not(.text-right) {
      text-align: left; }
    .data-table th.light,
    .data-table td.light {
      opacity: .75; }
    .data-table th.text-bold,
    .data-table td.text-bold {
      font-weight: bold; }
    .data-table th a,
    .data-table td a {
      display: inline-block; }
      .data-table th a + a,
      .data-table th a + button,
      .data-table td a + a,
      .data-table td a + button {
        margin-left: 1rem; }
    .data-table th > button,
    .data-table td > button {
      -webkit-appearance: none;
      appearance: none;
      height: auto;
      width: auto;
      margin: 0;
      padding: 0;
      border-radius: 0;
      border: 0;
      background: none;
      font-family: inherit;
      font-size: 1rem;
      border-bottom: 2px dotted #01509C;
      color: #F37032;
      font-size: .875em;
      font-weight: 700; }
      .data-table th > button:hover, .data-table th > button:focus,
      .data-table td > button:hover,
      .data-table td > button:focus {
        border-color: transparent; }
      .data-table th > button + a,
      .data-table th > button + button,
      .data-table td > button + a,
      .data-table td > button + button {
        margin-left: 1rem; }

@media only screen and (max-width: 400px) {
  .data-table th:first-child,
  .data-table td:first-child {
    padding-left: .75em; }
  .data-table th:last-child,
  .data-table td:last-child {
    padding-right: .75em; } }

/*
==========================================================================
    Sliders
==========================================================================
*/
[class*='slider']:not(i):not(svg) {
  display: none; }
  [class*='slider']:not(i):not(svg).slick-initialized {
    display: block; }

.slider .slick-control {
  position: absolute;
  z-index: 1;
  top: 0;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-pack: center;
  justify-content: center;
  height: 100%;
  width: 3em;
  background: #fff;
  color: #373C45;
  line-height: 1em;
  text-align: center; }
  .slider .slick-control.slick-disabled {
    color: #cdced1;
    cursor: not-allowed; }
  .slider .slick-control:not(.slick-disabled).slick-control--prev:hover, .slider .slick-control:not(.slick-disabled).slick-control--prev:focus {
    padding-right: .5em; }
  .slider .slick-control:not(.slick-disabled).slick-control--next:hover, .slider .slick-control:not(.slick-disabled).slick-control--next:focus {
    padding-left: .5em; }
  .slider .slick-control.slick-control--prev {
    right: 100%; }
  .slider .slick-control.slick-control--next {
    left: 100%; }

.slider .slick-slide {
  padding: 0 1em; }

.slider .slick-list {
  margin: 0 -1em; }

/*
==========================================================================
    Notifications
==========================================================================
*/
.notification {
  display: none;
  margin: 1.5em 0;
  padding: .75em 1em;
  border-radius: .25em;
  font-size: .875em;
  line-height: 1.618em;
  font-weight: bold; }
  .notification:first-child {
    margin-top: 0; }
  .notification:last-child {
    margin-bottom: 0; }
  .notification.notification--success {
    background-color: #bfdfbf;
    color: green; }
  .notification.notification--error {
    background-color: #ffbfbf;
    color: #bf0000; }

/*
==========================================================================
    Tiles
==========================================================================
*/
/*
==========================================================================
    Body classes
==========================================================================
*/
/*
==========================================================================
    Internet Explorer fixes
==========================================================================
*/
/*
==========================================================================
	Media queries
==========================================================================
*/
/**
* Large Devices, Wide Screens
**/
/* == When screen is 1400px or smaller == */
/* == When screen is larger than 1400px == */
/**
* Large Devices, Wide Screens
**/
/* == When screen is 1200px or smaller == */
/* == When screen is larger than 1200px == */
/**
* Medium Devices, Desktops
**/
/* == When screen is 991px or smaller == */
/* == When screen is larger than 991px == */
/**
* Small Devices, Tablets
**/
/* == When screen is 767px or smaller == */
/* == When screen is larger than 767px == */
/**
* Small Devices, Tablets
**/
/* == When screen is 675px or smaller == */
/* == When screen is larger than 675px == */
/**
* Small Devices, Tablets
**/
/* == When screen is 580px or smaller == */
/* == When screen is larger than 580px == */
/**
* Extra Small Devices, Phones
**/
/* == When screen is 480px or smaller == */
@media only screen and (max-width: 480px) {
  html {
    font-size: 14px; } }

/* == When screen is larger than 480px == */
/**
* Extra Small Devices, Phones
**/
/* == When screen is 400px or smaller == */
/* == When screen is larger than 400px == */
/**
* Extra Small Devices, Phones
**/
/* == When screen is 320px or smaller == */
/* == When screen is larger than 320px == */

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmNzcyIsInNvdXJjZXMiOlsiYXBwLnNjc3MiLCJfbWl4aW5zLnNjc3MiLCJtaXhpbnMvX21peGluLWZhbWlseS5zY3NzIiwibWl4aW5zL19taXhpbi1mbGV4bWFyZ2luLnNjc3MiLCJtaXhpbnMvX21peGluLWlucHV0LXN0eWxlLXJlc2V0LnNjc3MiLCJtaXhpbnMvX21peGluLXRleHQtbm93cmFwLnNjc3MiLCJfZnVuY3Rpb25zLnNjc3MiLCJfdmFyaWFibGVzLnNjc3MiLCJfYm9vdHN0cmFwLnNjc3MiLCJib290c3RyYXAvX3ZhcmlhYmxlcy5zY3NzIiwiYm9vdHN0cmFwL19taXhpbnMuc2NzcyIsImJvb3RzdHJhcC9taXhpbnMvX2hpZGUtdGV4dC5zY3NzIiwiYm9vdHN0cmFwL21peGlucy9fb3BhY2l0eS5zY3NzIiwiYm9vdHN0cmFwL21peGlucy9faW1hZ2Uuc2NzcyIsImJvb3RzdHJhcC9taXhpbnMvX2xhYmVscy5zY3NzIiwiYm9vdHN0cmFwL21peGlucy9fcmVzZXQtZmlsdGVyLnNjc3MiLCJib290c3RyYXAvbWl4aW5zL19yZXNpemUuc2NzcyIsImJvb3RzdHJhcC9taXhpbnMvX3Jlc3BvbnNpdmUtdmlzaWJpbGl0eS5zY3NzIiwiYm9vdHN0cmFwL21peGlucy9fc2l6ZS5zY3NzIiwiYm9vdHN0cmFwL21peGlucy9fdGFiLWZvY3VzLnNjc3MiLCJib290c3RyYXAvbWl4aW5zL19yZXNldC10ZXh0LnNjc3MiLCJib290c3RyYXAvbWl4aW5zL190ZXh0LWVtcGhhc2lzLnNjc3MiLCJib290c3RyYXAvbWl4aW5zL190ZXh0LW92ZXJmbG93LnNjc3MiLCJib290c3RyYXAvbWl4aW5zL192ZW5kb3ItcHJlZml4ZXMuc2NzcyIsImJvb3RzdHJhcC9taXhpbnMvX2FsZXJ0cy5zY3NzIiwiYm9vdHN0cmFwL21peGlucy9fYnV0dG9ucy5zY3NzIiwiYm9vdHN0cmFwL21peGlucy9fcGFuZWxzLnNjc3MiLCJib290c3RyYXAvbWl4aW5zL19wYWdpbmF0aW9uLnNjc3MiLCJib290c3RyYXAvbWl4aW5zL19saXN0LWdyb3VwLnNjc3MiLCJib290c3RyYXAvbWl4aW5zL19uYXYtZGl2aWRlci5zY3NzIiwiYm9vdHN0cmFwL21peGlucy9fZm9ybXMuc2NzcyIsImJvb3RzdHJhcC9taXhpbnMvX3Byb2dyZXNzLWJhci5zY3NzIiwiYm9vdHN0cmFwL21peGlucy9fdGFibGUtcm93LnNjc3MiLCJib290c3RyYXAvbWl4aW5zL19iYWNrZ3JvdW5kLXZhcmlhbnQuc2NzcyIsImJvb3RzdHJhcC9taXhpbnMvX2JvcmRlci1yYWRpdXMuc2NzcyIsImJvb3RzdHJhcC9taXhpbnMvX2dyYWRpZW50cy5zY3NzIiwiYm9vdHN0cmFwL21peGlucy9fY2xlYXJmaXguc2NzcyIsImJvb3RzdHJhcC9taXhpbnMvX2NlbnRlci1ibG9jay5zY3NzIiwiYm9vdHN0cmFwL21peGlucy9fbmF2LXZlcnRpY2FsLWFsaWduLnNjc3MiLCJib290c3RyYXAvbWl4aW5zL19ncmlkLWZyYW1ld29yay5zY3NzIiwiYm9vdHN0cmFwL21peGlucy9fZ3JpZC5zY3NzIiwiYm9vdHN0cmFwL19jb21wb25lbnQtYW5pbWF0aW9ucy5zY3NzIiwiYm9vdHN0cmFwL19yZXNwb25zaXZlLXV0aWxpdGllcy5zY3NzIiwiX3NsaWNrLnNjc3MiLCJuaXZvLWxpZ2h0Ym94L25pdm8tbGlnaHRib3guc2NzcyIsIm5pdm8tbGlnaHRib3gvdGhlbWVzL2RlZmF1bHQvZGVmYXVsdC5zY3NzIiwiX3Bpa2FkYXkuc2NzcyIsIl9iYXNlLnNjc3MiLCJfZm9udC1mYWNlLnNjc3MiLCJfYW5pbWF0aW9ucy5zY3NzIiwiX2dyaWQuc2NzcyIsIl9jb250ZW50LnNjc3MiLCJfY29tcG9uZW50cy5zY3NzIiwiY29tcG9uZW50cy9fYmFzZS5zY3NzIiwiY29tcG9uZW50cy9fbWFzdGhlYWQuc2NzcyIsImNvbXBvbmVudHMvX2Zvb3Rlci5zY3NzIiwiY29tcG9uZW50cy9fZm9ybXMuc2NzcyIsImNvbXBvbmVudHMvX2ZpbHRlcnMuc2NzcyIsImNvbXBvbmVudHMvX21vZGFscy5zY3NzIiwiY29tcG9uZW50cy9fcG9wb3ZlcnMuc2NzcyIsImNvbXBvbmVudHMvX3Rvb2x0aXBzLnNjc3MiLCJjb21wb25lbnRzL193aWRnZXRzLnNjc3MiLCJjb21wb25lbnRzL19idG5zLnNjc3MiLCJjb21wb25lbnRzL19zZWN0aW9ucy5zY3NzIiwiY29tcG9uZW50cy9fc2VjdGlvbi10aXRsZS5zY3NzIiwiY29tcG9uZW50cy9faGVyby5zY3NzIiwiY29tcG9uZW50cy9fY2FsY3VsYXRvci5zY3NzIiwiY29tcG9uZW50cy9fY29sdW1ucy5zY3NzIiwiY29tcG9uZW50cy9fZGF0YS10YWJsZS5zY3NzIiwiY29tcG9uZW50cy9fc2xpZGVycy5zY3NzIiwiY29tcG9uZW50cy9fbm90aWZpY2F0aW9ucy5zY3NzIiwiY29tcG9uZW50cy9fdGlsZXMuc2NzcyIsIl9ib2R5LWNsYXNzZXMuc2NzcyIsIl9pZS5zY3NzIiwiX21lZGlhcXVlcmllcy5zY3NzIiwibWVkaWFxdWVyaWVzL18xNDAwLnNjc3MiLCJtZWRpYXF1ZXJpZXMvXzEyMDAuc2NzcyIsIm1lZGlhcXVlcmllcy9fOTkxLnNjc3MiLCJtZWRpYXF1ZXJpZXMvXzc2Ny5zY3NzIiwibWVkaWFxdWVyaWVzL182NzUuc2NzcyIsIm1lZGlhcXVlcmllcy9fNTgwLnNjc3MiLCJtZWRpYXF1ZXJpZXMvXzQ4MC5zY3NzIiwibWVkaWFxdWVyaWVzL180MDAuc2NzcyIsIm1lZGlhcXVlcmllcy9fMzIwLnNjc3MiXSwic291cmNlc0NvbnRlbnQiOlsiLypcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgSW1wb3J0IGFsbCBTQ1NTIHBhcnRzIGhlcmVcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qL1xuXG4vLyBpbXBvcnQgYmFzZSBjb21wb25lbnRzXG5AaW1wb3J0ICdtaXhpbnMnO1xuQGltcG9ydCAnZnVuY3Rpb25zJztcbkBpbXBvcnQgJ3ZhcmlhYmxlcyc7XG5cbi8vIGltcG9ydCBib290c3RyYXAgY29tcG9uZW50c1xuQGltcG9ydCAnYm9vdHN0cmFwJztcblxuLy8gaW1wb3J0IHBsdWdpbiBzdHlsZXNoZWV0c1xuQGltcG9ydCAnc2xpY2snO1xuQGltcG9ydCAnbml2by1saWdodGJveC9uaXZvLWxpZ2h0Ym94JztcbkBpbXBvcnQgJ25pdm8tbGlnaHRib3gvdGhlbWVzL2RlZmF1bHQvZGVmYXVsdCc7XG5AaW1wb3J0ICdwaWthZGF5JztcblxuLy8gaW1wb3J0IHNjc3MgcGFydHNcbkBpbXBvcnQgJ2Jhc2UnO1xuQGltcG9ydCAnZm9udC1mYWNlJztcbkBpbXBvcnQgJ2FuaW1hdGlvbnMnO1xuQGltcG9ydCAnZ3JpZCc7XG5AaW1wb3J0ICdjb250ZW50JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMnO1xuQGltcG9ydCAnYm9keS1jbGFzc2VzJztcbkBpbXBvcnQgJ2llJztcbkBpbXBvcnQgJ21lZGlhcXVlcmllcyc7XG4iLCIvKlxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblx0TWl4aW5zXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuKi9cblxuQGltcG9ydCAnbWl4aW5zL21peGluLWZhbWlseSc7XG5AaW1wb3J0ICdtaXhpbnMvbWl4aW4tZmxleG1hcmdpbic7XG5AaW1wb3J0ICdtaXhpbnMvbWl4aW4taW5wdXQtc3R5bGUtcmVzZXQnO1xuQGltcG9ydCAnbWl4aW5zL21peGluLXRleHQtbm93cmFwJzsiLCIvLy8gU2VsZWN0IGFsbCBjaGlsZHJlbiBmcm9tIHRoZSBmaXJzdCB0byBgJG51bWAuXG4vLy8gQGdyb3VwIHdpdGgtYXJndW1lbnRzXG4vLy8gQGNvbnRlbnQgW1dyaXRlIHRoZSBzdHlsZSB5b3Ugd2FudCB0byBhcHBseSB0byB0aGUgY2hpbGRyZW4sIGFuZCBpdCB3aWxsIGJlIGFkZGVkIHdpdGhpbiB0aGUgQGNvbnRlbnQgZGlyZWN0aXZlXVxuLy8vIEBwYXJhbSB7bnVtYmVyfSAkbnVtIC0gaWQgb2YgdGhlIGNoaWxkXG5AbWl4aW4gZmlyc3QoJG51bSkge1xuICAmOm50aC1jaGlsZCgtbiArICN7JG51bX0pIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLy8gU2VsZWN0IGFsbCBjaGlsZHJlbiBmcm9tIHRoZSBsYXN0IHRvIGAkbnVtYC5cbi8vLyBAZ3JvdXAgd2l0aC1hcmd1bWVudHNcbi8vLyBAY29udGVudCBbV3JpdGUgdGhlIHN0eWxlIHlvdSB3YW50IHRvIGFwcGx5IHRvIHRoZSBjaGlsZHJlbiwgYW5kIGl0IHdpbGwgYmUgYWRkZWQgd2l0aGluIHRoZSBAY29udGVudCBkaXJlY3RpdmVdXG4vLy8gQHBhcmFtIHtudW1iZXJ9ICRudW0gLSBpZCBvZiB0aGUgY2hpbGRcbkBtaXhpbiBsYXN0KCRudW0pIHtcbiAgICY6bnRoLWxhc3QtY2hpbGQoLW4gKyAjeyRudW19KSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8vIFNlbGVjdCBhbGwgY2hpbGRyZW4gYWZ0ZXIgdGhlIGZpcnN0IHRvIGAkbnVtYC5cbi8vLyBAZ3JvdXAgd2l0aC1hcmd1bWVudHNcbi8vLyBAY29udGVudCBbV3JpdGUgdGhlIHN0eWxlIHlvdSB3YW50IHRvIGFwcGx5IHRvIHRoZSBjaGlsZHJlbiwgYW5kIGl0IHdpbGwgYmUgYWRkZWQgd2l0aGluIHRoZSBAY29udGVudCBkaXJlY3RpdmVdXG4vLy8gQHBhcmFtIHtudW1iZXJ9ICRudW0gLSBpZCBvZiB0aGUgY2hpbGRcbkBtaXhpbiBhZnRlci1maXJzdCgkbnVtKSB7XG4gICY6bnRoLWNoaWxkKG4gKyAjeyRudW0gKyAxfSkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vLyBTZWxlY3QgYWxsIGNoaWxkcmVuIGJlZm9yZSBgJG51bWAgZnJvbSB0aGUgbGFzdC5cbi8vLyBAZ3JvdXAgd2l0aC1hcmd1bWVudHNcbi8vLyBAY29udGVudCBbV3JpdGUgdGhlIHN0eWxlIHlvdSB3YW50IHRvIGFwcGx5IHRvIHRoZSBjaGlsZHJlbiwgYW5kIGl0IHdpbGwgYmUgYWRkZWQgd2l0aGluIHRoZSBAY29udGVudCBkaXJlY3RpdmVdXG4vLy8gQHBhcmFtIHtudW1iZXJ9ICRudW0gLSBpZCBvZiB0aGUgY2hpbGRcbkBtaXhpbiBmcm9tLWVuZCgkbnVtKSB7XG4gICY6bnRoLWxhc3QtY2hpbGQoI3skbnVtfSkge1xuICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8vIFNlbGVjdCBhbGwgY2hpbGRyZW4gYmV0d2VlbiBgJGZpcnN0YCBhbmQgYCRsYXN0YC5cbi8vLyBAZ3JvdXAgd2l0aC1hcmd1bWVudHNcbi8vLyBAY29udGVudCBbV3JpdGUgdGhlIHN0eWxlIHlvdSB3YW50IHRvIGFwcGx5IHRvIHRoZSBjaGlsZHJlbiwgYW5kIGl0IHdpbGwgYmUgYWRkZWQgd2l0aGluIHRoZSBAY29udGVudCBkaXJlY3RpdmVdXG5AbWl4aW4gYmV0d2VlbigkZmlyc3QsICRsYXN0KSB7XG4gICY6bnRoLWNoaWxkKG4gKyAjeyRmaXJzdH0pOm50aC1jaGlsZCgtbiArICN7JGxhc3R9KSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8vIFNlbGVjdCBhbGwgZXZlbiBjaGlsZHJlbiBiZXR3ZWVuIGAkZmlyc3RgIGFuZCBgJGxhc3RgLlxuLy8vIEBncm91cCB3aXRoLWFyZ3VtZW50c1xuLy8vIEBjb250ZW50IFtXcml0ZSB0aGUgc3R5bGUgeW91IHdhbnQgdG8gYXBwbHkgdG8gdGhlIGNoaWxkcmVuLCBhbmQgaXQgd2lsbCBiZSBhZGRlZCB3aXRoaW4gdGhlIEBjb250ZW50IGRpcmVjdGl2ZV1cbkBtaXhpbiBwYWlyLWJldHdlZW4oJGZpcnN0LCAkbGFzdCkge1xuICAmOm50aC1jaGlsZChldmVuKTpudGgtY2hpbGQobiArICN7JGZpcnN0fSk6bnRoLWNoaWxkKC1uICsgI3skbGFzdH0pIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLy8gU2VsZWN0IGFsbCBvZGQgY2hpbGRyZW4gYmV0d2VlbiBgJGZpcnN0YCBhbmQgYCRsYXN0YC5cbi8vLyBAZ3JvdXAgd2l0aC1hcmd1bWVudHNcbi8vLyBAY29udGVudCBbV3JpdGUgdGhlIHN0eWxlIHlvdSB3YW50IHRvIGFwcGx5IHRvIHRoZSBjaGlsZHJlbiwgYW5kIGl0IHdpbGwgYmUgYWRkZWQgd2l0aGluIHRoZSBAY29udGVudCBkaXJlY3RpdmVdXG5AbWl4aW4gaW1wYWlyLWJldHdlZW4oJGZpcnN0LCAkbGFzdCkge1xuICAmOm50aC1jaGlsZChvZGQpOm50aC1jaGlsZChuICsgI3skZmlyc3R9KTpudGgtY2hpbGQoLW4gKyAjeyRsYXN0fSkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vLyBTZWxlY3QgYWxsIGAkbnVtYCBjaGlsZHJlbiBiZXR3ZWVuIGAkZmlyc3RgIGFuZCBgJGxhc3RgLlxuLy8vIEBncm91cCB3aXRoLWFyZ3VtZW50c1xuLy8vIEBjb250ZW50IFtXcml0ZSB0aGUgc3R5bGUgeW91IHdhbnQgdG8gYXBwbHkgdG8gdGhlIGNoaWxkcmVuLCBhbmQgaXQgd2lsbCBiZSBhZGRlZCB3aXRoaW4gdGhlIEBjb250ZW50IGRpcmVjdGl2ZV1cbkBtaXhpbiBuLWJldHdlZW4oJG51bSwgJGZpcnN0LCAkbGFzdCkge1xuICAmOm50aC1jaGlsZCgjeyRudW19bik6bnRoLWNoaWxkKG4gKyAjeyRmaXJzdH0pOm50aC1jaGlsZCgtbiArICN7JGxhc3R9KSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuXG4vLy8gU2VsZWN0IGFsbCBjaGlsZHJlbiBidXQgYCRudW1gLlxuLy8vIEBncm91cCB3aXRoLWFyZ3VtZW50c1xuLy8vIEBjb250ZW50IFtXcml0ZSB0aGUgc3R5bGUgeW91IHdhbnQgdG8gYXBwbHkgdG8gdGhlIGNoaWxkcmVuLCBhbmQgaXQgd2lsbCBiZSBhZGRlZCB3aXRoaW4gdGhlIEBjb250ZW50IGRpcmVjdGl2ZV1cbi8vLyBAcGFyYW0ge251bWJlcn0gJG51bSAtIGlkIG9mIHRoZSBjaGlsZFxuQG1peGluIGFsbC1idXQoJG51bSkge1xuICAmOm5vdCg6bnRoLWNoaWxkKCN7JG51bX0pKSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8vIFNlbGVjdCBjaGlsZHJlbiBlYWNoIGAkbnVtYC5cbi8vLyBAZ3JvdXAgd2l0aC1hcmd1bWVudHNcbi8vLyBAY29udGVudCBbV3JpdGUgdGhlIHN0eWxlIHlvdSB3YW50IHRvIGFwcGx5IHRvIHRoZSBjaGlsZHJlbiwgYW5kIGl0IHdpbGwgYmUgYWRkZWQgd2l0aGluIHRoZSBAY29udGVudCBkaXJlY3RpdmVdXG4vLy8gQHBhcmFtIHtudW1iZXJ9ICRudW0gLSBpZCBvZiB0aGUgY2hpbGRcbi8vLyBAYWxpYXMgZXZlcnlcbkBtaXhpbiBlYWNoKCRudW0pIHtcbiAgJjpudGgtY2hpbGQoI3skbnVtfW4pIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLy8gU2VsZWN0IGNoaWxkcmVuIGVhY2ggYCRudW1gLlxuLy8vIEBncm91cCB3aXRoLWFyZ3VtZW50c1xuLy8vIEBjb250ZW50IFtXcml0ZSB0aGUgc3R5bGUgeW91IHdhbnQgdG8gYXBwbHkgdG8gdGhlIGNoaWxkcmVuLCBhbmQgaXQgd2lsbCBiZSBhZGRlZCB3aXRoaW4gdGhlIEBjb250ZW50IGRpcmVjdGl2ZV1cbi8vLyBAcGFyYW0ge251bWJlcn0gJG51bSAtIGlkIG9mIHRoZSBjaGlsZFxuQG1peGluIGV2ZXJ5KCRudW0pIHtcbiAgJjpudGgtY2hpbGQoI3skbnVtfW4pIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLy8gU2VsZWN0IHRoZSBgJG51bWAgY2hpbGQgZnJvbSB0aGUgc3RhcnQgYW5kIHRoZSBgJG51bWAgY2hpbGQgZnJvbSB0aGUgbGFzdC5cbi8vLyBAZ3JvdXAgd2l0aC1hcmd1bWVudHNcbi8vLyBAY29udGVudCBbV3JpdGUgdGhlIHN0eWxlIHlvdSB3YW50IHRvIGFwcGx5IHRvIHRoZSBjaGlsZHJlbiwgYW5kIGl0IHdpbGwgYmUgYWRkZWQgd2l0aGluIHRoZSBAY29udGVudCBkaXJlY3RpdmVdXG4vLy8gQHBhcmFtIHtudW1iZXJ9ICRudW0gLSBpZCBvZiB0aGUgY2hpbGRcbkBtaXhpbiBmcm9tLWZpcnN0LWxhc3QoJG51bSkge1xuICAmOm50aC1jaGlsZCgjeyRudW19KSxcbiAgJjpudGgtbGFzdC1jaGlsZCgjeyRudW19KSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuXG4vLy8gU2VsZWN0IHRoZSBpdGVtIGluIHRoZSBtaWRkbGUgb2YgYCRudW1gIGNoaWxkLiBPbmx5IHdvcmtzIHdpdGggb2RkIG51bWJlclxuLy8vIGNoYWluLlxuLy8vIEBncm91cCB3aXRoLWFyZ3VtZW50c1xuLy8vIEBjb250ZW50IFtXcml0ZSB0aGUgc3R5bGUgeW91IHdhbnQgdG8gYXBwbHkgdG8gdGhlIGNoaWxkcmVuLCBhbmQgaXQgd2lsbCBiZSBhZGRlZCB3aXRoaW4gdGhlIEBjb250ZW50IGRpcmVjdGl2ZV1cbi8vLyBAcGFyYW0ge251bWJlcn0gJG51bSAtIGlkIG9mIHRoZSBjaGlsZFxuQG1peGluIG1pZGRsZSgkbnVtKSB7XG4gICY6bnRoLWNoaWxkKCN7cm91bmQoJG51bSAvIDIpfSl7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuXG4vLy8gU2VsZWN0IGFsbCBjaGlsZHJlbiBiZXR3ZWVuIHRoZSBgJG51bWAgZmlyc3QgYW5kIHRoZSBgJG51bWAgbGFzdC5cbi8vLyBAZ3JvdXAgd2l0aC1hcmd1bWVudHNcbi8vLyBAY29udGVudCBbV3JpdGUgdGhlIHN0eWxlIHlvdSB3YW50IHRvIGFwcGx5IHRvIHRoZSBjaGlsZHJlbiwgYW5kIGl0IHdpbGwgYmUgYWRkZWQgd2l0aGluIHRoZSBAY29udGVudCBkaXJlY3RpdmVdXG4vLy8gQHBhcmFtIHtudW1iZXJ9ICRudW0gLSBpZCBvZiB0aGUgY2hpbGRcbkBtaXhpbiBhbGwtYnV0LWZpcnN0LWxhc3QoJG51bSkge1xuICAmOm50aC1jaGlsZChuICsgI3skbnVtfSk6bnRoLWxhc3QtY2hpbGQobiArICN7JG51bX0pIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5cbi8vLyBUaGlzIEkvTyBtaXhpbiB3aWxsIG9ubHkgc2VsZWN0IHRoZSBmaXJzdCBvZiBgJGxpbWl0YCBpdGVtcy4gSXQgd2lsbCBub3Rcbi8vLyB3b3JrIGlmIHRoZXJlIGlzIG5vdCBhcyBtdWNoIGFzIGl0ZW0gYXMgeW91IHNldCBpbiBgJGxpbWl0YC5cbi8vLyBAZ3JvdXAgaW9cbi8vLyBAcGFyYW0ge251bWJlcn0gJGxpbWl0XG4vLy8gQGNvbnRlbnQgW1dyaXRlIHRoZSBzdHlsZSB5b3Ugd2FudCB0byBhcHBseSB0byB0aGUgY2hpbGRyZW4sIGFuZCBpdCB3aWxsIGJlIGFkZGVkIHdpdGhpbiB0aGUgQGNvbnRlbnQgZGlyZWN0aXZlXVxuQG1peGluIGZpcnN0LW9mKCRsaW1pdCkge1xuICAmOm50aC1sYXN0LWNoaWxkKCN7JGxpbWl0fSk6Zmlyc3QtY2hpbGQge1xuICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8vIFRoaXMgSS9PIG1peGluIHdpbGwgb25seSBzZWxlY3QgdGhlIGxhc3Qgb2YgYCRsaW1pdGAgaXRlbXMuIEl0IHdpbGwgbm90XG4vLy8gaWYgdGhlcmUgaXMgbm90IGFzIG11Y2ggYXMgaXRlbSBhcyB5b3Ugc2V0IGluIGAkbGltaXRgLlxuLy8vIEBncm91cCBpb1xuLy8vIEBwYXJhbSB7bnVtYmVyfSAkbGltaXRcbi8vLyBAY29udGVudCBbV3JpdGUgdGhlIHN0eWxlIHlvdSB3YW50IHRvIGFwcGx5IHRvIHRoZSBjaGlsZHJlbiwgYW5kIGl0IHdpbGwgYmUgYWRkZWQgd2l0aGluIHRoZSBAY29udGVudCBkaXJlY3RpdmVdXG5AbWl4aW4gbGFzdC1vZigkbGltaXQpIHtcbiAgJjpudGgtb2YtdHlwZSgjeyRsaW1pdH0pOm50aC1sYXN0LW9mLXR5cGUoMSkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vLyBTZWxlY3QgYWxsIGV2ZW4gY2hpbGRyZW4uXG4vLy8gQGdyb3VwIG5vLWFyZ3VtZW50c1xuLy8vIEBjb250ZW50IFtXcml0ZSB0aGUgc3R5bGUgeW91IHdhbnQgdG8gYXBwbHkgdG8gdGhlIGNoaWxkcmVuLCBhbmQgaXQgd2lsbCBiZSBhZGRlZCB3aXRoaW4gdGhlIEBjb250ZW50IGRpcmVjdGl2ZV1cbkBtaXhpbiBldmVuKCkge1xuICAmOm50aC1jaGlsZChldmVuKSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8vIFNlbGVjdCBhbGwgb2RkIGNoaWxkcmVuLlxuLy8vIEBncm91cCBuby1hcmd1bWVudHNcbi8vLyBAY29udGVudCBbV3JpdGUgdGhlIHN0eWxlIHlvdSB3YW50IHRvIGFwcGx5IHRvIHRoZSBjaGlsZHJlbiwgYW5kIGl0IHdpbGwgYmUgYWRkZWQgd2l0aGluIHRoZSBAY29udGVudCBkaXJlY3RpdmVdXG5AbWl4aW4gb2RkKCkge1xuICAmOm50aC1jaGlsZChvZGQpIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLy8gU2VsZWN0IG9ubHkgdGhlIGZpcnN0IGFuZCBsYXN0IGNoaWxkLlxuLy8vIEBncm91cCBuby1hcmd1bWVudHNcbi8vLyBAY29udGVudCBbV3JpdGUgdGhlIHN0eWxlIHlvdSB3YW50IHRvIGFwcGx5IHRvIHRoZSBjaGlsZHJlbiwgYW5kIGl0IHdpbGwgYmUgYWRkZWQgd2l0aGluIHRoZSBAY29udGVudCBkaXJlY3RpdmVdXG5AbWl4aW4gZmlyc3QtbGFzdCgpIHtcbiAgJjpmaXJzdC1jaGlsZCxcbiAgJjpsYXN0LWNoaWxkIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLy8gV2lsbCBvbmx5IHNlbGVjdCB0aGUgY2hpbGQgaWYgaXTigJlzIHVuaXF1ZS5cbi8vLyBAZ3JvdXAgbm8tYXJndW1lbnRzXG4vLy8gQGNvbnRlbnQgW1dyaXRlIHRoZSBzdHlsZSB5b3Ugd2FudCB0byBhcHBseSB0byB0aGUgY2hpbGRyZW4sIGFuZCBpdCB3aWxsIGJlIGFkZGVkIHdpdGhpbiB0aGUgQGNvbnRlbnQgZGlyZWN0aXZlXVxuLy8vIEBhbGlhcyBvbmx5XG5AbWl4aW4gdW5pcXVlKCkge1xuICAmOm9ubHktY2hpbGQge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vLyBXaWxsIG9ubHkgc2VsZWN0IHRoZSBjaGlsZCBpZiBpdOKAmXMgdW5pcXVlLlxuLy8vIEBncm91cCBuby1hcmd1bWVudHNcbi8vLyBAY29udGVudCBbV3JpdGUgdGhlIHN0eWxlIHlvdSB3YW50IHRvIGFwcGx5IHRvIHRoZSBjaGlsZHJlbiwgYW5kIGl0IHdpbGwgYmUgYWRkZWQgd2l0aGluIHRoZSBAY29udGVudCBkaXJlY3RpdmVdXG5AbWl4aW4gb25seSgpIHtcbiAgJjpvbmx5LWNoaWxkIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLy8gV2lsbCBvbmx5IHNlbGVjdCBjaGlsZHJlbiBpZiB0aGV5IGFyZSBub3QgdW5pcXVlLiBNZWFuaW5nIGlmIHRoZXJlIGlzIGF0XG4vLy8gbGVhc3QgMiBjaGlsZHJlbiwgdGhlIHN0eWxlIGlzIGFwcGxpZWQuXG4vLy8gQGdyb3VwIG5vLWFyZ3VtZW50c1xuLy8vIEBjb250ZW50IFtXcml0ZSB0aGUgc3R5bGUgeW91IHdhbnQgdG8gYXBwbHkgdG8gdGhlIGNoaWxkcmVuLCBhbmQgaXQgd2lsbCBiZSBhZGRlZCB3aXRoaW4gdGhlIEBjb250ZW50IGRpcmVjdGl2ZV1cbkBtaXhpbiBub3QtdW5pcXVlKCkge1xuICAmOm5vdCg6b25seS1jaGlsZCkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cblxuLy8vIFRoaXMgbWl4aW4gaXMgdXNlZCB0byBhdXRvbWF0aWNhbGx5IHNvcnQgei1pbmRleCBpbiBudW1lcmljYWwgb3JkZXIuIEJ1dCBpdFxuLy8vIGNhbiBhbHNvIHNvcnQgdGhlbSBpbiBhbnRpLW51bWVyaWNhbCBvcmRlciwgZGVwZW5kaW5nIHRoZSBwYXJhbWV0ZXJzIHlvdSB1c2UuXG4vLy8gQGdyb3VwIHVzaW5nIGZ1bmN0aW9uc1xuLy8vIEBjb250ZW50IFtXcml0ZSB0aGUgc3R5bGUgeW91IHdhbnQgdG8gYXBwbHkgdG8gdGhlIGNoaWxkcmVuLCBhbmQgaXQgd2lsbCBiZSBhZGRlZCB3aXRoaW4gdGhlIEBjb250ZW50IGRpcmVjdGl2ZV1cbi8vLyBAcGFyYW0ge251bWJlcn0gJG51bSAtIE51bWJlciBvZiBjaGlsZHJlblxuLy8vIEBwYXJhbSB7c3RyaW5nfSAkZGlyZWN0aW9uIFtmb3J3YXJkXSAtIERpcmVjdGlvbiBvZiB0aGUgc29ydFxuLy8vIEBwYXJhbSB7bnVtYmVyfSAkaW5kZXggWzBdIC0gSW5kZXggb2YgdGhlIHNvcnRpbmdcbkBtaXhpbiBjaGlsZC1pbmRleCgkbnVtLCAkZGlyZWN0aW9uOiAnZm9yd2FyZCcsICRpbmRleDogMCkge1xuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRudW0ge1xuICAgIEBpZiAoJGRpcmVjdGlvbiA9PSAnZm9yd2FyZCcpIHtcbiAgICAgICY6bnRoLWNoaWxkKCN7JGl9KSB7XG4gICAgICAgIHotaW5kZXg6IG9yZGVyLWluZGV4KCRpLCAkaW5kZXgpO1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9IEBlbHNlIGlmICgkZGlyZWN0aW9uID09ICdiYWNrd2FyZCcpIHtcbiAgICAgICY6bnRoLWxhc3QtY2hpbGQoI3skaX0pIHtcbiAgICAgICAgei1pbmRleDogb3JkZXItaW5kZXgoJGksICRpbmRleCk7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gVXNlZCBieSB0aGUgY2hpbGQtaW5kZXggbWl4aW4uIEl0IHdpbGwgcmV0dXJuZWQgdGhlIHByb3BlciBzb3J0ZWQgbnVtYmVyc1xuLy8vIGRlcGVuZGluZyBvbiB0aGUgYCRpbmRleGAgdmFsdWUuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8gQHBhcmFtIHtudW1iZXJ9ICRudW0gLSBOdW1iZXIgb2YgY2hpbGRyZW5cbi8vLyBAcGFyYW0ge251bWJlcn0gJGluZGV4IC0gSW5kZXggb2YgdGhlIHNvcnRpbmdcbkBmdW5jdGlvbiBvcmRlci1pbmRleCgkaSwgJGluZGV4KSB7XG4gIEByZXR1cm4gKCRpbmRleCArICRpKTtcbn1cbiIsIkBtaXhpbiBmbGV4bWFyZ2luKCRkaXJlY3Rpb246IHZlcnRpY2FsKSB7XG5cbiAgICBAaWYgJGRpcmVjdGlvbiA9PSB2ZXJ0aWNhbCB7XG5cbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJGRpcmVjdGlvbiA9PSBob3Jpem9udGFsIHtcblxuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgfVxuICAgIH1cbn0iLCJAbWl4aW4gaW5wdXQtc3R5bGUtcmVzZXQge1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gICAgZm9udC1zaXplOiAxcmVtO1xufSIsIkBtaXhpbiB0ZXh0LW5vd3JhcCB7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xufSIsIi8qXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXHRGdW5jdGlvbnNcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qL1xuXG5AZnVuY3Rpb24gdGludCggJGNvbG9yLCAkcGVyY2VudGFnZSApIHtcbiAgICBAcmV0dXJuIG1peCggd2hpdGUsICRjb2xvciwgJHBlcmNlbnRhZ2UgKTtcbn1cblxuQGZ1bmN0aW9uIHNoYWRlKCAkY29sb3IsICRwZXJjZW50YWdlICkge1xuICAgIEByZXR1cm4gbWl4KCBibGFjaywgJGNvbG9yLCAkcGVyY2VudGFnZSApO1xufSIsIi8qXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgIFZhcmlhYmxlc1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiovXG5cbiRjb2wtcHJpbTogIzAxNTA5QzsgICAgIC8vIERhcmsgYmx1ZVxuJGNvbC1zZWM6ICMwMEFFRUY7ICAgICAgLy8gQmx1ZVxuJGNvbC10ZXJ0OiAjRjM3MDMyOyAgICAgLy8gT3JhbmdlXG4kY29sLXF1YXQ6ICMzNzNDNDU7ICAgICAvLyBEYXJrIGdyZXlcblxuJGNvbC1ib2R5LWJnOiBzaGFkZSgkY29sLXByaW0sIDYwJSk7XG5cbiRjb2wtdGV4dDogJGNvbC1xdWF0O1xuJGNvbC10ZXh0LXgtZGFyazogc2hhZGUoICRjb2wtdGV4dCwgNTAlICk7XG4kY29sLXRleHQtZGFyazogc2hhZGUoICRjb2wtdGV4dCwgMjUlICk7XG4kY29sLXRleHQtbWVkaXVtOiB0aW50KCAkY29sLXRleHQsIDI1JSApO1xuJGNvbC10ZXh0LWxpZ2h0OiB0aW50KCAkY29sLXRleHQsIDUwJSApO1xuJGNvbC10ZXh0LXgtbGlnaHQ6IHRpbnQoICRjb2wtdGV4dCwgNzUlICk7XG5cbiRjb2wtZ3JleS14LWxpZ2h0OiB0aW50KCAkY29sLXRleHQsIDk3LjUlICk7XG4kY29sLWdyZXktbGlnaHQ6IHRpbnQoICRjb2wtdGV4dCwgOTUlICk7XG4kY29sLWdyZXk6IHRpbnQoICRjb2wtdGV4dCwgOTAlICk7XG4kY29sLWdyZXktbWVkaXVtOiB0aW50KCAkY29sLXRleHQsIDg1JSApO1xuJGNvbC1ncmV5LWRhcms6IHRpbnQoICRjb2wtdGV4dCwgODAlICk7XG4kY29sLWdyZXkteC1kYXJrOiB0aW50KCAkY29sLXRleHQsIDcwJSApO1xuXG4kZm9udC1wcmltOiAnQmFybG93Jywgc3lzdGVtLXVpLCBzYW5zLXNlcmlmO1xuJGZvbnQtc2VjOiAnQXJ2bycsIHN5c3RlbS11aSwgc2VyaWY7XG5cbiRmb250LXNpemUtYmFzZTogMTZweDtcbiRmb250LXNpemUtYmFzZS1tb2JpbGU6IDE0cHg7XG5cbiRjb2wtZXJyb3I6IHJlZDtcbiRjb2wtd2FybmluZzogb3JhbmdlO1xuJGNvbC1zdWNjZXNzOiBncmVlbjtcblxuJGNvbC10d2l0dGVyOiAjMWRhMWYyO1xuJGNvbC1mYWNlYm9vazogIzIxNzJmMDtcbiRjb2wtbGlua2VkaW46ICMwMDc3YjU7XG4kY29sLWdvb2dsZTogI2RkNGIzOTtcbiRjb2wteW91dHViZTogI2ZmMDAwMDtcbiRjb2wtdmltZW86ICMwZmFlZjE7XG4kY29sLWluc3RhZ3JhbTogIzQwNWRlNjtcbiRjb2wtd2hhdHNhcHA6ICMyNWQzNjY7XG4kY29sLXBpbnRlcmVzdDogI2JkMDgxYztcbiRjb2wtZHJvcGJveDogIzAwN2VlNTtcbiRjb2wtcGF5cGFsOiAjMDA3MGJhOyIsIi8qIVxuICogQm9vdHN0cmFwIHYzLjMuNyAoaHR0cDovL2dldGJvb3RzdHJhcC5jb20pXG4gKiBDb3B5cmlnaHQgMjAxMS0yMDE2IFR3aXR0ZXIsIEluYy5cbiAqIExpY2Vuc2VkIHVuZGVyIE1JVCAoaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2Jsb2IvbWFzdGVyL0xJQ0VOU0UpXG4gKi9cblxuLy8gQ29yZSB2YXJpYWJsZXMgYW5kIG1peGluc1xuQGltcG9ydCBcImJvb3RzdHJhcC92YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCJib290c3RyYXAvbWl4aW5zXCI7XG5cbi8vIFJlc2V0IGFuZCBkZXBlbmRlbmNpZXNcbi8vIEBpbXBvcnQgXCJib290c3RyYXAvbm9ybWFsaXplXCI7XG4vLyBAaW1wb3J0IFwiYm9vdHN0cmFwL3ByaW50XCI7XG4vLyBAaW1wb3J0IFwiYm9vdHN0cmFwL2dseXBoaWNvbnNcIjtcblxuLy8gQ29yZSBDU1Ncbi8vIEBpbXBvcnQgXCJib290c3RyYXAvc2NhZmZvbGRpbmdcIjtcbi8vIEBpbXBvcnQgXCJib290c3RyYXAvdHlwZVwiO1xuLy8gQGltcG9ydCBcImJvb3RzdHJhcC9jb2RlXCI7XG4vLyBAaW1wb3J0IFwiYm9vdHN0cmFwL2dyaWRcIjtcbi8vIEBpbXBvcnQgXCJib290c3RyYXAvdGFibGVzXCI7XG4vLyBAaW1wb3J0IFwiYm9vdHN0cmFwL2Zvcm1zXCI7XG4vLyBAaW1wb3J0IFwiYm9vdHN0cmFwL2J1dHRvbnNcIjtcblxuLy8gQ29tcG9uZW50c1xuQGltcG9ydCBcImJvb3RzdHJhcC9jb21wb25lbnQtYW5pbWF0aW9uc1wiO1xuLy8gQGltcG9ydCBcImJvb3RzdHJhcC9kcm9wZG93bnNcIjtcbi8vIEBpbXBvcnQgXCJib290c3RyYXAvYnV0dG9uLWdyb3Vwc1wiO1xuLy8gQGltcG9ydCBcImJvb3RzdHJhcC9pbnB1dC1ncm91cHNcIjtcbi8vIEBpbXBvcnQgXCJib290c3RyYXAvbmF2c1wiO1xuLy8gQGltcG9ydCBcImJvb3RzdHJhcC9uYXZiYXJcIjtcbi8vIEBpbXBvcnQgXCJib290c3RyYXAvYnJlYWRjcnVtYnNcIjtcbi8vIEBpbXBvcnQgXCJib290c3RyYXAvcGFnaW5hdGlvblwiO1xuLy8gQGltcG9ydCBcImJvb3RzdHJhcC9wYWdlclwiO1xuLy8gQGltcG9ydCBcImJvb3RzdHJhcC9sYWJlbHNcIjtcbi8vIEBpbXBvcnQgXCJib290c3RyYXAvYmFkZ2VzXCI7XG4vLyBAaW1wb3J0IFwiYm9vdHN0cmFwL2p1bWJvdHJvblwiO1xuLy8gQGltcG9ydCBcImJvb3RzdHJhcC90aHVtYm5haWxzXCI7XG4vLyBAaW1wb3J0IFwiYm9vdHN0cmFwL2FsZXJ0c1wiO1xuLy8gQGltcG9ydCBcImJvb3RzdHJhcC9wcm9ncmVzcy1iYXJzXCI7XG4vLyBAaW1wb3J0IFwiYm9vdHN0cmFwL21lZGlhXCI7XG4vLyBAaW1wb3J0IFwiYm9vdHN0cmFwL2xpc3QtZ3JvdXBcIjtcbi8vIEBpbXBvcnQgXCJib290c3RyYXAvcGFuZWxzXCI7XG4vLyBAaW1wb3J0IFwiYm9vdHN0cmFwL3Jlc3BvbnNpdmUtZW1iZWRcIjtcbi8vIEBpbXBvcnQgXCJib290c3RyYXAvd2VsbHNcIjtcbi8vIEBpbXBvcnQgXCJib290c3RyYXAvY2xvc2VcIjtcblxuLy8gQ29tcG9uZW50cyB3LyBKYXZhU2NyaXB0XG4vLyBAaW1wb3J0IFwiYm9vdHN0cmFwL21vZGFsc1wiO1xuLy8gQGltcG9ydCBcImJvb3RzdHJhcC90b29sdGlwXCI7XG4vLyBAaW1wb3J0IFwiYm9vdHN0cmFwL3BvcG92ZXJzXCI7XG4vLyBAaW1wb3J0IFwiYm9vdHN0cmFwL2Nhcm91c2VsXCI7XG5cbi8vIFV0aWxpdHkgY2xhc3Nlc1xuLy8gQGltcG9ydCBcImJvb3RzdHJhcC91dGlsaXRpZXNcIjtcbkBpbXBvcnQgXCJib290c3RyYXAvcmVzcG9uc2l2ZS11dGlsaXRpZXNcIjsiLCIkYm9vdHN0cmFwLXNhc3MtYXNzZXQtaGVscGVyOiBmYWxzZSAhZGVmYXVsdDtcbi8vXG4vLyBWYXJpYWJsZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLy89PSBDb2xvcnNcbi8vXG4vLyMjIEdyYXkgYW5kIGJyYW5kIGNvbG9ycyBmb3IgdXNlIGFjcm9zcyBCb290c3RyYXAuXG5cbiRncmF5LWJhc2U6ICAgICAgICAgICAgICAjMDAwICFkZWZhdWx0O1xuJGdyYXktZGFya2VyOiAgICAgICAgICAgIGxpZ2h0ZW4oJGdyYXktYmFzZSwgMTMuNSUpICFkZWZhdWx0OyAvLyAjMjIyXG4kZ3JheS1kYXJrOiAgICAgICAgICAgICAgbGlnaHRlbigkZ3JheS1iYXNlLCAyMCUpICFkZWZhdWx0OyAgIC8vICMzMzNcbiRncmF5OiAgICAgICAgICAgICAgICAgICBsaWdodGVuKCRncmF5LWJhc2UsIDMzLjUlKSAhZGVmYXVsdDsgLy8gIzU1NVxuJGdyYXktbGlnaHQ6ICAgICAgICAgICAgIGxpZ2h0ZW4oJGdyYXktYmFzZSwgNDYuNyUpICFkZWZhdWx0OyAvLyAjNzc3XG4kZ3JheS1saWdodGVyOiAgICAgICAgICAgbGlnaHRlbigkZ3JheS1iYXNlLCA5My41JSkgIWRlZmF1bHQ7IC8vICNlZWVcblxuJGJyYW5kLXByaW1hcnk6ICAgICAgICAgZGFya2VuKCM0MjhiY2EsIDYuNSUpICFkZWZhdWx0OyAvLyAjMzM3YWI3XG4kYnJhbmQtc3VjY2VzczogICAgICAgICAjNWNiODVjICFkZWZhdWx0O1xuJGJyYW5kLWluZm86ICAgICAgICAgICAgIzViYzBkZSAhZGVmYXVsdDtcbiRicmFuZC13YXJuaW5nOiAgICAgICAgICNmMGFkNGUgIWRlZmF1bHQ7XG4kYnJhbmQtZGFuZ2VyOiAgICAgICAgICAjZDk1MzRmICFkZWZhdWx0O1xuXG5cbi8vPT0gU2NhZmZvbGRpbmdcbi8vXG4vLyMjIFNldHRpbmdzIGZvciBzb21lIG9mIHRoZSBtb3N0IGdsb2JhbCBzdHlsZXMuXG5cbi8vKiogQmFja2dyb3VuZCBjb2xvciBmb3IgYDxib2R5PmAuXG4kYm9keS1iZzogICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuLy8qKiBHbG9iYWwgdGV4dCBjb2xvciBvbiBgPGJvZHk+YC5cbiR0ZXh0LWNvbG9yOiAgICAgICAgICAgICRncmF5LWRhcmsgIWRlZmF1bHQ7XG5cbi8vKiogR2xvYmFsIHRleHR1YWwgbGluayBjb2xvci5cbiRsaW5rLWNvbG9yOiAgICAgICAgICAgICRicmFuZC1wcmltYXJ5ICFkZWZhdWx0O1xuLy8qKiBMaW5rIGhvdmVyIGNvbG9yIHNldCB2aWEgYGRhcmtlbigpYCBmdW5jdGlvbi5cbiRsaW5rLWhvdmVyLWNvbG9yOiAgICAgIGRhcmtlbigkbGluay1jb2xvciwgMTUlKSAhZGVmYXVsdDtcbi8vKiogTGluayBob3ZlciBkZWNvcmF0aW9uLlxuJGxpbmstaG92ZXItZGVjb3JhdGlvbjogdW5kZXJsaW5lICFkZWZhdWx0O1xuXG5cbi8vPT0gVHlwb2dyYXBoeVxuLy9cbi8vIyMgRm9udCwgbGluZS1oZWlnaHQsIGFuZCBjb2xvciBmb3IgYm9keSB0ZXh0LCBoZWFkaW5ncywgYW5kIG1vcmUuXG5cbiRmb250LWZhbWlseS1zYW5zLXNlcmlmOiAgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmICFkZWZhdWx0O1xuJGZvbnQtZmFtaWx5LXNlcmlmOiAgICAgICBHZW9yZ2lhLCBcIlRpbWVzIE5ldyBSb21hblwiLCBUaW1lcywgc2VyaWYgIWRlZmF1bHQ7XG4vLyoqIERlZmF1bHQgbW9ub3NwYWNlIGZvbnRzIGZvciBgPGNvZGU+YCwgYDxrYmQ+YCwgYW5kIGA8cHJlPmAuXG4kZm9udC1mYW1pbHktbW9ub3NwYWNlOiAgIE1lbmxvLCBNb25hY28sIENvbnNvbGFzLCBcIkNvdXJpZXIgTmV3XCIsIG1vbm9zcGFjZSAhZGVmYXVsdDtcbiRmb250LWZhbWlseS1iYXNlOiAgICAgICAgJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWYgIWRlZmF1bHQ7XG5cbiRmb250LXNpemUtYmFzZTogICAgICAgICAgMTRweCAhZGVmYXVsdDtcbiRmb250LXNpemUtbGFyZ2U6ICAgICAgICAgY2VpbCgoJGZvbnQtc2l6ZS1iYXNlICogMS4yNSkpICFkZWZhdWx0OyAvLyB+MThweFxuJGZvbnQtc2l6ZS1zbWFsbDogICAgICAgICBjZWlsKCgkZm9udC1zaXplLWJhc2UgKiAwLjg1KSkgIWRlZmF1bHQ7IC8vIH4xMnB4XG5cbiRmb250LXNpemUtaDE6ICAgICAgICAgICAgZmxvb3IoKCRmb250LXNpemUtYmFzZSAqIDIuNikpICFkZWZhdWx0OyAvLyB+MzZweFxuJGZvbnQtc2l6ZS1oMjogICAgICAgICAgICBmbG9vcigoJGZvbnQtc2l6ZS1iYXNlICogMi4xNSkpICFkZWZhdWx0OyAvLyB+MzBweFxuJGZvbnQtc2l6ZS1oMzogICAgICAgICAgICBjZWlsKCgkZm9udC1zaXplLWJhc2UgKiAxLjcpKSAhZGVmYXVsdDsgLy8gfjI0cHhcbiRmb250LXNpemUtaDQ6ICAgICAgICAgICAgY2VpbCgoJGZvbnQtc2l6ZS1iYXNlICogMS4yNSkpICFkZWZhdWx0OyAvLyB+MThweFxuJGZvbnQtc2l6ZS1oNTogICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgIWRlZmF1bHQ7XG4kZm9udC1zaXplLWg2OiAgICAgICAgICAgIGNlaWwoKCRmb250LXNpemUtYmFzZSAqIDAuODUpKSAhZGVmYXVsdDsgLy8gfjEycHhcblxuLy8qKiBVbml0LWxlc3MgYGxpbmUtaGVpZ2h0YCBmb3IgdXNlIGluIGNvbXBvbmVudHMgbGlrZSBidXR0b25zLlxuJGxpbmUtaGVpZ2h0LWJhc2U6ICAgICAgICAxLjQyODU3MTQyOSAhZGVmYXVsdDsgLy8gMjAvMTRcbi8vKiogQ29tcHV0ZWQgXCJsaW5lLWhlaWdodFwiIChgZm9udC1zaXplYCAqIGBsaW5lLWhlaWdodGApIGZvciB1c2Ugd2l0aCBgbWFyZ2luYCwgYHBhZGRpbmdgLCBldGMuXG4kbGluZS1oZWlnaHQtY29tcHV0ZWQ6ICAgIGZsb29yKCgkZm9udC1zaXplLWJhc2UgKiAkbGluZS1oZWlnaHQtYmFzZSkpICFkZWZhdWx0OyAvLyB+MjBweFxuXG4vLyoqIEJ5IGRlZmF1bHQsIHRoaXMgaW5oZXJpdHMgZnJvbSB0aGUgYDxib2R5PmAuXG4kaGVhZGluZ3MtZm9udC1mYW1pbHk6ICAgIGluaGVyaXQgIWRlZmF1bHQ7XG4kaGVhZGluZ3MtZm9udC13ZWlnaHQ6ICAgIDUwMCAhZGVmYXVsdDtcbiRoZWFkaW5ncy1saW5lLWhlaWdodDogICAgMS4xICFkZWZhdWx0O1xuJGhlYWRpbmdzLWNvbG9yOiAgICAgICAgICBpbmhlcml0ICFkZWZhdWx0O1xuXG5cbi8vPT0gSWNvbm9ncmFwaHlcbi8vXG4vLyMjIFNwZWNpZnkgY3VzdG9tIGxvY2F0aW9uIGFuZCBmaWxlbmFtZSBvZiB0aGUgaW5jbHVkZWQgR2x5cGhpY29ucyBpY29uIGZvbnQuIFVzZWZ1bCBmb3IgdGhvc2UgaW5jbHVkaW5nIEJvb3RzdHJhcCB2aWEgQm93ZXIuXG5cbi8vKiogTG9hZCBmb250cyBmcm9tIHRoaXMgZGlyZWN0b3J5LlxuXG4vLyBbY29udmVydGVyXSBJZiAkYm9vdHN0cmFwLXNhc3MtYXNzZXQtaGVscGVyIGlmIHVzZWQsIHByb3ZpZGUgcGF0aCByZWxhdGl2ZSB0byB0aGUgYXNzZXRzIGxvYWQgcGF0aC5cbi8vIFtjb252ZXJ0ZXJdIFRoaXMgaXMgYmVjYXVzZSBzb21lIGFzc2V0IGhlbHBlcnMsIHN1Y2ggYXMgU3Byb2NrZXRzLCBkbyBub3Qgd29yayB3aXRoIGZpbGUtcmVsYXRpdmUgcGF0aHMuXG4kaWNvbi1mb250LXBhdGg6IGlmKCRib290c3RyYXAtc2Fzcy1hc3NldC1oZWxwZXIsIFwiYm9vdHN0cmFwL1wiLCBcIi4uL2ZvbnRzL2Jvb3RzdHJhcC9cIikgIWRlZmF1bHQ7XG5cbi8vKiogRmlsZSBuYW1lIGZvciBhbGwgZm9udCBmaWxlcy5cbiRpY29uLWZvbnQtbmFtZTogICAgICAgICAgXCJnbHlwaGljb25zLWhhbGZsaW5ncy1yZWd1bGFyXCIgIWRlZmF1bHQ7XG4vLyoqIEVsZW1lbnQgSUQgd2l0aGluIFNWRyBpY29uIGZpbGUuXG4kaWNvbi1mb250LXN2Zy1pZDogICAgICAgIFwiZ2x5cGhpY29uc19oYWxmbGluZ3NyZWd1bGFyXCIgIWRlZmF1bHQ7XG5cblxuLy89PSBDb21wb25lbnRzXG4vL1xuLy8jIyBEZWZpbmUgY29tbW9uIHBhZGRpbmcgYW5kIGJvcmRlciByYWRpdXMgc2l6ZXMgYW5kIG1vcmUuIFZhbHVlcyBiYXNlZCBvbiAxNHB4IHRleHQgYW5kIDEuNDI4IGxpbmUtaGVpZ2h0ICh+MjBweCB0byBzdGFydCkuXG5cbiRwYWRkaW5nLWJhc2UtdmVydGljYWw6ICAgICA2cHggIWRlZmF1bHQ7XG4kcGFkZGluZy1iYXNlLWhvcml6b250YWw6ICAgMTJweCAhZGVmYXVsdDtcblxuJHBhZGRpbmctbGFyZ2UtdmVydGljYWw6ICAgIDEwcHggIWRlZmF1bHQ7XG4kcGFkZGluZy1sYXJnZS1ob3Jpem9udGFsOiAgMTZweCAhZGVmYXVsdDtcblxuJHBhZGRpbmctc21hbGwtdmVydGljYWw6ICAgIDVweCAhZGVmYXVsdDtcbiRwYWRkaW5nLXNtYWxsLWhvcml6b250YWw6ICAxMHB4ICFkZWZhdWx0O1xuXG4kcGFkZGluZy14cy12ZXJ0aWNhbDogICAgICAgMXB4ICFkZWZhdWx0O1xuJHBhZGRpbmcteHMtaG9yaXpvbnRhbDogICAgIDVweCAhZGVmYXVsdDtcblxuJGxpbmUtaGVpZ2h0LWxhcmdlOiAgICAgICAgIDEuMzMzMzMzMyAhZGVmYXVsdDsgLy8gZXh0cmEgZGVjaW1hbHMgZm9yIFdpbiA4LjEgQ2hyb21lXG4kbGluZS1oZWlnaHQtc21hbGw6ICAgICAgICAgMS41ICFkZWZhdWx0O1xuXG4kYm9yZGVyLXJhZGl1cy1iYXNlOiAgICAgICAgNHB4ICFkZWZhdWx0O1xuJGJvcmRlci1yYWRpdXMtbGFyZ2U6ICAgICAgIDZweCAhZGVmYXVsdDtcbiRib3JkZXItcmFkaXVzLXNtYWxsOiAgICAgICAzcHggIWRlZmF1bHQ7XG5cbi8vKiogR2xvYmFsIGNvbG9yIGZvciBhY3RpdmUgaXRlbXMgKGUuZy4sIG5hdnMgb3IgZHJvcGRvd25zKS5cbiRjb21wb25lbnQtYWN0aXZlLWNvbG9yOiAgICAjZmZmICFkZWZhdWx0O1xuLy8qKiBHbG9iYWwgYmFja2dyb3VuZCBjb2xvciBmb3IgYWN0aXZlIGl0ZW1zIChlLmcuLCBuYXZzIG9yIGRyb3Bkb3ducykuXG4kY29tcG9uZW50LWFjdGl2ZS1iZzogICAgICAgJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XG5cbi8vKiogV2lkdGggb2YgdGhlIGBib3JkZXJgIGZvciBnZW5lcmF0aW5nIGNhcmV0cyB0aGF0IGluZGljYXRlIGRyb3Bkb3ducy5cbiRjYXJldC13aWR0aC1iYXNlOiAgICAgICAgICA0cHggIWRlZmF1bHQ7XG4vLyoqIENhcmV0cyBpbmNyZWFzZSBzbGlnaHRseSBpbiBzaXplIGZvciBsYXJnZXIgY29tcG9uZW50cy5cbiRjYXJldC13aWR0aC1sYXJnZTogICAgICAgICA1cHggIWRlZmF1bHQ7XG5cblxuLy89PSBUYWJsZXNcbi8vXG4vLyMjIEN1c3RvbWl6ZXMgdGhlIGAudGFibGVgIGNvbXBvbmVudCB3aXRoIGJhc2ljIHZhbHVlcywgZWFjaCB1c2VkIGFjcm9zcyBhbGwgdGFibGUgdmFyaWF0aW9ucy5cblxuLy8qKiBQYWRkaW5nIGZvciBgPHRoPmBzIGFuZCBgPHRkPmBzLlxuJHRhYmxlLWNlbGwtcGFkZGluZzogICAgICAgICAgICA4cHggIWRlZmF1bHQ7XG4vLyoqIFBhZGRpbmcgZm9yIGNlbGxzIGluIGAudGFibGUtY29uZGVuc2VkYC5cbiR0YWJsZS1jb25kZW5zZWQtY2VsbC1wYWRkaW5nOiAgNXB4ICFkZWZhdWx0O1xuXG4vLyoqIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciB1c2VkIGZvciBhbGwgdGFibGVzLlxuJHRhYmxlLWJnOiAgICAgICAgICAgICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbi8vKiogQmFja2dyb3VuZCBjb2xvciB1c2VkIGZvciBgLnRhYmxlLXN0cmlwZWRgLlxuJHRhYmxlLWJnLWFjY2VudDogICAgICAgICAgICAgICAjZjlmOWY5ICFkZWZhdWx0O1xuLy8qKiBCYWNrZ3JvdW5kIGNvbG9yIHVzZWQgZm9yIGAudGFibGUtaG92ZXJgLlxuJHRhYmxlLWJnLWhvdmVyOiAgICAgICAgICAgICAgICAjZjVmNWY1ICFkZWZhdWx0O1xuJHRhYmxlLWJnLWFjdGl2ZTogICAgICAgICAgICAgICAkdGFibGUtYmctaG92ZXIgIWRlZmF1bHQ7XG5cbi8vKiogQm9yZGVyIGNvbG9yIGZvciB0YWJsZSBhbmQgY2VsbCBib3JkZXJzLlxuJHRhYmxlLWJvcmRlci1jb2xvcjogICAgICAgICAgICAjZGRkICFkZWZhdWx0O1xuXG5cbi8vPT0gQnV0dG9uc1xuLy9cbi8vIyMgRm9yIGVhY2ggb2YgQm9vdHN0cmFwJ3MgYnV0dG9ucywgZGVmaW5lIHRleHQsIGJhY2tncm91bmQgYW5kIGJvcmRlciBjb2xvci5cblxuJGJ0bi1mb250LXdlaWdodDogICAgICAgICAgICAgICAgbm9ybWFsICFkZWZhdWx0O1xuXG4kYnRuLWRlZmF1bHQtY29sb3I6ICAgICAgICAgICAgICAjMzMzICFkZWZhdWx0O1xuJGJ0bi1kZWZhdWx0LWJnOiAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRidG4tZGVmYXVsdC1ib3JkZXI6ICAgICAgICAgICAgICNjY2MgIWRlZmF1bHQ7XG5cbiRidG4tcHJpbWFyeS1jb2xvcjogICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kYnRuLXByaW1hcnktYmc6ICAgICAgICAgICAgICAgICAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcbiRidG4tcHJpbWFyeS1ib3JkZXI6ICAgICAgICAgICAgIGRhcmtlbigkYnRuLXByaW1hcnktYmcsIDUlKSAhZGVmYXVsdDtcblxuJGJ0bi1zdWNjZXNzLWNvbG9yOiAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRidG4tc3VjY2Vzcy1iZzogICAgICAgICAgICAgICAgICRicmFuZC1zdWNjZXNzICFkZWZhdWx0O1xuJGJ0bi1zdWNjZXNzLWJvcmRlcjogICAgICAgICAgICAgZGFya2VuKCRidG4tc3VjY2Vzcy1iZywgNSUpICFkZWZhdWx0O1xuXG4kYnRuLWluZm8tY29sb3I6ICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJGJ0bi1pbmZvLWJnOiAgICAgICAgICAgICAgICAgICAgJGJyYW5kLWluZm8gIWRlZmF1bHQ7XG4kYnRuLWluZm8tYm9yZGVyOiAgICAgICAgICAgICAgICBkYXJrZW4oJGJ0bi1pbmZvLWJnLCA1JSkgIWRlZmF1bHQ7XG5cbiRidG4td2FybmluZy1jb2xvcjogICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kYnRuLXdhcm5pbmctYmc6ICAgICAgICAgICAgICAgICAkYnJhbmQtd2FybmluZyAhZGVmYXVsdDtcbiRidG4td2FybmluZy1ib3JkZXI6ICAgICAgICAgICAgIGRhcmtlbigkYnRuLXdhcm5pbmctYmcsIDUlKSAhZGVmYXVsdDtcblxuJGJ0bi1kYW5nZXItY29sb3I6ICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRidG4tZGFuZ2VyLWJnOiAgICAgICAgICAgICAgICAgICRicmFuZC1kYW5nZXIgIWRlZmF1bHQ7XG4kYnRuLWRhbmdlci1ib3JkZXI6ICAgICAgICAgICAgICBkYXJrZW4oJGJ0bi1kYW5nZXItYmcsIDUlKSAhZGVmYXVsdDtcblxuJGJ0bi1saW5rLWRpc2FibGVkLWNvbG9yOiAgICAgICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG5cbi8vIEFsbG93cyBmb3IgY3VzdG9taXppbmcgYnV0dG9uIHJhZGl1cyBpbmRlcGVuZGVudGx5IGZyb20gZ2xvYmFsIGJvcmRlciByYWRpdXNcbiRidG4tYm9yZGVyLXJhZGl1cy1iYXNlOiAgICAgICAgICRib3JkZXItcmFkaXVzLWJhc2UgIWRlZmF1bHQ7XG4kYnRuLWJvcmRlci1yYWRpdXMtbGFyZ2U6ICAgICAgICAkYm9yZGVyLXJhZGl1cy1sYXJnZSAhZGVmYXVsdDtcbiRidG4tYm9yZGVyLXJhZGl1cy1zbWFsbDogICAgICAgICRib3JkZXItcmFkaXVzLXNtYWxsICFkZWZhdWx0O1xuXG5cbi8vPT0gRm9ybXNcbi8vXG4vLyMjXG5cbi8vKiogYDxpbnB1dD5gIGJhY2tncm91bmQgY29sb3JcbiRpbnB1dC1iZzogICAgICAgICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4vLyoqIGA8aW5wdXQgZGlzYWJsZWQ+YCBiYWNrZ3JvdW5kIGNvbG9yXG4kaW5wdXQtYmctZGlzYWJsZWQ6ICAgICAgICAgICAgICAkZ3JheS1saWdodGVyICFkZWZhdWx0O1xuXG4vLyoqIFRleHQgY29sb3IgZm9yIGA8aW5wdXQ+YHNcbiRpbnB1dC1jb2xvcjogICAgICAgICAgICAgICAgICAgICRncmF5ICFkZWZhdWx0O1xuLy8qKiBgPGlucHV0PmAgYm9yZGVyIGNvbG9yXG4kaW5wdXQtYm9yZGVyOiAgICAgICAgICAgICAgICAgICAjY2NjICFkZWZhdWx0O1xuXG4vLyBUT0RPOiBSZW5hbWUgYCRpbnB1dC1ib3JkZXItcmFkaXVzYCB0byBgJGlucHV0LWJvcmRlci1yYWRpdXMtYmFzZWAgaW4gdjRcbi8vKiogRGVmYXVsdCBgLmZvcm0tY29udHJvbGAgYm9yZGVyIHJhZGl1c1xuLy8gVGhpcyBoYXMgbm8gZWZmZWN0IG9uIGA8c2VsZWN0PmBzIGluIHNvbWUgYnJvd3NlcnMsIGR1ZSB0byB0aGUgbGltaXRlZCBzdHlsYWJpbGl0eSBvZiBgPHNlbGVjdD5gcyBpbiBDU1MuXG4kaW5wdXQtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAkYm9yZGVyLXJhZGl1cy1iYXNlICFkZWZhdWx0O1xuLy8qKiBMYXJnZSBgLmZvcm0tY29udHJvbGAgYm9yZGVyIHJhZGl1c1xuJGlucHV0LWJvcmRlci1yYWRpdXMtbGFyZ2U6ICAgICAgJGJvcmRlci1yYWRpdXMtbGFyZ2UgIWRlZmF1bHQ7XG4vLyoqIFNtYWxsIGAuZm9ybS1jb250cm9sYCBib3JkZXIgcmFkaXVzXG4kaW5wdXQtYm9yZGVyLXJhZGl1cy1zbWFsbDogICAgICAkYm9yZGVyLXJhZGl1cy1zbWFsbCAhZGVmYXVsdDtcblxuLy8qKiBCb3JkZXIgY29sb3IgZm9yIGlucHV0cyBvbiBmb2N1c1xuJGlucHV0LWJvcmRlci1mb2N1czogICAgICAgICAgICAgIzY2YWZlOSAhZGVmYXVsdDtcblxuLy8qKiBQbGFjZWhvbGRlciB0ZXh0IGNvbG9yXG4kaW5wdXQtY29sb3ItcGxhY2Vob2xkZXI6ICAgICAgICAjOTk5ICFkZWZhdWx0O1xuXG4vLyoqIERlZmF1bHQgYC5mb3JtLWNvbnRyb2xgIGhlaWdodFxuJGlucHV0LWhlaWdodC1iYXNlOiAgICAgICAgICAgICAgKCRsaW5lLWhlaWdodC1jb21wdXRlZCArICgkcGFkZGluZy1iYXNlLXZlcnRpY2FsICogMikgKyAyKSAhZGVmYXVsdDtcbi8vKiogTGFyZ2UgYC5mb3JtLWNvbnRyb2xgIGhlaWdodFxuJGlucHV0LWhlaWdodC1sYXJnZTogICAgICAgICAgICAgKGNlaWwoJGZvbnQtc2l6ZS1sYXJnZSAqICRsaW5lLWhlaWdodC1sYXJnZSkgKyAoJHBhZGRpbmctbGFyZ2UtdmVydGljYWwgKiAyKSArIDIpICFkZWZhdWx0O1xuLy8qKiBTbWFsbCBgLmZvcm0tY29udHJvbGAgaGVpZ2h0XG4kaW5wdXQtaGVpZ2h0LXNtYWxsOiAgICAgICAgICAgICAoZmxvb3IoJGZvbnQtc2l6ZS1zbWFsbCAqICRsaW5lLWhlaWdodC1zbWFsbCkgKyAoJHBhZGRpbmctc21hbGwtdmVydGljYWwgKiAyKSArIDIpICFkZWZhdWx0O1xuXG4vLyoqIGAuZm9ybS1ncm91cGAgbWFyZ2luXG4kZm9ybS1ncm91cC1tYXJnaW4tYm90dG9tOiAgICAgICAxNXB4ICFkZWZhdWx0O1xuXG4kbGVnZW5kLWNvbG9yOiAgICAgICAgICAgICAgICAgICAkZ3JheS1kYXJrICFkZWZhdWx0O1xuJGxlZ2VuZC1ib3JkZXItY29sb3I6ICAgICAgICAgICAgI2U1ZTVlNSAhZGVmYXVsdDtcblxuLy8qKiBCYWNrZ3JvdW5kIGNvbG9yIGZvciB0ZXh0dWFsIGlucHV0IGFkZG9uc1xuJGlucHV0LWdyb3VwLWFkZG9uLWJnOiAgICAgICAgICAgJGdyYXktbGlnaHRlciAhZGVmYXVsdDtcbi8vKiogQm9yZGVyIGNvbG9yIGZvciB0ZXh0dWFsIGlucHV0IGFkZG9uc1xuJGlucHV0LWdyb3VwLWFkZG9uLWJvcmRlci1jb2xvcjogJGlucHV0LWJvcmRlciAhZGVmYXVsdDtcblxuLy8qKiBEaXNhYmxlZCBjdXJzb3IgZm9yIGZvcm0gY29udHJvbHMgYW5kIGJ1dHRvbnMuXG4kY3Vyc29yLWRpc2FibGVkOiAgICAgICAgICAgICAgICBub3QtYWxsb3dlZCAhZGVmYXVsdDtcblxuXG4vLz09IERyb3Bkb3duc1xuLy9cbi8vIyMgRHJvcGRvd24gbWVudSBjb250YWluZXIgYW5kIGNvbnRlbnRzLlxuXG4vLyoqIEJhY2tncm91bmQgZm9yIHRoZSBkcm9wZG93biBtZW51LlxuJGRyb3Bkb3duLWJnOiAgICAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbi8vKiogRHJvcGRvd24gbWVudSBgYm9yZGVyLWNvbG9yYC5cbiRkcm9wZG93bi1ib3JkZXI6ICAgICAgICAgICAgICAgIHJnYmEoMCwwLDAsLjE1KSAhZGVmYXVsdDtcbi8vKiogRHJvcGRvd24gbWVudSBgYm9yZGVyLWNvbG9yYCAqKmZvciBJRTgqKi5cbiRkcm9wZG93bi1mYWxsYmFjay1ib3JkZXI6ICAgICAgICNjY2MgIWRlZmF1bHQ7XG4vLyoqIERpdmlkZXIgY29sb3IgZm9yIGJldHdlZW4gZHJvcGRvd24gaXRlbXMuXG4kZHJvcGRvd24tZGl2aWRlci1iZzogICAgICAgICAgICAjZTVlNWU1ICFkZWZhdWx0O1xuXG4vLyoqIERyb3Bkb3duIGxpbmsgdGV4dCBjb2xvci5cbiRkcm9wZG93bi1saW5rLWNvbG9yOiAgICAgICAgICAgICRncmF5LWRhcmsgIWRlZmF1bHQ7XG4vLyoqIEhvdmVyIGNvbG9yIGZvciBkcm9wZG93biBsaW5rcy5cbiRkcm9wZG93bi1saW5rLWhvdmVyLWNvbG9yOiAgICAgIGRhcmtlbigkZ3JheS1kYXJrLCA1JSkgIWRlZmF1bHQ7XG4vLyoqIEhvdmVyIGJhY2tncm91bmQgZm9yIGRyb3Bkb3duIGxpbmtzLlxuJGRyb3Bkb3duLWxpbmstaG92ZXItYmc6ICAgICAgICAgI2Y1ZjVmNSAhZGVmYXVsdDtcblxuLy8qKiBBY3RpdmUgZHJvcGRvd24gbWVudSBpdGVtIHRleHQgY29sb3IuXG4kZHJvcGRvd24tbGluay1hY3RpdmUtY29sb3I6ICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbi8vKiogQWN0aXZlIGRyb3Bkb3duIG1lbnUgaXRlbSBiYWNrZ3JvdW5kIGNvbG9yLlxuJGRyb3Bkb3duLWxpbmstYWN0aXZlLWJnOiAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG5cbi8vKiogRGlzYWJsZWQgZHJvcGRvd24gbWVudSBpdGVtIGJhY2tncm91bmQgY29sb3IuXG4kZHJvcGRvd24tbGluay1kaXNhYmxlZC1jb2xvcjogICAkZ3JheS1saWdodCAhZGVmYXVsdDtcblxuLy8qKiBUZXh0IGNvbG9yIGZvciBoZWFkZXJzIHdpdGhpbiBkcm9wZG93biBtZW51cy5cbiRkcm9wZG93bi1oZWFkZXItY29sb3I6ICAgICAgICAgICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuXG4vLyoqIERlcHJlY2F0ZWQgYCRkcm9wZG93bi1jYXJldC1jb2xvcmAgYXMgb2YgdjMuMS4wXG4kZHJvcGRvd24tY2FyZXQtY29sb3I6ICAgICAgICAgICAjMDAwICFkZWZhdWx0O1xuXG5cbi8vLS0gWi1pbmRleCBtYXN0ZXIgbGlzdFxuLy9cbi8vIFdhcm5pbmc6IEF2b2lkIGN1c3RvbWl6aW5nIHRoZXNlIHZhbHVlcy4gVGhleSdyZSB1c2VkIGZvciBhIGJpcmQncyBleWUgdmlld1xuLy8gb2YgY29tcG9uZW50cyBkZXBlbmRlbnQgb24gdGhlIHotYXhpcyBhbmQgYXJlIGRlc2lnbmVkIHRvIGFsbCB3b3JrIHRvZ2V0aGVyLlxuLy9cbi8vIE5vdGU6IFRoZXNlIHZhcmlhYmxlcyBhcmUgbm90IGdlbmVyYXRlZCBpbnRvIHRoZSBDdXN0b21pemVyLlxuXG4kemluZGV4LW5hdmJhcjogICAgICAgICAgICAxMDAwICFkZWZhdWx0O1xuJHppbmRleC1kcm9wZG93bjogICAgICAgICAgMTAwMCAhZGVmYXVsdDtcbiR6aW5kZXgtcG9wb3ZlcjogICAgICAgICAgIDEwNjAgIWRlZmF1bHQ7XG4kemluZGV4LXRvb2x0aXA6ICAgICAgICAgICAxMDcwICFkZWZhdWx0O1xuJHppbmRleC1uYXZiYXItZml4ZWQ6ICAgICAgMTAzMCAhZGVmYXVsdDtcbiR6aW5kZXgtbW9kYWwtYmFja2dyb3VuZDogIDEwNDAgIWRlZmF1bHQ7XG4kemluZGV4LW1vZGFsOiAgICAgICAgICAgICAxMDUwICFkZWZhdWx0O1xuXG5cbi8vPT0gTWVkaWEgcXVlcmllcyBicmVha3BvaW50c1xuLy9cbi8vIyMgRGVmaW5lIHRoZSBicmVha3BvaW50cyBhdCB3aGljaCB5b3VyIGxheW91dCB3aWxsIGNoYW5nZSwgYWRhcHRpbmcgdG8gZGlmZmVyZW50IHNjcmVlbiBzaXplcy5cblxuLy8gRXh0cmEgc21hbGwgc2NyZWVuIC8gcGhvbmVcbi8vKiogRGVwcmVjYXRlZCBgJHNjcmVlbi14c2AgYXMgb2YgdjMuMC4xXG4kc2NyZWVuLXhzOiAgICAgICAgICAgICAgICAgIDQ4MHB4ICFkZWZhdWx0O1xuLy8qKiBEZXByZWNhdGVkIGAkc2NyZWVuLXhzLW1pbmAgYXMgb2YgdjMuMi4wXG4kc2NyZWVuLXhzLW1pbjogICAgICAgICAgICAgICRzY3JlZW4teHMgIWRlZmF1bHQ7XG4vLyoqIERlcHJlY2F0ZWQgYCRzY3JlZW4tcGhvbmVgIGFzIG9mIHYzLjAuMVxuJHNjcmVlbi1waG9uZTogICAgICAgICAgICAgICAkc2NyZWVuLXhzLW1pbiAhZGVmYXVsdDtcblxuLy8gU21hbGwgc2NyZWVuIC8gdGFibGV0XG4vLyoqIERlcHJlY2F0ZWQgYCRzY3JlZW4tc21gIGFzIG9mIHYzLjAuMVxuJHNjcmVlbi1zbTogICAgICAgICAgICAgICAgICA3NjhweCAhZGVmYXVsdDtcbiRzY3JlZW4tc20tbWluOiAgICAgICAgICAgICAgJHNjcmVlbi1zbSAhZGVmYXVsdDtcbi8vKiogRGVwcmVjYXRlZCBgJHNjcmVlbi10YWJsZXRgIGFzIG9mIHYzLjAuMVxuJHNjcmVlbi10YWJsZXQ6ICAgICAgICAgICAgICAkc2NyZWVuLXNtLW1pbiAhZGVmYXVsdDtcblxuLy8gTWVkaXVtIHNjcmVlbiAvIGRlc2t0b3Bcbi8vKiogRGVwcmVjYXRlZCBgJHNjcmVlbi1tZGAgYXMgb2YgdjMuMC4xXG4kc2NyZWVuLW1kOiAgICAgICAgICAgICAgICAgIDk5MnB4ICFkZWZhdWx0O1xuJHNjcmVlbi1tZC1taW46ICAgICAgICAgICAgICAkc2NyZWVuLW1kICFkZWZhdWx0O1xuLy8qKiBEZXByZWNhdGVkIGAkc2NyZWVuLWRlc2t0b3BgIGFzIG9mIHYzLjAuMVxuJHNjcmVlbi1kZXNrdG9wOiAgICAgICAgICAgICAkc2NyZWVuLW1kLW1pbiAhZGVmYXVsdDtcblxuLy8gTGFyZ2Ugc2NyZWVuIC8gd2lkZSBkZXNrdG9wXG4vLyoqIERlcHJlY2F0ZWQgYCRzY3JlZW4tbGdgIGFzIG9mIHYzLjAuMVxuJHNjcmVlbi1sZzogICAgICAgICAgICAgICAgICAxMjAwcHggIWRlZmF1bHQ7XG4kc2NyZWVuLWxnLW1pbjogICAgICAgICAgICAgICRzY3JlZW4tbGcgIWRlZmF1bHQ7XG4vLyoqIERlcHJlY2F0ZWQgYCRzY3JlZW4tbGctZGVza3RvcGAgYXMgb2YgdjMuMC4xXG4kc2NyZWVuLWxnLWRlc2t0b3A6ICAgICAgICAgICRzY3JlZW4tbGctbWluICFkZWZhdWx0O1xuXG4vLyBTbyBtZWRpYSBxdWVyaWVzIGRvbid0IG92ZXJsYXAgd2hlbiByZXF1aXJlZCwgcHJvdmlkZSBhIG1heGltdW1cbiRzY3JlZW4teHMtbWF4OiAgICAgICAgICAgICAgKCRzY3JlZW4tc20tbWluIC0gMSkgIWRlZmF1bHQ7XG4kc2NyZWVuLXNtLW1heDogICAgICAgICAgICAgICgkc2NyZWVuLW1kLW1pbiAtIDEpICFkZWZhdWx0O1xuJHNjcmVlbi1tZC1tYXg6ICAgICAgICAgICAgICAoJHNjcmVlbi1sZy1taW4gLSAxKSAhZGVmYXVsdDtcblxuXG4vLz09IEdyaWQgc3lzdGVtXG4vL1xuLy8jIyBEZWZpbmUgeW91ciBjdXN0b20gcmVzcG9uc2l2ZSBncmlkLlxuXG4vLyoqIE51bWJlciBvZiBjb2x1bW5zIGluIHRoZSBncmlkLlxuJGdyaWQtY29sdW1uczogICAgICAgICAgICAgIDEyICFkZWZhdWx0O1xuLy8qKiBQYWRkaW5nIGJldHdlZW4gY29sdW1ucy4gR2V0cyBkaXZpZGVkIGluIGhhbGYgZm9yIHRoZSBsZWZ0IGFuZCByaWdodC5cbiRncmlkLWd1dHRlci13aWR0aDogICAgICAgICAzMHB4ICFkZWZhdWx0O1xuLy8gTmF2YmFyIGNvbGxhcHNlXG4vLyoqIFBvaW50IGF0IHdoaWNoIHRoZSBuYXZiYXIgYmVjb21lcyB1bmNvbGxhcHNlZC5cbiRncmlkLWZsb2F0LWJyZWFrcG9pbnQ6ICAgICAkc2NyZWVuLXNtLW1pbiAhZGVmYXVsdDtcbi8vKiogUG9pbnQgYXQgd2hpY2ggdGhlIG5hdmJhciBiZWdpbnMgY29sbGFwc2luZy5cbiRncmlkLWZsb2F0LWJyZWFrcG9pbnQtbWF4OiAoJGdyaWQtZmxvYXQtYnJlYWtwb2ludCAtIDEpICFkZWZhdWx0O1xuXG5cbi8vPT0gQ29udGFpbmVyIHNpemVzXG4vL1xuLy8jIyBEZWZpbmUgdGhlIG1heGltdW0gd2lkdGggb2YgYC5jb250YWluZXJgIGZvciBkaWZmZXJlbnQgc2NyZWVuIHNpemVzLlxuXG4vLyBTbWFsbCBzY3JlZW4gLyB0YWJsZXRcbiRjb250YWluZXItdGFibGV0OiAgICAgICAgICAgICAoNzIwcHggKyAkZ3JpZC1ndXR0ZXItd2lkdGgpICFkZWZhdWx0O1xuLy8qKiBGb3IgYCRzY3JlZW4tc20tbWluYCBhbmQgdXAuXG4kY29udGFpbmVyLXNtOiAgICAgICAgICAgICAgICAgJGNvbnRhaW5lci10YWJsZXQgIWRlZmF1bHQ7XG5cbi8vIE1lZGl1bSBzY3JlZW4gLyBkZXNrdG9wXG4kY29udGFpbmVyLWRlc2t0b3A6ICAgICAgICAgICAgKDk0MHB4ICsgJGdyaWQtZ3V0dGVyLXdpZHRoKSAhZGVmYXVsdDtcbi8vKiogRm9yIGAkc2NyZWVuLW1kLW1pbmAgYW5kIHVwLlxuJGNvbnRhaW5lci1tZDogICAgICAgICAgICAgICAgICRjb250YWluZXItZGVza3RvcCAhZGVmYXVsdDtcblxuLy8gTGFyZ2Ugc2NyZWVuIC8gd2lkZSBkZXNrdG9wXG4kY29udGFpbmVyLWxhcmdlLWRlc2t0b3A6ICAgICAgKDExNDBweCArICRncmlkLWd1dHRlci13aWR0aCkgIWRlZmF1bHQ7XG4vLyoqIEZvciBgJHNjcmVlbi1sZy1taW5gIGFuZCB1cC5cbiRjb250YWluZXItbGc6ICAgICAgICAgICAgICAgICAkY29udGFpbmVyLWxhcmdlLWRlc2t0b3AgIWRlZmF1bHQ7XG5cblxuLy89PSBOYXZiYXJcbi8vXG4vLyMjXG5cbi8vIEJhc2ljcyBvZiBhIG5hdmJhclxuJG5hdmJhci1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICA1MHB4ICFkZWZhdWx0O1xuJG5hdmJhci1tYXJnaW4tYm90dG9tOiAgICAgICAgICAgICAkbGluZS1oZWlnaHQtY29tcHV0ZWQgIWRlZmF1bHQ7XG4kbmF2YmFyLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICRib3JkZXItcmFkaXVzLWJhc2UgIWRlZmF1bHQ7XG4kbmF2YmFyLXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgIGZsb29yKCgkZ3JpZC1ndXR0ZXItd2lkdGggLyAyKSkgIWRlZmF1bHQ7XG4kbmF2YmFyLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICgoJG5hdmJhci1oZWlnaHQgLSAkbGluZS1oZWlnaHQtY29tcHV0ZWQpIC8gMikgIWRlZmF1bHQ7XG4kbmF2YmFyLWNvbGxhcHNlLW1heC1oZWlnaHQ6ICAgICAgIDM0MHB4ICFkZWZhdWx0O1xuXG4kbmF2YmFyLWRlZmF1bHQtY29sb3I6ICAgICAgICAgICAgICM3NzcgIWRlZmF1bHQ7XG4kbmF2YmFyLWRlZmF1bHQtYmc6ICAgICAgICAgICAgICAgICNmOGY4ZjggIWRlZmF1bHQ7XG4kbmF2YmFyLWRlZmF1bHQtYm9yZGVyOiAgICAgICAgICAgIGRhcmtlbigkbmF2YmFyLWRlZmF1bHQtYmcsIDYuNSUpICFkZWZhdWx0O1xuXG4vLyBOYXZiYXIgbGlua3NcbiRuYXZiYXItZGVmYXVsdC1saW5rLWNvbG9yOiAgICAgICAgICAgICAgICAjNzc3ICFkZWZhdWx0O1xuJG5hdmJhci1kZWZhdWx0LWxpbmstaG92ZXItY29sb3I6ICAgICAgICAgICMzMzMgIWRlZmF1bHQ7XG4kbmF2YmFyLWRlZmF1bHQtbGluay1ob3Zlci1iZzogICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kbmF2YmFyLWRlZmF1bHQtbGluay1hY3RpdmUtY29sb3I6ICAgICAgICAgIzU1NSAhZGVmYXVsdDtcbiRuYXZiYXItZGVmYXVsdC1saW5rLWFjdGl2ZS1iZzogICAgICAgICAgICBkYXJrZW4oJG5hdmJhci1kZWZhdWx0LWJnLCA2LjUlKSAhZGVmYXVsdDtcbiRuYXZiYXItZGVmYXVsdC1saW5rLWRpc2FibGVkLWNvbG9yOiAgICAgICAjY2NjICFkZWZhdWx0O1xuJG5hdmJhci1kZWZhdWx0LWxpbmstZGlzYWJsZWQtYmc6ICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuXG4vLyBOYXZiYXIgYnJhbmQgbGFiZWxcbiRuYXZiYXItZGVmYXVsdC1icmFuZC1jb2xvcjogICAgICAgICAgICAgICAkbmF2YmFyLWRlZmF1bHQtbGluay1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItZGVmYXVsdC1icmFuZC1ob3Zlci1jb2xvcjogICAgICAgICBkYXJrZW4oJG5hdmJhci1kZWZhdWx0LWJyYW5kLWNvbG9yLCAxMCUpICFkZWZhdWx0O1xuJG5hdmJhci1kZWZhdWx0LWJyYW5kLWhvdmVyLWJnOiAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuXG4vLyBOYXZiYXIgdG9nZ2xlXG4kbmF2YmFyLWRlZmF1bHQtdG9nZ2xlLWhvdmVyLWJnOiAgICAgICAgICAgI2RkZCAhZGVmYXVsdDtcbiRuYXZiYXItZGVmYXVsdC10b2dnbGUtaWNvbi1iYXItYmc6ICAgICAgICAjODg4ICFkZWZhdWx0O1xuJG5hdmJhci1kZWZhdWx0LXRvZ2dsZS1ib3JkZXItY29sb3I6ICAgICAgICNkZGQgIWRlZmF1bHQ7XG5cblxuLy89PT0gSW52ZXJ0ZWQgbmF2YmFyXG4vLyBSZXNldCBpbnZlcnRlZCBuYXZiYXIgYmFzaWNzXG4kbmF2YmFyLWludmVyc2UtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgIGxpZ2h0ZW4oJGdyYXktbGlnaHQsIDE1JSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWludmVyc2UtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICMyMjIgIWRlZmF1bHQ7XG4kbmF2YmFyLWludmVyc2UtYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgIGRhcmtlbigkbmF2YmFyLWludmVyc2UtYmcsIDEwJSkgIWRlZmF1bHQ7XG5cbi8vIEludmVydGVkIG5hdmJhciBsaW5rc1xuJG5hdmJhci1pbnZlcnNlLWxpbmstY29sb3I6ICAgICAgICAgICAgICAgICBsaWdodGVuKCRncmF5LWxpZ2h0LCAxNSUpICFkZWZhdWx0O1xuJG5hdmJhci1pbnZlcnNlLWxpbmstaG92ZXItY29sb3I6ICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJG5hdmJhci1pbnZlcnNlLWxpbmstaG92ZXItYmc6ICAgICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRuYXZiYXItaW52ZXJzZS1saW5rLWFjdGl2ZS1jb2xvcjogICAgICAgICAgJG5hdmJhci1pbnZlcnNlLWxpbmstaG92ZXItY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWludmVyc2UtbGluay1hY3RpdmUtYmc6ICAgICAgICAgICAgIGRhcmtlbigkbmF2YmFyLWludmVyc2UtYmcsIDEwJSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWludmVyc2UtbGluay1kaXNhYmxlZC1jb2xvcjogICAgICAgICM0NDQgIWRlZmF1bHQ7XG4kbmF2YmFyLWludmVyc2UtbGluay1kaXNhYmxlZC1iZzogICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuXG4vLyBJbnZlcnRlZCBuYXZiYXIgYnJhbmQgbGFiZWxcbiRuYXZiYXItaW52ZXJzZS1icmFuZC1jb2xvcjogICAgICAgICAgICAgICAgJG5hdmJhci1pbnZlcnNlLWxpbmstY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWludmVyc2UtYnJhbmQtaG92ZXItY29sb3I6ICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kbmF2YmFyLWludmVyc2UtYnJhbmQtaG92ZXItYmc6ICAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuXG4vLyBJbnZlcnRlZCBuYXZiYXIgdG9nZ2xlXG4kbmF2YmFyLWludmVyc2UtdG9nZ2xlLWhvdmVyLWJnOiAgICAgICAgICAgICMzMzMgIWRlZmF1bHQ7XG4kbmF2YmFyLWludmVyc2UtdG9nZ2xlLWljb24tYmFyLWJnOiAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kbmF2YmFyLWludmVyc2UtdG9nZ2xlLWJvcmRlci1jb2xvcjogICAgICAgICMzMzMgIWRlZmF1bHQ7XG5cblxuLy89PSBOYXZzXG4vL1xuLy8jI1xuXG4vLz09PSBTaGFyZWQgbmF2IHN0eWxlc1xuJG5hdi1saW5rLXBhZGRpbmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAxMHB4IDE1cHggIWRlZmF1bHQ7XG4kbmF2LWxpbmstaG92ZXItYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICRncmF5LWxpZ2h0ZXIgIWRlZmF1bHQ7XG5cbiRuYXYtZGlzYWJsZWQtbGluay1jb2xvcjogICAgICAgICAgICAgICAgICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG4kbmF2LWRpc2FibGVkLWxpbmstaG92ZXItY29sb3I6ICAgICAgICAgICAgICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuXG4vLz09IFRhYnNcbiRuYXYtdGFicy1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgI2RkZCAhZGVmYXVsdDtcblxuJG5hdi10YWJzLWxpbmstaG92ZXItYm9yZGVyLWNvbG9yOiAgICAgICAgICAkZ3JheS1saWdodGVyICFkZWZhdWx0O1xuXG4kbmF2LXRhYnMtYWN0aXZlLWxpbmstaG92ZXItYmc6ICAgICAgICAgICAgICRib2R5LWJnICFkZWZhdWx0O1xuJG5hdi10YWJzLWFjdGl2ZS1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICAkZ3JheSAhZGVmYXVsdDtcbiRuYXYtdGFicy1hY3RpdmUtbGluay1ob3Zlci1ib3JkZXItY29sb3I6ICAgI2RkZCAhZGVmYXVsdDtcblxuJG5hdi10YWJzLWp1c3RpZmllZC1saW5rLWJvcmRlci1jb2xvcjogICAgICAgICAgICAjZGRkICFkZWZhdWx0O1xuJG5hdi10YWJzLWp1c3RpZmllZC1hY3RpdmUtbGluay1ib3JkZXItY29sb3I6ICAgICAkYm9keS1iZyAhZGVmYXVsdDtcblxuLy89PSBQaWxsc1xuJG5hdi1waWxscy1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cy1iYXNlICFkZWZhdWx0O1xuJG5hdi1waWxscy1hY3RpdmUtbGluay1ob3Zlci1iZzogICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRuYXYtcGlsbHMtYWN0aXZlLWxpbmstaG92ZXItY29sb3I6ICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG5cblxuLy89PSBQYWdpbmF0aW9uXG4vL1xuLy8jI1xuXG4kcGFnaW5hdGlvbi1jb2xvcjogICAgICAgICAgICAgICAgICAgICAkbGluay1jb2xvciAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAjZGRkICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAkbGluay1ob3Zlci1jb2xvciAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWhvdmVyLWJnOiAgICAgICAgICAgICAgICAgICRncmF5LWxpZ2h0ZXIgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ob3Zlci1ib3JkZXI6ICAgICAgICAgICAgICAjZGRkICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1hY3RpdmUtY29sb3I6ICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYWN0aXZlLWJnOiAgICAgICAgICAgICAgICAgJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1hY3RpdmUtYm9yZGVyOiAgICAgICAgICAgICAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tZGlzYWJsZWQtY29sb3I6ICAgICAgICAgICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1kaXNhYmxlZC1iZzogICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tZGlzYWJsZWQtYm9yZGVyOiAgICAgICAgICAgI2RkZCAhZGVmYXVsdDtcblxuXG4vLz09IFBhZ2VyXG4vL1xuLy8jI1xuXG4kcGFnZXItYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcGFnaW5hdGlvbi1iZyAhZGVmYXVsdDtcbiRwYWdlci1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAgICAgICRwYWdpbmF0aW9uLWJvcmRlciAhZGVmYXVsdDtcbiRwYWdlci1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICAgIDE1cHggIWRlZmF1bHQ7XG5cbiRwYWdlci1ob3Zlci1iZzogICAgICAgICAgICAgICAgICAgICAgICRwYWdpbmF0aW9uLWhvdmVyLWJnICFkZWZhdWx0O1xuXG4kcGFnZXItYWN0aXZlLWJnOiAgICAgICAgICAgICAgICAgICAgICAkcGFnaW5hdGlvbi1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kcGFnZXItYWN0aXZlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAkcGFnaW5hdGlvbi1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG5cbiRwYWdlci1kaXNhYmxlZC1jb2xvcjogICAgICAgICAgICAgICAgICRwYWdpbmF0aW9uLWRpc2FibGVkLWNvbG9yICFkZWZhdWx0O1xuXG5cbi8vPT0gSnVtYm90cm9uXG4vL1xuLy8jI1xuXG4kanVtYm90cm9uLXBhZGRpbmc6ICAgICAgICAgICAgICAzMHB4ICFkZWZhdWx0O1xuJGp1bWJvdHJvbi1jb2xvcjogICAgICAgICAgICAgICAgaW5oZXJpdCAhZGVmYXVsdDtcbiRqdW1ib3Ryb24tYmc6ICAgICAgICAgICAgICAgICAgICRncmF5LWxpZ2h0ZXIgIWRlZmF1bHQ7XG4kanVtYm90cm9uLWhlYWRpbmctY29sb3I6ICAgICAgICBpbmhlcml0ICFkZWZhdWx0O1xuJGp1bWJvdHJvbi1mb250LXNpemU6ICAgICAgICAgICAgY2VpbCgoJGZvbnQtc2l6ZS1iYXNlICogMS41KSkgIWRlZmF1bHQ7XG4kanVtYm90cm9uLWhlYWRpbmctZm9udC1zaXplOiAgICBjZWlsKCgkZm9udC1zaXplLWJhc2UgKiA0LjUpKSAhZGVmYXVsdDtcblxuXG4vLz09IEZvcm0gc3RhdGVzIGFuZCBhbGVydHNcbi8vXG4vLyMjIERlZmluZSBjb2xvcnMgZm9yIGZvcm0gZmVlZGJhY2sgc3RhdGVzIGFuZCwgYnkgZGVmYXVsdCwgYWxlcnRzLlxuXG4kc3RhdGUtc3VjY2Vzcy10ZXh0OiAgICAgICAgICAgICAjM2M3NjNkICFkZWZhdWx0O1xuJHN0YXRlLXN1Y2Nlc3MtYmc6ICAgICAgICAgICAgICAgI2RmZjBkOCAhZGVmYXVsdDtcbiRzdGF0ZS1zdWNjZXNzLWJvcmRlcjogICAgICAgICAgIGRhcmtlbihhZGp1c3QtaHVlKCRzdGF0ZS1zdWNjZXNzLWJnLCAtMTApLCA1JSkgIWRlZmF1bHQ7XG5cbiRzdGF0ZS1pbmZvLXRleHQ6ICAgICAgICAgICAgICAgICMzMTcwOGYgIWRlZmF1bHQ7XG4kc3RhdGUtaW5mby1iZzogICAgICAgICAgICAgICAgICAjZDllZGY3ICFkZWZhdWx0O1xuJHN0YXRlLWluZm8tYm9yZGVyOiAgICAgICAgICAgICAgZGFya2VuKGFkanVzdC1odWUoJHN0YXRlLWluZm8tYmcsIC0xMCksIDclKSAhZGVmYXVsdDtcblxuJHN0YXRlLXdhcm5pbmctdGV4dDogICAgICAgICAgICAgIzhhNmQzYiAhZGVmYXVsdDtcbiRzdGF0ZS13YXJuaW5nLWJnOiAgICAgICAgICAgICAgICNmY2Y4ZTMgIWRlZmF1bHQ7XG4kc3RhdGUtd2FybmluZy1ib3JkZXI6ICAgICAgICAgICBkYXJrZW4oYWRqdXN0LWh1ZSgkc3RhdGUtd2FybmluZy1iZywgLTEwKSwgNSUpICFkZWZhdWx0O1xuXG4kc3RhdGUtZGFuZ2VyLXRleHQ6ICAgICAgICAgICAgICAjYTk0NDQyICFkZWZhdWx0O1xuJHN0YXRlLWRhbmdlci1iZzogICAgICAgICAgICAgICAgI2YyZGVkZSAhZGVmYXVsdDtcbiRzdGF0ZS1kYW5nZXItYm9yZGVyOiAgICAgICAgICAgIGRhcmtlbihhZGp1c3QtaHVlKCRzdGF0ZS1kYW5nZXItYmcsIC0xMCksIDUlKSAhZGVmYXVsdDtcblxuXG4vLz09IFRvb2x0aXBzXG4vL1xuLy8jI1xuXG4vLyoqIFRvb2x0aXAgbWF4IHdpZHRoXG4kdG9vbHRpcC1tYXgtd2lkdGg6ICAgICAgICAgICAyMDBweCAhZGVmYXVsdDtcbi8vKiogVG9vbHRpcCB0ZXh0IGNvbG9yXG4kdG9vbHRpcC1jb2xvcjogICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuLy8qKiBUb29sdGlwIGJhY2tncm91bmQgY29sb3JcbiR0b29sdGlwLWJnOiAgICAgICAgICAgICAgICAgICMwMDAgIWRlZmF1bHQ7XG4kdG9vbHRpcC1vcGFjaXR5OiAgICAgICAgICAgICAuOSAhZGVmYXVsdDtcblxuLy8qKiBUb29sdGlwIGFycm93IHdpZHRoXG4kdG9vbHRpcC1hcnJvdy13aWR0aDogICAgICAgICA1cHggIWRlZmF1bHQ7XG4vLyoqIFRvb2x0aXAgYXJyb3cgY29sb3JcbiR0b29sdGlwLWFycm93LWNvbG9yOiAgICAgICAgICR0b29sdGlwLWJnICFkZWZhdWx0O1xuXG5cbi8vPT0gUG9wb3ZlcnNcbi8vXG4vLyMjXG5cbi8vKiogUG9wb3ZlciBib2R5IGJhY2tncm91bmQgY29sb3JcbiRwb3BvdmVyLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbi8vKiogUG9wb3ZlciBtYXhpbXVtIHdpZHRoXG4kcG9wb3Zlci1tYXgtd2lkdGg6ICAgICAgICAgICAgICAgICAgIDI3NnB4ICFkZWZhdWx0O1xuLy8qKiBQb3BvdmVyIGJvcmRlciBjb2xvclxuJHBvcG92ZXItYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICByZ2JhKDAsMCwwLC4yKSAhZGVmYXVsdDtcbi8vKiogUG9wb3ZlciBmYWxsYmFjayBib3JkZXIgY29sb3JcbiRwb3BvdmVyLWZhbGxiYWNrLWJvcmRlci1jb2xvcjogICAgICAgI2NjYyAhZGVmYXVsdDtcblxuLy8qKiBQb3BvdmVyIHRpdGxlIGJhY2tncm91bmQgY29sb3JcbiRwb3BvdmVyLXRpdGxlLWJnOiAgICAgICAgICAgICAgICAgICAgZGFya2VuKCRwb3BvdmVyLWJnLCAzJSkgIWRlZmF1bHQ7XG5cbi8vKiogUG9wb3ZlciBhcnJvdyB3aWR0aFxuJHBvcG92ZXItYXJyb3ctd2lkdGg6ICAgICAgICAgICAgICAgICAxMHB4ICFkZWZhdWx0O1xuLy8qKiBQb3BvdmVyIGFycm93IGNvbG9yXG4kcG9wb3Zlci1hcnJvdy1jb2xvcjogICAgICAgICAgICAgICAgICRwb3BvdmVyLWJnICFkZWZhdWx0O1xuXG4vLyoqIFBvcG92ZXIgb3V0ZXIgYXJyb3cgd2lkdGhcbiRwb3BvdmVyLWFycm93LW91dGVyLXdpZHRoOiAgICAgICAgICAgKCRwb3BvdmVyLWFycm93LXdpZHRoICsgMSkgIWRlZmF1bHQ7XG4vLyoqIFBvcG92ZXIgb3V0ZXIgYXJyb3cgY29sb3JcbiRwb3BvdmVyLWFycm93LW91dGVyLWNvbG9yOiAgICAgICAgICAgZmFkZV9pbigkcG9wb3Zlci1ib3JkZXItY29sb3IsIDAuMDUpICFkZWZhdWx0O1xuLy8qKiBQb3BvdmVyIG91dGVyIGFycm93IGZhbGxiYWNrIGNvbG9yXG4kcG9wb3Zlci1hcnJvdy1vdXRlci1mYWxsYmFjay1jb2xvcjogIGRhcmtlbigkcG9wb3Zlci1mYWxsYmFjay1ib3JkZXItY29sb3IsIDIwJSkgIWRlZmF1bHQ7XG5cblxuLy89PSBMYWJlbHNcbi8vXG4vLyMjXG5cbi8vKiogRGVmYXVsdCBsYWJlbCBiYWNrZ3JvdW5kIGNvbG9yXG4kbGFiZWwtZGVmYXVsdC1iZzogICAgICAgICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcbi8vKiogUHJpbWFyeSBsYWJlbCBiYWNrZ3JvdW5kIGNvbG9yXG4kbGFiZWwtcHJpbWFyeS1iZzogICAgICAgICAgICAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcbi8vKiogU3VjY2VzcyBsYWJlbCBiYWNrZ3JvdW5kIGNvbG9yXG4kbGFiZWwtc3VjY2Vzcy1iZzogICAgICAgICAgICAkYnJhbmQtc3VjY2VzcyAhZGVmYXVsdDtcbi8vKiogSW5mbyBsYWJlbCBiYWNrZ3JvdW5kIGNvbG9yXG4kbGFiZWwtaW5mby1iZzogICAgICAgICAgICAgICAkYnJhbmQtaW5mbyAhZGVmYXVsdDtcbi8vKiogV2FybmluZyBsYWJlbCBiYWNrZ3JvdW5kIGNvbG9yXG4kbGFiZWwtd2FybmluZy1iZzogICAgICAgICAgICAkYnJhbmQtd2FybmluZyAhZGVmYXVsdDtcbi8vKiogRGFuZ2VyIGxhYmVsIGJhY2tncm91bmQgY29sb3JcbiRsYWJlbC1kYW5nZXItYmc6ICAgICAgICAgICAgICRicmFuZC1kYW5nZXIgIWRlZmF1bHQ7XG5cbi8vKiogRGVmYXVsdCBsYWJlbCB0ZXh0IGNvbG9yXG4kbGFiZWwtY29sb3I6ICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuLy8qKiBEZWZhdWx0IHRleHQgY29sb3Igb2YgYSBsaW5rZWQgbGFiZWxcbiRsYWJlbC1saW5rLWhvdmVyLWNvbG9yOiAgICAgICNmZmYgIWRlZmF1bHQ7XG5cblxuLy89PSBNb2RhbHNcbi8vXG4vLyMjXG5cbi8vKiogUGFkZGluZyBhcHBsaWVkIHRvIHRoZSBtb2RhbCBib2R5XG4kbW9kYWwtaW5uZXItcGFkZGluZzogICAgICAgICAxNXB4ICFkZWZhdWx0O1xuXG4vLyoqIFBhZGRpbmcgYXBwbGllZCB0byB0aGUgbW9kYWwgdGl0bGVcbiRtb2RhbC10aXRsZS1wYWRkaW5nOiAgICAgICAgIDE1cHggIWRlZmF1bHQ7XG4vLyoqIE1vZGFsIHRpdGxlIGxpbmUtaGVpZ2h0XG4kbW9kYWwtdGl0bGUtbGluZS1oZWlnaHQ6ICAgICAkbGluZS1oZWlnaHQtYmFzZSAhZGVmYXVsdDtcblxuLy8qKiBCYWNrZ3JvdW5kIGNvbG9yIG9mIG1vZGFsIGNvbnRlbnQgYXJlYVxuJG1vZGFsLWNvbnRlbnQtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuLy8qKiBNb2RhbCBjb250ZW50IGJvcmRlciBjb2xvclxuJG1vZGFsLWNvbnRlbnQtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICByZ2JhKDAsMCwwLC4yKSAhZGVmYXVsdDtcbi8vKiogTW9kYWwgY29udGVudCBib3JkZXIgY29sb3IgKipmb3IgSUU4KipcbiRtb2RhbC1jb250ZW50LWZhbGxiYWNrLWJvcmRlci1jb2xvcjogICAgICAgICAgIzk5OSAhZGVmYXVsdDtcblxuLy8qKiBNb2RhbCBiYWNrZHJvcCBiYWNrZ3JvdW5kIGNvbG9yXG4kbW9kYWwtYmFja2Ryb3AtYmc6ICAgICAgICAgICAjMDAwICFkZWZhdWx0O1xuLy8qKiBNb2RhbCBiYWNrZHJvcCBvcGFjaXR5XG4kbW9kYWwtYmFja2Ryb3Atb3BhY2l0eTogICAgICAuNSAhZGVmYXVsdDtcbi8vKiogTW9kYWwgaGVhZGVyIGJvcmRlciBjb2xvclxuJG1vZGFsLWhlYWRlci1ib3JkZXItY29sb3I6ICAgI2U1ZTVlNSAhZGVmYXVsdDtcbi8vKiogTW9kYWwgZm9vdGVyIGJvcmRlciBjb2xvclxuJG1vZGFsLWZvb3Rlci1ib3JkZXItY29sb3I6ICAgJG1vZGFsLWhlYWRlci1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG5cbiRtb2RhbC1sZzogICAgICAgICAgICAgICAgICAgIDkwMHB4ICFkZWZhdWx0O1xuJG1vZGFsLW1kOiAgICAgICAgICAgICAgICAgICAgNjAwcHggIWRlZmF1bHQ7XG4kbW9kYWwtc206ICAgICAgICAgICAgICAgICAgICAzMDBweCAhZGVmYXVsdDtcblxuXG4vLz09IEFsZXJ0c1xuLy9cbi8vIyMgRGVmaW5lIGFsZXJ0IGNvbG9ycywgYm9yZGVyIHJhZGl1cywgYW5kIHBhZGRpbmcuXG5cbiRhbGVydC1wYWRkaW5nOiAgICAgICAgICAgICAgIDE1cHggIWRlZmF1bHQ7XG4kYWxlcnQtYm9yZGVyLXJhZGl1czogICAgICAgICAkYm9yZGVyLXJhZGl1cy1iYXNlICFkZWZhdWx0O1xuJGFsZXJ0LWxpbmstZm9udC13ZWlnaHQ6ICAgICAgYm9sZCAhZGVmYXVsdDtcblxuJGFsZXJ0LXN1Y2Nlc3MtYmc6ICAgICAgICAgICAgJHN0YXRlLXN1Y2Nlc3MtYmcgIWRlZmF1bHQ7XG4kYWxlcnQtc3VjY2Vzcy10ZXh0OiAgICAgICAgICAkc3RhdGUtc3VjY2Vzcy10ZXh0ICFkZWZhdWx0O1xuJGFsZXJ0LXN1Y2Nlc3MtYm9yZGVyOiAgICAgICAgJHN0YXRlLXN1Y2Nlc3MtYm9yZGVyICFkZWZhdWx0O1xuXG4kYWxlcnQtaW5mby1iZzogICAgICAgICAgICAgICAkc3RhdGUtaW5mby1iZyAhZGVmYXVsdDtcbiRhbGVydC1pbmZvLXRleHQ6ICAgICAgICAgICAgICRzdGF0ZS1pbmZvLXRleHQgIWRlZmF1bHQ7XG4kYWxlcnQtaW5mby1ib3JkZXI6ICAgICAgICAgICAkc3RhdGUtaW5mby1ib3JkZXIgIWRlZmF1bHQ7XG5cbiRhbGVydC13YXJuaW5nLWJnOiAgICAgICAgICAgICRzdGF0ZS13YXJuaW5nLWJnICFkZWZhdWx0O1xuJGFsZXJ0LXdhcm5pbmctdGV4dDogICAgICAgICAgJHN0YXRlLXdhcm5pbmctdGV4dCAhZGVmYXVsdDtcbiRhbGVydC13YXJuaW5nLWJvcmRlcjogICAgICAgICRzdGF0ZS13YXJuaW5nLWJvcmRlciAhZGVmYXVsdDtcblxuJGFsZXJ0LWRhbmdlci1iZzogICAgICAgICAgICAgJHN0YXRlLWRhbmdlci1iZyAhZGVmYXVsdDtcbiRhbGVydC1kYW5nZXItdGV4dDogICAgICAgICAgICRzdGF0ZS1kYW5nZXItdGV4dCAhZGVmYXVsdDtcbiRhbGVydC1kYW5nZXItYm9yZGVyOiAgICAgICAgICRzdGF0ZS1kYW5nZXItYm9yZGVyICFkZWZhdWx0O1xuXG5cbi8vPT0gUHJvZ3Jlc3MgYmFyc1xuLy9cbi8vIyNcblxuLy8qKiBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSB3aG9sZSBwcm9ncmVzcyBjb21wb25lbnRcbiRwcm9ncmVzcy1iZzogICAgICAgICAgICAgICAgICNmNWY1ZjUgIWRlZmF1bHQ7XG4vLyoqIFByb2dyZXNzIGJhciB0ZXh0IGNvbG9yXG4kcHJvZ3Jlc3MtYmFyLWNvbG9yOiAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuLy8qKiBWYXJpYWJsZSBmb3Igc2V0dGluZyByb3VuZGVkIGNvcm5lcnMgb24gcHJvZ3Jlc3MgYmFyLlxuJHByb2dyZXNzLWJvcmRlci1yYWRpdXM6ICAgICAgJGJvcmRlci1yYWRpdXMtYmFzZSAhZGVmYXVsdDtcblxuLy8qKiBEZWZhdWx0IHByb2dyZXNzIGJhciBjb2xvclxuJHByb2dyZXNzLWJhci1iZzogICAgICAgICAgICAgJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XG4vLyoqIFN1Y2Nlc3MgcHJvZ3Jlc3MgYmFyIGNvbG9yXG4kcHJvZ3Jlc3MtYmFyLXN1Y2Nlc3MtYmc6ICAgICAkYnJhbmQtc3VjY2VzcyAhZGVmYXVsdDtcbi8vKiogV2FybmluZyBwcm9ncmVzcyBiYXIgY29sb3JcbiRwcm9ncmVzcy1iYXItd2FybmluZy1iZzogICAgICRicmFuZC13YXJuaW5nICFkZWZhdWx0O1xuLy8qKiBEYW5nZXIgcHJvZ3Jlc3MgYmFyIGNvbG9yXG4kcHJvZ3Jlc3MtYmFyLWRhbmdlci1iZzogICAgICAkYnJhbmQtZGFuZ2VyICFkZWZhdWx0O1xuLy8qKiBJbmZvIHByb2dyZXNzIGJhciBjb2xvclxuJHByb2dyZXNzLWJhci1pbmZvLWJnOiAgICAgICAgJGJyYW5kLWluZm8gIWRlZmF1bHQ7XG5cblxuLy89PSBMaXN0IGdyb3VwXG4vL1xuLy8jI1xuXG4vLyoqIEJhY2tncm91bmQgY29sb3Igb24gYC5saXN0LWdyb3VwLWl0ZW1gXG4kbGlzdC1ncm91cC1iZzogICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4vLyoqIGAubGlzdC1ncm91cC1pdGVtYCBib3JkZXIgY29sb3JcbiRsaXN0LWdyb3VwLWJvcmRlcjogICAgICAgICAgICAgI2RkZCAhZGVmYXVsdDtcbi8vKiogTGlzdCBncm91cCBib3JkZXIgcmFkaXVzXG4kbGlzdC1ncm91cC1ib3JkZXItcmFkaXVzOiAgICAgICRib3JkZXItcmFkaXVzLWJhc2UgIWRlZmF1bHQ7XG5cbi8vKiogQmFja2dyb3VuZCBjb2xvciBvZiBzaW5nbGUgbGlzdCBpdGVtcyBvbiBob3ZlclxuJGxpc3QtZ3JvdXAtaG92ZXItYmc6ICAgICAgICAgICAjZjVmNWY1ICFkZWZhdWx0O1xuLy8qKiBUZXh0IGNvbG9yIG9mIGFjdGl2ZSBsaXN0IGl0ZW1zXG4kbGlzdC1ncm91cC1hY3RpdmUtY29sb3I6ICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuLy8qKiBCYWNrZ3JvdW5kIGNvbG9yIG9mIGFjdGl2ZSBsaXN0IGl0ZW1zXG4kbGlzdC1ncm91cC1hY3RpdmUtYmc6ICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuLy8qKiBCb3JkZXIgY29sb3Igb2YgYWN0aXZlIGxpc3QgZWxlbWVudHNcbiRsaXN0LWdyb3VwLWFjdGl2ZS1ib3JkZXI6ICAgICAgJGxpc3QtZ3JvdXAtYWN0aXZlLWJnICFkZWZhdWx0O1xuLy8qKiBUZXh0IGNvbG9yIGZvciBjb250ZW50IHdpdGhpbiBhY3RpdmUgbGlzdCBpdGVtc1xuJGxpc3QtZ3JvdXAtYWN0aXZlLXRleHQtY29sb3I6ICBsaWdodGVuKCRsaXN0LWdyb3VwLWFjdGl2ZS1iZywgNDAlKSAhZGVmYXVsdDtcblxuLy8qKiBUZXh0IGNvbG9yIG9mIGRpc2FibGVkIGxpc3QgaXRlbXNcbiRsaXN0LWdyb3VwLWRpc2FibGVkLWNvbG9yOiAgICAgICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuLy8qKiBCYWNrZ3JvdW5kIGNvbG9yIG9mIGRpc2FibGVkIGxpc3QgaXRlbXNcbiRsaXN0LWdyb3VwLWRpc2FibGVkLWJnOiAgICAgICAgICRncmF5LWxpZ2h0ZXIgIWRlZmF1bHQ7XG4vLyoqIFRleHQgY29sb3IgZm9yIGNvbnRlbnQgd2l0aGluIGRpc2FibGVkIGxpc3QgaXRlbXNcbiRsaXN0LWdyb3VwLWRpc2FibGVkLXRleHQtY29sb3I6ICRsaXN0LWdyb3VwLWRpc2FibGVkLWNvbG9yICFkZWZhdWx0O1xuXG4kbGlzdC1ncm91cC1saW5rLWNvbG9yOiAgICAgICAgICM1NTUgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1saW5rLWhvdmVyLWNvbG9yOiAgICRsaXN0LWdyb3VwLWxpbmstY29sb3IgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1saW5rLWhlYWRpbmctY29sb3I6ICMzMzMgIWRlZmF1bHQ7XG5cblxuLy89PSBQYW5lbHNcbi8vXG4vLyMjXG5cbiRwYW5lbC1iZzogICAgICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kcGFuZWwtYm9keS1wYWRkaW5nOiAgICAgICAgICAxNXB4ICFkZWZhdWx0O1xuJHBhbmVsLWhlYWRpbmctcGFkZGluZzogICAgICAgMTBweCAxNXB4ICFkZWZhdWx0O1xuJHBhbmVsLWZvb3Rlci1wYWRkaW5nOiAgICAgICAgJHBhbmVsLWhlYWRpbmctcGFkZGluZyAhZGVmYXVsdDtcbiRwYW5lbC1ib3JkZXItcmFkaXVzOiAgICAgICAgICRib3JkZXItcmFkaXVzLWJhc2UgIWRlZmF1bHQ7XG5cbi8vKiogQm9yZGVyIGNvbG9yIGZvciBlbGVtZW50cyB3aXRoaW4gcGFuZWxzXG4kcGFuZWwtaW5uZXItYm9yZGVyOiAgICAgICAgICAjZGRkICFkZWZhdWx0O1xuJHBhbmVsLWZvb3Rlci1iZzogICAgICAgICAgICAgI2Y1ZjVmNSAhZGVmYXVsdDtcblxuJHBhbmVsLWRlZmF1bHQtdGV4dDogICAgICAgICAgJGdyYXktZGFyayAhZGVmYXVsdDtcbiRwYW5lbC1kZWZhdWx0LWJvcmRlcjogICAgICAgICNkZGQgIWRlZmF1bHQ7XG4kcGFuZWwtZGVmYXVsdC1oZWFkaW5nLWJnOiAgICAjZjVmNWY1ICFkZWZhdWx0O1xuXG4kcGFuZWwtcHJpbWFyeS10ZXh0OiAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJHBhbmVsLXByaW1hcnktYm9yZGVyOiAgICAgICAgJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XG4kcGFuZWwtcHJpbWFyeS1oZWFkaW5nLWJnOiAgICAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcblxuJHBhbmVsLXN1Y2Nlc3MtdGV4dDogICAgICAgICAgJHN0YXRlLXN1Y2Nlc3MtdGV4dCAhZGVmYXVsdDtcbiRwYW5lbC1zdWNjZXNzLWJvcmRlcjogICAgICAgICRzdGF0ZS1zdWNjZXNzLWJvcmRlciAhZGVmYXVsdDtcbiRwYW5lbC1zdWNjZXNzLWhlYWRpbmctYmc6ICAgICRzdGF0ZS1zdWNjZXNzLWJnICFkZWZhdWx0O1xuXG4kcGFuZWwtaW5mby10ZXh0OiAgICAgICAgICAgICAkc3RhdGUtaW5mby10ZXh0ICFkZWZhdWx0O1xuJHBhbmVsLWluZm8tYm9yZGVyOiAgICAgICAgICAgJHN0YXRlLWluZm8tYm9yZGVyICFkZWZhdWx0O1xuJHBhbmVsLWluZm8taGVhZGluZy1iZzogICAgICAgJHN0YXRlLWluZm8tYmcgIWRlZmF1bHQ7XG5cbiRwYW5lbC13YXJuaW5nLXRleHQ6ICAgICAgICAgICRzdGF0ZS13YXJuaW5nLXRleHQgIWRlZmF1bHQ7XG4kcGFuZWwtd2FybmluZy1ib3JkZXI6ICAgICAgICAkc3RhdGUtd2FybmluZy1ib3JkZXIgIWRlZmF1bHQ7XG4kcGFuZWwtd2FybmluZy1oZWFkaW5nLWJnOiAgICAkc3RhdGUtd2FybmluZy1iZyAhZGVmYXVsdDtcblxuJHBhbmVsLWRhbmdlci10ZXh0OiAgICAgICAgICAgJHN0YXRlLWRhbmdlci10ZXh0ICFkZWZhdWx0O1xuJHBhbmVsLWRhbmdlci1ib3JkZXI6ICAgICAgICAgJHN0YXRlLWRhbmdlci1ib3JkZXIgIWRlZmF1bHQ7XG4kcGFuZWwtZGFuZ2VyLWhlYWRpbmctYmc6ICAgICAkc3RhdGUtZGFuZ2VyLWJnICFkZWZhdWx0O1xuXG5cbi8vPT0gVGh1bWJuYWlsc1xuLy9cbi8vIyNcblxuLy8qKiBQYWRkaW5nIGFyb3VuZCB0aGUgdGh1bWJuYWlsIGltYWdlXG4kdGh1bWJuYWlsLXBhZGRpbmc6ICAgICAgICAgICA0cHggIWRlZmF1bHQ7XG4vLyoqIFRodW1ibmFpbCBiYWNrZ3JvdW5kIGNvbG9yXG4kdGh1bWJuYWlsLWJnOiAgICAgICAgICAgICAgICAkYm9keS1iZyAhZGVmYXVsdDtcbi8vKiogVGh1bWJuYWlsIGJvcmRlciBjb2xvclxuJHRodW1ibmFpbC1ib3JkZXI6ICAgICAgICAgICAgI2RkZCAhZGVmYXVsdDtcbi8vKiogVGh1bWJuYWlsIGJvcmRlciByYWRpdXNcbiR0aHVtYm5haWwtYm9yZGVyLXJhZGl1czogICAgICRib3JkZXItcmFkaXVzLWJhc2UgIWRlZmF1bHQ7XG5cbi8vKiogQ3VzdG9tIHRleHQgY29sb3IgZm9yIHRodW1ibmFpbCBjYXB0aW9uc1xuJHRodW1ibmFpbC1jYXB0aW9uLWNvbG9yOiAgICAgJHRleHQtY29sb3IgIWRlZmF1bHQ7XG4vLyoqIFBhZGRpbmcgYXJvdW5kIHRoZSB0aHVtYm5haWwgY2FwdGlvblxuJHRodW1ibmFpbC1jYXB0aW9uLXBhZGRpbmc6ICAgOXB4ICFkZWZhdWx0O1xuXG5cbi8vPT0gV2VsbHNcbi8vXG4vLyMjXG5cbiR3ZWxsLWJnOiAgICAgICAgICAgICAgICAgICAgICNmNWY1ZjUgIWRlZmF1bHQ7XG4kd2VsbC1ib3JkZXI6ICAgICAgICAgICAgICAgICBkYXJrZW4oJHdlbGwtYmcsIDclKSAhZGVmYXVsdDtcblxuXG4vLz09IEJhZGdlc1xuLy9cbi8vIyNcblxuJGJhZGdlLWNvbG9yOiAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbi8vKiogTGlua2VkIGJhZGdlIHRleHQgY29sb3Igb24gaG92ZXJcbiRiYWRnZS1saW5rLWhvdmVyLWNvbG9yOiAgICAgICNmZmYgIWRlZmF1bHQ7XG4kYmFkZ2UtYmc6ICAgICAgICAgICAgICAgICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcblxuLy8qKiBCYWRnZSB0ZXh0IGNvbG9yIGluIGFjdGl2ZSBuYXYgbGlua1xuJGJhZGdlLWFjdGl2ZS1jb2xvcjogICAgICAgICAgJGxpbmstY29sb3IgIWRlZmF1bHQ7XG4vLyoqIEJhZGdlIGJhY2tncm91bmQgY29sb3IgaW4gYWN0aXZlIG5hdiBsaW5rXG4kYmFkZ2UtYWN0aXZlLWJnOiAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuXG4kYmFkZ2UtZm9udC13ZWlnaHQ6ICAgICAgICAgICBib2xkICFkZWZhdWx0O1xuJGJhZGdlLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgMSAhZGVmYXVsdDtcbiRiYWRnZS1ib3JkZXItcmFkaXVzOiAgICAgICAgIDEwcHggIWRlZmF1bHQ7XG5cblxuLy89PSBCcmVhZGNydW1ic1xuLy9cbi8vIyNcblxuJGJyZWFkY3J1bWItcGFkZGluZy12ZXJ0aWNhbDogICA4cHggIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1wYWRkaW5nLWhvcml6b250YWw6IDE1cHggIWRlZmF1bHQ7XG4vLyoqIEJyZWFkY3J1bWIgYmFja2dyb3VuZCBjb2xvclxuJGJyZWFkY3J1bWItYmc6ICAgICAgICAgICAgICAgICAjZjVmNWY1ICFkZWZhdWx0O1xuLy8qKiBCcmVhZGNydW1iIHRleHQgY29sb3JcbiRicmVhZGNydW1iLWNvbG9yOiAgICAgICAgICAgICAgI2NjYyAhZGVmYXVsdDtcbi8vKiogVGV4dCBjb2xvciBvZiBjdXJyZW50IHBhZ2UgaW4gdGhlIGJyZWFkY3J1bWJcbiRicmVhZGNydW1iLWFjdGl2ZS1jb2xvcjogICAgICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG4vLyoqIFRleHR1YWwgc2VwYXJhdG9yIGZvciBiZXR3ZWVuIGJyZWFkY3J1bWIgZWxlbWVudHNcbiRicmVhZGNydW1iLXNlcGFyYXRvcjogICAgICAgICAgXCIvXCIgIWRlZmF1bHQ7XG5cblxuLy89PSBDYXJvdXNlbFxuLy9cbi8vIyNcblxuJGNhcm91c2VsLXRleHQtc2hhZG93OiAgICAgICAgICAgICAgICAgICAgICAgIDAgMXB4IDJweCByZ2JhKDAsMCwwLC42KSAhZGVmYXVsdDtcblxuJGNhcm91c2VsLWNvbnRyb2wtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY29udHJvbC13aWR0aDogICAgICAgICAgICAgICAgICAgICAgMTUlICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtb3BhY2l0eTogICAgICAgICAgICAgICAgICAgIC41ICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgIDIwcHggIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC1pbmRpY2F0b3ItYWN0aXZlLWJnOiAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJGNhcm91c2VsLWluZGljYXRvci1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC1jYXB0aW9uLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuXG5cbi8vPT0gQ2xvc2Vcbi8vXG4vLyMjXG5cbiRjbG9zZS1mb250LXdlaWdodDogICAgICAgICAgIGJvbGQgIWRlZmF1bHQ7XG4kY2xvc2UtY29sb3I6ICAgICAgICAgICAgICAgICAjMDAwICFkZWZhdWx0O1xuJGNsb3NlLXRleHQtc2hhZG93OiAgICAgICAgICAgMCAxcHggMCAjZmZmICFkZWZhdWx0O1xuXG5cbi8vPT0gQ29kZVxuLy9cbi8vIyNcblxuJGNvZGUtY29sb3I6ICAgICAgICAgICAgICAgICAgI2M3MjU0ZSAhZGVmYXVsdDtcbiRjb2RlLWJnOiAgICAgICAgICAgICAgICAgICAgICNmOWYyZjQgIWRlZmF1bHQ7XG5cbiRrYmQtY29sb3I6ICAgICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4ka2JkLWJnOiAgICAgICAgICAgICAgICAgICAgICAjMzMzICFkZWZhdWx0O1xuXG4kcHJlLWJnOiAgICAgICAgICAgICAgICAgICAgICAjZjVmNWY1ICFkZWZhdWx0O1xuJHByZS1jb2xvcjogICAgICAgICAgICAgICAgICAgJGdyYXktZGFyayAhZGVmYXVsdDtcbiRwcmUtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICNjY2MgIWRlZmF1bHQ7XG4kcHJlLXNjcm9sbGFibGUtbWF4LWhlaWdodDogICAzNDBweCAhZGVmYXVsdDtcblxuXG4vLz09IFR5cGVcbi8vXG4vLyMjXG5cbi8vKiogSG9yaXpvbnRhbCBvZmZzZXQgZm9yIGZvcm1zIGFuZCBsaXN0cy5cbiRjb21wb25lbnQtb2Zmc2V0LWhvcml6b250YWw6IDE4MHB4ICFkZWZhdWx0O1xuLy8qKiBUZXh0IG11dGVkIGNvbG9yXG4kdGV4dC1tdXRlZDogICAgICAgICAgICAgICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcbi8vKiogQWJicmV2aWF0aW9ucyBhbmQgYWNyb255bXMgYm9yZGVyIGNvbG9yXG4kYWJici1ib3JkZXItY29sb3I6ICAgICAgICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcbi8vKiogSGVhZGluZ3Mgc21hbGwgY29sb3JcbiRoZWFkaW5ncy1zbWFsbC1jb2xvcjogICAgICAgICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuLy8qKiBCbG9ja3F1b3RlIHNtYWxsIGNvbG9yXG4kYmxvY2txdW90ZS1zbWFsbC1jb2xvcjogICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcbi8vKiogQmxvY2txdW90ZSBmb250IHNpemVcbiRibG9ja3F1b3RlLWZvbnQtc2l6ZTogICAgICAgICgkZm9udC1zaXplLWJhc2UgKiAxLjI1KSAhZGVmYXVsdDtcbi8vKiogQmxvY2txdW90ZSBib3JkZXIgY29sb3JcbiRibG9ja3F1b3RlLWJvcmRlci1jb2xvcjogICAgICRncmF5LWxpZ2h0ZXIgIWRlZmF1bHQ7XG4vLyoqIFBhZ2UgaGVhZGVyIGJvcmRlciBjb2xvclxuJHBhZ2UtaGVhZGVyLWJvcmRlci1jb2xvcjogICAgJGdyYXktbGlnaHRlciAhZGVmYXVsdDtcbi8vKiogV2lkdGggb2YgaG9yaXpvbnRhbCBkZXNjcmlwdGlvbiBsaXN0IHRpdGxlc1xuJGRsLWhvcml6b250YWwtb2Zmc2V0OiAgICAgICAgJGNvbXBvbmVudC1vZmZzZXQtaG9yaXpvbnRhbCAhZGVmYXVsdDtcbi8vKiogUG9pbnQgYXQgd2hpY2ggLmRsLWhvcml6b250YWwgYmVjb21lcyBob3Jpem9udGFsXG4kZGwtaG9yaXpvbnRhbC1icmVha3BvaW50OiAgICAkZ3JpZC1mbG9hdC1icmVha3BvaW50ICFkZWZhdWx0O1xuLy8qKiBIb3Jpem9udGFsIGxpbmUgY29sb3IuXG4kaHItYm9yZGVyOiAgICAgICAgICAgICAgICAgICAkZ3JheS1saWdodGVyICFkZWZhdWx0O1xuIiwiLy8gTWl4aW5zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBVdGlsaXRpZXNcbkBpbXBvcnQgXCJtaXhpbnMvaGlkZS10ZXh0XCI7XG5AaW1wb3J0IFwibWl4aW5zL29wYWNpdHlcIjtcbkBpbXBvcnQgXCJtaXhpbnMvaW1hZ2VcIjtcbkBpbXBvcnQgXCJtaXhpbnMvbGFiZWxzXCI7XG5AaW1wb3J0IFwibWl4aW5zL3Jlc2V0LWZpbHRlclwiO1xuQGltcG9ydCBcIm1peGlucy9yZXNpemVcIjtcbkBpbXBvcnQgXCJtaXhpbnMvcmVzcG9uc2l2ZS12aXNpYmlsaXR5XCI7XG5AaW1wb3J0IFwibWl4aW5zL3NpemVcIjtcbkBpbXBvcnQgXCJtaXhpbnMvdGFiLWZvY3VzXCI7XG5AaW1wb3J0IFwibWl4aW5zL3Jlc2V0LXRleHRcIjtcbkBpbXBvcnQgXCJtaXhpbnMvdGV4dC1lbXBoYXNpc1wiO1xuQGltcG9ydCBcIm1peGlucy90ZXh0LW92ZXJmbG93XCI7XG5AaW1wb3J0IFwibWl4aW5zL3ZlbmRvci1wcmVmaXhlc1wiO1xuXG4vLyBDb21wb25lbnRzXG5AaW1wb3J0IFwibWl4aW5zL2FsZXJ0c1wiO1xuQGltcG9ydCBcIm1peGlucy9idXR0b25zXCI7XG5AaW1wb3J0IFwibWl4aW5zL3BhbmVsc1wiO1xuQGltcG9ydCBcIm1peGlucy9wYWdpbmF0aW9uXCI7XG5AaW1wb3J0IFwibWl4aW5zL2xpc3QtZ3JvdXBcIjtcbkBpbXBvcnQgXCJtaXhpbnMvbmF2LWRpdmlkZXJcIjtcbkBpbXBvcnQgXCJtaXhpbnMvZm9ybXNcIjtcbkBpbXBvcnQgXCJtaXhpbnMvcHJvZ3Jlc3MtYmFyXCI7XG5AaW1wb3J0IFwibWl4aW5zL3RhYmxlLXJvd1wiO1xuXG4vLyBTa2luc1xuQGltcG9ydCBcIm1peGlucy9iYWNrZ3JvdW5kLXZhcmlhbnRcIjtcbkBpbXBvcnQgXCJtaXhpbnMvYm9yZGVyLXJhZGl1c1wiO1xuQGltcG9ydCBcIm1peGlucy9ncmFkaWVudHNcIjtcblxuLy8gTGF5b3V0XG5AaW1wb3J0IFwibWl4aW5zL2NsZWFyZml4XCI7XG5AaW1wb3J0IFwibWl4aW5zL2NlbnRlci1ibG9ja1wiO1xuQGltcG9ydCBcIm1peGlucy9uYXYtdmVydGljYWwtYWxpZ25cIjtcbkBpbXBvcnQgXCJtaXhpbnMvZ3JpZC1mcmFtZXdvcmtcIjtcbkBpbXBvcnQgXCJtaXhpbnMvZ3JpZFwiO1xuIiwiLy8gQ1NTIGltYWdlIHJlcGxhY2VtZW50XG4vL1xuLy8gSGVhZHMgdXAhIHYzIGxhdW5jaGVkIHdpdGggb25seSBgLmhpZGUtdGV4dCgpYCwgYnV0IHBlciBvdXIgcGF0dGVybiBmb3Jcbi8vIG1peGlucyBiZWluZyByZXVzZWQgYXMgY2xhc3NlcyB3aXRoIHRoZSBzYW1lIG5hbWUsIHRoaXMgZG9lc24ndCBob2xkIHVwLiBBc1xuLy8gb2YgdjMuMC4xIHdlIGhhdmUgYWRkZWQgYC50ZXh0LWhpZGUoKWAgYW5kIGRlcHJlY2F0ZWQgYC5oaWRlLXRleHQoKWAuXG4vL1xuLy8gU291cmNlOiBodHRwczovL2dpdGh1Yi5jb20vaDVicC9odG1sNS1ib2lsZXJwbGF0ZS9jb21taXQvYWEwMzk2ZWFlNzU3XG5cbi8vIERlcHJlY2F0ZWQgYXMgb2YgdjMuMC4xIChoYXMgYmVlbiByZW1vdmVkIGluIHY0KVxuQG1peGluIGhpZGUtdGV4dCgpIHtcbiAgZm9udDogMC8wIGE7XG4gIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDA7XG59XG5cbi8vIE5ldyBtaXhpbiB0byB1c2UgYXMgb2YgdjMuMC4xXG5AbWl4aW4gdGV4dC1oaWRlKCkge1xuICBAaW5jbHVkZSBoaWRlLXRleHQ7XG59XG4iLCIvLyBPcGFjaXR5XG5cbkBtaXhpbiBvcGFjaXR5KCRvcGFjaXR5KSB7XG4gIG9wYWNpdHk6ICRvcGFjaXR5O1xuICAvLyBJRTggZmlsdGVyXG4gICRvcGFjaXR5LWllOiAoJG9wYWNpdHkgKiAxMDApO1xuICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9JG9wYWNpdHktaWUpO1xufVxuIiwiLy8gSW1hZ2UgTWl4aW5zXG4vLyAtIFJlc3BvbnNpdmUgaW1hZ2Vcbi8vIC0gUmV0aW5hIGltYWdlXG5cblxuLy8gUmVzcG9uc2l2ZSBpbWFnZVxuLy9cbi8vIEtlZXAgaW1hZ2VzIGZyb20gc2NhbGluZyBiZXlvbmQgdGhlIHdpZHRoIG9mIHRoZWlyIHBhcmVudHMuXG5AbWl4aW4gaW1nLXJlc3BvbnNpdmUoJGRpc3BsYXk6IGJsb2NrKSB7XG4gIGRpc3BsYXk6ICRkaXNwbGF5O1xuICBtYXgtd2lkdGg6IDEwMCU7IC8vIFBhcnQgMTogU2V0IGEgbWF4aW11bSByZWxhdGl2ZSB0byB0aGUgcGFyZW50XG4gIGhlaWdodDogYXV0bzsgLy8gUGFydCAyOiBTY2FsZSB0aGUgaGVpZ2h0IGFjY29yZGluZyB0byB0aGUgd2lkdGgsIG90aGVyd2lzZSB5b3UgZ2V0IHN0cmV0Y2hpbmdcbn1cblxuXG4vLyBSZXRpbmEgaW1hZ2Vcbi8vXG4vLyBTaG9ydCByZXRpbmEgbWl4aW4gZm9yIHNldHRpbmcgYmFja2dyb3VuZC1pbWFnZSBhbmQgLXNpemUuIE5vdGUgdGhhdCB0aGVcbi8vIHNwZWxsaW5nIG9mIGBtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW9gIGlzIGludGVudGlvbmFsLlxuQG1peGluIGltZy1yZXRpbmEoJGZpbGUtMXgsICRmaWxlLTJ4LCAkd2lkdGgtMXgsICRoZWlnaHQtMXgpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKGlmKCRib290c3RyYXAtc2Fzcy1hc3NldC1oZWxwZXIsIHR3YnMtaW1hZ2UtcGF0aChcIiN7JGZpbGUtMXh9XCIpLCBcIiN7JGZpbGUtMXh9XCIpKTtcblxuICBAbWVkaWFcbiAgb25seSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLFxuICBvbmx5IHNjcmVlbiBhbmQgKCAgIG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogMiksXG4gIG9ubHkgc2NyZWVuIGFuZCAoICAgICAtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyLzEpLFxuICBvbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksXG4gIG9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpLFxuICBvbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMmRwcHgpIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoaWYoJGJvb3RzdHJhcC1zYXNzLWFzc2V0LWhlbHBlciwgdHdicy1pbWFnZS1wYXRoKFwiI3skZmlsZS0yeH1cIiksIFwiI3skZmlsZS0yeH1cIikpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogJHdpZHRoLTF4ICRoZWlnaHQtMXg7XG4gIH1cbn1cbiIsIi8vIExhYmVsc1xuXG5AbWl4aW4gbGFiZWwtdmFyaWFudCgkY29sb3IpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuXG4gICZbaHJlZl0ge1xuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGNvbG9yLCAxMCUpO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gUmVzZXQgZmlsdGVycyBmb3IgSUVcbi8vXG4vLyBXaGVuIHlvdSBuZWVkIHRvIHJlbW92ZSBhIGdyYWRpZW50IGJhY2tncm91bmQsIGRvIG5vdCBmb3JnZXQgdG8gdXNlIHRoaXMgdG8gcmVzZXRcbi8vIHRoZSBJRSBmaWx0ZXIgZm9yIElFOSBhbmQgYmVsb3cuXG5cbkBtaXhpbiByZXNldC1maWx0ZXIoKSB7XG4gIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KGVuYWJsZWQgPSBmYWxzZSk7XG59XG4iLCIvLyBSZXNpemUgYW55dGhpbmdcblxuQG1peGluIHJlc2l6YWJsZSgkZGlyZWN0aW9uKSB7XG4gIHJlc2l6ZTogJGRpcmVjdGlvbjsgLy8gT3B0aW9uczogaG9yaXpvbnRhbCwgdmVydGljYWwsIGJvdGhcbiAgb3ZlcmZsb3c6IGF1dG87IC8vIFBlciBDU1MzIFVJLCBgcmVzaXplYCBvbmx5IGFwcGxpZXMgd2hlbiBgb3ZlcmZsb3dgIGlzbid0IGB2aXNpYmxlYFxufVxuIiwiLy8gUmVzcG9uc2l2ZSB1dGlsaXRpZXNcblxuLy9cbi8vIE1vcmUgZWFzaWx5IGluY2x1ZGUgYWxsIHRoZSBzdGF0ZXMgZm9yIHJlc3BvbnNpdmUtdXRpbGl0aWVzLmxlc3MuXG4vLyBbY29udmVydGVyXSAkcGFyZW50IGhhY2tcbkBtaXhpbiByZXNwb25zaXZlLXZpc2liaWxpdHkoJHBhcmVudCkge1xuICAjeyRwYXJlbnR9IHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG4gIHRhYmxlI3skcGFyZW50fSAgeyBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OyB9XG4gIHRyI3skcGFyZW50fSAgICAgeyBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDsgfVxuICB0aCN7JHBhcmVudH0sXG4gIHRkI3skcGFyZW50fSAgICAgeyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cbn1cblxuLy8gW2NvbnZlcnRlcl0gJHBhcmVudCBoYWNrXG5AbWl4aW4gcmVzcG9uc2l2ZS1pbnZpc2liaWxpdHkoJHBhcmVudCkge1xuICAjeyRwYXJlbnR9IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbiIsIi8vIFNpemluZyBzaG9ydGN1dHNcblxuQG1peGluIHNpemUoJHdpZHRoLCAkaGVpZ2h0KSB7XG4gIHdpZHRoOiAkd2lkdGg7XG4gIGhlaWdodDogJGhlaWdodDtcbn1cblxuQG1peGluIHNxdWFyZSgkc2l6ZSkge1xuICBAaW5jbHVkZSBzaXplKCRzaXplLCAkc2l6ZSk7XG59XG4iLCIvLyBXZWJLaXQtc3R5bGUgZm9jdXNcblxuQG1peGluIHRhYi1mb2N1cygpIHtcbiAgLy8gV2ViS2l0LXNwZWNpZmljLiBPdGhlciBicm93c2VycyB3aWxsIGtlZXAgdGhlaXIgZGVmYXVsdCBvdXRsaW5lIHN0eWxlLlxuICAvLyAoSW5pdGlhbGx5IHRyaWVkIHRvIGFsc28gZm9yY2UgZGVmYXVsdCB2aWEgYG91dGxpbmU6IGluaXRpYWxgLFxuICAvLyBidXQgdGhhdCBzZWVtcyB0byBlcnJvbmVvdXNseSByZW1vdmUgdGhlIG91dGxpbmUgaW4gRmlyZWZveCBhbHRvZ2V0aGVyLilcbiAgb3V0bGluZTogNXB4IGF1dG8gLXdlYmtpdC1mb2N1cy1yaW5nLWNvbG9yO1xuICBvdXRsaW5lLW9mZnNldDogLTJweDtcbn1cbiIsIkBtaXhpbiByZXNldC10ZXh0KCkge1xuICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LWJhc2U7XG4gIC8vIFdlIGRlbGliZXJhdGVseSBkbyBOT1QgcmVzZXQgZm9udC1zaXplLlxuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gIGxpbmUtYnJlYWs6IGF1dG87XG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYmFzZTtcbiAgdGV4dC1hbGlnbjogbGVmdDsgLy8gRmFsbGJhY2sgZm9yIHdoZXJlIGBzdGFydGAgaXMgbm90IHN1cHBvcnRlZFxuICB0ZXh0LWFsaWduOiBzdGFydDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIHdvcmQtYnJlYWs6IG5vcm1hbDtcbiAgd29yZC1zcGFjaW5nOiBub3JtYWw7XG4gIHdvcmQtd3JhcDogbm9ybWFsO1xufVxuIiwiLy8gVHlwb2dyYXBoeVxuXG4vLyBbY29udmVydGVyXSAkcGFyZW50IGhhY2tcbkBtaXhpbiB0ZXh0LWVtcGhhc2lzLXZhcmlhbnQoJHBhcmVudCwgJGNvbG9yKSB7XG4gICN7JHBhcmVudH0ge1xuICAgIGNvbG9yOiAkY29sb3I7XG4gIH1cbiAgYSN7JHBhcmVudH06aG92ZXIsXG4gIGEjeyRwYXJlbnR9OmZvY3VzIHtcbiAgICBjb2xvcjogZGFya2VuKCRjb2xvciwgMTAlKTtcbiAgfVxufVxuIiwiLy8gVGV4dCBvdmVyZmxvd1xuLy8gUmVxdWlyZXMgaW5saW5lLWJsb2NrIG9yIGJsb2NrIGZvciBwcm9wZXIgc3R5bGluZ1xuXG5AbWl4aW4gdGV4dC1vdmVyZmxvdygpIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG4iLCIvLyBWZW5kb3IgUHJlZml4ZXNcbi8vXG4vLyBBbGwgdmVuZG9yIG1peGlucyBhcmUgZGVwcmVjYXRlZCBhcyBvZiB2My4yLjAgZHVlIHRvIHRoZSBpbnRyb2R1Y3Rpb24gb2Zcbi8vIEF1dG9wcmVmaXhlciBpbiBvdXIgR3J1bnRmaWxlLiBUaGV5IGhhdmUgYmVlbiByZW1vdmVkIGluIHY0LlxuXG4vLyAtIEFuaW1hdGlvbnNcbi8vIC0gQmFja2ZhY2UgdmlzaWJpbGl0eVxuLy8gLSBCb3ggc2hhZG93XG4vLyAtIEJveCBzaXppbmdcbi8vIC0gQ29udGVudCBjb2x1bW5zXG4vLyAtIEh5cGhlbnNcbi8vIC0gUGxhY2Vob2xkZXIgdGV4dFxuLy8gLSBUcmFuc2Zvcm1hdGlvbnNcbi8vIC0gVHJhbnNpdGlvbnNcbi8vIC0gVXNlciBTZWxlY3RcblxuXG4vLyBBbmltYXRpb25zXG5AbWl4aW4gYW5pbWF0aW9uKCRhbmltYXRpb24pIHtcbiAgLXdlYmtpdC1hbmltYXRpb246ICRhbmltYXRpb247XG4gICAgICAgLW8tYW5pbWF0aW9uOiAkYW5pbWF0aW9uO1xuICAgICAgICAgIGFuaW1hdGlvbjogJGFuaW1hdGlvbjtcbn1cbkBtaXhpbiBhbmltYXRpb24tbmFtZSgkbmFtZSkge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiAkbmFtZTtcbiAgICAgICAgICBhbmltYXRpb24tbmFtZTogJG5hbWU7XG59XG5AbWl4aW4gYW5pbWF0aW9uLWR1cmF0aW9uKCRkdXJhdGlvbikge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogJGR1cmF0aW9uO1xuICAgICAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogJGR1cmF0aW9uO1xufVxuQG1peGluIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb24oJHRpbWluZy1mdW5jdGlvbikge1xuICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ICR0aW1pbmctZnVuY3Rpb247XG4gICAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogJHRpbWluZy1mdW5jdGlvbjtcbn1cbkBtaXhpbiBhbmltYXRpb24tZGVsYXkoJGRlbGF5KSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAkZGVsYXk7XG4gICAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAkZGVsYXk7XG59XG5AbWl4aW4gYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudCgkaXRlcmF0aW9uLWNvdW50KSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogJGl0ZXJhdGlvbi1jb3VudDtcbiAgICAgICAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAkaXRlcmF0aW9uLWNvdW50O1xufVxuQG1peGluIGFuaW1hdGlvbi1kaXJlY3Rpb24oJGRpcmVjdGlvbikge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kaXJlY3Rpb246ICRkaXJlY3Rpb247XG4gICAgICAgICAgYW5pbWF0aW9uLWRpcmVjdGlvbjogJGRpcmVjdGlvbjtcbn1cbkBtaXhpbiBhbmltYXRpb24tZmlsbC1tb2RlKCRmaWxsLW1vZGUpIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZmlsbC1tb2RlOiAkZmlsbC1tb2RlO1xuICAgICAgICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6ICRmaWxsLW1vZGU7XG59XG5cbi8vIEJhY2tmYWNlIHZpc2liaWxpdHlcbi8vIFByZXZlbnQgYnJvd3NlcnMgZnJvbSBmbGlja2VyaW5nIHdoZW4gdXNpbmcgQ1NTIDNEIHRyYW5zZm9ybXMuXG4vLyBEZWZhdWx0IHZhbHVlIGlzIGB2aXNpYmxlYCwgYnV0IGNhbiBiZSBjaGFuZ2VkIHRvIGBoaWRkZW5gXG5cbkBtaXhpbiBiYWNrZmFjZS12aXNpYmlsaXR5KCR2aXNpYmlsaXR5KSB7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogJHZpc2liaWxpdHk7XG4gICAgIC1tb3otYmFja2ZhY2UtdmlzaWJpbGl0eTogJHZpc2liaWxpdHk7XG4gICAgICAgICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogJHZpc2liaWxpdHk7XG59XG5cbi8vIERyb3Agc2hhZG93c1xuLy9cbi8vIE5vdGU6IERlcHJlY2F0ZWQgYC5ib3gtc2hhZG93KClgIGFzIG9mIHYzLjEuMCBzaW5jZSBhbGwgb2YgQm9vdHN0cmFwJ3Ncbi8vIHN1cHBvcnRlZCBicm93c2VycyB0aGF0IGhhdmUgYm94IHNoYWRvdyBjYXBhYmlsaXRpZXMgbm93IHN1cHBvcnQgaXQuXG5cbkBtaXhpbiBib3gtc2hhZG93KCRzaGFkb3cuLi4pIHtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAkc2hhZG93OyAvLyBpT1MgPDQuMyAmIEFuZHJvaWQgPDQuMVxuICAgICAgICAgIGJveC1zaGFkb3c6ICRzaGFkb3c7XG59XG5cbi8vIEJveCBzaXppbmdcbkBtaXhpbiBib3gtc2l6aW5nKCRib3htb2RlbCkge1xuICAtd2Via2l0LWJveC1zaXppbmc6ICRib3htb2RlbDtcbiAgICAgLW1vei1ib3gtc2l6aW5nOiAkYm94bW9kZWw7XG4gICAgICAgICAgYm94LXNpemluZzogJGJveG1vZGVsO1xufVxuXG4vLyBDU1MzIENvbnRlbnQgQ29sdW1uc1xuQG1peGluIGNvbnRlbnQtY29sdW1ucygkY29sdW1uLWNvdW50LCAkY29sdW1uLWdhcDogJGdyaWQtZ3V0dGVyLXdpZHRoKSB7XG4gIC13ZWJraXQtY29sdW1uLWNvdW50OiAkY29sdW1uLWNvdW50O1xuICAgICAtbW96LWNvbHVtbi1jb3VudDogJGNvbHVtbi1jb3VudDtcbiAgICAgICAgICBjb2x1bW4tY291bnQ6ICRjb2x1bW4tY291bnQ7XG4gIC13ZWJraXQtY29sdW1uLWdhcDogJGNvbHVtbi1nYXA7XG4gICAgIC1tb3otY29sdW1uLWdhcDogJGNvbHVtbi1nYXA7XG4gICAgICAgICAgY29sdW1uLWdhcDogJGNvbHVtbi1nYXA7XG59XG5cbi8vIE9wdGlvbmFsIGh5cGhlbmF0aW9uXG5AbWl4aW4gaHlwaGVucygkbW9kZTogYXV0bykge1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIC13ZWJraXQtaHlwaGVuczogJG1vZGU7XG4gICAgIC1tb3otaHlwaGVuczogJG1vZGU7XG4gICAgICAtbXMtaHlwaGVuczogJG1vZGU7IC8vIElFMTArXG4gICAgICAgLW8taHlwaGVuczogJG1vZGU7XG4gICAgICAgICAgaHlwaGVuczogJG1vZGU7XG59XG5cbi8vIFBsYWNlaG9sZGVyIHRleHRcbkBtaXhpbiBwbGFjZWhvbGRlcigkY29sb3I6ICRpbnB1dC1jb2xvci1wbGFjZWhvbGRlcikge1xuICAvLyBGaXJlZm94XG4gICY6Oi1tb3otcGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAkY29sb3I7XG4gICAgb3BhY2l0eTogMTsgLy8gT3ZlcnJpZGUgRmlyZWZveCdzIHVudXN1YWwgZGVmYXVsdCBvcGFjaXR5OyBzZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMTE1MjZcbiAgfVxuICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7IGNvbG9yOiAkY29sb3I7IH0gLy8gSW50ZXJuZXQgRXhwbG9yZXIgMTArXG4gICY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIgIHsgY29sb3I6ICRjb2xvcjsgfSAvLyBTYWZhcmkgYW5kIENocm9tZVxufVxuXG4vLyBUcmFuc2Zvcm1hdGlvbnNcbkBtaXhpbiBzY2FsZSgkcmF0aW8uLi4pIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKCRyYXRpbyk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgkcmF0aW8pOyAvLyBJRTkgb25seVxuICAgICAgIC1vLXRyYW5zZm9ybTogc2NhbGUoJHJhdGlvKTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKCRyYXRpbyk7XG59XG5cbkBtaXhpbiBzY2FsZVgoJHJhdGlvKSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZVgoJHJhdGlvKTtcbiAgICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlWCgkcmF0aW8pOyAvLyBJRTkgb25seVxuICAgICAgIC1vLXRyYW5zZm9ybTogc2NhbGVYKCRyYXRpbyk7XG4gICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZVgoJHJhdGlvKTtcbn1cbkBtaXhpbiBzY2FsZVkoJHJhdGlvKSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZVkoJHJhdGlvKTtcbiAgICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlWSgkcmF0aW8pOyAvLyBJRTkgb25seVxuICAgICAgIC1vLXRyYW5zZm9ybTogc2NhbGVZKCRyYXRpbyk7XG4gICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZVkoJHJhdGlvKTtcbn1cbkBtaXhpbiBza2V3KCR4LCAkeSkge1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goJHgpIHNrZXdZKCR5KTtcbiAgICAgIC1tcy10cmFuc2Zvcm06IHNrZXdYKCR4KSBza2V3WSgkeSk7IC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzQ4ODU7IElFOStcbiAgICAgICAtby10cmFuc2Zvcm06IHNrZXdYKCR4KSBza2V3WSgkeSk7XG4gICAgICAgICAgdHJhbnNmb3JtOiBza2V3WCgkeCkgc2tld1koJHkpO1xufVxuQG1peGluIHRyYW5zbGF0ZSgkeCwgJHkpIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgkeCwgJHkpO1xuICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKCR4LCAkeSk7IC8vIElFOSBvbmx5XG4gICAgICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUoJHgsICR5KTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgkeCwgJHkpO1xufVxuQG1peGluIHRyYW5zbGF0ZTNkKCR4LCAkeSwgJHopIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKCR4LCAkeSwgJHopO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoJHgsICR5LCAkeik7XG59XG5AbWl4aW4gcm90YXRlKCRkZWdyZWVzKSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoJGRlZ3JlZXMpO1xuICAgICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKCRkZWdyZWVzKTsgLy8gSUU5IG9ubHlcbiAgICAgICAtby10cmFuc2Zvcm06IHJvdGF0ZSgkZGVncmVlcyk7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoJGRlZ3JlZXMpO1xufVxuQG1peGluIHJvdGF0ZVgoJGRlZ3JlZXMpIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZVgoJGRlZ3JlZXMpO1xuICAgICAgLW1zLXRyYW5zZm9ybTogcm90YXRlWCgkZGVncmVlcyk7IC8vIElFOSBvbmx5XG4gICAgICAgLW8tdHJhbnNmb3JtOiByb3RhdGVYKCRkZWdyZWVzKTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZVgoJGRlZ3JlZXMpO1xufVxuQG1peGluIHJvdGF0ZVkoJGRlZ3JlZXMpIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZVkoJGRlZ3JlZXMpO1xuICAgICAgLW1zLXRyYW5zZm9ybTogcm90YXRlWSgkZGVncmVlcyk7IC8vIElFOSBvbmx5XG4gICAgICAgLW8tdHJhbnNmb3JtOiByb3RhdGVZKCRkZWdyZWVzKTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZVkoJGRlZ3JlZXMpO1xufVxuQG1peGluIHBlcnNwZWN0aXZlKCRwZXJzcGVjdGl2ZSkge1xuICAtd2Via2l0LXBlcnNwZWN0aXZlOiAkcGVyc3BlY3RpdmU7XG4gICAgIC1tb3otcGVyc3BlY3RpdmU6ICRwZXJzcGVjdGl2ZTtcbiAgICAgICAgICBwZXJzcGVjdGl2ZTogJHBlcnNwZWN0aXZlO1xufVxuQG1peGluIHBlcnNwZWN0aXZlLW9yaWdpbigkcGVyc3BlY3RpdmUpIHtcbiAgLXdlYmtpdC1wZXJzcGVjdGl2ZS1vcmlnaW46ICRwZXJzcGVjdGl2ZTtcbiAgICAgLW1vei1wZXJzcGVjdGl2ZS1vcmlnaW46ICRwZXJzcGVjdGl2ZTtcbiAgICAgICAgICBwZXJzcGVjdGl2ZS1vcmlnaW46ICRwZXJzcGVjdGl2ZTtcbn1cbkBtaXhpbiB0cmFuc2Zvcm0tb3JpZ2luKCRvcmlnaW4pIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiAkb3JpZ2luO1xuICAgICAtbW96LXRyYW5zZm9ybS1vcmlnaW46ICRvcmlnaW47XG4gICAgICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogJG9yaWdpbjsgLy8gSUU5IG9ubHlcbiAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiAkb3JpZ2luO1xufVxuXG5cbi8vIFRyYW5zaXRpb25zXG5cbkBtaXhpbiB0cmFuc2l0aW9uKCR0cmFuc2l0aW9uLi4uKSB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogJHRyYW5zaXRpb247XG4gICAgICAgLW8tdHJhbnNpdGlvbjogJHRyYW5zaXRpb247XG4gICAgICAgICAgdHJhbnNpdGlvbjogJHRyYW5zaXRpb247XG59XG5AbWl4aW4gdHJhbnNpdGlvbi1wcm9wZXJ0eSgkdHJhbnNpdGlvbi1wcm9wZXJ0eS4uLikge1xuICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6ICR0cmFuc2l0aW9uLXByb3BlcnR5O1xuICAgICAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6ICR0cmFuc2l0aW9uLXByb3BlcnR5O1xufVxuQG1peGluIHRyYW5zaXRpb24tZGVsYXkoJHRyYW5zaXRpb24tZGVsYXkpIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLWRlbGF5OiAkdHJhbnNpdGlvbi1kZWxheTtcbiAgICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAkdHJhbnNpdGlvbi1kZWxheTtcbn1cbkBtaXhpbiB0cmFuc2l0aW9uLWR1cmF0aW9uKCR0cmFuc2l0aW9uLWR1cmF0aW9uLi4uKSB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogJHRyYW5zaXRpb24tZHVyYXRpb247XG4gICAgICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogJHRyYW5zaXRpb24tZHVyYXRpb247XG59XG5AbWl4aW4gdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24oJHRpbWluZy1mdW5jdGlvbikge1xuICAtd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiAkdGltaW5nLWZ1bmN0aW9uO1xuICAgICAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiAkdGltaW5nLWZ1bmN0aW9uO1xufVxuQG1peGluIHRyYW5zaXRpb24tdHJhbnNmb3JtKCR0cmFuc2l0aW9uLi4uKSB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogLXdlYmtpdC10cmFuc2Zvcm0gJHRyYW5zaXRpb247XG4gICAgIC1tb3otdHJhbnNpdGlvbjogLW1vei10cmFuc2Zvcm0gJHRyYW5zaXRpb247XG4gICAgICAgLW8tdHJhbnNpdGlvbjogLW8tdHJhbnNmb3JtICR0cmFuc2l0aW9uO1xuICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAkdHJhbnNpdGlvbjtcbn1cblxuXG4vLyBVc2VyIHNlbGVjdFxuLy8gRm9yIHNlbGVjdGluZyB0ZXh0IG9uIHRoZSBwYWdlXG5cbkBtaXhpbiB1c2VyLXNlbGVjdCgkc2VsZWN0KSB7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgIC1tb3otdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgICAtbXMtdXNlci1zZWxlY3Q6ICRzZWxlY3Q7IC8vIElFMTArXG4gICAgICAgICAgdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG59XG4iLCIvLyBBbGVydHNcblxuQG1peGluIGFsZXJ0LXZhcmlhbnQoJGJhY2tncm91bmQsICRib3JkZXIsICR0ZXh0LWNvbG9yKSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICBib3JkZXItY29sb3I6ICRib3JkZXI7XG4gIGNvbG9yOiAkdGV4dC1jb2xvcjtcblxuICBociB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogZGFya2VuKCRib3JkZXIsIDUlKTtcbiAgfVxuICAuYWxlcnQtbGluayB7XG4gICAgY29sb3I6IGRhcmtlbigkdGV4dC1jb2xvciwgMTAlKTtcbiAgfVxufVxuIiwiLy8gQnV0dG9uIHZhcmlhbnRzXG4vL1xuLy8gRWFzaWx5IHB1bXAgb3V0IGRlZmF1bHQgc3R5bGVzLCBhcyB3ZWxsIGFzIDpob3ZlciwgOmZvY3VzLCA6YWN0aXZlLFxuLy8gYW5kIGRpc2FibGVkIG9wdGlvbnMgZm9yIGFsbCBidXR0b25zXG5cbkBtaXhpbiBidXR0b24tdmFyaWFudCgkY29sb3IsICRiYWNrZ3JvdW5kLCAkYm9yZGVyKSB7XG4gIGNvbG9yOiAkY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICBib3JkZXItY29sb3I6ICRib3JkZXI7XG5cbiAgJjpmb2N1cyxcbiAgJi5mb2N1cyB7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGJhY2tncm91bmQsIDEwJSk7XG4gICAgICAgIGJvcmRlci1jb2xvcjogZGFya2VuKCRib3JkZXIsIDI1JSk7XG4gIH1cbiAgJjpob3ZlciB7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGJhY2tncm91bmQsIDEwJSk7XG4gICAgICAgIGJvcmRlci1jb2xvcjogZGFya2VuKCRib3JkZXIsIDEyJSk7XG4gIH1cbiAgJjphY3RpdmUsXG4gICYuYWN0aXZlLFxuICAub3BlbiA+ICYuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBjb2xvcjogJGNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkYmFja2dyb3VuZCwgMTAlKTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBkYXJrZW4oJGJvcmRlciwgMTIlKTtcblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyxcbiAgICAmLmZvY3VzIHtcbiAgICAgIGNvbG9yOiAkY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGJhY2tncm91bmQsIDE3JSk7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiBkYXJrZW4oJGJvcmRlciwgMjUlKTtcbiAgICB9XG4gIH1cbiAgJjphY3RpdmUsXG4gICYuYWN0aXZlLFxuICAub3BlbiA+ICYuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICB9XG4gICYuZGlzYWJsZWQsXG4gICZbZGlzYWJsZWRdLFxuICBmaWVsZHNldFtkaXNhYmxlZF0gJiB7XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzLFxuICAgICYuZm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyO1xuICAgIH1cbiAgfVxuXG4gIC5iYWRnZSB7XG4gICAgY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgfVxufVxuXG4vLyBCdXR0b24gc2l6ZXNcbkBtaXhpbiBidXR0b24tc2l6ZSgkcGFkZGluZy12ZXJ0aWNhbCwgJHBhZGRpbmctaG9yaXpvbnRhbCwgJGZvbnQtc2l6ZSwgJGxpbmUtaGVpZ2h0LCAkYm9yZGVyLXJhZGl1cykge1xuICBwYWRkaW5nOiAkcGFkZGluZy12ZXJ0aWNhbCAkcGFkZGluZy1ob3Jpem9udGFsO1xuICBmb250LXNpemU6ICRmb250LXNpemU7XG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQ7XG4gIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xufVxuIiwiLy8gUGFuZWxzXG5cbkBtaXhpbiBwYW5lbC12YXJpYW50KCRib3JkZXIsICRoZWFkaW5nLXRleHQtY29sb3IsICRoZWFkaW5nLWJnLWNvbG9yLCAkaGVhZGluZy1ib3JkZXIpIHtcbiAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyO1xuXG4gICYgPiAucGFuZWwtaGVhZGluZyB7XG4gICAgY29sb3I6ICRoZWFkaW5nLXRleHQtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGhlYWRpbmctYmctY29sb3I7XG4gICAgYm9yZGVyLWNvbG9yOiAkaGVhZGluZy1ib3JkZXI7XG5cbiAgICArIC5wYW5lbC1jb2xsYXBzZSA+IC5wYW5lbC1ib2R5IHtcbiAgICAgIGJvcmRlci10b3AtY29sb3I6ICRib3JkZXI7XG4gICAgfVxuICAgIC5iYWRnZSB7XG4gICAgICBjb2xvcjogJGhlYWRpbmctYmctY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaGVhZGluZy10ZXh0LWNvbG9yO1xuICAgIH1cbiAgfVxuICAmID4gLnBhbmVsLWZvb3RlciB7XG4gICAgKyAucGFuZWwtY29sbGFwc2UgPiAucGFuZWwtYm9keSB7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkYm9yZGVyO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gUGFnaW5hdGlvblxuXG5AbWl4aW4gcGFnaW5hdGlvbi1zaXplKCRwYWRkaW5nLXZlcnRpY2FsLCAkcGFkZGluZy1ob3Jpem9udGFsLCAkZm9udC1zaXplLCAkbGluZS1oZWlnaHQsICRib3JkZXItcmFkaXVzKSB7XG4gID4gbGkge1xuICAgID4gYSxcbiAgICA+IHNwYW4ge1xuICAgICAgcGFkZGluZzogJHBhZGRpbmctdmVydGljYWwgJHBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQ7XG4gICAgfVxuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgPiBhLFxuICAgICAgPiBzcGFuIHtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKCRib3JkZXItcmFkaXVzKTtcbiAgICAgIH1cbiAgICB9XG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgID4gYSxcbiAgICAgID4gc3BhbiB7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoJGJvcmRlci1yYWRpdXMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gTGlzdCBHcm91cHNcblxuQG1peGluIGxpc3QtZ3JvdXAtaXRlbS12YXJpYW50KCRzdGF0ZSwgJGJhY2tncm91bmQsICRjb2xvcikge1xuICAubGlzdC1ncm91cC1pdGVtLSN7JHN0YXRlfSB7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcblxuICAgIC8vIFtjb252ZXJ0ZXJdIGV4dHJhY3RlZCBhJiwgYnV0dG9uJiB0byBhLmxpc3QtZ3JvdXAtaXRlbS0jeyRzdGF0ZX0sIGJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0tI3skc3RhdGV9XG4gIH1cblxuICBhLmxpc3QtZ3JvdXAtaXRlbS0jeyRzdGF0ZX0sXG4gIGJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0tI3skc3RhdGV9IHtcbiAgICBjb2xvcjogJGNvbG9yO1xuXG4gICAgLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nIHtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIH1cblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBjb2xvcjogJGNvbG9yO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRiYWNrZ3JvdW5kLCA1JSk7XG4gICAgfVxuICAgICYuYWN0aXZlLFxuICAgICYuYWN0aXZlOmhvdmVyLFxuICAgICYuYWN0aXZlOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gICAgfVxuICB9XG59XG4iLCIvLyBIb3Jpem9udGFsIGRpdmlkZXJzXG4vL1xuLy8gRGl2aWRlcnMgKGJhc2ljYWxseSBhbiBocikgd2l0aGluIGRyb3Bkb3ducyBhbmQgbmF2IGxpc3RzXG5cbkBtaXhpbiBuYXYtZGl2aWRlcigkY29sb3I6ICNlNWU1ZTUpIHtcbiAgaGVpZ2h0OiAxcHg7XG4gIG1hcmdpbjogKCgkbGluZS1oZWlnaHQtY29tcHV0ZWQgLyAyKSAtIDEpIDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbn1cbiIsIi8vIEZvcm0gdmFsaWRhdGlvbiBzdGF0ZXNcbi8vXG4vLyBVc2VkIGluIGZvcm1zLmxlc3MgdG8gZ2VuZXJhdGUgdGhlIGZvcm0gdmFsaWRhdGlvbiBDU1MgZm9yIHdhcm5pbmdzLCBlcnJvcnMsXG4vLyBhbmQgc3VjY2Vzc2VzLlxuXG5AbWl4aW4gZm9ybS1jb250cm9sLXZhbGlkYXRpb24oJHRleHQtY29sb3I6ICM1NTUsICRib3JkZXItY29sb3I6ICNjY2MsICRiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1KSB7XG4gIC8vIENvbG9yIHRoZSBsYWJlbCBhbmQgaGVscCB0ZXh0XG4gIC5oZWxwLWJsb2NrLFxuICAuY29udHJvbC1sYWJlbCxcbiAgLnJhZGlvLFxuICAuY2hlY2tib3gsXG4gIC5yYWRpby1pbmxpbmUsXG4gIC5jaGVja2JveC1pbmxpbmUsXG4gICYucmFkaW8gbGFiZWwsXG4gICYuY2hlY2tib3ggbGFiZWwsXG4gICYucmFkaW8taW5saW5lIGxhYmVsLFxuICAmLmNoZWNrYm94LWlubGluZSBsYWJlbCAge1xuICAgIGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgfVxuICAvLyBTZXQgdGhlIGJvcmRlciBhbmQgYm94IHNoYWRvdyBvbiBzcGVjaWZpYyBpbnB1dHMgdG8gbWF0Y2hcbiAgLmZvcm0tY29udHJvbCB7XG4gICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyLWNvbG9yO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coaW5zZXQgMCAxcHggMXB4IHJnYmEoMCwwLDAsLjA3NSkpOyAvLyBSZWRlY2xhcmUgc28gdHJhbnNpdGlvbnMgd29ya1xuICAgICY6Zm9jdXMge1xuICAgICAgYm9yZGVyLWNvbG9yOiBkYXJrZW4oJGJvcmRlci1jb2xvciwgMTAlKTtcbiAgICAgICRzaGFkb3c6IGluc2V0IDAgMXB4IDFweCByZ2JhKDAsMCwwLC4wNzUpLCAwIDAgNnB4IGxpZ2h0ZW4oJGJvcmRlci1jb2xvciwgMjAlKTtcbiAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJHNoYWRvdyk7XG4gICAgfVxuICB9XG4gIC8vIFNldCB2YWxpZGF0aW9uIHN0YXRlcyBhbHNvIGZvciBhZGRvbnNcbiAgLmlucHV0LWdyb3VwLWFkZG9uIHtcbiAgICBjb2xvcjogJHRleHQtY29sb3I7XG4gICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLWNvbG9yO1xuICB9XG4gIC8vIE9wdGlvbmFsIGZlZWRiYWNrIGljb25cbiAgLmZvcm0tY29udHJvbC1mZWVkYmFjayB7XG4gICAgY29sb3I6ICR0ZXh0LWNvbG9yO1xuICB9XG59XG5cblxuLy8gRm9ybSBjb250cm9sIGZvY3VzIHN0YXRlXG4vL1xuLy8gR2VuZXJhdGUgYSBjdXN0b21pemVkIGZvY3VzIHN0YXRlIGFuZCBmb3IgYW55IGlucHV0IHdpdGggdGhlIHNwZWNpZmllZCBjb2xvcixcbi8vIHdoaWNoIGRlZmF1bHRzIHRvIHRoZSBgJGlucHV0LWJvcmRlci1mb2N1c2AgdmFyaWFibGUuXG4vL1xuLy8gV2UgaGlnaGx5IGVuY291cmFnZSB5b3UgdG8gbm90IGN1c3RvbWl6ZSB0aGUgZGVmYXVsdCB2YWx1ZSwgYnV0IGluc3RlYWQgdXNlXG4vLyB0aGlzIHRvIHR3ZWFrIGNvbG9ycyBvbiBhbiBhcy1uZWVkZWQgYmFzaXMuIFRoaXMgYWVzdGhldGljIGNoYW5nZSBpcyBiYXNlZCBvblxuLy8gV2ViS2l0J3MgZGVmYXVsdCBzdHlsZXMsIGJ1dCBhcHBsaWNhYmxlIHRvIGEgd2lkZXIgcmFuZ2Ugb2YgYnJvd3NlcnMuIEl0c1xuLy8gdXNhYmlsaXR5IGFuZCBhY2Nlc3NpYmlsaXR5IHNob3VsZCBiZSB0YWtlbiBpbnRvIGFjY291bnQgd2l0aCBhbnkgY2hhbmdlLlxuLy9cbi8vIEV4YW1wbGUgdXNhZ2U6IGNoYW5nZSB0aGUgZGVmYXVsdCBibHVlIGJvcmRlciBhbmQgc2hhZG93IHRvIHdoaXRlIGZvciBiZXR0ZXJcbi8vIGNvbnRyYXN0IGFnYWluc3QgYSBkYXJrIGdyYXkgYmFja2dyb3VuZC5cbkBtaXhpbiBmb3JtLWNvbnRyb2wtZm9jdXMoJGNvbG9yOiAkaW5wdXQtYm9yZGVyLWZvY3VzKSB7XG4gICRjb2xvci1yZ2JhOiByZ2JhKHJlZCgkY29sb3IpLCBncmVlbigkY29sb3IpLCBibHVlKCRjb2xvciksIC42KTtcbiAgJjpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gICAgb3V0bGluZTogMDtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KGluc2V0IDAgMXB4IDFweCByZ2JhKDAsMCwwLC4wNzUpLCAwIDAgOHB4ICRjb2xvci1yZ2JhKTtcbiAgfVxufVxuXG4vLyBGb3JtIGNvbnRyb2wgc2l6aW5nXG4vL1xuLy8gUmVsYXRpdmUgdGV4dCBzaXplLCBwYWRkaW5nLCBhbmQgYm9yZGVyLXJhZGlpIGNoYW5nZXMgZm9yIGZvcm0gY29udHJvbHMuIEZvclxuLy8gaG9yaXpvbnRhbCBzaXppbmcsIHdyYXAgY29udHJvbHMgaW4gdGhlIHByZWRlZmluZWQgZ3JpZCBjbGFzc2VzLiBgPHNlbGVjdD5gXG4vLyBlbGVtZW50IGdldHMgc3BlY2lhbCBsb3ZlIGJlY2F1c2UgaXQncyBzcGVjaWFsLCBhbmQgdGhhdCdzIGEgZmFjdCFcbi8vIFtjb252ZXJ0ZXJdICRwYXJlbnQgaGFja1xuQG1peGluIGlucHV0LXNpemUoJHBhcmVudCwgJGlucHV0LWhlaWdodCwgJHBhZGRpbmctdmVydGljYWwsICRwYWRkaW5nLWhvcml6b250YWwsICRmb250LXNpemUsICRsaW5lLWhlaWdodCwgJGJvcmRlci1yYWRpdXMpIHtcbiAgI3skcGFyZW50fSB7XG4gICAgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0O1xuICAgIHBhZGRpbmc6ICRwYWRkaW5nLXZlcnRpY2FsICRwYWRkaW5nLWhvcml6b250YWw7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQ7XG4gICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gIH1cblxuICBzZWxlY3QjeyRwYXJlbnR9IHtcbiAgICBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQ7XG4gICAgbGluZS1oZWlnaHQ6ICRpbnB1dC1oZWlnaHQ7XG4gIH1cblxuICB0ZXh0YXJlYSN7JHBhcmVudH0sXG4gIHNlbGVjdFttdWx0aXBsZV0jeyRwYXJlbnR9IHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbn1cbiIsIi8vIFByb2dyZXNzIGJhcnNcblxuQG1peGluIHByb2dyZXNzLWJhci12YXJpYW50KCRjb2xvcikge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG5cbiAgLy8gRGVwcmVjYXRlZCBwYXJlbnQgY2xhc3MgcmVxdWlyZW1lbnQgYXMgb2YgdjMuMi4wXG4gIC5wcm9ncmVzcy1zdHJpcGVkICYge1xuICAgIEBpbmNsdWRlIGdyYWRpZW50LXN0cmlwZWQ7XG4gIH1cbn1cbiIsIi8vIFRhYmxlc1xuXG5AbWl4aW4gdGFibGUtcm93LXZhcmlhbnQoJHN0YXRlLCAkYmFja2dyb3VuZCkge1xuICAvLyBFeGFjdCBzZWxlY3RvcnMgYmVsb3cgcmVxdWlyZWQgdG8gb3ZlcnJpZGUgYC50YWJsZS1zdHJpcGVkYCBhbmQgcHJldmVudFxuICAvLyBpbmhlcml0YW5jZSB0byBuZXN0ZWQgdGFibGVzLlxuICAudGFibGUgPiB0aGVhZCA+IHRyLFxuICAudGFibGUgPiB0Ym9keSA+IHRyLFxuICAudGFibGUgPiB0Zm9vdCA+IHRyIHtcbiAgICA+IHRkLiN7JHN0YXRlfSxcbiAgICA+IHRoLiN7JHN0YXRlfSxcbiAgICAmLiN7JHN0YXRlfSA+IHRkLFxuICAgICYuI3skc3RhdGV9ID4gdGgge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgfVxuICB9XG5cbiAgLy8gSG92ZXIgc3RhdGVzIGZvciBgLnRhYmxlLWhvdmVyYFxuICAvLyBOb3RlOiB0aGlzIGlzIG5vdCBhdmFpbGFibGUgZm9yIGNlbGxzIG9yIHJvd3Mgd2l0aGluIGB0aGVhZGAgb3IgYHRmb290YC5cbiAgLnRhYmxlLWhvdmVyID4gdGJvZHkgPiB0ciB7XG4gICAgPiB0ZC4jeyRzdGF0ZX06aG92ZXIsXG4gICAgPiB0aC4jeyRzdGF0ZX06aG92ZXIsXG4gICAgJi4jeyRzdGF0ZX06aG92ZXIgPiB0ZCxcbiAgICAmOmhvdmVyID4gLiN7JHN0YXRlfSxcbiAgICAmLiN7JHN0YXRlfTpob3ZlciA+IHRoIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkYmFja2dyb3VuZCwgNSUpO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gQ29udGV4dHVhbCBiYWNrZ3JvdW5kc1xuXG4vLyBbY29udmVydGVyXSAkcGFyZW50IGhhY2tcbkBtaXhpbiBiZy12YXJpYW50KCRwYXJlbnQsICRjb2xvcikge1xuICAjeyRwYXJlbnR9IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG4gIH1cbiAgYSN7JHBhcmVudH06aG92ZXIsXG4gIGEjeyRwYXJlbnR9OmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGNvbG9yLCAxMCUpO1xuICB9XG59XG4iLCIvLyBTaW5nbGUgc2lkZSBib3JkZXItcmFkaXVzXG5cbkBtaXhpbiBib3JkZXItdG9wLXJhZGl1cygkcmFkaXVzKSB7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkcmFkaXVzO1xuICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJHJhZGl1cztcbn1cbkBtaXhpbiBib3JkZXItcmlnaHQtcmFkaXVzKCRyYWRpdXMpIHtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6ICRyYWRpdXM7XG4gICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkcmFkaXVzO1xufVxuQG1peGluIGJvcmRlci1ib3R0b20tcmFkaXVzKCRyYWRpdXMpIHtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6ICRyYWRpdXM7XG4gICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAkcmFkaXVzO1xufVxuQG1peGluIGJvcmRlci1sZWZ0LXJhZGl1cygkcmFkaXVzKSB7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICRyYWRpdXM7XG4gICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICRyYWRpdXM7XG59XG4iLCIvLyBHcmFkaWVudHNcblxuXG5cbi8vIEhvcml6b250YWwgZ3JhZGllbnQsIGZyb20gbGVmdCB0byByaWdodFxuLy9cbi8vIENyZWF0ZXMgdHdvIGNvbG9yIHN0b3BzLCBzdGFydCBhbmQgZW5kLCBieSBzcGVjaWZ5aW5nIGEgY29sb3IgYW5kIHBvc2l0aW9uIGZvciBlYWNoIGNvbG9yIHN0b3AuXG4vLyBDb2xvciBzdG9wcyBhcmUgbm90IGF2YWlsYWJsZSBpbiBJRTkgYW5kIGJlbG93LlxuQG1peGluIGdyYWRpZW50LWhvcml6b250YWwoJHN0YXJ0LWNvbG9yOiAjNTU1LCAkZW5kLWNvbG9yOiAjMzMzLCAkc3RhcnQtcGVyY2VudDogMCUsICRlbmQtcGVyY2VudDogMTAwJSkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCAkc3RhcnQtY29sb3IgJHN0YXJ0LXBlcmNlbnQsICRlbmQtY29sb3IgJGVuZC1wZXJjZW50KTsgLy8gU2FmYXJpIDUuMS02LCBDaHJvbWUgMTArXG4gIGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudChsZWZ0LCAkc3RhcnQtY29sb3IgJHN0YXJ0LXBlcmNlbnQsICRlbmQtY29sb3IgJGVuZC1wZXJjZW50KTsgLy8gT3BlcmEgMTJcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAkc3RhcnQtY29sb3IgJHN0YXJ0LXBlcmNlbnQsICRlbmQtY29sb3IgJGVuZC1wZXJjZW50KTsgLy8gU3RhbmRhcmQsIElFMTAsIEZpcmVmb3ggMTYrLCBPcGVyYSAxMi4xMCssIFNhZmFyaSA3KywgQ2hyb21lIDI2K1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG4gIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KHN0YXJ0Q29sb3JzdHI9JyN7aWUtaGV4LXN0cigkc3RhcnQtY29sb3IpfScsIGVuZENvbG9yc3RyPScje2llLWhleC1zdHIoJGVuZC1jb2xvcil9JywgR3JhZGllbnRUeXBlPTEpOyAvLyBJRTkgYW5kIGRvd25cbn1cblxuLy8gVmVydGljYWwgZ3JhZGllbnQsIGZyb20gdG9wIHRvIGJvdHRvbVxuLy9cbi8vIENyZWF0ZXMgdHdvIGNvbG9yIHN0b3BzLCBzdGFydCBhbmQgZW5kLCBieSBzcGVjaWZ5aW5nIGEgY29sb3IgYW5kIHBvc2l0aW9uIGZvciBlYWNoIGNvbG9yIHN0b3AuXG4vLyBDb2xvciBzdG9wcyBhcmUgbm90IGF2YWlsYWJsZSBpbiBJRTkgYW5kIGJlbG93LlxuQG1peGluIGdyYWRpZW50LXZlcnRpY2FsKCRzdGFydC1jb2xvcjogIzU1NSwgJGVuZC1jb2xvcjogIzMzMywgJHN0YXJ0LXBlcmNlbnQ6IDAlLCAkZW5kLXBlcmNlbnQ6IDEwMCUpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCAkc3RhcnQtY29sb3IgJHN0YXJ0LXBlcmNlbnQsICRlbmQtY29sb3IgJGVuZC1wZXJjZW50KTsgIC8vIFNhZmFyaSA1LjEtNiwgQ2hyb21lIDEwK1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQodG9wLCAkc3RhcnQtY29sb3IgJHN0YXJ0LXBlcmNlbnQsICRlbmQtY29sb3IgJGVuZC1wZXJjZW50KTsgIC8vIE9wZXJhIDEyXG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICRzdGFydC1jb2xvciAkc3RhcnQtcGVyY2VudCwgJGVuZC1jb2xvciAkZW5kLXBlcmNlbnQpOyAvLyBTdGFuZGFyZCwgSUUxMCwgRmlyZWZveCAxNissIE9wZXJhIDEyLjEwKywgU2FmYXJpIDcrLCBDaHJvbWUgMjYrXG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbiAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj0nI3tpZS1oZXgtc3RyKCRzdGFydC1jb2xvcil9JywgZW5kQ29sb3JzdHI9JyN7aWUtaGV4LXN0cigkZW5kLWNvbG9yKX0nLCBHcmFkaWVudFR5cGU9MCk7IC8vIElFOSBhbmQgZG93blxufVxuXG5AbWl4aW4gZ3JhZGllbnQtZGlyZWN0aW9uYWwoJHN0YXJ0LWNvbG9yOiAjNTU1LCAkZW5kLWNvbG9yOiAjMzMzLCAkZGVnOiA0NWRlZykge1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KCRkZWcsICRzdGFydC1jb2xvciwgJGVuZC1jb2xvcik7IC8vIFNhZmFyaSA1LjEtNiwgQ2hyb21lIDEwK1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQoJGRlZywgJHN0YXJ0LWNvbG9yLCAkZW5kLWNvbG9yKTsgLy8gT3BlcmEgMTJcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCRkZWcsICRzdGFydC1jb2xvciwgJGVuZC1jb2xvcik7IC8vIFN0YW5kYXJkLCBJRTEwLCBGaXJlZm94IDE2KywgT3BlcmEgMTIuMTArLCBTYWZhcmkgNyssIENocm9tZSAyNitcbn1cbkBtaXhpbiBncmFkaWVudC1ob3Jpem9udGFsLXRocmVlLWNvbG9ycygkc3RhcnQtY29sb3I6ICMwMGIzZWUsICRtaWQtY29sb3I6ICM3YTQzYjYsICRjb2xvci1zdG9wOiA1MCUsICRlbmQtY29sb3I6ICNjMzMyNWYpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwgJHN0YXJ0LWNvbG9yLCAkbWlkLWNvbG9yICRjb2xvci1zdG9wLCAkZW5kLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KGxlZnQsICRzdGFydC1jb2xvciwgJG1pZC1jb2xvciAkY29sb3Itc3RvcCwgJGVuZC1jb2xvcik7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgJHN0YXJ0LWNvbG9yLCAkbWlkLWNvbG9yICRjb2xvci1zdG9wLCAkZW5kLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj0nI3tpZS1oZXgtc3RyKCRzdGFydC1jb2xvcil9JywgZW5kQ29sb3JzdHI9JyN7aWUtaGV4LXN0cigkZW5kLWNvbG9yKX0nLCBHcmFkaWVudFR5cGU9MSk7IC8vIElFOSBhbmQgZG93biwgZ2V0cyBubyBjb2xvci1zdG9wIGF0IGFsbCBmb3IgcHJvcGVyIGZhbGxiYWNrXG59XG5AbWl4aW4gZ3JhZGllbnQtdmVydGljYWwtdGhyZWUtY29sb3JzKCRzdGFydC1jb2xvcjogIzAwYjNlZSwgJG1pZC1jb2xvcjogIzdhNDNiNiwgJGNvbG9yLXN0b3A6IDUwJSwgJGVuZC1jb2xvcjogI2MzMzI1Zikge1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCgkc3RhcnQtY29sb3IsICRtaWQtY29sb3IgJGNvbG9yLXN0b3AsICRlbmQtY29sb3IpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQoJHN0YXJ0LWNvbG9yLCAkbWlkLWNvbG9yICRjb2xvci1zdG9wLCAkZW5kLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCRzdGFydC1jb2xvciwgJG1pZC1jb2xvciAkY29sb3Itc3RvcCwgJGVuZC1jb2xvcik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KHN0YXJ0Q29sb3JzdHI9JyN7aWUtaGV4LXN0cigkc3RhcnQtY29sb3IpfScsIGVuZENvbG9yc3RyPScje2llLWhleC1zdHIoJGVuZC1jb2xvcil9JywgR3JhZGllbnRUeXBlPTApOyAvLyBJRTkgYW5kIGRvd24sIGdldHMgbm8gY29sb3Itc3RvcCBhdCBhbGwgZm9yIHByb3BlciBmYWxsYmFja1xufVxuQG1peGluIGdyYWRpZW50LXJhZGlhbCgkaW5uZXItY29sb3I6ICM1NTUsICRvdXRlci1jb2xvcjogIzMzMykge1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LXJhZGlhbC1ncmFkaWVudChjaXJjbGUsICRpbm5lci1jb2xvciwgJG91dGVyLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogcmFkaWFsLWdyYWRpZW50KGNpcmNsZSwgJGlubmVyLWNvbG9yLCAkb3V0ZXItY29sb3IpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xufVxuQG1peGluIGdyYWRpZW50LXN0cmlwZWQoJGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LC4xNSksICRhbmdsZTogNDVkZWcpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoJGFuZ2xlLCAkY29sb3IgMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwgJGNvbG9yIDUwJSwgJGNvbG9yIDc1JSwgdHJhbnNwYXJlbnQgNzUlLCB0cmFuc3BhcmVudCk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudCgkYW5nbGUsICRjb2xvciAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCAkY29sb3IgNTAlLCAkY29sb3IgNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCRhbmdsZSwgJGNvbG9yIDI1JSwgdHJhbnNwYXJlbnQgMjUlLCB0cmFuc3BhcmVudCA1MCUsICRjb2xvciA1MCUsICRjb2xvciA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpO1xufVxuIiwiLy8gQ2xlYXJmaXhcbi8vXG4vLyBGb3IgbW9kZXJuIGJyb3dzZXJzXG4vLyAxLiBUaGUgc3BhY2UgY29udGVudCBpcyBvbmUgd2F5IHRvIGF2b2lkIGFuIE9wZXJhIGJ1ZyB3aGVuIHRoZVxuLy8gICAgY29udGVudGVkaXRhYmxlIGF0dHJpYnV0ZSBpcyBpbmNsdWRlZCBhbnl3aGVyZSBlbHNlIGluIHRoZSBkb2N1bWVudC5cbi8vICAgIE90aGVyd2lzZSBpdCBjYXVzZXMgc3BhY2UgdG8gYXBwZWFyIGF0IHRoZSB0b3AgYW5kIGJvdHRvbSBvZiBlbGVtZW50c1xuLy8gICAgdGhhdCBhcmUgY2xlYXJmaXhlZC5cbi8vIDIuIFRoZSB1c2Ugb2YgYHRhYmxlYCByYXRoZXIgdGhhbiBgYmxvY2tgIGlzIG9ubHkgbmVjZXNzYXJ5IGlmIHVzaW5nXG4vLyAgICBgOmJlZm9yZWAgdG8gY29udGFpbiB0aGUgdG9wLW1hcmdpbnMgb2YgY2hpbGQgZWxlbWVudHMuXG4vL1xuLy8gU291cmNlOiBodHRwOi8vbmljb2xhc2dhbGxhZ2hlci5jb20vbWljcm8tY2xlYXJmaXgtaGFjay9cblxuQG1peGluIGNsZWFyZml4KCkge1xuICAmOmJlZm9yZSxcbiAgJjphZnRlciB7XG4gICAgY29udGVudDogXCIgXCI7IC8vIDFcbiAgICBkaXNwbGF5OiB0YWJsZTsgLy8gMlxuICB9XG4gICY6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG59XG4iLCIvLyBDZW50ZXItYWxpZ24gYSBibG9jayBsZXZlbCBlbGVtZW50XG5cbkBtaXhpbiBjZW50ZXItYmxvY2soKSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuIiwiLy8gTmF2YmFyIHZlcnRpY2FsIGFsaWduXG4vL1xuLy8gVmVydGljYWxseSBjZW50ZXIgZWxlbWVudHMgaW4gdGhlIG5hdmJhci5cbi8vIEV4YW1wbGU6IGFuIGVsZW1lbnQgaGFzIGEgaGVpZ2h0IG9mIDMwcHgsIHNvIHdyaXRlIG91dCBgLm5hdmJhci12ZXJ0aWNhbC1hbGlnbigzMHB4KTtgIHRvIGNhbGN1bGF0ZSB0aGUgYXBwcm9wcmlhdGUgdG9wIG1hcmdpbi5cblxuQG1peGluIG5hdmJhci12ZXJ0aWNhbC1hbGlnbigkZWxlbWVudC1oZWlnaHQpIHtcbiAgbWFyZ2luLXRvcDogKCgkbmF2YmFyLWhlaWdodCAtICRlbGVtZW50LWhlaWdodCkgLyAyKTtcbiAgbWFyZ2luLWJvdHRvbTogKCgkbmF2YmFyLWhlaWdodCAtICRlbGVtZW50LWhlaWdodCkgLyAyKTtcbn1cbiIsIi8vIEZyYW1ld29yayBncmlkIGdlbmVyYXRpb25cbi8vXG4vLyBVc2VkIG9ubHkgYnkgQm9vdHN0cmFwIHRvIGdlbmVyYXRlIHRoZSBjb3JyZWN0IG51bWJlciBvZiBncmlkIGNsYXNzZXMgZ2l2ZW5cbi8vIGFueSB2YWx1ZSBvZiBgJGdyaWQtY29sdW1uc2AuXG5cbi8vIFtjb252ZXJ0ZXJdIFRoaXMgaXMgZGVmaW5lZCByZWN1cnNpdmVseSBpbiBMRVNTLCBidXQgU2FzcyBzdXBwb3J0cyByZWFsIGxvb3BzXG5AbWl4aW4gbWFrZS1ncmlkLWNvbHVtbnMoJGk6IDEsICRsaXN0OiBcIi5jb2wteHMtI3skaX0sIC5jb2wtc20tI3skaX0sIC5jb2wtbWQtI3skaX0sIC5jb2wtbGctI3skaX1cIikge1xuICBAZm9yICRpIGZyb20gKDEgKyAxKSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICRsaXN0OiBcIiN7JGxpc3R9LCAuY29sLXhzLSN7JGl9LCAuY29sLXNtLSN7JGl9LCAuY29sLW1kLSN7JGl9LCAuY29sLWxnLSN7JGl9XCI7XG4gIH1cbiAgI3skbGlzdH0ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAvLyBQcmV2ZW50IGNvbHVtbnMgZnJvbSBjb2xsYXBzaW5nIHdoZW4gZW1wdHlcbiAgICBtaW4taGVpZ2h0OiAxcHg7XG4gICAgLy8gSW5uZXIgZ3V0dGVyIHZpYSBwYWRkaW5nXG4gICAgcGFkZGluZy1sZWZ0OiAgY2VpbCgoJGdyaWQtZ3V0dGVyLXdpZHRoIC8gMikpO1xuICAgIHBhZGRpbmctcmlnaHQ6IGZsb29yKCgkZ3JpZC1ndXR0ZXItd2lkdGggLyAyKSk7XG4gIH1cbn1cblxuXG4vLyBbY29udmVydGVyXSBUaGlzIGlzIGRlZmluZWQgcmVjdXJzaXZlbHkgaW4gTEVTUywgYnV0IFNhc3Mgc3VwcG9ydHMgcmVhbCBsb29wc1xuQG1peGluIGZsb2F0LWdyaWQtY29sdW1ucygkY2xhc3MsICRpOiAxLCAkbGlzdDogXCIuY29sLSN7JGNsYXNzfS0jeyRpfVwiKSB7XG4gIEBmb3IgJGkgZnJvbSAoMSArIDEpIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgJGxpc3Q6IFwiI3skbGlzdH0sIC5jb2wtI3skY2xhc3N9LSN7JGl9XCI7XG4gIH1cbiAgI3skbGlzdH0ge1xuICAgIGZsb2F0OiBsZWZ0O1xuICB9XG59XG5cblxuQG1peGluIGNhbGMtZ3JpZC1jb2x1bW4oJGluZGV4LCAkY2xhc3MsICR0eXBlKSB7XG4gIEBpZiAoJHR5cGUgPT0gd2lkdGgpIGFuZCAoJGluZGV4ID4gMCkge1xuICAgIC5jb2wtI3skY2xhc3N9LSN7JGluZGV4fSB7XG4gICAgICB3aWR0aDogcGVyY2VudGFnZSgoJGluZGV4IC8gJGdyaWQtY29sdW1ucykpO1xuICAgIH1cbiAgfVxuICBAaWYgKCR0eXBlID09IHB1c2gpIGFuZCAoJGluZGV4ID4gMCkge1xuICAgIC5jb2wtI3skY2xhc3N9LXB1c2gtI3skaW5kZXh9IHtcbiAgICAgIGxlZnQ6IHBlcmNlbnRhZ2UoKCRpbmRleCAvICRncmlkLWNvbHVtbnMpKTtcbiAgICB9XG4gIH1cbiAgQGlmICgkdHlwZSA9PSBwdXNoKSBhbmQgKCRpbmRleCA9PSAwKSB7XG4gICAgLmNvbC0jeyRjbGFzc30tcHVzaC0wIHtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgfVxuICB9XG4gIEBpZiAoJHR5cGUgPT0gcHVsbCkgYW5kICgkaW5kZXggPiAwKSB7XG4gICAgLmNvbC0jeyRjbGFzc30tcHVsbC0jeyRpbmRleH0ge1xuICAgICAgcmlnaHQ6IHBlcmNlbnRhZ2UoKCRpbmRleCAvICRncmlkLWNvbHVtbnMpKTtcbiAgICB9XG4gIH1cbiAgQGlmICgkdHlwZSA9PSBwdWxsKSBhbmQgKCRpbmRleCA9PSAwKSB7XG4gICAgLmNvbC0jeyRjbGFzc30tcHVsbC0wIHtcbiAgICAgIHJpZ2h0OiBhdXRvO1xuICAgIH1cbiAgfVxuICBAaWYgKCR0eXBlID09IG9mZnNldCkge1xuICAgIC5jb2wtI3skY2xhc3N9LW9mZnNldC0jeyRpbmRleH0ge1xuICAgICAgbWFyZ2luLWxlZnQ6IHBlcmNlbnRhZ2UoKCRpbmRleCAvICRncmlkLWNvbHVtbnMpKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gW2NvbnZlcnRlcl0gVGhpcyBpcyBkZWZpbmVkIHJlY3Vyc2l2ZWx5IGluIExFU1MsIGJ1dCBTYXNzIHN1cHBvcnRzIHJlYWwgbG9vcHNcbkBtaXhpbiBsb29wLWdyaWQtY29sdW1ucygkY29sdW1ucywgJGNsYXNzLCAkdHlwZSkge1xuICBAZm9yICRpIGZyb20gMCB0aHJvdWdoICRjb2x1bW5zIHtcbiAgICBAaW5jbHVkZSBjYWxjLWdyaWQtY29sdW1uKCRpLCAkY2xhc3MsICR0eXBlKTtcbiAgfVxufVxuXG5cbi8vIENyZWF0ZSBncmlkIGZvciBzcGVjaWZpYyBjbGFzc1xuQG1peGluIG1ha2UtZ3JpZCgkY2xhc3MpIHtcbiAgQGluY2x1ZGUgZmxvYXQtZ3JpZC1jb2x1bW5zKCRjbGFzcyk7XG4gIEBpbmNsdWRlIGxvb3AtZ3JpZC1jb2x1bW5zKCRncmlkLWNvbHVtbnMsICRjbGFzcywgd2lkdGgpO1xuICBAaW5jbHVkZSBsb29wLWdyaWQtY29sdW1ucygkZ3JpZC1jb2x1bW5zLCAkY2xhc3MsIHB1bGwpO1xuICBAaW5jbHVkZSBsb29wLWdyaWQtY29sdW1ucygkZ3JpZC1jb2x1bW5zLCAkY2xhc3MsIHB1c2gpO1xuICBAaW5jbHVkZSBsb29wLWdyaWQtY29sdW1ucygkZ3JpZC1jb2x1bW5zLCAkY2xhc3MsIG9mZnNldCk7XG59XG4iLCIvLyBHcmlkIHN5c3RlbVxuLy9cbi8vIEdlbmVyYXRlIHNlbWFudGljIGdyaWQgY29sdW1ucyB3aXRoIHRoZXNlIG1peGlucy5cblxuLy8gQ2VudGVyZWQgY29udGFpbmVyIGVsZW1lbnRcbkBtaXhpbiBjb250YWluZXItZml4ZWQoJGd1dHRlcjogJGdyaWQtZ3V0dGVyLXdpZHRoKSB7XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIHBhZGRpbmctbGVmdDogIGZsb29yKCgkZ3V0dGVyIC8gMikpO1xuICBwYWRkaW5nLXJpZ2h0OiBjZWlsKCgkZ3V0dGVyIC8gMikpO1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbn1cblxuLy8gQ3JlYXRlcyBhIHdyYXBwZXIgZm9yIGEgc2VyaWVzIG9mIGNvbHVtbnNcbkBtaXhpbiBtYWtlLXJvdygkZ3V0dGVyOiAkZ3JpZC1ndXR0ZXItd2lkdGgpIHtcbiAgbWFyZ2luLWxlZnQ6ICBjZWlsKCgkZ3V0dGVyIC8gLTIpKTtcbiAgbWFyZ2luLXJpZ2h0OiBmbG9vcigoJGd1dHRlciAvIC0yKSk7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xufVxuXG4vLyBHZW5lcmF0ZSB0aGUgZXh0cmEgc21hbGwgY29sdW1uc1xuQG1peGluIG1ha2UteHMtY29sdW1uKCRjb2x1bW5zLCAkZ3V0dGVyOiAkZ3JpZC1ndXR0ZXItd2lkdGgpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IHBlcmNlbnRhZ2UoKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1ucykpO1xuICBtaW4taGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmctbGVmdDogICgkZ3V0dGVyIC8gMik7XG4gIHBhZGRpbmctcmlnaHQ6ICgkZ3V0dGVyIC8gMik7XG59XG5AbWl4aW4gbWFrZS14cy1jb2x1bW4tb2Zmc2V0KCRjb2x1bW5zKSB7XG4gIG1hcmdpbi1sZWZ0OiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcbn1cbkBtaXhpbiBtYWtlLXhzLWNvbHVtbi1wdXNoKCRjb2x1bW5zKSB7XG4gIGxlZnQ6IHBlcmNlbnRhZ2UoKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1ucykpO1xufVxuQG1peGluIG1ha2UteHMtY29sdW1uLXB1bGwoJGNvbHVtbnMpIHtcbiAgcmlnaHQ6IHBlcmNlbnRhZ2UoKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1ucykpO1xufVxuXG4vLyBHZW5lcmF0ZSB0aGUgc21hbGwgY29sdW1uc1xuQG1peGluIG1ha2Utc20tY29sdW1uKCRjb2x1bW5zLCAkZ3V0dGVyOiAkZ3JpZC1ndXR0ZXItd2lkdGgpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtaW4taGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmctbGVmdDogICgkZ3V0dGVyIC8gMik7XG4gIHBhZGRpbmctcmlnaHQ6ICgkZ3V0dGVyIC8gMik7XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20tbWluKSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IHBlcmNlbnRhZ2UoKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1ucykpO1xuICB9XG59XG5AbWl4aW4gbWFrZS1zbS1jb2x1bW4tb2Zmc2V0KCRjb2x1bW5zKSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtLW1pbikge1xuICAgIG1hcmdpbi1sZWZ0OiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuQG1peGluIG1ha2Utc20tY29sdW1uLXB1c2goJGNvbHVtbnMpIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20tbWluKSB7XG4gICAgbGVmdDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cbkBtaXhpbiBtYWtlLXNtLWNvbHVtbi1wdWxsKCRjb2x1bW5zKSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtLW1pbikge1xuICAgIHJpZ2h0OiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuXG4vLyBHZW5lcmF0ZSB0aGUgbWVkaXVtIGNvbHVtbnNcbkBtaXhpbiBtYWtlLW1kLWNvbHVtbigkY29sdW1ucywgJGd1dHRlcjogJGdyaWQtZ3V0dGVyLXdpZHRoKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWluLWhlaWdodDogMXB4O1xuICBwYWRkaW5nLWxlZnQ6ICAoJGd1dHRlciAvIDIpO1xuICBwYWRkaW5nLXJpZ2h0OiAoJGd1dHRlciAvIDIpO1xuXG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLW1kLW1pbikge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuQG1peGluIG1ha2UtbWQtY29sdW1uLW9mZnNldCgkY29sdW1ucykge1xuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1tZC1taW4pIHtcbiAgICBtYXJnaW4tbGVmdDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cbkBtaXhpbiBtYWtlLW1kLWNvbHVtbi1wdXNoKCRjb2x1bW5zKSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLW1kLW1pbikge1xuICAgIGxlZnQ6IHBlcmNlbnRhZ2UoKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1ucykpO1xuICB9XG59XG5AbWl4aW4gbWFrZS1tZC1jb2x1bW4tcHVsbCgkY29sdW1ucykge1xuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1tZC1taW4pIHtcbiAgICByaWdodDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cblxuLy8gR2VuZXJhdGUgdGhlIGxhcmdlIGNvbHVtbnNcbkBtaXhpbiBtYWtlLWxnLWNvbHVtbigkY29sdW1ucywgJGd1dHRlcjogJGdyaWQtZ3V0dGVyLXdpZHRoKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWluLWhlaWdodDogMXB4O1xuICBwYWRkaW5nLWxlZnQ6ICAoJGd1dHRlciAvIDIpO1xuICBwYWRkaW5nLXJpZ2h0OiAoJGd1dHRlciAvIDIpO1xuXG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLWxnLW1pbikge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuQG1peGluIG1ha2UtbGctY29sdW1uLW9mZnNldCgkY29sdW1ucykge1xuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1sZy1taW4pIHtcbiAgICBtYXJnaW4tbGVmdDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cbkBtaXhpbiBtYWtlLWxnLWNvbHVtbi1wdXNoKCRjb2x1bW5zKSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLWxnLW1pbikge1xuICAgIGxlZnQ6IHBlcmNlbnRhZ2UoKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1ucykpO1xuICB9XG59XG5AbWl4aW4gbWFrZS1sZy1jb2x1bW4tcHVsbCgkY29sdW1ucykge1xuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1sZy1taW4pIHtcbiAgICByaWdodDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cbiIsIi8vXG4vLyBDb21wb25lbnQgYW5pbWF0aW9uc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gSGVhZHMgdXAhXG4vL1xuLy8gV2UgZG9uJ3QgdXNlIHRoZSBgLm9wYWNpdHkoKWAgbWl4aW4gaGVyZSBzaW5jZSBpdCBjYXVzZXMgYSBidWcgd2l0aCB0ZXh0XG4vLyBmaWVsZHMgaW4gSUU3LTguIFNvdXJjZTogaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMzU1Mi5cblxuLmZhZGUge1xuICBvcGFjaXR5OiAwO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKG9wYWNpdHkgLjE1cyBsaW5lYXIpO1xuICAmLmluIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbi5jb2xsYXBzZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG5cbiAgJi5pbiAgICAgIHsgZGlzcGxheTogYmxvY2s7IH1cbiAgLy8gW2NvbnZlcnRlcl0gZXh0cmFjdGVkIHRyJi5pbiB0byB0ci5jb2xsYXBzZS5pblxuICAvLyBbY29udmVydGVyXSBleHRyYWN0ZWQgdGJvZHkmLmluIHRvIHRib2R5LmNvbGxhcHNlLmluXG59XG5cbnRyLmNvbGxhcHNlLmluICAgIHsgZGlzcGxheTogdGFibGUtcm93OyB9XG5cbnRib2R5LmNvbGxhcHNlLmluIHsgZGlzcGxheTogdGFibGUtcm93LWdyb3VwOyB9XG5cbi5jb2xsYXBzaW5nIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tcHJvcGVydHkoaGVpZ2h0LCB2aXNpYmlsaXR5KTtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1kdXJhdGlvbiguMzVzKTtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24oZWFzZSk7XG59XG4iLCIvL1xuLy8gUmVzcG9uc2l2ZTogVXRpbGl0eSBjbGFzc2VzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi8vIElFMTAgaW4gV2luZG93cyAoUGhvbmUpIDhcbi8vXG4vLyBTdXBwb3J0IGZvciByZXNwb25zaXZlIHZpZXdzIHZpYSBtZWRpYSBxdWVyaWVzIGlzIGtpbmQgb2YgYm9ya2VkIGluIElFMTAsIGZvclxuLy8gU3VyZmFjZS9kZXNrdG9wIGluIHNwbGl0IHZpZXcgYW5kIGZvciBXaW5kb3dzIFBob25lIDguIFRoaXMgcGFydGljdWxhciBmaXhcbi8vIG11c3QgYmUgYWNjb21wYW5pZWQgYnkgYSBzbmlwcGV0IG9mIEphdmFTY3JpcHQgdG8gc25pZmYgdGhlIHVzZXIgYWdlbnQgYW5kXG4vLyBhcHBseSBzb21lIGNvbmRpdGlvbmFsIENTUyB0byAqb25seSogdGhlIFN1cmZhY2UvZGVza3RvcCBXaW5kb3dzIDguIExvb2sgYXRcbi8vIG91ciBHZXR0aW5nIFN0YXJ0ZWQgcGFnZSBmb3IgbW9yZSBpbmZvcm1hdGlvbiBvbiB0aGlzIGJ1Zy5cbi8vXG4vLyBGb3IgbW9yZSBpbmZvcm1hdGlvbiwgc2VlIHRoZSBmb2xsb3dpbmc6XG4vL1xuLy8gSXNzdWU6IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTA0OTdcbi8vIERvY3M6IGh0dHA6Ly9nZXRib290c3RyYXAuY29tL2dldHRpbmctc3RhcnRlZC8jc3VwcG9ydC1pZTEwLXdpZHRoXG4vLyBTb3VyY2U6IGh0dHA6Ly90aW1rYWRsZWMuY29tLzIwMTMvMDEvd2luZG93cy1waG9uZS04LWFuZC1kZXZpY2Utd2lkdGgvXG4vLyBTb3VyY2U6IGh0dHA6Ly90aW1rYWRsZWMuY29tLzIwMTIvMTAvaWUxMC1zbmFwLW1vZGUtYW5kLXJlc3BvbnNpdmUtZGVzaWduL1xuXG5AYXQtcm9vdCB7XG4gIEAtbXMtdmlld3BvcnQge1xuICAgIHdpZHRoOiBkZXZpY2Utd2lkdGg7XG4gIH1cbn1cblxuXG4vLyBWaXNpYmlsaXR5IHV0aWxpdGllc1xuLy8gTm90ZTogRGVwcmVjYXRlZCAudmlzaWJsZS14cywgLnZpc2libGUtc20sIC52aXNpYmxlLW1kLCBhbmQgLnZpc2libGUtbGcgYXMgb2YgdjMuMi4wXG5cbkBpbmNsdWRlIHJlc3BvbnNpdmUtaW52aXNpYmlsaXR5KCcudmlzaWJsZS14cycpO1xuQGluY2x1ZGUgcmVzcG9uc2l2ZS1pbnZpc2liaWxpdHkoJy52aXNpYmxlLXNtJyk7XG5AaW5jbHVkZSByZXNwb25zaXZlLWludmlzaWJpbGl0eSgnLnZpc2libGUtbWQnKTtcbkBpbmNsdWRlIHJlc3BvbnNpdmUtaW52aXNpYmlsaXR5KCcudmlzaWJsZS1sZycpO1xuXG4udmlzaWJsZS14cy1ibG9jayxcbi52aXNpYmxlLXhzLWlubGluZSxcbi52aXNpYmxlLXhzLWlubGluZS1ibG9jayxcbi52aXNpYmxlLXNtLWJsb2NrLFxuLnZpc2libGUtc20taW5saW5lLFxuLnZpc2libGUtc20taW5saW5lLWJsb2NrLFxuLnZpc2libGUtbWQtYmxvY2ssXG4udmlzaWJsZS1tZC1pbmxpbmUsXG4udmlzaWJsZS1tZC1pbmxpbmUtYmxvY2ssXG4udmlzaWJsZS1sZy1ibG9jayxcbi52aXNpYmxlLWxnLWlubGluZSxcbi52aXNpYmxlLWxnLWlubGluZS1ibG9jayB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4teHMtbWF4KSB7XG4gIEBpbmNsdWRlIHJlc3BvbnNpdmUtdmlzaWJpbGl0eSgnLnZpc2libGUteHMnKTtcbn1cbi52aXNpYmxlLXhzLWJsb2NrIHtcbiAgQG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4teHMtbWF4KSB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxufVxuLnZpc2libGUteHMtaW5saW5lIHtcbiAgQG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4teHMtbWF4KSB7XG4gICAgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi52aXNpYmxlLXhzLWlubGluZS1ibG9jayB7XG4gIEBtZWRpYSAobWF4LXdpZHRoOiAkc2NyZWVuLXhzLW1heCkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtLW1pbikgYW5kIChtYXgtd2lkdGg6ICRzY3JlZW4tc20tbWF4KSB7XG4gIEBpbmNsdWRlIHJlc3BvbnNpdmUtdmlzaWJpbGl0eSgnLnZpc2libGUtc20nKTtcbn1cbi52aXNpYmxlLXNtLWJsb2NrIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20tbWluKSBhbmQgKG1heC13aWR0aDogJHNjcmVlbi1zbS1tYXgpIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG59XG4udmlzaWJsZS1zbS1pbmxpbmUge1xuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbS1taW4pIGFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLXNtLW1heCkge1xuICAgIGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50O1xuICB9XG59XG4udmlzaWJsZS1zbS1pbmxpbmUtYmxvY2sge1xuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbS1taW4pIGFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLXNtLW1heCkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLW1kLW1pbikgYW5kIChtYXgtd2lkdGg6ICRzY3JlZW4tbWQtbWF4KSB7XG4gIEBpbmNsdWRlIHJlc3BvbnNpdmUtdmlzaWJpbGl0eSgnLnZpc2libGUtbWQnKTtcbn1cbi52aXNpYmxlLW1kLWJsb2NrIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbWQtbWluKSBhbmQgKG1heC13aWR0aDogJHNjcmVlbi1tZC1tYXgpIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG59XG4udmlzaWJsZS1tZC1pbmxpbmUge1xuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1tZC1taW4pIGFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLW1kLW1heCkge1xuICAgIGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50O1xuICB9XG59XG4udmlzaWJsZS1tZC1pbmxpbmUtYmxvY2sge1xuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1tZC1taW4pIGFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLW1kLW1heCkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLWxnLW1pbikge1xuICBAaW5jbHVkZSByZXNwb25zaXZlLXZpc2liaWxpdHkoJy52aXNpYmxlLWxnJyk7XG59XG4udmlzaWJsZS1sZy1ibG9jayB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLWxnLW1pbikge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi52aXNpYmxlLWxnLWlubGluZSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLWxnLW1pbikge1xuICAgIGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50O1xuICB9XG59XG4udmlzaWJsZS1sZy1pbmxpbmUtYmxvY2sge1xuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1sZy1taW4pIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogJHNjcmVlbi14cy1tYXgpIHtcbiAgQGluY2x1ZGUgcmVzcG9uc2l2ZS1pbnZpc2liaWxpdHkoJy5oaWRkZW4teHMnKTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20tbWluKSBhbmQgKG1heC13aWR0aDogJHNjcmVlbi1zbS1tYXgpIHtcbiAgQGluY2x1ZGUgcmVzcG9uc2l2ZS1pbnZpc2liaWxpdHkoJy5oaWRkZW4tc20nKTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbWQtbWluKSBhbmQgKG1heC13aWR0aDogJHNjcmVlbi1tZC1tYXgpIHtcbiAgQGluY2x1ZGUgcmVzcG9uc2l2ZS1pbnZpc2liaWxpdHkoJy5oaWRkZW4tbWQnKTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbGctbWluKSB7XG4gIEBpbmNsdWRlIHJlc3BvbnNpdmUtaW52aXNpYmlsaXR5KCcuaGlkZGVuLWxnJyk7XG59XG5cblxuLy8gUHJpbnQgdXRpbGl0aWVzXG4vL1xuLy8gTWVkaWEgcXVlcmllcyBhcmUgcGxhY2VkIG9uIHRoZSBpbnNpZGUgdG8gYmUgbWl4aW4tZnJpZW5kbHkuXG5cbi8vIE5vdGU6IERlcHJlY2F0ZWQgLnZpc2libGUtcHJpbnQgYXMgb2YgdjMuMi4wXG5cbkBpbmNsdWRlIHJlc3BvbnNpdmUtaW52aXNpYmlsaXR5KCcudmlzaWJsZS1wcmludCcpO1xuXG5AbWVkaWEgcHJpbnQge1xuICBAaW5jbHVkZSByZXNwb25zaXZlLXZpc2liaWxpdHkoJy52aXNpYmxlLXByaW50Jyk7XG59XG4udmlzaWJsZS1wcmludC1ibG9jayB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcblxuICBAbWVkaWEgcHJpbnQge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi52aXNpYmxlLXByaW50LWlubGluZSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcblxuICBAbWVkaWEgcHJpbnQge1xuICAgIGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50O1xuICB9XG59XG4udmlzaWJsZS1wcmludC1pbmxpbmUtYmxvY2sge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG5cbiAgQG1lZGlhIHByaW50IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgcHJpbnQge1xuICBAaW5jbHVkZSByZXNwb25zaXZlLWludmlzaWJpbGl0eSgnLmhpZGRlbi1wcmludCcpO1xufVxuIiwiLyogU2xpZGVyICovXG5cbi5zbGljay1zbGlkZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAta2h0bWwtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW1zLXRvdWNoLWFjdGlvbjogcGFuLXk7XG4gICAgdG91Y2gtYWN0aW9uOiBwYW4teTtcbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuLnNsaWNrLWxpc3Qge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgfVxuXG4gICAgJi5kcmFnZ2luZyB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgY3Vyc29yOiBoYW5kO1xuICAgIH1cbn1cbi5zbGljay1zbGlkZXIgLnNsaWNrLXRyYWNrLFxuLnNsaWNrLXNsaWRlciAuc2xpY2stbGlzdCB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG59XG5cbi5zbGljay10cmFjayB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgJjpiZWZvcmUsXG4gICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIH1cblxuICAgICY6YWZ0ZXIge1xuICAgICAgICBjbGVhcjogYm90aDtcbiAgICB9XG5cbiAgICAuc2xpY2stbG9hZGluZyAmIHtcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIH1cbn1cbi5zbGljay1zbGlkZSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDFweDtcbiAgICBbZGlyPVwicnRsXCJdICYge1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxuICAgIGltZyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgICAmLnNsaWNrLWxvYWRpbmcgaW1nIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgJi5kcmFnZ2luZyBpbWcge1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG5cbiAgICAuc2xpY2staW5pdGlhbGl6ZWQgJiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC5zbGljay1sb2FkaW5nICYge1xuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgfVxuXG4gICAgLnNsaWNrLXZlcnRpY2FsICYge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICB9XG59XG4uc2xpY2stYXJyb3cuc2xpY2staGlkZGVuIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuIiwiLypcbiAqIE5pdm8gTGlnaHRib3ggdjEuMi4wXG4gKiBodHRwOi8vZGV2N3N0dWRpb3MuY29tL25pdm8tbGlnaHRib3hcbiAqXG4gKiBDb3B5cmlnaHQgMjAxMywgRGV2N3N0dWRpb3NcbiAqIEZyZWUgdG8gdXNlIGFuZCBhYnVzZSB1bmRlciB0aGUgTUlUIGxpY2Vuc2UuXG4gKiBodHRwOi8vd3d3Lm9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL21pdC1saWNlbnNlLnBocFxuICovXG5cbi5uaXZvLWxpZ2h0Ym94LW92ZXJsYXkge1xuXHRwb3NpdGlvbjogZml4ZWQ7XG5cdHRvcDogMDtcblx0bGVmdDogMDtcblx0ei1pbmRleDogOTk5OTg7XG5cdHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHZpc2liaWxpdHk6IGhpZGRlbjtcblx0b3BhY2l0eTogMDtcblx0LXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHQtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG4ubml2by1saWdodGJveC1vdmVybGF5Lm5pdm8tbGlnaHRib3gtb3BlbiB7XG5cdHZpc2liaWxpdHk6IHZpc2libGU7XG5cdG9wYWNpdHk6IDE7XG59XG4ubml2by1saWdodGJveC13cmFwICB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAxMCU7XG5cdGJvdHRvbTogMTAlO1xuXHRsZWZ0OiAxMCU7XG5cdHJpZ2h0OiAxMCU7XG59XG4ubml2by1saWdodGJveC1jb250ZW50IHtcblx0d2lkdGg6IDEwMCU7XG5cdGhlaWdodDogMTAwJTtcbn1cbi5uaXZvLWxpZ2h0Ym94LXRpdGxlLXdyYXAge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdGJvdHRvbTogMDtcblx0bGVmdDogMDtcblx0d2lkdGg6IDEwMCU7XG5cdHotaW5kZXg6IDk5OTk5O1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4ubml2by1saWdodGJveC1uYXYgeyBkaXNwbGF5OiBub25lOyB9XG4ubml2by1saWdodGJveC1wcmV2IHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDUwJTtcblx0bGVmdDogMDtcbn1cbi5uaXZvLWxpZ2h0Ym94LW5leHQge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogNTAlO1xuXHRyaWdodDogMDtcbn1cbi5uaXZvLWxpZ2h0Ym94LWNsb3NlIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDIlO1xuXHRyaWdodDogMiU7XG59XG5cbi5uaXZvLWxpZ2h0Ym94LWltYWdlIHsgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4ubml2by1saWdodGJveC1pbWFnZSBpbWcge1xuXHRtYXgtd2lkdGg6IDEwMCU7XG5cdG1heC1oZWlnaHQ6IDEwMCU7XG5cdHdpZHRoOiBhdXRvO1xuXHRoZWlnaHQ6IGF1dG87XG5cdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG4ubml2by1saWdodGJveC1jb250ZW50IGlmcmFtZSB7XG5cdHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IDEwMCU7XG59XG4ubml2by1saWdodGJveC1pbmxpbmUsXG4ubml2by1saWdodGJveC1hamF4IHtcblx0bWF4LWhlaWdodDogMTAwJTtcblx0b3ZlcmZsb3c6IGF1dG87XG5cdC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcblx0LW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHQvKiBodHRwczovL2J1Z3ppbGxhLm1vemlsbGEub3JnL3Nob3dfYnVnLmNnaT9pZD0zMDg4MDEgKi9cbn1cbi5uaXZvLWxpZ2h0Ym94LWVycm9yIHtcblx0ZGlzcGxheTogdGFibGU7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0d2lkdGg6IDEwMCU7XG5cdGhlaWdodDogMTAwJTtcblx0Y29sb3I6ICNmZmY7XG5cdHRleHQtc2hhZG93OiAwIDFweCAxcHggIzAwMDtcbn1cbi5uaXZvLWxpZ2h0Ym94LWVycm9yIHAge1xuXHRkaXNwbGF5OiB0YWJsZS1jZWxsO1xuXHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4vKiBFZmZlY3RzXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi5uaXZvLWxpZ2h0Ym94LW5vdG91Y2ggLm5pdm8tbGlnaHRib3gtZWZmZWN0LWZhZGUsXG4ubml2by1saWdodGJveC1ub3RvdWNoIC5uaXZvLWxpZ2h0Ym94LWVmZmVjdC1mYWRlU2NhbGUsXG4ubml2by1saWdodGJveC1ub3RvdWNoIC5uaXZvLWxpZ2h0Ym94LWVmZmVjdC1zbGlkZUxlZnQsXG4ubml2by1saWdodGJveC1ub3RvdWNoIC5uaXZvLWxpZ2h0Ym94LWVmZmVjdC1zbGlkZVJpZ2h0LFxuLm5pdm8tbGlnaHRib3gtbm90b3VjaCAubml2by1saWdodGJveC1lZmZlY3Qtc2xpZGVVcCxcbi5uaXZvLWxpZ2h0Ym94LW5vdG91Y2ggLm5pdm8tbGlnaHRib3gtZWZmZWN0LXNsaWRlRG93bixcbi5uaXZvLWxpZ2h0Ym94LW5vdG91Y2ggLm5pdm8tbGlnaHRib3gtZWZmZWN0LWZhbGwge1xuXHQtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuXHQgICAtbW96LXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuXHQgICAgLW1zLXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuXHQgICAgIC1vLXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuXHQgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xufVxuXG4vKiBmYWRlU2NhbGUgKi9cbi5uaXZvLWxpZ2h0Ym94LWVmZmVjdC1mYWRlU2NhbGUgLm5pdm8tbGlnaHRib3gtd3JhcCB7XG5cdC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuM3M7XG5cdCAgIC1tb3otdHJhbnNpdGlvbjogYWxsIDAuM3M7XG5cdCAgICAtbXMtdHJhbnNpdGlvbjogYWxsIDAuM3M7XG5cdCAgICAgLW8tdHJhbnNpdGlvbjogYWxsIDAuM3M7XG5cdCAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3M7XG5cdC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjcpO1xuXHQgICAtbW96LXRyYW5zZm9ybTogc2NhbGUoMC43KTtcblx0ICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlKDAuNyk7XG5cdCAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjcpO1xufVxuLm5pdm8tbGlnaHRib3gtZWZmZWN0LWZhZGVTY2FsZS5uaXZvLWxpZ2h0Ym94LW9wZW4gLm5pdm8tbGlnaHRib3gtd3JhcCB7XG5cdC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcblx0ICAgLW1vei10cmFuc2Zvcm06IHNjYWxlKDEpO1xuXHQgICAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMSk7XG5cdCAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbn1cblxuLyogc2xpZGVMZWZ0IC8gc2xpZGVSaWdodCAvIHNsaWRlVXAgLyBzbGlkZURvd24gKi9cbi5uaXZvLWxpZ2h0Ym94LWVmZmVjdC1zbGlkZUxlZnQgLm5pdm8tbGlnaHRib3gtd3JhcCxcbi5uaXZvLWxpZ2h0Ym94LWVmZmVjdC1zbGlkZVJpZ2h0IC5uaXZvLWxpZ2h0Ym94LXdyYXAsXG4ubml2by1saWdodGJveC1lZmZlY3Qtc2xpZGVVcCAubml2by1saWdodGJveC13cmFwLFxuLm5pdm8tbGlnaHRib3gtZWZmZWN0LXNsaWRlRG93biAubml2by1saWdodGJveC13cmFwIHtcblx0LXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4zcyBjdWJpYy1iZXppZXIoMC4yNSwgMC41LCAwLjUsIDAuOSk7XG5cdCAgIC1tb3otdHJhbnNpdGlvbjogYWxsIDAuM3MgY3ViaWMtYmV6aWVyKDAuMjUsIDAuNSwgMC41LCAwLjkpO1xuXHQgICAgLW1zLXRyYW5zaXRpb246IGFsbCAwLjNzIGN1YmljLWJlemllcigwLjI1LCAwLjUsIDAuNSwgMC45KTtcblx0ICAgICAtby10cmFuc2l0aW9uOiBhbGwgMC4zcyBjdWJpYy1iZXppZXIoMC4yNSwgMC41LCAwLjUsIDAuOSk7XG5cdCAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgY3ViaWMtYmV6aWVyKDAuMjUsIDAuNSwgMC41LCAwLjkpO1xufVxuLm5pdm8tbGlnaHRib3gtZWZmZWN0LXNsaWRlTGVmdCAubml2by1saWdodGJveC13cmFwIHtcblx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwJSk7XG5cdCAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMCUpO1xuXHQgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAlKTtcblx0ICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwJSk7XG59XG4ubml2by1saWdodGJveC1lZmZlY3Qtc2xpZGVSaWdodCAubml2by1saWdodGJveC13cmFwIHtcblx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAlKTtcblx0ICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAlKTtcblx0ICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAlKTtcblx0ICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAlKTtcbn1cbi5uaXZvLWxpZ2h0Ym94LWVmZmVjdC1zbGlkZUxlZnQubml2by1saWdodGJveC1vcGVuIC5uaXZvLWxpZ2h0Ym94LXdyYXAsXG4ubml2by1saWdodGJveC1lZmZlY3Qtc2xpZGVSaWdodC5uaXZvLWxpZ2h0Ym94LW9wZW4gLm5pdm8tbGlnaHRib3gtd3JhcCB7XG5cdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuXHQgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcblx0ICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG5cdCAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xufVxuLm5pdm8tbGlnaHRib3gtZWZmZWN0LXNsaWRlRG93biAubml2by1saWdodGJveC13cmFwIHtcblx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwJSk7XG5cdCAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMCUpO1xuXHQgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAlKTtcblx0ICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwJSk7XG59XG4ubml2by1saWdodGJveC1lZmZlY3Qtc2xpZGVVcCAubml2by1saWdodGJveC13cmFwIHtcblx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAlKTtcblx0ICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAlKTtcblx0ICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAlKTtcblx0ICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAlKTtcbn1cbi5uaXZvLWxpZ2h0Ym94LWVmZmVjdC1zbGlkZVVwLm5pdm8tbGlnaHRib3gtb3BlbiAubml2by1saWdodGJveC13cmFwLFxuLm5pdm8tbGlnaHRib3gtZWZmZWN0LXNsaWRlRG93bi5uaXZvLWxpZ2h0Ym94LW9wZW4gLm5pdm8tbGlnaHRib3gtd3JhcCB7XG5cdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuXHQgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcblx0ICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG5cdCAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xufVxuXG4vKiBmYWxsICovXG4ubml2by1saWdodGJveC1ib2R5LWVmZmVjdC1mYWxsIC5uaXZvLWxpZ2h0Ym94LWVmZmVjdC1mYWxsIHtcblx0LXdlYmtpdC1wZXJzcGVjdGl2ZTogMTAwMHB4O1xuXHQgICAtbW96LXBlcnNwZWN0aXZlOiAxMDAwcHg7XG5cdCAgICAgICAgcGVyc3BlY3RpdmU6IDEwMDBweDtcbn1cbi5uaXZvLWxpZ2h0Ym94LWVmZmVjdC1mYWxsIC5uaXZvLWxpZ2h0Ym94LXdyYXAge1xuXHQtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2Utb3V0O1xuXHQgICAtbW96LXRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2Utb3V0O1xuXHQgICAgLW1zLXRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2Utb3V0O1xuXHQgICAgIC1vLXRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2Utb3V0O1xuXHQgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2Utb3V0O1xuXHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigzMDBweCk7XG5cdCAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDMwMHB4KTtcblx0ICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMzAwcHgpO1xuXHQgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWigzMDBweCk7XG59XG4ubml2by1saWdodGJveC1lZmZlY3QtZmFsbC5uaXZvLWxpZ2h0Ym94LW9wZW4gLm5pdm8tbGlnaHRib3gtd3JhcCB7XG5cdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xuXHQgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcblx0ICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XG5cdCAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xufVxuIiwiLypcbiAqIE5pdm8gTGlnaHRib3ggRGVmYXVsdCBUaGVtZSB2MS4wXG4gKiBodHRwOi8vZGV2N3N0dWRpb3MuY29tL25pdm8tbGlnaHRib3hcbiAqXG4gKiBDb3B5cmlnaHQgMjAxMywgRGV2N3N0dWRpb3NcbiAqIEZyZWUgdG8gdXNlIGFuZCBhYnVzZSB1bmRlciB0aGUgTUlUIGxpY2Vuc2UuXG4gKiBodHRwOi8vd3d3Lm9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL21pdC1saWNlbnNlLnBocFxuICovXG5cbiRpbWdfcGF0aDogJy4uL3Nhc3Mvbml2by1saWdodGJveC90aGVtZXMvZGVmYXVsdC8nO1xuXG4ubml2by1saWdodGJveC10aGVtZS1kZWZhdWx0Lm5pdm8tbGlnaHRib3gtb3ZlcmxheSB7XG5cdGJhY2tncm91bmQ6ICM2NjY7XG5cdGJhY2tncm91bmQ6IHJnYmEoMCwwLDAsMC42KTtcbn1cbi5uaXZvLWxpZ2h0Ym94LXRoZW1lLWRlZmF1bHQgLm5pdm8tbGlnaHRib3gtY29udGVudC5uaXZvLWxpZ2h0Ym94LWxvYWRpbmcgeyBiYWNrZ3JvdW5kOiB1cmwoI3skaW1nX3BhdGh9bG9hZGluZy5naWYpIG5vLXJlcGVhdCA1MCUgNTAlOyB9XG5cbi5uaXZvLWxpZ2h0Ym94LXRoZW1lLWRlZmF1bHQgLm5pdm8tbGlnaHRib3gtbmF2IHtcblx0dG9wOiAxMCU7XG5cdHdpZHRoOiA4JTtcblx0aGVpZ2h0OiA4MCU7XG5cdHRleHQtaW5kZW50OiAtOTk5OXB4O1xuXHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlO1xuXHRvcGFjaXR5OiAwLjU7XG59XG4ubml2by1saWdodGJveC10aGVtZS1kZWZhdWx0IC5uaXZvLWxpZ2h0Ym94LW5hdjpob3ZlciB7XG5cdG9wYWNpdHk6IDE7XG5cdGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwwLDAsMC41KTtcbn1cbi5uaXZvLWxpZ2h0Ym94LXRoZW1lLWRlZmF1bHQgLm5pdm8tbGlnaHRib3gtcHJldiB7XG5cdGJhY2tncm91bmQtaW1hZ2U6IHVybCgjeyRpbWdfcGF0aH1wcmV2LnBuZyk7XG5cdGJvcmRlci1yYWRpdXM6IDAgM3B4IDNweCAwO1xufVxuLm5pdm8tbGlnaHRib3gtdGhlbWUtZGVmYXVsdCAubml2by1saWdodGJveC1uZXh0IHtcblx0YmFja2dyb3VuZC1pbWFnZTogdXJsKCN7JGltZ19wYXRofW5leHQucG5nKTtcblx0Ym9yZGVyLXJhZGl1czogM3B4IDAgMCAzcHg7XG59XG5cbi5uaXZvLWxpZ2h0Ym94LXRoZW1lLWRlZmF1bHQgLm5pdm8tbGlnaHRib3gtY2xvc2Uge1xuXHRkaXNwbGF5OiBibG9jaztcblx0YmFja2dyb3VuZDogdXJsKCN7JGltZ19wYXRofWNsb3NlLnBuZykgbm8tcmVwZWF0IDVweCA1cHg7XG5cdHdpZHRoOiAxNnB4O1xuXHRoZWlnaHQ6IDE2cHg7XG5cdHRleHQtaW5kZW50OiAtOTk5OXB4O1xuXHRwYWRkaW5nOiA1cHg7XG5cdG9wYWNpdHk6IDAuNTtcbn1cbi5uaXZvLWxpZ2h0Ym94LXRoZW1lLWRlZmF1bHQgLm5pdm8tbGlnaHRib3gtY2xvc2U6aG92ZXIgeyBvcGFjaXR5OiAxOyB9XG5cbi5uaXZvLWxpZ2h0Ym94LXRoZW1lLWRlZmF1bHQgLm5pdm8tbGlnaHRib3gtdGl0bGUtd3JhcCB7IGJvdHRvbTogLTclOyB9XG4ubml2by1saWdodGJveC10aGVtZS1kZWZhdWx0IC5uaXZvLWxpZ2h0Ym94LXRpdGxlIHtcblx0Zm9udDogMTRweC8yMHB4ICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG5cdGZvbnQtc3R5bGU6IG5vcm1hbDtcblx0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcblx0YmFja2dyb3VuZDogIzAwMDtcblx0Y29sb3I6ICNmZmY7XG5cdHBhZGRpbmc6IDdweCAxNXB4O1xuXHRib3JkZXItcmFkaXVzOiAzMHB4O1xufVxuXG4ubml2by1saWdodGJveC10aGVtZS1kZWZhdWx0IC5uaXZvLWxpZ2h0Ym94LWltYWdlIGltZyB7XG5cdGJhY2tncm91bmQ6ICNmZmY7XG5cdC13ZWJraXQtYm94LXNoYWRvdzogMHB4IDFweCAxcHggcmdiYSgwLDAsMCwwLjQpO1xuXHQgICAtbW96LWJveC1zaGFkb3c6IDBweCAxcHggMXB4IHJnYmEoMCwwLDAsMC40KTtcblx0ICAgICAgICBib3gtc2hhZG93OiAwcHggMXB4IDFweCByZ2JhKDAsMCwwLDAuNCk7XG59XG4ubml2by1saWdodGJveC10aGVtZS1kZWZhdWx0IC5uaXZvLWxpZ2h0Ym94LWFqYXgsXG4ubml2by1saWdodGJveC10aGVtZS1kZWZhdWx0IC5uaXZvLWxpZ2h0Ym94LWlubGluZSB7XG5cdGJhY2tncm91bmQ6ICNmZmY7XG5cdHBhZGRpbmc6IDQwcHg7XG5cdC13ZWJraXQtYm94LXNoYWRvdzogMHB4IDFweCAxcHggcmdiYSgwLDAsMCwwLjQpO1xuXHQgICAtbW96LWJveC1zaGFkb3c6IDBweCAxcHggMXB4IHJnYmEoMCwwLDAsMC40KTtcblx0ICAgICAgICBib3gtc2hhZG93OiAwcHggMXB4IDFweCByZ2JhKDAsMCwwLDAuNCk7XG59XG5cbkBtZWRpYSAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAxLjMpLFxuICAgICAgICgtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyLjYvMiksXG4gICAgICAgKG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogMS4zKSxcbiAgICAgICAobWluLWRldmljZS1waXhlbC1yYXRpbzogMS4zKSxcbiAgICAgICAobWluLXJlc29sdXRpb246IDEuM2RwcHgpIHtcblxuXHQubml2by1saWdodGJveC10aGVtZS1kZWZhdWx0IC5uaXZvLWxpZ2h0Ym94LWNvbnRlbnQubml2by1saWdodGJveC1sb2FkaW5nIHtcblx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoI3skaW1nX3BhdGh9bG9hZGluZ0AyeC5naWYpO1xuXHRcdGJhY2tncm91bmQtc2l6ZTogMzJweCAzMnB4O1xuXHR9XG5cdC5uaXZvLWxpZ2h0Ym94LXRoZW1lLWRlZmF1bHQgLm5pdm8tbGlnaHRib3gtcHJldiB7XG5cdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKCN7JGltZ19wYXRofXByZXZAMngucG5nKTtcblx0XHRiYWNrZ3JvdW5kLXNpemU6IDQ4cHggNDhweDtcblx0fVxuXHQubml2by1saWdodGJveC10aGVtZS1kZWZhdWx0IC5uaXZvLWxpZ2h0Ym94LW5leHQge1xuXHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybCgjeyRpbWdfcGF0aH1uZXh0QDJ4LnBuZyk7XG5cdFx0YmFja2dyb3VuZC1zaXplOiA0OHB4IDQ4cHg7XG5cdH1cblx0Lm5pdm8tbGlnaHRib3gtdGhlbWUtZGVmYXVsdCAubml2by1saWdodGJveC1jbG9zZSB7XG5cdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKCN7JGltZ19wYXRofWNsb3NlQDJ4LnBuZyk7XG5cdFx0YmFja2dyb3VuZC1zaXplOiAxNnB4IDE2cHg7XG5cdH1cblxufSIsIi5waWthLXNpbmdsZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDk5OTk7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gICAgY29sb3I6ICRjb2wtdGV4dDtcbiAgICAqem9vbTogMTtcblxuICAgICY6YmVmb3JlLFxuICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnICc7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIH1cblxuICAgICY6YWZ0ZXIge1xuICAgICAgICBjbGVhcjogYm90aDtcbiAgICB9XG5cbiAgICAmLmlzLWhpZGRlbiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgJi5pcy1ib3VuZCB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICAgICAgICBib3gtc2hhZG93OiAwIDEwcHggMjVweCAtNXB4IHJnYmEoICMwMDAsIC4yNSApO1xuICAgIH1cblxuICAgIC5waWthLWxlbmRhciB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcblxuICAgICAgICAucGlrYS10aXRsZSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAxMHB4O1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgICAgICAucGlrYS1sYWJlbCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgICpkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDk5OTk7XG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogNXB4IDNweDtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbC10ZXh0O1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjE1cyBlYXNlLWluLW91dDtcblxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbC1wcmltO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHNlbGVjdCB7XG4gICAgICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICB6LWluZGV4OiA5OTk4O1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogNXB4O1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgICAgIGZpbHRlcjogYWxwaGEob3BhY2l0eT0wKTtcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5waWthLXNlbGVjdCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgICpkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucGlrYS1wcmV2LFxuICAgICAgICAucGlrYS1uZXh0IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgICAgIGhlaWdodDogMzBweDtcbiAgICAgICAgICAgIHRleHQtaW5kZW50OiAyMHB4OyAvKiBoaWRlIHRleHQgdXNpbmcgdGV4dC1pbmRlbnQgdHJpY2ssIHVzaW5nIHdpZHRoIHZhbHVlIChpdCdzIGVub3VnaCkgKi9cbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogNzUlIDc1JTtcbiAgICAgICAgICAgIG9wYWNpdHk6IC41O1xuICAgICAgICAgICAgKnBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICp0b3A6IDA7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjE1cyBlYXNlLWluLW91dDtcblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5pcy1kaXNhYmxlZCB7XG4gICAgICAgICAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAuMjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5waWthLXByZXYsXG4gICAgICAgIC5pcy1ydGwgLnBpa2EtbmV4dCB7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFCUUFBQUFlQ0FZQUFBQXNFajVyQUFBQVVrbEVRVlI0MnUzVk1Rb0FJQkFEUWY4UGdqK09EOWhHMkN0T05KQjJ5bVFrS2UwSGJ3QVAweHVjRGlRV0FSSVRJREVCRW5NZ01ROFM4K0FxQklsNmtLZ0hpWHFRcUFlSmVwQm8vejM4Si9VMHVBSGxhQmtCbDlJNEd3QUFBQUJKUlU1RXJrSmdnZz09Jyk7XG4gICAgICAgICAgICAqbGVmdDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5waWthLW5leHQsXG4gICAgICAgIC5pcy1ydGwgLnBpa2EtcHJldiB7XG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQlFBQUFBZUNBWUFBQUFzRWo1ckFBQUFVMGxFUVZSNDJ1M1ZPd29BTUFnRTBkd2ZBbk5qVTI2YllrQkNGR3dmaUw5VlZXb08rQko0R2YzZ3RzRUtLb0ZCTlRDb0NBWVZ3YUFpR05RR01VSE1rakdiZ2prMm1JT051WG8wbkM4WG5DZjFKWGdBclZJWkFRaDVUS1lBQUFBQVNVVk9SSzVDWUlJPScpO1xuICAgICAgICAgICAgKnJpZ2h0OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLnBpa2EtdGFibGUge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICAgICAgICAgICAgYm9yZGVyLXNwYWNpbmc6IDA7XG4gICAgICAgICAgICBib3JkZXI6IDA7XG5cbiAgICAgICAgICAgIHRoLFxuICAgICAgICAgICAgdGQge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxNC4yODU3MTQyODU3MTQyODYlO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRoIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDAgMTBweDtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbC10ZXh0LWxpZ2h0O1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMjVweDtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYWJiciB7XG4gICAgICAgICAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgICAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRkIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxcHg7XG5cbiAgICAgICAgICAgICAgICAvLyB3ZWVrZW5kIGhpZ2hsaWdodGluZyAtIGlmIHdlZWtudW1iZXJzIGFyZSBzaG93biwgdXBkYXRlIHRoZXNlIHZhbHVlcyAoMSAmIDcsIHdpdGggd2Vla25vIDIgJiA4KVxuICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKDEpLFxuICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKDcpIHtcblxuICAgICAgICAgICAgICAgICAgICAucGlrYS1idXR0b24ge1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGludCggJGNvbC1wcmltLCA4NSUgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sLXByaW07XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogOTAwO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi5pcy10b2RheSB7XG5cbiAgICAgICAgICAgICAgICAgICAgLnBpa2EtYnV0dG9uIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogOTAwO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi5pcy1zZWxlY3RlZCB7XG5cbiAgICAgICAgICAgICAgICAgICAgLnBpa2EtYnV0dG9uIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2wtcHJpbTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDkwMDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGNvbC1wcmltO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi5pcy1pbnJhbmdlIHtcblxuICAgICAgICAgICAgICAgICAgICAucGlrYS1idXR0b24ge1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdGludCggJGNvbC1wcmltLCAyMCUgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi5pcy1zdGFydHJhbmdlLFxuICAgICAgICAgICAgICAgICYuaXMtZW5kcmFuZ2Uge1xuXG4gICAgICAgICAgICAgICAgICAgIC5waWthLWJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkY29sLXByaW07XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYuaXMtZGlzYWJsZWQsXG4gICAgICAgICAgICAgICAgJi5pcy1vdXRzaWRlLWN1cnJlbnQtbW9udGgge1xuXG4gICAgICAgICAgICAgICAgICAgICYuaXMtc3RhcnRyYW5nZSxcbiAgICAgICAgICAgICAgICAgICAgJi5pcy1lbmRyYW5nZSB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIC5waWthLWJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGNvbC1wcmltOyAvLyBkYXRlIGlzIGRpc2FibGVkLCBidXQgaXMgc3RhcnQgb3IgZW5kIG9mIHNlbGVjdGVkIHJhbmdlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICYuaXMtaW5yYW5nZSB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIC5waWthLWJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdGludCggJGNvbC1wcmltLCAyMCUgKTsgLy8gZGF0ZSBpcyBkaXNhYmxlZCwgYnV0IGlzIGlucmFuZ2VcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgJi5pcy10b2RheSB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIC5waWthLWJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogI2ZmZjsgLy8gZGF0ZSBpcyBkaXNhYmxlZCwgYnV0IGlzIGhpZ2hsaWdodGVkIGFzIHRvZGF5XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2wtcHJpbTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogOTAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAucGlrYS1idXR0b24ge1xuICAgICAgICAgICAgICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB0aW50KCAkY29sLXByaW0sIDk3LjUlICk7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbC10ZXh0LXgtbGlnaHQ7XG4gICAgICAgICAgICAgICAgICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAucGlrYS1idXR0b24ge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICAgICAgICAgICAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICAgICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMTJweCA2cHg7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgICAgICAgICAgICAvLyBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRpbnQoICRjb2wtcHJpbSwgOTAlICk7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sLXByaW07XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IC44NzVlbTtcbiAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAuMTVzIGVhc2UtaW4tb3V0O1xuXG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGNvbC1wcmltO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5waWthLXdlZWsge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogLjc1ZW07XG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2wtdGV4dC1saWdodDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn0iLCIvKlxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICBCYXNlIHN0eWxlc1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiovXG5cbioge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3ggIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiAwcHg7XG4gICAgbWFyZ2luOiAwcHg7XG59XG5cbio6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuaHRtbCB7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2U7XG4gICAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvLyBwcmV2ZW50IGlPUyBmcm9tIGFkanVzdGluZyBmb250LXNpemVzIHdoZW4gY2hhbmdpbmcgb3JpZW50YXRpb25cbn1cblxuYm9keSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2wtYm9keS1iZztcbiAgICBmb250LWZhbWlseTogJGZvbnQtcHJpbTtcbiAgICBmb250LXNpemU6IDFlbTtcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgei1pbmRleDogMDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAvL2JhY2tncm91bmQ6IHVybCgnLi4vaW1nL3RoZW1lL2hnZy1iYWNrZ3JvdW5kLmpwZycpIGNlbnRlciAvIGNvdmVyIG5vLXJlcGVhdDtcbiAgICAgICAgLy9vcGFjaXR5OiAuMTtcbiAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSByaWdodCwgc2hhZGUoJGNvbC1wcmltLCAyNSUpLCBzaGFkZSgkY29sLXByaW0sIDUwJSkpO1xuICAgIH1cbn1cblxuYSxcbmltZyxcbmEgaW1nIHtcbiAgICBib3JkZXI6IG5vbmU7XG59XG5cbmEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDA7XG4gICAgY29sb3I6ICRjb2wtcHJpbTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogYWxsIC4xNXMgZWFzZS1vdXQsIHRvcCAwcztcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgICBjb2xvcjogJGNvbC10ZXh0O1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG5cbiAgICAmOmFjdGl2ZSB7XG4gICAgICAgIHRvcDogMXB4O1xuICAgIH1cbn1cblxuYnV0dG9uIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAwO1xuICAgIHRyYW5zaXRpb246IGFsbCAuMTVzIGVhc2Utb3V0LCB0b3AgMHM7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgJjphY3RpdmUge1xuICAgICAgICB0b3A6IDFweDtcbiAgICB9XG59XG5cbmEsXG5idXR0b24ge1xuXG4gICAgLmZhLWFycm93LWxlZnQsXG4gICAgLmZhLWFycm93LXJpZ2h0IHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjE1cyBlYXNlLW91dDtcbiAgICAgICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTtcbiAgICB9XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuXG4gICAgICAgIC5mYS1hcnJvdy1sZWZ0IHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLS4yNWVtLCAwLCAwKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5mYS1hcnJvdy1yaWdodCB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC4yNWVtLCAwLCAwKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxucCB7XG4gICAgZGlzcGxheTogYmxvY2s7IC8vIGxlYXZlIHRoaXMgZm9yIGlubGluZSBlbGVtZW50cyAobGlrZSBzcGFuKSBleHRlbmRpbmcgcFxuICAgIGNvbG9yOiAkY29sLXRleHQtbWVkaXVtO1xuICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjYxOGVtOyAvLyB0aGUgZ29sZGVuIHJhdGlvXG5cbiAgICAmLmNhcHRpb24ge1xuICAgICAgICBjb2xvcjogIzk5OTtcbiAgICAgICAgZm9udC1zaXplOiAuODc1ZW07XG4gICAgfVxufVxuXG5ociB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAyMHB4IGF1dG87XG4gICAgcGFkZGluZzogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkY29sLWdyZXk7XG59XG5cbmgxLFxuaDIsXG5oMyxcbmg0LFxuaDUsXG5oNiB7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgZm9udC1mYW1pbHk6ICRmb250LXNlYztcbiAgICBjb2xvcjogJGNvbC1wcmltO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjJlbTtcbn1cblxuLmNsZWFyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBjbGVhcjogYm90aDtcbiAgICBoZWlnaHQ6IDBweDtcbn1cblxuLnRleHQtbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLnRleHQtcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4udGV4dC1jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLnRleHQtanVzdGlmeSB7XG4gICAgdGV4dC1hbGlnbjoganVzdGlmeTtcbn1cblxuLnRleHQtbm93cmFwIHtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG59XG5cbi5pbWctcmVzcG9uc2l2ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbn1cblxuLmltZy13aWRlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG59XG5cbi5jb250YWluZXIge30gLy8gdXNpbmcgQm9vdHN0cmFwIGRlZmF1bHQgLmNvbnRhaW5lciBzdHlsaW5nXG5cbi5pY29uLWxlZnQge1xuICAgIG1hcmdpbi1yaWdodDogLjVlbTtcbn1cblxuLmljb24tcmlnaHQge1xuICAgIG1hcmdpbi1sZWZ0OiAuNWVtO1xufVxuXG4uaWNvbi1jZW50ZXIge1xuICAgIG1hcmdpbjogMCAuNWVtO1xufVxuXG4uaWNvbi1saWdodCB7XG4gICAgb3BhY2l0eTogLjU7XG59XG5cbi5zcGFjZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNsZWFyOiBib3RoO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgJi5zcGFjZXIxMCB7XG4gICAgICAgIGhlaWdodDogMTBweDtcbiAgICB9XG5cbiAgICAmLnNwYWNlcjIwIHtcbiAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgIH1cblxuICAgICYuc3BhY2VyMzAge1xuICAgICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgfVxuXG4gICAgJi5zcGFjZXI0MCB7XG4gICAgICAgIGhlaWdodDogNDBweDtcbiAgICB9XG5cbiAgICAmLnNwYWNlcjUwIHtcbiAgICAgICAgaGVpZ2h0OiA1MHB4O1xuICAgIH1cblxuICAgICYuc3BhY2VyMTAwIHtcbiAgICAgICAgaGVpZ2h0OiAxMDBweDtcbiAgICB9XG5cbiAgICAmLnNwYWNlcjI1MCB7XG4gICAgICAgIGhlaWdodDogMjUwcHg7XG4gICAgfVxuXG4gICAgJi5zcGFjZXI1MDAge1xuICAgICAgICBoZWlnaHQ6IDUwMHB4O1xuICAgIH1cblxuICAgICYuc3BhY2VyMTAwMCB7XG4gICAgICAgIGhlaWdodDogMTAwMHB4O1xuICAgIH1cbn1cblxuLm1hcmdpbiB7XG4gICAgbWFyZ2luOiAyZW0gMDtcbiAgICBAaW5jbHVkZSBmbGV4bWFyZ2luO1xuXG4gICAgJi10b3Age1xuICAgICAgICBtYXJnaW4tdG9wOiAyZW07XG4gICAgfVxuXG4gICAgJi1ib3R0b20ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyZW07XG4gICAgfVxuXG4gICAgJi5tYXJnaW4tLXNtYWxsIHtcbiAgICAgICAgbWFyZ2luOiAxZW0gMDtcbiAgICAgICAgQGluY2x1ZGUgZmxleG1hcmdpbjtcblxuICAgICAgICAmLXRvcCB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxZW07XG4gICAgICAgIH1cblxuICAgICAgICAmLWJvdHRvbSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxZW07XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5ub21hcmdpbiB7XG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG5cbiAgICAmLS10b3Age1xuICAgICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgJi0tYm90dG9tIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuLm5vcGFkZGluZyB7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuXG4gICAgJi0tdG9wIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDAgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAmLS1ib3R0b20ge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuLmNvbC1zdWNjZXNzIHtcbiAgICBjb2xvcjogJGNvbC1zdWNjZXNzO1xufVxuXG4uY29sLXdhcm5pbmcge1xuICAgIGNvbG9yOiAkY29sLXdhcm5pbmc7XG59XG5cbi5jb2wtZXJyb3Ige1xuICAgIGNvbG9yOiAkY29sLWVycm9yO1xufVxuXG4uc2xpY2stbGlzdCxcbi5zbGljay10cmFjayB7XG4gICAgaGVpZ2h0OiAxMDAlO1xufVxuXG4uZGlzcGxheS1mbGV4IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xufVxuXG4uZGlzcGxheS1ibG9jayB7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5kaXNwbGF5LWlubGluZSB7XG4gICAgZGlzcGxheTogaW5saW5lO1xufVxuXG4uZGlzcGxheS1pbmxpbmUtYmxvY2sge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLmZsb2F0LWxlZnQge1xuICAgIGZsb2F0OiBsZWZ0O1xufVxuXG4uZmxvYXQtcmlnaHQge1xuICAgIGZsb2F0OiByaWdodDtcbn1cblxuLmNsZWFyLWJlZm9yZSB7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgfVxufVxuXG4uY2xlYXItYWZ0ZXIge1xuXG4gICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgfVxufVxuXG5tYXJrIHtcbiAgICBwYWRkaW5nOiAuMWVtIC4yNWVtO1xuICAgIGJvcmRlci1yYWRpdXM6IC41ZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdGludCggJGNvbC1wcmltLCA4NSUgKTtcbiAgICBjb2xvcjogJGNvbC10ZXh0LWRhcms7XG59XG5cbi5pbnB1dC1zdHlsZS1yZXNldCB7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGJvcmRlcjogMDtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xufVxuXG4ucG9zaXRpb24tc3RhdGljIHtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xufVxuXG4ucG9zaXRpb24tcmVsYXRpdmUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLnBvc2l0aW9uLWFic29sdXRlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG59XG5cbi5mbGV4LXdyYXBwZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICAmLmRpcmVjdGlvbi1yb3cge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIH1cblxuICAgICYuZGlyZWN0aW9uLXJvdy1yZXZlcnNlIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuICAgIH1cblxuICAgICYuZGlyZWN0aW9uLWNvbHVtbiB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgfVxuXG4gICAgJi5kaXJlY3Rpb24tY29sdW1uLXJldmVyc2Uge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XG4gICAgfVxuXG4gICAgJi5mbGV4LXdyYXAge1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgfVxuXG4gICAgJi5hbGlnbi1zdGFydCB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIH1cblxuICAgICYuYWxpZ24tY2VudGVyIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG5cbiAgICAmLmFsaWduLWVuZCB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICB9XG5cbiAgICAmLmFsaWduLXN0cmV0Y2gge1xuICAgICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICB9XG5cbiAgICAmLmFsaWduLWJldHdlZW4ge1xuICAgICAgICBhbGlnbi1pdGVtczogc3BhY2UtYmV0d2VlbjtcbiAgICB9XG5cbiAgICAmLmFsaWduLWFyb3VuZCB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBzcGFjZS1hcm91bmQ7XG4gICAgfVxuXG4gICAgJi5qdXN0aWZ5LXN0YXJ0IHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIH1cblxuICAgICYuanVzdGlmeS1jZW50ZXIge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB9XG5cbiAgICAmLmp1c3RpZnktZW5kIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICB9XG5cbiAgICAmLmp1c3RpZnktYmV0d2VlbiB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICB9XG5cbiAgICAmLmp1c3RpZnktYXJvdW5kIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG4gICAgfVxufVxuXG4uZmxleC1zcGFjZXIsXG4uZmxleC1ncm93IHtcbiAgICBmbGV4LWdyb3c6IDE7XG59XG5cbi5mbGV4LXNocmluayB7XG4gICAgZmxleC1zaHJpbms6IDE7XG59XG5cbjo6c2VsZWN0aW9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSggJGNvbC10ZXh0LCAuNzUgKTtcbiAgY29sb3I6ICNmZmY7XG59XG5cbi5oaWRkZW4ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLm5hcnJvdyB7XG4gICAgbWF4LXdpZHRoOiA5MDBweCAhaW1wb3J0YW50O1xufVxuXG4uY2VudGVyZWQge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG59XG5cbi5jb2wtcHJpbSB7XG4gICAgY29sb3I6ICRjb2wtcHJpbSAhaW1wb3J0YW50O1xufVxuXG4uY29sLXNlYyB7XG4gICAgY29sb3I6ICRjb2wtc2VjICFpbXBvcnRhbnQ7XG59XG5cbi5jb2wtdGVydCB7XG4gICAgY29sb3I6ICRjb2wtdGVydCAhaW1wb3J0YW50O1xufSIsIi8qXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgIEZvbnQgRmFjZVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiovXG5cbiIsIi8qXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXHRBbmltYXRpb25zXG4gICAgR3JlYXQgQ1NTIGFuaW1hdGlvbiByZXNvdXJjZTogaHR0cDovL2FuaW1pc3RhLm5ldFxuXG4gICAgQW5pbWF0ZSBJTlxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiovXG5cbkBrZXlmcmFtZXMgZmFkZS1pbiB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZS1pbi11cCB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwdmgsIDApO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZS1pbi1kb3duIHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwdmgsIDApO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZS1pbi1sZWZ0IHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTB2dywgMCwgMCk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIH1cbn1cblxuQGtleWZyYW1lcyBmYWRlLWluLXJpZ2h0IHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwdncsIDAsIDApO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZS1pbi1zY2FsZS1kb3duIHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS41KTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGUtaW4tc2NhbGUtdXAge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSguNSk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIH1cbn1cblxuLypcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgQW5pbWF0ZSBPVVRcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qL1xuXG5Aa2V5ZnJhbWVzIGZhZGUtb3V0IHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgIH1cbn1cblxuQGtleWZyYW1lcyBmYWRlLW91dC11cCB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTB2aCwgMCk7XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGUtb3V0LWRvd24ge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTB2aCwgMCk7XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGUtb3V0LWxlZnQge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwdncsIDAsIDApO1xuICAgIH1cbn1cblxuQGtleWZyYW1lcyBmYWRlLW91dC1yaWdodCB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMHZ3LCAwLCAwKTtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZS1vdXQtc2NhbGUtZG93biB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSguNSk7XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGUtb3V0LXNjYWxlLXVwIHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuNSk7XG4gICAgfVxufVxuXG4vKlxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICBSb3RhdGlvblxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiovXG5cbkBrZXlmcmFtZXMgcm90YXRlLTkwLWNsb2Nrd2lzZSB7XG4gICAgMCUge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgcm90YXRlLTkwLWNvdW50ZXItY2xvY2t3aXNlIHtcbiAgICAwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgcm90YXRlLTE4MC1jbG9ja3dpc2Uge1xuICAgIDAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgIH1cbn1cblxuQGtleWZyYW1lcyByb3RhdGUtMTgwLWNvdW50ZXItY2xvY2t3aXNlIHtcbiAgICAwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTE4MGRlZyk7XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZS0zNjAtY2xvY2t3aXNlIHtcbiAgICAwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgcm90YXRlLTM2MC1jb3VudGVyLWNsb2Nrd2lzZSB7XG4gICAgMCUge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC0zNjBkZWcpO1xuICAgIH1cbn0iLCIvKipcbiAqIEN1c3RvbSBncmlkIHN5c3RlbVxuKiovXG5cbi5jb250YWluZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG4gICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcblxuICAgICYuY29udGFpbmVyLS1mbHVpZCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgICYuY29udGFpbmVyLS1uYXJyb3cge1xuICAgICAgICBtYXgtd2lkdGg6IDk5MXB4O1xuICAgIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDU3NnB4KSB7XG5cbiAgICAvLy5jb250YWluZXIge1xuICAgIC8vICAgIHdpZHRoOiA1NDBweDtcbiAgICAvL31cblxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcblxuICAgIC5jb250YWluZXIge1xuICAgICAgICB3aWR0aDogNzIwcHg7XG4gICAgfVxuXG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuXG4gICAgLmNvbnRhaW5lciB7XG4gICAgICAgIHdpZHRoOiA5NjBweDtcbiAgICB9XG5cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuXG4gICAgLmNvbnRhaW5lciB7XG4gICAgICAgIHdpZHRoOiAxMTQwcHg7XG4gICAgfVxuXG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxNDAwcHgpIHtcblxuICAgIC5jb250YWluZXIge1xuICAgICAgICB3aWR0aDogMTM2MHB4O1xuICAgIH1cblxufSIsIi8qXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgIC5jb250ZW50LXdyYXBwZXIgc3R5bGVzXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuKi9cblxuLmNvbnRlbnQge1xuXG4gICAgJi5jb250ZW50LS1pbnZlcnRlZCB7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuXG4gICAgICAgICoge1xuICAgICAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLmNvbnRlbnQtLWNvbHVtbnMge1xuICAgICAgICBjb2x1bW4tY291bnQ6IDI7XG4gICAgICAgIGNvbHVtbi1nYXA6IDYwcHg7XG4gICAgfVxuXG4gICAgJi5jb250ZW50LS1sYXJnZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4xMjVlbTtcbiAgICB9XG5cbiAgICAmLmNvbnRlbnQtLXNtYWxsIHtcbiAgICAgICAgZm9udC1zaXplOiAuODc1ZW07XG4gICAgfVxuXG4gICAgJi5jb250ZW50LS1saWdodCB7XG4gICAgICAgIG9wYWNpdHk6IC41O1xuXG4gICAgICAgICoge1xuICAgICAgICAgICAgY29sb3I6ICRjb2wtdGV4dC1kYXJrO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5jb250ZW50LS1tYXJnaW4ge1xuICAgICAgICBtYXJnaW46IDEuNWVtIDA7XG4gICAgICAgIEBpbmNsdWRlIGZsZXhtYXJnaW47XG4gICAgfVxuXG4gICAgLndwLWNhcHRpb24gIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW46IDJlbSBhdXRvO1xuXG4gICAgICAgICYuYWxpZ25sZWZ0IHtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgbWFyZ2luOiAyZW0gMi41ZW0gMmVtIDA7XG4gICAgICAgIH1cblxuICAgICAgICAmLmFsaWducmlnaHQge1xuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgbWFyZ2luOiAyZW0gMCAyZW0gMi41ZW07XG4gICAgICAgIH1cblxuICAgICAgICAmLmFsaWduY2VudGVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luOiAyZW0gYXV0bztcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGZsZXhtYXJnaW47XG5cbiAgICAgICAgLndwLWNhcHRpb24tdGV4dCB7XG4gICAgICAgICAgICBtYXJnaW46IDFlbSAwIDA7XG4gICAgICAgICAgICBjb2xvcjogJGNvbC10ZXh0O1xuICAgICAgICAgICAgZm9udC1zaXplOiAuODc1ZW07XG4gICAgICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBpbWcge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IC4yNWVtO1xuXG4gICAgICAgICYuYWxpZ25ub25lIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luOiAyZW0gYXV0bztcbiAgICAgICAgfVxuXG4gICAgICAgICYuYWxpZ25sZWZ0IHtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgbWFyZ2luOiAyZW0gMi41ZW0gMmVtIDA7XG4gICAgICAgIH1cblxuICAgICAgICAmLmFsaWducmlnaHQge1xuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgbWFyZ2luOiAyZW0gMCAyZW0gMi41ZW07XG4gICAgICAgIH1cblxuICAgICAgICAmLmFsaWduY2VudGVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luOiAyZW0gYXV0bztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGgxLFxuICAgIGgyLFxuICAgIGgzLFxuICAgIGg0LFxuICAgIGg1LFxuICAgIGg2IHtcbiAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICAgIG1hcmdpbjogMS41ZW0gMCAuMjVlbTtcbiAgICAgICAgQGluY2x1ZGUgZmxleG1hcmdpbjtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmb250LXByaW07XG5cbiAgICAgICAgJiArIHAge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogLjVlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGgxIHtcbiAgICAgICAgZm9udC1zaXplOiAzLjVlbTtcbiAgICB9XG5cbiAgICBoMiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMmVtO1xuICAgIH1cblxuICAgIGgzIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjVlbTtcbiAgICB9XG5cbiAgICBoNCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4yNWVtO1xuICAgIH1cblxuICAgIGg1IHtcbiAgICAgICAgZm9udC1zaXplOiAxLjEyNWVtO1xuICAgIH1cblxuICAgIGg2IHtcbiAgICAgICAgZm9udC1zaXplOiAxZW07XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICAgIG1hcmdpbjogMS41ZW0gMDtcbiAgICAgICAgQGluY2x1ZGUgZmxleG1hcmdpbjtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuOGVtOyAvLyBoaWdoZXIgbGluZS1oZWlnaHQgZm9yIGV2ZW4gYmV0dGVyIHJlYWRhYmlsaXR5IGluIGxvbmcgdGV4dHNcblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXG4gICAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmJ0biB7XG4gICAgICAgICAgICBtYXJnaW46IDEwcHggNXB4IDA7XG4gICAgICAgICAgICBAaW5jbHVkZSBmbGV4bWFyZ2luKGhvcml6b250YWwpO1xuXG4gICAgICAgICAgICAmLmJ0bi1mdWxsIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmludHJvIHtcbiAgICAgICAgICAgIGNvbG9yOiAkY29sLXRleHQtbWVkaXVtO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjVlbTtcbiAgICAgICAgfVxuXG4gICAgICAgICYubWljcm8ge1xuICAgICAgICAgICAgY29sb3I6ICRjb2wtdGV4dC1saWdodDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogLjc1cmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaHIge31cblxuICAgIHVsLFxuICAgIG9sIHtcbiAgICAgICAgbWFyZ2luOiAyZW0gMCAyZW0gMS41ZW07XG4gICAgICAgIEBpbmNsdWRlIGZsZXhtYXJnaW47XG5cbiAgICAgICAgJi5saXN0LWljb25zIHtcbiAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogNDBweDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG5cbiAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgICAgICAuaXRlbS1pY29uIHtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IGNhbGMoIDEwMCUgKyAxMHB4ICk7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAzMHB4O1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAtLjVlbTtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2wtcHJpbTtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMWVtO1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5saXN0LWNoZWNrZWQge1xuICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA0MHB4O1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcblxuICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgICAgIC5pdGVtLWljb24ge1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogY2FsYyggM3B4ICsgLjI1cmVtKTtcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IGNhbGMoIDEwMCUgKyAxMHB4ICk7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAzMHB4O1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbC1wcmltO1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxZW07XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBsaSB7XG4gICAgICAgICAgICBjb2xvcjogJGNvbC10ZXh0O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNWVtO1xuXG4gICAgICAgICAgICAmOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAuNWVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgYmxvY2txdW90ZSB7XG4gICAgICAgIG1heC13aWR0aDogNzAwcHg7XG4gICAgICAgIG1hcmdpbjogMmVtIGF1dG87XG4gICAgICAgIEBpbmNsdWRlIGZsZXhtYXJnaW47XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICBwIHtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1zZWM7XG4gICAgICAgICAgICBjb2xvcjogJGNvbC1wcmltO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjVlbTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjVlbTtcbiAgICAgICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcblxuICAgICAgICAgICAgJjpmaXJzdC1jaGlsZDpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG9wZW4tcXVvdGU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6bGFzdC1jaGlsZDphZnRlciB7XG4gICAgICAgICAgICAgICAgY29udGVudDogY2xvc2UtcXVvdGU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAudGFibGUtd3JhcHBlciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgbWFyZ2luOiAyZW0gLTE1cHg7XG4gICAgICAgIEBpbmNsdWRlIGZsZXhtYXJnaW47XG4gICAgICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgICAgIHBhZGRpbmc6IDAgMTVweDtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgICAgICAmOmFmdGVyIHsgLy8gc2ltdWxhdGluZyByaWdodCBwYWRkaW5nXG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIG1pbi13aWR0aDogMTVweDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICAgICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgdGFibGUge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luOiAyZW0gMDtcbiAgICAgICAgQGluY2x1ZGUgZmxleG1hcmdpbjtcbiAgICAgICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgICAgICAgY29sb3I6ICRjb2wtdGV4dDtcbiAgICAgICAgZm9udC1zaXplOiAxZW07XG5cbiAgICAgICAgdGgsXG4gICAgICAgIHRkIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IC43NWVtO1xuICAgICAgICB9XG5cbiAgICAgICAgdHIge1xuXG4gICAgICAgICAgICAmOm50aC1jaGlsZChvZGQpIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCAjMDAwLCAuMDI1ICk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG5cbiAgICAgICAgICAgICAgICB0aCxcbiAgICAgICAgICAgICAgICB0ZCB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkY29sLWdyZXk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdGhlYWQge31cblxuICAgICAgICB0Ym9keSB7fVxuICAgIH1cblxuICAgIGlmcmFtZSB7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luOiAzZW0gMDtcbiAgICAgICAgQGluY2x1ZGUgZmxleG1hcmdpbjtcbiAgICB9XG5cbiAgICBwcmUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luOiAyZW0gMDtcbiAgICAgICAgQGluY2x1ZGUgZmxleG1hcmdpbjtcbiAgICAgICAgcGFkZGluZzogMWVtIDEuNWVtO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAuNWVtO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sLWdyZXktZGFyaztcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbC1ncmV5LWxpZ2h0O1xuICAgICAgICBmb250LWZhbWlseTogbW9ub3NwYWNlO1xuICAgICAgICBjb2xvcjogJGNvbC10ZXh0O1xuICAgICAgICBmb250LXNpemU6IDFlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNWVtO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgIH1cblxuICAgIC5jb250ZW50LWhpZ2hsaWdodCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW46IDNlbSAtMS41ZW07XG4gICAgICAgIHBhZGRpbmc6IDEuNWVtO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAuNWVtO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB0aW50KCAkY29sLXByaW0sIDUwJSApO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aW50KCAkY29sLXByaW0sIDkwJSApO1xuICAgICAgICBAaW5jbHVkZSBmbGV4bWFyZ2luO1xuICAgICAgICBjb2xvcjogc2hhZGUoICRjb2wtcHJpbSwgMjAlICk7XG5cbiAgICAgICAgKiB7XG4gICAgICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgfVxuICAgIH1cbn0iLCIvKlxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICBDb21wb25lbnRzXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuKi9cblxuLy8gbWFpbiBjb21wb25lbnRzXG5AaW1wb3J0ICdjb21wb25lbnRzL2Jhc2UnO1xuQGltcG9ydCAnY29tcG9uZW50cy9tYXN0aGVhZCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Zvb3Rlcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Zvcm1zJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZmlsdGVycyc7XG5cbi8vIGRlZmF1bHQgY29tcG9uZW50c1xuQGltcG9ydCAnY29tcG9uZW50cy9tb2RhbHMnO1xuQGltcG9ydCAnY29tcG9uZW50cy9wb3BvdmVycyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Rvb2x0aXBzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvd2lkZ2V0cyc7XG5cbi8vIGNvbXBvbmVudHNcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnRucyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3NlY3Rpb25zJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc2VjdGlvbi10aXRsZSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2hlcm8nO1xuQGltcG9ydCAnY29tcG9uZW50cy9jYWxjdWxhdG9yJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY29sdW1ucyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2RhdGEtdGFibGUnO1xuQGltcG9ydCAnY29tcG9uZW50cy9zbGlkZXJzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbm90aWZpY2F0aW9ucyc7XG5cbi8vIHRpbGUvZ3JpZCBjb21wb25lbnRzXG5AaW1wb3J0ICdjb21wb25lbnRzL3RpbGVzJztcbiIsIi5uaXZvLWxpZ2h0Ym94LXRoZW1lLWRlZmF1bHQge1xuXG4gICAgLm5pdm8tbGlnaHRib3gtY2xvc2Uge1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgfVxufVxuXG4ucmVzcG9uc2l2ZS1jb21wb25lbnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiA1Ni4yNSU7IC8vIDE2OjkgYXNwZWN0IHJhdGlvXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIGlmcmFtZSxcbiAgICBvYmplY3QsXG4gICAgZW1iZWQge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG59XG5cbi8qIGhpZGUgc2xpY2sgc2xpZGVycyBvbiBwYWdlIGxvYWQsIHNob3cgd2hlbiBpbml0aWFsaXplZCAqL1xuLnNsaWNrLXNsaWRlciB7XG4gICAgZGlzcGxheTogbm9uZTtcblxuICAgICYuc2xpY2staW5pdGlhbGl6ZWQge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG59XG5cbi5wYWdlLXdyYXBwZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5pbmZvLWJ1YmJsZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAuMjVlbTtcbiAgICBjb2xvcjogJGNvbC1zZWM7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xufSIsIi8qXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgIEhlYWRlclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiovXG5cbi5tYXN0aGVhZCB7XG5cbiAgICAuY29udGFpbmVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxuXG4gICAgJl9fbG9nbyB7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDVlbTtcblxuICAgICAgICBpbWcge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3RpdGxlIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDJyZW07XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBmb250LXNpemU6IDJlbTtcbiAgICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aCA6IDk5MXB4KSB7XG5cbiAgICAubWFzdGhlYWRfX3RpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjVlbTtcbiAgICB9XG5cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoIDogNDgwcHgpIHtcblxuICAgIC5tYXN0aGVhZCB7XG5cblxuICAgICAgICAmX19sb2dvIHtcbiAgICAgICAgICAgIHdpZHRoOiA0ZW07XG4gICAgICAgIH1cblxuICAgICAgICAmX190aXRsZSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuMjVlbTtcbiAgICAgICAgfVxuICAgIH1cblxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGggOiA0MDBweCkge1xuXG4gICAgLm1hc3RoZWFkX190aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgIH1cblxufSIsIi8qXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXHRGb290ZXJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qL1xuXG4uc2l0ZS1mb290ZXIge1xuICAgIG1hcmdpbjogM2VtIDA7XG4gICAgZm9udC1zaXplOiAuODc1ZW07XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgLmNvbnRhaW5lciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIH1cblxuICAgICZfX2NvcHlyaWdodCB7XG4gICAgICAgIGNvbG9yOiByZ2JhKCNmZmYsIC41KTtcbiAgICB9XG5cbiAgICAmX19zaWduYXR1cmUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luOiAuNWVtIDA7XG4gICAgICAgIEBpbmNsdWRlIGZsZXhtYXJnaW47XG4gICAgICAgIGNvbG9yOiByZ2JhKCNmZmYsIC43NSk7XG5cbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbn0iLCIvKlxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblx0Rm9ybXMgLSBCYXNlIGVsZW1lbnQgc3R5bGluZ1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiovXG5cbi5maWVsZHMge1xuXG4gICAgLmZpZWxkLXJvdyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgIG1hcmdpbjogMCAtMWVtIC0xLjVlbSAwO1xuXG4gICAgICAgIC5maWVsZCB7XG4gICAgICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgICAgICAgIG1hcmdpbjogMCAxZW0gMS41ZW0gMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgbWluLXdpZHRoOiAxMGVtO1xuXG4gICAgICAgICAgICAmX19pbnB1dCB7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmZpZWxkIHtcbiAgICAgICAgbWFyZ2luOiAxLjVlbSAwO1xuICAgICAgICBAaW5jbHVkZSBmbGV4bWFyZ2luO1xuXG4gICAgICAgICYuZmllbGQtLXNob3ctaWYtaW1wZXJpYWwsXG4gICAgICAgICYuZmllbGQtLXNob3ctaWYtbWV0cmljIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAmLmZpZWxkLS13aWRlIC5maWVsZF9faW5wdXQge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgJl9fbGFiZWwge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW46IC43NWVtIDA7XG4gICAgICAgICAgICBAaW5jbHVkZSBmbGV4bWFyZ2luO1xuICAgICAgICAgICAgY29sb3I6ICRjb2wtdGV4dDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG5cbiAgICAgICAgICAgIC5yZXF1aXJlZCB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2wtdGVydDtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICZfX2Rlc2NyaXB0aW9uIHtcbiAgICAgICAgICAgIG1hcmdpbjogLjVlbSAwO1xuICAgICAgICAgICAgQGluY2x1ZGUgZmxleG1hcmdpbjtcbiAgICAgICAgICAgIGNvbG9yOiAkY29sLXRleHQtbGlnaHQ7XG4gICAgICAgICAgICBmb250LXNpemU6IC44NzVlbTtcblxuICAgICAgICAgICAgJi5maWVsZF9fZGVzY3JpcHRpb24tLWVycm9yIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbC1lcnJvcjtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5maWVsZF9fZGVzY3JpcHRpb24tLXN1Y2Nlc3Mge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sLXN1Y2Nlc3M7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuZmllbGRfX2Rlc2NyaXB0aW9uLS1ub3RpY2Uge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sLXNlYztcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICZfX2lucHV0IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAyMGVtO1xuICAgICAgICB9XG5cbiAgICAgICAgJl9faW5wdXQtd3JhcHBlciB7XG4gICAgICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgIGlucHV0LFxuICAgICAgICAgICAgc2VsZWN0IHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBpbnB1dC1zdHlsZS1yZXNldDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDNlbTtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIC43NWVtO1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IC4yNWVtO1xuICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2wtZ3JleS1kYXJrO1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAuMTVzIGVhc2Utb3V0O1xuXG4gICAgICAgICAgICAgICAgJjpkaXNhYmxlZCB7fVxuXG4gICAgICAgICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgICAgICAmOmZvY3VzIHtcblxuICAgICAgICAgICAgICAgICAgICAmOm5vdCg6ZGlzYWJsZWQpOm5vdCg6cmVhZC1vbmx5KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRjb2wtc2VjO1xuICAgICAgICAgICAgICAgICAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAuMTI1ZW0gLjI1ZW0gcmdiYSgkY29sLXRleHQsIC4xKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAwIDAgLjI1ZW0gcmdiYSgkY29sLXNlYywgLjI1KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgc2VsZWN0IHtcbiAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAtLjVlbSAxZW0gcmdiYSgkY29sLXRleHQsIC4wNSk7XG5cbiAgICAgICAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRjb2wtc2VjO1xuICAgICAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBpbnNldCAwIC0uNWVtIDFlbSByZ2JhKCRjb2wtdGV4dCwgLjA1KSxcbiAgICAgICAgICAgICAgICAgICAgICAgIDAgMCAuMjVlbSByZ2JhKCRjb2wtc2VjLCAuMjUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaW5wdXQge1xuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgLjEyNWVtIC4yNWVtIHJnYmEoJGNvbC10ZXh0LCAuMSk7XG5cbiAgICAgICAgICAgICAgICAmOnJlYWQtb25seSB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2wtZ3JleTtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2wtdGV4dC1saWdodDtcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICAgICAgICAgIGN1cnNvcjogYXV0bztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmX19pY29uIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICB3aWR0aDogMi4yNWVtO1xuICAgICAgICAgICAgY29sb3I6ICRjb2wtdGV4dC1saWdodDtcbiAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG4gICAgICAgICAgICAmLmZpZWxkX19pY29uLS1sZWZ0IHtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuXG4gICAgICAgICAgICAgICAgJiArIGlucHV0LFxuICAgICAgICAgICAgICAgICYgKyBzZWxlY3Qge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDJlbTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuZmllbGRfX2ljb24tLXJpZ2h0IHtcbiAgICAgICAgICAgICAgICByaWdodDogMDtcblxuICAgICAgICAgICAgICAgICYgKyBpbnB1dCxcbiAgICAgICAgICAgICAgICAmICsgc2VsZWN0IHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMmVtO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICZfX3ByZXBlbmQsXG4gICAgICAgICZfX2FwcGVuZCB7XG4gICAgICAgICAgICBjb2xvcjogJGNvbC10ZXh0LW1lZGl1bTtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX3ByZXBlbmQge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAuNWVtO1xuICAgICAgICB9XG5cbiAgICAgICAgJl9fYXBwZW5kIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAuNWVtO1xuICAgICAgICB9XG4gICAgfVxufSIsIi8qXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXHRGaWx0ZXJzXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuKi9cblxuLmZpbHRlcnMtd3JhcHBlciB7XG5cbiAgICAuZmlsdGVyIHtcblxuICAgICAgICAmX190aXRsZSB7fVxuICAgIH1cbn0iLCIvKlxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICBNb2RhbHNcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qL1xuXG5ib2R5LnNob3ctbW9kYWwge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5tb2RhbHMge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB6LWluZGV4OiA5OTk5O1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGNvbC10ZXh0LXgtZGFyaywgLjUpO1xuXG4gICAgLm1vZGFsc19faW5uZXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHBhZGRpbmc6IDFyZW07XG4gICAgfVxuXG4gICAgLm1vZGFsIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB3aWR0aDogNjAwcHg7XG4gICAgICAgIG1heC13aWR0aDogOTAlO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAuNWVtO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgICBib3gtc2hhZG93OiAwIC41ZW0gMWVtIHJnYmEoJGNvbC10ZXh0LCAuMDUpO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIuNXZoLCAwKTtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIC4xNXMgZWFzZS1pbi1vdXQ7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgICAgJi5tb2RhbC0tdmlzaWJsZSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYubW9kYWwtLWxvYWRpbmcgLm1vZGFsX19sb2FkZXIge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG5cbiAgICAgICAgICAgICYtaWNvbiB7XG4gICAgICAgICAgICAgICAgYW5pbWF0aW9uOiByb3RhdGUtMzYwLWNsb2Nrd2lzZSAxcyBpbmZpbml0ZSBsaW5lYXI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmX19sb2FkZXIge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCNmZmYsIC41KTtcbiAgICAgICAgICAgIGNvbG9yOiAkY29sLXRlcnQ7XG4gICAgICAgICAgICBmb250LXNpemU6IDJlbTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxZW07XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIC4xNXMgZWFzZS1vdXQ7XG4gICAgICAgIH1cblxuICAgICAgICAmX19jbG9zZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBpbnB1dC1zdHlsZS1yZXNldDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIHdpZHRoOiAyLjVlbTtcbiAgICAgICAgICAgIGhlaWdodDogMi41ZW07XG4gICAgICAgICAgICBjb2xvcjogJGNvbC1ncmV5LWRhcms7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuMjVlbTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxZW07XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjE1cyBlYXNlLWluLW91dCwgdG9wIDBzO1xuXG4gICAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2wtdGV4dC1saWdodDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICZfX3Njcm9sbC1jb250YWluZXIge1xuICAgICAgICAgICAgbWF4LWhlaWdodDogODB2aDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEuNzVlbSAyLjVlbSAyZW07XG4gICAgICAgICAgICBvdmVyZmxvdzogYXV0bztcbiAgICAgICAgICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoIDogNDgwcHgpIHtcblxuICAgIC5tb2RhbHMgLm1vZGFsIHtcbiAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuXG4gICAgICAgICZfX3Njcm9sbC1jb250YWluZXIge1xuICAgICAgICAgICAgcGFkZGluZzogMS41ZW07XG4gICAgICAgIH1cbiAgICB9XG5cbn1cbiIsIi8qXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgIFBvcG92ZXJzIChCb290c3RyYXApXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuKi9cblxuJHBvcG92ZXItYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAjZmZmO1xuJHBvcG92ZXItbWF4LXdpZHRoOiAgICAgICAgICAgICAgICAgICAyODBweDtcbiRwb3BvdmVyLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgcmdiYSgjMDAwLCAuMjUpO1xuJHBvcG92ZXItdGl0bGUtYmc6ICAgICAgICAgICAgICAgICAgICAkY29sLWdyZXkteC1saWdodDtcbiRwb3BvdmVyLWFycm93LXdpZHRoOiAgICAgICAgICAgICAgICAgMTBweDtcbiRwb3BvdmVyLWFycm93LWNvbG9yOiAgICAgICAgICAgICAgICAgJHBvcG92ZXItYmc7XG4kcG9wb3Zlci1hcnJvdy1vdXRlci13aWR0aDogICAgICAgICAgICgkcG9wb3Zlci1hcnJvdy13aWR0aCArIDEpO1xuJHBvcG92ZXItYXJyb3ctb3V0ZXItY29sb3I6ICAgICAgICAgICBzaGFkZSggJHBvcG92ZXItYmcsIDEwJSApO1xuXG4ucG9wb3ZlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6ICR6aW5kZXgtcG9wb3ZlcjtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIG1heC13aWR0aDogJHBvcG92ZXItbWF4LXdpZHRoO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgLy8gZm9udCByZXNldFxuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gICAgbGluZS1icmVhazogYXV0bztcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgIHdvcmQtYnJlYWs6IG5vcm1hbDtcbiAgICB3b3JkLXNwYWNpbmc6IG5vcm1hbDtcbiAgICB3b3JkLXdyYXA6IG5vcm1hbDtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgLy8gZW5kIGZvbnQgcmVzZXRcbiAgICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICAgIGJvcmRlci1yYWRpdXM6IC4yNWVtO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRwb3BvdmVyLWJnO1xuICAgIGJveC1zaGFkb3c6IDAgMnB4IDVweCByZ2JhKCMwMDAsIC4xKSxcbiAgICAgICAgMCAwIDAgMXB4IHJnYmEoICMwMDAsIC4wNSApLFxuICAgICAgICAwIDAgNzV2dyA3NXZ3IHJnYmEoIzAwMCwgLjEyNSk7XG5cbiAgICAvLyBPZmZzZXQgdGhlIHBvcG92ZXIgdG8gYWNjb3VudCBmb3IgdGhlIHBvcG92ZXIgYXJyb3dcbiAgICAmLnRvcCAgICAgeyBtYXJnaW4tdG9wOiAtKCRwb3BvdmVyLWFycm93LXdpZHRoICsgNXB4KTsgfVxuICAgICYucmlnaHQgICB7IG1hcmdpbi1sZWZ0OiAkcG9wb3Zlci1hcnJvdy13aWR0aCArIDVweDsgfVxuICAgICYuYm90dG9tICB7IG1hcmdpbi10b3A6ICRwb3BvdmVyLWFycm93LXdpZHRoICsgNXB4OyB9XG4gICAgJi5sZWZ0ICAgIHsgbWFyZ2luLWxlZnQ6IC0oJHBvcG92ZXItYXJyb3ctd2lkdGggKyA1cHgpOyB9XG59XG5cbi5wb3BvdmVyLXRpdGxlIHtcbiAgICBwYWRkaW5nOiAuODc1ZW0gMXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiAuMjVlbSAuMjVlbSAwIDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHBvcG92ZXItdGl0bGUtYmc7XG4gICAgZm9udC1mYW1pbHk6ICRmb250LXByaW07XG4gICAgY29sb3I6ICRjb2wtcHJpbTtcbiAgICBmb250LXNpemU6IC44NzVlbTtcbn1cblxuLnBvcG92ZXItY29udGVudCB7XG4gICAgcGFkZGluZzogMWVtIDFyZW07XG4gICAgY29sb3I6ICRjb2wtdGV4dDtcbiAgICBmb250LXNpemU6IC43NWVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjYxOGVtO1xuXG4gICAgKiB7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIH1cblxuICAgIGgxLFxuICAgIGgyLFxuICAgIGgzLFxuICAgIGg0LFxuICAgIGg1LFxuICAgIGg2IHtcbiAgICAgICAgbWFyZ2luOiAxZW0gMCAuMjVlbTtcbiAgICAgICAgQGluY2x1ZGUgZmxleG1hcmdpbjtcbiAgICB9XG5cbiAgICB1bCxcbiAgICBvbCB7XG4gICAgICAgIG1hcmdpbjogMTBweCAxNXB4O1xuICAgICAgICBAaW5jbHVkZSBmbGV4bWFyZ2luO1xuICAgIH1cblxuICAgIGltZyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXgtd2lkdGg6IDE1ZW07XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICB9XG59XG5cbi8vIEFycm93c1xuLy8gLmFycm93IGlzIG91dGVyLCAuYXJyb3c6YWZ0ZXIgaXMgaW5uZXJcblxuLnBvcG92ZXIgPiAuYXJyb3cge1xuICAgICYsXG4gICAgJjphZnRlciB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAwO1xuICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgfVxufVxuXG4ucG9wb3ZlciA+IC5hcnJvdyB7XG4gICAgYm9yZGVyLXdpZHRoOiAkcG9wb3Zlci1hcnJvdy1vdXRlci13aWR0aDtcbn1cblxuLnBvcG92ZXIgPiAuYXJyb3c6YWZ0ZXIge1xuICAgIGJvcmRlci13aWR0aDogJHBvcG92ZXItYXJyb3ctd2lkdGg7XG4gICAgY29udGVudDogXCJcIjtcbn1cblxuLnBvcG92ZXIge1xuXG4gICAgJi50b3AgPiAuYXJyb3cge1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtJHBvcG92ZXItYXJyb3ctb3V0ZXItd2lkdGg7XG4gICAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRwb3BvdmVyLWFycm93LW91dGVyLWNvbG9yO1xuICAgICAgICBib3R0b206IC0kcG9wb3Zlci1hcnJvdy1vdXRlci13aWR0aDtcblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgICAgICAgYm90dG9tOiAxcHg7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogLSRwb3BvdmVyLWFycm93LXdpZHRoO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRwb3BvdmVyLWFycm93LWNvbG9yO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5yaWdodCA+IC5hcnJvdyB7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBsZWZ0OiAtJHBvcG92ZXItYXJyb3ctb3V0ZXItd2lkdGg7XG4gICAgICAgIG1hcmdpbi10b3A6IC0kcG9wb3Zlci1hcnJvdy1vdXRlci13aWR0aDtcbiAgICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gICAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogJHBvcG92ZXItYXJyb3ctb3V0ZXItY29sb3I7XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgICAgICAgIGxlZnQ6IDFweDtcbiAgICAgICAgICAgIGJvdHRvbTogLSRwb3BvdmVyLWFycm93LXdpZHRoO1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gICAgICAgICAgICBib3JkZXItcmlnaHQtY29sb3I6ICRwb3BvdmVyLWFycm93LWNvbG9yO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5ib3R0b20gPiAuYXJyb3cge1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtJHBvcG92ZXItYXJyb3ctb3V0ZXItd2lkdGg7XG4gICAgICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XG4gICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRwb3BvdmVyLWFycm93LW91dGVyLWNvbG9yO1xuICAgICAgICB0b3A6IC0kcG9wb3Zlci1hcnJvdy1vdXRlci13aWR0aDtcblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgICAgICAgdG9wOiAxcHg7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogLSRwb3BvdmVyLWFycm93LXdpZHRoO1xuICAgICAgICAgICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRwb3BvdmVyLWFycm93LWNvbG9yO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5sZWZ0ID4gLmFycm93IHtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIHJpZ2h0OiAtJHBvcG92ZXItYXJyb3ctb3V0ZXItd2lkdGg7XG4gICAgICAgIG1hcmdpbi10b3A6IC0kcG9wb3Zlci1hcnJvdy1vdXRlci13aWR0aDtcbiAgICAgICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogJHBvcG92ZXItYXJyb3ctb3V0ZXItY29sb3I7XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgICAgICAgIHJpZ2h0OiAxcHg7XG4gICAgICAgICAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogJHBvcG92ZXItYXJyb3ctY29sb3I7XG4gICAgICAgICAgICBib3R0b206IC0kcG9wb3Zlci1hcnJvdy13aWR0aDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8qXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgIFRvb2x0aXBzIChCb290c3RyYXApXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuKi9cblxuJHppbmRleC10b29sdGlwOiAgICAgICAgICAgICAgNTtcbiR0b29sdGlwLW1heC13aWR0aDogICAgICAgICAgIDIwMHB4O1xuJHRvb2x0aXAtY29sb3I6ICAgICAgICAgICAgICAgI2ZmZjtcbiR0b29sdGlwLWJnOiAgICAgICAgICAgICAgICAgIHNoYWRlKCRjb2wtcHJpbSwgNzUlKTtcbiR0b29sdGlwLW9wYWNpdHk6ICAgICAgICAgICAgIDE7XG4kdG9vbHRpcC1hcnJvdy13aWR0aDogICAgICAgICA1cHg7XG4kdG9vbHRpcC1hcnJvdy1jb2xvcjogICAgICAgICAkdG9vbHRpcC1iZztcblxuLy8gQmFzZSBjbGFzc1xuLnRvb2x0aXAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6ICR6aW5kZXgtdG9vbHRpcDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1zZWM7XG4gIGZvbnQtc2l6ZTogLjg3NWVtO1xuICBsaW5lLWhlaWdodDogMS4zZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIG9wYWNpdHk6IDA7XG5cbiAgJi5pbiAgICAgeyBvcGFjaXR5OiAkdG9vbHRpcC1vcGFjaXR5OyB9XG4gICYudG9wICAgIHsgbWFyZ2luLXRvcDogIC0zcHg7IHBhZGRpbmc6ICR0b29sdGlwLWFycm93LXdpZHRoIDA7IH1cbiAgJi5yaWdodCAgeyBtYXJnaW4tbGVmdDogIDNweDsgcGFkZGluZzogMCAkdG9vbHRpcC1hcnJvdy13aWR0aDsgfVxuICAmLmJvdHRvbSB7IG1hcmdpbi10b3A6ICAgM3B4OyBwYWRkaW5nOiAkdG9vbHRpcC1hcnJvdy13aWR0aCAwOyB9XG4gICYubGVmdCAgIHsgbWFyZ2luLWxlZnQ6IC0zcHg7IHBhZGRpbmc6IDAgJHRvb2x0aXAtYXJyb3ctd2lkdGg7IH1cbn1cblxuLy8gV3JhcHBlciBmb3IgdGhlIHRvb2x0aXAgY29udGVudFxuLnRvb2x0aXAtaW5uZXIge1xuICBtYXgtd2lkdGg6ICR0b29sdGlwLW1heC13aWR0aDtcbiAgcGFkZGluZzogLjVlbSAxZW07XG4gIGNvbG9yOiAkdG9vbHRpcC1jb2xvcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9vbHRpcC1iZztcbiAgYm9yZGVyLXJhZGl1czogLjVlbTtcbn1cblxuLy8gQXJyb3dzXG4udG9vbHRpcC1hcnJvdyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbn1cbi8vIE5vdGU6IERlcHJlY2F0ZWQgLnRvcC1sZWZ0LCAudG9wLXJpZ2h0LCAuYm90dG9tLWxlZnQsIGFuZCAuYm90dG9tLXJpZ2h0IGFzIG9mIHYzLjMuMVxuLnRvb2x0aXAge1xuICAmLnRvcCAudG9vbHRpcC1hcnJvdyB7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDUwJTtcbiAgICBtYXJnaW4tbGVmdDogLSR0b29sdGlwLWFycm93LXdpZHRoO1xuICAgIGJvcmRlci13aWR0aDogJHRvb2x0aXAtYXJyb3ctd2lkdGggJHRvb2x0aXAtYXJyb3ctd2lkdGggMDtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAkdG9vbHRpcC1hcnJvdy1jb2xvcjtcbiAgfVxuICAmLnRvcC1sZWZ0IC50b29sdGlwLWFycm93IHtcbiAgICBib3R0b206IDA7XG4gICAgcmlnaHQ6ICR0b29sdGlwLWFycm93LXdpZHRoO1xuICAgIG1hcmdpbi1ib3R0b206IC0kdG9vbHRpcC1hcnJvdy13aWR0aDtcbiAgICBib3JkZXItd2lkdGg6ICR0b29sdGlwLWFycm93LXdpZHRoICR0b29sdGlwLWFycm93LXdpZHRoIDA7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogJHRvb2x0aXAtYXJyb3ctY29sb3I7XG4gIH1cbiAgJi50b3AtcmlnaHQgLnRvb2x0aXAtYXJyb3cge1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAkdG9vbHRpcC1hcnJvdy13aWR0aDtcbiAgICBtYXJnaW4tYm90dG9tOiAtJHRvb2x0aXAtYXJyb3ctd2lkdGg7XG4gICAgYm9yZGVyLXdpZHRoOiAkdG9vbHRpcC1hcnJvdy13aWR0aCAkdG9vbHRpcC1hcnJvdy13aWR0aCAwO1xuICAgIGJvcmRlci10b3AtY29sb3I6ICR0b29sdGlwLWFycm93LWNvbG9yO1xuICB9XG4gICYucmlnaHQgLnRvb2x0aXAtYXJyb3cge1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDA7XG4gICAgbWFyZ2luLXRvcDogLSR0b29sdGlwLWFycm93LXdpZHRoO1xuICAgIGJvcmRlci13aWR0aDogJHRvb2x0aXAtYXJyb3ctd2lkdGggJHRvb2x0aXAtYXJyb3ctd2lkdGggJHRvb2x0aXAtYXJyb3ctd2lkdGggMDtcbiAgICBib3JkZXItcmlnaHQtY29sb3I6ICR0b29sdGlwLWFycm93LWNvbG9yO1xuICB9XG4gICYubGVmdCAudG9vbHRpcC1hcnJvdyB7XG4gICAgdG9wOiA1MCU7XG4gICAgcmlnaHQ6IDA7XG4gICAgbWFyZ2luLXRvcDogLSR0b29sdGlwLWFycm93LXdpZHRoO1xuICAgIGJvcmRlci13aWR0aDogJHRvb2x0aXAtYXJyb3ctd2lkdGggMCAkdG9vbHRpcC1hcnJvdy13aWR0aCAkdG9vbHRpcC1hcnJvdy13aWR0aDtcbiAgICBib3JkZXItbGVmdC1jb2xvcjogJHRvb2x0aXAtYXJyb3ctY29sb3I7XG4gIH1cbiAgJi5ib3R0b20gLnRvb2x0aXAtYXJyb3cge1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgbWFyZ2luLWxlZnQ6IC0kdG9vbHRpcC1hcnJvdy13aWR0aDtcbiAgICBib3JkZXItd2lkdGg6IDAgJHRvb2x0aXAtYXJyb3ctd2lkdGggJHRvb2x0aXAtYXJyb3ctd2lkdGg7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJHRvb2x0aXAtYXJyb3ctY29sb3I7XG4gIH1cbiAgJi5ib3R0b20tbGVmdCAudG9vbHRpcC1hcnJvdyB7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAkdG9vbHRpcC1hcnJvdy13aWR0aDtcbiAgICBtYXJnaW4tdG9wOiAtJHRvb2x0aXAtYXJyb3ctd2lkdGg7XG4gICAgYm9yZGVyLXdpZHRoOiAwICR0b29sdGlwLWFycm93LXdpZHRoICR0b29sdGlwLWFycm93LXdpZHRoO1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICR0b29sdGlwLWFycm93LWNvbG9yO1xuICB9XG4gICYuYm90dG9tLXJpZ2h0IC50b29sdGlwLWFycm93IHtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogJHRvb2x0aXAtYXJyb3ctd2lkdGg7XG4gICAgbWFyZ2luLXRvcDogLSR0b29sdGlwLWFycm93LXdpZHRoO1xuICAgIGJvcmRlci13aWR0aDogMCAkdG9vbHRpcC1hcnJvdy13aWR0aCAkdG9vbHRpcC1hcnJvdy13aWR0aDtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkdG9vbHRpcC1hcnJvdy1jb2xvcjtcbiAgfVxufSIsIi8qXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXHRXaWRnZXRzXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuKi9cblxuLndpZGdldHMtd3JhcHBlciB7XG5cbiAgICAud2lkZ2V0IHtcblxuICAgICAgICAmX190aXRsZSB7XG5cbiAgICAgICAgfVxuICAgIH1cbn0iLCIvKlxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICBCdXR0b25zXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuKi9cblxuLmJ0bnMge1xuICAgIG1hcmdpbjogMmVtIDA7XG4gICAgQGluY2x1ZGUgZmxleG1hcmdpbjtcblxuICAgICYuYnRucy0tc21hbGwtbWFyZ2luIHtcbiAgICAgICAgbWFyZ2luOiAxZW0gMDtcbiAgICAgICAgQGluY2x1ZGUgZmxleG1hcmdpbjtcbiAgICB9XG5cbiAgICAmLmJ0bnMtLWNlbnRlcmVkIC5idG5zX19pbm5lciB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIH1cblxuICAgICYuYnRucy0tdmVydGljYWwge1xuXG4gICAgICAgICYuYnRucy0tY2VudGVyZWQgLmJ0bnNfX2lubmVyIHtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICAuYnRuc19faW5uZXIge1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pbm5lciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgbWFyZ2luOiAtLjVyZW07XG4gICAgfVxuXG4gICAgLmJ0biB7XG4gICAgICAgIG1hcmdpbjogLjVyZW07XG4gICAgfVxufVxuXG4uYnRuIHtcbiAgICBAaW5jbHVkZSBpbnB1dC1zdHlsZS1yZXNldDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmc6IC43NWVtIDEuMjVlbTtcbiAgICBib3JkZXItcmFkaXVzOiAuNWVtO1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS41ZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlLW91dCwgdG9wIDBzO1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHt9XG5cbiAgICAmOmFjdGl2ZSB7XG4gICAgICAgIHRvcDogMXB4O1xuICAgIH1cblxuICAgICY6ZGlzYWJsZWQsXG4gICAgJi5idG4tLWRpc2FibGVkIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sLWdyZXktbWVkaXVtICFpbXBvcnRhbnQ7XG4gICAgICAgIGNvbG9yOiAkY29sLXRleHQtbGlnaHQgIWltcG9ydGFudDtcbiAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgICYuYnRuLS1kZWZhdWx0IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbC1ncmV5LWxpZ2h0O1xuICAgICAgICBjb2xvcjogJGNvbC10ZXh0O1xuICAgICAgICBib3gtc2hhZG93OiBpbnNldCAwIC0zcHggMCByZ2JhKCMwMDAsIC4wNzUpO1xuXG4gICAgICAgICYuYnRuLS1vdXRsaW5lIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgY29sb3I6ICRjb2wtdGV4dC1tZWRpdW07XG4gICAgICAgICAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAycHggJGNvbC1ncmV5LWxpZ2h0O1xuXG4gICAgICAgICAgICAmOmFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMnB4IHNoYWRlKCRjb2wtZ3JleS1saWdodCwgNSUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5idG4tLWdob3N0IHt9XG5cbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aW50KCRjb2wtZ3JleS1saWdodCwgMTAlKTtcbiAgICAgICAgICAgIGNvbG9yOiAkY29sLXRleHQ7XG4gICAgICAgIH1cblxuICAgICAgICAmOmFjdGl2ZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzaGFkZSgkY29sLWdyZXktbGlnaHQsIDUlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuYnRuLS1wcmltYXJ5IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbC10ZXJ0O1xuICAgICAgICBjb2xvcjogI2ZmZjtcblxuICAgICAgICAmLmJ0bi0tb3V0bGluZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGNvbG9yOiAkY29sLXRlcnQ7XG4gICAgICAgICAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAycHggJGNvbC10ZXJ0O1xuXG4gICAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMnB4IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5idG4tLWdob3N0IHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAycHggI2ZmZjtcblxuICAgICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDJweCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIsXG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGludCgkY29sLXRlcnQsIDEwJSk7XG4gICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgfVxuXG4gICAgICAgICY6YWN0aXZlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHNoYWRlKCRjb2wtdGVydCwgNSUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5idG4tLXNlY29uZGFyeSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2wtc2VjO1xuICAgICAgICBjb2xvcjogI2ZmZjtcblxuICAgICAgICAmLmJ0bi0tb3V0bGluZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGNvbG9yOiAkY29sLXNlYztcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDJweCAkY29sLXNlYztcblxuICAgICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDJweCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuYnRuLS1naG9zdCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMnB4ICNmZmY7XG5cbiAgICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAycHggdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRpbnQoJGNvbC1zZWMsIDEwJSk7XG4gICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgfVxuXG4gICAgICAgICY6YWN0aXZlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHNoYWRlKCRjb2wtc2VjLCA1JSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLmJ0bi0td2hpdGUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgICBjb2xvcjogJGNvbC1wcmltO1xuXG4gICAgICAgICYuYnRuLS1vdXRsaW5lIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMnB4ICNmZmY7XG4gICAgICAgICAgICBjb2xvcjogI2ZmZjtcblxuICAgICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDJweCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuYnRuLS1naG9zdCB7fVxuXG4gICAgICAgICY6aG92ZXIsXG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgICAgICAgIGNvbG9yOiAkY29sLXByaW07XG4gICAgICAgIH1cblxuICAgICAgICAmOmFjdGl2ZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzaGFkZSgjZmZmLCA1JSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLmJ0bi0tc21hbGwge1xuICAgICAgICBmb250LXNpemU6IC44NzVyZW07XG4gICAgfVxuXG4gICAgJi5idG4tLXgtc21hbGwge1xuICAgICAgICBmb250LXNpemU6IC43NXJlbTtcbiAgICB9XG5cbiAgICAmLmJ0bi0tbGFyZ2Uge1xuICAgICAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgIH1cblxuICAgICYuYnRuLS14LWxhcmdlIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgIH1cblxuICAgICYuYnRuLS1zbWFsbC1wYWRkaW5nIHtcbiAgICAgICAgcGFkZGluZzogLjVlbSAuNzVlbTtcbiAgICB9XG5cbiAgICAmLmJ0bi0td2lkZSxcbiAgICAmLmJ0bi0tZnVsbCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDFlbTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMWVtO1xuICAgIH1cblxuICAgICYuYnRuLS1ncm93IHtcbiAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDFlbTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMWVtO1xuICAgIH1cbn1cblxuLyogPT0gV2hlbiBzY3JlZW4gaXMgNDgwcHggb3Igc21hbGxlciA9PSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoIDogNDgwcHgpIHtcblxuICAgIC5idG4ge1xuXG4gICAgICAgICY6bm90KC5idG4tLWRvbnQtZXhwYW5kKSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxuXG59IiwiLypcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgU2VjdGlvbnNcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qL1xuXG4uc2VjdGlvbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDcuNWVtIDA7XG5cbiAgICAmLnNlY3Rpb24tLXNtYWxsLW1hcmdpbiB7XG4gICAgICAgIG1hcmdpbjogMy4yNWVtIDA7XG5cbiAgICAgICAgJi10b3Age1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMy4yNWVtO1xuICAgICAgICB9XG5cbiAgICAgICAgJi1ib3R0b20ge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMy4yNWVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5zZWN0aW9uLS1sYXJnZS1tYXJnaW4ge1xuICAgICAgICBtYXJnaW46IDEwLjc1ZW0gMDtcblxuICAgICAgICAmLXRvcCB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxMC43NWVtO1xuICAgICAgICB9XG5cbiAgICAgICAgJi1ib3R0b20ge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTAuNzVlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuc2VjdGlvbi0tcGFkZGluZyB7XG4gICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICAmLnNlY3Rpb24tLXNtYWxsLXBhZGRpbmcge1xuXG4gICAgICAgICAgICAmLXRvcCAuc2VjdGlvbl9faW5uZXIge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAzLjI1ZW07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYtYm90dG9tIC5zZWN0aW9uX19pbm5lciB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDMuMjVlbTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnNlY3Rpb25fX2lubmVyIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAzLjI1ZW0gMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuc2VjdGlvbi0tbGFyZ2UtcGFkZGluZyB7XG5cbiAgICAgICAgICAgICYtdG9wIC5zZWN0aW9uX19pbm5lciB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDEwLjc1ZW07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYtYm90dG9tIC5zZWN0aW9uX19pbm5lciB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDEwLjc1ZW07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5zZWN0aW9uX19pbm5lciB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTAuNzVlbSAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnNlY3Rpb25fX2lubmVyIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDcuNWVtIDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLnNlY3Rpb24tLWJvcmRlci10b3Age1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgjMDAwLCAuMSk7XG4gICAgfVxuXG4gICAgJi5zZWN0aW9uLS1ib3JkZXItYm90dG9tIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoIzAwMCwgLjEpO1xuICAgIH1cblxuICAgICYuc2VjdGlvbi0taGlnaGVyLXppbmRleCB7XG4gICAgICAgIHotaW5kZXg6IDU7XG4gICAgfVxuXG4gICAgJi5zZWN0aW9uLS1mdWxsIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcblxuICAgICAgICAuc2VjdGlvbl9faW5uZXIge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYmFja2dyb3VuZCB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICAgICYuc2VjdGlvbl9fYmFja2dyb3VuZC0tZ3JleSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sLWdyZXktbGlnaHQ7XG4gICAgICAgIH1cblxuICAgICAgICAmLnNlY3Rpb25fX2JhY2tncm91bmQtLWRhcmstZ3JleSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sLWdyZXk7XG4gICAgICAgIH1cblxuICAgICAgICAmLnNlY3Rpb25fX2JhY2tncm91bmQtLXByaW0ge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbC1wcmltO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5zZWN0aW9uX19iYWNrZ3JvdW5kLS1zZWMge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbC1zZWM7XG4gICAgICAgIH1cblxuICAgICAgICAvLyYuc2VjdGlvbl9fYmFja2dyb3VuZC0tdGVydCB7XG4gICAgICAgIC8vICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2wtdGVydDtcbiAgICAgICAgLy99XG5cbiAgICAgICAgJi5zZWN0aW9uX19iYWNrZ3JvdW5kLS1pbWFnZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblxuICAgICAgICAgICAgJi5zZWN0aW9uX19iYWNrZ3JvdW5kLS1maXhlZCB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1hdHRhY2htZW50OiBmaXhlZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuc2VjdGlvbl9fYmFja2dyb3VuZC0tZmFkZTphZnRlcixcbiAgICAgICAgJi5zZWN0aW9uX19iYWNrZ3JvdW5kLS1mYWRlLWxpZ2h0OmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5zZWN0aW9uX19iYWNrZ3JvdW5kLS1mYWRlOmFmdGVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGNvbC10ZXh0LCAuNSk7XG4gICAgICAgIH1cblxuICAgICAgICAmLnNlY3Rpb25fX2JhY2tncm91bmQtLWZhZGUtbGlnaHQ6YWZ0ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgjZmZmLCAuNSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pbm5lciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgei1pbmRleDogMjtcbiAgICB9XG5cbiAgICAmX19mb290ZXIge1xuICAgICAgICBtYXJnaW46IDNlbSAwIDA7XG5cbiAgICAgICAgJi5zZWN0aW9uX19mb290ZXItLXNtYWxsZXItbWFyZ2luIHtcbiAgICAgICAgICAgIG1hcmdpbjogMS41ZW0gMCAwO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vKiA9PSBXaGVuIHNjcmVlbiBpcyA1ODBweCBvciBzbWFsbGVyID09ICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGggOiA1ODBweCkge1xuXG4gICAgLnNlY3Rpb24ge1xuICAgICAgICBtYXJnaW46IDRlbSAwO1xuXG4gICAgICAgICYuc2VjdGlvbi0tc21hbGwtbWFyZ2luIHtcbiAgICAgICAgICAgIG1hcmdpbjogMi41ZW0gMDtcblxuICAgICAgICAgICAgJi10b3Age1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDIuNWVtO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLWJvdHRvbSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMi41ZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLnNlY3Rpb24tLWxhcmdlLW1hcmdpbiB7XG4gICAgICAgICAgICBtYXJnaW46IDZlbSAwO1xuXG4gICAgICAgICAgICAmLXRvcCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNmVtO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLWJvdHRvbSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5zZWN0aW9uLS1wYWRkaW5nIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICAgICAgJi5zZWN0aW9uLS1zbWFsbC1wYWRkaW5nIHtcblxuICAgICAgICAgICAgICAgICYtdG9wIC5zZWN0aW9uX19pbm5lciB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAyLjVlbTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmLWJvdHRvbSAuc2VjdGlvbl9faW5uZXIge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMi41ZW07XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLnNlY3Rpb25fX2lubmVyIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMi41ZW0gMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuc2VjdGlvbi0tbGFyZ2UtcGFkZGluZyB7XG5cbiAgICAgICAgICAgICAgICAmLXRvcCAuc2VjdGlvbl9faW5uZXIge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogNmVtO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYtYm90dG9tIC5zZWN0aW9uX19pbm5lciB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA2ZW07XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLnNlY3Rpb25fX2lubmVyIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogNmVtIDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuc2VjdGlvbl9faW5uZXIge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDRlbSAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG59IiwiLypcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgU2VjdGlvbi10aXRsZVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiovXG5cbi5zZWN0aW9uLXRpdGxlIHtcbiAgICBtYXJnaW46IDRlbSAwIDIuNWVtO1xuICAgIEBpbmNsdWRlIGZsZXhtYXJnaW47XG5cbiAgICAmLnNlY3Rpb24tdGl0bGUtLWludmVydGVkIHtcblxuICAgICAgICAudGl0bGUsXG4gICAgICAgIC5zdWJ0aXRsZSB7XG4gICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuc2VjdGlvbi10aXRsZS0tc21hbGwge1xuICAgICAgICBmb250LXNpemU6IC43NWVtO1xuICAgIH1cblxuICAgICYuc2VjdGlvbi10aXRsZS0tbGFyZ2Uge1xuICAgICAgICBmb250LXNpemU6IDEuMjVlbTtcbiAgICB9XG5cbiAgICAmLnNlY3Rpb24tdGl0bGUtLXNtYWxsLW1hcmdpbiB7XG4gICAgICAgIG1hcmdpbjogMmVtIDAgMS4yNWVtO1xuICAgICAgICBAaW5jbHVkZSBmbGV4bWFyZ2luO1xuICAgIH1cblxuICAgIC50aXRsZSB7XG4gICAgICAgIG1hcmdpbjogLjM1ZW0gMCAuNWVtO1xuICAgICAgICBAaW5jbHVkZSBmbGV4bWFyZ2luO1xuICAgICAgICBmb250LXNpemU6IDJlbTtcbiAgICB9XG5cbiAgICAuc3VidGl0bGUge1xuICAgICAgICBtYXJnaW46IDFlbSAwO1xuICAgICAgICBAaW5jbHVkZSBmbGV4bWFyZ2luO1xuICAgICAgICBmb250LXNpemU6IDEuMTI1ZW07XG4gICAgfVxufVxuXG4vKiA9PSBXaGVuIHNjcmVlbiBpcyA3NjdweCBvciBzbWFsbGVyID09ICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGggOiA3NjdweCkge1xuXG4gICAgLnNlY3Rpb24tdGl0bGUge1xuXG4gICAgICAgIC50aXRsZSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuNzVlbTtcbiAgICAgICAgfVxuICAgIH1cblxufVxuXG4vKiA9PSBXaGVuIHNjcmVlbiBpcyA1ODBweCBvciBzbWFsbGVyID09ICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGggOiA1ODBweCkge1xuXG4gICAgLnNlY3Rpb24tdGl0bGUge1xuICAgICAgICBtYXJnaW46IDNlbSAwIDEuNWVtO1xuICAgICAgICBAaW5jbHVkZSBmbGV4bWFyZ2luO1xuXG4gICAgICAgICYuc2VjdGlvbi10aXRsZS0tc21hbGwtbWFyZ2luIHtcbiAgICAgICAgICAgIG1hcmdpbjogMS41ZW0gMCAuNzVlbTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZsZXhtYXJnaW47XG4gICAgICAgIH1cbiAgICB9XG5cbn1cblxuLyogPT0gV2hlbiBzY3JlZW4gaXMgNDgwcHggb3Igc21hbGxlciA9PSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoIDogNDgwcHgpIHtcblxuICAgIC5zZWN0aW9uLXRpdGxlIHtcblxuICAgICAgICAudGl0bGUge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjVlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zdWJ0aXRsZSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDFlbTtcbiAgICAgICAgfVxuICAgIH1cblxufSIsIi8qXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgIEhlcm9cbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qL1xuXG4uaGVybyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xuXG4gICAgJi5oZXJvLS1ob21lIHt9XG5cbiAgICAmX19iYWNrZ3JvdW5kLWltYWdlLFxuICAgICZfX2JhY2tncm91bmQtdmlkZW8ge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG5cbiAgICAmX19iYWNrZ3JvdW5kLWltYWdlIHtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyOyAvLyByZW1vdmUgaWYgY29udHJvbGxlZCBpbi1saW5lICh2aWEgV1Agc2V0dGluZylcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICB9XG5cbiAgICAmX19iYWNrZ3JvdW5kLXZpZGVvIHtcbiAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcblxuICAgICAgICAvLyBkaXNhYmxlIGNvbnRyb2xzIG9uIHZpZGVvIHdpdGggb3ZlcmxheVxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fdmlkZW8tcGxheWVyIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICB3aWR0aDogMTkyMHB4O1xuICAgICAgICBoZWlnaHQ6IDEwODBweDtcbiAgICAgICAgbWFyZ2luOiAtNTQwcHggMCAwIC05NjBweDtcbiAgICB9XG5cbiAgICAmX19pbm5lciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgei1pbmRleDogMjtcbiAgICB9XG5cbiAgICAmX19jb250ZW50IHt9XG5cbiAgICAmX190aXRsZSB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgZm9udC1zaXplOiA0ZW07XG4gICAgfVxuXG4gICAgJl9fc3VidGl0bGUge1xuICAgICAgICBtYXJnaW46IC41ZW0gMCAwO1xuICAgICAgICBmb250LXNpemU6IDJlbTtcbiAgICB9XG5cbiAgICAmX19kZXNjcmlwdGlvbiB7XG4gICAgICAgIG1hcmdpbjogMWVtIDAgMDtcbiAgICAgICAgZm9udC1zaXplOiAxLjI1ZW07XG4gICAgfVxuXG4gICAgJl9fYnRucyB7XG4gICAgICAgIG1hcmdpbjogMWVtIDAgMDtcbiAgICB9XG5cbiAgICAmX19taWNybyB7XG4gICAgICAgIG1hcmdpbjogMWVtIDAgMDtcbiAgICAgICAgZm9udC1zaXplOiAxZW07XG4gICAgfVxufSIsIi8qXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgIENhbGN1bGF0b3Jcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qL1xuXG4uY2FsY3VsYXRvciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgYm9yZGVyLXJhZGl1czogMWVtO1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDFweCByZ2JhKCMwMDAsIC4xKSxcbiAgICAgICAgMCAuMTI1ZW0gLjI1ZW0gcmdiYSgjMDAwLCAuMSk7XG5cbiAgICAmLmNhbGN1bGF0b3ItLWxvYWRpbmcgLmNhbGN1bGF0b3JfX2xvYWRlciB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG5cbiAgICAgICAgJi1pY29uIHtcbiAgICAgICAgICAgIGFuaW1hdGlvbjogcm90YXRlLTM2MC1jbG9ja3dpc2UgMXMgaW5maW5pdGUgbGluZWFyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fbG9hZGVyIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRjb2wtcHJpbSwgLjUpO1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgZm9udC1zaXplOiAyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxZW07XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjE1cyBlYXNlLW91dDtcbiAgICB9XG5cbiAgICAmX19jYWxjdWxhdGlvbiB7XG4gICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMWVtIDAgMCAxZW07XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG5cbiAgICAgICAgZmllbGRzZXQge1xuICAgICAgICAgICAgcGFkZGluZzogM2VtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fcmVzdWx0IHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgICAgIHdpZHRoOiAzMGVtO1xuICAgICAgICBwYWRkaW5nOiAzZW07XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMWVtIDFlbSAwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sLXByaW07XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogNWVtO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIGJvcmRlcjogMS4yNWVtIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICNmZmY7XG4gICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jYWxjdWxhdG9yIHtcblxuICAgICAgICAgICAgJl9fdGl0bGUsXG4gICAgICAgICAgICAmX19zdWJ0aXRsZSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICZfX2Rlc2NyaXB0aW9uIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogcmdiYSgjZmZmLCAuNzUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmRhdGEtdGFibGUge1xuICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuXG4gICAgICAgICAgICB0Ym9keSB0cjpudGgtY2hpbGQoZXZlbikge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRyLnRvdGFscyB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRkLFxuICAgICAgICAgICAgdGgge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IC41ZW0gLjc1ZW07XG5cbiAgICAgICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmZpZWxkcyAuZmllbGQge1xuXG4gICAgICAgICAgICAmX19pbnB1dCB7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmX19sYWJlbCB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICZfX2Rlc2NyaXB0aW9uIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogcmdiYSgjZmZmLCAuNzUpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmX19pbnB1dC13cmFwcGVyIHtcblxuICAgICAgICAgICAgICAgIGlucHV0LFxuICAgICAgICAgICAgICAgIHNlbGVjdCB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgjZmZmLCAuMjUpO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCMwMDAsIC4xKTtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fdGl0bGUge1xuICAgICAgICBtYXJnaW46IDJlbSAwIC4yNWVtO1xuICAgICAgICBAaW5jbHVkZSBmbGV4bWFyZ2luO1xuICAgICAgICBmb250LWZhbWlseTogJGZvbnQtcHJpbTtcbiAgICAgICAgZm9udC1zaXplOiAxLjVlbTtcbiAgICB9XG5cbiAgICAmX19zdWJ0aXRsZSB7XG4gICAgICAgIG1hcmdpbjogMS41ZW0gMCAuMjVlbTtcbiAgICAgICAgQGluY2x1ZGUgZmxleG1hcmdpbjtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmb250LXByaW07XG4gICAgICAgIGZvbnQtc2l6ZTogMS4yNWVtO1xuICAgIH1cblxuICAgICZfX2Rlc2NyaXB0aW9uIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgLjVlbTtcbiAgICAgICAgZm9udC1zaXplOiAxZW07XG4gICAgfVxuXG4gICAgJl9fc3RlcHMtaW5kaWNhdG9yIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG5cbiAgICAgICAgLnN0ZXAge1xuICAgICAgICAgICAgZmxleDogMSAxIDA7XG4gICAgICAgICAgICBAaW5jbHVkZSBpbnB1dC1zdHlsZS1yZXNldDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDFlbTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRpbnQoJGNvbC1wcmltLCA5NSUpO1xuICAgICAgICAgICAgY29sb3I6IHJnYmEoJGNvbC1wcmltLCAuNSk7XG5cbiAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDFlbTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJl9faWNvbiB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjVlbTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5zdGVwLS1hY3RpdmUge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sLXRlcnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19zbGlkZXIge1xuICAgICAgICAvL21heC1oZWlnaHQ6IDYwdmg7XG4gICAgICAgIC8vb3ZlcmZsb3c6IGF1dG87XG4gICAgICAgIC8vLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuXG4gICAgICAgIC5zbGljay10cmFjayB7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87IC8vIGZvciBhZGFwdGl2ZSBoZWlnaHRcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2NvbnRyb2xzIHtcbiAgICAgICAgbWFyZ2luLXRvcDogYXV0bztcbiAgICAgICAgcGFkZGluZzogMS41ZW07XG4gICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDFlbTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGludCgkY29sLXByaW0sIDk1JSk7XG4gICAgfVxuXG4gICAgLmZpZWxkcyB7XG4gICAgICAgIG1hcmdpbjogMS41ZW0gMDtcbiAgICAgICAgQGluY2x1ZGUgZmxleG1hcmdpbjtcbiAgICB9XG5cbiAgICAuZGF0YS10YWJsZSB7XG4gICAgICAgIG1hcmdpbjogMWVtIDA7XG4gICAgICAgIEBpbmNsdWRlIGZsZXhtYXJnaW47XG4gICAgfVxuXG4gICAgLmNvbHVtbnMge1xuICAgICAgICBtYXJnaW46IDJlbSAwO1xuICAgICAgICBAaW5jbHVkZSBmbGV4bWFyZ2luO1xuICAgIH1cblxuICAgIC5zaG93LWlmLWNhbGN1bGF0aW9uLWNvbXBsZXRlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAuaGlkZS1pZi1jYWxjdWxhdGlvbi1jb21wbGV0ZSB7fVxuXG4gICAgZmllbGRzZXQge1xuICAgICAgICBtYXJnaW46IDNlbSAwO1xuICAgICAgICBAaW5jbHVkZSBmbGV4bWFyZ2luO1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgfVxufVxuXG4ubGFyZ2UtZXN0aW1hdGUge1xuICAgIG1hcmdpbjogMmVtIDA7XG4gICAgQGluY2x1ZGUgZmxleG1hcmdpbjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAmX190aXRsZSB7XG4gICAgICAgIG1hcmdpbjogMCAwIC41ZW07XG4gICAgICAgIGNvbG9yOiByZ2JhKCNmZmYsIC43NSk7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4xMjVlbTtcbiAgICB9XG5cbiAgICAmX19yZXN1bHQge1xuXG4gICAgICAgIHN0cm9uZyB7XG4gICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMi41ZW07XG4gICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICB9XG5cbiAgICAgICAgc21hbGwge1xuICAgICAgICAgICAgY29sb3I6IHJnYmEoI2ZmZiwgLjc1KTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4xMjVlbTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoIDogMTIwMHB4KSB7XG5cbiAgICAuY2FsY3VsYXRvciB7XG5cbiAgICAgICAgJl9fcmVzdWx0IHtcbiAgICAgICAgICAgIHdpZHRoOiAyNWVtO1xuICAgICAgICB9XG5cbiAgICAgICAgLmZpZWxkcyAuZmllbGRfX2lucHV0IHtcbiAgICAgICAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jb2x1bW5zX19ncmlkLmNvbHVtbnNfX2dyaWQtLXNtYWxsLWdhcCAuY29sdW1uLmNvbHVtbi0taGFsZiB7XG4gICAgICAgICAgICBmbGV4LWJhc2lzOiBjYWxjKDEwMCUgLSAxLjVlbSk7XG4gICAgICAgIH1cbiAgICB9XG5cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoIDogOTkxcHgpIHtcblxuICAgIC5jYWxjdWxhdG9yIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgICAgICAmX19jYWxjdWxhdGlvbiB7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxZW0gMWVtIDAgMDtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX3Jlc3VsdCB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCAxZW0gMWVtO1xuXG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgbGVmdDogY2FsYyg1MCUgLSAxZW0pO1xuICAgICAgICAgICAgICAgIGJvcmRlci13aWR0aDogMWVtO1xuICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiB0aW50KCRjb2wtcHJpbSwgOTUlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICZfX2NvbnRyb2xzIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAmX19zdGVwcy1pbmRpY2F0b3Ige1xuXG4gICAgICAgICAgICAuc3RlcCB7XG5cbiAgICAgICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMWVtO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGggOiA0ODBweCkge1xuXG4gICAgLmNhbGN1bGF0b3Ige1xuXG4gICAgICAgICZfX2NhbGN1bGF0aW9uIGZpZWxkc2V0IHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX3Jlc3VsdCB7XG4gICAgICAgICAgICBwYWRkaW5nOiAyZW07XG4gICAgICAgIH1cblxuICAgICAgICAmX19jb250cm9scyB7XG5cbiAgICAgICAgICAgIC5idG4ge1xuICAgICAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmZsZXgtc3BhY2VyIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aCA6IDQwMHB4KSB7XG5cbiAgICAuY2FsY3VsYXRvciB7XG5cbiAgICAgICAgJl9fc3RlcHMtaW5kaWNhdG9yIC5zdGVwX19pY29uIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4yNWVtO1xuICAgICAgICB9XG4gICAgfVxuXG59IiwiLypcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgQ29sdW1uc1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiovXG5cbi5jb2x1bW5zIHtcbiAgICBtYXJnaW46IDEuNWVtIDA7XG4gICAgQGluY2x1ZGUgZmxleG1hcmdpbjtcblxuICAgICZfX2dyaWQge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgIG1hcmdpbjogLTEuNWVtO1xuXG4gICAgICAgICYuY29sdW1uc19fZ3JpZC0tYWxpZ24tY2VudGVyIHtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICAmLmNvbHVtbnNfX2dyaWQtLWp1c3RpZnktY2VudGVyIHtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5jb2x1bW5zX19ncmlkLS1sYXJnZS1nYXAge1xuICAgICAgICAgICAgbWFyZ2luOiAtMS41ZW0gLTIuNWVtO1xuXG4gICAgICAgICAgICAuY29sdW1uIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDEuNWVtIDIuNWVtO1xuXG4gICAgICAgICAgICAgICAgJi5jb2x1bW4tLXF1YXJ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiBjYWxjKDI1JSAtIDVlbSk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi5jb2x1bW4tLXRoaXJkIHtcbiAgICAgICAgICAgICAgICAgICAgZmxleC1iYXNpczogY2FsYygzMy4zMyUgLSA1ZW0pO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYuY29sdW1uLS1oYWxmIHtcbiAgICAgICAgICAgICAgICAgICAgZmxleC1iYXNpczogY2FsYyg1MCUgLSA1ZW0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuY29sdW1uc19fZ3JpZC0tc21hbGwtZ2FwIHtcbiAgICAgICAgICAgIG1hcmdpbjogLTEuNWVtIC0uNzVlbTtcblxuICAgICAgICAgICAgLmNvbHVtbiB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAxLjVlbSAuNzVlbTtcblxuICAgICAgICAgICAgICAgICYuY29sdW1uLS1xdWFydGVyIHtcbiAgICAgICAgICAgICAgICAgICAgZmxleC1iYXNpczogY2FsYygyNSUgLSAxLjVlbSk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi5jb2x1bW4tLXRoaXJkIHtcbiAgICAgICAgICAgICAgICAgICAgZmxleC1iYXNpczogY2FsYygzMy4zMyUgLSAxLjVlbSk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi5jb2x1bW4tLWhhbGYge1xuICAgICAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiBjYWxjKDUwJSAtIDEuNWVtKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmNvbHVtbnNfX2dyaWQtLW9yZGVyLXJldmVyc2Uge1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5jb2x1bW5zX19ncmlkLS1ub3dyYXAge1xuICAgICAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICAgIH1cblxuICAgICAgICAuY29sdW1uIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIGZsZXg6IDE7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgICAgICBtYXJnaW46IDEuNWVtO1xuXG4gICAgICAgICAgICAmLmNvbHVtbi0tc21hbGwge1xuICAgICAgICAgICAgICAgIGZsZXgtZ3JvdzogMDtcbiAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiBhdXRvO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmNvbHVtbi0tcXVhcnRlciB7XG4gICAgICAgICAgICAgICAgZmxleC1ncm93OiAwO1xuICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IGNhbGMoMjUlIC0gM2VtKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5jb2x1bW4tLXRoaXJkIHtcbiAgICAgICAgICAgICAgICBmbGV4LWdyb3c6IDA7XG4gICAgICAgICAgICAgICAgZmxleC1iYXNpczogY2FsYygzMy4zMyUgLSAzZW0pO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmNvbHVtbi0taGFsZiB7XG4gICAgICAgICAgICAgICAgZmxleC1ncm93OiAwO1xuICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IGNhbGMoNTAlIC0gM2VtKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5jb2x1bW4tLXBhZGRpbmcge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDNlbTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5jb2x1bW4tLWFsaWduLXN0YXJ0IHtcbiAgICAgICAgICAgICAgICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLnRleHQtY2VudGVyIHtcblxuICAgICAgICAgICAgICAgIC5pbWctcmVzcG9uc2l2ZSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLmJ0bnNfX2lubmVyIHtcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmX19pbm5lciB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYgPiBpbWcge1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IC41ZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qID09IFdoZW4gc2NyZWVuIGlzIDEyMDBweCBvciBzbWFsbGVyID09ICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGggOiAxMjAwcHgpIHtcblxuICAgIC5jb2x1bW5zX19ncmlkIHtcblxuICAgICAgICAmLmNvbHVtbnNfX2dyaWQtLWxhcmdlLWdhcCB7XG5cbiAgICAgICAgICAgIC5jb2x1bW4ge1xuXG4gICAgICAgICAgICAgICAgJi5jb2x1bW4tLXF1YXJ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiBjYWxjKDMzLjMzJSAtIDVlbSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5jb2x1bW5zX19ncmlkLS1zbWFsbC1nYXAge1xuXG4gICAgICAgICAgICAuY29sdW1uIHtcblxuICAgICAgICAgICAgICAgICYuY29sdW1uLS1xdWFydGVyIHtcbiAgICAgICAgICAgICAgICAgICAgZmxleC1iYXNpczogY2FsYygzMy4zMyUgLSAxLjVlbSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmNvbHVtbiB7XG5cbiAgICAgICAgICAgICYuY29sdW1uLS1xdWFydGVyIHtcbiAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiBjYWxjKDMzLjMzJSAtIDNlbSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbn1cblxuLyogPT0gV2hlbiBzY3JlZW4gaXMgOTkxcHggb3Igc21hbGxlciA9PSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoIDogOTkxcHgpIHtcblxuICAgIC5jb2x1bW5zX19ncmlkIHtcblxuICAgICAgICAmLmNvbHVtbnNfX2dyaWQtLWxhcmdlLWdhcCB7XG5cbiAgICAgICAgICAgIC5jb2x1bW4ge1xuXG4gICAgICAgICAgICAgICAgJi5jb2x1bW4tLXRoaXJkIHtcbiAgICAgICAgICAgICAgICAgICAgZmxleC1iYXNpczogY2FsYyg1MCUgLSA1ZW0pO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYuY29sdW1uLS1oYWxmIHtcbiAgICAgICAgICAgICAgICAgICAgZmxleC1iYXNpczogY2FsYygxMDAlIC0gNWVtKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmNvbHVtbnNfX2dyaWQtLXNtYWxsLWdhcCB7XG5cbiAgICAgICAgICAgIC5jb2x1bW4ge1xuXG4gICAgICAgICAgICAgICAgJi5jb2x1bW4tLXRoaXJkIHtcbiAgICAgICAgICAgICAgICAgICAgZmxleC1iYXNpczogY2FsYyg1MCUgLSAxLjVlbSk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi5jb2x1bW4tLWhhbGYge1xuICAgICAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiBjYWxjKDEwMCUgLSAxLjVlbSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmNvbHVtbiB7XG5cbiAgICAgICAgICAgICYuY29sdW1uLS10aGlyZCB7XG4gICAgICAgICAgICAgICAgZmxleC1iYXNpczogY2FsYyg1MCUgLSAzZW0pO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmNvbHVtbi0taGFsZiB7XG4gICAgICAgICAgICAgICAgZmxleC1iYXNpczogY2FsYygxMDAlIC0gM2VtKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxufVxuXG4vKiA9PSBXaGVuIHNjcmVlbiBpcyA3NjdweCBvciBzbWFsbGVyID09ICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGggOiA3NjdweCkge1xuXG4gICAgLmNvbHVtbnNfX2dyaWQge1xuXG4gICAgICAgICYuY29sdW1uc19fZ3JpZC0tbGFyZ2UtZ2FwIHtcblxuICAgICAgICAgICAgLmNvbHVtbiB7XG5cbiAgICAgICAgICAgICAgICAmLmNvbHVtbi0tcXVhcnRlciB7XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IGNhbGMoNTAlIC0gNWVtKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmNvbHVtbnNfX2dyaWQtLXNtYWxsLWdhcCB7XG5cbiAgICAgICAgICAgIC5jb2x1bW4ge1xuXG4gICAgICAgICAgICAgICAgJi5jb2x1bW4tLXF1YXJ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiBjYWxjKDUwJSAtIDEuNWVtKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuY29sdW1uIHtcblxuICAgICAgICAgICAgJi5jb2x1bW4tLXF1YXJ0ZXIge1xuICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IGNhbGMoNTAlIC0gM2VtKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxufVxuXG4vKiA9PSBXaGVuIHNjcmVlbiBpcyA1ODBweCBvciBzbWFsbGVyID09ICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGggOiA1ODBweCkge1xuXG4gICAgLmNvbHVtbnNfX2dyaWQge1xuXG4gICAgICAgICYuY29sdW1uc19fZ3JpZC0tbGFyZ2UtZ2FwIHtcblxuICAgICAgICAgICAgLmNvbHVtbiB7XG5cbiAgICAgICAgICAgICAgICAmLmNvbHVtbi0tdGhpcmQge1xuICAgICAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiBjYWxjKDEwMCUgLSA1ZW0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuY29sdW1uc19fZ3JpZC0tc21hbGwtZ2FwIHtcblxuICAgICAgICAgICAgLmNvbHVtbiB7XG5cbiAgICAgICAgICAgICAgICAmLmNvbHVtbi0tdGhpcmQge1xuICAgICAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiBjYWxjKDEwMCUgLSAxLjVlbSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmNvbHVtbiB7XG5cbiAgICAgICAgICAgICYuY29sdW1uLS10aGlyZCB7XG4gICAgICAgICAgICAgICAgZmxleC1iYXNpczogY2FsYygxMDAlIC0gM2VtKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxufVxuXG4vKiA9PSBXaGVuIHNjcmVlbiBpcyA0ODBweCBvciBzbWFsbGVyID09ICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGggOiA0ODBweCkge1xuXG4gICAgLmNvbHVtbnMge1xuXG4gICAgICAgICYuY29sdW1ucy0tdXNwcyB7XG5cbiAgICAgICAgICAgIC5jb250ZW50IHtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDI1MHB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJl9fZ3JpZCB7XG5cbiAgICAgICAgICAgICYuY29sdW1uc19fZ3JpZC0tbGFyZ2UtZ2FwIHtcblxuICAgICAgICAgICAgICAgIC5jb2x1bW4ge1xuXG4gICAgICAgICAgICAgICAgICAgICYuY29sdW1uLS1xdWFydGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IGNhbGMoMTAwJSAtIDVlbSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuY29sdW1uc19fZ3JpZC0tc21hbGwtZ2FwIHtcblxuICAgICAgICAgICAgICAgIC5jb2x1bW4ge1xuXG4gICAgICAgICAgICAgICAgICAgICYuY29sdW1uLS1xdWFydGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IGNhbGMoMTAwJSAtIDEuNWVtKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmNvbHVtbiB7XG5cbiAgICAgICAgICAgICAgICAmLmNvbHVtbi0tcXVhcnRlciB7XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IGNhbGMoMTAwJSAtIDNlbSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG59IiwiLypcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgRGF0YS10YWJsZVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiovXG5cbi50YWJsZS1jb250YWluZXIge1xuICAgIG1heC1oZWlnaHQ6IDc1dmg7XG4gICAgcGFkZGluZzogMCAwIDEwcHg7IC8vIGFjY29tbW9kYXRpbmcgc2Nyb2xsYmFyIGZvciBob3Jpem9udGFsIHNjcm9sbFxuICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbn1cblxuLmRhdGEtdGFibGUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGNvbC1ncmV5LWRhcms7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBjb2xvcjogJGNvbC10ZXh0O1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICAmX190aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgIH1cblxuICAgICZfX2RpdmlkZXIge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGNvbG9yOiAkY29sLXRleHQtbGlnaHQ7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IGNhbGMoNTAlIC0gMXB4KTtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDJweCBkYXNoZWQgJGNvbC1ncmV5O1xuICAgICAgICB9XG5cbiAgICAgICAgJi1sYWJlbCB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgcGFkZGluZzogLjI1ZW0gLjY1ZW07XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAuMjVlbTtcbiAgICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICRjb2wtZ3JleTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB0aGVhZCB7XG5cbiAgICAgICAgdHIge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICRjb2wtZ3JleS1saWdodDtcbiAgICAgICAgICAgIGNvbG9yOiAkY29sLXRleHQtbWVkaXVtO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB0Ym9keSB7XG5cbiAgICAgICAgdHIge1xuXG4gICAgICAgICAgICAmOm50aC1jaGlsZChldmVuKSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbC1ncmV5LXgtbGlnaHQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuYm9yZGVyLXRvcCB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRjb2wtZ3JleS1kYXJrO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmJvcmRlci1ib3R0b20ge1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY29sLWdyZXktZGFyaztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5kaXNhYmxlZCB7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogLjU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB0ciB7XG5cbiAgICAgICAgJi52ZXJ0aWNhbC1ib3JkZXJzIHtcblxuICAgICAgICAgICAgdGg6bm90KDpmaXJzdC1jaGlsZCksXG4gICAgICAgICAgICB0ZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDJweCBzb2xpZCAkY29sLWdyZXktbGlnaHQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLnRvdGFscyB7XG4gICAgICAgICAgICBjb2xvcjogJGNvbC10ZXh0O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB0aCxcbiAgICB0ZCB7XG4gICAgICAgIHBhZGRpbmc6IC43NWVtO1xuXG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxZW07XG4gICAgICAgIH1cblxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMWVtO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpub3QoLnRleHQtY2VudGVyKTpub3QoLnRleHQtcmlnaHQpIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIH1cblxuICAgICAgICAmLmxpZ2h0IHtcbiAgICAgICAgICAgIG9wYWNpdHk6IC43NTtcbiAgICAgICAgfVxuXG4gICAgICAgICYudGV4dC1ib2xkIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICB9XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgICAgICAgICAgICYgKyBhLFxuICAgICAgICAgICAgJiArIGJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDFyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmID4gYnV0dG9uIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGlucHV0LXN0eWxlLXJlc2V0O1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IGRvdHRlZCAkY29sLXByaW07XG4gICAgICAgICAgICBjb2xvcjogJGNvbC10ZXJ0O1xuICAgICAgICAgICAgZm9udC1zaXplOiAuODc1ZW07XG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuXG4gICAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJiArIGEsXG4gICAgICAgICAgICAmICsgYnV0dG9uIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMXJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHRoIHt9XG5cbiAgICB0ZCB7fVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGggOiA0MDBweCkge1xuXG4gICAgLmRhdGEtdGFibGUge1xuXG4gICAgICAgIHRoLFxuICAgICAgICB0ZCB7XG5cbiAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogLjc1ZW07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogLjc1ZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbn0iLCIvKlxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICBTbGlkZXJzXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuKi9cblxuW2NsYXNzKj0nc2xpZGVyJ106bm90KGkpOm5vdChzdmcpIHtcbiAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgJi5zbGljay1pbml0aWFsaXplZCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbn1cblxuLnNsaWRlciB7XG5cbiAgICAuc2xpY2stY29udHJvbCB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB3aWR0aDogM2VtO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgICBjb2xvcjogJGNvbC10ZXh0O1xuICAgICAgICBsaW5lLWhlaWdodDogMWVtO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgJi5zbGljay1kaXNhYmxlZCB7XG4gICAgICAgICAgICBjb2xvcjogJGNvbC10ZXh0LXgtbGlnaHQ7XG4gICAgICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpub3QoLnNsaWNrLWRpc2FibGVkKSB7XG5cbiAgICAgICAgICAgICYuc2xpY2stY29udHJvbC0tcHJldiB7XG5cbiAgICAgICAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAuNWVtO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5zbGljay1jb250cm9sLS1uZXh0IHtcblxuICAgICAgICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogLjVlbTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLnNsaWNrLWNvbnRyb2wtLXByZXYge1xuICAgICAgICAgICAgcmlnaHQ6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICAmLnNsaWNrLWNvbnRyb2wtLW5leHQge1xuICAgICAgICAgICAgbGVmdDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zbGljay1kb3RzIHt9XG5cbiAgICAuc2xpY2stc2xpZGUge1xuICAgICAgICBwYWRkaW5nOiAwIDFlbTtcbiAgICB9XG5cbiAgICAuc2xpY2stbGlzdCB7XG4gICAgICAgIG1hcmdpbjogMCAtMWVtO1xuICAgIH1cbn0iLCIvKlxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICBOb3RpZmljYXRpb25zXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuKi9cblxuLm5vdGlmaWNhdGlvbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBtYXJnaW46IDEuNWVtIDA7XG4gICAgQGluY2x1ZGUgZmxleG1hcmdpbjtcbiAgICBwYWRkaW5nOiAuNzVlbSAxZW07XG4gICAgYm9yZGVyLXJhZGl1czogLjI1ZW07XG4gICAgZm9udC1zaXplOiAuODc1ZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNjE4ZW07XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG5cbiAgICAmLm5vdGlmaWNhdGlvbi0tc3VjY2VzcyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRpbnQoJGNvbC1zdWNjZXNzLCA3NSUpO1xuICAgICAgICBjb2xvcjogJGNvbC1zdWNjZXNzO1xuICAgIH1cblxuICAgICYubm90aWZpY2F0aW9uLS1lcnJvciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRpbnQoJGNvbC1lcnJvciwgNzUlKTtcbiAgICAgICAgY29sb3I6IHNoYWRlKCRjb2wtZXJyb3IsIDI1JSk7XG4gICAgfVxufSIsIi8qXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgIFRpbGVzXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuKi8iLCIvKlxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICBCb2R5IGNsYXNzZXNcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qL1xuXG5ib2R5IHtcblxuICAgICYuc2hvdy1tZW51IHt9XG5cbiAgICAmLnNob3ctc2VhcmNoIHt9XG5cbiAgICAmLnNob3ctY29va2llcy1ub3RpZmljYXRpb24ge31cbn0iLCIvKlxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICBJbnRlcm5ldCBFeHBsb3JlciBmaXhlc1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiovXG5cbmJvZHkuYnJvd3Nlci1pZSB7XG5cbn0iLCIvKlxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblx0TWVkaWEgcXVlcmllc1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiovXG5cbkBpbXBvcnQgJ21lZGlhcXVlcmllcy8xNDAwJztcbkBpbXBvcnQgJ21lZGlhcXVlcmllcy8xMjAwJztcbkBpbXBvcnQgJ21lZGlhcXVlcmllcy85OTEnO1xuQGltcG9ydCAnbWVkaWFxdWVyaWVzLzc2Nyc7XG5AaW1wb3J0ICdtZWRpYXF1ZXJpZXMvNjc1JztcbkBpbXBvcnQgJ21lZGlhcXVlcmllcy81ODAnO1xuQGltcG9ydCAnbWVkaWFxdWVyaWVzLzQ4MCc7XG5AaW1wb3J0ICdtZWRpYXF1ZXJpZXMvNDAwJztcbkBpbXBvcnQgJ21lZGlhcXVlcmllcy8zMjAnOyIsIi8qKlxuKiBMYXJnZSBEZXZpY2VzLCBXaWRlIFNjcmVlbnNcbioqL1xuXG4vKiA9PSBXaGVuIHNjcmVlbiBpcyAxNDAwcHggb3Igc21hbGxlciA9PSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoIDogMTQwMHB4KSB7XG5cbn1cblxuLyogPT0gV2hlbiBzY3JlZW4gaXMgbGFyZ2VyIHRoYW4gMTQwMHB4ID09ICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGggOiAxNDAxcHgpIHtcblxufSIsIi8qKlxuKiBMYXJnZSBEZXZpY2VzLCBXaWRlIFNjcmVlbnNcbioqL1xuXG4vKiA9PSBXaGVuIHNjcmVlbiBpcyAxMjAwcHggb3Igc21hbGxlciA9PSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoIDogMTIwMHB4KSB7XG5cbn1cblxuLyogPT0gV2hlbiBzY3JlZW4gaXMgbGFyZ2VyIHRoYW4gMTIwMHB4ID09ICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGggOiAxMjAxcHgpIHtcblxufSIsIi8qKlxuKiBNZWRpdW0gRGV2aWNlcywgRGVza3RvcHNcbioqL1xuXG4vKiA9PSBXaGVuIHNjcmVlbiBpcyA5OTFweCBvciBzbWFsbGVyID09ICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGggOiA5OTFweCkge1xuXG59XG5cbi8qID09IFdoZW4gc2NyZWVuIGlzIGxhcmdlciB0aGFuIDk5MXB4ID09ICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGggOiA5OTJweCkge1xuXG59IiwiLyoqXG4qIFNtYWxsIERldmljZXMsIFRhYmxldHNcbioqL1xuXG4vKiA9PSBXaGVuIHNjcmVlbiBpcyA3NjdweCBvciBzbWFsbGVyID09ICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGggOiA3NjdweCkge1xuXG59XG5cbi8qID09IFdoZW4gc2NyZWVuIGlzIGxhcmdlciB0aGFuIDc2N3B4ID09ICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGggOiA3NjhweCkge1xuXG59IiwiLyoqXG4qIFNtYWxsIERldmljZXMsIFRhYmxldHNcbioqL1xuXG4vKiA9PSBXaGVuIHNjcmVlbiBpcyA2NzVweCBvciBzbWFsbGVyID09ICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGggOiA2NzVweCkge1xuXG59XG5cbi8qID09IFdoZW4gc2NyZWVuIGlzIGxhcmdlciB0aGFuIDY3NXB4ID09ICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGggOiA2NzZweCkge1xuXG59IiwiLyoqXG4qIFNtYWxsIERldmljZXMsIFRhYmxldHNcbioqL1xuXG4vKiA9PSBXaGVuIHNjcmVlbiBpcyA1ODBweCBvciBzbWFsbGVyID09ICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGggOiA1ODBweCkge1xuXG59XG5cbi8qID09IFdoZW4gc2NyZWVuIGlzIGxhcmdlciB0aGFuIDU4MHB4ID09ICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGggOiA1ODFweCkge1xuXG59IiwiLyoqXG4qIEV4dHJhIFNtYWxsIERldmljZXMsIFBob25lc1xuKiovXG5cbi8qID09IFdoZW4gc2NyZWVuIGlzIDQ4MHB4IG9yIHNtYWxsZXIgPT0gKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aCA6IDQ4MHB4KSB7XG5cbiAgICBodG1sIHtcbiAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2UtbW9iaWxlO1xuICAgIH1cblxufVxuXG4vKiA9PSBXaGVuIHNjcmVlbiBpcyBsYXJnZXIgdGhhbiA0ODBweCA9PSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoIDogNDgxcHgpIHtcblxufSIsIi8qKlxuKiBFeHRyYSBTbWFsbCBEZXZpY2VzLCBQaG9uZXNcbioqL1xuXG4vKiA9PSBXaGVuIHNjcmVlbiBpcyA0MDBweCBvciBzbWFsbGVyID09ICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGggOiA0MDBweCkge1xuXG59XG5cbi8qID09IFdoZW4gc2NyZWVuIGlzIGxhcmdlciB0aGFuIDQwMHB4ID09ICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGggOiA0MDFweCkge1xuXG59IiwiLyoqXG4qIEV4dHJhIFNtYWxsIERldmljZXMsIFBob25lc1xuKiovXG5cbi8qID09IFdoZW4gc2NyZWVuIGlzIDMyMHB4IG9yIHNtYWxsZXIgPT0gKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aCA6IDMyMHB4KSB7XG5cbn1cblxuLyogPT0gV2hlbiBzY3JlZW4gaXMgbGFyZ2VyIHRoYW4gMzIwcHggPT0gKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aCA6IDMyMXB4KSB7XG5cbn0iXSwibWFwcGluZ3MiOiJBQUFBOzs7O0VBSUU7QUNKRjs7OztFQUlFO0FLSkY7Ozs7RUFJRTtBQ0pGOzs7O0VBSUU7QUNKRjs7OztHQUlHO0FpQ0tILEFBQUEsS0FBSyxDQUFDO0VBQ0osT0FBTyxFQUFFLENBQUU7RWxCK0tYLGtCQUFrQixFa0I5S0UsT0FBTyxDQUFDLEtBQUksQ0FBQyxNQUFNO0VsQitLbEMsYUFBYSxFa0IvS0UsT0FBTyxDQUFDLEtBQUksQ0FBQyxNQUFNO0VsQmdML0IsVUFBVSxFa0JoTEUsT0FBTyxDQUFDLEtBQUksQ0FBQyxNQUFNLEdBSXhDO0VBTkQsQUFBQSxLQUFLLEFBR0YsR0FBRyxDQUFDO0lBQ0gsT0FBTyxFQUFFLENBQUUsR0FDWjs7QUFHSCxBQUFBLFNBQVMsQ0FBQztFQUNSLE9BQU8sRUFBRSxJQUFLLEdBS2Y7RUFORCxBQUFBLFNBQVMsQUFHTixHQUFHLENBQU07SUFBRSxPQUFPLEVBQUUsS0FBTSxHQUFJOztBQUtqQyxBQUFXLEVBQVQsQUFBQSxTQUFTLEFBQUEsR0FBRyxDQUFJO0VBQUUsT0FBTyxFQUFFLFNBQVUsR0FBSTs7QUFFM0MsQUFBYyxLQUFULEFBQUEsU0FBUyxBQUFBLEdBQUcsQ0FBQztFQUFFLE9BQU8sRUFBRSxlQUFnQixHQUFJOztBQUVqRCxBQUFBLFdBQVcsQ0FBQztFQUNWLFFBQVEsRUFBRSxRQUFTO0VBQ25CLE1BQU0sRUFBRSxDQUFFO0VBQ1YsUUFBUSxFQUFFLE1BQU87RWxCOEpqQiwyQkFBMkIsRWtCN0pFLE1BQU0sRUFBRSxVQUFVO0VsQjhKdkMsbUJBQW1CLEVrQjlKRSxNQUFNLEVBQUUsVUFBVTtFbEJxSy9DLDJCQUEyQixFa0JwS0UsS0FBSTtFbEJxS3pCLG1CQUFtQixFa0JyS0UsS0FBSTtF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LElBQUksRUFBRSxJQUFLLEdBQ2Q7O0FBOUNULEFBbURJLE9BbkRHLENBbURILFlBQVksQ0FBQztFQUNULE9BQU8sRUFBRSxLQUFNLEdBQ2xCOztBQXJETCxBQXVESSxPQXZERyxDQXVESCxXQUFXLENBQUM7RUFDUixNQUFNLEVBQUUsTUFBTyxHQUNsQjs7QUN2RUw7Ozs7RUFJRTtBQUVGLEFBQUEsYUFBYSxDQUFDO0VBQ1YsT0FBTyxFQUFFLElBQUs7RUFDZCxNQUFNLEVBQUUsT0FBUTtFQUVoQixPQUFPLEVBQUUsU0FBVTtFQUNuQixhQUFhLEVBQUUsS0FBTTtFQUNyQixTQUFTLEVBQUUsTUFBTztFQUNsQixXQUFXLEVBQUUsT0FBUTtFQUNyQixXQUFXLEVBQUUsSUFBSyxHQVdyQjtFQW5CRCxBQUFBLGFBQWEsQW5FRkosWUFBWSxDQUFDO0lBQ1YsVUFBVSxFQUFFLENBQUUsR0FDakI7RW1FQVQsQUFBQSxhQUFhLEFuRUVKLFdBQVcsQ0FBQztJQUNULGFBQWEsRUFBRSxDQUFFLEdBQ3BCO0VtRUpULEFBQUEsYUFBYSxBQVVSLHNCQUFzQixDQUFDO0lBQ3BCLGdCQUFnQixFaEVWWixPQUFHO0lnRVdQLEtBQUssRS9EaUJDLEtBQUssRytEaEJkO0VBYkwsQUFBQSxhQUFhLEFBZVIsb0JBQW9CLENBQUM7SUFDbEIsZ0JBQWdCLEVoRWZaLE9BQUc7SWdFZ0JQLEtBQUssRWhFWkQsT0FBRyxHZ0VhVjs7QUN4Qkw7Ozs7RUFJRTtBQ0pGOzs7O0VBSUU7QUNKRjs7OztFQUlFO0FDSkY7Ozs7RUFJRTtBQ0pGOztHQUVHO0FBRUgsNENBQTRDO0FBSzVDLDZDQUE2QztBQ1Q3Qzs7R0FFRztBQUVILDRDQUE0QztBQUs1Qyw2Q0FBNkM7QUNUN0M7O0dBRUc7QUFFSCwyQ0FBMkM7QUFLM0MsNENBQTRDO0FDVDVDOztHQUVHO0FBRUgsMkNBQTJDO0FBSzNDLDRDQUE0QztBQ1Q1Qzs7R0FFRztBQUVILDJDQUEyQztBQUszQyw0Q0FBNEM7QUNUNUM7O0dBRUc7QUFFSCwyQ0FBMkM7QUFLM0MsNENBQTRDO0FDVDVDOztHQUVHO0FBRUgsMkNBQTJDO0FBQzNDLE1BQU0sTUFBRCxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7RUFFN0IsQUFBQSxJQUFJLENBQUM7SUFDRCxTQUFTLEUxRXVCTyxJQUFJLEcwRXRCdkI7O0FBSUwsNENBQTRDO0FDYjVDOztHQUVHO0FBRUgsMkNBQTJDO0FBSzNDLDRDQUE0QztBQ1Q1Qzs7R0FFRztBQUVILDJDQUEyQztBQUszQyw0Q0FBNEMiLCJuYW1lcyI6W119 */
