/*!*****************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[1]!./node_modules/resolve-url-loader/index.js??ruleSet[1].rules[4].oneOf[1].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[3]!./assets/scss/mapplic.scss ***!
  \*****************************************************************************************************************************************************************************************************************************************************************************/
/**
 * CONTENTS
 *
 * VARIABLES
 * Colors........... All website colors
 * Themes........... Themes for clinic
 * Typography....... Font-family, font-size, line-height
 * Buttons.......... Buttons informations
 * Form............. Input, select style
 * Media Queries ... Breakpoint for responsive
 * Grid ............ Grid col and gutter
 */
/*------------------------------------*\
    #COLORS
\*------------------------------------*/
/* Kids */
/* Gray and others */
/* Text color */
/* Links colors */
/* Notifications colors */
/*------------------------------------*\
    #TYPOGRAPHY
\*------------------------------------*/
/*------------------------------------*\
    #BUTTONS
\*------------------------------------*/
/*------------------------------------*\
    #FORMS
\*------------------------------------*/
/*------------------------------------*\
    #MEDIA-QUERIES
\*------------------------------------*/
/*------------------------------------*\
    #MEDIA QUERIES
\*------------------------------------*/
/*------------------------------------*\
    #GRID
\*------------------------------------*/
/*------------------------------------*\
    #Font Awesome
\*------------------------------------*/
/*------------------------------------*\
    #UTILITIES
\*------------------------------------*/
/**
* Generate notifications
*/
/*------------------------------------*\
    #GRID
\*------------------------------------*/
/** CARD **/
/*------------------------------------*\
    #HELPERS
\*------------------------------------*/
/**
* Notifications message
*/
.message--error, .message--warn, .message--success, .message--info, .message--help {
  margin: 1em 0;
  padding: .5em 1em;
  border: 1px solid transparent;
}

.message--error > *:last-child, .message--warn > *:last-child, .message--success > *:last-child, .message--info > *:last-child, .message--help > *:last-child {
  margin-bottom: 0;
}

.message--error {
  color: #d65353;
  border-color: #dd7070;
  background-color: #f5d3d3;
}

.message--error.-light {
  margin: 0;
  border: none;
  background-color: transparent;
}

.message--warn {
  color: #ed9e2d;
  border-color: #f0ad4e;
  background-color: #fae1bf;
}

.message--warn.-light {
  margin: 0;
  border: none;
  background-color: transparent;
}

.message--success {
  color: #26641e;
  border-color: #318026;
  background-color: #63cc54;
}

.message--success.-light {
  margin: 0;
  border: none;
  background-color: transparent;
}

.message--info {
  color: #3db5d8;
  border-color: #5bc0de;
  background-color: #c1e7f3;
}

.message--info.-light {
  margin: 0;
  border: none;
  background-color: transparent;
}

.message--help {
  color: #878787;
  border-color: #999;
  background-color: #d6d6d6;
}

.message--help.-light {
  margin: 0;
  border: none;
  background-color: transparent;
}

.txt--error {
  color: #dd7070;
  font-weight: 600;
}

.txt--warn {
  color: #f0ad4e;
  font-weight: 600;
}

.txt--success {
  color: #318026;
  font-weight: 600;
}

.txt--info {
  color: #5bc0de;
  font-weight: 600;
}

.txt--help {
  color: #999;
  font-weight: 600;
}

/**
* Skip links
*/
.skip-link {
  position: absolute;
  left: -99999em;
  overflow: hidden;
}

.skip-link:hover, .skip-link:focus {
  position: static;
}

/**
* Align
*/
.txtleft {
  text-align: left;
}

.txtright {
  text-align: right;
}

.txtcenter {
  text-align: center;
}

.left,
.start {
  float: left;
}

img.left,
img.start {
  margin-right: 1em;
}

.right,
.end {
  float: right !important;
}

img.right,
img.end {
  margin-left: 1em;
}

img.left,
img.right,
img.start,
img.end {
  margin-bottom: 0.5em;
}

/*
 * Unstyled list - remove margin, padding and list type
 */
.map-viewer__shop-list, .map-viewer__controls > ul,
.unstyled-list,
ul.inline-list {
  margin: 0;
  padding: 0;
  list-style-type: none;
}

ul.inline-list li {
  display: inline-block;
  vertical-align: middle;
}

ul.inline-list li + li {
  margin-left: 1em;
}

/*
 * Unstyled button - remove background, border, padding
 */

.unstyled-button {
  border: 0;
  background-color: transparent;
  padding: 0;
}

/*
 * Clearfix: contain floats
 */

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


.clearfix:after {
  clear: both;
}

/**
* Hide text for bg img
*/
.hide {
  display: none;
}

.hide.active {
  display: block;
}

/* Make hidden text accessible by screen readers */

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}


.sr-only-focusable:active,
.sr-only-focusable:focus {
  position: static;
  width: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  clip: auto;
}

/* Hiden any DOM object */
.d-none, .btn.d-none {
  display: none;
}

/**
* Embeds responsive
*/
.embed-responsive {
  position: relative;
  display: block;
  height: 0;
  padding: 0;
  overflow: hidden;
}

.embed-responsive .embed-responsive__item,
.embed-responsive iframe,
.embed-responsive embed,
.embed-responsive object,
.embed-responsive video {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  height: 100%;
  width: 100%;
  border: 0;
}

.embed-responsive.-ratio16by9 {
  padding-bottom: 56.25%;
}

.embed-responsive.-ratio4by3 {
  padding-bottom: 75%;
}

.--no-pad, section.--no-pad, .section.--no-pad {
  padding: 0;
}

.--no-transform, section.--no-transform, .section.--no-transform {
  text-transform: none;
}

.--no-link, section.--no-link, .section.--no-link {
  text-decoration: none;
}

/** Rotation animation */
@-webkit-keyframes rotating /* Safari and Chrome */ {
  from {
    -webkit-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  to {
    -webkit-transform: rotate(360deg);
    -o-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

@keyframes rotating {
  from {
    -ms-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -webkit-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  to {
    -ms-transform: rotate(360deg);
    -moz-transform: rotate(360deg);
    -webkit-transform: rotate(360deg);
    -o-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

.rotating {
  -webkit-animation: rotating 2s linear infinite;
  -moz-animation: rotating 2s linear infinite;
  -ms-animation: rotating 2s linear infinite;
  -o-animation: rotating 2s linear infinite;
  animation: rotating 2s linear infinite;
}

@-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: 47em) {
  .visible-xs {
    display: block !important;
  }
  table.visible-xs {
    display: table;
  }
  tr.visible-xs {
    display: table-row !important;
  }
  th.visible-xs,
  td.visible-xs {
    display: table-cell !important;
  }
}

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

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

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

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

@media (min-width: 48em) and (max-width: 61em) {
  .visible-sm-block {
    display: block !important;
  }
}

@media (min-width: 48em) and (max-width: 61em) {
  .visible-sm-inline {
    display: inline !important;
  }
}

@media (min-width: 48em) and (max-width: 61em) {
  .visible-sm-inline-block {
    display: inline-block !important;
  }
}

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

@media (min-width: 62em) and (max-width: 74em) {
  .visible-md-block {
    display: block !important;
  }
}

@media (min-width: 62em) and (max-width: 74em) {
  .visible-md-inline {
    display: inline !important;
  }
}

@media (min-width: 62em) and (max-width: 74em) {
  .visible-md-inline-block {
    display: inline-block !important;
  }
}

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

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

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

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

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

@media (min-width: 48em) and (max-width: 61em) {
  .hidden-sm {
    display: none !important;
  }
}

@media (min-width: 62em) and (max-width: 74em) {
  .hidden-md {
    display: none !important;
  }
}

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

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

@media print {
  .visible-print {
    display: block !important;
  }
  table.visible-print {
    display: table;
  }
  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;
  }
}

/*
 * Mapplic - Custom Interactive Map Plugin by @sekler
 * Version 5.0.1
 * https://www.mapplic.com/
 */
.mapplic-element {
  position: relative;
  overflow: hidden;
  font-size: 0;
  height: 420px;
}

.mapplic-element input,
.mapplic-element button,
.mapplic-element a,
.mapplic-element a:active {
  outline: none;
  box-shadow: none;
  text-decoration: none !important;
}

.mapplic-element a:focus {
  outline: none;
}

.mapplic-element > * {
  opacity: 1;
  transition: opacity 0.4s;
}

.mapplic-element.mapplic-loading > * {
  opacity: 0;
}

/* Preloader & Error */
.mapplic-element.mapplic-loading {
  background: url(/build/images/loader.16cdfb8d.gif) no-repeat center;
}

.mapplic-element.mapplic-error {
  background: url(/build/images/error-icon.12a9532a.png) no-repeat center;
}

/* Map container */
.mapplic-container {
  display: inline-block;
  position: relative;
  width: 70%;
  height: 100%;
}

.mapplic-map {
  transform-origin: 0 0;
}

/* Map layer */
.mapplic-layer img {
  width: 100%;
}

/* IE Fix */
.mapplic-layer {
  width: 100%;
  height: 100%;
  position: absolute;
}

.mapplic-map .mapplic-map-image {
  position: absolute;
  width: 100%;
  height: 100%;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

/* IE Fix END */
.mapplic-map.mapplic-zoomable .mapplic-map-image {
  cursor: default;
}

.mapplic-map.mapplic-zoomable.mapplic-dragging .mapplic-map-image {
  cursor: move;
}

/* Pin types */
.mapplic-pin {
  background-image: url(/build/images/pin.7e6d6c14.png);
  background-size: 18px 24px;
  background-repeat: no-repeat;
  background-position: center;
  font-size: 0;
  width: 18px;
  height: 24px;
  margin-top: -23px;
  margin-left: -9px;
  position: absolute;
  transform-origin: 50% 100%;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.mapplic-pin.hide {
  display: none;
}

/* Marker types */
.mapplic-pin.mapplic-active {
  display: block !important;
}

.mapplic-pin.pin-classic {
  background-color: #f23543;
  background-image: none;
  border-color: #f23543;
  border-radius: 10px;
  line-height: 22px !important;
  width: 20px;
  height: 20px;
  margin-top: -20px;
  margin-left: -10px;
  transform-origin: 50% 100%;
}

.mapplic-pin.pin-classic:before {
  border-style: solid;
  border-width: 9px 8px 0 8px;
  border-color: inherit;
  border-right-color: transparent;
  border-bottom-color: transparent;
  border-left-color: transparent;
  content: '';
  display: block;
  position: absolute;
  top: 16px;
  left: 2px;
}

.mapplic-pin:before {
  box-sizing: content-box !important;
}

.mapplic-pin.pin-marker {
  background-color: #fdca2a;
  background-image: none;
  border-color: #fdca2a;
  border-radius: 8px;
  width: 16px;
  height: 16px;
  margin-top: -8px;
  margin-left: -8px;
  transform-origin: 50% 50%;
}

.mapplic-pin.pin-marker:before {
  border-color: inherit;
  border-style: solid;
  border-width: 6px;
  border-radius: 16px;
  content: '';
  display: block;
  opacity: 0.4;
  width: 16px;
  height: 16px;
  position: absolute;
  left: -6px;
  top: -6px;
}

.mapplic-pin.pin-disk {
  background-color: white !important;
  background-image: none;
  border-color: #f19819;
  border-radius: 8px;
  color: #333 !important;
  width: 16px;
  height: 16px;
  margin-top: -8px;
  margin-left: -8px;
  transform-origin: 50% 50%;
}

.mapplic-pin.pin-disk:before {
  border-color: inherit;
  border-style: solid;
  border-width: 3px;
  border-radius: 16px;
  content: '';
  display: block;
  width: 16px;
  height: 16px;
  position: absolute;
  left: -3px;
  top: -3px;
}

.mapplic-pin.pin-ribbon {
  background-color: #46b450;
  background-image: none;
  border-color: #46b450;
  border-radius: 2px 2px 2px 0;
  height: 16px;
  min-width: 10px;
  width: auto;
  padding: 0 3px;
  margin-left: -8px;
  margin-top: -20px;
  transform-origin: 8px 20px;
}

.mapplic-pin.pin-ribbon:after {
  border-style: solid;
  border-width: 0 8px 4px 0;
  border-color: transparent rgba(0, 0, 0, 0.5) transparent transparent;
  content: '';
  display: block;
  position: absolute;
  top: 16px;
  left: 0px;
}

.mapplic-pin.pin-ribbon:before {
  border-style: solid;
  border-width: 0 8px 4px 0;
  border-color: inherit;
  border-top-color: transparent;
  border-bottom-color: transparent;
  border-left-color: transparent;
  content: '';
  display: block;
  position: absolute;
  top: 16px;
  left: 0px;
}

.mapplic-pin.pin-dot {
  background-color: transparent !important;
  background-image: none;
  border-color: #29afa1;
  color: #333 !important;
  height: 16px;
  min-width: 10px;
  width: auto;
  padding: 0 3px;
  margin-left: 4px;
  margin-top: -8px;
  transform-origin: -4px 8px;
}

.mapplic-pin.pin-dot:before {
  border-color: inherit;
  border-style: solid;
  border-width: 3px;
  border-radius: 12px;
  content: '';
  display: block;
  width: 0px;
  height: 0px;
  position: absolute;
  top: 5px;
  left: -7px;
}

/* Image pin */
.mapplic-pin.pin-image {
  background-size: 32px;
  border-radius: 50%;
  box-sizing: border-box;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.15);
  border: 2px solid #fff;
  width: 32px;
  height: 32px;
  margin-top: -16px;
  margin-left: -16px;
  transform-origin: 50%;
}

.mapplic-pin.orange {
  background-image: url(/build/images/pin-orange.b8032073.png);
}

.mapplic-pin.yellow {
  background-image: url(/build/images/pin-yellow.4fd6951e.png);
}

.mapplic-pin.green {
  background-image: url(/build/images/pin-green.58612507.png);
}

.mapplic-pin.blue {
  background-image: url(/build/images/pin-blue.7130dfe6.png);
}

.mapplic-pin.purple {
  background-image: url(/build/images/pin-purple.5a8b0aef.png);
}

.mapplic-pin.circular {
  background-image: none;
  background-color: #fb7575;
  border-radius: 6px;
  box-shadow: 0 -2px 0 rgba(0, 0, 0, 0.1) inset;
  width: 12px;
  height: 12px;
  margin-left: -6px;
  margin-top: -6px;
  transform-origin: 50% 50%;
}

.mapplic-pin.circle {
  background: none !important;
  border: 2px solid #fb7575;
  width: 8px;
  height: 8px;
  margin-left: -6px;
  margin-top: -6px;
  transform-origin: 50% 50%;
}

.mapplic-pin.transparent {
  background-image: none;
  background-color: #795ecd;
  border-radius: 10px;
  width: 20px;
  height: 20px;
  margin-left: -10px;
  margin-top: -10px;
  opacity: 0.5 !important;
  transform-origin: 50% 50%;
}

.mapplic-pin.pin-label {
  color: #fff;
  font-size: 10px;
  font-weight: 600;
  text-align: center;
  text-decoration: none;
  line-height: 16px;
}

.mapplic-pin.pin-label:visited {
  color: #fff;
}

.mapplic-pin.pin-md {
  border-radius: 50%;
  margin-left: -10px;
  margin-top: -10px;
  line-height: 20px;
  width: 20px;
  height: 20px;
}

.mapplic-pin.pin-lg {
  border-radius: 50%;
  margin-left: -15px;
  margin-top: -15px;
  line-height: 30px;
  width: 30px;
  height: 30px;
}

.mapplic-pin.pin-xl {
  border-radius: 50%;
  margin-left: -20px;
  margin-top: -20px;
  line-height: 40px;
  width: 40px;
  height: 40px;
}

.mapplic-pin.pin-pulse:before {
  content: '';
  border: 2px solid #888;
  border-radius: 30px;
  height: inherit;
  width: inherit;
  top: -2px;
  left: -2px;
  position: absolute;
  animation: pulsate 1.8s ease-out;
  animation-iteration-count: infinite;
  animation-delay: 1s;
  opacity: 0;
  box-sizing: content-box;
}

@-webkit-keyframes pulsate {
  0% {
    -webkit-transform: scale(1, 1);
    opacity: 0.0;
  }
  25% {
    opacity: 0.5;
  }
  50% {
    -webkit-transform: scale(1.6, 1.6);
    opacity: 0.0;
  }
}

/* Minimap */
.mapplic-minimap {
  border: 1px solid rgba(0, 0, 0, 0.1);
  position: absolute;
  margin: 12px;
  bottom: 0;
  left: 0;
  opacity: 0.5;
  overflow: hidden;
  transition: opacity 0.4s;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.mapplic-minimap-layer {
  line-height: 0;
}

.mapplic-minimap img {
  width: 100%;
}

.mapplic-minimap-overlay {
  background-color: rgba(0, 0, 0, 0.4);
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}

.mapplic-minimap .mapplic-minimap-active {
  position: absolute;
  opacity: 1;
  top: 0;
  left: 0;
}

.mapplic-minimap-background {
  width: 140px !important;
  -webkit-filter: blur(2px);
}

/* UI Buttons */
.mapplic-button {
  background-color: #fff;
  background-repeat: no-repeat;
  background-position: center;
  width: 28px;
  height: 28px;
  transition: background-color 0.2s;
}

.mapplic-container > .mapplic-button {
  box-shadow: 0 0 12px rgba(0, 0, 0, 0.06);
  position: absolute;
  margin: 12px;
}

.mapplic-button:active {
  background-color: #f8f8f8;
}

/* Clear Button */
.mapplic-clear-button {
  background-image: url(/build/images/reset.b9b68854.svg);
  background-size: 16px 16px;
  display: none;
  bottom: 69px;
  right: 0;
}

/* Zoom Buttons */
.mapplic-zoom-buttons {
  box-shadow: 0 0 12px rgba(0, 0, 0, 0.06);
  margin: 12px;
  position: absolute;
  right: 0;
  bottom: 0;
}

.mapplic-zoom-buttons a {
  display: block;
}

.mapplic-zoom-buttons a.mapplic-disabled {
  background-color: #eee;
  cursor: default;
}

a.mapplic-zoomin-button {
  background-image: url(/build/images/plus.2ac42c4f.svg);
  background-size: 10px 10px;
  border-bottom: 1px solid #eee;
}

a.mapplic-zoomout-button {
  background-image: url(/build/images/minus.51a4820c.svg);
  background-size: 10px 10px;
}

/* Fullscreen */
.mapplic-fullscreen {
  background-color: rgba(248, 248, 248, 0.95);
  position: fixed !important;
  top: 0;
  left: 0;
  width: 100%;
  height: 100% !important;
  margin: 0 !important;
  max-width: 100% !important;
  max-height: 100% !important;
  z-index: 99980;
}

.mapplic-fullscreen-button {
  background-image: url(/build/images/fullscreen.6ed95d1e.svg);
  background-size: 14px 14px;
  top: 0;
  left: 0;
}

.mapplic-fullscreen .mapplic-fullscreen-button {
  background-image: url(/build/images/fullscreen-exit.c9a9beab.svg);
}

.mapplic-fullscreen .mapplic-container {
  width: 80%;
}

.mapplic-fullscreen .mapplic-sidebar {
  width: 20%;
}

/* Levels */
.mapplic-levels {
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.04);
  position: absolute;
  top: 0;
  right: 0;
  margin: 12px;
  overflow: hidden;
}

.mapplic-levels > * {
  display: block;
  box-sizing: border-box;
}

.mapplic-levels-select {
  background-color: #fff;
  border: none;
  border-radius: 0;
  color: #2f3435;
  margin: 0;
  padding: 10px 8px;
  margin-right: 20px;
  font-size: 13px;
  font-weight: 600;
  outline: none;
  -webkit-appearance: none;
}

.mapplic-levels a {
  background-color: #fff;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 8px 4px;
  cursor: pointer;
  height: 50%;
  width: 20px;
  position: absolute;
  right: 0;
}

.mapplic-levels a:active {
  background-color: #f8f8f8;
}

.mapplic-levels .mapplic-levels-up {
  background-image: url(/build/images/arrow-up.0e231cd1.svg);
}

.mapplic-levels .mapplic-levels-down {
  background-image: url(/build/images/arrow-down.d840596e.svg);
  bottom: 0;
}

.mapplic-levels a.mapplic-disabled {
  background-color: #eee;
  cursor: default;
}

/* Sidebar */
.mapplic-sidebar {
  width: 30%;
  height: 100%;
  padding: 92px 0 12px 12px;
  position: relative;
  box-sizing: border-box;
  pointer-events: none;
}

.mapplic-sidebar > * {
  pointer-events: auto;
}

.mapplic-container {
  float: right;
}

/* Right sidebar */
.mapplic-sidebar-right .mapplic-container {
  float: left;
}

.mapplic-sidebar-right .mapplic-sidebar {
  float: right;
  padding: 92px 12px 12px 0;
}

/* Search */
.mapplic-filter {
  background-color: #fff;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.04);
  box-sizing: border-box;
  margin: 0;
  overflow: hidden;
  margin-top: -80px;
  padding: 16px 20px;
  position: relative;
  width: 100%;
  z-index: 1;
}

.mapplic-search-input {
  background-image: url(/build/images/magnifier.e9dc8867.svg) !important;
  background-size: 14px 14px !important;
  background-repeat: no-repeat !important;
  background-position: 0 0 !important;
  background-color: transparent !important;
  border: none !important;
  box-shadow: none !important;
  box-sizing: border-box;
  border-radius: 0;
  font-size: 20px !important;
  font-family: inherit;
  line-height: 20px;
  width: 100%;
  height: 48px !important;
  margin: 0 !important;
  padding: 24px 24px 4px 0 !important;
}

.mapplic-search-input:focus {
  outline: none !important;
}

.mapplic-search-input::placeholder {
  color: #ccc;
  font-weight: 400;
}

.mapplic-search-input::-ms-clear {
  display: none;
  width: 0;
  height: 0;
}

.mapplic-search-clear {
  background-image: url(/build/images/cross.fb81112b.svg);
  background-size: 8px 8px;
  background-repeat: no-repeat;
  background-color: transparent;
  background-position: center;
  box-shadow: none;
  border: none;
  cursor: pointer;
  display: none;
  position: absolute;
  top: 32px;
  right: 8px;
  margin: 2px 0;
  width: 34px;
  height: 34px;
}

/* Search Disabled */
.mapplic-sidebar-nosearch {
  padding-top: 56px;
}

.mapplic-sidebar-nosearch .mapplic-filter {
  margin-top: -44px;
  height: 44px;
}

/* Tags */
.mapplic-filter-tags {
  text-align: right;
  position: absolute;
  top: 14px;
  right: 16px;
  white-space: nowrap;
  max-width: 100%;
  overflow: hidden;
}

.mapplic-tag {
  background-color: #2f3434;
  border-radius: 12px;
  color: #fff;
  cursor: pointer;
  font-size: 11px;
  font-weight: 600;
  margin-left: 4px;
  padding: 1px 6px 2px 8px;
  display: inline-block;
}

.mapplic-tag > span {
  background-image: url(/build/images/cross-light.4d303748.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: 6px 6px;
  display: inline-block;
  margin-left: 6px;
  margin-bottom: 1px;
  width: 6px;
  height: 6px;
  opacity: 0.5;
  transition: opacity 0.2s;
}

.mapplic-tag:hover > span {
  transform: scale(1.2);
  opacity: 1.0;
}

/* Sidebar list */
.mapplic-list-container {
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.04);
  box-sizing: border-box;
  height: auto;
  max-height: 100%;
  overflow-y: auto;
  position: relative;
  -webkit-overflow-scrolling: touch;
}

.mapplic-list-container:before {
  display: block;
  content: '';
  background-color: #fff;
  width: 100%;
  height: 10px;
  position: absolute;
  z-index: 100;
}

.mapplic-list {
  list-style: none;
  padding: 0;
  padding-bottom: 10px;
  margin: 0;
  overflow-y: auto;
  height: 100%;
}

.mapplic-list-container ol {
  border-color: #eee;
  list-style: none;
  padding: 0;
  margin: 0;
}

.mapplic-list-expandable {
  background-color: #fff;
  padding: 10px 0;
}

.mapplic-list-container li {
  margin: 0 !important;
}

.mapplic-list-category > a {
  background-color: #fff;
  border-radius: 4px;
  box-sizing: border-box;
  color: #2f3434 !important;
  display: block;
  margin: 6px 10px;
  margin-bottom: 0;
  padding: 10px;
  text-decoration: none;
  overflow: hidden;
  text-overflow: ellipsis;
  transition: background-color 0.2s;
}

.mapplic-list-category > a:hover {
  background-color: #f8f8f8;
}

.mapplic-list-category h4 {
  display: inline-block;
  font-size: 14px;
  font-weight: bold;
  line-height: 22px;
  margin: 0;
}

.mapplic-list-category h4.mapplic-margin {
  margin-top: 9px;
}

.mapplic-about {
  color: #aaa;
  display: block;
  font-weight: normal;
  font-size: 13px;
  line-height: 16px;
}

/* Thumbnail */
.mapplic-list-category .mapplic-thumbnail {
  background-color: #aaa;
  border-radius: 50%;
  width: 40px;
  height: 40px;
}

.mapplic-list-category .mapplic-thumbnail-placeholder {
  font-size: 18px;
  font-weight: bold;
  line-height: 25px;
}

.mapplic-thumbnail {
  border-radius: 0px;
  box-shadow: none !important;
  margin-right: 10px;
  float: left;
  width: 50px;
  height: 50px;
  object-fit: cover;
}

.mapplic-thumbnail-placeholder {
  background-color: #eee;
  box-sizing: border-box;
  color: #fff;
  font-size: 24px;
  font-weight: 500;
  line-height: 34px;
  padding: 8px 4px;
  width: 50px;
  height: 50px;
  text-align: center;
}

.mapplic-list-category > a .mapplic-list-count {
  color: #aaa;
  font-size: 12px;
  font-weight: normal;
  margin-left: 4px;
}

/* List location */
.mapplic-list-location {
  border-color: #aaa;
  margin: 0 !important;
  padding: 0 !important;
}

.mapplic-list-location[data-location=init] {
  display: none !important;
}

.mapplic-list-location > a {
  background-color: #fff;
  border-left: 2px solid transparent;
  display: block;
  font-size: 14px;
  padding: 10px 20px 10px 18px;
  text-decoration: none;
  transition: border, background-color 0.1s;
}

.mapplic-list-location > a:after {
  content: '';
  display: block;
  clear: both;
}

.mapplic-list-location > a:hover,
.mapplic-list-location > a:focus,
.mapplic-list-location.mapplic-focus > a {
  background-color: #fafafa;
}

.mapplic-list-location.mapplic-active > a {
  background-color: #fafafa;
  border-color: inherit;
}

.mapplic-list-location h4 {
  color: #2f3435;
  font-size: 16px;
  font-weight: normal;
  line-height: 18px;
  margin: 4px 0 !important;
  padding: 0;
  clear: none;
}

/* Tooltip */
.mapplic-tooltip {
  display: none;
  position: absolute;
  -webkit-transition: margin 0.1s;
  -moz-transition: margin 0.1s;
  transition: margin 0.1s;
  transform-origin: 0 0;
  padding-bottom: 30px;
  pointer-events: none;
}

.mapplic-tooltip:after {
  content: '';
  border-color: #fff transparent transparent transparent !important;
  border-style: solid;
  border-width: 8px 7px 0 7px;
  width: 0;
  height: 0;
  position: absolute;
  bottom: 30px;
  left: 50%;
  margin-bottom: -7px;
  margin-left: -7px;
}

.mapplic-tooltip-wrap {
  background-color: #fff;
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.15);
  max-width: 300px;
  min-width: 120px;
  padding: 16px;
  pointer-events: auto;
}

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

.mapplic-tooltip img {
  max-width: 100%;
}

.mapplic-tooltip .mapplic-image {
  margin: -16px;
  max-width: none;
}

.mapplic-tooltip-title {
  color: #333;
  display: inline-block;
  font-size: 16px;
  font-weight: bold;
  line-height: 20px;
  margin: 0 12px 0 0 !important;
}

.has-image .mapplic-tooltip-title {
  color: #fff;
  margin: -20px 12px 20px 0 !important;
}

.mapplic-hovertip,
.mapplic-hovertip > .mapplic-tooltip-wrap {
  pointer-events: none;
}

.mapplic-hovertip > .mapplic-tooltip-wrap {
  min-width: 20px;
  padding: 6px 14px;
}

.mapplic-hovertip .mapplic-tooltip-title {
  margin: 0 !important;
  font-size: 16px;
  line-height: 24px;
  text-align: center;
}

.mapplic-tooltip-content {
  margin-top: 10px;
  margin-bottom: 6px;
  max-height: 160px;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}

.mapplic-tooltip .mapplic-thumbnail {
  border-radius: 50% !important;
  width: 48px;
  height: 48px;
  margin-right: 12px;
}

.mapplic-tooltip-description,
.mapplic-tooltip p {
  color: #888;
  font-size: 13px;
  line-height: 20px;
  margin: 0;
}

.mapplic-tooltip p {
  margin-top: 0;
  margin-bottom: 6px;
}

.mapplic-tooltip-description p:last-child {
  margin: 0;
}

.mapplic-popup-link {
  background-color: #888;
  border-radius: 4px;
  box-shadow: 0 0 6px rgba(0, 0, 0, 0.1) !important;
  color: #fff !important;
  font-size: 14px;
  font-weight: 600;
  display: inline-block;
  float: right;
  margin-top: 4px;
  padding: 4px 8px;
  text-decoration: none;
  transition: background-color 0.2s, box-shadow 0.2s;
}

.mapplic-popup-link:hover {
  background-color: #666;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2) !important;
}

.mapplic-tooltip-close {
  background-image: url(/build/images/cross.fb81112b.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: 8px 8px;
  background-color: rgba(255, 255, 255, 0.5);
  border-radius: 50%;
  border: none;
  cursor: pointer;
  position: absolute;
  right: 6px;
  top: 6px;
  padding: 6px;
  width: 8px;
  height: 8px;
  opacity: 0.5;
  -webkit-transition: opacity 0.2s;
  -moz-transition: opacity 0.2s;
  transition: opacity 0.2s;
}

.mapplic-tooltip-close:hover {
  opacity: 1.0;
}

/* Lightbox */
.mapplic-lightbox-title {
  color: #333;
  font-weight: bold;
  margin-top: 0;
  margin-bottom: 20px;
}

.mapplic-lightbox {
  background-color: #fff;
  position: relative;
  padding: 20px;
  width: auto;
  max-width: 500px;
  margin: 20px auto;
}

.mapplic-lightbox:after {
  content: '';
  display: block;
  clear: both;
}

.mapplic-popup-image {
  outline: none;
}

.mfp-bg {
  z-index: 99981 !important;
}

.mfp-wrap {
  z-index: 99982 !important;
}

.mfp-content {
  z-index: 99983 !important;
}

/* Lightbox animation */
.mfp-fade.mfp-bg {
  opacity: 0;
  -webkit-transition: all 0.15s ease-out;
  -moz-transition: all 0.15s ease-out;
  transition: all 0.15s ease-out;
}

.mfp-fade.mfp-bg.mfp-ready {
  opacity: 0.8;
}

.mfp-fade.mfp-bg.mfp-removing {
  opacity: 0;
}

.mfp-fade.mfp-wrap .mfp-content {
  opacity: 0;
  -webkit-transition: all 0.15s ease-out;
  -moz-transition: all 0.15s ease-out;
  transition: all 0.15s ease-out;
}

.mfp-fade.mfp-wrap.mfp-ready .mfp-content {
  opacity: 1;
}

.mfp-fade.mfp-wrap.mfp-removing .mfp-content {
  opacity: 0;
}

/* Toggle */
.mapplic-toggle {
  display: block;
  cursor: pointer;
  font-size: 14px;
  position: relative;
  min-width: 20px;
  min-height: 20px;
}

.mapplic-toggle > .mapplic-toggle-circle {
  background-color: #aaa;
  border-radius: 50%;
  position: absolute;
  left: 1px;
  top: 1px;
  width: 18px;
  height: 18px;
  transform-origin: center;
  transform: scale(0);
  transition: 0.2s;
}

.mapplic-toggle:before {
  background-color: #fff;
  border: 1px solid #e4e4e4;
  border-radius: 50%;
  box-sizing: content-box;
  content: '';
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 18px;
  height: 18px;
}

.mapplic-toggle > input {
  display: none;
}

.mapplic-toggle > input:checked + span {
  transform: scale(0.7);
}

.mapplic-list-category {
  position: relative;
}

.mapplic-list-category .mapplic-toggle {
  position: absolute;
  right: 20px;
  top: 50%;
  margin-top: -10px;
  box-sizing: border-box;
}

/* Legend */
.mapplic-legend {
  background-color: rgba(255, 255, 255, 0.9);
  margin: 12px;
  padding: 0 8px;
  position: absolute;
  left: 0;
  bottom: 0;
}

.mapplic-legend-label {
  display: block;
  font-size: 14px;
  font-weight: normal;
  margin: 6px 0;
  padding-left: 28px;
  white-space: nowrap;
  -webkit-user-select: none;
  -moz-user-select: none;
  -khtml-user-select: none;
  -ms-user-select: none;
}

.mapplic-legend-key {
  background-color: #aaa;
  border: 2px solid #fff;
  border-radius: 50%;
  box-sizing: content-box;
  display: inline-block;
  height: 16px;
  width: 16px;
  position: absolute;
  left: 8px;
}

/* Reveal */
.mapplic-revealed {
  display: block !important;
}

/* Portrait mode */
.mapplic-portrait .mapplic-container,
.mapplic-portrait .mapplic-sidebar {
  width: 100% !important;
}

.mapplic-portrait .mapplic-sidebar {
  padding: 92px 12px 12px 12px !important;
}

.mapplic-portrait .mapplic-tooltip {
  max-width: 240px;
}

.mapplic-portrait .mapplic-minimap-background {
  width: 100px !important;
}

.mapplic-portrait.mapplic-element {
  height: auto !important;
}

.mapplic-portrait .mapplic-list-container {
  max-height: 600px;
}

/* Retina */
@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi), (min-resolution: 2dppx) {
  .mapplic-pin {
    background-image: url(/build/images/pin@2x.8f582a54.png);
  }
  .mapplic-pin.orange {
    background-image: url(/build/images/pin-orange@2x.b3fb2c19.png);
  }
  .mapplic-pin.yellow {
    background-image: url(/build/images/pin-yellow@2x.3f9ab852.png);
  }
  .mapplic-pin.green {
    background-image: url(/build/images/pin-green@2x.e0e31db8.png);
  }
  .mapplic-pin.blue {
    background-image: url(/build/images/pin-blue@2x.1d56a235.png);
  }
  .mapplic-pin.purple {
    background-image: url(/build/images/pin-purple@2x.84de7b70.png);
  }
}

/* Map */
.mapplic-element svg {
  width: 100%;
  height: 100%;
}

.mapplic-element svg a {
  cursor: pointer;
}

.mapplic-clickable:not(g),
g.mapplic-clickable > * {
  cursor: pointer;
  -webkit-transition: opacity 0.2s;
  -moz-transition: opacity 0.2s;
  transition: opacity 0.2s;
}

.mapplic-map-image *[id^=nopointer] {
  pointer-events: none;
}

[id^=landmarks] .mapplic-clickable {
  cursor: pointer;
}

/* Developer tools */
.mapplic-coordinates {
  background-color: rgba(255, 255, 255, 0.9);
  color: #333;
  position: absolute;
  margin: 10px;
  margin-left: -80px;
  padding: 4px 6px;
  font-size: 14px;
  top: 0;
  left: 50%;
  pointer-events: none;
}

/* SKINS */
/* mapplic-booking */
.mapplic-booking .mapplic-active,
.mapplic-booking .mapplic-active > * {
  fill: #A8D865;
}

.mapplic-booking .unavailable,
.mapplic-booking .unavailable > * {
  fill: #F7B332;
  opacity: 1;
  cursor: default;
}

/* mapplic-dark */
.mapplic-dark .mapplic-tooltip-wrap {
  background-color: #333;
}

.mapplic-dark .mapplic-tooltip:after {
  border-color: #333 transparent transparent transparent !important;
}

.mapplic-dark .mapplic-tooltip-title {
  color: #fff;
}

.mapplic-dark .mapplic-tooltip-description,
.mapplic-dark .mapplic-tooltip p {
  color: #bbb;
}

.mapplic-dark .mapplic-tooltip-close {
  background-color: rgba(51, 51, 51, 0.5);
  background-image: url(/build/images/cross-light.4d303748.svg) !important;
}

/* INTERACTIVE ELEMENTS */
/* clickable elements */
.mapplic-clickable:not(g),
g.mapplic-clickable > * {
  opacity: 0.9;
  /*fill: #b7a6bd*/
}

/* hovered elements */
.mapplic-clickable:not(g):hover,
g.mapplic-clickable:hover > * {
  opacity: 0.8;
}

/* active elements */
.mapplic-active,
a.mapplic-active > path,
g.mapplic-active > * {
  opacity: 1.0 !important;
}

/* Transparent */
.mapplic-transparent .mapplic-clickable:not(g),
.mapplic-transparent g.mapplic-clickable > * {
  opacity: 0.6;
}

.mapplic-transparent .mapplic-clickable:not(g):hover,
.mapplic-transparent g.mapplic-clickable:hover > * {
  opacity: 0.8;
}

.mapplic-transparent .mapplic-active,
.mapplic-transparent a.mapplic-active > path,
.mapplic-transparent g.mapplic-active > * {
  opacity: 1.0 !important;
}

/* Mall example - Custom */
#landmarks-ground .mapplic-clickable,
#landmarks-underground .mapplic-clickable,
#landmarks-level1 .mapplic-clickable {
  opacity: 1 !important;
}

#landmarks-ground polygon.mapplic-active,
#landmarks-ground path.mapplic-active {
  fill: #ADDB2C;
}

#landmarks-underground polygon.mapplic-active,
#landmarks-underground path.mapplic-active {
  fill: #7EE0CD;
}

#landmarks-level1 polygon.mapplic-active,
#landmarks-level1 path.mapplic-active {
  fill: #F9684B;
}

