@charset "UTF-8";
@font-face {
  font-family: 'icons';
  font-weight: normal;
  font-style: normal;
  src: url("../fonts/icons.eot");
  src: url("../fonts/icons.woff") format("woff"), url("../fonts/icons.ttf") format("truetype"), url("../fonts/icons.eot?#iefix") format("embedded-opentype"); }

.icon, .filters .filters-item-title:before, .header .phone:before,
.icon[class^="icon-"],
.filters [class^="icon-"].filters-item-title:before,
.header [class^="icon-"].phone:before,
.icon[class*=" icon-"],
.filters [class*=" icon-"].filters-item-title:before,
.header [class*=" icon-"].phone:before {
  display: inline-block;
  font-family: 'icons';
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-style: normal;
  font-variant: normal;
  font-weight: normal;
  line-height: 1;
  text-transform: none; }

.icon-select:before, .filters .filters-item-title:before {
  content: ""; }

.icon-camera:before {
  content: ""; }

.icon-facebook:before {
  content: ""; }

.icon-lamp:before {
  content: ""; }

.icon-link:before {
  content: ""; }

.icon-more:before {
  content: ""; }

.icon-newsletter:before {
  content: ""; }

.icon-phone:before, .header .phone:before {
  content: ""; }

.icon-map:before {
  content: ""; }

.icon-location:before {
  content: ""; }

.icon-close:before {
  content: ""; }

.icon-next:before {
  content: ""; }

.icon-beaute-sante:before {
  content: ""; }

.icon-bebes-enfants:before {
  content: ""; }

.icon-bijouteries-horlogeries:before {
  content: ""; }

.icon-chaussures:before {
  content: ""; }

.icon-culture-loisirs-tourisme:before {
  content: ""; }

.icon-gouts-saveurs:before {
  content: ""; }

.icon-hotels-restaurants-cafes:before {
  content: ""; }

.icon-maison-decoration:before {
  content: ""; }

.icon-mode-accessoires:before {
  content: ""; }

.icon-multimedia-bureautique:before {
  content: ""; }

.icon-services:before {
  content: ""; }

.icon-supermarches-generalistes:before {
  content: ""; }

.icon-filter:before {
  content: ""; }

.icon-calendar:before {
  content: ""; }

.icon-contact:before {
  content: ""; }

.icon-actualites:before {
  content: ""; }

.icon-menu:before {
  content: ""; }

.icon-cityshopping:before {
  content: ""; }

.icon-prev:before {
  content: ""; }

.icon-information:before {
  content: ""; }

.icon-edit:before {
  content: ""; }

.icon-trash:before {
  content: ""; }

.icon-download:before {
  content: ""; }

/* Generated by Font Squirrel (https://www.fontsquirrel.com) on April 24, 2016 */
@font-face {
  font-family: 'josefin_sansbold';
  src: url("../fonts/josefinsans-bold-webfont.eot");
  src: url("../fonts/josefinsans-bold-webfont.eot?#iefix") format("embedded-opentype"), url("../fonts/josefinsans-bold-webfont.woff2") format("woff2"), url("../fonts/josefinsans-bold-webfont.woff") format("woff"), url("../fonts/josefinsans-bold-webfont.ttf") format("truetype"), url("../fonts/josefinsans-bold-webfont.svg#josefin_sansbold") format("svg");
  font-weight: normal;
  font-style: normal; }

@font-face {
  font-family: 'josefin_sansbold_italic';
  src: url("../fonts/josefinsans-bolditalic-webfont.eot");
  src: url("../fonts/josefinsans-bolditalic-webfont.eot?#iefix") format("embedded-opentype"), url("../fonts/josefinsans-bolditalic-webfont.woff2") format("woff2"), url("../fonts/josefinsans-bolditalic-webfont.woff") format("woff"), url("../fonts/josefinsans-bolditalic-webfont.ttf") format("truetype"), url("../fonts/josefinsans-bolditalic-webfont.svg#josefin_sansbold_italic") format("svg");
  font-weight: normal;
  font-style: normal; }

@font-face {
  font-family: 'josefin_sansitalic';
  src: url("../fonts/josefinsans-italic-webfont.eot");
  src: url("../fonts/josefinsans-italic-webfont.eot?#iefix") format("embedded-opentype"), url("../fonts/josefinsans-italic-webfont.woff2") format("woff2"), url("../fonts/josefinsans-italic-webfont.woff") format("woff"), url("../fonts/josefinsans-italic-webfont.ttf") format("truetype"), url("../fonts/josefinsans-italic-webfont.svg#josefin_sansitalic") format("svg");
  font-weight: normal;
  font-style: normal; }

@font-face {
  font-family: 'josefin_sanslight';
  src: url("../fonts/josefinsans-light-webfont.eot");
  src: url("../fonts/josefinsans-light-webfont.eot?#iefix") format("embedded-opentype"), url("../fonts/josefinsans-light-webfont.woff2") format("woff2"), url("../fonts/josefinsans-light-webfont.woff") format("woff"), url("../fonts/josefinsans-light-webfont.ttf") format("truetype"), url("../fonts/josefinsans-light-webfont.svg#josefin_sanslight") format("svg");
  font-weight: normal;
  font-style: normal; }

@font-face {
  font-family: 'josefin_sanslight_italic';
  src: url("../fonts/josefinsans-lightitalic-webfont.eot");
  src: url("../fonts/josefinsans-lightitalic-webfont.eot?#iefix") format("embedded-opentype"), url("../fonts/josefinsans-lightitalic-webfont.woff2") format("woff2"), url("../fonts/josefinsans-lightitalic-webfont.woff") format("woff"), url("../fonts/josefinsans-lightitalic-webfont.ttf") format("truetype"), url("../fonts/josefinsans-lightitalic-webfont.svg#josefin_sanslight_italic") format("svg");
  font-weight: normal;
  font-style: normal; }

@font-face {
  font-family: 'josefin_sansregular';
  src: url("../fonts/josefinsans-regular-webfont.eot");
  src: url("../fonts/josefinsans-regular-webfont.eot?#iefix") format("embedded-opentype"), url("../fonts/josefinsans-regular-webfont.woff2") format("woff2"), url("../fonts/josefinsans-regular-webfont.woff") format("woff"), url("../fonts/josefinsans-regular-webfont.ttf") format("truetype"), url("../fonts/josefinsans-regular-webfont.svg#josefin_sansregular") format("svg");
  font-weight: normal;
  font-style: normal; }

@font-face {
  font-family: 'josefin_sanssemibold';
  src: url("../fonts/josefinsans-semibold-webfont.eot");
  src: url("../fonts/josefinsans-semibold-webfont.eot?#iefix") format("embedded-opentype"), url("../fonts/josefinsans-semibold-webfont.woff2") format("woff2"), url("../fonts/josefinsans-semibold-webfont.woff") format("woff"), url("../fonts/josefinsans-semibold-webfont.ttf") format("truetype"), url("../fonts/josefinsans-semibold-webfont.svg#josefin_sanssemibold") format("svg");
  font-weight: normal;
  font-style: normal; }

@font-face {
  font-family: 'josefin_sanssemibold_italic';
  src: url("../fonts/josefinsans-semibolditalic-webfont.eot");
  src: url("../fonts/josefinsans-semibolditalic-webfont.eot?#iefix") format("embedded-opentype"), url("../fonts/josefinsans-semibolditalic-webfont.woff2") format("woff2"), url("../fonts/josefinsans-semibolditalic-webfont.woff") format("woff"), url("../fonts/josefinsans-semibolditalic-webfont.ttf") format("truetype"), url("../fonts/josefinsans-semibolditalic-webfont.svg#josefin_sanssemibold_italic") format("svg");
  font-weight: normal;
  font-style: normal; }

@font-face {
  font-family: 'josefin_sansthin';
  src: url("../fonts/josefinsans-thin-webfont.eot");
  src: url("../fonts/josefinsans-thin-webfont.eot?#iefix") format("embedded-opentype"), url("../fonts/josefinsans-thin-webfont.woff2") format("woff2"), url("../fonts/josefinsans-thin-webfont.woff") format("woff"), url("../fonts/josefinsans-thin-webfont.ttf") format("truetype"), url("../fonts/josefinsans-thin-webfont.svg#josefin_sansthin") format("svg");
  font-weight: normal;
  font-style: normal; }

@font-face {
  font-family: 'josefin_sansthin_italic';
  src: url("../fonts/josefinsans-thinitalic-webfont.eot");
  src: url("../fonts/josefinsans-thinitalic-webfont.eot?#iefix") format("embedded-opentype"), url("../fonts/josefinsans-thinitalic-webfont.woff2") format("woff2"), url("../fonts/josefinsans-thinitalic-webfont.woff") format("woff"), url("../fonts/josefinsans-thinitalic-webfont.ttf") format("truetype"), url("../fonts/josefinsans-thinitalic-webfont.svg#josefin_sansthin_italic") format("svg");
  font-weight: normal;
  font-style: normal; }

* {
  box-sizing: border-box; }

body {
  background-color: #fff;
  font-family: 'josefin_sansregular'; }

a {
  color: #50aeb7; }

strong {
  font-weight: normal;
  font-family: 'josefin_sansbold'; }

img {
  max-width: 100%; }

.container, .prev-next-post {
  padding-right: 1rem;
  padding-left: 1rem;
  max-width: 70em;
  margin-left: auto;
  margin-right: auto; }
  .container:after, .prev-next-post:after {
    content: " ";
    display: block;
    clear: both; }
  .container.no-padding, .no-padding.prev-next-post {
    padding-right: 0;
    padding-left: 0; }

@media (min-width: 992px) {
  .col-md-3 {
    width: 24.09639%;
    float: left;
    margin-right: 1.20482%; }
    .col-md-3.last {
      width: 24.09639%;
      float: right;
      margin-right: 0; }
  .col-md-4 {
    width: 32.53012%;
    float: left;
    margin-right: 1.20482%; }
    .col-md-4.last {
      width: 32.53012%;
      float: right;
      margin-right: 0; }
  .col-md-6 {
    width: 49.39759%;
    float: left;
    margin-right: 1.20482%; }
    .col-md-6.last {
      width: 49.39759%;
      float: right;
      margin-right: 0; }
  .col-md-8 {
    width: 66.26506%;
    float: left;
    margin-right: 1.20482%; }
    .col-md-8.last {
      width: 66.26506%;
      float: right;
      margin-right: 0; }
  .col-md-12 {
    width: 100%;
    float: left;
    margin-left: 0;
    margin-right: 0; }
    .col-md-12.last {
      width: 100%;
      float: right;
      margin-right: 0; } }

.col-xs-12 {
  float: none;
  width: 100%; }

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

.content-wrapper .image-container {
  margin: 0 auto; }
  .content-wrapper .image-container > img {
    display: block;
    margin: 0 auto; }

@media (min-width: 992px) {
  .content.with-sidebar {
    float: right;
    width: 74.6988%; } }

@media (min-width: 992px) {
  .sidebar {
    float: left;
    margin-right: 1.20482%;
    width: 24.09639%; } }

.header {
  position: relative;
  padding-top: 4rem; }
  @media (min-width: 992px) {
    .header {
      margin: 0 0 2rem 0;
      padding: 1em 0 0 0; } }
  .header .container, .header .prev-next-post {
    display: table;
    width: 100%; }

.content-main {
  margin: 2rem 0; }
  @media (min-width: 992px) {
    .content-main {
      float: right;
      margin: 4rem 0;
      width: 66.26506%; } }

.content-sidebar {
  margin: 4rem 0 2rem 0; }
  @media (min-width: 992px) {
    .content-sidebar {
      float: left;
      margin: 5rem 0 3rem 0;
      margin-right: 1.20482%;
      width: 19.87952%; } }

.post-container {
  position: relative;
  padding-top: 4rem;
  padding-bottom: 4rem; }

.news {
  margin: 6rem 0; }

.sidebar {
  position: relative;
  min-height: 3rem; }

.footer {
  margin-bottom: 7px;
  padding-bottom: 2rem;
  background-color: #50aeb7;
  text-align: right; }
  @media (min-width: 992px) {
    .footer {
      padding-bottom: 6rem; } }

body.hidden-scroll {
  overflow: hidden; }

.sl-overlay {
  position: fixed;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  background: #fff;
  opacity: 0.7;
  display: none;
  z-index: 1006; }

.sl-wrapper {
  z-index: 1000; }
  .sl-wrapper button {
    border: 0 none;
    background: transparent;
    font-size: 24px;
    padding: 0;
    cursor: pointer; }
    .sl-wrapper button:hover {
      opacity: 0.7; }
  .sl-wrapper .sl-close {
    display: none;
    position: fixed;
    right: 30px;
    top: 30px;
    z-index: 1015; }
  .sl-wrapper .sl-counter {
    display: none;
    position: fixed;
    top: 30px;
    left: 30px;
    z-index: 1015; }
  .sl-wrapper .sl-navigation {
    width: 100%;
    display: none; }
    .sl-wrapper .sl-navigation button {
      position: fixed;
      top: 50%;
      margin-top: -10px;
      height: 30px;
      width: 30px;
      line-height: 30px;
      text-align: center;
      display: block;
      z-index: 1015;
      font-family: arial sans-serif; }
      .sl-wrapper .sl-navigation button.sl-next {
        right: 40px; }
      .sl-wrapper .sl-navigation button.sl-prev {
        left: 40px; }
  .sl-wrapper .sl-image {
    position: fixed;
    -ms-touch-action: none;
    touch-action: none;
    z-index: 10000; }
    .sl-wrapper .sl-image img {
      margin: 0;
      padding: 0;
      display: block; }
    .sl-wrapper .sl-image iframe {
      border: 0 none;
      background: #000; }
    .sl-wrapper .sl-image .sl-caption {
      display: none;
      padding: 10px;
      color: #fff;
      background: #000;
      opacity: 0.8;
      position: absolute;
      bottom: 0;
      left: 0;
      right: 0; }
      .sl-wrapper .sl-image .sl-caption.pos-top {
        bottom: auto;
        top: 0; }
      .sl-wrapper .sl-image .sl-caption.pos-outside {
        bottom: auto; }
    .sl-wrapper .sl-image .sl-download {
      display: none;
      position: absolute;
      bottom: 5px;
      right: 5px;
      color: #fff;
      z-index: 1005; }

.sl-spinner {
  display: none;
  border: 5px solid #333;
  border-radius: 40px;
  height: 40px;
  left: 50%;
  margin: -20px 0 0 -20px;
  opacity: 0;
  position: fixed;
  top: 50%;
  width: 40px;
  z-index: 1007;
  animation: pulsate 1s ease-out infinite; }

.sl-scrollbar-measure {
  position: absolute;
  top: -9999px;
  width: 50px;
  height: 50px;
  overflow: scroll; }

@keyframes pulsate {
  0% {
    transform: scale(0.1);
    opacity: 0.0; }
  50% {
    opacity: 1; }
  100% {
    transform: scale(1.2);
    opacity: 0; } }

/**
 * @package		PickMeUp - jQuery datepicker plugin
 * @author		Nazar Mokrynskyi <nazar@mokrynskyi.com>
 * @author		Stefan Petre <www.eyecon.ro>
 * @copyright	Copyright (c) 2013-2015, Nazar Mokrynskyi
 * @copyright	Copyright (c) 2008-2009, Stefan Petre
 * @license		MIT License, see license.txt
 */
.pickmeup {
  background: #000;
  border-radius: 0.4em;
  box-sizing: content-box;
  display: none;
  position: absolute; }
  .pickmeup * {
    box-sizing: border-box; }
  .pickmeup .pmu-instance {
    display: inline-block;
    height: 13.8em;
    padding: .5em;
    text-align: center;
    width: 15em; }
    .pickmeup .pmu-instance .pmu-button {
      color: #eee;
      cursor: pointer;
      outline: none;
      text-decoration: none; }
    .pickmeup .pmu-instance .pmu-today {
      background: #17384d;
      color: #88c5eb; }
    .pickmeup .pmu-instance .pmu-button:hover {
      background: transparent;
      color: #88c5eb; }
    .pickmeup .pmu-instance .pmu-not-in-month {
      color: #666; }
    .pickmeup .pmu-instance .pmu-disabled,
    .pickmeup .pmu-instance .pmu-disabled:hover {
      color: #333;
      cursor: default; }
    .pickmeup .pmu-instance .pmu-selected {
      background: #136a9f;
      color: #eee; }
    .pickmeup .pmu-instance .pmu-not-in-month.pmu-selected {
      background: #17384d; }
    .pickmeup .pmu-instance nav {
      color: #eee;
      display: -ms-flexbox;
      display: flex;
      line-height: 2em; }
      .pickmeup .pmu-instance nav *:first-child :hover {
        color: #88c5eb; }
      .pickmeup .pmu-instance nav .pmu-prev,
      .pickmeup .pmu-instance nav .pmu-next {
        display: none;
        height: 2em;
        width: 1em; }
      .pickmeup .pmu-instance nav .pmu-month {
        width: 14em; }
    .pickmeup .pmu-instance .pmu-years *,
    .pickmeup .pmu-instance .pmu-months * {
      display: inline-block;
      line-height: 3.6em;
      width: 3.5em; }
    .pickmeup .pmu-instance .pmu-day-of-week {
      color: #999;
      cursor: default; }
    .pickmeup .pmu-instance .pmu-day-of-week *,
    .pickmeup .pmu-instance .pmu-days * {
      display: inline-block;
      line-height: 1.5em;
      width: 2em; }
    .pickmeup .pmu-instance .pmu-day-of-week * {
      line-height: 1.8em; }
  .pickmeup .pmu-instance:first-child .pmu-prev,
  .pickmeup .pmu-instance:last-child .pmu-next {
    display: block; }
  .pickmeup .pmu-instance:first-child .pmu-month,
  .pickmeup .pmu-instance:last-child .pmu-month {
    width: 13em; }
  .pickmeup .pmu-instance:first-child:last-child .pmu-month {
    width: 12em; }
  .pickmeup:not(.pmu-view-days) .pmu-days,
  .pickmeup:not(.pmu-view-days) .pmu-day-of-week,
  .pickmeup:not(.pmu-view-months) .pmu-months,
  .pickmeup:not(.pmu-view-years) .pmu-years {
    display: none; }

.ads {
  margin-top: 3rem;
  margin-bottom: 6rem; }
  .ads a {
    display: block;
    float: left;
    margin-left: 1.20482%;
    width: 49.39759%; }
    .ads a img {
      width: 100%; }
    .ads a:first-child {
      margin-left: 0; }

.breadcrumb {
  padding-top: 1.4rem;
  padding-bottom: 1.4rem; }
  .breadcrumb a,
  .breadcrumb .breadcrumb_last {
    display: inline-block;
    vertical-align: middle;
    text-decoration: none;
    text-transform: uppercase;
    font-size: 0.9rem;
    color: #000;
    margin-left: 0.4rem; }
  .breadcrumb .breadcrumb_last {
    color: #50aeb7; }
  .breadcrumb .icon, .breadcrumb .filters .filters-item-title:before, .filters .breadcrumb .filters-item-title:before, .breadcrumb .header .phone:before, .header .breadcrumb .phone:before {
    display: inline-block;
    vertical-align: middle;
    margin-left: 0.4rem;
    font-size: 0.6em; }

.button {
  display: inline-block;
  padding: 1em 1.5em;
  border: solid 2px transparent;
  border-radius: 3rem;
  color: #fff;
  vertical-align: middle;
  text-align: center;
  text-decoration: none;
  font-size: .9rem;
  line-height: 1;
  cursor: pointer;
  -webkit-appearance: none; }
  .button.primary {
    background-color: #000; }
  .button.secondary {
    border-color: #fff; }
  .button.small {
    padding: 0.6em 1em; }

.btn-menu {
  position: fixed;
  top: 0;
  right: 0;
  z-index: 3;
  display: block;
  width: 3rem;
  height: 3rem;
  background-color: #000;
  color: #fff;
  text-align: center;
  line-height: 3rem !important;
  cursor: pointer; }
  @media (min-width: 992px) {
    .btn-menu {
      display: none !important; } }

.btn-close {
  position: absolute;
  top: 0;
  right: 0;
  display: block;
  width: 3rem;
  height: 3rem;
  background-color: #fff;
  color: #000;
  cursor: pointer; }
  .btn-close:before {
    display: inline-block;
    width: 3rem;
    height: 3rem;
    text-align: center;
    font-size: 1.6em;
    line-height: 3rem; }

.form-contact > div {
  margin-bottom: 1em; }

.form-contact .button-container {
  text-align: right; }

.contact-map-container {
  position: relative;
  overflow: hidden;
  margin-bottom: 2rem;
  height: 200px;
  background-color: #50aeb7; }
  @media (min-width: 992px) {
    .contact-map-container {
      margin-bottom: 6rem; }
      .contact-map-container:after {
        position: absolute;
        top: 0;
        right: 0;
        display: block;
        width: 50%;
        height: 100%;
        background-image: url("../img/bg-contact.jpg");
        background-position: center center;
        background-size: cover;
        background-repeat: no-repeat;
        content: ''; } }
  .contact-map-container .map {
    width: 100%;
    height: 100%; }
    @media (min-width: 992px) {
      .contact-map-container .map {
        width: 50%; } }

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

.downloads .downloads-item {
  padding: 0.5rem 0;
  border-bottom: solid 1px #f1efed;
  transition: padding 0.6s; }
  .downloads .downloads-item:hover {
    padding-right: 1rem;
    padding-left: 1rem;
    background-color: #f1efed; }
  .downloads .downloads-item a {
    color: #000;
    text-decoration: none; }
  .downloads .downloads-item .btn-download {
    display: none; }
    @media (min-width: 768px) {
      .downloads .downloads-item .btn-download {
        display: inline-block;
        float: right; }
        .downloads .downloads-item .btn-download span {
          vertical-align: middle; } }

.excerpt-blocks {
  padding-right: 0;
  padding-left: 0; }
  .excerpt-blocks:after {
    content: "";
    display: table;
    clear: both; }
  @media (min-width: 992px) {
    .excerpt-blocks {
      background-color: transparent; } }
  .excerpt-blocks .excerpt-block {
    position: relative;
    display: block;
    overflow: hidden;
    text-decoration: none; }
    @media (min-width: 992px) {
      .excerpt-blocks .excerpt-block {
        padding-left: 1rem; } }
    @media (min-width: 992px) {
      .excerpt-blocks .excerpt-block {
        float: left;
        overflow: hidden;
        margin: 0;
        margin-bottom: 1.20482%;
        margin-left: 1.20482%;
        padding: 0;
        width: 24.09639%;
        border-bottom: none; } }
    .excerpt-blocks .excerpt-block:nth-child(odd) {
      background-color: #f1efed; }
      @media (min-width: 992px) {
        .excerpt-blocks .excerpt-block:nth-child(odd) {
          background-color: transparent; } }
    @media (min-width: 992px) {
      .excerpt-blocks .excerpt-block:first-child {
        padding-top: 0;
        padding-bottom: 0; } }
    .excerpt-blocks .excerpt-block .image-container {
      display: inline-block;
      margin-right: -0.25em;
      width: 24.09639%;
      vertical-align: middle; }
      @media (min-width: 992px) {
        .excerpt-blocks .excerpt-block .image-container {
          display: block;
          margin-right: 0;
          width: 100%;
          padding-top: 75%;
          position: relative;
          background-color: #f1efed; } }
      .excerpt-blocks .excerpt-block .image-container img {
        display: block;
        margin: 0;
        width: 100%; }
        @media (min-width: 992px) {
          .excerpt-blocks .excerpt-block .image-container img {
            position: absolute;
            left: 0;
            top: 0;
            width: 100%;
            height: 100%; } }
    .excerpt-blocks .excerpt-block .caption {
      display: inline-block;
      margin-right: -0.25em;
      padding-right: 1rem;
      padding-left: 1rem;
      width: 74.6988%;
      color: #000;
      vertical-align: middle;
      font-size: 0.9em; }
      @media (min-width: 992px) {
        .excerpt-blocks .excerpt-block .caption {
          position: absolute;
          bottom: .8rem;
          left: .8rem;
          z-index: 0;
          display: block;
          margin-right: 0;
          margin-left: 0;
          padding: .5em .5em;
          width: calc(100% - 1.6rem);
          background-color: #fff;
          transition: bottom .4s, transform .4s, opacity .4s; } }
    .excerpt-blocks .excerpt-block time + time + .image-container + .caption {
      padding-left: 8rem; }
      @media (min-width: 992px) {
        .excerpt-blocks .excerpt-block time + time + .image-container + .caption {
          padding-left: .5em; } }
    .excerpt-blocks .excerpt-block time {
      position: absolute;
      top: .6rem;
      left: 1em;
      z-index: 1;
      display: block;
      padding-top: 0.6em;
      width: 5em;
      height: 5em;
      border-radius: 5em;
      background-color: #000;
      font-size: 0.7em; }
      @media (min-width: 992px) {
        .excerpt-blocks .excerpt-block time {
          right: .6rem;
          left: auto;
          font-size: 1em; } }
      .excerpt-blocks .excerpt-block time .day,
      .excerpt-blocks .excerpt-block time .month,
      .excerpt-blocks .excerpt-block time .year {
        display: block;
        text-align: center;
        font-family: 'josefin_sansbold'; }
      .excerpt-blocks .excerpt-block time .day {
        color: #50aeb7;
        font-size: 1.3em;
        line-height: 1em; }
      .excerpt-blocks .excerpt-block time .month {
        color: #fff;
        text-transform: uppercase; }
      .excerpt-blocks .excerpt-block time .year {
        color: #fff; }
      .excerpt-blocks .excerpt-block time.from {
        left: 1em;
        z-index: 2; }
        @media (min-width: 992px) {
          .excerpt-blocks .excerpt-block time.from {
            right: 5em;
            left: auto; } }
        .excerpt-blocks .excerpt-block time.from .icon, .excerpt-blocks .excerpt-block time.from .filters .filters-item-title:before, .filters .excerpt-blocks .excerpt-block time.from .filters-item-title:before, .excerpt-blocks .excerpt-block time.from .header .phone:before, .header .excerpt-blocks .excerpt-block time.from .phone:before {
          position: absolute;
          top: 50%;
          right: 0;
          z-index: 1;
          color: #fff;
          font-size: 0.8em;
          -ms-transform: translate(-0.3em, -50%);
              transform: translate(-0.3em, -50%); }
        .excerpt-blocks .excerpt-block time.from + time {
          left: 5em;
          background-color: #fff; }
          @media (min-width: 992px) {
            .excerpt-blocks .excerpt-block time.from + time {
              left: auto; } }
          .excerpt-blocks .excerpt-block time.from + time .day,
          .excerpt-blocks .excerpt-block time.from + time .month,
          .excerpt-blocks .excerpt-block time.from + time .year {
            color: #000; }
    .excerpt-blocks .excerpt-block .title {
      margin: 0;
      padding: 0;
      font-weight: normal;
      font-size: 1.2em;
      font-family: 'josefin_sansbold'; }
      @media (min-width: 992px) {
        .excerpt-blocks .excerpt-block .title {
          text-transform: uppercase; } }
    .excerpt-blocks .excerpt-block .subtitle {
      margin: 0;
      padding: 0;
      font-size: 1em; }
    .excerpt-blocks .excerpt-block .readmore {
      display: none; }
      @media (min-width: 992px) {
        .excerpt-blocks .excerpt-block .readmore {
          position: absolute;
          top: 40%;
          left: 0;
          z-index: 1;
          display: block;
          width: 100%;
          color: #fff;
          text-align: center;
          text-transform: uppercase;
          opacity: 0;
          transition: opacity .5s, top .4s;
          -ms-transform: translateY(-50%);
              transform: translateY(-50%); }
          .excerpt-blocks .excerpt-block .readmore:before {
            display: none; } }
    .excerpt-blocks .excerpt-block:nth-child(4n-3) {
      margin-left: 0; }
  .excerpt-blocks.events .excerpt-block {
    min-height: 4.5em; }
    .excerpt-blocks.events .excerpt-block .image-container {
      width: 0;
      height: 4.5em; }
      @media (min-width: 992px) {
        .excerpt-blocks.events .excerpt-block .image-container {
          position: relative;
          display: block;
          padding-top: 75%;
          width: 100%;
          height: 0;
          background-color: #f1efed; } }
      .excerpt-blocks.events .excerpt-block .image-container img {
        display: none; }
        @media (min-width: 992px) {
          .excerpt-blocks.events .excerpt-block .image-container img {
            position: absolute;
            top: 0;
            left: 0;
            display: block;
            width: 100%;
            height: 100%; } }
    .excerpt-blocks.events .excerpt-block .caption {
      padding-right: 1rem;
      padding-left: 5rem;
      width: 95%;
      color: #000; }
      @media (min-width: 992px) {
        .excerpt-blocks.events .excerpt-block .caption {
          padding-right: 0.5rem;
          padding-left: 0.5rem;
          width: calc(100% - 1.6rem); } }
  @media (min-width: 992px) {
    .excerpt-blocks a.excerpt-block:hover .readmore {
      top: 50%;
      opacity: 1; }
    .excerpt-blocks a.excerpt-block:hover:before {
      opacity: 1; }
    .excerpt-blocks a.excerpt-block:hover:after {
      -ms-transform: scale(1);
          transform: scale(1); }
    .excerpt-blocks a.excerpt-block:hover .caption {
      bottom: 0;
      opacity: 0;
      -ms-transform: translateY(100%);
          transform: translateY(100%); }
    .excerpt-blocks a.excerpt-block:before {
      position: absolute;
      top: 0;
      left: 0;
      z-index: 1;
      width: 100%;
      height: 100%;
      background-color: rgba(0, 0, 0, 0.7);
      content: '';
      opacity: 0;
      transition: opacity .5s; }
    .excerpt-blocks a.excerpt-block:after {
      position: absolute;
      top: calc(.8rem - 2px);
      left: calc(.8rem - 2px);
      z-index: 1;
      width: calc(100% - 1.6rem);
      height: calc(100% - 1.6rem);
      border: solid 2px #fff;
      content: '';
      transition: transform .6s;
      -ms-transform: scale(1.2);
          transform: scale(1.2); } }
  @media (min-width: 992px) {
    .excerpt-blocks.first-block-large .excerpt-block:nth-child(4n-3) {
      margin-left: 1.20482%; }
    .excerpt-blocks.first-block-large .excerpt-block:nth-child(4n+6) {
      margin-left: 0; }
    .excerpt-blocks.first-block-large .excerpt-block:first-child {
      margin-bottom: 0;
      margin-left: 0;
      width: 49.39759%;
      font-size: 1.4em; } }
  @media (min-width: 992px) {
    .excerpt-blocks.col-3 .excerpt-block {
      width: 32.53012%; }
      .excerpt-blocks.col-3 .excerpt-block:nth-child(4n-3) {
        margin-left: 1.20482%; }
      .excerpt-blocks.col-3 .excerpt-block:nth-child(3n-2) {
        margin-left: 0; } }

@media (min-width: 992px) {
  .page-template-model-events .filters {
    padding-top: 0;
    padding-left: 0; } }

.filters {
  position: fixed;
  top: 0;
  left: 0;
  left: -100%;
  z-index: 4;
  overflow-y: auto;
  padding: 4rem 1rem 1rem 1rem;
  width: 100%;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.9);
  opacity: 0;
  transition: opacity 0.4s, left 0.4s; }
  @media (min-width: 992px) {
    .filters {
      position: static;
      padding: 1rem 1.6rem;
      opacity: 1; } }
  .filters.is-mobile-visible {
    left: 0;
    opacity: 1; }
  .filters .filters-item {
    margin-top: 1rem; }
    .filters .filters-item.is-collapsed .filters-item-title:before {
      -ms-transform: translateY(-50%) rotate(0deg);
          transform: translateY(-50%) rotate(0deg); }
    .filters .filters-item.is-collapsed .filters-item-content {
      max-height: 0;
      margin-top: 0; }
    .filters .filters-item:first-child {
      margin-top: 0; }
  .filters .filters-item-title {
    position: relative;
    margin: 0;
    padding-right: 2em;
    text-transform: uppercase;
    font-size: 1em;
    font-family: 'josefin_sansbold';
    cursor: pointer; }
    @media (min-width: 992px) {
      .filters .filters-item-title {
        font-size: 0.9em; } }
    .filters .filters-item-title:before {
      position: absolute;
      top: 50%;
      right: 0;
      font-size: 0.6em;
      -ms-transform: translateY(-50%) rotate(-180deg);
          transform: translateY(-50%) rotate(-180deg); }
  .filters .filters-item-content {
    overflow: hidden;
    margin: 0.8em 0 0 0;
    padding: 0;
    list-style-type: none;
    font-size: 1.2em;
    max-height: 700px;
    transition: max-height 0.4s, margin-top 0.4s;
    padding-left: 2px; }
    .filters .filters-item-content li {
      margin: 0.2em 0; }
    .filters .filters-item-content label {
      display: inline-block;
      padding: 0.2em 0;
      width: calc(100% - 2rem);
      vertical-align: top;
      font-size: 0.8em;
      cursor: pointer; }
  @media (min-width: 992px) {
    .filters .btn-close {
      display: none; } }
  .filters .button {
    margin-top: 1rem; }

.btn-show-filters {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  display: block;
  width: 3rem;
  height: 3rem;
  background-color: #000;
  color: #fff;
  text-align: center;
  line-height: 3rem !important;
  cursor: pointer; }
  @media (min-width: 992px) {
    .btn-show-filters {
      display: none !important; } }
  .btn-show-filters:before {
    font-size: 1.2em; }

.newsletter {
  position: relative;
  background-color: #50aeb7; }
  @media (min-width: 992px) {
    .newsletter .section-title {
      text-align: right; } }
  .newsletter .section-title span + span {
    font-size: .4em; }
  .newsletter form {
    margin: 0;
    padding-bottom: 2rem;
    text-align: center; }
    .newsletter form input[type='email'],
    .newsletter form .button,
    .newsletter form select {
      display: block;
      margin: .5em 0;
      width: 100%; }
      @media (min-width: 992px) {
        .newsletter form input[type='email'],
        .newsletter form .button,
        .newsletter form select {
          display: inline-block;
          margin: 0;
          margin-right: -.25em;
          margin-left: 1.20482%;
          width: 32.53012%; } }
    .newsletter form input[type='email'] {
      margin-left: 0; }

.login-form {
  padding: 1em 0;
  background-color: #50aeb7;
  text-align: center; }
  .login-form h2,
  .login-form input[type='text'],
  .login-form input[type='password'],
  .login-form .button {
    display: block; }
    @media (min-width: 992px) {
      .login-form h2,
      .login-form input[type='text'],
      .login-form input[type='password'],
      .login-form .button {
        display: inline-block;
        margin-right: -.25em;
        vertical-align: middle; } }
  .login-form h2 {
    margin-top: 0;
    margin-bottom: 0.6em;
    font-weight: bold;
    font-size: 1.2em; }
    @media (min-width: 992px) {
      .login-form h2 {
        display: inline-block;
        margin-bottom: 0;
        margin-left: 0;
        text-align: left; } }
  .login-form input[type='text'],
  .login-form input[type='password'] {
    display: inline-block;
    width: 40.96386%;
    margin-right: -0.25em;
    padding-left: 1em;
    padding-right: 1em; }
    @media (min-width: 992px) {
      .login-form input[type='text'],
      .login-form input[type='password'] {
        margin-left: 1.20482%;
        width: 15.66265%; } }
  .login-form input[type='password'] {
    margin-left: 1.20482%; }
  .login-form .button.primary {
    display: inline-block;
    width: 15.66265%;
    margin-left: 1.20482%;
    margin-right: -0.25em;
    overflow: hidden;
    padding-left: 0;
    padding-right: 0; }
    @media (min-width: 992px) {
      .login-form .button.primary .icon, .login-form .button.primary .filters .filters-item-title:before, .filters .login-form .button.primary .filters-item-title:before, .login-form .button.primary .header .phone:before, .header .login-form .button.primary .phone:before {
        display: none; } }
    .login-form .button.primary .text {
      display: none; }
      @media (min-width: 992px) {
        .login-form .button.primary .text {
          display: inline-block; } }
    @media (min-width: 992px) {
      .login-form .button.primary {
        display: inline-block;
        margin-left: 1.20482%;
        width: 15.66265%; } }
  .login-form.is-user-logged-in {
    text-align: left; }
    .login-form.is-user-logged-in .button.primary {
      width: auto;
      padding-left: 1em;
      padding-right: 1em; }
  .login-form .user-info {
    display: block;
    margin: 0;
    padding: 0;
    list-style-type: none; }
    @media (min-width: 992px) {
      .login-form .user-info {
        display: inline-block; } }
    .login-form .user-info > li {
      display: block; }
      .login-form .user-info > li:last-child {
        margin-top: 1rem; }
        @media (min-width: 992px) {
          .login-form .user-info > li:last-child {
            margin-top: 0; } }
      @media (min-width: 992px) {
        .login-form .user-info > li {
          display: inline-block;
          border-left: solid 1px #000;
          padding: 0 1rem; } }
      .login-form .user-info > li:first-child {
        border-left: none;
        padding-left: 0; }
  .login-form .erreur_div {
    margin-bottom: 1em; }
    .login-form .erreur_div ul {
      text-align: center; }

.parsley-errors-list {
  margin: 0;
  padding: 0;
  color: #f04124;
  list-style-type: none;
  text-align: left;
  font-size: 0.8em; }
  .parsley-errors-list > li {
    margin: 0;
    padding: 0.3em 1em;
    background-color: #fde7e3; }

.field-container {
  margin: 1em 0; }

body fieldset {
  border: none;
  padding: 1em 0;
  margin: 4em 0;
  border-top: solid 1px #ccc; }

body legend {
  padding: 0 0.6em;
  margin-left: 2em; }

.input-text,
.select,
.textarea {
  display: block;
  padding: 0.85em 1.5em;
  width: 100%;
  border: none;
  border-radius: 0;
  background-color: #f2f2f2;
  box-shadow: none;
  font-size: .9rem;
  font-family: inherit;
  transition: box-shadow .5s, border-color .25s ease-in-out;
  -webkit-appearance: none;
  -moz-appearance: none; }
  .input-text.rounded,
  .select.rounded,
  .textarea.rounded {
    border: solid 2px #fff;
    border-radius: 3rem;
    background-color: #fff;
    color: #8a8a8a; }
  .input-text.inline,
  .select.inline,
  .textarea.inline {
    display: inline-block;
    width: auto; }

.select {
  background-image: url("../img/icon-select.svg");
  background-position: right center;
  background-size: 1em auto;
  background-repeat: no-repeat;
  background-origin: content-box; }
  .select.rounded {
    background-color: #50aeb7;
    background-origin: content-box;
    color: #000; }

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

.textarea {
  height: 6rem; }

.checkboxes-list {
  list-style-type: none;
  margin: 0;
  padding: 0;
  -moz-column-count: 4;
       column-count: 4;
  -moz-column-gap: 1em;
       column-gap: 1em; }
  .checkboxes-list input {
    margin-right: 0.4em; }

.opening-time .day {
  width: 20%; }

.opening-time .am {
  width: 35%; }

.opening-time .pm {
  width: 35%; }

.opening-time .am .input-text,
.opening-time .pm .input-text {
  width: 6rem;
  margin-left: 0.6em;
  margin-right: 0.6em; }

.opening-time .action {
  width: 10%;
  padding-top: 0;
  padding-bottom: 0; }

.sunday-opening-time {
  /*td,
    th {
        vertical-align: top;
    }*/ }
  .sunday-opening-time .day {
    width: 15%; }
  .sunday-opening-time .am .input-text,
  .sunday-opening-time .pm .input-text {
    width: 6rem;
    margin-left: 0.6em;
    margin-right: 0.6em; }
  .sunday-opening-time .action {
    width: 10%; }

.btn-delete {
  width: 2rem;
  height: 2rem;
  font-size: 1.2em;
  text-align: center;
  line-height: 2rem !important;
  cursor: pointer;
  transition: font-size 0.2s;
  margin-top: 3px;
  background-color: #fff;
  color: #fff;
  z-index: 2;
  border-radius: 1rem;
  box-shadow: 0px 0px 3px 0px white; }

.btn-delete {
  margin-right: 2px;
  background-color: #f04124; }

.fc-col-1,
.fc-col-2,
.fc-col-3 {
  margin: 2rem 0; }
  @media (min-width: 992px) {
    .fc-col-1,
    .fc-col-2,
    .fc-col-3 {
      margin: 0 -1rem;
      display: table;
      width: 100%;
      border-collapse: separate;
      border-spacing: 1rem; } }
  @media (min-width: 992px) {
    .fc-col-1 > div,
    .fc-col-2 > div,
    .fc-col-3 > div {
      display: table-cell;
      vertical-align: top; } }
  .fc-col-1 > div img,
  .fc-col-2 > div img,
  .fc-col-3 > div img {
    height: auto !important; }
  .fc-col-1 ul,
  .fc-col-1 ol,
  .fc-col-2 ul,
  .fc-col-2 ol,
  .fc-col-3 ul,
  .fc-col-3 ol {
    padding-left: 1em; }
  .fc-col-1 li,
  .fc-col-2 li,
  .fc-col-3 li {
    margin: 0.5em 0; }

@media (min-width: 992px) {
  .fc-col-2 > div {
    width: 50%; } }

@media (min-width: 992px) {
  .fc-col-3 > div {
    width: 33.33333%; } }

.gallery {
  padding: 1rem 0;
  border-bottom: solid 1px #f1efed; }
  .gallery .gallery-item {
    position: relative;
    display: inline-block;
    margin-right: -0.25em;
    width: 24.09639%;
    vertical-align: top;
    padding-top: 24.09639%;
    margin-left: 1.20482%;
    margin-bottom: 1.20482%; }
    .gallery .gallery-item:nth-child(4n-2) {
      margin-left: 0; }
    @media (min-width: 992px) {
      .gallery .gallery-item {
        width: 15.66265%;
        padding-top: 15.66265%; }
        .gallery .gallery-item:nth-child(4n-2) {
          margin-left: 1.20482%; }
        .gallery .gallery-item:nth-child(6n-4) {
          margin-left: 0; } }
    .gallery .gallery-item img {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%; }
    .gallery .gallery-item .icon, .gallery .gallery-item .filters .filters-item-title:before, .filters .gallery .gallery-item .filters-item-title:before, .gallery .gallery-item .header .phone:before, .header .gallery .gallery-item .phone:before {
      display: none; }
    @media (min-width: 992px) {
      .gallery .gallery-item:hover .icon, .gallery .gallery-item:hover .filters .filters-item-title:before, .filters .gallery .gallery-item:hover .filters-item-title:before, .gallery .gallery-item:hover .header .phone:before, .header .gallery .gallery-item:hover .phone:before {
        top: 50%;
        opacity: 1;
        -ms-transform: translate(-50%, -50%) scale(1);
            transform: translate(-50%, -50%) scale(1); }
      .gallery .gallery-item:hover:before {
        opacity: 1; }
      .gallery .gallery-item:hover:after {
        -ms-transform: scale(1);
            transform: scale(1); }
      .gallery .gallery-item:before {
        position: absolute;
        top: 0;
        left: 0;
        z-index: 1;
        width: 100%;
        height: 100%;
        background-color: rgba(0, 0, 0, 0.7);
        content: '';
        opacity: 0;
        transition: opacity .5s; }
      .gallery .gallery-item:after {
        position: absolute;
        top: calc(.8rem - 2px);
        left: calc(.8rem - 2px);
        z-index: 1;
        width: calc(100% - 1.6rem);
        height: calc(100% - 1.6rem);
        border: solid 2px #fff;
        content: '';
        transition: transform .6s;
        -ms-transform: scale(1.2);
            transform: scale(1.2); }
      .gallery .gallery-item .icon, .gallery .gallery-item .filters .filters-item-title:before, .filters .gallery .gallery-item .filters-item-title:before, .gallery .gallery-item .header .phone:before, .header .gallery .gallery-item .phone:before {
        display: inline-block;
        position: absolute;
        z-index: 1;
        top: 30%;
        left: 50%;
        color: #fff;
        font-size: 2em;
        -ms-transform: translate(-50%, -50%) scale(0.2);
            transform: translate(-50%, -50%) scale(0.2);
        transition: opacity .6s, top .4s, transform .4s;
        opacity: 0; } }

.icon-category {
  width: 2.1em;
  height: 2.1em;
  border-radius: 5em;
  background-color: #000;
  color: #fff;
  text-align: center;
  font-size: 1.4em;
  line-height: 2.1em !important; }
  @media (min-width: 992px) {
    .icon-category {
      font-size: 2.4em; } }

.image-field {
  border: solid 1px #ccc;
  position: relative;
  width: 100%;
  padding-top: 75%;
  overflow: hidden; }
  .image-field .btn-edit,
  .image-field .btn-delete {
    position: absolute;
    top: 0;
    width: 2rem;
    height: 2rem;
    font-size: 1.2em;
    text-align: center;
    line-height: 2rem;
    cursor: pointer;
    transition: font-size 0.2s;
    margin-top: 3px;
    background-color: #fff;
    color: #fff;
    z-index: 2;
    border-radius: 1rem;
    box-shadow: 0px 0px 3px 0px white; }
  .image-field .btn-edit {
    right: 2rem;
    margin-right: 6px;
    font-size: 1.1em;
    background-color: #000; }
  .image-field .btn-delete {
    right: 0;
    margin-right: 2px;
    background-color: #f04124; }
  .image-field .current-image {
    position: absolute;
    left: 50%;
    top: 50%;
    -ms-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%);
    max-width: 80%;
    max-height: 60%;
    display: block; }
    .image-field .current-image.cover {
      max-width: none;
      max-height: none; }
      .image-field .current-image.cover.portrait {
        height: 100%; }
      .image-field .current-image.cover.landscape {
        width: 100%; }
  .image-field input[type="file"] {
    position: absolute;
    z-index: 1;
    opacity: 0;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0; }
  .image-field img[src=""] {
    display: none; }

.info-list {
  list-style-type: none;
  padding: 0;
  margin: 0;
  margin-bottom: 2rem; }
  .info-list > li {
    padding: 0.5em 0; }
    .info-list > li:nth-child(odd) {
      background-color: #f1efed; }
    .info-list > li:nth-child(even) {
      background-color: #fcfcfb; }
  .info-list .label,
  .info-list .detail {
    display: inline-block;
    margin-right: -0.25em;
    vertical-align: top;
    padding: 0 0.5em; }
  .info-list .label {
    width: 30%; }
  .info-list .detail {
    width: 70%; }

.info-window {
  background-color: rgba(0, 0, 0, 0.8);
  opacity: 0;
  transition: transform 0.4s, opacity 0.4s;
  -ms-transform: translate(0, 100%);
      transform: translate(0, 100%); }
  @media (min-width: 992px) {
    .info-window {
      position: relative;
      -ms-transform: translate(0, -100%);
          transform: translate(0, -100%); } }
  .info-window.has-icon .icon-category {
    display: block; }
  .info-window .image-container {
    padding: 3rem 1rem 1rem 1rem;
    width: 100%;
    background-color: #fff;
    text-align: center; }
  .info-window .title {
    margin: 0 0 1em;
    color: #50aeb7;
    text-transform: uppercase;
    font-size: 1.2em; }
  .info-window .text {
    padding: 2em 1em;
    color: #fff;
    text-align: center;
    font-size: 1.4em; }
    @media (min-width: 992px) {
      .info-window .text {
        font-size: 1em; } }
    .info-window .text p {
      margin: 0; }
  .info-window .button {
    margin-top: 1em; }
  .info-window .icon-category {
    display: none; }
    @media (min-width: 992px) {
      .info-window .icon-category {
        position: absolute;
        top: 0;
        left: 50%;
        font-size: 1.4em;
        -ms-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%); } }
  .info-window.is-visible {
    opacity: 1;
    -ms-transform: translate(0, 0);
        transform: translate(0, 0); }

.sl-wrapper .sl-close {
  right: 0;
  top: 0;
  font-size: 1rem;
  z-index: 11000 !important; }
  .sl-wrapper .sl-close .btn-close {
    position: absolute;
    top: 0;
    right: 0;
    display: block;
    width: 3rem;
    height: 3rem;
    background-color: #fff;
    color: #000;
    cursor: pointer; }
    .sl-wrapper .sl-close .btn-close:before {
      display: inline-block;
      width: 3rem;
      height: 3rem;
      text-align: center;
      font-size: 1.6em;
      line-height: 3rem; }

.sl-overlay {
  opacity: 0.9; }

.sl-wrapper .sl-navigation {
  display: none !important; }
  @media (min-width: 768px) {
    .sl-wrapper .sl-navigation {
      display: block !important; } }

.header-logo {
  margin: 0;
  height: 100px; }
  @media (min-width: 992px) {
    .header-logo {
      display: table-cell;
      width: 24.09639%;
      height: 114px;
      vertical-align: bottom; } }

.header-logo-link {
  display: block;
  margin: 0 auto;
  text-align: center;
  height: calc(100% - 1rem);
  background: url("../img/Logo_UCVL.jpg") no-repeat center center;
  background-size: contain; }
  @media (min-width: 992px) {
    .header-logo-link {
      width: 154px;
      height: 100%; } }
  .header-logo-link span {
    display: none;
    overflow: hidden;
    text-indent: -9999px; }

.nav-language {
  /*position: absolute;
    top: 0;
    right: 3rem;*/
  display: inline-block;
  height: 3rem;
  background-color: #50aeb7; }
  @media (min-width: 992px) {
    .nav-language {
      /*position: absolute;
        top: 0;
        right: 0;*/
      height: auto;
      background-color: transparent; } }
  .nav-language ul {
    margin: 0;
    padding: 0;
    padding: 0 .8em;
    background-color: #50aeb7;
    list-style-type: none; }
  .nav-language li {
    display: inline-block;
    margin: 0;
    margin-right: -0.25em;
    text-transform: uppercase; }
    .nav-language li a, .nav-language li span {
      display: inline-block;
      padding: 0 .2em;
      color: #000;
      text-decoration: none;
      font-size: 0.9em;
      line-height: 3rem; }
      @media (min-width: 992px) {
        .nav-language li a, .nav-language li span {
          padding: .4em .2em;
          line-height: normal; } }
    .nav-language li.is-active span {
      position: relative; }
      .nav-language li.is-active span:after {
        position: absolute;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 2px;
        background-color: #000;
        content: ''; }

.nav-main {
  position: fixed;
  top: 0;
  left: 100% !important;
  z-index: 4;
  display: block;
  overflow-y: auto;
  width: 100%;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.9);
  opacity: 0;
  transition: left 0.4s, opacity 0.4s; }
  @media (min-width: 992px) {
    .nav-main {
      position: static;
      display: table-cell;
      overflow-y: visible;
      width: auto;
      height: auto;
      background-color: transparent;
      vertical-align: bottom;
      text-align: right;
      opacity: 1; } }
  .nav-main.is-mobile-visible {
    left: 0 !important;
    opacity: 1; }
  .nav-main:before {
    display: inline-block;
    margin-right: -0.25em;
    width: 0;
    height: 100%;
    content: '';
    vertical-align: middle; }
    @media (min-width: 992px) {
      .nav-main:before {
        display: none; } }
  .nav-main > ul {
    display: inline-block;
    margin: 0 -0.25em 0 0;
    padding: 0;
    width: 100%;
    list-style-type: none;
    vertical-align: middle; }
    @media (min-width: 992px) {
      .nav-main > ul {
        width: auto;
        text-align: left; } }
    .nav-main > ul > .menu-item {
      display: block;
      padding: 0 1rem; }
      @media (min-width: 992px) {
        .nav-main > ul > .menu-item {
          display: inline-block;
          padding: 0 0; } }
      .nav-main > ul > .menu-item > a {
        display: block;
        padding: 1em 0;
        color: #000;
        text-align: center;
        text-decoration: none;
        text-transform: uppercase;
        font-size: 1.4em;
        font-family: 'josefin_sansbold'; }
        @media (min-width: 992px) {
          .nav-main > ul > .menu-item > a {
            display: inline-block;
            padding: .5em 1.5em;
            text-align: left;
            font-size: 1em; } }
      .nav-main > ul > .menu-item:hover > a {
        border-radius: 2em;
        background-color: #50aeb7;
        color: #fff; }
      .nav-main > ul > .menu-item:hover > .children {
        display: block; }
      .nav-main > ul > .menu-item.current-menu-item > a {
        border-radius: 2em;
        background-color: #50aeb7;
        color: #fff; }
    .nav-main > ul > .stores > .children {
      position: absolute;
      top: 100%;
      left: 0;
      z-index: 2;
      display: none;
      width: 100%;
      background-color: rgba(255, 255, 255, 0.9);
      font-size: 0.9em; }
      .nav-main > ul > .stores > .children > ul {
        display: block;
        padding: 0 1rem;
        list-style-type: none;
        -moz-column-count: 3;
             column-count: 3;
        max-width: 70em;
        margin-left: auto;
        margin-right: auto; }
        .nav-main > ul > .stores > .children > ul:after {
          content: " ";
          display: block;
          clear: both; }
        .nav-main > ul > .stores > .children > ul > li {
          display: block; }
          .nav-main > ul > .stores > .children > ul > li > a {
            position: relative;
            display: block;
            height: 4em;
            color: #000;
            text-decoration: none;
            text-transform: uppercase; }
            .nav-main > ul > .stores > .children > ul > li > a .icon-category {
              font-size: 1.2em; }
            .nav-main > ul > .stores > .children > ul > li > a > span {
              display: inline-block;
              vertical-align: middle; }
              .nav-main > ul > .stores > .children > ul > li > a > span + span {
                margin-left: 0.6em;
                width: calc(100% - 4em); }
            .nav-main > ul > .stores > .children > ul > li > a:after {
              display: inline-block;
              height: 100%;
              content: '';
              vertical-align: middle; }
  @media (min-width: 992px) {
    .nav-main .btn-close {
      display: none; } }

.header .phone {
  position: absolute;
  top: 0;
  left: 0;
  display: inline-block;
  padding-left: 1rem;
  height: 3rem;
  color: #000;
  text-decoration: none;
  font-size: 1.2em;
  line-height: 3rem; }
  @media (min-width: 992px) {
    .header .phone {
      position: static;
      display: table-cell;
      padding: .5em 1em;
      height: auto;
      vertical-align: bottom;
      font-size: 1em;
      line-height: normal; } }
  .header .phone:before {
    margin-right: 0.4em;
    color: #000; }

.nav-members {
  background-color: #f1efed; }
  .nav-members > ul {
    margin: 0;
    padding: 0;
    list-style-type: none; }
    @media (min-width: 768px) {
      .nav-members > ul {
        max-width: 70em;
        margin-left: auto;
        margin-right: auto; }
        .nav-members > ul:after {
          content: " ";
          display: block;
          clear: both; } }
    .nav-members > ul > .menu-item {
      display: block;
      border-top: solid 1px #d0c9c2; }
      @media (min-width: 768px) {
        .nav-members > ul > .menu-item {
          display: inline-block;
          border-top: none; } }
      .nav-members > ul > .menu-item:first-child {
        border-top: none; }
      .nav-members > ul > .menu-item > a {
        display: block;
        padding: 0.5em 1rem;
        color: #000;
        text-decoration: none;
        font-size: 1.2em;
        max-width: 70em;
        margin-left: auto;
        margin-right: auto; }
        .nav-members > ul > .menu-item > a:after {
          content: " ";
          display: block;
          clear: both; }
        @media (min-width: 768px) {
          .nav-members > ul > .menu-item > a {
            display: inline-block;
            padding: .5em 1rem;
            text-align: left;
            font-size: 1em; } }
      .nav-members > ul > .menu-item:hover > .children {
        display: block; }
      .nav-members > ul > .menu-item.current-menu-item > a {
        border-left: solid 8px #000; }
        @media (min-width: 768px) {
          .nav-members > ul > .menu-item.current-menu-item > a {
            border-bottom: solid 2px #000;
            border-left: none; } }

.prev-next-post {
  padding-top: 1rem;
  padding-right: 0;
  padding-bottom: 1rem;
  padding-left: 0; }
  @media (min-width: 992px) {
    .prev-next-post {
      position: relative;
      position: absolute;
      top: 0;
      left: 0;
      z-index: 1;
      z-index: 1;
      padding-right: 1rem;
      padding-left: 1rem;
      min-height: 5rem;
      width: 100%;
      background-color: #fff;
      -ms-transform: translateY(-100%);
          transform: translateY(-100%); }
      .prev-next-post:after {
        content: "";
        display: table;
        clear: both; } }
  .prev-next-post .next,
  .prev-next-post .prev {
    width: 49.39759%;
    color: #000;
    text-decoration: none;
    font-weight: normal;
    font-size: 1.2em;
    font-family: 'josefin_sansbold'; }
    @media (min-width: 992px) {
      .prev-next-post .next,
      .prev-next-post .prev {
        width: 40.96386%; } }
    .prev-next-post .next .icon, .prev-next-post .next .filters .filters-item-title:before, .filters .prev-next-post .next .filters-item-title:before, .prev-next-post .next .header .phone:before, .header .prev-next-post .next .phone:before,
    .prev-next-post .prev .icon,
    .prev-next-post .prev .filters .filters-item-title:before, .filters
    .prev-next-post .prev .filters-item-title:before,
    .prev-next-post .prev .header .phone:before, .header
    .prev-next-post .prev .phone:before {
      display: inline-block;
      width: 3rem;
      height: 3rem;
      border-radius: 3rem;
      background-color: #000;
      color: #fff;
      vertical-align: middle;
      text-align: center;
      line-height: 3rem; }
      .prev-next-post .next .icon:before, .prev-next-post .next .filters .filters-item-title:before, .filters .prev-next-post .next .filters-item-title:before, .prev-next-post .next .header .phone:before, .header .prev-next-post .next .phone:before,
      .prev-next-post .prev .icon:before,
      .prev-next-post .prev .filters .filters-item-title:before, .filters
      .prev-next-post .prev .filters-item-title:before,
      .prev-next-post .prev .header .phone:before, .header
      .prev-next-post .prev .phone:before {
        font-size: 1em; }
    .prev-next-post .next .title,
    .prev-next-post .prev .title {
      display: none; }
      @media (min-width: 992px) {
        .prev-next-post .next .title,
        .prev-next-post .prev .title {
          display: inline-block;
          width: calc(100% - 5rem);
          vertical-align: middle; } }
  .prev-next-post .prev {
    float: left; }
    .prev-next-post .prev .icon, .prev-next-post .prev .filters .filters-item-title:before, .filters .prev-next-post .prev .filters-item-title:before, .prev-next-post .prev .header .phone:before, .header .prev-next-post .prev .phone:before {
      margin-right: 1em; }
  .prev-next-post .next {
    float: right;
    text-align: right; }
    .prev-next-post .next .icon, .prev-next-post .next .filters .filters-item-title:before, .filters .prev-next-post .next .filters-item-title:before, .prev-next-post .next .header .phone:before, .header .prev-next-post .next .phone:before {
      margin-left: 1em; }

#notifications {
  position: fixed;
  top: 100%;
  left: 50%;
  z-index: 10;
  padding: 3rem;
  max-width: 100%;
  width: 100%;
  background-color: #fff;
  opacity: 0;
  transition: transform 0.4s, opacity 0.4s, top 0.4s;
  -ms-transform: translate(-50%, 0);
      transform: translate(-50%, 0);
  overflow-y: auto; }
  #notifications.is-visible {
    top: 50%;
    opacity: 1;
    -ms-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%); }
  #notifications .message {
    display: block; }
    #notifications .message.success {
      color: #43AC6A; }
    #notifications .message.error {
      color: #f04124; }
  @media (min-width: 768px) {
    #notifications {
      max-width: 20rem; } }

.partners {
  margin: 8rem 0 6rem 0; }
  .partners ul {
    margin: 2rem 0;
    padding: 0;
    list-style-type: none;
    text-align: center; }
  .partners .partner {
    display: inline-block;
    margin-right: -0.25em;
    padding: 1em 0;
    width: 100%;
    vertical-align: middle; }
    @media (min-width: 992px) {
      .partners .partner {
        margin: 0.4em 1em;
        padding: 0;
        width: auto; } }
    .partners .partner img {
      max-height: 3rem; }
      @media (min-width: 992px) {
        .partners .partner img {
          max-height: 6rem; } }

.signature {
  color: #000;
  text-decoration: none; }
  .signature span {
    display: inline-block;
    vertical-align: middle;
    font-size: 0.8em; }
  .signature img {
    display: inline-block;
    vertical-align: middle; }

.main-slideshow {
  margin-right: auto;
  margin-bottom: 6rem;
  margin-left: auto;
  max-width: 1620px;
  width: 100%; }
  .main-slideshow .slide {
    width: 100%;
    position: relative; }
    .main-slideshow .slide .image-container {
      overflow: hidden; }
      .main-slideshow .slide .image-container img {
        display: block;
        margin-left: -50%;
        max-width: none;
        width: 200%; }
        @media (min-width: 992px) {
          .main-slideshow .slide .image-container img {
            margin-left: 0;
            max-width: 100%;
            max-width: 100%;
            width: 100%; } }
    .main-slideshow .slide .readmore {
      position: relative;
      display: block;
      margin: -1.5rem auto 0 auto;
      width: 3rem;
      height: 3rem;
      border-radius: 3rem;
      background-color: #000;
      color: #fff;
      text-align: center;
      font-size: 1.4em; }
      .main-slideshow .slide .readmore:before {
        content: '';
        display: inline-block;
        vertical-align: middle;
        height: 100%; }
      .main-slideshow .slide .readmore .icon, .main-slideshow .slide .readmore .filters .filters-item-title:before, .filters .main-slideshow .slide .readmore .filters-item-title:before, .main-slideshow .slide .readmore .header .phone:before, .header .main-slideshow .slide .readmore .phone:before {
        vertical-align: middle;
        line-height: 1; }
      .main-slideshow .slide .readmore span + span {
        display: none; }
    .main-slideshow .slide .title {
      text-align: center;
      font-weight: 600;
      font-size: 1.6em;
      font-family: 'grafolita-script'; }
      .main-slideshow .slide .title span {
        font-size: 1em; }
    .main-slideshow .slide + .slide {
      display: none; }

.owl-dots {
  text-align: center; }
  .owl-dots .owl-dot {
    display: inline-block;
    margin: 0 0.5rem;
    width: 1rem;
    height: 1rem;
    border-radius: 1rem;
    background-color: #000; }
    .owl-dots .owl-dot.active {
      background-color: #50aeb7; }

.single-ucvl_shop .image-container {
  position: relative; }
  .single-ucvl_shop .image-container img {
    display: block; }
  .single-ucvl_shop .image-container .icon-category {
    position: absolute;
    bottom: 0;
    left: 50%;
    -ms-transform: translate(-50%, 50%);
        transform: translate(-50%, 50%); }

.single-ucvl_shop .content-wrapper .logo img {
  display: block;
  margin: 0 auto; }

.single-ucvl_shop .content-wrapper .payment-methods img {
  display: inline-block;
  margin-left: 0.4em;
  height: 30px;
  vertical-align: middle; }
  .single-ucvl_shop .content-wrapper .payment-methods img:first-child {
    margin-left: 0; }

.single-ucvl_shop .content-wrapper .coords:after {
  content: "";
  display: table;
  clear: both; }

.single-ucvl_shop .content-wrapper .coords p {
  float: left;
  width: 50%; }
  @media (min-width: 992px) {
    .single-ucvl_shop .content-wrapper .coords p {
      float: none;
      width: 100%; } }

.single-ucvl_shop .content-wrapper .coords p + p {
  text-align: right; }
  @media (min-width: 992px) {
    .single-ucvl_shop .content-wrapper .coords p + p {
      text-align: left; } }

.single-ucvl_shop .content-wrapper .address,
.single-ucvl_shop .content-wrapper .phone {
  display: block;
  font-family: 'josefin_sansbold'; }

.single-ucvl_shop .content-wrapper .phone {
  margin-bottom: 1em; }
  .single-ucvl_shop .content-wrapper .phone a {
    color: #000;
    text-decoration: none; }

.single-ucvl_shop .content-wrapper .website,
.single-ucvl_shop .content-wrapper .email {
  color: #50aeb7;
  text-decoration: none;
  font-family: 'josefin_sansbold'; }

.single-ucvl_shop .content-wrapper .opening-time {
  margin: 0;
  padding: 0;
  list-style-type: none;
  font-size: 1em; }
  @media (min-width: 992px) {
    .single-ucvl_shop .content-wrapper .opening-time {
      font-size: 0.9em; } }
  .single-ucvl_shop .content-wrapper .opening-time li {
    display: block;
    margin: 0.5em 0; }
    .single-ucvl_shop .content-wrapper .opening-time li:after {
      content: "";
      display: table;
      clear: both; }
  .single-ucvl_shop .content-wrapper .opening-time .day {
    float: left;
    width: 30%;
    vertical-align: top;
    font-family: 'josefin_sansbold'; }
    @media (min-width: 992px) {
      .single-ucvl_shop .content-wrapper .opening-time .day {
        display: block;
        width: 50%; } }
  .single-ucvl_shop .content-wrapper .opening-time .hours {
    float: right;
    width: 70%;
    text-align: right; }
    .single-ucvl_shop .content-wrapper .opening-time .hours:after {
      content: "";
      display: table;
      clear: both; }
    @media (min-width: 992px) {
      .single-ucvl_shop .content-wrapper .opening-time .hours {
        width: 50%; } }
    .single-ucvl_shop .content-wrapper .opening-time .hours > span {
      display: block;
      width: 50%; }
      @media (min-width: 992px) {
        .single-ucvl_shop .content-wrapper .opening-time .hours > span {
          width: 100%; } }
    .single-ucvl_shop .content-wrapper .opening-time .hours .am {
      float: left; }
      @media (min-width: 992px) {
        .single-ucvl_shop .content-wrapper .opening-time .hours .am {
          float: none; } }
    .single-ucvl_shop .content-wrapper .opening-time .hours .pm {
      float: right; }
      @media (min-width: 992px) {
        .single-ucvl_shop .content-wrapper .opening-time .hours .pm {
          float: none; } }

.single-ucvl_shop .content-wrapper .content-sidebar p,
.single-ucvl_shop .content-wrapper .content-sidebar ul {
  margin: 2em 0; }

.stores-list__item {
  display: block;
  padding: 1em 0;
  color: #000;
  text-decoration: none;
  opacity: 1;
  transition: opacity 1s, transform 0.4s;
  -ms-transform: scale(1);
      transform: scale(1); }
  @media (max-width: 767px) {
    .stores-list__item:nth-child(odd) {
      background-color: #f1efed; } }
  @media (min-width: 768px) {
    .stores-list__item {
      display: inline-block;
      margin-right: -0.25em;
      margin-bottom: 1rem;
      margin-left: 1.20482%;
      padding: 0;
      width: 32.53012%;
      vertical-align: top;
      text-align: center; }
      .stores-list__item:nth-child(3n-2) {
        margin-left: 0; } }
  .stores-list__item.is-hidden {
    opacity: 0;
    -ms-transform: scale(0.5);
        transform: scale(0.5); }
  .stores-list__item__img {
    position: relative;
    display: inline-block;
    margin-right: -0.25em;
    width: 32.53012%;
    height: 5rem;
    vertical-align: top; }
    @media (min-width: 768px) {
      .stores-list__item__img {
        display: block;
        margin: 0;
        margin-bottom: 1rem;
        width: auto;
        height: 8rem;
        height: 8rem; } }
    .stores-list__item__img > img {
      position: absolute;
      top: 50%;
      left: 50%;
      max-width: 80%;
      max-height: 80%;
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%); }
      @media (min-width: 768px) {
        .stores-list__item__img > img {
          max-width: 50%; } }
    .stores-list__item__img .icon-category {
      position: absolute;
      top: 50%;
      left: 50%;
      font-size: 1.4em;
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%); }
  .stores-list__item__text {
    display: inline-block;
    margin-right: -0.25em;
    margin-left: 1.20482%;
    padding-right: 1rem;
    width: 66.26506%;
    vertical-align: top; }
    @media (min-width: 768px) {
      .stores-list__item__text {
        padding-right: 0; } }
  .stores-list__item__name {
    margin: 0;
    text-transform: uppercase;
    font-size: 1em;
    font-family: 'josefin_sansbold'; }
    @media (min-width: 768px) {
      .stores-list__item__name {
        margin: 0 0 0.5em 0;
        font-size: 1.1em; } }
  .stores-list__item p {
    margin: 0.4em 0; }

.stores-list.stores-infinite-scroll:after {
  display: block;
  height: 0;
  background: url("../img/loading.gif") no-repeat center center;
  background-size: auto 23px;
  content: '';
  opacity: 0;
  transition: opacity 0.2s; }

.stores-list.stores-infinite-scroll.is-loading:after {
  height: 3rem;
  opacity: 1; }

@media (min-width: 768px) {
  .stores-list.col-4 .stores-list__item {
    width: 24.09639%; }
    .stores-list.col-4 .stores-list__item:nth-child(3n-2) {
      margin-left: 1.20482%; }
    .stores-list.col-4 .stores-list__item:nth-child(4n-3) {
      margin-left: 0; } }

.stores-map-container {
  position: relative;
  overflow: hidden;
  margin-bottom: 6rem;
  height: 300px; }
  .stores-map-container:after {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 0;
    display: block;
    background: url("../img/loading.gif") no-repeat center center rgba(255, 255, 255, 0.7);
    background-size: auto 23px;
    content: '';
    opacity: 0;
    transition: opacity 0.2s, height 0.4s; }
  .stores-map-container.is-loading:after {
    height: 100%;
    opacity: 1; }
  @media (min-width: 992px) {
    .stores-map-container {
      height: 700px; } }
  .stores-map-container .map {
    height: 100%; }
  .stores-map-container .container, .stores-map-container .prev-next-post {
    position: relative;
    margin-top: -700px; }
    .stores-map-container .container .sidebar, .stores-map-container .prev-next-post .sidebar {
      position: absolute;
      top: 0;
      left: 0; }
      @media (min-width: 992px) {
        .stores-map-container .container .sidebar, .stores-map-container .prev-next-post .sidebar {
          padding-top: 3rem; } }
    .stores-map-container .container .info-window, .stores-map-container .prev-next-post .info-window {
      position: fixed;
      top: 0;
      right: 0;
      z-index: 4;
      width: 100%;
      height: 100%; }
      @media (min-width: 992px) {
        .stores-map-container .container .info-window, .stores-map-container .prev-next-post .info-window {
          position: absolute;
          top: 3rem;
          z-index: 1;
          width: 24.09639%;
          height: auto; } }

.store-map-container {
  position: relative;
  overflow: hidden;
  margin-bottom: 6rem;
  height: 300px;
  background-color: #50aeb7; }
  .store-map-container .map {
    height: 100%; }

.edit-map:after {
  content: '';
  display: block;
  position: absolute;
  left: 50%;
  top: 50%;
  width: 34px;
  height: 50px;
  -ms-transform: translate(-50%, -100%);
      transform: translate(-50%, -100%);
  background: url("../img/location.svg") no-repeat bottom center;
  background-size: 100% 100%; }

table {
  width: 100%; }
  table tr td {
    vertical-align: middle;
    padding: 0.6em 1em; }
  table tr th {
    vertical-align: middle;
    text-align: left;
    padding: 0.6em 1em;
    font-weight: normal;
    font-size: 1.2em; }
    table tr th:first-child {
      padding-left: 0; }

.section-title {
  position: relative;
  margin-top: 4rem;
  margin-bottom: 2rem;
  text-align: center;
  font-weight: normal;
  font-size: 2.4em;
  font-family: 'josefin_sansbold';
  line-height: 0.6em; }
  @media (min-width: 992px) {
    .section-title {
      margin-bottom: 4rem;
      font-size: 4em; } }
  .section-title.with-picto {
    padding-top: 1em; }
    .section-title.with-picto .icon, .section-title.with-picto .filters .filters-item-title:before, .filters .section-title.with-picto .filters-item-title:before, .section-title.with-picto .header .phone:before, .header .section-title.with-picto .phone:before {
      position: absolute;
      top: 0;
      left: 50%;
      display: block;
      width: 3em;
      height: 3em;
      border-radius: 3em;
      background-color: #000;
      color: #fff;
      text-align: center;
      font-size: 0.4em;
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%); }
      .section-title.with-picto .icon:before, .section-title.with-picto .filters .filters-item-title:before, .filters .section-title.with-picto .filters-item-title:before, .section-title.with-picto .header .phone:before, .header .section-title.with-picto .phone:before {
        vertical-align: middle;
        font-size: 1.4em; }
      .section-title.with-picto .icon:after {
        display: inline-block;
        width: 0;
        height: 100%;
        content: '';
        vertical-align: middle; }
    @media (min-width: 992px) {
      .section-title.with-picto.align-left {
        padding-top: 0;
        padding-right: 1em;
        width: 50%;
        text-align: right; }
        .section-title.with-picto.align-left .icon, .section-title.with-picto.align-left .filters .filters-item-title:before, .filters .section-title.with-picto.align-left .filters-item-title:before, .section-title.with-picto.align-left .header .phone:before, .header .section-title.with-picto.align-left .phone:before {
          top: 50%;
          right: 0;
          left: auto;
          -ms-transform: translate(50%, -50%);
              transform: translate(50%, -50%); } }
  .section-title span {
    display: block;
    font-weight: 600;
    font-size: 0.6em;
    font-family: 'grafolita-script'; }

.page-title {
  margin: 0 0 1rem 0;
  color: #000;
  font-weight: normal;
  font-size: 2em;
  font-family: 'josefin_sansbold'; }
  @media (min-width: 992px) {
    .page-title {
      margin: 0 0 1rem 0;
      font-size: 3em; } }

.title-h2,
legend {
  color: #000;
  text-transform: uppercase;
  font-weight: normal;
  font-size: 1.1em;
  font-family: 'josefin_sansbold'; }

.shop-title {
  margin: 0.2em 0;
  color: #50aeb7;
  text-transform: uppercase;
  font-weight: normal;
  font-size: 2rem;
  font-family: 'josefin_sansbold'; }
  @media (min-width: 992px) {
    .shop-title {
      font-size: 3rem; } }
  .shop-title small {
    color: #000;
    text-transform: none;
    font-weight: normal;
    font-size: 0.5em;
    font-family: 'josefin_sansregular'; }
    @media (min-width: 992px) {
      .shop-title small {
        font-size: 0.4em; } }

.inline-style {
  margin: 1.6em 0; }
  .inline-style .title {
    display: inline;
    margin: 0;
    margin-right: 0.2em;
    vertical-align: baseline; }
  .inline-style .text {
    display: inline;
    margin: 0;
    color: #50aeb7;
    vertical-align: baseline; }

.centered-content {
  padding-bottom: 2rem; }
  @media (min-width: 992px) {
    .centered-content .left {
      padding-right: 1rem;
      text-align: right; }
    .centered-content .right {
      padding-left: 1rem;
      text-align: left; } }
  .centered-content .color {
    color: #50aeb7; }
  .centered-content a {
    color: #000;
    text-decoration: none; }
  .centered-content > div {
    margin-bottom: 1rem;
    text-align: center; }
  .centered-content h2 {
    margin: 0;
    font-weight: normal;
    font-family: 'josefin_sansbold'; }

.text-big {
  font-size: 2rem; }

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

.useful-information {
  margin: 0 0 6rem 0;
  padding: 2rem 0 0 0;
  background-color: #f1efed;
  overflow: hidden; }
  .useful-information > .container, .useful-information > .prev-next-post {
    padding-right: 0;
    padding-left: 0; }
    @media (min-width: 992px) {
      .useful-information > .container, .useful-information > .prev-next-post {
        padding-right: 1rem;
        padding-left: 1rem; } }
  .useful-information ul {
    margin: 0;
    padding: 0;
    list-style-type: none; }
    @media (min-width: 992px) {
      .useful-information ul {
        display: -ms-flexbox;
        display: flex; } }
    .useful-information ul > li {
      display: block;
      margin: 0; }
      @media (min-width: 992px) {
        .useful-information ul > li {
          -ms-flex: 1;
              flex: 1; } }
      .useful-information ul > li > a {
        display: block;
        padding: 1.4em 0 1.4em 5em;
        background-color: #d7c8b1;
        background-position: 1em center;
        background-size: 2.4em auto;
        background-repeat: no-repeat;
        color: #FFF;
        text-decoration: none;
        font-family: 'josefin_sansbold'; }
        @media (min-width: 992px) {
          .useful-information ul > li > a {
            padding: 8rem 1rem 3rem 1rem;
            height: 13rem;
            background-position: center 2em;
            background-size: 4em auto;
            text-align: center;
            -ms-transform: translateY(1rem);
                transform: translateY(1rem);
            transition: transform .4s, box-shadow 0.4s;
            position: relative; }
            .useful-information ul > li > a:hover {
              -ms-transform: translateY(0);
                  transform: translateY(0);
              box-shadow: 0 0 30px 0 rgba(0, 0, 0, 0.1);
              z-index: 1; } }
      .useful-information ul > li:nth-child(1) > a {
        background-color: #6FC9C2; }
      .useful-information ul > li:nth-child(2) > a {
        background-color: #EF4650; }
      .useful-information ul > li:nth-child(3) > a {
        background-color: #E0AD20; }
      .useful-information ul > li:nth-child(4) > a {
        background-color: #8C8CC5; }
      .useful-information ul > li:nth-child(5) > a {
        background-color: #ff9f7d; }
      .useful-information ul > li:nth-child(6) > a {
        background-color: #4C877F; }
      .useful-information ul > li:nth-child(7) > a {
        background-color: #EA8E91; }

h1.title_year {
  text-align: center; }

span.title_year {
  background-color: #50aeb7; }

div#calendar_container {
  width: 100%;
  overflow: hidden; }
  div#calendar_container #calendar_wrapper {
    width: 200%;
    transition: margin-left 1s linear; }

div.button-calendar {
  text-align: center; }

div.button-calendar {
  margin-bottom: 10px; }

table.tab_dominical {
  margin-bottom: 15px;
  width: 50%;
  display: inline-block;
  float: left; }
  table.tab_dominical tr {
    background: #f3efec; }
    table.tab_dominical tr:first-child td {
      padding: 0.5em 0.2em; }
    table.tab_dominical tr.calendar_empty {
      background: #fff; }
      table.tab_dominical tr.calendar_empty th, table.tab_dominical tr.calendar_empty td {
        padding-bottom: 0.05%; }
  table.tab_dominical th {
    width: 15%;
    text-align: center; }
    table.tab_dominical th.calendar_month {
      background: #624b42;
      color: #fff;
      font-weight: bold;
      margin-bottom: 15px; }
  table.tab_dominical td {
    text-align: left;
    padding: 0.3em 0.2em; }
    table.tab_dominical td.calendar_info_day {
      width: 13%; }
    table.tab_dominical td.calendar_holiday {
      background: #d1c6c2; }
    table.tab_dominical td.calendar_official_holiday {
      background: #8e807d;
      color: #fff; }
    table.tab_dominical td.sunday_opening_exptionnel {
      border-width: 1px;
      border-style: solid;
      cursor: pointer; }

table th.button-year {
  width: 10%;
  display: block; }

div.fieldset-update {
  width: 100%;
  display: none;
  margin-bottom: 20px; }
  div.fieldset-update table tr {
    display: none; }

/*! normalize-scss | MIT/GPLv2 License | bit.ly/normalize-scss */
/**
     * 1. Set default font family to sans-serif.
     * 2. Prevent iOS and IE text size adjust after device orientation change,
     *    without disabling user zoom.
     */
html {
  font-family: sans-serif;
  /* 1 */
  -ms-text-size-adjust: 100%;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 2 */ }

/**
     * Remove default margin.
     */
body {
  margin: 0; }

/* HTML5 display definitions
       ========================================================================== */
/**
     * Correct `block` display not defined for any HTML5 element in IE 8/9.
     * Correct `block` display not defined for `details` or `summary` in IE 10/11
     * and Firefox.
     * Correct `block` display not defined for `main` in IE 11.
     */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
  display: block; }

/**
     * 1. Correct `inline-block` display not defined in IE 8/9.
     * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
     */
audio,
canvas,
progress,
video {
  display: inline-block;
  /* 1 */
  vertical-align: baseline;
  /* 2 */ }

/**
     * Prevent modern browsers from displaying `audio` without controls.
     * Remove excess height in iOS 5 devices.
     */
audio:not([controls]) {
  display: none;
  height: 0; }

/**
       * Address `[hidden]` styling not present in IE 8/9/10.
       */
[hidden] {
  display: none; }

/**
     * Hide the `template` element in IE 8/9/10/11, Safari, and Firefox < 22.
     */
template {
  display: none; }

/* Links
       ========================================================================== */
/**
       * Remove the gray background color from active links in IE 10.
       */
a {
  background-color: transparent; }

/**
     * Improve readability of focused elements when they are also in an
     * active/hover state.
     */
a:active,
a:hover {
  outline: 0; }

/* Text-level semantics
       ========================================================================== */
/**
     * Address styling not present in IE 8/9/10/11, Safari, and Chrome.
     */
abbr[title] {
  border-bottom: 1px dotted; }

/**
     * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
     */
b,
strong {
  font-weight: bold; }

/**
     * Address styling not present in Safari and Chrome.
     */
dfn {
  font-style: italic; }

/**
     * Address variable `h1` font-size and margin within `section` and `article`
     * contexts in Firefox 4+, Safari, and Chrome.
     */
h1 {
  font-size: 2em;
  /* Set 1 unit of vertical rhythm on the top and bottom margins. */
  margin: 0.75em 0; }

/**
       * Address styling not present in IE 8/9.
       */
mark {
  background: #ff0;
  color: #000; }

/**
     * Address inconsistent and variable font size in all browsers.
     */
small {
  font-size: 80%; }

/**
     * Prevent `sub` and `sup` affecting `line-height` in all browsers.
     */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline; }

sup {
  top: -0.5em; }

sub {
  bottom: -0.25em; }

/* Embedded content
       ========================================================================== */
/**
       * Remove border when inside `a` element in IE 8/9/10.
       */
img {
  border: 0; }

/**
     * Correct overflow not hidden in IE 9/10/11.
     */
svg:not(:root) {
  overflow: hidden; }

/* Grouping content
       ========================================================================== */
/**
       * Address margin not present in IE 8/9 and Safari.
       */
figure {
  margin: 1.5em 40px; }

/**
     * Address differences between Firefox and other browsers.
     */
hr {
  box-sizing: content-box;
  height: 0; }

/**
     * Contain overflow in all browsers.
     */
pre {
  overflow: auto; }

/**
     * Address odd `em`-unit font size rendering in all browsers.
     */
code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  font-size: 1em; }

/* Forms
       ========================================================================== */
/**
     * Known limitation: by default, Chrome and Safari on OS X allow very limited
     * styling of `select`, unless a `border` property is set.
     */
/**
     * 1. Correct color not being inherited.
     *    Known issue: affects color of disabled elements.
     * 2. Correct font properties not being inherited.
     * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
     * 4. Address `font-family` inconsistency between `textarea` and other form in IE 7
     * 5. Improve appearance and consistency with IE 6/7.
     */
button,
input,
optgroup,
select,
textarea {
  color: inherit;
  /* 1 */
  font: inherit;
  /* 2 */
  margin: 0;
  /* 3 */ }

/**
     * Address `overflow` set to `hidden` in IE 8/9/10/11.
     */
button {
  overflow: visible; }

/**
     * Address inconsistent `text-transform` inheritance for `button` and `select`.
     * All other form control elements do not inherit `text-transform` values.
     * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
     * Correct `select` style inheritance in Firefox.
     */
button,
select {
  text-transform: none; }

/**
     * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
     *    and `video` controls.
     * 2. Correct inability to style clickable `input` types in iOS.
     * 3. Improve usability and consistency of cursor style between image-type
     *    `input` and others.
     * 4. Remove inner spacing in IE 7 without affecting normal text inputs.
     *    Known issue: inner spacing remains in IE 6.
     */
button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button;
  /* 2 */
  cursor: pointer;
  /* 3 */ }

/**
     * Re-set default cursor for disabled elements.
     */
button[disabled],
html input[disabled] {
  cursor: default; }

/**
     * Remove inner padding and border in Firefox 4+.
     */
button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0; }

/**
     * Address Firefox 4+ setting `line-height` on `input` using `!important` in
     * the UA stylesheet.
     */
input {
  line-height: normal; }

/**
       * It's recommended that you don't attempt to style these elements.
       * Firefox's implementation doesn't respect box-sizing, padding, or width.
       *
       * 1. Address box sizing set to `content-box` in IE 8/9/10.
       * 2. Remove excess padding in IE 8/9/10.
       * 3. Remove excess padding in IE 7.
       *    Known issue: excess padding remains in IE 6.
       */
input[type="checkbox"],
input[type="radio"] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */ }

/**
     * Fix the cursor style for Chrome's increment/decrement buttons. For certain
     * `font-size` values of the `input`, it causes the cursor style of the
     * decrement button to change from `default` to `text`.
     */
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  height: auto; }

/**
     * 1. Address `appearance` set to `searchfield` in Safari and Chrome.
     * 2. Address `box-sizing` set to `border-box` in Safari and Chrome.
     */
input[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  box-sizing: content-box;
  /* 2 */
  /**
       * Remove inner padding and search cancel button in Safari and Chrome on OS X.
       * Safari (but not Chrome) clips the cancel button when the search input has
       * padding (and `textfield` appearance).
       */ }
  input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration {
    -webkit-appearance: none; }

/**
     * Define consistent border, margin, and padding.
     */
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em; }

/**
     * 1. Correct `color` not being inherited in IE 8/9/10/11.
     * 2. Remove padding so people aren't caught out if they zero out fieldsets.
     * 3. Correct alignment displayed oddly in IE 6/7.
     */
legend {
  border: 0;
  /* 1 */
  padding: 0;
  /* 2 */ }

/**
     * Remove default vertical scrollbar in IE 8/9/10/11.
     */
textarea {
  overflow: auto; }

/**
     * Don't inherit the `font-weight` (applied by a rule above).
     * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
     */
optgroup {
  font-weight: bold; }

/* Tables
       ========================================================================== */
/**
     * Remove most spacing between table cells.
     */
table {
  border-collapse: collapse;
  border-spacing: 0; }

td,
th {
  padding: 0; }

@media (min-width: 992px) {
  .header-logo-link {
    width: 100%;
    height: 100%;
    background-image: url("../img/Logo_UCVL.jpg"); } }

.menu-top {
  position: absolute;
  top: 0;
  right: 3rem; }
  @media (min-width: 992px) {
    .menu-top {
      position: absolute;
      top: 0;
      right: 0; } }
  .menu-top .btn-link {
    display: none; }
    @media (min-width: 992px) {
      .menu-top .btn-link {
        display: inline-block;
        vertical-align: top;
        background-color: #000;
        color: #fff;
        margin-right: 1rem;
        padding: .4em 1em;
        font-size: 0.9em;
        text-decoration: none;
        text-transform: uppercase; } }

.split_sentence {
  word-wrap: break-word; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm1haW4uY3NzIiwiX2ljb25zLnNjc3MiLCJfZm9udHMuc2NzcyIsIl9iYXNlLnNjc3MiLCJfdmFyaWFibGVzLnNjc3MiLCJfbGF5b3V0LnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL3N1c3kvc2Fzcy9zdXN5L291dHB1dC9zdXBwb3J0L19yZW0uc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvc3VzeS9zYXNzL3N1c3kvbGFuZ3VhZ2Uvc3VzeS9fY29udGFpbmVyLnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL3N1c3kvc2Fzcy9zdXN5L291dHB1dC9zdXBwb3J0L19jbGVhcmZpeC5zY3NzIiwiX21peGlucy5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9zdXN5L3Nhc3Mvc3VzeS9sYW5ndWFnZS9zdXN5L19zcGFuLnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL3N1c3kvc2Fzcy9zdXN5L291dHB1dC9zaGFyZWQvX2RpcmVjdGlvbi5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9zdXN5L3Nhc3Mvc3VzeS9sYW5ndWFnZS9zdXN5L19ndXR0ZXJzLnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL3NpbXBsZWxpZ2h0Ym94L2Rpc3Qvc2ltcGxlbGlnaHRib3guc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvcGlja21ldXAvY3NzL3BpY2ttZXVwLnNjc3MiLCJtb2R1bGVzL19hZHMuc2NzcyIsIm1vZHVsZXMvX2JyZWFkY3J1bWIuc2NzcyIsIm1vZHVsZXMvX2J1dHRvbnMuc2NzcyIsIm1vZHVsZXMvX2NvbnRhY3Quc2NzcyIsIm1vZHVsZXMvX2Rvd25sb2Fkcy5zY3NzIiwibW9kdWxlcy9fZXhjZXJwdC1ibG9jay5zY3NzIiwibW9kdWxlcy9fZXZlbnRzLnNjc3MiLCJtb2R1bGVzL19maWx0ZXJzLnNjc3MiLCJtb2R1bGVzL19mb3JtLW5ld3NsZXR0ZXIuc2NzcyIsIm1vZHVsZXMvX2Zvcm0tbG9naW4uc2NzcyIsIm1vZHVsZXMvX2Zvcm1zLnNjc3MiLCJtb2R1bGVzL19mbGV4aWJsZS1jb250ZW50LnNjc3MiLCJtb2R1bGVzL19nYWxsZXJ5LnNjc3MiLCJtb2R1bGVzL19pY29uLWNhdGVnb3J5LnNjc3MiLCJtb2R1bGVzL19pbWFnZS1maWVsZC5zY3NzIiwibW9kdWxlcy9faW5mby1saXN0LnNjc3MiLCJtb2R1bGVzL19pbmZvLXdpbmRvdy5zY3NzIiwibW9kdWxlcy9fbGlnaHRib3guc2NzcyIsIm1vZHVsZXMvX2xvZ28uc2NzcyIsIm1vZHVsZXMvX25hdi1sYW5ndWFnZXMuc2NzcyIsIm1vZHVsZXMvX25hdi1tZW51LnNjc3MiLCJtb2R1bGVzL19uYXYtbWVudS1tZW1iZXJzLnNjc3MiLCJtb2R1bGVzL19uYXYtcHJldi1uZXh0LnNjc3MiLCJtb2R1bGVzL19ub3RpZmljYXRpb25zLnNjc3MiLCJtb2R1bGVzL19wYXJ0bmVycy5zY3NzIiwibW9kdWxlcy9fc2lnbmF0dXJlLnNjc3MiLCJtb2R1bGVzL19zbGlkZXNob3cuc2NzcyIsIm1vZHVsZXMvX3N0b3JlLnNjc3MiLCJtb2R1bGVzL19zdG9yZXMtbGlzdC5zY3NzIiwibW9kdWxlcy9fc3RvcmVzLW1hcC5zY3NzIiwibW9kdWxlcy9fdGFibGVzLnNjc3MiLCJtb2R1bGVzL190aXRsZXMuc2NzcyIsIm1vZHVsZXMvX3RleHQuc2NzcyIsIm1vZHVsZXMvX3VzZWZ1bC1pbmZvcm1hdGlvbi5zY3NzIiwibW9kdWxlcy9fY2FsZW5kYXIuc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvY29tcGFzcy1zYXNzLW1peGlucy9saWIvY29tcGFzcy9jc3MzL190cmFuc2l0aW9uLnNhc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL25vcm1hbGl6ZS1zY3NzL3Nhc3Mvbm9ybWFsaXplL19ub3JtYWxpemUtbWl4aW4uc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvbm9ybWFsaXplLXNjc3Mvc2Fzcy9ub3JtYWxpemUvX3ZhcmlhYmxlcy5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9ub3JtYWxpemUtc2Nzcy9zYXNzL25vcm1hbGl6ZS9fdmVydGljYWwtcmh5dGhtLnNjc3MiLCJtYWluLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsaUJBQWlCO0FDQWpCO0VBQ0kscUJBQXFCO0VBQ3JCLG9CQUFvQjtFQUNwQixtQkFBbUI7RUFDbkIsK0JBQVE7RUFDUiwySkFFNEMsRUFBQTs7QUFHaEQ7Ozs7Ozs7RUFHSSxzQkFBc0I7RUFDdEIscUJBQXFCO0VBQ3JCLG1DQUFtQztFQUNuQyxvQ0FBb0M7RUFDcEMsbUJBQW1CO0VBQ25CLHFCQUFxQjtFQUNyQixvQkFBb0I7RUFDcEIsZUFBZTtFQUNmLHFCQUFxQixFQUN4Qjs7QUF5Q0c7RUFDSSxhQXZDSSxFQUFPOztBQXNDZjtFQUNJLGFBdENJLEVBQU87O0FBcUNmO0VBQ0ksYUFyQ00sRUFBTzs7QUFvQ2pCO0VBQ0ksYUFwQ0UsRUFBTzs7QUFtQ2I7RUFDSSxhQW5DRSxFQUFPOztBQWtDYjtFQUNJLGFBbENFLEVBQU87O0FBaUNiO0VBQ0ksYUFqQ1EsRUFBTzs7QUFnQ25CO0VBQ0ksYUFoQ0csRUFBTzs7QUErQmQ7RUFDSSxhQS9CQyxFQUFPOztBQThCWjtFQUNJLGFBOUJNLEVBQU87O0FBNkJqQjtFQUNJLGFBN0JHLEVBQU87O0FBNEJkO0VBQ0ksYUE1QkUsRUFBTzs7QUEyQmI7RUFDSSxhQTNCVSxFQUFPOztBQTBCckI7RUFDSSxhQTFCVyxFQUFPOztBQXlCdEI7RUFDSSxhQXpCcUIsRUFBTzs7QUF3QmhDO0VBQ0ksYUF4QlEsRUFBTzs7QUF1Qm5CO0VBQ0ksYUF2QnNCLEVBQU87O0FBc0JqQztFQUNJLGFBdEJXLEVBQU87O0FBcUJ0QjtFQUNJLGFBckJzQixFQUFPOztBQW9CakM7RUFDSSxhQXBCZSxFQUFPOztBQW1CMUI7RUFDSSxhQW5CYyxFQUFPOztBQWtCekI7RUFDSSxhQWxCb0IsRUFBTzs7QUFpQi9CO0VBQ0ksYUFqQk0sRUFBTzs7QUFnQmpCO0VBQ0ksYUFoQnVCLEVBQU87O0FBZWxDO0VBQ0ksYUFmSSxFQUFPOztBQWNmO0VBQ0ksYUFkTSxFQUFPOztBQWFqQjtFQUNJLGFBYkssRUFBTzs7QUFZaEI7RUFDSSxhQVpRLEVBQU87O0FBV25CO0VBQ0ksYUFYRSxFQUFPOztBQVViO0VBQ0ksYUFWVSxFQUFPOztBQVNyQjtFQUNJLGFBVEUsRUFBTzs7QUFRYjtFQUNJLGFBUlMsRUFBTzs7QUFPcEI7RUFDSSxhQVBFLEVBQU87O0FBTWI7RUFDSSxhQU5HLEVBQU87O0FBS2Q7RUFDSSxhQUxNLEVBQU87O0FDM0RyQixpRkFBaUY7QUFJakY7RUFDSSxnQ0FBZ0M7RUFDaEMsa0RBQVE7RUFDUixpV0FJeUU7RUFDekUsb0JBQW9CO0VBQ3BCLG1CQUFtQixFQUFBOztBQU92QjtFQUNJLHVDQUF1QztFQUN2Qyx3REFBUTtFQUNSLHNZQUlzRjtFQUN0RixvQkFBb0I7RUFDcEIsbUJBQW1CLEVBQUE7O0FBT3ZCO0VBQ0ksa0NBQWtDO0VBQ2xDLG9EQUFRO0VBQ1IsNldBSTZFO0VBQzdFLG9CQUFvQjtFQUNwQixtQkFBbUIsRUFBQTs7QUFPdkI7RUFDSSxpQ0FBaUM7RUFDakMsbURBQVE7RUFDUix1V0FJMkU7RUFDM0Usb0JBQW9CO0VBQ3BCLG1CQUFtQixFQUFBOztBQU92QjtFQUNJLHdDQUF3QztFQUN4Qyx5REFBUTtFQUNSLDRZQUl3RjtFQUN4RixvQkFBb0I7RUFDcEIsbUJBQW1CLEVBQUE7O0FBT3ZCO0VBQ0ksbUNBQW1DO0VBQ25DLHFEQUFRO0VBQ1IsbVhBSStFO0VBQy9FLG9CQUFvQjtFQUNwQixtQkFBbUIsRUFBQTs7QUFPdkI7RUFDSSxvQ0FBb0M7RUFDcEMsc0RBQVE7RUFDUix5WEFJaUY7RUFDakYsb0JBQW9CO0VBQ3BCLG1CQUFtQixFQUFBOztBQU92QjtFQUNJLDJDQUEyQztFQUMzQyw0REFBUTtFQUNSLDhaQUk4RjtFQUM5RixvQkFBb0I7RUFDcEIsbUJBQW1CLEVBQUE7O0FBT3ZCO0VBQ0ksZ0NBQWdDO0VBQ2hDLGtEQUFRO0VBQ1IsaVdBSXlFO0VBQ3pFLG9CQUFvQjtFQUNwQixtQkFBbUIsRUFBQTs7QUFPdkI7RUFDSSx1Q0FBdUM7RUFDdkMsd0RBQVE7RUFDUixzWUFJc0Y7RUFDdEYsb0JBQW9CO0VBQ3BCLG1CQUFtQixFQUFBOztBQzdKdkI7RUFDSSx1QkFBdUIsRUFDMUI7O0FBRUQ7RUFDSSx1QkFBdUI7RUFDdkIsbUNBQW1DLEVBQ3RDOztBQUVEO0VBQ0ksZUNUZ0IsRURVbkI7O0FBRUQ7RUFDSSxvQkFBb0I7RUFDcEIsZ0NBQWdDLEVBQ25DOztBQUVEO0VBQ0ksZ0JBQWdCLEVBQ25COztBRXBCRDtFQUVJLG9CQUFvQjtFQUNwQixtQkFBbUI7RUNnQm5CLGdCRklhO0VFSmIsa0JDcURvQztFRHJEcEMsbUJDcURtRSxFRjVEdEU7RUFaRDtJR1lNLGFBQWE7SUFDYixlQUFlO0lBQ2YsWUFBWSxFQUNiO0VIZkw7SUFTUSxpQkFBaUI7SUFDakIsZ0JBQWdCLEVBQ25COztBSURIO0VKT0U7SUNFQSxpQkl3SW9CO0lKeElwQixZS0E0RDtJTEE1RCx1Qk00RHdCLEVQeER2QjtJQU5EO01DRUEsaUJJd0lvQjtNSnhJcEIsYUtBdUU7TUxBdkUsZ0JJa0ZvQixFTC9FZjtFQUdMO0lDTkEsaUJJd0lvQjtJSnhJcEIsWUtBNEQ7SUxBNUQsdUJNNER3QixFUGhEdkI7SUFORDtNQ05BLGlCSXdJb0I7TUp4SXBCLGFLQXVFO01MQXZFLGdCSWtGb0IsRUx2RWY7RUFJTDtJQ2ZBLGlCSXdJb0I7SUp4SXBCLFlLQTREO0lMQTVELHVCTTREd0IsRVB2Q3ZCO0lBTkQ7TUNmQSxpQkl3SW9CO01KeElwQixhS0F1RTtNTEF2RSxnQklrRm9CLEVMOURmO0VBR0w7SUN2QkEsaUJJd0lvQjtJSnhJcEIsWUtBNEQ7SUxBNUQsdUJNNER3QixFUC9CdkI7SUFORDtNQ3ZCQSxpQkl3SW9CO01KeElwQixhS0F1RTtNTEF2RSxnQklrRm9CLEVMdERmO0VBR0w7SUMvQkEsWUl3SW9CO0lKeElwQixZS0E0RDtJTEE1RCxlSStFcUI7SUovRXJCLGdCSWtGb0IsRUw3Q25CO0lBTkQ7TUMvQkEsWUl3SW9CO01K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RUExQkQ7SUFZUSxjQUFjLEVBYWpCO0k3Q2hGSDtNNkN1REY7UUFlWSxzQkFBc0I7UUFDdEIsb0JBQW9CO1FBQ3BCLHVCQUF1QjtRQUN2QixZQUFZO1FBQ1osbUJBQW1CO1FBQ25CLGtCQUFrQjtRQUNsQixpQkFBaUI7UUFDakIsc0JBQXNCO1FBQ3RCLDBCQUEwQixFQUVqQyxFQUFBOztBQUVMO0VBQ0Usc0JBQXNCLEVBQ3ZCIiwiZmlsZSI6Im1haW4uY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGNoYXJzZXQgXCJVVEYtOFwiO1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnaWNvbnMnO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvaWNvbnMuZW90XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL2ljb25zLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvaWNvbnMudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLCB1cmwoXCIuLi9mb250cy9pY29ucy5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpOyB9XG5cbi5pY29uLCAuZmlsdGVycyAuZmlsdGVycy1pdGVtLXRpdGxlOmJlZm9yZSwgLmhlYWRlciAucGhvbmU6YmVmb3JlLFxuLmljb25bY2xhc3NePVwiaWNvbi1cIl0sXG4uZmlsdGVycyBbY2xhc3NePVwiaWNvbi1cIl0uZmlsdGVycy1pdGVtLXRpdGxlOmJlZm9yZSxcbi5oZWFkZXIgW2NsYXNzXj1cImljb24tXCJdLnBob25lOmJlZm9yZSxcbi5pY29uW2NsYXNzKj1cIiBpY29uLVwiXSxcbi5maWx0ZXJzIFtjbGFzcyo9XCIgaWNvbi1cIl0uZmlsdGVycy1pdGVtLXRpdGxlOmJlZm9yZSxcbi5oZWFkZXIgW2NsYXNzKj1cIiBpY29uLVwiXS5waG9uZTpiZWZvcmUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtZmFtaWx5OiAnaWNvbnMnO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG5cbi5pY29uLXNlbGVjdDpiZWZvcmUsIC5maWx0ZXJzIC5maWx0ZXJzLWl0ZW0tdGl0bGU6YmVmb3JlIHtcbiAgY29udGVudDogXCLuqIFcIjsgfVxuXG4uaWNvbi1jYW1lcmE6YmVmb3JlIHtcbiAgY29udGVudDogXCLuqIJcIjsgfVxuXG4uaWNvbi1mYWNlYm9vazpiZWZvcmUge1xuICBjb250ZW50OiBcIu6og1wiOyB9XG5cbi5pY29uLWxhbXA6YmVmb3JlIHtcbiAgY29udGVudDogXCLuqIRcIjsgfVxuXG4uaWNvbi1saW5rOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qiFXCI7IH1cblxuLmljb24tbW9yZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu6ohlwiOyB9XG5cbi5pY29uLW5ld3NsZXR0ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCLuqIdcIjsgfVxuXG4uaWNvbi1waG9uZTpiZWZvcmUsIC5oZWFkZXIgLnBob25lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qiIXCI7IH1cblxuLmljb24tbWFwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qiJXCI7IH1cblxuLmljb24tbG9jYXRpb246YmVmb3JlIHtcbiAgY29udGVudDogXCLuqIpcIjsgfVxuXG4uaWNvbi1jbG9zZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu6oi1wiOyB9XG5cbi5pY29uLW5leHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLuqIxcIjsgfVxuXG4uaWNvbi1iZWF1dGUtc2FudGU6YmVmb3JlIHtcbiAgY29udGVudDogXCLuqI1cIjsgfVxuXG4uaWNvbi1iZWJlcy1lbmZhbnRzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qiOXCI7IH1cblxuLmljb24tYmlqb3V0ZXJpZXMtaG9ybG9nZXJpZXM6YmVmb3JlIHtcbiAgY29udGVudDogXCLuqI9cIjsgfVxuXG4uaWNvbi1jaGF1c3N1cmVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qiQXCI7IH1cblxuLmljb24tY3VsdHVyZS1sb2lzaXJzLXRvdXJpc21lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qiRXCI7IH1cblxuLmljb24tZ291dHMtc2F2ZXVyczpiZWZvcmUge1xuICBjb250ZW50OiBcIu6oklwiOyB9XG5cbi5pY29uLWhvdGVscy1yZXN0YXVyYW50cy1jYWZlczpiZWZvcmUge1xuICBjb250ZW50OiBcIu6ok1wiOyB9XG5cbi5pY29uLW1haXNvbi1kZWNvcmF0aW9uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qiUXCI7IH1cblxuLmljb24tbW9kZS1hY2Nlc3NvaXJlczpiZWZvcmUge1xuICBjb250ZW50OiBcIu6olVwiOyB9XG5cbi5pY29uLW11bHRpbWVkaWEtYnVyZWF1dGlxdWU6YmVmb3JlIHtcbiAgY29udGVudDogXCLuqJZcIjsgfVxuXG4uaWNvbi1zZXJ2aWNlczpiZWZvcmUge1xuICBjb250ZW50OiBcIu6ol1wiOyB9XG5cbi5pY29uLXN1cGVybWFyY2hlcy1nZW5lcmFsaXN0ZXM6YmVmb3JlIHtcbiAgY29udGVudDogXCLuqJhcIjsgfVxuXG4uaWNvbi1maWx0ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCLuqJlcIjsgfVxuXG4uaWNvbi1jYWxlbmRhcjpiZWZvcmUge1xuICBjb250ZW50OiBcIu6omlwiOyB9XG5cbi5pY29uLWNvbnRhY3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCLuqJtcIjsgfVxuXG4uaWNvbi1hY3R1YWxpdGVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qicXCI7IH1cblxuLmljb24tbWVudTpiZWZvcmUge1xuICBjb250ZW50OiBcIu6onVwiOyB9XG5cbi5pY29uLWNpdHlzaG9wcGluZzpiZWZvcmUge1xuICBjb250ZW50OiBcIu6onlwiOyB9XG5cbi5pY29uLXByZXY6YmVmb3JlIHtcbiAgY29udGVudDogXCLuqJ9cIjsgfVxuXG4uaWNvbi1pbmZvcm1hdGlvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIu6ooFwiOyB9XG5cbi5pY29uLWVkaXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLuqKFcIjsgfVxuXG4uaWNvbi10cmFzaDpiZWZvcmUge1xuICBjb250ZW50OiBcIu6oolwiOyB9XG5cbi5pY29uLWRvd25sb2FkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qijXCI7IH1cblxuLyogR2VuZXJhdGVkIGJ5IEZvbnQgU3F1aXJyZWwgKGh0dHBzOi8vd3d3LmZvbnRzcXVpcnJlbC5jb20pIG9uIEFwcmlsIDI0LCAyMDE2ICovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdqb3NlZmluX3NhbnNib2xkJztcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9qb3NlZmluc2Fucy1ib2xkLXdlYmZvbnQuZW90XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL2pvc2VmaW5zYW5zLWJvbGQtd2ViZm9udC5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCB1cmwoXCIuLi9mb250cy9qb3NlZmluc2Fucy1ib2xkLXdlYmZvbnQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzL2pvc2VmaW5zYW5zLWJvbGQtd2ViZm9udC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzL2pvc2VmaW5zYW5zLWJvbGQtd2ViZm9udC50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksIHVybChcIi4uL2ZvbnRzL2pvc2VmaW5zYW5zLWJvbGQtd2ViZm9udC5zdmcjam9zZWZpbl9zYW5zYm9sZFwiKSBmb3JtYXQoXCJzdmdcIik7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdqb3NlZmluX3NhbnNib2xkX2l0YWxpYyc7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvam9zZWZpbnNhbnMtYm9sZGl0YWxpYy13ZWJmb250LmVvdFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9qb3NlZmluc2Fucy1ib2xkaXRhbGljLXdlYmZvbnQuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgdXJsKFwiLi4vZm9udHMvam9zZWZpbnNhbnMtYm9sZGl0YWxpYy13ZWJmb250LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy9qb3NlZmluc2Fucy1ib2xkaXRhbGljLXdlYmZvbnQud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy9qb3NlZmluc2Fucy1ib2xkaXRhbGljLXdlYmZvbnQudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLCB1cmwoXCIuLi9mb250cy9qb3NlZmluc2Fucy1ib2xkaXRhbGljLXdlYmZvbnQuc3ZnI2pvc2VmaW5fc2Fuc2JvbGRfaXRhbGljXCIpIGZvcm1hdChcInN2Z1wiKTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ2pvc2VmaW5fc2Fuc2l0YWxpYyc7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvam9zZWZpbnNhbnMtaXRhbGljLXdlYmZvbnQuZW90XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL2pvc2VmaW5zYW5zLWl0YWxpYy13ZWJmb250LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksIHVybChcIi4uL2ZvbnRzL2pvc2VmaW5zYW5zLWl0YWxpYy13ZWJmb250LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy9qb3NlZmluc2Fucy1pdGFsaWMtd2ViZm9udC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzL2pvc2VmaW5zYW5zLWl0YWxpYy13ZWJmb250LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSwgdXJsKFwiLi4vZm9udHMvam9zZWZpbnNhbnMtaXRhbGljLXdlYmZvbnQuc3ZnI2pvc2VmaW5fc2Fuc2l0YWxpY1wiKSBmb3JtYXQoXCJzdmdcIik7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdqb3NlZmluX3NhbnNsaWdodCc7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvam9zZWZpbnNhbnMtbGlnaHQtd2ViZm9udC5lb3RcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvam9zZWZpbnNhbnMtbGlnaHQtd2ViZm9udC5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCB1cmwoXCIuLi9mb250cy9qb3NlZmluc2Fucy1saWdodC13ZWJmb250LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy9qb3NlZmluc2Fucy1saWdodC13ZWJmb250LndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvam9zZWZpbnNhbnMtbGlnaHQtd2ViZm9udC50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksIHVybChcIi4uL2ZvbnRzL2pvc2VmaW5zYW5zLWxpZ2h0LXdlYmZvbnQuc3ZnI2pvc2VmaW5fc2Fuc2xpZ2h0XCIpIGZvcm1hdChcInN2Z1wiKTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ2pvc2VmaW5fc2Fuc2xpZ2h0X2l0YWxpYyc7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvam9zZWZpbnNhbnMtbGlnaHRpdGFsaWMtd2ViZm9udC5lb3RcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvam9zZWZpbnNhbnMtbGlnaHRpdGFsaWMtd2ViZm9udC5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCB1cmwoXCIuLi9mb250cy9qb3NlZmluc2Fucy1saWdodGl0YWxpYy13ZWJmb250LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy9qb3NlZmluc2Fucy1saWdodGl0YWxpYy13ZWJmb250LndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvam9zZWZpbnNhbnMtbGlnaHRpdGFsaWMtd2ViZm9udC50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksIHVybChcIi4uL2ZvbnRzL2pvc2VmaW5zYW5zLWxpZ2h0aXRhbGljLXdlYmZvbnQuc3ZnI2pvc2VmaW5fc2Fuc2xpZ2h0X2l0YWxpY1wiKSBmb3JtYXQoXCJzdmdcIik7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdqb3NlZmluX3NhbnNyZWd1bGFyJztcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9qb3NlZmluc2Fucy1yZWd1bGFyLXdlYmZvbnQuZW90XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL2pvc2VmaW5zYW5zLXJlZ3VsYXItd2ViZm9udC5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCB1cmwoXCIuLi9mb250cy9qb3NlZmluc2Fucy1yZWd1bGFyLXdlYmZvbnQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzL2pvc2VmaW5zYW5zLXJlZ3VsYXItd2ViZm9udC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzL2pvc2VmaW5zYW5zLXJlZ3VsYXItd2ViZm9udC50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksIHVybChcIi4uL2ZvbnRzL2pvc2VmaW5zYW5zLXJlZ3VsYXItd2ViZm9udC5zdmcjam9zZWZpbl9zYW5zcmVndWxhclwiKSBmb3JtYXQoXCJzdmdcIik7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdqb3NlZmluX3NhbnNzZW1pYm9sZCc7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvam9zZWZpbnNhbnMtc2VtaWJvbGQtd2ViZm9udC5lb3RcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvam9zZWZpbnNhbnMtc2VtaWJvbGQtd2ViZm9udC5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCB1cmwoXCIuLi9mb250cy9qb3NlZmluc2Fucy1zZW1pYm9sZC13ZWJmb250LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy9qb3NlZmluc2Fucy1zZW1pYm9sZC13ZWJmb250LndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvam9zZWZpbnNhbnMtc2VtaWJvbGQtd2ViZm9udC50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksIHVybChcIi4uL2ZvbnRzL2pvc2VmaW5zYW5zLXNlbWlib2xkLXdlYmZvbnQuc3ZnI2pvc2VmaW5fc2Fuc3NlbWlib2xkXCIpIGZvcm1hdChcInN2Z1wiKTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ2pvc2VmaW5fc2Fuc3NlbWlib2xkX2l0YWxpYyc7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvam9zZWZpbnNhbnMtc2VtaWJvbGRpdGFsaWMtd2ViZm9udC5lb3RcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvam9zZWZpbnNhbnMtc2VtaWJvbGRpdGFsaWMtd2ViZm9udC5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCB1cmwoXCIuLi9mb250cy9qb3NlZmluc2Fucy1zZW1pYm9sZGl0YWxpYy13ZWJmb250LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy9qb3NlZmluc2Fucy1zZW1pYm9sZGl0YWxpYy13ZWJmb250LndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvam9zZWZpbnNhbnMtc2VtaWJvbGRpdGFsaWMtd2ViZm9udC50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksIHVybChcIi4uL2ZvbnRzL2pvc2VmaW5zYW5zLXNlbWlib2xkaXRhbGljLXdlYmZvbnQuc3ZnI2pvc2VmaW5fc2Fuc3NlbWlib2xkX2l0YWxpY1wiKSBmb3JtYXQoXCJzdmdcIik7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdqb3NlZmluX3NhbnN0aGluJztcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9qb3NlZmluc2Fucy10aGluLXdlYmZvbnQuZW90XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL2pvc2VmaW5zYW5zLXRoaW4td2ViZm9udC5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCB1cmwoXCIuLi9mb250cy9qb3NlZmluc2Fucy10aGluLXdlYmZvbnQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzL2pvc2VmaW5zYW5zLXRoaW4td2ViZm9udC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzL2pvc2VmaW5zYW5zLXRoaW4td2ViZm9udC50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksIHVybChcIi4uL2ZvbnRzL2pvc2VmaW5zYW5zLXRoaW4td2ViZm9udC5zdmcjam9zZWZpbl9zYW5zdGhpblwiKSBmb3JtYXQoXCJzdmdcIik7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdqb3NlZmluX3NhbnN0aGluX2l0YWxpYyc7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvam9zZWZpbnNhbnMtdGhpbml0YWxpYy13ZWJmb250LmVvdFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9qb3NlZmluc2Fucy10aGluaXRhbGljLXdlYmZvbnQuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgdXJsKFwiLi4vZm9udHMvam9zZWZpbnNhbnMtdGhpbml0YWxpYy13ZWJmb250LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy9qb3NlZmluc2Fucy10aGluaXRhbGljLXdlYmZvbnQud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy9qb3NlZmluc2Fucy10aGluaXRhbGljLXdlYmZvbnQudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLCB1cmwoXCIuLi9mb250cy9qb3NlZmluc2Fucy10aGluaXRhbGljLXdlYmZvbnQuc3ZnI2pvc2VmaW5fc2Fuc3RoaW5faXRhbGljXCIpIGZvcm1hdChcInN2Z1wiKTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsOyB9XG5cbioge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG5cbmJvZHkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBmb250LWZhbWlseTogJ2pvc2VmaW5fc2Fuc3JlZ3VsYXInOyB9XG5cbmEge1xuICBjb2xvcjogIzlhYzhiZTsgfVxuXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LWZhbWlseTogJ2pvc2VmaW5fc2Fuc2JvbGQnOyB9XG5cbmltZyB7XG4gIG1heC13aWR0aDogMTAwJTsgfVxuXG4uY29udGFpbmVyLCAucHJldi1uZXh0LXBvc3Qge1xuICBwYWRkaW5nLXJpZ2h0OiAxcmVtO1xuICBwYWRkaW5nLWxlZnQ6IDFyZW07XG4gIG1heC13aWR0aDogNzBlbTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuICAuY29udGFpbmVyOmFmdGVyLCAucHJldi1uZXh0LXBvc3Q6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5jb250YWluZXIubm8tcGFkZGluZywgLm5vLXBhZGRpbmcucHJldi1uZXh0LXBvc3Qge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwOyB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuY29sLW1kLTMge1xuICAgIHdpZHRoOiAyNC4wOTYzOSU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAxLjIwNDgyJTsgfVxuICAgIC5jb2wtbWQtMy5sYXN0IHtcbiAgICAgIHdpZHRoOiAyNC4wOTYzOSU7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgLmNvbC1tZC00IHtcbiAgICB3aWR0aDogMzIuNTMwMTIlO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi1yaWdodDogMS4yMDQ4MiU7IH1cbiAgICAuY29sLW1kLTQubGFzdCB7XG4gICAgICB3aWR0aDogMzIuNTMwMTIlO1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gIC5jb2wtbWQtNiB7XG4gICAgd2lkdGg6IDQ5LjM5NzU5JTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tcmlnaHQ6IDEuMjA0ODIlOyB9XG4gICAgLmNvbC1tZC02Lmxhc3Qge1xuICAgICAgd2lkdGg6IDQ5LjM5NzU5JTtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAuY29sLW1kLTgge1xuICAgIHdpZHRoOiA2Ni4yNjUwNiU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAxLjIwNDgyJTsgfVxuICAgIC5jb2wtbWQtOC5sYXN0IHtcbiAgICAgIHdpZHRoOiA2Ni4yNjUwNiU7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgLmNvbC1tZC0xMiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gICAgLmNvbC1tZC0xMi5sYXN0IHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9IH1cblxuLmNvbC14cy0xMiB7XG4gIGZsb2F0OiBub25lO1xuICB3aWR0aDogMTAwJTsgfVxuXG4uY29udGVudC13cmFwcGVyOmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogdGFibGU7XG4gIGNsZWFyOiBib3RoOyB9XG5cbi5jb250ZW50LXdyYXBwZXIgLmltYWdlLWNvbnRhaW5lciB7XG4gIG1hcmdpbjogMCBhdXRvOyB9XG4gIC5jb250ZW50LXdyYXBwZXIgLmltYWdlLWNvbnRhaW5lciA+IGltZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAwIGF1dG87IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5jb250ZW50LndpdGgtc2lkZWJhciB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIHdpZHRoOiA3NC42OTg4JTsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuc2lkZWJhciB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAxLjIwNDgyJTtcbiAgICB3aWR0aDogMjQuMDk2MzklOyB9IH1cblxuLmhlYWRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy10b3A6IDRyZW07IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgLmhlYWRlciB7XG4gICAgICBtYXJnaW46IDAgMCAycmVtIDA7XG4gICAgICBwYWRkaW5nOiAxZW0gMCAwIDA7IH0gfVxuICAuaGVhZGVyIC5jb250YWluZXIsIC5oZWFkZXIgLnByZXYtbmV4dC1wb3N0IHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICB3aWR0aDogMTAwJTsgfVxuXG4uY29udGVudC1tYWluIHtcbiAgbWFyZ2luOiAycmVtIDA7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgLmNvbnRlbnQtbWFpbiB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICBtYXJnaW46IDRyZW0gMDtcbiAgICAgIHdpZHRoOiA2Ni4yNjUwNiU7IH0gfVxuXG4uY29udGVudC1zaWRlYmFyIHtcbiAgbWFyZ2luOiA0cmVtIDAgMnJlbSAwOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgIC5jb250ZW50LXNpZGViYXIge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBtYXJnaW46IDVyZW0gMCAzcmVtIDA7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDEuMjA0ODIlO1xuICAgICAgd2lkdGg6IDE5Ljg3OTUyJTsgfSB9XG5cbi5wb3N0LWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy10b3A6IDRyZW07XG4gIHBhZGRpbmctYm90dG9tOiA0cmVtOyB9XG5cbi5uZXdzIHtcbiAgbWFyZ2luOiA2cmVtIDA7IH1cblxuLnNpZGViYXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1pbi1oZWlnaHQ6IDNyZW07IH1cblxuLmZvb3RlciB7XG4gIG1hcmdpbi1ib3R0b206IDdweDtcbiAgcGFkZGluZy1ib3R0b206IDJyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICM5YWM4YmU7XG4gIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgIC5mb290ZXIge1xuICAgICAgcGFkZGluZy1ib3R0b206IDZyZW07IH0gfVxuXG5ib2R5LmhpZGRlbi1zY3JvbGwge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi5zbC1vdmVybGF5IHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIG9wYWNpdHk6IDAuNztcbiAgZGlzcGxheTogbm9uZTtcbiAgei1pbmRleDogMTAwNjsgfVxuXG4uc2wtd3JhcHBlciB7XG4gIHotaW5kZXg6IDEwMDA7IH1cbiAgLnNsLXdyYXBwZXIgYnV0dG9uIHtcbiAgICBib3JkZXI6IDAgbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBmb250LXNpemU6IDI0cHg7XG4gICAgcGFkZGluZzogMDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgICAuc2wtd3JhcHBlciBidXR0b246aG92ZXIge1xuICAgICAgb3BhY2l0eTogMC43OyB9XG4gIC5zbC13cmFwcGVyIC5zbC1jbG9zZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgcmlnaHQ6IDMwcHg7XG4gICAgdG9wOiAzMHB4O1xuICAgIHotaW5kZXg6IDEwMTU7IH1cbiAgLnNsLXdyYXBwZXIgLnNsLWNvdW50ZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMzBweDtcbiAgICBsZWZ0OiAzMHB4O1xuICAgIHotaW5kZXg6IDEwMTU7IH1cbiAgLnNsLXdyYXBwZXIgLnNsLW5hdmlnYXRpb24ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAuc2wtd3JhcHBlciAuc2wtbmF2aWdhdGlvbiBidXR0b24ge1xuICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBtYXJnaW4tdG9wOiAtMTBweDtcbiAgICAgIGhlaWdodDogMzBweDtcbiAgICAgIHdpZHRoOiAzMHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHotaW5kZXg6IDEwMTU7XG4gICAgICBmb250LWZhbWlseTogYXJpYWwgc2Fucy1zZXJpZjsgfVxuICAgICAgLnNsLXdyYXBwZXIgLnNsLW5hdmlnYXRpb24gYnV0dG9uLnNsLW5leHQge1xuICAgICAgICByaWdodDogNDBweDsgfVxuICAgICAgLnNsLXdyYXBwZXIgLnNsLW5hdmlnYXRpb24gYnV0dG9uLnNsLXByZXYge1xuICAgICAgICBsZWZ0OiA0MHB4OyB9XG4gIC5zbC13cmFwcGVyIC5zbC1pbWFnZSB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIC1tcy10b3VjaC1hY3Rpb246IG5vbmU7XG4gICAgdG91Y2gtYWN0aW9uOiBub25lO1xuICAgIHotaW5kZXg6IDEwMDAwOyB9XG4gICAgLnNsLXdyYXBwZXIgLnNsLWltYWdlIGltZyB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAuc2wtd3JhcHBlciAuc2wtaW1hZ2UgaWZyYW1lIHtcbiAgICAgIGJvcmRlcjogMCBub25lO1xuICAgICAgYmFja2dyb3VuZDogIzAwMDsgfVxuICAgIC5zbC13cmFwcGVyIC5zbC1pbWFnZSAuc2wtY2FwdGlvbiB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgYmFja2dyb3VuZDogIzAwMDtcbiAgICAgIG9wYWNpdHk6IDAuODtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICByaWdodDogMDsgfVxuICAgICAgLnNsLXdyYXBwZXIgLnNsLWltYWdlIC5zbC1jYXB0aW9uLnBvcy10b3Age1xuICAgICAgICBib3R0b206IGF1dG87XG4gICAgICAgIHRvcDogMDsgfVxuICAgICAgLnNsLXdyYXBwZXIgLnNsLWltYWdlIC5zbC1jYXB0aW9uLnBvcy1vdXRzaWRlIHtcbiAgICAgICAgYm90dG9tOiBhdXRvOyB9XG4gICAgLnNsLXdyYXBwZXIgLnNsLWltYWdlIC5zbC1kb3dubG9hZCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOiA1cHg7XG4gICAgICByaWdodDogNXB4O1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICB6LWluZGV4OiAxMDA1OyB9XG5cbi5zbC1zcGlubmVyIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgYm9yZGVyOiA1cHggc29saWQgIzMzMztcbiAgYm9yZGVyLXJhZGl1czogNDBweDtcbiAgaGVpZ2h0OiA0MHB4O1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbjogLTIwcHggMCAwIC0yMHB4O1xuICBvcGFjaXR5OiAwO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogNTAlO1xuICB3aWR0aDogNDBweDtcbiAgei1pbmRleDogMTAwNztcbiAgLXdlYmtpdC1hbmltYXRpb246IHB1bHNhdGUgMXMgZWFzZS1vdXQgaW5maW5pdGU7XG4gIC1tb3otYW5pbWF0aW9uOiBwdWxzYXRlIDFzIGVhc2Utb3V0IGluZmluaXRlO1xuICAtbXMtYW5pbWF0aW9uOiBwdWxzYXRlIDFzIGVhc2Utb3V0IGluZmluaXRlO1xuICAtby1hbmltYXRpb246IHB1bHNhdGUgMXMgZWFzZS1vdXQgaW5maW5pdGU7XG4gIGFuaW1hdGlvbjogcHVsc2F0ZSAxcyBlYXNlLW91dCBpbmZpbml0ZTsgfVxuXG4uc2wtc2Nyb2xsYmFyLW1lYXN1cmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTk5OTlweDtcbiAgd2lkdGg6IDUwcHg7XG4gIGhlaWdodDogNTBweDtcbiAgb3ZlcmZsb3c6IHNjcm9sbDsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgcHVsc2F0ZSB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuMSk7XG4gICAgb3BhY2l0eTogMC4wOyB9XG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMik7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbkBrZXlmcmFtZXMgcHVsc2F0ZSB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuMSk7XG4gICAgb3BhY2l0eTogMC4wOyB9XG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMik7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbkAtbW96LWtleWZyYW1lcyBwdWxzYXRlIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC4xKTtcbiAgICBvcGFjaXR5OiAwLjA7IH1cbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4yKTtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuQC1vLWtleWZyYW1lcyBwdWxzYXRlIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC4xKTtcbiAgICBvcGFjaXR5OiAwLjA7IH1cbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4yKTtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuQC1tcy1rZXlmcmFtZXMgcHVsc2F0ZSB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuMSk7XG4gICAgb3BhY2l0eTogMC4wOyB9XG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMik7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbi8qKlxuICogQHBhY2thZ2VcdFx0UGlja01lVXAgLSBqUXVlcnkgZGF0ZXBpY2tlciBwbHVnaW5cbiAqIEBhdXRob3JcdFx0TmF6YXIgTW9rcnluc2t5aSA8bmF6YXJAbW9rcnluc2t5aS5jb20+XG4gKiBAYXV0aG9yXHRcdFN0ZWZhbiBQZXRyZSA8d3d3LmV5ZWNvbi5ybz5cbiAqIEBjb3B5cmlnaHRcdENvcHlyaWdodCAoYykgMjAxMy0yMDE1LCBOYXphciBNb2tyeW5za3lpXG4gKiBAY29weXJpZ2h0XHRDb3B5cmlnaHQgKGMpIDIwMDgtMjAwOSwgU3RlZmFuIFBldHJlXG4gKiBAbGljZW5zZVx0XHRNSVQgTGljZW5zZSwgc2VlIGxpY2Vuc2UudHh0XG4gKi9cbi5waWNrbWV1cCB7XG4gIGJhY2tncm91bmQ6ICMwMDA7XG4gIGJvcmRlci1yYWRpdXM6IDAuNGVtO1xuICAtbW96LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgZGlzcGxheTogbm9uZTtcbiAgcG9zaXRpb246IGFic29sdXRlOyB9XG4gIC5waWNrbWV1cCAqIHtcbiAgICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuICAucGlja21ldXAgLnBtdS1pbnN0YW5jZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGhlaWdodDogMTMuOGVtO1xuICAgIHBhZGRpbmc6IC41ZW07XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHdpZHRoOiAxNWVtOyB9XG4gICAgLnBpY2ttZXVwIC5wbXUtaW5zdGFuY2UgLnBtdS1idXR0b24ge1xuICAgICAgY29sb3I6ICNlZWU7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgLnBpY2ttZXVwIC5wbXUtaW5zdGFuY2UgLnBtdS10b2RheSB7XG4gICAgICBiYWNrZ3JvdW5kOiAjMTczODRkO1xuICAgICAgY29sb3I6ICM4OGM1ZWI7IH1cbiAgICAucGlja21ldXAgLnBtdS1pbnN0YW5jZSAucG11LWJ1dHRvbjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgIGNvbG9yOiAjODhjNWViOyB9XG4gICAgLnBpY2ttZXVwIC5wbXUtaW5zdGFuY2UgLnBtdS1ub3QtaW4tbW9udGgge1xuICAgICAgY29sb3I6ICM2NjY7IH1cbiAgICAucGlja21ldXAgLnBtdS1pbnN0YW5jZSAucG11LWRpc2FibGVkLFxuICAgIC5waWNrbWV1cCAucG11LWluc3RhbmNlIC5wbXUtZGlzYWJsZWQ6aG92ZXIge1xuICAgICAgY29sb3I6ICMzMzM7XG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7IH1cbiAgICAucGlja21ldXAgLnBtdS1pbnN0YW5jZSAucG11LXNlbGVjdGVkIHtcbiAgICAgIGJhY2tncm91bmQ6ICMxMzZhOWY7XG4gICAgICBjb2xvcjogI2VlZTsgfVxuICAgIC5waWNrbWV1cCAucG11LWluc3RhbmNlIC5wbXUtbm90LWluLW1vbnRoLnBtdS1zZWxlY3RlZCB7XG4gICAgICBiYWNrZ3JvdW5kOiAjMTczODRkOyB9XG4gICAgLnBpY2ttZXVwIC5wbXUtaW5zdGFuY2UgbmF2IHtcbiAgICAgIGNvbG9yOiAjZWVlO1xuICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgbGluZS1oZWlnaHQ6IDJlbTsgfVxuICAgICAgLnBpY2ttZXVwIC5wbXUtaW5zdGFuY2UgbmF2ICo6Zmlyc3QtY2hpbGQgOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICM4OGM1ZWI7IH1cbiAgICAgIC5waWNrbWV1cCAucG11LWluc3RhbmNlIG5hdiAucG11LXByZXYsXG4gICAgICAucGlja21ldXAgLnBtdS1pbnN0YW5jZSBuYXYgLnBtdS1uZXh0IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgaGVpZ2h0OiAyZW07XG4gICAgICAgIHdpZHRoOiAxZW07IH1cbiAgICAgIC5waWNrbWV1cCAucG11LWluc3RhbmNlIG5hdiAucG11LW1vbnRoIHtcbiAgICAgICAgd2lkdGg6IDE0ZW07IH1cbiAgICAucGlja21ldXAgLnBtdS1pbnN0YW5jZSAucG11LXllYXJzICosXG4gICAgLnBpY2ttZXVwIC5wbXUtaW5zdGFuY2UgLnBtdS1tb250aHMgKiB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBsaW5lLWhlaWdodDogMy42ZW07XG4gICAgICB3aWR0aDogMy41ZW07IH1cbiAgICAucGlja21ldXAgLnBtdS1pbnN0YW5jZSAucG11LWRheS1vZi13ZWVrIHtcbiAgICAgIGNvbG9yOiAjOTk5O1xuICAgICAgY3Vyc29yOiBkZWZhdWx0OyB9XG4gICAgLnBpY2ttZXVwIC5wbXUtaW5zdGFuY2UgLnBtdS1kYXktb2Ytd2VlayAqLFxuICAgIC5waWNrbWV1cCAucG11LWluc3RhbmNlIC5wbXUtZGF5cyAqIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjVlbTtcbiAgICAgIHdpZHRoOiAyZW07IH1cbiAgICAucGlja21ldXAgLnBtdS1pbnN0YW5jZSAucG11LWRheS1vZi13ZWVrICoge1xuICAgICAgbGluZS1oZWlnaHQ6IDEuOGVtOyB9XG4gIC5waWNrbWV1cCAucG11LWluc3RhbmNlOmZpcnN0LWNoaWxkIC5wbXUtcHJldixcbiAgLnBpY2ttZXVwIC5wbXUtaW5zdGFuY2U6bGFzdC1jaGlsZCAucG11LW5leHQge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5waWNrbWV1cCAucG11LWluc3RhbmNlOmZpcnN0LWNoaWxkIC5wbXUtbW9udGgsXG4gIC5waWNrbWV1cCAucG11LWluc3RhbmNlOmxhc3QtY2hpbGQgLnBtdS1tb250aCB7XG4gICAgd2lkdGg6IDEzZW07IH1cbiAgLnBpY2ttZXVwIC5wbXUtaW5zdGFuY2U6Zmlyc3QtY2hpbGQ6bGFzdC1jaGlsZCAucG11LW1vbnRoIHtcbiAgICB3aWR0aDogMTJlbTsgfVxuICAucGlja21ldXA6bm90KC5wbXUtdmlldy1kYXlzKSAucG11LWRheXMsXG4gIC5waWNrbWV1cDpub3QoLnBtdS12aWV3LWRheXMpIC5wbXUtZGF5LW9mLXdlZWssXG4gIC5waWNrbWV1cDpub3QoLnBtdS12aWV3LW1vbnRocykgLnBtdS1tb250aHMsXG4gIC5waWNrbWV1cDpub3QoLnBtdS12aWV3LXllYXJzKSAucG11LXllYXJzIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG5cbi5hZHMge1xuICBtYXJnaW4tdG9wOiAzcmVtO1xuICBtYXJnaW4tYm90dG9tOiA2cmVtOyB9XG4gIC5hZHMgYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLWxlZnQ6IDEuMjA0ODIlO1xuICAgIHdpZHRoOiA0OS4zOTc1OSU7IH1cbiAgICAuYWRzIGEgaW1nIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLmFkcyBhOmZpcnN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG5cbi5icmVhZGNydW1iIHtcbiAgcGFkZGluZy10b3A6IDEuNHJlbTtcbiAgcGFkZGluZy1ib3R0b206IDEuNHJlbTsgfVxuICAuYnJlYWRjcnVtYiBhLFxuICAuYnJlYWRjcnVtYiAuYnJlYWRjcnVtYl9sYXN0IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXNpemU6IDAuOXJlbTtcbiAgICBjb2xvcjogIzAwMDtcbiAgICBtYXJnaW4tbGVmdDogMC40cmVtOyB9XG4gIC5icmVhZGNydW1iIC5icmVhZGNydW1iX2xhc3Qge1xuICAgIGNvbG9yOiAjOWFjOGJlOyB9XG4gIC5icmVhZGNydW1iIC5pY29uLCAuYnJlYWRjcnVtYiAuZmlsdGVycyAuZmlsdGVycy1pdGVtLXRpdGxlOmJlZm9yZSwgLmZpbHRlcnMgLmJyZWFkY3J1bWIgLmZpbHRlcnMtaXRlbS10aXRsZTpiZWZvcmUsIC5icmVhZGNydW1iIC5oZWFkZXIgLnBob25lOmJlZm9yZSwgLmhlYWRlciAuYnJlYWRjcnVtYiAucGhvbmU6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBtYXJnaW4tbGVmdDogMC40cmVtO1xuICAgIGZvbnQtc2l6ZTogMC42ZW07IH1cblxuLmJ1dHRvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogMWVtIDEuNWVtO1xuICBib3JkZXI6IHNvbGlkIDJweCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogM3JlbTtcbiAgY29sb3I6ICNmZmY7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBmb250LXNpemU6IC45cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IH1cbiAgLmJ1dHRvbi5wcmltYXJ5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwOyB9XG4gIC5idXR0b24uc2Vjb25kYXJ5IHtcbiAgICBib3JkZXItY29sb3I6ICNmZmY7IH1cbiAgLmJ1dHRvbi5zbWFsbCB7XG4gICAgcGFkZGluZzogMC42ZW0gMWVtOyB9XG5cbi5idG4tbWVudSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgei1pbmRleDogMztcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAzcmVtO1xuICBoZWlnaHQ6IDNyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gIGNvbG9yOiAjZmZmO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGxpbmUtaGVpZ2h0OiAzcmVtICFpbXBvcnRhbnQ7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAuYnRuLW1lbnUge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuLmJ0bi1jbG9zZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAzcmVtO1xuICBoZWlnaHQ6IDNyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGNvbG9yOiAjMDAwO1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgLmJ0bi1jbG9zZTpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogM3JlbTtcbiAgICBoZWlnaHQ6IDNyZW07XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogMS42ZW07XG4gICAgbGluZS1oZWlnaHQ6IDNyZW07IH1cblxuLmZvcm0tY29udGFjdCA+IGRpdiB7XG4gIG1hcmdpbi1ib3R0b206IDFlbTsgfVxuXG4uZm9ybS1jb250YWN0IC5idXR0b24tY29udGFpbmVyIHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cblxuLmNvbnRhY3QtbWFwLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgaGVpZ2h0OiAyMDBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzlhYzhiZTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAuY29udGFjdC1tYXAtY29udGFpbmVyIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDZyZW07IH1cbiAgICAgIC5jb250YWN0LW1hcC1jb250YWluZXI6YWZ0ZXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9iZy1jb250YWN0LmpwZ1wiKTtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgY29udGVudDogJyc7IH0gfVxuICAuY29udGFjdC1tYXAtY29udGFpbmVyIC5tYXAge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgLmNvbnRhY3QtbWFwLWNvbnRhaW5lciAubWFwIHtcbiAgICAgICAgd2lkdGg6IDUwJTsgfSB9XG5cbi5kb3dubG9hZHMgdWwge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTsgfVxuXG4uZG93bmxvYWRzIC5kb3dubG9hZHMtaXRlbSB7XG4gIHBhZGRpbmc6IDAuNXJlbSAwO1xuICBib3JkZXItYm90dG9tOiBzb2xpZCAxcHggI2YxZWZlZDtcbiAgdHJhbnNpdGlvbjogcGFkZGluZyAwLjZzOyB9XG4gIC5kb3dubG9hZHMgLmRvd25sb2Fkcy1pdGVtOmhvdmVyIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtO1xuICAgIHBhZGRpbmctbGVmdDogMXJlbTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFlZmVkOyB9XG4gIC5kb3dubG9hZHMgLmRvd25sb2Fkcy1pdGVtIGEge1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAuZG93bmxvYWRzIC5kb3dubG9hZHMtaXRlbSAuYnRuLWRvd25sb2FkIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAuZG93bmxvYWRzIC5kb3dubG9hZHMtaXRlbSAuYnRuLWRvd25sb2FkIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBmbG9hdDogcmlnaHQ7IH1cbiAgICAgICAgLmRvd25sb2FkcyAuZG93bmxvYWRzLWl0ZW0gLmJ0bi1kb3dubG9hZCBzcGFuIHtcbiAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9IH1cblxuLmV4Y2VycHQtYmxvY2tzIHtcbiAgcGFkZGluZy1yaWdodDogMDtcbiAgcGFkZGluZy1sZWZ0OiAwOyB9XG4gIC5leGNlcnB0LWJsb2NrczphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjbGVhcjogYm90aDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAuZXhjZXJwdC1ibG9ja3Mge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH0gfVxuICAuZXhjZXJwdC1ibG9ja3MgLmV4Y2VycHQtYmxvY2sge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgLmV4Y2VycHQtYmxvY2tzIC5leGNlcnB0LWJsb2NrIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxcmVtOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgIC5leGNlcnB0LWJsb2NrcyAuZXhjZXJwdC1ibG9jayB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuMjA0ODIlO1xuICAgICAgICBtYXJnaW4tbGVmdDogMS4yMDQ4MiU7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHdpZHRoOiAyNC4wOTYzOSU7XG4gICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7IH0gfVxuICAgIC5leGNlcnB0LWJsb2NrcyAuZXhjZXJwdC1ibG9jazpudGgtY2hpbGQob2RkKSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFlZmVkOyB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgICAgLmV4Y2VycHQtYmxvY2tzIC5leGNlcnB0LWJsb2NrOm50aC1jaGlsZChvZGQpIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAuZXhjZXJwdC1ibG9ja3MgLmV4Y2VycHQtYmxvY2s6Zmlyc3QtY2hpbGQge1xuICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7IH0gfVxuICAgIC5leGNlcnB0LWJsb2NrcyAuZXhjZXJwdC1ibG9jayAuaW1hZ2UtY29udGFpbmVyIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi1yaWdodDogLTAuMjVlbTtcbiAgICAgIHdpZHRoOiAyNC4wOTYzOSU7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgICAgLmV4Y2VycHQtYmxvY2tzIC5leGNlcnB0LWJsb2NrIC5pbWFnZS1jb250YWluZXIge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogNzUlO1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFlZmVkOyB9IH1cbiAgICAgIC5leGNlcnB0LWJsb2NrcyAuZXhjZXJwdC1ibG9jayAuaW1hZ2UtY29udGFpbmVyIGltZyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgICAgIC5leGNlcnB0LWJsb2NrcyAuZXhjZXJwdC1ibG9jayAuaW1hZ2UtY29udGFpbmVyIGltZyB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7IH0gfVxuICAgIC5leGNlcnB0LWJsb2NrcyAuZXhjZXJwdC1ibG9jayAuY2FwdGlvbiB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0wLjI1ZW07XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAxcmVtO1xuICAgICAgd2lkdGg6IDc0LjY5ODglO1xuICAgICAgY29sb3I6ICMwMDA7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgZm9udC1zaXplOiAwLjllbTsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAgIC5leGNlcnB0LWJsb2NrcyAuZXhjZXJwdC1ibG9jayAuY2FwdGlvbiB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIGJvdHRvbTogLjhyZW07XG4gICAgICAgICAgbGVmdDogLjhyZW07XG4gICAgICAgICAgei1pbmRleDogMDtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgcGFkZGluZzogLjVlbSAuNWVtO1xuICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjZyZW0pO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYm90dG9tIC40cywgdHJhbnNmb3JtIC40cywgb3BhY2l0eSAuNHM7IH0gfVxuICAgIC5leGNlcnB0LWJsb2NrcyAuZXhjZXJwdC1ibG9jayB0aW1lICsgdGltZSArIC5pbWFnZS1jb250YWluZXIgKyAuY2FwdGlvbiB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDhyZW07IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgICAuZXhjZXJwdC1ibG9ja3MgLmV4Y2VycHQtYmxvY2sgdGltZSArIHRpbWUgKyAuaW1hZ2UtY29udGFpbmVyICsgLmNhcHRpb24ge1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogLjVlbTsgfSB9XG4gICAgLmV4Y2VycHQtYmxvY2tzIC5leGNlcnB0LWJsb2NrIHRpbWUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAuNnJlbTtcbiAgICAgIGxlZnQ6IDFlbTtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBhZGRpbmctdG9wOiAwLjZlbTtcbiAgICAgIHdpZHRoOiA1ZW07XG4gICAgICBoZWlnaHQ6IDVlbTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDVlbTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gICAgICBmb250LXNpemU6IDAuN2VtOyB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgICAgLmV4Y2VycHQtYmxvY2tzIC5leGNlcnB0LWJsb2NrIHRpbWUge1xuICAgICAgICAgIHJpZ2h0OiAuNnJlbTtcbiAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMWVtOyB9IH1cbiAgICAgIC5leGNlcnB0LWJsb2NrcyAuZXhjZXJwdC1ibG9jayB0aW1lIC5kYXksXG4gICAgICAuZXhjZXJwdC1ibG9ja3MgLmV4Y2VycHQtYmxvY2sgdGltZSAubW9udGgsXG4gICAgICAuZXhjZXJwdC1ibG9ja3MgLmV4Y2VycHQtYmxvY2sgdGltZSAueWVhciB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAnam9zZWZpbl9zYW5zYm9sZCc7IH1cbiAgICAgIC5leGNlcnB0LWJsb2NrcyAuZXhjZXJwdC1ibG9jayB0aW1lIC5kYXkge1xuICAgICAgICBjb2xvcjogIzlhYzhiZTtcbiAgICAgICAgZm9udC1zaXplOiAxLjNlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDFlbTsgfVxuICAgICAgLmV4Y2VycHQtYmxvY2tzIC5leGNlcnB0LWJsb2NrIHRpbWUgLm1vbnRoIHtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICAgIC5leGNlcnB0LWJsb2NrcyAuZXhjZXJwdC1ibG9jayB0aW1lIC55ZWFyIHtcbiAgICAgICAgY29sb3I6ICNmZmY7IH1cbiAgICAgIC5leGNlcnB0LWJsb2NrcyAuZXhjZXJwdC1ibG9jayB0aW1lLmZyb20ge1xuICAgICAgICBsZWZ0OiAxZW07XG4gICAgICAgIHotaW5kZXg6IDI7IH1cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAgICAgLmV4Y2VycHQtYmxvY2tzIC5leGNlcnB0LWJsb2NrIHRpbWUuZnJvbSB7XG4gICAgICAgICAgICByaWdodDogNWVtO1xuICAgICAgICAgICAgbGVmdDogYXV0bzsgfSB9XG4gICAgICAgIC5leGNlcnB0LWJsb2NrcyAuZXhjZXJwdC1ibG9jayB0aW1lLmZyb20gLmljb24sIC5leGNlcnB0LWJsb2NrcyAuZXhjZXJwdC1ibG9jayB0aW1lLmZyb20gLmZpbHRlcnMgLmZpbHRlcnMtaXRlbS10aXRsZTpiZWZvcmUsIC5maWx0ZXJzIC5leGNlcnB0LWJsb2NrcyAuZXhjZXJwdC1ibG9jayB0aW1lLmZyb20gLmZpbHRlcnMtaXRlbS10aXRsZTpiZWZvcmUsIC5leGNlcnB0LWJsb2NrcyAuZXhjZXJwdC1ibG9jayB0aW1lLmZyb20gLmhlYWRlciAucGhvbmU6YmVmb3JlLCAuaGVhZGVyIC5leGNlcnB0LWJsb2NrcyAuZXhjZXJwdC1ibG9jayB0aW1lLmZyb20gLnBob25lOmJlZm9yZSB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgZm9udC1zaXplOiAwLjhlbTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMC4zZW0sIC01MCUpOyB9XG4gICAgICAgIC5leGNlcnB0LWJsb2NrcyAuZXhjZXJwdC1ibG9jayB0aW1lLmZyb20gKyB0aW1lIHtcbiAgICAgICAgICBsZWZ0OiA1ZW07XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgfVxuICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgICAgICAgLmV4Y2VycHQtYmxvY2tzIC5leGNlcnB0LWJsb2NrIHRpbWUuZnJvbSArIHRpbWUge1xuICAgICAgICAgICAgICBsZWZ0OiBhdXRvOyB9IH1cbiAgICAgICAgICAuZXhjZXJwdC1ibG9ja3MgLmV4Y2VycHQtYmxvY2sgdGltZS5mcm9tICsgdGltZSAuZGF5LFxuICAgICAgICAgIC5leGNlcnB0LWJsb2NrcyAuZXhjZXJwdC1ibG9jayB0aW1lLmZyb20gKyB0aW1lIC5tb250aCxcbiAgICAgICAgICAuZXhjZXJwdC1ibG9ja3MgLmV4Y2VycHQtYmxvY2sgdGltZS5mcm9tICsgdGltZSAueWVhciB7XG4gICAgICAgICAgICBjb2xvcjogIzAwMDsgfVxuICAgIC5leGNlcnB0LWJsb2NrcyAuZXhjZXJwdC1ibG9jayAudGl0bGUge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICBmb250LXNpemU6IDEuMmVtO1xuICAgICAgZm9udC1mYW1pbHk6ICdqb3NlZmluX3NhbnNib2xkJzsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAgIC5leGNlcnB0LWJsb2NrcyAuZXhjZXJwdC1ibG9jayAudGl0bGUge1xuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH0gfVxuICAgIC5leGNlcnB0LWJsb2NrcyAuZXhjZXJwdC1ibG9jayAuc3VidGl0bGUge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGZvbnQtc2l6ZTogMWVtOyB9XG4gICAgLmV4Y2VycHQtYmxvY2tzIC5leGNlcnB0LWJsb2NrIC5yZWFkbW9yZSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgICAgLmV4Y2VycHQtYmxvY2tzIC5leGNlcnB0LWJsb2NrIC5yZWFkbW9yZSB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogNDAlO1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgLjVzLCB0b3AgLjRzO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsgfVxuICAgICAgICAgIC5leGNlcnB0LWJsb2NrcyAuZXhjZXJwdC1ibG9jayAucmVhZG1vcmU6YmVmb3JlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAgIC5leGNlcnB0LWJsb2NrcyAuZXhjZXJwdC1ibG9jazpudGgtY2hpbGQoNG4tMykge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgLmV4Y2VycHQtYmxvY2tzLmV2ZW50cyAuZXhjZXJwdC1ibG9jayB7XG4gICAgbWluLWhlaWdodDogNC41ZW07IH1cbiAgICAuZXhjZXJwdC1ibG9ja3MuZXZlbnRzIC5leGNlcnB0LWJsb2NrIC5pbWFnZS1jb250YWluZXIge1xuICAgICAgd2lkdGg6IDA7XG4gICAgICBoZWlnaHQ6IDQuNWVtOyB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgICAgLmV4Y2VycHQtYmxvY2tzLmV2ZW50cyAuZXhjZXJwdC1ibG9jayAuaW1hZ2UtY29udGFpbmVyIHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgcGFkZGluZy10b3A6IDc1JTtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZWZlZDsgfSB9XG4gICAgICAuZXhjZXJwdC1ibG9ja3MuZXZlbnRzIC5leGNlcnB0LWJsb2NrIC5pbWFnZS1jb250YWluZXIgaW1nIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgICAgICAuZXhjZXJwdC1ibG9ja3MuZXZlbnRzIC5leGNlcnB0LWJsb2NrIC5pbWFnZS1jb250YWluZXIgaW1nIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlOyB9IH1cbiAgICAuZXhjZXJwdC1ibG9ja3MuZXZlbnRzIC5leGNlcnB0LWJsb2NrIC5jYXB0aW9uIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDFyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDVyZW07XG4gICAgICB3aWR0aDogOTUlO1xuICAgICAgY29sb3I6ICMwMDA7IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgICAuZXhjZXJwdC1ibG9ja3MuZXZlbnRzIC5leGNlcnB0LWJsb2NrIC5jYXB0aW9uIHtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW07XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjVyZW07XG4gICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuNnJlbSk7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAuZXhjZXJwdC1ibG9ja3MgYS5leGNlcnB0LWJsb2NrOmhvdmVyIC5yZWFkbW9yZSB7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIG9wYWNpdHk6IDE7IH1cbiAgICAuZXhjZXJwdC1ibG9ja3MgYS5leGNlcnB0LWJsb2NrOmhvdmVyOmJlZm9yZSB7XG4gICAgICBvcGFjaXR5OiAxOyB9XG4gICAgLmV4Y2VycHQtYmxvY2tzIGEuZXhjZXJwdC1ibG9jazpob3ZlcjphZnRlciB7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9XG4gICAgLmV4Y2VycHQtYmxvY2tzIGEuZXhjZXJwdC1ibG9jazpob3ZlciAuY2FwdGlvbiB7XG4gICAgICBib3R0b206IDA7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpOyB9XG4gICAgLmV4Y2VycHQtYmxvY2tzIGEuZXhjZXJwdC1ibG9jazpiZWZvcmUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC43KTtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgLjVzOyB9XG4gICAgLmV4Y2VycHQtYmxvY2tzIGEuZXhjZXJwdC1ibG9jazphZnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IGNhbGMoLjhyZW0gLSAycHgpO1xuICAgICAgbGVmdDogY2FsYyguOHJlbSAtIDJweCk7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuNnJlbSk7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuNnJlbSk7XG4gICAgICBib3JkZXI6IHNvbGlkIDJweCAjZmZmO1xuICAgICAgY29udGVudDogJyc7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjZzO1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjIpOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgLmV4Y2VycHQtYmxvY2tzLmZpcnN0LWJsb2NrLWxhcmdlIC5leGNlcnB0LWJsb2NrOm50aC1jaGlsZCg0bi0zKSB7XG4gICAgICBtYXJnaW4tbGVmdDogMS4yMDQ4MiU7IH1cbiAgICAuZXhjZXJwdC1ibG9ja3MuZmlyc3QtYmxvY2stbGFyZ2UgLmV4Y2VycHQtYmxvY2s6bnRoLWNoaWxkKDRuKzYpIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgLmV4Y2VycHQtYmxvY2tzLmZpcnN0LWJsb2NrLWxhcmdlIC5leGNlcnB0LWJsb2NrOmZpcnN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIHdpZHRoOiA0OS4zOTc1OSU7XG4gICAgICBmb250LXNpemU6IDEuNGVtOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgLmV4Y2VycHQtYmxvY2tzLmNvbC0zIC5leGNlcnB0LWJsb2NrIHtcbiAgICAgIHdpZHRoOiAzMi41MzAxMiU7IH1cbiAgICAgIC5leGNlcnB0LWJsb2Nrcy5jb2wtMyAuZXhjZXJwdC1ibG9jazpudGgtY2hpbGQoNG4tMykge1xuICAgICAgICBtYXJnaW4tbGVmdDogMS4yMDQ4MiU7IH1cbiAgICAgIC5leGNlcnB0LWJsb2Nrcy5jb2wtMyAuZXhjZXJwdC1ibG9jazpudGgtY2hpbGQoM24tMikge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAucGFnZS10ZW1wbGF0ZS1tb2RlbC1ldmVudHMgLmZpbHRlcnMge1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDsgfSB9XG5cbi5maWx0ZXJzIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGxlZnQ6IC0xMDAlO1xuICB6LWluZGV4OiA0O1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBwYWRkaW5nOiA0cmVtIDFyZW0gMXJlbSAxcmVtO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSk7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC40cywgbGVmdCAwLjRzOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgIC5maWx0ZXJzIHtcbiAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICBwYWRkaW5nOiAxcmVtIDEuNnJlbTtcbiAgICAgIG9wYWNpdHk6IDE7IH0gfVxuICAuZmlsdGVycy5pcy1tb2JpbGUtdmlzaWJsZSB7XG4gICAgbGVmdDogMDtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIC5maWx0ZXJzIC5maWx0ZXJzLWl0ZW0ge1xuICAgIG1hcmdpbi10b3A6IDFyZW07IH1cbiAgICAuZmlsdGVycyAuZmlsdGVycy1pdGVtLmlzLWNvbGxhcHNlZCAuZmlsdGVycy1pdGVtLXRpdGxlOmJlZm9yZSB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgcm90YXRlKDBkZWcpOyB9XG4gICAgLmZpbHRlcnMgLmZpbHRlcnMtaXRlbS5pcy1jb2xsYXBzZWQgLmZpbHRlcnMtaXRlbS1jb250ZW50IHtcbiAgICAgIG1heC1oZWlnaHQ6IDA7XG4gICAgICBtYXJnaW4tdG9wOiAwOyB9XG4gICAgLmZpbHRlcnMgLmZpbHRlcnMtaXRlbTpmaXJzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tdG9wOiAwOyB9XG4gIC5maWx0ZXJzIC5maWx0ZXJzLWl0ZW0tdGl0bGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZy1yaWdodDogMmVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC1zaXplOiAxZW07XG4gICAgZm9udC1mYW1pbHk6ICdqb3NlZmluX3NhbnNib2xkJztcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgIC5maWx0ZXJzIC5maWx0ZXJzLWl0ZW0tdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDAuOWVtOyB9IH1cbiAgICAuZmlsdGVycyAuZmlsdGVycy1pdGVtLXRpdGxlOmJlZm9yZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgZm9udC1zaXplOiAwLjZlbTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSByb3RhdGUoLTE4MGRlZyk7IH1cbiAgLmZpbHRlcnMgLmZpbHRlcnMtaXRlbS1jb250ZW50IHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIG1hcmdpbjogMC44ZW0gMCAwIDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgZm9udC1zaXplOiAxLjJlbTtcbiAgICBtYXgtaGVpZ2h0OiA3MDBweDtcbiAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDAuNHMsIG1hcmdpbi10b3AgMC40cztcbiAgICBwYWRkaW5nLWxlZnQ6IDJweDsgfVxuICAgIC5maWx0ZXJzIC5maWx0ZXJzLWl0ZW0tY29udGVudCBsaSB7XG4gICAgICBtYXJnaW46IDAuMmVtIDA7IH1cbiAgICAuZmlsdGVycyAuZmlsdGVycy1pdGVtLWNvbnRlbnQgbGFiZWwge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgcGFkZGluZzogMC4yZW0gMDtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAycmVtKTtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICBmb250LXNpemU6IDAuOGVtO1xuICAgICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgIC5maWx0ZXJzIC5idG4tY2xvc2Uge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gIC5maWx0ZXJzIC5idXR0b24ge1xuICAgIG1hcmdpbi10b3A6IDFyZW07IH1cblxuLmJ0bi1zaG93LWZpbHRlcnMge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAzcmVtO1xuICBoZWlnaHQ6IDNyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gIGNvbG9yOiAjZmZmO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGxpbmUtaGVpZ2h0OiAzcmVtICFpbXBvcnRhbnQ7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAuYnRuLXNob3ctZmlsdGVycyB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuICAuYnRuLXNob3ctZmlsdGVyczpiZWZvcmUge1xuICAgIGZvbnQtc2l6ZTogMS4yZW07IH1cblxuLm5ld3NsZXR0ZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICM5YWM4YmU7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgLm5ld3NsZXR0ZXIgLnNlY3Rpb24tdGl0bGUge1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH0gfVxuICAubmV3c2xldHRlciAuc2VjdGlvbi10aXRsZSBzcGFuICsgc3BhbiB7XG4gICAgZm9udC1zaXplOiAuNGVtOyB9XG4gIC5uZXdzbGV0dGVyIGZvcm0ge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMnJlbTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAubmV3c2xldHRlciBmb3JtIGlucHV0W3R5cGU9J2VtYWlsJ10sXG4gICAgLm5ld3NsZXR0ZXIgZm9ybSAuYnV0dG9uLFxuICAgIC5uZXdzbGV0dGVyIGZvcm0gc2VsZWN0IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luOiAuNWVtIDA7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAgIC5uZXdzbGV0dGVyIGZvcm0gaW5wdXRbdHlwZT0nZW1haWwnXSxcbiAgICAgICAgLm5ld3NsZXR0ZXIgZm9ybSAuYnV0dG9uLFxuICAgICAgICAubmV3c2xldHRlciBmb3JtIHNlbGVjdCB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IC0uMjVlbTtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMS4yMDQ4MiU7XG4gICAgICAgICAgd2lkdGg6IDMyLjUzMDEyJTsgfSB9XG4gICAgLm5ld3NsZXR0ZXIgZm9ybSBpbnB1dFt0eXBlPSdlbWFpbCddIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG5cbi5sb2dpbi1mb3JtIHtcbiAgcGFkZGluZzogMWVtIDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICM5YWM4YmU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAubG9naW4tZm9ybSBoMixcbiAgLmxvZ2luLWZvcm0gaW5wdXRbdHlwZT0ndGV4dCddLFxuICAubG9naW4tZm9ybSBpbnB1dFt0eXBlPSdwYXNzd29yZCddLFxuICAubG9naW4tZm9ybSAuYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgLmxvZ2luLWZvcm0gaDIsXG4gICAgICAubG9naW4tZm9ybSBpbnB1dFt0eXBlPSd0ZXh0J10sXG4gICAgICAubG9naW4tZm9ybSBpbnB1dFt0eXBlPSdwYXNzd29yZCddLFxuICAgICAgLmxvZ2luLWZvcm0gLmJ1dHRvbiB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtLjI1ZW07XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH0gfVxuICAubG9naW4tZm9ybSBoMiB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjZlbTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBmb250LXNpemU6IDEuMmVtOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAubG9naW4tZm9ybSBoMiB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuICAubG9naW4tZm9ybSBpbnB1dFt0eXBlPSd0ZXh0J10sXG4gIC5sb2dpbi1mb3JtIGlucHV0W3R5cGU9J3Bhc3N3b3JkJ10ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogNDAuOTYzODYlO1xuICAgIG1hcmdpbi1yaWdodDogLTAuMjVlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDFlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxZW07IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgIC5sb2dpbi1mb3JtIGlucHV0W3R5cGU9J3RleHQnXSxcbiAgICAgIC5sb2dpbi1mb3JtIGlucHV0W3R5cGU9J3Bhc3N3b3JkJ10ge1xuICAgICAgICBtYXJnaW4tbGVmdDogMS4yMDQ4MiU7XG4gICAgICAgIHdpZHRoOiAxNS42NjI2NSU7IH0gfVxuICAubG9naW4tZm9ybSBpbnB1dFt0eXBlPSdwYXNzd29yZCddIHtcbiAgICBtYXJnaW4tbGVmdDogMS4yMDQ4MiU7IH1cbiAgLmxvZ2luLWZvcm0gLmJ1dHRvbi5wcmltYXJ5IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IDE1LjY2MjY1JTtcbiAgICBtYXJnaW4tbGVmdDogMS4yMDQ4MiU7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMC4yNWVtO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgIC5sb2dpbi1mb3JtIC5idXR0b24ucHJpbWFyeSAuaWNvbiwgLmxvZ2luLWZvcm0gLmJ1dHRvbi5wcmltYXJ5IC5maWx0ZXJzIC5maWx0ZXJzLWl0ZW0tdGl0bGU6YmVmb3JlLCAuZmlsdGVycyAubG9naW4tZm9ybSAuYnV0dG9uLnByaW1hcnkgLmZpbHRlcnMtaXRlbS10aXRsZTpiZWZvcmUsIC5sb2dpbi1mb3JtIC5idXR0b24ucHJpbWFyeSAuaGVhZGVyIC5waG9uZTpiZWZvcmUsIC5oZWFkZXIgLmxvZ2luLWZvcm0gLmJ1dHRvbi5wcmltYXJ5IC5waG9uZTpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgICAubG9naW4tZm9ybSAuYnV0dG9uLnByaW1hcnkgLnRleHQge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAgIC5sb2dpbi1mb3JtIC5idXR0b24ucHJpbWFyeSAudGV4dCB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgIC5sb2dpbi1mb3JtIC5idXR0b24ucHJpbWFyeSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDEuMjA0ODIlO1xuICAgICAgICB3aWR0aDogMTUuNjYyNjUlOyB9IH1cbiAgLmxvZ2luLWZvcm0uaXMtdXNlci1sb2dnZWQtaW4ge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICAubG9naW4tZm9ybS5pcy11c2VyLWxvZ2dlZC1pbiAuYnV0dG9uLnByaW1hcnkge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBwYWRkaW5nLWxlZnQ6IDFlbTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDFlbTsgfVxuICAubG9naW4tZm9ybSAudXNlci1pbmZvIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgIC5sb2dpbi1mb3JtIC51c2VyLWluZm8ge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH0gfVxuICAgIC5sb2dpbi1mb3JtIC51c2VyLWluZm8gPiBsaSB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgLmxvZ2luLWZvcm0gLnVzZXItaW5mbyA+IGxpOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tdG9wOiAxcmVtOyB9XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgICAgIC5sb2dpbi1mb3JtIC51c2VyLWluZm8gPiBsaTpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7IH0gfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAgIC5sb2dpbi1mb3JtIC51c2VyLWluZm8gPiBsaSB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIGJvcmRlci1sZWZ0OiBzb2xpZCAxcHggIzAwMDtcbiAgICAgICAgICBwYWRkaW5nOiAwIDFyZW07IH0gfVxuICAgICAgLmxvZ2luLWZvcm0gLnVzZXItaW5mbyA+IGxpOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAubG9naW4tZm9ybSAuZXJyZXVyX2RpdiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMWVtOyB9XG4gICAgLmxvZ2luLWZvcm0gLmVycmV1cl9kaXYgdWwge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5wYXJzbGV5LWVycm9ycy1saXN0IHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBjb2xvcjogI2YwNDEyNDtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBmb250LXNpemU6IDAuOGVtOyB9XG4gIC5wYXJzbGV5LWVycm9ycy1saXN0ID4gbGkge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwLjNlbSAxZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZkZTdlMzsgfVxuXG4uZmllbGQtY29udGFpbmVyIHtcbiAgbWFyZ2luOiAxZW0gMDsgfVxuXG5ib2R5IGZpZWxkc2V0IHtcbiAgYm9yZGVyOiBub25lO1xuICBwYWRkaW5nOiAxZW0gMDtcbiAgbWFyZ2luOiA0ZW0gMDtcbiAgYm9yZGVyLXRvcDogc29saWQgMXB4ICNjY2M7IH1cblxuYm9keSBsZWdlbmQge1xuICBwYWRkaW5nOiAwIDAuNmVtO1xuICBtYXJnaW4tbGVmdDogMmVtOyB9XG5cbi5pbnB1dC10ZXh0LFxuLnNlbGVjdCxcbi50ZXh0YXJlYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAwLjg1ZW0gMS41ZW07XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXI6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMmYyZjI7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGZvbnQtc2l6ZTogLjlyZW07XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IC41cywgYm9yZGVyLWNvbG9yIC4yNXMgZWFzZS1pbi1vdXQ7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgLW1vei1hcHBlYXJhbmNlOiBub25lOyB9XG4gIC5pbnB1dC10ZXh0LnJvdW5kZWQsXG4gIC5zZWxlY3Qucm91bmRlZCxcbiAgLnRleHRhcmVhLnJvdW5kZWQge1xuICAgIGJvcmRlcjogc29saWQgMnB4ICNmZmY7XG4gICAgYm9yZGVyLXJhZGl1czogM3JlbTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIGNvbG9yOiAjOGE4YThhOyB9XG4gIC5pbnB1dC10ZXh0LmlubGluZSxcbiAgLnNlbGVjdC5pbmxpbmUsXG4gIC50ZXh0YXJlYS5pbmxpbmUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogYXV0bzsgfVxuXG4uc2VsZWN0IHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL2ljb24tc2VsZWN0LnN2Z1wiKTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IDFlbSBhdXRvO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLW9yaWdpbjogY29udGVudC1ib3g7IH1cbiAgLnNlbGVjdC5yb3VuZGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOWFjOGJlO1xuICAgIGJhY2tncm91bmQtb3JpZ2luOiBjb250ZW50LWJveDtcbiAgICBjb2xvcjogIzAwMDsgfVxuXG5zZWxlY3Q6Oi1tcy1leHBhbmQge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi50ZXh0YXJlYSB7XG4gIGhlaWdodDogNnJlbTsgfVxuXG4uY2hlY2tib3hlcy1saXN0IHtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGNvbHVtbi1jb3VudDogNDtcbiAgY29sdW1uLWdhcDogMWVtOyB9XG4gIC5jaGVja2JveGVzLWxpc3QgaW5wdXQge1xuICAgIG1hcmdpbi1yaWdodDogMC40ZW07IH1cblxuLm9wZW5pbmctdGltZSAuZGF5IHtcbiAgd2lkdGg6IDIwJTsgfVxuXG4ub3BlbmluZy10aW1lIC5hbSB7XG4gIHdpZHRoOiAzNSU7IH1cblxuLm9wZW5pbmctdGltZSAucG0ge1xuICB3aWR0aDogMzUlOyB9XG5cbi5vcGVuaW5nLXRpbWUgLmFtIC5pbnB1dC10ZXh0LFxuLm9wZW5pbmctdGltZSAucG0gLmlucHV0LXRleHQge1xuICB3aWR0aDogNnJlbTtcbiAgbWFyZ2luLWxlZnQ6IDAuNmVtO1xuICBtYXJnaW4tcmlnaHQ6IDAuNmVtOyB9XG5cbi5vcGVuaW5nLXRpbWUgLmFjdGlvbiB7XG4gIHdpZHRoOiAxMCU7XG4gIHBhZGRpbmctdG9wOiAwO1xuICBwYWRkaW5nLWJvdHRvbTogMDsgfVxuXG4uc3VuZGF5LW9wZW5pbmctdGltZSB7XG4gIC8qdGQsXG4gICAgdGgge1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIH0qLyB9XG4gIC5zdW5kYXktb3BlbmluZy10aW1lIC5kYXkge1xuICAgIHdpZHRoOiAxNSU7IH1cbiAgLnN1bmRheS1vcGVuaW5nLXRpbWUgLmFtIC5pbnB1dC10ZXh0LFxuICAuc3VuZGF5LW9wZW5pbmctdGltZSAucG0gLmlucHV0LXRleHQge1xuICAgIHdpZHRoOiA2cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjZlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNmVtOyB9XG4gIC5zdW5kYXktb3BlbmluZy10aW1lIC5hY3Rpb24ge1xuICAgIHdpZHRoOiAxMCU7IH1cblxuLmJ0bi1kZWxldGUge1xuICB3aWR0aDogMnJlbTtcbiAgaGVpZ2h0OiAycmVtO1xuICBmb250LXNpemU6IDEuMmVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGxpbmUtaGVpZ2h0OiAycmVtICFpbXBvcnRhbnQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogZm9udC1zaXplIDAuMnM7XG4gIG1hcmdpbi10b3A6IDNweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgY29sb3I6ICNmZmY7XG4gIHotaW5kZXg6IDI7XG4gIGJvcmRlci1yYWRpdXM6IDFyZW07XG4gIGJveC1zaGFkb3c6IDBweCAwcHggM3B4IDBweCB3aGl0ZTsgfVxuXG4uYnRuLWRlbGV0ZSB7XG4gIG1hcmdpbi1yaWdodDogMnB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjA0MTI0OyB9XG5cbi5mYy1jb2wtMSxcbi5mYy1jb2wtMixcbi5mYy1jb2wtMyB7XG4gIG1hcmdpbjogMnJlbSAwOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgIC5mYy1jb2wtMSxcbiAgICAuZmMtY29sLTIsXG4gICAgLmZjLWNvbC0zIHtcbiAgICAgIG1hcmdpbjogMCAtMXJlbTtcbiAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBib3JkZXItY29sbGFwc2U6IHNlcGFyYXRlO1xuICAgICAgYm9yZGVyLXNwYWNpbmc6IDFyZW07IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAuZmMtY29sLTEgPiBkaXYsXG4gICAgLmZjLWNvbC0yID4gZGl2LFxuICAgIC5mYy1jb2wtMyA+IGRpdiB7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgdmVydGljYWwtYWxpZ246IHRvcDsgfSB9XG4gIC5mYy1jb2wtMSA+IGRpdiBpbWcsXG4gIC5mYy1jb2wtMiA+IGRpdiBpbWcsXG4gIC5mYy1jb2wtMyA+IGRpdiBpbWcge1xuICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50OyB9XG4gIC5mYy1jb2wtMSB1bCxcbiAgLmZjLWNvbC0xIG9sLFxuICAuZmMtY29sLTIgdWwsXG4gIC5mYy1jb2wtMiBvbCxcbiAgLmZjLWNvbC0zIHVsLFxuICAuZmMtY29sLTMgb2wge1xuICAgIHBhZGRpbmctbGVmdDogMWVtOyB9XG4gIC5mYy1jb2wtMSBsaSxcbiAgLmZjLWNvbC0yIGxpLFxuICAuZmMtY29sLTMgbGkge1xuICAgIG1hcmdpbjogMC41ZW0gMDsgfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLmZjLWNvbC0yID4gZGl2IHtcbiAgICB3aWR0aDogNTAlOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5mYy1jb2wtMyA+IGRpdiB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfSB9XG5cbi5nYWxsZXJ5IHtcbiAgcGFkZGluZzogMXJlbSAwO1xuICBib3JkZXItYm90dG9tOiBzb2xpZCAxcHggI2YxZWZlZDsgfVxuICAuZ2FsbGVyeSAuZ2FsbGVyeS1pdGVtIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1yaWdodDogLTAuMjVlbTtcbiAgICB3aWR0aDogMjQuMDk2MzklO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgcGFkZGluZy10b3A6IDI0LjA5NjM5JTtcbiAgICBtYXJnaW4tbGVmdDogMS4yMDQ4MiU7XG4gICAgbWFyZ2luLWJvdHRvbTogMS4yMDQ4MiU7IH1cbiAgICAuZ2FsbGVyeSAuZ2FsbGVyeS1pdGVtOm50aC1jaGlsZCg0bi0yKSB7XG4gICAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgLmdhbGxlcnkgLmdhbGxlcnktaXRlbSB7XG4gICAgICAgIHdpZHRoOiAxNS42NjI2NSU7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxNS42NjI2NSU7IH1cbiAgICAgICAgLmdhbGxlcnkgLmdhbGxlcnktaXRlbTpudGgtY2hpbGQoNG4tMikge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxLjIwNDgyJTsgfVxuICAgICAgICAuZ2FsbGVyeSAuZ2FsbGVyeS1pdGVtOm50aC1jaGlsZCg2bi00KSB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuICAgIC5nYWxsZXJ5IC5nYWxsZXJ5LWl0ZW0gaW1nIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTsgfVxuICAgIC5nYWxsZXJ5IC5nYWxsZXJ5LWl0ZW0gLmljb24sIC5nYWxsZXJ5IC5nYWxsZXJ5LWl0ZW0gLmZpbHRlcnMgLmZpbHRlcnMtaXRlbS10aXRsZTpiZWZvcmUsIC5maWx0ZXJzIC5nYWxsZXJ5IC5nYWxsZXJ5LWl0ZW0gLmZpbHRlcnMtaXRlbS10aXRsZTpiZWZvcmUsIC5nYWxsZXJ5IC5nYWxsZXJ5LWl0ZW0gLmhlYWRlciAucGhvbmU6YmVmb3JlLCAuaGVhZGVyIC5nYWxsZXJ5IC5nYWxsZXJ5LWl0ZW0gLnBob25lOmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAuZ2FsbGVyeSAuZ2FsbGVyeS1pdGVtOmhvdmVyIC5pY29uLCAuZ2FsbGVyeSAuZ2FsbGVyeS1pdGVtOmhvdmVyIC5maWx0ZXJzIC5maWx0ZXJzLWl0ZW0tdGl0bGU6YmVmb3JlLCAuZmlsdGVycyAuZ2FsbGVyeSAuZ2FsbGVyeS1pdGVtOmhvdmVyIC5maWx0ZXJzLWl0ZW0tdGl0bGU6YmVmb3JlLCAuZ2FsbGVyeSAuZ2FsbGVyeS1pdGVtOmhvdmVyIC5oZWFkZXIgLnBob25lOmJlZm9yZSwgLmhlYWRlciAuZ2FsbGVyeSAuZ2FsbGVyeS1pdGVtOmhvdmVyIC5waG9uZTpiZWZvcmUge1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgc2NhbGUoMSk7IH1cbiAgICAgIC5nYWxsZXJ5IC5nYWxsZXJ5LWl0ZW06aG92ZXI6YmVmb3JlIHtcbiAgICAgICAgb3BhY2l0eTogMTsgfVxuICAgICAgLmdhbGxlcnkgLmdhbGxlcnktaXRlbTpob3ZlcjphZnRlciB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7IH1cbiAgICAgIC5nYWxsZXJ5IC5nYWxsZXJ5LWl0ZW06YmVmb3JlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC43KTtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgLjVzOyB9XG4gICAgICAuZ2FsbGVyeSAuZ2FsbGVyeS1pdGVtOmFmdGVyIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IGNhbGMoLjhyZW0gLSAycHgpO1xuICAgICAgICBsZWZ0OiBjYWxjKC44cmVtIC0gMnB4KTtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuNnJlbSk7XG4gICAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMS42cmVtKTtcbiAgICAgICAgYm9yZGVyOiBzb2xpZCAycHggI2ZmZjtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuNnM7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4yKTsgfVxuICAgICAgLmdhbGxlcnkgLmdhbGxlcnktaXRlbSAuaWNvbiwgLmdhbGxlcnkgLmdhbGxlcnktaXRlbSAuZmlsdGVycyAuZmlsdGVycy1pdGVtLXRpdGxlOmJlZm9yZSwgLmZpbHRlcnMgLmdhbGxlcnkgLmdhbGxlcnktaXRlbSAuZmlsdGVycy1pdGVtLXRpdGxlOmJlZm9yZSwgLmdhbGxlcnkgLmdhbGxlcnktaXRlbSAuaGVhZGVyIC5waG9uZTpiZWZvcmUsIC5oZWFkZXIgLmdhbGxlcnkgLmdhbGxlcnktaXRlbSAucGhvbmU6YmVmb3JlIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIHRvcDogMzAlO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBmb250LXNpemU6IDJlbTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgc2NhbGUoMC4yKTtcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuNnMsIHRvcCAuNHMsIHRyYW5zZm9ybSAuNHM7XG4gICAgICAgIG9wYWNpdHk6IDA7IH0gfVxuXG4uaWNvbi1jYXRlZ29yeSB7XG4gIHdpZHRoOiAyLjFlbTtcbiAgaGVpZ2h0OiAyLjFlbTtcbiAgYm9yZGVyLXJhZGl1czogNWVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LXNpemU6IDEuNGVtO1xuICBsaW5lLWhlaWdodDogMi4xZW0gIWltcG9ydGFudDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAuaWNvbi1jYXRlZ29yeSB7XG4gICAgICBmb250LXNpemU6IDIuNGVtOyB9IH1cblxuLmltYWdlLWZpZWxkIHtcbiAgYm9yZGVyOiBzb2xpZCAxcHggI2NjYztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZy10b3A6IDc1JTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAuaW1hZ2UtZmllbGQgLmJ0bi1lZGl0LFxuICAuaW1hZ2UtZmllbGQgLmJ0bi1kZWxldGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDJyZW07XG4gICAgaGVpZ2h0OiAycmVtO1xuICAgIGZvbnQtc2l6ZTogMS4yZW07XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGxpbmUtaGVpZ2h0OiAycmVtO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBmb250LXNpemUgMC4ycztcbiAgICBtYXJnaW4tdG9wOiAzcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICB6LWluZGV4OiAyO1xuICAgIGJvcmRlci1yYWRpdXM6IDFyZW07XG4gICAgYm94LXNoYWRvdzogMHB4IDBweCAzcHggMHB4IHdoaXRlOyB9XG4gIC5pbWFnZS1maWVsZCAuYnRuLWVkaXQge1xuICAgIHJpZ2h0OiAycmVtO1xuICAgIG1hcmdpbi1yaWdodDogNnB4O1xuICAgIGZvbnQtc2l6ZTogMS4xZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDsgfVxuICAuaW1hZ2UtZmllbGQgLmJ0bi1kZWxldGUge1xuICAgIHJpZ2h0OiAwO1xuICAgIG1hcmdpbi1yaWdodDogMnB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmMDQxMjQ7IH1cbiAgLmltYWdlLWZpZWxkIC5jdXJyZW50LWltYWdlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgIG1heC13aWR0aDogODAlO1xuICAgIG1heC1oZWlnaHQ6IDYwJTtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIC5pbWFnZS1maWVsZCAuY3VycmVudC1pbWFnZS5jb3ZlciB7XG4gICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICBtYXgtaGVpZ2h0OiBub25lOyB9XG4gICAgICAuaW1hZ2UtZmllbGQgLmN1cnJlbnQtaW1hZ2UuY292ZXIucG9ydHJhaXQge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgICAgIC5pbWFnZS1maWVsZCAuY3VycmVudC1pbWFnZS5jb3Zlci5sYW5kc2NhcGUge1xuICAgICAgICB3aWR0aDogMTAwJTsgfVxuICAuaW1hZ2UtZmllbGQgaW5wdXRbdHlwZT1cImZpbGVcIl0ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAxO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIC5pbWFnZS1maWVsZCBpbWdbc3JjPVwiXCJdIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG5cbi5pbmZvLWxpc3Qge1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgbWFyZ2luLWJvdHRvbTogMnJlbTsgfVxuICAuaW5mby1saXN0ID4gbGkge1xuICAgIHBhZGRpbmc6IDAuNWVtIDA7IH1cbiAgICAuaW5mby1saXN0ID4gbGk6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZWZlZDsgfVxuICAgIC5pbmZvLWxpc3QgPiBsaTpudGgtY2hpbGQoZXZlbikge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZjZmNmYjsgfVxuICAuaW5mby1saXN0IC5sYWJlbCxcbiAgLmluZm8tbGlzdCAuZGV0YWlsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMC4yNWVtO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgcGFkZGluZzogMCAwLjVlbTsgfVxuICAuaW5mby1saXN0IC5sYWJlbCB7XG4gICAgd2lkdGg6IDMwJTsgfVxuICAuaW5mby1saXN0IC5kZXRhaWwge1xuICAgIHdpZHRoOiA3MCU7IH1cblxuLmluZm8td2luZG93IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjgpO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC40cywgb3BhY2l0eSAwLjRzO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAxMDAlKTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAuaW5mby13aW5kb3cge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTEwMCUpOyB9IH1cbiAgLmluZm8td2luZG93Lmhhcy1pY29uIC5pY29uLWNhdGVnb3J5IHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAuaW5mby13aW5kb3cgLmltYWdlLWNvbnRhaW5lciB7XG4gICAgcGFkZGluZzogM3JlbSAxcmVtIDFyZW0gMXJlbTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAuaW5mby13aW5kb3cgLnRpdGxlIHtcbiAgICBtYXJnaW46IDAgMCAxZW07XG4gICAgY29sb3I6ICM5YWM4YmU7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXNpemU6IDEuMmVtOyB9XG4gIC5pbmZvLXdpbmRvdyAudGV4dCB7XG4gICAgcGFkZGluZzogMmVtIDFlbTtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiAxLjRlbTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgLmluZm8td2luZG93IC50ZXh0IHtcbiAgICAgICAgZm9udC1zaXplOiAxZW07IH0gfVxuICAgIC5pbmZvLXdpbmRvdyAudGV4dCBwIHtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAuaW5mby13aW5kb3cgLmJ1dHRvbiB7XG4gICAgbWFyZ2luLXRvcDogMWVtOyB9XG4gIC5pbmZvLXdpbmRvdyAuaWNvbi1jYXRlZ29yeSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgLmluZm8td2luZG93IC5pY29uLWNhdGVnb3J5IHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgZm9udC1zaXplOiAxLjRlbTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7IH0gfVxuICAuaW5mby13aW5kb3cuaXMtdmlzaWJsZSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTsgfVxuXG4uc2wtd3JhcHBlciAuc2wtY2xvc2Uge1xuICByaWdodDogMDtcbiAgdG9wOiAwO1xuICBmb250LXNpemU6IDFyZW07XG4gIHotaW5kZXg6IDExMDAwICFpbXBvcnRhbnQ7IH1cbiAgLnNsLXdyYXBwZXIgLnNsLWNsb3NlIC5idG4tY2xvc2Uge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDNyZW07XG4gICAgaGVpZ2h0OiAzcmVtO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgY29sb3I6ICMwMDA7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgLnNsLXdyYXBwZXIgLnNsLWNsb3NlIC5idG4tY2xvc2U6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHdpZHRoOiAzcmVtO1xuICAgICAgaGVpZ2h0OiAzcmVtO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgZm9udC1zaXplOiAxLjZlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAzcmVtOyB9XG5cbi5zbC1vdmVybGF5IHtcbiAgb3BhY2l0eTogMC45OyB9XG5cbi5zbC13cmFwcGVyIC5zbC1uYXZpZ2F0aW9uIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5zbC13cmFwcGVyIC5zbC1uYXZpZ2F0aW9uIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH0gfVxuXG4uaGVhZGVyLWxvZ28ge1xuICBtYXJnaW46IDA7XG4gIGhlaWdodDogMTAwcHg7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgLmhlYWRlci1sb2dvIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICB3aWR0aDogMjQuMDk2MzklO1xuICAgICAgaGVpZ2h0OiAxMTRweDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207IH0gfVxuXG4uaGVhZGVyLWxvZ28tbGluayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDAgYXV0bztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDFyZW0pO1xuICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWcvdWN2bC5wbmdcIikgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAuaGVhZGVyLWxvZ28tbGluayB7XG4gICAgICB3aWR0aDogMTU0cHg7XG4gICAgICBoZWlnaHQ6IDEwMCU7IH0gfVxuICAuaGVhZGVyLWxvZ28tbGluayBzcGFuIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1pbmRlbnQ6IC05OTk5cHg7IH1cblxuLm5hdi1sYW5ndWFnZSB7XG4gIC8qcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogM3JlbTsqL1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGhlaWdodDogM3JlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzlhYzhiZTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAubmF2LWxhbmd1YWdlIHtcbiAgICAgIC8qcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHJpZ2h0OiAwOyovXG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfSB9XG4gIC5uYXYtbGFuZ3VhZ2UgdWwge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHBhZGRpbmc6IDAgLjhlbTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOWFjOGJlO1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTsgfVxuICAubmF2LWxhbmd1YWdlIGxpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luOiAwO1xuICAgIG1hcmdpbi1yaWdodDogLTAuMjVlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gICAgLm5hdi1sYW5ndWFnZSBsaSBhLCAubmF2LWxhbmd1YWdlIGxpIHNwYW4ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgcGFkZGluZzogMCAuMmVtO1xuICAgICAgY29sb3I6ICMwMDA7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBmb250LXNpemU6IDAuOWVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDNyZW07IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgICAubmF2LWxhbmd1YWdlIGxpIGEsIC5uYXYtbGFuZ3VhZ2UgbGkgc3BhbiB7XG4gICAgICAgICAgcGFkZGluZzogLjRlbSAuMmVtO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7IH0gfVxuICAgIC5uYXYtbGFuZ3VhZ2UgbGkuaXMtYWN0aXZlIHNwYW4ge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAubmF2LWxhbmd1YWdlIGxpLmlzLWFjdGl2ZSBzcGFuOmFmdGVyIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDJweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgICAgICAgY29udGVudDogJyc7IH1cblxuLm5hdi1tYWluIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDEwMCUgIWltcG9ydGFudDtcbiAgei1pbmRleDogNDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogbGVmdCAwLjRzLCBvcGFjaXR5IDAuNHM7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgLm5hdi1tYWluIHtcbiAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgb3ZlcmZsb3cteTogdmlzaWJsZTtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICBvcGFjaXR5OiAxOyB9IH1cbiAgLm5hdi1tYWluLmlzLW1vYmlsZS12aXNpYmxlIHtcbiAgICBsZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgb3BhY2l0eTogMTsgfVxuICAubmF2LW1haW46YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMC4yNWVtO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBjb250ZW50OiAnJztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAubmF2LW1haW46YmVmb3JlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gIC5uYXYtbWFpbiA+IHVsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luOiAwIC0wLjI1ZW0gMCAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgIC5uYXYtbWFpbiA+IHVsIHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuICAgIC5uYXYtbWFpbiA+IHVsID4gLm1lbnUtaXRlbSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBhZGRpbmc6IDAgMXJlbTsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAgIC5uYXYtbWFpbiA+IHVsID4gLm1lbnUtaXRlbSB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIHBhZGRpbmc6IDAgMDsgfSB9XG4gICAgICAubmF2LW1haW4gPiB1bCA+IC5tZW51LWl0ZW0gPiBhIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBhZGRpbmc6IDFlbSAwO1xuICAgICAgICBjb2xvcjogIzAwMDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGZvbnQtc2l6ZTogMS40ZW07XG4gICAgICAgIGZvbnQtZmFtaWx5OiAnam9zZWZpbl9zYW5zYm9sZCc7IH1cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAgICAgLm5hdi1tYWluID4gdWwgPiAubWVudS1pdGVtID4gYSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBwYWRkaW5nOiAuNWVtIDEuNWVtO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMWVtOyB9IH1cbiAgICAgIC5uYXYtbWFpbiA+IHVsID4gLm1lbnUtaXRlbTpob3ZlciA+IGEge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAyZW07XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM5YWM4YmU7XG4gICAgICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgICAubmF2LW1haW4gPiB1bCA+IC5tZW51LWl0ZW06aG92ZXIgPiAuY2hpbGRyZW4ge1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgLm5hdi1tYWluID4gdWwgPiAubWVudS1pdGVtLmN1cnJlbnQtbWVudS1pdGVtID4gYSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDJlbTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzlhYzhiZTtcbiAgICAgICAgY29sb3I6ICNmZmY7IH1cbiAgICAubmF2LW1haW4gPiB1bCA+IC5zdG9yZXMgPiAuY2hpbGRyZW4ge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAxMDAlO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHotaW5kZXg6IDI7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSk7XG4gICAgICBmb250LXNpemU6IDAuOWVtOyB9XG4gICAgICAubmF2LW1haW4gPiB1bCA+IC5zdG9yZXMgPiAuY2hpbGRyZW4gPiB1bCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwYWRkaW5nOiAwIDFyZW07XG4gICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICAgICAgY29sdW1uLWNvdW50OiAzO1xuICAgICAgICBtYXgtd2lkdGg6IDcwZW07XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cbiAgICAgICAgLm5hdi1tYWluID4gdWwgPiAuc3RvcmVzID4gLmNoaWxkcmVuID4gdWw6YWZ0ZXIge1xuICAgICAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgICAgIC5uYXYtbWFpbiA+IHVsID4gLnN0b3JlcyA+IC5jaGlsZHJlbiA+IHVsID4gbGkge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAgICAgLm5hdi1tYWluID4gdWwgPiAuc3RvcmVzID4gLmNoaWxkcmVuID4gdWwgPiBsaSA+IGEge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBoZWlnaHQ6IDRlbTtcbiAgICAgICAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgICAgICAgICAgLm5hdi1tYWluID4gdWwgPiAuc3RvcmVzID4gLmNoaWxkcmVuID4gdWwgPiBsaSA+IGEgLmljb24tY2F0ZWdvcnkge1xuICAgICAgICAgICAgICBmb250LXNpemU6IDEuMmVtOyB9XG4gICAgICAgICAgICAubmF2LW1haW4gPiB1bCA+IC5zdG9yZXMgPiAuY2hpbGRyZW4gPiB1bCA+IGxpID4gYSA+IHNwYW4ge1xuICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgICAgICAgICAgICAgLm5hdi1tYWluID4gdWwgPiAuc3RvcmVzID4gLmNoaWxkcmVuID4gdWwgPiBsaSA+IGEgPiBzcGFuICsgc3BhbiB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDAuNmVtO1xuICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA0ZW0pOyB9XG4gICAgICAgICAgICAubmF2LW1haW4gPiB1bCA+IC5zdG9yZXMgPiAuY2hpbGRyZW4gPiB1bCA+IGxpID4gYTphZnRlciB7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAubmF2LW1haW4gLmJ0bi1jbG9zZSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLmhlYWRlciAucGhvbmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nLWxlZnQ6IDFyZW07XG4gIGhlaWdodDogM3JlbTtcbiAgY29sb3I6ICMwMDA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgZm9udC1zaXplOiAxLjJlbTtcbiAgbGluZS1oZWlnaHQ6IDNyZW07IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgLmhlYWRlciAucGhvbmUge1xuICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICBwYWRkaW5nOiAuNWVtIDFlbTtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gICAgICBmb250LXNpemU6IDFlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7IH0gfVxuICAuaGVhZGVyIC5waG9uZTpiZWZvcmUge1xuICAgIG1hcmdpbi1yaWdodDogMC40ZW07XG4gICAgY29sb3I6ICMwMDA7IH1cblxuLm5hdi1tZW1iZXJzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YxZWZlZDsgfVxuICAubmF2LW1lbWJlcnMgPiB1bCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAubmF2LW1lbWJlcnMgPiB1bCB7XG4gICAgICAgIG1heC13aWR0aDogNzBlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuICAgICAgICAubmF2LW1lbWJlcnMgPiB1bDphZnRlciB7XG4gICAgICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgY2xlYXI6IGJvdGg7IH0gfVxuICAgIC5uYXYtbWVtYmVycyA+IHVsID4gLm1lbnUtaXRlbSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGJvcmRlci10b3A6IHNvbGlkIDFweCAjZDBjOWMyOyB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgLm5hdi1tZW1iZXJzID4gdWwgPiAubWVudS1pdGVtIHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgYm9yZGVyLXRvcDogbm9uZTsgfSB9XG4gICAgICAubmF2LW1lbWJlcnMgPiB1bCA+IC5tZW51LWl0ZW06Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItdG9wOiBub25lOyB9XG4gICAgICAubmF2LW1lbWJlcnMgPiB1bCA+IC5tZW51LWl0ZW0gPiBhIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBhZGRpbmc6IDAuNWVtIDFyZW07XG4gICAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4yZW07XG4gICAgICAgIG1heC13aWR0aDogNzBlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuICAgICAgICAubmF2LW1lbWJlcnMgPiB1bCA+IC5tZW51LWl0ZW0gPiBhOmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBjbGVhcjogYm90aDsgfVxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgICAubmF2LW1lbWJlcnMgPiB1bCA+IC5tZW51LWl0ZW0gPiBhIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHBhZGRpbmc6IC41ZW0gMXJlbTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICBmb250LXNpemU6IDFlbTsgfSB9XG4gICAgICAubmF2LW1lbWJlcnMgPiB1bCA+IC5tZW51LWl0ZW06aG92ZXIgPiAuY2hpbGRyZW4ge1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgLm5hdi1tZW1iZXJzID4gdWwgPiAubWVudS1pdGVtLmN1cnJlbnQtbWVudS1pdGVtID4gYSB7XG4gICAgICAgIGJvcmRlci1sZWZ0OiBzb2xpZCA4cHggIzAwMDsgfVxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgICAubmF2LW1lbWJlcnMgPiB1bCA+IC5tZW51LWl0ZW0uY3VycmVudC1tZW51LWl0ZW0gPiBhIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IHNvbGlkIDJweCAjMDAwO1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7IH0gfVxuXG4ucHJldi1uZXh0LXBvc3Qge1xuICBwYWRkaW5nLXRvcDogMXJlbTtcbiAgcGFkZGluZy1yaWdodDogMDtcbiAgcGFkZGluZy1ib3R0b206IDFyZW07XG4gIHBhZGRpbmctbGVmdDogMDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAucHJldi1uZXh0LXBvc3Qge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgcGFkZGluZy1yaWdodDogMXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMXJlbTtcbiAgICAgIG1pbi1oZWlnaHQ6IDVyZW07XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpOyB9XG4gICAgICAucHJldi1uZXh0LXBvc3Q6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgICAgY2xlYXI6IGJvdGg7IH0gfVxuICAucHJldi1uZXh0LXBvc3QgLm5leHQsXG4gIC5wcmV2LW5leHQtcG9zdCAucHJldiB7XG4gICAgd2lkdGg6IDQ5LjM5NzU5JTtcbiAgICBjb2xvcjogIzAwMDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXNpemU6IDEuMmVtO1xuICAgIGZvbnQtZmFtaWx5OiAnam9zZWZpbl9zYW5zYm9sZCc7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgIC5wcmV2LW5leHQtcG9zdCAubmV4dCxcbiAgICAgIC5wcmV2LW5leHQtcG9zdCAucHJldiB7XG4gICAgICAgIHdpZHRoOiA0MC45NjM4NiU7IH0gfVxuICAgIC5wcmV2LW5leHQtcG9zdCAubmV4dCAuaWNvbiwgLnByZXYtbmV4dC1wb3N0IC5uZXh0IC5maWx0ZXJzIC5maWx0ZXJzLWl0ZW0tdGl0bGU6YmVmb3JlLCAuZmlsdGVycyAucHJldi1uZXh0LXBvc3QgLm5leHQgLmZpbHRlcnMtaXRlbS10aXRsZTpiZWZvcmUsIC5wcmV2LW5leHQtcG9zdCAubmV4dCAuaGVhZGVyIC5waG9uZTpiZWZvcmUsIC5oZWFkZXIgLnByZXYtbmV4dC1wb3N0IC5uZXh0IC5waG9uZTpiZWZvcmUsXG4gICAgLnByZXYtbmV4dC1wb3N0IC5wcmV2IC5pY29uLFxuICAgIC5wcmV2LW5leHQtcG9zdCAucHJldiAuZmlsdGVycyAuZmlsdGVycy1pdGVtLXRpdGxlOmJlZm9yZSwgLmZpbHRlcnNcbiAgICAucHJldi1uZXh0LXBvc3QgLnByZXYgLmZpbHRlcnMtaXRlbS10aXRsZTpiZWZvcmUsXG4gICAgLnByZXYtbmV4dC1wb3N0IC5wcmV2IC5oZWFkZXIgLnBob25lOmJlZm9yZSwgLmhlYWRlclxuICAgIC5wcmV2LW5leHQtcG9zdCAucHJldiAucGhvbmU6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHdpZHRoOiAzcmVtO1xuICAgICAgaGVpZ2h0OiAzcmVtO1xuICAgICAgYm9yZGVyLXJhZGl1czogM3JlbTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBsaW5lLWhlaWdodDogM3JlbTsgfVxuICAgICAgLnByZXYtbmV4dC1wb3N0IC5uZXh0IC5pY29uOmJlZm9yZSwgLnByZXYtbmV4dC1wb3N0IC5uZXh0IC5maWx0ZXJzIC5maWx0ZXJzLWl0ZW0tdGl0bGU6YmVmb3JlLCAuZmlsdGVycyAucHJldi1uZXh0LXBvc3QgLm5leHQgLmZpbHRlcnMtaXRlbS10aXRsZTpiZWZvcmUsIC5wcmV2LW5leHQtcG9zdCAubmV4dCAuaGVhZGVyIC5waG9uZTpiZWZvcmUsIC5oZWFkZXIgLnByZXYtbmV4dC1wb3N0IC5uZXh0IC5waG9uZTpiZWZvcmUsXG4gICAgICAucHJldi1uZXh0LXBvc3QgLnByZXYgLmljb246YmVmb3JlLFxuICAgICAgLnByZXYtbmV4dC1wb3N0IC5wcmV2IC5maWx0ZXJzIC5maWx0ZXJzLWl0ZW0tdGl0bGU6YmVmb3JlLCAuZmlsdGVyc1xuICAgICAgLnByZXYtbmV4dC1wb3N0IC5wcmV2IC5maWx0ZXJzLWl0ZW0tdGl0bGU6YmVmb3JlLFxuICAgICAgLnByZXYtbmV4dC1wb3N0IC5wcmV2IC5oZWFkZXIgLnBob25lOmJlZm9yZSwgLmhlYWRlclxuICAgICAgLnByZXYtbmV4dC1wb3N0IC5wcmV2IC5waG9uZTpiZWZvcmUge1xuICAgICAgICBmb250LXNpemU6IDFlbTsgfVxuICAgIC5wcmV2LW5leHQtcG9zdCAubmV4dCAudGl0bGUsXG4gICAgLnByZXYtbmV4dC1wb3N0IC5wcmV2IC50aXRsZSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgICAgLnByZXYtbmV4dC1wb3N0IC5uZXh0IC50aXRsZSxcbiAgICAgICAgLnByZXYtbmV4dC1wb3N0IC5wcmV2IC50aXRsZSB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA1cmVtKTtcbiAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9IH1cbiAgLnByZXYtbmV4dC1wb3N0IC5wcmV2IHtcbiAgICBmbG9hdDogbGVmdDsgfVxuICAgIC5wcmV2LW5leHQtcG9zdCAucHJldiAuaWNvbiwgLnByZXYtbmV4dC1wb3N0IC5wcmV2IC5maWx0ZXJzIC5maWx0ZXJzLWl0ZW0tdGl0bGU6YmVmb3JlLCAuZmlsdGVycyAucHJldi1uZXh0LXBvc3QgLnByZXYgLmZpbHRlcnMtaXRlbS10aXRsZTpiZWZvcmUsIC5wcmV2LW5leHQtcG9zdCAucHJldiAuaGVhZGVyIC5waG9uZTpiZWZvcmUsIC5oZWFkZXIgLnByZXYtbmV4dC1wb3N0IC5wcmV2IC5waG9uZTpiZWZvcmUge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxZW07IH1cbiAgLnByZXYtbmV4dC1wb3N0IC5uZXh0IHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgICAucHJldi1uZXh0LXBvc3QgLm5leHQgLmljb24sIC5wcmV2LW5leHQtcG9zdCAubmV4dCAuZmlsdGVycyAuZmlsdGVycy1pdGVtLXRpdGxlOmJlZm9yZSwgLmZpbHRlcnMgLnByZXYtbmV4dC1wb3N0IC5uZXh0IC5maWx0ZXJzLWl0ZW0tdGl0bGU6YmVmb3JlLCAucHJldi1uZXh0LXBvc3QgLm5leHQgLmhlYWRlciAucGhvbmU6YmVmb3JlLCAuaGVhZGVyIC5wcmV2LW5leHQtcG9zdCAubmV4dCAucGhvbmU6YmVmb3JlIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxZW07IH1cblxuI25vdGlmaWNhdGlvbnMge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMTAwJTtcbiAgbGVmdDogNTAlO1xuICB6LWluZGV4OiAxMDtcbiAgcGFkZGluZzogM3JlbTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNHMsIG9wYWNpdHkgMC40cywgdG9wIDAuNHM7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDApO1xuICBvdmVyZmxvdy15OiBhdXRvOyB9XG4gICNub3RpZmljYXRpb25zLmlzLXZpc2libGUge1xuICAgIHRvcDogNTAlO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7IH1cbiAgI25vdGlmaWNhdGlvbnMgLm1lc3NhZ2Uge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgI25vdGlmaWNhdGlvbnMgLm1lc3NhZ2Uuc3VjY2VzcyB7XG4gICAgICBjb2xvcjogIzQzQUM2QTsgfVxuICAgICNub3RpZmljYXRpb25zIC5tZXNzYWdlLmVycm9yIHtcbiAgICAgIGNvbG9yOiAjZjA0MTI0OyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICNub3RpZmljYXRpb25zIHtcbiAgICAgIG1heC13aWR0aDogMjByZW07IH0gfVxuXG4ucGFydG5lcnMge1xuICBtYXJnaW46IDhyZW0gMCA2cmVtIDA7IH1cbiAgLnBhcnRuZXJzIHVsIHtcbiAgICBtYXJnaW46IDJyZW0gMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLnBhcnRuZXJzIC5wYXJ0bmVyIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMC4yNWVtO1xuICAgIHBhZGRpbmc6IDFlbSAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgIC5wYXJ0bmVycyAucGFydG5lciB7XG4gICAgICAgIG1hcmdpbjogMC40ZW0gMWVtO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB3aWR0aDogYXV0bzsgfSB9XG4gICAgLnBhcnRuZXJzIC5wYXJ0bmVyIGltZyB7XG4gICAgICBtYXgtaGVpZ2h0OiAzcmVtOyB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgICAgLnBhcnRuZXJzIC5wYXJ0bmVyIGltZyB7XG4gICAgICAgICAgbWF4LWhlaWdodDogNnJlbTsgfSB9XG5cbi5zaWduYXR1cmUge1xuICBjb2xvcjogIzAwMDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gIC5zaWduYXR1cmUgc3BhbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgZm9udC1zaXplOiAwLjhlbTsgfVxuICAuc2lnbmF0dXJlIGltZyB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cblxuLm1haW4tc2xpZGVzaG93IHtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tYm90dG9tOiA2cmVtO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWF4LXdpZHRoOiAxNjIwcHg7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC5tYWluLXNsaWRlc2hvdyAuc2xpZGUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5tYWluLXNsaWRlc2hvdyAuc2xpZGUgLmltYWdlLWNvbnRhaW5lciB7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gICAgICAubWFpbi1zbGlkZXNob3cgLnNsaWRlIC5pbWFnZS1jb250YWluZXIgaW1nIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtNTAlO1xuICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICAgIHdpZHRoOiAyMDAlOyB9XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgICAgIC5tYWluLXNsaWRlc2hvdyAuc2xpZGUgLmltYWdlLWNvbnRhaW5lciBpbWcge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG4gICAgLm1haW4tc2xpZGVzaG93IC5zbGlkZSAucmVhZG1vcmUge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW46IC0xLjVyZW0gYXV0byAwIGF1dG87XG4gICAgICB3aWR0aDogM3JlbTtcbiAgICAgIGhlaWdodDogM3JlbTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDNyZW07XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBmb250LXNpemU6IDEuNGVtOyB9XG4gICAgICAubWFpbi1zbGlkZXNob3cgLnNsaWRlIC5yZWFkbW9yZTpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgICAgIC5tYWluLXNsaWRlc2hvdyAuc2xpZGUgLnJlYWRtb3JlIC5pY29uLCAubWFpbi1zbGlkZXNob3cgLnNsaWRlIC5yZWFkbW9yZSAuZmlsdGVycyAuZmlsdGVycy1pdGVtLXRpdGxlOmJlZm9yZSwgLmZpbHRlcnMgLm1haW4tc2xpZGVzaG93IC5zbGlkZSAucmVhZG1vcmUgLmZpbHRlcnMtaXRlbS10aXRsZTpiZWZvcmUsIC5tYWluLXNsaWRlc2hvdyAuc2xpZGUgLnJlYWRtb3JlIC5oZWFkZXIgLnBob25lOmJlZm9yZSwgLmhlYWRlciAubWFpbi1zbGlkZXNob3cgLnNsaWRlIC5yZWFkbW9yZSAucGhvbmU6YmVmb3JlIHtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgICAgIC5tYWluLXNsaWRlc2hvdyAuc2xpZGUgLnJlYWRtb3JlIHNwYW4gKyBzcGFuIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5tYWluLXNsaWRlc2hvdyAuc2xpZGUgLnRpdGxlIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBmb250LXNpemU6IDEuNmVtO1xuICAgICAgZm9udC1mYW1pbHk6ICdncmFmb2xpdGEtc2NyaXB0JzsgfVxuICAgICAgLm1haW4tc2xpZGVzaG93IC5zbGlkZSAudGl0bGUgc3BhbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMWVtOyB9XG4gICAgLm1haW4tc2xpZGVzaG93IC5zbGlkZSArIC5zbGlkZSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG5cbi5vd2wtZG90cyB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAub3dsLWRvdHMgLm93bC1kb3Qge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW46IDAgMC41cmVtO1xuICAgIHdpZHRoOiAxcmVtO1xuICAgIGhlaWdodDogMXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiAxcmVtO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDA7IH1cbiAgICAub3dsLWRvdHMgLm93bC1kb3QuYWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM5YWM4YmU7IH1cblxuLnNpbmdsZS11Y3ZsX3Nob3AgLmltYWdlLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuc2luZ2xlLXVjdmxfc2hvcCAuaW1hZ2UtY29udGFpbmVyIGltZyB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLnNpbmdsZS11Y3ZsX3Nob3AgLmltYWdlLWNvbnRhaW5lciAuaWNvbi1jYXRlZ29yeSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgNTAlKTsgfVxuXG4uc2luZ2xlLXVjdmxfc2hvcCAuY29udGVudC13cmFwcGVyIC5sb2dvIGltZyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDAgYXV0bzsgfVxuXG4uc2luZ2xlLXVjdmxfc2hvcCAuY29udGVudC13cmFwcGVyIC5wYXltZW50LW1ldGhvZHMgaW1nIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tbGVmdDogMC40ZW07XG4gIGhlaWdodDogMzBweDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAuc2luZ2xlLXVjdmxfc2hvcCAuY29udGVudC13cmFwcGVyIC5wYXltZW50LW1ldGhvZHMgaW1nOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuXG4uc2luZ2xlLXVjdmxfc2hvcCAuY29udGVudC13cmFwcGVyIC5jb29yZHM6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY2xlYXI6IGJvdGg7IH1cblxuLnNpbmdsZS11Y3ZsX3Nob3AgLmNvbnRlbnQtd3JhcHBlciAuY29vcmRzIHAge1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDUwJTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAuc2luZ2xlLXVjdmxfc2hvcCAuY29udGVudC13cmFwcGVyIC5jb29yZHMgcCB7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuLnNpbmdsZS11Y3ZsX3Nob3AgLmNvbnRlbnQtd3JhcHBlciAuY29vcmRzIHAgKyBwIHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgLnNpbmdsZS11Y3ZsX3Nob3AgLmNvbnRlbnQtd3JhcHBlciAuY29vcmRzIHAgKyBwIHtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuXG4uc2luZ2xlLXVjdmxfc2hvcCAuY29udGVudC13cmFwcGVyIC5hZGRyZXNzLFxuLnNpbmdsZS11Y3ZsX3Nob3AgLmNvbnRlbnQtd3JhcHBlciAucGhvbmUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1mYW1pbHk6ICdqb3NlZmluX3NhbnNib2xkJzsgfVxuXG4uc2luZ2xlLXVjdmxfc2hvcCAuY29udGVudC13cmFwcGVyIC5waG9uZSB7XG4gIG1hcmdpbi1ib3R0b206IDFlbTsgfVxuICAuc2luZ2xlLXVjdmxfc2hvcCAuY29udGVudC13cmFwcGVyIC5waG9uZSBhIHtcbiAgICBjb2xvcjogIzAwMDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLnNpbmdsZS11Y3ZsX3Nob3AgLmNvbnRlbnQtd3JhcHBlciAud2Vic2l0ZSxcbi5zaW5nbGUtdWN2bF9zaG9wIC5jb250ZW50LXdyYXBwZXIgLmVtYWlsIHtcbiAgY29sb3I6ICM5YWM4YmU7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgZm9udC1mYW1pbHk6ICdqb3NlZmluX3NhbnNib2xkJzsgfVxuXG4uc2luZ2xlLXVjdmxfc2hvcCAuY29udGVudC13cmFwcGVyIC5vcGVuaW5nLXRpbWUge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgZm9udC1zaXplOiAxZW07IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgLnNpbmdsZS11Y3ZsX3Nob3AgLmNvbnRlbnQtd3JhcHBlciAub3BlbmluZy10aW1lIHtcbiAgICAgIGZvbnQtc2l6ZTogMC45ZW07IH0gfVxuICAuc2luZ2xlLXVjdmxfc2hvcCAuY29udGVudC13cmFwcGVyIC5vcGVuaW5nLXRpbWUgbGkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMC41ZW0gMDsgfVxuICAgIC5zaW5nbGUtdWN2bF9zaG9wIC5jb250ZW50LXdyYXBwZXIgLm9wZW5pbmctdGltZSBsaTphZnRlciB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAuc2luZ2xlLXVjdmxfc2hvcCAuY29udGVudC13cmFwcGVyIC5vcGVuaW5nLXRpbWUgLmRheSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDMwJTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIGZvbnQtZmFtaWx5OiAnam9zZWZpbl9zYW5zYm9sZCc7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgIC5zaW5nbGUtdWN2bF9zaG9wIC5jb250ZW50LXdyYXBwZXIgLm9wZW5pbmctdGltZSAuZGF5IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiA1MCU7IH0gfVxuICAuc2luZ2xlLXVjdmxfc2hvcCAuY29udGVudC13cmFwcGVyIC5vcGVuaW5nLXRpbWUgLmhvdXJzIHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgd2lkdGg6IDcwJTtcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAgIC5zaW5nbGUtdWN2bF9zaG9wIC5jb250ZW50LXdyYXBwZXIgLm9wZW5pbmctdGltZSAuaG91cnM6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgIC5zaW5nbGUtdWN2bF9zaG9wIC5jb250ZW50LXdyYXBwZXIgLm9wZW5pbmctdGltZSAuaG91cnMge1xuICAgICAgICB3aWR0aDogNTAlOyB9IH1cbiAgICAuc2luZ2xlLXVjdmxfc2hvcCAuY29udGVudC13cmFwcGVyIC5vcGVuaW5nLXRpbWUgLmhvdXJzID4gc3BhbiB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiA1MCU7IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgICAuc2luZ2xlLXVjdmxfc2hvcCAuY29udGVudC13cmFwcGVyIC5vcGVuaW5nLXRpbWUgLmhvdXJzID4gc3BhbiB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICAgIC5zaW5nbGUtdWN2bF9zaG9wIC5jb250ZW50LXdyYXBwZXIgLm9wZW5pbmctdGltZSAuaG91cnMgLmFtIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgICAgLnNpbmdsZS11Y3ZsX3Nob3AgLmNvbnRlbnQtd3JhcHBlciAub3BlbmluZy10aW1lIC5ob3VycyAuYW0ge1xuICAgICAgICAgIGZsb2F0OiBub25lOyB9IH1cbiAgICAuc2luZ2xlLXVjdmxfc2hvcCAuY29udGVudC13cmFwcGVyIC5vcGVuaW5nLXRpbWUgLmhvdXJzIC5wbSB7XG4gICAgICBmbG9hdDogcmlnaHQ7IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgICAuc2luZ2xlLXVjdmxfc2hvcCAuY29udGVudC13cmFwcGVyIC5vcGVuaW5nLXRpbWUgLmhvdXJzIC5wbSB7XG4gICAgICAgICAgZmxvYXQ6IG5vbmU7IH0gfVxuXG4uc2luZ2xlLXVjdmxfc2hvcCAuY29udGVudC13cmFwcGVyIC5jb250ZW50LXNpZGViYXIgcCxcbi5zaW5nbGUtdWN2bF9zaG9wIC5jb250ZW50LXdyYXBwZXIgLmNvbnRlbnQtc2lkZWJhciB1bCB7XG4gIG1hcmdpbjogMmVtIDA7IH1cblxuLnN0b3Jlcy1saXN0X19pdGVtIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDFlbSAwO1xuICBjb2xvcjogIzAwMDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDFzLCB0cmFuc2Zvcm0gMC40cztcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAuc3RvcmVzLWxpc3RfX2l0ZW06bnRoLWNoaWxkKG9kZCkge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZWZlZDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5zdG9yZXMtbGlzdF9faXRlbSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0wLjI1ZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IDEuMjA0ODIlO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIHdpZHRoOiAzMi41MzAxMiU7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgICAuc3RvcmVzLWxpc3RfX2l0ZW06bnRoLWNoaWxkKDNuLTIpIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuICAuc3RvcmVzLWxpc3RfX2l0ZW0uaXMtaGlkZGVuIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC41KTsgfVxuICAuc3RvcmVzLWxpc3RfX2l0ZW1fX2ltZyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6IC0wLjI1ZW07XG4gICAgd2lkdGg6IDMyLjUzMDEyJTtcbiAgICBoZWlnaHQ6IDVyZW07XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgLnN0b3Jlcy1saXN0X19pdGVtX19pbWcge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgaGVpZ2h0OiA4cmVtO1xuICAgICAgICBoZWlnaHQ6IDhyZW07IH0gfVxuICAgIC5zdG9yZXMtbGlzdF9faXRlbV9faW1nID4gaW1nIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgbWF4LXdpZHRoOiA4MCU7XG4gICAgICBtYXgtaGVpZ2h0OiA4MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAgIC5zdG9yZXMtbGlzdF9faXRlbV9faW1nID4gaW1nIHtcbiAgICAgICAgICBtYXgtd2lkdGg6IDUwJTsgfSB9XG4gICAgLnN0b3Jlcy1saXN0X19pdGVtX19pbWcgLmljb24tY2F0ZWdvcnkge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICBmb250LXNpemU6IDEuNGVtO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7IH1cbiAgLnN0b3Jlcy1saXN0X19pdGVtX190ZXh0IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMC4yNWVtO1xuICAgIG1hcmdpbi1sZWZ0OiAxLjIwNDgyJTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtO1xuICAgIHdpZHRoOiA2Ni4yNjUwNiU7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgLnN0b3Jlcy1saXN0X19pdGVtX190ZXh0IHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDsgfSB9XG4gIC5zdG9yZXMtbGlzdF9faXRlbV9fbmFtZSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC1zaXplOiAxZW07XG4gICAgZm9udC1mYW1pbHk6ICdqb3NlZmluX3NhbnNib2xkJzsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgLnN0b3Jlcy1saXN0X19pdGVtX19uYW1lIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMC41ZW0gMDtcbiAgICAgICAgZm9udC1zaXplOiAxLjFlbTsgfSB9XG4gIC5zdG9yZXMtbGlzdF9faXRlbSBwIHtcbiAgICBtYXJnaW46IDAuNGVtIDA7IH1cblxuLnN0b3Jlcy1saXN0LnN0b3Jlcy1pbmZpbml0ZS1zY3JvbGw6YWZ0ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiAwO1xuICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWcvbG9hZGluZy5naWZcIikgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogYXV0byAyM3B4O1xuICBjb250ZW50OiAnJztcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzOyB9XG5cbi5zdG9yZXMtbGlzdC5zdG9yZXMtaW5maW5pdGUtc2Nyb2xsLmlzLWxvYWRpbmc6YWZ0ZXIge1xuICBoZWlnaHQ6IDNyZW07XG4gIG9wYWNpdHk6IDE7IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5zdG9yZXMtbGlzdC5jb2wtNCAuc3RvcmVzLWxpc3RfX2l0ZW0ge1xuICAgIHdpZHRoOiAyNC4wOTYzOSU7IH1cbiAgICAuc3RvcmVzLWxpc3QuY29sLTQgLnN0b3Jlcy1saXN0X19pdGVtOm50aC1jaGlsZCgzbi0yKSB7XG4gICAgICBtYXJnaW4tbGVmdDogMS4yMDQ4MiU7IH1cbiAgICAuc3RvcmVzLWxpc3QuY29sLTQgLnN0b3Jlcy1saXN0X19pdGVtOm50aC1jaGlsZCg0bi0zKSB7XG4gICAgICBtYXJnaW4tbGVmdDogMDsgfSB9XG5cbi5zdG9yZXMtbWFwLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgbWFyZ2luLWJvdHRvbTogNnJlbTtcbiAgaGVpZ2h0OiAzMDBweDsgfVxuICAuc3RvcmVzLW1hcC1jb250YWluZXI6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1nL2xvYWRpbmcuZ2lmXCIpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGF1dG8gMjNweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycywgaGVpZ2h0IDAuNHM7IH1cbiAgLnN0b3Jlcy1tYXAtY29udGFpbmVyLmlzLWxvYWRpbmc6YWZ0ZXIge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgIC5zdG9yZXMtbWFwLWNvbnRhaW5lciB7XG4gICAgICBoZWlnaHQ6IDcwMHB4OyB9IH1cbiAgLnN0b3Jlcy1tYXAtY29udGFpbmVyIC5tYXAge1xuICAgIGhlaWdodDogMTAwJTsgfVxuICAuc3RvcmVzLW1hcC1jb250YWluZXIgLmNvbnRhaW5lciwgLnN0b3Jlcy1tYXAtY29udGFpbmVyIC5wcmV2LW5leHQtcG9zdCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi10b3A6IC03MDBweDsgfVxuICAgIC5zdG9yZXMtbWFwLWNvbnRhaW5lciAuY29udGFpbmVyIC5zaWRlYmFyLCAuc3RvcmVzLW1hcC1jb250YWluZXIgLnByZXYtbmV4dC1wb3N0IC5zaWRlYmFyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgICAuc3RvcmVzLW1hcC1jb250YWluZXIgLmNvbnRhaW5lciAuc2lkZWJhciwgLnN0b3Jlcy1tYXAtY29udGFpbmVyIC5wcmV2LW5leHQtcG9zdCAuc2lkZWJhciB7XG4gICAgICAgICAgcGFkZGluZy10b3A6IDNyZW07IH0gfVxuICAgIC5zdG9yZXMtbWFwLWNvbnRhaW5lciAuY29udGFpbmVyIC5pbmZvLXdpbmRvdywgLnN0b3Jlcy1tYXAtY29udGFpbmVyIC5wcmV2LW5leHQtcG9zdCAuaW5mby13aW5kb3cge1xuICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgdG9wOiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICB6LWluZGV4OiA0O1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgICAuc3RvcmVzLW1hcC1jb250YWluZXIgLmNvbnRhaW5lciAuaW5mby13aW5kb3csIC5zdG9yZXMtbWFwLWNvbnRhaW5lciAucHJldi1uZXh0LXBvc3QgLmluZm8td2luZG93IHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiAzcmVtO1xuICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgd2lkdGg6IDI0LjA5NjM5JTtcbiAgICAgICAgICBoZWlnaHQ6IGF1dG87IH0gfVxuXG4uc3RvcmUtbWFwLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgbWFyZ2luLWJvdHRvbTogNnJlbTtcbiAgaGVpZ2h0OiAzMDBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzlhYzhiZTsgfVxuICAuc3RvcmUtbWFwLWNvbnRhaW5lciAubWFwIHtcbiAgICBoZWlnaHQ6IDEwMCU7IH1cblxuLmVkaXQtbWFwOmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDUwJTtcbiAgdG9wOiA1MCU7XG4gIHdpZHRoOiAzNHB4O1xuICBoZWlnaHQ6IDUwcHg7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC0xMDAlKTtcbiAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1nL2xvY2F0aW9uLnN2Z1wiKSBuby1yZXBlYXQgYm90dG9tIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDEwMCU7IH1cblxudGFibGUge1xuICB3aWR0aDogMTAwJTsgfVxuICB0YWJsZSB0ciB0ZCB7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBwYWRkaW5nOiAwLjZlbSAxZW07IH1cbiAgdGFibGUgdHIgdGgge1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBwYWRkaW5nOiAwLjZlbSAxZW07XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXNpemU6IDEuMmVtOyB9XG4gICAgdGFibGUgdHIgdGg6Zmlyc3QtY2hpbGQge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwOyB9XG5cbi5zZWN0aW9uLXRpdGxlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tdG9wOiA0cmVtO1xuICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc2l6ZTogMi40ZW07XG4gIGZvbnQtZmFtaWx5OiAnam9zZWZpbl9zYW5zYm9sZCc7XG4gIGxpbmUtaGVpZ2h0OiAwLjZlbTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAuc2VjdGlvbi10aXRsZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0cmVtO1xuICAgICAgZm9udC1zaXplOiA0ZW07IH0gfVxuICAuc2VjdGlvbi10aXRsZS53aXRoLXBpY3RvIHtcbiAgICBwYWRkaW5nLXRvcDogMWVtOyB9XG4gICAgLnNlY3Rpb24tdGl0bGUud2l0aC1waWN0byAuaWNvbiwgLnNlY3Rpb24tdGl0bGUud2l0aC1waWN0byAuZmlsdGVycyAuZmlsdGVycy1pdGVtLXRpdGxlOmJlZm9yZSwgLmZpbHRlcnMgLnNlY3Rpb24tdGl0bGUud2l0aC1waWN0byAuZmlsdGVycy1pdGVtLXRpdGxlOmJlZm9yZSwgLnNlY3Rpb24tdGl0bGUud2l0aC1waWN0byAuaGVhZGVyIC5waG9uZTpiZWZvcmUsIC5oZWFkZXIgLnNlY3Rpb24tdGl0bGUud2l0aC1waWN0byAucGhvbmU6YmVmb3JlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDNlbTtcbiAgICAgIGhlaWdodDogM2VtO1xuICAgICAgYm9yZGVyLXJhZGl1czogM2VtO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgZm9udC1zaXplOiAwLjRlbTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpOyB9XG4gICAgICAuc2VjdGlvbi10aXRsZS53aXRoLXBpY3RvIC5pY29uOmJlZm9yZSwgLnNlY3Rpb24tdGl0bGUud2l0aC1waWN0byAuZmlsdGVycyAuZmlsdGVycy1pdGVtLXRpdGxlOmJlZm9yZSwgLmZpbHRlcnMgLnNlY3Rpb24tdGl0bGUud2l0aC1waWN0byAuZmlsdGVycy1pdGVtLXRpdGxlOmJlZm9yZSwgLnNlY3Rpb24tdGl0bGUud2l0aC1waWN0byAuaGVhZGVyIC5waG9uZTpiZWZvcmUsIC5oZWFkZXIgLnNlY3Rpb24tdGl0bGUud2l0aC1waWN0byAucGhvbmU6YmVmb3JlIHtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgZm9udC1zaXplOiAxLjRlbTsgfVxuICAgICAgLnNlY3Rpb24tdGl0bGUud2l0aC1waWN0byAuaWNvbjphZnRlciB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgIC5zZWN0aW9uLXRpdGxlLndpdGgtcGljdG8uYWxpZ24tbGVmdCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxZW07XG4gICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gICAgICAgIC5zZWN0aW9uLXRpdGxlLndpdGgtcGljdG8uYWxpZ24tbGVmdCAuaWNvbiwgLnNlY3Rpb24tdGl0bGUud2l0aC1waWN0by5hbGlnbi1sZWZ0IC5maWx0ZXJzIC5maWx0ZXJzLWl0ZW0tdGl0bGU6YmVmb3JlLCAuZmlsdGVycyAuc2VjdGlvbi10aXRsZS53aXRoLXBpY3RvLmFsaWduLWxlZnQgLmZpbHRlcnMtaXRlbS10aXRsZTpiZWZvcmUsIC5zZWN0aW9uLXRpdGxlLndpdGgtcGljdG8uYWxpZ24tbGVmdCAuaGVhZGVyIC5waG9uZTpiZWZvcmUsIC5oZWFkZXIgLnNlY3Rpb24tdGl0bGUud2l0aC1waWN0by5hbGlnbi1sZWZ0IC5waG9uZTpiZWZvcmUge1xuICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoNTAlLCAtNTAlKTsgfSB9XG4gIC5zZWN0aW9uLXRpdGxlIHNwYW4ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgZm9udC1zaXplOiAwLjZlbTtcbiAgICBmb250LWZhbWlseTogJ2dyYWZvbGl0YS1zY3JpcHQnOyB9XG5cbi5wYWdlLXRpdGxlIHtcbiAgbWFyZ2luOiAwIDAgMXJlbSAwO1xuICBjb2xvcjogIzAwMDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zaXplOiAyZW07XG4gIGZvbnQtZmFtaWx5OiAnam9zZWZpbl9zYW5zYm9sZCc7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgLnBhZ2UtdGl0bGUge1xuICAgICAgbWFyZ2luOiAwIDAgMXJlbSAwO1xuICAgICAgZm9udC1zaXplOiAzZW07IH0gfVxuXG4udGl0bGUtaDIsXG5sZWdlbmQge1xuICBjb2xvcjogIzAwMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zaXplOiAxLjFlbTtcbiAgZm9udC1mYW1pbHk6ICdqb3NlZmluX3NhbnNib2xkJzsgfVxuXG4uc2hvcC10aXRsZSB7XG4gIG1hcmdpbjogMC4yZW0gMDtcbiAgY29sb3I6ICM5YWM4YmU7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc2l6ZTogMnJlbTtcbiAgZm9udC1mYW1pbHk6ICdqb3NlZmluX3NhbnNib2xkJzsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAuc2hvcC10aXRsZSB7XG4gICAgICBmb250LXNpemU6IDNyZW07IH0gfVxuICAuc2hvcC10aXRsZSBzbWFsbCB7XG4gICAgY29sb3I6ICMwMDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXNpemU6IDAuNWVtO1xuICAgIGZvbnQtZmFtaWx5OiAnam9zZWZpbl9zYW5zcmVndWxhcic7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgIC5zaG9wLXRpdGxlIHNtYWxsIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjRlbTsgfSB9XG5cbi5pbmxpbmUtc3R5bGUge1xuICBtYXJnaW46IDEuNmVtIDA7IH1cbiAgLmlubGluZS1zdHlsZSAudGl0bGUge1xuICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjJlbTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IH1cbiAgLmlubGluZS1zdHlsZSAudGV4dCB7XG4gICAgZGlzcGxheTogaW5saW5lO1xuICAgIG1hcmdpbjogMDtcbiAgICBjb2xvcjogIzlhYzhiZTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IH1cblxuLmNlbnRlcmVkLWNvbnRlbnQge1xuICBwYWRkaW5nLWJvdHRvbTogMnJlbTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAuY2VudGVyZWQtY29udGVudCAubGVmdCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtO1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgICAuY2VudGVyZWQtY29udGVudCAucmlnaHQge1xuICAgICAgcGFkZGluZy1sZWZ0OiAxcmVtO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfSB9XG4gIC5jZW50ZXJlZC1jb250ZW50IC5jb2xvciB7XG4gICAgY29sb3I6ICM5YWM4YmU7IH1cbiAgLmNlbnRlcmVkLWNvbnRlbnQgYSB7XG4gICAgY29sb3I6ICMwMDA7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gIC5jZW50ZXJlZC1jb250ZW50ID4gZGl2IHtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAuY2VudGVyZWQtY29udGVudCBoMiB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC1mYW1pbHk6ICdqb3NlZmluX3NhbnNib2xkJzsgfVxuXG4udGV4dC1iaWcge1xuICBmb250LXNpemU6IDJyZW07IH1cblxuLmFsaWduLWNlbnRlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4udXNlZnVsLWluZm9ybWF0aW9uIHtcbiAgbWFyZ2luOiAwIDAgNnJlbSAwO1xuICBwYWRkaW5nOiAycmVtIDAgMCAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFlZmVkO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC51c2VmdWwtaW5mb3JtYXRpb24gPiAuY29udGFpbmVyLCAudXNlZnVsLWluZm9ybWF0aW9uID4gLnByZXYtbmV4dC1wb3N0IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgLnVzZWZ1bC1pbmZvcm1hdGlvbiA+IC5jb250YWluZXIsIC51c2VmdWwtaW5mb3JtYXRpb24gPiAucHJldi1uZXh0LXBvc3Qge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDFyZW07IH0gfVxuICAudXNlZnVsLWluZm9ybWF0aW9uIHVsIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgIC51c2VmdWwtaW5mb3JtYXRpb24gdWwge1xuICAgICAgICBkaXNwbGF5OiBmbGV4OyB9IH1cbiAgICAudXNlZnVsLWluZm9ybWF0aW9uIHVsID4gbGkge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgICAudXNlZnVsLWluZm9ybWF0aW9uIHVsID4gbGkge1xuICAgICAgICAgIGZsZXg6IDE7IH0gfVxuICAgICAgLnVzZWZ1bC1pbmZvcm1hdGlvbiB1bCA+IGxpID4gYSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwYWRkaW5nOiAxLjRlbSAwIDEuNGVtIDVlbTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Q3YzhiMTtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMWVtIGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAyLjRlbSBhdXRvO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBjb2xvcjogIzAwMDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBmb250LWZhbWlseTogJ2pvc2VmaW5fc2Fuc2JvbGQnOyB9XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgICAgIC51c2VmdWwtaW5mb3JtYXRpb24gdWwgPiBsaSA+IGEge1xuICAgICAgICAgICAgcGFkZGluZzogOHJlbSAxcmVtIDNyZW0gMXJlbTtcbiAgICAgICAgICAgIGhlaWdodDogMTNyZW07XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgMmVtO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiA0ZW0gYXV0bztcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxcmVtKTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuNHMsIGJveC1zaGFkb3cgMC40cztcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgICAgICAgLnVzZWZ1bC1pbmZvcm1hdGlvbiB1bCA+IGxpID4gYTpob3ZlciB7XG4gICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDMwcHggMCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gICAgICAgICAgICAgIHotaW5kZXg6IDE7IH0gfVxuICAgICAgLnVzZWZ1bC1pbmZvcm1hdGlvbiB1bCA+IGxpOm50aC1jaGlsZCgxKSA+IGEge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDdjOGIxOyB9XG4gICAgICAudXNlZnVsLWluZm9ybWF0aW9uIHVsID4gbGk6bnRoLWNoaWxkKDIpID4gYSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNhNGM4Yjc7IH1cbiAgICAgIC51c2VmdWwtaW5mb3JtYXRpb24gdWwgPiBsaTpudGgtY2hpbGQoMykgPiBhIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2NhZjA5ODsgfVxuICAgICAgLnVzZWZ1bC1pbmZvcm1hdGlvbiB1bCA+IGxpOm50aC1jaGlsZCg0KSA+IGEge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTFkM2U5OyB9XG4gICAgICAudXNlZnVsLWluZm9ybWF0aW9uIHVsID4gbGk6bnRoLWNoaWxkKDUpID4gYSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjlmN2Q7IH1cbiAgICAgIC51c2VmdWwtaW5mb3JtYXRpb24gdWwgPiBsaTpudGgtY2hpbGQoNikgPiBhIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2UwODg4ZTsgfVxuICAgICAgLnVzZWZ1bC1pbmZvcm1hdGlvbiB1bCA+IGxpOm50aC1jaGlsZCg3KSA+IGEge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjViNWI1OyB9XG5cbmgxLnRpdGxlX3llYXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuc3Bhbi50aXRsZV95ZWFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzlhYzhiZTsgfVxuXG5kaXYjY2FsZW5kYXJfY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgZGl2I2NhbGVuZGFyX2NvbnRhaW5lciAjY2FsZW5kYXJfd3JhcHBlciB7XG4gICAgd2lkdGg6IDIwMCU7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBtYXJnaW4tbGVmdCAxcyBsaW5lYXI7XG4gICAgLW1vei10cmFuc2l0aW9uOiBtYXJnaW4tbGVmdCAxcyBsaW5lYXI7XG4gICAgLW8tdHJhbnNpdGlvbjogbWFyZ2luLWxlZnQgMXMgbGluZWFyO1xuICAgIHRyYW5zaXRpb246IG1hcmdpbi1sZWZ0IDFzIGxpbmVhcjsgfVxuXG5kaXYuYnV0dG9uLWNhbGVuZGFyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbmRpdi5idXR0b24tY2FsZW5kYXIge1xuICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG5cbnRhYmxlLnRhYl9kb21pbmljYWwge1xuICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICB3aWR0aDogNTAlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZsb2F0OiBsZWZ0OyB9XG4gIHRhYmxlLnRhYl9kb21pbmljYWwgdHIge1xuICAgIGJhY2tncm91bmQ6ICNmM2VmZWM7IH1cbiAgICB0YWJsZS50YWJfZG9taW5pY2FsIHRyOmZpcnN0LWNoaWxkIHRkIHtcbiAgICAgIHBhZGRpbmc6IDAuNWVtIDAuMmVtOyB9XG4gICAgdGFibGUudGFiX2RvbWluaWNhbCB0ci5jYWxlbmRhcl9lbXB0eSB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmZmOyB9XG4gICAgICB0YWJsZS50YWJfZG9taW5pY2FsIHRyLmNhbGVuZGFyX2VtcHR5IHRoLCB0YWJsZS50YWJfZG9taW5pY2FsIHRyLmNhbGVuZGFyX2VtcHR5IHRkIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDAuMDUlOyB9XG4gIHRhYmxlLnRhYl9kb21pbmljYWwgdGgge1xuICAgIHdpZHRoOiAxNSU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgdGFibGUudGFiX2RvbWluaWNhbCB0aC5jYWxlbmRhcl9tb250aCB7XG4gICAgICBiYWNrZ3JvdW5kOiAjNjI0YjQyO1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7IH1cbiAgdGFibGUudGFiX2RvbWluaWNhbCB0ZCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBwYWRkaW5nOiAwLjNlbSAwLjJlbTsgfVxuICAgIHRhYmxlLnRhYl9kb21pbmljYWwgdGQuY2FsZW5kYXJfaW5mb19kYXkge1xuICAgICAgd2lkdGg6IDEzJTsgfVxuICAgIHRhYmxlLnRhYl9kb21pbmljYWwgdGQuY2FsZW5kYXJfaG9saWRheSB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZDFjNmMyOyB9XG4gICAgdGFibGUudGFiX2RvbWluaWNhbCB0ZC5jYWxlbmRhcl9vZmZpY2lhbF9ob2xpZGF5IHtcbiAgICAgIGJhY2tncm91bmQ6ICM4ZTgwN2Q7XG4gICAgICBjb2xvcjogI2ZmZjsgfVxuICAgIHRhYmxlLnRhYl9kb21pbmljYWwgdGQuc3VuZGF5X29wZW5pbmdfZXhwdGlvbm5lbCB7XG4gICAgICBib3JkZXItd2lkdGg6IDFweDtcbiAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7IH1cblxudGFibGUgdGguYnV0dG9uLXllYXIge1xuICB3aWR0aDogMTAlO1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG5kaXYuZmllbGRzZXQtdXBkYXRlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cbiAgZGl2LmZpZWxkc2V0LXVwZGF0ZSB0YWJsZSB0ciB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuXG4vKiEgbm9ybWFsaXplLXNjc3MgfCBNSVQvR1BMdjIgTGljZW5zZSB8IGJpdC5seS9ub3JtYWxpemUtc2NzcyAqL1xuLyoqXG4gICAgICogMS4gU2V0IGRlZmF1bHQgZm9udCBmYW1pbHkgdG8gc2Fucy1zZXJpZi5cbiAgICAgKiAyLiBQcmV2ZW50IGlPUyBhbmQgSUUgdGV4dCBzaXplIGFkanVzdCBhZnRlciBkZXZpY2Ugb3JpZW50YXRpb24gY2hhbmdlLFxuICAgICAqICAgIHdpdGhvdXQgZGlzYWJsaW5nIHVzZXIgem9vbS5cbiAgICAgKi9cbmh0bWwge1xuICBmb250LWZhbWlseTogc2Fucy1zZXJpZjtcbiAgLyogMSAqL1xuICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgLyogMiAqL1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAgICAgKiBSZW1vdmUgZGVmYXVsdCBtYXJnaW4uXG4gICAgICovXG5ib2R5IHtcbiAgbWFyZ2luOiAwOyB9XG5cbi8qIEhUTUw1IGRpc3BsYXkgZGVmaW5pdGlvbnNcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAgICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGFueSBIVE1MNSBlbGVtZW50IGluIElFIDgvOS5cbiAgICAgKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYGRldGFpbHNgIG9yIGBzdW1tYXJ5YCBpbiBJRSAxMC8xMVxuICAgICAqIGFuZCBGaXJlZm94LlxuICAgICAqIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBgbWFpbmAgaW4gSUUgMTEuXG4gICAgICovXG5hcnRpY2xlLFxuYXNpZGUsXG5kZXRhaWxzLFxuZmlnY2FwdGlvbixcbmZpZ3VyZSxcbmZvb3RlcixcbmhlYWRlcixcbmhncm91cCxcbm1haW4sXG5tZW51LFxubmF2LFxuc2VjdGlvbixcbnN1bW1hcnkge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKipcbiAgICAgKiAxLiBDb3JyZWN0IGBpbmxpbmUtYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgaW4gSUUgOC85LlxuICAgICAqIDIuIE5vcm1hbGl6ZSB2ZXJ0aWNhbCBhbGlnbm1lbnQgb2YgYHByb2dyZXNzYCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAgICAgKi9cbmF1ZGlvLFxuY2FudmFzLFxucHJvZ3Jlc3MsXG52aWRlbyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgLyogMSAqL1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAgICAgKiBQcmV2ZW50IG1vZGVybiBicm93c2VycyBmcm9tIGRpc3BsYXlpbmcgYGF1ZGlvYCB3aXRob3V0IGNvbnRyb2xzLlxuICAgICAqIFJlbW92ZSBleGNlc3MgaGVpZ2h0IGluIGlPUyA1IGRldmljZXMuXG4gICAgICovXG5hdWRpbzpub3QoW2NvbnRyb2xzXSkge1xuICBkaXNwbGF5OiBub25lO1xuICBoZWlnaHQ6IDA7IH1cblxuLyoqXG4gICAgICAgKiBBZGRyZXNzIGBbaGlkZGVuXWAgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkvMTAuXG4gICAgICAgKi9cbltoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4vKipcbiAgICAgKiBIaWRlIHRoZSBgdGVtcGxhdGVgIGVsZW1lbnQgaW4gSUUgOC85LzEwLzExLCBTYWZhcmksIGFuZCBGaXJlZm94IDwgMjIuXG4gICAgICovXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLyogTGlua3NcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAgICAgKiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBjb2xvciBmcm9tIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAgICAgICAqL1xuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbi8qKlxuICAgICAqIEltcHJvdmUgcmVhZGFiaWxpdHkgb2YgZm9jdXNlZCBlbGVtZW50cyB3aGVuIHRoZXkgYXJlIGFsc28gaW4gYW5cbiAgICAgKiBhY3RpdmUvaG92ZXIgc3RhdGUuXG4gICAgICovXG5hOmFjdGl2ZSxcbmE6aG92ZXIge1xuICBvdXRsaW5lOiAwOyB9XG5cbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgICAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkvMTAvMTEsIFNhZmFyaSwgYW5kIENocm9tZS5cbiAgICAgKi9cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZDsgfVxuXG4vKipcbiAgICAgKiBBZGRyZXNzIHN0eWxlIHNldCB0byBgYm9sZGVyYCBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gICAgICovXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuLyoqXG4gICAgICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIFNhZmFyaSBhbmQgQ2hyb21lLlxuICAgICAqL1xuZGZuIHtcbiAgZm9udC1zdHlsZTogaXRhbGljOyB9XG5cbi8qKlxuICAgICAqIEFkZHJlc3MgdmFyaWFibGUgYGgxYCBmb250LXNpemUgYW5kIG1hcmdpbiB3aXRoaW4gYHNlY3Rpb25gIGFuZCBgYXJ0aWNsZWBcbiAgICAgKiBjb250ZXh0cyBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gICAgICovXG5oMSB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICAvKiBTZXQgMSB1bml0IG9mIHZlcnRpY2FsIHJoeXRobSBvbiB0aGUgdG9wIGFuZCBib3R0b20gbWFyZ2lucy4gKi9cbiAgbWFyZ2luOiAwLjc1ZW0gMDsgfVxuXG4vKipcbiAgICAgICAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkuXG4gICAgICAgKi9cbm1hcmsge1xuICBiYWNrZ3JvdW5kOiAjZmYwO1xuICBjb2xvcjogIzAwMDsgfVxuXG4vKipcbiAgICAgKiBBZGRyZXNzIGluY29uc2lzdGVudCBhbmQgdmFyaWFibGUgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7IH1cblxuLyoqXG4gICAgICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgYWZmZWN0aW5nIGBsaW5lLWhlaWdodGAgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgfVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTsgfVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07IH1cblxuLyogRW1iZWRkZWQgY29udGVudFxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICAgICAqIFJlbW92ZSBib3JkZXIgd2hlbiBpbnNpZGUgYGFgIGVsZW1lbnQgaW4gSUUgOC85LzEwLlxuICAgICAgICovXG5pbWcge1xuICBib3JkZXI6IDA7IH1cblxuLyoqXG4gICAgICogQ29ycmVjdCBvdmVyZmxvdyBub3QgaGlkZGVuIGluIElFIDkvMTAvMTEuXG4gICAgICovXG5zdmc6bm90KDpyb290KSB7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLyogR3JvdXBpbmcgY29udGVudFxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICAgICAqIEFkZHJlc3MgbWFyZ2luIG5vdCBwcmVzZW50IGluIElFIDgvOSBhbmQgU2FmYXJpLlxuICAgICAgICovXG5maWd1cmUge1xuICBtYXJnaW46IDEuNWVtIDQwcHg7IH1cblxuLyoqXG4gICAgICogQWRkcmVzcyBkaWZmZXJlbmNlcyBiZXR3ZWVuIEZpcmVmb3ggYW5kIG90aGVyIGJyb3dzZXJzLlxuICAgICAqL1xuaHIge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgaGVpZ2h0OiAwOyB9XG5cbi8qKlxuICAgICAqIENvbnRhaW4gb3ZlcmZsb3cgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xucHJlIHtcbiAgb3ZlcmZsb3c6IGF1dG87IH1cblxuLyoqXG4gICAgICogQWRkcmVzcyBvZGQgYGVtYC11bml0IGZvbnQgc2l6ZSByZW5kZXJpbmcgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuY29kZSxcbmtiZCxcbnByZSxcbnNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gIGZvbnQtc2l6ZTogMWVtOyB9XG5cbi8qIEZvcm1zXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgICAqIEtub3duIGxpbWl0YXRpb246IGJ5IGRlZmF1bHQsIENocm9tZSBhbmQgU2FmYXJpIG9uIE9TIFggYWxsb3cgdmVyeSBsaW1pdGVkXG4gICAgICogc3R5bGluZyBvZiBgc2VsZWN0YCwgdW5sZXNzIGEgYGJvcmRlcmAgcHJvcGVydHkgaXMgc2V0LlxuICAgICAqL1xuLyoqXG4gICAgICogMS4gQ29ycmVjdCBjb2xvciBub3QgYmVpbmcgaW5oZXJpdGVkLlxuICAgICAqICAgIEtub3duIGlzc3VlOiBhZmZlY3RzIGNvbG9yIG9mIGRpc2FibGVkIGVsZW1lbnRzLlxuICAgICAqIDIuIENvcnJlY3QgZm9udCBwcm9wZXJ0aWVzIG5vdCBiZWluZyBpbmhlcml0ZWQuXG4gICAgICogMy4gQWRkcmVzcyBtYXJnaW5zIHNldCBkaWZmZXJlbnRseSBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gICAgICogNC4gQWRkcmVzcyBgZm9udC1mYW1pbHlgIGluY29uc2lzdGVuY3kgYmV0d2VlbiBgdGV4dGFyZWFgIGFuZCBvdGhlciBmb3JtIGluIElFIDdcbiAgICAgKiA1LiBJbXByb3ZlIGFwcGVhcmFuY2UgYW5kIGNvbnNpc3RlbmN5IHdpdGggSUUgNi83LlxuICAgICAqL1xuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIC8qIDEgKi9cbiAgZm9udDogaW5oZXJpdDtcbiAgLyogMiAqL1xuICBtYXJnaW46IDA7XG4gIC8qIDMgKi8gfVxuXG4vKipcbiAgICAgKiBBZGRyZXNzIGBvdmVyZmxvd2Agc2V0IHRvIGBoaWRkZW5gIGluIElFIDgvOS8xMC8xMS5cbiAgICAgKi9cbmJ1dHRvbiB7XG4gIG92ZXJmbG93OiB2aXNpYmxlOyB9XG5cbi8qKlxuICAgICAqIEFkZHJlc3MgaW5jb25zaXN0ZW50IGB0ZXh0LXRyYW5zZm9ybWAgaW5oZXJpdGFuY2UgZm9yIGBidXR0b25gIGFuZCBgc2VsZWN0YC5cbiAgICAgKiBBbGwgb3RoZXIgZm9ybSBjb250cm9sIGVsZW1lbnRzIGRvIG5vdCBpbmhlcml0IGB0ZXh0LXRyYW5zZm9ybWAgdmFsdWVzLlxuICAgICAqIENvcnJlY3QgYGJ1dHRvbmAgc3R5bGUgaW5oZXJpdGFuY2UgaW4gRmlyZWZveCwgSUUgOC85LzEwLzExLCBhbmQgT3BlcmEuXG4gICAgICogQ29ycmVjdCBgc2VsZWN0YCBzdHlsZSBpbmhlcml0YW5jZSBpbiBGaXJlZm94LlxuICAgICAqL1xuYnV0dG9uLFxuc2VsZWN0IHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cblxuLyoqXG4gICAgICogMS4gQXZvaWQgdGhlIFdlYktpdCBidWcgaW4gQW5kcm9pZCA0LjAuKiB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2BcbiAgICAgKiAgICBhbmQgYHZpZGVvYCBjb250cm9scy5cbiAgICAgKiAyLiBDb3JyZWN0IGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgYGlucHV0YCB0eXBlcyBpbiBpT1MuXG4gICAgICogMy4gSW1wcm92ZSB1c2FiaWxpdHkgYW5kIGNvbnNpc3RlbmN5IG9mIGN1cnNvciBzdHlsZSBiZXR3ZWVuIGltYWdlLXR5cGVcbiAgICAgKiAgICBgaW5wdXRgIGFuZCBvdGhlcnMuXG4gICAgICogNC4gUmVtb3ZlIGlubmVyIHNwYWNpbmcgaW4gSUUgNyB3aXRob3V0IGFmZmVjdGluZyBub3JtYWwgdGV4dCBpbnB1dHMuXG4gICAgICogICAgS25vd24gaXNzdWU6IGlubmVyIHNwYWNpbmcgcmVtYWlucyBpbiBJRSA2LlxuICAgICAqL1xuYnV0dG9uLFxuaHRtbCBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLFxuaW5wdXRbdHlwZT1cInJlc2V0XCJdLFxuaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xuICAvKiAyICovXG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgLyogMyAqLyB9XG5cbi8qKlxuICAgICAqIFJlLXNldCBkZWZhdWx0IGN1cnNvciBmb3IgZGlzYWJsZWQgZWxlbWVudHMuXG4gICAgICovXG5idXR0b25bZGlzYWJsZWRdLFxuaHRtbCBpbnB1dFtkaXNhYmxlZF0ge1xuICBjdXJzb3I6IGRlZmF1bHQ7IH1cblxuLyoqXG4gICAgICogUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIGJvcmRlciBpbiBGaXJlZm94IDQrLlxuICAgICAqL1xuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuaW5wdXQ6Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXI6IDA7XG4gIHBhZGRpbmc6IDA7IH1cblxuLyoqXG4gICAgICogQWRkcmVzcyBGaXJlZm94IDQrIHNldHRpbmcgYGxpbmUtaGVpZ2h0YCBvbiBgaW5wdXRgIHVzaW5nIGAhaW1wb3J0YW50YCBpblxuICAgICAqIHRoZSBVQSBzdHlsZXNoZWV0LlxuICAgICAqL1xuaW5wdXQge1xuICBsaW5lLWhlaWdodDogbm9ybWFsOyB9XG5cbi8qKlxuICAgICAgICogSXQncyByZWNvbW1lbmRlZCB0aGF0IHlvdSBkb24ndCBhdHRlbXB0IHRvIHN0eWxlIHRoZXNlIGVsZW1lbnRzLlxuICAgICAgICogRmlyZWZveCdzIGltcGxlbWVudGF0aW9uIGRvZXNuJ3QgcmVzcGVjdCBib3gtc2l6aW5nLCBwYWRkaW5nLCBvciB3aWR0aC5cbiAgICAgICAqXG4gICAgICAgKiAxLiBBZGRyZXNzIGJveCBzaXppbmcgc2V0IHRvIGBjb250ZW50LWJveGAgaW4gSUUgOC85LzEwLlxuICAgICAgICogMi4gUmVtb3ZlIGV4Y2VzcyBwYWRkaW5nIGluIElFIDgvOS8xMC5cbiAgICAgICAqIDMuIFJlbW92ZSBleGNlc3MgcGFkZGluZyBpbiBJRSA3LlxuICAgICAgICogICAgS25vd24gaXNzdWU6IGV4Y2VzcyBwYWRkaW5nIHJlbWFpbnMgaW4gSUUgNi5cbiAgICAgICAqL1xuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLFxuaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLyogMSAqL1xuICBwYWRkaW5nOiAwO1xuICAvKiAyICovIH1cblxuLyoqXG4gICAgICogRml4IHRoZSBjdXJzb3Igc3R5bGUgZm9yIENocm9tZSdzIGluY3JlbWVudC9kZWNyZW1lbnQgYnV0dG9ucy4gRm9yIGNlcnRhaW5cbiAgICAgKiBgZm9udC1zaXplYCB2YWx1ZXMgb2YgdGhlIGBpbnB1dGAsIGl0IGNhdXNlcyB0aGUgY3Vyc29yIHN0eWxlIG9mIHRoZVxuICAgICAqIGRlY3JlbWVudCBidXR0b24gdG8gY2hhbmdlIGZyb20gYGRlZmF1bHRgIHRvIGB0ZXh0YC5cbiAgICAgKi9cbmlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5pbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvOyB9XG5cbi8qKlxuICAgICAqIDEuIEFkZHJlc3MgYGFwcGVhcmFuY2VgIHNldCB0byBgc2VhcmNoZmllbGRgIGluIFNhZmFyaSBhbmQgQ2hyb21lLlxuICAgICAqIDIuIEFkZHJlc3MgYGJveC1zaXppbmdgIHNldCB0byBgYm9yZGVyLWJveGAgaW4gU2FmYXJpIGFuZCBDaHJvbWUuXG4gICAgICovXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG4gIC8qIDEgKi9cbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIC8qIDIgKi9cbiAgLyoqXG4gICAgICAgKiBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgc2VhcmNoIGNhbmNlbCBidXR0b24gaW4gU2FmYXJpIGFuZCBDaHJvbWUgb24gT1MgWC5cbiAgICAgICAqIFNhZmFyaSAoYnV0IG5vdCBDaHJvbWUpIGNsaXBzIHRoZSBjYW5jZWwgYnV0dG9uIHdoZW4gdGhlIHNlYXJjaCBpbnB1dCBoYXNcbiAgICAgICAqIHBhZGRpbmcgKGFuZCBgdGV4dGZpZWxkYCBhcHBlYXJhbmNlKS5cbiAgICAgICAqLyB9XG4gIGlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sIGlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgfVxuXG4vKipcbiAgICAgKiBEZWZpbmUgY29uc2lzdGVudCBib3JkZXIsIG1hcmdpbiwgYW5kIHBhZGRpbmcuXG4gICAgICovXG5maWVsZHNldCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjMGMwYzA7XG4gIG1hcmdpbjogMCAycHg7XG4gIHBhZGRpbmc6IDAuMzVlbSAwLjYyNWVtIDAuNzVlbTsgfVxuXG4vKipcbiAgICAgKiAxLiBDb3JyZWN0IGBjb2xvcmAgbm90IGJlaW5nIGluaGVyaXRlZCBpbiBJRSA4LzkvMTAvMTEuXG4gICAgICogMi4gUmVtb3ZlIHBhZGRpbmcgc28gcGVvcGxlIGFyZW4ndCBjYXVnaHQgb3V0IGlmIHRoZXkgemVybyBvdXQgZmllbGRzZXRzLlxuICAgICAqIDMuIENvcnJlY3QgYWxpZ25tZW50IGRpc3BsYXllZCBvZGRseSBpbiBJRSA2LzcuXG4gICAgICovXG5sZWdlbmQge1xuICBib3JkZXI6IDA7XG4gIC8qIDEgKi9cbiAgcGFkZGluZzogMDtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICAgICAqIFJlbW92ZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSA4LzkvMTAvMTEuXG4gICAgICovXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvOyB9XG5cbi8qKlxuICAgICAqIERvbid0IGluaGVyaXQgdGhlIGBmb250LXdlaWdodGAgKGFwcGxpZWQgYnkgYSBydWxlIGFib3ZlKS5cbiAgICAgKiBOT1RFOiB0aGUgZGVmYXVsdCBjYW5ub3Qgc2FmZWx5IGJlIGNoYW5nZWQgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gT1MgWC5cbiAgICAgKi9cbm9wdGdyb3VwIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuLyogVGFibGVzXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgICAqIFJlbW92ZSBtb3N0IHNwYWNpbmcgYmV0d2VlbiB0YWJsZSBjZWxscy5cbiAgICAgKi9cbnRhYmxlIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgYm9yZGVyLXNwYWNpbmc6IDA7IH1cblxudGQsXG50aCB7XG4gIHBhZGRpbmc6IDA7IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5oZWFkZXItbG9nby1saW5rIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL3VjdmwucG5nXCIpOyB9IH1cblxuLm1lbnUtdG9wIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAzcmVtOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgIC5tZW51LXRvcCB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICByaWdodDogMDsgfSB9XG4gIC5tZW51LXRvcCAuYnRuLWxpbmsge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgIC5tZW51LXRvcCAuYnRuLWxpbmsge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gICAgICAgIHBhZGRpbmc6IC40ZW0gMWVtO1xuICAgICAgICBmb250LXNpemU6IDAuOWVtO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH0gfVxuXG4uc3BsaXRfc2VudGVuY2Uge1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7IH1cbiIsIkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnaWNvbnMnO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIHNyYzogdXJsKCcuLi9mb250cy9pY29ucy5lb3QnKTtcbiAgICBzcmM6IHVybCgnLi4vZm9udHMvaWNvbnMud29mZicpIGZvcm1hdCgnd29mZicpLFxuICAgICAgICAgdXJsKCcuLi9mb250cy9pY29ucy50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksXG4gICAgICAgICB1cmwoJy4uL2ZvbnRzL2ljb25zLmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyk7XG59XG5cbi5pY29uLFxuLmljb25bY2xhc3NePVwiaWNvbi1cIl0sXG4uaWNvbltjbGFzcyo9XCIgaWNvbi1cIl0ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LWZhbWlseTogJ2ljb25zJztcbiAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG4kaWNvbnM6IChcbiAgICBzZWxlY3Q6ICdcXEVBMDEnLFxuICAgIGNhbWVyYTogJ1xcRUEwMicsXG4gICAgZmFjZWJvb2s6ICdcXEVBMDMnLFxuICAgIGxhbXA6ICdcXEVBMDQnLFxuICAgIGxpbms6ICdcXEVBMDUnLFxuICAgIG1vcmU6ICdcXEVBMDYnLFxuICAgIG5ld3NsZXR0ZXI6ICdcXEVBMDcnLFxuICAgIHBob25lOiAnXFxFQTA4JyxcbiAgICBtYXA6ICdcXEVBMDknLFxuICAgIGxvY2F0aW9uOiAnXFxFQTBBJyxcbiAgICBjbG9zZTogJ1xcRUEwQicsXG4gICAgbmV4dDogJ1xcRUEwQycsXG4gICAgYmVhdXRlLXNhbnRlOiAnXFxFQTBEJyxcbiAgICBiZWJlcy1lbmZhbnRzOiAnXFxFQTBFJyxcbiAgICBiaWpvdXRlcmllcy1ob3Jsb2dlcmllczogJ1xcRUEwRicsXG4gICAgY2hhdXNzdXJlczogJ1xcRUExMCcsXG4gICAgY3VsdHVyZS1sb2lzaXJzLXRvdXJpc21lOiAnXFxFQTExJyxcbiAgICBnb3V0cy1zYXZldXJzOiAnXFxFQTEyJyxcbiAgICBob3RlbHMtcmVzdGF1cmFudHMtY2FmZXM6ICdcXEVBMTMnLFxuICAgIG1haXNvbi1kZWNvcmF0aW9uOiAnXFxFQTE0JyxcbiAgICBtb2RlLWFjY2Vzc29pcmVzOiAnXFxFQTE1JyxcbiAgICBtdWx0aW1lZGlhLWJ1cmVhdXRpcXVlOiAnXFxFQTE2JyxcbiAgICBzZXJ2aWNlczogJ1xcRUExNycsXG4gICAgc3VwZXJtYXJjaGVzLWdlbmVyYWxpc3RlczogJ1xcRUExOCcsXG4gICAgZmlsdGVyOiAnXFxFQTE5JyxcbiAgICBjYWxlbmRhcjogJ1xcRUExQScsXG4gICAgY29udGFjdDogJ1xcRUExQicsXG4gICAgYWN0dWFsaXRlczogJ1xcRUExQycsXG4gICAgbWVudTogJ1xcRUExRCcsXG4gICAgY2l0eXNob3BwaW5nOiAnXFxFQTFFJyxcbiAgICBwcmV2OiAnXFxFQTFGJyxcbiAgICBpbmZvcm1hdGlvbjogJ1xcRUEyMCcsXG4gICAgZWRpdDogJ1xcRUEyMScsXG4gICAgdHJhc2g6ICdcXEVBMjInLFxuICAgIGRvd25sb2FkOiAnXFxFQTIzJ1xuKTtcblxuQGVhY2ggJG5hbWUsICRpY29uIGluICRpY29ucyB7XG4gICAgLmljb24tI3skbmFtZX06YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJGljb247XG4gICAgfVxufSIsIi8qIEdlbmVyYXRlZCBieSBGb250IFNxdWlycmVsIChodHRwczovL3d3dy5mb250c3F1aXJyZWwuY29tKSBvbiBBcHJpbCAyNCwgMjAxNiAqL1xuXG5cblxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdqb3NlZmluX3NhbnNib2xkJztcbiAgICBzcmM6IHVybCgnLi4vZm9udHMvam9zZWZpbnNhbnMtYm9sZC13ZWJmb250LmVvdCcpO1xuICAgIHNyYzogdXJsKCcuLi9mb250cy9qb3NlZmluc2Fucy1ib2xkLXdlYmZvbnQuZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSxcbiAgICAgICAgIHVybCgnLi4vZm9udHMvam9zZWZpbnNhbnMtYm9sZC13ZWJmb250LndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgICAgICAgdXJsKCcuLi9mb250cy9qb3NlZmluc2Fucy1ib2xkLXdlYmZvbnQud29mZicpIGZvcm1hdCgnd29mZicpLFxuICAgICAgICAgdXJsKCcuLi9mb250cy9qb3NlZmluc2Fucy1ib2xkLXdlYmZvbnQudHRmJykgZm9ybWF0KCd0cnVldHlwZScpLFxuICAgICAgICAgdXJsKCcuLi9mb250cy9qb3NlZmluc2Fucy1ib2xkLXdlYmZvbnQuc3ZnI2pvc2VmaW5fc2Fuc2JvbGQnKSBmb3JtYXQoJ3N2ZycpO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuXG59XG5cblxuXG5cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnam9zZWZpbl9zYW5zYm9sZF9pdGFsaWMnO1xuICAgIHNyYzogdXJsKCcuLi9mb250cy9qb3NlZmluc2Fucy1ib2xkaXRhbGljLXdlYmZvbnQuZW90Jyk7XG4gICAgc3JjOiB1cmwoJy4uL2ZvbnRzL2pvc2VmaW5zYW5zLWJvbGRpdGFsaWMtd2ViZm9udC5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxuICAgICAgICAgdXJsKCcuLi9mb250cy9qb3NlZmluc2Fucy1ib2xkaXRhbGljLXdlYmZvbnQud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgICAgICB1cmwoJy4uL2ZvbnRzL2pvc2VmaW5zYW5zLWJvbGRpdGFsaWMtd2ViZm9udC53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXG4gICAgICAgICB1cmwoJy4uL2ZvbnRzL2pvc2VmaW5zYW5zLWJvbGRpdGFsaWMtd2ViZm9udC50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksXG4gICAgICAgICB1cmwoJy4uL2ZvbnRzL2pvc2VmaW5zYW5zLWJvbGRpdGFsaWMtd2ViZm9udC5zdmcjam9zZWZpbl9zYW5zYm9sZF9pdGFsaWMnKSBmb3JtYXQoJ3N2ZycpO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuXG59XG5cblxuXG5cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnam9zZWZpbl9zYW5zaXRhbGljJztcbiAgICBzcmM6IHVybCgnLi4vZm9udHMvam9zZWZpbnNhbnMtaXRhbGljLXdlYmZvbnQuZW90Jyk7XG4gICAgc3JjOiB1cmwoJy4uL2ZvbnRzL2pvc2VmaW5zYW5zLWl0YWxpYy13ZWJmb250LmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXG4gICAgICAgICB1cmwoJy4uL2ZvbnRzL2pvc2VmaW5zYW5zLWl0YWxpYy13ZWJmb250LndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgICAgICAgdXJsKCcuLi9mb250cy9qb3NlZmluc2Fucy1pdGFsaWMtd2ViZm9udC53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXG4gICAgICAgICB1cmwoJy4uL2ZvbnRzL2pvc2VmaW5zYW5zLWl0YWxpYy13ZWJmb250LnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKSxcbiAgICAgICAgIHVybCgnLi4vZm9udHMvam9zZWZpbnNhbnMtaXRhbGljLXdlYmZvbnQuc3ZnI2pvc2VmaW5fc2Fuc2l0YWxpYycpIGZvcm1hdCgnc3ZnJyk7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG5cbn1cblxuXG5cblxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdqb3NlZmluX3NhbnNsaWdodCc7XG4gICAgc3JjOiB1cmwoJy4uL2ZvbnRzL2pvc2VmaW5zYW5zLWxpZ2h0LXdlYmZvbnQuZW90Jyk7XG4gICAgc3JjOiB1cmwoJy4uL2ZvbnRzL2pvc2VmaW5zYW5zLWxpZ2h0LXdlYmZvbnQuZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSxcbiAgICAgICAgIHVybCgnLi4vZm9udHMvam9zZWZpbnNhbnMtbGlnaHQtd2ViZm9udC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgICAgICAgIHVybCgnLi4vZm9udHMvam9zZWZpbnNhbnMtbGlnaHQtd2ViZm9udC53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXG4gICAgICAgICB1cmwoJy4uL2ZvbnRzL2pvc2VmaW5zYW5zLWxpZ2h0LXdlYmZvbnQudHRmJykgZm9ybWF0KCd0cnVldHlwZScpLFxuICAgICAgICAgdXJsKCcuLi9mb250cy9qb3NlZmluc2Fucy1saWdodC13ZWJmb250LnN2ZyNqb3NlZmluX3NhbnNsaWdodCcpIGZvcm1hdCgnc3ZnJyk7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG5cbn1cblxuXG5cblxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdqb3NlZmluX3NhbnNsaWdodF9pdGFsaWMnO1xuICAgIHNyYzogdXJsKCcuLi9mb250cy9qb3NlZmluc2Fucy1saWdodGl0YWxpYy13ZWJmb250LmVvdCcpO1xuICAgIHNyYzogdXJsKCcuLi9mb250cy9qb3NlZmluc2Fucy1saWdodGl0YWxpYy13ZWJmb250LmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXG4gICAgICAgICB1cmwoJy4uL2ZvbnRzL2pvc2VmaW5zYW5zLWxpZ2h0aXRhbGljLXdlYmZvbnQud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgICAgICB1cmwoJy4uL2ZvbnRzL2pvc2VmaW5zYW5zLWxpZ2h0aXRhbGljLXdlYmZvbnQud29mZicpIGZvcm1hdCgnd29mZicpLFxuICAgICAgICAgdXJsKCcuLi9mb250cy9qb3NlZmluc2Fucy1saWdodGl0YWxpYy13ZWJmb250LnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKSxcbiAgICAgICAgIHVybCgnLi4vZm9udHMvam9zZWZpbnNhbnMtbGlnaHRpdGFsaWMtd2ViZm9udC5zdmcjam9zZWZpbl9zYW5zbGlnaHRfaXRhbGljJykgZm9ybWF0KCdzdmcnKTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcblxufVxuXG5cblxuXG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ2pvc2VmaW5fc2Fuc3JlZ3VsYXInO1xuICAgIHNyYzogdXJsKCcuLi9mb250cy9qb3NlZmluc2Fucy1yZWd1bGFyLXdlYmZvbnQuZW90Jyk7XG4gICAgc3JjOiB1cmwoJy4uL2ZvbnRzL2pvc2VmaW5zYW5zLXJlZ3VsYXItd2ViZm9udC5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxuICAgICAgICAgdXJsKCcuLi9mb250cy9qb3NlZmluc2Fucy1yZWd1bGFyLXdlYmZvbnQud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgICAgICB1cmwoJy4uL2ZvbnRzL2pvc2VmaW5zYW5zLXJlZ3VsYXItd2ViZm9udC53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXG4gICAgICAgICB1cmwoJy4uL2ZvbnRzL2pvc2VmaW5zYW5zLXJlZ3VsYXItd2ViZm9udC50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksXG4gICAgICAgICB1cmwoJy4uL2ZvbnRzL2pvc2VmaW5zYW5zLXJlZ3VsYXItd2ViZm9udC5zdmcjam9zZWZpbl9zYW5zcmVndWxhcicpIGZvcm1hdCgnc3ZnJyk7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG5cbn1cblxuXG5cblxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdqb3NlZmluX3NhbnNzZW1pYm9sZCc7XG4gICAgc3JjOiB1cmwoJy4uL2ZvbnRzL2pvc2VmaW5zYW5zLXNlbWlib2xkLXdlYmZvbnQuZW90Jyk7XG4gICAgc3JjOiB1cmwoJy4uL2ZvbnRzL2pvc2VmaW5zYW5zLXNlbWlib2xkLXdlYmZvbnQuZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSxcbiAgICAgICAgIHVybCgnLi4vZm9udHMvam9zZWZpbnNhbnMtc2VtaWJvbGQtd2ViZm9udC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgICAgICAgIHVybCgnLi4vZm9udHMvam9zZWZpbnNhbnMtc2VtaWJvbGQtd2ViZm9udC53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXG4gICAgICAgICB1cmwoJy4uL2ZvbnRzL2pvc2VmaW5zYW5zLXNlbWlib2xkLXdlYmZvbnQudHRmJykgZm9ybWF0KCd0cnVldHlwZScpLFxuICAgICAgICAgdXJsKCcuLi9mb250cy9qb3NlZmluc2Fucy1zZW1pYm9sZC13ZWJmb250LnN2ZyNqb3NlZmluX3NhbnNzZW1pYm9sZCcpIGZvcm1hdCgnc3ZnJyk7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG5cbn1cblxuXG5cblxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdqb3NlZmluX3NhbnNzZW1pYm9sZF9pdGFsaWMnO1xuICAgIHNyYzogdXJsKCcuLi9mb250cy9qb3NlZmluc2Fucy1zZW1pYm9sZGl0YWxpYy13ZWJmb250LmVvdCcpO1xuICAgIHNyYzogdXJsKCcuLi9mb250cy9qb3NlZmluc2Fucy1zZW1pYm9sZGl0YWxpYy13ZWJmb250LmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXG4gICAgICAgICB1cmwoJy4uL2ZvbnRzL2pvc2VmaW5zYW5zLXNlbWlib2xkaXRhbGljLXdlYmZvbnQud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgICAgICB1cmwoJy4uL2ZvbnRzL2pvc2VmaW5zYW5zLXNlbWlib2xkaXRhbGljLXdlYmZvbnQud29mZicpIGZvcm1hdCgnd29mZicpLFxuICAgICAgICAgdXJsKCcuLi9mb250cy9qb3NlZmluc2Fucy1zZW1pYm9sZGl0YWxpYy13ZWJmb250LnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKSxcbiAgICAgICAgIHVybCgnLi4vZm9udHMvam9zZWZpbnNhbnMtc2VtaWJvbGRpdGFsaWMtd2ViZm9udC5zdmcjam9zZWZpbl9zYW5zc2VtaWJvbGRfaXRhbGljJykgZm9ybWF0KCdzdmcnKTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcblxufVxuXG5cblxuXG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ2pvc2VmaW5fc2Fuc3RoaW4nO1xuICAgIHNyYzogdXJsKCcuLi9mb250cy9qb3NlZmluc2Fucy10aGluLXdlYmZvbnQuZW90Jyk7XG4gICAgc3JjOiB1cmwoJy4uL2ZvbnRzL2pvc2VmaW5zYW5zLXRoaW4td2ViZm9udC5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxuICAgICAgICAgdXJsKCcuLi9mb250cy9qb3NlZmluc2Fucy10aGluLXdlYmZvbnQud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgICAgICB1cmwoJy4uL2ZvbnRzL2pvc2VmaW5zYW5zLXRoaW4td2ViZm9udC53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXG4gICAgICAgICB1cmwoJy4uL2ZvbnRzL2pvc2VmaW5zYW5zLXRoaW4td2ViZm9udC50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksXG4gICAgICAgICB1cmwoJy4uL2ZvbnRzL2pvc2VmaW5zYW5zLXRoaW4td2ViZm9udC5zdmcjam9zZWZpbl9zYW5zdGhpbicpIGZvcm1hdCgnc3ZnJyk7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG5cbn1cblxuXG5cblxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdqb3NlZmluX3NhbnN0aGluX2l0YWxpYyc7XG4gICAgc3JjOiB1cmwoJy4uL2ZvbnRzL2pvc2VmaW5zYW5zLXRoaW5pdGFsaWMtd2ViZm9udC5lb3QnKTtcbiAgICBzcmM6IHVybCgnLi4vZm9udHMvam9zZWZpbnNhbnMtdGhpbml0YWxpYy13ZWJmb250LmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXG4gICAgICAgICB1cmwoJy4uL2ZvbnRzL2pvc2VmaW5zYW5zLXRoaW5pdGFsaWMtd2ViZm9udC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgICAgICAgIHVybCgnLi4vZm9udHMvam9zZWZpbnNhbnMtdGhpbml0YWxpYy13ZWJmb250LndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcbiAgICAgICAgIHVybCgnLi4vZm9udHMvam9zZWZpbnNhbnMtdGhpbml0YWxpYy13ZWJmb250LnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKSxcbiAgICAgICAgIHVybCgnLi4vZm9udHMvam9zZWZpbnNhbnMtdGhpbml0YWxpYy13ZWJmb250LnN2ZyNqb3NlZmluX3NhbnN0aGluX2l0YWxpYycpIGZvcm1hdCgnc3ZnJyk7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG5cbn1cbiIsIioge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbmJvZHkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgZm9udC1mYW1pbHk6ICdqb3NlZmluX3NhbnNyZWd1bGFyJztcbn1cblxuYSB7XG4gICAgY29sb3I6ICRjb2xvci1tYWluO1xufVxuXG5zdHJvbmcge1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC1mYW1pbHk6ICdqb3NlZmluX3NhbnNib2xkJztcbn1cblxuaW1nIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG59XG4iLCIvLyRjb2xvci1tYWluOiAjYjlkYWM5O1xuJGNvbG9yLW1haW46ICM5YWM4YmU7XG4kY29sb3Itc2Vjb25kYXJ5OiAjYjlkYWM5O1xuXG4kY29sb3Itc3VjY2VzczogIzQzQUM2QTtcbiRjb2xvci1lcnJvcjogI2YwNDEyNDtcblxuXG4kdXNlZnVsLWluZm9ybWF0aW9uLWNvbG9yczogI2Q3YzhiMSwgI2E0YzhiNywgI2NhZjA5OCwgI2ExZDNlOSwgI2ZmOWY3ZCwgI2UwODg4ZSwgI2I1YjViNTtcblxuJGNvbG9yLTE6ICNkN2M4YjE7XG4kY29sb3ItMjogI2E0YzhiNztcbiRjb2xvci0zOiAjY2FmMDk4O1xuJGNvbG9yLTQ6ICNhMWQzZTk7XG4kY29sb3ItNTogI2ZmOWY3ZDtcbiRjb2xvci02OiAjZTA4ODhlO1xuJGNvbG9yLTc6ICNiNWI1YjU7XG5cbiRncmF5LWxpZ2h0OiAjZjFlZmVkO1xuXG4kc3VzeTogKFxuICBjb2x1bW5zOiAxMiwgIC8vIFRoZSBudW1iZXIgb2YgY29sdW1ucyBpbiB5b3VyIGdyaWRcbiAgZ3V0dGVyczogMS82LCAvLyBUaGUgc2l6ZSBvZiBhIGd1dHRlciBpbiByZWxhdGlvbiB0byBhIHNpbmdsZSBjb2x1bW5cbiAgY29udGFpbmVyOiA3MGVtXG4pO1xuIiwiLmNvbnRhaW5lclxue1xuICAgIHBhZGRpbmctcmlnaHQ6IDFyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAxcmVtO1xuXG4gICAgQGluY2x1ZGUgY29udGFpbmVyO1xuXG4gICAgJi5uby1wYWRkaW5nXG4gICAge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgfVxufVxuXG5AaW5jbHVkZSBicmVha3BvaW50KG1kKVxue1xuXG4gICAgLmNvbC1tZC0zIHtcbiAgICAgICAgQGluY2x1ZGUgc3BhbigzKTtcblxuICAgICAgICAmLmxhc3Qge1xuICAgICAgICAgICAgQGluY2x1ZGUgc3BhbigzIGxhc3QpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNvbC1tZC00IHtcbiAgICAgICAgQGluY2x1ZGUgc3Bhbig0KTtcblxuICAgICAgICAmLmxhc3Qge1xuICAgICAgICAgICAgQGluY2x1ZGUgc3Bhbig0IGxhc3QpO1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAuY29sLW1kLTYge1xuICAgICAgICBAaW5jbHVkZSBzcGFuKDYpO1xuXG4gICAgICAgICYubGFzdCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBzcGFuKDYgbGFzdCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY29sLW1kLTgge1xuICAgICAgICBAaW5jbHVkZSBzcGFuKDgpO1xuXG4gICAgICAgICYubGFzdCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBzcGFuKDggbGFzdCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY29sLW1kLTEyIHtcbiAgICAgICAgQGluY2x1ZGUgc3BhbigxMik7XG5cbiAgICAgICAgJi5sYXN0e1xuICAgICAgICAgICAgQGluY2x1ZGUgc3BhbigxMiBsYXN0KTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG5cblxuXG4uY29sLXhzLTEyXG57XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5jb250ZW50LXdyYXBwZXJ7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG5cbiAgICAuaW1hZ2UtY29udGFpbmVyXG4gICAge1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcblxuICAgICAgICA+IGltZ3tcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuLmNvbnRlbnR7XG4gICAgJi53aXRoLXNpZGViYXJcbiAgICB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWQpXG4gICAgICAgIHtcbiAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICAgIHdpZHRoOiBzcGFuKDkpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5cbi5zaWRlYmFye1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWQpXG4gICAge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgLy9wYWRkaW5nLXRvcDogM3JlbTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBndXR0ZXIoKTtcbiAgICAgICAgd2lkdGg6IHNwYW4oMyk7XG4gICAgfVxufVxuXG5cblxuLmhlYWRlclxue1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLXRvcDogNHJlbTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWQpXG4gICAge1xuICAgICAgICBtYXJnaW46IDAgMCAycmVtIDA7XG4gICAgICAgIHBhZGRpbmc6IDFlbSAwIDAgMDtcbiAgICB9XG5cblxuICAgIC5jb250YWluZXJcbiAgICB7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG59XG5cblxuXG5cblxuLmNvbnRlbnQtbWFpbntcbiAgICBtYXJnaW46IDJyZW0gMDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWQpXG4gICAge1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIG1hcmdpbjogNHJlbSAwO1xuICAgICAgICB3aWR0aDogc3Bhbig4KTtcbiAgICB9XG59XG5cbi5jb250ZW50LXNpZGViYXJ7XG4gICAgbWFyZ2luOiA0cmVtIDAgMnJlbSAwO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZClcbiAgICB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBtYXJnaW46IDVyZW0gMCAzcmVtIDA7XG4gICAgICAgIG1hcmdpbi1yaWdodDogZ3V0dGVyKCk7XG4gICAgICAgIHdpZHRoOiBzcGFuKDIuNSk7XG4gICAgfVxufVxuXG4ucG9zdC1jb250YWluZXJ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctdG9wOiA0cmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiA0cmVtO1xufVxuXG4ubmV3cyB7XG4gICAgbWFyZ2luOiA2cmVtIDA7XG59XG5cbi5zaWRlYmFye1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtaW4taGVpZ2h0OiAzcmVtO1xufVxuXG5cbi5mb290ZXJcbntcbiAgICBtYXJnaW4tYm90dG9tOiA3cHg7XG4gICAgcGFkZGluZy1ib3R0b206IDJyZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLW1haW47XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1kKVxuICAgIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDZyZW07XG4gICAgfVxufVxuIiwiLy8gcmVtIFN1cHBvcnRcbi8vID09PT09PT09PT09XG5cbi8vIHJlbVxuLy8gLS0tXG4vLyBDaGVjayBmb3IgYW4gZXhpc3Rpbmcgc3VwcG9ydCBtaXhpbiwgb3Igb3V0cHV0IGRpcmVjdGx5LlxuLy8gLSAkcHJvcCAgOiA8Y3NzIHByb3BlcnR5PlxuLy8gLSAkdmFsICAgOiA8Y3NzIHZhbHVlPlxuQG1peGluIHN1c3ktcmVtKFxuICAkcHJvcCxcbiAgJHZhbFxuKSB7XG4gICRfcmVxczogKFxuICAgIHZhcmlhYmxlOiByaHl0aG0tdW5pdCByZW0td2l0aC1weC1mYWxsYmFjayxcbiAgICBtaXhpbjogcmVtLFxuICApO1xuICBAaWYgc3VzeS1zdXBwb3J0KHJlbSwgJF9yZXFzLCAkd2FybjogZmFsc2UpIGFuZCAkcmh5dGhtLXVuaXQgPT0gcmVtIHtcbiAgICBAaW5jbHVkZSByZW0oJHByb3AsICR2YWwpO1xuICB9IEBlbHNlIHtcbiAgICAjeyRwcm9wfTogJHZhbDtcbiAgfVxufVxuIiwiLy8gQ29udGFpbmVyIFN5bnRheFxuLy8gPT09PT09PT09PT09PT09PVxuXG4vLyBDb250YWluZXIgW21peGluXVxuLy8gLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFNldCBhIGNvbnRhaW5lciBlbGVtZW50XG4vLyAtIFskbGF5b3V0XSAgOiA8c2V0dGluZ3M+XG5AbWl4aW4gY29udGFpbmVyKFxuICAkbGF5b3V0OiAkc3VzeVxuKSB7XG4gICRpbnNwZWN0ICAgIDogJGxheW91dDtcbiAgJGxheW91dCAgICAgOiBwYXJzZS1ncmlkKCRsYXlvdXQpO1xuXG4gICRfd2lkdGggICAgIDogZ2V0LWNvbnRhaW5lci13aWR0aCgkbGF5b3V0KTtcbiAgJF9qdXN0aWZ5ICAgOiBwYXJzZS1jb250YWluZXItcG9zaXRpb24oc3VzeS1nZXQoY29udGFpbmVyLXBvc2l0aW9uLCAkbGF5b3V0KSk7XG4gICRfcHJvcGVydHkgIDogaWYoc3VzeS1nZXQobWF0aCwgJGxheW91dCkgPT0gc3RhdGljLCB3aWR0aCwgbWF4LXdpZHRoKTtcblxuICAkX2JveCAgICAgICA6IHN1c3ktZ2V0KGJveC1zaXppbmcsICRsYXlvdXQpO1xuXG4gIEBpZiAkX2JveCB7XG4gICAgQGluY2x1ZGUgb3V0cHV0KChib3gtc2l6aW5nOiAkX2JveCkpO1xuICB9XG5cbiAgQGluY2x1ZGUgc3VzeS1pbnNwZWN0KGNvbnRhaW5lciwgJGluc3BlY3QpO1xuICBAaW5jbHVkZSBmbG9hdC1jb250YWluZXIoJF93aWR0aCwgJF9qdXN0aWZ5LCAkX3Byb3BlcnR5KTtcbiAgQGluY2x1ZGUgc2hvdy1ncmlkKCRsYXlvdXQpO1xufVxuXG4vLyBDb250YWluZXIgW2Z1bmN0aW9uXVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFJldHVybiBjb250YWluZXIgd2lkdGhcbi8vIC0gWyRsYXlvdXRdICA6IDxzZXR0aW5ncz5cbkBmdW5jdGlvbiBjb250YWluZXIoXG4gICRsYXlvdXQ6ICRzdXN5XG4pIHtcbiAgJGxheW91dDogcGFyc2UtZ3JpZCgkbGF5b3V0KTtcbiAgQHJldHVybiBnZXQtY29udGFpbmVyLXdpZHRoKCRsYXlvdXQpO1xufVxuXG4vLyBHZXQgQ29udGFpbmVyIFdpZHRoXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBDYWxjdWxhdGUgdGhlIGNvbnRhaW5lciB3aWR0aFxuLy8gLSBbJGxheW91dF06IDxzZXR0aW5ncz5cbkBmdW5jdGlvbiBnZXQtY29udGFpbmVyLXdpZHRoKFxuICAkbGF5b3V0OiAkc3VzeVxuKSB7XG4gICRsYXlvdXQgICAgICAgICA6IHBhcnNlLWdyaWQoJGxheW91dCk7XG4gICRfd2lkdGggICAgICAgICA6IHN1c3ktZ2V0KGNvbnRhaW5lciwgJGxheW91dCk7XG4gICRfY29sdW1uLXdpZHRoICA6IHN1c3ktZ2V0KGNvbHVtbi13aWR0aCwgJGxheW91dCk7XG4gICRfbWF0aCAgICAgICAgICA6IHN1c3ktZ2V0KG1hdGgsICRsYXlvdXQpO1xuXG4gIEBpZiBub3QoJF93aWR0aCkgb3IgJF93aWR0aCA9PSBhdXRvIHtcbiAgICBAaWYgdmFsaWQtY29sdW1uLW1hdGgoJF9tYXRoLCAkX2NvbHVtbi13aWR0aCkge1xuICAgICAgJF9jb2x1bW5zICAgOiBzdXN5LWdldChjb2x1bW5zLCAkbGF5b3V0KTtcbiAgICAgICRfZ3V0dGVycyAgIDogc3VzeS1nZXQoZ3V0dGVycywgJGxheW91dCk7XG4gICAgICAkX3NwcmVhZCAgICA6IGlmKGlzLXNwbGl0KCRsYXlvdXQpLCB3aWRlLCBuYXJyb3cpO1xuICAgICAgJF93aWR0aCAgICAgOiBzdXN5LXN1bSgkX2NvbHVtbnMsICRfZ3V0dGVycywgJF9zcHJlYWQpICogJF9jb2x1bW4td2lkdGg7XG4gICAgfSBAZWxzZSB7XG4gICAgICAkX3dpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJF93aWR0aDtcbn1cblxuLy8gUGFyc2UgQ29udGFpbmVyIFBvc2l0aW9uXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFBhcnNlIHRoZSAkY29udGFpbmVyLXBvc2l0aW9uIGludG8gbWFyZ2luIHZhbHVlcy5cbi8vIC0gWyRqdXN0aWZ5XSAgIDogbGVmdCB8IGNlbnRlciB8IHJpZ2h0IHwgPGxlbmd0aD4gWzxsZW5ndGg+XVxuQGZ1bmN0aW9uIHBhcnNlLWNvbnRhaW5lci1wb3NpdGlvbihcbiAgJGp1c3RpZnk6IG1hcC1nZXQoJHN1c3ktZGVmYXVsdHMsIGNvbnRhaW5lci1wb3NpdGlvbilcbikge1xuICAkX3JldHVybjogaWYoJGp1c3RpZnkgPT0gbGVmdCwgMCwgYXV0bykgaWYoJGp1c3RpZnkgPT0gcmlnaHQsIDAsIGF1dG8pO1xuXG4gIEBpZiBub3QoaW5kZXgobGVmdCByaWdodCBjZW50ZXIsICRqdXN0aWZ5KSkge1xuICAgICRfcmV0dXJuOiBudGgoJGp1c3RpZnksIDEpO1xuICAgICRfcmV0dXJuOiAkX3JldHVybiBpZihsZW5ndGgoJGp1c3RpZnkpID4gMSwgbnRoKCRqdXN0aWZ5LCAyKSwgJF9yZXR1cm4pO1xuICB9XG5cbiAgQHJldHVybiAkX3JldHVybjtcbn1cbiIsIi8vIFN1c3kgRmFsbGJhY2sgQ2xlYXJmaXhcbi8vID09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBDbGVhcmZpeFxuLy8gLS0tLS0tLS1cbi8vIENoZWNrIGZvciBhbiBleGlzdGluZyBzdXBwb3J0IG1peGluLCBvciBwcm92aWRlIGEgc2ltcGxlIGZhbGxiYWNrLlxuQG1peGluIHN1c3ktY2xlYXJmaXgge1xuICBAaWYgc3VzeS1zdXBwb3J0KGNsZWFyZml4LCAobWl4aW46IGNsZWFyZml4KSkge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICB9IEBlbHNlIHtcbiAgICAmOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBjbGVhcjogYm90aDtcbiAgICB9XG4gIH1cbn1cbiIsIkBtaXhpbiBicmVha3BvaW50KCRjbGFzcykge1xuXHRAaWYgJGNsYXNzID09IHhzIHtcblx0XHRAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHsgQGNvbnRlbnQ7IH1cblx0fVxuXG5cdEBlbHNlIGlmICRjbGFzcyA9PSBzbSB7XG5cdFx0QG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7IEBjb250ZW50OyB9XG5cdH1cblxuXHRAZWxzZSBpZiAkY2xhc3MgPT0gbWQge1xuXHRcdEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkgeyBAY29udGVudDsgfVxuXHR9XG5cblx0QGVsc2UgaWYgJGNsYXNzID09IGxnIHtcblx0XHRAbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7IEBjb250ZW50OyB9XG5cdH1cblxuXHRAZWxzZSB7XG5cdFx0QHdhcm4gXCJCcmVha3BvaW50IG1peGluIHN1cHBvcnRzOiB4cywgc20sIG1kLCBsZ1wiO1xuXHR9XG59XG5cblxuXG5AbWl4aW4gY2xlYXJmaXgge1xuICAmOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG59XG4iLCIvLyBTcGFuIFN5bnRheFxuLy8gPT09PT09PT09PT1cblxuLy8gU3BhbiBbbWl4aW5dXG4vLyAtLS0tLS0tLS0tLS1cbi8vIFNldCBhIHNwYW5uaW5nIGVsZW1lbnQgdXNpbmcgc2hvcnRoYW5kIHN5bnRheC5cbi8vIC0gJHNwYW4gIDogPHNwYW4+XG5AbWl4aW4gc3BhbihcbiAgJHNwYW5cbikge1xuICAkaW5zcGVjdDogJHNwYW47XG4gICRzcGFuOiBwYXJzZS1zcGFuKCRzcGFuKTtcbiAgJG91dHB1dDogc3Bhbi1tYXRoKCRzcGFuKTtcbiAgJG5lc3Rpbmc6IHN1c3ktZ2V0KHNwYW4sICRzcGFuKTtcbiAgJGNsZWFyOiBzdXN5LWdldChjbGVhciwgJHNwYW4pO1xuXG4gICRib3g6IHN1c3ktZ2V0KGJveC1zaXppbmcsICRzcGFuKTtcbiAgJGNvbnRlbnQtYm94OiBpZihzdXN5LWdldChnbG9iYWwtYm94LXNpemluZykgIT0gJ2JvcmRlci1ib3gnLCB0cnVlLCBmYWxzZSk7XG4gICRib3g6ICRib3ggb3IgaWYoaXMtaW5zaWRlKCRzcGFuKSBhbmQgJGNvbnRlbnQtYm94LCBib3JkZXItYm94LCBudWxsKTtcblxuICBAaWYgJGNsZWFyID09IGJyZWFrIHtcbiAgICBAaW5jbHVkZSBicmVhaztcbiAgfSBAZWxzZSBpZiAkY2xlYXIgPT0gbm9icmVhayB7XG4gICAgQGluY2x1ZGUgbm9icmVhaztcbiAgfVxuXG4gIEBpbmNsdWRlIHN1c3ktaW5zcGVjdChzcGFuLCAkaW5zcGVjdCk7XG4gIEBpbmNsdWRlIG91dHB1dCgoYm94LXNpemluZzogJGJveCkpO1xuICBAaW5jbHVkZSBmbG9hdC1zcGFuLW91dHB1dCgkb3V0cHV0Li4uKTtcblxuICBAaWYgdmFsaWQtY29sdW1ucygkbmVzdGluZywgc2lsZW50KSB7XG4gICAgQGluY2x1ZGUgbmVzdGVkKCRzcGFuKSB7IEBjb250ZW50OyB9XG4gIH0gQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIFNwYW4gW2Z1bmN0aW9uXVxuLy8gLS0tLS0tLS0tLS0tLS0tXG4vLyBSZXR1cm4gdGhlIHdpZHRoIG9mIGEgc3Bhbi5cbi8vIC0gJHNwYW4gIDogPHNwYW4+XG5AZnVuY3Rpb24gc3BhbihcbiAgJHNwYW5cbikge1xuICBAcmV0dXJuIGdldC1zcGFuLXdpZHRoKCRzcGFuKTtcbn1cblxuLy8gU3BhbiBNYXRoXG4vLyAtLS0tLS0tLS1cbi8vIEdldCBhbGwgdGhlIHNwYW4gcmVzdWx0cy5cbi8vIC0gJHNwYW46IDxtYXA+XG5AZnVuY3Rpb24gc3Bhbi1tYXRoKFxuICAkc3BhblxuKSB7XG4gICRuZXN0ICAgICAgICAgICAgIDogaWYoc3VzeS1nZXQocm9sZSwgJHNwYW4pID09IG5lc3QsIHRydWUsIGZhbHNlKTtcbiAgJHNwbGl0LW5lc3QgICAgICAgOiBpZihpcy1zcGxpdCgkc3BhbikgYW5kICRuZXN0LCB0cnVlLCBmYWxzZSk7XG4gICRlZGdlICAgICAgICAgICAgIDogZ2V0LWVkZ2UoJHNwYW4pO1xuICAkbG9jYXRpb24gICAgICAgICA6IGdldC1sb2NhdGlvbigkc3Bhbik7XG5cbiAgJGZsb2F0ICAgICAgICAgICAgOiBmcm9tO1xuICAkcGFkZGluZy1iZWZvcmUgICA6IG51bGw7XG4gICRwYWRkaW5nLWFmdGVyICAgIDogbnVsbDtcbiAgJG1hcmdpbi1iZWZvcmUgICAgOiBudWxsO1xuICAkbWFyZ2luLWFmdGVyICAgICA6IG51bGw7XG5cbiAgLy8gY2FsY3VsYXRlIHdpZHRoc1xuICAkc3ByZWFkOiBpbmRleChtYXAtdmFsdWVzKCRzcGFuKSwgc3ByZWFkKTtcbiAgJHNwYW46IGlmKCRzcGxpdC1uZXN0IGFuZCBub3QoJHNwcmVhZCksIG1hcC1tZXJnZSgkc3BhbiwgKHNwcmVhZDogd2lkZSkpLCAkc3Bhbik7XG4gICR3aWR0aDogZ2V0LXNwYW4td2lkdGgoJHNwYW4pO1xuICAkZ3V0dGVyczogZ2V0LWd1dHRlcnMoJHNwYW4pO1xuXG4gIC8vIGFwcGx5IGd1dHRlcnNcbiAgQGlmIGlzLWluc2lkZSgkc3Bhbikge1xuICAgIEBpZiBub3Qoc3VzeS1nZXQocm9sZSwgJHNwYW4pKSB7XG4gICAgICAkcGFkZGluZy1iZWZvcmU6IG1hcC1nZXQoJGd1dHRlcnMsIGJlZm9yZSk7XG4gICAgICAkcGFkZGluZy1hZnRlcjogbWFwLWdldCgkZ3V0dGVycywgYWZ0ZXIpO1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGlmIG5vdCgkc3BsaXQtbmVzdCkge1xuICAgICAgJG1hcmdpbi1iZWZvcmU6IG1hcC1nZXQoJGd1dHRlcnMsIGJlZm9yZSk7XG4gICAgICAkbWFyZ2luLWFmdGVyOiBtYXAtZ2V0KCRndXR0ZXJzLCBhZnRlcik7XG4gICAgfVxuICB9XG5cbiAgLy8gc3BlY2lhbCBtYXJnaW4gaGFuZGxpbmdcbiAgQGlmIHN1c3ktZ2V0KG91dHB1dCwgJHNwYW4pID09IGlzb2xhdGUgYW5kICRsb2NhdGlvbiB7XG4gICAgJG1hcmdpbi1iZWZvcmU6IGdldC1pc29sYXRpb24oJHNwYW4pO1xuICAgICRtYXJnaW4tYWZ0ZXI6IC0xMDAlO1xuICB9IEBlbHNlIGlmICRlZGdlIHtcbiAgICAkaXMtc3BsaXQ6IGlzLXNwbGl0KCRzcGFuKTtcbiAgICAkcG9zOiBzdXN5LWdldChndXR0ZXItcG9zaXRpb24sICRzcGFuKTtcblxuICAgIEBpZiAkZWRnZSA9PSBsYXN0IHtcbiAgICAgICRmbG9hdDogc3VzeS1nZXQobGFzdC1mbG93LCAkc3Bhbik7XG4gICAgfVxuXG4gICAgQGlmIG5vdCgkaXMtc3BsaXQpIHtcbiAgICAgIEBpZiAkZWRnZSA9PSBmdWxsIG9yICgkZWRnZSA9PSBmaXJzdCBhbmQgJHBvcyA9PSBiZWZvcmUpIHtcbiAgICAgICAgJG1hcmdpbi1iZWZvcmU6IDA7XG4gICAgICB9XG4gICAgICBAaWYgJGVkZ2UgPT0gZnVsbCBvciAoJGVkZ2UgPT0gbGFzdCBhbmQgJHBvcyA9PSBhZnRlcikge1xuICAgICAgICAkbWFyZ2luLWFmdGVyOiAwO1xuICAgICAgfVxuICAgIH1cblxuICB9XG5cbiAgQHJldHVybiAoXG4gICAgd2lkdGggICAgICAgICAgIDogJHdpZHRoLFxuICAgIGZsb2F0ICAgICAgICAgICA6ICRmbG9hdCxcbiAgICBtYXJnaW4tYmVmb3JlICAgOiAkbWFyZ2luLWJlZm9yZSxcbiAgICBtYXJnaW4tYWZ0ZXIgICAgOiAkbWFyZ2luLWFmdGVyLFxuICAgIHBhZGRpbmctYmVmb3JlICA6ICRwYWRkaW5nLWJlZm9yZSxcbiAgICBwYWRkaW5nLWFmdGVyICAgOiAkcGFkZGluZy1hZnRlcixcbiAgICBmbG93ICAgICAgICAgICAgOiBzdXN5LWdldChmbG93LCAkc3BhbiksXG4gICk7XG59XG5cbi8vIEdldCBTcGFuIFdpZHRoXG4vLyAtLS0tLS0tLS0tLS0tLVxuLy8gUmV0dXJuIHNwYW4gd2lkdGguXG4vLyAtICRzcGFuOiA8bWFwPlxuQGZ1bmN0aW9uIGdldC1zcGFuLXdpZHRoKFxuICAkc3BhblxuKSB7XG4gICRzcGFuICAgICA6IHBhcnNlLXNwYW4oJHNwYW4pO1xuXG4gICRuICAgICAgICA6IHN1c3ktZ2V0KHNwYW4sICRzcGFuKTtcbiAgJGxvY2F0aW9uIDogZ2V0LWxvY2F0aW9uKCRzcGFuKTtcbiAgJGNvbHVtbnMgIDogc3VzeS1nZXQoY29sdW1ucywgJHNwYW4pO1xuICAkZ3V0dGVycyAgOiBzdXN5LWdldChndXR0ZXJzLCAkc3Bhbik7XG4gICRzcHJlYWQgICA6IHN1c3ktZ2V0KHNwcmVhZCwgJHNwYW4pO1xuXG4gICRjb250ZXh0ICA6IG51bGw7XG4gICRzcGFuLXN1bSA6IG51bGw7XG4gICR3aWR0aCAgICA6IG51bGw7XG5cbiAgQGlmICRuID09ICdmdWxsJyB7XG4gICAgJHBvczogc3VzeS1nZXQoZ3V0dGVyLXBvc2l0aW9uLCAkc3Bhbik7XG4gICAgJHJvbGU6IHN1c3ktZ2V0KHJvbGUsICRzcGFuKTtcbiAgICAkbjogaWYoJHBvcyA9PSBzcGxpdCBhbmQgJHJvbGUgIT0gbmVzdCwgc3VzeS1jb3VudCgkY29sdW1ucyksIDEwMCUpO1xuICB9XG5cbiAgQGlmIHR5cGUtb2YoJG4pICE9IG51bWJlciB7XG4gICAgQHdhcm4gXCIoI3t0eXBlLW9mKCRuKX0pICN7JG59IGlzIG5vdCBhIHZhbGlkIHNwYW4uXCI7XG4gIH0gQGVsc2UgaWYgdW5pdGxlc3MoJG4pIHtcbiAgICAkY29udGV4dDogc3VzeS1zdW0oJGNvbHVtbnMsICRndXR0ZXJzLCBpZihpcy1zcGxpdCgkc3BhbiksIHdpZGUsIG5hcnJvdykpO1xuICAgICRzcHJlYWQ6IGlmKGlzLWluc2lkZSgkc3BhbiksICRzcHJlYWQgb3Igd2lkZSwgJHNwcmVhZCk7XG4gICAgJHNwYW4tc3VtOiBzdXN5KCRuLCAkbG9jYXRpb24sICRjb2x1bW5zLCAkZ3V0dGVycywgJHNwcmVhZCk7XG5cbiAgICAkX21hdGg6IHN1c3ktZ2V0KG1hdGgsICRzcGFuKTtcbiAgICAkX2NvbHVtbi13aWR0aDogc3VzeS1nZXQoY29sdW1uLXdpZHRoLCAkc3Bhbik7XG4gICAgQGlmICRfbWF0aCA9PSBzdGF0aWMge1xuICAgICAgJHdpZHRoOiAkc3Bhbi1zdW0gKiB2YWxpZC1jb2x1bW4tbWF0aCgkX21hdGgsICRfY29sdW1uLXdpZHRoKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgICR3aWR0aDogcGVyY2VudGFnZSgkc3Bhbi1zdW0gLyAkY29udGV4dCk7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICAkd2lkdGg6ICRuO1xuICB9XG5cbiAgQHJldHVybiAkd2lkdGg7XG59XG4iLCIvLyBEaXJlY3Rpb24gSGVscGVyc1xuLy8gPT09PT09PT09PT09PT09PT1cblxuLy8gU3VzeSBGbG93IERlZmF1bHRzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS1cbi8vIC0gUFJJVkFURVxuQGluY2x1ZGUgc3VzeS1kZWZhdWx0cygoXG4gIGZsb3c6IGx0cixcbikpO1xuXG4vLyBHZXQgRGlyZWN0aW9uXG4vLyAtLS0tLS0tLS0tLS0tXG4vLyBSZXR1cm4gdGhlICdmcm9tJyBvciAndG8nIGRpcmVjdGlvbiBvZiBhIGx0ciBvciBydGwgZmxvdy5cbi8vIC0gWyRmbG93XSAgOiBsdHIgfCBydGxcbi8vIC0gWyRrZXldICAgOiBmcm9tIHwgdG9cbkBmdW5jdGlvbiBnZXQtZGlyZWN0aW9uKFxuICAkZmxvdzogbWFwLWdldCgkc3VzeS1kZWZhdWx0cywgZmxvdyksXG4gICRrZXk6IGZyb21cbikge1xuICAkcmV0dXJuOiBpZigkZmxvdyA9PSBydGwsIChmcm9tOiByaWdodCwgdG86IGxlZnQpLCAoZnJvbTogbGVmdCwgdG86IHJpZ2h0KSk7XG4gIEByZXR1cm4gbWFwLWdldCgkcmV0dXJuLCAka2V5KTtcbn1cblxuLy8gVG9cbi8vIC0tXG4vLyBSZXR1cm4gdGhlICd0bycgZGlyZWN0aW9uIG9mIGEgZmxvd1xuLy8gLSBbJGZsb3ddICA6IGx0ciB8IHJ0bFxuQGZ1bmN0aW9uIHRvKFxuICAkZmxvdzogbWFwLWdldCgkc3VzeS1kZWZhdWx0cywgZmxvdylcbikge1xuICBAcmV0dXJuIGdldC1kaXJlY3Rpb24oJGZsb3csIHRvKTtcbn1cblxuLy8gRnJvbVxuLy8gLS0tLVxuLy8gUmV0dXJuIHRoZSAnZnJvbScgZGlyZWN0aW9uIG9mIGEgZmxvd1xuLy8gLSBbJGZsb3ddICA6IGx0ciB8IHJ0bFxuQGZ1bmN0aW9uIGZyb20oXG4gICRmbG93OiBtYXAtZ2V0KCRzdXN5LWRlZmF1bHRzLCBmbG93KVxuKSB7XG4gIEByZXR1cm4gZ2V0LWRpcmVjdGlvbigkZmxvdywgZnJvbSk7XG59XG4iLCIvLyBHdXR0ZXIgU3ludGF4XG4vLyA9PT09PT09PT09PT09XG5cblxuLy8gR3V0dGVyc1xuLy8gLS0tLS0tLVxuLy8gU2V0IGd1dHRlcnMgb24gYW4gZWxlbWVudC5cbi8vIC0gWyRzcGFuXSAgIDogPHNldHRpbmdzPlxuQG1peGluIGd1dHRlcnMoXG4gICRzcGFuOiAkc3VzeVxuKSB7XG4gICRpbnNwZWN0ICA6ICRzcGFuO1xuICAkc3BhbiAgICAgOiBwYXJzZS1ndXR0ZXJzKCRzcGFuKTtcbiAgJF9ndXR0ZXJzIDogZ2V0LWd1dHRlcnMoJHNwYW4pO1xuXG4gICRfb3V0cHV0OiAoXG4gICAgYmVmb3JlOiBtYXAtZ2V0KCRfZ3V0dGVycywgYmVmb3JlKSxcbiAgICBhZnRlcjogbWFwLWdldCgkX2d1dHRlcnMsIGFmdGVyKSxcbiAgICBmbG93OiBzdXN5LWdldChmbG93LCAkc3BhbiksXG4gICk7XG5cbiAgQGluY2x1ZGUgc3VzeS1pbnNwZWN0KGd1dHRlcnMsICRpbnNwZWN0KTtcblxuICBAaWYgaXMtaW5zaWRlKCRzcGFuKSB7XG4gICAgQGluY2x1ZGUgcGFkZGluZy1vdXRwdXQoJF9vdXRwdXQuLi4pO1xuICB9IEBlbHNlIHtcbiAgICBAaW5jbHVkZSBtYXJnaW4tb3V0cHV0KCRfb3V0cHV0Li4uKTtcbiAgfVxufVxuXG5AbWl4aW4gZ3V0dGVyKFxuICAkc3BhbjogJHN1c3lcbikge1xuICBAaW5jbHVkZSBndXR0ZXJzKCRzcGFuKTtcbn1cblxuXG4vLyBHdXR0ZXJcbi8vIC0tLS0tLVxuLy8gUmV0dXJuIHRoZSB3aWR0aCBvZiBhIGd1dHRlci5cbi8vIC0gWyRzcGFuXSAgIDogPHNldHRpbmdzPlxuQGZ1bmN0aW9uIGd1dHRlcihcbiAgJHNwYW46ICRzdXN5XG4pIHtcbiAgJHNwYW46IHBhcnNlLWd1dHRlcnMoJHNwYW4pO1xuXG4gICRfZ3V0dGVyczogZ2V0LWd1dHRlcnMoJHNwYW4pO1xuICAkX2d1dHRlcnM6IG1hcC1nZXQoJF9ndXR0ZXJzLCBiZWZvcmUpIG9yIG1hcC1nZXQoJF9ndXR0ZXJzLCBhZnRlcik7XG5cbiAgQHJldHVybiAkX2d1dHRlcnM7XG59XG5cbkBmdW5jdGlvbiBndXR0ZXJzKFxuICAkc3BhbjogJHN1c3lcbikge1xuICBAcmV0dXJuIGd1dHRlcigkc3Bhbik7XG59XG5cblxuLy8gR2V0IEd1dHRlciBXaWR0aFxuLy8gLS0tLS0tLS0tLS0tLS0tLVxuLy8gUmV0dXJuIGd1dHRlciB3aWR0aC5cbi8vIC0gWyRjb250ZXh0XTogPGNvbnRleHQ+XG5AZnVuY3Rpb24gZ2V0LWd1dHRlci13aWR0aChcbiAgJGNvbnRleHQ6ICRzdXN5XG4pIHtcbiAgJGNvbnRleHQgIDogcGFyc2UtZ3V0dGVycygkY29udGV4dCk7XG5cbiAgJF9ndXR0ZXJzIDogc3VzeS1nZXQoZ3V0dGVycywgJGNvbnRleHQpO1xuICAkX2d1dHRlciAgOiBzdXN5LWdldChndXR0ZXItb3ZlcnJpZGUsICRjb250ZXh0KTtcblxuICBAaWYgJF9ndXR0ZXJzIGFuZCAoJF9ndXR0ZXJzID4gMCkgYW5kIG5vdCgkX2d1dHRlcikge1xuICAgICRfY29sdW1uLXdpZHRoOiBzdXN5LWdldChjb2x1bW4td2lkdGgsICRjb250ZXh0KTtcbiAgICAkX21hdGg6IGd1dHRlci1tYXRoKCRjb250ZXh0KTtcbiAgICBAaWYgJF9tYXRoID09IHN0YXRpYyB7XG4gICAgICAkX2d1dHRlcjogJF9ndXR0ZXJzICogdmFsaWQtY29sdW1uLW1hdGgoJF9tYXRoLCAkX2NvbHVtbi13aWR0aCk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAkX2NvbHVtbnMgOiBzdXN5LWdldChjb2x1bW5zLCAkY29udGV4dCk7XG4gICAgICAkX3NwcmVhZCAgOiBpZihpcy1zcGxpdCgkY29udGV4dCksIHdpZGUsIHN1c3ktZ2V0KHNwcmVhZCwgJGNvbnRleHQpKTtcbiAgICAgICRfZ3V0dGVyICA6IHBlcmNlbnRhZ2UoJF9ndXR0ZXJzIC8gc3VzeS1zdW0oJF9jb2x1bW5zLCAkX2d1dHRlcnMsICRfc3ByZWFkKSk7XG4gICAgfVxuICB9XG5cbiAgJF9ndXR0ZXI6IGlmKCRfZ3V0dGVyID09ICduby1ndXR0ZXJzJyBvciAkX2d1dHRlciA9PSAnbm8tZ3V0dGVyJywgbnVsbCwgJF9ndXR0ZXIpO1xuXG4gIEByZXR1cm4gJF9ndXR0ZXI7XG59XG5cblxuLy8gR2V0IEd1dHRlcnNcbi8vIC0tLS0tLS0tLS0tXG4vLyBSZXR1cm4gYmVmb3JlIGFuZCBhZnRlciBndXR0ZXIgdmFsdWVzLlxuLy8gLSBbJGNvbnRleHRdOiA8Y29udGV4dD5cbkBmdW5jdGlvbiBnZXQtZ3V0dGVycyhcbiAgJGNvbnRleHQ6ICRzdXN5XG4pIHtcbiAgJGNvbnRleHQgICAgICAgICAgICA6IHBhcnNlLWd1dHRlcnMoJGNvbnRleHQpO1xuXG4gICRfZ3V0dGVyLXBvc2l0aW9uICAgOiBzdXN5LWdldChndXR0ZXItcG9zaXRpb24sICRjb250ZXh0KTtcbiAgJF9ndXR0ZXIgICAgICAgICAgICA6IGdldC1ndXR0ZXItd2lkdGgoJGNvbnRleHQpO1xuXG4gICRfcmV0dXJuICAgICAgICAgICAgOiAoYmVmb3JlOiBudWxsLCBhZnRlcjogbnVsbCk7XG5cbiAgQGlmIGlzLXNwbGl0KCRjb250ZXh0KSBhbmQgJF9ndXR0ZXIge1xuICAgICRfZ3V0dGVyOiAkX2d1dHRlciAvIDI7XG4gICAgJF9yZXR1cm46IG1hcC1tZXJnZSgkX3JldHVybiwgKGJlZm9yZTogJF9ndXR0ZXIsIGFmdGVyOiAkX2d1dHRlcikpO1xuICB9IEBlbHNlIHtcbiAgICAkX3JldHVybjogbWFwLW1lcmdlKCRfcmV0dXJuLCAoJF9ndXR0ZXItcG9zaXRpb246ICRfZ3V0dGVyKSk7XG4gIH1cblxuICBAcmV0dXJuICRfcmV0dXJuO1xufVxuXG5cbi8vIElzIEluc2lkZVxuLy8gLS0tLS0tLS0tXG4vLyBSZXR1cm5zIHRydWUgaWYgZ3V0dGVycyBhcmUgaW5zaWRlLlxuLy8gJGNvbnRleHQ6IDxjb250ZXh0PlxuQGZ1bmN0aW9uIGlzLWluc2lkZShcbiAgJGNvbnRleHRcbikge1xuICAkX2luc2lkZTogaW5zaWRlIGluc2lkZS1zdGF0aWM7XG4gICRfZ3V0dGVyLXBvc2l0aW9uOiBzdXN5LWdldChndXR0ZXItcG9zaXRpb24sICRjb250ZXh0KTtcblxuICBAcmV0dXJuIGlmKGluZGV4KCRfaW5zaWRlLCAkX2d1dHRlci1wb3NpdGlvbiksIHRydWUsIGZhbHNlKTtcbn1cblxuXG4vLyBJcyBTcGxpdFxuLy8gLS0tLS0tLS1cbi8vIFJldHVybnMgdHJ1ZSBpZiBndXR0ZXJzIGFyZSBzcGxpdC5cbi8vICRjb250ZXh0OiA8Y29udGV4dD5cbkBmdW5jdGlvbiBpcy1zcGxpdChcbiAgJGNvbnRleHRcbikge1xuICAkX3NwbGl0OiBzcGxpdCBpbnNpZGUgaW5zaWRlLXN0YXRpYztcbiAgJF9ndXR0ZXItcG9zaXRpb246IHN1c3ktZ2V0KGd1dHRlci1wb3NpdGlvbiwgJGNvbnRleHQpO1xuXG4gIEByZXR1cm4gaWYoaW5kZXgoJF9zcGxpdCwgJF9ndXR0ZXItcG9zaXRpb24pLCB0cnVlLCBmYWxzZSk7XG59XG5cblxuLy8gR3V0dGVyIE1hdGhcbi8vIC0tLS0tLS0tLS0tXG4vLyBSZXR1cm4gdGhlIG1hdGggdG8gdXNlIGZvciBndXR0ZXIgY2FsY3VsYXRpb25zXG4vLyAkY29udGV4dDogPGNvbnRleHQ+XG5AZnVuY3Rpb24gZ3V0dGVyLW1hdGgoXG4gICRjb250ZXh0OiAkc3VzeVxuKSB7XG4gICRfcmV0dXJuICA6IHN1c3ktZ2V0KG1hdGgsICRjb250ZXh0KTtcbiAgJF9yZXR1cm4gIDogaWYoc3VzeS1nZXQoZ3V0dGVyLXBvc2l0aW9uLCAkY29udGV4dCkgPT0gaW5zaWRlLXN0YXRpYywgc3RhdGljLCAkX3JldHVybik7XG5cbiAgQHJldHVybiAkX3JldHVybjtcbn1cbiIsImJvZHkuaGlkZGVuLXNjcm9sbCB7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxufVxyXG4uc2wtb3ZlcmxheSB7XHJcbiAgcG9zaXRpb246IGZpeGVkO1xyXG4gIGxlZnQ6IDA7XHJcbiAgcmlnaHQ6IDA7XHJcbiAgdG9wOiAwO1xyXG4gIGJvdHRvbTogMDtcclxuICBiYWNrZ3JvdW5kOiAjZmZmO1xyXG4gIG9wYWNpdHk6IDAuNztcclxuICBkaXNwbGF5OiBub25lO1xyXG4gIHotaW5kZXg6IDEwMDY7XHJcbn1cclxuLnNsLXdyYXBwZXIge1xyXG4gIHotaW5kZXg6IDEwMDA7XHJcbiAgYnV0dG9uIHtcclxuICAgIGJvcmRlcjogMCBub25lO1xyXG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgICBmb250LXNpemU6IDI0cHg7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgIG9wYWNpdHk6IDAuNztcclxuICAgIH1cclxuICB9XHJcbiAgXHJcbiAgLnNsLWNsb3NlIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICByaWdodDogMzBweDtcclxuICAgIHRvcDogMzBweDtcclxuICAgIHotaW5kZXg6IDEwMTU7XHJcbiAgfVxyXG4gIFxyXG4gIC5zbC1jb3VudGVyIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICB0b3A6IDMwcHg7XHJcbiAgICBsZWZ0OiAzMHB4O1xyXG4gICAgei1pbmRleDogMTAxNTtcclxuICB9XHJcbiAgXHJcbiAgLnNsLW5hdmlnYXRpb24ge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgYnV0dG9uIHtcclxuICAgICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgICB0b3A6IDUwJTtcclxuICAgICAgbWFyZ2luLXRvcDogLSAxMHB4O1xyXG4gICAgICBoZWlnaHQ6IDMwcHg7XHJcbiAgICAgIHdpZHRoOiAzMHB4O1xyXG4gICAgICBsaW5lLWhlaWdodDogMzBweDtcclxuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgei1pbmRleDogMTAxNTtcclxuICAgICAgZm9udC1mYW1pbHk6IGFyaWFsIHNhbnMtc2VyaWY7XHJcbiAgICAgICYuc2wtbmV4dCB7XHJcbiAgICAgICAgcmlnaHQ6IDQwcHg7XHJcbiAgICAgIH1cclxuICAgICAgXHJcbiAgICAgICYuc2wtcHJldiB7XHJcbiAgICAgICAgbGVmdDogNDBweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICBcclxuICAuc2wtaW1hZ2Uge1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgLW1zLXRvdWNoLWFjdGlvbjogbm9uZTtcclxuICAgIHRvdWNoLWFjdGlvbjogbm9uZTtcclxuICAgIHotaW5kZXg6IDEwMDAwO1xyXG4gICAgaW1nIHtcclxuICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIH1cclxuICAgIGlmcmFtZSB7XHJcbiAgICAgIGJvcmRlcjogMCBub25lO1xyXG4gICAgICBiYWNrZ3JvdW5kOiAjMDAwO1xyXG4gICAgfVxyXG4gICAgLnNsLWNhcHRpb24ge1xyXG4gICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICBwYWRkaW5nOiAxMHB4O1xyXG4gICAgICBjb2xvcjogI2ZmZjtcclxuICAgICAgYmFja2dyb3VuZDogIzAwMDtcclxuICAgICAgb3BhY2l0eTogMC44O1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIGJvdHRvbTogMDtcclxuICAgICAgbGVmdDogMDtcclxuICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgIFxyXG4gICAgICAmLnBvcy10b3Age1xyXG4gICAgICAgIGJvdHRvbTogYXV0bztcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgIH1cclxuICAgICAgXHJcbiAgICAgICYucG9zLW91dHNpZGUge1xyXG4gICAgICAgIGJvdHRvbTogYXV0bztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgXHJcbiAgICAuc2wtZG93bmxvYWQge1xyXG4gICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIGJvdHRvbTogNXB4O1xyXG4gICAgICByaWdodDogNXB4O1xyXG4gICAgICBjb2xvcjogI2ZmZjtcclxuICAgICAgei1pbmRleDogMTAwNTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5zbC1zcGlubmVyIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICBib3JkZXI6IDVweCBzb2xpZCAjMzMzO1xyXG4gICAgYm9yZGVyLXJhZGl1czogNDBweDtcclxuICAgIGhlaWdodDogNDBweDtcclxuICAgIGxlZnQ6IDUwJTtcclxuICAgIG1hcmdpbjogLTIwcHggMCAwIC0yMHB4O1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgIHRvcDogNTAlO1xyXG4gICAgd2lkdGg6IDQwcHg7XHJcbiAgICB6LWluZGV4OiAxMDA3O1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb246IHB1bHNhdGUgMXMgZWFzZS1vdXQgaW5maW5pdGU7XHJcbiAgICAtbW96LWFuaW1hdGlvbjogcHVsc2F0ZSAxcyBlYXNlLW91dCBpbmZpbml0ZTtcclxuICAgIC1tcy1hbmltYXRpb246IHB1bHNhdGUgMXMgZWFzZS1vdXQgaW5maW5pdGU7XHJcbiAgICAtby1hbmltYXRpb246IHB1bHNhdGUgMXMgZWFzZS1vdXQgaW5maW5pdGU7XHJcbiAgICBhbmltYXRpb246IHB1bHNhdGUgMXMgZWFzZS1vdXQgaW5maW5pdGU7XHJcbn1cclxuXHJcbi5zbC1zY3JvbGxiYXItbWVhc3VyZSB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogLTk5OTlweDtcclxuICB3aWR0aDogNTBweDtcclxuICBoZWlnaHQ6IDUwcHg7XHJcbiAgb3ZlcmZsb3c6IHNjcm9sbDtcclxufVxyXG5cclxuQC13ZWJraXQta2V5ZnJhbWVzIHB1bHNhdGV7XHJcbiAgICAwJSB7XHJcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoLjEpO1xyXG4gICAgICBvcGFjaXR5OiAwLjA7XHJcbiAgICB9XHJcbiAgICA1MCUge1xyXG4gICAgICBvcGFjaXR5OiAxO1xyXG4gICAgfVxyXG4gICAgMTAwJSB7XHJcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4yKTtcclxuICAgICAgb3BhY2l0eTogMDtcclxuICAgIH1cclxufVxyXG5Aa2V5ZnJhbWVzIHB1bHNhdGUge1xyXG4gICAgMCUge1xyXG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKC4xKTtcclxuICAgICAgb3BhY2l0eTogMC4wO1xyXG4gICAgfVxyXG4gICAgNTAlIHtcclxuICAgICAgb3BhY2l0eTogMTtcclxuICAgIH1cclxuICAgIDEwMCUge1xyXG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMik7XHJcbiAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICB9XHJcbn1cclxuXHJcbkAtbW96LWtleWZyYW1lcyBwdWxzYXRle1xyXG4gICAgMCUge1xyXG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKC4xKTtcclxuICAgICAgb3BhY2l0eTogMC4wO1xyXG4gICAgfVxyXG4gICAgNTAlIHtcclxuICAgICAgb3BhY2l0eTogMTtcclxuICAgIH1cclxuICAgIDEwMCUge1xyXG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMik7XHJcbiAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICB9XHJcbn1cclxuXHJcbkAtby1rZXlmcmFtZXMgcHVsc2F0ZXtcclxuICAgIDAlIHtcclxuICAgICAgdHJhbnNmb3JtOiBzY2FsZSguMSk7XHJcbiAgICAgIG9wYWNpdHk6IDAuMDtcclxuICAgIH1cclxuICAgIDUwJSB7XHJcbiAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICB9XHJcbiAgICAxMDAlIHtcclxuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjIpO1xyXG4gICAgICBvcGFjaXR5OiAwO1xyXG4gICAgfVxyXG59XHJcblxyXG5ALW1zLWtleWZyYW1lcyBwdWxzYXRle1xyXG4gICAgMCUge1xyXG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKC4xKTtcclxuICAgICAgb3BhY2l0eTogMC4wO1xyXG4gICAgfVxyXG4gICAgNTAlIHtcclxuICAgICAgb3BhY2l0eTogMTtcclxuICAgIH1cclxuICAgIDEwMCUge1xyXG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMik7XHJcbiAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICB9XHJcbn0iLCIvKipcbiAqIEBwYWNrYWdlXHRcdFBpY2tNZVVwIC0galF1ZXJ5IGRhdGVwaWNrZXIgcGx1Z2luXG4gKiBAYXV0aG9yXHRcdE5hemFyIE1va3J5bnNreWkgPG5hemFyQG1va3J5bnNreWkuY29tPlxuICogQGF1dGhvclx0XHRTdGVmYW4gUGV0cmUgPHd3dy5leWVjb24ucm8+XG4gKiBAY29weXJpZ2h0XHRDb3B5cmlnaHQgKGMpIDIwMTMtMjAxNSwgTmF6YXIgTW9rcnluc2t5aVxuICogQGNvcHlyaWdodFx0Q29weXJpZ2h0IChjKSAyMDA4LTIwMDksIFN0ZWZhbiBQZXRyZVxuICogQGxpY2Vuc2VcdFx0TUlUIExpY2Vuc2UsIHNlZSBsaWNlbnNlLnR4dFxuICovXG4kYm9yZGVyLXJhZGl1cyAgICAgICAgICAgICAgICAgICAgOiAuNGVtICFkZWZhdWx0O1xuJGJhY2tncm91bmQgICAgICAgICAgICAgICAgICAgICAgIDogIzAwMCAhZGVmYXVsdDtcbiRjb2xvciAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICNlZWUgIWRlZmF1bHQ7XG4kYmFja2dyb3VuZC1ob3ZlciAgICAgICAgICAgICAgICAgOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRjb2xvci1ob3ZlciAgICAgICAgICAgICAgICAgICAgICA6ICM4OGM1ZWIgIWRlZmF1bHQ7XG4kbmF2LWNvbG9yICAgICAgICAgICAgICAgICAgICAgICAgOiAkY29sb3IgIWRlZmF1bHQ7XG4kbmF2LWNvbG9yLWhvdmVyICAgICAgICAgICAgICAgICAgOiAkY29sb3ItaG92ZXIgIWRlZmF1bHQ7XG4kbm90LWluLW1vbnRoICAgICAgICAgICAgICAgICAgICAgOiAjNjY2ICFkZWZhdWx0O1xuJG5vdC1pbi1tb250aC1ob3ZlciAgICAgICAgICAgICAgIDogIzk5OSAhZGVmYXVsdDtcbiRkaXNhYmxlZCAgICAgICAgICAgICAgICAgICAgICAgICA6ICMzMzMgIWRlZmF1bHQ7XG4kc2VsZWN0ZWQgICAgICAgICAgICAgICAgICAgICAgICAgOiAkY29sb3IgIWRlZmF1bHQ7XG4kc2VsZWN0ZWQtYmFja2dyb3VuZCAgICAgICAgICAgICAgOiAjMTM2YTlmICFkZWZhdWx0O1xuJG5vdC1pbi1tb250aC1zZWxlY3RlZC1iYWNrZ3JvdW5kIDogIzE3Mzg0ZCAhZGVmYXVsdDtcbiRkYXktb2Ytd2VlayAgICAgICAgICAgICAgICAgICAgICA6ICRub3QtaW4tbW9udGgtaG92ZXIgIWRlZmF1bHQ7XG4kdG9kYXktYmFja2dyb3VuZCAgICAgICAgICAgICAgICAgOiAkbm90LWluLW1vbnRoLXNlbGVjdGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kdG9kYXktY29sb3IgICAgICAgICAgICAgICAgICAgICAgOiAkY29sb3ItaG92ZXIgIWRlZmF1bHQ7XG5cbi5waWNrbWV1cCB7XG5cdGJhY2tncm91bmQgICAgICA6ICRiYWNrZ3JvdW5kO1xuXHRib3JkZXItcmFkaXVzICAgOiAkYm9yZGVyLXJhZGl1cztcblx0LW1vei1ib3gtc2l6aW5nIDogY29udGVudC1ib3g7XG5cdGJveC1zaXppbmcgICAgICA6IGNvbnRlbnQtYm94O1xuXHRkaXNwbGF5ICAgICAgICAgOiBub25lO1xuXHRwb3NpdGlvbiAgICAgICAgOiBhYnNvbHV0ZTtcblxuXHQqIHtcblx0XHQtbW96LWJveC1zaXppbmcgOiBib3JkZXItYm94O1xuXHRcdGJveC1zaXppbmcgICAgICA6IGJvcmRlci1ib3g7XG5cdH1cblxuXHQucG11LWluc3RhbmNlIHtcblx0XHRkaXNwbGF5ICAgIDogaW5saW5lLWJsb2NrO1xuXHRcdGhlaWdodCAgICAgOiAxMy44ZW07XG5cdFx0cGFkZGluZyAgICA6IC41ZW07XG5cdFx0dGV4dC1hbGlnbiA6IGNlbnRlcjtcblx0XHR3aWR0aCAgICAgIDogMTVlbTtcblxuXHRcdC5wbXUtYnV0dG9uIHtcblx0XHRcdGNvbG9yICAgICAgICAgICA6ICRjb2xvcjtcblx0XHRcdGN1cnNvciAgICAgICAgICA6IHBvaW50ZXI7XG5cdFx0XHRvdXRsaW5lICAgICAgICAgOiBub25lO1xuXHRcdFx0dGV4dC1kZWNvcmF0aW9uIDogbm9uZTtcblx0XHR9XG5cblx0XHQucG11LXRvZGF5IHtcblx0XHRcdGJhY2tncm91bmQgOiAkdG9kYXktYmFja2dyb3VuZDtcblx0XHRcdGNvbG9yICAgICAgOiAkdG9kYXktY29sb3I7XG5cdFx0fVxuXG5cdFx0LnBtdS1idXR0b246aG92ZXIge1xuXHRcdFx0YmFja2dyb3VuZCA6ICRiYWNrZ3JvdW5kLWhvdmVyO1xuXHRcdFx0Y29sb3IgICAgICA6ICRjb2xvci1ob3Zlcjtcblx0XHR9XG5cblx0XHQucG11LW5vdC1pbi1tb250aCB7XG5cdFx0XHRjb2xvciA6ICRub3QtaW4tbW9udGg7XG5cdFx0fVxuXG5cdFx0LnBtdS1kaXNhYmxlZCxcblx0XHQucG11LWRpc2FibGVkOmhvdmVyIHtcblx0XHRcdGNvbG9yICA6ICRkaXNhYmxlZDtcblx0XHRcdGN1cnNvciA6IGRlZmF1bHQ7XG5cdFx0fVxuXG5cdFx0LnBtdS1zZWxlY3RlZCB7XG5cdFx0XHRiYWNrZ3JvdW5kIDogJHNlbGVjdGVkLWJhY2tncm91bmQ7XG5cdFx0XHRjb2xvciAgICAgIDogJHNlbGVjdGVkO1xuXHRcdH1cblxuXHRcdC5wbXUtbm90LWluLW1vbnRoLnBtdS1zZWxlY3RlZCB7XG5cdFx0XHRiYWNrZ3JvdW5kIDogJG5vdC1pbi1tb250aC1zZWxlY3RlZC1iYWNrZ3JvdW5kO1xuXHRcdH1cblxuXHRcdG5hdiB7XG5cdFx0XHRjb2xvciAgICAgICA6ICRuYXYtY29sb3I7XG5cdFx0XHRkaXNwbGF5ICAgICA6IC1tcy1mbGV4Ym94O1xuXHRcdFx0ZGlzcGxheSAgICAgOiAtd2Via2l0LWZsZXg7XG5cdFx0XHRkaXNwbGF5ICAgICA6IGZsZXg7XG5cdFx0XHRsaW5lLWhlaWdodCA6IDJlbTtcblxuXHRcdFx0KjpmaXJzdC1jaGlsZCA6aG92ZXIge1xuXHRcdFx0XHRjb2xvciA6ICRuYXYtY29sb3ItaG92ZXI7XG5cdFx0XHR9XG5cblx0XHRcdC5wbXUtcHJldixcblx0XHRcdC5wbXUtbmV4dCB7XG5cdFx0XHRcdGRpc3BsYXkgOiBub25lO1xuXHRcdFx0XHRoZWlnaHQgIDogMmVtO1xuXHRcdFx0XHR3aWR0aCAgIDogMWVtO1xuXHRcdFx0fVxuXHRcdFx0LnBtdS1tb250aCB7XG5cdFx0XHRcdHdpZHRoIDogMTRlbTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQucG11LXllYXJzLFxuXHRcdC5wbXUtbW9udGhzIHtcblx0XHRcdCoge1xuXHRcdFx0XHRkaXNwbGF5ICAgICA6IGlubGluZS1ibG9jaztcblx0XHRcdFx0bGluZS1oZWlnaHQgOiAzLjZlbTtcblx0XHRcdFx0d2lkdGggICAgICAgOiAzLjVlbTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQucG11LWRheS1vZi13ZWVrIHtcblx0XHRcdGNvbG9yICA6ICRkYXktb2Ytd2Vlaztcblx0XHRcdGN1cnNvciA6IGRlZmF1bHQ7XG5cdFx0fVxuXG5cdFx0LnBtdS1kYXktb2Ytd2Vlayxcblx0XHQucG11LWRheXMge1xuXHRcdFx0KiB7XG5cdFx0XHRcdGRpc3BsYXkgICAgIDogaW5saW5lLWJsb2NrO1xuXHRcdFx0XHRsaW5lLWhlaWdodCA6IDEuNWVtO1xuXHRcdFx0XHR3aWR0aCAgICAgICA6IDJlbTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQucG11LWRheS1vZi13ZWVrICoge1xuXHRcdFx0bGluZS1oZWlnaHQgOiAxLjhlbTtcblx0XHR9XG5cdH1cblxuXHQucG11LWluc3RhbmNlOmZpcnN0LWNoaWxkIC5wbXUtcHJldixcblx0LnBtdS1pbnN0YW5jZTpsYXN0LWNoaWxkIC5wbXUtbmV4dCB7XG5cdFx0ZGlzcGxheSA6IGJsb2NrO1xuXHR9XG5cblx0LnBtdS1pbnN0YW5jZTpmaXJzdC1jaGlsZCxcblx0LnBtdS1pbnN0YW5jZTpsYXN0LWNoaWxkIHtcblx0XHQucG11LW1vbnRoIHtcblx0XHRcdHdpZHRoIDogMTNlbTtcblx0XHR9XG5cdH1cblxuXHQucG11LWluc3RhbmNlOmZpcnN0LWNoaWxkOmxhc3QtY2hpbGQgLnBtdS1tb250aCB7XG5cdFx0d2lkdGggOiAxMmVtO1xuXHR9XG5cblx0Jjpub3QoLnBtdS12aWV3LWRheXMpIC5wbXUtZGF5cyxcblx0Jjpub3QoLnBtdS12aWV3LWRheXMpIC5wbXUtZGF5LW9mLXdlZWssXG5cdCY6bm90KC5wbXUtdmlldy1tb250aHMpIC5wbXUtbW9udGhzLFxuXHQmOm5vdCgucG11LXZpZXcteWVhcnMpIC5wbXUteWVhcnMge1xuXHRcdGRpc3BsYXkgOiBub25lO1xuXHR9XG59XG4iLCIuYWRzIHtcbiAgICBtYXJnaW4tdG9wOiAzcmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDZyZW07XG5cbiAgICBhe1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBndXR0ZXIoKTtcbiAgICAgICAgd2lkdGg6IHNwYW4oNik7XG5cbiAgICAgICAgaW1ne1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICAmOmZpcnN0LWNoaWxke1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIuYnJlYWRjcnVtYiB7XG4gICAgcGFkZGluZy10b3A6IDEuNHJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMS40cmVtO1xuXG5cbiAgICBhLFxuICAgIC5icmVhZGNydW1iX2xhc3R7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBmb250LXNpemU6IDAuOXJlbTtcbiAgICAgICAgY29sb3I6ICMwMDA7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwLjRyZW07XG4gICAgfVxuXG4gICAgLmJyZWFkY3J1bWJfbGFzdCB7XG4gICAgICAgIGNvbG9yOiAkY29sb3ItbWFpbjtcbiAgICB9XG5cbiAgICAuaWNvbiB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDAuNHJlbTtcbiAgICAgICAgZm9udC1zaXplOiAwLjZlbTtcbiAgICB9XG59XG4iLCIuYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcGFkZGluZzogMWVtIDEuNWVtO1xuICAgIGJvcmRlcjogc29saWQgMnB4IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yYWRpdXM6IDNyZW07XG4gICAgY29sb3I6ICNmZmY7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGZvbnQtc2l6ZTogLjlyZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuXG4gICAgJi5wcmltYXJ5IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgICB9XG5cbiAgICAmLnNlY29uZGFyeSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogI2ZmZjtcbiAgICB9XG5cbiAgICAmLnNtYWxsIHtcbiAgICAgICAgcGFkZGluZzogMC42ZW0gMWVtO1xuICAgIH1cbn1cblxuXG5cbi5idG4tbWVudVxue1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgei1pbmRleDogMztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogM3JlbTtcbiAgICBoZWlnaHQ6IDNyZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbGluZS1oZWlnaHQ6IDNyZW0gIWltcG9ydGFudDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1kKVxuICAgIHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuXG5cbi5idG4tY2xvc2V7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogM3JlbTtcbiAgICBoZWlnaHQ6IDNyZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBjb2xvcjogIzAwMDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAmOmJlZm9yZXtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB3aWR0aDogM3JlbTtcbiAgICAgICAgaGVpZ2h0OiAzcmVtO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGZvbnQtc2l6ZTogMS42ZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzcmVtO1xuICAgIH1cbn1cbiIsIi5mb3JtLWNvbnRhY3Qge1xuICAgID4gZGl2IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMWVtO1xuICAgIH1cblxuICAgIC5idXR0b24tY29udGFpbmVyIHtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxufVxuXG5cbi5jb250YWN0LW1hcC1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG4gICAgaGVpZ2h0OiAyMDBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItbWFpbjtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWQpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNnJlbTtcblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvYmctY29udGFjdC5qcGcnKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm1hcCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZCkge1xuICAgICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5kb3dubG9hZHMge1xuICAgIHVsIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgfVxuICAgIC5kb3dubG9hZHMtaXRlbSB7XG4gICAgICAgIHBhZGRpbmc6IDAuNXJlbSAwO1xuICAgICAgICBib3JkZXItYm90dG9tOiBzb2xpZCAxcHggJGdyYXktbGlnaHQ7XG4gICAgICAgIHRyYW5zaXRpb246IHBhZGRpbmcgMC42cztcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDFyZW07XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDFyZW07XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheS1saWdodDtcbiAgICAgICAgfVxuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgY29sb3I6ICMwMDA7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAuYnRuLWRvd25sb2FkIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc20pIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuXG4gICAgICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLmV4Y2VycHQtYmxvY2tzXG57XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG5cbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1kKVxuICAgIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuXG5cblxuICAgIC5leGNlcnB0LWJsb2NrXG4gICAge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZClcbiAgICAgICAge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxcmVtO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWQpXG4gICAgICAgIHtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IGd1dHRlcigpO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGd1dHRlcigpO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIHdpZHRoOiBzcGFuKDMpO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6bnRoLWNoaWxkKG9kZClcbiAgICAgICAge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZWZlZDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZClcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6Zmlyc3QtY2hpbGRcbiAgICAgICAge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZClcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG5cblxuXG5cblxuXG5cbiAgICAgICAgLmltYWdlLWNvbnRhaW5lcntcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogLTAuMjVlbTtcbiAgICAgICAgICAgIHdpZHRoOiBzcGFuKDMpO1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZClcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogKDEwMCUgLyA1NjAgKiA0MjApO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheS1saWdodDtcblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpbWdcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1kKVxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cblxuXG4gICAgICAgIC5jYXB0aW9uXG4gICAgICAgIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogLTAuMjVlbTtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDFyZW07XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDFyZW07XG4gICAgICAgICAgICB3aWR0aDogc3Bhbig5KTtcbiAgICAgICAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC45ZW07XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWQpXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIGJvdHRvbTogLjhyZW07XG4gICAgICAgICAgICAgICAgbGVmdDogLjhyZW07XG4gICAgICAgICAgICAgICAgei1pbmRleDogMDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogLjVlbSAuNWVtO1xuICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjZyZW0pO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYm90dG9tIC40cywgdHJhbnNmb3JtIC40cywgb3BhY2l0eSAuNHM7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB0aW1lICsgdGltZSArIC5pbWFnZS1jb250YWluZXIgKyAuY2FwdGlvbntcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogOHJlbTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZClcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IC41ZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB0aW1le1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAuNnJlbTtcbiAgICAgICAgICAgIGxlZnQ6IDFlbTtcbiAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwLjZlbTtcbiAgICAgICAgICAgIHdpZHRoOiA1ZW07XG4gICAgICAgICAgICBoZWlnaHQ6IDVlbTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDVlbTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gICAgICAgICAgICBmb250LXNpemU6IDAuN2VtO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1kKVxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAuNnJlbTtcbiAgICAgICAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuZGF5LFxuICAgICAgICAgICAgLm1vbnRoLFxuICAgICAgICAgICAgLnllYXJcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdqb3NlZmluX3NhbnNib2xkJztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmRheXtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLW1haW47XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjNlbTtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMWVtO1xuXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAubW9udGh7XG4gICAgICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC55ZWFye1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmZyb21cbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBsZWZ0OiAxZW07XG4gICAgICAgICAgICAgICAgei1pbmRleDogMjtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWQpXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICByaWdodDogNWVtO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5pY29ue1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMC44ZW07XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC0wLjNlbSwgLTUwJSk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgKyB0aW1le1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiA1ZW07XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZClcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC5kYXksXG4gICAgICAgICAgICAgICAgICAgIC5tb250aCxcbiAgICAgICAgICAgICAgICAgICAgLnllYXJcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICMwMDA7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuXG5cbiAgICAgICAgLnRpdGxlXG4gICAgICAgIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjJlbTtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnam9zZWZpbl9zYW5zYm9sZCc7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWQpXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgICAgICAuc3VidGl0bGVcbiAgICAgICAge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgICAgICB9XG5cbiAgICAgICAgLnJlYWRtb3JlXG4gICAgICAgIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWQpXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogNDAlO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgLjVzLCB0b3AgLjRzO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcblxuICAgICAgICAgICAgICAgICY6YmVmb3Jle1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6bnRoLWNoaWxkKDRuLTMpe1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLmV2ZW50c3tcbiAgICAgICAgLmV4Y2VycHQtYmxvY2tcbiAgICAgICAge1xuICAgICAgICAgICAgbWluLWhlaWdodDogNC41ZW07XG5cbiAgICAgICAgICAgIC5pbWFnZS1jb250YWluZXJ7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA0LjVlbTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWQpXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogKDEwMCUgLyA1NjAgKiA0MjApO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheS1saWdodDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBpbWd7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZClcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5jYXB0aW9uXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMXJlbTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDVyZW07XG4gICAgICAgICAgICAgICAgd2lkdGg6IDk1JTtcbiAgICAgICAgICAgICAgICBjb2xvcjogIzAwMDtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWQpXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW07XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMC41cmVtO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMS42cmVtKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBhLmV4Y2VycHQtYmxvY2tcbiAgICB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWQpXG4gICAgICAgIHtcbiAgICAgICAgICAgICY6aG92ZXJcbiAgICAgICAgICAgIHtcblxuICAgICAgICAgICAgICAgIC5yZWFkbW9yZVxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjpiZWZvcmVcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgfVxuXG5cbiAgICAgICAgICAgICAgICAmOmFmdGVyXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5jYXB0aW9uXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpiZWZvcmVcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgjMDAwLCAuNyk7XG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IC41cztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjphZnRlclxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6IGNhbGMoLjhyZW0gLSAycHgpO1xuICAgICAgICAgICAgICAgIGxlZnQ6IGNhbGMoLjhyZW0gLSAycHgpO1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuNnJlbSk7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxLjZyZW0pO1xuICAgICAgICAgICAgICAgIGJvcmRlcjogc29saWQgMnB4ICNmZmY7XG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC42cztcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLmZpcnN0LWJsb2NrLWxhcmdlXG4gICAge1xuICAgICAgICAuZXhjZXJwdC1ibG9ja1xuICAgICAgICB7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1kKVxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKDRuLTMpXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogZ3V0dGVyKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKDRuKzYpXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJjpmaXJzdC1jaGlsZFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBzcGFuKDYpO1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuNGVtO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuY29sLTNcbiAgICB7XG4gICAgICAgIC5leGNlcnB0LWJsb2NrXG4gICAgICAgIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWQpXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IHNwYW4oNCk7XG5cbiAgICAgICAgICAgICAgICAmOm50aC1jaGlsZCg0bi0zKXtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGd1dHRlcigpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKDNuLTIpe1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgIH1cbn1cbiIsIi5wYWdlLXRlbXBsYXRlLW1vZGVsLWV2ZW50cyB7XG4gICAgLmZpbHRlcnMge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1kKSB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5maWx0ZXJzXG57XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGxlZnQ6IC0xMDAlO1xuICAgIHotaW5kZXg6IDQ7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBwYWRkaW5nOiA0cmVtIDFyZW0gMXJlbSAxcmVtO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCNmZmYsIDAuOSk7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNHMsIGxlZnQgMC40cztcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWQpXG4gICAge1xuICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICBwYWRkaW5nOiAxcmVtIDEuNnJlbTtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG5cbiAgICAmLmlzLW1vYmlsZS12aXNpYmxle1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cblxuICAgIC5maWx0ZXJzLWl0ZW17XG4gICAgICAgIG1hcmdpbi10b3A6IDFyZW07XG5cbiAgICAgICAgJi5pcy1jb2xsYXBzZWRcbiAgICAgICAge1xuXG4gICAgICAgICAgICAuZmlsdGVycy1pdGVtLXRpdGxlXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgJjpiZWZvcmVcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSByb3RhdGUoMGRlZyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmZpbHRlcnMtaXRlbS1jb250ZW50XG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogMDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjpmaXJzdC1jaGlsZHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZmlsdGVycy1pdGVtLXRpdGxlXG4gICAge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMmVtO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBmb250LXNpemU6IDFlbTtcbiAgICAgICAgZm9udC1mYW1pbHk6ICdqb3NlZmluX3NhbnNib2xkJztcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWQpXG4gICAgICAgIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC45ZW07XG4gICAgICAgIH1cblxuICAgICAgICAmOmJlZm9yZVxuICAgICAgICB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgZm9udC1zaXplOiAwLjZlbTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSByb3RhdGUoLTE4MGRlZyk7XG5cbiAgICAgICAgICAgIEBleHRlbmQgLmljb247XG4gICAgICAgICAgICBAZXh0ZW5kIC5pY29uLXNlbGVjdDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5maWx0ZXJzLWl0ZW0tY29udGVudFxuICAgIHtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgbWFyZ2luOiAwLjhlbSAwIDAgMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgICAgICBmb250LXNpemU6IDEuMmVtO1xuICAgICAgICBtYXgtaGVpZ2h0OiA3MDBweDtcbiAgICAgICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAwLjRzLCBtYXJnaW4tdG9wIDAuNHM7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMnB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWQpXG4gICAgICAgIHtcbiAgICAgICAgICAgIC8vZm9udC1zaXplOiAxZW07XG4gICAgICAgIH1cblxuICAgICAgICBsaXtcbiAgICAgICAgICAgIG1hcmdpbjogMC4yZW0gMDtcbiAgICAgICAgfVxuXG4gICAgICAgIGxhYmVse1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgcGFkZGluZzogMC4yZW0gMDtcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAycmVtKTtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgICAgICBmb250LXNpemU6IDAuOGVtO1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmJ0bi1jbG9zZVxuICAgIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZClcbiAgICAgICAge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5idXR0b257XG4gICAgICAgIG1hcmdpbi10b3A6IDFyZW07XG4gICAgfVxufVxuXG5cblxuLmJ0bi1zaG93LWZpbHRlcnN7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6IDE7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDNyZW07XG4gICAgaGVpZ2h0OiAzcmVtO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGxpbmUtaGVpZ2h0OiAzcmVtICFpbXBvcnRhbnQ7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZClcbiAgICB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAmOmJlZm9yZXtcbiAgICAgICAgZm9udC1zaXplOiAxLjJlbTtcbiAgICB9XG59XG4iLCIubmV3c2xldHRlclxue1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItbWFpbjtcblxuICAgIC5zZWN0aW9uLXRpdGxlXG4gICAge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1kKVxuICAgICAgICB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgfVxuXG4gICAgICAgIHNwYW4gKyBzcGFuXG4gICAgICAgIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogLjRlbTtcbiAgICAgICAgfVxuICAgIH1cblxuXG5cbiAgICBmb3JtIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMnJlbTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgIGlucHV0W3R5cGU9J2VtYWlsJ10sXG4gICAgICAgIC5idXR0b24sXG4gICAgICAgIHNlbGVjdCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIG1hcmdpbjogLjVlbSAwO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWQpXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IC0uMjVlbTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogZ3V0dGVyKCk7XG4gICAgICAgICAgICAgICAgd2lkdGg6IHNwYW4oNCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpbnB1dFt0eXBlPSdlbWFpbCddIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLmxvZ2luLWZvcm0ge1xuICAgIHBhZGRpbmc6IDFlbSAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1tYWluO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIGgyLFxuICAgIGlucHV0W3R5cGU9J3RleHQnXSxcbiAgICBpbnB1dFt0eXBlPSdwYXNzd29yZCddLFxuICAgIC5idXR0b24ge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1kKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IC0uMjVlbTtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBoMiB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAuNmVtO1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgZm9udC1zaXplOiAxLjJlbTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1kKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgICAvL3dpZHRoOiBzcGFuKDMpO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGlucHV0W3R5cGU9J3RleHQnXSxcbiAgICBpbnB1dFt0eXBlPSdwYXNzd29yZCddIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB3aWR0aDogc3Bhbig1KTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtMC4yNWVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDFlbTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMWVtO1xuXG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZCkge1xuICAgICAgICAgICAgLy9kaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogZ3V0dGVyKCk7XG4gICAgICAgICAgICB3aWR0aDogc3BhbigyKTtcbiAgICAgICAgfVxuICAgIH1cblxuXG5cbiAgICBpbnB1dFt0eXBlPSdwYXNzd29yZCddIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGd1dHRlcigpO1xuICAgIH1cblxuXG4gICAgLmJ1dHRvbi5wcmltYXJ5IHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB3aWR0aDogc3BhbigyKTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGd1dHRlcigpO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC0wLjI1ZW07XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuXG4gICAgICAgIC5pY29uIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWQpIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnRleHQge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZCkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWQpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBndXR0ZXIoKTtcbiAgICAgICAgICAgIHdpZHRoOiBzcGFuKDIpO1xuXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLmlzLXVzZXItbG9nZ2VkLWluIHtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcblxuICAgICAgICAuYnV0dG9uLnByaW1hcnkge1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDFlbTtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDFlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC51c2VyLWluZm8ge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZCkge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG5cbiAgICAgICAgPiBsaSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxcmVtO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZCkge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZCkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICBib3JkZXItbGVmdDogc29saWQgMXB4ICMwMDA7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCAxcmVtO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBib3JkZXItbGVmdDogbm9uZTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmVycmV1cl9kaXZ7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxZW07XG4gICAgICB1bHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgfVxuICAgIH1cbn1cbiIsIi5wYXJzbGV5LWVycm9ycy1saXN0e1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGNvbG9yOiAkY29sb3ItZXJyb3I7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgZm9udC1zaXplOiAwLjhlbTtcblxuXG4gICAgPiBsaXtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwLjNlbSAxZW07XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGxpZ2h0ZW4oJGNvbG9yLWVycm9yLCA0MCUpO1xuICAgIH1cbn1cblxuLmZpZWxkLWNvbnRhaW5lcntcbiAgICBtYXJnaW46IDFlbSAwO1xufVxuXG5ib2R5e1xuICAgIGZpZWxkc2V0e1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IDFlbSAwO1xuICAgICAgICBtYXJnaW46IDRlbSAwO1xuICAgICAgICBib3JkZXItdG9wOiBzb2xpZCAxcHggI2NjYztcbiAgICB9XG5cbiAgICBsZWdlbmR7XG4gICAgICAgIHBhZGRpbmc6IDAgMC42ZW07XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAyZW07XG4gICAgfVxufVxuXG5cblxuLmlucHV0LXRleHQsXG4uc2VsZWN0LFxuLnRleHRhcmVhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAwLjg1ZW0gMS41ZW07XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjJmMjtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGZvbnQtc2l6ZTogLjlyZW07XG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAuNXMsIGJvcmRlci1jb2xvciAuMjVzIGVhc2UtaW4tb3V0O1xuXG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcblxuICAgICYucm91bmRlZCB7XG4gICAgICAgIGJvcmRlcjogc29saWQgMnB4ICNmZmY7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDNyZW07XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICAgIGNvbG9yOiAjOGE4YThhO1xuICAgIH1cblxuICAgICYuaW5saW5lIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICB9XG59XG5cblxuLnNlbGVjdCB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvaWNvbi1zZWxlY3Quc3ZnJyk7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgY2VudGVyO1xuICAgIGJhY2tncm91bmQtc2l6ZTogMWVtIGF1dG87XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLW9yaWdpbjogY29udGVudC1ib3g7XG5cblxuICAgICYucm91bmRlZCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1tYWluO1xuICAgICAgICBiYWNrZ3JvdW5kLW9yaWdpbjogY29udGVudC1ib3g7XG4gICAgICAgIGNvbG9yOiAjMDAwO1xuICAgIH1cbn1cblxuc2VsZWN0OjotbXMtZXhwYW5ke1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi50ZXh0YXJlYSB7XG4gICAgaGVpZ2h0OiA2cmVtO1xufVxuXG5cbi5jaGVja2JveGVzLWxpc3Qge1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBjb2x1bW4tY291bnQ6IDQ7XG4gICAgY29sdW1uLWdhcDogMWVtO1xuXG4gICAgaW5wdXQge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuNGVtO1xuICAgIH1cbn1cblxuXG4ub3BlbmluZy10aW1lIHtcbiAgICAuZGF5IHtcbiAgICAgICAgd2lkdGg6IDIwJTtcbiAgICB9XG5cbiAgICAuYW0ge1xuICAgICAgICB3aWR0aDogMzUlO1xuICAgIH1cblxuICAgIC5wbSB7XG4gICAgICAgIHdpZHRoOiAzNSU7XG4gICAgfVxuXG4gICAgLmFtLFxuICAgIC5wbSB7XG4gICAgICAgIC5pbnB1dC10ZXh0e1xuICAgICAgICAgICAgd2lkdGg6IDZyZW07XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMC42ZW07XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuNmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmFjdGlvbntcbiAgICAgICAgd2lkdGg6IDEwJTtcbiAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIH1cbn1cblxuLnN1bmRheS1vcGVuaW5nLXRpbWUge1xuXG4gICAgLyp0ZCxcbiAgICB0aCB7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgfSovXG4gICAgLmRheSB7XG4gICAgICAgIHdpZHRoOiAxNSU7XG4gICAgfVxuXG4gICAgLmFtLFxuICAgIC5wbSB7XG4gICAgICAgIC8vIHdpZHRoOiAzMCU7XG5cbiAgICAgICAgLmlucHV0LXRleHR7XG4gICAgICAgICAgICB3aWR0aDogNnJlbTtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwLjZlbTtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMC42ZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYWN0aW9uIHtcbiAgICAgICAgd2lkdGg6IDEwJTtcbiAgICB9XG59XG5cblxuLmJ0bi1kZWxldGUge1xuICAgIHdpZHRoOiAycmVtO1xuICAgIGhlaWdodDogMnJlbTtcbiAgICBmb250LXNpemU6IDEuMmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBsaW5lLWhlaWdodDogMnJlbSAhaW1wb3J0YW50O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBmb250LXNpemUgMC4ycztcbiAgICBtYXJnaW4tdG9wOiAzcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICB6LWluZGV4OiAyO1xuICAgIGJvcmRlci1yYWRpdXM6IDFyZW07XG4gICAgYm94LXNoYWRvdzogMHB4IDBweCAzcHggMHB4IHJnYmEoI2ZmZiwgMSk7XG59XG5cbi5idG4tZGVsZXRlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDJweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItZXJyb3I7XG59XG4iLCIuZmMtY29sLTEsXG4uZmMtY29sLTIsXG4uZmMtY29sLTN7XG4gICAgbWFyZ2luOiAycmVtIDA7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1kKSB7XG4gICAgICAgIG1hcmdpbjogMCAtMXJlbTtcbiAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBib3JkZXItY29sbGFwc2U6IHNlcGFyYXRlO1xuICAgICAgICBib3JkZXItc3BhY2luZzogMXJlbTtcbiAgICB9XG5cbiAgICA+IGRpdntcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZCkge1xuICAgICAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgIH1cblxuICAgICAgICBpbWd7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHVsLFxuICAgIG9se1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDFlbTtcbiAgICB9XG5cbiAgICBsaXtcbiAgICAgICAgbWFyZ2luOiAwLjVlbSAwO1xuICAgIH1cbn1cblxuXG4uZmMtY29sLTJ7XG4gICAgPiBkaXZ7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWQpIHtcbiAgICAgICAgICAgIHdpZHRoOiAoMTAwJSAvIDIpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uZmMtY29sLTN7XG4gICAgPiBkaXZ7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWQpIHtcbiAgICAgICAgICAgIHdpZHRoOiAoMTAwJSAvIDMpO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLmdhbGxlcnkge1xuICAgIHBhZGRpbmc6IDFyZW0gMDtcbiAgICBib3JkZXItYm90dG9tOiBzb2xpZCAxcHggJGdyYXktbGlnaHQ7XG5cbiAgICAuZ2FsbGVyeS1pdGVte1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtMC4yNWVtO1xuICAgICAgICB3aWR0aDogc3BhbigzKTtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgcGFkZGluZy10b3A6IHNwYW4oMyk7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBndXR0ZXIoKTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogZ3V0dGVyKCk7XG5cbiAgICAgICAgJjpudGgtY2hpbGQoNG4tMikge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1kKSB7XG4gICAgICAgICAgICB3aWR0aDogc3BhbigyKTtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiBzcGFuKDIpO1xuXG4gICAgICAgICAgICAmOm50aC1jaGlsZCg0bi0yKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGd1dHRlcigpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOm50aC1jaGlsZCg2bi00KSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpbWcge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgLmljb24ge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWQpXG4gICAgICAgIHtcbiAgICAgICAgICAgICY6aG92ZXJcbiAgICAgICAgICAgIHtcblxuICAgICAgICAgICAgICAgIC5pY29uXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgc2NhbGUoMSk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjpiZWZvcmVcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgfVxuXG5cbiAgICAgICAgICAgICAgICAmOmFmdGVyXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpiZWZvcmVcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgjMDAwLCAuNyk7XG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IC41cztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjphZnRlclxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6IGNhbGMoLjhyZW0gLSAycHgpO1xuICAgICAgICAgICAgICAgIGxlZnQ6IGNhbGMoLjhyZW0gLSAycHgpO1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuNnJlbSk7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxLjZyZW0pO1xuICAgICAgICAgICAgICAgIGJvcmRlcjogc29saWQgMnB4ICNmZmY7XG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC42cztcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMik7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5pY29uIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgICAgICAgdG9wOiAzMCU7XG4gICAgICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMmVtO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHNjYWxlKDAuMik7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuNnMsIHRvcCAuNHMsIHRyYW5zZm9ybSAuNHM7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5pY29uLWNhdGVnb3J5IHtcbiAgICB3aWR0aDogMi4xZW07XG4gICAgaGVpZ2h0OiAyLjFlbTtcbiAgICBib3JkZXItcmFkaXVzOiA1ZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiAxLjRlbTtcbiAgICBsaW5lLWhlaWdodDogMi4xZW0gIWltcG9ydGFudDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWQpIHtcbiAgICAgICAgZm9udC1zaXplOiAyLjRlbTtcbiAgICB9XG59XG4iLCIuaW1hZ2UtZmllbGQge1xuICAgIGJvcmRlcjogc29saWQgMXB4ICNjY2M7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmctdG9wOiAoMTAwJSAvIDI4MCAqIDIxMCk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIC5idG4tZWRpdCxcbiAgICAuYnRuLWRlbGV0ZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICB3aWR0aDogMnJlbTtcbiAgICAgICAgaGVpZ2h0OiAycmVtO1xuICAgICAgICBmb250LXNpemU6IDEuMmVtO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAycmVtO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIHRyYW5zaXRpb246IGZvbnQtc2l6ZSAwLjJzO1xuICAgICAgICBtYXJnaW4tdG9wOiAzcHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxcmVtO1xuICAgICAgICBib3gtc2hhZG93OiAwcHggMHB4IDNweCAwcHggcmdiYSgjZmZmLCAxKTtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIC8vZm9udC1zaXplOiAxLjRlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5idG4tZWRpdCB7XG4gICAgICAgIHJpZ2h0OiAycmVtO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDZweDtcbiAgICAgICAgZm9udC1zaXplOiAxLjFlbTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgICB9XG5cbiAgICAuYnRuLWRlbGV0ZSB7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDJweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWVycm9yO1xuICAgIH1cblxuICAgIC5jdXJyZW50LWltYWdlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgICAgbWF4LXdpZHRoOiA4MCU7XG4gICAgICAgIG1heC1oZWlnaHQ6IDYwJTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgJi5jb3ZlciB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiBub25lO1xuXG4gICAgICAgICAgICAmLnBvcnRyYWl0IHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgLy9taW4taGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmxhbmRzY2FwZSB7XG4gICAgICAgICAgICAgICAgLy9taW4td2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBpbnB1dFt0eXBlPVwiZmlsZVwiXSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgaW1nW3NyYz1cIlwiXSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuIiwiLmluZm8tbGlzdCB7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIC8vYm9yZGVyLWJvdHRvbTogc29saWQgMXB4ICNjY2M7XG4gICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcblxuICAgID4gbGkge1xuICAgICAgICBwYWRkaW5nOiAwLjVlbSAwO1xuXG4gICAgICAgICY6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdyYXktbGlnaHQ7XG4gICAgICAgIH1cblxuICAgICAgICAmOm50aC1jaGlsZChldmVuKSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBsaWdodGVuKCRncmF5LWxpZ2h0LCA1JSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubGFiZWwsXG4gICAgLmRldGFpbCB7XG5cbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC0wLjI1ZW07XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgIHBhZGRpbmc6IDAgMC41ZW07XG4gICAgfVxuXG4gICAgLmxhYmVsIHtcbiAgICAgICAgd2lkdGg6IDMwJTtcbiAgICB9XG5cbiAgICAuZGV0YWlsIHtcbiAgICAgICAgd2lkdGg6IDcwJTtcbiAgICB9XG59XG4iLCIuaW5mby13aW5kb3cge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoIzAwMCwgMC44KTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjRzLCBvcGFjaXR5IDAuNHM7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMTAwJSk7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1kKSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTEwMCUpO1xuICAgIH1cblxuICAgICYuaGFzLWljb257XG4gICAgICAgIC5pY29uLWNhdGVnb3J5e1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuaW1hZ2UtY29udGFpbmVyIHtcbiAgICAgICAgcGFkZGluZzogM3JlbSAxcmVtIDFyZW0gMXJlbTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICAudGl0bGUge1xuICAgICAgICBtYXJnaW46IDAgMCAxZW07XG4gICAgICAgIGNvbG9yOiAkY29sb3ItbWFpbjtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgZm9udC1zaXplOiAxLjJlbTtcbiAgICB9XG5cbiAgICAudGV4dCB7XG4gICAgICAgIHBhZGRpbmc6IDJlbSAxZW07XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGZvbnQtc2l6ZTogMS40ZW07XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxZW07XG4gICAgICAgIH1cblxuICAgICAgICBwIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5idXR0b24ge1xuICAgICAgICBtYXJnaW4tdG9wOiAxZW07XG4gICAgfVxuXG4gICAgLmljb24tY2F0ZWdvcnkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWQpIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS40ZW07XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuaXMtdmlzaWJsZSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICAgIH1cbn1cbiIsIi5zbC13cmFwcGVyIHtcbiAgICAuc2wtY2xvc2Uge1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgIHotaW5kZXg6IDExMDAwICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgLmJ0bi1jbG9zZXtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogM3JlbTtcbiAgICAgICAgICAgIGhlaWdodDogM3JlbTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICAgICAgICBjb2xvcjogIzAwMDtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgICAgICAgJjpiZWZvcmV7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAzcmVtO1xuICAgICAgICAgICAgICAgIGhlaWdodDogM3JlbTtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjZlbTtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogM3JlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnNsLW92ZXJsYXkge1xuICAgIG9wYWNpdHk6IDAuOTtcbn1cblxuLnNsLXdyYXBwZXIgLnNsLW5hdmlnYXRpb24ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc20pIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICB9XG59XG4iLCIuaGVhZGVyLWxvZ28ge1xuICAgIG1hcmdpbjogMDtcbiAgICBoZWlnaHQ6IDEwMHB4O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZCkge1xuICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgICB3aWR0aDogc3BhbigzKTtcbiAgICAgICAgaGVpZ2h0OiAxMTRweDtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgICB9XG59XG5cbi5oZWFkZXItbG9nby1saW5rIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxcmVtKTtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltZy91Y3ZsLnBuZycpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWQpIHtcbiAgICAgICAgd2lkdGg6IDE1NHB4O1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgc3BhbiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHRleHQtaW5kZW50OiAtOTk5OXB4O1xuICAgIH1cbn1cbiIsIi5uYXYtbGFuZ3VhZ2Uge1xuICAgIC8qcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogM3JlbTsqL1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBoZWlnaHQ6IDNyZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLW1haW47XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1kKSB7XG4gICAgICAgIC8qcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHJpZ2h0OiAwOyovXG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuXG4gICAgdWwge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHBhZGRpbmc6IDAgLjhlbTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLW1haW47XG4gICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICB9XG5cbiAgICBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC0wLjI1ZW07XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICAgICAgYSwgc3BhbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIC4yZW07XG4gICAgICAgICAgICBjb2xvcjogIzAwMDtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC45ZW07XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogM3JlbTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZCkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IC40ZW0gLjJlbTtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5pcy1hY3RpdmUgc3BhbiB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDJweDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLm5hdi1tYWluIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDEwMCUgIWltcG9ydGFudDtcbiAgICB6LWluZGV4OiA0O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoI2ZmZiwgMC45KTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb246IGxlZnQgMC40cywgb3BhY2l0eSAwLjRzO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZCkge1xuICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgICBvdmVyZmxvdy15OiB2aXNpYmxlO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuXG4gICAgJi5pcy1tb2JpbGUtdmlzaWJsZXtcbiAgICAgICAgbGVmdDogMCAhaW1wb3J0YW50O1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cblxuICAgICY6YmVmb3JlIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC0wLjI1ZW07XG4gICAgICAgIHdpZHRoOiAwO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWQpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgIH1cblxuICAgID4gdWwge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbjogMCAtMC4yNWVtIDAgMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1kKSB7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIH1cblxuICAgICAgICA+IC5tZW51LWl0ZW0ge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDFyZW07XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWQpIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICA+IGEge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDFlbSAwO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuNGVtO1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnam9zZWZpbl9zYW5zYm9sZCc7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1kKSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogLjVlbSAxLjVlbTtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxZW07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICA+IGEge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAyZW07XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1tYWluO1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICA+IC5jaGlsZHJlbiB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5jdXJyZW50LW1lbnUtaXRlbSA+IGEge1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDJlbTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItbWFpbjtcbiAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgID4gLnN0b3JlcyB7XG4gICAgICAgICAgICA+IC5jaGlsZHJlbiB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCNmZmYsIC45KTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDAuOWVtO1xuXG4gICAgICAgICAgICAgICAgPiB1bCB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDFyZW07XG4gICAgICAgICAgICAgICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgY29sdW1uLWNvdW50OiAzO1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNvbnRhaW5lcjtcblxuICAgICAgICAgICAgICAgICAgICA+IGxpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICA+IGEge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDRlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogIzAwMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5pY29uLWNhdGVnb3J5IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjJlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+IHNwYW4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJiArIHNwYW4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDAuNmVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDRlbSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5idG4tY2xvc2Uge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1kKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uaGVhZGVyIHtcbiAgICAucGhvbmUge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDFyZW07XG4gICAgICAgIGhlaWdodDogM3JlbTtcbiAgICAgICAgY29sb3I6ICMwMDA7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgZm9udC1zaXplOiAxLjJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDNyZW07XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZCkge1xuICAgICAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICAgICAgICBwYWRkaW5nOiAuNWVtIDFlbTtcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gICAgICAgICAgICBmb250LXNpemU6IDFlbTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgICAgIH1cblxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuNGVtO1xuICAgICAgICAgICAgY29sb3I6ICMwMDA7XG5cbiAgICAgICAgICAgIEBleHRlbmQgLmljb247XG4gICAgICAgICAgICBAZXh0ZW5kIC5pY29uLXBob25lO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLm5hdi1tZW1iZXJzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheS1saWdodDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWQpIHtcblxuICAgIH1cblxuICAgID4gdWwge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBjb250YWluZXI7XG4gICAgICAgIH1cblxuICAgICAgICA+IC5tZW51LWl0ZW0ge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBib3JkZXItdG9wOiBzb2xpZCAxcHggZGFya2VuKCRncmF5LWxpZ2h0LCAxNSUpO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgID4gYSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMC41ZW0gMXJlbTtcbiAgICAgICAgICAgICAgICBjb2xvcjogIzAwMDtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjJlbTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNvbnRhaW5lcjtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtKSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogLjVlbSAxcmVtO1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDFlbTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgID4gYSB7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgPiAuY2hpbGRyZW4ge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuY3VycmVudC1tZW51LWl0ZW0ge1xuICAgICAgICAgICAgICAgID4gYSB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiBzb2xpZCA4cHggIzAwMDtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiBzb2xpZCAycHggIzAwMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiBub25lO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLnByZXYtbmV4dC1wb3N0IHtcbiAgICBwYWRkaW5nLXRvcDogMXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAxcmVtO1xuICAgIHBhZGRpbmctbGVmdDogMDtcblxuICAgIEBleHRlbmQgLmNvbnRhaW5lcjtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1kKSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDFyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMXJlbTtcbiAgICAgICAgbWluLWhlaWdodDogNXJlbTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XG5cbiAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgfVxuXG4gICAgLm5leHQsXG4gICAgLnByZXYge1xuICAgICAgICB3aWR0aDogc3Bhbig2KTtcbiAgICAgICAgY29sb3I6ICMwMDA7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgZm9udC1zaXplOiAxLjJlbTtcbiAgICAgICAgZm9udC1mYW1pbHk6ICdqb3NlZmluX3NhbnNib2xkJztcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1kKSB7XG4gICAgICAgICAgICB3aWR0aDogc3Bhbig1KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5pY29uIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiAzcmVtO1xuICAgICAgICAgICAgaGVpZ2h0OiAzcmVtO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogM3JlbTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogM3JlbTtcblxuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnRpdGxlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWQpIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDVyZW0pO1xuICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucHJldiB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuXG4gICAgICAgIC5pY29uIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMWVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm5leHQge1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuXG4gICAgICAgIC5pY29uIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxZW07XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIjbm90aWZpY2F0aW9uc3tcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAxMDAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB6LWluZGV4OiAxMDtcbiAgICBwYWRkaW5nOiAzcmVtO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNHMsIG9wYWNpdHkgMC40cywgdG9wIDAuNHM7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCk7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcblxuICAgICYuaXMtdmlzaWJsZXtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgIH1cblxuICAgIC5tZXNzYWdle1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAmLnN1Y2Nlc3N7XG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLXN1Y2Nlc3M7XG4gICAgICAgIH1cblxuICAgICAgICAmLmVycm9ye1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvci1lcnJvcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc20pIHtcbiAgICAgICAgbWF4LXdpZHRoOiAyMHJlbTtcbiAgICB9XG59XG4iLCIucGFydG5lcnN7XG4gICAgbWFyZ2luOiA4cmVtIDAgNnJlbSAwO1xuXG4gICAgdWx7XG4gICAgICAgIG1hcmdpbjogMnJlbSAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICAucGFydG5lcntcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC0wLjI1ZW07XG4gICAgICAgIHBhZGRpbmc6IDFlbSAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1kKVxuICAgICAgICB7XG4gICAgICAgICAgICBtYXJnaW46IDAuNGVtIDFlbTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcblxuICAgICAgICB9XG5cbiAgICAgICAgaW1ne1xuICAgICAgICAgICAgbWF4LWhlaWdodDogM3JlbTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZCkge1xuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDZyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIuc2lnbmF0dXJlXG57XG4gICAgY29sb3I6ICMwMDA7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgc3BhbntcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICBmb250LXNpemU6IDAuOGVtO1xuICAgIH1cblxuICAgIGltZ1xuICAgIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cbn1cbiIsIi5tYWluLXNsaWRlc2hvdyB7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1ib3R0b206IDZyZW07XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWF4LXdpZHRoOiAxNjIwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICAuc2xpZGUge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgIC5pbWFnZS1jb250YWluZXIge1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogLTUwJTtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDIwMCU7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1kKSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnJlYWRtb3JlIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luOiAtMS41cmVtIGF1dG8gMCBhdXRvO1xuICAgICAgICAgICAgd2lkdGg6IDNyZW07XG4gICAgICAgICAgICBoZWlnaHQ6IDNyZW07XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAzcmVtO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjRlbTtcblxuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmljb24ge1xuICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHNwYW4gKyBzcGFuIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnRpdGxlIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuNmVtO1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdncmFmb2xpdGEtc2NyaXB0JztcblxuICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICArIC5zbGlkZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ub3dsLWRvdHNcbntcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAub3dsLWRvdHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW46IDAgMC41cmVtO1xuICAgICAgICB3aWR0aDogMXJlbTtcbiAgICAgICAgaGVpZ2h0OiAxcmVtO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxcmVtO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xuXG4gICAgICAgICYuYWN0aXZle1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLW1haW47XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIuc2luZ2xlLXVjdmxfc2hvcCB7XG4gICAgLmltYWdlLWNvbnRhaW5lciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICBpbWcge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tY2F0ZWdvcnkge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgNTAlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jb250ZW50LXdyYXBwZXIge1xuICAgICAgICAubG9nbyB7XG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnBheW1lbnQtbWV0aG9kcyB7XG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMC40ZW07XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgICAgICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmNvb3JkcyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcblxuICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDUwJTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWQpIHtcbiAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcCArIHAge1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZCkge1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5hZGRyZXNzLFxuICAgICAgICAucGhvbmUge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBmb250LWZhbWlseTogJ2pvc2VmaW5fc2Fuc2JvbGQnO1xuICAgICAgICB9XG5cbiAgICAgICAgLnBob25lIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDFlbTtcblxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICMwMDA7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLndlYnNpdGUsXG4gICAgICAgIC5lbWFpbCB7XG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLW1haW47XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICBmb250LWZhbWlseTogJ2pvc2VmaW5fc2Fuc2JvbGQnO1xuXG4gICAgICAgIH1cblxuXG4gICAgICAgIC5vcGVuaW5nLXRpbWUge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMWVtO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1kKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAwLjllbTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMC41ZW0gMDtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuZGF5IHtcbiAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMzAlO1xuICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdqb3NlZmluX3NhbnNib2xkJztcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWQpIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuaG91cnMge1xuICAgICAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICAgICAgICB3aWR0aDogNzAlO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZCkge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgID4gc3BhbiB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogNTAlO1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuYW0ge1xuICAgICAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1kKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5wbSB7XG4gICAgICAgICAgICAgICAgICAgIGZsb2F0OiByaWdodDtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1kKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5jb250ZW50LXNpZGViYXIge1xuICAgICAgICAgICAgcCxcbiAgICAgICAgICAgIHVsIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDJlbSAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLnN0b3Jlcy1saXN0IHtcbiAgICAmX19pdGVtIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBhZGRpbmc6IDFlbSAwO1xuICAgICAgICBjb2xvcjogIzAwMDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDFzLCB0cmFuc2Zvcm0gMC40cztcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHhzKSB7XG4gICAgICAgICAgICAmOm50aC1jaGlsZChvZGQpIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheS1saWdodDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IC0wLjI1ZW07XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGd1dHRlcigpO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIHdpZHRoOiBzcGFuKDQpO1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICAgICAgJjpudGgtY2hpbGQoM24tMikge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5pcy1oaWRkZW4ge1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC41KTtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX2ltZyB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IC0wLjI1ZW07XG4gICAgICAgICAgICB3aWR0aDogc3Bhbig0KTtcbiAgICAgICAgICAgIGhlaWdodDogNXJlbTtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc20pIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDhyZW07XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA4cmVtO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICA+IGltZyB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDgwJTtcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiA4MCU7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtKSB7XG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogNTAlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmljb24tY2F0ZWdvcnkge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjRlbTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICZfX3RleHQge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAtMC4yNWVtO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGd1dHRlcigpO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMXJlbTtcbiAgICAgICAgICAgIHdpZHRoOiBzcGFuKDgpO1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbSkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmX19uYW1lIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICBmb250LXNpemU6IDFlbTtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnam9zZWZpbl9zYW5zYm9sZCc7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc20pIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAwLjVlbSAwO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4xZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBwIHtcbiAgICAgICAgICAgIG1hcmdpbjogMC40ZW0gMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuc3RvcmVzLWluZmluaXRlLXNjcm9sbCB7XG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltZy9sb2FkaW5nLmdpZicpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBhdXRvIDIzcHg7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnM7XG4gICAgICAgIH1cblxuICAgICAgICAmLmlzLWxvYWRpbmcge1xuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAzcmVtO1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLmNvbC00IHtcblxuICAgICAgICAuc3RvcmVzLWxpc3RfX2l0ZW0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbSkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiBzcGFuKDMpO1xuXG4gICAgICAgICAgICAgICAgJjpudGgtY2hpbGQoM24tMikge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogZ3V0dGVyKCk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjpudGgtY2hpbGQoNG4tMykge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIuc3RvcmVzLW1hcC1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIG1hcmdpbi1ib3R0b206IDZyZW07XG4gICAgaGVpZ2h0OiAzMDBweDtcblxuICAgICY6YWZ0ZXJ7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKCcuLi9pbWcvbG9hZGluZy5naWYnKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlciByZ2JhKCNmZmYsIDAuNyk7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogYXV0byAyM3B4O1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzLCBoZWlnaHQgMC40cztcbiAgICB9XG5cbiAgICAmLmlzLWxvYWRpbmd7XG4gICAgICAgICY6YWZ0ZXJ7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZCkge1xuICAgICAgICBoZWlnaHQ6IDcwMHB4O1xuICAgIH1cblxuICAgIC5tYXAge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgLmNvbnRhaW5lciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgbWFyZ2luLXRvcDogLTcwMHB4O1xuXG4gICAgICAgIC5zaWRlYmFyIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWQpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogM3JlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5pbmZvLXdpbmRvdyB7XG4gICAgICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIHotaW5kZXg6IDQ7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZCkge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6IDNyZW07XG4gICAgICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICAgICAgICB3aWR0aDogc3BhbigzKTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuLnN0b3JlLW1hcC1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIG1hcmdpbi1ib3R0b206IDZyZW07XG4gICAgaGVpZ2h0OiAzMDBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItbWFpbjtcblxuICAgIC5tYXAge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxufVxuXG4uZWRpdC1tYXAge1xuICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgd2lkdGg6IDM0cHg7XG4gICAgICAgIGhlaWdodDogNTBweDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTEwMCUpO1xuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltZy9sb2NhdGlvbi5zdmcnKSBuby1yZXBlYXQgYm90dG9tIGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDEwMCU7XG5cbiAgICB9XG59XG4iLCJ0YWJsZSB7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICB0cntcbiAgICAgICAgdGR7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgICAgcGFkZGluZzogMC42ZW0gMWVtO1xuICAgICAgICB9XG5cbiAgICAgICAgdGh7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAuNmVtIDFlbTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuMmVtO1xuXG4gICAgICAgICAgICAmOmZpcnN0LWNoaWxke1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5zZWN0aW9uLXRpdGxlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLXRvcDogNHJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtc2l6ZTogMi40ZW07XG4gICAgZm9udC1mYW1pbHk6ICdqb3NlZmluX3NhbnNib2xkJztcbiAgICBsaW5lLWhlaWdodDogMC42ZW07XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1kKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDRyZW07XG4gICAgICAgIGZvbnQtc2l6ZTogNGVtO1xuICAgIH1cblxuICAgICYud2l0aC1waWN0byB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxZW07O1xuXG4gICAgICAgIC5pY29uIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IDNlbTtcbiAgICAgICAgICAgIGhlaWdodDogM2VtO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogM2VtO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgZm9udC1zaXplOiAwLjRlbTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuXG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuNGVtO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmFsaWduLWxlZnQge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZCkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDFlbTtcbiAgICAgICAgICAgICAgICB3aWR0aDogc3Bhbig2KSArIGd1dHRlcigpLzI7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG5cbiAgICAgICAgICAgICAgICAuaWNvbiB7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoNTAlLCAtNTAlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBzcGFuIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMC42ZW07XG4gICAgICAgIGZvbnQtZmFtaWx5OiAnZ3JhZm9saXRhLXNjcmlwdCc7XG4gICAgfVxufVxuXG5cblxuLnBhZ2UtdGl0bGUge1xuICAgIG1hcmdpbjogMCAwIDFyZW0gMDtcbiAgICBjb2xvcjogIzAwMDtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtc2l6ZTogMmVtO1xuICAgIGZvbnQtZmFtaWx5OiAnam9zZWZpbl9zYW5zYm9sZCc7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1kKSB7XG4gICAgICAgIG1hcmdpbjogMCAwIDFyZW0gMDtcbiAgICAgICAgZm9udC1zaXplOiAzZW07XG4gICAgfVxufVxuXG5cblxuLnRpdGxlLWgyLFxubGVnZW5ke1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXNpemU6IDEuMWVtO1xuICAgIGZvbnQtZmFtaWx5OiAnam9zZWZpbl9zYW5zYm9sZCc7XG59XG5cblxuXG4uc2hvcC10aXRsZSB7XG4gICAgbWFyZ2luOiAwLjJlbSAwO1xuICAgIGNvbG9yOiAkY29sb3ItbWFpbjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC1zaXplOiAycmVtO1xuICAgIGZvbnQtZmFtaWx5OiAnam9zZWZpbl9zYW5zYm9sZCc7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1kKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogM3JlbTtcbiAgICB9XG5cbiAgICBzbWFsbCB7XG4gICAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgZm9udC1zaXplOiAwLjVlbTtcbiAgICAgICAgZm9udC1mYW1pbHk6ICdqb3NlZmluX3NhbnNyZWd1bGFyJztcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1kKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDAuNGVtO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLmlubGluZS1zdHlsZXtcbiAgICBtYXJnaW46IDEuNmVtIDA7XG5cbiAgICAudGl0bGV7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuMmVtO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG5cbiAgICB9XG5cbiAgICAudGV4dHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGNvbG9yOiAkY29sb3ItbWFpbjtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAgIH1cbn1cblxuXG5cbi5jZW50ZXJlZC1jb250ZW50XG57XG4gICAgcGFkZGluZy1ib3R0b206IDJyZW07XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1kKVxuICAgIHtcbiAgICAgICAgLmxlZnRcbiAgICAgICAge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMXJlbTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICB9XG5cbiAgICAgICAgLnJpZ2h0XG4gICAgICAgIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMXJlbTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY29sb3J7XG4gICAgICAgIGNvbG9yOiAkY29sb3ItbWFpbjtcbiAgICB9XG5cbiAgICBhe1xuICAgICAgICBjb2xvcjogIzAwMDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cblxuICAgID4gZGl2XG4gICAge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG5cbiAgICBoMntcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICBmb250LWZhbWlseTogJ2pvc2VmaW5fc2Fuc2JvbGQnO1xuICAgIH1cbn1cblxuXG5cbi50ZXh0LWJpZyB7XG4gICAgZm9udC1zaXplOiAycmVtO1xufVxuXG5cblxuLmFsaWduLWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuIiwiLnVzZWZ1bC1pbmZvcm1hdGlvblxue1xuICAgIG1hcmdpbjogMCAwIDZyZW0gMDtcbiAgICBwYWRkaW5nOiAycmVtIDAgMCAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmMWVmZWQ7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgID4gLmNvbnRhaW5lcntcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWQpXG4gICAgICAgIHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDFyZW07XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDFyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB1bFxuICAgIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZClcbiAgICAgICAge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgfVxuXG4gICAgICAgID4gbGlcbiAgICAgICAge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWQpXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgZmxleDogMTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgPiBhXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMS40ZW0gMCAxLjRlbSA1ZW07XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLTE7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMWVtIGNlbnRlcjtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDIuNGVtIGF1dG87XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICBjb2xvcjogIzAwMDtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdqb3NlZmluX3NhbnNib2xkJztcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWQpXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiA4cmVtIDFyZW0gM3JlbSAxcmVtO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEzcmVtO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgMmVtO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDRlbSBhdXRvO1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxcmVtKTtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC40cywgYm94LXNoYWRvdyAwLjRzO1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMzBweCAwIHJnYmEoIzAwMCwgMC4xKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cblxuICAgICAgICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCBsZW5ndGgoJHVzZWZ1bC1pbmZvcm1hdGlvbi1jb2xvcnMpXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgJjpudGgtY2hpbGQoI3skaX0pID4gYVxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbnRoKCR1c2VmdWwtaW5mb3JtYXRpb24tY29sb3JzLCAkaSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiXG5AZnVuY3Rpb24gX2NvbXBhY3QoJHZhcikge1xuICAgIEBpZiB0eXBlX29mKCR2YXIpID09ICdsaXN0JyB7XG4gICAgICAgICRmdWxsOiAoKTtcbiAgICAgICAgQGVhY2ggJGl0ZW0gaW4gJHZhciB7XG4gICAgICAgICAgICBAaWYgJGl0ZW0ge1xuICAgICAgICAgICAgICAgICRmdWxsOiBhcHBlbmQoJGZ1bGwsIF9jb21wYWN0KCRpdGVtKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgQHJldHVybiAkZnVsbDtcbiAgICB9XG4gICAgQHJldHVybiAkdmFyO1xufVxuXG5AZnVuY3Rpb24gY29tcGFjdCgkdmFyLTEsICR2YXItMjogZmFsc2UsICR2YXItMzogZmFsc2UsICR2YXItNDogZmFsc2UsICR2YXItNTogZmFsc2UsICR2YXItNjogZmFsc2UsICR2YXItNzogZmFsc2UsICR2YXItODogZmFsc2UsICR2YXItOTogZmFsc2UsICR2YXItMTA6IGZhbHNlKSB7XG4gICAgQHJldHVybiBfY29tcGFjdCgoJHZhci0xLCAkdmFyLTIsICR2YXItMywgJHZhci00LCAkdmFyLTUsICR2YXItNiwgJHZhci03LCAkdmFyLTgsICR2YXItOSwgJHZhci0xMCkpO1xufVxuaDF7XG4gICYudGl0bGVfeWVhcntcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbn1cbnNwYW57XG4gICYudGl0bGVfeWVhcntcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1tYWluO1xuICB9XG59XG5kaXZ7XG4gICYjY2FsZW5kYXJfY29udGFpbmVye1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgI2NhbGVuZGFyX3dyYXBwZXJ7XG4gICAgICB3aWR0aDoyMDAlO1xuICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihtYXJnaW4tbGVmdCAxcyBsaW5lYXIpO1xuICAgIH1cbiAgfVxuICAmLmJ1dHRvbi1jYWxlbmRhcntcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbiAgJi5idXR0b24tY2FsZW5kYXJ7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgfVxufVxudGFibGUge1xuICAgICYudGFiX2RvbWluaWNhbHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICB3aWR0aDogNTAlO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICB0cntcbiAgICAgICAgYmFja2dyb3VuZDogI2YzZWZlYztcbiAgICAgICAgJjpmaXJzdC1jaGlsZHtcbiAgICAgICAgICAgIHRke1xuICAgICAgICAgICAgICBwYWRkaW5nOiAwLjVlbSAwLjJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmLmNhbGVuZGFyX2VtcHR5e1xuICAgICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICAgICAgdGgsIHRke1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206MC4wNSU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC8vICY6bnRoLWNoaWxkKGV2ZW4pIHtiYWNrZ3JvdW5kOiAjZjNlZmVjfVxuICAgICAgICAvLyAmOm50aC1jaGlsZChvZGQpIHtiYWNrZ3JvdW5kOiAjRkZGfVxuICAgICAgfVxuICAgICAgdGgge1xuICAgICAgICB3aWR0aDoxNSU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgJi5jYWxlbmRhcl9tb250aHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAjNjI0YjQyO1xuICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHhcbiAgICAgICAgfVxuXG4gICAgICB9XG4gICAgICB0ZCB7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIHBhZGRpbmc6IDAuM2VtIDAuMmVtO1xuXG4gICAgICAgICYuY2FsZW5kYXJfbnVtX2RheXtcbiAgICAgICAgICAvLyB3aWR0aDoyJTtcbiAgICAgICAgfVxuICAgICAgICAmLmNhbGVuZGFyX2luZm9fZGF5e1xuICAgICAgICAgIHdpZHRoOjEzJTtcbiAgICAgICAgfVxuICAgICAgICAmLmNhbGVuZGFyX2hvbGlkYXl7XG4gICAgICAgICAgYmFja2dyb3VuZDojZDFjNmMyO1xuICAgICAgICB9XG4gICAgICAgICYuY2FsZW5kYXJfb2ZmaWNpYWxfaG9saWRheXtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IzhlODA3ZDtcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5zdW5kYXlfb3BlbmluZ19leHB0aW9ubmVse1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAxcHg7XG4gICAgICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIHRoe1xuICAgICAgJi5idXR0b24teWVhcntcbiAgICAgICAgd2lkdGg6IDEwJTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxufVxuZGl2e1xuICAmLmZpZWxkc2V0LXVwZGF0ZXtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIG1hcmdpbi1ib3R0b206MjBweDtcbiAgICB0YWJsZXtcbiAgICAgIHRye1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGltcG9ydCBcInNoYXJlZFwiO1xuXG4vLyBDU1MgVHJhbnNpdGlvbnNcbi8vIEN1cnJlbnRseSBvbmx5IHdvcmtzIGluIFdlYmtpdC5cbi8vXG4vLyAqIGV4cGVjdGVkIGluIENTUzMsIEZpcmVGb3ggMy42LzcgYW5kIE9wZXJhIFByZXN0byAyLjNcbi8vICogV2UnbGwgYmUgcHJlcGFyZWQuXG4vL1xuLy8gSW5jbHVkaW5nIHRoaXMgc3VibW9kdWxlIHNldHMgZm9sbG93aW5nIGRlZmF1bHRzIGZvciB0aGUgbWl4aW5zOlxuLy9cbi8vICAgICAkZGVmYXVsdC10cmFuc2l0aW9uLXByb3BlcnR5IDogYWxsXG4vLyAgICAgJGRlZmF1bHQtdHJhbnNpdGlvbi1kdXJhdGlvbiA6IDFzXG4vLyAgICAgJGRlZmF1bHQtdHJhbnNpdGlvbi1mdW5jdGlvbiA6IGZhbHNlXG4vLyAgICAgJGRlZmF1bHQtdHJhbnNpdGlvbi1kZWxheSAgICA6IGZhbHNlXG4vL1xuLy8gT3ZlcnJpZGUgdGhlbSBpZiB5b3UgbGlrZS4gVGltaW5nLWZ1bmN0aW9uIGFuZCBkZWxheSBhcmUgc2V0IHRvIGZhbHNlIGZvciBicm93c2VyIGRlZmF1bHRzIChlYXNlLCAwcykuXG5cbiRkZWZhdWx0LXRyYW5zaXRpb24tcHJvcGVydHk6IGFsbCAhZGVmYXVsdDtcblxuJGRlZmF1bHQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMXMgIWRlZmF1bHQ7XG5cbiRkZWZhdWx0LXRyYW5zaXRpb24tZnVuY3Rpb246IGZhbHNlICFkZWZhdWx0O1xuXG4kZGVmYXVsdC10cmFuc2l0aW9uLWRlbGF5OiBmYWxzZSAhZGVmYXVsdDtcblxuJHRyYW5zaXRpb25hYmxlLXByZWZpeGVkLXZhbHVlczogdHJhbnNmb3JtLCB0cmFuc2Zvcm0tb3JpZ2luICFkZWZhdWx0O1xuXG4vLyBPbmUgb3IgbW9yZSBwcm9wZXJ0aWVzIHRvIHRyYW5zaXRpb25cbi8vXG4vLyAqIGZvciBtdWx0aXBsZSwgdXNlIGEgY29tbWEtZGVsaW1pdGVkIGxpc3Rcbi8vICogYWxzbyBhY2NlcHRzIFwiYWxsXCIgb3IgXCJub25lXCJcblxuQG1peGluIHRyYW5zaXRpb24tcHJvcGVydHkoJHByb3BlcnR5LTE6ICRkZWZhdWx0LXRyYW5zaXRpb24tcHJvcGVydHksICRwcm9wZXJ0eS0yOiBmYWxzZSwgJHByb3BlcnR5LTM6IGZhbHNlLCAkcHJvcGVydHktNDogZmFsc2UsICRwcm9wZXJ0eS01OiBmYWxzZSwgJHByb3BlcnR5LTY6IGZhbHNlLCAkcHJvcGVydHktNzogZmFsc2UsICRwcm9wZXJ0eS04OiBmYWxzZSwgJHByb3BlcnR5LTk6IGZhbHNlLCAkcHJvcGVydHktMTA6IGZhbHNlKSB7XG4gIEBpZiB0eXBlLW9mKCRwcm9wZXJ0eS0xKSA9PSBzdHJpbmcge1xuICAgICRwcm9wZXJ0eS0xOiB1bnF1b3RlKCRwcm9wZXJ0eS0xKTsgfVxuICAkcHJvcGVydGllczogY29tcGFjdCgkcHJvcGVydHktMSwgJHByb3BlcnR5LTIsICRwcm9wZXJ0eS0zLCAkcHJvcGVydHktNCwgJHByb3BlcnR5LTUsICRwcm9wZXJ0eS02LCAkcHJvcGVydHktNywgJHByb3BlcnR5LTgsICRwcm9wZXJ0eS05LCAkcHJvcGVydHktMTApO1xuICBAaWYgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci13ZWJraXQge1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogcHJlZml4ZWQtZm9yLXRyYW5zaXRpb24oLXdlYmtpdCwgJHByb3BlcnRpZXMpOyB9XG4gIEBpZiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW1vemlsbGEge1xuICAgIC1tb3otdHJhbnNpdGlvbi1wcm9wZXJ0eTogcHJlZml4ZWQtZm9yLXRyYW5zaXRpb24oLW1veiwgJHByb3BlcnRpZXMpOyB9XG4gIEBpZiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW9wZXJhIHtcbiAgICAtby10cmFuc2l0aW9uLXByb3BlcnR5OiBwcmVmaXhlZC1mb3ItdHJhbnNpdGlvbigtbywgJHByb3BlcnRpZXMpOyB9XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6ICRwcm9wZXJ0aWVzOyB9XG5cbi8vIE9uZSBvciBtb3JlIGR1cmF0aW9ucyBpbiBzZWNvbmRzXG4vL1xuLy8gKiBmb3IgbXVsdGlwbGUsIHVzZSBhIGNvbW1hLWRlbGltaXRlZCBsaXN0XG4vLyAqIHRoZXNlIGR1cmF0aW9ucyB3aWxsIGFmZmVjdCB0aGUgcHJvcGVydGllcyBpbiB0aGUgc2FtZSBsaXN0IHBvc2l0aW9uXG5cbkBtaXhpbiB0cmFuc2l0aW9uLWR1cmF0aW9uKCRkdXJhdGlvbi0xOiAkZGVmYXVsdC10cmFuc2l0aW9uLWR1cmF0aW9uLCAkZHVyYXRpb24tMjogZmFsc2UsICRkdXJhdGlvbi0zOiBmYWxzZSwgJGR1cmF0aW9uLTQ6IGZhbHNlLCAkZHVyYXRpb24tNTogZmFsc2UsICRkdXJhdGlvbi02OiBmYWxzZSwgJGR1cmF0aW9uLTc6IGZhbHNlLCAkZHVyYXRpb24tODogZmFsc2UsICRkdXJhdGlvbi05OiBmYWxzZSwgJGR1cmF0aW9uLTEwOiBmYWxzZSkge1xuICBAaWYgdHlwZS1vZigkZHVyYXRpb24tMSkgPT0gc3RyaW5nIHtcbiAgICAkZHVyYXRpb24tMTogdW5xdW90ZSgkZHVyYXRpb24tMSk7IH1cbiAgJGR1cmF0aW9uczogY29tcGFjdCgkZHVyYXRpb24tMSwgJGR1cmF0aW9uLTIsICRkdXJhdGlvbi0zLCAkZHVyYXRpb24tNCwgJGR1cmF0aW9uLTUsICRkdXJhdGlvbi02LCAkZHVyYXRpb24tNywgJGR1cmF0aW9uLTgsICRkdXJhdGlvbi05LCAkZHVyYXRpb24tMTApO1xuICBAaW5jbHVkZSBleHBlcmltZW50YWwodHJhbnNpdGlvbi1kdXJhdGlvbiwgJGR1cmF0aW9ucywgLW1veiwgLXdlYmtpdCwgLW8sIG5vdCAtbXMsIG5vdCAta2h0bWwsIG9mZmljaWFsKTsgfVxuXG4vLyBPbmUgb3IgbW9yZSB0aW1pbmcgZnVuY3Rpb25zXG4vL1xuLy8gKiBbIGVhc2UgfCBsaW5lYXIgfCBlYXNlLWluIHwgZWFzZS1vdXQgfCBlYXNlLWluLW91dCB8IGN1YmljLWJlemllcih4MSwgeTEsIHgyLCB5MildXG4vLyAqIEZvciBtdWx0aXBsZSwgdXNlIGEgY29tbWEtZGVsaW1pdGVkIGxpc3Rcbi8vICogVGhlc2UgZnVuY3Rpb25zIHdpbGwgZWZmZWN0IHRoZSBwcm9wZXJ0aWVzIGluIHRoZSBzYW1lIGxpc3QgcG9zaXRpb25cblxuQG1peGluIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uKCRmdW5jdGlvbi0xOiAkZGVmYXVsdC10cmFuc2l0aW9uLWZ1bmN0aW9uLCAkZnVuY3Rpb24tMjogZmFsc2UsICRmdW5jdGlvbi0zOiBmYWxzZSwgJGZ1bmN0aW9uLTQ6IGZhbHNlLCAkZnVuY3Rpb24tNTogZmFsc2UsICRmdW5jdGlvbi02OiBmYWxzZSwgJGZ1bmN0aW9uLTc6IGZhbHNlLCAkZnVuY3Rpb24tODogZmFsc2UsICRmdW5jdGlvbi05OiBmYWxzZSwgJGZ1bmN0aW9uLTEwOiBmYWxzZSkge1xuICAkZnVuY3Rpb24tMTogdW5xdW90ZSgkZnVuY3Rpb24tMSk7XG4gICRmdW5jdGlvbnM6IGNvbXBhY3QoJGZ1bmN0aW9uLTEsICRmdW5jdGlvbi0yLCAkZnVuY3Rpb24tMywgJGZ1bmN0aW9uLTQsICRmdW5jdGlvbi01LCAkZnVuY3Rpb24tNiwgJGZ1bmN0aW9uLTcsICRmdW5jdGlvbi04LCAkZnVuY3Rpb24tOSwgJGZ1bmN0aW9uLTEwKTtcbiAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uLCAkZnVuY3Rpb25zLCAtbW96LCAtd2Via2l0LCAtbywgbm90IC1tcywgbm90IC1raHRtbCwgb2ZmaWNpYWwpOyB9XG5cbi8vIE9uZSBvciBtb3JlIHRyYW5zaXRpb24tZGVsYXlzIGluIHNlY29uZHNcbi8vXG4vLyAqIGZvciBtdWx0aXBsZSwgdXNlIGEgY29tbWEtZGVsaW1pdGVkIGxpc3Rcbi8vICogdGhlc2UgZGVsYXlzIHdpbGwgZWZmZWN0IHRoZSBwcm9wZXJ0aWVzIGluIHRoZSBzYW1lIGxpc3QgcG9zaXRpb25cblxuQG1peGluIHRyYW5zaXRpb24tZGVsYXkoJGRlbGF5LTE6ICRkZWZhdWx0LXRyYW5zaXRpb24tZGVsYXksICRkZWxheS0yOiBmYWxzZSwgJGRlbGF5LTM6IGZhbHNlLCAkZGVsYXktNDogZmFsc2UsICRkZWxheS01OiBmYWxzZSwgJGRlbGF5LTY6IGZhbHNlLCAkZGVsYXktNzogZmFsc2UsICRkZWxheS04OiBmYWxzZSwgJGRlbGF5LTk6IGZhbHNlLCAkZGVsYXktMTA6IGZhbHNlKSB7XG4gIEBpZiB0eXBlLW9mKCRkZWxheS0xKSA9PSBzdHJpbmcge1xuICAgICRkZWxheS0xOiB1bnF1b3RlKCRkZWxheS0xKTsgfVxuICAkZGVsYXlzOiBjb21wYWN0KCRkZWxheS0xLCAkZGVsYXktMiwgJGRlbGF5LTMsICRkZWxheS00LCAkZGVsYXktNSwgJGRlbGF5LTYsICRkZWxheS03LCAkZGVsYXktOCwgJGRlbGF5LTksICRkZWxheS0xMCk7XG4gIEBpbmNsdWRlIGV4cGVyaW1lbnRhbCh0cmFuc2l0aW9uLWRlbGF5LCAkZGVsYXlzLCAtbW96LCAtd2Via2l0LCAtbywgbm90IC1tcywgbm90IC1raHRtbCwgb2ZmaWNpYWwpOyB9XG5cbi8vIFRyYW5zaXRpb24gYWxsLWluLW9uZSBzaG9ydGhhbmRcblxuQG1peGluIHNpbmdsZS10cmFuc2l0aW9uKCRwcm9wZXJ0eTogJGRlZmF1bHQtdHJhbnNpdGlvbi1wcm9wZXJ0eSwgJGR1cmF0aW9uOiAkZGVmYXVsdC10cmFuc2l0aW9uLWR1cmF0aW9uLCAkZnVuY3Rpb246ICRkZWZhdWx0LXRyYW5zaXRpb24tZnVuY3Rpb24sICRkZWxheTogJGRlZmF1bHQtdHJhbnNpdGlvbi1kZWxheSkge1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKGNvbXBhY3QoJHByb3BlcnR5ICRkdXJhdGlvbiAkZnVuY3Rpb24gJGRlbGF5KSk7IH1cblxuQG1peGluIHRyYW5zaXRpb24oJHRyYW5zaXRpb24tMTogZGVmYXVsdCwgJHRyYW5zaXRpb24tMjogZmFsc2UsICR0cmFuc2l0aW9uLTM6IGZhbHNlLCAkdHJhbnNpdGlvbi00OiBmYWxzZSwgJHRyYW5zaXRpb24tNTogZmFsc2UsICR0cmFuc2l0aW9uLTY6IGZhbHNlLCAkdHJhbnNpdGlvbi03OiBmYWxzZSwgJHRyYW5zaXRpb24tODogZmFsc2UsICR0cmFuc2l0aW9uLTk6IGZhbHNlLCAkdHJhbnNpdGlvbi0xMDogZmFsc2UpIHtcbiAgQGlmICR0cmFuc2l0aW9uLTEgPT0gZGVmYXVsdCB7XG4gICAgJHRyYW5zaXRpb24tMTogY29tcGFjdCgkZGVmYXVsdC10cmFuc2l0aW9uLXByb3BlcnR5ICRkZWZhdWx0LXRyYW5zaXRpb24tZHVyYXRpb24gJGRlZmF1bHQtdHJhbnNpdGlvbi1mdW5jdGlvbiAkZGVmYXVsdC10cmFuc2l0aW9uLWRlbGF5KTsgfVxuICAkdHJhbnNpdGlvbnM6IGZhbHNlO1xuICBAaWYgdHlwZS1vZigkdHJhbnNpdGlvbi0xKSA9PSBsaXN0IGFuZCB0eXBlLW9mKG50aCgkdHJhbnNpdGlvbi0xLCAxKSkgPT0gbGlzdCB7XG4gICAgJHRyYW5zaXRpb25zOiBqb2luKCR0cmFuc2l0aW9uLTEsIGNvbXBhY3QoJHRyYW5zaXRpb24tMiwgJHRyYW5zaXRpb24tMywgJHRyYW5zaXRpb24tNCwgJHRyYW5zaXRpb24tNSwgJHRyYW5zaXRpb24tNiwgJHRyYW5zaXRpb24tNywgJHRyYW5zaXRpb24tOCwgJHRyYW5zaXRpb24tOSwgJHRyYW5zaXRpb24tMTApLCBjb21tYSk7IH1cbiAgQGVsc2Uge1xuICAgICR0cmFuc2l0aW9uczogY29tcGFjdCgkdHJhbnNpdGlvbi0xLCAkdHJhbnNpdGlvbi0yLCAkdHJhbnNpdGlvbi0zLCAkdHJhbnNpdGlvbi00LCAkdHJhbnNpdGlvbi01LCAkdHJhbnNpdGlvbi02LCAkdHJhbnNpdGlvbi03LCAkdHJhbnNpdGlvbi04LCAkdHJhbnNpdGlvbi05LCAkdHJhbnNpdGlvbi0xMCk7IH1cbiAgJGRlbGF5czogY29tbWEtbGlzdCgpO1xuICAkaGFzLWRlbGF5czogZmFsc2U7XG4gICR3ZWJraXQtdmFsdWU6IGNvbW1hLWxpc3QoKTtcbiAgJG1vei12YWx1ZTogY29tbWEtbGlzdCgpO1xuICAkby12YWx1ZTogY29tbWEtbGlzdCgpO1xuICAvLyBUaGlzIGJsb2NrIGNhbiBiZSBtYWRlIGNvbnNpZGVyYWJseSBzaW1wbGVyIGF0IHRoZSBwb2ludCBpbiB0aW1lIHRoYXRcbiAgLy8gd2Ugbm8gbG9uZ2VyIG5lZWQgdG8gZGVhbCB3aXRoIHRoZSBkaWZmZXJlbmNlcyBpbiBob3cgZGVsYXlzIGFyZSB0cmVhdGVkLlxuICBAZWFjaCAkdHJhbnNpdGlvbiBpbiAkdHJhbnNpdGlvbnMge1xuICAgIC8vIEV4dHJhY3QgdGhlIHZhbHVlcyBmcm9tIHRoZSBsaXN0XG4gICAgLy8gKHRoaXMgd291bGQgYmUgY2xlYW5lciBpZiBudGggdG9vayBhIDNyZCBhcmd1bWVudCB0byBwcm92aWRlIGEgZGVmYXVsdCB2YWx1ZSkuXG4gICAgJHByb3BlcnR5OiBudGgoJHRyYW5zaXRpb24sIDEpO1xuICAgICRkdXJhdGlvbjogZmFsc2U7XG4gICAgJHRpbWluZy1mdW5jdGlvbjogZmFsc2U7XG4gICAgJGRlbGF5OiBmYWxzZTtcbiAgICBAaWYgbGVuZ3RoKCR0cmFuc2l0aW9uKSA+IDEge1xuICAgICAgJGR1cmF0aW9uOiBudGgoJHRyYW5zaXRpb24sIDIpOyB9XG4gICAgQGlmIGxlbmd0aCgkdHJhbnNpdGlvbikgPiAyIHtcbiAgICAgICR0aW1pbmctZnVuY3Rpb246IG50aCgkdHJhbnNpdGlvbiwgMyk7IH1cbiAgICBAaWYgbGVuZ3RoKCR0cmFuc2l0aW9uKSA+IDMge1xuICAgICAgJGRlbGF5OiBudGgoJHRyYW5zaXRpb24sIDQpO1xuICAgICAgJGhhcy1kZWxheXM6IHRydWU7IH1cbiAgICAvLyBJZiBhIGRlbGF5IGlzIHByb3ZpZGVkIHdpdGhvdXQgYSB0aW1pbmcgZnVuY3Rpb25cbiAgICBAaWYgaXMtdGltZSgkdGltaW5nLWZ1bmN0aW9uKSBhbmQgbm90ICRkZWxheSB7XG4gICAgICAkZGVsYXk6ICR0aW1pbmctZnVuY3Rpb247XG4gICAgICAkdGltaW5nLWZ1bmN0aW9uOiBmYWxzZTtcbiAgICAgICRoYXMtZGVsYXlzOiB0cnVlOyB9XG4gICAgLy8gS2VlcCBhIGxpc3Qgb2YgZGVsYXlzIGluIGNhc2Ugb25lIGlzIHNwZWNpZmllZFxuICAgICRkZWxheXM6IGFwcGVuZCgkZGVsYXlzLCBpZigkZGVsYXksICRkZWxheSwgMHMpKTtcbiAgICAkd2Via2l0LXZhbHVlOiBhcHBlbmQoJHdlYmtpdC12YWx1ZSwgY29tcGFjdChwcmVmaXhlZC1mb3ItdHJhbnNpdGlvbigtd2Via2l0LCAkcHJvcGVydHkpICRkdXJhdGlvbiAkdGltaW5nLWZ1bmN0aW9uKSk7XG4gICAgJG1vei12YWx1ZTogYXBwZW5kKCRtb3otdmFsdWUsIGNvbXBhY3QocHJlZml4ZWQtZm9yLXRyYW5zaXRpb24oLW1veiwgJHByb3BlcnR5KSAkZHVyYXRpb24gJHRpbWluZy1mdW5jdGlvbiAkZGVsYXkpKTtcbiAgICAkby12YWx1ZTogYXBwZW5kKCRvLXZhbHVlLCBjb21wYWN0KHByZWZpeGVkLWZvci10cmFuc2l0aW9uKC1vLCAkcHJvcGVydHkpICRkdXJhdGlvbiAkdGltaW5nLWZ1bmN0aW9uICRkZWxheSkpOyB9XG4gIEBpZiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLXdlYmtpdCB7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiAkd2Via2l0LXZhbHVlO1xuICAgIC8vIG9sZCB3ZWJraXQgZG9lc24ndCBzdXBwb3J0IHRoZSBkZWxheSBwYXJhbWV0ZXIgaW4gdGhlIHNob3J0aGFuZCBzbyB3ZSBwcm9ncmVzc2l2ZWx5IGVuaGFuY2UgaXQuXG4gICAgQGlmICRoYXMtZGVsYXlzIHtcbiAgICAgIC13ZWJraXQtdHJhbnNpdGlvbi1kZWxheTogJGRlbGF5czsgfSB9XG4gIEBpZiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW1vemlsbGEge1xuICAgIC1tb3otdHJhbnNpdGlvbjogJG1vei12YWx1ZTsgfVxuICBAaWYgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1vcGVyYSB7XG4gICAgLW8tdHJhbnNpdGlvbjogJG8tdmFsdWU7IH1cbiAgdHJhbnNpdGlvbjogJHRyYW5zaXRpb25zOyB9XG5cbi8vIGNvZXJjZSBhIGxpc3QgdG8gYmUgY29tbWEgZGVsaW1pdGVkIG9yIG1ha2UgYSBuZXcsIGVtcHR5IGNvbW1hIGRlbGltaXRlZCBsaXN0LlxuQGZ1bmN0aW9uIGNvbW1hLWxpc3QoJGxpc3Q6ICgpKSB7XG4gIEByZXR1cm4gam9pbigoKSwgJGxpc3QsIGNvbW1hKTsgfVxuXG4vLyBSZXR1cm5zIGAkcHJvcGVydHlgIHdpdGggdGhlIGdpdmVuIHByZWZpeCBpZiBpdCBpcyBmb3VuZCBpbiBgJHRyYW5zaXRpb25hYmxlLXByZWZpeGVkLXZhbHVlc2AuXG5AZnVuY3Rpb24gcHJlZml4ZWQtZm9yLXRyYW5zaXRpb24oJHByZWZpeCwgJHByb3BlcnR5KSB7XG4gIEBpZiB0eXBlLW9mKCRwcm9wZXJ0eSkgPT0gbGlzdCB7XG4gICAgJG5ldy1saXN0OiBjb21tYS1saXN0KCk7XG4gICAgQGVhY2ggJHYgaW4gJHByb3BlcnR5IHtcbiAgICAgICRuZXctbGlzdDogYXBwZW5kKCRuZXctbGlzdCwgcHJlZml4ZWQtZm9yLXRyYW5zaXRpb24oJHByZWZpeCwgJHYpKTsgfVxuICAgIEByZXR1cm4gJG5ldy1saXN0OyB9XG4gIEBlbHNlIHtcbiAgICBAaWYgaW5kZXgoJHRyYW5zaXRpb25hYmxlLXByZWZpeGVkLXZhbHVlcywgJHByb3BlcnR5KSB7XG4gICAgICBAcmV0dXJuICN7JHByZWZpeH0tI3skcHJvcGVydHl9OyB9XG4gICAgQGVsc2Uge1xuICAgICAgQHJldHVybiAkcHJvcGVydHk7IH0gfSB9XG5cbi8vIENoZWNrcyBpZiB0aGUgdmFsdWUgZ2l2ZW4gaXMgYSB1bml0IG9mIHRpbWUuXG5AZnVuY3Rpb24gaXMtdGltZSgkdmFsdWUpIHtcbiAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSBudW1iZXIge1xuICAgIEByZXR1cm4gbm90IG5vdCBpbmRleChzIG1zLCB1bml0KCR2YWx1ZSkpOyB9XG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuIGZhbHNlOyB9IH1cbiIsIi8vIEhlbHBlciBmdW5jdGlvbiBmb3IgdGhlIG5vcm1hbGl6ZSgpIG1peGluLlxuJF9ub3JtYWxpemUtaW5jbHVkZTogKCk7XG4kX25vcm1hbGl6ZS1leGNsdWRlOiAoKTtcbkBmdW5jdGlvbiBfbm9ybWFsaXplLWluY2x1ZGUoJHNlY3Rpb24pIHtcbiAgLy8gQ2hlY2sgaWYgJHNlY3Rpb24gaXMgaW4gdGhlICRpbmNsdWRlIGxpc3QuXG4gIEBpZiBpbmRleCgkX25vcm1hbGl6ZS1pbmNsdWRlLCAkc2VjdGlvbikge1xuICAgIEByZXR1cm4gdHJ1ZTtcbiAgfVxuICAvLyBJZiAkaW5jbHVkZSBpcyBzZXQgdG8gKGFsbCksIG1ha2Ugc3VyZSAkc2VjdGlvbiBpcyBub3QgaW4gJGV4Y2x1ZGUuXG4gIEBlbHNlIGlmIG5vdCBpbmRleCgkX25vcm1hbGl6ZS1leGNsdWRlLCAkc2VjdGlvbikgYW5kIGluZGV4KCRfbm9ybWFsaXplLWluY2x1ZGUsIGFsbCkge1xuICAgIEByZXR1cm4gdHJ1ZTtcbiAgfVxuICBAcmV0dXJuIGZhbHNlO1xufVxuXG5AbWl4aW4gbm9ybWFsaXplKCRpbmNsdWRlOiAoYWxsKSwgJGV4Y2x1ZGU6ICgpKSB7XG4gIC8vIElmIHdlIGhhZCBsb2NhbCBmdW5jdGlvbnMsIHdlIGNvdWxkIGFjY2VzcyBvdXIgcGFyYW1ldGVycyBpbnNpZGUgdGhlXG4gIC8vIGZ1bmN0aW9uIHdpdGhvdXQgcGFzc2luZyB0aGVtIGluIGFzIHBhcmFtZXRlcnMuIFRoZSBoYWNreSB3b3JrLWFyb3VuZCBpcyB0b1xuICAvLyBzdHVmZiB0aGVtIGludG8gZ2xvYmFsIHZhcmlhYmxlcyBzbyBjYW4gYWNjZXNzIHRoZW0gZnJvbSBhIGdsb2JhbCBmdW5jdGlvbi5cbiAgJF9ub3JtYWxpemUtaW5jbHVkZTogaWYodHlwZS1vZigkaW5jbHVkZSkgPT0gJ2xpc3QnLCAkaW5jbHVkZSwgKCRpbmNsdWRlKSkgIWdsb2JhbDtcbiAgJF9ub3JtYWxpemUtZXhjbHVkZTogaWYodHlwZS1vZigkZXhjbHVkZSkgPT0gJ2xpc3QnLCAkZXhjbHVkZSwgKCRleGNsdWRlKSkgIWdsb2JhbDtcblxuICAvLyBJZiB3ZSd2ZSBjdXN0b21pemVkIGFueSBmb250IHZhcmlhYmxlcywgd2UnbGwgbmVlZCBleHRyYSBwcm9wZXJ0aWVzLlxuICBAaWYgJGJhc2UtZm9udC1zaXplICE9IDE2cHhcbiAgICBvciAkYmFzZS1saW5lLWhlaWdodCAhPSAyNHB4XG4gICAgb3IgJGJhc2UtdW5pdCAhPSAnZW0nXG4gICAgb3IgJGgxLWZvbnQtc2l6ZSAhPSAyICAgICogJGJhc2UtZm9udC1zaXplXG4gICAgb3IgJGgyLWZvbnQtc2l6ZSAhPSAxLjUgICogJGJhc2UtZm9udC1zaXplXG4gICAgb3IgJGgzLWZvbnQtc2l6ZSAhPSAxLjE3ICogJGJhc2UtZm9udC1zaXplXG4gICAgb3IgJGg0LWZvbnQtc2l6ZSAhPSAxICAgICogJGJhc2UtZm9udC1zaXplXG4gICAgb3IgJGg1LWZvbnQtc2l6ZSAhPSAwLjgzICogJGJhc2UtZm9udC1zaXplXG4gICAgb3IgJGg2LWZvbnQtc2l6ZSAhPSAwLjY3ICogJGJhc2UtZm9udC1zaXplXG4gICAgb3IgJGluZGVudC1hbW91bnQgIT0gNDBweCB7XG4gICAgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG06IHRydWUgIWdsb2JhbDtcbiAgfVxuXG4gIC8qISBub3JtYWxpemUtc2NzcyB8IE1JVC9HUEx2MiBMaWNlbnNlIHwgYml0Lmx5L25vcm1hbGl6ZS1zY3NzICovXG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShyb290KSB7XG4gICAgLyoqXG4gICAgICogMS4gU2V0IGRlZmF1bHQgZm9udCBmYW1pbHkgdG8gc2Fucy1zZXJpZi5cbiAgICAgKiAyLiBQcmV2ZW50IGlPUyBhbmQgSUUgdGV4dCBzaXplIGFkanVzdCBhZnRlciBkZXZpY2Ugb3JpZW50YXRpb24gY2hhbmdlLFxuICAgICAqICAgIHdpdGhvdXQgZGlzYWJsaW5nIHVzZXIgem9vbS5cbiAgICAgKi9cblxuICAgIGh0bWwge1xuICAgICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIG9yIHN1cHBvcnQtZm9yKGllLCA3KSB7XG4gICAgICAgIC8vIENvcnJlY3QgdGV4dCByZXNpemluZyBvZGRseSBpbiBJRSA2Lzcgd2hlbiBib2R5IGBmb250LXNpemVgIGlzIHNldCB1c2luZ1xuICAgICAgICAvLyBgZW1gIHVuaXRzLlxuICAgICAgICBmb250LXNpemU6ICgkYmFzZS1mb250LXNpemUgLyAxNnB4KSAqIDEwMCU7XG4gICAgICB9XG4gICAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgICBsaW5lLWhlaWdodDogKCRiYXNlLWxpbmUtaGVpZ2h0IC8gJGJhc2UtZm9udC1zaXplKSAqIDFlbTtcbiAgICAgIH1cbiAgICAgIGZvbnQtZmFtaWx5OiAkYmFzZS1mb250LWZhbWlseTsgLyogMSAqL1xuICAgICAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cbiAgICAgIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZSBkZWZhdWx0IG1hcmdpbi5cbiAgICAgKi9cblxuICAgIGJvZHkge1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoaHRtbDUpIHtcbiAgICAvKiBIVE1MNSBkaXNwbGF5IGRlZmluaXRpb25zXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBhbnkgSFRNTDUgZWxlbWVudCBpbiBJRSA4LzkuXG4gICAgICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGBkZXRhaWxzYCBvciBgc3VtbWFyeWAgaW4gSUUgMTAvMTFcbiAgICAgKiBhbmQgRmlyZWZveC5cbiAgICAgKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYG1haW5gIGluIElFIDExLlxuICAgICAqL1xuXG4gICAgYXJ0aWNsZSxcbiAgICBhc2lkZSxcbiAgICBkZXRhaWxzLFxuICAgIGZpZ2NhcHRpb24sXG4gICAgZmlndXJlLFxuICAgIGZvb3RlcixcbiAgICBoZWFkZXIsXG4gICAgaGdyb3VwLFxuICAgIG1haW4sXG4gICAgbWVudSxcbiAgICBuYXYsXG4gICAgc2VjdGlvbixcbiAgICBzdW1tYXJ5IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIENvcnJlY3QgYGlubGluZS1ibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBpbiBJRSA4LzkuXG4gICAgICogMi4gTm9ybWFsaXplIHZlcnRpY2FsIGFsaWdubWVudCBvZiBgcHJvZ3Jlc3NgIGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICAgICAqL1xuXG4gICAgYXVkaW8sXG4gICAgY2FudmFzLFxuICAgIHByb2dyZXNzLFxuICAgIHZpZGVvIHtcbiAgICAgIEBpZiBzdXBwb3J0LWZvcihpZSwgOSkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IC8qIDEgKi9cbiAgICAgICAgQGlmIHN1cHBvcnQtZm9yKGllLCA3KSB7XG4gICAgICAgICAgKmRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgICAqem9vbTogMTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHJldmVudCBtb2Rlcm4gYnJvd3NlcnMgZnJvbSBkaXNwbGF5aW5nIGBhdWRpb2Agd2l0aG91dCBjb250cm9scy5cbiAgICAgKiBSZW1vdmUgZXhjZXNzIGhlaWdodCBpbiBpT1MgNSBkZXZpY2VzLlxuICAgICAqL1xuXG4gICAgYXVkaW86bm90KFtjb250cm9sc10pIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgfVxuXG4gICAgQGlmIHN1cHBvcnQtZm9yKGllLCAxMCkge1xuICAgICAgLyoqXG4gICAgICAgKiBBZGRyZXNzIGBbaGlkZGVuXWAgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkvMTAuXG4gICAgICAgKi9cblxuICAgICAgW2hpZGRlbl0ge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEhpZGUgdGhlIGB0ZW1wbGF0ZWAgZWxlbWVudCBpbiBJRSA4LzkvMTAvMTEsIFNhZmFyaSwgYW5kIEZpcmVmb3ggPCAyMi5cbiAgICAgKi9cblxuICAgIHRlbXBsYXRlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShsaW5rcykge1xuICAgIC8qIExpbmtzXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIEBpZiBzdXBwb3J0LWZvcihpZSwgMTApIHtcbiAgICAgIC8qKlxuICAgICAgICogUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgY29sb3IgZnJvbSBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gICAgICAgKi9cblxuICAgICAgYSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEltcHJvdmUgcmVhZGFiaWxpdHkgb2YgZm9jdXNlZCBlbGVtZW50cyB3aGVuIHRoZXkgYXJlIGFsc28gaW4gYW5cbiAgICAgKiBhY3RpdmUvaG92ZXIgc3RhdGUuXG4gICAgICovXG5cbiAgICBhOmFjdGl2ZSxcbiAgICBhOmhvdmVyIHtcbiAgICAgIG91dGxpbmU6IDA7XG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZSh0ZXh0KSB7XG4gICAgLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS8xMC8xMSwgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICAgICAqL1xuXG4gICAgYWJiclt0aXRsZV0ge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGRyZXNzIHN0eWxlIHNldCB0byBgYm9sZGVyYCBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gICAgICovXG5cbiAgICBiLFxuICAgIHN0cm9uZyB7XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gU2FmYXJpIGFuZCBDaHJvbWUuXG4gICAgICovXG5cbiAgICBkZm4ge1xuICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZHJlc3MgdmFyaWFibGUgYGgxYCBmb250LXNpemUgYW5kIG1hcmdpbiB3aXRoaW4gYHNlY3Rpb25gIGFuZCBgYXJ0aWNsZWBcbiAgICAgKiBjb250ZXh0cyBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gICAgICovXG5cbiAgICBoMSB7XG4gICAgICBAaW5jbHVkZSBub3JtYWxpemUtZm9udC1zaXplKCRoMS1mb250LXNpemUpO1xuICAgICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWxpbmUtaGVpZ2h0KCRoMS1mb250LXNpemUpO1xuICAgICAgfVxuXG4gICAgICAvKiBTZXQgMSB1bml0IG9mIHZlcnRpY2FsIHJoeXRobSBvbiB0aGUgdG9wIGFuZCBib3R0b20gbWFyZ2lucy4gKi9cbiAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwLCAkaDEtZm9udC1zaXplKTtcbiAgICB9XG5cbiAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0gb3Igc3VwcG9ydC1mb3IoaWUsIDcpIHtcbiAgICAgIGgyIHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWZvbnQtc2l6ZSgkaDItZm9udC1zaXplKTtcbiAgICAgICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbGluZS1oZWlnaHQoJGgyLWZvbnQtc2l6ZSk7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoMi1mb250LXNpemUpO1xuICAgICAgfVxuXG4gICAgICBoMyB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1mb250LXNpemUoJGgzLWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWxpbmUtaGVpZ2h0KCRoMy1mb250LXNpemUpO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwLCAkaDMtZm9udC1zaXplKTtcbiAgICAgIH1cblxuICAgICAgaDQge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtZm9udC1zaXplKCRoNC1mb250LXNpemUpO1xuICAgICAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkaDQtZm9udC1zaXplKTtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCwgJGg0LWZvbnQtc2l6ZSk7XG4gICAgICB9XG5cbiAgICAgIGg1IHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWZvbnQtc2l6ZSgkaDUtZm9udC1zaXplKTtcbiAgICAgICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbGluZS1oZWlnaHQoJGg1LWZvbnQtc2l6ZSk7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoNS1mb250LXNpemUpO1xuICAgICAgfVxuXG4gICAgICBoNiB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1mb250LXNpemUoJGg2LWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWxpbmUtaGVpZ2h0KCRoNi1mb250LXNpemUpO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwLCAkaDYtZm9udC1zaXplKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgc3VwcG9ydC1mb3IoaWUsIDkpIHtcbiAgICAgIC8qKlxuICAgICAgICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS5cbiAgICAgICAqL1xuXG4gICAgICBtYXJrIHtcbiAgICAgICAgYmFja2dyb3VuZDogI2ZmMDtcbiAgICAgICAgY29sb3I6ICMwMDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkcmVzcyBpbmNvbnNpc3RlbnQgYW5kIHZhcmlhYmxlIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5cbiAgICBzbWFsbCB7XG4gICAgICBmb250LXNpemU6IDgwJTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBhZmZlY3RpbmcgYGxpbmUtaGVpZ2h0YCBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5cbiAgICBzdWIsXG4gICAgc3VwIHtcbiAgICAgIGZvbnQtc2l6ZTogNzUlO1xuICAgICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gICAgfVxuXG4gICAgc3VwIHtcbiAgICAgIHRvcDogLTAuNWVtO1xuICAgIH1cblxuICAgIHN1YiB7XG4gICAgICBib3R0b206IC0wLjI1ZW07XG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShlbWJlZGRlZCkge1xuICAgIC8qIEVtYmVkZGVkIGNvbnRlbnRcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgQGlmIHN1cHBvcnQtZm9yKGllLCAxMCkge1xuICAgICAgLyoqXG4gICAgICAgKiBSZW1vdmUgYm9yZGVyIHdoZW4gaW5zaWRlIGBhYCBlbGVtZW50IGluIElFIDgvOS8xMC5cbiAgICAgICAqL1xuXG4gICAgICBpbWcge1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIEBpZiBzdXBwb3J0LWZvcihpZSwgNykge1xuICAgICAgICAgIC8qIEltcHJvdmUgaW1hZ2UgcXVhbGl0eSB3aGVuIHNjYWxlZCBpbiBJRSA3LiAqL1xuICAgICAgICAgIC1tcy1pbnRlcnBvbGF0aW9uLW1vZGU6IGJpY3ViaWM7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDb3JyZWN0IG92ZXJmbG93IG5vdCBoaWRkZW4gaW4gSUUgOS8xMC8xMS5cbiAgICAgKi9cblxuICAgIHN2Zzpub3QoOnJvb3QpIHtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShncm91cGluZykge1xuICAgIC8qIEdyb3VwaW5nIGNvbnRlbnRcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIG9yIHN1cHBvcnQtZm9yKGllLCA3KSB7XG4gICAgICAvKipcbiAgICAgICAqIEFkZHJlc3MgbWFyZ2lucyBzZXQgZGlmZmVyZW50bHkgaW4gSUUgNi83LlxuICAgICAgICovXG5cbiAgICAgIGRsLFxuICAgICAgbWVudSxcbiAgICAgIG9sLFxuICAgICAgdWwge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgIC8qKlxuICAgICAgICogVHVybiBvZmYgbWFyZ2lucyBvbiBuZXN0ZWQgbGlzdHMuXG4gICAgICAgKi9cblxuICAgICAgb2wsXG4gICAgICB1bCB7XG4gICAgICAgIG9sLFxuICAgICAgICB1bCB7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIG9yIHN1cHBvcnQtZm9yKGllLCA3KSB7XG4gICAgICBkZCB7XG4gICAgICAgIG1hcmdpbjogMCAwIDAgJGluZGVudC1hbW91bnQ7XG4gICAgICB9XG5cbiAgICAgIC8qKlxuICAgICAgICogQWRkcmVzcyBwYWRkaW5ncyBzZXQgZGlmZmVyZW50bHkgaW4gSUUgNi83LlxuICAgICAgICovXG5cbiAgICAgIG1lbnUsXG4gICAgICBvbCxcbiAgICAgIHVsIHtcbiAgICAgICAgcGFkZGluZzogMCAwIDAgJGluZGVudC1hbW91bnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmIHN1cHBvcnQtZm9yKGllLCA3KSB7XG4gICAgICAvKipcbiAgICAgICAqIENvcnJlY3QgbGlzdCBpbWFnZXMgaGFuZGxlZCBpbmNvcnJlY3RseSBpbiBJRSA3LlxuICAgICAgICovXG5cbiAgICAgIG5hdiB1bCxcbiAgICAgIG5hdiBvbCB7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgIGxpc3Qtc3R5bGUtaW1hZ2U6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIG9yIHN1cHBvcnQtZm9yKGllLCA3KSB7XG4gICAgICAvKipcbiAgICAgICAqIFNldCAxIHVuaXQgb2YgdmVydGljYWwgcmh5dGhtIG9uIHRoZSB0b3AgYW5kIGJvdHRvbSBtYXJnaW4uXG4gICAgICAgKi9cblxuICAgICAgYmxvY2txdW90ZSB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAkaW5kZW50LWFtb3VudCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIG9yIHN1cHBvcnQtZm9yKGllLCA5KSBvciBzdXBwb3J0LWZvcihzYWZhcmksIDYpIHtcbiAgICAgIC8qKlxuICAgICAgICogQWRkcmVzcyBtYXJnaW4gbm90IHByZXNlbnQgaW4gSUUgOC85IGFuZCBTYWZhcmkuXG4gICAgICAgKi9cblxuICAgICAgZmlndXJlIHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxICRpbmRlbnQtYW1vdW50KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGRyZXNzIGRpZmZlcmVuY2VzIGJldHdlZW4gRmlyZWZveCBhbmQgb3RoZXIgYnJvd3NlcnMuXG4gICAgICovXG5cbiAgICBociB7XG4gICAgICBAaWYgc3VwcG9ydC1mb3IoZmlyZWZveCwgMjgpIHtcbiAgICAgICAgLW1vei1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICAgIH1cbiAgICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgICAgaGVpZ2h0OiAwO1xuICAgIH1cblxuICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSBvciBzdXBwb3J0LWZvcihpZSwgNykge1xuICAgICAgLyoqXG4gICAgICAgKiBTZXQgMSB1bml0IG9mIHZlcnRpY2FsIHJoeXRobSBvbiB0aGUgdG9wIGFuZCBib3R0b20gbWFyZ2luLlxuICAgICAgICovXG5cbiAgICAgIHAsXG4gICAgICBwcmUge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ29udGFpbiBvdmVyZmxvdyBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5cbiAgICBwcmUge1xuICAgICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkcmVzcyBvZGQgYGVtYC11bml0IGZvbnQgc2l6ZSByZW5kZXJpbmcgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuXG4gICAgY29kZSxcbiAgICBrYmQsXG4gICAgcHJlLFxuICAgIHNhbXAge1xuICAgICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICAgICAgQGlmIHN1cHBvcnQtZm9yKGllLCA2KSB7XG4gICAgICAgIF9mb250LWZhbWlseTogJ2NvdXJpZXIgbmV3JywgbW9ub3NwYWNlO1xuICAgICAgfVxuICAgICAgZm9udC1zaXplOiAxZW07XG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShmb3Jtcykge1xuICAgIC8qIEZvcm1zXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIEtub3duIGxpbWl0YXRpb246IGJ5IGRlZmF1bHQsIENocm9tZSBhbmQgU2FmYXJpIG9uIE9TIFggYWxsb3cgdmVyeSBsaW1pdGVkXG4gICAgICogc3R5bGluZyBvZiBgc2VsZWN0YCwgdW5sZXNzIGEgYGJvcmRlcmAgcHJvcGVydHkgaXMgc2V0LlxuICAgICAqL1xuXG4gICAgQGlmIHN1cHBvcnQtZm9yKGllLCA3KSB7XG4gICAgICAvKipcbiAgICAgICAqIENvcnJlY3QgbWFyZ2luIGRpc3BsYXllZCBvZGRseSBpbiBJRSA2LzcuXG4gICAgICAgKi9cblxuICAgICAgZm9ybSB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBDb3JyZWN0IGNvbG9yIG5vdCBiZWluZyBpbmhlcml0ZWQuXG4gICAgICogICAgS25vd24gaXNzdWU6IGFmZmVjdHMgY29sb3Igb2YgZGlzYWJsZWQgZWxlbWVudHMuXG4gICAgICogMi4gQ29ycmVjdCBmb250IHByb3BlcnRpZXMgbm90IGJlaW5nIGluaGVyaXRlZC5cbiAgICAgKiAzLiBBZGRyZXNzIG1hcmdpbnMgc2V0IGRpZmZlcmVudGx5IGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cbiAgICAgKiA0LiBBZGRyZXNzIGBmb250LWZhbWlseWAgaW5jb25zaXN0ZW5jeSBiZXR3ZWVuIGB0ZXh0YXJlYWAgYW5kIG90aGVyIGZvcm0gaW4gSUUgN1xuICAgICAqIDUuIEltcHJvdmUgYXBwZWFyYW5jZSBhbmQgY29uc2lzdGVuY3kgd2l0aCBJRSA2LzcuXG4gICAgICovXG5cbiAgICBidXR0b24sXG4gICAgaW5wdXQsXG4gICAgb3B0Z3JvdXAsXG4gICAgc2VsZWN0LFxuICAgIHRleHRhcmVhIHtcbiAgICAgIGNvbG9yOiBpbmhlcml0OyAvKiAxICovXG4gICAgICBmb250OiBpbmhlcml0OyAvKiAyICovXG4gICAgICBtYXJnaW46IDA7IC8qIDMgKi9cbiAgICAgIEBpZiBzdXBwb3J0LWZvcihpZSwgNykge1xuICAgICAgICAqZm9udC1mYW1pbHk6ICRiYXNlLWZvbnQtZmFtaWx5OyAvKiA0ICovXG4gICAgICAgICp2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyAvKiA1ICovXG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkcmVzcyBgb3ZlcmZsb3dgIHNldCB0byBgaGlkZGVuYCBpbiBJRSA4LzkvMTAvMTEuXG4gICAgICovXG5cbiAgICBidXR0b24ge1xuICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkcmVzcyBpbmNvbnNpc3RlbnQgYHRleHQtdHJhbnNmb3JtYCBpbmhlcml0YW5jZSBmb3IgYGJ1dHRvbmAgYW5kIGBzZWxlY3RgLlxuICAgICAqIEFsbCBvdGhlciBmb3JtIGNvbnRyb2wgZWxlbWVudHMgZG8gbm90IGluaGVyaXQgYHRleHQtdHJhbnNmb3JtYCB2YWx1ZXMuXG4gICAgICogQ29ycmVjdCBgYnV0dG9uYCBzdHlsZSBpbmhlcml0YW5jZSBpbiBGaXJlZm94LCBJRSA4LzkvMTAvMTEsIGFuZCBPcGVyYS5cbiAgICAgKiBDb3JyZWN0IGBzZWxlY3RgIHN0eWxlIGluaGVyaXRhbmNlIGluIEZpcmVmb3guXG4gICAgICovXG5cbiAgICBidXR0b24sXG4gICAgc2VsZWN0IHtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIEF2b2lkIHRoZSBXZWJLaXQgYnVnIGluIEFuZHJvaWQgNC4wLiogd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gXG4gICAgICogICAgYW5kIGB2aWRlb2AgY29udHJvbHMuXG4gICAgICogMi4gQ29ycmVjdCBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIGBpbnB1dGAgdHlwZXMgaW4gaU9TLlxuICAgICAqIDMuIEltcHJvdmUgdXNhYmlsaXR5IGFuZCBjb25zaXN0ZW5jeSBvZiBjdXJzb3Igc3R5bGUgYmV0d2VlbiBpbWFnZS10eXBlXG4gICAgICogICAgYGlucHV0YCBhbmQgb3RoZXJzLlxuICAgICAqIDQuIFJlbW92ZSBpbm5lciBzcGFjaW5nIGluIElFIDcgd2l0aG91dCBhZmZlY3Rpbmcgbm9ybWFsIHRleHQgaW5wdXRzLlxuICAgICAqICAgIEtub3duIGlzc3VlOiBpbm5lciBzcGFjaW5nIHJlbWFpbnMgaW4gSUUgNi5cbiAgICAgKi9cblxuICAgIGJ1dHRvbixcbiAgICBodG1sIGlucHV0W3R5cGU9XCJidXR0b25cIl0sIC8qIDEgKi9cbiAgICBpbnB1dFt0eXBlPVwicmVzZXRcIl0sXG4gICAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMiAqL1xuICAgICAgY3Vyc29yOiBwb2ludGVyOyAvKiAzICovXG4gICAgICBAaWYgc3VwcG9ydC1mb3IoaWUsIDcpIHtcbiAgICAgICAgKm92ZXJmbG93OiB2aXNpYmxlOyAvKiA0ICovXG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmUtc2V0IGRlZmF1bHQgY3Vyc29yIGZvciBkaXNhYmxlZCBlbGVtZW50cy5cbiAgICAgKi9cblxuICAgIGJ1dHRvbltkaXNhYmxlZF0sXG4gICAgaHRtbCBpbnB1dFtkaXNhYmxlZF0ge1xuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZSBpbm5lciBwYWRkaW5nIGFuZCBib3JkZXIgaW4gRmlyZWZveCA0Ky5cbiAgICAgKi9cblxuICAgIGJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcbiAgICBpbnB1dDo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZHJlc3MgRmlyZWZveCA0KyBzZXR0aW5nIGBsaW5lLWhlaWdodGAgb24gYGlucHV0YCB1c2luZyBgIWltcG9ydGFudGAgaW5cbiAgICAgKiB0aGUgVUEgc3R5bGVzaGVldC5cbiAgICAgKi9cblxuICAgIGlucHV0IHtcbiAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgfVxuXG4gICAgQGlmIHN1cHBvcnQtZm9yKGllLCAxMCkge1xuICAgICAgLyoqXG4gICAgICAgKiBJdCdzIHJlY29tbWVuZGVkIHRoYXQgeW91IGRvbid0IGF0dGVtcHQgdG8gc3R5bGUgdGhlc2UgZWxlbWVudHMuXG4gICAgICAgKiBGaXJlZm94J3MgaW1wbGVtZW50YXRpb24gZG9lc24ndCByZXNwZWN0IGJveC1zaXppbmcsIHBhZGRpbmcsIG9yIHdpZHRoLlxuICAgICAgICpcbiAgICAgICAqIDEuIEFkZHJlc3MgYm94IHNpemluZyBzZXQgdG8gYGNvbnRlbnQtYm94YCBpbiBJRSA4LzkvMTAuXG4gICAgICAgKiAyLiBSZW1vdmUgZXhjZXNzIHBhZGRpbmcgaW4gSUUgOC85LzEwLlxuICAgICAgICogMy4gUmVtb3ZlIGV4Y2VzcyBwYWRkaW5nIGluIElFIDcuXG4gICAgICAgKiAgICBLbm93biBpc3N1ZTogZXhjZXNzIHBhZGRpbmcgcmVtYWlucyBpbiBJRSA2LlxuICAgICAgICovXG5cbiAgICAgIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcbiAgICAgIGlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgICAgICAgcGFkZGluZzogMDsgLyogMiAqL1xuICAgICAgICBAaWYgc3VwcG9ydC1mb3IoaWUsIDcpIHtcbiAgICAgICAgICAqaGVpZ2h0OiAxM3B4OyAvKiAzICovXG4gICAgICAgICAgKndpZHRoOiAxM3B4OyAvKiAzICovXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBGaXggdGhlIGN1cnNvciBzdHlsZSBmb3IgQ2hyb21lJ3MgaW5jcmVtZW50L2RlY3JlbWVudCBidXR0b25zLiBGb3IgY2VydGFpblxuICAgICAqIGBmb250LXNpemVgIHZhbHVlcyBvZiB0aGUgYGlucHV0YCwgaXQgY2F1c2VzIHRoZSBjdXJzb3Igc3R5bGUgb2YgdGhlXG4gICAgICogZGVjcmVtZW50IGJ1dHRvbiB0byBjaGFuZ2UgZnJvbSBgZGVmYXVsdGAgdG8gYHRleHRgLlxuICAgICAqL1xuXG4gICAgaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbiAgICBpbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBBZGRyZXNzIGBhcHBlYXJhbmNlYCBzZXQgdG8gYHNlYXJjaGZpZWxkYCBpbiBTYWZhcmkgYW5kIENocm9tZS5cbiAgICAgKiAyLiBBZGRyZXNzIGBib3gtc2l6aW5nYCBzZXQgdG8gYGJvcmRlci1ib3hgIGluIFNhZmFyaSBhbmQgQ2hyb21lLlxuICAgICAqL1xuXG4gICAgaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7XG4gICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogMSAqL1xuICAgICAgQGlmIHN1cHBvcnQtZm9yKHNhZmFyaSwgNSkgb3Igc3VwcG9ydC1mb3IoY2hyb21lLCA5KSB7XG4gICAgICAgIC13ZWJraXQtYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgICB9XG4gICAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLyogMiAqL1xuXG4gICAgICAvKipcbiAgICAgICAqIFJlbW92ZSBpbm5lciBwYWRkaW5nIGFuZCBzZWFyY2ggY2FuY2VsIGJ1dHRvbiBpbiBTYWZhcmkgYW5kIENocm9tZSBvbiBPUyBYLlxuICAgICAgICogU2FmYXJpIChidXQgbm90IENocm9tZSkgY2xpcHMgdGhlIGNhbmNlbCBidXR0b24gd2hlbiB0aGUgc2VhcmNoIGlucHV0IGhhc1xuICAgICAgICogcGFkZGluZyAoYW5kIGB0ZXh0ZmllbGRgIGFwcGVhcmFuY2UpLlxuICAgICAgICovXG5cbiAgICAgICY6Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG4gICAgICAmOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIERlZmluZSBjb25zaXN0ZW50IGJvcmRlciwgbWFyZ2luLCBhbmQgcGFkZGluZy5cbiAgICAgKi9cblxuICAgIGZpZWxkc2V0IHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNjMGMwYzA7XG4gICAgICBtYXJnaW46IDAgMnB4O1xuICAgICAgcGFkZGluZzogMC4zNWVtIDAuNjI1ZW0gMC43NWVtO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIENvcnJlY3QgYGNvbG9yYCBub3QgYmVpbmcgaW5oZXJpdGVkIGluIElFIDgvOS8xMC8xMS5cbiAgICAgKiAyLiBSZW1vdmUgcGFkZGluZyBzbyBwZW9wbGUgYXJlbid0IGNhdWdodCBvdXQgaWYgdGhleSB6ZXJvIG91dCBmaWVsZHNldHMuXG4gICAgICogMy4gQ29ycmVjdCBhbGlnbm1lbnQgZGlzcGxheWVkIG9kZGx5IGluIElFIDYvNy5cbiAgICAgKi9cblxuICAgIGxlZ2VuZCB7XG4gICAgICBAaWYgc3VwcG9ydC1mb3IoaWUsIDExKSB7XG4gICAgICAgIGJvcmRlcjogMDsgLyogMSAqL1xuICAgICAgfVxuICAgICAgcGFkZGluZzogMDsgLyogMiAqL1xuICAgICAgQGlmIHN1cHBvcnQtZm9yKGllLCA3KSB7XG4gICAgICAgICptYXJnaW4tbGVmdDogLTdweDsgLyogMyAqL1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSA4LzkvMTAvMTEuXG4gICAgICovXG5cbiAgICB0ZXh0YXJlYSB7XG4gICAgICBvdmVyZmxvdzogYXV0bztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBEb24ndCBpbmhlcml0IHRoZSBgZm9udC13ZWlnaHRgIChhcHBsaWVkIGJ5IGEgcnVsZSBhYm92ZSkuXG4gICAgICogTk9URTogdGhlIGRlZmF1bHQgY2Fubm90IHNhZmVseSBiZSBjaGFuZ2VkIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIE9TIFguXG4gICAgICovXG5cbiAgICBvcHRncm91cCB7XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKHRhYmxlcykge1xuICAgIC8qIFRhYmxlc1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmUgbW9zdCBzcGFjaW5nIGJldHdlZW4gdGFibGUgY2VsbHMuXG4gICAgICovXG5cbiAgICB0YWJsZSB7XG4gICAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICAgICAgYm9yZGVyLXNwYWNpbmc6IDA7XG4gICAgfVxuXG4gICAgdGQsXG4gICAgdGgge1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vXG4vLyBWYXJpYWJsZXNcbi8vXG4vLyBZb3UgY2FuIG92ZXJyaWRlIHRoZSBkZWZhdWx0IHZhbHVlcyBieSBzZXR0aW5nIHRoZSB2YXJpYWJsZXMgaW4geW91ciBTYXNzXG4vLyBiZWZvcmUgaW1wb3J0aW5nIHRoZSBub3JtYWxpemUtc2NzcyBsaWJyYXJ5LlxuXG4vLyBUaGUgZm9udCBzaXplIHNldCBvbiB0aGUgcm9vdCBodG1sIGVsZW1lbnQuXG4kYmFzZS1mb250LXNpemU6IDE2cHggIWRlZmF1bHQ7XG5cbi8vIFRoZSBiYXNlIGxpbmUgaGVpZ2h0IGRldGVybWluZXMgdGhlIGJhc2ljIHVuaXQgb2YgdmVydGljYWwgcmh5dGhtLlxuJGJhc2UtbGluZS1oZWlnaHQ6IDI0cHggIWRlZmF1bHQ7XG5cbi8vIFRoZSBsZW5ndGggdW5pdCBpbiB3aGljaCB0byBvdXRwdXQgdmVydGljYWwgcmh5dGhtIHZhbHVlcy5cbi8vIFN1cHBvcnRlZCB2YWx1ZXM6IHB4LCBlbSwgcmVtLlxuJGJhc2UtdW5pdDogJ2VtJyAhZGVmYXVsdDtcblxuLy8gVGhlIGRlZmF1bHQgZm9udCBmYW1pbHkuXG4kYmFzZS1mb250LWZhbWlseTogc2Fucy1zZXJpZiAhZGVmYXVsdDtcblxuLy8gVGhlIGZvbnQgc2l6ZXMgZm9yIGgxLWg2LlxuJGgxLWZvbnQtc2l6ZTogMiAgICAqICRiYXNlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRoMi1mb250LXNpemU6IDEuNSAgKiAkYmFzZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kaDMtZm9udC1zaXplOiAxLjE3ICogJGJhc2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGg0LWZvbnQtc2l6ZTogMSAgICAqICRiYXNlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRoNS1mb250LXNpemU6IDAuODMgKiAkYmFzZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kaDYtZm9udC1zaXplOiAwLjY3ICogJGJhc2UtZm9udC1zaXplICFkZWZhdWx0O1xuXG4vLyBUaGUgYW1vdW50IGxpc3RzIGFuZCBibG9ja3F1b3RlcyBhcmUgaW5kZW50ZWQuXG4kaW5kZW50LWFtb3VudDogNDBweCAhZGVmYXVsdDtcblxuLy8gVGhlIGZvbGxvd2luZyB2YXJpYWJsZSBjb250cm9scyB3aGV0aGVyIG5vcm1hbGl6ZS1zY3NzIHdpbGwgb3V0cHV0XG4vLyBmb250LXNpemVzLCBsaW5lLWhlaWdodHMgYW5kIGJsb2NrLWxldmVsIHRvcC9ib3R0b20gbWFyZ2lucyB0aGF0IGZvcm0gYSBiYXNpY1xuLy8gdmVydGljYWwgcmh5dGhtIG9uIHRoZSBwYWdlLCB3aGljaCBkaWZmZXJzIGZyb20gdGhlIG9yaWdpbmFsIE5vcm1hbGl6ZS5jc3MuXG4vLyBIb3dldmVyLCBjaGFuZ2luZyBhbnkgb2YgdGhlIHZhcmlhYmxlcyBhYm92ZSB3aWxsIGNhdXNlXG4vLyAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB0byBiZSBhdXRvbWF0aWNhbGx5IHNldCB0byB0cnVlLlxuJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG06IGZhbHNlICFkZWZhdWx0O1xuIiwiLy9cbi8vIFZlcnRpY2FsIFJoeXRobVxuLy9cbi8vIFRoaXMgaXMgdGhlIG1pbmltYWwgYW1vdW50IG9mIGNvZGUgbmVlZGVkIHRvIGNyZWF0ZSB2ZXJ0aWNhbCByaHl0aG0gaW4gb3VyXG4vLyBDU1MuIElmIHlvdSBhcmUgbG9va2luZyBmb3IgYSByb2J1c3Qgc29sdXRpb24sIGxvb2sgYXQgdGhlIGV4Y2VsbGVudCBUeXBleVxuLy8gbGlicmFyeS4gQHNlZSBodHRwczovL2dpdGh1Yi5jb20vanB0YXJhbnRvL3R5cGV5XG5cbkBmdW5jdGlvbiBub3JtYWxpemUtcmh5dGhtKCR2YWx1ZSwgJHJlbGF0aXZlLXRvOiAkYmFzZS1mb250LXNpemUsICR1bml0OiAkYmFzZS11bml0KSB7XG4gIEBpZiB1bml0KCR2YWx1ZSkgIT0gcHgge1xuICAgIEBlcnJvciBcIlRoZSBub3JtYWxpemUgdmVydGljYWwtcmh5dGhtIG1vZHVsZSBvbmx5IHN1cHBvcnRzIHB4IGlucHV0cy4gVGhlIHR5cGV5IGxpYnJhcnkgaXMgYmV0dGVyLlwiO1xuICB9XG4gIEBpZiAkdW5pdCA9PSByZW0ge1xuICAgIEByZXR1cm4gKCR2YWx1ZSAvICRiYXNlLWZvbnQtc2l6ZSkgKiAxcmVtO1xuICB9XG4gIEBlbHNlIGlmICR1bml0ID09IGVtIHtcbiAgICBAcmV0dXJuICgkdmFsdWUgLyAkcmVsYXRpdmUtdG8pICogMWVtO1xuICB9XG4gIEBlbHNlIHsgLy8gJHVuaXQgPT0gcHhcbiAgICBAcmV0dXJuICR2YWx1ZTtcbiAgfVxufVxuXG5AbWl4aW4gbm9ybWFsaXplLWZvbnQtc2l6ZSgkdmFsdWUsICRyZWxhdGl2ZS10bzogJGJhc2UtZm9udC1zaXplKSB7XG4gIEBpZiB1bml0KCR2YWx1ZSkgIT0gJ3B4JyB7XG4gICAgQGVycm9yIFwibm9ybWFsaXplLWZvbnQtc2l6ZSgpIG9ubHkgc3VwcG9ydHMgcHggaW5wdXRzLiBUaGUgdHlwZXkgbGlicmFyeSBpcyBiZXR0ZXIuXCI7XG4gIH1cbiAgLy8gcHggZmFsbGJhY2sgZm9yIElFIDggYW5kIGVhcmxpZXIuIE5vdGU6IElFIDkvMTAgZG9uJ3QgdW5kZXJzdGFuZCByZW1cbiAgLy8gaW4gZm9udCBzaG9ydGhhbmQsIGJ1dCBmb250LXNpemUgbG9uZ2hhbmQgaXMgZmluZS5cbiAgQGlmICRiYXNlLXVuaXQgPT0gcmVtIGFuZCBzdXBwb3J0LWZvcihpZSwgOCkge1xuICAgIGZvbnQtc2l6ZTogJHZhbHVlO1xuICB9XG4gIGZvbnQtc2l6ZTogbm9ybWFsaXplLXJoeXRobSgkdmFsdWUsICRyZWxhdGl2ZS10byk7XG59XG5cbkBtaXhpbiBub3JtYWxpemUtcmh5dGhtKCRwcm9wZXJ0eSwgJHZhbHVlcywgJHJlbGF0aXZlLXRvOiAkYmFzZS1mb250LXNpemUpIHtcbiAgJHZhbHVlLWxpc3Q6ICR2YWx1ZXM7XG4gICRzZXA6IHNwYWNlO1xuICBAaWYgdHlwZS1vZigkdmFsdWVzKSA9PSAnbGlzdCcge1xuICAgICRzZXA6IGxpc3Qtc2VwYXJhdG9yKCR2YWx1ZXMpO1xuICB9XG4gIEBlbHNlIHtcbiAgICAkdmFsdWUtbGlzdDogYXBwZW5kKCgpLCAkdmFsdWVzKTtcbiAgfVxuXG4gICRub3JtYWxpemVkLXZhbHVlczogKCk7XG4gICRweC1mYWxsYmFjazogKCk7XG5cbiAgQGVhY2ggJHZhbHVlIGluICR2YWx1ZS1saXN0IHtcbiAgICAkcHgtdmFsdWU6ICR2YWx1ZTtcbiAgICBAaWYgdW5pdGxlc3MoJHZhbHVlKSBhbmQgJHZhbHVlICE9IDAge1xuICAgICAgJHZhbHVlOiAkdmFsdWUgKiBub3JtYWxpemUtcmh5dGhtKCRiYXNlLWxpbmUtaGVpZ2h0LCAkcmVsYXRpdmUtdG8pO1xuICAgICAgJHB4LXZhbHVlOiAkcHgtdmFsdWUgKiBub3JtYWxpemUtcmh5dGhtKCRiYXNlLWxpbmUtaGVpZ2h0LCAkcmVsYXRpdmUtdG8sIHB4KTtcbiAgICB9XG4gICAgJG5vcm1hbGl6ZWQtdmFsdWVzOiBhcHBlbmQoJG5vcm1hbGl6ZWQtdmFsdWVzLCAkdmFsdWUsICRzZXApO1xuICAgICRweC1mYWxsYmFjazogYXBwZW5kKCRweC1mYWxsYmFjaywgJHB4LXZhbHVlLCAkc2VwKTtcbiAgfVxuICBAaWYgJGJhc2UtdW5pdCA9PSByZW0gYW5kIHN1cHBvcnQtZm9yKGllLCA4KSB7XG4gICAgI3skcHJvcGVydHl9OiAkcHgtZmFsbGJhY2s7XG4gIH1cbiAgI3skcHJvcGVydHl9OiAkbm9ybWFsaXplZC12YWx1ZXM7XG59XG5cbkBtaXhpbiBub3JtYWxpemUtbWFyZ2luKCR2YWx1ZXMsICRyZWxhdGl2ZS10bzogJGJhc2UtZm9udC1zaXplKSB7XG4gIEBpbmNsdWRlIG5vcm1hbGl6ZS1yaHl0aG0obWFyZ2luLCAkdmFsdWVzLCAkcmVsYXRpdmUtdG8pO1xufVxuXG5AbWl4aW4gbm9ybWFsaXplLWxpbmUtaGVpZ2h0KCRmb250LXNpemUsICRtaW4tbGluZS1wYWRkaW5nOiAycHgpIHtcbiAgJGxpbmVzOiBjZWlsKCRmb250LXNpemUgLyAkYmFzZS1saW5lLWhlaWdodCk7XG4gIC8vIElmIGxpbmVzIGFyZSBjcmFtcGVkIGluY2x1ZGUgc29tZSBleHRyYSBsZWFkaW5nLlxuICBAaWYgKCRsaW5lcyAqICRiYXNlLWxpbmUtaGVpZ2h0IC0gJGZvbnQtc2l6ZSkgPCAoJG1pbi1saW5lLXBhZGRpbmcgKiAyKSB7XG4gICAgJGxpbmVzOiAkbGluZXMgKyAxO1xuICB9XG4gIEBpbmNsdWRlIG5vcm1hbGl6ZS1yaHl0aG0obGluZS1oZWlnaHQsICRsaW5lcywgJGZvbnQtc2l6ZSk7XG59XG4iLCJAaW1wb3J0ICdub3JtYWxpemUnLFxuICAgICAgICAndmFyaWFibGVzJyxcbiAgICAgICAgJ3N1c3knLFxuICAgICAgICAnbWl4aW5zJyxcbiAgICAgICAgJ2ljb25zJyxcbiAgICAgICAgJ2ZvbnRzJyxcbiAgICAgICAgJ2Jhc2UnLFxuICAgICAgICAnbGF5b3V0JyxcbiAgICAgICAgJ3NpbXBsZWxpZ2h0Ym94LnNjc3MnLFxuICAgICAgICAncGlja21ldXAuc2NzcycsXG4gICAgICAgICdjb21wYXNzL2NzczMvdHJhbnNpdGlvbic7XG5cblxuQGltcG9ydCAnbW9kdWxlcy9hZHMnLFxuICAgICAgICAnbW9kdWxlcy9icmVhZGNydW1iJyxcbiAgICAgICAgJ21vZHVsZXMvYnV0dG9ucycsXG4gICAgICAgICdtb2R1bGVzL2NvbnRhY3QnLFxuICAgICAgICAnbW9kdWxlcy9kb3dubG9hZHMnLFxuICAgICAgICAnbW9kdWxlcy9leGNlcnB0LWJsb2NrJyxcbiAgICAgICAgJ21vZHVsZXMvZXZlbnRzJyxcbiAgICAgICAgJ21vZHVsZXMvZmlsdGVycycsXG4gICAgICAgICdtb2R1bGVzL2Zvcm0tbmV3c2xldHRlcicsXG4gICAgICAgIC8vJ21vZHVsZXMvZm9ybS1zZWFyY2gnLFxuICAgICAgICAnbW9kdWxlcy9mb3JtLWxvZ2luJyxcbiAgICAgICAgJ21vZHVsZXMvZm9ybXMnLFxuICAgICAgICAnbW9kdWxlcy9mbGV4aWJsZS1jb250ZW50JyxcbiAgICAgICAgJ21vZHVsZXMvZ2FsbGVyeScsXG4gICAgICAgICdtb2R1bGVzL2ljb24tY2F0ZWdvcnknLFxuICAgICAgICAnbW9kdWxlcy9pbWFnZS1maWVsZCcsXG4gICAgICAgICdtb2R1bGVzL2luZm8tbGlzdCcsXG4gICAgICAgICdtb2R1bGVzL2luZm8td2luZG93JyxcbiAgICAgICAgLy9ndWxwJ21vZHVsZXMvaW50cm8nLFxuICAgICAgICAnbW9kdWxlcy9saWdodGJveCcsXG4gICAgICAgICdtb2R1bGVzL2xvZ28nLFxuICAgICAgICAnbW9kdWxlcy9uYXYtbGFuZ3VhZ2VzJyxcbiAgICAgICAgJ21vZHVsZXMvbmF2LW1lbnUnLFxuICAgICAgICAnbW9kdWxlcy9uYXYtbWVudS1tZW1iZXJzJyxcbiAgICAgICAgJ21vZHVsZXMvbmF2LXByZXYtbmV4dCcsXG4gICAgICAgICdtb2R1bGVzL25vdGlmaWNhdGlvbnMnLFxuICAgICAgICAnbW9kdWxlcy9wYXJ0bmVycycsXG4gICAgICAgICdtb2R1bGVzL3NpZ25hdHVyZScsXG4gICAgICAgICdtb2R1bGVzL3NsaWRlc2hvdycsXG4gICAgICAgICdtb2R1bGVzL3N0b3JlJyxcbiAgICAgICAgJ21vZHVsZXMvc3RvcmVzLWxpc3QnLFxuICAgICAgICAnbW9kdWxlcy9zdG9yZXMtbWFwJyxcbiAgICAgICAgJ21vZHVsZXMvdGFibGVzJyxcbiAgICAgICAgJ21vZHVsZXMvdGl0bGVzJyxcbiAgICAgICAgJ21vZHVsZXMvdGV4dCcsXG4gICAgICAgICdtb2R1bGVzL3VzZWZ1bC1pbmZvcm1hdGlvbicsXG4gICAgICAgICdtb2R1bGVzL2NhbGVuZGFyJztcblxuXG5cbkBpbmNsdWRlIG5vcm1hbGl6ZSgpO1xuXG5cbi5oZWFkZXItbG9nby1saW5rIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1kKSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL3VjdmwucG5nJyk7XG4gICAgfVxufVxuXG5cbi5tZW51LXRvcCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogM3JlbTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWQpIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgIH1cblxuICAgIC5idG4tbGluayB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZCkge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgICAgICAgICAgIHBhZGRpbmc6IC40ZW0gMWVtO1xuICAgICAgICAgICAgZm9udC1zaXplOiAwLjllbTtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIH1cbiAgICB9XG59XG4uc3BsaXRfc2VudGVuY2V7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbn1cbiJdfQ== */