/* CUSTOM STYLES */
.mapplic-image,
.mapplic-tooltip {
  max-width: 300px !important;
}

/* tooltip width */
.mapplic-tooltip-content {
  max-height: 160px;
}

/* tooltip height*/
#mapplic {
  /* Retina */
  /* Sidebar override */
}

#mapplic.mapplic-element.mapplic-portrait .mapplic-sidebar {
  padding: 0 !important;
}

#mapplic.mapplic-element.mapplic-loading {
  background: url(/build/images/loader.16cdfb8d.gif) no-repeat center;
}

#mapplic.mapplic-element.mapplic-error {
  background: url(/build/images/error-icon.12a9532a.png) no-repeat center;
}

#mapplic.mapplic-element .mapplic-container {
  width: 100%;
  float: none;
  z-index: 100;
}

#mapplic.mapplic-element .mapplic-container .mapplic-zoom-buttons {
  display: none;
}

#mapplic.mapplic-element .mapplic-container .mapplic-map.mapplic-zoomable.mapplic-map-image {
  cursor: default;
}

#mapplic.mapplic-element .mapplic-container .mapplic-map.mapplic-zoomable.mapplic-dragging .mapplic-map-image {
  cursor: move;
}

#mapplic.mapplic-element .mapplic-container .mapplic-map .mapplic-tooltip:not(.mapplic-hovertip) {
  display: none !important;
}

#mapplic.mapplic-element .mapplic-container .mapplic-map .mapplic-layer {
  /* Pin types */
  /* Image */
}

#mapplic.mapplic-element .mapplic-container .mapplic-map .mapplic-layer .mapplic-pin {
  background-image: url(/build/images/pin.7e6d6c14.png);
  display: none !important;
}

#mapplic.mapplic-element .mapplic-container .mapplic-map .mapplic-layer .mapplic-pin.mapplic-active {
  display: block !important;
}

#mapplic.mapplic-element .mapplic-container .mapplic-map .mapplic-layer .mapplic-pin.orange {
  background-image: url(/build/images/pin-orange.b8032073.png);
}

#mapplic.mapplic-element .mapplic-container .mapplic-map .mapplic-layer .mapplic-pin.yellow {
  background-image: url(/build/images/pin-yellow.4fd6951e.png);
}

#mapplic.mapplic-element .mapplic-container .mapplic-map .mapplic-layer .mapplic-pin.green {
  background-image: url(/build/images/pin-green.58612507.png);
}

#mapplic.mapplic-element .mapplic-container .mapplic-map .mapplic-layer .mapplic-pin.blue {
  background-image: url(/build/images/pin-blue.7130dfe6.png);
}

#mapplic.mapplic-element .mapplic-container .mapplic-map .mapplic-layer .mapplic-pin.purple {
  background-image: url(/build/images/pin-purple.5a8b0aef.png);
}

#mapplic.mapplic-element .mapplic-container .mapplic-map .mapplic-layer .mapplic-map-image svg .mapplic-active {
  opacity: 1 !important;
}

#mapplic.mapplic-element .mapplic-container .mapplic-map .mapplic-layer .mapplic-map-image svg .mapplic-active rect, #mapplic.mapplic-element .mapplic-container .mapplic-map .mapplic-layer .mapplic-map-image svg .mapplic-active path {
  opacity: 1 !important;
}

#mapplic.mapplic-element .mapplic-container .mapplic-map .mapplic-layer .mapplic-map-image svg [id^=landmark].lightblue > *, #mapplic.mapplic-element .mapplic-container .mapplic-map .mapplic-layer .mapplic-map-image svg [id^=landmark].lightblue > .mapplic-clickable {
  fill: #95c5e0 !important;
  opacity: .8 !important;
}

#mapplic.mapplic-element .mapplic-container .mapplic-map .mapplic-layer .mapplic-map-image svg [id^=landmark].lightblue > * rect, #mapplic.mapplic-element .mapplic-container .mapplic-map .mapplic-layer .mapplic-map-image svg [id^=landmark].lightblue > * path, #mapplic.mapplic-element .mapplic-container .mapplic-map .mapplic-layer .mapplic-map-image svg [id^=landmark].lightblue > * polygon, #mapplic.mapplic-element .mapplic-container .mapplic-map .mapplic-layer .mapplic-map-image svg [id^=landmark].lightblue > .mapplic-clickable rect, #mapplic.mapplic-element .mapplic-container .mapplic-map .mapplic-layer .mapplic-map-image svg [id^=landmark].lightblue > .mapplic-clickable path, #mapplic.mapplic-element .mapplic-container .mapplic-map .mapplic-layer .mapplic-map-image svg [id^=landmark].lightblue > .mapplic-clickable polygon {
  fill: #95c5e0 !important;
}

#mapplic.mapplic-element .mapplic-container .mapplic-map .mapplic-layer .mapplic-map-image svg [id^=landmark].lightblue > .mapplic-active {
  fill: #b0d8e4 !important;
  stroke: white;
  stroke-width: 3px;
}

#mapplic.mapplic-element .mapplic-container .mapplic-map .mapplic-layer .mapplic-map-image svg [id^=landmark].lightblue > .mapplic-active rect, #mapplic.mapplic-element .mapplic-container .mapplic-map .mapplic-layer .mapplic-map-image svg [id^=landmark].lightblue > .mapplic-active path, #mapplic.mapplic-element .mapplic-container .mapplic-map .mapplic-layer .mapplic-map-image svg [id^=landmark].lightblue > .mapplic-active polygon {
  fill: #b0d8e4 !important;
  stroke: white;
  stroke-width: 3px;
}

#mapplic.mapplic-element .mapplic-container .mapplic-map .mapplic-layer .mapplic-map-image svg [id^=landmark].lightblue > .mapplic-clickable:hover {
  opacity: .5 !important;
}

#mapplic.mapplic-element .mapplic-container .mapplic-map .mapplic-layer .mapplic-map-image svg [id^=landmark].lightgreen > *, #mapplic.mapplic-element .mapplic-container .mapplic-map .mapplic-layer .mapplic-map-image svg [id^=landmark].lightgreen > .mapplic-clickable {
  fill: #96be20 !important;
  opacity: 1 !important;
}

#mapplic.mapplic-element .mapplic-container .mapplic-map .mapplic-layer .mapplic-map-image svg [id^=landmark].lightgreen > * rect, #mapplic.mapplic-element .mapplic-container .mapplic-map .mapplic-layer .mapplic-map-image svg [id^=landmark].lightgreen > * path, #mapplic.mapplic-element .mapplic-container .mapplic-map .mapplic-layer .mapplic-map-image svg [id^=landmark].lightgreen > * polygon, #mapplic.mapplic-element .mapplic-container .mapplic-map .mapplic-layer .mapplic-map-image svg [id^=landmark].lightgreen > .mapplic-clickable rect, #mapplic.mapplic-element .mapplic-container .mapplic-map .mapplic-layer .mapplic-map-image svg [id^=landmark].lightgreen > .mapplic-clickable path, #mapplic.mapplic-element .mapplic-container .mapplic-map .mapplic-layer .mapplic-map-image svg [id^=landmark].lightgreen > .mapplic-clickable polygon {
  fill: #96be20 !important;
}

#mapplic.mapplic-element .mapplic-container .mapplic-map .mapplic-layer .mapplic-map-image svg [id^=landmark].lightgreen > .mapplic-active {
  fill: #b2dd34 !important;
}

#mapplic.mapplic-element .mapplic-container .mapplic-map .mapplic-layer .mapplic-map-image svg [id^=landmark].lightgreen > .mapplic-active rect, #mapplic.mapplic-element .mapplic-container .mapplic-map .mapplic-layer .mapplic-map-image svg [id^=landmark].lightgreen > .mapplic-active path, #mapplic.mapplic-element .mapplic-container .mapplic-map .mapplic-layer .mapplic-map-image svg [id^=landmark].lightgreen > .mapplic-active polygon {
  fill: #b2dd34 !important;
}

#mapplic.mapplic-element .mapplic-container .mapplic-map .mapplic-layer .mapplic-map-image svg [id^=landmark].lightgreen > .mapplic-clickable:hover {
  opacity: .5 !important;
}

#mapplic.mapplic-element .mapplic-container .mapplic-map .mapplic-layer .mapplic-map-image svg [id^=landmark].lightpurple > *, #mapplic.mapplic-element .mapplic-container .mapplic-map .mapplic-layer .mapplic-map-image svg [id^=landmark].lightpurple > .mapplic-clickable {
  fill: #3a1032 !important;
  opacity: .7 !important;
  stroke-width: 0.08;
  stroke: white;
}

#mapplic.mapplic-element .mapplic-container .mapplic-map .mapplic-layer .mapplic-map-image svg [id^=landmark].lightpurple > * rect, #mapplic.mapplic-element .mapplic-container .mapplic-map .mapplic-layer .mapplic-map-image svg [id^=landmark].lightpurple > * path, #mapplic.mapplic-element .mapplic-container .mapplic-map .mapplic-layer .mapplic-map-image svg [id^=landmark].lightpurple > * polygon, #mapplic.mapplic-element .mapplic-container .mapplic-map .mapplic-layer .mapplic-map-image svg [id^=landmark].lightpurple > .mapplic-clickable rect, #mapplic.mapplic-element .mapplic-container .mapplic-map .mapplic-layer .mapplic-map-image svg [id^=landmark].lightpurple > .mapplic-clickable path, #mapplic.mapplic-element .mapplic-container .mapplic-map .mapplic-layer .mapplic-map-image svg [id^=landmark].lightpurple > .mapplic-clickable polygon {
  fill: #3a1032 !important;
}

#mapplic.mapplic-element .mapplic-container .mapplic-map .mapplic-layer .mapplic-map-image svg [id^=landmark].lightpurple > .mapplic-active {
  fill: #621b54 !important;
}

#mapplic.mapplic-element .mapplic-container .mapplic-map .mapplic-layer .mapplic-map-image svg [id^=landmark].lightpurple > .mapplic-active rect, #mapplic.mapplic-element .mapplic-container .mapplic-map .mapplic-layer .mapplic-map-image svg [id^=landmark].lightpurple > .mapplic-active path, #mapplic.mapplic-element .mapplic-container .mapplic-map .mapplic-layer .mapplic-map-image svg [id^=landmark].lightpurple > .mapplic-active polygon {
  fill: #621b54 !important;
}

#mapplic.mapplic-element .mapplic-container .mapplic-map .mapplic-layer .mapplic-map-image svg [id^=landmark].lightpurple > .mapplic-clickable:hover {
  opacity: .5 !important;
}

#mapplic.mapplic-element .mapplic-container .mapplic-map .mapplic-layer .mapplic-map-image svg [id^=landmark].lightpurple > .mapplic-clickable:not(g),
#mapplic.mapplic-element .mapplic-container .mapplic-map .mapplic-layer .mapplic-map-image svg [id^=landmark].lightpurple > g.mapplic-clickable > * {
  opacity: 1;
}

#mapplic.mapplic-element .mapplic-container .mapplic-map .mapplic-layer .mapplic-map-image svg [id^=landmark].lightgray > *, #mapplic.mapplic-element .mapplic-container .mapplic-map .mapplic-layer .mapplic-map-image svg [id^=landmark].lightgray > .mapplic-clickable {
  fill: #ababab !important;
  opacity: 1 !important;
}

#mapplic.mapplic-element .mapplic-container .mapplic-map .mapplic-layer .mapplic-map-image svg [id^=landmark].lightgray > .mapplic-active {
  fill: #888888 !important;
}

#mapplic.mapplic-element .mapplic-container .mapplic-map .mapplic-layer .mapplic-map-image svg [id^=landmark].lightgray > .mapplic-clickable:hover {
  opacity: .5 !important;
}

#mapplic.mapplic-element .mapplic-container .mapplic-map .mapplic-layer .mapplic-map-image svg [id^=landmark].darkblue > *, #mapplic.mapplic-element .mapplic-container .mapplic-map .mapplic-layer .mapplic-map-image svg [id^=landmark].darkblue > .mapplic-clickable {
  fill: #4d5e6d !important;
  opacity: 1 !important;
}

#mapplic.mapplic-element .mapplic-container .mapplic-map .mapplic-layer .mapplic-map-image svg [id^=landmark].darkblue > * rect, #mapplic.mapplic-element .mapplic-container .mapplic-map .mapplic-layer .mapplic-map-image svg [id^=landmark].darkblue > * path, #mapplic.mapplic-element .mapplic-container .mapplic-map .mapplic-layer .mapplic-map-image svg [id^=landmark].darkblue > * polygon, #mapplic.mapplic-element .mapplic-container .mapplic-map .mapplic-layer .mapplic-map-image svg [id^=landmark].darkblue > .mapplic-clickable rect, #mapplic.mapplic-element .mapplic-container .mapplic-map .mapplic-layer .mapplic-map-image svg [id^=landmark].darkblue > .mapplic-clickable path, #mapplic.mapplic-element .mapplic-container .mapplic-map .mapplic-layer .mapplic-map-image svg [id^=landmark].darkblue > .mapplic-clickable polygon {
  fill: #4d5e6d !important;
}

#mapplic.mapplic-element .mapplic-container .mapplic-map .mapplic-layer .mapplic-map-image svg [id^=landmark].darkblue > .mapplic-active {
  fill: #8ea2b7 !important;
}

#mapplic.mapplic-element .mapplic-container .mapplic-map .mapplic-layer .mapplic-map-image svg [id^=landmark].darkblue > .mapplic-active rect, #mapplic.mapplic-element .mapplic-container .mapplic-map .mapplic-layer .mapplic-map-image svg [id^=landmark].darkblue > .mapplic-active path, #mapplic.mapplic-element .mapplic-container .mapplic-map .mapplic-layer .mapplic-map-image svg [id^=landmark].darkblue > .mapplic-active polygon {
  fill: #8ea2b7 !important;
}

#mapplic.mapplic-element .mapplic-container .mapplic-map .mapplic-layer .mapplic-map-image svg [id^=landmark].darkblue > .mapplic-clickable:hover {
  opacity: .8 !important;
}

#mapplic .mapplic-clear-button {
  background-image: url(/build/images/reset.b9b68854.svg);
}

#mapplic a.mapplic-zoomin-button {
  background-image: url(/build/images/plus.2ac42c4f.svg);
}

#mapplic a.mapplic-zoomout-button {
  background-image: url(/build/images/minus.51a4820c.svg);
}

#mapplic .mapplic-fullscreen-button {
  background-image: url(/build/images/fullscreen.6ed95d1e.svg);
}

#mapplic .mapplic-fullscreen .mapplic-fullscreen-button {
  background-image: url(/build/images/fullscreen-exit.c9a9beab.svg);
}

#mapplic .mapplic-levels {
  display: none;
}

#mapplic .mapplic-levels .mapplic-levels-up {
  background-image: url(/build/images/arrow-up.0e231cd1.svg);
}

#mapplic .mapplic-levels .mapplic-levels-down {
  background-image: url(/build/images/arrow-down.d840596e.svg);
}

#mapplic .mapplic-tag > span {
  background-image: url(/build/images/cross-light.4d303748.svg);
}

#mapplic .mapplic-tooltip-close {
  background-image: url(/build/images/cross.fb81112b.svg);
}

@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi), (min-resolution: 2dppx) {
  #mapplic {
    /* Pin types */
  }
  #mapplic .mapplic-pin {
    background-image: url(/build/images/pin@2x.8f582a54.png);
  }
  #mapplic .mapplic-pin.orange {
    background-image: url(/build/images/pin-orange@2x.b3fb2c19.png);
  }
  #mapplic .mapplic-pin.yellow {
    background-image: url(/build/images/pin-yellow@2x.3f9ab852.png);
  }
  #mapplic .mapplic-pin.green {
    background-image: url(/build/images/pin-green@2x.e0e31db8.png);
  }
  #mapplic .mapplic-pin.blue {
    background-image: url(/build/images/pin-blue@2x.1d56a235.png);
  }
  #mapplic .mapplic-pin.purple {
    background-image: url(/build/images/pin-purple@2x.84de7b70.png);
  }
}

#mapplic .mapplic-dark .mapplic-tooltip-close {
  background-image: url(/build/images/cross-light.4d303748.svg) !important;
}

#mapplic .mapplic-sidebar {
  position: absolute;
  left: 50%;
  top: 2rem;
  width: 100%;
  max-width: 110rem;
  z-index: 140;
}

#mapplic .mapplic-sidebar .mapplic-list-container {
  display: none;
  position: relative;
  left: -47%;
  width: 92%;
  box-shadow: 0 10px 20px rgba(136, 136, 136, 0.65);
  z-index: 1000;
}

#mapplic .mapplic-sidebar .mapplic-filter {
  position: relative;
  left: -47%;
  padding: 14px 12px;
  box-shadow: 0 10px 20px rgba(136, 136, 136, 0.65);
  width: 92%;
  -webkit-transition: all 0.15s ease-out;
  -moz-transition: all 0.15s ease-out;
  transition: all 0.15s ease-out;
}

#mapplic .mapplic-sidebar .mapplic-filter .mapplic-search-input {
  background-image: url(/build/images/magnifier.e9dc8867.svg) !important;
  background-position: left center !important;
  font-size: 1.4rem !important;
  height: 30px !important;
  padding: 0 0 0 30px !important;
  margin-left: 10px !important;
}

#mapplic .mapplic-sidebar .mapplic-filter .mapplic-search-clear {
  background-image: url(/build/images/cross.fb81112b.svg);
  background-position: center top;
  top: 23px;
}

@media (max-width: 47.99em) {
  #mapplic .mapplic-sidebar {
    left: 0;
  }
  #mapplic .mapplic-sidebar .mapplic-filter, #mapplic .mapplic-sidebar .mapplic-list-container {
    left: 0;
    margin: 0 auto;
    width: 90%;
  }
}

#mapplic .location__badge {
  display: inline-block;
  padding: .25em .4em;
  font-size: 75%;
  font-weight: 700;
  line-height: 1;
  text-align: center;
  white-space: nowrap;
  vertical-align: baseline;
  border-radius: .25rem;
}

#mapplic .location__badge-danger {
  color: #fff;
}

#mapplic .location__title {
  display: block;
}

@media (min-width: 62em) {
  #mapplic {
    padding-top: 100px;
  }
}

@media (max-width: 61.99em) {
  #mapplic .mapplic-container {
    height: 100% !important;
  }
}

/* Custom map controls */
.map-controls {
  position: absolute;
  bottom: 40px;
  right: 40px;
  z-index: 139;
  -webkit-transition: all 0.15s ease-out;
  -moz-transition: all 0.15s ease-out;
  transition: all 0.15s ease-out;
}

.map-controls__levels, .map-controls__zooms {
  overflow: hidden;
  box-shadow: 0 10px 20px rgba(136, 136, 136, 0.65);
  margin-top: 25px;
  background-color: #fff;
  border: none;
  border-radius: 0;
  color: #666;
  font-size: 13px;
  font-weight: 400;
  outline: none;
  -webkit-appearance: none;
  float: right;
  min-width: 50px;
}

.map-controls__levels-item, .map-controls__zooms-item {
  height: 50px;
  text-align: center;
  font-weight: bold;
  font-size: 1.4rem;
  line-height: 4.9rem;
  padding: 0 15px;
  cursor: pointer;
  color: #000;
}

.map-controls__levels-item.disabled, .map-controls__zooms-item.disabled {
  background-color: #eee;
  cursor: default;
}

.map-controls__zooms {
  width: 50px;
}

.map-controls__zooms-item {
  font-size: 2rem;
  line-height: 4.7rem;
}

@media (max-width: 47.99em) {
  .map-controls {
    bottom: 20px;
    right: 5%;
  }
  .map-controls__zooms {
    width: 40px;
  }
  .map-controls__levels, .map-controls__zooms {
    min-width: 40px;
  }
  .map-controls__levels-item, .map-controls__zooms-item {
    height: 40px;
    padding: 0 13px;
    font-size: 1.2rem;
    line-height: 3.7rem;
  }
}

/* Custom retailer details */
.map-detail {
  box-shadow: 0 10px 20px rgba(136, 136, 136, 0.65);
  background-color: #fff;
  position: relative;
  z-index: 138;
  display: none;
  width: 92%;
}

.map-detail__body {
  display: flex;
  align-items: center;
  padding: 14px;
}

.map-detail__body .map-detail__thumbnail {
  margin-right: 12px;
}

.map-detail__body .map-detail__content {
  margin-right: 10px;
}

.map-detail__body .map-detail__content h4, .map-detail__body .map-detail__content h5 {
  margin: 0;
  padding: 0;
  font-size: 1.5rem;
}

.map-detail__body .map-detail__content h4 {
  color: #383838;
  letter-spacing: .1rem;
  text-transform: uppercase;
}

.map-detail__body .map-detail__content h5 {
  font-weight: normal;
  color: #999;
}

.map-detail__body .map-detail__actions {
  font-size: 1.5rem;
  margin-left: auto;
}

.map-detail__body .map-detail__actions a {
  color: #999;
  -webkit-transition: all 0.15s ease-out;
  -moz-transition: all 0.15s ease-out;
  transition: all 0.15s ease-out;
  display: block;
  margin-right: 1rem;
}

.map-detail__body .map-detail__actions a svg {
  height: 3.5rem;
  width: 3.5rem;
}

.map-detail__body .map-detail__actions a:hover {
  color: #000;
}

.map-detail__thumbnail {
  width: 80px;
  height: 80px;
}

.map-detail__thumbnail > img {
  max-width: 100%;
  width: 80px;
  height: 80px;
}

@media (min-width: 48em) {
  .map-detail {
    left: -47%;
    margin-top: 15px;
  }
}

@media (max-width: 47.99em) {
  .map-detail {
    bottom: 20px;
    top: auto !important;
    left: 5%;
    position: fixed;
    width: 90%;
  }
  .map-detail__opened {
    bottom: 140px;
  }
  .map-detail__body {
    padding: 8px;
  }
}

.map-viewer__container {
  background: #fff;
}

.map-viewer__shops {
  font-size: 1.6rem;
  line-height: 1.4;
  color: #fff;
  padding: 2rem;
  text-align: center;
  margin-bottom: 2rem;
}

.map-viewer__shops [type="text"] {
  border: 2px solid #fff;
  background-color: transparent;
  height: auto;
  width: 100%;
  color: #fff;
}

.map-viewer__shops ::-webkit-input-placeholder {
  color: #fff;
}

.map-viewer__shops input:-moz-placeholder,
.map-viewer__shops input::-moz-placeholder,
.map-viewer__shops textarea:-moz-placeholder,
.map-viewer__shops textarea::-moz-placeholder {
  color: #fff;
}

.map-viewer__shop-item[aria-hidden="true"] {
  display: none;
}

.map-viewer__shop-item .shop-infos__infos {
  text-align: left;
}

@media (max-width: 61.99em) {
  .map-viewer__shop-item .pop-card {
    margin-bottom: 2rem;
  }
  .map-viewer__shop-item .pop-card__media {
    display: none;
  }
}

.map-viewer__controls {
  position: relative;
  z-index: 20;
}

.map-viewer__controls > ul > li {
  margin-bottom: .5rem;
}

.map-viewer__controls__zoom {
  position: absolute;
  right: 1rem;
  top: 11rem;
}

.map-viewer__controls__levels {
  position: absolute;
  right: 1rem;
  top: 1rem;
}

.map-viewer__controls [class*="btn-"] {
  color: #fff;
  background-color: #1e1e1e;
  width: 4.5rem;
  height: 4.5rem;
  padding: .5em;
  text-align: center;
  line-height: 2.7rem;
  font-weight: bold;
  border: 0;
}

.section.-map {
  padding-bottom: 0;
}

.culture-map {
  padding-top: 2rem;
}

.culture-map #mapplic {
  padding-bottom: 0;
}

.culture-map__title {
  text-align: center;
  text-transform: uppercase;
}

@media (min-width: 48em) {
  .culture-map__map {
    height: auto;
  }
}

.--use-tooltip #mapplic.mapplic-element .mapplic-container .mapplic-map .mapplic-tooltip:not(.mapplic-hovertip) {
  display: block !important;
}

.--use-tooltip .mapplic-tooltip-content {
  display: none !important;
}

.--use-tooltip .mapplic-tooltip-wrap {
  text-align: center !important;
}

.--use-tooltip .mapplic-tooltip-title {
  margin: 0 !important;
}

.--boxed .culture-map__map {
  width: 100%;
  max-width: 110rem;
  margin: 0 auto;
  border: 1px solid #eee;
  background-color: #fff;
  margin-bottom: 2.5rem;
}

.--locked.--use-tooltip a {
  display: none !important;
}

.--locked {
  position: relative;
}

.--locked:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  width: 100%;
  height: 100%;
  z-index: 999;
  background: transparent;
}


/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwcGxpYy5jc3MiLCJtYXBwaW5ncyI6Ijs7O0FBQUE7Ozs7Ozs7Ozs7O0VDV0U7QURJRjs7dUNDRHVDO0FEV3ZDO0FBZUE7QUFPQTtBQUlBO0FBTUE7QUFZQTs7dUNDL0N1QztBRHdEdkM7O3VDQ3JEdUM7QUQrRHZDOzt1Q0M1RHVDO0FEdUV2Qzs7dUNDcEV1QztBRGdHdkM7O3VDQzdGdUM7QURtSXZDOzt1Q0NoSXVDO0FEMEp2Qzs7dUNDdkp1QztBQ3hDdkM7O3VDRDJDdUM7QUN4Q3ZDOztDRDJDQztBQ1dEOzt1Q0RSdUM7QUNtUXZDO0FDcFRBOzt1Q0ZxRHVDO0FFaER2Qzs7Q0ZtREM7QUVoREQ7RUFDSSxhQUFhO0VBQ2IsaUJBQWlCO0VBQ2pCLDZCQUE2QjtBRmtEakM7O0FFaERJO0VBQ0ksZ0JBQWdCO0FGbUR4Qjs7QUU5Q0k7RURYQSxjQUF5QjtFQUN6QixxQkZrRG1CO0VFakRuQix5QkFBc0M7QUQ2RDFDOztBRXBESTtFQUlRLFNBQVM7RUFDVCxZQUFZO0VBQ1osNkJBQTZCO0FGb0R6Qzs7QUUxREk7RURYQSxjQUF5QjtFQUN6QixxQkZtRG1CO0VFbERuQix5QkFBc0M7QUR5RTFDOztBRWhFSTtFQUlRLFNBQVM7RUFDVCxZQUFZO0VBQ1osNkJBQTZCO0FGZ0V6Qzs7QUV0RUk7RURYQSxjQUF5QjtFQUN6QixxQkZvRG1CO0VFbkRuQix5QkFBc0M7QURxRjFDOztBRTVFSTtFQUlRLFNBQVM7RUFDVCxZQUFZO0VBQ1osNkJBQTZCO0FGNEV6Qzs7QUVsRkk7RURYQSxjQUF5QjtFQUN6QixxQkZxRG1CO0VFcERuQix5QkFBc0M7QURpRzFDOztBRXhGSTtFQUlRLFNBQVM7RUFDVCxZQUFZO0VBQ1osNkJBQTZCO0FGd0Z6Qzs7QUU5Rkk7RURYQSxjQUF5QjtFQUN6QixrQkZrQ29CO0VFakNwQix5QkFBc0M7QUQ2RzFDOztBRXBHSTtFQUlRLFNBQVM7RUFDVCxZQUFZO0VBQ1osNkJBQTZCO0FGb0d6Qzs7QUU5Rkk7RUFDSSxjSDJCZTtFRzFCZixnQkFBZ0I7QUZp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a0I7RUFDbEIseUJBQXlCO0FSMm1GakM7O0FNOTVFUTtFRTlMQTtJQUNJLFlBQVk7RVJnbUZ0QjtBQUNGOztBUTVsRkE7RUFFUSx5QkFBeUI7QVI4bEZqQzs7QVFobUZBO0VBTVEsd0JBQXdCO0FSOGxGaEM7O0FRcG1GQTtFQVVRLDZCQUE2QjtBUjhsRnJDOztBUXhtRkE7RUFjUSxvQkFBb0I7QVI4bEY1Qjs7QVExbEZBO0VBRVEsV0FBVztFQUNYLGlCQUFpQjtFQUNqQixjQUFjO0VBQ2Qsc0JBQXNCO0VBQ3RCLHNCQUFzQjtFQUN0QixxQkFBcUI7QVI0bEY3Qjs7QVFsbEZBO0VBRVEsd0JBQXdCO0FSb2xGaEM7O0FRaGxGQTtFQUNJLGtCQUFrQjtBUm1sRnRCOztBUXBsRkE7RUFJUSxXQUFXO0VBQ1gsa0JBQWtCO0VBQ2xCLE1BQU07RUFDTixPQUFPO0VBQ1AsU0FBUztFQUNULFFBQVE7RUFDUixXQUFXO0VBQ1gsWUFBWTtFQUNaLFlBQVk7RUFDWix1QkFBdUI7QVJvbEYvQiIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL2Fzc2V0cy9zY3NzL3V0aWxpdGllcy9fdmFyaWFibGVzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3Njc3MvbWFwcGxpYy5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9zY3NzL3V0aWxpdGllcy9fbWl4aW5zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3Njc3MvdXRpbGl0aWVzL19oZWxwZXJzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3Njc3MvdXRpbGl0aWVzL19yZXNwb25zaXZlLXV0aWxpdGllcy5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9zY3NzL3ZlbmRvci9fbWFwcGxpYy5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9zY3NzL2NvbXBvbmVudHMvX21hcC5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9zY3NzL3V0aWxpdGllcy9fc2Fzcy1tcS5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9zY3NzL2NvbXBvbmVudHMvX21hcC12aWV3ZXIuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvc2Nzcy9jb21wb25lbnRzL19jdWx0dXJlLW1hcC5zY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ09OVEVOVFNcbiAqXG4gKiBWQVJJQUJMRVNcbiAqIENvbG9ycy4uLi4uLi4uLi4uIEFsbCB3ZWJzaXRlIGNvbG9yc1xuICogVGhlbWVzLi4uLi4uLi4uLi4gVGhlbWVzIGZvciBjbGluaWNcbiAqIFR5cG9ncmFwaHkuLi4uLi4uIEZvbnQtZmFtaWx5LCBmb250LXNpemUsIGxpbmUtaGVpZ2h0XG4gKiBCdXR0b25zLi4uLi4uLi4uLiBCdXR0b25zIGluZm9ybWF0aW9uc1xuICogRm9ybS4uLi4uLi4uLi4uLi4gSW5wdXQsIHNlbGVjdCBzdHlsZVxuICogTWVkaWEgUXVlcmllcyAuLi4gQnJlYWtwb2ludCBmb3IgcmVzcG9uc2l2ZVxuICogR3JpZCAuLi4uLi4uLi4uLi4gR3JpZCBjb2wgYW5kIGd1dHRlclxuICovXG5cblxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuICAgICNDT0xPUlNcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4kYy1wcmltYXJ5LWRhcms6ICAgICM0Y2FlYzc7XG4kYy1wcmltYXJ5OiAgICAgICAgICM4YWM1ZDc7XG4kYy1zZWNvbmRhcnk6ICAgICAgICNmOWE2OWQ7XG4kYy1zZWNvbmRhcnktbGlnaHQ6IGxpZ2h0ZW4oJGMtc2Vjb25kYXJ5LCAxMCUpO1xuJGMtb2ZmZXJzOiAgICAgICAgICAjZjYzZTA1O1xuJGMtdmlwOiAgICAgICAgICAgICAjYmQ5NDMxO1xuXG4vKiBLaWRzICovXG4kYy1raWRzOiAgICAgICAgICAgICNkM2U3ZjY7XG4kYy1raWRzLXNlY29uZGFyeTogICNmMWY2Zjk7XG4kYy1raWRzLXRlcnRpYXJ5OiAgICNmNjdmYmM7XG4kYy1raWRzLWFsdDogICAgICAgICNiY2VkZjc7XG5cbiRjLWNhbGVuZGFyOiAoXG4gICAgI2Y2OTZiOCxcbiAgICAjZjdjM2IwLFxuICAgICM2OWRlYWIsXG4gICAgI2M4ZDA0YixcbiAgICAjMTc1Mzg4LFxuKTtcblxuXG4vKiBHcmF5IGFuZCBvdGhlcnMgKi9cbiRjLWxpZ2h0ZXJncmF5OiAgICAgI2YzZjNmMztcbiRjLWxpZ2h0Z3JheTogICAgICAgI2U4ZThlODtcbiRjLW1lZGdyYXk6ICAgICAgICAgIzk5OTtcbiRjLWRhcmtncmF5OiAgICAgICAgIzM4MzgzODtcbiRjLWRhcmtlcmdyYXk6ICAgICAgIzFhMWExYTtcblxuLyogVGV4dCBjb2xvciAqL1xuJGMtdHh0OiAgICAgICAgICAgICAjMWUxZTFlO1xuXG5cbi8qIExpbmtzIGNvbG9ycyAqL1xuJGMtbGluazogICAgICAgICAgICAkYy1wcmltYXJ5O1xuJGMtaG92ZXI6ICAgICAgICAgICAkYy1wcmltYXJ5O1xuJGMtdmlzaXRlZDogICAgICAgICBkYXJrZW4oJGMtbGluaywgMTAlKTtcblxuXG4vKiBOb3RpZmljYXRpb25zIGNvbG9ycyAqL1xuJG1lc3NhZ2UtdHlwZXM6IChcbiAgICBlcnJvcjogICAgICAjZGQ3MDcwLFxuICAgIHdhcm46ICAgICAgICNmMGFkNGUsXG4gICAgc3VjY2VzczogICAgIzMxODAyNixcbiAgICBpbmZvOiAgICAgICAjNWJjMGRlLFxuICAgIGhlbHA6ICAgICAgICRjLW1lZGdyYXksXG4pO1xuXG5cblxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuICAgICNUWVBPR1JBUEhZXG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuJGZ6LWJhc2U6IDEuNGVtO1xuJGZmLXNhbnMtc2VyaWY6IFwiU291cmNlIFNhbnMgUHJvXCIsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG4kZmYtc2VyaWY6IFBsYXlmYWlyLCBHZW9yZ2lhLCBcIlRpbWVzIE5ldyBSb21hblwiLCBzZXJpZjtcbiRmZi1oZWFkaW5nOiBcIlNvdXJjZSBTYW5zIFByb1wiLCBJbXBhY3QsIHNhbnMtc2VyaWY7XG5cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXFxcbiAgICAjQlVUVE9OU1xuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbiRidG4tcmFkaXVzOiAgICAgIDA7XG4kYnRuLXBhZGRpbmc6ICAgICAxLjVyZW0gM3JlbTtcbiRidG4tYm9yZGVyOiAgICAgIDA7XG4kYnRuLW1pbndpZHRoOiAgICAxOC41cmVtO1xuXG5cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXFxcbiAgICAjRk9STVNcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4kaW5wdXQtYmc6ICAgICAgICAgICNmZmY7XG4kaW5wdXQtcmFkaXVzOiAgICAgIDA7XG4kaW5wdXQtcGFkZGluZzogICAgIC4zcmVtIDEuNXJlbSAuMnJlbTtcbiRpbnB1dC1ib3JkZXI6ICAgICAgMXB4IHNvbGlkICRjLW1lZGdyYXk7XG5cblxuXG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXG4gICAgI01FRElBLVFVRVJJRVNcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vLyBFeHRyYSBzbWFsbCBzY3JlZW4gLyBwaG9uZVxuJHNjcmVlbi14czogICAgICAgICAgICAgICAgICAzMGVtICFkZWZhdWx0O1xuJHNjcmVlbi14cy1taW46ICAgICAgICAgICAgICAkc2NyZWVuLXhzICFkZWZhdWx0O1xuXG4vLyBTbWFsbCBzY3JlZW4gLyB0YWJsZXRcbiRzY3JlZW4tc206ICAgICAgICAgICAgICAgICAgNDhlbSAhZGVmYXVsdDtcbiRzY3JlZW4tc20tbWluOiAgICAgICAgICAgICAgJHNjcmVlbi1zbSAhZGVmYXVsdDtcblxuLy8gTWVkaXVtIHNjcmVlbiAvIGRlc2t0b3BcbiRzY3JlZW4tbWQ6ICAgICAgICAgICAgICAgICAgNjJlbSAhZGVmYXVsdDtcbiRzY3JlZW4tbWQtbWluOiAgICAgICAgICAgICAgJHNjcmVlbi1tZCAhZGVmYXVsdDtcblxuLy8gTGFyZ2Ugc2NyZWVuIC8gd2lkZSBkZXNrdG9wXG4kc2NyZWVuLWxnOiAgICAgICAgICAgICAgICAgIDc1ZW0gIWRlZmF1bHQ7XG4kc2NyZWVuLWxnLW1pbjogICAgICAgICAgICAgICRzY3JlZW4tbGcgIWRlZmF1bHQ7XG5cbi8vIFNvIG1lZGlhIHF1ZXJpZXMgZG9uJ3Qgb3ZlcmxhcCB3aGVuIHJlcXVpcmVkLCBwcm92aWRlIGEgbWF4aW11bVxuJHNjcmVlbi14cy1tYXg6ICAgICAgICAgICAgICAoJHNjcmVlbi1zbS1taW4gLSAxKSAhZGVmYXVsdDtcbiRzY3JlZW4tc20tbWF4OiAgICAgICAgICAgICAgKCRzY3JlZW4tbWQtbWluIC0gMSkgIWRlZmF1bHQ7XG4kc2NyZWVuLW1kLW1heDogICAgICAgICAgICAgICgkc2NyZWVuLWxnLW1pbiAtIDEpICFkZWZhdWx0O1xuXG5cblxuXG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXG4gICAgI01FRElBIFFVRVJJRVNcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vLyBUbyBlbmFibGUgc3VwcG9ydCBmb3IgYnJvd3NlcnMgdGhhdCBkbyBub3Qgc3VwcG9ydCBAbWVkaWEgcXVlcmllcyxcbi8vIChJRSA8PSA4LCBGaXJlZm94IDw9IDMsIE9wZXJhIDw9IDkpIHNldCAkbXEtcmVzcG9uc2l2ZSB0byBmYWxzZVxuLy8gQ3JlYXRlIGEgc2VwYXJhdGUgc3R5bGVzaGVldCBzZXJ2ZWQgZXhjbHVzaXZlbHkgdG8gdGhlc2UgYnJvd3NlcnMsXG4vLyBtZWFuaW5nIEBtZWRpYSBxdWVyaWVzIHdpbGwgYmUgcmFzdGVyaXplZCwgcmVseWluZyBvbiB0aGUgY2FzY2FkZSBpdHNlbGZcbiRtcS1yZXNwb25zaXZlOiB0cnVlO1xuXG4kbXEtYmFzZS1mb250LXNpemU6ICRmei1iYXNlO1xuXG4vLyBOYW1lIHlvdXIgYnJlYWtwb2ludHMgaW4gYSB3YXkgdGhhdCBjcmVhdGVzIGEgdWJpcXVpdG91cyBsYW5ndWFnZVxuLy8gYWNyb3NzIHRlYW0gbWVtYmVycy4gSXQgd2lsbCBpbXByb3ZlIGNvbW11bmljYXRpb24gYmV0d2VlblxuLy8gc3Rha2Vob2xkZXJzLCBkZXNpZ25lcnMsIGRldmVsb3BlcnMsIGFuZCB0ZXN0ZXJzLlxuJG1xLWJyZWFrcG9pbnRzOiAoXG4gICAgbW9iaWxlOiAgICAgJHNjcmVlbi14cyxcbiAgICB0YWJsZXQ6ICAgICAkc2NyZWVuLXNtLFxuICAgIGRlc2t0b3A6ICAgICRzY3JlZW4tbWQsXG4gICAgd2lkZTogICAgICAgJHNjcmVlbi1sZyxcbiAgICB4d2lkZTogICAgICA4Ny41ZW0sXG5cbiAgICAvLyBUd2Vha3BvaW50c1xuICAgIHBoYWJsZXQ6IDM3LjVlbSxcbiAgICBtb2JpbGVMYW5kc2NhcGU6IDMwZW1cbik7XG5cbi8vIERlZmluZSB0aGUgYnJlYWtwb2ludCBmcm9tIHRoZSAkbXEtYnJlYWtwb2ludHMgbGlzdCB0aGF0IHNob3VsZFxuLy8gYmUgdXNlZCBhcyB0aGUgdGFyZ2V0IHdpZHRoIHdoZW4gb3V0cHV0dGluZyBhIHN0YXRpYyBzdHlsZXNoZWV0XG4vLyAoaS5lLiB3aGVuICRtcS1yZXNwb25zaXZlIGlzIHNldCB0byAnZmFsc2UnKS5cbiRtcS1zdGF0aWMtYnJlYWtwb2ludDogZGVza3RvcDtcblxuLy8gSWYgeW91IHdhbnQgdG8gZGlzcGxheSB0aGUgY3VycmVudGx5IGFjdGl2ZSBicmVha3BvaW50IGluIHRoZSB0b3Bcbi8vIHJpZ2h0IGNvcm5lciBvZiB5b3VyIHNpdGUgZHVyaW5nIGRldmVsb3BtZW50LCBhZGQgdGhlIGJyZWFrcG9pbnRzXG4vLyB0byB0aGlzIGxpc3QsIG9yZGVyZWQgYnkgd2lkdGgsIGUuZy4gKG1vYmlsZSwgdGFibGV0LCBkZXNrdG9wKS5cbiRtcS1zaG93LWJyZWFrcG9pbnRzOiAoKTtcblxuXG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXG4gICAgI0dSSURcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi8vKiogTnVtYmVyIG9mIGNvbHVtbnMgaW4gdGhlIGdyaWQuXG4kZ3JpZC1jb2x1bW5zOiAgICAgICAgICAgICAgMTIgIWRlZmF1bHQ7XG4kZ3JpZC1ndXR0ZXItd2lkdGg6ICAgICAgICAgKDEwIC8gKCRmei1iYXNlICogMTApKSAqIDFlbSAhZGVmYXVsdDtcblxuXG4vLz09IENvbnRhaW5lciBzaXplc1xuLy8gU21hbGwgc2NyZWVuIC8gdGFibGV0XG4kY29udGFpbmVyLXRhYmxldDogICAgICAgICAgICAgKDQ1ZW0gKyAkZ3JpZC1ndXR0ZXItd2lkdGgpICFkZWZhdWx0O1xuJGNvbnRhaW5lci1zbTogICAgICAgICAgICAgICAgICRjb250YWluZXItdGFibGV0ICFkZWZhdWx0O1xuXG4vLyBNZWRpdW0gc2NyZWVuIC8gZGVza3RvcFxuJGNvbnRhaW5lci1kZXNrdG9wOiAgICAgICAgICAgICg1OC43NWVtICsgJGdyaWQtZ3V0dGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRjb250YWluZXItbWQ6ICAgICAgICAgICAgICAgICAkY29udGFpbmVyLWRlc2t0b3AgIWRlZmF1bHQ7XG5cbi8vIExhcmdlIHNjcmVlbiAvIHdpZGUgZGVza3RvcFxuJGNvbnRhaW5lci1sYXJnZS1kZXNrdG9wOiAgICAgICg3MS4yNWVtICsgJGdyaWQtZ3V0dGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRjb250YWluZXItbGc6ICAgICAgICAgICAgICAgICAkY29udGFpbmVyLWxhcmdlLWRlc2t0b3AgIWRlZmF1bHQ7XG5cbi8vIENvbnRhaW5lciBtYXgtd2lkdGhcbiRjb250YWluZXItbXc6ICAgICAgICAgICAgICAgICAxMTByZW07XG4kY29udGFpbmVyLXNtLW13OiAgICAgICAgICAgICAgMTAwcmVtO1xuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuICAgICNGb250IEF3ZXNvbWVcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4kZmEtZm9udC1wYXRoOiAgICAgICAgXCJ+QGZvcnRhd2Vzb21lL2ZvbnRhd2Vzb21lLXByby93ZWJmb250c1wiO1xuIiwiQGNoYXJzZXQgXCJ1dGYtOFwiO1xuXG5AaW1wb3J0IFwidXRpbGl0aWVzL3ZhcmlhYmxlc1wiO1xuXG5AaW1wb3J0IFwidXRpbGl0aWVzL21peGluc1wiO1xuQGltcG9ydCBcInV0aWxpdGllcy9oZWxwZXJzXCI7XG5AaW1wb3J0IFwidXRpbGl0aWVzL3Nhc3MtbXFcIjtcbkBpbXBvcnQgXCJ1dGlsaXRpZXMvcmVzcG9uc2l2ZS11dGlsaXRpZXNcIjtcblxuQGltcG9ydCBcInZlbmRvci9tYXBwbGljXCI7XG5cbkBpbXBvcnQgXCJjb21wb25lbnRzL21hcFwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvbWFwLXZpZXdlclwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvY3VsdHVyZS1tYXBcIjtcbiIsIi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXG4gICAgI1VUSUxJVElFU1xuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qKlxuKiBHZW5lcmF0ZSBub3RpZmljYXRpb25zXG4qL1xuQG1peGluIG1lc3NhZ2UoJGNvbG9yKSB7XG4gICAgQGV4dGVuZCAlbWVzc2FnZTtcbiAgICBjb2xvcjogZGFya2VuKCRjb2xvciwgNyUpO1xuICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6IGxpZ2h0ZW4oJGNvbG9yLCAyNCUpO1xufVxuXG5cbi8vIEltYWdlIGNvdmVyLWVmZmVjdFxuQG1peGluIGNvdmVyLWltYWdlIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbGVmdDogNTAlO1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgIG1pbi13aWR0aDogMTAwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG59XG5cblxuXG4vLyBDZW50ZXIgZWxlbWVudCB3aXRoIHRoZSB0cmFuc2xhdGUgdHJpY2tcbkBtaXhpbiBjZW50ZXJlcigkaG9yaXpvbnRhbDogdHJ1ZSwgJHZlcnRpY2FsOiB0cnVlKSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIEBpZiAoJGhvcml6b250YWwgYW5kICR2ZXJ0aWNhbCkge1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgIH0gQGVsc2UgaWYgKCRob3Jpem9udGFsKSB7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwKTtcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDApO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwKTtcbiAgICB9IEBlbHNlIGlmICgkdmVydGljYWwpIHtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gICAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gICAgfVxufVxuXG5cblxuXG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXG4gICAgI0dSSURcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi8vIEJBU0VEIE9OIEJPT1RTVFJBUFxuLy8gR3JpZCBzeXN0ZW1cbi8vXG4vLyBHZW5lcmF0ZSBzZW1hbnRpYyBncmlkIGNvbHVtbnMgd2l0aCB0aGVzZSBtaXhpbnMuXG5cbi8vIENlbnRlcmVkIGNvbnRhaW5lciBlbGVtZW50XG5AbWl4aW4gY29udGFpbmVyLWZpeGVkKCRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCkge1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBwYWRkaW5nLWxlZnQ6ICAoJGd1dHRlcikgKiAxZW07XG4gIHBhZGRpbmctcmlnaHQ6ICgkZ3V0dGVyKSAqIDFlbTtcbn1cblxuLy8gQ3JlYXRlcyBhIHdyYXBwZXIgZm9yIGEgc2VyaWVzIG9mIGNvbHVtbnNcbkBtaXhpbiBtYWtlLXJvdygkZ3V0dGVyOiAkZ3JpZC1ndXR0ZXItd2lkdGgpIHtcbiAgbWFyZ2luLWxlZnQ6ICAoJGd1dHRlciAvIC0yKSAqIDFlbTtcbiAgbWFyZ2luLXJpZ2h0OiAoJGd1dHRlciAvIC0yKSAqIDFlbTtcbn1cblxuLy8gR2VuZXJhdGUgdGhlIGV4dHJhIHNtYWxsIGNvbHVtbnNcbkBtaXhpbiBtYWtlLXhzLWNvbHVtbigkY29sdW1ucywgJGd1dHRlcjogJGdyaWQtZ3V0dGVyLXdpZHRoKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcbiAgbWluLWhlaWdodDogMXB4O1xuICBwYWRkaW5nLWxlZnQ6ICAoJGd1dHRlciAvIDIpICogMWVtO1xuICBwYWRkaW5nLXJpZ2h0OiAoJGd1dHRlciAvIDIpICogMWVtO1xufVxuQG1peGluIG1ha2UteHMtY29sdW1uLW9mZnNldCgkY29sdW1ucykge1xuICBtYXJnaW4tbGVmdDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XG59XG5AbWl4aW4gbWFrZS14cy1jb2x1bW4tcHVzaCgkY29sdW1ucykge1xuICBsZWZ0OiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcbn1cbkBtaXhpbiBtYWtlLXhzLWNvbHVtbi1wdWxsKCRjb2x1bW5zKSB7XG4gIHJpZ2h0OiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcbn1cblxuLy8gR2VuZXJhdGUgdGhlIHNtYWxsIGNvbHVtbnNcbkBtaXhpbiBtYWtlLXNtLWNvbHVtbigkY29sdW1ucywgJGd1dHRlcjogJGdyaWQtZ3V0dGVyLXdpZHRoKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWluLWhlaWdodDogMXB4O1xuICBwYWRkaW5nLWxlZnQ6ICAoJGd1dHRlciAvIDIpICogMWVtO1xuICBwYWRkaW5nLXJpZ2h0OiAoJGd1dHRlciAvIDIpICogMWVtO1xuXG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtLW1pbikge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuQG1peGluIG1ha2Utc20tY29sdW1uLW9mZnNldCgkY29sdW1ucykge1xuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbS1taW4pIHtcbiAgICBtYXJnaW4tbGVmdDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cbkBtaXhpbiBtYWtlLXNtLWNvbHVtbi1wdXNoKCRjb2x1bW5zKSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtLW1pbikge1xuICAgIGxlZnQ6IHBlcmNlbnRhZ2UoKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1ucykpO1xuICB9XG59XG5AbWl4aW4gbWFrZS1zbS1jb2x1bW4tcHVsbCgkY29sdW1ucykge1xuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbS1taW4pIHtcbiAgICByaWdodDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cblxuLy8gR2VuZXJhdGUgdGhlIG1lZGl1bSBjb2x1bW5zXG5AbWl4aW4gbWFrZS1tZC1jb2x1bW4oJGNvbHVtbnMsICRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1pbi1oZWlnaHQ6IDFweDtcbiAgcGFkZGluZy1sZWZ0OiAgKCRndXR0ZXIgLyAyKSAqIDFlbTtcbiAgcGFkZGluZy1yaWdodDogKCRndXR0ZXIgLyAyKSAqIDFlbTtcblxuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1tZC1taW4pIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cbkBtaXhpbiBtYWtlLW1kLWNvbHVtbi1vZmZzZXQoJGNvbHVtbnMpIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbWQtbWluKSB7XG4gICAgbWFyZ2luLWxlZnQ6IHBlcmNlbnRhZ2UoKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1ucykpO1xuICB9XG59XG5AbWl4aW4gbWFrZS1tZC1jb2x1bW4tcHVzaCgkY29sdW1ucykge1xuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1tZC1taW4pIHtcbiAgICBsZWZ0OiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuQG1peGluIG1ha2UtbWQtY29sdW1uLXB1bGwoJGNvbHVtbnMpIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbWQtbWluKSB7XG4gICAgcmlnaHQ6IHBlcmNlbnRhZ2UoKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1ucykpO1xuICB9XG59XG5cbi8vIEdlbmVyYXRlIHRoZSBsYXJnZSBjb2x1bW5zXG5AbWl4aW4gbWFrZS1sZy1jb2x1bW4oJGNvbHVtbnMsICRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1pbi1oZWlnaHQ6IDFweDtcbiAgcGFkZGluZy1sZWZ0OiAgKCRndXR0ZXIgLyAyKSAqIDFlbTtcbiAgcGFkZGluZy1yaWdodDogKCRndXR0ZXIgLyAyKSAqIDFlbTtcblxuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1sZy1taW4pIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cbkBtaXhpbiBtYWtlLWxnLWNvbHVtbi1vZmZzZXQoJGNvbHVtbnMpIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbGctbWluKSB7XG4gICAgbWFyZ2luLWxlZnQ6IHBlcmNlbnRhZ2UoKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1ucykpO1xuICB9XG59XG5AbWl4aW4gbWFrZS1sZy1jb2x1bW4tcHVzaCgkY29sdW1ucykge1xuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1sZy1taW4pIHtcbiAgICBsZWZ0OiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuQG1peGluIG1ha2UtbGctY29sdW1uLXB1bGwoJGNvbHVtbnMpIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbGctbWluKSB7XG4gICAgcmlnaHQ6IHBlcmNlbnRhZ2UoKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1ucykpO1xuICB9XG59XG5cblxuXG4vLyBGcmFtZXdvcmsgZ3JpZCBnZW5lcmF0aW9uXG4vL1xuLy8gVXNlZCBvbmx5IGJ5IEJvb3RzdHJhcCB0byBnZW5lcmF0ZSB0aGUgY29ycmVjdCBudW1iZXIgb2YgZ3JpZCBjbGFzc2VzIGdpdmVuXG4vLyBhbnkgdmFsdWUgb2YgYCRncmlkLWNvbHVtbnNgLlxuXG4vLyBbY29udmVydGVyXSBUaGlzIGlzIGRlZmluZWQgcmVjdXJzaXZlbHkgaW4gTEVTUywgYnV0IFNhc3Mgc3VwcG9ydHMgcmVhbCBsb29wc1xuQG1peGluIG1ha2UtZ3JpZC1jb2x1bW5zKCRpOiAxLCAkbGlzdDogXCIuY29sLXhzLSN7JGl9LCAuY29sLXNtLSN7JGl9LCAuY29sLW1kLSN7JGl9LCAuY29sLWxnLSN7JGl9XCIpIHtcbiAgQGZvciAkaSBmcm9tICgxICsgMSkgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAkbGlzdDogXCIjeyRsaXN0fSwgLmNvbC14cy0jeyRpfSwgLmNvbC1zbS0jeyRpfSwgLmNvbC1tZC0jeyRpfSwgLmNvbC1sZy0jeyRpfVwiO1xuICB9XG4gICN7JGxpc3R9IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgLy8gUHJldmVudCBjb2x1bW5zIGZyb20gY29sbGFwc2luZyB3aGVuIGVtcHR5XG4gICAgbWluLWhlaWdodDogMXB4O1xuICAgIC8vIElubmVyIGd1dHRlciB2aWEgcGFkZGluZ1xuICAgIHBhZGRpbmctbGVmdDogICgkZ3JpZC1ndXR0ZXItd2lkdGggLyAyKSAqIDFlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAoJGdyaWQtZ3V0dGVyLXdpZHRoIC8gMikgKiAxZW07XG4gIH1cbn1cblxuXG4vLyBbY29udmVydGVyXSBUaGlzIGlzIGRlZmluZWQgcmVjdXJzaXZlbHkgaW4gTEVTUywgYnV0IFNhc3Mgc3VwcG9ydHMgcmVhbCBsb29wc1xuQG1peGluIGZsb2F0LWdyaWQtY29sdW1ucygkY2xhc3MsICRpOiAxLCAkbGlzdDogXCIuY29sLSN7JGNsYXNzfS0jeyRpfVwiKSB7XG4gIEBmb3IgJGkgZnJvbSAoMSArIDEpIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgJGxpc3Q6IFwiI3skbGlzdH0sIC5jb2wtI3skY2xhc3N9LSN7JGl9XCI7XG4gIH1cbiAgI3skbGlzdH0ge1xuICAgIGZsb2F0OiBsZWZ0O1xuICB9XG59XG5cblxuQG1peGluIGNhbGMtZ3JpZC1jb2x1bW4oJGluZGV4LCAkY2xhc3MsICR0eXBlKSB7XG4gIEBpZiAoJHR5cGUgPT0gd2lkdGgpIGFuZCAoJGluZGV4ID4gMCkge1xuICAgIC5jb2wtI3skY2xhc3N9LSN7JGluZGV4fSB7XG4gICAgICB3aWR0aDogcGVyY2VudGFnZSgoJGluZGV4IC8gJGdyaWQtY29sdW1ucykpO1xuICAgIH1cbiAgfVxuICBAaWYgKCR0eXBlID09IHB1c2gpIGFuZCAoJGluZGV4ID4gMCkge1xuICAgIC5jb2wtI3skY2xhc3N9LXB1c2gtI3skaW5kZXh9IHtcbiAgICAgIGxlZnQ6IHBlcmNlbnRhZ2UoKCRpbmRleCAvICRncmlkLWNvbHVtbnMpKTtcbiAgICB9XG4gIH1cbiAgQGlmICgkdHlwZSA9PSBwdXNoKSBhbmQgKCRpbmRleCA9PSAwKSB7XG4gICAgLmNvbC0jeyRjbGFzc30tcHVzaC0wIHtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgfVxuICB9XG4gIEBpZiAoJHR5cGUgPT0gcHVsbCkgYW5kICgkaW5kZXggPiAwKSB7XG4gICAgLmNvbC0jeyRjbGFzc30tcHVsbC0jeyRpbmRleH0ge1xuICAgICAgcmlnaHQ6IHBlcmNlbnRhZ2UoKCRpbmRleCAvICRncmlkLWNvbHVtbnMpKTtcbiAgICB9XG4gIH1cbiAgQGlmICgkdHlwZSA9PSBwdWxsKSBhbmQgKCRpbmRleCA9PSAwKSB7XG4gICAgLmNvbC0jeyRjbGFzc30tcHVsbC0wIHtcbiAgICAgIHJpZ2h0OiBhdXRvO1xuICAgIH1cbiAgfVxuICBAaWYgKCR0eXBlID09IG9mZnNldCkge1xuICAgIC5jb2wtI3skY2xhc3N9LW9mZnNldC0jeyRpbmRleH0ge1xuICAgICAgbWFyZ2luLWxlZnQ6IHBlcmNlbnRhZ2UoKCRpbmRleCAvICRncmlkLWNvbHVtbnMpKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gW2NvbnZlcnRlcl0gVGhpcyBpcyBkZWZpbmVkIHJlY3Vyc2l2ZWx5IGluIExFU1MsIGJ1dCBTYXNzIHN1cHBvcnRzIHJlYWwgbG9vcHNcbkBtaXhpbiBsb29wLWdyaWQtY29sdW1ucygkY29sdW1ucywgJGNsYXNzLCAkdHlwZSkge1xuICBAZm9yICRpIGZyb20gMCB0aHJvdWdoICRjb2x1bW5zIHtcbiAgICBAaW5jbHVkZSBjYWxjLWdyaWQtY29sdW1uKCRpLCAkY2xhc3MsICR0eXBlKTtcbiAgfVxufVxuXG5cbi8vIENyZWF0ZSBncmlkIGZvciBzcGVjaWZpYyBjbGFzc1xuQG1peGluIG1ha2UtZ3JpZCgkY2xhc3MpIHtcbiAgQGluY2x1ZGUgZmxvYXQtZ3JpZC1jb2x1bW5zKCRjbGFzcyk7XG4gIEBpbmNsdWRlIGxvb3AtZ3JpZC1jb2x1bW5zKCRncmlkLWNvbHVtbnMsICRjbGFzcywgd2lkdGgpO1xuICBAaW5jbHVkZSBsb29wLWdyaWQtY29sdW1ucygkZ3JpZC1jb2x1bW5zLCAkY2xhc3MsIHB1bGwpO1xuICBAaW5jbHVkZSBsb29wLWdyaWQtY29sdW1ucygkZ3JpZC1jb2x1bW5zLCAkY2xhc3MsIHB1c2gpO1xuICBAaW5jbHVkZSBsb29wLWdyaWQtY29sdW1ucygkZ3JpZC1jb2x1bW5zLCAkY2xhc3MsIG9mZnNldCk7XG59XG5cblxuLy8gUmVzcG9uc2l2ZSB1dGlsaXRpZXNcbi8vIE1vcmUgZWFzaWx5IGluY2x1ZGUgYWxsIHRoZSBzdGF0ZXMgZm9yIHJlc3BvbnNpdmUtdXRpbGl0aWVzLmxlc3MuXG4vLyBbY29udmVydGVyXSAkcGFyZW50IGhhY2tcbkBtaXhpbiByZXNwb25zaXZlLXZpc2liaWxpdHkoJHBhcmVudCkge1xuICAjeyRwYXJlbnR9IHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG4gIHRhYmxlI3skcGFyZW50fSAgeyBkaXNwbGF5OiB0YWJsZTsgfVxuICB0ciN7JHBhcmVudH0gICAgIHsgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7IH1cbiAgdGgjeyRwYXJlbnR9LFxuICB0ZCN7JHBhcmVudH0gICAgIHsgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG59XG5cbi8vIFtjb252ZXJ0ZXJdICRwYXJlbnQgaGFja1xuQG1peGluIHJlc3BvbnNpdmUtaW52aXNpYmlsaXR5KCRwYXJlbnQpIHtcbiAgI3skcGFyZW50fSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cblxuXG5cblxuXG5cbkBtaXhpbiB0cmFuc2Zvcm0oJHRyYW5zZm9ybSkge1xuICAgIC1tcy10cmFuc2Zvcm06ICR0cmFuc2Zvcm07IC8qIElFIDkgKi9cbiAgICAtd2Via2l0LXRyYW5zZm9ybTogJHRyYW5zZm9ybTsgLyogQ2hyb21lLCBTYWZhcmksIE9wZXJhICovXG4gICAgdHJhbnNmb3JtOiAkdHJhbnNmb3JtO1xufVxuXG5AbWl4aW4gZmxleGJveCgpIHtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICBkaXNwbGF5OiAtbW96LWJveDtcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gICAgZGlzcGxheTogZmxleDtcbn1cblxuLyoqIENBUkQgKiovXG5AbWl4aW4gY2FyZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgJl9fbWVkaWEge1xuICAgICAgICBmbGV4OiAwIDAgNDAlO1xuICAgICAgICBwYWRkaW5nOiAxcmVtO1xuICAgIH1cblxuICAgICZfX2NvbnRlbnQge1xuICAgICAgICBmbGV4OiAwIDAgNjAlO1xuICAgICAgICBwYWRkaW5nOiAxcmVtO1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG5cbiAgICAmX190aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgY29sb3I6ICRjLW1lZGdyYXk7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtcSgkZnJvbTogdGFibGV0KSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwYWRkaW5nOiAycmVtO1xuXG4gICAgICAgIC5jYXJkX19tZWRpYSB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDE0LjVyZW07XG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgfVxuXG4gICAgICAgIC5jYXJkX19jb250ZW50IHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuICAgIH1cbn0iLCIvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuICAgICNIRUxQRVJTXG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG5cbi8qKlxuKiBOb3RpZmljYXRpb25zIG1lc3NhZ2VcbiovXG4lbWVzc2FnZSB7XG4gICAgbWFyZ2luOiAxZW0gMDtcbiAgICBwYWRkaW5nOiAuNWVtIDFlbTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcblxuICAgID4gKjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG59XG5cbkBlYWNoICR0eXBlLCAkY29sb3IgaW4gJG1lc3NhZ2UtdHlwZXMge1xuICAgIC5tZXNzYWdlLS0jeyR0eXBlfSB7XG4gICAgICAgIEBpbmNsdWRlIG1lc3NhZ2UoJGNvbG9yKTtcblxuICAgICAgICAmLi1saWdodCB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQGVhY2ggJHR5cGUsICRjb2xvciBpbiAkbWVzc2FnZS10eXBlcyB7XG4gICAgLnR4dC0tI3skdHlwZX0ge1xuICAgICAgICBjb2xvcjogJGNvbG9yO1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgIH1cbn1cblxuXG4vKipcbiogU2tpcCBsaW5rc1xuKi9cbi5za2lwLWxpbmsge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAtOTk5OTllbTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICB9XG59XG5cblxuXG4vKipcbiogQWxpZ25cbiovXG4udHh0bGVmdCAgIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4udHh0cmlnaHQgIHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuLnR4dGNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLmxlZnQsXG4uc3RhcnQge1xuICAgIGZsb2F0OiBsZWZ0O1xufVxuXG5pbWcubGVmdCxcbmltZy5zdGFydCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxZW07XG59XG5cbi5yaWdodCxcbi5lbmQge1xuICAgIGZsb2F0OiByaWdodCAhaW1wb3J0YW50O1xufVxuXG5pbWcucmlnaHQsXG5pbWcuZW5kIHtcbiAgICBtYXJnaW4tbGVmdDogMWVtO1xufVxuXG5pbWcubGVmdCxcbmltZy5yaWdodCxcbmltZy5zdGFydCxcbmltZy5lbmQge1xuICAgIG1hcmdpbi1ib3R0b206IDAuNWVtO1xufVxuXG5cbi8qXG4gKiBVbnN0eWxlZCBsaXN0IC0gcmVtb3ZlIG1hcmdpbiwgcGFkZGluZyBhbmQgbGlzdCB0eXBlXG4gKi9cbiAldW5zdHlsZWQtbGlzdCxcbi51bnN0eWxlZC1saXN0IHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG59XG5cbnVsLmlubGluZS1saXN0IHtcbiAgICBAZXh0ZW5kIC51bnN0eWxlZC1saXN0O1xuXG4gICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgICAgICAgKyBsaSB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMWVtO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vKlxuICogVW5zdHlsZWQgYnV0dG9uIC0gcmVtb3ZlIGJhY2tncm91bmQsIGJvcmRlciwgcGFkZGluZ1xuICovXG4ldW5zdHlsZWQtYnV0dG9uLFxuLnVuc3R5bGVkLWJ1dHRvbiB7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIHBhZGRpbmc6IDA7XG59XG5cblxuXG4vKlxuICogQ2xlYXJmaXg6IGNvbnRhaW4gZmxvYXRzXG4gKi9cbiAlY2xlYXJmaXg6YWZ0ZXIsXG4gJWNsZWFyZml4OmJlZm9yZSxcbi5jbGVhcmZpeDpiZWZvcmUsXG4uY2xlYXJmaXg6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xufVxuXG4lY2xlYXJmaXg6YWZ0ZXIsXG4uY2xlYXJmaXg6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoO1xufVxuXG5cbi8qKlxuKiBIaWRlIHRleHQgZm9yIGJnIGltZ1xuKi9cbiVoaWRlLXRleHQge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1pbmRlbnQ6IDIwMCU7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLmhpZGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgXG4gICAgJi5hY3RpdmUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG59XG5cbi8qIE1ha2UgaGlkZGVuIHRleHQgYWNjZXNzaWJsZSBieSBzY3JlZW4gcmVhZGVycyAqL1xuJXNyLW9ubHksXG4uc3Itb25seSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxcHg7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IC0xcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBjbGlwOiByZWN0KDAsMCwwLDApO1xuICAgIGJvcmRlcjogMDtcbn1cbi8vIFVzZSBpbiBjb25qdW5jdGlvbiB3aXRoIC5zci1vbmx5IHRvIG9ubHkgZGlzcGxheSBjb250ZW50IHdoZW4gaXQncyBmb2N1c2VkLlxuJXNyLW9ubHktZm9jdXNhYmxlLFxuLnNyLW9ubHktZm9jdXNhYmxlIHtcbiAgICAmOmFjdGl2ZSxcbiAgICAmOmZvY3VzIHtcbiAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAgICAgY2xpcDogYXV0bztcbiAgICB9XG59XG5cbi8qIEhpZGVuIGFueSBET00gb2JqZWN0ICovXG4uZC1ub25lLCAuYnRuLmQtbm9uZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLyoqXG4qIEVtYmVkcyByZXNwb25zaXZlXG4qL1xuLy8gQ3JlZGl0OiBOaWNvbGFzIEdhbGxhZ2hlciBhbmQgU1VJVCBDU1MuXG4uZW1iZWQtcmVzcG9uc2l2ZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAuZW1iZWQtcmVzcG9uc2l2ZV9faXRlbSxcbiAgICBpZnJhbWUsXG4gICAgZW1iZWQsXG4gICAgb2JqZWN0LFxuICAgIHZpZGVvIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgIH1cblxuICAgIC8vIE1vZGlmaWVyIGNsYXNzIGZvciAxNjo5IGFzcGVjdCByYXRpb1xuICAgICYuLXJhdGlvMTZieTkge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNTYuMjUlO1xuICAgIH1cblxuICAgIC8vIE1vZGlmaWVyIGNsYXNzIGZvciA0OjMgYXNwZWN0IHJhdGlvXG4gICAgJi4tcmF0aW80YnkzIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDc1JTtcbiAgICB9XG59XG5cbi4tLW5vLCBzZWN0aW9uLi0tbm8sIC5zZWN0aW9uLi0tbm8ge1xuICAgICYtcGFkIHtwYWRkaW5nOiAwO31cbiAgICAmLXRyYW5zZm9ybSB7dGV4dC10cmFuc2Zvcm06IG5vbmU7fVxuICAgICYtbGluayB7dGV4dC1kZWNvcmF0aW9uOiBub25lO31cbn1cblxuLyoqIFJvdGF0aW9uIGFuaW1hdGlvbiAqL1xuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0aW5nIC8qIFNhZmFyaSBhbmQgQ2hyb21lICovIHtcbiAgICBmcm9tIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICAgICAgLW8tdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgIH1cbiAgICB0byB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgICAgICAgLW8tdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgcm90YXRpbmcge1xuICAgIGZyb20ge1xuICAgICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgICAgIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgICAgIC1vLXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICB9XG4gICAgdG8ge1xuICAgICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgICAgICAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgICAgIC1vLXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgfVxufVxuXG4ucm90YXRpbmcge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uOiByb3RhdGluZyAycyBsaW5lYXIgaW5maW5pdGU7XG4gICAgLW1vei1hbmltYXRpb246IHJvdGF0aW5nIDJzIGxpbmVhciBpbmZpbml0ZTtcbiAgICAtbXMtYW5pbWF0aW9uOiByb3RhdGluZyAycyBsaW5lYXIgaW5maW5pdGU7XG4gICAgLW8tYW5pbWF0aW9uOiByb3RhdGluZyAycyBsaW5lYXIgaW5maW5pdGU7XG4gICAgYW5pbWF0aW9uOiByb3RhdGluZyAycyBsaW5lYXIgaW5maW5pdGU7XG59XG4iLCIvL1xuLy8gUmVzcG9uc2l2ZTogVXRpbGl0eSBjbGFzc2VzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gSUUxMCBpbiBXaW5kb3dzIChQaG9uZSkgOFxuLy9cbi8vIFN1cHBvcnQgZm9yIHJlc3BvbnNpdmUgdmlld3MgdmlhIG1lZGlhIHF1ZXJpZXMgaXMga2luZCBvZiBib3JrZWQgaW4gSUUxMCwgZm9yXG4vLyBTdXJmYWNlL2Rlc2t0b3AgaW4gc3BsaXQgdmlldyBhbmQgZm9yIFdpbmRvd3MgUGhvbmUgOC4gVGhpcyBwYXJ0aWN1bGFyIGZpeFxuLy8gbXVzdCBiZSBhY2NvbXBhbmllZCBieSBhIHNuaXBwZXQgb2YgSmF2YVNjcmlwdCB0byBzbmlmZiB0aGUgdXNlciBhZ2VudCBhbmRcbi8vIGFwcGx5IHNvbWUgY29uZGl0aW9uYWwgQ1NTIHRvICpvbmx5KiB0aGUgU3VyZmFjZS9kZXNrdG9wIFdpbmRvd3MgOC4gTG9vayBhdFxuLy8gb3VyIEdldHRpbmcgU3RhcnRlZCBwYWdlIGZvciBtb3JlIGluZm9ybWF0aW9uIG9uIHRoaXMgYnVnLlxuLy9cbi8vIEZvciBtb3JlIGluZm9ybWF0aW9uLCBzZWUgdGhlIGZvbGxvd2luZzpcbi8vXG4vLyBJc3N1ZTogaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMDQ5N1xuLy8gRG9jczogaHR0cDovL2dldGJvb3RzdHJhcC5jb20vZ2V0dGluZy1zdGFydGVkLyNzdXBwb3J0LWllMTAtd2lkdGhcbi8vIFNvdXJjZTogaHR0cDovL3RpbWthZGxlYy5jb20vMjAxMy8wMS93aW5kb3dzLXBob25lLTgtYW5kLWRldmljZS13aWR0aC9cbi8vIFNvdXJjZTogaHR0cDovL3RpbWthZGxlYy5jb20vMjAxMi8xMC9pZTEwLXNuYXAtbW9kZS1hbmQtcmVzcG9uc2l2ZS1kZXNpZ24vXG5cbkAtbXMtdmlld3BvcnQge1xuICB3aWR0aDogZGV2aWNlLXdpZHRoO1xufVxuXG5cbi8vIFZpc2liaWxpdHkgdXRpbGl0aWVzXG4vLyBOb3RlOiBEZXByZWNhdGVkIC52aXNpYmxlLXhzLCAudmlzaWJsZS1zbSwgLnZpc2libGUtbWQsIGFuZCAudmlzaWJsZS1sZyBhcyBvZiB2My4yLjBcblxuQGluY2x1ZGUgcmVzcG9uc2l2ZS1pbnZpc2liaWxpdHkoJy52aXNpYmxlLXhzJyk7XG5AaW5jbHVkZSByZXNwb25zaXZlLWludmlzaWJpbGl0eSgnLnZpc2libGUtc20nKTtcbkBpbmNsdWRlIHJlc3BvbnNpdmUtaW52aXNpYmlsaXR5KCcudmlzaWJsZS1tZCcpO1xuQGluY2x1ZGUgcmVzcG9uc2l2ZS1pbnZpc2liaWxpdHkoJy52aXNpYmxlLWxnJyk7XG5cbi52aXNpYmxlLXhzLWJsb2NrLFxuLnZpc2libGUteHMtaW5saW5lLFxuLnZpc2libGUteHMtaW5saW5lLWJsb2NrLFxuLnZpc2libGUtc20tYmxvY2ssXG4udmlzaWJsZS1zbS1pbmxpbmUsXG4udmlzaWJsZS1zbS1pbmxpbmUtYmxvY2ssXG4udmlzaWJsZS1tZC1ibG9jayxcbi52aXNpYmxlLW1kLWlubGluZSxcbi52aXNpYmxlLW1kLWlubGluZS1ibG9jayxcbi52aXNpYmxlLWxnLWJsb2NrLFxuLnZpc2libGUtbGctaW5saW5lLFxuLnZpc2libGUtbGctaW5saW5lLWJsb2NrIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogJHNjcmVlbi14cy1tYXgpIHtcbiAgQGluY2x1ZGUgcmVzcG9uc2l2ZS12aXNpYmlsaXR5KCcudmlzaWJsZS14cycpO1xufVxuLnZpc2libGUteHMtYmxvY2sge1xuICBAbWVkaWEgKG1heC13aWR0aDogJHNjcmVlbi14cy1tYXgpIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG59XG4udmlzaWJsZS14cy1pbmxpbmUge1xuICBAbWVkaWEgKG1heC13aWR0aDogJHNjcmVlbi14cy1tYXgpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDtcbiAgfVxufVxuLnZpc2libGUteHMtaW5saW5lLWJsb2NrIHtcbiAgQG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4teHMtbWF4KSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20tbWluKSBhbmQgKG1heC13aWR0aDogJHNjcmVlbi1zbS1tYXgpIHtcbiAgQGluY2x1ZGUgcmVzcG9uc2l2ZS12aXNpYmlsaXR5KCcudmlzaWJsZS1zbScpO1xufVxuLnZpc2libGUtc20tYmxvY2sge1xuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbS1taW4pIGFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLXNtLW1heCkge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi52aXNpYmxlLXNtLWlubGluZSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtLW1pbikgYW5kIChtYXgtd2lkdGg6ICRzY3JlZW4tc20tbWF4KSB7XG4gICAgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi52aXNpYmxlLXNtLWlubGluZS1ibG9jayB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtLW1pbikgYW5kIChtYXgtd2lkdGg6ICRzY3JlZW4tc20tbWF4KSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbWQtbWluKSBhbmQgKG1heC13aWR0aDogJHNjcmVlbi1tZC1tYXgpIHtcbiAgQGluY2x1ZGUgcmVzcG9uc2l2ZS12aXNpYmlsaXR5KCcudmlzaWJsZS1tZCcpO1xufVxuLnZpc2libGUtbWQtYmxvY2sge1xuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1tZC1taW4pIGFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLW1kLW1heCkge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi52aXNpYmxlLW1kLWlubGluZSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLW1kLW1pbikgYW5kIChtYXgtd2lkdGg6ICRzY3JlZW4tbWQtbWF4KSB7XG4gICAgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi52aXNpYmxlLW1kLWlubGluZS1ibG9jayB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLW1kLW1pbikgYW5kIChtYXgtd2lkdGg6ICRzY3JlZW4tbWQtbWF4KSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbGctbWluKSB7XG4gIEBpbmNsdWRlIHJlc3BvbnNpdmUtdmlzaWJpbGl0eSgnLnZpc2libGUtbGcnKTtcbn1cbi52aXNpYmxlLWxnLWJsb2NrIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbGctbWluKSB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxufVxuLnZpc2libGUtbGctaW5saW5lIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbGctbWluKSB7XG4gICAgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi52aXNpYmxlLWxnLWlubGluZS1ibG9jayB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLWxnLW1pbikge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAkc2NyZWVuLXhzLW1heCkge1xuICBAaW5jbHVkZSByZXNwb25zaXZlLWludmlzaWJpbGl0eSgnLmhpZGRlbi14cycpO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbS1taW4pIGFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLXNtLW1heCkge1xuICBAaW5jbHVkZSByZXNwb25zaXZlLWludmlzaWJpbGl0eSgnLmhpZGRlbi1zbScpO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1tZC1taW4pIGFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLW1kLW1heCkge1xuICBAaW5jbHVkZSByZXNwb25zaXZlLWludmlzaWJpbGl0eSgnLmhpZGRlbi1tZCcpO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1sZy1taW4pIHtcbiAgQGluY2x1ZGUgcmVzcG9uc2l2ZS1pbnZpc2liaWxpdHkoJy5oaWRkZW4tbGcnKTtcbn1cblxuXG4vLyBQcmludCB1dGlsaXRpZXNcbi8vXG4vLyBNZWRpYSBxdWVyaWVzIGFyZSBwbGFjZWQgb24gdGhlIGluc2lkZSB0byBiZSBtaXhpbi1mcmllbmRseS5cblxuLy8gTm90ZTogRGVwcmVjYXRlZCAudmlzaWJsZS1wcmludCBhcyBvZiB2My4yLjBcblxuQGluY2x1ZGUgcmVzcG9uc2l2ZS1pbnZpc2liaWxpdHkoJy52aXNpYmxlLXByaW50Jyk7XG5cbkBtZWRpYSBwcmludCB7XG4gIEBpbmNsdWRlIHJlc3BvbnNpdmUtdmlzaWJpbGl0eSgnLnZpc2libGUtcHJpbnQnKTtcbn1cbi52aXNpYmxlLXByaW50LWJsb2NrIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuXG4gIEBtZWRpYSBwcmludCB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxufVxuLnZpc2libGUtcHJpbnQtaW5saW5lIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuXG4gIEBtZWRpYSBwcmludCB7XG4gICAgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi52aXNpYmxlLXByaW50LWlubGluZS1ibG9jayB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcblxuICBAbWVkaWEgcHJpbnQge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSBwcmludCB7XG4gIEBpbmNsdWRlIHJlc3BvbnNpdmUtaW52aXNpYmlsaXR5KCcuaGlkZGVuLXByaW50Jyk7XG59XG4iLCIvKlxuICogTWFwcGxpYyAtIEN1c3RvbSBJbnRlcmFjdGl2ZSBNYXAgUGx1Z2luIGJ5IEBzZWtsZXJcbiAqIFZlcnNpb24gNS4wLjFcbiAqIGh0dHBzOi8vd3d3Lm1hcHBsaWMuY29tL1xuICovXG5cbi5tYXBwbGljLWVsZW1lbnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGZvbnQtc2l6ZTogMDtcbiAgICBoZWlnaHQ6IDQyMHB4O1xufVxuXG4ubWFwcGxpYy1lbGVtZW50IGlucHV0LFxuLm1hcHBsaWMtZWxlbWVudCBidXR0b24sXG4ubWFwcGxpYy1lbGVtZW50IGEsXG4ubWFwcGxpYy1lbGVtZW50IGE6YWN0aXZlIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi5tYXBwbGljLWVsZW1lbnQgYTpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbn1cblxuLm1hcHBsaWMtZWxlbWVudCA+ICoge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjRzO1xufVxuXG4ubWFwcGxpYy1lbGVtZW50Lm1hcHBsaWMtbG9hZGluZyA+ICoge1xuICAgIG9wYWNpdHk6IDA7XG59XG5cbi8qIFByZWxvYWRlciAmIEVycm9yICovXG4ubWFwcGxpYy1lbGVtZW50Lm1hcHBsaWMtbG9hZGluZyB7XG4gICAgYmFja2dyb3VuZDogdXJsKC4uLy4uL2ltYWdlcy9tYXBwbGljL2xvYWRlci5naWYpIG5vLXJlcGVhdCBjZW50ZXI7XG59XG5cbi5tYXBwbGljLWVsZW1lbnQubWFwcGxpYy1lcnJvciB7XG4gICAgYmFja2dyb3VuZDogdXJsKC4uLy4uL2ltYWdlcy9tYXBwbGljL2Vycm9yLWljb24ucG5nKSBuby1yZXBlYXQgY2VudGVyO1xufVxuXG4vKiBNYXAgY29udGFpbmVyICovXG4ubWFwcGxpYy1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDcwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG59XG5cbi5tYXBwbGljLW1hcCB7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogMCAwO1xufVxuXG4vKiBNYXAgbGF5ZXIgKi9cbi5tYXBwbGljLWxheWVyIGltZyB7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi8qIElFIEZpeCAqL1xuLm1hcHBsaWMtbGF5ZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG59XG5cbi5tYXBwbGljLW1hcCAubWFwcGxpYy1tYXAtaW1hZ2Uge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbn1cblxuLyogSUUgRml4IEVORCAqL1xuXG4ubWFwcGxpYy1tYXAubWFwcGxpYy16b29tYWJsZSAubWFwcGxpYy1tYXAtaW1hZ2Uge1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuLm1hcHBsaWMtbWFwLm1hcHBsaWMtem9vbWFibGUubWFwcGxpYy1kcmFnZ2luZyAubWFwcGxpYy1tYXAtaW1hZ2Uge1xuICAgIGN1cnNvcjogbW92ZTtcbn1cblxuLyogUGluIHR5cGVzICovXG4ubWFwcGxpYy1waW4ge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi8uLi9pbWFnZXMvbWFwcGxpYy9waW4ucG5nKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDE4cHggMjRweDtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICBmb250LXNpemU6IDA7XG4gICAgd2lkdGg6IDE4cHg7XG4gICAgaGVpZ2h0OiAyNHB4O1xuICAgIG1hcmdpbi10b3A6IC0yM3B4O1xuICAgIG1hcmdpbi1sZWZ0OiAtOXB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgMTAwJTtcblxuICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG5cbi5tYXBwbGljLXBpbi5oaWRlIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4vKiBNYXJrZXIgdHlwZXMgKi9cbi5tYXBwbGljLXBpbi5tYXBwbGljLWFjdGl2ZSB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbn1cblxuLm1hcHBsaWMtcGluLnBpbi1jbGFzc2ljIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjIzNTQzO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgYm9yZGVyLWNvbG9yOiAjZjIzNTQzO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDIycHggIWltcG9ydGFudDtcbiAgICB3aWR0aDogMjBweDtcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgbWFyZ2luLXRvcDogLTIwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IC0xMHB4O1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IDUwJSAxMDAlO1xufVxuXG4ubWFwcGxpYy1waW4ucGluLWNsYXNzaWM6YmVmb3JlIHtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aDogOXB4IDhweCAwIDhweDtcbiAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItbGVmdC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMTZweDtcbiAgICBsZWZ0OiAycHg7XG59XG5cbi5tYXBwbGljLXBpbjpiZWZvcmUge1xuICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94ICFpbXBvcnRhbnQ7XG59XG5cbi5tYXBwbGljLXBpbi5waW4tbWFya2VyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmRjYTJhO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgYm9yZGVyLWNvbG9yOiAjZmRjYTJhO1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICB3aWR0aDogMTZweDtcbiAgICBoZWlnaHQ6IDE2cHg7XG4gICAgbWFyZ2luLXRvcDogLThweDtcbiAgICBtYXJnaW4tbGVmdDogLThweDtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlO1xufVxuXG4ubWFwcGxpYy1waW4ucGluLW1hcmtlcjpiZWZvcmUge1xuICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aDogNnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDE2cHg7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgb3BhY2l0eTogMC40O1xuICAgIHdpZHRoOiAxNnB4O1xuICAgIGhlaWdodDogMTZweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogLTZweDtcbiAgICB0b3A6IC02cHg7XG59XG5cbi5tYXBwbGljLXBpbi5waW4tZGlzayB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGUgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgIGJvcmRlci1jb2xvcjogI2YxOTgxOTtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgY29sb3I6ICMzMzMgIWltcG9ydGFudDtcbiAgICB3aWR0aDogMTZweDtcbiAgICBoZWlnaHQ6IDE2cHg7XG4gICAgbWFyZ2luLXRvcDogLThweDtcbiAgICBtYXJnaW4tbGVmdDogLThweDtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlO1xufVxuXG4ubWFwcGxpYy1waW4ucGluLWRpc2s6YmVmb3JlIHtcbiAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItd2lkdGg6IDNweDtcbiAgICBib3JkZXItcmFkaXVzOiAxNnB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxNnB4O1xuICAgIGhlaWdodDogMTZweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogLTNweDtcbiAgICB0b3A6IC0zcHg7XG59XG5cbi5tYXBwbGljLXBpbi5waW4tcmliYm9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDZiNDUwO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgYm9yZGVyLWNvbG9yOiAjNDZiNDUwO1xuICAgIGJvcmRlci1yYWRpdXM6IDJweCAycHggMnB4IDA7XG4gICAgaGVpZ2h0OiAxNnB4O1xuICAgIG1pbi13aWR0aDogMTBweDtcbiAgICB3aWR0aDogYXV0bztcbiAgICBwYWRkaW5nOiAwIDNweDtcbiAgICBtYXJnaW4tbGVmdDogLThweDtcbiAgICBtYXJnaW4tdG9wOiAtMjBweDtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiA4cHggMjBweDtcbn1cblxuLm1hcHBsaWMtcGluLnBpbi1yaWJib246YWZ0ZXIge1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiAwIDhweCA0cHggMDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHJnYmEoMCwgMCwgMCwgMC41KSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxNnB4O1xuICAgIGxlZnQ6IDBweDtcbn1cblxuLm1hcHBsaWMtcGluLnBpbi1yaWJib246YmVmb3JlIHtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aDogMCA4cHggNHB4IDA7XG4gICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgIGJvcmRlci10b3AtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxNnB4O1xuICAgIGxlZnQ6IDBweDtcbn1cblxuLm1hcHBsaWMtcGluLnBpbi1kb3Qge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgICBib3JkZXItY29sb3I6ICMyOWFmYTE7XG4gICAgY29sb3I6ICMzMzMgIWltcG9ydGFudDtcbiAgICBoZWlnaHQ6IDE2cHg7XG4gICAgbWluLXdpZHRoOiAxMHB4O1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIHBhZGRpbmc6IDAgM3B4O1xuICAgIG1hcmdpbi1sZWZ0OiA0cHg7XG4gICAgbWFyZ2luLXRvcDogLThweDtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiAtNHB4IDhweDtcbn1cblxuLm1hcHBsaWMtcGluLnBpbi1kb3Q6YmVmb3JlIHtcbiAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItd2lkdGg6IDNweDtcbiAgICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwcHg7XG4gICAgaGVpZ2h0OiAwcHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNXB4O1xuICAgIGxlZnQ6IC03cHg7XG59XG5cbi8qIEltYWdlIHBpbiAqL1xuLm1hcHBsaWMtcGluLnBpbi1pbWFnZSB7XG4gICAgYmFja2dyb3VuZC1zaXplOiAzMnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGJveC1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG4gICAgYm9yZGVyOiAycHggc29saWQgI2ZmZjtcbiAgICB3aWR0aDogMzJweDtcbiAgICBoZWlnaHQ6IDMycHg7XG4gICAgbWFyZ2luLXRvcDogLTE2cHg7XG4gICAgbWFyZ2luLWxlZnQ6IC0xNnB4O1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IDUwJTtcbn1cblxuLm1hcHBsaWMtcGluLm9yYW5nZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uLy4uL2ltYWdlcy9tYXBwbGljL3Bpbi1vcmFuZ2UucG5nKTtcbn1cblxuLm1hcHBsaWMtcGluLnllbGxvdyB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uLy4uL2ltYWdlcy9tYXBwbGljL3Bpbi15ZWxsb3cucG5nKTtcbn1cblxuLm1hcHBsaWMtcGluLmdyZWVuIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vLi4vaW1hZ2VzL21hcHBsaWMvcGluLWdyZWVuLnBuZyk7XG59XG5cbi5tYXBwbGljLXBpbi5ibHVlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vLi4vaW1hZ2VzL21hcHBsaWMvcGluLWJsdWUucG5nKTtcbn1cblxuLm1hcHBsaWMtcGluLnB1cnBsZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uLy4uL2ltYWdlcy9tYXBwbGljL3Bpbi1wdXJwbGUucG5nKTtcbn1cblxuLm1hcHBsaWMtcGluLmNpcmN1bGFyIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmYjc1NzU7XG4gICAgYm9yZGVyLXJhZGl1czogNnB4O1xuICAgIGJveC1zaGFkb3c6IDAgLTJweCAwIHJnYmEoMCwgMCwgMCwgMC4xKSBpbnNldDtcbiAgICB3aWR0aDogMTJweDtcbiAgICBoZWlnaHQ6IDEycHg7XG4gICAgbWFyZ2luLWxlZnQ6IC02cHg7XG4gICAgbWFyZ2luLXRvcDogLTZweDtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlO1xufVxuXG4ubWFwcGxpYy1waW4uY2lyY2xlIHtcbiAgICBiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyOiAycHggc29saWQgI2ZiNzU3NTtcbiAgICB3aWR0aDogOHB4O1xuICAgIGhlaWdodDogOHB4O1xuICAgIG1hcmdpbi1sZWZ0OiAtNnB4O1xuICAgIG1hcmdpbi10b3A6IC02cHg7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDUwJTtcbn1cblxuLm1hcHBsaWMtcGluLnRyYW5zcGFyZW50IHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM3OTVlY2Q7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICB3aWR0aDogMjBweDtcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IC0xMHB4O1xuICAgIG1hcmdpbi10b3A6IC0xMHB4O1xuICAgIG9wYWNpdHk6IDAuNSAhaW1wb3J0YW50O1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7XG59XG5cbi5tYXBwbGljLXBpbi5waW4tbGFiZWwge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgbGluZS1oZWlnaHQ6IDE2cHg7XG59XG5cbi5tYXBwbGljLXBpbi5waW4tbGFiZWw6dmlzaXRlZCB7XG4gICAgY29sb3I6ICNmZmY7XG59XG5cbi5tYXBwbGljLXBpbi5waW4tbWQge1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBtYXJnaW4tbGVmdDogLTEwcHg7XG4gICAgbWFyZ2luLXRvcDogLTEwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgaGVpZ2h0OiAyMHB4O1xufVxuXG4ubWFwcGxpYy1waW4ucGluLWxnIHtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgbWFyZ2luLWxlZnQ6IC0xNXB4O1xuICAgIG1hcmdpbi10b3A6IC0xNXB4O1xuICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICAgIHdpZHRoOiAzMHB4O1xuICAgIGhlaWdodDogMzBweDtcbn1cblxuLm1hcHBsaWMtcGluLnBpbi14bCB7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIG1hcmdpbi1sZWZ0OiAtMjBweDtcbiAgICBtYXJnaW4tdG9wOiAtMjBweDtcbiAgICBsaW5lLWhlaWdodDogNDBweDtcbiAgICB3aWR0aDogNDBweDtcbiAgICBoZWlnaHQ6IDQwcHg7XG59XG5cbi5tYXBwbGljLXBpbi5waW4tcHVsc2U6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjODg4O1xuICAgIGJvcmRlci1yYWRpdXM6IDMwcHg7XG4gICAgaGVpZ2h0OiBpbmhlcml0O1xuICAgIHdpZHRoOiBpbmhlcml0O1xuICAgIHRvcDogLTJweDtcbiAgICBsZWZ0OiAtMnB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBhbmltYXRpb246IHB1bHNhdGUgMS44cyBlYXNlLW91dDtcbiAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcbiAgICBhbmltYXRpb24tZGVsYXk6IDFzO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBwdWxzYXRlIHtcbiAgICAwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLCAxKTtcbiAgICAgICAgb3BhY2l0eTogMC4wO1xuICAgIH1cbiAgICAyNSUge1xuICAgICAgICBvcGFjaXR5OiAwLjU7XG4gICAgfVxuICAgIDUwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjYsIDEuNik7XG4gICAgICAgIG9wYWNpdHk6IDAuMDtcbiAgICB9XG59XG5cbi8qIE1pbmltYXAgKi9cbi5tYXBwbGljLW1pbmltYXAge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbWFyZ2luOiAxMnB4O1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIG9wYWNpdHk6IDAuNTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC40cztcblxuICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG5cbi5tYXBwbGljLW1pbmltYXAtbGF5ZXIge1xuICAgIGxpbmUtaGVpZ2h0OiAwO1xufVxuXG4ubWFwcGxpYy1taW5pbWFwIGltZyB7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5tYXBwbGljLW1pbmltYXAtb3ZlcmxheSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjQpO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG59XG5cbi5tYXBwbGljLW1pbmltYXAgLm1hcHBsaWMtbWluaW1hcC1hY3RpdmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xufVxuXG4ubWFwcGxpYy1taW5pbWFwLWJhY2tncm91bmQge1xuICAgIHdpZHRoOiAxNDBweCAhaW1wb3J0YW50O1xuICAgIC13ZWJraXQtZmlsdGVyOiBibHVyKDJweCk7XG59XG5cbi8qIFVJIEJ1dHRvbnMgKi9cbi5tYXBwbGljLWJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICB3aWR0aDogMjhweDtcbiAgICBoZWlnaHQ6IDI4cHg7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzO1xufVxuXG4ubWFwcGxpYy1jb250YWluZXIgPiAubWFwcGxpYy1idXR0b24ge1xuICAgIGJveC1zaGFkb3c6IDAgMCAxMnB4IHJnYmEoMCwgMCwgMCwgMC4wNik7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIG1hcmdpbjogMTJweDtcbn1cblxuLm1hcHBsaWMtYnV0dG9uOmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZjhmODtcbn1cblxuLyogQ2xlYXIgQnV0dG9uICovXG4ubWFwcGxpYy1jbGVhci1idXR0b24ge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi8uLi9pbWFnZXMvbWFwcGxpYy9yZXNldC5zdmcpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTZweCAxNnB4O1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgYm90dG9tOiA2OXB4O1xuICAgIHJpZ2h0OiAwO1xufVxuXG4vKiBab29tIEJ1dHRvbnMgKi9cbi5tYXBwbGljLXpvb20tYnV0dG9ucyB7XG4gICAgYm94LXNoYWRvdzogMCAwIDEycHggcmdiYSgwLCAwLCAwLCAwLjA2KTtcbiAgICBtYXJnaW46IDEycHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbn1cblxuLm1hcHBsaWMtem9vbS1idXR0b25zIGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4ubWFwcGxpYy16b29tLWJ1dHRvbnMgYS5tYXBwbGljLWRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlO1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuYS5tYXBwbGljLXpvb21pbi1idXR0b24ge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi8uLi9pbWFnZXMvbWFwcGxpYy9wbHVzLnN2Zyk7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxMHB4IDEwcHg7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlZWU7XG59XG5cbmEubWFwcGxpYy16b29tb3V0LWJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uLy4uL2ltYWdlcy9tYXBwbGljL21pbnVzLnN2Zyk7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxMHB4IDEwcHg7XG59XG5cbi8qIEZ1bGxzY3JlZW4gKi9cbi5tYXBwbGljLWZ1bGxzY3JlZW4ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjQ4LCAyNDgsIDI0OCwgMC45NSk7XG4gICAgcG9zaXRpb246IGZpeGVkICFpbXBvcnRhbnQ7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgbWF4LWhlaWdodDogMTAwJSAhaW1wb3J0YW50O1xuICAgIHotaW5kZXg6IDk5OTgwO1xufVxuXG4ubWFwcGxpYy1mdWxsc2NyZWVuLWJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uLy4uL2ltYWdlcy9tYXBwbGljL2Z1bGxzY3JlZW4uc3ZnKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDE0cHggMTRweDtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbn1cblxuLm1hcHBsaWMtZnVsbHNjcmVlbiAubWFwcGxpYy1mdWxsc2NyZWVuLWJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uLy4uL2ltYWdlcy9tYXBwbGljL2Z1bGxzY3JlZW4tZXhpdC5zdmcpO1xufVxuXG4ubWFwcGxpYy1mdWxsc2NyZWVuIC5tYXBwbGljLWNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDgwJTtcbn1cblxuLm1hcHBsaWMtZnVsbHNjcmVlbiAubWFwcGxpYy1zaWRlYmFyIHtcbiAgICB3aWR0aDogMjAlO1xufVxuXG4vKiBMZXZlbHMgKi9cbi5tYXBwbGljLWxldmVscyB7XG4gICAgYm94LXNoYWRvdzogMCAwIDEwcHggcmdiYSgwLCAwLCAwLCAwLjA0KTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIG1hcmdpbjogMTJweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4ubWFwcGxpYy1sZXZlbHMgPiAqIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4ubWFwcGxpYy1sZXZlbHMtc2VsZWN0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGNvbG9yOiAjMmYzNDM1O1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAxMHB4IDhweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi5tYXBwbGljLWxldmVscyBhIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgIGJhY2tncm91bmQtc2l6ZTogOHB4IDRweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgaGVpZ2h0OiA1MCU7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwO1xufVxuXG4ubWFwcGxpYy1sZXZlbHMgYTphY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmOGY4Zjg7XG59XG5cbi5tYXBwbGljLWxldmVscyAubWFwcGxpYy1sZXZlbHMtdXAge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi8uLi9pbWFnZXMvbWFwcGxpYy9hcnJvdy11cC5zdmcpO1xufVxuXG4ubWFwcGxpYy1sZXZlbHMgLm1hcHBsaWMtbGV2ZWxzLWRvd24ge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi8uLi9pbWFnZXMvbWFwcGxpYy9hcnJvdy1kb3duLnN2Zyk7XG4gICAgYm90dG9tOiAwO1xufVxuXG4ubWFwcGxpYy1sZXZlbHMgYS5tYXBwbGljLWRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlO1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuLyogU2lkZWJhciAqL1xuLm1hcHBsaWMtc2lkZWJhciB7XG4gICAgd2lkdGg6IDMwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcGFkZGluZzogOTJweCAwIDEycHggMTJweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLm1hcHBsaWMtc2lkZWJhciA+ICoge1xuICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xufVxuXG4ubWFwcGxpYy1jb250YWluZXIge1xuICAgIGZsb2F0OiByaWdodDtcbn1cblxuLyogUmlnaHQgc2lkZWJhciAqL1xuLm1hcHBsaWMtc2lkZWJhci1yaWdodCAubWFwcGxpYy1jb250YWluZXIge1xuICAgIGZsb2F0OiBsZWZ0O1xufVxuXG4ubWFwcGxpYy1zaWRlYmFyLXJpZ2h0IC5tYXBwbGljLXNpZGViYXIge1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBwYWRkaW5nOiA5MnB4IDEycHggMTJweCAwO1xufVxuXG4vKiBTZWFyY2ggKi9cbi5tYXBwbGljLWZpbHRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBib3gtc2hhZG93OiAwIDRweCAxMHB4IHJnYmEoMCwgMCwgMCwgMC4wNCk7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBtYXJnaW46IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBtYXJnaW4tdG9wOiAtODBweDtcbiAgICBwYWRkaW5nOiAxNnB4IDIwcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHotaW5kZXg6IDE7XG59XG5cbi5tYXBwbGljLXNlYXJjaC1pbnB1dCB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uLy4uL2ltYWdlcy9tYXBwbGljL21hZ25pZmllci5zdmcpICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxNHB4IDE0cHggIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0ICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGZvbnQtc2l6ZTogMjBweCAhaW1wb3J0YW50O1xuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogNDhweCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDI0cHggMjRweCA0cHggMCAhaW1wb3J0YW50O1xufVxuXG4ubWFwcGxpYy1zZWFyY2gtaW5wdXQ6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLm1hcHBsaWMtc2VhcmNoLWlucHV0OjpwbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICNjY2M7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLm1hcHBsaWMtc2VhcmNoLWlucHV0OjotbXMtY2xlYXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xufVxuXG4ubWFwcGxpYy1zZWFyY2gtY2xlYXIge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi8uLi9pbWFnZXMvbWFwcGxpYy9jcm9zcy5zdmcpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogOHB4IDhweDtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAzMnB4O1xuICAgIHJpZ2h0OiA4cHg7XG4gICAgbWFyZ2luOiAycHggMDtcbiAgICB3aWR0aDogMzRweDtcbiAgICBoZWlnaHQ6IDM0cHg7XG59XG5cbi8qIFNlYXJjaCBEaXNhYmxlZCAqL1xuLm1hcHBsaWMtc2lkZWJhci1ub3NlYXJjaCB7XG4gICAgcGFkZGluZy10b3A6IDU2cHg7XG59XG5cbi5tYXBwbGljLXNpZGViYXItbm9zZWFyY2ggLm1hcHBsaWMtZmlsdGVyIHtcbiAgICBtYXJnaW4tdG9wOiAtNDRweDtcbiAgICBoZWlnaHQ6IDQ0cHg7XG59XG5cbi8qIFRhZ3MgKi9cbi5tYXBwbGljLWZpbHRlci10YWdzIHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxNHB4O1xuICAgIHJpZ2h0OiAxNnB4O1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5tYXBwbGljLXRhZyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzJmMzQzNDtcbiAgICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBmb250LXNpemU6IDExcHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBtYXJnaW4tbGVmdDogNHB4O1xuICAgIHBhZGRpbmc6IDFweCA2cHggMnB4IDhweDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi5tYXBwbGljLXRhZyA+IHNwYW4ge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi8uLi9pbWFnZXMvbWFwcGxpYy9jcm9zcy1saWdodC5zdmcpO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogNnB4IDZweDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLWxlZnQ6IDZweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxcHg7XG4gICAgd2lkdGg6IDZweDtcbiAgICBoZWlnaHQ6IDZweDtcbiAgICBvcGFjaXR5OiAwLjU7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzO1xufVxuXG4ubWFwcGxpYy10YWc6aG92ZXIgPiBzcGFuIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMik7XG4gICAgb3BhY2l0eTogMS4wO1xufVxuXG4vKiBTaWRlYmFyIGxpc3QgKi9cbi5tYXBwbGljLWxpc3QtY29udGFpbmVyIHtcbiAgICBib3gtc2hhZG93OiAwIDRweCAxMHB4IHJnYmEoMCwgMCwgMCwgMC4wNCk7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG59XG5cbi5tYXBwbGljLWxpc3QtY29udGFpbmVyOmJlZm9yZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY29udGVudDogJyc7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwcHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IDEwMDtcbn1cblxuLm1hcHBsaWMtbGlzdCB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICAgIG1hcmdpbjogMDtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIGhlaWdodDogMTAwJTtcbn1cblxuLm1hcHBsaWMtbGlzdC1jb250YWluZXIgb2wge1xuICAgIGJvcmRlci1jb2xvcjogI2VlZTtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xufVxuXG4ubWFwcGxpYy1saXN0LWV4cGFuZGFibGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgcGFkZGluZzogMTBweCAwO1xufVxuXG4ubWFwcGxpYy1saXN0LWNvbnRhaW5lciBsaSB7XG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG59XG5cbi5tYXBwbGljLWxpc3QtY2F0ZWdvcnkgPiBhIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGNvbG9yOiAjMmYzNDM0ICFpbXBvcnRhbnQ7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiA2cHggMTBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzO1xufVxuXG4ubWFwcGxpYy1saXN0LWNhdGVnb3J5ID4gYTpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZjhmODtcbn1cblxuLm1hcHBsaWMtbGlzdC1jYXRlZ29yeSBoNCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBsaW5lLWhlaWdodDogMjJweDtcbiAgICBtYXJnaW46IDA7XG59XG5cbi5tYXBwbGljLWxpc3QtY2F0ZWdvcnkgaDQubWFwcGxpYy1tYXJnaW4ge1xuICAgIG1hcmdpbi10b3A6IDlweDtcbn1cblxuLm1hcHBsaWMtYWJvdXQge1xuICAgIGNvbG9yOiAjYWFhO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGxpbmUtaGVpZ2h0OiAxNnB4O1xufVxuXG4vKiBUaHVtYm5haWwgKi9cbi5tYXBwbGljLWxpc3QtY2F0ZWdvcnkgLm1hcHBsaWMtdGh1bWJuYWlsIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYWFhO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICB3aWR0aDogNDBweDtcbiAgICBoZWlnaHQ6IDQwcHg7XG59XG5cbi5tYXBwbGljLWxpc3QtY2F0ZWdvcnkgLm1hcHBsaWMtdGh1bWJuYWlsLXBsYWNlaG9sZGVyIHtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgbGluZS1oZWlnaHQ6IDI1cHg7XG59XG5cbi5tYXBwbGljLXRodW1ibmFpbCB7XG4gICAgYm9yZGVyLXJhZGl1czogMHB4O1xuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDUwcHg7XG4gICAgaGVpZ2h0OiA1MHB4O1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xufVxuXG4ubWFwcGxpYy10aHVtYm5haWwtcGxhY2Vob2xkZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlZWU7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBmb250LXNpemU6IDI0cHg7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBsaW5lLWhlaWdodDogMzRweDtcbiAgICBwYWRkaW5nOiA4cHggNHB4O1xuICAgIHdpZHRoOiA1MHB4O1xuICAgIGhlaWdodDogNTBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5tYXBwbGljLWxpc3QtY2F0ZWdvcnkgPiBhIC5tYXBwbGljLWxpc3QtY291bnQge1xuICAgIGNvbG9yOiAjYWFhO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIG1hcmdpbi1sZWZ0OiA0cHg7XG59XG5cbi8qIExpc3QgbG9jYXRpb24gKi9cbi5tYXBwbGljLWxpc3QtbG9jYXRpb24ge1xuICAgIGJvcmRlci1jb2xvcjogI2FhYTtcbiAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG59XG5cbi5tYXBwbGljLWxpc3QtbG9jYXRpb25bZGF0YS1sb2NhdGlvbj1pbml0XSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4ubWFwcGxpYy1saXN0LWxvY2F0aW9uID4gYSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBib3JkZXItbGVmdDogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBwYWRkaW5nOiAxMHB4IDIwcHggMTBweCAxOHB4O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBib3JkZXIsIGJhY2tncm91bmQtY29sb3IgMC4xcztcbn1cblxuLm1hcHBsaWMtbGlzdC1sb2NhdGlvbiA+IGE6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNsZWFyOiBib3RoO1xufVxuXG4ubWFwcGxpYy1saXN0LWxvY2F0aW9uID4gYTpob3Zlcixcbi5tYXBwbGljLWxpc3QtbG9jYXRpb24gPiBhOmZvY3VzLFxuLm1hcHBsaWMtbGlzdC1sb2NhdGlvbi5tYXBwbGljLWZvY3VzID4gYSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZhZmFmYTtcbn1cblxuLm1hcHBsaWMtbGlzdC1sb2NhdGlvbi5tYXBwbGljLWFjdGl2ZSA+IGEge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmYWZhZmE7XG4gICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xufVxuXG4ubWFwcGxpYy1saXN0LWxvY2F0aW9uIGg0IHtcbiAgICBjb2xvcjogIzJmMzQzNTtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBsaW5lLWhlaWdodDogMThweDtcbiAgICBtYXJnaW46IDRweCAwICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMDtcbiAgICBjbGVhcjogbm9uZTtcbn1cblxuLyogVG9vbHRpcCAqL1xuLm1hcHBsaWMtdG9vbHRpcCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBtYXJnaW4gMC4xcztcbiAgICAtbW96LXRyYW5zaXRpb246IG1hcmdpbiAwLjFzO1xuICAgIHRyYW5zaXRpb246IG1hcmdpbiAwLjFzO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IDAgMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMzBweDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLm1hcHBsaWMtdG9vbHRpcDphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLWNvbG9yOiAjZmZmIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItd2lkdGg6IDhweCA3cHggMCA3cHg7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDMwcHg7XG4gICAgbGVmdDogNTAlO1xuICAgIG1hcmdpbi1ib3R0b206IC03cHg7XG4gICAgbWFyZ2luLWxlZnQ6IC03cHg7XG59XG5cbi5tYXBwbGljLXRvb2x0aXAtd3JhcCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBib3gtc2hhZG93OiAwIDAgMjBweCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xuICAgIG1heC13aWR0aDogMzAwcHg7XG4gICAgbWluLXdpZHRoOiAxMjBweDtcbiAgICBwYWRkaW5nOiAxNnB4O1xuICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xufVxuXG4ubWFwcGxpYy10b29sdGlwLXdyYXA6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBjbGVhcjogYm90aDtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbn1cblxuLm1hcHBsaWMtdG9vbHRpcCBpbWcge1xuICAgIG1heC13aWR0aDogMTAwJTtcbn1cblxuLm1hcHBsaWMtdG9vbHRpcCAubWFwcGxpYy1pbWFnZSB7XG4gICAgbWFyZ2luOiAtMTZweDtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG59XG5cbi5tYXBwbGljLXRvb2x0aXAtdGl0bGUge1xuICAgIGNvbG9yOiAjMzMzO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgbWFyZ2luOiAwIDEycHggMCAwICFpbXBvcnRhbnQ7XG59XG5cbi5oYXMtaW1hZ2UgLm1hcHBsaWMtdG9vbHRpcC10aXRsZSB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgbWFyZ2luOiAtMjBweCAxMnB4IDIwcHggMCAhaW1wb3J0YW50O1xufVxuXG4ubWFwcGxpYy1ob3ZlcnRpcCxcbi5tYXBwbGljLWhvdmVydGlwID4gLm1hcHBsaWMtdG9vbHRpcC13cmFwIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLm1hcHBsaWMtaG92ZXJ0aXAgPiAubWFwcGxpYy10b29sdGlwLXdyYXAge1xuICAgIG1pbi13aWR0aDogMjBweDtcbiAgICBwYWRkaW5nOiA2cHggMTRweDtcbn1cblxuLm1hcHBsaWMtaG92ZXJ0aXAgLm1hcHBsaWMtdG9vbHRpcC10aXRsZSB7XG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLm1hcHBsaWMtdG9vbHRpcC1jb250ZW50IHtcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDZweDtcbiAgICBtYXgtaGVpZ2h0OiAxNjBweDtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbn1cblxuLm1hcHBsaWMtdG9vbHRpcCAubWFwcGxpYy10aHVtYm5haWwge1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJSAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiA0OHB4O1xuICAgIGhlaWdodDogNDhweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDEycHg7XG59XG5cbi5tYXBwbGljLXRvb2x0aXAtZGVzY3JpcHRpb24sXG4ubWFwcGxpYy10b29sdGlwIHAge1xuICAgIGNvbG9yOiAjODg4O1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICBtYXJnaW46IDA7XG59XG5cbi5tYXBwbGljLXRvb2x0aXAgcCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiA2cHg7XG59XG5cbi5tYXBwbGljLXRvb2x0aXAtZGVzY3JpcHRpb24gcDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW46IDA7XG59XG5cbi5tYXBwbGljLXBvcHVwLWxpbmsge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM4ODg7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIGJveC1zaGFkb3c6IDAgMCA2cHggcmdiYSgwLCAwLCAwLCAwLjEpICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICNmZmYgIWltcG9ydGFudDtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIG1hcmdpbi10b3A6IDRweDtcbiAgICBwYWRkaW5nOiA0cHggOHB4O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMsIGJveC1zaGFkb3cgMC4ycztcbn1cblxuLm1hcHBsaWMtcG9wdXAtbGluazpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzY2NjtcbiAgICBib3gtc2hhZG93OiAwIDRweCAxMHB4IHJnYmEoMCwgMCwgMCwgMC4yKSAhaW1wb3J0YW50O1xufVxuXG4ubWFwcGxpYy10b29sdGlwLWNsb3NlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vLi4vaW1hZ2VzL21hcHBsaWMvY3Jvc3Muc3ZnKTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDhweCA4cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogNnB4O1xuICAgIHRvcDogNnB4O1xuICAgIHBhZGRpbmc6IDZweDtcbiAgICB3aWR0aDogOHB4O1xuICAgIGhlaWdodDogOHB4O1xuICAgIG9wYWNpdHk6IDAuNTtcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgMC4ycztcbiAgICAtbW96LXRyYW5zaXRpb246IG9wYWNpdHkgMC4ycztcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnM7XG59XG5cbi5tYXBwbGljLXRvb2x0aXAtY2xvc2U6aG92ZXIge1xuICAgIG9wYWNpdHk6IDEuMDtcbn1cblxuLyogTGlnaHRib3ggKi9cbi5tYXBwbGljLWxpZ2h0Ym94LXRpdGxlIHtcbiAgICBjb2xvcjogIzMzMztcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG5cbi5tYXBwbGljLWxpZ2h0Ym94IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiAyMHB4O1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG1heC13aWR0aDogNTAwcHg7XG4gICAgbWFyZ2luOiAyMHB4IGF1dG87XG59XG5cbi5tYXBwbGljLWxpZ2h0Ym94OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjbGVhcjogYm90aDtcbn1cblxuLm1hcHBsaWMtcG9wdXAtaW1hZ2Uge1xuICAgIG91dGxpbmU6IG5vbmU7XG59XG5cbi5tZnAtYmcge1xuICAgIHotaW5kZXg6IDk5OTgxICFpbXBvcnRhbnQ7XG59XG5cbi5tZnAtd3JhcCB7XG4gICAgei1pbmRleDogOTk5ODIgIWltcG9ydGFudDtcbn1cblxuLm1mcC1jb250ZW50IHtcbiAgICB6LWluZGV4OiA5OTk4MyAhaW1wb3J0YW50O1xufVxuXG4vKiBMaWdodGJveCBhbmltYXRpb24gKi9cbi5tZnAtZmFkZS5tZnAtYmcge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZS1vdXQ7XG4gICAgLW1vei10cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZS1vdXQ7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2Utb3V0O1xufVxuXG4ubWZwLWZhZGUubWZwLWJnLm1mcC1yZWFkeSB7XG4gICAgb3BhY2l0eTogMC44O1xufVxuXG4ubWZwLWZhZGUubWZwLWJnLm1mcC1yZW1vdmluZyB7XG4gICAgb3BhY2l0eTogMDtcbn1cblxuLm1mcC1mYWRlLm1mcC13cmFwIC5tZnAtY29udGVudCB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlLW91dDtcbiAgICAtbW96LXRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlLW91dDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZS1vdXQ7XG59XG5cbi5tZnAtZmFkZS5tZnAtd3JhcC5tZnAtcmVhZHkgLm1mcC1jb250ZW50IHtcbiAgICBvcGFjaXR5OiAxO1xufVxuXG4ubWZwLWZhZGUubWZwLXdyYXAubWZwLXJlbW92aW5nIC5tZnAtY29udGVudCB7XG4gICAgb3BhY2l0eTogMDtcbn1cblxuLyogVG9nZ2xlICovXG4ubWFwcGxpYy10b2dnbGUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1pbi13aWR0aDogMjBweDtcbiAgICBtaW4taGVpZ2h0OiAyMHB4O1xufVxuXG4ubWFwcGxpYy10b2dnbGUgPiAubWFwcGxpYy10b2dnbGUtY2lyY2xlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYWFhO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMXB4O1xuICAgIHRvcDogMXB4O1xuICAgIHdpZHRoOiAxOHB4O1xuICAgIGhlaWdodDogMThweDtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgICB0cmFuc2l0aW9uOiAwLjJzO1xufVxuXG4ubWFwcGxpYy10b2dnbGU6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlNGU0ZTQ7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogMThweDtcbiAgICBoZWlnaHQ6IDE4cHg7XG59XG5cbi5tYXBwbGljLXRvZ2dsZSA+IGlucHV0IHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4ubWFwcGxpYy10b2dnbGUgPiBpbnB1dDpjaGVja2VkICsgc3BhbiB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjcpO1xufVxuXG4ubWFwcGxpYy1saXN0LWNhdGVnb3J5IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5tYXBwbGljLWxpc3QtY2F0ZWdvcnkgLm1hcHBsaWMtdG9nZ2xlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDIwcHg7XG4gICAgdG9wOiA1MCU7XG4gICAgbWFyZ2luLXRvcDogLTEwcHg7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuLyogTGVnZW5kICovXG4ubWFwcGxpYy1sZWdlbmQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTtcbiAgICBtYXJnaW46IDEycHg7XG4gICAgcGFkZGluZzogMCA4cHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgYm90dG9tOiAwO1xufVxuXG4ubWFwcGxpYy1sZWdlbmQtbGFiZWwge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIG1hcmdpbjogNnB4IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAyOHB4O1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1raHRtbC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG59XG5cbi5tYXBwbGljLWxlZ2VuZC1rZXkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNhYWE7XG4gICAgYm9yZGVyOiAycHggc29saWQgI2ZmZjtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGhlaWdodDogMTZweDtcbiAgICB3aWR0aDogMTZweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogOHB4O1xufVxuXG4vKiBSZXZlYWwgKi9cbi5tYXBwbGljLXJldmVhbGVkIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xufVxuXG4vKiBQb3J0cmFpdCBtb2RlICovXG4ubWFwcGxpYy1wb3J0cmFpdCAubWFwcGxpYy1jb250YWluZXIsXG4ubWFwcGxpYy1wb3J0cmFpdCAubWFwcGxpYy1zaWRlYmFyIHtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xufVxuXG4ubWFwcGxpYy1wb3J0cmFpdCAubWFwcGxpYy1zaWRlYmFyIHtcbiAgICBwYWRkaW5nOiA5MnB4IDEycHggMTJweCAxMnB4ICFpbXBvcnRhbnQ7XG59XG5cbi5tYXBwbGljLXBvcnRyYWl0IC5tYXBwbGljLXRvb2x0aXAge1xuICAgIG1heC13aWR0aDogMjQwcHg7XG59XG5cbi5tYXBwbGljLXBvcnRyYWl0IC5tYXBwbGljLW1pbmltYXAtYmFja2dyb3VuZCB7XG4gICAgd2lkdGg6IDEwMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5tYXBwbGljLXBvcnRyYWl0Lm1hcHBsaWMtZWxlbWVudCB7XG4gICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG59XG5cbi5tYXBwbGljLXBvcnRyYWl0IC5tYXBwbGljLWxpc3QtY29udGFpbmVyIHtcbiAgICBtYXgtaGVpZ2h0OiA2MDBweDtcbn1cblxuLyogUmV0aW5hICovXG5AbWVkaWEgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSwgKG1pbi1yZXNvbHV0aW9uOiAyZHBweCkge1xuICAgIC5tYXBwbGljLXBpbiB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi8uLi9pbWFnZXMvbWFwcGxpYy9waW5AMngucG5nKTtcbiAgICB9XG4gICAgLm1hcHBsaWMtcGluLm9yYW5nZSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi8uLi9pbWFnZXMvbWFwcGxpYy9waW4tb3JhbmdlQDJ4LnBuZyk7XG4gICAgfVxuICAgIC5tYXBwbGljLXBpbi55ZWxsb3cge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vLi4vaW1hZ2VzL21hcHBsaWMvcGluLXllbGxvd0AyeC5wbmcpO1xuICAgIH1cbiAgICAubWFwcGxpYy1waW4uZ3JlZW4ge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vLi4vaW1hZ2VzL21hcHBsaWMvcGluLWdyZWVuQDJ4LnBuZyk7XG4gICAgfVxuICAgIC5tYXBwbGljLXBpbi5ibHVlIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uLy4uL2ltYWdlcy9tYXBwbGljL3Bpbi1ibHVlQDJ4LnBuZyk7XG4gICAgfVxuICAgIC5tYXBwbGljLXBpbi5wdXJwbGUge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vLi4vaW1hZ2VzL21hcHBsaWMvcGluLXB1cnBsZUAyeC5wbmcpO1xuICAgIH1cbn1cblxuLyogTWFwICovXG4ubWFwcGxpYy1lbGVtZW50IHN2ZyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xufVxuXG4ubWFwcGxpYy1lbGVtZW50IHN2ZyBhIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5tYXBwbGljLWNsaWNrYWJsZTpub3QoZyksXG5nLm1hcHBsaWMtY2xpY2thYmxlID4gKiB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzO1xuICAgIC1tb3otdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycztcbn1cblxuLm1hcHBsaWMtbWFwLWltYWdlICpbaWRePW5vcG9pbnRlcl0ge1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG5baWRePWxhbmRtYXJrc10gLm1hcHBsaWMtY2xpY2thYmxlIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi8qIERldmVsb3BlciB0b29scyAqL1xuLm1hcHBsaWMtY29vcmRpbmF0ZXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTtcbiAgICBjb2xvcjogIzMzMztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbWFyZ2luOiAxMHB4O1xuICAgIG1hcmdpbi1sZWZ0OiAtODBweDtcbiAgICBwYWRkaW5nOiA0cHggNnB4O1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogNTAlO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4vKiBTS0lOUyAqL1xuLyogbWFwcGxpYy1ib29raW5nICovXG4ubWFwcGxpYy1ib29raW5nIC5tYXBwbGljLWFjdGl2ZSxcbi5tYXBwbGljLWJvb2tpbmcgLm1hcHBsaWMtYWN0aXZlID4gKiB7XG4gICAgZmlsbDogI0E4RDg2NTtcbn1cblxuLm1hcHBsaWMtYm9va2luZyAudW5hdmFpbGFibGUsXG4ubWFwcGxpYy1ib29raW5nIC51bmF2YWlsYWJsZSA+ICoge1xuICAgIGZpbGw6ICNGN0IzMzI7XG4gICAgb3BhY2l0eTogMTtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbi8qIG1hcHBsaWMtZGFyayAqL1xuLm1hcHBsaWMtZGFyayAubWFwcGxpYy10b29sdGlwLXdyYXAge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzMzM7XG59XG5cbi5tYXBwbGljLWRhcmsgLm1hcHBsaWMtdG9vbHRpcDphZnRlciB7XG4gICAgYm9yZGVyLWNvbG9yOiAjMzMzIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG59XG5cbi5tYXBwbGljLWRhcmsgLm1hcHBsaWMtdG9vbHRpcC10aXRsZSB7XG4gICAgY29sb3I6ICNmZmY7XG59XG5cbi5tYXBwbGljLWRhcmsgLm1hcHBsaWMtdG9vbHRpcC1kZXNjcmlwdGlvbixcbi5tYXBwbGljLWRhcmsgLm1hcHBsaWMtdG9vbHRpcCBwIHtcbiAgICBjb2xvcjogI2JiYjtcbn1cblxuLm1hcHBsaWMtZGFyayAubWFwcGxpYy10b29sdGlwLWNsb3NlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDUxLCA1MSwgNTEsIDAuNSk7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uLy4uL2ltYWdlcy9tYXBwbGljL2Nyb3NzLWxpZ2h0LnN2ZykgIWltcG9ydGFudDtcbn1cblxuLyogSU5URVJBQ1RJVkUgRUxFTUVOVFMgKi9cbi8qIGNsaWNrYWJsZSBlbGVtZW50cyAqL1xuLm1hcHBsaWMtY2xpY2thYmxlOm5vdChnKSxcbmcubWFwcGxpYy1jbGlja2FibGUgPiAqIHtcbiAgICBvcGFjaXR5OiAwLjk7XG4gICAgLypmaWxsOiAjYjdhNmJkKi9cbjtcbn1cblxuLyogaG92ZXJlZCBlbGVtZW50cyAqL1xuLm1hcHBsaWMtY2xpY2thYmxlOm5vdChnKTpob3ZlcixcbmcubWFwcGxpYy1jbGlja2FibGU6aG92ZXIgPiAqIHtcbiAgICBvcGFjaXR5OiAwLjg7XG59XG5cbi8qIGFjdGl2ZSBlbGVtZW50cyAqL1xuLm1hcHBsaWMtYWN0aXZlLFxuYS5tYXBwbGljLWFjdGl2ZSA+IHBhdGgsXG5nLm1hcHBsaWMtYWN0aXZlID4gKiB7XG4gICAgb3BhY2l0eTogMS4wICFpbXBvcnRhbnQ7XG59XG5cbi8qIFRyYW5zcGFyZW50ICovXG4ubWFwcGxpYy10cmFuc3BhcmVudCAubWFwcGxpYy1jbGlja2FibGU6bm90KGcpLFxuLm1hcHBsaWMtdHJhbnNwYXJlbnQgZy5tYXBwbGljLWNsaWNrYWJsZSA+ICoge1xuICAgIG9wYWNpdHk6IDAuNjtcbn1cblxuLm1hcHBsaWMtdHJhbnNwYXJlbnQgLm1hcHBsaWMtY2xpY2thYmxlOm5vdChnKTpob3Zlcixcbi5tYXBwbGljLXRyYW5zcGFyZW50IGcubWFwcGxpYy1jbGlja2FibGU6aG92ZXIgPiAqIHtcbiAgICBvcGFjaXR5OiAwLjg7XG59XG5cbi5tYXBwbGljLXRyYW5zcGFyZW50IC5tYXBwbGljLWFjdGl2ZSxcbi5tYXBwbGljLXRyYW5zcGFyZW50IGEubWFwcGxpYy1hY3RpdmUgPiBwYXRoLFxuLm1hcHBsaWMtdHJhbnNwYXJlbnQgZy5tYXBwbGljLWFjdGl2ZSA+ICoge1xuICAgIG9wYWNpdHk6IDEuMCAhaW1wb3J0YW50O1xufVxuXG4vKiBNYWxsIGV4YW1wbGUgLSBDdXN0b20gKi9cbiNsYW5kbWFya3MtZ3JvdW5kIC5tYXBwbGljLWNsaWNrYWJsZSxcbiNsYW5kbWFya3MtdW5kZXJncm91bmQgLm1hcHBsaWMtY2xpY2thYmxlLFxuI2xhbmRtYXJrcy1sZXZlbDEgLm1hcHBsaWMtY2xpY2thYmxlIHtcbiAgICBvcGFjaXR5OiAxICFpbXBvcnRhbnQ7XG59XG5cbiNsYW5kbWFya3MtZ3JvdW5kIHBvbHlnb24ubWFwcGxpYy1hY3RpdmUsXG4jbGFuZG1hcmtzLWdyb3VuZCBwYXRoLm1hcHBsaWMtYWN0aXZlIHtcbiAgICBmaWxsOiAjQUREQjJDO1xufVxuXG4jbGFuZG1hcmtzLXVuZGVyZ3JvdW5kIHBvbHlnb24ubWFwcGxpYy1hY3RpdmUsXG4jbGFuZG1hcmtzLXVuZGVyZ3JvdW5kIHBhdGgubWFwcGxpYy1hY3RpdmUge1xuICAgIGZpbGw6ICM3RUUwQ0Q7XG59XG5cbiNsYW5kbWFya3MtbGV2ZWwxIHBvbHlnb24ubWFwcGxpYy1hY3RpdmUsXG4jbGFuZG1hcmtzLWxldmVsMSBwYXRoLm1hcHBsaWMtYWN0aXZlIHtcbiAgICBmaWxsOiAjRjk2ODRCO1xufVxuXG4vKiBDVVNUT00gU1RZTEVTICovXG4ubWFwcGxpYy1pbWFnZSxcbi5tYXBwbGljLXRvb2x0aXAge1xuICAgIG1heC13aWR0aDogMzAwcHggIWltcG9ydGFudDtcbn1cblxuLyogdG9vbHRpcCB3aWR0aCAqL1xuLm1hcHBsaWMtdG9vbHRpcC1jb250ZW50IHtcbiAgICBtYXgtaGVpZ2h0OiAxNjBweDtcbn1cblxuLyogdG9vbHRpcCBoZWlnaHQqL1xuIiwiI21hcHBsaWMge1xuICAgICYubWFwcGxpYy1lbGVtZW50IHtcbiAgICAgICAgJi5tYXBwbGljLXBvcnRyYWl0IHtcbiAgICAgICAgICAgIC5tYXBwbGljLXNpZGViYXIge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYubWFwcGxpYy1sb2FkaW5nIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybCguLi8uLi9pbWFnZXMvbWFwcGxpYy9sb2FkZXIuZ2lmKSBuby1yZXBlYXQgY2VudGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5tYXBwbGljLWVycm9yIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybCguLi8uLi9pbWFnZXMvbWFwcGxpYy9lcnJvci1pY29uLnBuZykgbm8tcmVwZWF0IGNlbnRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5tYXBwbGljLWNvbnRhaW5lciB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICAgICAgei1pbmRleDogMTAwO1xuXG4gICAgICAgICAgICAubWFwcGxpYy16b29tLWJ1dHRvbnMge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5tYXBwbGljLW1hcCAge1xuICAgICAgICAgICAgICAgICYubWFwcGxpYy16b29tYWJsZSB7XG4gICAgICAgICAgICAgICAgICAgICYubWFwcGxpYy1tYXAtaW1hZ2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgJi5tYXBwbGljLWRyYWdnaW5nIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC5tYXBwbGljLW1hcC1pbWFnZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY3Vyc29yOiBtb3ZlO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIC5tYXBwbGljLXRvb2x0aXAge1xuICAgICAgICAgICAgICAgICAgICAmOm5vdCgubWFwcGxpYy1ob3ZlcnRpcCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLm1hcHBsaWMtbGF5ZXIge1xuICAgICAgICAgICAgICAgICAgICAvKiBQaW4gdHlwZXMgKi9cbiAgICAgICAgICAgICAgICAgICAgLm1hcHBsaWMtcGluIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi8uLi9pbWFnZXMvbWFwcGxpYy9waW4ucG5nKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgJi5tYXBwbGljLWFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgJi5vcmFuZ2UgeyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vLi4vaW1hZ2VzL21hcHBsaWMvcGluLW9yYW5nZS5wbmcpOyB9XG4gICAgICAgICAgICAgICAgICAgICAgICAmLnllbGxvdyB7IGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi8uLi9pbWFnZXMvbWFwcGxpYy9waW4teWVsbG93LnBuZyk7IH1cbiAgICAgICAgICAgICAgICAgICAgICAgICYuZ3JlZW4geyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vLi4vaW1hZ2VzL21hcHBsaWMvcGluLWdyZWVuLnBuZyk7IH1cbiAgICAgICAgICAgICAgICAgICAgICAgICYuYmx1ZSB7IGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi8uLi9pbWFnZXMvbWFwcGxpYy9waW4tYmx1ZS5wbmcpOyB9XG4gICAgICAgICAgICAgICAgICAgICAgICAmLnB1cnBsZSB7IGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi8uLi9pbWFnZXMvbWFwcGxpYy9waW4tcHVycGxlLnBuZyk7IH1cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC8qIEltYWdlICovXG4gICAgICAgICAgICAgICAgICAgIC5tYXBwbGljLW1hcC1pbWFnZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5tYXBwbGljLWFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDEgIWltcG9ydGFudDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWN0LCBwYXRoIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDEgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpZF49bGFuZG1hcmtdIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJi5saWdodGJsdWUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJiA+ICosID4gLm1hcHBsaWMtY2xpY2thYmxlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsOiAjOTVjNWUwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogLjggIWltcG9ydGFudDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlY3QsIHBhdGgsIHBvbHlnb24ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsOiAjOTVjNWUwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmID4gLm1hcHBsaWMtYWN0aXZlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsOiAjYjBkOGU0ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlOiB3aGl0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg6IDNweDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlY3QsIHBhdGgsIHBvbHlnb24ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsOiAjYjBkOGU0ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZTogd2hpdGU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS13aWR0aDogM3B4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmID4gLm1hcHBsaWMtY2xpY2thYmxlOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAuNSAhaW1wb3J0YW50O1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmLmxpZ2h0Z3JlZW4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJiA+ICosID4gLm1hcHBsaWMtY2xpY2thYmxlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsOiAjOTZiZTIwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMSAhaW1wb3J0YW50O1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVjdCwgcGF0aCwgcG9seWdvbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw6ICM5NmJlMjAgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICYgPiAubWFwcGxpYy1hY3RpdmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw6IGxpZ2h0ZW4oIzk2YmUyMCwgMTAlKSAhaW1wb3J0YW50O1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVjdCwgcGF0aCwgcG9seWdvbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw6IGxpZ2h0ZW4oIzk2YmUyMCwgMTAlKSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJiA+IC5tYXBwbGljLWNsaWNrYWJsZTpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogLjUgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICYubGlnaHRwdXJwbGUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJiA+ICosID4gLm1hcHBsaWMtY2xpY2thYmxlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsOiByZ2IoNTgsIDE2LCA1MCkgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAuNyAhaW1wb3J0YW50O1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLXdpZHRoOiAwLjA4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZTogd2hpdGU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVjdCwgcGF0aCwgcG9seWdvbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw6IHJnYig1OCwgMTYsIDUwKSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJiA+IC5tYXBwbGljLWFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbDogbGlnaHRlbihyZ2IoNTgsIDE2LCA1MCksIDEwJSkgIWltcG9ydGFudDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlY3QsIHBhdGgsIHBvbHlnb24ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsOiBsaWdodGVuKHJnYig1OCwgMTYsIDUwKSwgMTAlKSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJiA+IC5tYXBwbGljLWNsaWNrYWJsZTpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogLjUgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJiA+IC5tYXBwbGljLWNsaWNrYWJsZTpub3QoZyksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmID4gZy5tYXBwbGljLWNsaWNrYWJsZSA+ICoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJi5saWdodGdyYXkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJiA+ICosID4gLm1hcHBsaWMtY2xpY2thYmxlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsOiAjYWJhYmFiICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmID4gLm1hcHBsaWMtYWN0aXZlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsOiAjODg4ODg4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICYgPiAubWFwcGxpYy1jbGlja2FibGU6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IC41ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmLmRhcmtibHVlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICYgPiAqLCA+IC5tYXBwbGljLWNsaWNrYWJsZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbDogIzRkNWU2ZCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDEgIWltcG9ydGFudDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlY3QsIHBhdGgsIHBvbHlnb24ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsOiAjNGQ1ZTZkICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmID4gLm1hcHBsaWMtYWN0aXZlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsOiAjOGVhMmI3ICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWN0LCBwYXRoLCBwb2x5Z29uIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbDogIzhlYTJiNyAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJiA+IC5tYXBwbGljLWNsaWNrYWJsZTpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogLjggIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm1hcHBsaWMtY2xlYXItYnV0dG9uIHtiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vLi4vaW1hZ2VzL21hcHBsaWMvcmVzZXQuc3ZnKTt9XG5cbiAgICBhIHtcbiAgICAgICAgJi5tYXBwbGljLXpvb21pbi1idXR0b24ge2JhY2tncm91bmQtaW1hZ2U6IHVybCguLi8uLi9pbWFnZXMvbWFwcGxpYy9wbHVzLnN2Zyk7fVxuICAgICAgICAmLm1hcHBsaWMtem9vbW91dC1idXR0b24ge2JhY2tncm91bmQtaW1hZ2U6IHVybCguLi8uLi9pbWFnZXMvbWFwcGxpYy9taW51cy5zdmcpO31cbiAgICB9XG5cbiAgICAubWFwcGxpYy1mdWxsc2NyZWVuLWJ1dHRvbiB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi8uLi9pbWFnZXMvbWFwcGxpYy9mdWxsc2NyZWVuLnN2Zyk7XG4gICAgfVxuXG4gICAgLm1hcHBsaWMtZnVsbHNjcmVlbiAge1xuICAgICAgICAubWFwcGxpYy1mdWxsc2NyZWVuLWJ1dHRvbiB7YmFja2dyb3VuZC1pbWFnZTogdXJsKC4uLy4uL2ltYWdlcy9tYXBwbGljL2Z1bGxzY3JlZW4tZXhpdC5zdmcpO31cbiAgICB9XG5cbiAgICAubWFwcGxpYy1sZXZlbHMge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAgIC5tYXBwbGljLWxldmVscy11cCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vLi4vaW1hZ2VzL21hcHBsaWMvYXJyb3ctdXAuc3ZnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5tYXBwbGljLWxldmVscy1kb3duIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi8uLi9pbWFnZXMvbWFwcGxpYy9hcnJvdy1kb3duLnN2Zyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubWFwcGxpYy10YWcgPiBzcGFuIHtiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vLi4vaW1hZ2VzL21hcHBsaWMvY3Jvc3MtbGlnaHQuc3ZnKTt9XG5cbiAgICAubWFwcGxpYy10b29sdGlwLWNsb3NlIHtiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vLi4vaW1hZ2VzL21hcHBsaWMvY3Jvc3Muc3ZnKTt9XG5cbiAgICAvKiBSZXRpbmEgKi9cbiAgICBAbWVkaWEgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSwgKG1pbi1yZXNvbHV0aW9uOiAyZHBweCkge1xuICAgICAgICAvKiBQaW4gdHlwZXMgKi9cbiAgICAgICAgLm1hcHBsaWMtcGluIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi8uLi9pbWFnZXMvbWFwcGxpYy9waW5AMngucG5nKTtcblxuICAgICAgICAgICAgJi5vcmFuZ2UgeyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vLi4vaW1hZ2VzL21hcHBsaWMvcGluLW9yYW5nZUAyeC5wbmcpOyB9XG4gICAgICAgICAgICAmLnllbGxvdyB7IGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi8uLi9pbWFnZXMvbWFwcGxpYy9waW4teWVsbG93QDJ4LnBuZyk7IH1cbiAgICAgICAgICAgICYuZ3JlZW4geyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vLi4vaW1hZ2VzL21hcHBsaWMvcGluLWdyZWVuQDJ4LnBuZyk7IH1cbiAgICAgICAgICAgICYuYmx1ZSB7IGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi8uLi9pbWFnZXMvbWFwcGxpYy9waW4tYmx1ZUAyeC5wbmcpOyB9XG4gICAgICAgICAgICAmLnB1cnBsZSB7IGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi8uLi9pbWFnZXMvbWFwcGxpYy9waW4tcHVycGxlQDJ4LnBuZyk7IH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5tYXBwbGljLWRhcmsge1xuICAgICAgICAubWFwcGxpYy10b29sdGlwLWNsb3NlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi8uLi9pbWFnZXMvbWFwcGxpYy9jcm9zcy1saWdodC5zdmcpICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiBTaWRlYmFyIG92ZXJyaWRlICovXG4gICAgLm1hcHBsaWMtc2lkZWJhciB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICB0b3A6IDJyZW07XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IDExMHJlbTtcbiAgICAgICAgei1pbmRleDogMTQwO1xuXG4gICAgICAgIC5tYXBwbGljLWxpc3QtY29udGFpbmVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBsZWZ0OiAtNDclO1xuICAgICAgICAgICAgd2lkdGg6IDkyJTtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMTBweCAyMHB4IHJnYmEoMTM2LCAxMzYsIDEzNiwgMC42NSk7XG4gICAgICAgICAgICB6LWluZGV4OiAxMDAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLm1hcHBsaWMtZmlsdGVyIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIGxlZnQ6IC00NyU7XG4gICAgICAgICAgICBwYWRkaW5nOiAxNHB4IDEycHg7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDEwcHggMjBweCByZ2JhKDEzNiwgMTM2LCAxMzYsIDAuNjUpO1xuICAgICAgICAgICAgd2lkdGg6IDkyJTtcbiAgICAgICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2Utb3V0O1xuICAgICAgICAgICAgLW1vei10cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZS1vdXQ7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZS1vdXQ7XG5cbiAgICAgICAgICAgIC5tYXBwbGljLXNlYXJjaC1pbnB1dCB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uLy4uL2ltYWdlcy9tYXBwbGljL21hZ25pZmllci5zdmcpICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCBjZW50ZXIgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuNHJlbSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMzBweCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAwIDMwcHggIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMTBweCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAubWFwcGxpYy1zZWFyY2gtY2xlYXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi8uLi9pbWFnZXMvbWFwcGxpYy9jcm9zcy5zdmcpO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciB0b3A7XG4gICAgICAgICAgICAgICAgdG9wOiAyM3B4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbXEoJHVudGlsOiB0YWJsZXQpIHtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG5cbiAgICAgICAgICAgIC5tYXBwbGljLWZpbHRlciwgLm1hcHBsaWMtbGlzdC1jb250YWluZXIge1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgICAgICAgd2lkdGg6IDkwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5sb2NhdGlvbl9fYmFkZ2Uge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHBhZGRpbmc6IC4yNWVtIC40ZW07XG4gICAgICAgIGZvbnQtc2l6ZTogNzUlO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IC4yNXJlbTtcblxuICAgICAgICAmLWRhbmdlciB7XG4gICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5sb2NhdGlvbl9fdGl0bGUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtcSgkZnJvbTogZGVza3RvcCkge1xuICAgICAgICBwYWRkaW5nLXRvcDogMTAwcHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbXEoJHVudGlsOiBkZXNrdG9wKSB7XG4gICAgICAgIC5tYXBwbGljLWNvbnRhaW5lciB7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyogQ3VzdG9tIG1hcCBjb250cm9scyAqL1xuLm1hcC1jb250cm9scyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogNDBweDtcbiAgICByaWdodDogNDBweDtcbiAgICB6LWluZGV4OiAxMzk7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZS1vdXQ7XG4gICAgLW1vei10cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZS1vdXQ7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2Utb3V0O1xuXG4gICAgJl9fbGV2ZWxzLCAmX196b29tcyB7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMTBweCAyMHB4IHJnYmEoMTM2LCAxMzYsIDEzNiwgMC42NSk7XG4gICAgICAgIG1hcmdpbi10b3A6IDI1cHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgY29sb3I6ICM2NjY7XG4gICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIG1pbi13aWR0aDogNTBweDtcblxuICAgICAgICAmLWl0ZW0ge1xuICAgICAgICAgICAgaGVpZ2h0OiA1MHB4O1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiA0LjlyZW07XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDE1cHg7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICBjb2xvcjogIzAwMDtcblxuICAgICAgICAgICAgJi5kaXNhYmxlZCB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2VlZTtcbiAgICAgICAgICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX196b29tcyB7XG4gICAgICAgIHdpZHRoOiA1MHB4O1xuXG4gICAgICAgICYtaXRlbSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDJyZW07XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogNC43cmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbXEoJHVudGlsOiB0YWJsZXQpIHtcbiAgICAgICAgYm90dG9tOiAyMHB4O1xuICAgICAgICByaWdodDogNSU7XG5cbiAgICAgICAgJl9fem9vbXMge1xuICAgICAgICAgICAgd2lkdGg6IDQwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAmX19sZXZlbHMsICZfX3pvb21zIHtcbiAgICAgICAgICAgIG1pbi13aWR0aDogNDBweDtcblxuICAgICAgICAgICAgJi1pdGVtIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCAxM3B4O1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzLjdyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuXG4gICAgfVxufVxuXG4vKiBDdXN0b20gcmV0YWlsZXIgZGV0YWlscyAqL1xuLm1hcC1kZXRhaWwge1xuICAgIGJveC1zaGFkb3c6IDAgMTBweCAyMHB4IHJnYmEoMTM2LCAxMzYsIDEzNiwgMC42NSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTM4O1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgd2lkdGg6IDkyJTtcblxuICAgICZfX2JvZHkge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBwYWRkaW5nOiAxNHB4O1xuXG4gICAgICAgIC5tYXAtZGV0YWlsIHtcbiAgICAgICAgICAgICZfX3RodW1ibmFpbCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmX19jb250ZW50IHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG5cbiAgICAgICAgICAgICAgICBoNCwgaDUge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGg0IHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjLWRhcmtncmF5O1xuICAgICAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogLjFyZW07XG4gICAgICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaDUge1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGMtbWVkZ3JheTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICZfX2FjdGlvbnMge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuXG4gICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYy1tZWRncmF5O1xuICAgICAgICAgICAgICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlLW91dDtcbiAgICAgICAgICAgICAgICAgICAgLW1vei10cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZS1vdXQ7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlLW91dDtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMXJlbTtcblxuICAgICAgICAgICAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAzLjVyZW07XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMy41cmVtO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogIzAwMDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3RodW1ibmFpbCB7XG4gICAgICAgIHdpZHRoOiA4MHB4O1xuICAgICAgICBoZWlnaHQ6IDgwcHg7XG5cbiAgICAgICAgPiBpbWcge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgd2lkdGg6IDgwcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDgwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtcSgkZnJvbTogdGFibGV0KSB7XG4gICAgICAgIGxlZnQ6IC00NyU7XG4gICAgICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbXEoJHVudGlsOiB0YWJsZXQpIHtcbiAgICAgICAgYm90dG9tOiAyMHB4O1xuICAgICAgICB0b3A6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgbGVmdDogNSU7XG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgd2lkdGg6IDkwJTtcblxuICAgICAgICAmX19vcGVuZWQge1xuICAgICAgICAgICAgYm90dG9tOiAxNDBweDtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX2JvZHkge1xuICAgICAgICAgICAgcGFkZGluZzogOHB4O1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLyBGaXhlcyBhbiBpc3N1ZSB3aGVyZSBSdWJ5IGxvY2FsZSBpcyBub3Qgc2V0IHByb3Blcmx5XG4vLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3Nhc3MtbXEvc2Fzcy1tcS9wdWxsLzEwXG5cbi8vLyBCYXNlIGZvbnQgc2l6ZSBvbiB0aGUgYDxib2R5PmAgZWxlbWVudFxuLy8vIEB0eXBlIE51bWJlciAodW5pdClcbiRtcS1iYXNlLWZvbnQtc2l6ZTogMTZweCAhZGVmYXVsdDtcblxuLy8vIFJlc3BvbnNpdmUgbW9kZVxuLy8vXG4vLy8gU2V0IHRvIGBmYWxzZWAgdG8gZW5hYmxlIHN1cHBvcnQgZm9yIGJyb3dzZXJzIHRoYXQgZG8gbm90IHN1cHBvcnQgQG1lZGlhIHF1ZXJpZXMsXG4vLy8gKElFIDw9IDgsIEZpcmVmb3ggPD0gMywgT3BlcmEgPD0gOSlcbi8vL1xuLy8vIFlvdSBjb3VsZCBjcmVhdGUgYSBzdHlsZXNoZWV0IHNlcnZlZCBleGNsdXNpdmVseSB0byBvbGRlciBicm93c2Vycyxcbi8vLyB3aGVyZSBAbWVkaWEgcXVlcmllcyBhcmUgcmFzdGVyaXplZFxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAvLyBvbGQtaWUuc2Nzc1xuLy8vICAkbXEtcmVzcG9uc2l2ZTogZmFsc2U7XG4vLy8gIEBpbmNsdWRlICdtYWluJzsgLy8gQG1lZGlhIHF1ZXJpZXMgaW4gdGhpcyBmaWxlIHdpbGwgYmUgcmFzdGVyaXplZCB1cCB0byAkbXEtc3RhdGljLWJyZWFrcG9pbnRcbi8vLyAgICAgICAgICAgICAgICAgICAvLyBsYXJnZXIgYnJlYWtwb2ludHMgd2lsbCBiZSBpZ25vcmVkXG4vLy9cbi8vLyBAdHlwZSBCb29sZWFuXG4vLy8gQGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL3Nhc3MtbXEvc2Fzcy1tcSNyZXNwb25zaXZlLW1vZGUtb2ZmIERpc2FibGVkIHJlc3BvbnNpdmUgbW9kZSBkb2N1bWVudGF0aW9uXG4kbXEtcmVzcG9uc2l2ZTogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEJyZWFrcG9pbnQgbGlzdFxuLy8vXG4vLy8gTmFtZSB5b3VyIGJyZWFrcG9pbnRzIGluIGEgd2F5IHRoYXQgY3JlYXRlcyBhIHViaXF1aXRvdXMgbGFuZ3VhZ2Vcbi8vLyBhY3Jvc3MgdGVhbSBtZW1iZXJzLiBJdCB3aWxsIGltcHJvdmUgY29tbXVuaWNhdGlvbiBiZXR3ZWVuXG4vLy8gc3Rha2Vob2xkZXJzLCBkZXNpZ25lcnMsIGRldmVsb3BlcnMsIGFuZCB0ZXN0ZXJzLlxuLy8vXG4vLy8gQHR5cGUgTWFwXG4vLy8gQGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL3Nhc3MtbXEvc2Fzcy1tcSNzZWVpbmctdGhlLWN1cnJlbnRseS1hY3RpdmUtYnJlYWtwb2ludCBGdWxsIGRvY3VtZW50YXRpb24gYW5kIGV4YW1wbGVzXG4kbXEtYnJlYWtwb2ludHM6IChcbiAgICBtb2JpbGU6ICAkc2NyZWVuLXhzLFxuICAgIHRhYmxldDogICRzY3JlZW4tc20sXG4gICAgZGVza3RvcDogJHNjcmVlbi1tZCxcbiAgICB3aWRlOiAgICAkc2NyZWVuLWxnXG4pICFkZWZhdWx0O1xuXG4vLy8gU3RhdGljIGJyZWFrcG9pbnQgKGZvciBmaXhlZC13aWR0aCBsYXlvdXRzKVxuLy8vXG4vLy8gRGVmaW5lIHRoZSBicmVha3BvaW50IGZyb20gJG1xLWJyZWFrcG9pbnRzIHRoYXQgc2hvdWxkXG4vLy8gYmUgdXNlZCBhcyB0aGUgdGFyZ2V0IHdpZHRoIGZvciB0aGUgZml4ZWQtd2lkdGggbGF5b3V0XG4vLy8gKGkuZS4gd2hlbiAkbXEtcmVzcG9uc2l2ZSBpcyBzZXQgdG8gJ2ZhbHNlJykgaW4gYSBvbGQtaWUuc2Nzc1xuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAvLyB0YWJsZXQtb25seS5zY3NzXG4vLy8gIC8vXG4vLy8gIC8vIElnbm9yZSBhbGwgc3R5bGVzIGFib3ZlIHRhYmxldCBicmVha3BvaW50LFxuLy8vICAvLyBhbmQgZml4IHRoZSBzdHlsZXMgKGUuZy4gbGF5b3V0KSBhdCB0YWJsZXQgd2lkdGhcbi8vLyAgJG1xLXJlc3BvbnNpdmU6IGZhbHNlO1xuLy8vICAkbXEtc3RhdGljLWJyZWFrcG9pbnQ6IHRhYmxldDtcbi8vLyAgQGluY2x1ZGUgJ21haW4nOyAvLyBAbWVkaWEgcXVlcmllcyBpbiB0aGlzIGZpbGUgd2lsbCBiZSByYXN0ZXJpemVkIHVwIHRvIHRhYmxldFxuLy8vICAgICAgICAgICAgICAgICAgIC8vIGxhcmdlciBicmVha3BvaW50cyB3aWxsIGJlIGlnbm9yZWRcbi8vL1xuLy8vIEB0eXBlIFN0cmluZ1xuLy8vIEBsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzLW1xL3Nhc3MtbXEjYWRkaW5nLWN1c3RvbS1icmVha3BvaW50cyBGdWxsIGRvY3VtZW50YXRpb24gYW5kIGV4YW1wbGVzXG4kbXEtc3RhdGljLWJyZWFrcG9pbnQ6IGRlc2t0b3AgIWRlZmF1bHQ7XG5cbi8vLyBTaG93IGJyZWFrcG9pbnRzIGluIHRoZSB0b3AgcmlnaHQgY29ybmVyXG4vLy9cbi8vLyBJZiB5b3Ugd2FudCB0byBkaXNwbGF5IHRoZSBjdXJyZW50bHkgYWN0aXZlIGJyZWFrcG9pbnQgaW4gdGhlIHRvcFxuLy8vIHJpZ2h0IGNvcm5lciBvZiB5b3VyIHNpdGUgZHVyaW5nIGRldmVsb3BtZW50LCBhZGQgdGhlIGJyZWFrcG9pbnRzXG4vLy8gdG8gdGhpcyBsaXN0LCBvcmRlcmVkIGJ5IHdpZHRoLCBlLmcuIChtb2JpbGUsIHRhYmxldCwgZGVza3RvcCkuXG4vLy9cbi8vLyBAdHlwZSBtYXBcbiRtcS1zaG93LWJyZWFrcG9pbnRzOiAoKSAhZGVmYXVsdDtcblxuLy8vIEN1c3RvbWl6ZSB0aGUgbWVkaWEgdHlwZSAoZS5nLiBgQG1lZGlhIHNjcmVlbmAgb3IgYEBtZWRpYSBwcmludGApXG4vLy8gQnkgZGVmYXVsdCBzYXNzLW1xIHVzZXMgYW4gXCJhbGxcIiBtZWRpYSB0eXBlIChgQG1lZGlhIGFsbCBhbmQg4oCmYClcbi8vL1xuLy8vIEB0eXBlIFN0cmluZ1xuLy8vIEBsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzLW1xL3Nhc3MtbXEjY2hhbmdpbmctbWVkaWEtdHlwZSBGdWxsIGRvY3VtZW50YXRpb24gYW5kIGV4YW1wbGVzXG4kbXEtbWVkaWEtdHlwZTogYWxsICFkZWZhdWx0O1xuXG4vLy8gQ29udmVydCBwaXhlbHMgdG8gZW1zXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHB4IC0gdmFsdWUgdG8gY29udmVydFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZS1mb250LXNpemUgKCRtcS1iYXNlLWZvbnQtc2l6ZSkgLSBgPGJvZHk+YCBmb250IHNpemVcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgJGZvbnQtc2l6ZS1pbi1lbXM6IG1xLXB4MmVtKDE2cHgpO1xuLy8vICBwIHsgZm9udC1zaXplOiBtcS1weDJlbSgxNnB4KTsgfVxuLy8vXG4vLy8gQHJlcXVpcmVzICRtcS1iYXNlLWZvbnQtc2l6ZVxuLy8vIEByZXR1cm5zIHtOdW1iZXJ9XG5AZnVuY3Rpb24gbXEtcHgyZW0oJHB4LCAkYmFzZS1mb250LXNpemU6ICRtcS1iYXNlLWZvbnQtc2l6ZSkge1xuICAgIEBpZiB1bml0bGVzcygkcHgpIHtcbiAgICAgICAgQHdhcm4gXCJBc3N1bWluZyAjeyRweH0gdG8gYmUgaW4gcGl4ZWxzLCBhdHRlbXB0aW5nIHRvIGNvbnZlcnQgaXQgaW50byBwaXhlbHMuXCI7XG4gICAgICAgIEByZXR1cm4gbXEtcHgyZW0oJHB4ICsgMHB4KTsgLy8gVGhhdCBtYXkgZmFpbC5cbiAgICB9IEBlbHNlIGlmIHVuaXQoJHB4KSA9PSBlbSB7XG4gICAgICAgIEByZXR1cm4gJHB4O1xuICAgIH1cbiAgICBAcmV0dXJuICgkcHggLyAkYmFzZS1mb250LXNpemUpICogMWVtO1xufVxuXG4vLy8gR2V0IGEgYnJlYWtwb2ludCdzIHdpZHRoXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG5hbWUgLSBOYW1lIG9mIHRoZSBicmVha3BvaW50LiBPbmUgb2YgJG1xLWJyZWFrcG9pbnRzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gICR0YWJsZXQtd2lkdGg6IG1xLWdldC1icmVha3BvaW50LXdpZHRoKHRhYmxldCk7XG4vLy8gIEBtZWRpYSAobWluLXdpZHRoOiBtcS1nZXQtYnJlYWtwb2ludC13aWR0aChkZXNrdG9wKSkge31cbi8vL1xuLy8vIEByZXF1aXJlcyB7VmFyaWFibGV9ICRtcS1icmVha3BvaW50c1xuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVmFsdWUgaW4gcGl4ZWxzXG5AZnVuY3Rpb24gbXEtZ2V0LWJyZWFrcG9pbnQtd2lkdGgoJG5hbWUsICRicmVha3BvaW50czogJG1xLWJyZWFrcG9pbnRzKSB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJG5hbWUpIHtcbiAgICAgICAgQHJldHVybiBtYXAtZ2V0KCRicmVha3BvaW50cywgJG5hbWUpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgICBAd2FybiBcIkJyZWFrcG9pbnQgI3skbmFtZX0gd2Fzbid0IGZvdW5kIGluICRicmVha3BvaW50cy5cIjtcbiAgICB9XG59XG5cbi8vLyBNZWRpYSBRdWVyeSBtaXhpblxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmcgfCBCb29sZWFufSAkZnJvbSAoZmFsc2UpIC0gT25lIG9mICRtcS1icmVha3BvaW50c1xuLy8vIEBwYXJhbSB7U3RyaW5nIHwgQm9vbGVhbn0gJHVudGlsIChmYWxzZSkgLSBPbmUgb2YgJG1xLWJyZWFrcG9pbnRzXG4vLy8gQHBhcmFtIHtTdHJpbmcgfCBCb29sZWFufSAkYW5kIChmYWxzZSkgLSBBZGRpdGlvbmFsIG1lZGlhIHF1ZXJ5IHBhcmFtZXRlcnNcbi8vLyBAcGFyYW0ge1N0cmluZ30gJG1lZGlhLXR5cGUgKCRtcS1tZWRpYS10eXBlKSAtIE1lZGlhIHR5cGU6IHNjcmVlbiwgcHJpbnTigKZcbi8vL1xuLy8vIEBpZ25vcmUgVW5kb2N1bWVudGVkIEFQSSwgZm9yIGFkdmFuY2VkIHVzZSBvbmx5OlxuLy8vIEBpZ25vcmUgQHBhcmFtIHtNYXB9ICRicmVha3BvaW50cyAoJG1xLWJyZWFrcG9pbnRzKVxuLy8vIEBpZ25vcmUgQHBhcmFtIHtTdHJpbmd9ICRzdGF0aWMtYnJlYWtwb2ludCAoJG1xLXN0YXRpYy1icmVha3BvaW50KVxuLy8vXG4vLy8gQGNvbnRlbnQgc3R5bGluZyBydWxlcywgd3JhcHBlZCBpbnRvIGEgQG1lZGlhIHF1ZXJ5IHdoZW4gJHJlc3BvbnNpdmUgaXMgdHJ1ZVxuLy8vXG4vLy8gQHJlcXVpcmVzIHtWYXJpYWJsZX0gJG1xLW1lZGlhLXR5cGVcbi8vLyBAcmVxdWlyZXMge1ZhcmlhYmxlfSAkbXEtYnJlYWtwb2ludHNcbi8vLyBAcmVxdWlyZXMge1ZhcmlhYmxlfSAkbXEtc3RhdGljLWJyZWFrcG9pbnRcbi8vLyBAcmVxdWlyZXMge2Z1bmN0aW9ufSBtcS1weDJlbVxuLy8vIEByZXF1aXJlcyB7ZnVuY3Rpb259IG1xLWdldC1icmVha3BvaW50LXdpZHRoXG4vLy9cbi8vLyBAbGluayBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy1tcS9zYXNzLW1xI3Jlc3BvbnNpdmUtbW9kZS1vbi1kZWZhdWx0IEZ1bGwgZG9jdW1lbnRhdGlvbiBhbmQgZXhhbXBsZXNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgLmVsZW1lbnQge1xuLy8vICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBtb2JpbGUpIHtcbi8vLyAgICAgIGNvbG9yOiByZWQ7XG4vLy8gICAgfVxuLy8vICAgIEBpbmNsdWRlIG1xKCR1bnRpbDogdGFibGV0KSB7XG4vLy8gICAgICBjb2xvcjogYmx1ZTtcbi8vLyAgICB9XG4vLy8gICAgQGluY2x1ZGUgbXEobW9iaWxlLCB0YWJsZXQpIHtcbi8vLyAgICAgIGNvbG9yOiBncmVlbjtcbi8vLyAgICB9XG4vLy8gICAgQGluY2x1ZGUgbXEoJGZyb206IHRhYmxldCwgJGFuZDogJyhvcmllbnRhdGlvbjogbGFuZHNjYXBlKScpIHtcbi8vLyAgICAgIGNvbG9yOiB0ZWFsO1xuLy8vICAgIH1cbi8vLyAgICBAaW5jbHVkZSBtcSg5NTBweCkge1xuLy8vICAgICAgY29sb3I6IGhvdHBpbms7XG4vLy8gICAgfVxuLy8vICAgIEBpbmNsdWRlIG1xKHRhYmxldCwgJG1lZGlhLXR5cGU6IHNjcmVlbikge1xuLy8vICAgICAgY29sb3I6IGhvdHBpbms7XG4vLy8gICAgfVxuLy8vICAgIC8vIEFkdmFuY2VkIHVzZTpcbi8vLyAgICAkbXktYnJlYWtwb2ludHM6ICggTDogOTAwcHgsIFhMOiAxMjAwcHggKTtcbi8vLyAgICBAaW5jbHVkZSBtcShMLCAkYnJlYWtwb2ludHM6ICRteS1icmVha3BvaW50cywgJHN0YXRpYy1icmVha3BvaW50OiBMKSB7XG4vLy8gICAgICBjb2xvcjogaG90cGluaztcbi8vLyAgICB9XG4vLy8gIH1cbkBtaXhpbiBtcShcbiAgICAkZnJvbTogZmFsc2UsXG4gICAgJHVudGlsOiBmYWxzZSxcbiAgICAkYW5kOiBmYWxzZSxcbiAgICAkbWVkaWEtdHlwZTogJG1xLW1lZGlhLXR5cGUsXG4gICAgJGJyZWFrcG9pbnRzOiAkbXEtYnJlYWtwb2ludHMsXG4gICAgJHJlc3BvbnNpdmU6ICRtcS1yZXNwb25zaXZlLFxuICAgICRzdGF0aWMtYnJlYWtwb2ludDogJG1xLXN0YXRpYy1icmVha3BvaW50XG4pIHtcbiAgICAkbWluLXdpZHRoOiAwO1xuICAgICRtYXgtd2lkdGg6IDA7XG4gICAgJG1lZGlhLXF1ZXJ5OiAnJztcblxuICAgIC8vIEZyb206IHRoaXMgYnJlYWtwb2ludCAoaW5jbHVzaXZlKVxuICAgIEBpZiAkZnJvbSB7XG4gICAgICAgIEBpZiB0eXBlLW9mKCRmcm9tKSA9PSBudW1iZXIge1xuICAgICAgICAgICAgJG1pbi13aWR0aDogbXEtcHgyZW0oJGZyb20pO1xuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICRtaW4td2lkdGg6IG1xLXB4MmVtKG1xLWdldC1icmVha3BvaW50LXdpZHRoKCRmcm9tLCAkYnJlYWtwb2ludHMpKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFVudGlsOiB0aGF0IGJyZWFrcG9pbnQgKGV4Y2x1c2l2ZSlcbiAgICBAaWYgJHVudGlsIHtcbiAgICAgICAgQGlmIHR5cGUtb2YoJHVudGlsKSA9PSBudW1iZXIge1xuICAgICAgICAgICAgJG1heC13aWR0aDogbXEtcHgyZW0oJHVudGlsKTtcbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAkbWF4LXdpZHRoOiBtcS1weDJlbShtcS1nZXQtYnJlYWtwb2ludC13aWR0aCgkdW50aWwsICRicmVha3BvaW50cykpIC0gLjAxZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBSZXNwb25zaXZlIHN1cHBvcnQgaXMgZGlzYWJsZWQsIHJhc3Rlcml6ZSB0aGUgb3V0cHV0IG91dHNpZGUgQG1lZGlhIGJsb2Nrc1xuICAgIC8vIFRoZSBicm93c2VyIHdpbGwgcmVseSBvbiB0aGUgY2FzY2FkZSBpdHNlbGYuXG4gICAgQGlmICRyZXNwb25zaXZlID09IGZhbHNlIHtcbiAgICAgICAgJHN0YXRpYy1icmVha3BvaW50LXdpZHRoOiBtcS1nZXQtYnJlYWtwb2ludC13aWR0aCgkc3RhdGljLWJyZWFrcG9pbnQsICRicmVha3BvaW50cyk7XG4gICAgICAgICR0YXJnZXQtd2lkdGg6IG1xLXB4MmVtKCRzdGF0aWMtYnJlYWtwb2ludC13aWR0aCk7XG4gICAgICAgIC8vIE91dHB1dCBvbmx5IHJ1bGVzIHRoYXQgc3RhcnQgYXQgb3Igc3BhbiBvdXIgdGFyZ2V0IHdpZHRoXG4gICAgICAgIEBpZiAoJGFuZCA9PSBmYWxzZSBhbmQgKCRtaW4td2lkdGggPD0gJHRhcmdldC13aWR0aCkgYW5kICgoJHVudGlsID09IGZhbHNlKSBvciAoJG1heC13aWR0aCA+PSAkdGFyZ2V0LXdpZHRoKSkpIHtcbiAgICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gUmVzcG9uc2l2ZSBzdXBwb3J0IGlzIGVuYWJsZWQsIG91dHB1dCBydWxlcyBpbnNpZGUgQG1lZGlhIHF1ZXJpZXNcbiAgICBAZWxzZSB7XG4gICAgICAgIEBpZiAkbWluLXdpZHRoICE9IDAgeyAkbWVkaWEtcXVlcnk6ICcjeyRtZWRpYS1xdWVyeX0gYW5kIChtaW4td2lkdGg6ICN7JG1pbi13aWR0aH0pJzsgfVxuICAgICAgICBAaWYgJG1heC13aWR0aCAhPSAwIHsgJG1lZGlhLXF1ZXJ5OiAnI3skbWVkaWEtcXVlcnl9IGFuZCAobWF4LXdpZHRoOiAjeyRtYXgtd2lkdGh9KSc7IH1cbiAgICAgICAgQGlmICRhbmQgICAgICAgICAgICB7ICRtZWRpYS1xdWVyeTogJyN7JG1lZGlhLXF1ZXJ5fSBhbmQgI3skYW5kfSc7IH1cblxuICAgICAgICAvLyBSZW1vdmUgdW5uZWNlc3NhcnkgbWVkaWEgcXVlcnkgcHJlZml4ICdhbGwgYW5kICdcbiAgICAgICAgQGlmICgkbWVkaWEtdHlwZSA9PSAnYWxsJyBhbmQgJG1lZGlhLXF1ZXJ5ICE9ICcnKSB7XG4gICAgICAgICAgICAkbWVkaWEtdHlwZTogJyc7XG4gICAgICAgICAgICAkbWVkaWEtcXVlcnk6IHN0ci1zbGljZSh1bnF1b3RlKCRtZWRpYS1xdWVyeSksIDYpO1xuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhICN7JG1lZGlhLXR5cGUgKyAkbWVkaWEtcXVlcnl9IHtcbiAgICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLy8gQWRkIGEgYnJlYWtwb2ludFxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRuYW1lIC0gTmFtZSBvZiB0aGUgYnJlYWtwb2ludFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggLSBXaWR0aCBvZiB0aGUgYnJlYWtwb2ludFxuLy8vXG4vLy8gQHJlcXVpcmVzIHtWYXJpYWJsZX0gJG1xLWJyZWFrcG9pbnRzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gIEBpbmNsdWRlIG1xLWFkZC1icmVha3BvaW50KHR2c2NyZWVuLCAxOTIwcHgpO1xuLy8vICBAaW5jbHVkZSBtcSh0dnNjcmVlbikge31cbkBtaXhpbiBtcS1hZGQtYnJlYWtwb2ludCgkbmFtZSwgJHdpZHRoKSB7XG4gICAgJG5ldy1icmVha3BvaW50OiAoJG5hbWU6ICR3aWR0aCk7XG4gICAgJG1xLWJyZWFrcG9pbnRzOiBtYXAtbWVyZ2UoJG1xLWJyZWFrcG9pbnRzLCAkbmV3LWJyZWFrcG9pbnQpICFnbG9iYWw7XG59XG5cbi8vLyBTaG93IHRoZSBhY3RpdmUgYnJlYWtwb2ludCBpbiB0aGUgdG9wIHJpZ2h0IGNvcm5lciBvZiB0aGUgdmlld3BvcnRcbi8vLyBAbGluayBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy1tcS9zYXNzLW1xI3NlZWluZy10aGUtY3VycmVudGx5LWFjdGl2ZS1icmVha3BvaW50XG4vLy9cbi8vLyBAcGFyYW0ge0xpc3R9ICRzaG93LWJyZWFrcG9pbnRzICgkbXEtc2hvdy1icmVha3BvaW50cykgLSBMaXN0IG9mIGJyZWFrcG9pbnRzIHRvIHNob3cgaW4gdGhlIHRvcCByaWdodCBjb3JuZXJcbi8vLyBAcGFyYW0ge01hcH0gJGJyZWFrcG9pbnRzICgkbXEtYnJlYWtwb2ludHMpIC0gQnJlYWtwb2ludCBuYW1lcyBhbmQgc2l6ZXNcbi8vL1xuLy8vIEByZXF1aXJlcyB7VmFyaWFibGV9ICRtcS1icmVha3BvaW50c1xuLy8vIEByZXF1aXJlcyB7VmFyaWFibGV9ICRtcS1zaG93LWJyZWFrcG9pbnRzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gIC8vIFNob3cgYnJlYWtwb2ludHMgdXNpbmcgZ2xvYmFsIHNldHRpbmdzXG4vLy8gIEBpbmNsdWRlIG1xLXNob3ctYnJlYWtwb2ludHM7XG4vLy9cbi8vLyAgLy8gU2hvdyBicmVha3BvaW50cyB1c2luZyBjdXN0b20gc2V0dGluZ3Ncbi8vLyAgQGluY2x1ZGUgbXEtc2hvdy1icmVha3BvaW50cygoTCwgWEwpLCAoUzogMzAwcHgsIEw6IDgwMHB4LCBYTDogMTIwMHB4KSk7XG5AbWl4aW4gbXEtc2hvdy1icmVha3BvaW50cygkc2hvdy1icmVha3BvaW50czogJG1xLXNob3ctYnJlYWtwb2ludHMsICRicmVha3BvaW50czogJG1xLWJyZWFrcG9pbnRzKSB7XG4gICAgYm9keTpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkNGOEUzO1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0ZCRUVENTtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjRkJFRUQ1O1xuICAgICAgICBjb2xvcjogI0MwOTg1MztcbiAgICAgICAgZm9udDogc21hbGwtY2FwdGlvbjtcbiAgICAgICAgcGFkZGluZzogM3B4IDZweDtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgei1pbmRleDogMTAwO1xuXG4gICAgICAgIC8vIExvb3AgdGhyb3VnaCB0aGUgYnJlYWtwb2ludHMgdGhhdCBzaG91bGQgYmUgc2hvd25cbiAgICAgICAgQGVhY2ggJHNob3ctYnJlYWtwb2ludCBpbiAkc2hvdy1icmVha3BvaW50cyB7XG4gICAgICAgICAgICAkd2lkdGg6IG1xLWdldC1icmVha3BvaW50LXdpZHRoKCRzaG93LWJyZWFrcG9pbnQsICRicmVha3BvaW50cyk7XG4gICAgICAgICAgICBAaW5jbHVkZSBtcSgkc2hvdy1icmVha3BvaW50LCAkYnJlYWtwb2ludHM6ICRicmVha3BvaW50cykge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiI3skc2hvdy1icmVha3BvaW50fSDiiaUgI3skd2lkdGh9ICgje21xLXB4MmVtKCR3aWR0aCl9KVwiO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5AaWYgbGVuZ3RoKCRtcS1zaG93LWJyZWFrcG9pbnRzKSA+IDAge1xuICAgIEBpbmNsdWRlIG1xLXNob3ctYnJlYWtwb2ludHM7XG59XG4iLCIubWFwLXZpZXdlciB7XG5cbiAgICAmX19jb250YWluZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIH1cblxuICAgICZfX3Nob3BzIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBwYWRkaW5nOiAycmVtO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG5cbiAgICAgICAgW3R5cGU9XCJ0ZXh0XCJdIHtcbiAgICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICNmZmY7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIH1cblxuICAgICAgICA6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIH1cblxuICAgICAgICBpbnB1dDotbW96LXBsYWNlaG9sZGVyLFxuICAgICAgICBpbnB1dDo6LW1vei1wbGFjZWhvbGRlcixcbiAgICAgICAgdGV4dGFyZWE6LW1vei1wbGFjZWhvbGRlcixcbiAgICAgICAgdGV4dGFyZWE6Oi1tb3otcGxhY2Vob2xkZXIge1xuICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19zaG9wLWxpc3Qge1xuICAgICAgICBAZXh0ZW5kICV1bnN0eWxlZC1saXN0O1xuICAgIH1cblxuICAgICZfX3Nob3AtaXRlbSB7XG4gICAgICAgICZbYXJpYS1oaWRkZW49XCJ0cnVlXCJdIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAuc2hvcC1pbmZvc19faW5mb3Mge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1xKCR1bnRpbDogZGVza3RvcCkge1xuICAgICAgICAgICAgLnBvcC1jYXJkIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAucG9wLWNhcmRfX21lZGlhIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fY29udHJvbHMge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDIwO1xuXG4gICAgICAgID4gdWwge1xuICAgICAgICAgICAgQGV4dGVuZCAldW5zdHlsZWQtbGlzdDtcblxuICAgICAgICAgICAgPiBsaSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogLjVyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmX196b29tIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHJpZ2h0OiAxcmVtO1xuICAgICAgICAgICAgdG9wOiAxMXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX2xldmVscyB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICByaWdodDogMXJlbTtcbiAgICAgICAgICAgIHRvcDogMXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIFtjbGFzcyo9XCJidG4tXCJdIHtcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGMtdHh0O1xuICAgICAgICAgICAgd2lkdGg6IDQuNXJlbTtcbiAgICAgICAgICAgIGhlaWdodDogNC41cmVtO1xuICAgICAgICAgICAgcGFkZGluZzogLjVlbTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyLjdyZW07XG4gICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIlxuLnNlY3Rpb24uLW1hcCB7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG59XG5cbi5jdWx0dXJlLW1hcCB7XG4gICAgcGFkZGluZy10b3A6IDJyZW07XG5cbiAgICAjbWFwcGxpYyB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIH1cblxuICAgICZfX3RpdGxlIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cblxuICAgICZfX21hcCB7XG4gICAgICAgIC8vZGlzcGxheTogYmxvY2s7XG4gICAgICAgIC8vcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAvL2JvdHRvbTogMDtcbiAgICAgICAgLy9sZWZ0OiA1MCU7XG4gICAgICAgIC8vdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICAvLy8vaGVpZ2h0OiAyNXJlbTtcbiAgICAgICAgLy9oZWlnaHQ6IDQwcmVtO1xuICAgICAgICAvL3dpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1xKCRmcm9tOiB0YWJsZXQpIHtcbiAgICAgICAgJl9fbWFwIHtcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLi0tdXNlLXRvb2x0aXAge1xuICAgICNtYXBwbGljLm1hcHBsaWMtZWxlbWVudCAubWFwcGxpYy1jb250YWluZXIgLm1hcHBsaWMtbWFwIC5tYXBwbGljLXRvb2x0aXA6bm90KC5tYXBwbGljLWhvdmVydGlwKSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLm1hcHBsaWMtdG9vbHRpcC1jb250ZW50IHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5tYXBwbGljLXRvb2x0aXAtd3JhcCB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5tYXBwbGljLXRvb2x0aXAtdGl0bGUge1xuICAgICAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICB9XG59XG5cbi4tLWJveGVkIHtcbiAgICAuY3VsdHVyZS1tYXBfX21hcCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IDExMHJlbTtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNlZWU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIuNXJlbTtcblxuICAgICAgICAvLyNtYXBwbGljIHtcbiAgICAgICAgLy8gICAgLm1hcHBsaWMtY29udGFpbmVyIHtcbiAgICAgICAgLy8gICAgICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICAvLyAgICB9XG4gICAgICAgIC8vfVxuICAgIH1cbn1cblxuLi0tbG9ja2VkLi0tdXNlLXRvb2x0aXAge1xuICAgIGEge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG4uLS1sb2NrZWQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB6LWluZGV4OiA5OTk7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIH1cbn1cbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==*/